@weavelogic/knowledge-graph-agent 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +70 -3
- package/dist/_virtual/__vite-browser-external.js +2 -2
- package/dist/_virtual/__vite-browser-external.js.map +1 -1
- package/dist/_virtual/index12.js +7 -0
- package/dist/_virtual/index12.js.map +1 -0
- package/dist/_virtual/ort-web.min.js +8 -0
- package/dist/_virtual/ort-web.min.js.map +1 -0
- package/dist/_virtual/ort-web.min2.js +5 -0
- package/dist/_virtual/ort-web.min2.js.map +1 -0
- package/dist/agents/base-agent.d.ts +63 -0
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +139 -0
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/coordinator-agent.d.ts +422 -0
- package/dist/agents/coordinator-agent.d.ts.map +1 -0
- package/dist/agents/documenter-agent.d.ts +298 -0
- package/dist/agents/documenter-agent.d.ts.map +1 -0
- package/dist/agents/index.d.ts +11 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/mixins/index.d.ts +9 -0
- package/dist/agents/mixins/index.d.ts.map +1 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts +112 -0
- package/dist/agents/mixins/trajectory-mixin.d.ts.map +1 -0
- package/dist/agents/optimizer-agent.d.ts +388 -0
- package/dist/agents/optimizer-agent.d.ts.map +1 -0
- package/dist/agents/planner-agent.d.ts +395 -0
- package/dist/agents/planner-agent.d.ts.map +1 -0
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +5 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/agents/reviewer-agent.d.ts +330 -0
- package/dist/agents/reviewer-agent.d.ts.map +1 -0
- package/dist/agents/types.d.ts +12 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js +1 -0
- package/dist/agents/types.js.map +1 -1
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts +102 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js +439 -0
- package/dist/cli/commands/hive-mind/add-frontmatter.js.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts +80 -0
- package/dist/cli/commands/hive-mind/analyze-links.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/analyze-links.js +367 -0
- package/dist/cli/commands/hive-mind/analyze-links.js.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts +75 -0
- package/dist/cli/commands/hive-mind/find-connections.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/find-connections.js +347 -0
- package/dist/cli/commands/hive-mind/find-connections.js.map +1 -0
- package/dist/cli/commands/hive-mind/index.d.ts +37 -0
- package/dist/cli/commands/hive-mind/index.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/index.js +33 -0
- package/dist/cli/commands/hive-mind/index.js.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts +79 -0
- package/dist/cli/commands/hive-mind/validate-names.d.ts.map +1 -0
- package/dist/cli/commands/hive-mind/validate-names.js +353 -0
- package/dist/cli/commands/hive-mind/validate-names.js.map +1 -0
- package/dist/cli/commands/vector.js +2 -0
- package/dist/cli/commands/vector.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/equilibrium/agent-equilibrium.d.ts +194 -0
- package/dist/equilibrium/agent-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/agent-equilibrium.js +304 -0
- package/dist/equilibrium/agent-equilibrium.js.map +1 -0
- package/dist/equilibrium/graph-equilibrium.d.ts +177 -0
- package/dist/equilibrium/graph-equilibrium.d.ts.map +1 -0
- package/dist/equilibrium/index.d.ts +11 -0
- package/dist/equilibrium/index.d.ts.map +1 -0
- package/dist/equilibrium/memory-equilibrium.d.ts +153 -0
- package/dist/equilibrium/memory-equilibrium.d.ts.map +1 -0
- package/dist/graphql/resolvers/index.d.ts.map +1 -1
- package/dist/graphql/resolvers/queries.d.ts +11 -0
- package/dist/graphql/resolvers/queries.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/inference/index.d.ts +9 -0
- package/dist/inference/index.d.ts.map +1 -0
- package/dist/inference/model-selection.d.ts +131 -0
- package/dist/inference/model-selection.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts +265 -0
- package/dist/integrations/agentic-flow/adapters/agent-booster-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts +197 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts +249 -0
- package/dist/integrations/agentic-flow/adapters/agentdb-vector-store.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts +120 -0
- package/dist/integrations/agentic-flow/adapters/base-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts +444 -0
- package/dist/integrations/agentic-flow/adapters/federation-hub-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts +17 -0
- package/dist/integrations/agentic-flow/adapters/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts +242 -0
- package/dist/integrations/agentic-flow/adapters/model-router-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts +364 -0
- package/dist/integrations/agentic-flow/adapters/quic-transport-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts +209 -0
- package/dist/integrations/agentic-flow/adapters/reasoning-bank-adapter.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/benchmark/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts +253 -0
- package/dist/integrations/agentic-flow/benchmark/vector-benchmark.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/config.d.ts +109 -0
- package/dist/integrations/agentic-flow/config.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts +140 -0
- package/dist/integrations/agentic-flow/feature-flags.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/index.d.ts +22 -0
- package/dist/integrations/agentic-flow/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts +9 -0
- package/dist/integrations/agentic-flow/migration/index.d.ts.map +1 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts +242 -0
- package/dist/integrations/agentic-flow/migration/migrate-to-agentdb.d.ts.map +1 -0
- package/dist/learning/index.d.ts +91 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/learning-loop.d.ts +176 -0
- package/dist/learning/learning-loop.d.ts.map +1 -0
- package/dist/learning/services/ab-testing-framework.d.ts +135 -0
- package/dist/learning/services/ab-testing-framework.d.ts.map +1 -0
- package/dist/learning/services/agent-priming-service.d.ts +207 -0
- package/dist/learning/services/agent-priming-service.d.ts.map +1 -0
- package/dist/learning/services/daily-log-generator.d.ts +113 -0
- package/dist/learning/services/daily-log-generator.d.ts.map +1 -0
- package/dist/learning/services/index.d.ts +14 -0
- package/dist/learning/services/index.d.ts.map +1 -0
- package/dist/learning/services/memory-extraction-service.d.ts +87 -0
- package/dist/learning/services/memory-extraction-service.d.ts.map +1 -0
- package/dist/learning/services/task-completion-consumer.d.ts +162 -0
- package/dist/learning/services/task-completion-consumer.d.ts.map +1 -0
- package/dist/learning/services/trajectory-tracker.d.ts +174 -0
- package/dist/learning/services/trajectory-tracker.d.ts.map +1 -0
- package/dist/learning/types.d.ts +516 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts +259 -0
- package/dist/mcp/clients/claude-flow-memory-client.d.ts.map +1 -0
- package/dist/mcp/clients/claude-flow-memory-client.js +305 -0
- package/dist/mcp/clients/claude-flow-memory-client.js.map +1 -0
- package/dist/mcp/clients/index.d.ts +11 -0
- package/dist/mcp/clients/index.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts +146 -0
- package/dist/mcp/clients/mcp-client-adapter.d.ts.map +1 -0
- package/dist/mcp/clients/mcp-client-adapter.js +372 -0
- package/dist/mcp/clients/mcp-client-adapter.js.map +1 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/memory/vault-sync.d.ts +12 -0
- package/dist/memory/vault-sync.d.ts.map +1 -1
- package/dist/memory/vault-sync.js +94 -11
- package/dist/memory/vault-sync.js.map +1 -1
- package/dist/node_modules/@huggingface/jinja/dist/index.js +118 -0
- package/dist/node_modules/@huggingface/jinja/dist/index.js.map +1 -0
- package/dist/node_modules/@typescript-eslint/project-service/dist/index.js +1 -1
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js +24 -0
- package/dist/node_modules/@xenova/transformers/src/backends/onnx.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/configs.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/env.js +35 -0
- package/dist/node_modules/@xenova/transformers/src/env.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/models.js +3852 -0
- package/dist/node_modules/@xenova/transformers/src/models.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js +144 -0
- package/dist/node_modules/@xenova/transformers/src/tokenizers.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js +52 -0
- package/dist/node_modules/@xenova/transformers/src/utils/core.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js +623 -0
- package/dist/node_modules/@xenova/transformers/src/utils/generation.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js +395 -0
- package/dist/node_modules/@xenova/transformers/src/utils/hub.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js +12 -0
- package/dist/node_modules/@xenova/transformers/src/utils/image.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js +89 -0
- package/dist/node_modules/@xenova/transformers/src/utils/maths.js.map +1 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js +750 -0
- package/dist/node_modules/@xenova/transformers/src/utils/tensor.js.map +1 -0
- package/dist/node_modules/fdir/dist/index.js +13 -13
- package/dist/node_modules/fdir/dist/index.js.map +1 -1
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js +67 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/backend-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js +24 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/env.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js +11 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/index.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js +162 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/inference-session.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js +393 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor-impl.js.map +1 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js +6 -0
- package/dist/node_modules/onnxruntime-common/dist/lib/tensor.js.map +1 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js +12919 -0
- package/dist/node_modules/onnxruntime-web/dist/ort-web.min.js.map +1 -0
- package/dist/node_modules/tinyglobby/dist/index.js +14 -14
- package/dist/node_modules/tinyglobby/dist/index.js.map +1 -1
- package/dist/node_modules/typescript/lib/typescript.js +24 -24
- package/dist/node_modules/typescript/lib/typescript.js.map +1 -1
- package/dist/transport/agent-transport.d.ts +269 -0
- package/dist/transport/agent-transport.d.ts.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/vector/index.d.ts +1 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/services/embedding-service.d.ts +244 -0
- package/dist/vector/services/embedding-service.d.ts.map +1 -0
- package/dist/vector/services/embedding-service.js +10 -0
- package/dist/vector/services/embedding-service.js.map +1 -0
- package/dist/vector/services/hybrid-search.d.ts +320 -0
- package/dist/vector/services/hybrid-search.d.ts.map +1 -0
- package/dist/vector/services/hybrid-search.js +3 -0
- package/dist/vector/services/hybrid-search.js.map +1 -0
- package/dist/vector/services/index.d.ts +4 -0
- package/dist/vector/services/index.d.ts.map +1 -1
- package/package.json +10 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ort-web.min.js","sources":["../../../../node_modules/onnxruntime-web/dist/ort-web.min.js"],"sourcesContent":["/*!\n* ONNX Runtime Web v1.14.0\n* Copyright (c) Microsoft Corporation. All rights reserved.\n* Licensed under the MIT License.\n*/\n!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e(require(\"onnxruntime-common\"));else if(\"function\"==typeof define&&define.amd)define([],e);else{var n=\"object\"==typeof exports?e(require(\"onnxruntime-common\")):e(t.ort);for(var r in n)(\"object\"==typeof exports?exports:t)[r]=n[r]}}(self,(__WEBPACK_EXTERNAL_MODULE__1670__=>(()=>{var __webpack_modules__={3474:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(t){function e(){return $.buffer!=C&&H($.buffer),F}function r(){return $.buffer!=C&&H($.buffer),N}function i(){return $.buffer!=C&&H($.buffer),L}function o(){return $.buffer!=C&&H($.buffer),R}function a(){return $.buffer!=C&&H($.buffer),j}var s,u,c;t=t||{},s||(s=void 0!==t?t:{}),s.ready=new Promise((function(t,e){u=t,c=e}));var l,p,f,d,h,g,b=Object.assign({},s),m=\"./this.program\",y=(t,e)=>{throw e},_=\"object\"==typeof window,v=\"function\"==typeof importScripts,w=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node,x=s.ENVIRONMENT_IS_PTHREAD||!1,T=\"\";function S(t){return s.locateFile?s.locateFile(t,T):T+t}if(w){let e;T=v?n(908).dirname(T)+\"/\":\"//\",g=()=>{h||(d=n(1384),h=n(908))},l=function(t,e){return g(),t=h.normalize(t),d.readFileSync(t,e?void 0:\"utf8\")},f=t=>((t=l(t,!0)).buffer||(t=new Uint8Array(t)),t),p=(t,e,n)=>{g(),t=h.normalize(t),d.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(m=process.argv[1].replace(/\\\\/g,\"/\")),process.argv.slice(2),process.on(\"uncaughtException\",(function(t){if(!(t instanceof ut))throw t})),process.on(\"unhandledRejection\",(function(t){throw t})),y=(t,e)=>{if(J())throw process.exitCode=t,e;e instanceof ut||P(\"exiting due to exception: \"+e),process.exit(t)},s.inspect=function(){return\"[Emscripten Module object]\"};try{e=n(9925)}catch(t){throw console.error('The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?'),t}n.g.Worker=e.Worker}else(_||v)&&(v?T=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(T=document.currentScript.src),_scriptDir&&(T=_scriptDir),T=0!==T.indexOf(\"blob:\")?T.substr(0,T.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",w||(l=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.send(null),e.responseText},v&&(f=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.responseType=\"arraybuffer\",e.send(null),new Uint8Array(e.response)}),p=(t,e,n)=>{var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)}));w&&\"undefined\"==typeof performance&&(n.g.performance=n(6953).performance);var O=console.log.bind(console),A=console.warn.bind(console);w&&(g(),O=t=>d.writeSync(1,t+\"\\n\"),A=t=>d.writeSync(2,t+\"\\n\"));var E,I=s.print||O,P=s.printErr||A;Object.assign(s,b),b=null,s.thisProgram&&(m=s.thisProgram),s.quit&&(y=s.quit),s.wasmBinary&&(E=s.wasmBinary);var D=s.noExitRuntime||!1;\"object\"!=typeof WebAssembly&&it(\"no native wasm support detected\");var $,k,C,F,N,L,R,j,M=!1,U=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function V(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&U)return U.decode(t.buffer instanceof SharedArrayBuffer?t.slice(e,n):t.subarray(e,n));for(r=\"\";e<n;){var i=t[e++];if(128&i){var o=63&t[e++];if(192==(224&i))r+=String.fromCharCode((31&i)<<6|o);else{var a=63&t[e++];65536>(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r}function B(t,e){return(t>>>=0)?V(r(),t,e):\"\"}function z(t,e,n,r){if(!(0<r))return 0;var i=n>>>=0;r=n+r-1;for(var o=0;o<t.length;++o){var a=t.charCodeAt(o);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++>>>0]=a}else{if(2047>=a){if(n+1>=r)break;e[n++>>>0]=192|a>>6}else{if(65535>=a){if(n+2>=r)break;e[n++>>>0]=224|a>>12}else{if(n+3>=r)break;e[n++>>>0]=240|a>>18,e[n++>>>0]=128|a>>12&63}e[n++>>>0]=128|a>>6&63}e[n++>>>0]=128|63&a}}return e[n>>>0]=0,n-i}function G(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function H(t){C=t,s.HEAP8=F=new Int8Array(t),s.HEAP16=new Int16Array(t),s.HEAP32=L=new Int32Array(t),s.HEAPU8=N=new Uint8Array(t),s.HEAPU16=new Uint16Array(t),s.HEAPU32=R=new Uint32Array(t),s.HEAPF32=new Float32Array(t),s.HEAPF64=j=new Float64Array(t)}x&&(C=s.buffer);var W=s.INITIAL_MEMORY||16777216;if(x)$=s.wasmMemory,C=s.buffer;else if(s.wasmMemory)$=s.wasmMemory;else if(!(($=new WebAssembly.Memory({initial:W/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw P(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),w&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");$&&(C=$.buffer),W=C.byteLength,H(C);var q,X=[],Y=[],K=[],Z=[];function J(){return D||!1}function Q(){var t=s.preRun.shift();X.unshift(t)}var tt,et=0,nt=null,rt=null;function it(t){throw x?postMessage({cmd:\"onAbort\",arg:t}):s.onAbort&&s.onAbort(t),P(t=\"Aborted(\"+t+\")\"),M=!0,t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\"),c(t),t}function ot(){return tt.startsWith(\"data:application/octet-stream;base64,\")}function at(){var t=tt;try{if(t==tt&&E)return new Uint8Array(E);if(f)return f(t);throw\"both async and sync fetching of the wasm failed\"}catch(t){it(t)}}tt=\"ort-wasm-threaded.wasm\",ot()||(tt=S(tt));var st={};function ut(t){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+t+\")\",this.status=t}function ct(t){(t=dt.Vb[t])||it(),dt.mc(t)}function lt(t){var e=dt.Cc();if(!e)return 6;dt.ac.push(e),dt.Vb[t.Ub]=e,e.Ub=t.Ub;var n={cmd:\"run\",start_routine:t.Ic,arg:t.zc,pthread_ptr:t.Ub};return e.$b=()=>{n.time=performance.now(),e.postMessage(n,t.Nc)},e.loaded&&(e.$b(),delete e.$b),0}function pt(t){if(x)return qt(1,1,t);J()||(dt.oc(),s.onExit&&s.onExit(t),M=!0),y(t,new ut(t))}function ft(t,e){if(!e&&x)throw bt(t),\"unwind\";J()||x||(me(),ht(K),be(0),re[1].length&&ie(1,10),re[2].length&&ie(2,10),dt.oc()),pt(t)}var dt={Yb:[],ac:[],qc:[],Vb:{},fc:function(){x&&dt.Ec()},Pc:function(){},Ec:function(){dt.receiveObjectTransfer=dt.Gc,dt.threadInitTLS=dt.pc,dt.setExitStatus=dt.nc,D=!1},nc:function(){},oc:function(){for(var t of Object.values(dt.Vb))dt.mc(t);for(t of dt.Yb)t.terminate();dt.Yb=[]},mc:function(t){var e=t.Ub;delete dt.Vb[e],dt.Yb.push(t),dt.ac.splice(dt.ac.indexOf(t),1),t.Ub=0,xe(e)},Gc:function(){},pc:function(){dt.qc.forEach((t=>t()))},Fc:function(t,e){t.onmessage=n=>{var r=(n=n.data).cmd;if(t.Ub&&(dt.Bc=t.Ub),n.targetThread&&n.targetThread!=de()){var i=dt.Vb[n.Qc];i?i.postMessage(n,n.transferList):P('Internal error! Worker sent a message \"'+r+'\" to target pthread '+n.targetThread+\", but that thread no longer exists!\")}else\"processProxyingQueue\"===r?Vt(n.queue):\"spawnThread\"===r?lt(n):\"cleanupThread\"===r?ct(n.thread):\"killThread\"===r?(n=n.thread,r=dt.Vb[n],delete dt.Vb[n],r.terminate(),xe(n),dt.ac.splice(dt.ac.indexOf(r),1),r.Ub=0):\"cancelThread\"===r?dt.Vb[n.thread].postMessage({cmd:\"cancel\"}):\"loaded\"===r?(t.loaded=!0,e&&e(t),t.$b&&(t.$b(),delete t.$b)):\"print\"===r?I(\"Thread \"+n.threadId+\": \"+n.text):\"printErr\"===r?P(\"Thread \"+n.threadId+\": \"+n.text):\"alert\"===r?alert(\"Thread \"+n.threadId+\": \"+n.text):\"setimmediate\"===n.target?t.postMessage(n):\"onAbort\"===r?s.onAbort&&s.onAbort(n.arg):r&&P(\"worker sent an unknown command \"+r);dt.Bc=void 0},t.onerror=t=>{throw P(\"worker sent an error! \"+t.filename+\":\"+t.lineno+\": \"+t.message),t},w&&(t.on(\"message\",(function(e){t.onmessage({data:e})})),t.on(\"error\",(function(e){t.onerror(e)})),t.on(\"detachedExit\",(function(){}))),t.postMessage({cmd:\"load\",urlOrBlob:s.mainScriptUrlOrBlob||_scriptDir,wasmMemory:$,wasmModule:k})},yc:function(){var t=S(\"ort-wasm-threaded.worker.js\");dt.Yb.push(new Worker(t))},Cc:function(){return 0==dt.Yb.length&&(dt.yc(),dt.Fc(dt.Yb[0])),dt.Yb.pop()}};function ht(t){for(;0<t.length;)t.shift()(s)}function gt(t){var e=Ae();return t=t(),Ee(e),t}function bt(t){if(x)return qt(2,0,t);try{ft(t)}catch(t){t instanceof ut||\"unwind\"==t||y(1,t)}}s.PThread=dt,s.establishStackSpace=function(){var t=de(),e=i()[t+44>>2>>>0];t=i()[t+48>>2>>>0],Oe(e,e-t),Ee(e)};var mt=[];function yt(t){var e=mt[t];return e||(t>=mt.length&&(mt.length=t+1),mt[t]=e=q.get(t)),e}s.invokeEntryPoint=function(t,e){t=yt(t)(e),J()?dt.nc(t):Te(t)};var _t,vt,wt=[],xt=0,Tt=0;function St(t){this.Zb=t,this.Sb=t-24,this.xc=function(t){o()[this.Sb+4>>2>>>0]=t},this.bc=function(){return o()[this.Sb+4>>2>>>0]},this.wc=function(t){o()[this.Sb+8>>2>>>0]=t},this.Dc=function(){return o()[this.Sb+8>>2>>>0]},this.rc=function(){i()[this.Sb>>2>>>0]=0},this.hc=function(t){t=t?1:0,e()[this.Sb+12>>0>>>0]=t},this.uc=function(){return 0!=e()[this.Sb+12>>0>>>0]},this.ic=function(t){t=t?1:0,e()[this.Sb+13>>0>>>0]=t},this.kc=function(){return 0!=e()[this.Sb+13>>0>>>0]},this.fc=function(t,e){this.cc(0),this.xc(t),this.wc(e),this.rc(),this.hc(!1),this.ic(!1)},this.sc=function(){Atomics.add(i(),this.Sb>>2,1)},this.Hc=function(){return 1===Atomics.sub(i(),this.Sb>>2,1)},this.cc=function(t){o()[this.Sb+16>>2>>>0]=t},this.tc=function(){return o()[this.Sb+16>>2>>>0]},this.vc=function(){if(De(this.bc()))return o()[this.Zb>>2>>>0];var t=this.tc();return 0!==t?t:this.Zb}}function Ot(t){return ge(new St(t).Sb)}function At(t,e,n,r){return x?qt(3,1,t,e,n,r):Et(t,e,n,r)}function Et(t,e,n,r){if(\"undefined\"==typeof SharedArrayBuffer)return P(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var i=[];return x&&0===i.length?At(t,e,n,r):(t={Ic:n,Ub:t,zc:r,Nc:i},x?(t.Oc=\"spawnThread\",postMessage(t,i),0):lt(t))}function It(t,e,n){return x?qt(4,1,t,e,n):0}function Pt(t,e){if(x)return qt(5,1,t,e)}function Dt(t,e){if(x)return qt(6,1,t,e)}function $t(t,e,n){if(x)return qt(7,1,t,e,n)}function kt(t,e,n){return x?qt(8,1,t,e,n):0}function Ct(t,e){if(x)return qt(9,1,t,e)}function Ft(t,e,n){if(x)return qt(10,1,t,e,n)}function Nt(t,e,n,r){if(x)return qt(11,1,t,e,n,r)}function Lt(t,e,n,r){if(x)return qt(12,1,t,e,n,r)}function Rt(t,e,n,r){if(x)return qt(13,1,t,e,n,r)}function jt(t){if(x)return qt(14,1,t)}function Mt(t,e){if(x)return qt(15,1,t,e)}function Ut(t,e,n){if(x)return qt(16,1,t,e,n)}function Vt(t){Atomics.store(i(),t>>2,1),de()&&we(t),Atomics.compareExchange(i(),t>>2,1,0)}function Bt(t){return o()[t>>>2]+4294967296*i()[t+4>>>2]}function zt(t,e,n,r,i,o){return x?qt(17,1,t,e,n,r,i,o):-52}function Gt(t,e,n,r,i,o){if(x)return qt(18,1,t,e,n,r,i,o)}function Ht(t){var n=G(t)+1,r=he(n);return r&&z(t,e(),r,n),r}function Wt(t,e,n){function r(t){return(t=t.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?t[1]:\"GMT\"}if(x)return qt(19,1,t,e,n);var a=(new Date).getFullYear(),s=new Date(a,0,1),u=new Date(a,6,1);a=s.getTimezoneOffset();var c=u.getTimezoneOffset(),l=Math.max(a,c);i()[t>>2>>>0]=60*l,i()[e>>2>>>0]=Number(a!=c),t=r(s),e=r(u),t=Ht(t),e=Ht(e),c<a?(o()[n>>2>>>0]=t,o()[n+4>>2>>>0]=e):(o()[n>>2>>>0]=e,o()[n+4>>2>>>0]=t)}function qt(t,e){var n=arguments.length-2,r=arguments;return gt((()=>{for(var i=Ie(8*n),o=i>>3,s=0;s<n;s++){var u=r[2+s];a()[o+s>>>0]=u}return ve(t,n,i,e)}))}s.executeNotifiedProxyingQueue=Vt,vt=w?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:x?()=>performance.now()-s.__performance_now_clock_drift:()=>performance.now();var Xt,Yt=[],Kt={};function Zt(){if(!Xt){var t,e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:m||\"./this.program\"};for(t in Kt)void 0===Kt[t]?delete e[t]:e[t]=Kt[t];var n=[];for(t in e)n.push(t+\"=\"+e[t]);Xt=n}return Xt}function Jt(t,n){if(x)return qt(20,1,t,n);var r=0;return Zt().forEach((function(i,a){var s=n+r;for(a=o()[t+4*a>>2>>>0]=s,s=0;s<i.length;++s)e()[a++>>0>>>0]=i.charCodeAt(s);e()[a>>0>>>0]=0,r+=i.length+1})),0}function Qt(t,e){if(x)return qt(21,1,t,e);var n=Zt();o()[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),o()[e>>2>>>0]=r,0}function te(t){return x?qt(22,1,t):52}function ee(t,e,n,r){return x?qt(23,1,t,e,n,r):52}function ne(t,e,n,r,i){return x?qt(24,1,t,e,n,r,i):70}var re=[null,[],[]];function ie(t,e){var n=re[t];0===e||10===e?((1===t?I:P)(V(n,0)),n.length=0):n.push(e)}function oe(t,e,n,i){if(x)return qt(25,1,t,e,n,i);for(var a=0,s=0;s<n;s++){var u=o()[e>>2>>>0],c=o()[e+4>>2>>>0];e+=8;for(var l=0;l<c;l++)ie(t,r()[u+l>>>0]);a+=c}return o()[i>>2>>>0]=a,0}var ae=0;function se(t){return 0==t%4&&(0!=t%100||0==t%400)}var ue=[31,29,31,30,31,30,31,31,30,31,30,31],ce=[31,28,31,30,31,30,31,31,30,31,30,31];function le(t,n,r,o){function a(t,e,n){for(t=\"number\"==typeof t?t.toString():t||\"\";t.length<e;)t=n[0]+t;return t}function s(t,e){return a(t,e,\"0\")}function u(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){var e=t.Wb;for(t=new Date(new Date(t.Xb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(se(t.getFullYear())?ue:ce)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=c(new Date(t.getFullYear(),0,4)),n=c(n),0>=u(e,t)?0>=u(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p=i()[o+40>>2>>>0];for(var f in o={Lc:i()[o>>2>>>0],Kc:i()[o+4>>2>>>0],dc:i()[o+8>>2>>>0],jc:i()[o+12>>2>>>0],ec:i()[o+16>>2>>>0],Xb:i()[o+20>>2>>>0],Tb:i()[o+24>>2>>>0],Wb:i()[o+28>>2>>>0],Rc:i()[o+32>>2>>>0],Jc:i()[o+36>>2>>>0],Mc:p?B(p):\"\"},r=B(r),p={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"})r=r.replace(new RegExp(f,\"g\"),p[f]);var d=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),h=\"January February March April May June July August September October November December\".split(\" \");for(f in p={\"%a\":function(t){return d[t.Tb].substring(0,3)},\"%A\":function(t){return d[t.Tb]},\"%b\":function(t){return h[t.ec].substring(0,3)},\"%B\":function(t){return h[t.ec]},\"%C\":function(t){return s((t.Xb+1900)/100|0,2)},\"%d\":function(t){return s(t.jc,2)},\"%e\":function(t){return a(t.jc,2,\" \")},\"%g\":function(t){return l(t).toString().substring(2)},\"%G\":function(t){return l(t)},\"%H\":function(t){return s(t.dc,2)},\"%I\":function(t){return 0==(t=t.dc)?t=12:12<t&&(t-=12),s(t,2)},\"%j\":function(t){for(var e=0,n=0;n<=t.ec-1;e+=(se(t.Xb+1900)?ue:ce)[n++]);return s(t.jc+e,3)},\"%m\":function(t){return s(t.ec+1,2)},\"%M\":function(t){return s(t.Kc,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(t){return 0<=t.dc&&12>t.dc?\"AM\":\"PM\"},\"%S\":function(t){return s(t.Lc,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(t){return t.Tb||7},\"%U\":function(t){return s(Math.floor((t.Wb+7-t.Tb)/7),2)},\"%V\":function(t){var e=Math.floor((t.Wb+7-(t.Tb+6)%7)/7);if(2>=(t.Tb+371-t.Wb-2)%7&&e++,e)53==e&&(4==(n=(t.Tb+371-t.Wb)%7)||3==n&&se(t.Xb)||(e=1));else{e=52;var n=(t.Tb+7-t.Wb-1)%7;(4==n||5==n&&se(t.Xb%400-1))&&e++}return s(e,2)},\"%w\":function(t){return t.Tb},\"%W\":function(t){return s(Math.floor((t.Wb+7-(t.Tb+6)%7)/7),2)},\"%y\":function(t){return(t.Xb+1900).toString().substring(2)},\"%Y\":function(t){return t.Xb+1900},\"%z\":function(t){var e=0<=(t=t.Jc);return t=Math.abs(t)/60,(e?\"+\":\"-\")+String(\"0000\"+(t/60*100+t%60)).slice(-4)},\"%Z\":function(t){return t.Mc},\"%%\":function(){return\"%\"}},r=r.replace(/%%/g,\"\\0\\0\"),p)r.includes(f)&&(r=r.replace(new RegExp(f,\"g\"),p[f](o)));return f=function(t){var e=Array(G(t)+1);return z(t,e,0,e.length),e}(r=r.replace(/\\0\\0/g,\"%\")),f.length>n?0:(function(t,n){e().set(t,n>>>0)}(f,t),f.length-1)}dt.fc();var pe=[null,pt,bt,At,It,Pt,Dt,$t,kt,Ct,Ft,Nt,Lt,Rt,jt,Mt,Ut,zt,Gt,Wt,Jt,Qt,te,ee,ne,oe],fe={b:function(t){return he(t+24)+24},n:function(t){return(t=new St(t)).uc()||(t.hc(!0),xt--),t.ic(!1),wt.push(t),t.sc(),t.vc()},ma:function(t){throw P(\"Unexpected exception thrown, this is not properly supported - aborting\"),M=!0,t},x:function(){Se(0);var t=wt.pop();if(t.Hc()&&!t.kc()){var e=t.Dc();e&&yt(e)(t.Zb),Ot(t.Zb)}Tt=0},e:function(){var t=Tt;if(!t)return ae=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return ae=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(Pe(o,n,e.Sb+16))return ae=o,t}return ae=n,t},l:function(){var t=Tt;if(!t)return ae=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return ae=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(Pe(o,n,e.Sb+16))return ae=o,t}return ae=n,t},h:function(){var t=Tt;if(!t)return ae=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return ae=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(Pe(o,n,e.Sb+16))return ae=o,t}return ae=n,t},t:Ot,M:function(){var t=wt.pop();t||it(\"no exception to throw\");var e=t.Zb;throw t.kc()||(wt.push(t),t.ic(!0),t.hc(!1),xt++),Tt=e,e},c:function(t,e,n){throw new St(t).fc(e,n),Tt=t,xt++,t},pa:function(){return xt},Fa:function(t){ye(t,!v,1,!_),dt.pc()},T:function(t){x?postMessage({cmd:\"cleanupThread\",thread:t}):ct(t)},xa:Et,j:function(t){throw Tt||(Tt=t),t},H:It,Ma:Pt,ua:Dt,wa:$t,oa:kt,Ka:Ct,Ca:Ft,Ja:Nt,V:Lt,va:Rt,sa:jt,La:Mt,ta:Ut,Ta:function(){},X:function(){it(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},Ua:function(){it(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(t,e,n,r){if(t==e)setTimeout((()=>Vt(r)));else if(x)postMessage({targetThread:t,cmd:\"processProxyingQueue\",queue:r});else{if(!(t=dt.Vb[t]))return;t.postMessage({cmd:\"processProxyingQueue\",queue:r})}return 1},Ea:function(){return-1},Pa:function(t,e){t=new Date(1e3*Bt(t)),i()[e>>2>>>0]=t.getUTCSeconds(),i()[e+4>>2>>>0]=t.getUTCMinutes(),i()[e+8>>2>>>0]=t.getUTCHours(),i()[e+12>>2>>>0]=t.getUTCDate(),i()[e+16>>2>>>0]=t.getUTCMonth(),i()[e+20>>2>>>0]=t.getUTCFullYear()-1900,i()[e+24>>2>>>0]=t.getUTCDay(),t=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,i()[e+28>>2>>>0]=t},Qa:function(t,e){t=new Date(1e3*Bt(t)),i()[e>>2>>>0]=t.getSeconds(),i()[e+4>>2>>>0]=t.getMinutes(),i()[e+8>>2>>>0]=t.getHours(),i()[e+12>>2>>>0]=t.getDate(),i()[e+16>>2>>>0]=t.getMonth(),i()[e+20>>2>>>0]=t.getFullYear()-1900,i()[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1),r=(t.getTime()-n.getTime())/864e5|0;i()[e+28>>2>>>0]=r,i()[e+36>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset(),t=0|(r!=(n=n.getTimezoneOffset())&&t.getTimezoneOffset()==Math.min(n,r)),i()[e+32>>2>>>0]=t},Ra:function(t){var e=new Date(i()[t+20>>2>>>0]+1900,i()[t+16>>2>>>0],i()[t+12>>2>>>0],i()[t+8>>2>>>0],i()[t+4>>2>>>0],i()[t>>2>>>0],0),n=i()[t+32>>2>>>0],r=e.getTimezoneOffset(),o=new Date(e.getFullYear(),0,1),a=new Date(e.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),u=Math.min(s,a);return 0>n?i()[t+32>>2>>>0]=Number(a!=s&&u==r):0<n!=(u==r)&&(a=Math.max(s,a),e.setTime(e.getTime()+6e4*((0<n?u:a)-r))),i()[t+24>>2>>>0]=e.getDay(),n=(e.getTime()-o.getTime())/864e5|0,i()[t+28>>2>>>0]=n,i()[t>>2>>>0]=e.getSeconds(),i()[t+4>>2>>>0]=e.getMinutes(),i()[t+8>>2>>>0]=e.getHours(),i()[t+12>>2>>>0]=e.getDate(),i()[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},Aa:zt,Ba:Gt,Sa:function t(e,n,r){t.Ac||(t.Ac=!0,Wt(e,n,r))},y:function(){it(\"\")},U:function(){if(!w&&!v){var t=\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\";_t||(_t={}),_t[t]||(_t[t]=1,w&&(t=\"warning: \"+t),P(t))}},ra:function(){return 4294901760},B:vt,Ia:function(t,e,n){r().copyWithin(t>>>0,e>>>0,e+n>>>0)},F:function(){return w?n(3993).cpus().length:navigator.hardwareConcurrency},Da:function(t,e,n){Yt.length=e,n>>=3;for(var r=0;r<e;r++)Yt[r]=a()[n+r>>>0];return(0>t?st[-t-1]:pe[t]).apply(null,Yt)},qa:function(t){var e=r().length;if((t>>>=0)<=e||4294901760<t)return!1;for(var n=1;4>=n;n*=2){var i=e*(1+.2/n);i=Math.min(i,t+100663296);var o=Math;i=Math.max(t,i),o=o.min.call(o,4294901760,i+(65536-i%65536)%65536);t:{try{$.grow(o-C.byteLength+65535>>>16),H($.buffer);var a=1;break t}catch(t){}a=void 0}if(a)return!0}return!1},Na:function(){throw\"unwind\"},Ga:Jt,Ha:Qt,J:ft,I:te,S:ee,ga:ne,R:oe,d:function(){return ae},na:function t(r,i){t.lc||(t.lc=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(w)try{var e=n(Object(function(){var t=new Error(\"Cannot find module 'crypto'\");throw t.code=\"MODULE_NOT_FOUND\",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>it(\"randomDevice\")}());for(var o=0;o<i;o++)e()[r+o>>0>>>0]=t.lc();return 0},ia:function(t,e,n){var r=Ae();try{return yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},ja:function(t,e,n){var r=Ae();try{return yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},K:function(t){var e=Ae();try{return yt(t)()}catch(t){if(Ee(e),t!==t+0)throw t;Se(1,0)}},f:function(t,e){var n=Ae();try{return yt(t)(e)}catch(t){if(Ee(n),t!==t+0)throw t;Se(1,0)}},P:function(t,e,n){var r=Ae();try{return yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},Q:function(t,e,n){var r=Ae();try{return yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},k:function(t,e,n){var r=Ae();try{return yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},p:function(t,e,n,r){var i=Ae();try{return yt(t)(e,n,r)}catch(t){if(Ee(i),t!==t+0)throw t;Se(1,0)}},q:function(t,e,n,r,i){var o=Ae();try{return yt(t)(e,n,r,i)}catch(t){if(Ee(o),t!==t+0)throw t;Se(1,0)}},N:function(t,e,n,r,i,o){var a=Ae();try{return yt(t)(e,n,r,i,o)}catch(t){if(Ee(a),t!==t+0)throw t;Se(1,0)}},s:function(t,e,n,r,i,o){var a=Ae();try{return yt(t)(e,n,r,i,o)}catch(t){if(Ee(a),t!==t+0)throw t;Se(1,0)}},w:function(t,e,n,r,i,o,a){var s=Ae();try{return yt(t)(e,n,r,i,o,a)}catch(t){if(Ee(s),t!==t+0)throw t;Se(1,0)}},L:function(t,e,n,r,i,o,a,s){var u=Ae();try{return yt(t)(e,n,r,i,o,a,s)}catch(t){if(Ee(u),t!==t+0)throw t;Se(1,0)}},E:function(t,e,n,r,i,o,a,s,u,c,l,p){var f=Ae();try{return yt(t)(e,n,r,i,o,a,s,u,c,l,p)}catch(t){if(Ee(f),t!==t+0)throw t;Se(1,0)}},aa:function(t,e,n,r,i,o,a,s){var u=Ae();try{return Me(t,e,n,r,i,o,a,s)}catch(t){if(Ee(u),t!==t+0)throw t;Se(1,0)}},_:function(t,e,n,r,i,o,a){var s=Ae();try{return ke(t,e,n,r,i,o,a)}catch(t){if(Ee(s),t!==t+0)throw t;Se(1,0)}},Z:function(t,e,n,r,i){var o=Ae();try{return Ue(t,e,n,r,i)}catch(t){if(Ee(o),t!==t+0)throw t;Se(1,0)}},ca:function(t,e,n,r){var i=Ae();try{return Re(t,e,n,r)}catch(t){if(Ee(i),t!==t+0)throw t;Se(1,0)}},$:function(t){var e=Ae();try{return $e(t)}catch(t){if(Ee(e),t!==t+0)throw t;Se(1,0)}},ba:function(t,e){var n=Ae();try{return je(t,e)}catch(t){if(Ee(n),t!==t+0)throw t;Se(1,0)}},Y:function(t,e,n){var r=Ae();try{return Ce(t,e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},g:function(t){var e=Ae();try{yt(t)()}catch(t){if(Ee(e),t!==t+0)throw t;Se(1,0)}},r:function(t,e){var n=Ae();try{yt(t)(e)}catch(t){if(Ee(n),t!==t+0)throw t;Se(1,0)}},i:function(t,e,n){var r=Ae();try{yt(t)(e,n)}catch(t){if(Ee(r),t!==t+0)throw t;Se(1,0)}},ha:function(t,e,n,r){var i=Ae();try{yt(t)(e,n,r)}catch(t){if(Ee(i),t!==t+0)throw t;Se(1,0)}},m:function(t,e,n,r){var i=Ae();try{yt(t)(e,n,r)}catch(t){if(Ee(i),t!==t+0)throw t;Se(1,0)}},v:function(t,e,n,r,i){var o=Ae();try{yt(t)(e,n,r,i)}catch(t){if(Ee(o),t!==t+0)throw t;Se(1,0)}},u:function(t,e,n,r,i,o){var a=Ae();try{yt(t)(e,n,r,i,o)}catch(t){if(Ee(a),t!==t+0)throw t;Se(1,0)}},O:function(t,e,n,r,i,o,a){var s=Ae();try{yt(t)(e,n,r,i,o,a)}catch(t){if(Ee(s),t!==t+0)throw t;Se(1,0)}},A:function(t,e,n,r,i,o,a,s){var u=Ae();try{yt(t)(e,n,r,i,o,a,s)}catch(t){if(Ee(u),t!==t+0)throw t;Se(1,0)}},ka:function(t,e,n,r,i,o,a,s,u){var c=Ae();try{yt(t)(e,n,r,i,o,a,s,u)}catch(t){if(Ee(c),t!==t+0)throw t;Se(1,0)}},C:function(t,e,n,r,i,o,a,s,u,c,l){var p=Ae();try{yt(t)(e,n,r,i,o,a,s,u,c,l)}catch(t){if(Ee(p),t!==t+0)throw t;Se(1,0)}},D:function(t,e,n,r,i,o,a,s,u,c,l,p,f,d,h,g){var b=Ae();try{yt(t)(e,n,r,i,o,a,s,u,c,l,p,f,d,h,g)}catch(t){if(Ee(b),t!==t+0)throw t;Se(1,0)}},fa:function(t,e,n,r,i,o,a,s){var u=Ae();try{Fe(t,e,n,r,i,o,a,s)}catch(t){if(Ee(u),t!==t+0)throw t;Se(1,0)}},da:function(t,e,n,r,i,o,a,s,u,c,l,p){var f=Ae();try{Le(t,e,n,r,i,o,a,s,u,c,l,p)}catch(t){if(Ee(f),t!==t+0)throw t;Se(1,0)}},ea:function(t,e,n,r,i,o){var a=Ae();try{Ne(t,e,n,r,i,o)}catch(t){if(Ee(a),t!==t+0)throw t;Se(1,0)}},o:function(t){return t},a:$||s.wasmMemory,G:function(t){ae=t},la:le,z:function(t,e,n,r){return le(t,e,n,r)}};!function(){function t(t,e){s.asm=t.exports,dt.qc.push(s.asm.sb),q=s.asm.ub,Y.unshift(s.asm.Va),k=e,x||(et--,s.monitorRunDependencies&&s.monitorRunDependencies(et),0==et&&(null!==nt&&(clearInterval(nt),nt=null),rt&&(t=rt,rt=null,t())))}function e(e){t(e.instance,e.module)}function n(t){return function(){if(!E&&(_||v)){if(\"function\"==typeof fetch&&!tt.startsWith(\"file://\"))return fetch(tt,{credentials:\"same-origin\"}).then((function(t){if(!t.ok)throw\"failed to load wasm binary file at '\"+tt+\"'\";return t.arrayBuffer()})).catch((function(){return at()}));if(p)return new Promise((function(t,e){p(tt,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return at()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){P(\"failed to asynchronously prepare wasm: \"+t),it(t)}))}var r={a:fe};if(x||(et++,s.monitorRunDependencies&&s.monitorRunDependencies(et)),s.instantiateWasm)try{return s.instantiateWasm(r,t)}catch(t){return P(\"Module.instantiateWasm callback failed with error: \"+t),!1}(E||\"function\"!=typeof WebAssembly.instantiateStreaming||ot()||tt.startsWith(\"file://\")||w||\"function\"!=typeof fetch?n(e):fetch(tt,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return P(\"wasm streaming compile failed: \"+t),P(\"falling back to ArrayBuffer instantiation\"),n(e)}))}))).catch(c)}(),s.___wasm_call_ctors=function(){return(s.___wasm_call_ctors=s.asm.Va).apply(null,arguments)},s._OrtInit=function(){return(s._OrtInit=s.asm.Wa).apply(null,arguments)},s._OrtCreateSessionOptions=function(){return(s._OrtCreateSessionOptions=s.asm.Xa).apply(null,arguments)},s._OrtAppendExecutionProvider=function(){return(s._OrtAppendExecutionProvider=s.asm.Ya).apply(null,arguments)},s._OrtAddSessionConfigEntry=function(){return(s._OrtAddSessionConfigEntry=s.asm.Za).apply(null,arguments)},s._OrtReleaseSessionOptions=function(){return(s._OrtReleaseSessionOptions=s.asm._a).apply(null,arguments)},s._OrtCreateSession=function(){return(s._OrtCreateSession=s.asm.$a).apply(null,arguments)},s._OrtReleaseSession=function(){return(s._OrtReleaseSession=s.asm.ab).apply(null,arguments)},s._OrtGetInputCount=function(){return(s._OrtGetInputCount=s.asm.bb).apply(null,arguments)},s._OrtGetOutputCount=function(){return(s._OrtGetOutputCount=s.asm.cb).apply(null,arguments)},s._OrtGetInputName=function(){return(s._OrtGetInputName=s.asm.db).apply(null,arguments)},s._OrtGetOutputName=function(){return(s._OrtGetOutputName=s.asm.eb).apply(null,arguments)},s._OrtFree=function(){return(s._OrtFree=s.asm.fb).apply(null,arguments)},s._OrtCreateTensor=function(){return(s._OrtCreateTensor=s.asm.gb).apply(null,arguments)},s._OrtGetTensorData=function(){return(s._OrtGetTensorData=s.asm.hb).apply(null,arguments)},s._OrtReleaseTensor=function(){return(s._OrtReleaseTensor=s.asm.ib).apply(null,arguments)},s._OrtCreateRunOptions=function(){return(s._OrtCreateRunOptions=s.asm.jb).apply(null,arguments)},s._OrtAddRunConfigEntry=function(){return(s._OrtAddRunConfigEntry=s.asm.kb).apply(null,arguments)},s._OrtReleaseRunOptions=function(){return(s._OrtReleaseRunOptions=s.asm.lb).apply(null,arguments)},s._OrtRun=function(){return(s._OrtRun=s.asm.mb).apply(null,arguments)},s._OrtEndProfiling=function(){return(s._OrtEndProfiling=s.asm.nb).apply(null,arguments)};var de=s._pthread_self=function(){return(de=s._pthread_self=s.asm.ob).apply(null,arguments)},he=s._malloc=function(){return(he=s._malloc=s.asm.pb).apply(null,arguments)},ge=s._free=function(){return(ge=s._free=s.asm.qb).apply(null,arguments)},be=s._fflush=function(){return(be=s._fflush=s.asm.rb).apply(null,arguments)};s.__emscripten_tls_init=function(){return(s.__emscripten_tls_init=s.asm.sb).apply(null,arguments)};var me=s.___funcs_on_exit=function(){return(me=s.___funcs_on_exit=s.asm.tb).apply(null,arguments)},ye=s.__emscripten_thread_init=function(){return(ye=s.__emscripten_thread_init=s.asm.vb).apply(null,arguments)};s.__emscripten_thread_crashed=function(){return(s.__emscripten_thread_crashed=s.asm.wb).apply(null,arguments)};var _e,ve=s._emscripten_run_in_main_runtime_thread_js=function(){return(ve=s._emscripten_run_in_main_runtime_thread_js=s.asm.xb).apply(null,arguments)},we=s.__emscripten_proxy_execute_task_queue=function(){return(we=s.__emscripten_proxy_execute_task_queue=s.asm.yb).apply(null,arguments)},xe=s.__emscripten_thread_free_data=function(){return(xe=s.__emscripten_thread_free_data=s.asm.zb).apply(null,arguments)},Te=s.__emscripten_thread_exit=function(){return(Te=s.__emscripten_thread_exit=s.asm.Ab).apply(null,arguments)},Se=s._setThrew=function(){return(Se=s._setThrew=s.asm.Bb).apply(null,arguments)},Oe=s._emscripten_stack_set_limits=function(){return(Oe=s._emscripten_stack_set_limits=s.asm.Cb).apply(null,arguments)},Ae=s.stackSave=function(){return(Ae=s.stackSave=s.asm.Db).apply(null,arguments)},Ee=s.stackRestore=function(){return(Ee=s.stackRestore=s.asm.Eb).apply(null,arguments)},Ie=s.stackAlloc=function(){return(Ie=s.stackAlloc=s.asm.Fb).apply(null,arguments)},Pe=s.___cxa_can_catch=function(){return(Pe=s.___cxa_can_catch=s.asm.Gb).apply(null,arguments)},De=s.___cxa_is_pointer_type=function(){return(De=s.___cxa_is_pointer_type=s.asm.Hb).apply(null,arguments)},$e=s.dynCall_j=function(){return($e=s.dynCall_j=s.asm.Ib).apply(null,arguments)},ke=s.dynCall_iiiiij=function(){return(ke=s.dynCall_iiiiij=s.asm.Jb).apply(null,arguments)},Ce=s.dynCall_jii=function(){return(Ce=s.dynCall_jii=s.asm.Kb).apply(null,arguments)},Fe=s.dynCall_viiiiij=function(){return(Fe=s.dynCall_viiiiij=s.asm.Lb).apply(null,arguments)},Ne=s.dynCall_vjji=function(){return(Ne=s.dynCall_vjji=s.asm.Mb).apply(null,arguments)},Le=s.dynCall_viiijjjii=function(){return(Le=s.dynCall_viiijjjii=s.asm.Nb).apply(null,arguments)},Re=s.dynCall_iij=function(){return(Re=s.dynCall_iij=s.asm.Ob).apply(null,arguments)},je=s.dynCall_ji=function(){return(je=s.dynCall_ji=s.asm.Pb).apply(null,arguments)},Me=s.dynCall_iiiiiij=function(){return(Me=s.dynCall_iiiiiij=s.asm.Qb).apply(null,arguments)},Ue=s.dynCall_iiij=function(){return(Ue=s.dynCall_iiij=s.asm.Rb).apply(null,arguments)};function Ve(){function t(){if(!_e&&(_e=!0,s.calledRun=!0,!M)&&(x||ht(Y),u(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),!x)){if(s.postRun)for(\"function\"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;){var t=s.postRun.shift();Z.unshift(t)}ht(Z)}}if(!(0<et))if(x)u(s),x||ht(Y),postMessage({cmd:\"loaded\"});else{if(s.preRun)for(\"function\"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)Q();ht(X),0<et||(s.setStatus?(s.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){s.setStatus(\"\")}),1),t()}),1)):t())}}if(s.UTF8ToString=B,s.stringToUTF8=function(t,e,n){return z(t,r(),e,n)},s.lengthBytesUTF8=G,s.keepRuntimeAlive=J,s.wasmMemory=$,s.stackSave=Ae,s.stackRestore=Ee,s.stackAlloc=Ie,s.ExitStatus=ut,s.PThread=dt,rt=function t(){_e||Ve(),_e||(rt=t)},s.preInit)for(\"function\"==typeof s.preInit&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.pop()();return Ve(),t.ready});t.exports=r},932:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(t){var e,r,i;t=t||{},e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){r=t,i=e}));var o,a,s,u,c,l,p=Object.assign({},e),f=\"./this.program\",d=(t,e)=>{throw e},h=\"object\"==typeof window,g=\"function\"==typeof importScripts,b=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node,m=\"\";b?(m=g?n(908).dirname(m)+\"/\":\"//\",l=()=>{c||(u=n(1384),c=n(908))},o=function(t,e){return l(),t=c.normalize(t),u.readFileSync(t,e?void 0:\"utf8\")},s=t=>((t=o(t,!0)).buffer||(t=new Uint8Array(t)),t),a=(t,e,n)=>{l(),t=c.normalize(t),u.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(f=process.argv[1].replace(/\\\\/g,\"/\")),process.argv.slice(2),process.on(\"uncaughtException\",(function(t){if(!(t instanceof K))throw t})),process.on(\"unhandledRejection\",(function(t){throw t})),d=(t,e)=>{if(w||0<U)throw process.exitCode=t,e;e instanceof K||v(\"exiting due to exception: \"+e),process.exit(t)},e.inspect=function(){return\"[Emscripten Module object]\"}):(h||g)&&(g?m=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(m=document.currentScript.src),_scriptDir&&(m=_scriptDir),m=0!==m.indexOf(\"blob:\")?m.substr(0,m.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",o=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.send(null),e.responseText},g&&(s=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.responseType=\"arraybuffer\",e.send(null),new Uint8Array(e.response)}),a=(t,e,n)=>{var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var y,_=e.print||console.log.bind(console),v=e.printErr||console.warn.bind(console);Object.assign(e,p),p=null,e.thisProgram&&(f=e.thisProgram),e.quit&&(d=e.quit),e.wasmBinary&&(y=e.wasmBinary);var w=e.noExitRuntime||!1;\"object\"!=typeof WebAssembly&&W(\"no native wasm support detected\");var x,T,S,O,A,E,I=!1,P=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function D(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&P)return P.decode(t.subarray(e,n));for(r=\"\";e<n;){var i=t[e++];if(128&i){var o=63&t[e++];if(192==(224&i))r+=String.fromCharCode((31&i)<<6|o);else{var a=63&t[e++];65536>(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r}function $(t,e){return(t>>>=0)?D(O,t,e):\"\"}function k(t,e,n,r){if(!(0<r))return 0;var i=n>>>=0;r=n+r-1;for(var o=0;o<t.length;++o){var a=t.charCodeAt(o);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++>>>0]=a}else{if(2047>=a){if(n+1>=r)break;e[n++>>>0]=192|a>>6}else{if(65535>=a){if(n+2>=r)break;e[n++>>>0]=224|a>>12}else{if(n+3>=r)break;e[n++>>>0]=240|a>>18,e[n++>>>0]=128|a>>12&63}e[n++>>>0]=128|a>>6&63}e[n++>>>0]=128|63&a}}return e[n>>>0]=0,n-i}function C(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function F(){var t=x.buffer;T=t,e.HEAP8=S=new Int8Array(t),e.HEAP16=new Int16Array(t),e.HEAP32=A=new Int32Array(t),e.HEAPU8=O=new Uint8Array(t),e.HEAPU16=new Uint16Array(t),e.HEAPU32=E=new Uint32Array(t),e.HEAPF32=new Float32Array(t),e.HEAPF64=new Float64Array(t)}var N,L=[],R=[],j=[],M=[],U=0;function V(){var t=e.preRun.shift();L.unshift(t)}var B,z=0,G=null,H=null;function W(t){throw e.onAbort&&e.onAbort(t),v(t=\"Aborted(\"+t+\")\"),I=!0,t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\"),i(t),t}function q(){return B.startsWith(\"data:application/octet-stream;base64,\")}if(B=\"ort-wasm.wasm\",!q()){var X=B;B=e.locateFile?e.locateFile(X,m):m+X}function Y(){var t=B;try{if(t==B&&y)return new Uint8Array(y);if(s)return s(t);throw\"both async and sync fetching of the wasm failed\"}catch(t){W(t)}}function K(t){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+t+\")\",this.status=t}function Z(t){for(;0<t.length;)t.shift()(e)}var J=[],Q=0,tt=0;function et(t){this.Db=t,this.zb=t-24,this.Ub=function(t){E[this.zb+4>>2>>>0]=t},this.Eb=function(){return E[this.zb+4>>2>>>0]},this.Sb=function(t){E[this.zb+8>>2>>>0]=t},this.Wb=function(){return E[this.zb+8>>2>>>0]},this.Tb=function(){A[this.zb>>2>>>0]=0},this.Ib=function(t){S[this.zb+12>>0>>>0]=t?1:0},this.Pb=function(){return 0!=S[this.zb+12>>0>>>0]},this.Jb=function(t){S[this.zb+13>>0>>>0]=t?1:0},this.Lb=function(){return 0!=S[this.zb+13>>0>>>0]},this.Rb=function(t,e){this.Fb(0),this.Ub(t),this.Sb(e),this.Tb(),this.Ib(!1),this.Jb(!1)},this.Nb=function(){A[this.zb>>2>>>0]+=1},this.Xb=function(){var t=A[this.zb>>2>>>0];return A[this.zb>>2>>>0]=t-1,1===t},this.Fb=function(t){E[this.zb+16>>2>>>0]=t},this.Ob=function(){return E[this.zb+16>>2>>>0]},this.Qb=function(){if(Et(this.Eb()))return E[this.Db>>2>>>0];var t=this.Ob();return 0!==t?t:this.Db}}function nt(t){return _t(new et(t).zb)}var rt=[];function it(t){var e=rt[t];return e||(t>=rt.length&&(rt.length=t+1),rt[t]=e=N.get(t)),e}function ot(t){var e=C(t)+1,n=yt(e);return n&&k(t,S,n,e),n}var at={};function st(){if(!ut){var t,e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:f||\"./this.program\"};for(t in at)void 0===at[t]?delete e[t]:e[t]=at[t];var n=[];for(t in e)n.push(t+\"=\"+e[t]);ut=n}return ut}var ut,ct=[null,[],[]];function lt(t,e){var n=ct[t];0===e||10===e?((1===t?_:v)(D(n,0)),n.length=0):n.push(e)}var pt=0;function ft(t){return 0==t%4&&(0!=t%100||0==t%400)}var dt=[31,29,31,30,31,30,31,31,30,31,30,31],ht=[31,28,31,30,31,30,31,31,30,31,30,31];function gt(t,e,n,r){function i(t,e,n){for(t=\"number\"==typeof t?t.toString():t||\"\";t.length<e;)t=n[0]+t;return t}function o(t,e){return i(t,e,\"0\")}function a(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function s(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function u(t){var e=t.Bb;for(t=new Date(new Date(t.Cb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(ft(t.getFullYear())?dt:ht)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=a(e,t)?0>=a(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var c=A[r+40>>2>>>0];for(var l in r={$b:A[r>>2>>>0],Zb:A[r+4>>2>>>0],Gb:A[r+8>>2>>>0],Kb:A[r+12>>2>>>0],Hb:A[r+16>>2>>>0],Cb:A[r+20>>2>>>0],Ab:A[r+24>>2>>>0],Bb:A[r+28>>2>>>0],bc:A[r+32>>2>>>0],Yb:A[r+36>>2>>>0],ac:c?$(c):\"\"},n=$(n),c={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"})n=n.replace(new RegExp(l,\"g\"),c[l]);var p=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),f=\"January February March April May June July August September October November December\".split(\" \");for(l in c={\"%a\":function(t){return p[t.Ab].substring(0,3)},\"%A\":function(t){return p[t.Ab]},\"%b\":function(t){return f[t.Hb].substring(0,3)},\"%B\":function(t){return f[t.Hb]},\"%C\":function(t){return o((t.Cb+1900)/100|0,2)},\"%d\":function(t){return o(t.Kb,2)},\"%e\":function(t){return i(t.Kb,2,\" \")},\"%g\":function(t){return u(t).toString().substring(2)},\"%G\":function(t){return u(t)},\"%H\":function(t){return o(t.Gb,2)},\"%I\":function(t){return 0==(t=t.Gb)?t=12:12<t&&(t-=12),o(t,2)},\"%j\":function(t){for(var e=0,n=0;n<=t.Hb-1;e+=(ft(t.Cb+1900)?dt:ht)[n++]);return o(t.Kb+e,3)},\"%m\":function(t){return o(t.Hb+1,2)},\"%M\":function(t){return o(t.Zb,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(t){return 0<=t.Gb&&12>t.Gb?\"AM\":\"PM\"},\"%S\":function(t){return o(t.$b,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(t){return t.Ab||7},\"%U\":function(t){return o(Math.floor((t.Bb+7-t.Ab)/7),2)},\"%V\":function(t){var e=Math.floor((t.Bb+7-(t.Ab+6)%7)/7);if(2>=(t.Ab+371-t.Bb-2)%7&&e++,e)53==e&&(4==(n=(t.Ab+371-t.Bb)%7)||3==n&&ft(t.Cb)||(e=1));else{e=52;var n=(t.Ab+7-t.Bb-1)%7;(4==n||5==n&&ft(t.Cb%400-1))&&e++}return o(e,2)},\"%w\":function(t){return t.Ab},\"%W\":function(t){return o(Math.floor((t.Bb+7-(t.Ab+6)%7)/7),2)},\"%y\":function(t){return(t.Cb+1900).toString().substring(2)},\"%Y\":function(t){return t.Cb+1900},\"%z\":function(t){var e=0<=(t=t.Yb);return t=Math.abs(t)/60,(e?\"+\":\"-\")+String(\"0000\"+(t/60*100+t%60)).slice(-4)},\"%Z\":function(t){return t.ac},\"%%\":function(){return\"%\"}},n=n.replace(/%%/g,\"\\0\\0\"),c)n.includes(l)&&(n=n.replace(new RegExp(l,\"g\"),c[l](r)));return l=function(t){var e=Array(C(t)+1);return k(t,e,0,e.length),e}(n=n.replace(/\\0\\0/g,\"%\")),l.length>e?0:(S.set(l,t>>>0),l.length-1)}var bt={a:function(t){return yt(t+24)+24},m:function(t){return(t=new et(t)).Pb()||(t.Ib(!0),Q--),t.Jb(!1),J.push(t),t.Nb(),t.Qb()},ia:function(t){throw v(\"Unexpected exception thrown, this is not properly supported - aborting\"),I=!0,t},w:function(){xt(0);var t=J.pop();if(t.Xb()&&!t.Lb()){var e=t.Wb();e&&it(e)(t.Db),nt(t.Db)}tt=0},d:function(){var t=tt;if(!t)return pt=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return pt=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(At(o,n,e.zb+16))return pt=o,t}return pt=n,t},k:function(){var t=tt;if(!t)return pt=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return pt=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(At(o,n,e.zb+16))return pt=o,t}return pt=n,t},g:function(){var t=tt;if(!t)return pt=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return pt=0,t;for(var r=Array.prototype.slice.call(arguments),i=0;i<r.length;i++){var o=r[i];if(0===o||o===n)break;if(At(o,n,e.zb+16))return pt=o,t}return pt=n,t},s:nt,L:function(){var t=J.pop();t||W(\"no exception to throw\");var e=t.Db;throw t.Lb()||(J.push(t),t.Jb(!0),t.Ib(!1),Q++),tt=e,e},b:function(t,e,n){throw new et(t).Rb(e,n),tt=t,Q++,t},la:function(){return Q},i:function(t){throw tt||(tt=t),t},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},Ha:function(){},Ja:function(){W(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},Ia:function(){W(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(t,e){t=new Date(1e3*(E[t>>>2]+4294967296*A[t+4>>>2])),A[e>>2>>>0]=t.getUTCSeconds(),A[e+4>>2>>>0]=t.getUTCMinutes(),A[e+8>>2>>>0]=t.getUTCHours(),A[e+12>>2>>>0]=t.getUTCDate(),A[e+16>>2>>>0]=t.getUTCMonth(),A[e+20>>2>>>0]=t.getUTCFullYear()-1900,A[e+24>>2>>>0]=t.getUTCDay(),A[e+28>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Ea:function(t,e){t=new Date(1e3*(E[t>>>2]+4294967296*A[t+4>>>2])),A[e>>2>>>0]=t.getSeconds(),A[e+4>>2>>>0]=t.getMinutes(),A[e+8>>2>>>0]=t.getHours(),A[e+12>>2>>>0]=t.getDate(),A[e+16>>2>>>0]=t.getMonth(),A[e+20>>2>>>0]=t.getFullYear()-1900,A[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1);A[e+28>>2>>>0]=(t.getTime()-n.getTime())/864e5|0,A[e+36>>2>>>0]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),A[e+32>>2>>>0]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r))},Fa:function(t){var e=new Date(A[t+20>>2>>>0]+1900,A[t+16>>2>>>0],A[t+12>>2>>>0],A[t+8>>2>>>0],A[t+4>>2>>>0],A[t>>2>>>0],0),n=A[t+32>>2>>>0],r=e.getTimezoneOffset(),i=new Date(e.getFullYear(),0,1),o=new Date(e.getFullYear(),6,1).getTimezoneOffset(),a=i.getTimezoneOffset(),s=Math.min(a,o);return 0>n?A[t+32>>2>>>0]=Number(o!=a&&s==r):0<n!=(s==r)&&(o=Math.max(a,o),e.setTime(e.getTime()+6e4*((0<n?s:o)-r))),A[t+24>>2>>>0]=e.getDay(),A[t+28>>2>>>0]=(e.getTime()-i.getTime())/864e5|0,A[t>>2>>>0]=e.getSeconds(),A[t+4>>2>>>0]=e.getMinutes(),A[t+8>>2>>>0]=e.getHours(),A[t+12>>2>>>0]=e.getDate(),A[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},sa:function(){return-52},ta:function(){},Ga:function t(e,n,r){t.Vb||(t.Vb=!0,function(t,e,n){function r(t){return(t=t.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?t[1]:\"GMT\"}var i=(new Date).getFullYear(),o=new Date(i,0,1),a=new Date(i,6,1);i=o.getTimezoneOffset();var s=a.getTimezoneOffset();A[t>>2>>>0]=60*Math.max(i,s),A[e>>2>>>0]=Number(i!=s),t=r(o),e=r(a),t=ot(t),e=ot(e),s<i?(E[n>>2>>>0]=t,E[n+4>>2>>>0]=e):(E[n>>2>>>0]=e,E[n+4>>2>>>0]=t)}(e,n,r))},B:function(){W(\"\")},ma:function(){return 4294901760},I:b?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now(),xa:function(t,e,n){O.copyWithin(t>>>0,e>>>0,e+n>>>0)},G:function(t){var e=O.length;if(4294901760<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math;r=Math.max(t,r),i=i.min.call(i,4294901760,r+(65536-r%65536)%65536);t:{try{x.grow(i-T.byteLength+65535>>>16),F();var o=1;break t}catch(t){}o=void 0}if(o)return!0}return!1},va:function(t,e){var n=0;return st().forEach((function(r,i){var o=e+n;for(i=E[t+4*i>>2>>>0]=o,o=0;o<r.length;++o)S[i++>>0>>>0]=r.charCodeAt(o);S[i>>0>>>0]=0,n+=r.length+1})),0},wa:function(t,e){var n=st();E[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),E[e>>2>>>0]=r,0},ba:function(t){w||0<U||(wt(),Z(j),vt(0),ct[1].length&<(1,10),ct[2].length&<(2,10)),w||0<U||(e.onExit&&e.onExit(t),I=!0),d(t,new K(t))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(t,e,n,r){for(var i=0,o=0;o<n;o++){var a=E[e>>2>>>0],s=E[e+4>>2>>>0];e+=8;for(var u=0;u<s;u++)lt(t,O[a+u>>>0]);i+=s}return E[r>>2>>>0]=i,0},c:function(){return pt},ja:function t(e,r){t.Mb||(t.Mb=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(b)try{var e=n(Object(function(){var t=new Error(\"Cannot find module 'crypto'\");throw t.code=\"MODULE_NOT_FOUND\",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>W(\"randomDevice\")}());for(var i=0;i<r;i++)S[e+i>>0>>>0]=t.Mb();return 0},ea:function(t,e,n){var r=Tt();try{return it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},fa:function(t,e,n){var r=Tt();try{return it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},J:function(t){var e=Tt();try{return it(t)()}catch(t){if(St(e),t!==t+0)throw t;xt(1,0)}},e:function(t,e){var n=Tt();try{return it(t)(e)}catch(t){if(St(n),t!==t+0)throw t;xt(1,0)}},N:function(t,e,n){var r=Tt();try{return it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},O:function(t,e,n){var r=Tt();try{return it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},j:function(t,e,n){var r=Tt();try{return it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},o:function(t,e,n,r){var i=Tt();try{return it(t)(e,n,r)}catch(t){if(St(i),t!==t+0)throw t;xt(1,0)}},p:function(t,e,n,r,i){var o=Tt();try{return it(t)(e,n,r,i)}catch(t){if(St(o),t!==t+0)throw t;xt(1,0)}},M:function(t,e,n,r,i,o){var a=Tt();try{return it(t)(e,n,r,i,o)}catch(t){if(St(a),t!==t+0)throw t;xt(1,0)}},r:function(t,e,n,r,i,o){var a=Tt();try{return it(t)(e,n,r,i,o)}catch(t){if(St(a),t!==t+0)throw t;xt(1,0)}},v:function(t,e,n,r,i,o,a){var s=Tt();try{return it(t)(e,n,r,i,o,a)}catch(t){if(St(s),t!==t+0)throw t;xt(1,0)}},K:function(t,e,n,r,i,o,a,s){var u=Tt();try{return it(t)(e,n,r,i,o,a,s)}catch(t){if(St(u),t!==t+0)throw t;xt(1,0)}},D:function(t,e,n,r,i,o,a,s,u,c,l,p){var f=Tt();try{return it(t)(e,n,r,i,o,a,s,u,c,l,p)}catch(t){if(St(f),t!==t+0)throw t;xt(1,0)}},X:function(t,e,n,r,i,o,a,s){var u=Tt();try{return Lt(t,e,n,r,i,o,a,s)}catch(t){if(St(u),t!==t+0)throw t;xt(1,0)}},V:function(t,e,n,r,i,o,a){var s=Tt();try{return Pt(t,e,n,r,i,o,a)}catch(t){if(St(s),t!==t+0)throw t;xt(1,0)}},U:function(t,e,n,r,i){var o=Tt();try{return Rt(t,e,n,r,i)}catch(t){if(St(o),t!==t+0)throw t;xt(1,0)}},Z:function(t,e,n,r){var i=Tt();try{return Ft(t,e,n,r)}catch(t){if(St(i),t!==t+0)throw t;xt(1,0)}},W:function(t){var e=Tt();try{return It(t)}catch(t){if(St(e),t!==t+0)throw t;xt(1,0)}},Y:function(t,e){var n=Tt();try{return Nt(t,e)}catch(t){if(St(n),t!==t+0)throw t;xt(1,0)}},T:function(t,e,n){var r=Tt();try{return Dt(t,e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},f:function(t){var e=Tt();try{it(t)()}catch(t){if(St(e),t!==t+0)throw t;xt(1,0)}},q:function(t,e){var n=Tt();try{it(t)(e)}catch(t){if(St(n),t!==t+0)throw t;xt(1,0)}},h:function(t,e,n){var r=Tt();try{it(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;xt(1,0)}},da:function(t,e,n,r){var i=Tt();try{it(t)(e,n,r)}catch(t){if(St(i),t!==t+0)throw t;xt(1,0)}},l:function(t,e,n,r){var i=Tt();try{it(t)(e,n,r)}catch(t){if(St(i),t!==t+0)throw t;xt(1,0)}},t:function(t,e,n,r,i){var o=Tt();try{it(t)(e,n,r,i)}catch(t){if(St(o),t!==t+0)throw t;xt(1,0)}},u:function(t,e,n,r,i,o){var a=Tt();try{it(t)(e,n,r,i,o)}catch(t){if(St(a),t!==t+0)throw t;xt(1,0)}},x:function(t,e,n,r,i,o,a){var s=Tt();try{it(t)(e,n,r,i,o,a)}catch(t){if(St(s),t!==t+0)throw t;xt(1,0)}},z:function(t,e,n,r,i,o,a,s){var u=Tt();try{it(t)(e,n,r,i,o,a,s)}catch(t){if(St(u),t!==t+0)throw t;xt(1,0)}},ga:function(t,e,n,r,i,o,a,s,u){var c=Tt();try{it(t)(e,n,r,i,o,a,s,u)}catch(t){if(St(c),t!==t+0)throw t;xt(1,0)}},A:function(t,e,n,r,i,o,a,s,u,c,l){var p=Tt();try{it(t)(e,n,r,i,o,a,s,u,c,l)}catch(t){if(St(p),t!==t+0)throw t;xt(1,0)}},C:function(t,e,n,r,i,o,a,s,u,c,l,p,f,d,h,g){var b=Tt();try{it(t)(e,n,r,i,o,a,s,u,c,l,p,f,d,h,g)}catch(t){if(St(b),t!==t+0)throw t;xt(1,0)}},aa:function(t,e,n,r,i,o,a,s){var u=Tt();try{$t(t,e,n,r,i,o,a,s)}catch(t){if(St(u),t!==t+0)throw t;xt(1,0)}},_:function(t,e,n,r,i,o,a,s,u,c,l,p){var f=Tt();try{Ct(t,e,n,r,i,o,a,s,u,c,l,p)}catch(t){if(St(f),t!==t+0)throw t;xt(1,0)}},$:function(t,e,n,r,i,o){var a=Tt();try{kt(t,e,n,r,i,o)}catch(t){if(St(a),t!==t+0)throw t;xt(1,0)}},n:function(t){return t},F:function(t){pt=t},ha:gt,y:function(t,e,n,r){return gt(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,x=e.asm.Ka,F(),N=e.asm.ib,R.unshift(e.asm.La),z--,e.monitorRunDependencies&&e.monitorRunDependencies(z),0==z&&(null!==G&&(clearInterval(G),G=null),H&&(t=H,H=null,t()))}function n(e){t(e.instance)}function r(t){return function(){if(!y&&(h||g)){if(\"function\"==typeof fetch&&!B.startsWith(\"file://\"))return fetch(B,{credentials:\"same-origin\"}).then((function(t){if(!t.ok)throw\"failed to load wasm binary file at '\"+B+\"'\";return t.arrayBuffer()})).catch((function(){return Y()}));if(a)return new Promise((function(t,e){a(B,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return Y()}))}().then((function(t){return WebAssembly.instantiate(t,o)})).then((function(t){return t})).then(t,(function(t){v(\"failed to asynchronously prepare wasm: \"+t),W(t)}))}var o={a:bt};if(z++,e.monitorRunDependencies&&e.monitorRunDependencies(z),e.instantiateWasm)try{return e.instantiateWasm(o,t)}catch(t){return v(\"Module.instantiateWasm callback failed with error: \"+t),!1}(y||\"function\"!=typeof WebAssembly.instantiateStreaming||q()||B.startsWith(\"file://\")||b||\"function\"!=typeof fetch?r(n):fetch(B,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,o).then(n,(function(t){return v(\"wasm streaming compile failed: \"+t),v(\"falling back to ArrayBuffer instantiation\"),r(n)}))}))).catch(i)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.La).apply(null,arguments)},e._OrtInit=function(){return(e._OrtInit=e.asm.Ma).apply(null,arguments)},e._OrtCreateSessionOptions=function(){return(e._OrtCreateSessionOptions=e.asm.Na).apply(null,arguments)},e._OrtAppendExecutionProvider=function(){return(e._OrtAppendExecutionProvider=e.asm.Oa).apply(null,arguments)},e._OrtAddSessionConfigEntry=function(){return(e._OrtAddSessionConfigEntry=e.asm.Pa).apply(null,arguments)},e._OrtReleaseSessionOptions=function(){return(e._OrtReleaseSessionOptions=e.asm.Qa).apply(null,arguments)},e._OrtCreateSession=function(){return(e._OrtCreateSession=e.asm.Ra).apply(null,arguments)},e._OrtReleaseSession=function(){return(e._OrtReleaseSession=e.asm.Sa).apply(null,arguments)},e._OrtGetInputCount=function(){return(e._OrtGetInputCount=e.asm.Ta).apply(null,arguments)},e._OrtGetOutputCount=function(){return(e._OrtGetOutputCount=e.asm.Ua).apply(null,arguments)},e._OrtGetInputName=function(){return(e._OrtGetInputName=e.asm.Va).apply(null,arguments)},e._OrtGetOutputName=function(){return(e._OrtGetOutputName=e.asm.Wa).apply(null,arguments)},e._OrtFree=function(){return(e._OrtFree=e.asm.Xa).apply(null,arguments)},e._OrtCreateTensor=function(){return(e._OrtCreateTensor=e.asm.Ya).apply(null,arguments)},e._OrtGetTensorData=function(){return(e._OrtGetTensorData=e.asm.Za).apply(null,arguments)},e._OrtReleaseTensor=function(){return(e._OrtReleaseTensor=e.asm._a).apply(null,arguments)},e._OrtCreateRunOptions=function(){return(e._OrtCreateRunOptions=e.asm.$a).apply(null,arguments)},e._OrtAddRunConfigEntry=function(){return(e._OrtAddRunConfigEntry=e.asm.ab).apply(null,arguments)},e._OrtReleaseRunOptions=function(){return(e._OrtReleaseRunOptions=e.asm.bb).apply(null,arguments)},e._OrtRun=function(){return(e._OrtRun=e.asm.cb).apply(null,arguments)},e._OrtEndProfiling=function(){return(e._OrtEndProfiling=e.asm.db).apply(null,arguments)};var mt,yt=e._malloc=function(){return(yt=e._malloc=e.asm.eb).apply(null,arguments)},_t=e._free=function(){return(_t=e._free=e.asm.fb).apply(null,arguments)},vt=e._fflush=function(){return(vt=e._fflush=e.asm.gb).apply(null,arguments)},wt=e.___funcs_on_exit=function(){return(wt=e.___funcs_on_exit=e.asm.hb).apply(null,arguments)},xt=e._setThrew=function(){return(xt=e._setThrew=e.asm.jb).apply(null,arguments)},Tt=e.stackSave=function(){return(Tt=e.stackSave=e.asm.kb).apply(null,arguments)},St=e.stackRestore=function(){return(St=e.stackRestore=e.asm.lb).apply(null,arguments)},Ot=e.stackAlloc=function(){return(Ot=e.stackAlloc=e.asm.mb).apply(null,arguments)},At=e.___cxa_can_catch=function(){return(At=e.___cxa_can_catch=e.asm.nb).apply(null,arguments)},Et=e.___cxa_is_pointer_type=function(){return(Et=e.___cxa_is_pointer_type=e.asm.ob).apply(null,arguments)},It=e.dynCall_j=function(){return(It=e.dynCall_j=e.asm.pb).apply(null,arguments)},Pt=e.dynCall_iiiiij=function(){return(Pt=e.dynCall_iiiiij=e.asm.qb).apply(null,arguments)},Dt=e.dynCall_jii=function(){return(Dt=e.dynCall_jii=e.asm.rb).apply(null,arguments)},$t=e.dynCall_viiiiij=function(){return($t=e.dynCall_viiiiij=e.asm.sb).apply(null,arguments)},kt=e.dynCall_vjji=function(){return(kt=e.dynCall_vjji=e.asm.tb).apply(null,arguments)},Ct=e.dynCall_viiijjjii=function(){return(Ct=e.dynCall_viiijjjii=e.asm.ub).apply(null,arguments)},Ft=e.dynCall_iij=function(){return(Ft=e.dynCall_iij=e.asm.vb).apply(null,arguments)},Nt=e.dynCall_ji=function(){return(Nt=e.dynCall_ji=e.asm.wb).apply(null,arguments)},Lt=e.dynCall_iiiiiij=function(){return(Lt=e.dynCall_iiiiiij=e.asm.xb).apply(null,arguments)},Rt=e.dynCall_iiij=function(){return(Rt=e.dynCall_iiij=e.asm.yb).apply(null,arguments)};function jt(){function t(){if(!mt&&(mt=!0,e.calledRun=!0,!I)){if(Z(R),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for(\"function\"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();M.unshift(t)}Z(M)}}if(!(0<z)){if(e.preRun)for(\"function\"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)V();Z(L),0<z||(e.setStatus?(e.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){e.setStatus(\"\")}),1),t()}),1)):t())}}if(e.UTF8ToString=$,e.stringToUTF8=function(t,e,n){return k(t,O,e,n)},e.lengthBytesUTF8=C,e.stackSave=Tt,e.stackRestore=St,e.stackAlloc=Ot,H=function t(){mt||jt(),mt||(H=t)},e.preInit)for(\"function\"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return jt(),t.ready});t.exports=r},4537:t=>{\"use strict\";t.exports=function(t,e){for(var n=new Array(arguments.length-1),r=0,i=2,o=!0;i<arguments.length;)n[r++]=arguments[i++];return new Promise((function(i,a){n[r]=function(t){if(o)if(o=!1,t)a(t);else{for(var e=new Array(arguments.length-1),n=0;n<e.length;)e[n++]=arguments[n];i.apply(null,e)}};try{t.apply(e||null,n)}catch(t){o&&(o=!1,a(t))}}))}},7419:(t,e)=>{\"use strict\";var n=e;n.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&\"=\"===t.charAt(e);)++n;return Math.ceil(3*t.length)/4-n};for(var r=new Array(64),i=new Array(123),o=0;o<64;)i[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(t,e,n){for(var i,o=null,a=[],s=0,u=0;e<n;){var c=t[e++];switch(u){case 0:a[s++]=r[c>>2],i=(3&c)<<4,u=1;break;case 1:a[s++]=r[i|c>>4],i=(15&c)<<2,u=2;break;case 2:a[s++]=r[i|c>>6],a[s++]=r[63&c],u=0}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0)}return u&&(a[s++]=r[i],a[s++]=61,1===u&&(a[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join(\"\")):String.fromCharCode.apply(String,a.slice(0,s))};var a=\"invalid encoding\";n.decode=function(t,e,n){for(var r,o=n,s=0,u=0;u<t.length;){var c=t.charCodeAt(u++);if(61===c&&s>1)break;if(void 0===(c=i[c]))throw Error(a);switch(s){case 0:r=c,s=1;break;case 1:e[n++]=r<<2|(48&c)>>4,r=c,s=2;break;case 2:e[n++]=(15&r)<<4|(60&c)>>2,r=c,s=3;break;case 3:e[n++]=(3&r)<<6|c,s=0}}if(1===s)throw Error(a);return n-o},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},9211:t=>{\"use strict\";function e(){this._listeners={}}t.exports=e,e.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this},e.prototype.off=function(t,e){if(void 0===t)this._listeners={};else if(void 0===e)this._listeners[t]=[];else for(var n=this._listeners[t],r=0;r<n.length;)n[r].fn===e?n.splice(r,1):++r;return this},e.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<e.length;)e[r].fn.apply(e[r++].ctx,n)}return this}},945:t=>{\"use strict\";function e(t){return\"undefined\"!=typeof Float32Array?function(){var e=new Float32Array([-0]),n=new Uint8Array(e.buffer),r=128===n[3];function i(t,r,i){e[0]=t,r[i]=n[0],r[i+1]=n[1],r[i+2]=n[2],r[i+3]=n[3]}function o(t,r,i){e[0]=t,r[i]=n[3],r[i+1]=n[2],r[i+2]=n[1],r[i+3]=n[0]}function a(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],e[0]}function s(t,r){return n[3]=t[r],n[2]=t[r+1],n[1]=t[r+2],n[0]=t[r+3],e[0]}t.writeFloatLE=r?i:o,t.writeFloatBE=r?o:i,t.readFloatLE=r?a:s,t.readFloatBE=r?s:a}():function(){function e(t,e,n,r){var i=e<0?1:0;if(i&&(e=-e),0===e)t(1/e>0?0:2147483648,n,r);else if(isNaN(e))t(2143289344,n,r);else if(e>34028234663852886e22)t((i<<31|2139095040)>>>0,n,r);else if(e<11754943508222875e-54)t((i<<31|Math.round(e/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(e)/Math.LN2);t((i<<31|o+127<<23|8388607&Math.round(e*Math.pow(2,-o)*8388608))>>>0,n,r)}}function a(t,e,n){var r=t(e,n),i=2*(r>>31)+1,o=r>>>23&255,a=8388607&r;return 255===o?a?NaN:i*(1/0):0===o?1401298464324817e-60*i*a:i*Math.pow(2,o-150)*(a+8388608)}t.writeFloatLE=e.bind(null,n),t.writeFloatBE=e.bind(null,r),t.readFloatLE=a.bind(null,i),t.readFloatBE=a.bind(null,o)}(),\"undefined\"!=typeof Float64Array?function(){var e=new Float64Array([-0]),n=new Uint8Array(e.buffer),r=128===n[7];function i(t,r,i){e[0]=t,r[i]=n[0],r[i+1]=n[1],r[i+2]=n[2],r[i+3]=n[3],r[i+4]=n[4],r[i+5]=n[5],r[i+6]=n[6],r[i+7]=n[7]}function o(t,r,i){e[0]=t,r[i]=n[7],r[i+1]=n[6],r[i+2]=n[5],r[i+3]=n[4],r[i+4]=n[3],r[i+5]=n[2],r[i+6]=n[1],r[i+7]=n[0]}function a(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],n[4]=t[r+4],n[5]=t[r+5],n[6]=t[r+6],n[7]=t[r+7],e[0]}function s(t,r){return n[7]=t[r],n[6]=t[r+1],n[5]=t[r+2],n[4]=t[r+3],n[3]=t[r+4],n[2]=t[r+5],n[1]=t[r+6],n[0]=t[r+7],e[0]}t.writeDoubleLE=r?i:o,t.writeDoubleBE=r?o:i,t.readDoubleLE=r?a:s,t.readDoubleBE=r?s:a}():function(){function e(t,e,n,r,i,o){var a=r<0?1:0;if(a&&(r=-r),0===r)t(0,i,o+e),t(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))t(0,i,o+e),t(2146959360,i,o+n);else if(r>17976931348623157e292)t(0,i,o+e),t((a<<31|2146435072)>>>0,i,o+n);else{var s;if(r<22250738585072014e-324)t((s=r/5e-324)>>>0,i,o+e),t((a<<31|s/4294967296)>>>0,i,o+n);else{var u=Math.floor(Math.log(r)/Math.LN2);1024===u&&(u=1023),t(4503599627370496*(s=r*Math.pow(2,-u))>>>0,i,o+e),t((a<<31|u+1023<<20|1048576*s&1048575)>>>0,i,o+n)}}}function a(t,e,n,r,i){var o=t(r,i+e),a=t(r,i+n),s=2*(a>>31)+1,u=a>>>20&2047,c=4294967296*(1048575&a)+o;return 2047===u?c?NaN:s*(1/0):0===u?5e-324*s*c:s*Math.pow(2,u-1075)*(c+4503599627370496)}t.writeDoubleLE=e.bind(null,n,0,4),t.writeDoubleBE=e.bind(null,r,4,0),t.readDoubleLE=a.bind(null,i,0,4),t.readDoubleBE=a.bind(null,o,4,0)}(),t}function n(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}function r(t,e,n){e[n]=t>>>24,e[n+1]=t>>>16&255,e[n+2]=t>>>8&255,e[n+3]=255&t}function i(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function o(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}t.exports=e(e)},7199:module=>{\"use strict\";function inquire(moduleName){try{var mod=eval(\"quire\".replace(/^/,\"re\"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}module.exports=inquire},6662:t=>{\"use strict\";t.exports=function(t,e,n){var r=n||8192,i=r>>>1,o=null,a=r;return function(n){if(n<1||n>i)return t(n);a+n>r&&(o=t(r),a=0);var s=e.call(o,a,a+=n);return 7&a&&(a=1+(7|a)),s}}},4997:(t,e)=>{\"use strict\";var n=e;n.length=function(t){for(var e=0,n=0,r=0;r<t.length;++r)(n=t.charCodeAt(r))<128?e+=1:n<2048?e+=2:55296==(64512&n)&&56320==(64512&t.charCodeAt(r+1))?(++r,e+=4):e+=3;return e},n.read=function(t,e,n){if(n-e<1)return\"\";for(var r,i=null,o=[],a=0;e<n;)(r=t[e++])<128?o[a++]=r:r>191&&r<224?o[a++]=(31&r)<<6|63&t[e++]:r>239&&r<365?(r=((7&r)<<18|(63&t[e++])<<12|(63&t[e++])<<6|63&t[e++])-65536,o[a++]=55296+(r>>10),o[a++]=56320+(1023&r)):o[a++]=(15&r)<<12|(63&t[e++])<<6|63&t[e++],a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),a=0);return i?(a&&i.push(String.fromCharCode.apply(String,o.slice(0,a))),i.join(\"\")):String.fromCharCode.apply(String,o.slice(0,a))},n.write=function(t,e,n){for(var r,i,o=n,a=0;a<t.length;++a)(r=t.charCodeAt(a))<128?e[n++]=r:r<2048?(e[n++]=r>>6|192,e[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=t.charCodeAt(a+1)))?(r=65536+((1023&r)<<10)+(1023&i),++a,e[n++]=r>>18|240,e[n++]=r>>12&63|128,e[n++]=r>>6&63|128,e[n++]=63&r|128):(e[n++]=r>>12|224,e[n++]=r>>6&63|128,e[n++]=63&r|128);return n-o}},3442:(t,e)=>{\"use strict\";e.__esModule=!0;var n=function(){function t(e){if(!e)throw new TypeError(\"Invalid argument; `value` has no value.\");this.value=t.EMPTY,e&&t.isGuid(e)&&(this.value=e)}return t.isGuid=function(e){var n=e.toString();return e&&(e instanceof t||t.validator.test(n))},t.create=function(){return new t([t.gen(2),t.gen(1),t.gen(1),t.gen(1),t.gen(3)].join(\"-\"))},t.createEmpty=function(){return new t(\"emptyguid\")},t.parse=function(e){return new t(e)},t.raw=function(){return[t.gen(2),t.gen(1),t.gen(1),t.gen(1),t.gen(3)].join(\"-\")},t.gen=function(t){for(var e=\"\",n=0;n<t;n++)e+=(65536*(1+Math.random())|0).toString(16).substring(1);return e},t.prototype.equals=function(e){return t.isGuid(e)&&this.value===e.toString()},t.prototype.isEmpty=function(){return this.value===t.EMPTY},t.prototype.toString=function(){return this.value},t.prototype.toJSON=function(){return{value:this.value}},t.validator=new RegExp(\"^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$\",\"i\"),t.EMPTY=\"00000000-0000-0000-0000-000000000000\",t}();e.Guid=n},3720:t=>{t.exports=n;var e=null;try{e=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(t){}function n(t,e,n){this.low=0|t,this.high=0|e,this.unsigned=!!n}function r(t){return!0===(t&&t.__isLong__)}n.prototype.__isLong__,Object.defineProperty(n.prototype,\"__isLong__\",{value:!0}),n.isLong=r;var i={},o={};function a(t,e){var n,r,a;return e?(a=0<=(t>>>=0)&&t<256)&&(r=o[t])?r:(n=u(t,(0|t)<0?-1:0,!0),a&&(o[t]=n),n):(a=-128<=(t|=0)&&t<128)&&(r=i[t])?r:(n=u(t,t<0?-1:0,!1),a&&(i[t]=n),n)}function s(t,e){if(isNaN(t))return e?m:b;if(e){if(t<0)return m;if(t>=d)return x}else{if(t<=-h)return T;if(t+1>=h)return w}return t<0?s(-t,e).neg():u(t%f|0,t/f|0,e)}function u(t,e,r){return new n(t,e,r)}n.fromInt=a,n.fromNumber=s,n.fromBits=u;var c=Math.pow;function l(t,e,n){if(0===t.length)throw Error(\"empty string\");if(\"NaN\"===t||\"Infinity\"===t||\"+Infinity\"===t||\"-Infinity\"===t)return b;if(\"number\"==typeof e?(n=e,e=!1):e=!!e,(n=n||10)<2||36<n)throw RangeError(\"radix\");var r;if((r=t.indexOf(\"-\"))>0)throw Error(\"interior hyphen\");if(0===r)return l(t.substring(1),e,n).neg();for(var i=s(c(n,8)),o=b,a=0;a<t.length;a+=8){var u=Math.min(8,t.length-a),p=parseInt(t.substring(a,a+u),n);if(u<8){var f=s(c(n,u));o=o.mul(f).add(s(p))}else o=(o=o.mul(i)).add(s(p))}return o.unsigned=e,o}function p(t,e){return\"number\"==typeof t?s(t,e):\"string\"==typeof t?l(t,e):u(t.low,t.high,\"boolean\"==typeof e?e:t.unsigned)}n.fromString=l,n.fromValue=p;var f=4294967296,d=f*f,h=d/2,g=a(1<<24),b=a(0);n.ZERO=b;var m=a(0,!0);n.UZERO=m;var y=a(1);n.ONE=y;var _=a(1,!0);n.UONE=_;var v=a(-1);n.NEG_ONE=v;var w=u(-1,2147483647,!1);n.MAX_VALUE=w;var x=u(-1,-1,!0);n.MAX_UNSIGNED_VALUE=x;var T=u(0,-2147483648,!1);n.MIN_VALUE=T;var S=n.prototype;S.toInt=function(){return this.unsigned?this.low>>>0:this.low},S.toNumber=function(){return this.unsigned?(this.high>>>0)*f+(this.low>>>0):this.high*f+(this.low>>>0)},S.toString=function(t){if((t=t||10)<2||36<t)throw RangeError(\"radix\");if(this.isZero())return\"0\";if(this.isNegative()){if(this.eq(T)){var e=s(t),n=this.div(e),r=n.mul(e).sub(this);return n.toString(t)+r.toInt().toString(t)}return\"-\"+this.neg().toString(t)}for(var i=s(c(t,6),this.unsigned),o=this,a=\"\";;){var u=o.div(i),l=(o.sub(u.mul(i)).toInt()>>>0).toString(t);if((o=u).isZero())return l+a;for(;l.length<6;)l=\"0\"+l;a=\"\"+l+a}},S.getHighBits=function(){return this.high},S.getHighBitsUnsigned=function(){return this.high>>>0},S.getLowBits=function(){return this.low},S.getLowBitsUnsigned=function(){return this.low>>>0},S.getNumBitsAbs=function(){if(this.isNegative())return this.eq(T)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<<e);e--);return 0!=this.high?e+33:e+1},S.isZero=function(){return 0===this.high&&0===this.low},S.eqz=S.isZero,S.isNegative=function(){return!this.unsigned&&this.high<0},S.isPositive=function(){return this.unsigned||this.high>=0},S.isOdd=function(){return 1==(1&this.low)},S.isEven=function(){return 0==(1&this.low)},S.equals=function(t){return r(t)||(t=p(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},S.eq=S.equals,S.notEquals=function(t){return!this.eq(t)},S.neq=S.notEquals,S.ne=S.notEquals,S.lessThan=function(t){return this.comp(t)<0},S.lt=S.lessThan,S.lessThanOrEqual=function(t){return this.comp(t)<=0},S.lte=S.lessThanOrEqual,S.le=S.lessThanOrEqual,S.greaterThan=function(t){return this.comp(t)>0},S.gt=S.greaterThan,S.greaterThanOrEqual=function(t){return this.comp(t)>=0},S.gte=S.greaterThanOrEqual,S.ge=S.greaterThanOrEqual,S.compare=function(t){if(r(t)||(t=p(t)),this.eq(t))return 0;var e=this.isNegative(),n=t.isNegative();return e&&!n?-1:!e&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},S.comp=S.compare,S.negate=function(){return!this.unsigned&&this.eq(T)?T:this.not().add(y)},S.neg=S.negate,S.add=function(t){r(t)||(t=p(t));var e=this.high>>>16,n=65535&this.high,i=this.low>>>16,o=65535&this.low,a=t.high>>>16,s=65535&t.high,c=t.low>>>16,l=0,f=0,d=0,h=0;return d+=(h+=o+(65535&t.low))>>>16,f+=(d+=i+c)>>>16,l+=(f+=n+s)>>>16,l+=e+a,u((d&=65535)<<16|(h&=65535),(l&=65535)<<16|(f&=65535),this.unsigned)},S.subtract=function(t){return r(t)||(t=p(t)),this.add(t.neg())},S.sub=S.subtract,S.multiply=function(t){if(this.isZero())return b;if(r(t)||(t=p(t)),e)return u(e.mul(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned);if(t.isZero())return b;if(this.eq(T))return t.isOdd()?T:b;if(t.eq(T))return this.isOdd()?T:b;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(g)&&t.lt(g))return s(this.toNumber()*t.toNumber(),this.unsigned);var n=this.high>>>16,i=65535&this.high,o=this.low>>>16,a=65535&this.low,c=t.high>>>16,l=65535&t.high,f=t.low>>>16,d=65535&t.low,h=0,m=0,y=0,_=0;return y+=(_+=a*d)>>>16,m+=(y+=o*d)>>>16,y&=65535,m+=(y+=a*f)>>>16,h+=(m+=i*d)>>>16,m&=65535,h+=(m+=o*f)>>>16,m&=65535,h+=(m+=a*l)>>>16,h+=n*d+i*f+o*l+a*c,u((y&=65535)<<16|(_&=65535),(h&=65535)<<16|(m&=65535),this.unsigned)},S.mul=S.multiply,S.divide=function(t){if(r(t)||(t=p(t)),t.isZero())throw Error(\"division by zero\");var n,i,o;if(e)return this.unsigned||-2147483648!==this.high||-1!==t.low||-1!==t.high?u((this.unsigned?e.div_u:e.div_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?m:b;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return m;if(t.gt(this.shru(1)))return _;o=m}else{if(this.eq(T))return t.eq(y)||t.eq(v)?T:t.eq(T)?y:(n=this.shr(1).div(t).shl(1)).eq(b)?t.isNegative()?y:v:(i=this.sub(t.mul(n)),o=n.add(i.div(t)));if(t.eq(T))return this.unsigned?m:b;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=b}for(i=this;i.gte(t);){n=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),l=a<=48?1:c(2,a-48),f=s(n),d=f.mul(t);d.isNegative()||d.gt(i);)d=(f=s(n-=l,this.unsigned)).mul(t);f.isZero()&&(f=y),o=o.add(f),i=i.sub(d)}return o},S.div=S.divide,S.modulo=function(t){return r(t)||(t=p(t)),e?u((this.unsigned?e.rem_u:e.rem_s)(this.low,this.high,t.low,t.high),e.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},S.mod=S.modulo,S.rem=S.modulo,S.not=function(){return u(~this.low,~this.high,this.unsigned)},S.and=function(t){return r(t)||(t=p(t)),u(this.low&t.low,this.high&t.high,this.unsigned)},S.or=function(t){return r(t)||(t=p(t)),u(this.low|t.low,this.high|t.high,this.unsigned)},S.xor=function(t){return r(t)||(t=p(t)),u(this.low^t.low,this.high^t.high,this.unsigned)},S.shiftLeft=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?u(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):u(0,this.low<<t-32,this.unsigned)},S.shl=S.shiftLeft,S.shiftRight=function(t){return r(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?u(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):u(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},S.shr=S.shiftRight,S.shiftRightUnsigned=function(t){if(r(t)&&(t=t.toInt()),0==(t&=63))return this;var e=this.high;return t<32?u(this.low>>>t|e<<32-t,e>>>t,this.unsigned):u(32===t?e:e>>>t-32,0,this.unsigned)},S.shru=S.shiftRightUnsigned,S.shr_u=S.shiftRightUnsigned,S.toSigned=function(){return this.unsigned?u(this.low,this.high,!1):this},S.toUnsigned=function(){return this.unsigned?this:u(this.low,this.high,!0)},S.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},S.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},S.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,e>>>24,e>>>16&255,e>>>8&255,255&e]},n.fromBytes=function(t,e,r){return r?n.fromBytesLE(t,e):n.fromBytesBE(t,e)},n.fromBytesLE=function(t,e){return new n(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,e)},n.fromBytesBE=function(t,e){return new n(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],e)}},1446:(t,e,n)=>{\"use strict\";var r,i,o,a=n(2100),s=a.Reader,u=a.Writer,c=a.util,l=a.roots.default||(a.roots.default={});l.onnx=((o={}).Version=(r={},(i=Object.create(r))[r[0]=\"_START_VERSION\"]=0,i[r[1]=\"IR_VERSION_2017_10_10\"]=1,i[r[2]=\"IR_VERSION_2017_10_30\"]=2,i[r[3]=\"IR_VERSION_2017_11_3\"]=3,i[r[4]=\"IR_VERSION_2019_1_22\"]=4,i[r[5]=\"IR_VERSION\"]=5,i),o.AttributeProto=function(){function t(t){if(this.floats=[],this.ints=[],this.strings=[],this.tensors=[],this.graphs=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.name=\"\",t.prototype.refAttrName=\"\",t.prototype.docString=\"\",t.prototype.type=0,t.prototype.f=0,t.prototype.i=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.s=c.newBuffer([]),t.prototype.t=null,t.prototype.g=null,t.prototype.floats=c.emptyArray,t.prototype.ints=c.emptyArray,t.prototype.strings=c.emptyArray,t.prototype.tensors=c.emptyArray,t.prototype.graphs=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.name&&t.hasOwnProperty(\"name\")&&e.uint32(10).string(t.name),null!=t.f&&t.hasOwnProperty(\"f\")&&e.uint32(21).float(t.f),null!=t.i&&t.hasOwnProperty(\"i\")&&e.uint32(24).int64(t.i),null!=t.s&&t.hasOwnProperty(\"s\")&&e.uint32(34).bytes(t.s),null!=t.t&&t.hasOwnProperty(\"t\")&&l.onnx.TensorProto.encode(t.t,e.uint32(42).fork()).ldelim(),null!=t.g&&t.hasOwnProperty(\"g\")&&l.onnx.GraphProto.encode(t.g,e.uint32(50).fork()).ldelim(),null!=t.floats&&t.floats.length){e.uint32(58).fork();for(var n=0;n<t.floats.length;++n)e.float(t.floats[n]);e.ldelim()}if(null!=t.ints&&t.ints.length){for(e.uint32(66).fork(),n=0;n<t.ints.length;++n)e.int64(t.ints[n]);e.ldelim()}if(null!=t.strings&&t.strings.length)for(n=0;n<t.strings.length;++n)e.uint32(74).bytes(t.strings[n]);if(null!=t.tensors&&t.tensors.length)for(n=0;n<t.tensors.length;++n)l.onnx.TensorProto.encode(t.tensors[n],e.uint32(82).fork()).ldelim();if(null!=t.graphs&&t.graphs.length)for(n=0;n<t.graphs.length;++n)l.onnx.GraphProto.encode(t.graphs[n],e.uint32(90).fork()).ldelim();return null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(106).string(t.docString),null!=t.type&&t.hasOwnProperty(\"type\")&&e.uint32(160).int32(t.type),null!=t.refAttrName&&t.hasOwnProperty(\"refAttrName\")&&e.uint32(170).string(t.refAttrName),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.AttributeProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.name=t.string();break;case 21:r.refAttrName=t.string();break;case 13:r.docString=t.string();break;case 20:r.type=t.int32();break;case 2:r.f=t.float();break;case 3:r.i=t.int64();break;case 4:r.s=t.bytes();break;case 5:r.t=l.onnx.TensorProto.decode(t,t.uint32());break;case 6:r.g=l.onnx.GraphProto.decode(t,t.uint32());break;case 7:if(r.floats&&r.floats.length||(r.floats=[]),2==(7&i))for(var o=t.uint32()+t.pos;t.pos<o;)r.floats.push(t.float());else r.floats.push(t.float());break;case 8:if(r.ints&&r.ints.length||(r.ints=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.ints.push(t.int64());else r.ints.push(t.int64());break;case 9:r.strings&&r.strings.length||(r.strings=[]),r.strings.push(t.bytes());break;case 10:r.tensors&&r.tensors.length||(r.tensors=[]),r.tensors.push(l.onnx.TensorProto.decode(t,t.uint32()));break;case 11:r.graphs&&r.graphs.length||(r.graphs=[]),r.graphs.push(l.onnx.GraphProto.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.name&&t.hasOwnProperty(\"name\")&&!c.isString(t.name))return\"name: string expected\";if(null!=t.refAttrName&&t.hasOwnProperty(\"refAttrName\")&&!c.isString(t.refAttrName))return\"refAttrName: string expected\";if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString))return\"docString: string expected\";if(null!=t.type&&t.hasOwnProperty(\"type\"))switch(t.type){default:return\"type: enum value expected\";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:}if(null!=t.f&&t.hasOwnProperty(\"f\")&&\"number\"!=typeof t.f)return\"f: number expected\";if(null!=t.i&&t.hasOwnProperty(\"i\")&&!(c.isInteger(t.i)||t.i&&c.isInteger(t.i.low)&&c.isInteger(t.i.high)))return\"i: integer|Long expected\";if(null!=t.s&&t.hasOwnProperty(\"s\")&&!(t.s&&\"number\"==typeof t.s.length||c.isString(t.s)))return\"s: buffer expected\";if(null!=t.t&&t.hasOwnProperty(\"t\")&&(n=l.onnx.TensorProto.verify(t.t)))return\"t.\"+n;if(null!=t.g&&t.hasOwnProperty(\"g\")&&(n=l.onnx.GraphProto.verify(t.g)))return\"g.\"+n;if(null!=t.floats&&t.hasOwnProperty(\"floats\")){if(!Array.isArray(t.floats))return\"floats: array expected\";for(var e=0;e<t.floats.length;++e)if(\"number\"!=typeof t.floats[e])return\"floats: number[] expected\"}if(null!=t.ints&&t.hasOwnProperty(\"ints\")){if(!Array.isArray(t.ints))return\"ints: array expected\";for(e=0;e<t.ints.length;++e)if(!(c.isInteger(t.ints[e])||t.ints[e]&&c.isInteger(t.ints[e].low)&&c.isInteger(t.ints[e].high)))return\"ints: integer|Long[] expected\"}if(null!=t.strings&&t.hasOwnProperty(\"strings\")){if(!Array.isArray(t.strings))return\"strings: array expected\";for(e=0;e<t.strings.length;++e)if(!(t.strings[e]&&\"number\"==typeof t.strings[e].length||c.isString(t.strings[e])))return\"strings: buffer[] expected\"}if(null!=t.tensors&&t.hasOwnProperty(\"tensors\")){if(!Array.isArray(t.tensors))return\"tensors: array expected\";for(e=0;e<t.tensors.length;++e)if(n=l.onnx.TensorProto.verify(t.tensors[e]))return\"tensors.\"+n}if(null!=t.graphs&&t.hasOwnProperty(\"graphs\")){if(!Array.isArray(t.graphs))return\"graphs: array expected\";for(e=0;e<t.graphs.length;++e){var n;if(n=l.onnx.GraphProto.verify(t.graphs[e]))return\"graphs.\"+n}}return null},t.fromObject=function(t){if(t instanceof l.onnx.AttributeProto)return t;var e=new l.onnx.AttributeProto;switch(null!=t.name&&(e.name=String(t.name)),null!=t.refAttrName&&(e.refAttrName=String(t.refAttrName)),null!=t.docString&&(e.docString=String(t.docString)),t.type){case\"UNDEFINED\":case 0:e.type=0;break;case\"FLOAT\":case 1:e.type=1;break;case\"INT\":case 2:e.type=2;break;case\"STRING\":case 3:e.type=3;break;case\"TENSOR\":case 4:e.type=4;break;case\"GRAPH\":case 5:e.type=5;break;case\"FLOATS\":case 6:e.type=6;break;case\"INTS\":case 7:e.type=7;break;case\"STRINGS\":case 8:e.type=8;break;case\"TENSORS\":case 9:e.type=9;break;case\"GRAPHS\":case 10:e.type=10}if(null!=t.f&&(e.f=Number(t.f)),null!=t.i&&(c.Long?(e.i=c.Long.fromValue(t.i)).unsigned=!1:\"string\"==typeof t.i?e.i=parseInt(t.i,10):\"number\"==typeof t.i?e.i=t.i:\"object\"==typeof t.i&&(e.i=new c.LongBits(t.i.low>>>0,t.i.high>>>0).toNumber())),null!=t.s&&(\"string\"==typeof t.s?c.base64.decode(t.s,e.s=c.newBuffer(c.base64.length(t.s)),0):t.s.length&&(e.s=t.s)),null!=t.t){if(\"object\"!=typeof t.t)throw TypeError(\".onnx.AttributeProto.t: object expected\");e.t=l.onnx.TensorProto.fromObject(t.t)}if(null!=t.g){if(\"object\"!=typeof t.g)throw TypeError(\".onnx.AttributeProto.g: object expected\");e.g=l.onnx.GraphProto.fromObject(t.g)}if(t.floats){if(!Array.isArray(t.floats))throw TypeError(\".onnx.AttributeProto.floats: array expected\");e.floats=[];for(var n=0;n<t.floats.length;++n)e.floats[n]=Number(t.floats[n])}if(t.ints){if(!Array.isArray(t.ints))throw TypeError(\".onnx.AttributeProto.ints: array expected\");for(e.ints=[],n=0;n<t.ints.length;++n)c.Long?(e.ints[n]=c.Long.fromValue(t.ints[n])).unsigned=!1:\"string\"==typeof t.ints[n]?e.ints[n]=parseInt(t.ints[n],10):\"number\"==typeof t.ints[n]?e.ints[n]=t.ints[n]:\"object\"==typeof t.ints[n]&&(e.ints[n]=new c.LongBits(t.ints[n].low>>>0,t.ints[n].high>>>0).toNumber())}if(t.strings){if(!Array.isArray(t.strings))throw TypeError(\".onnx.AttributeProto.strings: array expected\");for(e.strings=[],n=0;n<t.strings.length;++n)\"string\"==typeof t.strings[n]?c.base64.decode(t.strings[n],e.strings[n]=c.newBuffer(c.base64.length(t.strings[n])),0):t.strings[n].length&&(e.strings[n]=t.strings[n])}if(t.tensors){if(!Array.isArray(t.tensors))throw TypeError(\".onnx.AttributeProto.tensors: array expected\");for(e.tensors=[],n=0;n<t.tensors.length;++n){if(\"object\"!=typeof t.tensors[n])throw TypeError(\".onnx.AttributeProto.tensors: object expected\");e.tensors[n]=l.onnx.TensorProto.fromObject(t.tensors[n])}}if(t.graphs){if(!Array.isArray(t.graphs))throw TypeError(\".onnx.AttributeProto.graphs: array expected\");for(e.graphs=[],n=0;n<t.graphs.length;++n){if(\"object\"!=typeof t.graphs[n])throw TypeError(\".onnx.AttributeProto.graphs: object expected\");e.graphs[n]=l.onnx.GraphProto.fromObject(t.graphs[n])}}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.floats=[],n.ints=[],n.strings=[],n.tensors=[],n.graphs=[]),e.defaults){if(n.name=\"\",n.f=0,c.Long){var r=new c.Long(0,0,!1);n.i=e.longs===String?r.toString():e.longs===Number?r.toNumber():r}else n.i=e.longs===String?\"0\":0;e.bytes===String?n.s=\"\":(n.s=[],e.bytes!==Array&&(n.s=c.newBuffer(n.s))),n.t=null,n.g=null,n.docString=\"\",n.type=e.enums===String?\"UNDEFINED\":0,n.refAttrName=\"\"}if(null!=t.name&&t.hasOwnProperty(\"name\")&&(n.name=t.name),null!=t.f&&t.hasOwnProperty(\"f\")&&(n.f=e.json&&!isFinite(t.f)?String(t.f):t.f),null!=t.i&&t.hasOwnProperty(\"i\")&&(\"number\"==typeof t.i?n.i=e.longs===String?String(t.i):t.i:n.i=e.longs===String?c.Long.prototype.toString.call(t.i):e.longs===Number?new c.LongBits(t.i.low>>>0,t.i.high>>>0).toNumber():t.i),null!=t.s&&t.hasOwnProperty(\"s\")&&(n.s=e.bytes===String?c.base64.encode(t.s,0,t.s.length):e.bytes===Array?Array.prototype.slice.call(t.s):t.s),null!=t.t&&t.hasOwnProperty(\"t\")&&(n.t=l.onnx.TensorProto.toObject(t.t,e)),null!=t.g&&t.hasOwnProperty(\"g\")&&(n.g=l.onnx.GraphProto.toObject(t.g,e)),t.floats&&t.floats.length){n.floats=[];for(var i=0;i<t.floats.length;++i)n.floats[i]=e.json&&!isFinite(t.floats[i])?String(t.floats[i]):t.floats[i]}if(t.ints&&t.ints.length)for(n.ints=[],i=0;i<t.ints.length;++i)\"number\"==typeof t.ints[i]?n.ints[i]=e.longs===String?String(t.ints[i]):t.ints[i]:n.ints[i]=e.longs===String?c.Long.prototype.toString.call(t.ints[i]):e.longs===Number?new c.LongBits(t.ints[i].low>>>0,t.ints[i].high>>>0).toNumber():t.ints[i];if(t.strings&&t.strings.length)for(n.strings=[],i=0;i<t.strings.length;++i)n.strings[i]=e.bytes===String?c.base64.encode(t.strings[i],0,t.strings[i].length):e.bytes===Array?Array.prototype.slice.call(t.strings[i]):t.strings[i];if(t.tensors&&t.tensors.length)for(n.tensors=[],i=0;i<t.tensors.length;++i)n.tensors[i]=l.onnx.TensorProto.toObject(t.tensors[i],e);if(t.graphs&&t.graphs.length)for(n.graphs=[],i=0;i<t.graphs.length;++i)n.graphs[i]=l.onnx.GraphProto.toObject(t.graphs[i],e);return null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),null!=t.type&&t.hasOwnProperty(\"type\")&&(n.type=e.enums===String?l.onnx.AttributeProto.AttributeType[t.type]:t.type),null!=t.refAttrName&&t.hasOwnProperty(\"refAttrName\")&&(n.refAttrName=t.refAttrName),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t.AttributeType=function(){var t={},e=Object.create(t);return e[t[0]=\"UNDEFINED\"]=0,e[t[1]=\"FLOAT\"]=1,e[t[2]=\"INT\"]=2,e[t[3]=\"STRING\"]=3,e[t[4]=\"TENSOR\"]=4,e[t[5]=\"GRAPH\"]=5,e[t[6]=\"FLOATS\"]=6,e[t[7]=\"INTS\"]=7,e[t[8]=\"STRINGS\"]=8,e[t[9]=\"TENSORS\"]=9,e[t[10]=\"GRAPHS\"]=10,e}(),t}(),o.ValueInfoProto=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.name=\"\",t.prototype.type=null,t.prototype.docString=\"\",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.name&&t.hasOwnProperty(\"name\")&&e.uint32(10).string(t.name),null!=t.type&&t.hasOwnProperty(\"type\")&&l.onnx.TypeProto.encode(t.type,e.uint32(18).fork()).ldelim(),null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(26).string(t.docString),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.ValueInfoProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.name=t.string();break;case 2:r.type=l.onnx.TypeProto.decode(t,t.uint32());break;case 3:r.docString=t.string();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.name&&t.hasOwnProperty(\"name\")&&!c.isString(t.name))return\"name: string expected\";if(null!=t.type&&t.hasOwnProperty(\"type\")){var e=l.onnx.TypeProto.verify(t.type);if(e)return\"type.\"+e}return null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString)?\"docString: string expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.ValueInfoProto)return t;var e=new l.onnx.ValueInfoProto;if(null!=t.name&&(e.name=String(t.name)),null!=t.type){if(\"object\"!=typeof t.type)throw TypeError(\".onnx.ValueInfoProto.type: object expected\");e.type=l.onnx.TypeProto.fromObject(t.type)}return null!=t.docString&&(e.docString=String(t.docString)),e},t.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.name=\"\",n.type=null,n.docString=\"\"),null!=t.name&&t.hasOwnProperty(\"name\")&&(n.name=t.name),null!=t.type&&t.hasOwnProperty(\"type\")&&(n.type=l.onnx.TypeProto.toObject(t.type,e)),null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.NodeProto=function(){function t(t){if(this.input=[],this.output=[],this.attribute=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.input=c.emptyArray,t.prototype.output=c.emptyArray,t.prototype.name=\"\",t.prototype.opType=\"\",t.prototype.domain=\"\",t.prototype.attribute=c.emptyArray,t.prototype.docString=\"\",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.input&&t.input.length)for(var n=0;n<t.input.length;++n)e.uint32(10).string(t.input[n]);if(null!=t.output&&t.output.length)for(n=0;n<t.output.length;++n)e.uint32(18).string(t.output[n]);if(null!=t.name&&t.hasOwnProperty(\"name\")&&e.uint32(26).string(t.name),null!=t.opType&&t.hasOwnProperty(\"opType\")&&e.uint32(34).string(t.opType),null!=t.attribute&&t.attribute.length)for(n=0;n<t.attribute.length;++n)l.onnx.AttributeProto.encode(t.attribute[n],e.uint32(42).fork()).ldelim();return null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(50).string(t.docString),null!=t.domain&&t.hasOwnProperty(\"domain\")&&e.uint32(58).string(t.domain),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.NodeProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.input&&r.input.length||(r.input=[]),r.input.push(t.string());break;case 2:r.output&&r.output.length||(r.output=[]),r.output.push(t.string());break;case 3:r.name=t.string();break;case 4:r.opType=t.string();break;case 7:r.domain=t.string();break;case 5:r.attribute&&r.attribute.length||(r.attribute=[]),r.attribute.push(l.onnx.AttributeProto.decode(t,t.uint32()));break;case 6:r.docString=t.string();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.input&&t.hasOwnProperty(\"input\")){if(!Array.isArray(t.input))return\"input: array expected\";for(var e=0;e<t.input.length;++e)if(!c.isString(t.input[e]))return\"input: string[] expected\"}if(null!=t.output&&t.hasOwnProperty(\"output\")){if(!Array.isArray(t.output))return\"output: array expected\";for(e=0;e<t.output.length;++e)if(!c.isString(t.output[e]))return\"output: string[] expected\"}if(null!=t.name&&t.hasOwnProperty(\"name\")&&!c.isString(t.name))return\"name: string expected\";if(null!=t.opType&&t.hasOwnProperty(\"opType\")&&!c.isString(t.opType))return\"opType: string expected\";if(null!=t.domain&&t.hasOwnProperty(\"domain\")&&!c.isString(t.domain))return\"domain: string expected\";if(null!=t.attribute&&t.hasOwnProperty(\"attribute\")){if(!Array.isArray(t.attribute))return\"attribute: array expected\";for(e=0;e<t.attribute.length;++e){var n=l.onnx.AttributeProto.verify(t.attribute[e]);if(n)return\"attribute.\"+n}}return null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString)?\"docString: string expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.NodeProto)return t;var e=new l.onnx.NodeProto;if(t.input){if(!Array.isArray(t.input))throw TypeError(\".onnx.NodeProto.input: array expected\");e.input=[];for(var n=0;n<t.input.length;++n)e.input[n]=String(t.input[n])}if(t.output){if(!Array.isArray(t.output))throw TypeError(\".onnx.NodeProto.output: array expected\");for(e.output=[],n=0;n<t.output.length;++n)e.output[n]=String(t.output[n])}if(null!=t.name&&(e.name=String(t.name)),null!=t.opType&&(e.opType=String(t.opType)),null!=t.domain&&(e.domain=String(t.domain)),t.attribute){if(!Array.isArray(t.attribute))throw TypeError(\".onnx.NodeProto.attribute: array expected\");for(e.attribute=[],n=0;n<t.attribute.length;++n){if(\"object\"!=typeof t.attribute[n])throw TypeError(\".onnx.NodeProto.attribute: object expected\");e.attribute[n]=l.onnx.AttributeProto.fromObject(t.attribute[n])}}return null!=t.docString&&(e.docString=String(t.docString)),e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.input=[],n.output=[],n.attribute=[]),e.defaults&&(n.name=\"\",n.opType=\"\",n.docString=\"\",n.domain=\"\"),t.input&&t.input.length){n.input=[];for(var r=0;r<t.input.length;++r)n.input[r]=t.input[r]}if(t.output&&t.output.length)for(n.output=[],r=0;r<t.output.length;++r)n.output[r]=t.output[r];if(null!=t.name&&t.hasOwnProperty(\"name\")&&(n.name=t.name),null!=t.opType&&t.hasOwnProperty(\"opType\")&&(n.opType=t.opType),t.attribute&&t.attribute.length)for(n.attribute=[],r=0;r<t.attribute.length;++r)n.attribute[r]=l.onnx.AttributeProto.toObject(t.attribute[r],e);return null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),null!=t.domain&&t.hasOwnProperty(\"domain\")&&(n.domain=t.domain),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.ModelProto=function(){function t(t){if(this.opsetImport=[],this.metadataProps=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.irVersion=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.opsetImport=c.emptyArray,t.prototype.producerName=\"\",t.prototype.producerVersion=\"\",t.prototype.domain=\"\",t.prototype.modelVersion=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.docString=\"\",t.prototype.graph=null,t.prototype.metadataProps=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.irVersion&&t.hasOwnProperty(\"irVersion\")&&e.uint32(8).int64(t.irVersion),null!=t.producerName&&t.hasOwnProperty(\"producerName\")&&e.uint32(18).string(t.producerName),null!=t.producerVersion&&t.hasOwnProperty(\"producerVersion\")&&e.uint32(26).string(t.producerVersion),null!=t.domain&&t.hasOwnProperty(\"domain\")&&e.uint32(34).string(t.domain),null!=t.modelVersion&&t.hasOwnProperty(\"modelVersion\")&&e.uint32(40).int64(t.modelVersion),null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(50).string(t.docString),null!=t.graph&&t.hasOwnProperty(\"graph\")&&l.onnx.GraphProto.encode(t.graph,e.uint32(58).fork()).ldelim(),null!=t.opsetImport&&t.opsetImport.length)for(var n=0;n<t.opsetImport.length;++n)l.onnx.OperatorSetIdProto.encode(t.opsetImport[n],e.uint32(66).fork()).ldelim();if(null!=t.metadataProps&&t.metadataProps.length)for(n=0;n<t.metadataProps.length;++n)l.onnx.StringStringEntryProto.encode(t.metadataProps[n],e.uint32(114).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.ModelProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.irVersion=t.int64();break;case 8:r.opsetImport&&r.opsetImport.length||(r.opsetImport=[]),r.opsetImport.push(l.onnx.OperatorSetIdProto.decode(t,t.uint32()));break;case 2:r.producerName=t.string();break;case 3:r.producerVersion=t.string();break;case 4:r.domain=t.string();break;case 5:r.modelVersion=t.int64();break;case 6:r.docString=t.string();break;case 7:r.graph=l.onnx.GraphProto.decode(t,t.uint32());break;case 14:r.metadataProps&&r.metadataProps.length||(r.metadataProps=[]),r.metadataProps.push(l.onnx.StringStringEntryProto.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.irVersion&&t.hasOwnProperty(\"irVersion\")&&!(c.isInteger(t.irVersion)||t.irVersion&&c.isInteger(t.irVersion.low)&&c.isInteger(t.irVersion.high)))return\"irVersion: integer|Long expected\";if(null!=t.opsetImport&&t.hasOwnProperty(\"opsetImport\")){if(!Array.isArray(t.opsetImport))return\"opsetImport: array expected\";for(var e=0;e<t.opsetImport.length;++e)if(n=l.onnx.OperatorSetIdProto.verify(t.opsetImport[e]))return\"opsetImport.\"+n}if(null!=t.producerName&&t.hasOwnProperty(\"producerName\")&&!c.isString(t.producerName))return\"producerName: string expected\";if(null!=t.producerVersion&&t.hasOwnProperty(\"producerVersion\")&&!c.isString(t.producerVersion))return\"producerVersion: string expected\";if(null!=t.domain&&t.hasOwnProperty(\"domain\")&&!c.isString(t.domain))return\"domain: string expected\";if(null!=t.modelVersion&&t.hasOwnProperty(\"modelVersion\")&&!(c.isInteger(t.modelVersion)||t.modelVersion&&c.isInteger(t.modelVersion.low)&&c.isInteger(t.modelVersion.high)))return\"modelVersion: integer|Long expected\";if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString))return\"docString: string expected\";if(null!=t.graph&&t.hasOwnProperty(\"graph\")&&(n=l.onnx.GraphProto.verify(t.graph)))return\"graph.\"+n;if(null!=t.metadataProps&&t.hasOwnProperty(\"metadataProps\")){if(!Array.isArray(t.metadataProps))return\"metadataProps: array expected\";for(e=0;e<t.metadataProps.length;++e){var n;if(n=l.onnx.StringStringEntryProto.verify(t.metadataProps[e]))return\"metadataProps.\"+n}}return null},t.fromObject=function(t){if(t instanceof l.onnx.ModelProto)return t;var e=new l.onnx.ModelProto;if(null!=t.irVersion&&(c.Long?(e.irVersion=c.Long.fromValue(t.irVersion)).unsigned=!1:\"string\"==typeof t.irVersion?e.irVersion=parseInt(t.irVersion,10):\"number\"==typeof t.irVersion?e.irVersion=t.irVersion:\"object\"==typeof t.irVersion&&(e.irVersion=new c.LongBits(t.irVersion.low>>>0,t.irVersion.high>>>0).toNumber())),t.opsetImport){if(!Array.isArray(t.opsetImport))throw TypeError(\".onnx.ModelProto.opsetImport: array expected\");e.opsetImport=[];for(var n=0;n<t.opsetImport.length;++n){if(\"object\"!=typeof t.opsetImport[n])throw TypeError(\".onnx.ModelProto.opsetImport: object expected\");e.opsetImport[n]=l.onnx.OperatorSetIdProto.fromObject(t.opsetImport[n])}}if(null!=t.producerName&&(e.producerName=String(t.producerName)),null!=t.producerVersion&&(e.producerVersion=String(t.producerVersion)),null!=t.domain&&(e.domain=String(t.domain)),null!=t.modelVersion&&(c.Long?(e.modelVersion=c.Long.fromValue(t.modelVersion)).unsigned=!1:\"string\"==typeof t.modelVersion?e.modelVersion=parseInt(t.modelVersion,10):\"number\"==typeof t.modelVersion?e.modelVersion=t.modelVersion:\"object\"==typeof t.modelVersion&&(e.modelVersion=new c.LongBits(t.modelVersion.low>>>0,t.modelVersion.high>>>0).toNumber())),null!=t.docString&&(e.docString=String(t.docString)),null!=t.graph){if(\"object\"!=typeof t.graph)throw TypeError(\".onnx.ModelProto.graph: object expected\");e.graph=l.onnx.GraphProto.fromObject(t.graph)}if(t.metadataProps){if(!Array.isArray(t.metadataProps))throw TypeError(\".onnx.ModelProto.metadataProps: array expected\");for(e.metadataProps=[],n=0;n<t.metadataProps.length;++n){if(\"object\"!=typeof t.metadataProps[n])throw TypeError(\".onnx.ModelProto.metadataProps: object expected\");e.metadataProps[n]=l.onnx.StringStringEntryProto.fromObject(t.metadataProps[n])}}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.opsetImport=[],n.metadataProps=[]),e.defaults){if(c.Long){var r=new c.Long(0,0,!1);n.irVersion=e.longs===String?r.toString():e.longs===Number?r.toNumber():r}else n.irVersion=e.longs===String?\"0\":0;n.producerName=\"\",n.producerVersion=\"\",n.domain=\"\",c.Long?(r=new c.Long(0,0,!1),n.modelVersion=e.longs===String?r.toString():e.longs===Number?r.toNumber():r):n.modelVersion=e.longs===String?\"0\":0,n.docString=\"\",n.graph=null}if(null!=t.irVersion&&t.hasOwnProperty(\"irVersion\")&&(\"number\"==typeof t.irVersion?n.irVersion=e.longs===String?String(t.irVersion):t.irVersion:n.irVersion=e.longs===String?c.Long.prototype.toString.call(t.irVersion):e.longs===Number?new c.LongBits(t.irVersion.low>>>0,t.irVersion.high>>>0).toNumber():t.irVersion),null!=t.producerName&&t.hasOwnProperty(\"producerName\")&&(n.producerName=t.producerName),null!=t.producerVersion&&t.hasOwnProperty(\"producerVersion\")&&(n.producerVersion=t.producerVersion),null!=t.domain&&t.hasOwnProperty(\"domain\")&&(n.domain=t.domain),null!=t.modelVersion&&t.hasOwnProperty(\"modelVersion\")&&(\"number\"==typeof t.modelVersion?n.modelVersion=e.longs===String?String(t.modelVersion):t.modelVersion:n.modelVersion=e.longs===String?c.Long.prototype.toString.call(t.modelVersion):e.longs===Number?new c.LongBits(t.modelVersion.low>>>0,t.modelVersion.high>>>0).toNumber():t.modelVersion),null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),null!=t.graph&&t.hasOwnProperty(\"graph\")&&(n.graph=l.onnx.GraphProto.toObject(t.graph,e)),t.opsetImport&&t.opsetImport.length){n.opsetImport=[];for(var i=0;i<t.opsetImport.length;++i)n.opsetImport[i]=l.onnx.OperatorSetIdProto.toObject(t.opsetImport[i],e)}if(t.metadataProps&&t.metadataProps.length)for(n.metadataProps=[],i=0;i<t.metadataProps.length;++i)n.metadataProps[i]=l.onnx.StringStringEntryProto.toObject(t.metadataProps[i],e);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.StringStringEntryProto=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.key=\"\",t.prototype.value=\"\",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.key&&t.hasOwnProperty(\"key\")&&e.uint32(10).string(t.key),null!=t.value&&t.hasOwnProperty(\"value\")&&e.uint32(18).string(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.StringStringEntryProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.key=t.string();break;case 2:r.value=t.string();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){return\"object\"!=typeof t||null===t?\"object expected\":null!=t.key&&t.hasOwnProperty(\"key\")&&!c.isString(t.key)?\"key: string expected\":null!=t.value&&t.hasOwnProperty(\"value\")&&!c.isString(t.value)?\"value: string expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.StringStringEntryProto)return t;var e=new l.onnx.StringStringEntryProto;return null!=t.key&&(e.key=String(t.key)),null!=t.value&&(e.value=String(t.value)),e},t.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.key=\"\",n.value=\"\"),null!=t.key&&t.hasOwnProperty(\"key\")&&(n.key=t.key),null!=t.value&&t.hasOwnProperty(\"value\")&&(n.value=t.value),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.TensorAnnotation=function(){function t(t){if(this.quantParameterTensorNames=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.tensorName=\"\",t.prototype.quantParameterTensorNames=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.tensorName&&t.hasOwnProperty(\"tensorName\")&&e.uint32(10).string(t.tensorName),null!=t.quantParameterTensorNames&&t.quantParameterTensorNames.length)for(var n=0;n<t.quantParameterTensorNames.length;++n)l.onnx.StringStringEntryProto.encode(t.quantParameterTensorNames[n],e.uint32(18).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TensorAnnotation;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.tensorName=t.string();break;case 2:r.quantParameterTensorNames&&r.quantParameterTensorNames.length||(r.quantParameterTensorNames=[]),r.quantParameterTensorNames.push(l.onnx.StringStringEntryProto.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.tensorName&&t.hasOwnProperty(\"tensorName\")&&!c.isString(t.tensorName))return\"tensorName: string expected\";if(null!=t.quantParameterTensorNames&&t.hasOwnProperty(\"quantParameterTensorNames\")){if(!Array.isArray(t.quantParameterTensorNames))return\"quantParameterTensorNames: array expected\";for(var e=0;e<t.quantParameterTensorNames.length;++e){var n=l.onnx.StringStringEntryProto.verify(t.quantParameterTensorNames[e]);if(n)return\"quantParameterTensorNames.\"+n}}return null},t.fromObject=function(t){if(t instanceof l.onnx.TensorAnnotation)return t;var e=new l.onnx.TensorAnnotation;if(null!=t.tensorName&&(e.tensorName=String(t.tensorName)),t.quantParameterTensorNames){if(!Array.isArray(t.quantParameterTensorNames))throw TypeError(\".onnx.TensorAnnotation.quantParameterTensorNames: array expected\");e.quantParameterTensorNames=[];for(var n=0;n<t.quantParameterTensorNames.length;++n){if(\"object\"!=typeof t.quantParameterTensorNames[n])throw TypeError(\".onnx.TensorAnnotation.quantParameterTensorNames: object expected\");e.quantParameterTensorNames[n]=l.onnx.StringStringEntryProto.fromObject(t.quantParameterTensorNames[n])}}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.quantParameterTensorNames=[]),e.defaults&&(n.tensorName=\"\"),null!=t.tensorName&&t.hasOwnProperty(\"tensorName\")&&(n.tensorName=t.tensorName),t.quantParameterTensorNames&&t.quantParameterTensorNames.length){n.quantParameterTensorNames=[];for(var r=0;r<t.quantParameterTensorNames.length;++r)n.quantParameterTensorNames[r]=l.onnx.StringStringEntryProto.toObject(t.quantParameterTensorNames[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.GraphProto=function(){function t(t){if(this.node=[],this.initializer=[],this.input=[],this.output=[],this.valueInfo=[],this.quantizationAnnotation=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.node=c.emptyArray,t.prototype.name=\"\",t.prototype.initializer=c.emptyArray,t.prototype.docString=\"\",t.prototype.input=c.emptyArray,t.prototype.output=c.emptyArray,t.prototype.valueInfo=c.emptyArray,t.prototype.quantizationAnnotation=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.node&&t.node.length)for(var n=0;n<t.node.length;++n)l.onnx.NodeProto.encode(t.node[n],e.uint32(10).fork()).ldelim();if(null!=t.name&&t.hasOwnProperty(\"name\")&&e.uint32(18).string(t.name),null!=t.initializer&&t.initializer.length)for(n=0;n<t.initializer.length;++n)l.onnx.TensorProto.encode(t.initializer[n],e.uint32(42).fork()).ldelim();if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(82).string(t.docString),null!=t.input&&t.input.length)for(n=0;n<t.input.length;++n)l.onnx.ValueInfoProto.encode(t.input[n],e.uint32(90).fork()).ldelim();if(null!=t.output&&t.output.length)for(n=0;n<t.output.length;++n)l.onnx.ValueInfoProto.encode(t.output[n],e.uint32(98).fork()).ldelim();if(null!=t.valueInfo&&t.valueInfo.length)for(n=0;n<t.valueInfo.length;++n)l.onnx.ValueInfoProto.encode(t.valueInfo[n],e.uint32(106).fork()).ldelim();if(null!=t.quantizationAnnotation&&t.quantizationAnnotation.length)for(n=0;n<t.quantizationAnnotation.length;++n)l.onnx.TensorAnnotation.encode(t.quantizationAnnotation[n],e.uint32(114).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.GraphProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.node&&r.node.length||(r.node=[]),r.node.push(l.onnx.NodeProto.decode(t,t.uint32()));break;case 2:r.name=t.string();break;case 5:r.initializer&&r.initializer.length||(r.initializer=[]),r.initializer.push(l.onnx.TensorProto.decode(t,t.uint32()));break;case 10:r.docString=t.string();break;case 11:r.input&&r.input.length||(r.input=[]),r.input.push(l.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 12:r.output&&r.output.length||(r.output=[]),r.output.push(l.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 13:r.valueInfo&&r.valueInfo.length||(r.valueInfo=[]),r.valueInfo.push(l.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 14:r.quantizationAnnotation&&r.quantizationAnnotation.length||(r.quantizationAnnotation=[]),r.quantizationAnnotation.push(l.onnx.TensorAnnotation.decode(t,t.uint32()));break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.node&&t.hasOwnProperty(\"node\")){if(!Array.isArray(t.node))return\"node: array expected\";for(var e=0;e<t.node.length;++e)if(n=l.onnx.NodeProto.verify(t.node[e]))return\"node.\"+n}if(null!=t.name&&t.hasOwnProperty(\"name\")&&!c.isString(t.name))return\"name: string expected\";if(null!=t.initializer&&t.hasOwnProperty(\"initializer\")){if(!Array.isArray(t.initializer))return\"initializer: array expected\";for(e=0;e<t.initializer.length;++e)if(n=l.onnx.TensorProto.verify(t.initializer[e]))return\"initializer.\"+n}if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString))return\"docString: string expected\";if(null!=t.input&&t.hasOwnProperty(\"input\")){if(!Array.isArray(t.input))return\"input: array expected\";for(e=0;e<t.input.length;++e)if(n=l.onnx.ValueInfoProto.verify(t.input[e]))return\"input.\"+n}if(null!=t.output&&t.hasOwnProperty(\"output\")){if(!Array.isArray(t.output))return\"output: array expected\";for(e=0;e<t.output.length;++e)if(n=l.onnx.ValueInfoProto.verify(t.output[e]))return\"output.\"+n}if(null!=t.valueInfo&&t.hasOwnProperty(\"valueInfo\")){if(!Array.isArray(t.valueInfo))return\"valueInfo: array expected\";for(e=0;e<t.valueInfo.length;++e)if(n=l.onnx.ValueInfoProto.verify(t.valueInfo[e]))return\"valueInfo.\"+n}if(null!=t.quantizationAnnotation&&t.hasOwnProperty(\"quantizationAnnotation\")){if(!Array.isArray(t.quantizationAnnotation))return\"quantizationAnnotation: array expected\";for(e=0;e<t.quantizationAnnotation.length;++e){var n;if(n=l.onnx.TensorAnnotation.verify(t.quantizationAnnotation[e]))return\"quantizationAnnotation.\"+n}}return null},t.fromObject=function(t){if(t instanceof l.onnx.GraphProto)return t;var e=new l.onnx.GraphProto;if(t.node){if(!Array.isArray(t.node))throw TypeError(\".onnx.GraphProto.node: array expected\");e.node=[];for(var n=0;n<t.node.length;++n){if(\"object\"!=typeof t.node[n])throw TypeError(\".onnx.GraphProto.node: object expected\");e.node[n]=l.onnx.NodeProto.fromObject(t.node[n])}}if(null!=t.name&&(e.name=String(t.name)),t.initializer){if(!Array.isArray(t.initializer))throw TypeError(\".onnx.GraphProto.initializer: array expected\");for(e.initializer=[],n=0;n<t.initializer.length;++n){if(\"object\"!=typeof t.initializer[n])throw TypeError(\".onnx.GraphProto.initializer: object expected\");e.initializer[n]=l.onnx.TensorProto.fromObject(t.initializer[n])}}if(null!=t.docString&&(e.docString=String(t.docString)),t.input){if(!Array.isArray(t.input))throw TypeError(\".onnx.GraphProto.input: array expected\");for(e.input=[],n=0;n<t.input.length;++n){if(\"object\"!=typeof t.input[n])throw TypeError(\".onnx.GraphProto.input: object expected\");e.input[n]=l.onnx.ValueInfoProto.fromObject(t.input[n])}}if(t.output){if(!Array.isArray(t.output))throw TypeError(\".onnx.GraphProto.output: array expected\");for(e.output=[],n=0;n<t.output.length;++n){if(\"object\"!=typeof t.output[n])throw TypeError(\".onnx.GraphProto.output: object expected\");e.output[n]=l.onnx.ValueInfoProto.fromObject(t.output[n])}}if(t.valueInfo){if(!Array.isArray(t.valueInfo))throw TypeError(\".onnx.GraphProto.valueInfo: array expected\");for(e.valueInfo=[],n=0;n<t.valueInfo.length;++n){if(\"object\"!=typeof t.valueInfo[n])throw TypeError(\".onnx.GraphProto.valueInfo: object expected\");e.valueInfo[n]=l.onnx.ValueInfoProto.fromObject(t.valueInfo[n])}}if(t.quantizationAnnotation){if(!Array.isArray(t.quantizationAnnotation))throw TypeError(\".onnx.GraphProto.quantizationAnnotation: array expected\");for(e.quantizationAnnotation=[],n=0;n<t.quantizationAnnotation.length;++n){if(\"object\"!=typeof t.quantizationAnnotation[n])throw TypeError(\".onnx.GraphProto.quantizationAnnotation: object expected\");e.quantizationAnnotation[n]=l.onnx.TensorAnnotation.fromObject(t.quantizationAnnotation[n])}}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.node=[],n.initializer=[],n.input=[],n.output=[],n.valueInfo=[],n.quantizationAnnotation=[]),e.defaults&&(n.name=\"\",n.docString=\"\"),t.node&&t.node.length){n.node=[];for(var r=0;r<t.node.length;++r)n.node[r]=l.onnx.NodeProto.toObject(t.node[r],e)}if(null!=t.name&&t.hasOwnProperty(\"name\")&&(n.name=t.name),t.initializer&&t.initializer.length)for(n.initializer=[],r=0;r<t.initializer.length;++r)n.initializer[r]=l.onnx.TensorProto.toObject(t.initializer[r],e);if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),t.input&&t.input.length)for(n.input=[],r=0;r<t.input.length;++r)n.input[r]=l.onnx.ValueInfoProto.toObject(t.input[r],e);if(t.output&&t.output.length)for(n.output=[],r=0;r<t.output.length;++r)n.output[r]=l.onnx.ValueInfoProto.toObject(t.output[r],e);if(t.valueInfo&&t.valueInfo.length)for(n.valueInfo=[],r=0;r<t.valueInfo.length;++r)n.valueInfo[r]=l.onnx.ValueInfoProto.toObject(t.valueInfo[r],e);if(t.quantizationAnnotation&&t.quantizationAnnotation.length)for(n.quantizationAnnotation=[],r=0;r<t.quantizationAnnotation.length;++r)n.quantizationAnnotation[r]=l.onnx.TensorAnnotation.toObject(t.quantizationAnnotation[r],e);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o.TensorProto=function(){function t(t){if(this.dims=[],this.floatData=[],this.int32Data=[],this.stringData=[],this.int64Data=[],this.externalData=[],this.doubleData=[],this.uint64Data=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.dims=c.emptyArray,t.prototype.dataType=0,t.prototype.segment=null,t.prototype.floatData=c.emptyArray,t.prototype.int32Data=c.emptyArray,t.prototype.stringData=c.emptyArray,t.prototype.int64Data=c.emptyArray,t.prototype.name=\"\",t.prototype.docString=\"\",t.prototype.rawData=c.newBuffer([]),t.prototype.externalData=c.emptyArray,t.prototype.dataLocation=0,t.prototype.doubleData=c.emptyArray,t.prototype.uint64Data=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.dims&&t.dims.length){e.uint32(10).fork();for(var n=0;n<t.dims.length;++n)e.int64(t.dims[n]);e.ldelim()}if(null!=t.dataType&&t.hasOwnProperty(\"dataType\")&&e.uint32(16).int32(t.dataType),null!=t.segment&&t.hasOwnProperty(\"segment\")&&l.onnx.TensorProto.Segment.encode(t.segment,e.uint32(26).fork()).ldelim(),null!=t.floatData&&t.floatData.length){for(e.uint32(34).fork(),n=0;n<t.floatData.length;++n)e.float(t.floatData[n]);e.ldelim()}if(null!=t.int32Data&&t.int32Data.length){for(e.uint32(42).fork(),n=0;n<t.int32Data.length;++n)e.int32(t.int32Data[n]);e.ldelim()}if(null!=t.stringData&&t.stringData.length)for(n=0;n<t.stringData.length;++n)e.uint32(50).bytes(t.stringData[n]);if(null!=t.int64Data&&t.int64Data.length){for(e.uint32(58).fork(),n=0;n<t.int64Data.length;++n)e.int64(t.int64Data[n]);e.ldelim()}if(null!=t.name&&t.hasOwnProperty(\"name\")&&e.uint32(66).string(t.name),null!=t.rawData&&t.hasOwnProperty(\"rawData\")&&e.uint32(74).bytes(t.rawData),null!=t.doubleData&&t.doubleData.length){for(e.uint32(82).fork(),n=0;n<t.doubleData.length;++n)e.double(t.doubleData[n]);e.ldelim()}if(null!=t.uint64Data&&t.uint64Data.length){for(e.uint32(90).fork(),n=0;n<t.uint64Data.length;++n)e.uint64(t.uint64Data[n]);e.ldelim()}if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&e.uint32(98).string(t.docString),null!=t.externalData&&t.externalData.length)for(n=0;n<t.externalData.length;++n)l.onnx.StringStringEntryProto.encode(t.externalData[n],e.uint32(106).fork()).ldelim();return null!=t.dataLocation&&t.hasOwnProperty(\"dataLocation\")&&e.uint32(112).int32(t.dataLocation),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TensorProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:if(r.dims&&r.dims.length||(r.dims=[]),2==(7&i))for(var o=t.uint32()+t.pos;t.pos<o;)r.dims.push(t.int64());else r.dims.push(t.int64());break;case 2:r.dataType=t.int32();break;case 3:r.segment=l.onnx.TensorProto.Segment.decode(t,t.uint32());break;case 4:if(r.floatData&&r.floatData.length||(r.floatData=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.floatData.push(t.float());else r.floatData.push(t.float());break;case 5:if(r.int32Data&&r.int32Data.length||(r.int32Data=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.int32Data.push(t.int32());else r.int32Data.push(t.int32());break;case 6:r.stringData&&r.stringData.length||(r.stringData=[]),r.stringData.push(t.bytes());break;case 7:if(r.int64Data&&r.int64Data.length||(r.int64Data=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.int64Data.push(t.int64());else r.int64Data.push(t.int64());break;case 8:r.name=t.string();break;case 12:r.docString=t.string();break;case 9:r.rawData=t.bytes();break;case 13:r.externalData&&r.externalData.length||(r.externalData=[]),r.externalData.push(l.onnx.StringStringEntryProto.decode(t,t.uint32()));break;case 14:r.dataLocation=t.int32();break;case 10:if(r.doubleData&&r.doubleData.length||(r.doubleData=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.doubleData.push(t.double());else r.doubleData.push(t.double());break;case 11:if(r.uint64Data&&r.uint64Data.length||(r.uint64Data=[]),2==(7&i))for(o=t.uint32()+t.pos;t.pos<o;)r.uint64Data.push(t.uint64());else r.uint64Data.push(t.uint64());break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.dims&&t.hasOwnProperty(\"dims\")){if(!Array.isArray(t.dims))return\"dims: array expected\";for(var e=0;e<t.dims.length;++e)if(!(c.isInteger(t.dims[e])||t.dims[e]&&c.isInteger(t.dims[e].low)&&c.isInteger(t.dims[e].high)))return\"dims: integer|Long[] expected\"}if(null!=t.dataType&&t.hasOwnProperty(\"dataType\")&&!c.isInteger(t.dataType))return\"dataType: integer expected\";if(null!=t.segment&&t.hasOwnProperty(\"segment\")&&(n=l.onnx.TensorProto.Segment.verify(t.segment)))return\"segment.\"+n;if(null!=t.floatData&&t.hasOwnProperty(\"floatData\")){if(!Array.isArray(t.floatData))return\"floatData: array expected\";for(e=0;e<t.floatData.length;++e)if(\"number\"!=typeof t.floatData[e])return\"floatData: number[] expected\"}if(null!=t.int32Data&&t.hasOwnProperty(\"int32Data\")){if(!Array.isArray(t.int32Data))return\"int32Data: array expected\";for(e=0;e<t.int32Data.length;++e)if(!c.isInteger(t.int32Data[e]))return\"int32Data: integer[] expected\"}if(null!=t.stringData&&t.hasOwnProperty(\"stringData\")){if(!Array.isArray(t.stringData))return\"stringData: array expected\";for(e=0;e<t.stringData.length;++e)if(!(t.stringData[e]&&\"number\"==typeof t.stringData[e].length||c.isString(t.stringData[e])))return\"stringData: buffer[] expected\"}if(null!=t.int64Data&&t.hasOwnProperty(\"int64Data\")){if(!Array.isArray(t.int64Data))return\"int64Data: array expected\";for(e=0;e<t.int64Data.length;++e)if(!(c.isInteger(t.int64Data[e])||t.int64Data[e]&&c.isInteger(t.int64Data[e].low)&&c.isInteger(t.int64Data[e].high)))return\"int64Data: integer|Long[] expected\"}if(null!=t.name&&t.hasOwnProperty(\"name\")&&!c.isString(t.name))return\"name: string expected\";if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&!c.isString(t.docString))return\"docString: string expected\";if(null!=t.rawData&&t.hasOwnProperty(\"rawData\")&&!(t.rawData&&\"number\"==typeof t.rawData.length||c.isString(t.rawData)))return\"rawData: buffer expected\";if(null!=t.externalData&&t.hasOwnProperty(\"externalData\")){if(!Array.isArray(t.externalData))return\"externalData: array expected\";for(e=0;e<t.externalData.length;++e){var n;if(n=l.onnx.StringStringEntryProto.verify(t.externalData[e]))return\"externalData.\"+n}}if(null!=t.dataLocation&&t.hasOwnProperty(\"dataLocation\"))switch(t.dataLocation){default:return\"dataLocation: enum value expected\";case 0:case 1:}if(null!=t.doubleData&&t.hasOwnProperty(\"doubleData\")){if(!Array.isArray(t.doubleData))return\"doubleData: array expected\";for(e=0;e<t.doubleData.length;++e)if(\"number\"!=typeof t.doubleData[e])return\"doubleData: number[] expected\"}if(null!=t.uint64Data&&t.hasOwnProperty(\"uint64Data\")){if(!Array.isArray(t.uint64Data))return\"uint64Data: array expected\";for(e=0;e<t.uint64Data.length;++e)if(!(c.isInteger(t.uint64Data[e])||t.uint64Data[e]&&c.isInteger(t.uint64Data[e].low)&&c.isInteger(t.uint64Data[e].high)))return\"uint64Data: integer|Long[] expected\"}return null},t.fromObject=function(t){if(t instanceof l.onnx.TensorProto)return t;var e=new l.onnx.TensorProto;if(t.dims){if(!Array.isArray(t.dims))throw TypeError(\".onnx.TensorProto.dims: array expected\");e.dims=[];for(var n=0;n<t.dims.length;++n)c.Long?(e.dims[n]=c.Long.fromValue(t.dims[n])).unsigned=!1:\"string\"==typeof t.dims[n]?e.dims[n]=parseInt(t.dims[n],10):\"number\"==typeof t.dims[n]?e.dims[n]=t.dims[n]:\"object\"==typeof t.dims[n]&&(e.dims[n]=new c.LongBits(t.dims[n].low>>>0,t.dims[n].high>>>0).toNumber())}if(null!=t.dataType&&(e.dataType=0|t.dataType),null!=t.segment){if(\"object\"!=typeof t.segment)throw TypeError(\".onnx.TensorProto.segment: object expected\");e.segment=l.onnx.TensorProto.Segment.fromObject(t.segment)}if(t.floatData){if(!Array.isArray(t.floatData))throw TypeError(\".onnx.TensorProto.floatData: array expected\");for(e.floatData=[],n=0;n<t.floatData.length;++n)e.floatData[n]=Number(t.floatData[n])}if(t.int32Data){if(!Array.isArray(t.int32Data))throw TypeError(\".onnx.TensorProto.int32Data: array expected\");for(e.int32Data=[],n=0;n<t.int32Data.length;++n)e.int32Data[n]=0|t.int32Data[n]}if(t.stringData){if(!Array.isArray(t.stringData))throw TypeError(\".onnx.TensorProto.stringData: array expected\");for(e.stringData=[],n=0;n<t.stringData.length;++n)\"string\"==typeof t.stringData[n]?c.base64.decode(t.stringData[n],e.stringData[n]=c.newBuffer(c.base64.length(t.stringData[n])),0):t.stringData[n].length&&(e.stringData[n]=t.stringData[n])}if(t.int64Data){if(!Array.isArray(t.int64Data))throw TypeError(\".onnx.TensorProto.int64Data: array expected\");for(e.int64Data=[],n=0;n<t.int64Data.length;++n)c.Long?(e.int64Data[n]=c.Long.fromValue(t.int64Data[n])).unsigned=!1:\"string\"==typeof t.int64Data[n]?e.int64Data[n]=parseInt(t.int64Data[n],10):\"number\"==typeof t.int64Data[n]?e.int64Data[n]=t.int64Data[n]:\"object\"==typeof t.int64Data[n]&&(e.int64Data[n]=new c.LongBits(t.int64Data[n].low>>>0,t.int64Data[n].high>>>0).toNumber())}if(null!=t.name&&(e.name=String(t.name)),null!=t.docString&&(e.docString=String(t.docString)),null!=t.rawData&&(\"string\"==typeof t.rawData?c.base64.decode(t.rawData,e.rawData=c.newBuffer(c.base64.length(t.rawData)),0):t.rawData.length&&(e.rawData=t.rawData)),t.externalData){if(!Array.isArray(t.externalData))throw TypeError(\".onnx.TensorProto.externalData: array expected\");for(e.externalData=[],n=0;n<t.externalData.length;++n){if(\"object\"!=typeof t.externalData[n])throw TypeError(\".onnx.TensorProto.externalData: object expected\");e.externalData[n]=l.onnx.StringStringEntryProto.fromObject(t.externalData[n])}}switch(t.dataLocation){case\"DEFAULT\":case 0:e.dataLocation=0;break;case\"EXTERNAL\":case 1:e.dataLocation=1}if(t.doubleData){if(!Array.isArray(t.doubleData))throw TypeError(\".onnx.TensorProto.doubleData: array expected\");for(e.doubleData=[],n=0;n<t.doubleData.length;++n)e.doubleData[n]=Number(t.doubleData[n])}if(t.uint64Data){if(!Array.isArray(t.uint64Data))throw TypeError(\".onnx.TensorProto.uint64Data: array expected\");for(e.uint64Data=[],n=0;n<t.uint64Data.length;++n)c.Long?(e.uint64Data[n]=c.Long.fromValue(t.uint64Data[n])).unsigned=!0:\"string\"==typeof t.uint64Data[n]?e.uint64Data[n]=parseInt(t.uint64Data[n],10):\"number\"==typeof t.uint64Data[n]?e.uint64Data[n]=t.uint64Data[n]:\"object\"==typeof t.uint64Data[n]&&(e.uint64Data[n]=new c.LongBits(t.uint64Data[n].low>>>0,t.uint64Data[n].high>>>0).toNumber(!0))}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.dims=[],n.floatData=[],n.int32Data=[],n.stringData=[],n.int64Data=[],n.doubleData=[],n.uint64Data=[],n.externalData=[]),e.defaults&&(n.dataType=0,n.segment=null,n.name=\"\",e.bytes===String?n.rawData=\"\":(n.rawData=[],e.bytes!==Array&&(n.rawData=c.newBuffer(n.rawData))),n.docString=\"\",n.dataLocation=e.enums===String?\"DEFAULT\":0),t.dims&&t.dims.length){n.dims=[];for(var r=0;r<t.dims.length;++r)\"number\"==typeof t.dims[r]?n.dims[r]=e.longs===String?String(t.dims[r]):t.dims[r]:n.dims[r]=e.longs===String?c.Long.prototype.toString.call(t.dims[r]):e.longs===Number?new c.LongBits(t.dims[r].low>>>0,t.dims[r].high>>>0).toNumber():t.dims[r]}if(null!=t.dataType&&t.hasOwnProperty(\"dataType\")&&(n.dataType=t.dataType),null!=t.segment&&t.hasOwnProperty(\"segment\")&&(n.segment=l.onnx.TensorProto.Segment.toObject(t.segment,e)),t.floatData&&t.floatData.length)for(n.floatData=[],r=0;r<t.floatData.length;++r)n.floatData[r]=e.json&&!isFinite(t.floatData[r])?String(t.floatData[r]):t.floatData[r];if(t.int32Data&&t.int32Data.length)for(n.int32Data=[],r=0;r<t.int32Data.length;++r)n.int32Data[r]=t.int32Data[r];if(t.stringData&&t.stringData.length)for(n.stringData=[],r=0;r<t.stringData.length;++r)n.stringData[r]=e.bytes===String?c.base64.encode(t.stringData[r],0,t.stringData[r].length):e.bytes===Array?Array.prototype.slice.call(t.stringData[r]):t.stringData[r];if(t.int64Data&&t.int64Data.length)for(n.int64Data=[],r=0;r<t.int64Data.length;++r)\"number\"==typeof t.int64Data[r]?n.int64Data[r]=e.longs===String?String(t.int64Data[r]):t.int64Data[r]:n.int64Data[r]=e.longs===String?c.Long.prototype.toString.call(t.int64Data[r]):e.longs===Number?new c.LongBits(t.int64Data[r].low>>>0,t.int64Data[r].high>>>0).toNumber():t.int64Data[r];if(null!=t.name&&t.hasOwnProperty(\"name\")&&(n.name=t.name),null!=t.rawData&&t.hasOwnProperty(\"rawData\")&&(n.rawData=e.bytes===String?c.base64.encode(t.rawData,0,t.rawData.length):e.bytes===Array?Array.prototype.slice.call(t.rawData):t.rawData),t.doubleData&&t.doubleData.length)for(n.doubleData=[],r=0;r<t.doubleData.length;++r)n.doubleData[r]=e.json&&!isFinite(t.doubleData[r])?String(t.doubleData[r]):t.doubleData[r];if(t.uint64Data&&t.uint64Data.length)for(n.uint64Data=[],r=0;r<t.uint64Data.length;++r)\"number\"==typeof t.uint64Data[r]?n.uint64Data[r]=e.longs===String?String(t.uint64Data[r]):t.uint64Data[r]:n.uint64Data[r]=e.longs===String?c.Long.prototype.toString.call(t.uint64Data[r]):e.longs===Number?new c.LongBits(t.uint64Data[r].low>>>0,t.uint64Data[r].high>>>0).toNumber(!0):t.uint64Data[r];if(null!=t.docString&&t.hasOwnProperty(\"docString\")&&(n.docString=t.docString),t.externalData&&t.externalData.length)for(n.externalData=[],r=0;r<t.externalData.length;++r)n.externalData[r]=l.onnx.StringStringEntryProto.toObject(t.externalData[r],e);return null!=t.dataLocation&&t.hasOwnProperty(\"dataLocation\")&&(n.dataLocation=e.enums===String?l.onnx.TensorProto.DataLocation[t.dataLocation]:t.dataLocation),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t.DataType=function(){var t={},e=Object.create(t);return e[t[0]=\"UNDEFINED\"]=0,e[t[1]=\"FLOAT\"]=1,e[t[2]=\"UINT8\"]=2,e[t[3]=\"INT8\"]=3,e[t[4]=\"UINT16\"]=4,e[t[5]=\"INT16\"]=5,e[t[6]=\"INT32\"]=6,e[t[7]=\"INT64\"]=7,e[t[8]=\"STRING\"]=8,e[t[9]=\"BOOL\"]=9,e[t[10]=\"FLOAT16\"]=10,e[t[11]=\"DOUBLE\"]=11,e[t[12]=\"UINT32\"]=12,e[t[13]=\"UINT64\"]=13,e[t[14]=\"COMPLEX64\"]=14,e[t[15]=\"COMPLEX128\"]=15,e[t[16]=\"BFLOAT16\"]=16,e}(),t.Segment=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.begin=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.end=c.Long?c.Long.fromBits(0,0,!1):0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.begin&&t.hasOwnProperty(\"begin\")&&e.uint32(8).int64(t.begin),null!=t.end&&t.hasOwnProperty(\"end\")&&e.uint32(16).int64(t.end),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TensorProto.Segment;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.begin=t.int64();break;case 2:r.end=t.int64();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){return\"object\"!=typeof t||null===t?\"object expected\":null!=t.begin&&t.hasOwnProperty(\"begin\")&&!(c.isInteger(t.begin)||t.begin&&c.isInteger(t.begin.low)&&c.isInteger(t.begin.high))?\"begin: integer|Long expected\":null!=t.end&&t.hasOwnProperty(\"end\")&&!(c.isInteger(t.end)||t.end&&c.isInteger(t.end.low)&&c.isInteger(t.end.high))?\"end: integer|Long expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.TensorProto.Segment)return t;var e=new l.onnx.TensorProto.Segment;return null!=t.begin&&(c.Long?(e.begin=c.Long.fromValue(t.begin)).unsigned=!1:\"string\"==typeof t.begin?e.begin=parseInt(t.begin,10):\"number\"==typeof t.begin?e.begin=t.begin:\"object\"==typeof t.begin&&(e.begin=new c.LongBits(t.begin.low>>>0,t.begin.high>>>0).toNumber())),null!=t.end&&(c.Long?(e.end=c.Long.fromValue(t.end)).unsigned=!1:\"string\"==typeof t.end?e.end=parseInt(t.end,10):\"number\"==typeof t.end?e.end=t.end:\"object\"==typeof t.end&&(e.end=new c.LongBits(t.end.low>>>0,t.end.high>>>0).toNumber())),e},t.toObject=function(t,e){e||(e={});var n={};if(e.defaults){if(c.Long){var r=new c.Long(0,0,!1);n.begin=e.longs===String?r.toString():e.longs===Number?r.toNumber():r}else n.begin=e.longs===String?\"0\":0;c.Long?(r=new c.Long(0,0,!1),n.end=e.longs===String?r.toString():e.longs===Number?r.toNumber():r):n.end=e.longs===String?\"0\":0}return null!=t.begin&&t.hasOwnProperty(\"begin\")&&(\"number\"==typeof t.begin?n.begin=e.longs===String?String(t.begin):t.begin:n.begin=e.longs===String?c.Long.prototype.toString.call(t.begin):e.longs===Number?new c.LongBits(t.begin.low>>>0,t.begin.high>>>0).toNumber():t.begin),null!=t.end&&t.hasOwnProperty(\"end\")&&(\"number\"==typeof t.end?n.end=e.longs===String?String(t.end):t.end:n.end=e.longs===String?c.Long.prototype.toString.call(t.end):e.longs===Number?new c.LongBits(t.end.low>>>0,t.end.high>>>0).toNumber():t.end),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),t.DataLocation=function(){var t={},e=Object.create(t);return e[t[0]=\"DEFAULT\"]=0,e[t[1]=\"EXTERNAL\"]=1,e}(),t}(),o.TensorShapeProto=function(){function t(t){if(this.dim=[],t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.dim=c.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=u.create()),null!=t.dim&&t.dim.length)for(var n=0;n<t.dim.length;++n)l.onnx.TensorShapeProto.Dimension.encode(t.dim[n],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TensorShapeProto;t.pos<n;){var i=t.uint32();i>>>3==1?(r.dim&&r.dim.length||(r.dim=[]),r.dim.push(l.onnx.TensorShapeProto.Dimension.decode(t,t.uint32()))):t.skipType(7&i)}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.dim&&t.hasOwnProperty(\"dim\")){if(!Array.isArray(t.dim))return\"dim: array expected\";for(var e=0;e<t.dim.length;++e){var n=l.onnx.TensorShapeProto.Dimension.verify(t.dim[e]);if(n)return\"dim.\"+n}}return null},t.fromObject=function(t){if(t instanceof l.onnx.TensorShapeProto)return t;var e=new l.onnx.TensorShapeProto;if(t.dim){if(!Array.isArray(t.dim))throw TypeError(\".onnx.TensorShapeProto.dim: array expected\");e.dim=[];for(var n=0;n<t.dim.length;++n){if(\"object\"!=typeof t.dim[n])throw TypeError(\".onnx.TensorShapeProto.dim: object expected\");e.dim[n]=l.onnx.TensorShapeProto.Dimension.fromObject(t.dim[n])}}return e},t.toObject=function(t,e){e||(e={});var n={};if((e.arrays||e.defaults)&&(n.dim=[]),t.dim&&t.dim.length){n.dim=[];for(var r=0;r<t.dim.length;++r)n.dim[r]=l.onnx.TensorShapeProto.Dimension.toObject(t.dim[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t.Dimension=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}var e;return t.prototype.dimValue=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.dimParam=\"\",t.prototype.denotation=\"\",Object.defineProperty(t.prototype,\"value\",{get:c.oneOfGetter(e=[\"dimValue\",\"dimParam\"]),set:c.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.dimValue&&t.hasOwnProperty(\"dimValue\")&&e.uint32(8).int64(t.dimValue),null!=t.dimParam&&t.hasOwnProperty(\"dimParam\")&&e.uint32(18).string(t.dimParam),null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&e.uint32(26).string(t.denotation),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TensorShapeProto.Dimension;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.dimValue=t.int64();break;case 2:r.dimParam=t.string();break;case 3:r.denotation=t.string();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";var e={};if(null!=t.dimValue&&t.hasOwnProperty(\"dimValue\")&&(e.value=1,!(c.isInteger(t.dimValue)||t.dimValue&&c.isInteger(t.dimValue.low)&&c.isInteger(t.dimValue.high))))return\"dimValue: integer|Long expected\";if(null!=t.dimParam&&t.hasOwnProperty(\"dimParam\")){if(1===e.value)return\"value: multiple values\";if(e.value=1,!c.isString(t.dimParam))return\"dimParam: string expected\"}return null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&!c.isString(t.denotation)?\"denotation: string expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.TensorShapeProto.Dimension)return t;var e=new l.onnx.TensorShapeProto.Dimension;return null!=t.dimValue&&(c.Long?(e.dimValue=c.Long.fromValue(t.dimValue)).unsigned=!1:\"string\"==typeof t.dimValue?e.dimValue=parseInt(t.dimValue,10):\"number\"==typeof t.dimValue?e.dimValue=t.dimValue:\"object\"==typeof t.dimValue&&(e.dimValue=new c.LongBits(t.dimValue.low>>>0,t.dimValue.high>>>0).toNumber())),null!=t.dimParam&&(e.dimParam=String(t.dimParam)),null!=t.denotation&&(e.denotation=String(t.denotation)),e},t.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.denotation=\"\"),null!=t.dimValue&&t.hasOwnProperty(\"dimValue\")&&(\"number\"==typeof t.dimValue?n.dimValue=e.longs===String?String(t.dimValue):t.dimValue:n.dimValue=e.longs===String?c.Long.prototype.toString.call(t.dimValue):e.longs===Number?new c.LongBits(t.dimValue.low>>>0,t.dimValue.high>>>0).toNumber():t.dimValue,e.oneofs&&(n.value=\"dimValue\")),null!=t.dimParam&&t.hasOwnProperty(\"dimParam\")&&(n.dimParam=t.dimParam,e.oneofs&&(n.value=\"dimParam\")),null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&(n.denotation=t.denotation),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),t}(),o.TypeProto=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}var e;return t.prototype.tensorType=null,t.prototype.denotation=\"\",Object.defineProperty(t.prototype,\"value\",{get:c.oneOfGetter(e=[\"tensorType\"]),set:c.oneOfSetter(e)}),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.tensorType&&t.hasOwnProperty(\"tensorType\")&&l.onnx.TypeProto.Tensor.encode(t.tensorType,e.uint32(10).fork()).ldelim(),null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&e.uint32(50).string(t.denotation),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TypeProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.tensorType=l.onnx.TypeProto.Tensor.decode(t,t.uint32());break;case 6:r.denotation=t.string();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.tensorType&&t.hasOwnProperty(\"tensorType\")){var e=l.onnx.TypeProto.Tensor.verify(t.tensorType);if(e)return\"tensorType.\"+e}return null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&!c.isString(t.denotation)?\"denotation: string expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.TypeProto)return t;var e=new l.onnx.TypeProto;if(null!=t.tensorType){if(\"object\"!=typeof t.tensorType)throw TypeError(\".onnx.TypeProto.tensorType: object expected\");e.tensorType=l.onnx.TypeProto.Tensor.fromObject(t.tensorType)}return null!=t.denotation&&(e.denotation=String(t.denotation)),e},t.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.denotation=\"\"),null!=t.tensorType&&t.hasOwnProperty(\"tensorType\")&&(n.tensorType=l.onnx.TypeProto.Tensor.toObject(t.tensorType,e),e.oneofs&&(n.value=\"tensorType\")),null!=t.denotation&&t.hasOwnProperty(\"denotation\")&&(n.denotation=t.denotation),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t.Tensor=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.elemType=0,t.prototype.shape=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.elemType&&t.hasOwnProperty(\"elemType\")&&e.uint32(8).int32(t.elemType),null!=t.shape&&t.hasOwnProperty(\"shape\")&&l.onnx.TensorShapeProto.encode(t.shape,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.TypeProto.Tensor;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.elemType=t.int32();break;case 2:r.shape=l.onnx.TensorShapeProto.decode(t,t.uint32());break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){if(\"object\"!=typeof t||null===t)return\"object expected\";if(null!=t.elemType&&t.hasOwnProperty(\"elemType\")&&!c.isInteger(t.elemType))return\"elemType: integer expected\";if(null!=t.shape&&t.hasOwnProperty(\"shape\")){var e=l.onnx.TensorShapeProto.verify(t.shape);if(e)return\"shape.\"+e}return null},t.fromObject=function(t){if(t instanceof l.onnx.TypeProto.Tensor)return t;var e=new l.onnx.TypeProto.Tensor;if(null!=t.elemType&&(e.elemType=0|t.elemType),null!=t.shape){if(\"object\"!=typeof t.shape)throw TypeError(\".onnx.TypeProto.Tensor.shape: object expected\");e.shape=l.onnx.TensorShapeProto.fromObject(t.shape)}return e},t.toObject=function(t,e){e||(e={});var n={};return e.defaults&&(n.elemType=0,n.shape=null),null!=t.elemType&&t.hasOwnProperty(\"elemType\")&&(n.elemType=t.elemType),null!=t.shape&&t.hasOwnProperty(\"shape\")&&(n.shape=l.onnx.TensorShapeProto.toObject(t.shape,e)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),t}(),o.OperatorSetIdProto=function(){function t(t){if(t)for(var e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.domain=\"\",t.prototype.version=c.Long?c.Long.fromBits(0,0,!1):0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=u.create()),null!=t.domain&&t.hasOwnProperty(\"domain\")&&e.uint32(10).string(t.domain),null!=t.version&&t.hasOwnProperty(\"version\")&&e.uint32(16).int64(t.version),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof s||(t=s.create(t));for(var n=void 0===e?t.len:t.pos+e,r=new l.onnx.OperatorSetIdProto;t.pos<n;){var i=t.uint32();switch(i>>>3){case 1:r.domain=t.string();break;case 2:r.version=t.int64();break;default:t.skipType(7&i)}}return r},t.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},t.verify=function(t){return\"object\"!=typeof t||null===t?\"object expected\":null!=t.domain&&t.hasOwnProperty(\"domain\")&&!c.isString(t.domain)?\"domain: string expected\":null!=t.version&&t.hasOwnProperty(\"version\")&&!(c.isInteger(t.version)||t.version&&c.isInteger(t.version.low)&&c.isInteger(t.version.high))?\"version: integer|Long expected\":null},t.fromObject=function(t){if(t instanceof l.onnx.OperatorSetIdProto)return t;var e=new l.onnx.OperatorSetIdProto;return null!=t.domain&&(e.domain=String(t.domain)),null!=t.version&&(c.Long?(e.version=c.Long.fromValue(t.version)).unsigned=!1:\"string\"==typeof t.version?e.version=parseInt(t.version,10):\"number\"==typeof t.version?e.version=t.version:\"object\"==typeof t.version&&(e.version=new c.LongBits(t.version.low>>>0,t.version.high>>>0).toNumber())),e},t.toObject=function(t,e){e||(e={});var n={};if(e.defaults)if(n.domain=\"\",c.Long){var r=new c.Long(0,0,!1);n.version=e.longs===String?r.toString():e.longs===Number?r.toNumber():r}else n.version=e.longs===String?\"0\":0;return null!=t.domain&&t.hasOwnProperty(\"domain\")&&(n.domain=t.domain),null!=t.version&&t.hasOwnProperty(\"version\")&&(\"number\"==typeof t.version?n.version=e.longs===String?String(t.version):t.version:n.version=e.longs===String?c.Long.prototype.toString.call(t.version):e.longs===Number?new c.LongBits(t.version.low>>>0,t.version.high>>>0).toNumber():t.version),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,a.util.toJSONOptions)},t}(),o),t.exports=l},2100:(t,e,n)=>{\"use strict\";t.exports=n(9482)},9482:(t,e,n)=>{\"use strict\";var r=e;function i(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build=\"minimal\",r.Writer=n(1173),r.BufferWriter=n(3155),r.Reader=n(1408),r.BufferReader=n(593),r.util=n(9693),r.rpc=n(5994),r.roots=n(5054),r.configure=i,i()},1408:(t,e,n)=>{\"use strict\";t.exports=u;var r,i=n(9693),o=i.LongBits,a=i.utf8;function s(t,e){return RangeError(\"index out of range: \"+t.pos+\" + \"+(e||1)+\" > \"+t.len)}function u(t){this.buf=t,this.pos=0,this.len=t.length}var c,l=\"undefined\"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new u(t);throw Error(\"illegal buffer\")}:function(t){if(Array.isArray(t))return new u(t);throw Error(\"illegal buffer\")},p=function(){return i.Buffer?function(t){return(u.create=function(t){return i.Buffer.isBuffer(t)?new r(t):l(t)})(t)}:l};function f(){var t=new o(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw s(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw s(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error(\"invalid varint encoding\")}function d(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw s(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}u.create=p(),u.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,u.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return c;if((this.pos+=5)>this.len)throw this.pos=this.len,s(this,10);return c}),u.prototype.int32=function(){return 0|this.uint32()},u.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)|0},u.prototype.bool=function(){return 0!==this.uint32()},u.prototype.fixed32=function(){if(this.pos+4>this.len)throw s(this,4);return d(this.buf,this.pos+=4)},u.prototype.sfixed32=function(){if(this.pos+4>this.len)throw s(this,4);return 0|d(this.buf,this.pos+=4)},u.prototype.float=function(){if(this.pos+4>this.len)throw s(this,4);var t=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},u.prototype.double=function(){if(this.pos+8>this.len)throw s(this,4);var t=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},u.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw s(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)},u.prototype.string=function(){var t=this.bytes();return a.read(t,0,t.length)},u.prototype.skip=function(t){if(\"number\"==typeof t){if(this.pos+t>this.len)throw s(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw s(this)}while(128&this.buf[this.pos++]);return this},u.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(\"invalid wire type \"+t+\" at offset \"+this.pos)}return this},u._configure=function(t){r=t,u.create=p(),r._configure();var e=i.Long?\"toLong\":\"toNumber\";i.merge(u.prototype,{int64:function(){return f.call(this)[e](!1)},uint64:function(){return f.call(this)[e](!0)},sint64:function(){return f.call(this).zzDecode()[e](!1)},fixed64:function(){return h.call(this)[e](!0)},sfixed64:function(){return h.call(this)[e](!1)}})}},593:(t,e,n)=>{\"use strict\";t.exports=o;var r=n(1408);(o.prototype=Object.create(r.prototype)).constructor=o;var i=n(9693);function o(t){r.call(this,t)}o._configure=function(){i.Buffer&&(o.prototype._slice=i.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString(\"utf-8\",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()},5054:t=>{\"use strict\";t.exports={}},5994:(t,e,n)=>{\"use strict\";e.Service=n(7948)},7948:(t,e,n)=>{\"use strict\";t.exports=i;var r=n(9693);function i(t,e,n){if(\"function\"!=typeof t)throw TypeError(\"rpcImpl must be a function\");r.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(i.prototype=Object.create(r.EventEmitter.prototype)).constructor=i,i.prototype.rpcCall=function t(e,n,i,o,a){if(!o)throw TypeError(\"request must be specified\");var s=this;if(!a)return r.asPromise(t,s,e,n,i,o);if(s.rpcImpl)try{return s.rpcImpl(e,n[s.requestDelimited?\"encodeDelimited\":\"encode\"](o).finish(),(function(t,n){if(t)return s.emit(\"error\",t,e),a(t);if(null!==n){if(!(n instanceof i))try{n=i[s.responseDelimited?\"decodeDelimited\":\"decode\"](n)}catch(t){return s.emit(\"error\",t,e),a(t)}return s.emit(\"data\",n,e),a(null,n)}s.end(!0)}))}catch(t){return s.emit(\"error\",t,e),void setTimeout((function(){a(t)}),0)}else setTimeout((function(){a(Error(\"already ended\"))}),0)},i.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit(\"end\").off()),this}},1945:(t,e,n)=>{\"use strict\";t.exports=i;var r=n(9693);function i(t,e){this.lo=t>>>0,this.hi=e>>>0}var o=i.zero=new i(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var a=i.zeroHash=\"\\0\\0\\0\\0\\0\\0\\0\\0\";i.fromNumber=function(t){if(0===t)return o;var e=t<0;e&&(t=-t);var n=t>>>0,r=(t-n)/4294967296>>>0;return e&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new i(n,r)},i.from=function(t){if(\"number\"==typeof t)return i.fromNumber(t);if(r.isString(t)){if(!r.Long)return i.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new i(t.low>>>0,t.high>>>0):o},i.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},i.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var s=String.prototype.charCodeAt;i.fromHash=function(t){return t===a?o:new i((s.call(t,0)|s.call(t,1)<<8|s.call(t,2)<<16|s.call(t,3)<<24)>>>0,(s.call(t,4)|s.call(t,5)<<8|s.call(t,6)<<16|s.call(t,7)<<24)>>>0)},i.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},i.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},i.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},i.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},9693:function(t,e,n){\"use strict\";var r=e;function i(t,e,n){for(var r=Object.keys(e),i=0;i<r.length;++i)void 0!==t[r[i]]&&n||(t[r[i]]=e[r[i]]);return t}function o(t){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,\"message\",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,\"stack\",{value:(new Error).stack||\"\"}),n&&i(this,n)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,\"name\",{get:function(){return t}}),e.prototype.toString=function(){return this.name+\": \"+this.message},e}r.asPromise=n(4537),r.base64=n(7419),r.EventEmitter=n(9211),r.float=n(945),r.inquire=n(7199),r.utf8=n(4997),r.pool=n(6662),r.LongBits=n(1945),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||\"undefined\"!=typeof window&&window||\"undefined\"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return\"number\"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return\"string\"==typeof t||t instanceof String},r.isObject=function(t){return t&&\"object\"==typeof t},r.isset=r.isSet=function(t,e){var n=t[e];return!(null==n||!t.hasOwnProperty(e))&&(\"object\"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var t=r.inquire(\"buffer\").Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return\"number\"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):\"undefined\"==typeof Uint8Array?t:new Uint8Array(t)},r.Array=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire(\"long\"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=i,r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=o,r.ProtocolError=o(\"ProtocolError\"),r.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},r.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,n){return new t(e,n)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},1173:(t,e,n)=>{\"use strict\";t.exports=p;var r,i=n(9693),o=i.LongBits,a=i.base64,s=i.utf8;function u(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function c(){}function l(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function p(){this.len=0,this.head=new u(c,0,0),this.tail=this.head,this.states=null}var f=function(){return i.Buffer?function(){return(p.create=function(){return new r})()}:function(){return new p}};function d(t,e,n){e[n]=255&t}function h(t,e){this.len=t,this.next=void 0,this.val=e}function g(t,e,n){for(;t.hi;)e[n++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[n++]=127&t.lo|128,t.lo=t.lo>>>7;e[n++]=t.lo}function b(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}p.create=f(),p.alloc=function(t){return new i.Array(t)},i.Array!==Array&&(p.alloc=i.pool(p.alloc,i.Array.prototype.subarray)),p.prototype._push=function(t,e,n){return this.tail=this.tail.next=new u(t,e,n),this.len+=e,this},h.prototype=Object.create(u.prototype),h.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},p.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new h((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},p.prototype.int32=function(t){return t<0?this._push(g,10,o.fromNumber(t)):this.uint32(t)},p.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},p.prototype.uint64=function(t){var e=o.from(t);return this._push(g,e.length(),e)},p.prototype.int64=p.prototype.uint64,p.prototype.sint64=function(t){var e=o.from(t).zzEncode();return this._push(g,e.length(),e)},p.prototype.bool=function(t){return this._push(d,1,t?1:0)},p.prototype.fixed32=function(t){return this._push(b,4,t>>>0)},p.prototype.sfixed32=p.prototype.fixed32,p.prototype.fixed64=function(t){var e=o.from(t);return this._push(b,4,e.lo)._push(b,4,e.hi)},p.prototype.sfixed64=p.prototype.fixed64,p.prototype.float=function(t){return this._push(i.float.writeFloatLE,4,t)},p.prototype.double=function(t){return this._push(i.float.writeDoubleLE,8,t)};var m=i.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var r=0;r<t.length;++r)e[n+r]=t[r]};p.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(d,1,0);if(i.isString(t)){var n=p.alloc(e=a.length(t));a.decode(t,n,0),t=n}return this.uint32(e)._push(m,e,t)},p.prototype.string=function(t){var e=s.length(t);return e?this.uint32(e)._push(s.write,e,t):this._push(d,1,0)},p.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new u(c,0,0),this.len=0,this},p.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new u(c,0,0),this.len=0),this},p.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},p.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},p._configure=function(t){r=t,p.create=f(),r._configure()}},3155:(t,e,n)=>{\"use strict\";t.exports=o;var r=n(1173);(o.prototype=Object.create(r.prototype)).constructor=o;var i=n(9693);function o(){r.call(this)}function a(t,e,n){t.length<40?i.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}o._configure=function(){o.alloc=i._Buffer_allocUnsafe,o.writeBytesBuffer=i.Buffer&&i.Buffer.prototype instanceof Uint8Array&&\"set\"===i.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var r=0;r<t.length;)e[n++]=t[r++]}},o.prototype.bytes=function(t){i.isString(t)&&(t=i._Buffer_from(t,\"base64\"));var e=t.length>>>0;return this.uint32(e),e&&this._push(o.writeBytesBuffer,e,t),this},o.prototype.string=function(t){var e=i.Buffer.byteLength(t);return this.uint32(e),e&&this._push(a,e,t),this},o._configure()},7714:(t,e,n)=>{\"use strict\";e.R=void 0;const r=n(6919),i=n(7448);e.R=new class{async init(){}async createSessionHandler(t,e){const n=new r.Session(e);return await n.loadModel(t),new i.OnnxjsSessionHandler(n)}}},4200:(t,e,n)=>{\"use strict\";e.c8=e.rX=void 0;const r=n(1670),i=n(5381),o=n(2157),a=n(2306);e.rX=()=>{if((\"number\"!=typeof r.env.wasm.initTimeout||r.env.wasm.initTimeout<0)&&(r.env.wasm.initTimeout=0),\"boolean\"!=typeof r.env.wasm.simd&&(r.env.wasm.simd=!0),\"boolean\"!=typeof r.env.wasm.proxy&&(r.env.wasm.proxy=!1),\"number\"!=typeof r.env.wasm.numThreads||!Number.isInteger(r.env.wasm.numThreads)||r.env.wasm.numThreads<=0){const t=\"undefined\"==typeof navigator?(0,i.cpus)().length:navigator.hardwareConcurrency;r.env.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},e.c8=new class{async init(){(0,e.rX)(),await(0,o.initWasm)()}async createSessionHandler(t,e){const n=new a.OnnxruntimeWebAssemblySessionHandler;return await n.loadModel(t,e),Promise.resolve(n)}}},6018:function(t,e,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!(\"get\"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)\"default\"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,\"__esModule\",{value:!0}),i(n(1670),e);const o=n(1670);{const t=n(7714).R;(0,o.registerBackend)(\"webgl\",t,-10)}{const t=n(4200).c8;(0,o.registerBackend)(\"cpu\",t,10),(0,o.registerBackend)(\"wasm\",t,10),(0,o.registerBackend)(\"xnnpack\",t,9)}},246:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createAttributeWithCacheKey=void 0;class n{constructor(t){Object.assign(this,t)}get cacheKey(){return this._cacheKey||(this._cacheKey=Object.getOwnPropertyNames(this).sort().map((t=>`${this[t]}`)).join(\";\")),this._cacheKey}}e.createAttributeWithCacheKey=t=>new n(t)},7778:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Attribute=void 0;const r=n(1446),i=n(9395),o=n(9162),a=n(2517);var s=i.onnxruntime.experimental.fbs;class u{constructor(t){if(this._attributes=new Map,null!=t){for(const e of t)e instanceof r.onnx.AttributeProto?this._attributes.set(e.name,[u.getValue(e),u.getType(e)]):e instanceof s.Attribute&&this._attributes.set(e.name(),[u.getValue(e),u.getType(e)]);if(this._attributes.size<t.length)throw new Error(\"duplicated attribute names\")}}set(t,e,n){this._attributes.set(t,[n,e])}delete(t){this._attributes.delete(t)}getFloat(t,e){return this.get(t,\"float\",e)}getInt(t,e){return this.get(t,\"int\",e)}getString(t,e){return this.get(t,\"string\",e)}getTensor(t,e){return this.get(t,\"tensor\",e)}getFloats(t,e){return this.get(t,\"floats\",e)}getInts(t,e){return this.get(t,\"ints\",e)}getStrings(t,e){return this.get(t,\"strings\",e)}getTensors(t,e){return this.get(t,\"tensors\",e)}get(t,e,n){const r=this._attributes.get(t);if(void 0===r){if(void 0!==n)return n;throw new Error(`required attribute not found: ${t}`)}if(r[1]!==e)throw new Error(`type mismatch: expected ${e} but got ${r[1]}`);return r[0]}static getType(t){const e=t instanceof r.onnx.AttributeProto?t.type:t.type();switch(e){case r.onnx.AttributeProto.AttributeType.FLOAT:return\"float\";case r.onnx.AttributeProto.AttributeType.INT:return\"int\";case r.onnx.AttributeProto.AttributeType.STRING:return\"string\";case r.onnx.AttributeProto.AttributeType.TENSOR:return\"tensor\";case r.onnx.AttributeProto.AttributeType.FLOATS:return\"floats\";case r.onnx.AttributeProto.AttributeType.INTS:return\"ints\";case r.onnx.AttributeProto.AttributeType.STRINGS:return\"strings\";case r.onnx.AttributeProto.AttributeType.TENSORS:return\"tensors\";default:throw new Error(`attribute type is not supported yet: ${r.onnx.AttributeProto.AttributeType[e]}`)}}static getValue(t){const e=t instanceof r.onnx.AttributeProto?t.type:t.type();if(e===r.onnx.AttributeProto.AttributeType.GRAPH||e===r.onnx.AttributeProto.AttributeType.GRAPHS)throw new Error(\"graph attribute is not supported yet\");const n=this.getValueNoCheck(t);if(e===r.onnx.AttributeProto.AttributeType.INT&&a.LongUtil.isLong(n))return a.LongUtil.longToNumber(n);if(e===r.onnx.AttributeProto.AttributeType.INTS){const t=n,e=new Array(t.length);for(let n=0;n<t.length;n++){const r=t[n];e[n]=a.LongUtil.longToNumber(r)}return e}if(e===r.onnx.AttributeProto.AttributeType.TENSOR)return t instanceof r.onnx.AttributeProto?o.Tensor.fromProto(n):o.Tensor.fromOrtTensor(n);if(e===r.onnx.AttributeProto.AttributeType.TENSORS){if(t instanceof r.onnx.AttributeProto)return n.map((t=>o.Tensor.fromProto(t)));if(t instanceof s.Attribute)return n.map((t=>o.Tensor.fromOrtTensor(t)))}if(e===r.onnx.AttributeProto.AttributeType.STRING&&t instanceof r.onnx.AttributeProto){const t=n;return(0,a.decodeUtf8String)(t)}return e===r.onnx.AttributeProto.AttributeType.STRINGS&&t instanceof r.onnx.AttributeProto?n.map(a.decodeUtf8String):n}static getValueNoCheck(t){return t instanceof r.onnx.AttributeProto?this.getValueNoCheckFromOnnxFormat(t):this.getValueNoCheckFromOrtFormat(t)}static getValueNoCheckFromOnnxFormat(t){switch(t.type){case r.onnx.AttributeProto.AttributeType.FLOAT:return t.f;case r.onnx.AttributeProto.AttributeType.INT:return t.i;case r.onnx.AttributeProto.AttributeType.STRING:return t.s;case r.onnx.AttributeProto.AttributeType.TENSOR:return t.t;case r.onnx.AttributeProto.AttributeType.GRAPH:return t.g;case r.onnx.AttributeProto.AttributeType.FLOATS:return t.floats;case r.onnx.AttributeProto.AttributeType.INTS:return t.ints;case r.onnx.AttributeProto.AttributeType.STRINGS:return t.strings;case r.onnx.AttributeProto.AttributeType.TENSORS:return t.tensors;case r.onnx.AttributeProto.AttributeType.GRAPHS:return t.graphs;default:throw new Error(`unsupported attribute type: ${r.onnx.AttributeProto.AttributeType[t.type]}`)}}static getValueNoCheckFromOrtFormat(t){switch(t.type()){case s.AttributeType.FLOAT:return t.f();case s.AttributeType.INT:return t.i();case s.AttributeType.STRING:return t.s();case s.AttributeType.TENSOR:return t.t();case s.AttributeType.GRAPH:return t.g();case s.AttributeType.FLOATS:return t.floatsArray();case s.AttributeType.INTS:{const e=[];for(let n=0;n<t.intsLength();n++)e.push(t.ints(n));return e}case s.AttributeType.STRINGS:{const e=[];for(let n=0;n<t.stringsLength();n++)e.push(t.strings(n));return e}case s.AttributeType.TENSORS:{const e=[];for(let n=0;n<t.tensorsLength();n++)e.push(t.tensors(n));return e}default:throw new Error(`unsupported attribute type: ${s.AttributeType[t.type()]}`)}}}e.Attribute=u},7091:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.resolveBackend=e.backend=void 0;const r=n(5038),i=new Map;async function o(t){const n=e.backend;if(void 0!==n[t]&&function(t){const e=t;return\"initialize\"in e&&\"function\"==typeof e.initialize&&\"createSessionHandler\"in e&&\"function\"==typeof e.createSessionHandler&&\"dispose\"in e&&\"function\"==typeof e.dispose}(n[t])){const e=n[t];let r=e.initialize();if(\"object\"==typeof r&&\"then\"in r&&(r=await r),r)return i.set(t,e),e}}e.backend={webgl:new r.WebGLBackend},e.resolveBackend=async function t(e){if(!e)return t([\"webgl\"]);{const t=\"string\"==typeof e?[e]:e;for(const e of t){const t=i.get(e);if(t)return t;const n=await o(e);if(n)return n}}throw new Error(\"no available backend to use\")}},5038:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebGLBackend=void 0;const r=n(1670),i=n(6231),o=n(6416),a=n(7305);e.WebGLBackend=class{get contextId(){return r.env.webgl.contextId}set contextId(t){r.env.webgl.contextId=t}get matmulMaxBatchSize(){return r.env.webgl.matmulMaxBatchSize}set matmulMaxBatchSize(t){r.env.webgl.matmulMaxBatchSize=t}get textureCacheMode(){return r.env.webgl.textureCacheMode}set textureCacheMode(t){r.env.webgl.textureCacheMode=t}get pack(){return r.env.webgl.pack}set pack(t){r.env.webgl.pack=t}get async(){return r.env.webgl.async}set async(t){r.env.webgl.async=t}initialize(){try{return this.glContext=(0,a.createWebGLContext)(this.contextId),\"number\"!=typeof this.matmulMaxBatchSize&&(this.matmulMaxBatchSize=16),\"string\"!=typeof this.textureCacheMode&&(this.textureCacheMode=\"full\"),\"boolean\"!=typeof this.pack&&(this.pack=!1),\"boolean\"!=typeof this.async&&(this.async=!1),i.Logger.setWithEnv(r.env),i.Logger.verbose(\"WebGLBackend\",`Created WebGLContext: ${typeof this.glContext} with matmulMaxBatchSize: ${this.matmulMaxBatchSize}; textureCacheMode: ${this.textureCacheMode}; pack: ${this.pack}; async: ${this.async}.`),!0}catch(t){return i.Logger.warning(\"WebGLBackend\",`Unable to initialize WebGLBackend. ${t}`),!1}}createSessionHandler(t){return new o.WebGLSessionHandler(this,t)}dispose(){this.glContext.dispose()}}},5107:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CoordsGlslLib=void 0;const r=n(2517),i=n(8520),o=n(5060),a=n(7859),s=n(9390);class u extends i.GlslLib{constructor(t){super(t)}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.offsetToCoords()),this.coordsToOffset()),this.toVec()),this.valueFrom()),this.getCommonUtilFuncs()),this.getInputsSamplingSnippets()),this.getOutputSamplingSnippet())}getCustomTypes(){return{}}offsetToCoords(){return{offsetToCoords:new i.GlslLibRoutine(\"\\n vec2 offsetToCoords(int offset, int width, int height) {\\n int t = offset / width;\\n int s = offset - t*width;\\n vec2 coords = (vec2(s,t) + vec2(0.5,0.5)) / vec2(width, height);\\n return coords;\\n }\\n \")}}coordsToOffset(){return{coordsToOffset:new i.GlslLibRoutine(\"\\n int coordsToOffset(vec2 coords, int width, int height) {\\n float s = coords.s * float(width);\\n float t = coords.t * float(height);\\n int offset = int(t) * width + int(s);\\n return offset;\\n }\\n \")}}getOutputSamplingSnippet(){const t=this.context.outputTextureLayout;return t.isPacked?this.getPackedOutputSamplingSnippet(t):this.getUnpackedOutputSamplingSnippet(t)}getPackedOutputSamplingSnippet(t){const e=t.unpackedShape,n=[t.width,t.height],r={},a=\"getOutputCoords\";switch(e.length){case 0:r[a]=this.getOutputScalarCoords();break;case 1:r[a]=this.getOutputPacked1DCoords(e,n);break;case 2:r[a]=this.getOutputPacked2DCoords(e,n);break;case 3:r[a]=this.getOutputPacked3DCoords(e,n);break;default:r[a]=this.getOutputPackedNDCoords(e,n)}const s=`\\n void setOutput(vec4 val) {\\n ${(0,o.getGlsl)(this.context.glContext.version).output} = val;\\n }\\n `;return r.floatTextureSetRGBA=new i.GlslLibRoutine(s),r}getUnpackedOutputSamplingSnippet(t){const e=t.unpackedShape,n=[t.width,t.height],r={},a=\"getOutputCoords\";switch(e.length){case 0:r[a]=this.getOutputScalarCoords();break;case 1:r[a]=this.getOutputUnpacked1DCoords(e,n);break;case 2:r[a]=this.getOutputUnpacked2DCoords(e,n);break;case 3:r[a]=this.getOutputUnpacked3DCoords(e,n);break;case 4:r[a]=this.getOutputUnpacked4DCoords(e,n);break;case 5:r[a]=this.getOutputUnpacked5DCoords(e,n);break;case 6:r[a]=this.getOutputUnpacked6DCoords(e,n);break;default:throw new Error(`Unsupported output dimensionality: ${e.length}`)}const s=`\\n void setOutput(float val) {\\n ${(0,o.getGlsl)(this.context.glContext.version).output} = vec4(val, 0, 0, 0);\\n }\\n `;return r.floatTextureSetR=new i.GlslLibRoutine(s),r}getOutputScalarCoords(){return new i.GlslLibRoutine(\"\\n int getOutputCoords() {\\n return 0;\\n }\\n \")}getOutputPacked1DCoords(t,e){const n=e;let r=\"\";return 1===n[0]?(r=`\\n int getOutputCoords() {\\n return 2 * int(TexCoords.y * ${n[1]}.0);\\n }\\n `,new i.GlslLibRoutine(r)):1===n[1]?(r=`\\n int getOutputCoords() {\\n return 2 * int(TexCoords.x * ${n[0]}.0);\\n }\\n `,new i.GlslLibRoutine(r)):(r=`\\n int getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${n[0]}, ${n[1]}));\\n return 2 * (resTexRC.y * ${n[0]} + resTexRC.x);\\n }\\n `,new i.GlslLibRoutine(r))}getOutputPacked2DCoords(t,e){let n=\"\";if(r.ArrayUtil.arraysEqual(t,e))return n=`\\n ivec2 getOutputCoords() {\\n return 2 * ivec2(TexCoords.xy * vec2(${e[0]}, ${e[1]}));\\n }\\n `,new i.GlslLibRoutine(n);const o=e,a=Math.ceil(t[1]/2);return n=`\\n ivec2 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${o[0]}, ${o[1]}));\\n\\n int index = resTexRC.y * ${o[0]} + resTexRC.x;\\n\\n // reverse r and c order for packed texture\\n int r = imod(index, ${a}) * 2;\\n int c = 2 * (index / ${a});\\n\\n return ivec2(r, c);\\n }\\n `,new i.GlslLibRoutine(n)}getOutputPacked3DCoords(t,e){const n=[e[0],e[1]],r=Math.ceil(t[2]/2),o=r*Math.ceil(t[1]/2),a=`\\n ivec3 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${n[0]}, ${n[1]}));\\n int index = resTexRC.y * ${n[0]} + resTexRC.x;\\n\\n int b = index / ${o};\\n index -= b * ${o};\\n\\n // reverse r and c order for packed texture\\n int r = imod(index, ${r}) * 2;\\n int c = 2 * (index / ${r});\\n\\n return ivec3(b, r, c);\\n }\\n `;return new i.GlslLibRoutine(a)}getOutputPackedNDCoords(t,e){const n=[e[0],e[1]],r=Math.ceil(t[t.length-1]/2),o=r*Math.ceil(t[t.length-2]/2);let a=o,s=\"\",u=\"b, r, c\";for(let e=2;e<t.length-1;e++)a*=t[t.length-e-1],s=`\\n int b${e} = index / ${a};\\n index -= b${e} * ${a};\\n `+s,u=`b${e}, `+u;const c=`\\n ivec${t.length} getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${n[0]}, ${n[1]}));\\n int index = resTexRC.y * ${n[0]} + resTexRC.x;\\n\\n ${s}\\n\\n int b = index / ${o};\\n index -= b * ${o};\\n\\n // reverse r and c order for packed texture\\n int r = imod(index, ${r}) * 2;\\n int c = 2 * (index / ${r});\\n\\n return ivec${t.length}(${u});\\n }\\n `;return new i.GlslLibRoutine(c)}getOutputUnpacked1DCoords(t,e){const n=`\\n int getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n return resTexRC.y * ${e[0]} + resTexRC.x;\\n }\\n `;return new i.GlslLibRoutine(n)}getOutputUnpacked2DCoords(t,e){const n=`\\n ivec2 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n int index = resTexRC.y * ${e[0]} + resTexRC.x;\\n int r = index / ${t[1]};\\n int c = index - r * ${t[1]};\\n return ivec2(r, c);\\n }\\n `;return new i.GlslLibRoutine(n)}getOutputUnpacked3DCoords(t,e){let n=\"\";const r=t.length;let o=null;r<2&&(o=[]),o=new Array(r-1),o[r-2]=t[r-1];for(let e=r-3;e>=0;--e)o[e]=o[e+1]*t[e+1];const a=[\"r\",\"c\",\"d\"],s=o.map(((t,e)=>`int ${a[e]} = index / ${t}; ${e===o.length-1?`int ${a[e+1]} = index - ${a[e]} * ${t}`:`index -= ${a[e]} * ${t}`};`)).join(\"\");return n=`\\n ivec3 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n int index = resTexRC.y * ${e[0]} + resTexRC.x;\\n ${s}\\n return ivec3(r, c, d);\\n }\\n `,new i.GlslLibRoutine(n)}getOutputUnpacked4DCoords(t,e){let n=\"\";const r=t.length;let o=null;r<2&&(o=[]),o=new Array(r-1),o[r-2]=t[r-1];for(let e=r-3;e>=0;--e)o[e]=o[e+1]*t[e+1];const a=[\"r\",\"c\",\"d\",\"d2\"],s=o.map(((t,e)=>`int ${a[e]} = index / ${t}; ${e===o.length-1?`int ${a[e+1]} = index - ${a[e]} * ${t}`:`index -= ${a[e]} * ${t}`};`)).join(\"\");return n=`\\n ivec4 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n int index = resTexRC.y * ${e[0]} + resTexRC.x;\\n ${s}\\n return ivec4(r, c, d, d2);\\n }\\n `,new i.GlslLibRoutine(n)}getOutputUnpacked5DCoords(t,e){let n=\"\";const r=t.length;let o=null;r<2&&(o=[]),o=new Array(r-1),o[r-2]=t[r-1];for(let e=r-3;e>=0;--e)o[e]=o[e+1]*t[e+1];const a=[\"r\",\"c\",\"d\",\"d2\",\"d3\"],s=o.map(((t,e)=>`int ${a[e]} = index / ${t}; ${e===o.length-1?`int ${a[e+1]} = index - ${a[e]} * ${t}`:`index -= ${a[e]} * ${t}`};`)).join(\"\");return n=`\\n ivec5 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n int index = resTexRC.y * ${e[0]} + resTexRC.x;\\n ${s}\\n return ivec5(r, c, d, d2, d3);\\n }\\n `,new i.GlslLibRoutine(n)}getOutputUnpacked6DCoords(t,e){let n=\"\";const r=t.length;let o=null;r<2&&(o=[]),o=new Array(r-1),o[r-2]=t[r-1];for(let e=r-3;e>=0;--e)o[e]=o[e+1]*t[e+1];const a=[\"r\",\"c\",\"d\",\"d2\",\"d3\",\"d4\"],s=o.map(((t,e)=>`int ${a[e]} = index / ${t}; ${e===o.length-1?`int ${a[e+1]} = index - ${a[e]} * ${t}`:`index -= ${a[e]} * ${t}`};`)).join(\"\");return n=`\\n ivec6 getOutputCoords() {\\n ivec2 resTexRC = ivec2(TexCoords.xy *\\n vec2(${e[0]}, ${e[1]}));\\n int index = resTexRC.y * ${e[0]} + resTexRC.x;\\n ${s}\\n return ivec6(r, c, d, d2, d3, d4);\\n }\\n `,new i.GlslLibRoutine(n)}getCommonUtilFuncs(){const t={};let e=\"uvFromFlat\";t[e]=new i.GlslLibRoutine(\"\\n vec2 uvFromFlat(int texNumR, int texNumC, int index) {\\n int texC = index / texNumR;\\n int texR = index - texC * texNumR;\\n // TODO: swap texR, texC order in following function so row is corresponding to u and column is corresponding to\\n // v.\\n return (vec2(texR, texC) + halfCR) / vec2(texNumR, texNumC);\\n }\\n \"),e=\"packedUVfrom1D\",t[e]=new i.GlslLibRoutine(\"\\n vec2 packedUVfrom1D(int texNumR, int texNumC, int index) {\\n int texelIndex = index / 2;\\n int texR = texelIndex / texNumC;\\n int texC = texelIndex - texR * texNumC;\\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n }\\n \"),e=\"packedUVfrom2D\",t[e]=new i.GlslLibRoutine(\"\\n vec2 packedUVfrom2D(int texNumR, int texNumC, int texelsInLogicalRow, int row, int col) {\\n int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);\\n int texR = texelIndex / texNumC;\\n int texC = texelIndex - texR * texNumC;\\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n }\\n \"),e=\"packedUVfrom3D\",t[e]=new i.GlslLibRoutine(\"\\n vec2 packedUVfrom3D(int texNumR, int texNumC,\\n int texelsInBatch, int texelsInLogicalRow, int b,\\n int row, int col) {\\n int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);\\n int texR = index / texNumC;\\n int texC = index - texR * texNumC;\\n return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);\\n }\\n \"),e=\"sampleTexture\";const n=(0,o.getGlsl)(this.context.glContext.version);return t[e]=new i.GlslLibRoutine(`\\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\\n return ${n.texture2D}(textureSampler, uv).r;\\n }`),t}getInputsSamplingSnippets(){const t={},e=this.context.outputTextureLayout;return this.context.programInfo.inputNames.forEach(((n,r)=>{const i=this.context.inputTextureLayouts[r],o=(0,s.generateShaderFuncNameFromInputSamplerName)(n);i.isPacked?t[o]=this.getPackedSamplerFromInput(o,n,i):t[o]=this.getUnpackedSamplerFromInput(o,n,i);const a=(0,s.generateShaderFuncNameFromInputSamplerNameAtOutCoords)(n);i.unpackedShape.length<=e.unpackedShape.length&&(i.isPacked?t[a]=this.getPackedSamplerAtOutputCoords(a,i,e,n):t[a]=this.getUnpackedSamplerAtOutputCoords(a,i,e,n))})),t}getPackedSamplerAtOutputCoords(t,e,n,o){const a=e.unpackedShape,u=n.unpackedShape,c=o,l=(0,s.generateShaderFuncNameFromInputSamplerName)(c),p=a.length,f=u.length,d=r.BroadcastUtil.getBroadcastDims(a,u),h=(0,s.getCoordsDataType)(f),g=f-p;let b;const m=(0,s.getGlChannels)();b=0===p?\"\":f<2&&d.length>=1?\"coords = 0;\":d.map((t=>`coords.${m[t+g]} = 0;`)).join(\"\\n\");let y=\"\";y=f<2&&p>0?\"coords\":a.map(((t,e)=>`coords.${m[e+g]}`)).join(\", \");let _=\"return outputValue;\";const v=1===r.ShapeUtil.size(a),w=1===r.ShapeUtil.size(u);if(1!==p||v||w){if(v&&!w)_=1===f?\"\\n return vec4(outputValue.x, outputValue.x, 0., 0.);\\n \":\"\\n return vec4(outputValue.x);\\n \";else if(d.length){const t=p-2,e=p-1;d.indexOf(t)>-1&&d.indexOf(e)>-1?_=\"return vec4(outputValue.x);\":d.indexOf(t)>-1?_=\"return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);\":d.indexOf(e)>-1&&(_=\"return vec4(outputValue.xx, outputValue.zz);\")}}else _=\"\\n return vec4(outputValue.xy, outputValue.xy);\\n \";const x=`\\n vec4 ${t}() {\\n ${h} coords = getOutputCoords();\\n \\n int lastDim = coords.${m[f-1]};\\n coords.${m[f-1]} = coords.${m[f-2]};\\n coords.${m[f-2]} = lastDim;\\n \\n ${b}\\n vec4 outputValue = ${l}(${y});\\n ${_}\\n }\\n `;return new i.GlslLibRoutine(x,[\"coordinates.getOutputCoords\"])}getUnpackedSamplerAtOutputCoords(t,e,n,o){const a=[n.width,n.height],u=[e.width,e.height],c=e.unpackedShape.length,l=n.unpackedShape.length,p=e.unpackedShape,f=n.unpackedShape,d=(0,s.generateShaderFuncNameFromInputSamplerName)(o);if(c===l&&r.ArrayUtil.arraysEqual(u,a)){const e=`\\n float ${t}() {\\n return sampleTexture(${o}, TexCoords);\\n }\\n `;return new i.GlslLibRoutine(e,[\"coordinates.sampleTexture\"])}const h=(0,s.getCoordsDataType)(l),g=r.BroadcastUtil.getBroadcastDims(p,f),b=l-c;let m;const y=(0,s.getGlChannels)();m=0===c?\"\":l<2&&g.length>=1?\"coords = 0;\":g.map((t=>`coords.${y[t+b]} = 0;`)).join(\"\\n\");let _=\"\";_=l<2&&c>0?\"coords\":e.unpackedShape.map(((t,e)=>`coords.${y[e+b]}`)).join(\", \");const v=`\\n float ${t}() {\\n ${h} coords = getOutputCoords();\\n ${m}\\n return ${d}(${_});\\n }\\n `;return new i.GlslLibRoutine(v,[\"coordinates.getOutputCoords\"])}getPackedSamplerFromInput(t,e,n){switch(n.unpackedShape.length){case 0:return this.getPackedSamplerScalar(t,e);case 1:return this.getPackedSampler1D(t,e,n);case 2:return this.getPackedSampler2D(t,e,n);case 3:return this.getPackedSampler3D(t,e,n);default:return this.getPackedSamplerND(t,e,n)}}getUnpackedSamplerFromInput(t,e,n){const r=n.unpackedShape;switch(r.length){case 0:return this.getUnpackedSamplerScalar(t,e,n);case 1:return this.getUnpackedSampler1D(t,e,n);case 2:return this.getUnpackedSampler2D(t,e,n);case 3:return this.getUnpackedSampler3D(t,e,n);case 4:return this.getUnpackedSampler4D(t,e,n);case 5:return this.getUnpackedSampler5D(t,e,n);case 6:return this.getUnpackedSampler6D(t,e,n);default:throw new Error(`Unsupported dimension ${r.length}-D`)}}getPackedSamplerScalar(t,e){const n=`\\n vec4 ${t}() {\\n return ${(0,o.getGlsl)(this.context.glContext.version).texture2D}(${e}, halfCR);\\n }\\n `;return new i.GlslLibRoutine(n)}getPackedSampler1D(t,e,n){const r=[n.width,n.height],a=[r[1],r[0]],s=(0,o.getGlsl)(this.context.glContext.version),u=`vec4 ${t}(int index) {\\n vec2 uv = packedUVfrom1D(\\n ${a[0]}, ${a[1]}, index);\\n return ${s.texture2D}(${e}, uv);\\n }`;return new i.GlslLibRoutine(u,[\"coordinates.packedUVfrom1D\"])}getPackedSampler2D(t,e,n){const a=n.unpackedShape,s=[n.width,n.height],u=(0,o.getGlsl)(this.context.glContext.version),c=s[0],l=s[1];if(null!=s&&r.ArrayUtil.arraysEqual(a,s)){const n=`vec4 ${t}(int row, int col) {\\n vec2 uv = (vec2(col, row) + halfCR) / vec2(${l}.0, ${c}.0);\\n return ${u.texture2D}(${e}, uv);\\n }`;return new i.GlslLibRoutine(n)}const p=s,f=Math.ceil(a[1]/2),d=`vec4 ${t}(int row, int col) {\\n vec2 uv = packedUVfrom2D(${p[1]}, ${p[0]}, ${f}, row, col);\\n return ${u.texture2D}(${e}, uv);\\n }`;return new i.GlslLibRoutine(d,[\"coordinates.packedUVfrom2D\"])}getPackedSampler3D(t,e,n){const r=n.unpackedShape,a=[n.width,n.height],u=[a[0],a[1]],c=(0,o.getGlsl)(this.context.glContext.version);if(1===r[0]){const o=r.slice(1),a=[1,2],u=(0,s.squeezeInputShape)(r,o),c=[\"b\",\"row\",\"col\"],l=JSON.parse(JSON.stringify(n));l.unpackedShape=u;const p=this.getPackedSamplerFromInput(t,e,l),f=`${p.routineBody}\\n vec4 ${t}(int b, int row, int col) {\\n return ${t}(${(0,s.getSqueezedParams)(c,a)});\\n } `;return new i.GlslLibRoutine(f,p.dependencies)}const l=u[0],p=u[1],f=Math.ceil(r[2]/2),d=`vec4 ${t}(int b, int row, int col) {\\n vec2 uv = packedUVfrom3D(\\n ${p}, ${l}, ${f*Math.ceil(r[1]/2)}, ${f}, b, row, col);\\n return ${c.texture2D}(${e}, uv);}`;return new i.GlslLibRoutine(d,[\"coordinates.packedUVfrom3D\"])}getPackedSamplerND(t,e,n){const r=n.unpackedShape,a=r.length,s=[n.width,n.height],u=(0,o.getGlsl)(this.context.glContext.version),c=[s[0],s[1]],l=c[1],p=c[0],f=Math.ceil(r[a-1]/2);let d=f*Math.ceil(r[a-2]/2),h=\"int b, int row, int col\",g=`b * ${d} + (row / 2) * ${f} + (col / 2)`;for(let t=2;t<a-1;t++)h=`int b${t}, `+h,d*=r[a-t-1],g=`b${t} * ${d} + `+g;const b=`vec4 ${t}(${h}) {\\n int index = ${g};\\n int texR = index / ${p};\\n int texC = index - texR * ${p};\\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${p}, ${l});\\n return ${u.texture2D}(${e}, uv);\\n }`;return new i.GlslLibRoutine(b)}getUnpackedSamplerScalar(t,e,n){const[r,o]=[n.width,n.height];if(1===r&&1===o){const n=`\\n float ${t}() {\\n return sampleTexture(${e}, halfCR);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\"])}const a=`\\n float ${t}() {\\n int offset_${e} = coordsToOffset(TexCoords, ${r}, ${o});\\n vec2 uv = uvFromFlat(${r}, ${o}, offset_${e});\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(a,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}getUnpackedSampler1D(t,e,n){const r=n.width,o=n.height;if(1===o&&1===r){const n=`\\n float ${t}(int index) {\\n return sampleTexture(${e}, halfCR);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\"])}if(1===o){const n=`\\n float ${t}(int index) {\\n vec2 uv = vec2((float(index) + 0.5) / ${r}.0, 0.5);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\"])}if(1===r){const n=`\\n float ${t}(int index) {\\n vec2 uv = vec2(0.5, (float(index) + 0.5) / ${o}.0);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\"])}const a=`\\n float ${t}(int index) {\\n vec2 uv = uvFromFlat(${r}, ${o}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(a,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\"])}getUnpackedSampler2D(t,e,n){const o=n.unpackedShape,u=[n.height,n.width];if(null!=u&&r.ArrayUtil.arraysEqual(o,u)){const n=`\\n float ${t}(int row, int col) {\\n vec2 uv = (vec2(row, col) + halfCR) / vec2(${u[1]}.0, ${u[0]}.0);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\"])}const{newShape:c,keptDims:l}=(0,a.squeezeShape)(o),p=c;if(p.length<o.length){const r=(0,s.squeezeInputShape)(o,p),a=JSON.parse(JSON.stringify(n));a.unpackedShape=r;const u=[\"col\",\"row\"],c=`\\n ${this.getUnpackedSamplerFromInput(t,e,a).routineBody}\\n float ${t}(int row, int col) {\\n return ${t}(${(0,s.getSqueezedParams)(u,l)});\\n }\\n `;return new i.GlslLibRoutine(c,[\"coordinates.sampleTexture\"])}const f=u[1],d=u[0];if(1===d){const n=`\\n float ${t}(int row, int col) {\\n int offset_${e} = coordsToOffset(TexCoords, ${f}, ${d});\\n float index = dot(vec3(row, col, offset_${e}), vec3(${o[1]}, 1, 1));\\n vec2 uv = vec2(0.5, (index + 0.5) / ${f}.0);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}if(1===f){const n=`\\n float ${t}(int row, int col) {\\n int offset_${e} = coordsToOffset(TexCoords, ${f}, ${d});\\n float index = dot(vec3(row, col, offset_${e}), vec3(${o[1]}, 1, 1));\\n vec2 uv = vec2((index + 0.5) / ${d}.0, 0.5);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(n,[\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}const h=`\\n float ${t}(int row, int col) {\\n int index = col * ${o[1]} + row;\\n vec2 uv = uvFromFlat(${f}, ${d}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(h,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}getUnpackedSampler3D(t,e,n){const r=n.unpackedShape,o=r[1]*r[2],u=r[2],{newShape:c,keptDims:l}=(0,a.squeezeShape)(r),p=c;if(p.length<r.length){const o=(0,s.squeezeInputShape)(r,p),a=[\"batch\",\"col\",\"row\"],u=JSON.parse(JSON.stringify(n));u.unpackedShape=o;const c=this.getUnpackedSamplerFromInput(t,e,u),f=l.reverse(),d=`\\n ${c.routineBody}\\n float ${t}(int batch, int row, int col) {\\n return ${t}(${(0,s.getSqueezedParams)(a,f)});\\n }\\n `;return new i.GlslLibRoutine(d,c.dependencies)}const f=`\\n float ${t}(int depth, int row, int col) {\\n // Explicitly use integer operations as dot() only works on floats.\\n int index = depth * ${o} + col * ${u} + row;\\n vec2 uv = uvFromFlat(${n.width}, ${n.height}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(f,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}getUnpackedSampler4D(t,e,n){const r=n.unpackedShape,o=r[3],a=r[2]*o,s=`\\n float ${t}(int row, int col, int depth, int depth2) {\\n int index = row * ${r[1]*a} + col * ${a} +\\n depth2 * ${o} + depth;\\n vec2 uv = uvFromFlat(${n.width}, ${n.height}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(s,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\"])}getUnpackedSampler5D(t,e,n){const r=n.unpackedShape,o=r[4],u=r[3]*o,c=r[2]*u,l=r[1]*c,{newShape:p,keptDims:f}=(0,a.squeezeShape)(r);if(p.length<r.length){const o=(0,s.squeezeInputShape)(r,p),a=[\"row\",\"col\",\"depth\",\"depth2\",\"depth3\"],u=JSON.parse(JSON.stringify(n));u.unpackedShape=o;const c=`\\n ${this.getUnpackedSamplerFromInput(t,e,u).routineBody}\\n float ${t}(int row, int col, int depth, int depth2, int depth3) {\\n return ${t}(${(0,s.getSqueezedParams)(a,f)});\\n }\\n `;return new i.GlslLibRoutine(c,[\"coordinates.sampleTexture\",\"coordinates.uvFromFlat\"])}const d=`\\n float ${t}(int row, int col, int depth, int depth2, int depth3) {\\n int index = row * ${l} + col * ${c} + depth * ${u} +\\n depth3 * ${o} + depth2;\\n vec2 uv = uvFromFlat(${n.width}, ${n.height}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(d,[\"coordinates.sampleTexture\",\"coordinates.uvFromFlat\"])}getUnpackedSampler6D(t,e,n){const r=n.unpackedShape,o=r[5],u=r[4]*o,c=r[3]*u,l=r[2]*c,p=r[1]*l,{newShape:f,keptDims:d}=(0,a.squeezeShape)(r);if(f.length<r.length){const o=(0,s.squeezeInputShape)(r,f),a=[\"row\",\"col\",\"depth\",\"depth2\",\"depth3\",\"depth4\"],u=JSON.parse(JSON.stringify(n));u.unpackedShape=o;const c=`\\n ${this.getUnpackedSamplerFromInput(t,e,u).routineBody}\\n float ${t}(int row, int col, int depth,\\n int depth2, int depth3, int depth4) {\\n return ${t}(${(0,s.getSqueezedParams)(a,d)});\\n }\\n `;return new i.GlslLibRoutine(c,[\"coordinates.sampleTexture\",\"coordinates.uvFromFlat\"])}const h=`\\n float ${t}(int row, int col, int depth,\\n int depth2, int depth3, int depth4) {\\n int index = row * ${p} + col * ${l} + depth * ${c} +\\n depth2 * ${u} + depth3 * ${o} + depth4;\\n vec2 uv = uvFromFlat(${n.width}, ${n.height}, index);\\n return sampleTexture(${e}, uv);\\n }\\n `;return new i.GlslLibRoutine(h,[\"coordinates.uvFromFlat\",\"coordinates.sampleTexture\",\"coordinates.coordsToOffset\"])}toVec(){const t=this.context.outputTextureLayout,e=t.shape.length,n=t.strides,r=t.width,o=t.height,a=[];for(let t=0;t<e-1;++t)a.push(`\\n c[${t}] = offset / ${n[t]};`),a.push(`\\n offset -= c[${t}] * ${n[t]};`);a.push(`\\n c[${e-1}] = offset;`);const s=`\\n void toVec(vec2 texCoords, out int c[${e}]) {\\n int offset = coordsToOffset(texCoords, ${r}, ${o});\\n ${a.join(\"\")}\\n }\\n void toVec(int offset, out int c[${e}]) {\\n ${a.join(\"\")}\\n }\\n `;return{toVec:new i.GlslLibRoutine(s,[\"coordinates.coordsToOffset\"])}}valueFrom(){const t={};return this.context.programInfo.inputNames.forEach(((e,n)=>{const r=this.context.inputTextureLayouts[n],o=(r.unpackedShape.length>0?r.unpackedShape:r.shape).length;let a=`_${e}`;t[a]=new i.GlslLibRoutine(this.getValueFromSingle(e,o,r.width,r.height,!1),[`shapeUtils.indicesToOffset${a}`,\"coordinates.offsetToCoords\",\"fragcolor.getColorAsFloat\"]),a+=\"_T\",t[a]=new i.GlslLibRoutine(this.getValueFromSingle(e,o,r.width,r.height,!0),[`shapeUtils.indicesToOffset${a}`,\"coordinates.offsetToCoords\",\"fragcolor.getColorAsFloat\"])})),t}getValueFromSingle(t,e,n,r,i){let a=`_${t}`;return i&&(a+=\"_T\"),`\\n float ${a}(int m[${e}]) {\\n int offset = indicesToOffset${a}(m);\\n vec2 coords = offsetToCoords(offset, ${n}, ${r});\\n float value = getColorAsFloat(${(0,o.getGlsl)(this.context.glContext.version).texture2D}(${t}, coords));\\n return value;\\n }\\n `}getPackedValueFrom(t,e,n,r,i){let a=`_${t}_Pack`;return i&&(a+=\"_T\"),`\\n vec4 ${a}(int m[${e}]) {\\n int offset = indicesToOffset_${t}(m);\\n vec2 coords = offsetToCoords(offset, ${n}, ${r});\\n return ${(0,o.getGlsl)(this.context.glContext.version).texture2D}(${t}, coords);\\n }\\n `}}e.CoordsGlslLib=u},8520:(t,e)=>{\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.TopologicalSortGlslRoutines=e.GlslLibRoutineNode=e.GlslLibRoutine=e.GlslLib=e.GlslContext=e.FunctionType=void 0,(n=e.FunctionType||(e.FunctionType={}))[n.ValueBased=0]=\"ValueBased\",n[n.Positional=1]=\"Positional\",e.GlslContext=class{constructor(t,e,n,r){this.glContext=t,this.programInfo=e,this.inputTextureLayouts=n,this.outputTextureLayout=r}},e.GlslLib=class{constructor(t){this.context=t}},e.GlslLibRoutine=class{constructor(t,e){this.routineBody=t,this.dependencies=e}},e.GlslLibRoutineNode=class{constructor(t,e,n){this.name=t,this.dependencies=n||[],e&&(this.routineBody=e)}addDependency(t){t&&this.dependencies.push(t)}},e.TopologicalSortGlslRoutines=class{static returnOrderedNodes(t){if(!t||0===t.length)return[];if(1===t.length)return t;const e=new Set,n=new Set,r=new Array;return this.createOrderedNodes(t,e,n,r),r}static createOrderedNodes(t,e,n,r){for(let i=0;i<t.length;++i)this.dfsTraverse(t[i],e,n,r)}static dfsTraverse(t,e,n,r){if(!t||n.has(t.name))return;if(e.has(t.name))throw new Error(\"Cyclic dependency detected. Can't topologically sort routines needed for shader.\");e.add(t.name);const i=t.dependencies;if(i&&i.length>0)for(let t=0;t<i.length;++t)this.dfsTraverse(i[t],e,n,r);r.push(t),n.add(t.name),e.delete(t.name)}}},7341:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.EncodingGlslLib=void 0;const r=n(8520);class i extends r.GlslLib{constructor(t){super(t)}getFunctions(){return Object.assign(Object.assign({},this.encodeFloat32()),this.decodeFloat32())}getCustomTypes(){return{}}encodeFloat32(){return{encode:new r.GlslLibRoutine(\"highp vec4 encode(highp float f) {\\n return vec4(f, 0.0, 0.0, 0.0);\\n }\\n \")}}decodeFloat32(){return{decode:new r.GlslLibRoutine(\"highp float decode(highp vec4 rgba) {\\n return rgba.r;\\n }\\n \")}}encodeUint8(){const t=i.isLittleEndian()?\"rgba.rgba=rgba.abgr;\":\"\";return{encode:new r.GlslLibRoutine(`\\n highp vec4 encode(highp float f) {\\n highp float F = abs(f);\\n highp float Sign = step(0.0,-f);\\n highp float Exponent = floor(log2(F));\\n highp float Mantissa = (exp2(- Exponent) * F);\\n Exponent = floor(log2(F) + 127.0) + floor(log2(Mantissa));\\n highp vec4 rgba;\\n rgba[0] = 128.0 * Sign + floor(Exponent*exp2(-1.0));\\n rgba[1] = 128.0 * mod(Exponent,2.0) + mod(floor(Mantissa*128.0),128.0);\\n rgba[2] = floor(mod(floor(Mantissa*exp2(23.0 -8.0)),exp2(8.0)));\\n rgba[3] = floor(exp2(23.0)*mod(Mantissa,exp2(-15.0)));\\n ${t}\\n rgba = rgba / 255.0; // values need to be normalized to [0,1]\\n return rgba;\\n }\\n `)}}decodeUint8(){const t=i.isLittleEndian()?\"rgba.rgba=rgba.abgr;\":\"\";return{decode:new r.GlslLibRoutine(`\\n highp float decode(highp vec4 rgba) {\\n rgba = rgba * 255.0; // values need to be de-normalized from [0,1] to [0,255]\\n ${t}\\n highp float Sign = 1.0 - step(128.0,rgba[0])*2.0;\\n highp float Exponent = 2.0 * mod(rgba[0],128.0) + step(128.0,rgba[1]) - 127.0;\\n highp float Mantissa = mod(rgba[1],128.0)*65536.0 + rgba[2]*256.0 +rgba[3] + float(0x800000);\\n highp float Result = Sign * exp2(Exponent) * (Mantissa * exp2(-23.0 ));\\n return Result;\\n }\\n `)}}static isLittleEndian(){const t=new ArrayBuffer(4),e=new Uint32Array(t),n=new Uint8Array(t);if(e[0]=3735928559,239===n[0])return!0;if(222===n[0])return!1;throw new Error(\"unknown endianness\")}}e.EncodingGlslLib=i},9894:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FragColorGlslLib=void 0;const r=n(8520),i=n(5060);class o extends r.GlslLib{constructor(t){super(t)}getFunctions(){return Object.assign(Object.assign({},this.setFragColor()),this.getColorAsFloat())}getCustomTypes(){return{}}setFragColor(){const t=(0,i.getGlsl)(this.context.glContext.version);return{setFragColor:new r.GlslLibRoutine(`\\n void setFragColor(float value) {\\n ${t.output} = encode(value);\\n }\\n `,[\"encoding.encode\"])}}getColorAsFloat(){return{getColorAsFloat:new r.GlslLibRoutine(\"\\n float getColorAsFloat(vec4 color) {\\n return decode(color);\\n }\\n \",[\"encoding.decode\"])}}}e.FragColorGlslLib=o},2848:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.replaceInlines=void 0;const n=/@inline[\\s\\n\\r]+(\\w+)[\\s\\n\\r]+([0-9a-zA-Z_]+)\\s*\\(([^)]*)\\)\\s*{(([^}]|[\\n\\r])*)}/gm;e.replaceInlines=function(t){const e={};let r;for(;null!==(r=n.exec(t));){const t=r[3].split(\",\").map((t=>{const e=t.trim().split(\" \");return e&&2===e.length?{type:e[0],name:e[1]}:null})).filter((t=>null!==t));e[r[2]]={params:t,body:r[4]}}for(const n in e){const i=\"(\\\\w+)?\\\\s+([_0-9a-zA-Z]+)\\\\s+=\\\\s+__FUNC__\\\\((.*)\\\\)\\\\s*;\".replace(\"__FUNC__\",n),o=new RegExp(i,\"gm\");for(;null!==(r=o.exec(t));){const i=r[1],o=r[2],a=r[3].split(\",\"),s=i?`${i} ${o};`:\"\";let u=e[n].body,c=\"\";e[n].params.forEach(((t,e)=>{t&&(c+=`${t.type} ${t.name} = ${a[e]};\\n`)})),u=`${c}\\n ${u}`,u=u.replace(\"return\",`${o} = `);const l=`\\n ${s}\\n {\\n ${u}\\n }\\n `;t=t.replace(r[0],l)}}return t.replace(n,\"\")}},8879:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.GlslPreprocessor=void 0;const r=n(8520),i=n(2848),o=n(5483),a=n(5060);e.GlslPreprocessor=class{constructor(t,e,n,i){this.libs={},this.glslLibRoutineDependencyGraph={},this.context=new r.GlslContext(t,e,n,i),Object.keys(o.glslRegistry).forEach((t=>{const e=new o.glslRegistry[t](this.context);this.libs[t]=e}));const a=this.glslLibRoutineDependencyGraph;for(const t in this.libs){const e=this.libs[t].getFunctions();for(const n in e){const i=t+\".\"+n;let o;a[i]?(o=a[i],o.routineBody=e[n].routineBody):(o=new r.GlslLibRoutineNode(i,e[n].routineBody),a[i]=o);const s=e[n].dependencies;if(s)for(let t=0;t<s.length;++t)if(a[s[t]])o.addDependency(a[s[t]]);else{const e=new r.GlslLibRoutineNode(s[t]);a[s[t]]=e,o.addDependency(e)}}}}preprocess(){const t=this.context.programInfo;let e=t.shaderSource;return this.context.programInfo.hasMain||(e=`${e}\\n ${(0,a.getDefaultFragShaderMain)(this.context.glContext.version,this.context.outputTextureLayout.shape.length)}`),e=(0,i.replaceInlines)(e),`${(0,a.getFragShaderPreamble)(this.context.glContext.version)}\\n ${this.getUniforms(t.inputNames,t.variables)}\\n ${this.getImports(e)}\\n ${e}`}getImports(t){const e=this.selectGlslLibRoutinesToBeIncluded(t);if(0===e.length)return\"\";let n=\"\";for(let t=0;t<e.length;++t){if(!e[t].routineBody)throw new Error(`Missing body for the Glsl Library routine: ${e[t].name}`);n+=e[t].routineBody+\"\\n\"}return n}selectGlslLibRoutinesToBeIncluded(t){const e=[];return Object.keys(this.glslLibRoutineDependencyGraph).forEach((n=>{const r=n.split(\".\")[1];-1!==t.indexOf(r)&&e.push(this.glslLibRoutineDependencyGraph[n])})),r.TopologicalSortGlslRoutines.returnOrderedNodes(e)}getUniforms(t,e){const n=[];if(t)for(const e of t)n.push(`uniform sampler2D ${e};`);if(e)for(const t of e)n.push(`uniform ${t.type} ${t.name}${t.arrayLength?`[${t.arrayLength}]`:\"\"};`);return n.join(\"\\n\")}}},5483:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.glslRegistry=void 0;const r=n(5107),i=n(7341),o=n(9894),a=n(2655),s=n(3891);e.glslRegistry={encoding:i.EncodingGlslLib,fragcolor:o.FragColorGlslLib,vec:s.VecGlslLib,shapeUtils:a.ShapeUtilsGlslLib,coordinates:r.CoordsGlslLib}},2655:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ShapeUtilsGlslLib=void 0;const r=n(8520);class i extends r.GlslLib{constructor(t){super(t)}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.bcastIndex()),this.bcastMatmulIndex()),this.offsetToIndices()),this.indicesToOffset()),this.incrementIndices())}getCustomTypes(){return{}}bcastIndex(){const t=this.context.outputTextureLayout.shape.length,e={};return this.context.programInfo.inputNames.forEach(((n,i)=>{const o=this.context.inputTextureLayouts[i].unpackedShape;if(o.length<=t){const i=o.length,a=t-i,s=`bcastIndices_${n}`;let u=\"\";for(let t=0;t<i;++t)u+=`\\n realIndices[${t}] = int( mod(float(bcastedIndices[${a+t}]), ${o[t]}.0) );\\n `;const c=`\\n void ${s} (int bcastedIndices[${t}], out int realIndices[${i}]) {\\n ${u}\\n }\\n `;e[s]=new r.GlslLibRoutine(c)}})),e}bcastMatmulIndex(){const t=this.context.outputTextureLayout.shape.length,e={};return this.context.programInfo.inputNames.forEach(((n,i)=>{const o=this.context.inputTextureLayouts[i].shape;if(!(o.length<2||o.length>t)){const i=o.length,a=t-i,s=`bcastMatmulIndices_${n}`;let u=\"\";for(let t=0;t<i-2;++t)u+=`\\n realIndices[${t}] = int( mod(float(bcastedIndices[${a+t}]), ${o[t]}.0) );\\n `;const c=`\\n void ${s}(int bcastedIndices[${t}], out int realIndices[${i}]) {\\n ${u}\\n realIndices[${i-1}] = bcastedIndices[${t-1}];\\n realIndices[${i-2}] = bcastedIndices[${t-2}];\\n }\\n `;e[s]=new r.GlslLibRoutine(c)}})),e}indicesToOffset(){const t={};return this.context.programInfo.inputNames.forEach(((e,n)=>{const o=this.context.inputTextureLayouts[n].shape,a=this.context.inputTextureLayouts[n].strides,s=o.length;let u=`indicesToOffset_${e}`;t[u]=new r.GlslLibRoutine(i.indexToOffsetSingle(u,s,a)),u=`indicesToOffset_${e}_T`,t[u]=new r.GlslLibRoutine(i.indexToOffsetSingle(u,s,a.slice().reverse()))})),t}static indexToOffsetSingle(t,e,n){let r=\"\";for(let t=e-1;t>=0;--t)r+=`\\n offset += indices[${t}] * ${n[t]};\\n `;return`\\n int ${t}(int indices[${e}]) {\\n int offset = 0;\\n ${r}\\n return offset;\\n }\\n `}offsetToIndices(){const t={};return this.context.programInfo.inputNames.forEach(((e,n)=>{const o=this.context.inputTextureLayouts[n].shape,a=this.context.inputTextureLayouts[n].strides,s=o.length;let u=`offsetToIndices_${e}`;t[u]=new r.GlslLibRoutine(i.offsetToIndicesSingle(u,s,a)),u=`offsetToIndices_${e}_T`,t[u]=new r.GlslLibRoutine(i.offsetToIndicesSingle(u,s,a.slice().reverse()))})),t}static offsetToIndicesSingle(t,e,n){const r=[];for(let t=0;t<e-1;++t)r.push(`\\n indices[${t}] = offset / ${n[t]};`),r.push(`\\n offset -= indices[${t}] * ${n[t]};`);return r.push(`\\n indices[${e-1}] = offset;`),`\\n void ${t}(int offset, out int indices[${e}]) {\\n ${r.join(\"\")}\\n }\\n `}incrementIndices(){const t={};return this.context.programInfo.inputNames.forEach(((e,n)=>{const i=this.context.inputTextureLayouts[n].shape,o=i.length,a=`incrementIndices_${e}`;let s=\"\";for(let t=0;t<o;++t)s+=`\\n shape[${t}] = ${i[t]};`;const u=`\\n void ${a}(int axis, out int indices[${o}]) {\\n int shape[${o}];\\n ${s};\\n for(int i = ${o} -1 ; i >= 0; --i) {\\n if(i > axis) continue;\\n indices[i] += 1;\\n if(indices[i] < shape[i]) {\\n break;\\n }\\n indices[i] = 0;\\n }\\n }\\n `;t[a]=new r.GlslLibRoutine(u)})),t}}e.ShapeUtilsGlslLib=i},5060:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getDefaultFragShaderMain=e.getFragShaderPreamble=e.getVertexShaderSource=e.getGlsl=void 0;const n={version:\"\",attribute:\"attribute\",varyingVertex:\"varying\",varyingFrag:\"varying\",texture2D:\"texture2D\",output:\"gl_FragColor\",outputDeclaration:\"\"},r={version:\"#version 300 es\",attribute:\"in\",varyingVertex:\"out\",varyingFrag:\"in\",texture2D:\"texture\",output:\"outputColor\",outputDeclaration:\"out vec4 outputColor;\"};function i(t){return 1===t?n:r}e.getGlsl=i,e.getVertexShaderSource=function(t){const e=i(t);return`${e.version}\\n precision highp float;\\n ${e.attribute} vec3 position;\\n ${e.attribute} vec2 textureCoord;\\n\\n ${e.varyingVertex} vec2 TexCoords;\\n\\n void main()\\n {\\n gl_Position = vec4(position, 1.0);\\n TexCoords = textureCoord;\\n }`},e.getFragShaderPreamble=function(t){const e=i(t);return`${e.version}\\n precision highp float;\\n precision highp int;\\n precision highp sampler2D;\\n ${e.varyingFrag} vec2 TexCoords;\\n ${e.outputDeclaration}\\n const vec2 halfCR = vec2(0.5, 0.5);\\n\\n // Custom vector types to handle higher dimenalities.\\n struct ivec5\\n {\\n int x;\\n int y;\\n int z;\\n int w;\\n int u;\\n };\\n\\n struct ivec6\\n {\\n int x;\\n int y;\\n int z;\\n int w;\\n int u;\\n int v;\\n };\\n\\n int imod(int x, int y) {\\n return x - y * (x / y);\\n }\\n\\n `},e.getDefaultFragShaderMain=function(t,e){return`\\n void main() {\\n int indices[${e}];\\n toVec(TexCoords, indices);\\n vec4 result = vec4(process(indices));\\n ${i(t).output} = result;\\n }\\n `}},3891:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.VecGlslLib=void 0;const r=n(8520);class i extends r.GlslLib{constructor(t){super(t)}getCustomTypes(){return{}}getFunctions(){return Object.assign(Object.assign(Object.assign(Object.assign({},this.binaryVecFunctions()),this.copyVec()),this.setVecItem()),this.getVecItem())}binaryVecFunctions(){const t=this.context.outputTextureLayout.shape.length,e={add:\"+=\",sub:\"-=\",mul:\"*=\",div:\"/=\"},n={};for(const i in e){const o=`${i}Vec`;let a=\"\";for(let n=0;n<t;++n)a+=`\\n dest[${n}] ${e[i]} src[${n}];\\n `;const s=`\\n void ${o}(int src[${t}], out int dest[${t}]) {\\n ${a}\\n }\\n `;n[o]=new r.GlslLibRoutine(s)}return n}copyVec(){const t=this.context.outputTextureLayout.shape.length;let e=\"\";for(let n=0;n<t;++n)e+=`\\n dest[${n}] = src[${n}];\\n `;const n=`\\n void copyVec(int src[${t}], out int dest[${t}]) {\\n ${e}\\n }\\n `;return{copyVec:new r.GlslLibRoutine(n)}}setVecItem(){const t=this.context.outputTextureLayout.shape.length;let e=`\\n if(index < 0)\\n index =${t} + index;\\n if (index == 0)\\n m[0] = value;\\n `;for(let n=1;n<t-1;++n)e+=`\\n else if (index == ${n})\\n m[${n}] = value;\\n `;e+=`\\n else\\n m[${t-1}] = value;\\n `;const n=`\\n void setVecItem(out int m[${t}], int index, int value) {\\n ${e}\\n }\\n `;return{setVecItem:new r.GlslLibRoutine(n)}}getVecItem(){const t=this.context.outputTextureLayout.shape.length;let e=`\\n if(index < 0)\\n index = ${t} + index;\\n if (index == 0)\\n return m[0];\\n `;for(let n=1;n<t-1;++n)e+=`\\n else if (index == ${n})\\n return m[${n}];\\n `;e+=`\\n else\\n return m[${t-1}];\\n `;const n=`\\n int getVecItem(int m[${t}], int index) {\\n ${e}\\n }\\n `;return{getVecItem:new r.GlslLibRoutine(n)}}}e.VecGlslLib=i},8316:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebGLInferenceHandler=void 0;const r=n(6231),i=n(9162),o=n(2517),a=n(2403),s=n(7019),u=n(8710),c=n(5611),l=n(4057),p=n(2039);e.WebGLInferenceHandler=class{constructor(t){this.session=t,this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map}calculateTextureWidthAndHeight(t,e){return(0,l.calculateTextureWidthAndHeight)(this.session.layoutStrategy,t,e)}executeProgram(t,e){if(e.length<t.inputNames.length)throw new Error(`Input size mustn't be less than ${t.inputNames.length}.`);if(t.inputNames.length!==t.inputTypes.length)throw new Error(\"input names size does not match input types\");const n=[];for(let r=0;r<t.inputNames.length;++r)n[r]=this.getOrCreateTextureData(e[r],t.inputTypes[r]);const r=((t,e)=>{const n=e.map((t=>`${t.unpackedShape.join(\",\")};${t.width}x${t.height}`)).join(\"_\");let r=t.name;return t.cacheHint&&(r+=\"[\"+t.cacheHint+\"]\"),r+=\":\"+n,r})(t,n);let i=this.session.programManager.getArtifact(r);const o=i?i.programInfo:\"function\"==typeof t.get?t.get():t,a=(0,l.createTextureLayoutFromTextureType)(this.session.layoutStrategy,o.output.dims,o.output.textureType),s=this.createTextureData(a,o.output.type);return i||(i=this.session.programManager.build(o,n,s),this.session.programManager.setArtifact(r,i)),this.runProgram(i,n,s),s}run(t,e){return this.executeProgram(t,e).tensor}runProgram(t,e,n){for(let n=0;n<e.length;++n)if(!!e[n].isPacked!=(t.programInfo.inputTypes[n]===p.TextureType.packed))throw new Error(`input[${n}] property packed inconsistent`);if(!!n.isPacked!=(t.programInfo.output.textureType===p.TextureType.packed))throw new Error(\"output property packed inconsistent\");this.session.programManager.run(t,e,n)}getOrCreateTextureData(t,e){let n=this.getTextureData(t.dataId,e===p.TextureType.packed);if(!n&&(n=this.getTextureData(t.dataId,e!==p.TextureType.packed),n))return e===p.TextureType.packed?this.pack(n):this.unpack(n);if(!n){const r=(0,l.createTextureLayoutFromTextureType)(this.session.layoutStrategy,t.dims,e);if(e===p.TextureType.packedLastDimension){const n=1,r=4,i=t.dims;if(4===i.length){const o=[i[0],Math.ceil(i[1]*i[2]*i[3]/r)],a=(0,l.createTextureLayoutFromTextureType)(this.session.layoutStrategy,o,e);let s=t.numberData;if(i[1]*i[2]*i[3]%r!=0){const e=i[0],o=i[1]*i[2]*i[3],a=Math.ceil(o*n/r)*r;s=new Float32Array(e*a);for(let r=0;r<e;++r){const e=r*o,i=r*a+r%n*o;s.set(t.numberData.subarray(e,e+o),i)}}return this.createTextureData(a,t.type,s,t,1)}}if(e===p.TextureType.packed){const e=(0,l.createTextureLayoutFromShape)(this.session.layoutStrategy,t.dims,1,[],{reverseWH:!0}),r=this.createTextureData(e,t.type,t.numberData,t,1);n=this.pack(r)}else n=this.createTextureData(r,t.type,t.numberData,t,1)}return n}createTextureDataFromLayoutBindTensor(t,e,n,r){return this.createTextureData(t,e,n,r,1)}createTextureData(t,e,n,i,o){r.Logger.verbose(\"InferenceHandler\",`Creating TextureData: layout:[${JSON.stringify(t)}]`);const a=this.session.textureManager.createTextureFromLayout(e,t,n,o);return this.createTextureDataFromTexture(t,e,a,i)}reshapeUnpacked(t,e){const n=this.getOrCreateTextureData(t,p.TextureType.unpacked),r={channels:n.channels,height:n.height,width:n.width,shape:0!==e.length?e:[1],strides:o.ShapeUtil.computeStrides(e),unpackedShape:e};return this.createTextureDataFromTexture(r,t.type,n.texture).tensor}reshapePacked(t,e){const n=this.getOrCreateTextureData(t,p.TextureType.packed);if((0,s.isReshapeCheap)(t.dims,e)){const r={channels:n.channels,height:n.height,width:n.width,shape:0!==e.length?e:[1],strides:o.ShapeUtil.computeStrides(e),unpackedShape:e,isPacked:!0};return this.createTextureDataFromTexture(r,t.type,n.texture).tensor}const r=(0,s.processDims3D)(t.dims),i=(0,s.processDims3D)(e),a=this.reshapePacked(t,r),u=this.run((0,s.createPackedReshape3DProgramInfoLoader)(this,a,i),[a]);return this.reshapePacked(u,e)}cast(t,e){const n=this.getOrCreateTextureData(t,p.TextureType.unpacked);return this.createTextureDataFromTexture(n,e,n.texture).tensor}createTextureDataFromTexture(t,e,n,r,o){const a=Object.assign(Object.assign({},t),{tensor:r||new i.Tensor(t.unpackedShape,e,(t=>this.readTexture(a)),(async t=>this.readTextureAsync(a)),void 0,o),texture:n});return this.setTextureData(a.tensor.dataId,a,t.isPacked),a}getTextureData(t,e=!1){return this.session.isInitializer(t)?this.session.getTextureData(t,e):e?this.packedTextureDataCache.get(t):this.unpackedTextureDataCache.get(t)}setTextureData(t,e,n=!1){this.session.isInitializer(t)?this.session.setTextureData(t,e,n):(n?this.packedTextureDataCache:this.unpackedTextureDataCache).set(t,e)}isTextureLayoutCached(t,e=!1){return!!this.getTextureData(t.dataId,e)}dispose(){this.session.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach((t=>this.session.textureManager.releaseTexture(t))),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach((t=>this.session.textureManager.releaseTexture(t))),this.unpackedTextureDataCache=new Map}readTexture(t){return t.isPacked?this.readTexture(this.unpack(t)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTexture(t,t.tensor.type,t.channels):this.session.textureManager.readUint8TextureAsFloat((0,u.encodeAsUint8)(this,t))}async readTextureAsync(t){return t.isPacked?this.readTextureAsync(this.unpack(t)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTextureAsync(t,t.tensor.type,t.channels):this.session.textureManager.readUint8TextureAsFloat((0,u.encodeAsUint8)(this,t))}pack(t){return this.executeProgram((0,a.createPackProgramInfoLoader)(this,t.tensor),[t.tensor])}unpack(t){return this.executeProgram((0,c.createUnpackProgramInfoLoader)(this,t.tensor),[t.tensor])}}},1640:function(t,e,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!(\"get\"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,\"__esModule\",{value:!0}),e.WEBGL_OP_RESOLVE_RULES=void 0;const a=n(2898),s=o(n(7839)),u=n(4196),c=n(2069),l=n(8138),p=n(9663),f=n(5193),d=n(7992),h=n(1253),g=n(4776),b=n(6572),m=n(3346),y=n(5623),_=n(2870),v=n(2143),w=n(4939),x=n(718),T=n(2268),S=n(8117),O=n(2278),A=n(5524),E=n(5975),I=n(3933),P=n(6558),D=n(5723),$=n(3738),k=o(n(4909)),C=n(8428),F=n(9793);e.WEBGL_OP_RESOLVE_RULES=[[\"Abs\",\"\",\"6+\",k.abs],[\"Acos\",\"\",\"7+\",k.acos],[\"Add\",\"\",\"7+\",s.add],[\"And\",\"\",\"7+\",s.and],[\"Asin\",\"\",\"7+\",k.asin],[\"Atan\",\"\",\"7+\",k.atan],[\"AveragePool\",\"\",\"7+\",v.averagePool,v.parseAveragePoolAttributes],[\"BatchNormalization\",\"\",\"7+\",a.batchNormalization,a.parseBatchNormalizationAttributes],[\"Cast\",\"\",\"6+\",u.cast,u.parseCastAttributes],[\"Ceil\",\"\",\"6+\",k.ceil],[\"Clip\",\"\",\"6-10\",k.clip,k.parseClipAttributes],[\"Clip\",\"\",\"11+\",k.clipV11],[\"Concat\",\"\",\"4+\",c.concat,c.parseConcatAttributes],[\"Conv\",\"\",\"1+\",l.conv,l.parseConvAttributes],[\"ConvTranspose\",\"\",\"1+\",p.convTranspose,p.parseConvTransposeAttributes],[\"Cos\",\"\",\"7+\",k.cos],[\"Div\",\"\",\"7+\",s.div],[\"Dropout\",\"\",\"7+\",k.identity],[\"DepthToSpace\",\"\",\"1+\",f.depthToSpace,f.parseDepthToSpaceAttributes],[\"Equal\",\"\",\"7+\",s.equal],[\"Elu\",\"\",\"6+\",k.elu,k.parseEluAttributes],[\"Exp\",\"\",\"6+\",k.exp],[\"Flatten\",\"\",\"1+\",d.flatten,d.parseFlattenAttributes],[\"Floor\",\"\",\"6+\",k.floor],[\"FusedConv\",\"com.microsoft\",\"1+\",l.conv,l.parseConvAttributes],[\"Gather\",\"\",\"1+\",h.gather,h.parseGatherAttributes],[\"Gemm\",\"\",\"7-10\",g.gemm,g.parseGemmAttributesV7],[\"Gemm\",\"\",\"11+\",g.gemm,g.parseGemmAttributesV11],[\"GlobalAveragePool\",\"\",\"1+\",v.globalAveragePool,v.parseGlobalAveragePoolAttributes],[\"GlobalMaxPool\",\"\",\"1+\",v.globalMaxPool],[\"Greater\",\"\",\"7+\",s.greater],[\"Identity\",\"\",\"1+\",k.identity],[\"ImageScaler\",\"\",\"1+\",b.imageScaler,b.parseImageScalerAttributes],[\"InstanceNormalization\",\"\",\"6+\",m.instanceNormalization,m.parseInstanceNormalizationAttributes],[\"LeakyRelu\",\"\",\"6+\",k.leakyRelu,k.parseLeakyReluAttributes],[\"Less\",\"\",\"7+\",s.less],[\"Log\",\"\",\"6+\",k.log],[\"MatMul\",\"\",\"1+\",y.matMul,y.parseMatMulAttributes],[\"MaxPool\",\"\",\"1+\",v.maxPool,v.parseMaxPoolAttributes],[\"Mul\",\"\",\"7+\",s.mul],[\"Neg\",\"\",\"6+\",k.neg],[\"Not\",\"\",\"1+\",k.not],[\"Or\",\"\",\"7+\",s.or],[\"Pad\",\"\",\"2-10\",_.padV2,_.parsePadAttributesV2],[\"Pad\",\"\",\"11+\",_.padV11,_.parsePadAttributesV11],[\"Pow\",\"\",\"7+\",s.pow],[\"PRelu\",\"\",\"7+\",s.pRelu],[\"ReduceLogSum\",\"\",\"1+\",w.reduceLogSum,w.parseReduceAttributes],[\"ReduceMax\",\"\",\"1+\",w.reduceMax,w.parseReduceAttributes],[\"ReduceMean\",\"\",\"1+\",w.reduceMean,w.parseReduceAttributes],[\"ReduceMin\",\"\",\"1+\",w.reduceMin,w.parseReduceAttributes],[\"ReduceProd\",\"\",\"1+\",w.reduceProd,w.parseReduceAttributes],[\"ReduceSum\",\"\",\"1-12\",w.reduceSum,w.parseReduceAttributes],[\"ReduceSumSquare\",\"\",\"1+\",w.reduceLogSumSquare,w.parseReduceAttributes],[\"Relu\",\"\",\"6+\",k.relu],[\"Reshape\",\"\",\"5+\",x.reshape],[\"Resize\",\"\",\"10\",T.resize,T.parseResizeAttributesV10],[\"Resize\",\"\",\"11+\",T.resize,T.parseResizeAttributesV11],[\"Shape\",\"\",\"1+\",S.shape],[\"Sigmoid\",\"\",\"6+\",k.sigmoid],[\"Sin\",\"\",\"7+\",k.sin],[\"Slice\",\"\",\"10+\",O.sliceV10],[\"Slice\",\"\",\"1-9\",O.slice,O.parseSliceAttributes],[\"Softmax\",\"\",\"1-12\",A.softmax,A.parseSoftmaxAttributes],[\"Softmax\",\"\",\"13+\",A.softmaxV13,A.parseSoftmaxAttributesV13],[\"Split\",\"\",\"2-12\",E.split,E.parseSplitAttributes],[\"Sqrt\",\"\",\"6+\",k.sqrt],[\"Squeeze\",\"\",\"1-12\",I.squeeze,I.parseSqueezeAttributes],[\"Squeeze\",\"\",\"13+\",I.squeezeV13],[\"Sub\",\"\",\"7+\",s.sub],[\"Sum\",\"\",\"6+\",P.sum],[\"Tan\",\"\",\"7+\",k.tan],[\"Tanh\",\"\",\"6+\",k.tanh],[\"Tile\",\"\",\"6+\",D.tile],[\"Transpose\",\"\",\"1+\",$.transpose,$.parseTransposeAttributes],[\"Upsample\",\"\",\"7-8\",F.upsample,F.parseUpsampleAttributesV7],[\"Upsample\",\"\",\"9\",F.upsample,F.parseUpsampleAttributesV9],[\"Unsqueeze\",\"\",\"1-12\",C.unsqueeze,C.parseUnsqueezeAttributes],[\"Unsqueeze\",\"\",\"13+\",C.unsqueezeV13],[\"Xor\",\"\",\"7+\",s.xor]]},2898:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseBatchNormalizationAttributes=e.batchNormalization=void 0;const r=n(246),i=n(5060),o=n(2039),a={name:\"BatchNormalization\",inputNames:[\"A\",\"Scale\",\"B\",\"Mean\",\"Variance\"],inputTypes:[o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked]};e.batchNormalization=(t,e,n)=>(u(e),[t.run(Object.assign(Object.assign({},a),{cacheHint:n.cacheKey,get:()=>s(t,e,n)}),e)]),e.parseBatchNormalizationAttributes=t=>{const e=t.attributes.getFloat(\"epsilon\",1e-5),n=t.attributes.getFloat(\"momentum\",.9),i=t.attributes.getInt(\"spatial\",1);return(0,r.createAttributeWithCacheKey)({epsilon:e,momentum:n,spatial:i})};const s=(t,e,n)=>{const r=(0,i.getGlsl)(t.session.backend.glContext.version),s=e[0].dims.length,[u,c]=t.calculateTextureWidthAndHeight(e[1].dims,o.TextureType.unpacked),l=`\\n float process(int[${s}] indices) {\\n vec2 position = offsetToCoords(indices[1], ${u}, ${c});\\n float scale = getColorAsFloat(${r.texture2D}(Scale, position));\\n float mean = getColorAsFloat(${r.texture2D}(Mean, position));\\n float variance = getColorAsFloat(${r.texture2D}(Variance, position));\\n float b = getColorAsFloat(${r.texture2D}(B, position));\\n\\n return scale * ( (_A(indices) - mean) / sqrt(variance + float(${n.epsilon})) ) + b;\\n }`;return Object.assign(Object.assign({},a),{output:{dims:e[0].dims,type:e[0].type,textureType:o.TextureType.unpacked},shaderSource:l})},u=t=>{if(!t||5!==t.length)throw new Error(\"BatchNormalization requires 5 inputs.\");const e=t[0],n=t[1],r=t[2],i=t[3],o=t[4];if(e.dims.length<3||1!==n.dims.length||1!==r.dims.length||1!==i.dims.length||1!==o.dims.length)throw new Error(\"invalid input shape.\");if(n.dims[0]!==e.dims[1]||r.dims[0]!==e.dims[1]||i.dims[0]!==e.dims[1]||o.dims[0]!==e.dims[1])throw new Error(\"invalid input shape.\");if(\"float32\"!==e.type&&\"float64\"!==e.type||\"float32\"!==n.type&&\"float64\"!==n.type||\"float32\"!==r.type&&\"float64\"!==r.type||\"float32\"!==i.type&&\"float64\"!==i.type||\"float32\"!==o.type&&\"float64\"!==o.type)throw new Error(\"invalid input tensor types.\")}},7839:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.xor=e.sub=e.pRelu=e.pow=e.or=e.mul=e.less=e.greater=e.equal=e.div=e.and=e.add=e.glslPRelu=e.glslPow=e.glslXor=e.glslOr=e.glslAnd=e.glslLess=e.glslGreater=e.glslEqual=e.glslSub=e.glslMul=e.glslDiv=e.glslAdd=void 0;const r=n(2517),i=n(8520),o=n(5060),a=n(2039);function s(){const t=\"add_\";return{body:`\\n float ${t}(float a, float b) {\\n return a + b;\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return v1 + v2;\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function u(){const t=\"div_\";return{body:`\\n float ${t}(float a, float b) {\\n return a / b;\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return v1 / v2;\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function c(){const t=\"mul_\";return{body:`\\n float ${t}(float a, float b) {\\n return a * b;\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return v1 * v2;\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function l(){const t=\"sub_\";return{body:`\\n float ${t}(float a, float b) {\\n return a - b;\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return v1 - v2;\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function p(){const t=\"equal_\";return{body:`\\n float ${t}(float a, float b) {\\n return float(a == b);\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return vec4(equal(v1, v2));\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function f(){const t=\"greater_\";return{body:`\\n float ${t}(float a, float b) {\\n return float(a > b);\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return vec4( v1.r > v2.r ,\\n v1.g > v2.g,\\n v1.b > v2.b,\\n v1.a > v2.a );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function d(){const t=\"less_\";return{body:`\\n float ${t}(float a, float b) {\\n return float(a < b);\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return vec4( v1.r < v2.r ,\\n v1.g < v2.g,\\n v1.b < v2.b,\\n v1.a < v2.a );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function h(){const t=\"and_\";return{body:`\\n float ${t}(float a, float b) {\\n return float( bool(a) && bool(b) );\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n bvec4 b1 = bvec4(v1);\\n bvec4 b2 = bvec4(v2);\\n return vec4( b1.r && b2.r ,\\n b1.g && b2.g,\\n b1.b && b2.b,\\n b1.a && b2.a );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function g(){const t=\"or_\";return{body:`\\n float ${t}(float a, float b) {\\n return float( bool(a) || bool(b) );\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n bvec4 b1 = bvec4(v1);\\n bvec4 b2 = bvec4(v2);\\n return vec4( b1.r || b2.r ,\\n b1.g || b2.g,\\n b1.b || b2.b,\\n b1.a || b2.a );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function b(){const t=\"xor_\";return{body:`\\n float ${t}(float a, float b) {\\n return float( bool(a) ^^ bool(b) );\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n bvec4 b1 = bvec4(v1);\\n bvec4 b2 = bvec4(v2);\\n return vec4( b1.r ^^ b2.r ,\\n b1.g ^^ b2.g,\\n b1.b ^^ b2.b,\\n b1.a ^^ b2.a );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}function m(){return function(t){const e=`${t}_`;return{body:`\\n float ${e}(float a, float b) {\\n return ${t}(a, b);\\n }\\n vec4 ${e}(vec4 v1, vec4 v2) {\\n return ${t}(v1, v2);\\n }\\n `,name:e,type:i.FunctionType.ValueBased}}(\"pow\")}function y(){const t=\"prelu_\";return{body:`\\n float ${t}(float a, float b) {\\n return a < 0.0 ? a * b: a;\\n }\\n vec4 ${t}(vec4 v1, vec4 v2) {\\n return vec4(\\n v1.r < 0.0 ? v1.r * v2.r: v1.r,\\n v1.g < 0.0 ? v1.g * v2.g: v1.g,\\n v1.b < 0.0 ? v1.b * v2.b: v1.b,\\n v1.a < 0.0 ? v1.a * v2.a: v1.a\\n );\\n }\\n `,name:t,type:i.FunctionType.ValueBased}}e.glslAdd=s,e.glslDiv=u,e.glslMul=c,e.glslSub=l,e.glslEqual=p,e.glslGreater=f,e.glslLess=d,e.glslAnd=h,e.glslOr=g,e.glslXor=b,e.glslPow=m,e.glslPRelu=y;const _=(t,e,n,r=e[0].type,i)=>{const o=t.session.pack?a.TextureType.packed:a.TextureType.unpacked;return{name:n.name,inputNames:[\"A\",\"B\"],inputTypes:[o,o],cacheHint:i,get:()=>v(t,e,n,r)}},v=(t,e,n,i=e[0].type)=>{const s=t.session.pack?a.TextureType.packed:a.TextureType.unpacked,u=!r.ShapeUtil.areEqual(e[0].dims,e[1].dims);let c=e[0].dims;const l=t.session.pack;if(u){const a=r.BroadcastUtil.calcShape(e[0].dims,e[1].dims,!1);if(!a)throw new Error(\"Can't perform binary op on the given tensors\");c=a;const u=c.length,p=0!==e[0].dims.length?e[0].dims.length:1,f=0!==e[1].dims.length?e[1].dims.length:1,d=0!==e[0].dims.length?\"bcastIndices_A(indices, aindices);\":\"aindices[0] = 0;\",h=0!==e[1].dims.length?\"bcastIndices_B(indices, bindices);\":\"bindices[0] = 0;\",g=(0,o.getGlsl)(t.session.backend.glContext.version),b=l?`\\n ${n.body}\\n void main() {\\n vec4 a = getAAtOutCoords();\\n vec4 b = getBAtOutCoords();\\n vec4 result = ${n.name}(a, b);\\n ${g.output} = result;\\n }`:`\\n ${n.body}\\n float process(int indices[${u}]) {\\n int aindices[${p}];\\n int bindices[${f}];\\n ${d}\\n ${h}\\n return ${n.name}(_A(aindices), _B(bindices));\\n }`;return{name:n.name,inputNames:[\"A\",\"B\"],inputTypes:[s,s],output:{dims:c,type:i,textureType:s},shaderSource:b,hasMain:l}}const p=(0,o.getGlsl)(t.session.backend.glContext.version),f=`\\n ${n.body}\\n void main() {\\n vec4 v1 = ${p.texture2D}(A, TexCoords);\\n vec4 v2 = ${p.texture2D}(B, TexCoords);\\n vec4 result = ${n.name}(v1, v2);\\n ${p.output} = result;\\n }\\n `;return{name:n.name,inputNames:[\"A\",\"B\"],inputTypes:[s,s],output:{dims:e[0].dims,type:i,textureType:s},shaderSource:f,hasMain:!0}};e.add=(t,e)=>[t.run(_(t,e,s()),e)],e.and=(t,e)=>[t.run(_(t,e,h(),\"bool\"),e)],e.div=(t,e)=>[t.run(_(t,e,u()),e)],e.equal=(t,e)=>[t.run(_(t,e,p(),\"bool\"),e)],e.greater=(t,e)=>[t.run(_(t,e,f(),\"bool\"),e)],e.less=(t,e)=>[t.run(_(t,e,d(),\"bool\"),e)],e.mul=(t,e)=>[t.run(_(t,e,c()),e)],e.or=(t,e)=>[t.run(_(t,e,g(),\"bool\"),e)],e.pow=(t,e)=>[t.run(_(t,e,m()),e)],e.pRelu=(t,e)=>[t.run(_(t,e,y()),e)],e.sub=(t,e)=>[t.run(_(t,e,l()),e)],e.xor=(t,e)=>[t.run(_(t,e,b(),\"bool\"),e)]},4196:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseCastAttributes=e.cast=void 0;const r=n(2517);e.cast=(t,e,n)=>(i(e),[t.cast(e[0],n)]),e.parseCastAttributes=t=>r.ProtoUtil.tensorDataTypeFromProto(t.attributes.getInt(\"to\"));const i=t=>{if(!t||1!==t.length)throw new Error(\"Cast requires 1 input.\");if(\"string\"===t[0].type)throw new Error(\"Invalid input type.\")}},1163:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createPackedConcatProgramInfoLoader=void 0;const r=n(5060),i=n(2039),o=n(9390),a=n(2827);e.createPackedConcatProgramInfoLoader=(t,e,n)=>{const u=(c=e.length,l=n.cacheKey,{name:\"Concat (packed)\",inputNames:Array.from({length:c},((t,e)=>`X${e}`)),inputTypes:Array(c).fill(i.TextureType.packed),cacheHint:l});var c,l;return Object.assign(Object.assign({},u),{get:()=>((t,e,n,u)=>{const c=n[0].dims.slice();if(u>=c.length||u<-1*c.length)throw new Error(\"axis specified for concat doesn't match input dimensionality\");u<0&&(u=c.length+u);const l=c.slice(0);for(let t=1;t<n.length;t++){const e=n[t].dims.slice();for(let t=0;t<c.length;t++)if(t===u)l[u]+=e[t];else if(c[t]!==e[t])throw new Error(\"non concat dimensions must match\")}const p=l.length,f=(0,a.getChannels)(\"coords\",p),d=(0,o.getCoordsDataType)(p),h=(0,a.unpackFromChannel)(),g=n.map((t=>t.dims)),b=(0,o.getGlChannels)(p),m=new Array(g.length-1);m[0]=g[0][u];for(let t=1;t<m.length;t++)m[t]=m[t-1]+g[t][u];const y=b[u],_=b.slice(-2),v=b.join();let w=`if (${y} < ${m[0]}) {\\n return getChannel(\\n getX0(${v}), vec2(${_.join()}));\\n }`;for(let t=1;t<m.length;t++){const e=m[t-1];w+=`\\n if (${y} < ${m[t]} && ${y} >= ${m[t-1]}) {\\n return getChannel(\\n getX${t}(${s(b,y,e)}),\\n vec2(${s(_,y,e)}));\\n }`}const x=m.length,T=m[m.length-1];w+=`\\n return getChannel(\\n getX${x}(${s(b,y,T)}),\\n vec2(${s(_,y,T)}));`;const S=(0,r.getGlsl)(t.session.backend.glContext.version),O=`\\n ${h}\\n float getValue(${b.map((t=>\"int \"+t))}) {\\n ${w}\\n }\\n\\n void main() {\\n ${d} coords = getOutputCoords();\\n int lastDim = coords.${b[p-1]};\\n coords.${b[p-1]} = coords.${b[p-2]};\\n coords.${b[p-2]} = lastDim;\\n\\n vec4 result = vec4(getValue(${f}), 0., 0., 0.);\\n\\n ${f[p-1]} = ${f[p-1]} + 1;\\n if (${f[p-1]} < ${l[p-1]}) {\\n result.g = getValue(${f});\\n }\\n\\n ${f[p-2]} = ${f[p-2]} + 1;\\n if (${f[p-2]} < ${l[p-2]}) {\\n result.a = getValue(${f});\\n }\\n\\n ${f[p-1]} = ${f[p-1]} - 1;\\n if (${f[p-2]} < ${l[p-2]} &&\\n ${f[p-1]} < ${l[p-1]}) {\\n result.b = getValue(${f});\\n }\\n ${S.output} = result;\\n }\\n `;return Object.assign(Object.assign({},e),{output:{dims:l,type:n[0].type,textureType:i.TextureType.packed},shaderSource:O,hasMain:!0})})(t,u,e,n.axis)})};const s=(t,e,n)=>{const r=t.indexOf(e);return t.map(((t,e)=>e===r?`${t} - ${n}`:t)).join()}},2069:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseConcatAttributes=e.concat=void 0;const r=n(246),i=n(2039),o=n(1163);e.concat=(t,e,n)=>(p(e),t.session.pack&&e[0].dims.length>1?[t.run((0,o.createPackedConcatProgramInfoLoader)(t,e,n),e)]:[t.run(a(t,e,n),e)]);const a=(t,e,n)=>{const r=(o=e.length,a=n.cacheKey,{name:\"Concat\",inputNames:Array.from({length:o},((t,e)=>`X${e}`)),inputTypes:Array(o).fill(i.TextureType.unpacked),cacheHint:a});var o,a;return Object.assign(Object.assign({},r),{get:()=>((t,e,n,r)=>{const o=n[0].dims.slice();if(r>=o.length||r<-1*o.length)throw new Error(\"axis specified for concat doesn't match input dimensionality\");r<0&&(r=o.length+r);const a=o.slice(0);for(let t=1;t<n.length;t++){const e=n[t].dims.slice();for(let t=0;t<o.length;t++)if(t===r)a[r]+=e[t];else if(o[t]!==e[t])throw new Error(\"non concat dimensions must match\")}const p=a.length,f=new Array(n.length);let d=0;for(let t=0;t<f.length;++t)d+=n[t].dims[r],f[t]=d;let h=\"\";h=n.length<5?s(f):u(f);const g=`\\n ${c(n.length,p)}\\n ${l(f)}\\n ${h}\\n float process(int indices[${p}]) {\\n int textureIndex = getTextureWhereDataResides (indices[${r}]);\\n\\n if(textureIndex != 0) {\\n indices[${r}] = indices[${r}] - int(getSizeInConcatAxisValueFromIndex(textureIndex-int(1)));\\n }\\n\\n return fetchDataFromCorrectTexture(textureIndex, indices);\\n }`;return Object.assign(Object.assign({},e),{output:{dims:a,type:n[0].type,textureType:i.TextureType.unpacked},shaderSource:g})})(0,r,e,n.axis)})},s=t=>`int getTextureWhereDataResides(int index) {\\n ${t.map(((t,e)=>`if(index<${t}) {return ${e};}\\n`)).join(\"\")}\\n }`,u=t=>s(t),c=(t,e)=>{const n=[`float fetchDataFromCorrectTexture(int textureIndex, int indices[${e}]) {`];for(let e=0;e<t;++e)0===e?n.push(`\\tif (textureIndex == ${e}) { return _X${e}(indices); }`):e===t-1?n.push(`\\telse { return _X${e}(indices); }`):n.push(`\\telse if (textureIndex == ${e}) { return _X${e}(indices); }`);return n.push(\"\\t}\"),n.join(\"\\n\")},l=t=>{const e=[\"int getSizeInConcatAxisValueFromIndex(int index) {\"];for(let n=0;n<t.length;++n)0===n?e.push(`\\tif (index == ${n}) { return ${t[n]}; }`):n===t.length-1?e.push(`\\telse { return ${t[n]}; }`):e.push(`\\telse if (index == ${n}) { return ${t[n]}; }`);return e.push(\"\\t}\"),e.join(\"\\n\")};e.parseConcatAttributes=t=>(0,r.createAttributeWithCacheKey)({axis:t.attributes.getInt(\"axis\")});const p=t=>{if(!t||t.length<1)throw new Error(\"too few inputs\");const e=t[0].type,n=t[0].dims.length;if(\"string\"===e)throw new Error(\"string tensor is not supported yet\");for(const r of t){if(r.type!==e)throw new Error(\"input tensors should be one type\");if(r.dims.length!==n)throw new Error(\"input tensors should have the same shape\")}}},4770:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createUnpackedGroupedConvProgramInfoLoader=void 0;const r=n(6231),i=n(5060),o=n(2039),a=n(8138),s=n(2823);e.createUnpackedGroupedConvProgramInfoLoader=(t,e,n)=>{const u=(c=e.length>2,l=n.cacheKey,{name:\"GroupedConv\",inputNames:c?[\"X\",\"W\",\"Bias\"]:[\"X\",\"W\"],inputTypes:c?[o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked]:[o.TextureType.unpacked,o.TextureType.unpacked],cacheHint:l});var c,l;return Object.assign(Object.assign({},u),{get:()=>((t,e,n,u)=>{const c=e.length>2?\"value += getBias(output_channel);\":\"\",l=e[0].dims.slice(),p=e[1].dims.slice(),f=p[0]/u.group;r.Logger.verbose(\"GroupedConv\",`autpPad:${u.autoPad}, dilations:${u.dilations}, group:${u.group}, kernelShape:${u.kernelShape}, pads:${u.pads}, strides:${u.strides}`);const d=(0,a.calculateOutputShape)(l,p,u.dilations,u.pads,u.strides),h=(0,i.getGlsl)(t.session.backend.glContext.version),{activationFunction:g,applyActivation:b}=(0,s.getActivationSnippet)(u),m=`\\n const ivec2 strides = ivec2(${u.strides[0]}, ${u.strides[1]});\\n const ivec2 pads = ivec2(${u.pads[0]}, ${u.pads[1]});\\n ${g}\\n void main() {\\n ivec4 coords = getOutputCoords();\\n int batch = coords.x;\\n int output_channel = coords.y;\\n ivec2 xRCCorner = coords.zw * strides - pads;\\n int group_id = output_channel / ${f};\\n\\n float value = 0.0;\\n for (int wInChannel = 0; wInChannel < ${p[1]}; wInChannel++) {\\n int input_channel = group_id * ${p[1]} + wInChannel;\\n for (int wHeight = 0; wHeight < ${p[2]}; wHeight++) {\\n int xHeight = xRCCorner.x + wHeight * ${u.dilations[0]};\\n\\n if (xHeight < 0 || xHeight >= ${l[2]}) {\\n continue;\\n }\\n\\n for (int wWidth = 0; wWidth < ${p[3]}; wWidth++) {\\n int xWidth = xRCCorner.y + wWidth * ${u.dilations[1]};\\n if (xWidth < 0 || xWidth >= ${l[3]}) {\\n continue;\\n }\\n\\n float xVal = getX(batch, input_channel, xWidth, xHeight);\\n float wVal = getW(output_channel, wInChannel, wWidth, wHeight);\\n value += xVal*wVal;\\n }\\n }\\n }\\n ${c}\\n ${b}\\n ${h.output} = vec4(value, .0, .0, .0);\\n }\\n`;return Object.assign(Object.assign({},n),{output:{dims:d,type:e[0].type,textureType:o.TextureType.unpacked},shaderSource:m,hasMain:!0})})(t,e,u,n)})}},1386:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.conv2DPacked=e.conv2DPackedPointwise=void 0;const r=n(8138),i=n(8555),o=n(708);e.conv2DPackedPointwise=(t,e,n)=>{const i=e[0].dims,a=e[1].dims,s=(0,r.calculateOutputShape)(i,a,n.dilations,n.pads,n.strides),u=t.reshapePacked(e[0],[i[1],i[2]*i[3]]),c=t.reshapePacked(e[1],[a[0],a[1]]),l=e.length>2?[c,u,e[2]]:[c,u],p=t.run((0,o.createPackedMatmulProgramInfoLoader)(t,l,n),l);return t.reshapePacked(p,s)},e.conv2DPacked=(t,e,n)=>{const a=e[0].dims,s=e[1].dims,u=(0,r.calculateOutputShape)(a,s,n.dilations,n.pads,n.strides),c=t.run((0,i.createPackedIm2ColProgramInfoLoader)(t,e[0],e[1],u,n),[e[0]]),l=t.reshapePacked(e[1],[s[0],s[1]*s[2]*s[3]]),p=3===e.length?[l,c,e[2]]:[l,c],f=t.run((0,o.createPackedMatmulProgramInfoLoader)(t,p,n),p);return t.reshapePacked(f,u)}},9663:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseConvTransposeAttributes=e.convTranspose=void 0;const r=n(246),i=n(5060),o=n(2039),a=n(2823),s=(t,e,n,r,i,o)=>(t-1)*e+n+(r-1)*i+1-o,u=(t,e,n,r,i)=>{const o=Math.floor(t/2);\"SAME_UPPER\"===e?(n[r]=o,n[i]=t-o):\"SAME_LOWER\"===e&&(n[r]=t-o,n[i]=o)};e.convTranspose=(t,e,n)=>(f(e,n),c(t,e,n));const c=(t,e,n)=>{const r=p(n,e);return[l(t,e,r)]},l=(t,e,n)=>t.run(((t,e,n)=>{const r=(s=e.length>2,u=n.cacheKey,{name:\"ConvTranspose\",inputNames:s?[\"X\",\"W\",\"B\"]:[\"X\",\"W\"],inputTypes:s?[o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked]:[o.TextureType.unpacked,o.TextureType.unpacked],cacheHint:u});var s,u;return Object.assign(Object.assign({},r),{get:()=>((t,e,n,r)=>{const s=e.length>2?\"getB(output_channel)\":\"0.0\",u=e[0].dims,c=e[1].dims,l=c[1],p=c[0]/r.group,f=[e[0].dims[0],e[1].dims[1]*r.group,...r.outputShape],d=(0,i.getGlsl)(t.session.backend.glContext.version),{activationFunction:h,applyActivation:g}=(0,a.getActivationSnippet)(r),b=`\\n const ivec2 strides = ivec2(${r.strides[0]}, ${r.strides[1]});\\n const ivec2 pads = ivec2(${r.pads[0]}, ${r.pads[1]});\\n ${h}\\n void main() {\\n ivec4 coords = getOutputCoords();\\n int batch = coords.x;\\n int output_channel = coords.y;\\n\\n ivec2 loc = coords.zw + pads;\\n\\n int group_id = output_channel / ${l};\\n int wOutChannel = output_channel - group_id * ${l};\\n\\n float value = ${s};\\n for (int inChannelOffset = 0; inChannelOffset < ${p}; inChannelOffset++) {\\n int input_channel = group_id * ${p} + inChannelOffset;\\n for (int wWOff = 0; wWOff < ${c[2]}; wWOff++) {\\n for (int wHOff = 0; wHOff < ${c[3]}; wHOff++) {\\n ivec2 wOff = ivec2(wWOff * ${r.dilations[0]}, wHOff * ${r.dilations[1]});\\n ivec2 wLoc = loc - wOff;\\n ivec2 wLocIn = wLoc / strides;\\n if (\\n wLocIn * strides == wLoc &&\\n wLocIn.x >= 0 && wLocIn.x < ${u[2]} &&\\n wLocIn.y >= 0 && wLocIn.y < ${u[3]}\\n ) {\\n float xVal = getX(batch, input_channel, wLocIn.y, wLocIn.x);\\n float wVal = getW(input_channel, wOutChannel, wHOff, wWOff);\\n value += xVal * wVal;\\n }\\n }\\n }\\n }\\n ${g}\\n ${d.output} = vec4(value, .0, .0, .0);\\n }\\n`;return Object.assign(Object.assign({},n),{output:{dims:f,type:e[0].type,textureType:o.TextureType.unpacked},shaderSource:b,hasMain:!0})})(t,e,r,n)})})(t,e,n),e),p=(t,e)=>{const n=t.kernelShape.slice();if(0===t.kernelShape.length)for(let t=2;t<e[1].dims.length;++t)n.push(e[1].dims[t]);const r=t.pads.slice(),i=t.outputShape.slice();((t,e,n,r,i,o,a,c)=>{const l=t.length-2,p=0===c.length;for(let f=0;f<l;++f){const d=p?t[f+2]*o[f]:c[f],h=s(t[f+2],o[f],i[f],e[f],n[f],d);u(h,r,i,f,f+l),p&&c.push(o[f]*(t[f+2]-1)+a[f]+(e[f]-1)*n[f]+1-i[f]-i[f+l])}})(e[0].dims,n,t.dilations,t.autoPad,r,t.strides,t.outputPadding,i);const o=Object.assign({},t);return Object.assign(o,{kernelShape:n,pads:r,outputShape:i,cacheKey:t.cacheKey}),o};e.parseConvTransposeAttributes=t=>{const e=t.attributes,n=(0,a.parseInternalActivationAttributes)(e),i=e.getString(\"auto_pad\",\"NOTSET\"),o=e.getInts(\"dilations\",[1,1]),s=e.getInt(\"group\",1),u=e.getInts(\"kernel_shape\",[]),c=e.getInts(\"output_padding\",[0,0]),l=e.getInts(\"output_shape\",[]),p=e.getInts(\"pads\",[0,0,0,0]),f=e.getInts(\"strides\",[1,1]);return(0,r.createAttributeWithCacheKey)(Object.assign({autoPad:i,dilations:o,group:s,kernelShape:u,outputPadding:c,outputShape:l,pads:p,strides:f},n))};const f=(t,e)=>{if(!t||2!==t.length&&3!==t.length)throw new Error(\"Conv requires 2 or 3 inputs\");if(4!==t[0].dims.length||4!==t[1].dims.length)throw new Error(\"currently only support 2-dimensional conv\");if(t[0].dims[1]!==t[1].dims[0])throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");const n=t[1].dims[1]*e.group;if(3===t.length&&(1!==t[2].dims.length||t[2].dims[0]!==n))throw new Error(\"invalid bias\");const r=t[0].dims.length-2;if(e.dilations.length!==r)throw new Error(`dilations should be ${r}D`);if(e.strides.length!==r)throw new Error(`strides should be ${r}D`);if(e.pads.length!==2*r)throw new Error(`pads should be ${2*r}D`);if(e.outputPadding.length!==r)throw new Error(`output_padding should be ${r}D`);if(0!==e.kernelShape.length&&e.kernelShape.length!==t[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(0!==e.outputShape.length&&e.outputShape.length!==t[0].dims.length-2)throw new Error(\"invalid output shape\");if(\"float32\"!==t[0].type||\"float32\"!==t[1].type)throw new Error(\"ConvTranspose input(X,W) should be float tensor\");if(3===t.length&&\"float32\"!==t[2].type)throw new Error(\"ConvTranspose input(bias) should be float tensor\")}},8138:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseConvAttributes=e.conv=e.calculateOutputShape=void 0;const r=n(246),i=n(2517),o=n(4770),a=n(1386),s=n(9828),u=n(2823),c=n(3248),l=n(5623);e.calculateOutputShape=(t,e,n,r,i)=>{const o=t[0],a=t.slice(2),s=a.length,u=e[0],c=e.slice(2).map(((t,e)=>t+(t-1)*(n[e]-1))),l=a.map(((t,e)=>t+r[e]+r[e+s])).map(((t,e)=>Math.floor((t-c[e]+i[e])/i[e])));return[o,u].concat(...l)},e.conv=(t,e,n)=>(g(e,n),p(t,e,n));const p=(t,e,n)=>{const r=h(n,e),i=t.session.pack,s=1===r.kernelShape[0]&&1===r.kernelShape[1];return r.group>1?[t.run((0,o.createUnpackedGroupedConvProgramInfoLoader)(t,e,r),e)]:s&&i?[f(t,e,r)]:i&&4===e[0].dims.length&&1===e[0].dims[0]&&!s?[(0,a.conv2DPacked)(t,e,r)]:[d(t,e,r)]},f=(t,n,r)=>{const i=n[0].dims,o=n[1].dims,a=(0,e.calculateOutputShape)(i,o,r.dilations,r.pads,r.strides),s=t.reshapeUnpacked(n[0],[i[1],i[2]*i[3]]),u=t.reshapeUnpacked(n[1],[o[0],o[1]]),c=n.length>2?[u,s,n[2]]:[u,s],p=t.run((0,l.createMatmulProgramInfoLoader)(c,r),c);return t.reshapeUnpacked(p,a)},d=(t,n,r)=>{const i=n[0].dims,o=n[1].dims,a=(0,e.calculateOutputShape)(i,o,r.dilations,r.pads,r.strides),u=t.run((0,c.createIm2ColProgramInfoLoader)(t,n[0],n[1],a,r),[n[0]]),l=3===n.length?[u,n[1],n[2]]:[u,n[1]];return t.run((0,s.createDotProductProgramInfoLoader)(t,n,a,r),l)},h=(t,e)=>{const n=t.kernelShape.slice();if(0===t.kernelShape.length)for(let t=2;t<e[1].dims.length;++t)n.push(e[1].dims[t]);const r=t.pads.slice();i.PoolConvUtil.adjustPadsBasedOnAutoPad(e[0].dims,t.strides,t.dilations,n,r,t.autoPad);const o=Object.assign({},t);return Object.assign(o,{kernelShape:n,pads:r,cacheKey:t.cacheKey}),o};e.parseConvAttributes=t=>{const e=t.attributes,n=(0,u.parseInternalActivationAttributes)(e),i=e.getString(\"auto_pad\",\"NOTSET\"),o=e.getInts(\"dilations\",[1,1]),a=e.getInt(\"group\",1),s=e.getInts(\"kernel_shape\",[]),c=e.getInts(\"pads\",[0,0,0,0]),l=e.getInts(\"strides\",[1,1]);return(0,r.createAttributeWithCacheKey)(Object.assign({autoPad:i,dilations:o,group:a,kernelShape:s,pads:c,strides:l},n))};const g=(t,e)=>{if(!t||2!==t.length&&3!==t.length)throw new Error(\"Conv requires 2 or 3 inputs\");if(4!==t[0].dims.length||4!==t[1].dims.length)throw new Error(\"currently only support 2-dimensional conv\");if(t[0].dims[1]!==t[1].dims[1]*e.group)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");if(3===t.length&&(1!==t[2].dims.length||t[1].dims[0]!==t[2].dims[0]))throw new Error(\"invalid bias\");const n=t[0].dims.length-2;if(e.dilations.length!==n)throw new Error(`dilations should be ${n}D`);if(e.strides.length!==n)throw new Error(`strides should be ${n}D`);if(e.pads.length!==2*n)throw new Error(`pads should be ${2*n}D`);if(0!==e.kernelShape.length&&e.kernelShape.length!==t[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(\"float32\"!==t[0].type||\"float32\"!==t[1].type)throw new Error(\"Conv input(X,W) should be float tensor\");if(3===t.length&&\"float32\"!==t[2].type)throw new Error(\"Conv input(bias) should be float tensor\")}},5193:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseDepthToSpaceAttributes=e.depthToSpace=void 0;const r=n(3738);e.depthToSpace=(t,e,n)=>{i(e);const o=n.blocksize,a=o*o,s=\"DCR\"===n.mode?[0,3,4,1,5,2]:[0,1,4,2,5,3],u=\"DCR\"===n.mode?[e[0].dims[0],o,o,e[0].dims[1]/a,e[0].dims[2],e[0].dims[3]]:[e[0].dims[0],e[0].dims[1]/a,o,o,e[0].dims[2],e[0].dims[3]],c=t.reshapeUnpacked(e[0],u),l={perm:s,cacheKey:`${s}`},[p]=(0,r.transpose)(t,[c],l),f=[e[0].dims[0],e[0].dims[1]/a,e[0].dims[2]*o,e[0].dims[3]*o];return[t.reshapeUnpacked(p,f)]},e.parseDepthToSpaceAttributes=t=>{const e=t.attributes.getInt(\"blocksize\");if(e<1)throw new Error(`blocksize must be >= 1, but got : ${e} for DepthToSpace`);const n=t.attributes.getString(\"mode\",\"DCR\");if(\"DCR\"!==n&&\"CRD\"!==n)throw new Error(`unrecognized mode: ${n} for DepthToSpace`);return{mode:n,blocksize:e}};const i=t=>{if(1!==t.length)throw new Error(`DepthToSpace expect 1 inputs, but got ${t.length}`);if(\"string\"===t[0].type||4!==t[0].dims.length)throw new TypeError(\"DepthToSpace input should be a 4-D numeric tensor\")}},9828:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createDotProductProgramInfoLoader=void 0;const r=n(2517),i=n(5060),o=n(2039),a=n(2823),s=n(3248);e.createDotProductProgramInfoLoader=(t,e,n,u)=>{const c=((t,e)=>({name:\"ConvDotProduct\",inputNames:t?[\"Im2Col\",\"K\",\"B\"]:[\"Im2Col\",\"K\"],inputTypes:t?[o.TextureType.unpacked,o.TextureType.packedLastDimension,o.TextureType.unpacked]:[o.TextureType.unpacked,o.TextureType.packedLastDimension],cacheKey:e.activationCacheKey}))(e.length>2,u);return Object.assign(Object.assign({},c),{get:()=>((t,e,n,u,c)=>{const l=n[0].dims,p=n[1].dims,f=[p[0],Math.ceil(l[1]*p[2]*p[3]/4)],d=(0,s.calculateIm2ColDims)(l,p,u),[h,g]=t.calculateTextureWidthAndHeight(f,o.TextureType.packedLastDimension),b=r.ShapeUtil.computeStrides(d),[m,y]=t.calculateTextureWidthAndHeight(d,o.TextureType.packedLastDimension),_=u.length,v=n.length<3?\"0.0\":\"_B(b)\",w=Math.ceil(l[1]*p[2]*p[3]/4),{activationFunction:x,applyActivation:T}=(0,a.getActivationSnippet)(c),S=(0,i.getGlsl)(t.session.backend.glContext.version),O=`\\n${x}\\nfloat process(int indices[${_}]) {\\n int b[1];\\n b[0] = indices[1];\\n int im2col[4];\\n im2col[0] = indices[0];\\n im2col[1] = indices[2];\\n im2col[2] = indices[3];\\n int im2colOffset = im2col[0] * ${b[0]} + im2col[1] * ${b[1]} + im2col[2] * ${b[2]};\\n int kernelOffset = indices[1] * ${f[1]};\\n float value = ${v};\\n for (int i = 0; i < ${w}; ++i) {\\n vec2 im2colCoords = offsetToCoords(im2colOffset, ${m}, ${y});\\n vec2 kernelCoords = offsetToCoords(kernelOffset, ${h}, ${g});\\n value += dot(${S.texture2D}(Im2Col, im2colCoords), ${S.texture2D}(K, kernelCoords));\\n ++im2colOffset;\\n ++kernelOffset;\\n }\\n ${T}\\n return value;\\n}`;return Object.assign(Object.assign({},e),{output:{dims:u,type:n[0].type,textureType:o.TextureType.unpacked},shaderSource:O})})(t,c,e,n,u)})}},7992:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseFlattenAttributes=e.flatten=void 0;const r=n(2517);e.flatten=(t,e,n)=>{i(e,n);const o=r.ShapeUtil.flattenShape(e[0].dims,n);return[t.reshapeUnpacked(e[0],o)]},e.parseFlattenAttributes=t=>t.attributes.getInt(\"axis\",1);const i=(t,e)=>{if(!t||1!==t.length)throw new Error(\"Flatten requires 1 input.\");const n=t[0].dims.length;if(0===n)throw new Error(\"scalar tensor is not supported.\");if(e<-n||e>n)throw new Error(\"Invalid axis\");if(\"string\"===t[0].type)throw new Error(\"string tensor is not supported.\")}},2823:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseInternalActivationAttributes=e.getActivationSnippet=void 0;const r=n(2517),i=n(4909);e.getActivationSnippet=function(t){let e;switch(t.activation){case\"Relu\":e=(0,i.glslRelu)();break;case\"Sigmoid\":e=(0,i.glslSigmoid)();break;case\"Clip\":e=(0,i.glslClip)(t.clipMin,t.clipMax);break;default:return{activationFunction:\"\",applyActivation:\"\"}}const n=e.name;return{activationFunction:e.body,applyActivation:`value = ${n}_(value);`}},e.parseInternalActivationAttributes=t=>{const e=t.getString(\"activation\",\"\");if(\"Clip\"===e){const[n,i]=t.getFloats(\"activation_params\",[r.MIN_CLIP,r.MAX_CLIP]);return{activation:e,clipMax:i,clipMin:n,activationCacheKey:`${e}:${n},${i}`}}return{activation:e,activationCacheKey:e}}},1253:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseGatherAttributes=e.gather=void 0;const r=n(246),i=n(782),o=n(2517),a=n(2039);e.gather=(t,e,n)=>(c(e,n.axis),[t.run(u(t,e,n),e)]),e.parseGatherAttributes=t=>(0,r.createAttributeWithCacheKey)({axis:t.attributes.getInt(\"axis\",0)});const s={name:\"Gather\",inputNames:[\"A\",\"B\"],inputTypes:[a.TextureType.unpacked,a.TextureType.unpacked]},u=(t,e,n)=>{const r=Object.assign(Object.assign({},s),{cacheHint:n.cacheKey});return Object.assign(Object.assign({},r),{get:()=>((t,e,n,r)=>{const i=n[0].dims.slice(),s=n[1].dims.slice(),u=new Array(i.length+s.length-1);r=o.ShapeUtil.normalizeAxis(r,i.length);const c=[];for(let t=0;t<u.length;t++)t<r?(u[t]=i[t],c.push(`inputIdx[${t}] = outputIdx[${t}];`)):t<r+s.length?(u[t]=s[t-r],c.push(`indexDataIdx[${t-r}] = outputIdx[${t}];`)):(u[t]=i[t-s.length+1],c.push(`inputIdx[${t-s.length+1}] = outputIdx[${t}];`));const l=`\\n float process(int outputIdx[${u.length||1}]) {\\n int inputIdx[${i.length}];\\n int indexDataIdx[${s.length||1}];\\n indexDataIdx[0] = 0;\\n ${c.join(\"\\n \")}\\n int idx = int(_B(indexDataIdx));\\n inputIdx[${r}] = idx < 0 ? idx + ${i[r]} : idx;\\n return _A(inputIdx);\\n }`;return Object.assign(Object.assign({},e),{output:{dims:u,type:n[0].type,textureType:a.TextureType.unpacked},shaderSource:l})})(0,r,e,n.axis)})},c=(t,e)=>{if(!t||2!==t.length)throw new Error(\"Gather requires 2 inputs.\");const n=t[0].dims.length;if(n<1)throw new Error(\"Invalid input shape.\");if(e<-n||e>n-1)throw new Error(\"Invalid axis.\");if(-1===i.NUMBER_TYPES.indexOf(t[0].type))throw new Error(\"Invaid input type.\");if(\"int32\"!==t[1].type&&\"int16\"!==t[1].type)throw new Error(\"Invaid input type.\")}},4776:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseGemmAttributesV11=e.parseGemmAttributesV7=e.gemm=void 0;const r=n(246),i=n(2517),o=n(2039);e.gemm=(t,e,n)=>(c(e,n),[t.run(s(e,n),e)]);const a=(t,e)=>{const n=0!==t.attributes.getInt(\"transA\",0),i=0!==t.attributes.getInt(\"transB\",0),o=t.attributes.getFloat(\"alpha\",1),a=t.attributes.getFloat(\"beta\",1);return(0,r.createAttributeWithCacheKey)({transA:n,transB:i,alpha:o,beta:a,isOptionalC:e})};e.parseGemmAttributesV7=t=>a(t,!1),e.parseGemmAttributesV11=t=>a(t,!0);const s=(t,e)=>{const n={name:\"Gemm\",inputNames:3===t.length?[\"A\",\"B\",\"C\"]:[\"A\",\"B\"],inputTypes:3===t.length?[o.TextureType.unpacked,o.TextureType.unpacked,o.TextureType.unpacked]:[o.TextureType.unpacked,o.TextureType.unpacked],key:e.cacheKey};return Object.assign(Object.assign({},n),{get:()=>u(n,t,e)})},u=(t,e,n)=>{const r=e[0].dims.slice(),a=e[1].dims.slice(),[s,u]=i.GemmUtil.getShapeOfGemmResult(r,n.transA,a,n.transB,3===e.length?e[2].dims:void 0),c=[s,u];if(!c)throw new Error(\"Can't use gemm on the given tensors\");let l=r[r.length-1],p=\"\";n.transA&&(l=r[0]),n.transA&&n.transB?p=\"value += _A_T(a) * _B_T(b);\":n.transA&&!n.transB?p=\"value += _A_T(a) * _B(b);\":!n.transA&&n.transB?p=\"value += _A(a) * _B_T(b);\":n.transA||n.transB||(p=\"value += _A(a) * _B(b);\");const f=c.length,d=`\\n float process(int indices[${f}]) {\\n int a[${f}];\\n int b[${f}];\\n ${3===e.length?`int c[${e[2].dims.length}];`:\"\"}\\n\\n copyVec(indices, a);\\n copyVec(indices, b);\\n ${3===e.length?\"bcastIndices_C(indices, c);\":\"\"}\\n\\n float value = 0.0;\\n for (int k=0; k<${l}; ++k) {\\n a[${f-1}] = k;\\n b[${f-2}] = k;\\n ${p}\\n }\\n\\n value = value * alpha;\\n ${3===e.length?\"value += beta * _C(c);\":\"\"}\\n return value;\\n }`;return Object.assign(Object.assign({},t),{output:{dims:c,type:e[0].type,textureType:o.TextureType.unpacked},variables:[{name:\"alpha\",type:\"float\",data:n.alpha},{name:\"beta\",type:\"float\",data:n.beta}],shaderSource:d})},c=(t,e)=>{if(!t)throw new Error(\"Input is missing\");if(e.isOptionalC&&(t.length<2||t.length>3))throw new Error(\"Invaid input shape.\");if(!e.isOptionalC&&3!==t.length)throw new Error(\"Gemm requires 3 inputs\");if(3===t.length&&1!==t[2].dims.length&&2!==t[2].dims.length)throw new Error(\"Invalid input shape of C\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type||\"float32\"!==t[1].type&&\"float64\"!==t[1].type||3===t.length&&\"float32\"!==t[2].type&&\"float64\"!==t[2].type)throw new Error(\"Invalid input type.\");if(t[0].type!==t[1].type||3===t.length&&t[0].type!==t[2].type)throw new Error(\"Input types are mismatched\")}},8555:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createPackedIm2ColProgramInfoLoader=void 0;const r=n(5060),i=n(2039),o=n(2827);e.createPackedIm2ColProgramInfoLoader=(t,e,n,a,s)=>{const u=(c=s.cacheKey,{name:\"Im2Col (packed)\",inputNames:[\"A\"],inputTypes:[i.TextureType.packed],cacheHint:c});var c;return Object.assign(Object.assign({},u),{get:()=>((t,e,n,a,s,u)=>{const c=n.dims,l=a.dims,p=s.length,f=[l[1]*l[2]*l[3],s[2]*s[3]],d=l[2]*l[3],h=(0,o.unpackFromChannel)(),g=(0,r.getGlsl)(t.session.backend.glContext.version);let b=\"\";for(let t=0;t<=1;t++)for(let e=0;e<=1;e++)b+=`\\n blockIndex = rc.x + ${e};\\n pos = rc.y + ${t};\\n\\n if(blockIndex < ${f[1]} && pos < ${f[0]}) {\\n offsetY = int(blockIndex / (${s[p-1]})) * ${u.strides[0]} -\\n ${u.pads[0]};\\n d0 = offsetY + ${u.dilations[0]} * (imod(pos, ${d}) / ${l[2]});\\n\\n if(d0 < ${c[2]} && d0 >= 0) {\\n offsetX = imod(blockIndex, ${s[p-1]}) * ${u.strides[1]} -\\n ${u.pads[1]};\\n d1 = offsetX + ${u.dilations[1]} * imod(imod(pos, ${d}), ${l[2]});\\n\\n if(d1 < ${c[3]} && d1 >= 0) {\\n\\n ch = int(float(pos)/ ${d}.);\\n innerDims = vec2(d0, d1);\\n result[${2*t+e}] = getChannel(\\n getA(0, ch, int(innerDims.x),\\n int(innerDims.y)), innerDims);\\n }\\n }\\n }\\n\\n `;const m=`\\n ${h}\\n\\n void main() {\\n ivec2 rc = getOutputCoords();\\n vec4 result = vec4(0.0);\\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\\n vec2 innerDims;\\n ${b}\\n ${g.output} = result;\\n }\\n `;return Object.assign(Object.assign({},e),{output:{dims:f,type:n.type,textureType:i.TextureType.packed},shaderSource:m,hasMain:!0})})(t,u,e,n,a,s)})}},3248:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.calculateIm2ColDims=e.createIm2ColProgramInfoLoader=void 0;const r=n(2039);e.createIm2ColProgramInfoLoader=(t,n,i,o,a)=>{const s=(u=a.cacheKey,{name:\"Im2Col\",inputNames:[\"X\"],inputTypes:[r.TextureType.unpacked],cacheHint:u});var u;return Object.assign(Object.assign({},s),{get:()=>((t,n,i,o,a,s)=>{const u=i.dims,c=o.dims,l=a.length,p=(0,e.calculateIm2ColDims)(u,c,a,4),f=`\\n const int XC = ${u[1]};\\n const int XH = ${u[2]};\\n const int XW = ${u[3]};\\n const int KH = ${s.kernelShape[0]};\\n const int KW = ${s.kernelShape[1]};\\n const int dilationH = ${s.dilations[0]};\\n const int dilationW = ${s.dilations[1]};\\n const int strideH = ${s.strides[0]};\\n const int strideW = ${s.strides[1]};\\n const int padH = ${s.pads[0]};\\n const int padW = ${s.pads[1]};\\n const int KHKW = KH*KW;\\n const int XCKHKW = XC * KHKW;\\n const int outputChannels = 4;\\n vec4 process(int indices[${l}]) {\\n int b = indices[0]; // batch size\\n int oh = indices[1] * strideH - padH; //output height\\n int ow = indices[2] * strideW - padW; //output width\\n int p = indices[3] * outputChannels; //patch\\n vec4 value = vec4(0.0);\\n for(int i=0; i < outputChannels; ++i) {\\n if(p < XCKHKW) {\\n int patchC = p / KHKW;\\n int patchH = (p - patchC*KHKW) / KW;\\n int patchW = (p - patchC*KHKW) - patchH * KW;\\n int xh2 = oh + patchH * dilationH;\\n int xw2 = ow + patchW * dilationW;\\n int x[${u.length}];\\n x[0] = b;\\n x[1] = patchC;\\n x[2] = xh2;\\n x[3] = xw2;\\n if(xh2 >= 0 &&\\n xh2 < XH &&\\n xw2 >= 0 &&\\n xw2 < XW) {\\n value[i] = _X(x);\\n }\\n }\\n ++p;\\n }\\n return value;\\n }\\n `;return Object.assign(Object.assign({},n),{output:{dims:p,type:i.type,textureType:r.TextureType.packedLastDimension},shaderSource:f})})(0,s,n,i,o,a)})},e.calculateIm2ColDims=(t,e,n,r=4)=>[n[0],n[2],n[3],Math.ceil(t[1]*e[2]*e[3]/r)]},6572:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseImageScalerAttributes=e.imageScaler=void 0;const r=n(246),i=n(2039);e.imageScaler=(t,e,n)=>(u(e),[t.run(a(t,e,n),e)]),e.parseImageScalerAttributes=t=>{const e=t.attributes.getFloat(\"scale\"),n=t.attributes.getFloats(\"bias\");return(0,r.createAttributeWithCacheKey)({scale:e,bias:n})};const o={name:\"ImageScaler\",inputNames:[\"X\"],inputTypes:[i.TextureType.unpacked]},a=(t,e,n)=>{const r=Object.assign(Object.assign({},o),{cacheHint:n.cacheKey});return Object.assign(Object.assign({},r),{get:()=>((t,e,n,r)=>{const o=n[0].dims.slice(),a=o.length,u=`\\n ${s(r.bias.length)}\\n float process(int indices[${a}]) {\\n return _X(indices) * scale + getBias(bias, indices[1]);\\n }`;return Object.assign(Object.assign({},e),{output:{dims:o,type:n[0].type,textureType:i.TextureType.unpacked},variables:[{name:\"bias\",type:\"float\",arrayLength:r.bias.length,data:r.bias},{name:\"scale\",type:\"float\",data:r.scale}],shaderSource:u})})(0,r,e,n)})},s=t=>{const e=[`float getBias(float bias[${t}], int channel) {`];for(let n=0;n<t;++n)0===n?e.push(`\\tif (channel == ${n}) { return bias[${n}]; }`):n===t-1?e.push(`\\telse { return bias[${n}]; }`):e.push(`\\telse if (channel == ${n}) { return bias[${n}]; }`);return e.push(\"\\t}\"),e.join(\"\\n\")},u=t=>{if(!t||1!==t.length)throw new Error(\"ImageScaler requires 1 input.\");if(4!==t[0].dims.length)throw new Error(\"Invalid input shape.\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"Invalid input type.\")}},3346:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseInstanceNormalizationAttributes=e.instanceNormalization=void 0;const r=n(5060),i=n(2039);e.instanceNormalization=(t,e,n)=>{c(e);const r=t.run(a(e[0]),e);return[t.run(u(t,e[0],n,r.dims),[e[0],r,e[1],e[2]])]},e.parseInstanceNormalizationAttributes=t=>t.attributes.getFloat(\"epsilon\",1e-5);const o={name:\"InstanceNormalization_MeanAndVariance\",inputNames:[\"X\"],inputTypes:[i.TextureType.unpacked]},a=t=>Object.assign(Object.assign({},o),{get:()=>((t,e)=>{const n=e.dims.slice(),r=n[1],o=n[2]*n[3],a=[n[0],r],s=`\\n vec4 process(int[2] indices) {\\n vec4 v = vec4(0.0);\\n int a[4];\\n a[0] = indices[0];\\n a[1] = indices[1];\\n float temp = 0.0;\\n for(int a2=0; a2<${n[2]}; a2++) {\\n a[2] = a2;\\n for(int a3=0; a3<${n[3]}; a3++) {\\n a[3] = a3;\\n float x = _X(a);\\n temp += x;\\n }\\n }\\n float mean = temp / float(${o});\\n temp = 0.0;\\n for(int a2=0; a2<${n[2]}; a2++) {\\n a[2] = a2;\\n for(int a3=0; a3<${n[3]}; a3++) {\\n a[3] = a3;\\n float x = _X(a);\\n temp += (x - mean) * (x - mean);\\n }\\n }\\n v.r = mean;\\n v.g = temp / float(${o});\\n\\n return v;\\n }`;return Object.assign(Object.assign({},t),{output:{dims:a,type:e.type,textureType:i.TextureType.packedLastDimension},shaderSource:s})})(o,t)}),s={name:\"InstanceNormalization_ComputeOutput\",inputNames:[\"X\",\"MeanAndVariance\",\"Scale\",\"B\"],inputTypes:[i.TextureType.unpacked,i.TextureType.packedLastDimension,i.TextureType.unpacked,i.TextureType.unpacked]},u=(t,e,n,o)=>{const a=Object.assign(Object.assign({},s),{cacheHint:`${n}`});return Object.assign(Object.assign({},a),{get:()=>((t,e,n,o,a)=>{const s=(0,r.getGlsl)(t.session.backend.glContext.version),[u,c]=t.calculateTextureWidthAndHeight(a,i.TextureType.packedLastDimension),[l,p]=[u/4,c],f=`\\n vec4 get_MeanAndVariance(int[2] mv) {\\n int offset = indicesToOffset_MeanAndVariance(mv);\\n vec2 coords = offsetToCoords(offset, ${l}, ${p});\\n return ${s.texture2D}(MeanAndVariance, coords);\\n }\\n\\n float process(int[4] indices) {\\n int mv[2];\\n mv[0] = indices[0];\\n mv[1] = indices[1];\\n vec4 mean_and_variance = get_MeanAndVariance(mv);\\n float mean = mean_and_variance.r;\\n float variance = mean_and_variance.g;\\n\\n int sb[1];\\n sb[0] = indices[1];\\n float scale = _Scale(sb);\\n float b = _B(sb);\\n\\n return scale * (_X(indices) - mean) / sqrt(variance + epsilon) + b;\\n }`;return Object.assign(Object.assign({},e),{output:{dims:n.dims,type:n.type,textureType:i.TextureType.unpacked},variables:[{name:\"epsilon\",type:\"float\",data:o}],shaderSource:f})})(t,a,e,n,o)})},c=t=>{if(!t||3!==t.length)throw new Error(\"InstanceNormalization requires 3 inputs.\");const e=t[0],n=t[1],r=t[2];if(e.dims.length<3||1!==n.dims.length||1!==r.dims.length)throw new Error(\"Invalid input shape.\");if(n.dims[0]!==e.dims[1]||r.dims[0]!==e.dims[1])throw new Error(\"Input shapes are mismatched.\");if(\"float32\"!==e.type&&\"float64\"!==e.type||\"float32\"!==n.type&&\"float64\"!==n.type||\"float32\"!==r.type&&\"float64\"!==r.type)throw new Error(\"Invalid input type.\");if(4!==t[0].dims.length)throw new Error(\"Only support 4-D input shape.\")}},708:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createPackedMatmulProgramInfoLoader=void 0;const r=n(2517),i=n(5060),o=n(2039),a=n(9390),s=n(2823),u=n(5623);e.createPackedMatmulProgramInfoLoader=(t,e,n)=>{const c=(l=e.length>2,p=n.activationCacheKey,{name:\"MatMul (packed)\",inputNames:l?[\"A\",\"B\",\"Bias\"]:[\"A\",\"B\"],inputTypes:l?[o.TextureType.packed,o.TextureType.packed,o.TextureType.packed]:[o.TextureType.packed,o.TextureType.packed],cacheHint:p});var l,p;return Object.assign(Object.assign({},c),{get:()=>((t,e,n,c)=>{const l=n.length>2,p=l?\"value += getBiasForMatmul();\":\"\",f=n[0].dims,d=n[1].dims,h=r.BroadcastUtil.calcShape(f,d,!0),g=!r.ShapeUtil.areEqual(n[0].dims,n[1].dims);if(!h)throw new Error(\"Can't use matmul on the given tensors\");const b=f[f.length-1],m=Math.ceil(b/2),y=f.length,_=d.length,v=(0,i.getGlsl)(t.session.backend.glContext.version),w=(0,a.getCoordsDataType)(h.length),x=h.length,T=(0,a.getGlChannels)(),{activationFunction:S,applyActivation:O}=(0,s.getActivationSnippet)(c),A=l?`${(0,u.getBiasForMatmul)(w,T,n[2].dims,h,!0)}`:\"\",E=g?`${function(t,e,n,i){let o=[],a=[];const s=n[0].dims,u=n[1].dims,c=s.length,l=u.length,p=i.length,f=p-c,d=p-l;o=s.map(((t,n)=>`coords.${e[n+f]}`)),o[c-1]=\"i*2\",o.join(\", \"),a=u.map(((t,n)=>`coords.${e[n+d]}`)),a[l-2]=\"i*2\",a.join(\", \");const h=r.BroadcastUtil.getBroadcastDims(s,i),g=r.BroadcastUtil.getBroadcastDims(u,i),b=h.map((t=>`coords.${e[t+f]} = 0;`)).join(\"\\n\"),m=g.map((t=>`coords.${e[t+d]} = 0;`)).join(\"\\n\"),y=`int lastDim = coords.${e[p-1]};\\n coords.${e[p-1]} = coords.${e[p-2]};\\n coords.${e[p-2]} = lastDim;`;return`\\nvec4 getAAtOutCoordsMatmul(int i) {\\n ${t} coords = getOutputCoords();\\n ${y}\\n ${b}\\n vec4 outputValue = getA(${o});\\n return outputValue;\\n}\\n\\nvec4 getBAtOutCoordsMatmul(int i) {\\n ${t} coords = getOutputCoords();\\n ${y}\\n ${m}\\n vec4 outputValue = getB(${a});\\n return outputValue;\\n}`}(w,T,n,h)}`:\"\",I=g?\"getAAtOutCoordsMatmul(i)\":`getA(${function(t,e){let n=\"\";for(let r=0;r<e-2;r++)n+=`rc.${t[r]}, `;return n+=`rc.${t[e-2]}, i*2`,n}(T,y)})`,P=g?\"getBAtOutCoordsMatmul(i)\":`getB(${function(t,e){let n=\"\";for(let r=0;r<e-2;r++)n+=`rc.${t[r]}, `;return n+=`i*2, rc.${t[e-1]}`,n}(T,_)})`,D=`\\n ${E}\\n ${A}\\n ${S}\\n void main() {\\n ${g?\"\":`${w} rc =\\n getOutputCoords(); int lastDim = rc.${T[x-1]}; rc.${T[x-1]} =\\n rc.${T[x-2]}; rc.${T[x-2]} = lastDim;\\n `}\\n\\n vec4 value = vec4(0);\\n for (int i = 0; i < ${m}; i++) {\\n vec4 a = ${I};\\n vec4 b = ${P};\\n\\n value += (a.rrbb * b.rgrg);\\n value += (a.ggaa * b.baba);\\n }\\n ${p}\\n ${O}\\n ${v.output} = value;\\n }`;return Object.assign(Object.assign({},e),{output:{dims:h,type:n[0].type,textureType:o.TextureType.packed},shaderSource:D,hasMain:!0})})(t,c,e,n)})}},5623:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getBiasForMatmul=e.createMatmulProgramInfoLoader=e.parseMatMulAttributes=e.matMul=void 0;const r=n(2517),i=n(2039),o=n(9390),a=n(2823),s=n(708);function u(t,e){const n=(s=t.length>2,u=e.activationCacheKey,{name:\"MatMul\",inputNames:s?[\"A\",\"B\",\"Bias\"]:[\"A\",\"B\"],inputTypes:s?[i.TextureType.unpacked,i.TextureType.unpacked,i.TextureType.unpacked]:[i.TextureType.unpacked,i.TextureType.unpacked],cacheHint:u});var s,u;return Object.assign(Object.assign({},n),{get:()=>function(t,e,n){const s=e[0].dims,u=e[1].dims,c=r.BroadcastUtil.calcShape(s,u,!0);if(!c)throw new Error(\"Can't use matmul on the given tensors\");const p=(0,o.getCoordsDataType)(c.length),f=(0,o.getGlChannels)(),{activationFunction:d,applyActivation:h}=(0,a.getActivationSnippet)(n),g=e.length>2,b=g?\"value += getBiasForMatmul();\":\"\",m=g?`${l(p,f,e[2].dims,c,!1)}`:\"\",y=c.length,_=s.length,v=u.length,w=`\\n ${d}\\n ${m}\\n float process(int indices[${y}]) {\\n int a[${_}];\\n int b[${v}];\\n bcastMatmulIndices_A(indices, a);\\n bcastMatmulIndices_B(indices, b);\\n\\n float value;\\n for (int k=0; k<${s[s.length-1]}; ++k) {\\n a[${_-1}] = k;\\n b[${v-2}] = k;\\n value += _A(a) * _B(b);\\n }\\n ${b}\\n ${h}\\n return value;\\n }`;return Object.assign(Object.assign({},t),{output:{dims:c,type:e[0].type,textureType:i.TextureType.unpacked},shaderSource:w})}(n,t,e)})}e.matMul=(t,e,n)=>(c(e),t.session.pack?[t.run((0,s.createPackedMatmulProgramInfoLoader)(t,e,n),e)]:[t.run(u(e,n),e)]),e.parseMatMulAttributes=t=>(0,a.parseInternalActivationAttributes)(t.attributes),e.createMatmulProgramInfoLoader=u;const c=t=>{if(!t||2!==t.length)throw new Error(\"MatMul requires 2 inputs.\");if(t[0].dims[t[0].dims.length-1]!==t[1].dims[t[1].dims.length-2])throw new Error(\"shared dimension does not match.\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type||\"float32\"!==t[1].type&&\"float64\"!==t[1].type)throw new Error(\"inputs should be float type\");if(t[0].type!==t[1].type)throw new Error(\"inputs types should match\")};function l(t,e,n,i,o){let a=\"\";const s=n.length,u=i.length,c=u-s;a=u<2&&s>0?\"coords\":n.map(((t,n)=>`coords.${e[n+c]}`)).join(\", \");const l=r.BroadcastUtil.getBroadcastDims(n,i).map((t=>`coords.${e[t+c]} = 0;`)).join(\"\\n\");let p=\"vec4(outputValue.xx, outputValue.yy)\";return 1===r.ShapeUtil.size(n)&&(p=\"vec4(outputValue.x)\"),o?`\\nvec4 getBiasForMatmul() {\\n ${t} coords = getOutputCoords();\\n ${l}\\n vec4 outputValue = getBias(${a});\\n return ${p};\\n}`:`\\nfloat getBiasForMatmul() {\\n ${t} coords = getOutputCoords();\\n ${l}\\n return getBias(coords.x);\\n}`}e.getBiasForMatmul=l},2403:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createPackProgramInfoLoader=void 0;const r=n(5060),i=n(2039),o=n(9390),a=n(2827),s={name:\"pack\",inputNames:[\"A\"],inputTypes:[i.TextureType.unpackedReversed]};e.createPackProgramInfoLoader=(t,e)=>Object.assign(Object.assign({},s),{get:()=>((t,e)=>{const n=(0,r.getGlsl)(t.session.backend.glContext.version),u=e.dims,c=u.length,l=e.dims.length,p=(0,o.getCoordsDataType)(l),f=(0,a.getChannels)(\"rc\",l),d=(h=l,g=f,b=u[u.length-2],m=u[u.length-1],0===h||1===h?\"\":`\\n int r = ${g[h-2]};\\n int c = ${g[h-1]};\\n int rp1 = ${g[h-2]} + 1;\\n int cp1 = ${g[h-1]} + 1;\\n bool rEdge = rp1 >= ${m};\\n bool cEdge = cp1 >= ${b};\\n `);var h,g,b,m;let y;y=0===c?[1,1]:1===c?[u[0],1]:[u[l-1],u[l-2]];const _=function(t,e,n){if(0===t)return\"false\";if(1===t)return`rc > ${e[0]}`;let r=\"\";for(let i=t-2;i<t;i++)r+=`${n[i]} >= ${e[i-t+2]}`,i<t-1&&(r+=\"||\");return r}(l,y,f),v=function(t,e){const n=t.length;if(0===n)return\"getA(), 0, 0, 0\";if(1===n)return`getA(rc),\\n rc + 1 >= ${t[0]} ? 0. : getA(rc + 1),\\n 0, 0`;let r=\"\";if(n>2)for(let t=0;t<n-2;++t)r+=`${e[t]},`;return`getA(${r}r, c),\\n rEdge ? 0. : getA(${r}rp1, c),\\n cEdge ? 0. : getA(${r}r, cp1),\\n rEdge || cEdge ? 0. : getA(${r}rp1, cp1)`}(u,f),w=`\\n void main() {\\n ${p} rc = getOutputCoords();\\n\\n if(${_}) {\\n ${n.output} = vec4(0);\\n } else {\\n ${d}\\n\\n ${n.output} = vec4(${v});\\n }\\n }\\n `;return Object.assign(Object.assign({},s),{hasMain:!0,output:{dims:e.dims,type:e.type,textureType:i.TextureType.packed},shaderSource:w})})(t,e)})},2827:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.unpackFromChannel=e.getChannels=e.getVecChannels=void 0;const r=n(9390);function i(t,e){return(0,r.getGlChannels)(e).map((e=>`${t}.${e}`))}e.getVecChannels=i,e.getChannels=function(t,e){return 1===e?[t]:i(t,e)},e.unpackFromChannel=function(){return\"\\n float getChannel(vec4 frag, int dim) {\\n int modCoord = imod(dim, 2);\\n return modCoord == 0 ? frag.r : frag.g;\\n }\\n\\n float getChannel(vec4 frag, vec2 innerDims) {\\n vec2 modCoord = mod(innerDims, 2.);\\n return modCoord.x == 0. ?\\n (modCoord.y == 0. ? frag.r : frag.g) :\\n (modCoord.y == 0. ? frag.b : frag.a);\\n }\\n \"}},2870:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parsePadAttributesV11=e.padV11=e.parsePadAttributesV2=e.padV2=void 0;const r=n(246),i=n(2517),o=n(5060),a=n(2039),s={name:\"Pad\",inputNames:[\"A\"],inputTypes:[a.TextureType.unpacked]};e.padV2=(t,e,n)=>(l(e),[t.run(Object.assign(Object.assign({},s),{cacheHint:n.cacheKey,get:()=>c(t,e[0],n)}),e)]),e.parsePadAttributesV2=t=>{const e=t.attributes.getString(\"mode\",\"constant\"),n=t.attributes.getFloat(\"value\",0),i=t.attributes.getInts(\"pads\");return(0,r.createAttributeWithCacheKey)({mode:e,value:n,pads:i})},e.padV11=(t,n,r)=>{p(n);const i=u(t,n,r);return(0,e.padV2)(t,[n[0]],i)},e.parsePadAttributesV11=t=>t.attributes.getString(\"mode\",\"constant\");const u=(t,e,n)=>{if(!t.session.isInitializer(e[1].dataId)||e.length>=3&&!t.session.isInitializer(e[2].dataId))throw new Error(\"dynamic pad attributes are not allowed\");const i=Array.from(e[1].integerData),o=e.length>=3?e[2].floatData[0]:0;return(0,r.createAttributeWithCacheKey)({mode:n,pads:i,value:o})},c=(t,e,n)=>{const r=i.ShapeUtil.padShape(e.dims.slice(),n.pads),o=r.length,s=`\\n ${f(t,e,n)}\\n float process(int[${o}] indices) {\\n return padA(indices);\\n }`;return{name:\"Pad\",inputNames:[\"A\"],inputTypes:[a.TextureType.unpacked],output:{dims:r,type:e.type,textureType:a.TextureType.unpacked},shaderSource:s}},l=t=>{if(!t||1!==t.length)throw new Error(\"Pad requires 1 input\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"Invalid input type.\")},p=t=>{if(!t||2!==t.length&&3!==t.length)throw new Error(\"Pad requires 2 or 3 inputs\");if(\"int32\"!==t[1].type)throw new Error(\"Invalid input type.\");if(t.length>=3&&\"string\"===t[2].type)throw new Error(\"Invalid input type.\")},f=(t,e,n)=>{const r=(0,o.getGlsl)(t.session.backend.glContext.version),[s,u]=t.calculateTextureWidthAndHeight(e.dims,a.TextureType.unpacked),c=i.ShapeUtil.computeStrides(e.dims);switch(n.mode){case\"constant\":return d(r,e.dims,c,s,u,n.pads,n.value);case\"reflect\":return h(r,e.dims,c,s,u,n.pads);case\"edge\":return g(r,e.dims,c,s,u,n.pads);default:throw new Error(\"Invalid mode\")}},d=(t,e,n,r,i,o,a)=>{const s=e.length;let u=\"\";for(let t=s-1;t>=0;--t)u+=`\\n k = m[${t}] - ${o[t]};\\n if (k < 0) return constant;\\n if (k >= ${e[t]}) return constant;\\n offset += k * ${n[t]};\\n `;return`\\n float padA(int m[${s}]) {\\n const float constant = float(${a});\\n int offset = 0;\\n int k = 0;\\n ${u}\\n vec2 coords = offsetToCoords(offset, ${r}, ${i});\\n float value = getColorAsFloat(${t.texture2D}(A, coords));\\n return value;\\n }\\n `},h=(t,e,n,r,i,o)=>{const a=e.length;let s=\"\";for(let t=a-1;t>=0;--t)s+=`\\n k = m[${t}] - ${o[t]};\\n if (k < 0) { k = -k; }\\n {\\n const int _2n_1 = ${2*(e[t]-1)};\\n k = int( mod( float(k), float(_2n_1) ) ) ;\\n if(k >= ${e[t]}) { k = _2n_1 - k; }\\n }\\n offset += k * ${n[t]};\\n `;return`\\n float padA(int m[${a}]) {\\n int offset = 0;\\n int k = 0;\\n ${s}\\n vec2 coords = offsetToCoords(offset, ${r}, ${i});\\n float value = getColorAsFloat(${t.texture2D}(A, coords));\\n return value;\\n }\\n `},g=(t,e,n,r,i,o)=>{const a=e.length;let s=\"\";for(let t=a-1;t>=0;--t)s+=`\\n k = m[${t}] - ${o[t]};\\n if (k < 0) k = 0;\\n if (k >= ${e[t]}) k = ${e[t]-1};\\n offset += k * ${n[t]};\\n `;return`\\n float padA(int m[${a}]) {\\n int offset = 0;\\n int k = 0;\\n ${s}\\n vec2 coords = offsetToCoords(offset, ${r}, ${i});\\n float value = getColorAsFloat(${t.texture2D}(A, coords));\\n return value;\\n }\\n `}},2143:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.globalMaxPool=e.parseMaxPoolAttributes=e.maxPool=e.parseGlobalAveragePoolAttributes=e.globalAveragePool=e.parseAveragePoolAttributes=e.averagePool=void 0;const r=n(246),i=n(2517),o=n(2039);e.averagePool=(t,e,n)=>{p(e);const r={name:\"AveragePool\",inputNames:[\"X\"],inputTypes:[o.TextureType.unpacked],cacheHint:n.cacheKey};return[t.run(Object.assign(Object.assign({},r),{get:()=>a(e,r,!1,n)}),e)]},e.parseAveragePoolAttributes=t=>{const e=t.attributes.getString(\"auto_pad\",\"NOTSET\"),n=t.attributes.getInt(\"ceil_mode\",0),i=0!==t.attributes.getInt(\"count_include_pad\",0),o=t.attributes.getInts(\"kernel_shape\"),a=t.attributes.getInts(\"strides\",[]),s=t.attributes.getInts(\"pads\",[]);if(0!==n)throw new Error(\"using ceil() in shape computation is not yet supported for AveragePool\");return(0,r.createAttributeWithCacheKey)({autoPad:e,ceilMode:n,countIncludePad:i,kernelShape:o,strides:a,pads:s})};const a=(t,e,n,r)=>{const[a,s]=u(t,r,n),c=i.ShapeUtil.size(a.kernelShape);let l=\"\";a.countIncludePad?l+=`value /= float(${c});`:l+=`value /= float(${c} - pad);`;const p=`\\n ${f(t[0].dims,a,\"value += _X(x);\",l,\"0.0\")}\\n `;return Object.assign(Object.assign({},e),{output:{dims:s,type:t[0].type,textureType:o.TextureType.unpacked},shaderSource:p})};e.globalAveragePool=(t,e,n)=>{p(e);const r={name:\"GlobalAveragePool\",inputNames:[\"X\"],inputTypes:[o.TextureType.unpacked],cacheHint:`${n.countIncludePad}`};return[t.run(Object.assign(Object.assign({},r),{get:()=>a(e,r,!0,n)}),e)]},e.parseGlobalAveragePoolAttributes=t=>{const e=0!==t.attributes.getInt(\"count_include_pad\",0);return(0,r.createAttributeWithCacheKey)({autoPad:\"\",ceilMode:0,countIncludePad:e,kernelShape:[],strides:[],pads:[]})},e.maxPool=(t,e,n)=>{p(e);const r={name:\"MaxPool\",inputNames:[\"X\"],inputTypes:[o.TextureType.unpacked],cacheHint:n.cacheKey};return[t.run(Object.assign(Object.assign({},r),{get:()=>s(e,r,!1,n)}),e)]},e.parseMaxPoolAttributes=t=>{const e=t.attributes.getString(\"auto_pad\",\"NOTSET\"),n=t.attributes.getInt(\"ceil_mode\",0),i=t.attributes.getInts(\"kernel_shape\"),o=t.attributes.getInts(\"strides\",[]),a=t.attributes.getInts(\"pads\",[]),s=t.attributes.getInt(\"storage_order\",0),u=t.attributes.getInts(\"dilations\",[]);if(0!==s)throw new Error(\"column major storage order is not yet supported for MaxPool\");if(0!==n)throw new Error(\"using ceil() in shape computation is not yet supported for MaxPool\");return(0,r.createAttributeWithCacheKey)({autoPad:e,ceilMode:n,countIncludePad:!1,kernelShape:i,strides:o,pads:a,storageOrder:s,dilations:u})};const s=(t,e,n,r)=>{const[i,a]=u(t,r,n),s=`\\n ${f(t[0].dims,i,\"\\n value = max(_X(x), value);\\n \",\"\",\"-1e5\")}\\n `;return Object.assign(Object.assign({},e),{output:{dims:a,type:t[0].type,textureType:o.TextureType.unpacked},shaderSource:s})},u=(t,e,n)=>{const r=t[0].dims.slice(),o=Object.hasOwnProperty.call(e,\"dilations\"),a=e.kernelShape.slice(),s=e.strides.slice(),u=o?e.dilations.slice():[],c=e.pads.slice();i.PoolConvUtil.adjustPoolAttributes(n,r,a,s,u,c);const l=i.PoolConvUtil.computePoolOutputShape(n,r,s,u,a,c,e.autoPad),p=Object.assign({},e);return o?Object.assign(p,{kernelShape:a,strides:s,pads:c,dilations:u,cacheKey:e.cacheKey}):Object.assign(p,{kernelShape:a,strides:s,pads:c,cacheKey:e.cacheKey}),[p,l]},c={autoPad:\"\",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[],cacheKey:\"\"},l={name:\"GlobalMaxPool\",inputNames:[\"X\"],inputTypes:[o.TextureType.unpacked]};e.globalMaxPool=(t,e)=>(p(e),[t.run(Object.assign(Object.assign({},l),{get:()=>s(e,l,!0,c)}),e)]);const p=t=>{if(!t||1!==t.length)throw new Error(\"Pool ops requires 1 input.\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"Invalid input type.\")},f=(t,e,n,r,o)=>{const a=t.length;if(e.kernelShape.length<=2){const i=e.kernelShape[e.kernelShape.length-1],s=e.strides[e.strides.length-1],u=e.pads[e.pads.length/2-1],c=e.pads[e.pads.length-1],l=t[a-1];let p=\"\",f=\"\",d=\"\";if(p=u+c!==0?`\\n for (int i = 0; i < ${i}; i++) {\\n x[${a} - 1] = indices[${a} - 1] * ${s} - ${u} + i;\\n if (x[${a} - 1] < 0 || x[${a} - 1] >= ${l}) {\\n pad++;\\n continue;\\n }\\n ${n}\\n }`:`\\n for (int i = 0; i < ${i}; i++) {\\n x[${a} - 1] = indices[${a} - 1] * ${s} - ${u} + i;\\n ${n}\\n }`,2===e.kernelShape.length){const n=e.kernelShape[e.kernelShape.length-2],r=e.strides[e.strides.length-2],o=e.pads[e.pads.length/2-2],s=e.pads[e.pads.length-2],u=t[a-2];f=o+s!==0?`\\n for (int j = 0; j < ${n}; j++) {\\n x[${a} - 2] = indices[${a} - 2] * ${r} - ${o} + j;\\n if (x[${a} - 2] < 0 || x[${a} - 2] >= ${u}) {\\n pad+= ${i};\\n continue;\\n }\\n `:`\\n for (int j = 0; j < ${n}; j++) {\\n x[${a} - 2] = indices[${a} - 2] * ${r} - ${o} + j;\\n `,d=\"\\n }\\n \"}return`\\n float process(int indices[${a}]) {\\n int x[${a}];\\n copyVec(indices, x);\\n\\n float value = ${o};\\n int pad = 0;\\n ${f}\\n ${p}\\n ${d}\\n ${r}\\n return value;\\n }\\n `}{const s=i.ShapeUtil.size(e.kernelShape),u=i.ShapeUtil.computeStrides(e.kernelShape),c=u.length,l=e.pads.length,p=h(c),f=d(t,\"inputDims\"),g=d(e.pads,\"pads\"),b=d(u,\"kernelStrides\"),m=d(e.strides,\"strides\");let y=\"\";return y=e.pads.reduce(((t,e)=>t+e))?`\\n if (x[j] >= inputDims[j] || x[j] < 0) {\\n pad++;\\n isPad = true;\\n break;\\n }\\n }\\n if (!isPad) {\\n ${n}\\n }`:`\\n }\\n ${n}\\n `,`\\n ${p}\\n float process(int indices[${a}]) {\\n int x[${a}];\\n copyVec(indices, x);\\n int offset[${c}];\\n int pads[${l}];\\n int inputDims[${a}];\\n int kernelStrides[${c}];\\n int strides[${c}];\\n ${g}\\n ${f}\\n ${m}\\n ${b}\\n\\n float value = ${o};\\n int pad = 0;\\n bool isPad = false;\\n for (int i = 0; i < ${s}; i++) {\\n offsetToIndices(i, kernelStrides, offset);\\n isPad = false;\\n for (int j = ${a} - ${c}; j < ${a}; j++) {\\n x[j] = indices[j] * strides[j - ${a} + ${c}]\\n + offset[j - ${a} + ${c}] - pads[j - 2];\\n ${y}\\n }\\n ${r}\\n\\n return value;\\n }\\n `}},d=(t,e)=>{let n=\"\";for(let r=0;r<t.length;r++)n+=`\\n ${e}[${r}] = ${t[r]};\\n `;return n},h=t=>`\\n void offsetToIndices(int offset, int[${t}] strides, out int[${t}] indices) {\\n if (${t} == 0) {\\n return;\\n }\\n for (int i = 0; i < ${t} - 1; ++i) {\\n indices[i] = offset / strides[i];\\n offset -= indices[i] * strides[i];\\n }\\n indices[${t} - 1] = offset;\\n }`},4939:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.reduceLogSumSquare=e.reduceLogSum=e.reduceProd=e.reduceMin=e.reduceMax=e.reduceMean=e.reduceSum=e.parseReduceAttributes=void 0;const r=n(246),i=n(782),o=n(2517),a=n(2039),s=(t,e,n,r,i)=>{c(e);const o={name:r,inputNames:[\"A\"],inputTypes:[a.TextureType.unpacked]};return[t.run(Object.assign(Object.assign({},o),{cacheHint:n.cacheKey,get:()=>u(t,e,n,r,i,o)}),e)]};e.parseReduceAttributes=t=>{const e=t.attributes.getInts(\"axes\",[]),n=1===t.attributes.getInt(\"keepdims\",1);return(0,r.createAttributeWithCacheKey)({axes:e,keepDims:n})};const u=(t,e,n,r,i,s)=>{const u=[],c=e[0].dims.length||1,l=[],p=o.ShapeUtil.normalizeAxes(n.axes,e[0].dims.length),f=i(e,p);let d=f[1];for(let t=0;t<e[0].dims.length;t++)p.indexOf(t)>=0||0===p.length?(n.keepDims&&u.push(1),d=`\\n for(int j${t} = 0; j${t} < ${e[0].dims[t]}; j${t}++) {\\n inputIdx[${t}] = j${t};\\n ${d}\\n }`):(l.push(`inputIdx[${t}] = outputIdx[${u.length}];`),u.push(e[0].dims[t]));const h=`\\n float process(int outputIdx[${u.length||1}]) {\\n float value; // final result\\n int inputIdx[${c}]; // addressing input data\\n ${l.join(\"\\n\")}\\n ${f[0]} // init ops for reduce max/min\\n ${d}\\n ${f[2]} // final computation for reduce mean\\n return value;\\n }`;return Object.assign(Object.assign({},s),{output:{dims:u,type:e[0].type,textureType:a.TextureType.unpacked},shaderSource:h})},c=t=>{if(!t||1!==t.length)throw new Error(\"Reduce op requires 1 input.\");if(-1===i.NUMBER_TYPES.indexOf(t[0].type))throw new Error(\"Invalid input type.\")};e.reduceSum=(t,e,n)=>s(t,e,n,\"ReduceSum\",(()=>[\"value = 0.0;\",\"value += _A(inputIdx);\",\"\"])),e.reduceMean=(t,e,n)=>s(t,e,n,\"ReduceMean\",((t,e)=>{let n=1;for(let r=0;r<t[0].dims.length;r++)(e.indexOf(r)>=0||0===e.length)&&(n*=t[0].dims[r]);return[\"value = 0.0;\",\"value += _A(inputIdx);\",`value /= ${n}.;`]})),e.reduceMax=(t,e,n)=>s(t,e,n,\"ReduceMax\",((t,e)=>{const n=[];for(let r=0;r<t[0].dims.length;r++)(e.indexOf(r)>=0||0===e.length)&&n.push(`inputIdx[${r}] = 0;`);return[`${n.join(\"\\n\")}\\nvalue = _A(inputIdx);`,\"value = max(value, _A(inputIdx));\",\"\"]})),e.reduceMin=(t,e,n)=>s(t,e,n,\"ReduceMin\",((t,e)=>{const n=[];for(let r=0;r<t[0].dims.length;r++)(e.indexOf(r)>=0||0===e.length)&&n.push(`inputIdx[${r}] = 0;`);return[`${n.join(\"\\n\")}\\nvalue = _A(inputIdx);`,\"value = min(value, _A(inputIdx));\",\"\"]})),e.reduceProd=(t,e,n)=>s(t,e,n,\"ReduceProd\",(()=>[\"value = 1.0;\",\"value *= _A(inputIdx);\",\"\"])),e.reduceLogSum=(t,e,n)=>s(t,e,n,\"ReduceLogSum\",(()=>[\"value = 0.0;\",\"value += _A(inputIdx);\",\"value = log(value);\"])),e.reduceLogSumSquare=(t,e,n)=>s(t,e,n,\"ReduceLogSumSquare\",(()=>[\"float t; value = 0.0;\",\"t = _A(inputIdx); value += t * t;\",\"\"]))},7019:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.isReshapeCheap=e.processDims3D=e.createPackedReshape3DProgramInfoLoader=void 0;const r=n(2517),i=n(5060),o=n(2039),a=n(2827);e.createPackedReshape3DProgramInfoLoader=(t,e,n)=>{const s=(t=>({name:\"Reshape (packed)\",inputTypes:[o.TextureType.packed],inputNames:[\"A\"],cacheHint:`${t}`}))(n);return Object.assign(Object.assign({},s),{get:()=>((t,e,n,s)=>{const u=e.dims,c=s;let l=\"\";for(let t=0;t<4;t++){let e=\"\";switch(t){case 0:e=\"outputCoords = rc;\";break;case 1:e=\"outputCoords = ivec3(rc.x, rc.y+1, rc.z);\";break;case 2:e=\"outputCoords = ivec3(rc.x, rc.y, rc.z+1);\";break;case 3:e=\"outputCoords = ivec3(rc.x, rc.y+1, rc.z+1);\";break;default:throw new Error}l+=`\\n ${e}\\n ${t>0?\"if(outputCoords.y < rows && outputCoords.z < cols){\":\"\"}\\n int flattenedIndex = getFlattenedIndex(outputCoords);\\n\\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flattenedIndex);\\n vec2 innerDims = vec2(float(inputRC.y),float(inputRC.z));\\n\\n result[${t}] = getChannel(getA(inputRC.x, inputRC.y, inputRC.z), innerDims);\\n\\n ${t>0?\"}\":\"\"}\\n `}const p=(0,i.getGlsl)(t.session.backend.glContext.version),f=`\\n ${function(t){const e=r.ShapeUtil.computeStrides(t),n=[\"b\",\"r\",\"c\"],i=\"index\";return`\\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\\n ${e.map(((t,r)=>`int ${n[r]} = ${i} / ${t}; ${r===e.length-1?`int ${n[r+1]} = ${i} - ${n[r]} * ${t}`:`index -= ${n[r]} * ${t}`};`)).join(\"\")}\\n return ivec3(b, r, c);\\n }\\n `}(u)}\\n ${function(t){const e=r.ShapeUtil.computeStrides(t);return`\\n int getFlattenedIndex(ivec3 coords) {\\n // reverse y, z order\\n return coords.x * ${e[0]} + coords.z * ${e[1]} + coords.y;\\n }\\n`}(c)}\\n ${(0,a.unpackFromChannel)()}\\n\\n void main() {\\n ivec3 rc = getOutputCoords();\\n\\n vec4 result = vec4(0.0);\\n\\n ivec3 outputCoords;\\n int rows = ${c[2]};\\n int cols = ${c[1]};\\n\\n ${l}\\n ${p.output} = result;\\n }\\n `;return Object.assign(Object.assign({},n),{output:{dims:c,type:e.type,textureType:o.TextureType.packed},shaderSource:f,hasMain:!0})})(t,e,s,n)})},e.processDims3D=function(t){if(0===t.length)return[1,1,1];let e=1;for(let n=0;n<t.length-2;++n)e*=t[n];return[e,t.length>1?t[t.length-2]:1,t[t.length-1]]},e.isReshapeCheap=function(t,e){let n=!1;return n=0===t.length||0===e.length||(t.length<2||e.length<2?t[t.length-1]===e[e.length-1]:t[t.length-1]===e[e.length-1]&&t[t.length-2]===e[e.length-2]),n}},718:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.reshape=void 0;const r=n(2517);e.reshape=(t,e)=>{const n=r.ShapeUtil.calculateReshapedDims(e[0].dims,e[1].integerData);return t.session.pack?[t.reshapePacked(e[0],n)]:[t.reshapeUnpacked(e[0],n)]}},2268:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseResizeAttributesV11=e.parseResizeAttributesV10=e.resize=void 0;const r=n(5060),i=n(2039),o=n(9390),a=n(2827),s=n(9793),u={name:\"Resize\",inputNames:[\"A\"],inputTypes:[i.TextureType.packed]};e.resize=(t,e,n)=>((0,s.validateInputs)(e,n),[t.run(Object.assign(Object.assign({},u),{cacheHint:n.cacheKey,get:()=>c(t,e,n)}),e)]),e.parseResizeAttributesV10=t=>(0,s.parseUpsampleAttributes)(t,10),e.parseResizeAttributesV11=t=>(0,s.parseUpsampleAttributes)(t,11);const c=(t,e,n)=>{const s=(0,r.getGlsl)(t.session.backend.glContext.version),[c,p]=l(e,n);if(c.every((t=>1===t))&&\"tf_crop_and_resize\"!==n.coordinateTransformMode)return Object.assign(Object.assign({},u),{output:{dims:p,type:e[0].type,textureType:i.TextureType.packed},hasMain:!0,shaderSource:`void main() {\\n vec4 v = ${s.texture2D}(X, TexCoords);\\n ${s.output} = v;\\n }`});const f=p.length;if(f<2)throw new Error(`output dimension should be at least 2, but got ${f}`);const d=p[f-2],h=p[f-1],g=e[0].dims;if(f!==g.length)throw new Error(`output dimension should match input ${g.length}, but got ${f}`);const b=g[f-2],m=g[f-1],y=c[f-2],_=c[f-1];let v=\"\";if(\"linear\"!==n.mode)throw new Error(`resize (packed) does not support mode: '${n.mode}'`);switch(n.coordinateTransformMode){case\"asymmetric\":v=\"\\n vec4 getSourceFracIndex(ivec4 coords) {\\n return vec4(coords) / scaleWHWH;\\n }\\n \";break;case\"half_pixel\":v=\"\\n vec4 getSourceFracIndex(ivec4 coords) {\\n return (vec4(coords) + 0.5) / scaleWHWH - 0.5;\\n }\\n \";break;case\"pytorch_half_pixel\":v=`\\n vec4 getSourceFracIndex(ivec4 coords) {\\n vec4 fcoords = vec4(coords);\\n return vec4(\\n ${h}.0 > 1.0 ? (fcoords.x + 0.5) / scaleWHWH.x - 0.5 : 0.0,\\n ${d}.0 > 1.0 ? (fcoords.y + 0.5) / scaleWHWH.y - 0.5 : 0.0,\\n ${h}.0 > 1.0 ? (fcoords.z + 0.5) / scaleWHWH.z - 0.5 : 0.0,\\n ${d}.0 > 1.0 ? (fcoords.w + 0.5) / scaleWHWH.w - 0.5 : 0.0\\n );\\n }\\n `;break;case\"align_corners\":v=`\\n vec4 getSourceFracIndex(ivec4 coords) {\\n vec4 resized = vec4(${h}.0 - 1.0, ${d}.0 - 1.0, ${h}.0 - 1.0,\\n ${d}.0 - 1.0);\\n vec4 original = vec4(${m}.0 - 1.0, ${b}.0 - 1.0, ${m}.0 - 1.0,\\n ${b}.0 - 1.0);\\n vec4 new_scale = original / resized;\\n return vec4(coords) * new_scale;\\n }\\n `;break;default:throw new Error(`resize (packed) does not support coordinateTransformMode: '${n.coordinateTransformMode}'`)}const w=(0,o.getCoordsDataType)(f),x=`\\n const vec2 inputWH = vec2(${b}.0, ${m}.0);\\n const vec4 scaleWHWH = vec4(float(${y}), float(${_}), float(${y}), float(${_}));\\n ${(0,a.unpackFromChannel)()}\\n ${v}\\n float getAValue(int x10, int r, int c, int d) {\\n return getChannel(getA(x10, r, c, d), vec2(c, d));\\n }\\n void main() {\\n ${w} rc = getOutputCoords();\\n\\n int batch = rc[0];\\n int depth = rc[1];\\n\\n // retrieve the 4 coordinates that is used in the 4 packed output values.\\n ivec4 coords = ivec4(rc.wz, rc.w + 1, rc.z + 1);\\n\\n // calculate the source index in fraction\\n vec4 sourceFrac = getSourceFracIndex(coords);\\n\\n // get the lower and upper bound of the 4 values that will be packed into one texel.\\n ivec4 x00 = ivec4(max(sourceFrac.xy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xy)));\\n ivec4 x01 = ivec4(max(sourceFrac.xw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xw)));\\n ivec4 x10 = ivec4(max(sourceFrac.zy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zy)));\\n ivec4 x11 = ivec4(max(sourceFrac.zw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zw)));\\n\\n bool hasNextRow = rc.w < ${d-1};\\n bool hasNextCol = rc.z < ${h-1};\\n\\n // pack x00, x01, x10, x11's top-left corner into one vec4 structure\\n vec4 topLeft = vec4(\\n getAValue(batch, depth, x00.x, x00.y),\\n hasNextCol ? getAValue(batch, depth, x01.x, x01.y) : 0.0,\\n hasNextRow ? getAValue(batch, depth, x10.x, x10.y) : 0.0,\\n (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.y) : 0.0);\\n\\n // pack x00, x01, x10, x11's top-right corner into one vec4 structure\\n vec4 topRight = vec4(\\n getAValue(batch, depth, x00.x, x00.w),\\n hasNextCol ? getAValue(batch, depth, x01.x, x01.w) : 0.0,\\n hasNextRow ? getAValue(batch, depth, x10.x, x10.w) : 0.0,\\n (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.w) : 0.0);\\n\\n // pack x00, x01, x10, x11's bottom-left corner into one vec4 structure\\n vec4 bottomLeft = vec4(\\n getAValue(batch, depth, x00.z, x00.y),\\n hasNextCol ? getAValue(batch, depth, x01.z, x01.y) : 0.0,\\n hasNextRow ? getAValue(batch, depth, x10.z, x10.y) : 0.0,\\n (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.y) : 0.0);\\n\\n // pack x00, x01, x10, x11's bottom-right corner into one vec4 structure\\n vec4 bottomRight = vec4(\\n getAValue(batch, depth, x00.z, x00.w),\\n hasNextCol ? getAValue(batch, depth, x01.z, x01.w) : 0.0,\\n hasNextRow ? getAValue(batch, depth, x10.z, x10.w) : 0.0,\\n (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.w) : 0.0);\\n\\n // calculate the interpolation fraction on u and v direction\\n vec4 frac = vec4(sourceFrac) - floor(sourceFrac);\\n vec4 clampFrac = clamp(frac, vec4(0.0), vec4(1.0));\\n\\n vec4 top = mix(topLeft, topRight, clampFrac.ywyw);\\n vec4 bottom = mix(bottomLeft, bottomRight, clampFrac.ywyw);\\n vec4 newValue = mix(top, bottom, clampFrac.xxzz);\\n\\n ${s.output} = vec4(newValue);\\n }\\n `;return Object.assign(Object.assign({},u),{output:{dims:p,type:e[0].type,textureType:i.TextureType.packed},hasMain:!0,shaderSource:x})},l=(t,e)=>{const n=t[0].dims;let r,i=e.scales;if(0===i.length){const o=t[e.scalesInputIdx];if(o&&0!==o.size){if(t[e.sizesInputIdx])throw new Error(\"Only one of scales or sizes must be provided as input.\");i=p(o,e.mode,e.isResize)}else{const o=t[e.sizesInputIdx];if(!o||0===o.size)throw new Error(\"Either scales or sizes MUST be provided as input.\");r=Array.from(o.integerData),i=f(r,n,e.mode,e.isResize)}}else if(t[e.sizesInputIdx])throw new Error(\"Only one of scales or sizes must be provided as input.\");const o=r||n.map(((t,e)=>Math.floor(t*i[e])));return[i,o]},p=(t,e,n)=>{const r=Array.from(t.floatData);return(0,s.scalesValidation)(r,e,n),r},f=(t,e,n,r)=>{const i=e.length,o=new Array(i);for(let n=0,r=i;n<r;n++)if(0===e[n]){if(0!==t[n])throw new Error(\"Input dim is zero but required output dim is non-zero.\");o[n]=1}else o[n]=t[n]/e[n];return(0,s.scalesValidation)(o,n,r),o}},8117:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.shape=void 0;const r=n(9162);e.shape=(t,e)=>(i(e),[new r.Tensor([e[0].dims.length],\"int32\",void 0,void 0,new Int32Array(e[0].dims))]);const i=t=>{if(!t||1!==t.length)throw new Error(\"Shape requires 1 input.\")}},2278:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.sliceV10=e.parseSliceAttributes=e.slice=void 0;const r=n(246),i=n(782),o=n(2517),a=n(2039),s={name:\"Slice\",inputNames:[\"A\"],inputTypes:[a.TextureType.unpacked]};e.slice=(t,e,n)=>(c(e),[t.run(Object.assign(Object.assign({},s),{cacheHint:n.cacheKey,get:()=>u(t,e[0],n)}),e)]),e.parseSliceAttributes=t=>{const e=t.attributes.getInts(\"starts\"),n=t.attributes.getInts(\"ends\"),i=t.attributes.getInts(\"axes\",[]);return(0,r.createAttributeWithCacheKey)({starts:e,ends:n,axes:i})};const u=(t,e,n)=>{const r=0===n.axes.length?e.dims.slice(0).map(((t,e)=>e)):n.axes,i=o.ShapeUtil.normalizeAxes(r,e.dims.length),u=n.starts.map(((t,n)=>t>e.dims[i[n]]-1?e.dims[i[n]]:o.ShapeUtil.normalizeAxis(t,e.dims[i[n]]))),c=n.ends.map(((t,n)=>t>e.dims[i[n]]-1?e.dims[i[n]]:o.ShapeUtil.normalizeAxis(t,e.dims[i[n]]))),l=e.dims.slice(),p=[];for(let t=0;t<i.length;t++)l[i[t]]=c[t]-u[t],u[t]>0&&p.push(`outputIdx[${i[t]}] += ${u[t]};`);const f=`\\n float process(int outputIdx[${l.length}]) {\\n ${p.join(\"\\n \")}\\n return _A(outputIdx);\\n }`;return Object.assign(Object.assign({},s),{output:{dims:l,type:e.type,textureType:a.TextureType.unpacked},shaderSource:f})},c=t=>{if(!t||1!==t.length)throw new Error(\"Slice requires 1 input.\");if(-1===i.NUMBER_TYPES.indexOf(t[0].type))throw new Error(\"Invalid input type.\")};e.sliceV10=(t,e)=>{p(e);const n=l(t,e);return[t.run(Object.assign(Object.assign({},s),{cacheHint:n.cacheKey,get:()=>u(t,e[0],n)}),[e[0]])]};const l=(t,e)=>{if(!t.session.isInitializer(e[1].dataId)||!t.session.isInitializer(e[2].dataId)||e.length>=4&&!t.session.isInitializer(e[3].dataId)||e.length>=5&&!t.session.isInitializer(e[4].dataId))throw new Error(\"dynamic slice attributes are not allowed\");if(e.length>=5&&e[4].integerData.some((t=>1!==t)))throw new Error(\"currently non-1 steps is not supported for Slice\");const n=Array.from(e[1].integerData),r=Array.from(e[2].integerData),i=e.length>=4?Array.from(e[3].integerData):[];return{starts:n,ends:r,axes:i,cacheKey:`${i};${n};${r}`}},p=t=>{if(!t||t.length<3||t.length>5)throw new Error(\"Invalid input number.\");if(\"int32\"!==t[1].type||1!==t[1].dims.length)throw new Error(\"Invalid input type.\");if(\"int32\"!==t[2].type||1!==t[2].dims.length)throw new Error(\"Invalid input type.\");if(t.length>=4&&(\"int32\"!==t[3].type||1!==t[3].dims.length))throw new Error(\"Invalid input type.\");if(t.length>=5&&(\"int32\"!==t[4].type||1!==t[4].dims.length))throw new Error(\"Invalid input type.\")}},5524:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.softmaxV13=e.parseSoftmaxAttributesV13=e.parseSoftmaxAttributes=e.softmax=void 0;const r=n(246),i=n(2517),o=n(5060),a=n(2039),s=n(3738),u={name:\"SoftmaxComputeMax\",inputNames:[\"A\"],inputTypes:[a.TextureType.unpacked]},c={name:\"SoftmaxComputeScale\",inputNames:[\"A\",\"Max\"],inputTypes:[a.TextureType.unpacked,a.TextureType.unpacked]},l={name:\"SoftMax\",inputNames:[\"A\",\"Max\",\"Norm\"],inputTypes:[a.TextureType.unpacked,a.TextureType.unpacked,a.TextureType.unpacked]};e.softmax=(t,e,n)=>{g(e);const r=e[0].dims.slice(),o=i.ShapeUtil.normalizeAxis(n.axis,r.length),a=i.ShapeUtil.sizeToDimension(r,o),s=i.ShapeUtil.sizeFromDimension(r,o);return p(t,e,n,a,s)},e.parseSoftmaxAttributes=t=>(0,r.createAttributeWithCacheKey)({axis:t.attributes.getInt(\"axis\",1)}),e.parseSoftmaxAttributesV13=t=>(0,r.createAttributeWithCacheKey)({axis:t.attributes.getInt(\"axis\",-1)}),e.softmaxV13=(t,e,n)=>{g(e);const o=e[0].dims.slice(),a=i.ShapeUtil.normalizeAxis(n.axis,o.length),u=o.length,c=a!==u-1,l=[];let f,d=[],h=[];c&&(d=Array.from({length:u}).map(((t,e)=>e)),d[a]=u-1,d[u-1]=a,d.map((t=>l.push(o[t]))),f=(0,r.createAttributeWithCacheKey)({perm:d}),h=(0,s.transpose)(t,e,f));const b=c?i.ShapeUtil.sizeToDimension(l,u-1):i.ShapeUtil.sizeToDimension(o,u-1),m=c?i.ShapeUtil.sizeFromDimension(l,u-1):i.ShapeUtil.sizeFromDimension(o,u-1),y=p(t,c?h:e,n,b,m);return c?(0,s.transpose)(t,y,f):y};const p=(t,e,n,r,i)=>{const o=f(t,e[0],r,i,[r]),a=t.run(Object.assign(Object.assign({},u),{cacheHint:n.cacheKey,get:()=>o}),e),s=d(t,e[0],r,i,o.output.dims,[r]),p=t.run(Object.assign(Object.assign({},c),{cacheHint:n.cacheKey,get:()=>s}),[e[0],a]),g=h(t,e[0],r,i,o.output.dims,s.output.dims);return[t.run(Object.assign(Object.assign({},l),{cacheHint:n.cacheKey,get:()=>g}),[e[0],a,p])]},f=(t,e,n,r,i)=>{const[s,c]=t.calculateTextureWidthAndHeight(e.dims,a.TextureType.unpacked),l=i.length;if(n<1||r<1)throw new Error(\"Logical row count N and feature count D must be greater than or equal to 1\");if(1!==i.length)throw new Error(\"Dimensionality of the output should be 1\");if(i[0]!==n)throw new Error(\"Shape of the output should be equal to logical row count\");const p=(0,o.getGlsl)(t.session.backend.glContext.version),f=`\\n float process(int[${l}] indices) {\\n int logical_row_start_offset = indices[0] * ${r};\\n\\n float max = getColorAsFloat(${p.texture2D}(A, offsetToCoords(logical_row_start_offset, ${s},\\n ${c} )));\\n for(int i=1; i<${r}; ++i)\\n {\\n float current = getColorAsFloat(${p.texture2D}(A, offsetToCoords(logical_row_start_offset + i,\\n ${s}, ${c})));\\n if(current > max)\\n max = current;\\n }\\n\\n return max;\\n }`;return Object.assign(Object.assign({},u),{output:{dims:i,type:e.type,textureType:a.TextureType.unpacked},shaderSource:f})},d=(t,e,n,r,i,s)=>{const[u,l]=t.calculateTextureWidthAndHeight(e.dims,a.TextureType.unpacked),p=s.length;if(n<1||r<1)throw new Error(\"Logical row count N and feature count D must be greater than or equal to 1\");if(1!==s.length)throw new Error(\"Dimensionality of the output should be 1\");if(s[0]!==n)throw new Error(\"Shape of the output should be equal to logical row count\");if(1!==i.length)throw new Error(\"Dimensionality of the intermediate results should be 1\");if(i[0]!==n)throw new Error(\"Shape of the intermediate results should be equal to logical row count\");const f=`\\n float process(int[${p}] indices) {\\n int logical_row_start_offset = indices[0] * ${r};\\n\\n float norm_factor = 0.0;\\n float max = _Max(indices);\\n for(int i=0; i<${r}; ++i)\\n {\\n norm_factor += exp(getColorAsFloat(${(0,o.getGlsl)(t.session.backend.glContext.version).texture2D}(A, offsetToCoords(logical_row_start_offset + i,\\n ${u}, ${l}))) - max);\\n }\\n\\n return norm_factor;\\n }`;return Object.assign(Object.assign({},c),{output:{dims:s,type:e.type,textureType:a.TextureType.unpacked},shaderSource:f})},h=(t,e,n,r,i,o)=>{const[s,u]=t.calculateTextureWidthAndHeight(e.dims,a.TextureType.unpacked),c=e.dims.length;if(n<1||r<1)throw new Error(\"Logical row count N and feature count D must be greater than or equal to 1\");if(1!==i.length||1!==o.length)throw new Error(\"Dimensionality of the intermediate results should be 1\");if(i[0]!==n||o[0]!==n)throw new Error(\"Shape of the intermediate results should be equal to logical row count\");const p=`\\n float process(int[${c}] indices) {\\n\\n // get offset of current logical tensor index from the 2-D texture coordinates (TexCoords)\\n int offset = coordsToOffset(TexCoords, ${s}, ${u});\\n\\n //determine the logical row for this index\\n int logical_row_index[1];\\n logical_row_index[0] = offset / ${r};\\n\\n float norm_factor = _Norm(logical_row_index);\\n\\n // avoid possible division by 0\\n // if norm_facor is 0, all elements are zero\\n // if so, return 0\\n if(norm_factor == 0.0)\\n return 0.0;\\n\\n return exp(_A(indices) - _Max(logical_row_index)) / norm_factor;\\n }`;return Object.assign(Object.assign({},l),{output:{dims:e.dims,type:e.type,textureType:a.TextureType.unpacked},shaderSource:p})},g=t=>{if(!t||1!==t.length)throw new Error(\"Softmax requires 1 input.\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"Invalid input type\")}},5975:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseSplitAttributes=e.split=void 0;const r=n(246),i=n(2517),o=n(2039),a={name:\"Split\",inputNames:[\"A\"],inputTypes:[o.TextureType.unpacked]};e.split=(t,e,n)=>{c(e);const r=i.ShapeUtil.normalizeAxis(n.axis,e[0].dims.length),o=s(t,e,r,n),l=[];for(let i=0;i<o;++i)l.push(t.run(Object.assign(Object.assign({},a),{cacheHint:`${n.cacheKey};${i}`,get:()=>u(t,e[0],n,r,i)}),e));return l},e.parseSplitAttributes=t=>{const e=t.attributes.getInt(\"axis\",0),n=t.attributes.getInts(\"split\",[]),i=t.outputs.length;return(0,r.createAttributeWithCacheKey)({axis:e,split:n,numOutputs:i})};const s=(t,e,n,r)=>{const[,o]=i.SplitUtil.splitShape(e[0].dims,n,r.split,r.numOutputs);return o.length},u=(t,e,n,r,s)=>{const[u,c]=i.SplitUtil.splitShape(e.dims,r,n.split,n.numOutputs),l=c[s],p=u[s],f=`\\n float process(int indices[${p.length}]) {\\n indices[${r}] += ${l};\\n return _A(indices);\\n }\\n `;return Object.assign(Object.assign({},a),{cacheHint:`${n.cacheKey}:${s}`,output:{dims:p,type:e.type,textureType:o.TextureType.unpacked},shaderSource:f})},c=t=>{if(!t||1!==t.length)throw new Error(\"Split requires one input.\");if(\"int8\"!==t[0].type&&\"uint8\"!==t[0].type&&\"int16\"!==t[0].type&&\"uint16\"!==t[0].type&&\"int32\"!==t[0].type&&\"uint32\"!==t[0].type&&\"float32\"!==t[0].type&&\"float64\"!==t[0].type&&\"bool\"!==t[0].type)throw new Error(\"Invalid input type.\")}},3933:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseSqueezeAttributes=e.squeezeV13=e.squeeze=void 0;const r=n(2517);e.squeeze=(t,e,n)=>{i(e);const o=r.ShapeUtil.squeezeShape(e[0].dims,n);return[t.reshapeUnpacked(e[0],o)]},e.squeezeV13=(t,n)=>(o(n),(0,e.squeeze)(t,[n[0]],Array.from(n[1].integerData))),e.parseSqueezeAttributes=t=>t.attributes.getInts(\"axes\");const i=t=>{if(!t||1!==t.length)throw new Error(\"Squeeze requires 1 input.\");if(\"string\"===t[0].type)throw new Error(\"invalid input tensor types.\")},o=t=>{if(!t||2!==t.length)throw new Error(\"Squeeze requires 2 inputs.\");if(\"int32\"!==t[1].type)throw new Error(\"Invalid input type.\")}},6558:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.sum=void 0;const r=n(5060),i=n(2039);e.sum=(t,e)=>{a(e);const n={name:\"Sum\",inputNames:e.map(((t,e)=>`X${e}`)),inputTypes:new Array(e.length).fill(i.TextureType.unpacked)};return[t.run(Object.assign(Object.assign({},n),{get:()=>o(t,e,n)}),e)]};const o=(t,e,n)=>{const o=(0,r.getGlsl)(t.session.backend.glContext.version),a=e[0].dims.slice(),s=`\\n void main() {\\n vec4 result = ${e.map(((t,e)=>`${o.texture2D}(X${e},TexCoords)`)).join(\" + \")};\\n ${o.output} = result;\\n }\\n `;return Object.assign(Object.assign({},n),{output:{dims:a,type:e[0].type,textureType:i.TextureType.unpacked},hasMain:!0,shaderSource:s})},a=t=>{if(!t||0===t.length)throw new Error(\"Sum requires inputs.\");const e=t[0].dims.length;for(let n=1;n<t.length;n++){if(e!==t[n].dims.length)throw new Error(\"Input shapes are mismatched.\");for(let r=0;r<e;r++)if(t[0].dims[r]!==t[n].dims[r])throw new Error(\"Input shapes are not matched.\")}if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"Invalid input type.\");for(let e=1;e<t.length;e++)if(t[0].type!==t[e].type)throw new Error(\"Input types are not matched.\")}},5723:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.tile=void 0;const r=n(782),i=n(2039);e.tile=(t,e)=>{a(e);const n={name:\"Tile\",inputNames:[\"A\"],inputTypes:[i.TextureType.unpacked]};return[t.run(Object.assign(Object.assign({},n),{get:()=>o(t,e,n)}),e)]};const o=(t,e,n)=>{const r=e[0].dims.slice(),o=new Array(r.length),a=[];for(let t=0;t<r.length;t++)o[t]=r[t]*e[1].numberData[t],a.push(`inputIdx[${t}] = int(mod(float(outputIdx[${t}]), ${r[t]}.));`);const s=o.length,u=`\\n float process(int outputIdx[${s}]) {\\n int inputIdx[${s}];\\n ${a.join(\"\\n\")}\\n return _A(inputIdx);\\n }\\n `;return Object.assign(Object.assign({},n),{output:{dims:o,type:e[0].type,textureType:i.TextureType.unpacked},shaderSource:u})},a=t=>{if(!t||2!==t.length)throw new Error(\"Tile requires 2 input.\");if(1!==t[1].dims.length)throw new Error(\"The second input shape must 1 dimension.\");if(t[1].dims[0]!==t[0].dims.length)throw new Error(\"Invalid input shape.\");if(-1===r.NUMBER_TYPES.indexOf(t[0].type))throw new Error(\"Invalid input type.\");if(\"int32\"!==t[1].type&&\"int16\"!==t[1].type)throw new Error(\"Invalid repeat type.\")}},3738:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseTransposeAttributes=e.transpose=void 0;const r=n(246),i=n(2517),o=n(2039),a={name:\"Transpose\",inputNames:[\"A\"],inputTypes:[o.TextureType.unpacked]};e.transpose=(t,e,n)=>(p(e),[t.run(Object.assign(Object.assign({},a),{cacheHint:n.cacheKey,get:()=>s(t,e[0],n.perm)}),e)]),e.parseTransposeAttributes=t=>(0,r.createAttributeWithCacheKey)({perm:t.attributes.getInts(\"perm\",[])});const s=(t,e,n)=>{const r=e.dims;n=u(r,n);const i=c(r,n),s=r.length,p=`\\n ${l(\"perm\",n,s)}\\n float process(int indices[${s}]) {\\n int a[${s}];\\n perm(a, indices);\\n return _A(a);\\n }`;return Object.assign(Object.assign({},a),{output:{dims:i,type:e.type,textureType:o.TextureType.unpacked},shaderSource:p})},u=(t,e)=>(e&&e.length!==t.length&&(e=[...t.keys()].reverse()),e),c=(t,e)=>(e=u(t,e),i.ShapeUtil.sortBasedOnPerm(t,e)),l=(t,e,n)=>{const r=[];r.push(`void ${t}(out int a[${n}], int src[${n}]) {`);for(let t=0;t<n;++t)r.push(`\\ta[${e[t]}]=src[${t}];`);return r.push(\"\\t}\"),r.join(\"\\n\")},p=t=>{if(!t||1!==t.length)throw new Error(\"Transpose requires 1 input.\");if(\"float32\"!==t[0].type&&\"float64\"!==t[0].type)throw new Error(\"input should be float tensor\")}},8710:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.encodeAsUint8=void 0;const r=n(5060),i=n(2039);e.encodeAsUint8=(t,e)=>{const n=e.shape,o=(0,r.getGlsl)(t.session.backend.glContext.version),a=`\\n const float FLOAT_MAX = 1.70141184e38;\\n const float FLOAT_MIN = 1.17549435e-38;\\n\\n bool isNaN(float val) {\\n return (val < 1.0 || 0.0 < val || val == 0.0) ? false : true;\\n }\\n\\n highp vec4 encodeAsUint8(highp float v) {\\n if (isNaN(v)) {\\n return vec4(255, 255, 255, 255);\\n }\\n\\n highp float av = abs(v);\\n\\n if(av < FLOAT_MIN) {\\n return vec4(0.0, 0.0, 0.0, 0.0);\\n } else if(v > FLOAT_MAX) {\\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\\n } else if(v < -FLOAT_MAX) {\\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\\n }\\n\\n highp vec4 c = vec4(0,0,0,0);\\n\\n highp float e = floor(log2(av));\\n highp float m = exp2(fract(log2(av))) - 1.0;\\n\\n c[2] = floor(128.0 * m);\\n m -= c[2] / 128.0;\\n c[1] = floor(32768.0 * m);\\n m -= c[1] / 32768.0;\\n c[0] = floor(8388608.0 * m);\\n\\n highp float ebias = e + 127.0;\\n c[3] = floor(ebias / 2.0);\\n ebias -= c[3] * 2.0;\\n c[2] += floor(ebias) * 128.0;\\n\\n c[3] += 128.0 * step(0.0, -v);\\n\\n return c / 255.0;\\n }\\n\\n void main() {\\n float value = ${o.texture2D}(X,TexCoords).r;\\n ${o.output} = encodeAsUint8(value);\\n }`,s={name:\"Uint8Encode\",inputTypes:[i.TextureType.unpacked],inputNames:[\"X\"],output:{dims:n,type:e.tensor.type,textureType:i.TextureType.downloadUint8AsFloat},shaderSource:a,hasMain:!0};return t.executeProgram(s,[e.tensor])}},4909:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.tanh=e.tan=e.sqrt=e.sin=e.sigmoid=e.relu=e.not=e.neg=e.log=e.parseLeakyReluAttributes=e.leakyRelu=e.identity=e.floor=e.exp=e.parseEluAttributes=e.elu=e.cos=e.ceil=e.clipV11=e.parseClipAttributes=e.clip=e.atan=e.asin=e.acos=e.abs=e.glslTanh=e.glslTan=e.glslSqrt=e.glslSigmoid=e.glslRelu=e.glslSin=e.glslNot=e.glslNeg=e.glslLog=e.glslLeakyRelu=e.glslIdentity=e.glslClip=e.glslFloor=e.glslExp=e.glslElu=e.glslCos=e.glslCeil=e.glslAtan=e.glslAsin=e.glslAcos=e.glslAbs=void 0;const r=n(246),i=n(2517),o=n(8520),a=n(5060),s=n(2039);function u(){return P(\"abs\")}function c(){return P(\"acos\")}function l(){return P(\"asin\")}function p(){return P(\"atan\")}function f(){return P(\"ceil\")}function d(){return P(\"cos\")}function h(t){const e=\"elu\";return{body:`\\n const float alpha = float(${t});\\n\\n float ${e}_(float a) {\\n return a >= 0.0 ? a: (exp(a) - 1.0) * alpha;\\n }\\n vec4 ${e}_(vec4 v) {\\n return vec4(${e}_(v.x), ${e}_(v.y), ${e}_(v.z), ${e}_(v.w));\\n }\\n `,name:e,type:o.FunctionType.ValueBased}}function g(){return P(\"exp\")}function b(){return P(\"floor\")}function m(t,e){const n=\"clip\";return{body:`\\n const float min = float(${t});\\n const float max = float(${e});\\n\\n float ${n}_(float a) {\\n return clamp(a, min, max);\\n }\\n vec4 ${n}_(vec4 v) {\\n return clamp(v, min, max);\\n }\\n `,name:n,type:o.FunctionType.ValueBased}}function y(){const t=\"indentity\";return{body:`\\n float ${t}_(float a) {\\n return a;\\n }\\n vec4 ${t}_(vec4 v) {\\n return v;\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function _(t){const e=\"leakyRelu\";return{body:`\\n const float alpha = float(${t});\\n\\n float ${e}_(float a) {\\n return a < 0.0 ? a * alpha : a;\\n }\\n vec4 ${e}_(vec4 v) {\\n return vec4(${e}_(v.x), ${e}_(v.y), ${e}_(v.z), ${e}_(v.w));\\n }\\n `,name:e,type:o.FunctionType.ValueBased}}function v(){return P(\"log\")}function w(){const t=\"neg\";return{body:`\\n float ${t}_(float a) {\\n return -a;\\n }\\n vec4 ${t}_(vec4 v) {\\n return -v;\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function x(){const t=\"not\";return{body:`\\n float ${t}_(float a) {\\n return float( ! bool(a) );\\n }\\n bool ${t}_(bool a) {\\n return !a;\\n }\\n vec4 ${t}_(vec4 v) {\\n return vec4(!bool(v.x), !bool(v.y), !bool(v.z), !bool(v.w));\\n }\\n bvec4 ${t}_(bvec4 v) {\\n return bvec4(!v.x, !v.y, !v.z, !v.w);\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function T(){return P(\"sin\")}function S(){const t=\"relu\";return{body:`\\n float ${t}_(float a) {\\n return max( a, 0.0 );\\n }\\n vec4 ${t}_(vec4 v) {\\n return max( v, 0.0 );\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function O(){const t=\"sigmoid\";return{body:`\\n float ${t}_(float a) {\\n return 1.0 / (1.0 + exp(-a));\\n }\\n vec4 ${t}_(vec4 v) {\\n return 1.0 / (1.0 + exp(-v));\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function A(){return P(\"sqrt\")}function E(){return P(\"tan\")}function I(){const t=\"tanh\";return{body:`\\n float ${t}_(float a) {\\n a = clamp(a, -10., 10.);\\n a = exp(2.*a);\\n return (a - 1.) / (a + 1.);\\n }\\n vec4 ${t}_(vec4 v) {\\n v = clamp(v, -10., 10.);\\n v = exp(2.*v);\\n return (v - 1.) / (v + 1.);\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}function P(t){return{body:`\\n float ${t}_(float a) {\\n return ${t}(a);\\n }\\n vec4 ${t}_(vec4 v) {\\n return ${t}(v);\\n }\\n `,name:t,type:o.FunctionType.ValueBased}}e.glslAbs=u,e.glslAcos=c,e.glslAsin=l,e.glslAtan=p,e.glslCeil=f,e.glslCos=d,e.glslElu=h,e.glslExp=g,e.glslFloor=b,e.glslClip=m,e.glslIdentity=y,e.glslLeakyRelu=_,e.glslLog=v,e.glslNeg=w,e.glslNot=x,e.glslSin=T,e.glslRelu=S,e.glslSigmoid=O,e.glslSqrt=A,e.glslTan=E,e.glslTanh=I;const D=(t,e,n,r)=>{const i=t.session.pack?s.TextureType.packed:s.TextureType.unpacked,o={name:n.name,inputTypes:[i],inputNames:[\"A\"],cacheHint:r};return Object.assign(Object.assign({},o),{get:()=>((t,e,n,r)=>{const i=t.session.pack?s.TextureType.packed:s.TextureType.unpacked,o=(0,a.getGlsl)(t.session.backend.glContext.version);return Object.assign(Object.assign({},e),{output:{dims:n.dims,type:n.type,textureType:i},shaderSource:`\\n ${r.body}\\n void main() {\\n vec4 v = ${o.texture2D}(A, TexCoords);\\n v = ${r.name}_(v);\\n ${o.output} = v;\\n }\\n `,hasMain:!0})})(t,o,e,n)})};e.abs=(t,e)=>[t.run(D(t,e[0],u()),e)],e.acos=(t,e)=>[t.run(D(t,e[0],c()),e)],e.asin=(t,e)=>[t.run(D(t,e[0],l()),e)],e.atan=(t,e)=>[t.run(D(t,e[0],p()),e)],e.clip=(t,e,n)=>[t.run(D(t,e[0],m(n.min,n.max),n.cacheKey),e)],e.parseClipAttributes=t=>(0,r.createAttributeWithCacheKey)({min:t.attributes.getFloat(\"min\",i.MIN_CLIP),max:t.attributes.getFloat(\"max\",i.MAX_CLIP)}),e.clipV11=(t,n)=>{const r=$(t,n);return(0,e.clip)(t,[n[0]],r)};const $=(t,e)=>{if(e.length>=3&&(!t.session.isInitializer(e[1].dataId)||!t.session.isInitializer(e[2].dataId)))throw new Error(\"dynamic clip attributes are not allowed\");const n=e.length>=3?e[1].numberData[0]:i.MIN_CLIP,o=e.length>=3?e[2].numberData[0]:i.MAX_CLIP;return(0,r.createAttributeWithCacheKey)({min:n,max:o})};e.ceil=(t,e)=>[t.run(D(t,e[0],f()),e)],e.cos=(t,e)=>[t.run(D(t,e[0],d()),e)],e.elu=(t,e,n)=>[t.run(D(t,e[0],h(n.alpha),n.cacheKey),e)],e.parseEluAttributes=t=>(0,r.createAttributeWithCacheKey)({alpha:t.attributes.getFloat(\"alpha\",1)}),e.exp=(t,e)=>[t.run(D(t,e[0],g()),e)],e.floor=(t,e)=>[t.run(D(t,e[0],b()),e)],e.identity=(t,e)=>[t.run(D(t,e[0],y()),e)],e.leakyRelu=(t,e,n)=>[t.run(D(t,e[0],_(n.alpha),n.cacheKey),e)],e.parseLeakyReluAttributes=t=>(0,r.createAttributeWithCacheKey)({alpha:t.attributes.getFloat(\"alpha\",.01)}),e.log=(t,e)=>[t.run(D(t,e[0],v()),e)],e.neg=(t,e)=>[t.run(D(t,e[0],w()),e)],e.not=(t,e)=>[t.run(D(t,e[0],x()),e)],e.relu=(t,e)=>[t.run(D(t,e[0],S()),e)],e.sigmoid=(t,e)=>[t.run(D(t,e[0],O()),e)],e.sin=(t,e)=>[t.run(D(t,e[0],T()),e)],e.sqrt=(t,e)=>[t.run(D(t,e[0],A()),e)],e.tan=(t,e)=>[t.run(D(t,e[0],E()),e)],e.tanh=(t,e)=>[t.run(D(t,e[0],I()),e)]},5611:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createUnpackProgramInfoLoader=e.createUnpackProgramInfo=void 0;const r=n(5060),i=n(2039),o=n(9390),a=n(2827),s={name:\"unpack\",inputNames:[\"A\"],inputTypes:[i.TextureType.packed]};e.createUnpackProgramInfo=(t,e)=>{const n=e.dims.length,u=(0,a.getChannels)(\"rc\",n),c=u.slice(-2),l=(0,o.getCoordsDataType)(n),p=(0,a.unpackFromChannel)(),f=0===e.dims.length?\"\":function(t,e){if(1===t)return\"rc\";let n=\"\";for(let r=0;r<t;r++)n+=e[r],r<t-1&&(n+=\",\");return n}(n,u),d=n<=1?\"rc\":`vec2(${c.join(\",\")})`,h=`\\n ${p}\\n void main() {\\n ${l} rc = getOutputCoords();\\n\\n // Sample the texture with the coords to get the rgba channel value.\\n vec4 packedInput = getA(${f});\\n\\n ${(0,r.getGlsl)(t.session.backend.glContext.version).output} = vec4(getChannel(packedInput, ${d}), 0, 0, 0);\\n }\\n `;return Object.assign(Object.assign({},s),{hasMain:!0,output:{dims:e.dims,type:e.type,textureType:i.TextureType.unpacked},shaderSource:h})},e.createUnpackProgramInfoLoader=(t,n)=>Object.assign(Object.assign({},s),{get:()=>(0,e.createUnpackProgramInfo)(t,n)})},8428:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.parseUnsqueezeAttributes=e.unsqueezeV13=e.unsqueeze=void 0;const r=n(2517);e.unsqueeze=(t,e,n)=>{i(e);const o=r.ShapeUtil.unsqueezeShape(e[0].dims,n);return[t.reshapeUnpacked(e[0],o)]},e.unsqueezeV13=(t,n)=>(o(n),(0,e.unsqueeze)(t,[n[0]],Array.from(n[1].integerData))),e.parseUnsqueezeAttributes=t=>t.attributes.getInts(\"axes\");const i=t=>{if(!t||1!==t.length)throw new Error(\"Unsqueeze requires 1 input.\");if(\"string\"===t[0].type)throw new Error(\"invalid input tensor types.\")},o=t=>{if(!t||2!==t.length)throw new Error(\"Unsqueeze requires 2 inputs.\");if(\"int32\"!==t[1].type)throw new Error(\"Invalid input type.\")}},9793:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.scalesValidation=e.validateInputs=e.parseUpsampleAttributes=e.parseUpsampleAttributesV9=e.parseUpsampleAttributesV7=e.upsample=void 0;const r=n(246),i=n(5060),o=n(2039),a={name:\"Upsample\",inputNames:[\"X\"],inputTypes:[o.TextureType.unpacked]};e.upsample=(t,n,r)=>((0,e.validateInputs)(n,r),[t.run(Object.assign(Object.assign({},a),{cacheHint:r.cacheKey,get:()=>s(t,n,r)}),n)]),e.parseUpsampleAttributesV7=t=>(0,e.parseUpsampleAttributes)(t,7),e.parseUpsampleAttributesV9=t=>(0,e.parseUpsampleAttributes)(t,9),e.parseUpsampleAttributes=(t,n)=>{const i=n>=10,o=t.attributes.getString(\"mode\",\"nearest\");if(\"nearest\"!==o&&\"linear\"!==o&&(n<11||\"cubic\"!==o))throw new Error(`unrecognized mode: ${o}`);let a=[];n<9&&(a=t.attributes.getFloats(\"scales\"),(0,e.scalesValidation)(a,o,i));const s=t.attributes.getFloat(\"extrapolation_value\",0),u=n>10?t.attributes.getString(\"coordinate_transformation_mode\",\"half_pixel\"):\"asymmetric\";if(-1===[\"asymmetric\",\"pytorch_half_pixel\",\"tf_half_pixel_for_nn\",\"align_corners\",\"tf_crop_and_resize\",\"half_pixel\"].indexOf(u))throw new Error(`coordinate_transform_mode '${u}' is not supported`);const c=\"tf_crop_and_resize\"===u,l=c,p=\"nearest\"===o&&n>=11?t.attributes.getString(\"nearest_mode\",\"round_prefer_floor\"):\"\";if(-1===[\"round_prefer_floor\",\"round_prefer_ceil\",\"floor\",\"ceil\",\"\"].indexOf(p))throw new Error(`nearest_mode '${p}' is not supported`);const f=t.attributes.getFloat(\"cubic_coeff_a\",-.75),d=0!==t.attributes.getInt(\"exclude_outside\",0);if(d&&\"cubic\"!==o)throw new Error(\"exclude_outside can be set to 1 only when mode is CUBIC.\");const h=n<11||\"nearest\"===o&&\"asymmetric\"===u&&\"floor\"===p;let g=0,b=0,m=0;return n>10?t.inputs.length>2?(g=1,b=2,m=3):(b=1,m=2):9===n&&(b=1),(0,r.createAttributeWithCacheKey)({opset:n,isResize:i,mode:o,scales:a,extrapolationValue:s,coordinateTransformMode:u,useExtrapolation:l,needRoiInput:c,nearestMode:p,cubicCoefficientA:f,excludeOutside:d,useNearest2xOptimization:h,roiInputIdx:g,scalesInputIdx:b,sizesInputIdx:m})};const s=(t,e,n)=>{const r=(0,i.getGlsl)(t.session.backend.glContext.version),[s,u]=t.calculateTextureWidthAndHeight(e[0].dims,o.TextureType.unpacked),c=e[0].dims.map(((t,e)=>Math.floor(t*n.scales[e]))),[l,p]=t.calculateTextureWidthAndHeight(c,o.TextureType.unpacked),f=c.length,d=new Array(f),h=new Array(f);let g=`\\n int output_pitches[${f}];\\n int input_pitches[${f}];\\n `;for(let t=f-1;t>=0;t--)d[t]=t===f-1?1:d[t+1]*c[t+1],h[t]=t===f-1?1:h[t+1]*e[0].dims[t+1],g+=`\\n output_pitches[${t}] = ${d[t]};\\n input_pitches[${t}] = ${h[t]};\\n `;const b=`\\n float getInputFloat(int index) {\\n vec2 coords = offsetToCoords(index, ${s}, ${u});\\n float value = getColorAsFloat(${r.texture2D}(X, coords));\\n return value;\\n }\\n `,m=\"nearest\"===n.mode?`\\n ${b}\\n float process(int indices[${f}]) {\\n int input_index = 0;\\n int output_index = coordsToOffset(TexCoords, ${l}, ${p});\\n\\n ${g}\\n\\n int d, m;\\n for (int dim = 0; dim < ${f}; ++dim) {\\n d = output_index / output_pitches[dim];\\n m = output_index - d * output_pitches[dim];\\n output_index = m;\\n\\n if (scales[dim] != 1 && d > 0) {\\n int d2 = d / scales[dim];\\n m = d - d2 * scales[dim];\\n d = d2;\\n }\\n input_index += input_pitches[dim] * d;\\n }\\n\\n return getInputFloat(input_index);\\n }`:4===f?`\\n ${b}\\n float process(int indices[4]) {\\n int input_index = 0;\\n int output_index = coordsToOffset(TexCoords, ${l}, ${p});\\n\\n ${g}\\n\\n int m;\\n int index_of_dim0, index_of_dim1, index_of_dim2, index_of_dim3;\\n index_of_dim0 = output_index / output_pitches[0];\\n m = output_index - index_of_dim0 * output_pitches[0];\\n index_of_dim1 = m / output_pitches[1];\\n m = m - index_of_dim1 * output_pitches[1];\\n index_of_dim2 = m / output_pitches[2];\\n m = m - index_of_dim2 * output_pitches[2];\\n index_of_dim3 = m;\\n\\n int index_of_input_dim2, index_of_input_dim3, x_offset, y_offset;\\n index_of_input_dim2 = index_of_dim2 / scales[2];\\n y_offset = index_of_dim2 - index_of_input_dim2 * scales[2];\\n index_of_input_dim3 = index_of_dim3 / scales[3];\\n x_offset = index_of_dim3 - index_of_input_dim3 * scales[3];\\n\\n input_index = index_of_dim0 * input_pitches[0] +\\n index_of_dim1 * input_pitches[1] +\\n index_of_input_dim2 * input_pitches[2] +\\n index_of_input_dim3;\\n\\n float x00 = getInputFloat(input_index);\\n float x10, x01, x11;\\n\\n bool end_of_dim2 = false;\\n if (index_of_input_dim2 == (${e[0].dims[2]} - 1)) {\\n // It's the end in dimension 2\\n x01 = x00;\\n end_of_dim2 = true;\\n } else {\\n x01 = getInputFloat(input_index + input_pitches[2]);\\n }\\n\\n if (index_of_input_dim3 == (input_pitches[2] - 1)) {\\n // It's the end in dimension 3\\n x10 = x00;\\n x11 = x01;\\n }\\n else {\\n x10 = getInputFloat(input_index + 1);\\n x11 = end_of_dim2 ? x10 : getInputFloat(input_index + input_pitches[2] + 1);\\n }\\n\\n float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[2]);\\n float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[2]);\\n return y0 + float(x_offset) * (y1 - y0) / float(scales[3]);\\n }`:`\\n ${b}\\n float process(int indices[2]) {\\n int input_index = 0;\\n int output_index = coordsToOffset(TexCoords, ${l}, ${p});\\n\\n ${g}\\n\\n int m;\\n int index_of_dim0, index_of_dim1;\\n index_of_dim0 = output_index / output_pitches[0];\\n m = output_index - index_of_dim0 * output_pitches[0];\\n index_of_dim1 = m;\\n\\n int index_of_input_dim0, index_of_input_dim1, x_offset, y_offset;\\n index_of_input_dim0 = index_of_dim0 / scales[0];\\n y_offset = index_of_dim0 - index_of_input_dim0 * scales[0];\\n index_of_input_dim1 = index_of_dim1 / scales[1];\\n x_offset = index_of_dim1 - index_of_input_dim1 * scales[1];\\n\\n input_index = index_of_input_dim0 * input_pitches[0] + index_of_input_dim1;\\n\\n float x00 = getInputFloat(input_index);\\n float x10, x01, x11;\\n\\n bool end_of_dim0 = false;\\n if (index_of_input_dim0 == (${e[0].dims[0]} - 1)) {\\n // It's the end in dimension 0\\n x01 = x00;\\n end_of_dim0 = true;\\n } else {\\n x01 = getInputFloat(input_index + input_pitches[0]);\\n }\\n\\n if (index_of_input_dim1 == (input_pitches[0] - 1)) {\\n // It's the end in dimension 1\\n x10 = x00;\\n x11 = x01;\\n }\\n else {\\n x10 = getInputFloat(input_index + 1);\\n x11 = end_of_dim0 ? x10 : getInputFloat(input_index + input_pitches[0] + 1);\\n }\\n\\n float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[0]);\\n float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[0]);\\n return y0 + float(x_offset) * (y1 - y0) / float(scales[1]);\\n }`;return Object.assign(Object.assign({},a),{output:{dims:c,type:e[0].type,textureType:o.TextureType.unpacked},shaderSource:m,variables:[{name:\"scales\",type:\"int\",arrayLength:n.scales.length,data:n.scales.map((t=>Math.ceil(t)))}]})};e.validateInputs=(t,e)=>{if(!t||e.opset<9&&1!==t.length||e.opset>=9&&e.opset<11&&2!==t.length||e.opset>=11&&t.length<2)throw new Error(\"invalid inputs.\");if(e.scales.length>0&&t[0].dims.length!==e.scales.length)throw new Error(\"Invalid input shape.\");if(\"string\"===t[0].type)throw new Error(\"Invalid input tensor types.\")},e.scalesValidation=(t,e,n)=>{if(n){for(const e of t)if(e<=0)throw new Error(\"Scale value should be greater than 0.\")}else for(const e of t)if(e<1)throw new Error(\"Scale value should be greater than or equal to 1.\");if(!(\"linear\"!==e&&\"cubic\"!==e||2===t.length||4===t.length&&1===t[0]&&1===t[1]))throw new Error(`'Linear' mode and 'Cubic' mode only support 2-D inputs ('Bilinear', 'Bicubic') or 4-D inputs with the corresponding outermost 2 scale values being 1 in the ${n?\"Resize\":\"Upsample\"} opeartor.`)}},1958:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ProgramManager=void 0;const r=n(1670),i=n(6231),o=n(8879),a=n(5060);e.ProgramManager=class{constructor(t,e,n){this.profiler=t,this.glContext=e,this.textureLayoutStrategy=n,this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,e){this.repo.set(t,e)}run(t,e,n){var r;this.profiler.event(\"op\",`ProgramManager.run ${null!==(r=t.programInfo.name)&&void 0!==r?r:\"unknown kernel\"}`,(()=>{var r;const o=this.glContext.gl,a=t.program;o.useProgram(a);try{this.bindOutput(n),this.attributesBound||this.bindAttributes(t.attribLocations),this.bindUniforms(t.uniformLocations,null!==(r=t.programInfo.variables)&&void 0!==r?r:[],e)}catch(e){throw i.Logger.error(\"ProgramManager\",t.programInfo.shaderSource),e}this.profiler.event(\"backend\",\"GlContext.draw()\",(()=>{this.glContext.draw()}))}),this.glContext)}dispose(){this.vertexShader&&this.glContext.deleteShader(this.vertexShader),this.repo.forEach((t=>this.glContext.deleteProgram(t.program)))}build(t,e,n){return this.profiler.event(\"backend\",\"ProgramManager.build\",(()=>{const r=new o.GlslPreprocessor(this.glContext,t,e,n),i=r.preprocess(),a=this.compile(i);return{programInfo:t,program:a,uniformLocations:this.getUniformLocations(a,r.context.programInfo.inputNames,r.context.programInfo.variables),attribLocations:this.getAttribLocations(a)}}))}compile(t){if(!this.vertexShader){i.Logger.verbose(\"ProrgramManager\",\"Compiling and caching Vertex shader for the first time\");const t=(0,a.getVertexShaderSource)(this.glContext.version);this.vertexShader=this.glContext.compileShader(t,this.glContext.gl.VERTEX_SHADER)}r.env.debug&&i.Logger.verbose(\"ProrgramManager\",`FragShader:\\n${t}\\n`);const e=this.glContext.compileShader(t,this.glContext.gl.FRAGMENT_SHADER),n=this.glContext.createProgram(this.vertexShader,e);return this.glContext.deleteShader(e),n}bindOutput(t){const e=t.width,n=t.height;i.Logger.verbose(\"ProrgramManager\",`Binding output texture to Framebuffer: w/h=${e}/${n}, shape=${t.shape}, type=${t.tensor.type}`),this.glContext.attachFramebuffer(t.texture,e,n)}bindAttributes(t){const e=t.position,n=t.textureCoord;this.glContext.setVertexAttributes(e,n),this.attributesBound=!0}bindUniforms(t,e,n){var r;const i=this.glContext.gl;let o=0;for(const{name:a,type:s,location:u,arrayLength:c}of t){const t=null===(r=e.find((t=>t.name===a)))||void 0===r?void 0:r.data;if(\"sampler2D\"!==s&&!t)throw new Error(`variable '${a}' does not have data defined in program info`);switch(s){case\"sampler2D\":this.bindTexture(n[o],u,o),o++;break;case\"float\":c?i.uniform1fv(u,t):i.uniform1f(u,t);break;case\"int\":c?i.uniform1iv(u,t):i.uniform1i(u,t);break;default:throw new Error(`Uniform not implemented: ${s}`)}}}bindTexture(t,e,n){this.glContext.bindTextureToUniform(t.texture,n,e)}getAttribLocations(t){return{position:this.getAttribLocation(t,\"position\"),textureCoord:this.getAttribLocation(t,\"textureCoord\")}}getUniformLocations(t,e,n){const r=[];if(e)for(const n of e)r.push({name:n,type:\"sampler2D\",location:this.getUniformLocation(t,n)});if(n)for(const e of n)r.push(Object.assign(Object.assign({},e),{location:this.getUniformLocation(t,e.name)}));return r}getUniformLocation(t,e){const n=this.glContext.gl.getUniformLocation(t,e);if(null===n)throw new Error(`Uniform ${e} not found.`);return n}getAttribLocation(t,e){return this.glContext.gl.getAttribLocation(t,e)}}},6416:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebGLSessionHandler=void 0;const r=n(6231),i=n(1047),o=n(8316),a=n(1640),s=n(1958),u=n(7859),c=n(5702);e.WebGLSessionHandler=class{constructor(t,e){this.backend=t,this.context=e,this.layoutStrategy=new u.PreferLogicalStrategy(t.glContext.maxTextureSize),this.programManager=new s.ProgramManager(this.context.profiler,t.glContext,this.layoutStrategy),this.textureManager=new c.TextureManager(t.glContext,this.layoutStrategy,this.context.profiler,{reuseTextures:\"full\"===t.textureCacheMode}),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map,this.pack=t.pack,this.pack2unpackMap=new Map,this.unpack2packMap=new Map}createInferenceHandler(){return new o.WebGLInferenceHandler(this)}onGraphInitialized(t){const e=t.getValues().filter((t=>-1===t.from&&t.tensor)).map((t=>t.tensor.dataId));this.initializers=new Set(e)}isInitializer(t){return!!this.initializers&&this.initializers.has(t)}addInitializer(t){this.initializers.add(t)}getTextureData(t,e){return e?this.packedTextureDataCache.get(t):this.unpackedTextureDataCache.get(t)}setTextureData(t,e,n=!1){r.Logger.verbose(\"WebGLSessionHandler\",\"Storing Texture data in cache\"),n?this.packedTextureDataCache.set(t,e):this.unpackedTextureDataCache.set(t,e)}dispose(){this.programManager.dispose(),this.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach((t=>this.textureManager.releaseTexture(t,!0))),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach((t=>this.textureManager.releaseTexture(t,!0))),this.unpackedTextureDataCache=new Map}resolve(t,e,n){const r=(0,i.resolveOperator)(t,e,a.WEBGL_OP_RESOLVE_RULES);return{impl:r.opImpl,context:r.opInit?r.opInit(t,n):t}}}},7769:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Uint8DataEncoder=e.RGBAFloatDataEncoder=e.RedFloat32DataEncoder=void 0;const r=n(6231);e.RedFloat32DataEncoder=class{constructor(t,e=1){if(1===e)this.internalFormat=t.R32F,this.format=t.RED,this.textureType=t.FLOAT,this.channelSize=e;else{if(4!==e)throw new Error(`Invalid number of channels: ${e}`);this.internalFormat=t.RGBA32F,this.format=t.RGBA,this.textureType=t.FLOAT,this.channelSize=e}}encode(t,e){let n,i;return t.constructor!==Float32Array&&(r.Logger.warning(\"Encoder\",\"data was not of type Float32; creating new Float32Array\"),i=new Float32Array(t)),e*this.channelSize>t.length?(r.Logger.warning(\"Encoder\",\"Source data too small. Allocating larger array\"),i=t,n=this.allocate(e*this.channelSize),i.forEach(((t,e)=>n[e]=t))):(i=t,n=i),n}allocate(t){return new Float32Array(4*t)}decode(t,e){return 1===this.channelSize?t.filter(((t,e)=>e%4==0)).subarray(0,e):t.subarray(0,e)}},e.RGBAFloatDataEncoder=class{constructor(t,e=1,n){if(1!==e&&4!==e)throw new Error(`Invalid number of channels: ${e}`);this.internalFormat=t.RGBA,this.format=t.RGBA,this.channelSize=e,this.textureType=n||t.FLOAT}encode(t,e){let n=t;return 1===this.channelSize&&(r.Logger.verbose(\"Encoder\",\"Exploding into a larger array\"),n=this.allocate(e),t.forEach(((t,e)=>n[4*e]=t))),n}allocate(t){return new Float32Array(4*t)}decode(t,e){return 1===this.channelSize?t.filter(((t,e)=>e%4==0)).subarray(0,e):t.subarray(0,e)}},e.Uint8DataEncoder=class{constructor(t,e=1){if(this.channelSize=4,1===e)this.internalFormat=t.ALPHA,this.format=t.ALPHA,this.textureType=t.UNSIGNED_BYTE,this.channelSize=e;else{if(4!==e)throw new Error(`Invalid number of channels: ${e}`);this.internalFormat=t.RGBA,this.format=t.RGBA,this.textureType=t.UNSIGNED_BYTE,this.channelSize=e}}encode(t,e){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}allocate(t){return new Uint8Array(t*this.channelSize)}decode(t,e){if(t instanceof Uint8Array)return t.subarray(0,e);throw new Error(`Invalid array type: ${t.constructor}`)}}},7859:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getBatchDim=e.sizeToSquarishShape=e.getRowsCols=e.sizeFromShape=e.isInt=e.parseAxisParam=e.squeezeShape=e.PreferLogicalStrategy=e.AlwaysKeepOriginalSizeStrategy=void 0;const r=n(6231),i=n(2517);function o(t,e){const n=[],r=[],i=null!=e&&Array.isArray(e)&&0===e.length,o=null==e||i?null:a(e,t).sort();let s=0;for(let e=0;e<t.length;++e){if(null!=o){if(o[s]===e&&1!==t[e])throw new Error(`Can't squeeze axis ${e} since its dim '${t[e]}' is not 1`);(null==o[s]||o[s]>e)&&1===t[e]&&(n.push(t[e]),r.push(e)),o[s]<=e&&s++}1!==t[e]&&(n.push(t[e]),r.push(e))}return{newShape:n,keptDims:r}}function a(t,e){const n=e.length;return t=null==t?e.map(((t,e)=>e)):[].concat(t),(0,i.assert)(t.every((t=>t>=-n&&t<n)),(()=>`All values in axis param must be in range [-${n}, ${n}) but got axis ${t}`)),(0,i.assert)(t.every(s),(()=>`All values in axis param must be integers but got axis ${t}`)),t.map((t=>t<0?n+t:t))}function s(t){return t%1==0}function u(t){if(0===t.length)return 1;let e=t[0];for(let n=1;n<t.length;n++)e*=t[n];return e}function c(t){const e=Math.ceil(Math.sqrt(t));return[e,Math.ceil(t/e)]}e.AlwaysKeepOriginalSizeStrategy=class{constructor(t){this.maxTextureSize=t}computeTextureWH(t,e){if(0===t.length)return[1,1];const n=this.maxTextureSize;if(e&&void 0!==e.breakAxis){const i=e.breakAxis>=t.length?1:t.slice(e.breakAxis).reduce(((t,e)=>t*e)),o=e.breakAxis<=0?1:t.slice(0,e.breakAxis).reduce(((t,e)=>t*e));if(!(i>n||o>n))return[i,o];r.Logger.verbose(\"TextureLayout\",`Given width/height preferences were unattainable: shape:${t}, breakAxis:${e.breakAxis}`)}const i=t.reduce(((t,e)=>t*e));let o=Math.floor(Math.sqrt(i));for(;o<n&&o<i&&i%o!=0;o++);if(o>=n||i%o!=0)throw new Error(`The given dimensions are outside this GPU's boundaries: ${t}`);return[o,i/o]}},e.PreferLogicalStrategy=class{constructor(t){this.maxTextureSize=t}computeTextureWH(t,e){const n=this.computeTexture(t,e);return e&&e.isPacked&&(n[0]/=2,n[1]/=2),e&&e.reverseWH?[n[1],n[0]]:n}computeTexture(t,e){const n=e&&e.isPacked;if(0===t.length)return n?[2,2]:[1,1];let i=this.maxTextureSize;if(e&&void 0!==e.breakAxis){const n=e.breakAxis>=t.length?1:t.slice(e.breakAxis).reduce(((t,e)=>t*e)),o=e.breakAxis<=0?1:t.slice(0,e.breakAxis).reduce(((t,e)=>t*e));if(!(n>i||o>i))return[n,o];r.Logger.verbose(\"TextureLayout\",`Given width/height preferences were unattainable: shape:${t}, breakAxis:${e.breakAxis}`)}let a=t.slice(0);if(n&&(i*=2,a=a.map(((t,e)=>e>=a.length-2?a[e]%2==0?a[e]:a[e]+1:a[e])),1===a.length&&(a=[2,a[0]])),2!==a.length){const t=o(a);a=t.newShape}const s=u(a);return a.length<=1&&s<=i?[1,s]:2===a.length&&a[0]<=i&&a[1]<=i?a:3===a.length&&a[0]*a[1]<=i&&a[2]<=i?[a[0]*a[1],a[2]]:3===a.length&&a[0]<=i&&a[1]*a[2]<=i?[a[0],a[1]*a[2]]:4===a.length&&a[0]*a[1]*a[2]<=i&&a[3]<=i?[a[0]*a[1]*a[2],a[3]]:4===a.length&&a[0]<=i&&a[1]*a[2]*a[3]<=i?[a[0],a[1]*a[2]*a[3]]:n?c(s/4).map((t=>2*t)):c(s)}},e.squeezeShape=o,e.parseAxisParam=a,e.isInt=s,e.sizeFromShape=u,e.getRowsCols=function(t){if(0===t.length)throw Error(\"Cannot get rows and columns of an empty shape array.\");return[t.length>1?t[t.length-2]:1,t[t.length-1]]},e.sizeToSquarishShape=c,e.getBatchDim=function(t,e=2){return u(t.slice(0,t.length-e))}},4057:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createTextureLayoutFromShape=e.calculateTextureWidthAndHeight=e.createTextureLayoutFromTextureType=void 0;const r=n(2517),i=n(2039);e.createTextureLayoutFromTextureType=(t,n,r)=>{const o=r===i.TextureType.unpacked||r===i.TextureType.unpackedReversed?1:4,a=r===i.TextureType.packed,s=r===i.TextureType.unpackedReversed||r===i.TextureType.packed,u=r===i.TextureType.packedLastDimension?n.length-1:void 0,c=r===i.TextureType.packedLastDimension?n.map(((t,e)=>e===n.length-1?4*t:t)):void 0;return(0,e.createTextureLayoutFromShape)(t,n,o,c,{isPacked:a,reverseWH:s,breakAxis:u})},e.calculateTextureWidthAndHeight=(t,n,r)=>{const i=(0,e.createTextureLayoutFromTextureType)(t,n,r);return[i.width,i.height]},e.createTextureLayoutFromShape=(t,e,n=1,i,o)=>{const a=!(!o||!o.isPacked),[s,u]=t.computeTextureWH(a&&i||e,o),c=e.length;let l=e.slice(0);if(0===c&&(l=[1]),1===n)i=e;else if(a){if(4!==n)throw new Error(\"a packed texture must be 4-channel\");i=e,c>0&&(l[c-1]=Math.ceil(l[c-1]/2)),c>1&&(l[c-2]=Math.ceil(l[c-2]/2))}else if(!i)throw new Error(\"Unpacked shape is needed when using channels > 1\");return{width:s,height:u,channels:n,isPacked:a,shape:l,strides:r.ShapeUtil.computeStrides(l),unpackedShape:i,reversedWH:o&&o.reverseWH}}},5702:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextureManager=void 0;const r=n(6231);e.TextureManager=class{constructor(t,e,n,r){this.glContext=t,this.layoutStrategy=e,this.profiler=n,this.config=r,this.pendingRead=new Map,r.reuseTextures&&(this.inUseTextures=new Map,this.idleTextures=new Map,this.textureLookup=new Map)}createTextureFromLayout(t,e,n,i){const o=this.toEncoderType(t),a=this.glContext.getEncoder(o,e.channels||1,i);if(e.isPacked&&1===i)throw new Error(\"not implemented\");const s=e.width,u=e.height;let c,l;if(this.config.reuseTextures){c=`${s}x${u}_${a.format}_${a.internalFormat}_${a.textureType}`,l=this.inUseTextures.get(c),l||(l=[],this.inUseTextures.set(c,l));const e=this.idleTextures.get(c);if(e&&e.length>0){const r=e.pop();return l.push(r),1===i&&this.glContext.updateTexture(r,s,u,a,this.toTextureData(t,n)),r}}r.Logger.verbose(\"TextureManager\",`Creating new texture of size ${e.width}x${e.height}`);const p=this.glContext.allocateTexture(s,u,a,this.toTextureData(t,n));return this.config.reuseTextures&&(l.push(p),this.textureLookup.set(p,c)),p}readTexture(t,e,n){return n||(n=1),this.profiler.event(\"backend\",\"TextureManager.readTexture\",(()=>{const r=t.shape.reduce(((t,e)=>t*e))*n,i=this.glContext.readTexture(t.texture,t.width,t.height,r,this.toEncoderType(e),n);return this.toTensorData(e,i)}))}async readTextureAsync(t,e,n){const r=t.tensor.dataId;if(n||(n=1),this.pendingRead.has(r)){const t=this.pendingRead.get(r);return new Promise((e=>null==t?void 0:t.push(e)))}return this.profiler.event(\"backend\",\"TextureManager.readTextureAsync\",(async()=>{this.pendingRead.set(r,[]);const i=t.shape.reduce(((t,e)=>t*e))*n;await this.glContext.createAndWaitForFence();const o=this.glContext.readTexture(t.texture,t.width,t.height,i,this.toEncoderType(e),n),a=this.toTensorData(e,o),s=this.pendingRead.get(r);return this.pendingRead.delete(r),null==s||s.forEach((t=>t(a))),a}))}readUint8TextureAsFloat(t){return this.profiler.event(\"backend\",\"TextureManager.readUint8TextureAsFloat\",(()=>{const e=t.shape.reduce(((t,e)=>t*e)),n=this.glContext.readTexture(t.texture,t.width,t.height,4*e,\"byte\",4);return new Float32Array(n.buffer,n.byteOffset,e)}))}releaseTexture(t,e){let n;if(this.config.reuseTextures&&(n=this.textureLookup.get(t.texture),n)){e&&this.textureLookup.delete(n);const r=this.inUseTextures.get(n);if(r){const e=r.indexOf(t.texture);if(-1!==e){r.splice(e,1);let i=this.idleTextures.get(n);i||(i=[],this.idleTextures.set(n,i)),i.push(t.texture)}}}n&&!e||(r.Logger.verbose(\"TextureManager\",`Deleting texture of size ${t.width}x${t.height}`),this.glContext.deleteTexture(t.texture))}toTensorData(t,e){switch(t){case\"int16\":return e instanceof Int16Array?e:Int16Array.from(e);case\"int32\":return e instanceof Int32Array?e:Int32Array.from(e);case\"int8\":return e instanceof Int8Array?e:Int8Array.from(e);case\"uint16\":return e instanceof Uint16Array?e:Uint16Array.from(e);case\"uint32\":return e instanceof Uint32Array?e:Uint32Array.from(e);case\"uint8\":case\"bool\":return e instanceof Uint8Array?e:Uint8Array.from(e);case\"float32\":return e instanceof Float32Array?e:Float32Array.from(e);case\"float64\":return e instanceof Float64Array?e:Float64Array.from(e);default:throw new Error(`TensorData type ${t} is not supported`)}}toTextureData(t,e){if(e)return e instanceof Float32Array?e:new Float32Array(e)}toEncoderType(t){return\"float\"}clearActiveTextures(){this.glContext.clearActiveTextures()}}},2039:(t,e)=>{\"use strict\";var n;Object.defineProperty(e,\"__esModule\",{value:!0}),e.TextureType=void 0,(n=e.TextureType||(e.TextureType={}))[n.unpacked=0]=\"unpacked\",n[n.unpackedReversed=1]=\"unpackedReversed\",n[n.packed=2]=\"packed\",n[n.downloadUint8AsFloat=3]=\"downloadUint8AsFloat\",n[n.packedLastDimension=4]=\"packedLastDimension\"},9390:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getGlChannels=e.getCoordsDataType=e.getSqueezedParams=e.squeezeInputShape=e.generateShaderFuncNameFromInputSamplerNameAtOutCoords=e.generateShaderFuncNameFromInputSamplerName=e.repeatedTry=e.getPackedShape=void 0;const r=n(2517);e.getPackedShape=function(t){const e=t.length;return t.slice(0,e-1).concat(t[e-1]/4)},e.repeatedTry=async function(t,e=(t=>0),n){return new Promise(((r,i)=>{let o=0;const a=()=>{if(t())return void r();o++;const s=e(o);null!=n&&o>=n?i():setTimeout(a,s)};a()}))},e.generateShaderFuncNameFromInputSamplerName=function(t){return(0,r.assert)(void 0!==t&&0!==t.length,(()=>\"empty string found for sampler name\")),\"get\"+t.charAt(0).toUpperCase()+t.slice(1)},e.generateShaderFuncNameFromInputSamplerNameAtOutCoords=function(t){return(0,r.assert)(void 0!==t&&0!==t.length,(()=>\"empty string found for sampler name\")),\"get\"+t.charAt(0).toUpperCase()+t.slice(1)+\"AtOutCoords\"},e.squeezeInputShape=function(t,e){let n=JSON.parse(JSON.stringify(t));return n=e,n},e.getSqueezedParams=function(t,e){return e.map((e=>t[e])).join(\", \")},e.getCoordsDataType=function(t){if(t<=1)return\"int\";if(2===t)return\"ivec2\";if(3===t)return\"ivec3\";if(4===t)return\"ivec4\";if(5===t)return\"ivec5\";if(6===t)return\"ivec6\";throw Error(`GPU for rank ${t} is not yet supported`)},e.getGlChannels=function(t=6){return[\"x\",\"y\",\"z\",\"w\",\"u\",\"v\"].slice(0,t)}},7305:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.createNewWebGLContext=e.createWebGLContext=void 0;const r=n(6231),i=n(1713),o={};function a(t){const e=function(){if(\"undefined\"==typeof document){if(\"undefined\"==typeof OffscreenCanvas)throw new TypeError(\"failed to create canvas: OffscreenCanvas is not supported\");return new OffscreenCanvas(1,1)}const t=document.createElement(\"canvas\");return t.width=1,t.height=1,t}();let n;const o={alpha:!1,depth:!1,antialias:!1,stencil:!1,preserveDrawingBuffer:!1,premultipliedAlpha:!1,failIfMajorPerformanceCaveat:!1};if((!t||\"webgl2\"===t)&&(n=e.getContext(\"webgl2\",o),n))try{return new i.WebGLContext(n,2)}catch(t){r.Logger.warning(\"GlContextFactory\",`failed to create WebGLContext using contextId 'webgl2'. Error: ${t}`)}if((!t||\"webgl\"===t)&&(n=e.getContext(\"webgl\",o)||e.getContext(\"experimental-webgl\",o),n))try{return new i.WebGLContext(n,1)}catch(t){r.Logger.warning(\"GlContextFactory\",`failed to create WebGLContext using contextId 'webgl' or 'experimental-webgl'. Error: ${t}`)}throw new Error(\"WebGL is not supported\")}e.createWebGLContext=function t(e){let n;e&&\"webgl2\"!==e||!(\"webgl2\"in o)?e&&\"webgl\"!==e||!(\"webgl\"in o)||(n=o.webgl):n=o.webgl2,n=n||a(e),e=e||1===n.version?\"webgl\":\"webgl2\";const r=n.gl;return o[e]=n,r.isContextLost()?(delete o[e],t(e)):(r.disable(r.DEPTH_TEST),r.disable(r.STENCIL_TEST),r.disable(r.BLEND),r.disable(r.DITHER),r.disable(r.POLYGON_OFFSET_FILL),r.disable(r.SAMPLE_COVERAGE),r.enable(r.SCISSOR_TEST),r.enable(r.CULL_FACE),r.cullFace(r.BACK),n)},e.createNewWebGLContext=a},1713:function(t,e,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!(\"get\"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebGLContext=e.linearSearchLastTrue=void 0;const a=n(1670),s=o(n(7769)),u=n(9390);function c(t){let e=0;for(;e<t.length&&t[e]();++e);return e-1}e.linearSearchLastTrue=c,e.WebGLContext=class{constructor(t,e){this.frameBufferBound=!1,this.itemsToPoll=[],this.gl=t,this.version=e,this.getExtensions(),this.vertexbuffer=this.createVertexbuffer(),this.framebuffer=this.createFramebuffer(),this.queryVitalParameters()}allocateTexture(t,e,n,r){const i=this.gl,o=i.createTexture();i.bindTexture(i.TEXTURE_2D,o),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE);const a=r?n.encode(r,t*e):null;return i.texImage2D(i.TEXTURE_2D,0,n.internalFormat,t,e,0,n.format,n.textureType,a),this.checkError(),o}updateTexture(t,e,n,r,i){const o=this.gl;o.bindTexture(o.TEXTURE_2D,t);const a=r.encode(i,e*n);o.texSubImage2D(o.TEXTURE_2D,0,0,0,e,n,r.format,r.textureType,a),this.checkError()}attachFramebuffer(t,e,n){const r=this.gl;r.bindTexture(r.TEXTURE_2D,t),r.bindFramebuffer(r.FRAMEBUFFER,this.framebuffer),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t,0),this.checkError(),r.viewport(0,0,e,n),r.scissor(0,0,e,n)}readTexture(t,e,n,r,i,o){const a=this.gl;o||(o=1),this.frameBufferBound||this.attachFramebuffer(t,e,n);const s=this.getEncoder(i,o),u=s.allocate(e*n);return a.bindTexture(a.TEXTURE_2D,t),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,t,0),a.readPixels(0,0,e,n,a.RGBA,s.textureType,u),this.checkError(),s.decode(u,r)}isFramebufferReady(){return!0}getActiveTexture(){const t=this.gl;return\"TEXTURE\"+(t.getParameter(this.gl.ACTIVE_TEXTURE)-t.TEXTURE0)}getTextureBinding(){return this.gl.getParameter(this.gl.TEXTURE_BINDING_2D)}getFramebufferBinding(){return this.gl.getParameter(this.gl.FRAMEBUFFER_BINDING)}setVertexAttributes(t,e){const n=this.gl;n.vertexAttribPointer(t,3,n.FLOAT,!1,20,0),n.enableVertexAttribArray(t),-1!==e&&(n.vertexAttribPointer(e,2,n.FLOAT,!1,20,12),n.enableVertexAttribArray(e)),this.checkError()}createProgram(t,e){const n=this.gl,r=n.createProgram();return n.attachShader(r,t),n.attachShader(r,e),n.linkProgram(r),r}compileShader(t,e){const n=this.gl,r=n.createShader(e);if(!r)throw new Error(`createShader() returned null with type ${e}`);if(n.shaderSource(r,t),n.compileShader(r),!1===n.getShaderParameter(r,n.COMPILE_STATUS))throw new Error(`Failed to compile shader: ${n.getShaderInfoLog(r)}\\nShader source:\\n${t}`);return r}deleteShader(t){this.gl.deleteShader(t)}bindTextureToUniform(t,e,n){const r=this.gl;r.activeTexture(r.TEXTURE0+e),this.checkError(),r.bindTexture(r.TEXTURE_2D,t),this.checkError(),r.uniform1i(n,e),this.checkError()}draw(){this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.checkError()}checkError(){if(a.env.debug){const t=this.gl,e=t.getError();let n=\"\";switch(e){case t.NO_ERROR:return;case t.INVALID_ENUM:n=\"INVALID_ENUM\";break;case t.INVALID_VALUE:n=\"INVALID_VALUE\";break;case t.INVALID_OPERATION:n=\"INVALID_OPERATION\";break;case t.INVALID_FRAMEBUFFER_OPERATION:n=\"INVALID_FRAMEBUFFER_OPERATION\";break;case t.OUT_OF_MEMORY:n=\"OUT_OF_MEMORY\";break;case t.CONTEXT_LOST_WEBGL:n=\"CONTEXT_LOST_WEBGL\";break;default:n=`Unknown WebGL Error: ${e.toString(16)}`}throw new Error(n)}}deleteTexture(t){this.gl.deleteTexture(t)}deleteProgram(t){this.gl.deleteProgram(t)}getEncoder(t,e,n=0){if(2===this.version)return new s.RedFloat32DataEncoder(this.gl,e);switch(t){case\"float\":return 1===n||this.isRenderFloat32Supported?new s.RGBAFloatDataEncoder(this.gl,e):new s.RGBAFloatDataEncoder(this.gl,e,this.textureHalfFloatExtension.HALF_FLOAT_OES);case\"int\":throw new Error(\"not implemented\");case\"byte\":return new s.Uint8DataEncoder(this.gl,e);default:throw new Error(`Invalid dataType: ${t}`)}}clearActiveTextures(){const t=this.gl;for(let e=0;e<this.maxTextureImageUnits;++e)t.activeTexture(t.TEXTURE0+e),t.bindTexture(t.TEXTURE_2D,null)}dispose(){if(this.disposed)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteFramebuffer(this.framebuffer),t.bindBuffer(t.ARRAY_BUFFER,null),t.deleteBuffer(this.vertexbuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.finish(),this.disposed=!0}createDefaultGeometry(){return new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0])}createVertexbuffer(){const t=this.gl,e=t.createBuffer();if(!e)throw new Error(\"createBuffer() returned null\");const n=this.createDefaultGeometry();return t.bindBuffer(t.ARRAY_BUFFER,e),t.bufferData(t.ARRAY_BUFFER,n,t.STATIC_DRAW),this.checkError(),e}createFramebuffer(){const t=this.gl.createFramebuffer();if(!t)throw new Error(\"createFramebuffer returned null\");return t}queryVitalParameters(){const t=this.gl;if(this.isFloatTextureAttachableToFrameBuffer=this.checkFloatTextureAttachableToFrameBuffer(),this.isRenderFloat32Supported=this.checkRenderFloat32(),this.isFloat32DownloadSupported=this.checkFloat32Download(),1===this.version&&!this.textureHalfFloatExtension&&!this.isRenderFloat32Supported)throw new Error(\"both float32 and float16 TextureType are not supported\");this.isBlendSupported=!this.isRenderFloat32Supported||this.checkFloat32Blend(),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this.maxTextureImageUnits=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this.version}getExtensions(){2===this.version?(this.colorBufferFloatExtension=this.gl.getExtension(\"EXT_color_buffer_float\"),this.disjointTimerQueryWebgl2Extension=this.gl.getExtension(\"EXT_disjoint_timer_query_webgl2\")):(this.textureFloatExtension=this.gl.getExtension(\"OES_texture_float\"),this.textureHalfFloatExtension=this.gl.getExtension(\"OES_texture_half_float\"))}checkFloatTextureAttachableToFrameBuffer(){const t=this.gl,e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);const n=2===this.version?t.RGBA32F:t.RGBA;t.texImage2D(t.TEXTURE_2D,0,n,1,1,0,t.RGBA,t.FLOAT,null);const r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0);const i=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(e),t.deleteFramebuffer(r),i}checkRenderFloat32(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else if(!this.textureFloatExtension)return!1;return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Download(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else{if(!this.textureFloatExtension)return!1;if(!this.gl.getExtension(\"WEBGL_color_buffer_float\"))return!1}return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Blend(){const t=this.gl;let e,n,r,i,o;try{e=t.createTexture(),n=t.createFramebuffer(),t.bindTexture(t.TEXTURE_2D,e);const a=2===this.version?t.RGBA32F:t.RGBA;return t.texImage2D(t.TEXTURE_2D,0,a,1,1,0,t.RGBA,t.FLOAT,null),t.bindFramebuffer(t.FRAMEBUFFER,n),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),t.enable(t.BLEND),r=t.createShader(t.VERTEX_SHADER),!!r&&(t.shaderSource(r,\"void main(){}\"),t.compileShader(r),i=t.createShader(t.FRAGMENT_SHADER),!!i&&(t.shaderSource(i,\"precision highp float;void main(){gl_FragColor=vec4(0.5);}\"),t.compileShader(i),o=t.createProgram(),!!o&&(t.attachShader(o,r),t.attachShader(o,i),t.linkProgram(o),t.useProgram(o),t.drawArrays(t.POINTS,0,1),t.getError()===t.NO_ERROR)))}finally{t.disable(t.BLEND),o&&t.deleteProgram(o),r&&t.deleteShader(r),i&&t.deleteShader(i),n&&(t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteFramebuffer(n)),e&&(t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(e))}}beginTimer(){if(2===this.version&&this.disjointTimerQueryWebgl2Extension){const t=this.gl,e=this.disjointTimerQueryWebgl2Extension,n=t.createQuery();return t.beginQuery(e.TIME_ELAPSED_EXT,n),n}throw new Error(\"WebGL1 profiling currently not supported.\")}endTimer(){if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw new Error(\"WebGL1 profiling currently not supported\");{const t=this.gl,e=this.disjointTimerQueryWebgl2Extension;t.endQuery(e.TIME_ELAPSED_EXT)}}isTimerResultAvailable(t){let e=!1,n=!1;if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw new Error(\"WebGL1 profiling currently not supported\");{const r=this.gl,i=this.disjointTimerQueryWebgl2Extension;e=r.getQueryParameter(t,r.QUERY_RESULT_AVAILABLE),n=r.getParameter(i.GPU_DISJOINT_EXT)}return e&&!n}getTimerResult(t){let e=0;if(2!==this.version)throw new Error(\"WebGL1 profiling currently not supported\");{const n=this.gl;e=n.getQueryParameter(t,n.QUERY_RESULT),n.deleteQuery(t)}return e/1e6}async waitForQueryAndGetTime(t){return await(0,u.repeatedTry)((()=>this.isTimerResultAvailable(t))),this.getTimerResult(t)}async createAndWaitForFence(){const t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let e;const n=t,r=n.fenceSync(n.SYNC_GPU_COMMANDS_COMPLETE,0);return t.flush(),e=null===r?()=>!0:()=>{const t=n.clientWaitSync(r,0,0);return t===n.ALREADY_SIGNALED||t===n.CONDITION_SATISFIED},{query:r,isFencePassed:e}}async pollFence(t){return new Promise((e=>{this.addItemToPoll((()=>t.isFencePassed()),(()=>e()))}))}pollItems(){const t=c(this.itemsToPoll.map((t=>t.isDoneFn)));for(let e=0;e<=t;++e){const{resolveFn:t}=this.itemsToPoll[e];t()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}async addItemToPoll(t,e){this.itemsToPoll.push({isDoneFn:t,resolveFn:e}),this.itemsToPoll.length>1||await(0,u.repeatedTry)((()=>(this.pollItems(),0===this.itemsToPoll.length)))}}},1036:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ExecutionPlan=void 0;const r=n(6231);class i{constructor(t,e){this.op=t,this.node=e}}e.ExecutionPlan=class{constructor(t,e,n){this.graph=t,this.profiler=n,this.initialize(e)}initialize(t){this.profiler.event(\"session\",\"ExecutionPlan.initialize\",(()=>{const e=this.graph.getNodes();if(e.length!==t.length)throw new Error(\"The size of nodes and OPs do not match.\");this._ops=t.map(((t,n)=>new i(t,e[n]))),this.reset(),this._starter=[],this._ops.forEach(((t,e)=>{let n=!0;for(const e of t.node.inputs)if(!this._values[e]&&-1===this.graph.getInputIndices().indexOf(e)){n=!1;break}n&&this._starter.push(e)}))}))}reset(){this._values=this.graph.getValues().map((t=>t.tensor))}async execute(t,e){return this.profiler.event(\"session\",\"ExecutionPlan.execute\",(async()=>{this.reset();const n=t.createInferenceHandler(),i=this.graph.getInputIndices();if(e.length!==i.length)throw new Error(`number of input tensors don't match the number of inputs to the model: actual: ${e.length} expected: ${i.length}`);e.forEach(((t,e)=>{const n=i[e];this._values[n]=t}));const o=this._starter.slice(0),a=this.graph.getValues(),s=this.graph.getNodes();let u=0;for(;u<o.length;){const t=o[u++],e=this._ops[t],i=e.node.inputs.map((t=>this._values[t]));if(-1!==i.indexOf(void 0))throw new Error(`unresolved input detected: op: ${e.node}`);const c=i;r.Logger.verbose(\"ExecPlan\",`Runing op:${e.node.name} (${c.map(((t,n)=>`'${e.node.inputs[n]}': ${t.type}[${t.dims.join(\",\")}]`)).join(\", \")})`);const l=await this.profiler.event(\"node\",e.node.name,(async()=>e.op.impl(n,c,e.op.context)));if(l.length!==e.node.outputs.length)throw new Error(\"the size of output does not match model definition.\");l.forEach(((t,n)=>{const r=e.node.outputs[n];if(this._values[r])throw new Error(`output [${r}] already has value: op:${e.node.name}`);this._values[r]=t}));const p=new Set;l.forEach(((t,n)=>{const r=e.node.outputs[n];for(const t of a[r].to){const e=s[t];let n=!0;for(const t of e.inputs)if(!this._values[t]){n=!1;break}n&&p.add(t)}})),o.push(...p)}const c=[];for(let t=0;t<this.graph.getOutputIndices().length;t++){const e=this.graph.getOutputIndices()[t],n=this._values[e];if(void 0===n)throw new Error(`required output [${e}] does not have value`);0===e?await n.getData():n.data,c.push(n)}return r.Logger.verbose(\"ExecPlan\",\"disposing of inferenceHandler\"),n.dispose(),c}))}}},7070:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Graph=void 0;const r=n(1446),i=n(7778),o=n(9395),a=n(9162),s=n(2517);var u=o.onnxruntime.experimental.fbs;e.Graph={from:(t,e)=>new p(t,e)};class c{constructor(t){this._from=void 0,this._to=[],this.tensor=void 0,this.type=void 0,t&&(this.type=s.ProtoUtil.tensorValueTypeFromProto(t.type.tensorType))}get from(){return this._from}get to(){return this._to}}class l{constructor(t,e){t instanceof r.onnx.NodeProto?(this.name=t.name,this.opType=t.opType,this.attributes=new i.Attribute(t.attribute)):t instanceof u.Node&&(this.name=null!=e?e:t.name(),this.opType=t.opType(),this.attributes=new i.Attribute(s.ProtoUtil.tensorAttributesFromORTFormat(t))),this.inputs=[],this.outputs=[],this.executeNode=!0}}class p{constructor(t,e){if(!t)throw new TypeError(\"graph is empty\");this.buildGraph(t),this.transformGraph(e),this.checkIsAcyclic()}getInputIndices(){return this._allInputIndices}getInputNames(){return this._allInputNames}getOutputIndices(){return this._allOutputIndices}getOutputNames(){return this._allOutputNames}getValues(){return this._allData}getNodes(){return this._nodes}buildGraph(t){if(t instanceof r.onnx.GraphProto)this.buildGraphFromOnnxFormat(t);else{if(!(t instanceof u.Graph))throw new TypeError(\"Graph type is not supported.\");this.buildGraphFromOrtFormat(t)}}buildGraphFromOnnxFormat(t){const e=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];const n=new Map;if(!t.input)throw new Error(\"missing information in graph: input\");const r=[];for(const n of t.input){if(e.has(n.name))throw new Error(`duplicated input name: ${n.name}`);const t=this._allData.push(new c(n))-1;e.set(n.name,t),r.push(n.name)}if(!t.initializer)throw new Error(\"missing information in graph: initializer\");for(const n of t.initializer){let t=e.get(n.name);if(void 0===t){const r=new c;r.type={shape:{dims:s.ProtoUtil.tensorDimsFromProto(n.dims)},tensorType:s.ProtoUtil.tensorDataTypeFromProto(n.dataType)},t=this._allData.push(r)-1,e.set(n.name,t)}this._allData[t]._from=-1,this._allData[t].tensor=a.Tensor.fromProto(n)}for(let t=0;t<this._allData.length;t++)this._allData[t].tensor||(this._allInputIndices.push(t),this._allInputNames.push(r[t]));if(!t.output)throw new Error(\"missing information in graph: output\");for(const n of t.output){if(e.has(n.name))throw new Error(`duplicated output name: ${n.name}`);const t=this._allData.push(new c(n))-1;e.set(n.name,t),this._allOutputIndices.push(t),this._allOutputNames.push(n.name)}if(!t.node)throw new Error(\"missing information in graph: node\");for(const e of t.node){if(!e.name)for(let t=0;;t++){const r=`unnamed_${e.opType}_${t}`;if(!n.has(r)){e.name=r;break}}if(n.has(e.name))throw new Error(`duplicated node name: ${e.name}`);const t=this._nodes.push(new l(e))-1;n.set(e.name,t)}for(let n=0;n<this._nodes.length;n++){const r=this._nodes[n],i=t.node[n];if(!i.output)throw new Error(`missing output for node: ${i.name}`);for(const t of i.output){let o=e.get(t);if(void 0===o&&(o=this._allData.push(new c)-1,e.set(t,o)),r.outputs.push(o),void 0!==this._allData[o]._from)throw new Error(`multiple nodes output to one data value: ${o}`);if(this._allData[o]._from=n,\"Constant\"===i.opType){if(!i.attribute||1!==i.attribute.length||!i.attribute[0].t)throw new Error(\"missing attributes or missing tensor value in attributes for this Constant operator\");if(!i.output||1!==i.output.length)throw new Error(\"missing output or incorrect number of outputs for this Constant operator\");r.outputs.pop(),r.executeNode=!1,this._allData[o]._from=-1,this._allData[o].tensor=a.Tensor.fromProto(i.attribute[0].t)}}}for(let n=0;n<this._nodes.length;n++){const r=this._nodes[n],i=t.node[n];if(!i.input)throw new Error(`missing input for node: ${i.name}`);for(const t of i.input){const o=e.get(t);if(void 0===o){if(\"\"===t&&3===i.input.length&&\"Resize\"===i.opType)continue;throw new Error(`unrecognized input '${t}' for node: ${i.name}`)}r.inputs.push(o),this._allData[o]._to.push(n)}}return!0}buildGraphFromOrtFormat(t){var e,n,r;const i=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];const o=new Map,p=[];for(let o=0;o<t.inputsLength();o++){const a=t.inputs(o);if(i.has(a))throw new Error(`duplicated input name: ${a}`);for(let o=0;o<t.nodeArgsLength();o++)if((null===(e=t.nodeArgs(o))||void 0===e?void 0:e.name())===a){const e=new c;if((null===(r=null===(n=t.nodeArgs(o))||void 0===n?void 0:n.type())||void 0===r?void 0:r.valueType())!==u.TypeInfoValue.tensor_type)throw new Error(\"Unexpected value type for the nodeArg.\");const l=t.nodeArgs(o).type().value(new u.TensorTypeAndShape),f=s.ProtoUtil.tensorDataTypeFromProto(l.elemType()),d=l.shape(),h=[];for(let t=0;t<d.dimLength();t++)h.push(s.LongUtil.longToNumber(d.dim(t).value().dimValue()));e.type={shape:{dims:h},tensorType:f};const g=this._allData.push(e)-1;i.set(a,g),p.push(a)}}for(let e=0;e<t.initializersLength();e++){const n=t.initializers(e);let r=i.get(n.name());if(void 0===r){const t=new c,e=s.ProtoUtil.tensorDimsFromORTFormat(n),o=s.ProtoUtil.tensorDataTypeFromProto(n.dataType());t.type={shape:{dims:e},tensorType:o},r=this._allData.push(t)-1,i.set(n.name(),r)}this._allData[r]._from=-1,this._allData[r].tensor=a.Tensor.fromOrtTensor(n)}for(let t=0;t<this._allData.length;t++)this._allData[t].tensor||(this._allInputIndices.push(t),this._allInputNames.push(p[t]));for(let e=0;e<t.outputsLength();e++){const n=t.outputs(e);if(i.has(n))throw new Error(`duplicated output name: ${n}`);const r=this._allData.push(new c)-1;i.set(n,r),this._allOutputIndices.push(r),this._allOutputNames.push(n)}if(!t.nodes)throw new Error(\"missing information in graph: node\");for(let e=0;e<t.nodesLength();e++){const n=t.nodes(e);let r=n.name();if(!r)for(let t=0;r=`unnamed_${n.opType()}_${t}`,o.has(r);t++);if(o.has(r))throw new Error(`duplicated node name: ${r}`);const i=this._nodes.push(new l(n,r))-1;o.set(r,i)}for(let e=0;e<this._nodes.length;e++){const n=this._nodes[e],r=t.nodes(e);if(null==r)throw new Error(`No node exists at index ${e}`);if(0===(null==r?void 0:r.outputsLength()))throw new Error(`missing output for node: ${r.name}`);for(let t=0;t<(null==r?void 0:r.outputsLength());t++){const o=null==r?void 0:r.outputs(t);let s=i.get(o);if(void 0===s&&(s=this._allData.push(new c)-1,i.set(o,s)),n.outputs.push(s),void 0!==this._allData[s]._from)throw new Error(`multiple nodes output to one data value: ${s}`);if(this._allData[s]._from=e,\"Constant\"===r.opType()){if(1!==r.attributesLength()||!r.attributes(0).t())throw new Error(\"missing attributes or missing tensor value in attributes for this Constant operator\");if(1!==r.outputsLength())throw new Error(\"missing output or incorrect number of outputs for this Constant operator\");n.outputs.pop(),n.executeNode=!1,this._allData[s]._from=-1,this._allData[s].tensor=a.Tensor.fromOrtTensor(r.attributes(0).t())}}}for(let e=0;e<this._nodes.length;e++){const n=this._nodes[e],r=t.nodes(e);if(0===r.inputsLength())throw new Error(`missing input for node: ${r.name}`);for(let t=0;t<r.inputsLength();t++){const o=r.inputs(t),a=i.get(o);if(void 0===a)throw new Error(`unrecognized input '${o}' for node: ${r.name()}`);n.inputs.push(a),this._allData[a]._to.push(e)}}}checkIsAcyclic(){const t=new Set;this._allInputIndices.forEach((e=>{this._allData[e]._to.forEach((e=>{t.add(e)}))}));const e=Array.from(t),n=new Array(this._nodes.length).fill(\"white\");for(;e.length>0;){const t=e.pop();\"gray\"===n[t]?n[t]=\"black\":(e.push(t),n[t]=\"gray\",this._nodes[t].outputs.forEach((r=>{const i=this._allData[r];if(void 0!==i.tensor)throw new Error(\"node outputs should not be initialized\");if(i._from!==t)throw new Error(\"from property of the Value object doesn't match index of Node being processed\");i._to.forEach((t=>{if(\"gray\"===n[t])throw new Error(\"model graph is cyclic\");\"white\"===n[t]&&e.push(t)}))})))}}transformGraph(t){this.removeAllIdentityNodes(),this.removeAllDropoutNodes(),this.fuseConvActivationNodes(),t&&t.transformGraph(this),this.finalizeGraph()}finalizeGraph(){let t=0;for(let e=0;e<this._nodes.length;e++)this._nodes[e].executeNode?t>0&&(this._nodes[e].inputs.forEach((n=>{const r=this._allData[n]._to.indexOf(e+t);-1!==r&&(this._allData[n]._to[r]=e)})),this._nodes[e].outputs.forEach((n=>{this._allData[n]._from&&this._allData[n]._from===e+t&&(this._allData[n]._from=e)}))):(t++,this._nodes[e].outputs.forEach((t=>{this._allData[t]._from=-2})),this._nodes.splice(e,1),e--);t=0;for(let e=0;e<this._allData.length;e++)if(-2!==this._allData[e].from||-1!==this._allOutputIndices.indexOf(e+t)){if(t>0){let n=-1;void 0!==this._allData[e].from&&-1!==this._allData[e].from?(n=this._nodes[this._allData[e].from].outputs.indexOf(e+t),-1!==n&&(this._nodes[this._allData[e].from].outputs[n]=e)):(n=this._allInputIndices.indexOf(e+t),-1!==n&&(this._allInputIndices[n]=e)),this._allData[e].to.forEach((r=>{n=this._nodes[r].inputs.indexOf(e+t),-1!==n&&(this._nodes[r].inputs[n]=e)})),0===this._allData[e].to.length&&(n=this._allOutputIndices.indexOf(e+t),-1!==n&&(this._allOutputIndices[n]=e))}}else t++,this._allData.splice(e,1),e--}deleteNode(t){const e=this._nodes[t];if(e.outputs.length>1)for(let t=1;t<e.outputs.length;t++)if(this._allData[e.outputs[t]].to.length>0)throw new Error(\"Node deletion with more than one output connected to other nodes is not supported. \");e.executeNode=!1;const n=e.inputs[0],r=e.outputs[0],i=this._allData[r].to,o=this._allData[n].to.indexOf(t);if(-1===o)throw new Error(\"The Value object doesn't have the current Node in it's 'to' property \");this._allData[n].to.splice(o,1),this._allData[r]._to=[];const a=this._allOutputIndices.indexOf(r);if(-1!==a&&(this._allOutputIndices[a]=n),i&&i.length>0)for(const t of i){const e=this._nodes[t].inputs.indexOf(r);if(-1===e)throw new Error(\"The Node object doesn't have the output Value in it's 'inputs' property \");this._nodes[t].inputs[e]=n,this._allData[n].to.push(t)}}removeAllDropoutNodes(){let t=0;for(const e of this._nodes){if(\"Dropout\"===e.opType){if(1!==e.inputs.length)throw new Error(\"Dropout nodes should only contain one input. \");if(1!==e.outputs.length&&2!==e.outputs.length)throw new Error(\"Dropout nodes should contain either 1 or 2 output(s)\");if(2===e.outputs.length&&0!==this._allData[e.outputs[1]]._to.length)throw new Error(\"Dropout nodes's second output should not be referenced by other nodes\");this.deleteNode(t)}t++}}removeAllIdentityNodes(){let t=0;for(const e of this._nodes)\"Identity\"===e.opType&&this.deleteNode(t),t++}isActivation(t){switch(t.opType){case\"Relu\":case\"Sigmoid\":case\"Clip\":return!0;default:return!1}}fuseConvActivationNodes(){for(const t of this._nodes)if(\"Conv\"===t.opType){const e=this._allData[t.outputs[0]]._to;if(1===e.length&&this.isActivation(this._nodes[e[0]])){const n=this._nodes[e[0]];if(\"Clip\"===n.opType)if(1===n.inputs.length)try{t.attributes.set(\"activation_params\",\"floats\",[n.attributes.getFloat(\"min\"),n.attributes.getFloat(\"max\")])}catch(e){t.attributes.set(\"activation_params\",\"floats\",[s.MIN_CLIP,s.MAX_CLIP])}else{if(!(n.inputs.length>=3&&void 0!==this._allData[n.inputs[1]].tensor&&void 0!==this._allData[n.inputs[2]].tensor))continue;t.attributes.set(\"activation_params\",\"floats\",[this._allData[n.inputs[1]].tensor.floatData[0],this._allData[n.inputs[2]].tensor.floatData[0]])}t.attributes.set(\"activation\",\"string\",n.opType),this.deleteNode(e[0])}}}}},6231:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.now=e.Profiler=e.Logger=void 0;const n={verbose:1e3,info:2e3,warning:4e3,error:5e3,fatal:6e3},r={none:new class{log(t,e,n){}},console:new class{log(t,e,n){console.log(`${this.color(t)} ${n?\"\u001b[35m\"+n+\"\u001b[0m \":\"\"}${e}`)}color(t){switch(t){case\"verbose\":return\"\u001b[34;40mv\u001b[0m\";case\"info\":return\"\u001b[32mi\u001b[0m\";case\"warning\":return\"\u001b[30;43mw\u001b[0m\";case\"error\":return\"\u001b[31;40me\u001b[0m\";case\"fatal\":return\"\u001b[101mf\u001b[0m\";default:throw new Error(`unsupported severity: ${t}`)}}}},i={provider:\"console\",minimalSeverity:\"warning\",logDateTime:!0,logSourceLocation:!1};let o={\"\":i};function a(t,e,n,r){if(void 0===e)return i=t,{verbose:a.verbose.bind(null,i),info:a.info.bind(null,i),warning:a.warning.bind(null,i),error:a.error.bind(null,i),fatal:a.fatal.bind(null,i)};if(void 0===n)s(t,e);else if(\"number\"==typeof n&&void 0===r)s(t,e);else if(\"string\"==typeof n&&void 0===r)s(t,n,0,e);else{if(\"string\"!=typeof n||\"number\"!=typeof r)throw new TypeError(\"input is valid\");s(t,n,0,e)}var i}function s(t,e,i,a){const s=o[a||\"\"]||o[\"\"];n[t]<n[s.minimalSeverity]||(s.logDateTime&&(e=`${(new Date).toISOString()}|${e}`),s.logSourceLocation,r[s.provider].log(t,e,a))}!function(t){function e(t){o={},n(\"\",t||{})}function n(t,n){if(\"*\"===t)e(n);else{const e=o[t]||i;o[t]={provider:n.provider||e.provider,minimalSeverity:n.minimalSeverity||e.minimalSeverity,logDateTime:void 0===n.logDateTime?e.logDateTime:n.logDateTime,logSourceLocation:void 0===n.logSourceLocation?e.logSourceLocation:n.logSourceLocation}}}t.verbose=function(e,n){t(\"verbose\",e,n)},t.info=function(e,n){t(\"info\",e,n)},t.warning=function(e,n){t(\"warning\",e,n)},t.error=function(e,n){t(\"error\",e,n)},t.fatal=function(e,n){t(\"fatal\",e,n)},t.reset=e,t.set=n,t.setWithEnv=function(t){const e={};t.logLevel&&(e.minimalSeverity=t.logLevel),n(\"\",e)}}(a||(a={})),e.Logger=a;class u{constructor(t,e,n,r,i,o){this.category=t,this.name=e,this.startTime=n,this.endCallback=r,this.timer=i,this.ctx=o}end(){return this.endCallback(this)}async checkTimer(){if(void 0===this.ctx||void 0===this.timer)throw new Error(\"No webgl timer found\");return this.ctx.endTimer(),this.ctx.waitForQueryAndGetTime(this.timer)}}class c{constructor(t,e,n,r){this.category=t,this.name=e,this.startTime=n,this.endTime=r}}e.Profiler=class{static create(t){return void 0===t?new this:new this(t.maxNumberEvents,t.flushBatchSize,t.flushIntervalInMilliseconds)}constructor(t,e,n){this._started=!1,this._flushPointer=0,this._started=!1,this._maxNumberEvents=void 0===t?1e4:t,this._flushBatchSize=void 0===e?10:e,this._flushIntervalInMilliseconds=void 0===n?5e3:n}start(){this._started=!0,this._timingEvents=[],this._flushTime=(0,e.now)(),this._flushPointer=0}stop(){for(this._started=!1;this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer])}event(t,e,n,r){const i=this._started?this.begin(t,e,r):void 0;let o=!1;const a=n();if(a&&\"function\"==typeof a.then)return o=!0,new Promise(((t,e)=>{a.then((async e=>{i&&await i.end(),t(e)}),(async t=>{i&&await i.end(),e(t)}))}));if(!o&&i){const t=i.end();if(t&&\"function\"==typeof t.then)return new Promise(((e,n)=>{t.then((()=>{e(a)}),(t=>{n(t)}))}))}return a}begin(t,n,r){if(!this._started)throw new Error(\"profiler is not started yet\");if(void 0===r){const r=(0,e.now)();return this.flush(r),new u(t,n,r,(t=>this.endSync(t)))}{const e=r.beginTimer();return new u(t,n,0,(async t=>this.end(t)),e,r)}}async end(t){const e=await t.checkTimer();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new c(t.category,t.name,t.startTime,e)),this.flush(e))}endSync(t){const n=(0,e.now)();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new c(t.category,t.name,t.startTime,n)),this.flush(n))}logOneEvent(t){e.Logger.verbose(`Profiler.${t.category}`,`${(t.endTime-t.startTime).toFixed(2)}ms on event '${t.name}' at ${t.endTime.toFixed(2)}`)}flush(t){if(this._timingEvents.length-this._flushPointer>=this._flushBatchSize||t-this._flushTime>=this._flushIntervalInMilliseconds){for(const t=this._flushPointer;this._flushPointer<t+this._flushBatchSize&&this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer]);this._flushTime=(0,e.now)()}}get started(){return this._started}},e.now=\"undefined\"!=typeof performance&&performance.now?()=>performance.now():Date.now},2644:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Model=void 0;const r=n(5686),i=n(1446),o=n(7070),a=n(9395),s=n(2517);var u=a.onnxruntime.experimental.fbs;e.Model=class{constructor(){}load(t,e,n){if(!n)try{return void this.loadFromOnnxFormat(t,e)}catch(t){if(void 0!==n)throw t}this.loadFromOrtFormat(t,e)}loadFromOnnxFormat(t,e){const n=i.onnx.ModelProto.decode(t);if(s.LongUtil.longToNumber(n.irVersion)<3)throw new Error(\"only support ONNX model with IR_VERSION>=3\");this._opsets=n.opsetImport.map((t=>({domain:t.domain,version:s.LongUtil.longToNumber(t.version)}))),this._graph=o.Graph.from(n.graph,e)}loadFromOrtFormat(t,e){const n=new r.flatbuffers.ByteBuffer(t),i=u.InferenceSession.getRootAsInferenceSession(n).model();if(s.LongUtil.longToNumber(i.irVersion())<3)throw new Error(\"only support ONNX model with IR_VERSION>=3\");this._opsets=[];for(let t=0;t<i.opsetImportLength();t++){const e=i.opsetImport(t);this._opsets.push({domain:null==e?void 0:e.domain(),version:s.LongUtil.longToNumber(e.version())})}this._graph=o.Graph.from(i.graph(),e)}get graph(){return this._graph}get opsets(){return this._opsets}}},782:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.FLOAT_TYPES=e.INT_TYPES=e.NUMBER_TYPES=void 0,e.NUMBER_TYPES=[\"float32\",\"float64\",\"int32\",\"int16\",\"int8\",\"uint16\",\"uint32\",\"uint8\"],e.INT_TYPES=[\"int32\",\"int16\",\"int8\",\"uint16\",\"uint32\",\"uint8\"],e.FLOAT_TYPES=[\"float32\",\"float64\"]},1047:(t,e)=>{\"use strict\";function n(t,e){if(e.endsWith(\"+\")){const n=Number.parseInt(e.substring(0,e.length-1),10);return!isNaN(n)&&n<=t}if(2===e.split(\"-\").length){const n=e.split(\"-\"),r=Number.parseInt(n[0],10),i=Number.parseInt(n[1],10);return!isNaN(r)&&!isNaN(i)&&r<=t&&t<=i}return Number.parseInt(e,10)===t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.resolveOperator=void 0,e.resolveOperator=function(t,e,r){for(const i of r){const r=i[0],o=i[1],a=i[2],s=i[3],u=i[4];if(t.opType===r)for(const t of e)if((t.domain===o||\"ai.onnx\"===t.domain&&\"\"===o)&&n(t.version,a))return{opImpl:s,opInit:u}}throw new TypeError(`cannot resolve operator '${t.opType}' with opsets: ${e.map((t=>`${t.domain||\"ai.onnx\"} v${t.version}`)).join(\", \")}`)}},9395:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.onnxruntime=void 0;const r=n(5686);var i,o;i=e.onnxruntime||(e.onnxruntime={}),function(t){let e;!function(t){t[t.UNDEFINED=0]=\"UNDEFINED\",t[t.FLOAT=1]=\"FLOAT\",t[t.INT=2]=\"INT\",t[t.STRING=3]=\"STRING\",t[t.TENSOR=4]=\"TENSOR\",t[t.GRAPH=5]=\"GRAPH\",t[t.FLOATS=6]=\"FLOATS\",t[t.INTS=7]=\"INTS\",t[t.STRINGS=8]=\"STRINGS\",t[t.TENSORS=9]=\"TENSORS\",t[t.GRAPHS=10]=\"GRAPHS\",t[t.SPARSE_TENSOR=11]=\"SPARSE_TENSOR\",t[t.SPARSE_TENSORS=12]=\"SPARSE_TENSORS\"}(e=t.AttributeType||(t.AttributeType={}))}((o=i.experimental||(i.experimental={})).fbs||(o.fbs={})),function(t){!function(t){!function(t){let e;!function(t){t[t.UNKNOWN=0]=\"UNKNOWN\",t[t.VALUE=1]=\"VALUE\",t[t.PARAM=2]=\"PARAM\"}(e=t.DimensionValueType||(t.DimensionValueType={}))}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){!function(t){let e;!function(t){t[t.UNDEFINED=0]=\"UNDEFINED\",t[t.FLOAT=1]=\"FLOAT\",t[t.UINT8=2]=\"UINT8\",t[t.INT8=3]=\"INT8\",t[t.UINT16=4]=\"UINT16\",t[t.INT16=5]=\"INT16\",t[t.INT32=6]=\"INT32\",t[t.INT64=7]=\"INT64\",t[t.STRING=8]=\"STRING\",t[t.BOOL=9]=\"BOOL\",t[t.FLOAT16=10]=\"FLOAT16\",t[t.DOUBLE=11]=\"DOUBLE\",t[t.UINT32=12]=\"UINT32\",t[t.UINT64=13]=\"UINT64\",t[t.COMPLEX64=14]=\"COMPLEX64\",t[t.COMPLEX128=15]=\"COMPLEX128\",t[t.BFLOAT16=16]=\"BFLOAT16\"}(e=t.TensorDataType||(t.TensorDataType={}))}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){!function(t){let e;!function(t){t[t.Primitive=0]=\"Primitive\",t[t.Fused=1]=\"Fused\"}(e=t.NodeType||(t.NodeType={}))}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){!function(t){let e;!function(t){t[t.NONE=0]=\"NONE\",t[t.tensor_type=1]=\"tensor_type\",t[t.sequence_type=2]=\"sequence_type\",t[t.map_type=3]=\"map_type\"}(e=t.TypeInfoValue||(t.TypeInfoValue={}))}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsShape(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShape(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}dim(e,n){let r=this.bb.__offset(this.bb_pos,4);return r?(n||new t.experimental.fbs.Dimension).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}dimLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startShape(t){t.startObject(1)}static addDim(t,e){t.addFieldOffset(0,e,0)}static createDimVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startDimVector(t,e){t.startVector(4,e,4)}static endShape(t){return t.endObject()}static createShape(t,e){return n.startShape(t),n.addDim(t,e),n.endShape(t)}}e.Shape=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDimension(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDimension(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}value(e){let n=this.bb.__offset(this.bb_pos,4);return n?(e||new t.experimental.fbs.DimensionValue).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}denotation(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startDimension(t){t.startObject(2)}static addValue(t,e){t.addFieldOffset(0,e,0)}static addDenotation(t,e){t.addFieldOffset(1,e,0)}static endDimension(t){return t.endObject()}static createDimension(t,e,r){return n.startDimension(t),n.addValue(t,e),n.addDenotation(t,r),n.endDimension(t)}}e.Dimension=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDimensionValue(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDimensionValue(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}dimType(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt8(this.bb_pos+e):t.experimental.fbs.DimensionValueType.UNKNOWN}dimValue(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}dimParam(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}static startDimensionValue(t){t.startObject(3)}static addDimType(e,n){e.addFieldInt8(0,n,t.experimental.fbs.DimensionValueType.UNKNOWN)}static addDimValue(t,e){t.addFieldInt64(1,e,t.createLong(0,0))}static addDimParam(t,e){t.addFieldOffset(2,e,0)}static endDimensionValue(t){return t.endObject()}static createDimensionValue(t,e,r,i){return n.startDimensionValue(t),n.addDimType(t,e),n.addDimValue(t,r),n.addDimParam(t,i),n.endDimensionValue(t)}}e.DimensionValue=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTensorTypeAndShape(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTensorTypeAndShape(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}elemType(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):t.experimental.fbs.TensorDataType.UNDEFINED}shape(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.experimental.fbs.Shape).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startTensorTypeAndShape(t){t.startObject(2)}static addElemType(e,n){e.addFieldInt32(0,n,t.experimental.fbs.TensorDataType.UNDEFINED)}static addShape(t,e){t.addFieldOffset(1,e,0)}static endTensorTypeAndShape(t){return t.endObject()}static createTensorTypeAndShape(t,e,r){return n.startTensorTypeAndShape(t),n.addElemType(t,e),n.addShape(t,r),n.endTensorTypeAndShape(t)}}e.TensorTypeAndShape=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMapType(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMapType(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}keyType(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt32(this.bb_pos+e):t.experimental.fbs.TensorDataType.UNDEFINED}valueType(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startMapType(t){t.startObject(2)}static addKeyType(e,n){e.addFieldInt32(0,n,t.experimental.fbs.TensorDataType.UNDEFINED)}static addValueType(t,e){t.addFieldOffset(1,e,0)}static endMapType(t){return t.endObject()}static createMapType(t,e,r){return n.startMapType(t),n.addKeyType(t,e),n.addValueType(t,r),n.endMapType(t)}}e.MapType=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSequenceType(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSequenceType(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}elemType(e){let n=this.bb.__offset(this.bb_pos,4);return n?(e||new t.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startSequenceType(t){t.startObject(1)}static addElemType(t,e){t.addFieldOffset(0,e,0)}static endSequenceType(t){return t.endObject()}static createSequenceType(t,e){return n.startSequenceType(t),n.addElemType(t,e),n.endSequenceType(t)}}e.SequenceType=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){(t.fbs||(t.fbs={})).EdgeEnd=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}nodeIndex(){return this.bb.readUint32(this.bb_pos)}srcArgIndex(){return this.bb.readInt32(this.bb_pos+4)}dstArgIndex(){return this.bb.readInt32(this.bb_pos+8)}static createEdgeEnd(t,e,n,r){return t.prep(4,12),t.writeInt32(r),t.writeInt32(n),t.writeInt32(e),t.offset()}}}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNodeEdge(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNodeEdge(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}nodeIndex(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}inputEdges(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+r)+12*e,this.bb):null}inputEdgesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}outputEdges(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+r)+12*e,this.bb):null}outputEdgesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNodeEdge(t){t.startObject(3)}static addNodeIndex(t,e){t.addFieldInt32(0,e,0)}static addInputEdges(t,e){t.addFieldOffset(1,e,0)}static startInputEdgesVector(t,e){t.startVector(12,e,4)}static addOutputEdges(t,e){t.addFieldOffset(2,e,0)}static startOutputEdgesVector(t,e){t.startVector(12,e,4)}static endNodeEdge(t){return t.endObject()}static createNodeEdge(t,e,r,i){return n.startNodeEdge(t),n.addNodeIndex(t,e),n.addInputEdges(t,r),n.addOutputEdges(t,i),n.endNodeEdge(t)}}e.NodeEdge=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNode(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNode(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}docString(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}domain(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}sinceVersion(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt32(this.bb_pos+t):0}index(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}opType(t){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__string(this.bb_pos+e,t):null}type(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readInt32(this.bb_pos+e):t.experimental.fbs.NodeType.Primitive}executionProviderType(t){let e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__string(this.bb_pos+e,t):null}inputs(t,e){let n=this.bb.__offset(this.bb_pos,20);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}inputsLength(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}outputs(t,e){let n=this.bb.__offset(this.bb_pos,22);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}outputsLength(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}attributes(e,n){let r=this.bb.__offset(this.bb_pos,24);return r?(n||new t.experimental.fbs.Attribute).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}attributesLength(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}inputArgCounts(t){let e=this.bb.__offset(this.bb_pos,26);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+4*t):0}inputArgCountsLength(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}inputArgCountsArray(){let t=this.bb.__offset(this.bb_pos,26);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}implicitInputs(t,e){let n=this.bb.__offset(this.bb_pos,28);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}implicitInputsLength(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNode(t){t.startObject(13)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDocString(t,e){t.addFieldOffset(1,e,0)}static addDomain(t,e){t.addFieldOffset(2,e,0)}static addSinceVersion(t,e){t.addFieldInt32(3,e,0)}static addIndex(t,e){t.addFieldInt32(4,e,0)}static addOpType(t,e){t.addFieldOffset(5,e,0)}static addType(e,n){e.addFieldInt32(6,n,t.experimental.fbs.NodeType.Primitive)}static addExecutionProviderType(t,e){t.addFieldOffset(7,e,0)}static addInputs(t,e){t.addFieldOffset(8,e,0)}static createInputsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startInputsVector(t,e){t.startVector(4,e,4)}static addOutputs(t,e){t.addFieldOffset(9,e,0)}static createOutputsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startOutputsVector(t,e){t.startVector(4,e,4)}static addAttributes(t,e){t.addFieldOffset(10,e,0)}static createAttributesVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startAttributesVector(t,e){t.startVector(4,e,4)}static addInputArgCounts(t,e){t.addFieldOffset(11,e,0)}static createInputArgCountsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addInt32(e[n]);return t.endVector()}static startInputArgCountsVector(t,e){t.startVector(4,e,4)}static addImplicitInputs(t,e){t.addFieldOffset(12,e,0)}static createImplicitInputsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startImplicitInputsVector(t,e){t.startVector(4,e,4)}static endNode(t){return t.endObject()}static createNode(t,e,r,i,o,a,s,u,c,l,p,f,d,h){return n.startNode(t),n.addName(t,e),n.addDocString(t,r),n.addDomain(t,i),n.addSinceVersion(t,o),n.addIndex(t,a),n.addOpType(t,s),n.addType(t,u),n.addExecutionProviderType(t,c),n.addInputs(t,l),n.addOutputs(t,p),n.addAttributes(t,f),n.addInputArgCounts(t,d),n.addImplicitInputs(t,h),n.endNode(t)}}e.Node=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsValueInfo(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsValueInfo(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}docString(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}type(e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new t.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startValueInfo(t){t.startObject(3)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDocString(t,e){t.addFieldOffset(1,e,0)}static addType(t,e){t.addFieldOffset(2,e,0)}static endValueInfo(t){return t.endObject()}static createValueInfo(t,e,r,i){return n.startValueInfo(t),n.addName(t,e),n.addDocString(t,r),n.addType(t,i),n.endValueInfo(t)}}e.ValueInfo=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTypeInfo(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTypeInfo(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}denotation(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}valueType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):t.experimental.fbs.TypeInfoValue.NONE}value(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}static startTypeInfo(t){t.startObject(3)}static addDenotation(t,e){t.addFieldOffset(0,e,0)}static addValueType(e,n){e.addFieldInt8(1,n,t.experimental.fbs.TypeInfoValue.NONE)}static addValue(t,e){t.addFieldOffset(2,e,0)}static endTypeInfo(t){return t.endObject()}static createTypeInfo(t,e,r,i){return n.startTypeInfo(t),n.addDenotation(t,e),n.addValueType(t,r),n.addValue(t,i),n.endTypeInfo(t)}}e.TypeInfo=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){!function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsOperatorSetId(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsOperatorSetId(t,n){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}domain(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}version(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}static startOperatorSetId(t){t.startObject(2)}static addDomain(t,e){t.addFieldOffset(0,e,0)}static addVersion(t,e){t.addFieldInt64(1,e,t.createLong(0,0))}static endOperatorSetId(t){return t.endObject()}static createOperatorSetId(t,n,r){return e.startOperatorSetId(t),e.addDomain(t,n),e.addVersion(t,r),e.endOperatorSetId(t)}}t.OperatorSetId=e}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTensor(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTensor(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}docString(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}dims(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}dimsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataType(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt32(this.bb_pos+e):t.experimental.fbs.TensorDataType.UNDEFINED}rawData(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readUint8(this.bb.__vector(this.bb_pos+e)+t):0}rawDataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}rawDataArray(){let t=this.bb.__offset(this.bb_pos,12);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}stringData(t,e){let n=this.bb.__offset(this.bb_pos,14);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}stringDataLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}static startTensor(t){t.startObject(6)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDocString(t,e){t.addFieldOffset(1,e,0)}static addDims(t,e){t.addFieldOffset(2,e,0)}static createDimsVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startDimsVector(t,e){t.startVector(8,e,8)}static addDataType(e,n){e.addFieldInt32(3,n,t.experimental.fbs.TensorDataType.UNDEFINED)}static addRawData(t,e){t.addFieldOffset(4,e,0)}static createRawDataVector(t,e){t.startVector(1,e.length,1);for(let n=e.length-1;n>=0;n--)t.addInt8(e[n]);return t.endVector()}static startRawDataVector(t,e){t.startVector(1,e,1)}static addStringData(t,e){t.addFieldOffset(5,e,0)}static createStringDataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startStringDataVector(t,e){t.startVector(4,e,4)}static endTensor(t){return t.endObject()}static createTensor(t,e,r,i,o,a,s){return n.startTensor(t),n.addName(t,e),n.addDocString(t,r),n.addDims(t,i),n.addDataType(t,o),n.addRawData(t,a),n.addStringData(t,s),n.endTensor(t)}}e.Tensor=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSparseTensor(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSparseTensor(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}values(e){let n=this.bb.__offset(this.bb_pos,4);return n?(e||new t.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}indices(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dims(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}dimsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSparseTensor(t){t.startObject(3)}static addValues(t,e){t.addFieldOffset(0,e,0)}static addIndices(t,e){t.addFieldOffset(1,e,0)}static addDims(t,e){t.addFieldOffset(2,e,0)}static createDimsVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startDimsVector(t,e){t.startVector(8,e,8)}static endSparseTensor(t){return t.endObject()}static createSparseTensor(t,e,r,i){return n.startSparseTensor(t),n.addValues(t,e),n.addIndices(t,r),n.addDims(t,i),n.endSparseTensor(t)}}e.SparseTensor=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsAttribute(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAttribute(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}docString(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}type(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readInt32(this.bb_pos+e):t.experimental.fbs.AttributeType.UNDEFINED}f(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readFloat32(this.bb_pos+t):0}i(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}s(t){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__string(this.bb_pos+e,t):null}t(e){let n=this.bb.__offset(this.bb_pos,16);return n?(e||new t.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}g(e){let n=this.bb.__offset(this.bb_pos,18);return n?(e||new t.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}floats(t){let e=this.bb.__offset(this.bb_pos,20);return e?this.bb.readFloat32(this.bb.__vector(this.bb_pos+e)+4*t):0}floatsLength(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}floatsArray(){let t=this.bb.__offset(this.bb_pos,20);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}ints(t){let e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}intsLength(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}strings(t,e){let n=this.bb.__offset(this.bb_pos,24);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}stringsLength(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}tensors(e,n){let r=this.bb.__offset(this.bb_pos,26);return r?(n||new t.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}tensorsLength(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}graphs(e,n){let r=this.bb.__offset(this.bb_pos,28);return r?(n||new t.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}graphsLength(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAttribute(t){t.startObject(13)}static addName(t,e){t.addFieldOffset(0,e,0)}static addDocString(t,e){t.addFieldOffset(1,e,0)}static addType(e,n){e.addFieldInt32(2,n,t.experimental.fbs.AttributeType.UNDEFINED)}static addF(t,e){t.addFieldFloat32(3,e,0)}static addI(t,e){t.addFieldInt64(4,e,t.createLong(0,0))}static addS(t,e){t.addFieldOffset(5,e,0)}static addT(t,e){t.addFieldOffset(6,e,0)}static addG(t,e){t.addFieldOffset(7,e,0)}static addFloats(t,e){t.addFieldOffset(8,e,0)}static createFloatsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addFloat32(e[n]);return t.endVector()}static startFloatsVector(t,e){t.startVector(4,e,4)}static addInts(t,e){t.addFieldOffset(9,e,0)}static createIntsVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startIntsVector(t,e){t.startVector(8,e,8)}static addStrings(t,e){t.addFieldOffset(10,e,0)}static createStringsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startStringsVector(t,e){t.startVector(4,e,4)}static addTensors(t,e){t.addFieldOffset(11,e,0)}static createTensorsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startTensorsVector(t,e){t.startVector(4,e,4)}static addGraphs(t,e){t.addFieldOffset(12,e,0)}static createGraphsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startGraphsVector(t,e){t.startVector(4,e,4)}static endAttribute(t){return t.endObject()}static createAttribute(t,e,r,i,o,a,s,u,c,l,p,f,d,h){return n.startAttribute(t),n.addName(t,e),n.addDocString(t,r),n.addType(t,i),n.addF(t,o),n.addI(t,a),n.addS(t,s),n.addT(t,u),n.addG(t,c),n.addFloats(t,l),n.addInts(t,p),n.addStrings(t,f),n.addTensors(t,d),n.addGraphs(t,h),n.endAttribute(t)}}e.Attribute=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsGraph(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGraph(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}initializers(e,n){let r=this.bb.__offset(this.bb_pos,4);return r?(n||new t.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}initializersLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}nodeArgs(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.experimental.fbs.ValueInfo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}nodeArgsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}nodes(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new t.experimental.fbs.Node).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}maxNodeIndex(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb_pos+t):0}nodeEdges(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new t.experimental.fbs.NodeEdge).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}nodeEdgesLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}inputs(t,e){let n=this.bb.__offset(this.bb_pos,14);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}inputsLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}outputs(t,e){let n=this.bb.__offset(this.bb_pos,16);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,e):null}outputsLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}sparseInitializers(e,n){let r=this.bb.__offset(this.bb_pos,18);return r?(n||new t.experimental.fbs.SparseTensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}sparseInitializersLength(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startGraph(t){t.startObject(8)}static addInitializers(t,e){t.addFieldOffset(0,e,0)}static createInitializersVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startInitializersVector(t,e){t.startVector(4,e,4)}static addNodeArgs(t,e){t.addFieldOffset(1,e,0)}static createNodeArgsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startNodeArgsVector(t,e){t.startVector(4,e,4)}static addNodes(t,e){t.addFieldOffset(2,e,0)}static createNodesVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startNodesVector(t,e){t.startVector(4,e,4)}static addMaxNodeIndex(t,e){t.addFieldInt32(3,e,0)}static addNodeEdges(t,e){t.addFieldOffset(4,e,0)}static createNodeEdgesVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startNodeEdgesVector(t,e){t.startVector(4,e,4)}static addInputs(t,e){t.addFieldOffset(5,e,0)}static createInputsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startInputsVector(t,e){t.startVector(4,e,4)}static addOutputs(t,e){t.addFieldOffset(6,e,0)}static createOutputsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startOutputsVector(t,e){t.startVector(4,e,4)}static addSparseInitializers(t,e){t.addFieldOffset(7,e,0)}static createSparseInitializersVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startSparseInitializersVector(t,e){t.startVector(4,e,4)}static endGraph(t){return t.endObject()}static createGraph(t,e,r,i,o,a,s,u,c){return n.startGraph(t),n.addInitializers(t,e),n.addNodeArgs(t,r),n.addNodes(t,i),n.addMaxNodeIndex(t,o),n.addNodeEdges(t,a),n.addInputs(t,s),n.addOutputs(t,u),n.addSparseInitializers(t,c),n.endGraph(t)}}e.Graph=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsModel(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsModel(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}irVersion(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}opsetImport(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.experimental.fbs.OperatorSetId).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}opsetImportLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}producerName(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__string(this.bb_pos+e,t):null}producerVersion(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__string(this.bb_pos+e,t):null}domain(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__string(this.bb_pos+e,t):null}modelVersion(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}docString(t){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__string(this.bb_pos+e,t):null}graph(e){let n=this.bb.__offset(this.bb_pos,18);return n?(e||new t.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}graphDocString(t){let e=this.bb.__offset(this.bb_pos,20);return e?this.bb.__string(this.bb_pos+e,t):null}static startModel(t){t.startObject(9)}static addIrVersion(t,e){t.addFieldInt64(0,e,t.createLong(0,0))}static addOpsetImport(t,e){t.addFieldOffset(1,e,0)}static createOpsetImportVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startOpsetImportVector(t,e){t.startVector(4,e,4)}static addProducerName(t,e){t.addFieldOffset(2,e,0)}static addProducerVersion(t,e){t.addFieldOffset(3,e,0)}static addDomain(t,e){t.addFieldOffset(4,e,0)}static addModelVersion(t,e){t.addFieldInt64(5,e,t.createLong(0,0))}static addDocString(t,e){t.addFieldOffset(6,e,0)}static addGraph(t,e){t.addFieldOffset(7,e,0)}static addGraphDocString(t,e){t.addFieldOffset(8,e,0)}static endModel(t){return t.endObject()}static createModel(t,e,r,i,o,a,s,u,c,l){return n.startModel(t),n.addIrVersion(t,e),n.addOpsetImport(t,r),n.addProducerName(t,i),n.addProducerVersion(t,o),n.addDomain(t,a),n.addModelVersion(t,s),n.addDocString(t,u),n.addGraph(t,c),n.addGraphDocString(t,l),n.endModel(t)}}e.Model=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(t){!function(t){class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKernelCreateInfos(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKernelCreateInfos(t,n){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}nodeIndices(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readUint32(this.bb.__vector(this.bb_pos+e)+4*t):0}nodeIndicesLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}nodeIndicesArray(){let t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}kernelDefHashes(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint64(this.bb.__vector(this.bb_pos+e)+8*t):this.bb.createLong(0,0)}kernelDefHashesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startKernelCreateInfos(t){t.startObject(2)}static addNodeIndices(t,e){t.addFieldOffset(0,e,0)}static createNodeIndicesVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addInt32(e[n]);return t.endVector()}static startNodeIndicesVector(t,e){t.startVector(4,e,4)}static addKernelDefHashes(t,e){t.addFieldOffset(1,e,0)}static createKernelDefHashesVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startKernelDefHashesVector(t,e){t.startVector(8,e,8)}static endKernelCreateInfos(t){return t.endObject()}static createKernelCreateInfos(t,n,r){return e.startKernelCreateInfos(t),e.addNodeIndices(t,n),e.addKernelDefHashes(t,r),e.endKernelCreateInfos(t)}}t.KernelCreateInfos=e}(t.fbs||(t.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSubGraphSessionState(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubGraphSessionState(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}graphId(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}sessionState(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startSubGraphSessionState(t){t.startObject(2)}static addGraphId(t,e){t.addFieldOffset(0,e,0)}static addSessionState(t,e){t.addFieldOffset(1,e,0)}static endSubGraphSessionState(t){let e=t.endObject();return t.requiredField(e,4),e}static createSubGraphSessionState(t,e,r){return n.startSubGraphSessionState(t),n.addGraphId(t,e),n.addSessionState(t,r),n.endSubGraphSessionState(t)}}e.SubGraphSessionState=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSessionState(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSessionState(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}kernels(e){let n=this.bb.__offset(this.bb_pos,4);return n?(e||new t.experimental.fbs.KernelCreateInfos).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}subGraphSessionStates(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new t.experimental.fbs.SubGraphSessionState).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}subGraphSessionStatesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSessionState(t){t.startObject(2)}static addKernels(t,e){t.addFieldOffset(0,e,0)}static addSubGraphSessionStates(t,e){t.addFieldOffset(1,e,0)}static createSubGraphSessionStatesVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startSubGraphSessionStatesVector(t,e){t.startVector(4,e,4)}static endSessionState(t){return t.endObject()}static createSessionState(t,e,r){return n.startSessionState(t),n.addKernels(t,e),n.addSubGraphSessionStates(t,r),n.endSessionState(t)}}e.SessionState=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={})),function(t){!function(e){!function(e){class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInferenceSession(t,e){return(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInferenceSession(t,e){return t.setPosition(t.position()+r.flatbuffers.SIZE_PREFIX_LENGTH),(e||new n).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier(\"ORTM\")}ortVersion(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}model(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new t.experimental.fbs.Model).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}sessionState(e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new t.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startInferenceSession(t){t.startObject(3)}static addOrtVersion(t,e){t.addFieldOffset(0,e,0)}static addModel(t,e){t.addFieldOffset(1,e,0)}static addSessionState(t,e){t.addFieldOffset(2,e,0)}static endInferenceSession(t){return t.endObject()}static finishInferenceSessionBuffer(t,e){t.finish(e,\"ORTM\")}static finishSizePrefixedInferenceSessionBuffer(t,e){t.finish(e,\"ORTM\",!0)}static createInferenceSession(t,e,r,i){return n.startInferenceSession(t),n.addOrtVersion(t,e),n.addModel(t,r),n.addSessionState(t,i),n.endInferenceSession(t)}}e.InferenceSession=n}(e.fbs||(e.fbs={}))}(t.experimental||(t.experimental={}))}(e.onnxruntime||(e.onnxruntime={}))},7448:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OnnxjsSessionHandler=void 0;const r=n(1670),i=n(9162);e.OnnxjsSessionHandler=class{constructor(t){this.session=t,this.inputNames=this.session.inputNames,this.outputNames=this.session.outputNames}async dispose(){}async run(t,e,n){const o=new Map;for(const e in t)if(Object.hasOwnProperty.call(t,e)){const n=t[e];o.set(e,new i.Tensor(n.dims,n.type,void 0,void 0,n.data))}const a=await this.session.run(o),s={};return a.forEach(((t,e)=>{s[e]=new r.Tensor(t.type,t.data,t.dims)})),s}startProfiling(){this.session.startProfiling()}endProfiling(){this.session.endProfiling()}}},6919:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Session=void 0;const r=n(7067),i=n(1296),o=n(7091),a=n(1036),s=n(6231),u=n(2644);e.Session=class{constructor(t={}){this._initialized=!1,this.backendHint=t.backendHint,this.profiler=s.Profiler.create(t.profiler),this.context={profiler:this.profiler,graphInputTypes:[],graphInputDims:[]}}get inputNames(){return this._model.graph.getInputNames()}get outputNames(){return this._model.graph.getOutputNames()}startProfiling(){this.profiler.start()}endProfiling(){this.profiler.stop()}async loadModel(t,e,n){await this.profiler.event(\"session\",\"Session.loadModel\",(async()=>{const a=await(0,o.resolveBackend)(this.backendHint);if(this.sessionHandler=a.createSessionHandler(this.context),this._model=new u.Model,\"string\"==typeof t){const e=t.endsWith(\".ort\");if(\"undefined\"==typeof fetch){const n=await(0,i.promisify)(r.readFile)(t);this.initialize(n,e)}else{const n=await fetch(t),r=await n.arrayBuffer();this.initialize(new Uint8Array(r),e)}}else if(ArrayBuffer.isView(t))this.initialize(t);else{const r=new Uint8Array(t,e||0,n||t.byteLength);this.initialize(r)}}))}initialize(t,e){if(this._initialized)throw new Error(\"already initialized\");this.profiler.event(\"session\",\"Session.initialize\",(()=>{const n=this.sessionHandler.transformGraph?this.sessionHandler:void 0;this._model.load(t,n,e),this.sessionHandler.onGraphInitialized&&this.sessionHandler.onGraphInitialized(this._model.graph),this.initializeOps(this._model.graph),this._executionPlan=new a.ExecutionPlan(this._model.graph,this._ops,this.profiler)})),this._initialized=!0}async run(t){if(!this._initialized)throw new Error(\"session not initialized yet\");return this.profiler.event(\"session\",\"Session.run\",(async()=>{const e=this.normalizeAndValidateInputs(t),n=await this._executionPlan.execute(this.sessionHandler,e);return this.createOutput(n)}))}normalizeAndValidateInputs(t){const e=this._model.graph.getInputNames();if(Array.isArray(t)){if(t.length!==e.length)throw new Error(`incorrect input array length: expected ${e.length} but got ${t.length}`)}else{if(t.size!==e.length)throw new Error(`incorrect input map size: expected ${e.length} but got ${t.size}`);const n=new Array(t.size);let r=0;for(let i=0;i<e.length;++i){const o=t.get(e[i]);if(!o)throw new Error(`missing input tensor for: '${name}'`);n[r++]=o}t=n}if(this.context.graphInputTypes&&0!==this.context.graphInputTypes.length&&this.context.graphInputDims&&0!==this.context.graphInputDims.length)this.validateInputTensorDims(this.context.graphInputDims,t,!1);else{const e=this._model.graph.getInputIndices(),n=this._model.graph.getValues(),r=new Array(e.length);for(let i=0;i<e.length;++i){const o=n[e[i]];r[i]=o.type.shape.dims,this.context.graphInputTypes.push(o.type.tensorType),this.context.graphInputDims.push(t[i].dims)}this.validateInputTensorDims(r,t,!0)}return this.validateInputTensorTypes(this.context.graphInputTypes,t),t}validateInputTensorTypes(t,e){for(let n=0;n<e.length;n++){const r=t[n],i=e[n].type;if(r!==i)throw new Error(`input tensor[${n}] check failed: expected type '${r}' but got ${i}`)}}validateInputTensorDims(t,e,n){for(let r=0;r<e.length;r++){const i=t[r],o=e[r].dims;if(!this.compareTensorDims(i,o,n))throw new Error(`input tensor[${r}] check failed: expected shape '[${i.join(\",\")}]' but got [${o.join(\",\")}]`)}}compareTensorDims(t,e,n){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]&&(!n||0!==t[r]))return!1;return!0}createOutput(t){const e=this._model.graph.getOutputNames();if(t.length!==e.length)throw new Error(\"expected number of outputs do not match number of generated outputs\");const n=new Map;for(let r=0;r<e.length;++r)n.set(e[r],t[r]);return n}initializeOps(t){const e=t.getNodes();this._ops=new Array(e.length);for(let n=0;n<e.length;n++)this._ops[n]=this.sessionHandler.resolve(e[n],this._model.opsets,t)}}},9162:function(t,e,n){\"use strict\";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,\"__esModule\",{value:!0}),e.Tensor=void 0;const i=n(3442),o=r(n(3720)),a=n(1446),s=n(9395),u=n(2517);var c=s.onnxruntime.experimental.fbs;class l{get data(){if(void 0===this.cache){const t=this.dataProvider(this.dataId);if(t.length!==this.size)throw new Error(\"Length of data provided by the Data Provider is inconsistent with the dims of this Tensor.\");this.cache=t}return this.cache}get stringData(){if(\"string\"!==this.type)throw new TypeError(\"data type is not string\");return this.data}get integerData(){switch(this.type){case\"uint8\":case\"int8\":case\"uint16\":case\"int16\":case\"int32\":case\"uint32\":case\"bool\":return this.data;default:throw new TypeError(\"data type is not integer (uint8, int8, uint16, int16, int32, uint32, bool)\")}}get floatData(){switch(this.type){case\"float32\":case\"float64\":return this.data;default:throw new TypeError(\"data type is not float (float32, float64)\")}}get numberData(){if(\"string\"!==this.type)return this.data;throw new TypeError(\"type cannot be non-number (string)\")}get(t){return this.data[u.ShapeUtil.indicesToOffset(t,this.strides)]}set(t,e){this.data[u.ShapeUtil.indicesToOffset(t,this.strides)]=e}async getData(){return void 0===this.cache&&(this.cache=await this.asyncDataProvider(this.dataId)),this.cache}get strides(){return this._strides||(this._strides=u.ShapeUtil.computeStrides(this.dims)),this._strides}constructor(t,e,n,r,o,a=i.Guid.create()){this.dims=t,this.type=e,this.dataProvider=n,this.asyncDataProvider=r,this.cache=o,this.dataId=a,this.size=u.ShapeUtil.validateDimsAndCalcSize(t);const s=this.size,c=void 0===n&&void 0===r&&void 0===o;if(void 0!==o&&o.length!==s)throw new RangeError(\"Input dims doesn't match data length.\");if(\"string\"===e){if(!(void 0===o||Array.isArray(o)&&o.every((t=>\"string\"==typeof t))))throw new TypeError(\"cache should be a string array\");c&&(this.cache=new Array(s))}else{if(void 0!==o){const t=f(e);if(!(o instanceof t))throw new TypeError(`cache should be type ${t.name}`)}if(c){const t=new ArrayBuffer(s*function(t){switch(t){case\"bool\":case\"int8\":case\"uint8\":return 1;case\"int16\":case\"uint16\":return 2;case\"int32\":case\"uint32\":case\"float32\":return 4;case\"float64\":return 8;default:throw new Error(`cannot calculate sizeof() on type ${t}`)}}(e));this.cache=function(t,e){return new(f(e))(t)}(t,e)}}}static fromProto(t){if(!t)throw new Error(\"cannot construct Value from an empty tensor\");const e=u.ProtoUtil.tensorDataTypeFromProto(t.dataType),n=u.ProtoUtil.tensorDimsFromProto(t.dims),r=new l(n,e);if(\"string\"===e)t.stringData.forEach(((t,e)=>{r.data[e]=(0,u.decodeUtf8String)(t)}));else if(t.rawData&&\"number\"==typeof t.rawData.byteLength&&t.rawData.byteLength>0){const e=r.data,n=new DataView(t.rawData.buffer,t.rawData.byteOffset,t.rawData.byteLength),i=p(t.dataType),o=t.rawData.byteLength/i;if(t.rawData.byteLength%i!=0)throw new Error(\"invalid buffer length\");if(e.length!==o)throw new Error(\"buffer length mismatch\");for(let r=0;r<o;r++){const o=h(n,t.dataType,r*i);e[r]=o}}else{let e;switch(t.dataType){case a.onnx.TensorProto.DataType.FLOAT:e=t.floatData;break;case a.onnx.TensorProto.DataType.INT32:case a.onnx.TensorProto.DataType.INT16:case a.onnx.TensorProto.DataType.UINT16:case a.onnx.TensorProto.DataType.INT8:case a.onnx.TensorProto.DataType.UINT8:case a.onnx.TensorProto.DataType.BOOL:e=t.int32Data;break;case a.onnx.TensorProto.DataType.INT64:e=t.int64Data;break;case a.onnx.TensorProto.DataType.DOUBLE:e=t.doubleData;break;case a.onnx.TensorProto.DataType.UINT32:case a.onnx.TensorProto.DataType.UINT64:e=t.uint64Data;break;default:throw new Error(\"unspecific error\")}if(null==e)throw new Error(\"failed to populate data from a tensorproto value\");const n=r.data;if(n.length!==e.length)throw new Error(\"array length mismatch\");for(let r=0;r<e.length;r++){const i=e[r];o.default.isLong(i)?n[r]=d(i,t.dataType):n[r]=i}}return r}static fromData(t,e,n){return new l(e,n,void 0,void 0,t)}static fromOrtTensor(t){if(!t)throw new Error(\"cannot construct Value from an empty tensor\");const e=u.ProtoUtil.tensorDimsFromORTFormat(t),n=u.ProtoUtil.tensorDataTypeFromProto(t.dataType()),r=new l(e,n);if(\"string\"===n)for(let e=0;e<t.stringDataLength();e++)r.data[e]=t.stringData(e);else if(t.rawDataArray()&&\"number\"==typeof t.rawDataLength()&&t.rawDataLength()>0){const e=r.data,n=new DataView(t.rawDataArray().buffer,t.rawDataArray().byteOffset,t.rawDataLength()),i=p(t.dataType()),o=t.rawDataLength()/i;if(t.rawDataLength()%i!=0)throw new Error(\"invalid buffer length\");if(e.length!==o)throw new Error(\"buffer length mismatch\");for(let r=0;r<o;r++){const o=h(n,t.dataType(),r*i);e[r]=o}}return r}}function p(t){switch(t){case a.onnx.TensorProto.DataType.UINT8:case a.onnx.TensorProto.DataType.INT8:case a.onnx.TensorProto.DataType.BOOL:return 1;case a.onnx.TensorProto.DataType.UINT16:case a.onnx.TensorProto.DataType.INT16:return 2;case a.onnx.TensorProto.DataType.FLOAT:case a.onnx.TensorProto.DataType.INT32:case a.onnx.TensorProto.DataType.UINT32:return 4;case a.onnx.TensorProto.DataType.INT64:case a.onnx.TensorProto.DataType.DOUBLE:case a.onnx.TensorProto.DataType.UINT64:return 8;default:throw new Error(`cannot calculate sizeof() on type ${a.onnx.TensorProto.DataType[t]}`)}}function f(t){switch(t){case\"bool\":case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"uint16\":return Uint16Array;case\"int32\":return Int32Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;default:throw new Error(\"unspecified error\")}}function d(t,e){if(e===a.onnx.TensorProto.DataType.INT64||e===c.TensorDataType.INT64){if(t.greaterThanOrEqual(2147483648)||t.lessThan(-2147483648))throw new TypeError(\"int64 is not supported\")}else{if(e!==a.onnx.TensorProto.DataType.UINT32&&e!==c.TensorDataType.UINT32&&e!==a.onnx.TensorProto.DataType.UINT64&&e!==c.TensorDataType.UINT64)throw new TypeError(`not a LONG type: ${a.onnx.TensorProto.DataType[e]}`);if(t.greaterThanOrEqual(4294967296)||t.lessThan(0))throw new TypeError(\"uint64 is not supported\")}return t.toNumber()}function h(t,e,n){switch(e){case a.onnx.TensorProto.DataType.BOOL:case a.onnx.TensorProto.DataType.UINT8:return t.getUint8(n);case a.onnx.TensorProto.DataType.INT8:return t.getInt8(n);case a.onnx.TensorProto.DataType.UINT16:return t.getUint16(n,!0);case a.onnx.TensorProto.DataType.INT16:return t.getInt16(n,!0);case a.onnx.TensorProto.DataType.FLOAT:return t.getFloat32(n,!0);case a.onnx.TensorProto.DataType.INT32:return t.getInt32(n,!0);case a.onnx.TensorProto.DataType.UINT32:return t.getUint32(n,!0);case a.onnx.TensorProto.DataType.INT64:return d(o.default.fromBits(t.getUint32(n,!0),t.getUint32(n+4,!0),!1),e);case a.onnx.TensorProto.DataType.DOUBLE:return t.getFloat64(n,!0);case a.onnx.TensorProto.DataType.UINT64:return d(o.default.fromBits(t.getUint32(n,!0),t.getUint32(n+4,!0),!0),e);default:throw new Error(`cannot read from DataView for type ${a.onnx.TensorProto.DataType[e]}`)}}e.Tensor=l},2517:function(t,e,n){\"use strict\";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,\"__esModule\",{value:!0}),e.decodeUtf8String=e.MAX_CLIP=e.MIN_CLIP=e.PoolConvUtil=e.ReduceUtil=e.SplitUtil=e.MathUtil=e.ShapeUtil=e.LongUtil=e.ProtoUtil=e.GemmUtil=e.arrayCopyHelper=e.BroadcastUtil=e.MatMulUtil=e.ArrayUtil=e.assert=e.checkInputsShape=void 0;const i=n(5686),o=r(n(3720)),a=n(1446),s=n(9162);e.checkInputsShape=function(t,...e){if(!t||t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].dims||t[n].dims.length!==e[n])return!1;return!0},e.assert=function(t,e){if(!t)throw new Error(\"string\"==typeof e?e:e())},e.ArrayUtil=class{static arraysEqual(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}};class u{static preprocessInputShapes(t,e){return[1===t.length?[1,t[0]]:t,1===e.length?[e[0],1]:e]}static postprocessOutputShape(t,e,n){1===e&&t.splice(t.length-2,1),1===n&&t.pop()}static calcMatMulShape(t,e){return t[1]!==e[0]?void 0:[t[0],e[1]]}}e.MatMulUtil=u;class c{static calcShape(t,e,n=!1){const r=t.length,i=e.length;if(0===r)return e;if(0===i)return t;const o=Math.max(t.length,e.length),a=new Array(o);if(n){if(r<2||i<2)return;const n=u.calcMatMulShape([t[r-2],t[r-1]],[e[i-2],e[i-1]]);if(void 0===n)return;[a[o-2],a[o-1]]=n}for(let s=n?3:1;s<=o;s++){const n=r-s<0?1:t[r-s],u=i-s<0?1:e[i-s];if(n!==u&&n>1&&u>1)return;a[o-s]=Math.max(n,u)}return a}static index(t,e){const n=new Array(e.length);return c.fillIndex(t,e,n),n}static fillIndex(t,e,n){const r=t.length-e.length;for(let i=0;i<e.length;i++)n[i]=t[r+i]%e[i]}static calc(t,e,n,r,i){const o=c.calcShape(t.dims,e.dims);if(o){if(r&&!f.areEqual(o,t.dims))return;const a=f.size(o),u=r?t:new s.Tensor(o,i||t.type);if(0===o.length)u.set([],n(t.get([]),e.get([])));else{const r=new Array(o.length),i=new Array(t.dims.length),s=new Array(e.dims.length);let l,p=0,f=0,d=!1,h=!1;0===t.dims.length&&(p=t.get([]),d=!0),0===e.dims.length&&(f=e.get([]),h=!0);for(let g=0;g<a;g++){l=g;for(let t=o.length-1;t>=0;t--)r[t]=l%o[t],l=Math.floor(l/o[t]);d||(c.fillIndex(r,t.dims,i),p=t.get(i)),h||(c.fillIndex(r,e.dims,s),f=e.get(s)),u.set(r,n(p,f))}}return u}}static isValidBroadcast(t,e){const n=t.length,r=e.length;if(n>r)return!1;for(let i=1;i<=n;i++)if(1!==t[n-i]&&t[n-i]!==e[r-i])return!1;return!0}static getBroadcastDims(t,e){const n=t.length,r=[];for(let i=0;i<n;i++){const o=n-1-i,a=t[o]||1;(e[e.length-1-i]||1)>1&&1===a&&r.unshift(o)}return r}}e.BroadcastUtil=c,e.arrayCopyHelper=function(t,e,n,r,i){if(r<0||r>=e.length)throw new Error(\"sourceIndex out of bounds\");if(n<0||n>=t.length)throw new Error(\"targetIndex out of bounds\");if(r+i>e.length)throw new Error(\"source indices to be copied are outside bounds\");if(n+i>t.length)throw new Error(\"target array is too small to hold result\");for(let o=0;o<i;o++)t[n+o]=e[r+o]},e.GemmUtil=class{static getShapeOfGemmResult(t,e,n,r,i){if(2!==t.length||2!==n.length)throw new Error(\"shape need to be of size 2\");let o,a,s;e?(o=t[1],a=t[0]):(o=t[0],a=t[1]);let u=-1;if(r?(s=n[0],u=1):(s=n[1],u=0),n[u]!==a)throw new Error(\"dimension mismatch\");if(o<=0||s<=0||a<=0)throw new Error(\"invalid shape specified\");if(i&&!c.isValidBroadcast(i,[o,s]))throw new Error(\"gemm: invalid bias shape for broadcast\");return[o,s,a]}};class l{static tensorDataTypeFromProto(t){switch(t){case a.onnx.TensorProto.DataType.INT8:return\"int8\";case a.onnx.TensorProto.DataType.UINT8:return\"uint8\";case a.onnx.TensorProto.DataType.BOOL:return\"bool\";case a.onnx.TensorProto.DataType.INT16:return\"int16\";case a.onnx.TensorProto.DataType.UINT16:return\"uint16\";case a.onnx.TensorProto.DataType.INT32:return\"int32\";case a.onnx.TensorProto.DataType.UINT32:return\"uint32\";case a.onnx.TensorProto.DataType.FLOAT:return\"float32\";case a.onnx.TensorProto.DataType.DOUBLE:return\"float64\";case a.onnx.TensorProto.DataType.STRING:return\"string\";case a.onnx.TensorProto.DataType.INT64:return\"int32\";case a.onnx.TensorProto.DataType.UINT64:return\"uint32\";default:throw new Error(`unsupported data type: ${a.onnx.TensorProto.DataType[t]}`)}}static tensorDataTypeStringToEnum(t){switch(t){case\"int8\":return a.onnx.TensorProto.DataType.INT8;case\"uint8\":return a.onnx.TensorProto.DataType.UINT8;case\"bool\":return a.onnx.TensorProto.DataType.BOOL;case\"int16\":return a.onnx.TensorProto.DataType.INT16;case\"uint16\":return a.onnx.TensorProto.DataType.UINT16;case\"int32\":return a.onnx.TensorProto.DataType.INT32;case\"uint32\":return a.onnx.TensorProto.DataType.UINT32;case\"float32\":return a.onnx.TensorProto.DataType.FLOAT;case\"float64\":return a.onnx.TensorProto.DataType.DOUBLE;case\"string\":return a.onnx.TensorProto.DataType.STRING;case\"int64\":return a.onnx.TensorProto.DataType.INT64;case\"uint64\":return a.onnx.TensorProto.DataType.UINT64;default:throw new Error(`unsupported data type: ${t}`)}}static tensorDimsFromProto(t){return t.map((t=>o.default.isLong(t)?t.toNumber():t))}static tensorValueTypeFromProto(t){return{tensorType:l.tensorDataTypeFromProto(t.elemType),shape:{dims:l.tensorDimsFromProto(t.shape.dim.map((t=>t.dimValue)))}}}static tensorDimsFromORTFormat(t){const e=[];for(let n=0;n<t.dimsLength();n++)e.push(p.longToNumber(t.dims(n)));return e}static tensorAttributesFromORTFormat(t){const e=[];for(let n=0;n<t.attributesLength();n++)e.push(t.attributes(n));return e}}e.ProtoUtil=l;class p{static longToNumber(t,e){return o.default.isLong(t)?t.toNumber():t instanceof i.flatbuffers.Long?o.default.fromValue({low:t.low,high:t.high,unsigned:null!=e&&e}).toNumber():t}static isLong(t){return o.default.isLong(t)||t instanceof i.flatbuffers.Long}}e.LongUtil=p;class f{static size(t){return f.getSizeFromDimensionRange(t,0,t.length)}static sizeFromDimension(t,e){if(e<0||e>t.length)throw new Error(`invalid dimension of ${e} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return f.getSizeFromDimensionRange(t,e,t.length)}static sizeToDimension(t,e){if(e<0||e>t.length)throw new Error(`invalid dimension of ${e} for sizeToDimension as Tensor has ${t.length} dimensions.`);return f.getSizeFromDimensionRange(t,0,e)}static getSizeFromDimensionRange(t,e,n){let r=1;for(let i=e;i<n;i++){if(t[i]<=0)throw new Error(\"cannot get valid size from specified dimension range. Most likely the range contains 0 or negative values in them.\");r*=t[i]}return r}static computeStrides(t){const e=t.length;if(0===e)return[];if(1===e)return[1];const n=new Array(e);n[e-1]=1,n[e-2]=t[e-1];for(let r=e-3;r>=0;--r)n[r]=n[r+1]*t[r+1];return n}static transpose(t){return t.slice().reverse()}static indicesToOffset(t,e,n){void 0===n&&(n=t.length);let r=0;for(let i=0;i<n;++i)r+=e[i]*t[i];return r}static offsetToIndices(t,e){const n=e.length;if(0===n)return[];if(1===n)return[t*e[0]];const r=new Array(e.length);for(let n=0;n<r.length-1;++n)r[n]=Math.floor(t/e[n]),t-=r[n]*e[n];return r[r.length-1]=t,r}static normalizeAxis(t,e){if(t<-e&&t>=e)throw new Error(\"unsupported axis for this operation.\");return t<0?t+e:t}static normalizeAxes(t,e){return t.map((t=>this.normalizeAxis(t,e)))}static incrementIndex(t,e,n){if(0===e.length||0===t.length)throw new Error(\"Index incrementing unsupported for scalar Tensor\");if(void 0===n)n=e.length;else if(n<=0||n>e.length)throw new Error(\"Incorrect axis to increment on\");for(let r=n-1;r>=0&&(t[r]++,!(t[r]<e[r]));--r)t[r]=0}static calculateReshapedDims(t,e){if(0===e.length){if(0===t.length||1===f.size(t))return[];throw new Error(\"cannot reshape to a scalar Tensor\")}const n=e.length,r=new Array(n);let i=-1,o=1;for(let a=0;a<n;a++){if(e[a]<-1)throw new Error(\"a dimension in shape hints cannot be less than -1\");if(-1===e[a]){if(-1!==i)throw new Error(\"at most one dimension in shape hints can be -1\");i=a}else{if(0===e[a]){if(a>=t.length)throw new Error(\"the dimension with value zero exceeds the dimension size of the input tensor\");r[a]=t[a]}else r[a]=e[a];o*=r[a]}}const a=f.size(t);if(-1!==i){if(a%o!=0)throw new Error(`the input tensor cannot be reshaped to the requested shape. Input shape: [${t}] Output shape: [${e}]`);r[i]=a/o}else if(o!==a)throw new Error(\"reshapedDims and originalDims don't have matching sizes\");return r}static sortBasedOnPerm(t,e){return e?e.map((e=>t[e])):t.slice().reverse()}static padShape(t,e){const n=t.length;return t.map(((t,r)=>t+e[r]+e[r+n]))}static areEqual(t,e){return t.length===e.length&&t.every(((t,n)=>t===e[n]))}static validateDimsAndCalcSize(t){if(t.length>6)throw new TypeError(\"Only rank 0 to 6 is supported for tensor shape.\");let e=1;for(const n of t){if(!Number.isInteger(n))throw new TypeError(`Invalid shape: ${n} is not an integer`);if(n<0||n>2147483647)throw new TypeError(`Invalid shape: length ${n} is not allowed`);e*=n}return e}static flattenShape(t,e){e<0&&(e+=t.length);const n=t.reduce(((t,e)=>t*e),1),r=t.slice(e).reduce(((t,e)=>t*e),1);return[n/r,r]}static squeezeShape(t,e){const n=new Array;e=f.normalizeAxes(e,t.length);for(let r=0;r<t.length;r++){const i=e.indexOf(r)>=0;if(i&&1!==t[r])throw new Error(\"squeeze an axis of size different than 1\");(0===e.length&&t[r]>1||e.length>0&&!i)&&n.push(t[r])}return n}static unsqueezeShape(t,e){const n=new Array(t.length+e.length);n.fill(0);for(let t=0;t<e.length;t++){const r=f.normalizeAxis(e[t],n.length);if(r>=n.length)throw new Error(\"'axes' has an out of range axis\");if(0!==n[r])throw new Error(\"'axes' has a duplicate axis\");n[r]=1}let r=0;for(let e=0;e<n.length;e++)0===n[e]&&(n[e]=t[r++]);if(r!==t.length)throw new Error(\"the unsqueezed dimension could not be established\");return n}}e.ShapeUtil=f,e.MathUtil=class{static sqr(t,e,n,r,i){if(r<0||r>=e.length)throw new Error(\"sourceIndex out of bounds\");if(n<0||n>=t.length)throw new Error(\"targetIndex out of bounds\");if(r+i>e.length)throw new Error(\"source indices to be copied are outside bounds\");if(n+i>t.length)throw new Error(\"target array is too small to hold result\");for(let o=0;o<i;o++)t[n+o]+=Math.pow(e[r+o],2)}static axpy(t,e,n,r,i,o){if(r<0||r>=e.length)throw new Error(\"sourceIndex out of bounds\");if(n<0||n>=t.length)throw new Error(\"targetIndex out of bounds\");if(r+i>e.length)throw new Error(\"source indices to be copied are outside bounds\");if(n+i>t.length)throw new Error(\"target array is too small to hold result\");for(let a=0;a<i;a++)t[n+a]+=o*e[r+a]}static powx(t,e,n,r,i,o){if(r<0||r>=e.length)throw new Error(\"sourceIndex out of bounds\");if(n<0||n>=t.length)throw new Error(\"targetIndex out of bounds\");if(r+i>e.length)throw new Error(\"source indices to be copied are outside bounds\");if(n+i>t.length)throw new Error(\"target array is too small to hold result\");for(let a=0;a<i;a++)t[n+a]=Math.pow(e[r+a],o)}static mul(t,e,n,r,i){if(r<0||r>=e.length)throw new Error(\"sourceIndex out of bounds\");if(n<0||n>=t.length)throw new Error(\"targetIndex out of bounds\");if(r+i>e.length)throw new Error(\"source indices to be copied are outside bounds\");if(n+i>t.length)throw new Error(\"target array is too small to hold result\");for(let o=0;o<i;o++)t[n+o]=e[r+o]*t[n+o]}};class d{static splitShape(t,e,n,r){if(0===n.length){if(!r)throw new Error(\"need to know number of outputs when the 'split' attribute is not specified\");d.determineSplit(t[e],r,n)}const i=[],o=[0];for(let r=0;r<n.length;++r){0!==r&&o.push(o[r-1]+n[r-1]);const a=t.slice();a[e]=n[r],i.push(a)}return[i,o]}static determineSplit(t,e,n){if(t%e!=0)throw new Error(\"cannot split tensor to equal sized parts\");for(let r=0;r<e;++r)n.push(t/e)}}e.SplitUtil=d;class h{static calcReduce(t,e,n,r,i){const o=t.dims.slice(0);0===e.length&&o.forEach(((t,n)=>e.push(n)));const a=h.calcReduceShape(o,e,!0),u=f.size(a),l=new s.Tensor(a,t.type),p=f.computeStrides(a),d=f.computeStrides(o),g=new Array(o.length);for(let n=0;n<u;n++){const a=f.offsetToIndices(n,p);c.fillIndex(a,o,g),l.set(a,h.calcReduceByAxis(t.numberData,e,o,0,f.indicesToOffset(g,d),r,i))}return n?l:new s.Tensor(h.calcReduceShape(o,e,n),l.type,void 0,void 0,l.data,l.dataId)}static calcReduceByAxis(t,e,n,r,i,o,a){let s=0;if(r>=e.length)return o(t[i]);const u=e[r],c=u>=n.length?1:f.size(n.slice(u+1));for(let l=0;l<n[u];l++)s=0===l?h.calcReduceByAxis(t,e,n,r+1,i,o,a):a(s,h.calcReduceByAxis(t,e,n,r+1,i,o,a)),i+=c;return s}static calcReduceShape(t,e,n){const r=t.slice();for(let t=0;t<e.length;t++)r[e[t]]=n?1:0;return r.filter((t=>0!==t))}}e.ReduceUtil=h;class g{static adjustPoolAttributes(t,e,n,r,i,o){if(!t&&n.length!==e.length-2)throw new Error(\"length of specified kernel shapes should be 2 less than length of input dimensions\");if(t)for(let t=0;t<e.length-2;t++)t>=n.length?n.push(e[t+2]):n[t]=e[t+2];for(let t=0;t<n.length;t++)if(t<r.length){if(r[t]<0)throw new Error(\"strides should be greater than or equal to 1\")}else r.push(1);for(let t=0;t<n.length;t++)if(t<i.length){if(i[t]<0)throw new Error(\"dilations should be greater than or equal to 1\")}else i.push(1);for(let t=0;t<2*n.length;t++)if(t<o.length){if(o[t]<0)throw new Error(\"pad should be greater than or equal to 1\")}else o.push(0);for(let t=0;t<n.length;t++){if(n[t]<=0)throw new Error(\"kernel shapes need to be greater than 0\");if(o[t]>=n[t]||o[t+n.length]>=n[t])throw new Error(\"pads should be smaller than kernel\")}}static adjustPadsBasedOnAutoPad(t,e,n,r,i,o){if(o){if(i.length!==2*(t.length-2))throw new Error(\"length of pads should be twice the length of data dimensions\");if(e.length!==t.length-2)throw new Error(\"length of strides should be the length of data dimensions\");if(r.length!==t.length-2)throw new Error(\"length of kernel shapes should be the length of data dimensions\");for(let a=0;a<t.length-2;a++)g.adjustPadAndReturnShape(t[a+2],e[a],n[a],r[a],i,a,a+t.length-2,o)}}static computePoolOutputShape(t,e,n,r,i,o,a){if(e.length<=0)throw new Error(\"input shape must be of size greater than 0\");const s=[e[0],e[1]];return g.computeShapeHelper(t,e,s,n,r,i,o,a),s}static computeConvOutputShape(t,e,n,r,i,o,a){if(t.length<=0||e.length<=0)throw new Error(\"invalid input tensor dims or invalid filter tensor dims\");const s=[t[0],e[0]];return g.computeShapeHelper(!1,t,s,n,r,i,o,a),s}static computeShapeHelper(t,e,n,r,i,o,a,s){if(t)for(let t=0;t<e.length-2;t++)n.push(1);else for(let t=0;t<e.length-2;t++)n.push(g.adjustPadAndReturnShape(e[t+2],r[t],i[t],o[t],a,t,t+e.length-2,s))}static adjustPadAndReturnShape(t,e,n,r,i,o,a,s){const u=n*(r-1)+1;if(!s||\"NOTSET\"===s)return Math.floor((t+i[o]+i[a]-u)/e+1);switch(s){case\"VALID\":return i[o]=0,i[a]=0,Math.floor((t-u)/e+1);case\"SAME_LOWER\":case\"SAME_UPPER\":if(1!==n)throw new Error(\"Dilation not supported for SAME_UPPER or SAME_LOWER\");{const n=((t+e-1)/e-1)*e+r-t;return i[o]=\"SAME_LOWER\"===s?Math.floor((n+1)/2):Math.floor(n/2),i[a]=n-i[o],Math.floor((t+n-r)/e+1)}default:throw new Error(\"Unsupported AutoPad type\")}}}e.PoolConvUtil=g,e.MIN_CLIP=-34028234663852886e22,e.MAX_CLIP=34028234663852886e22,e.decodeUtf8String=function(t){return(new TextDecoder).decode(t)}},7967:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.iterateExtraOptions=void 0,e.iterateExtraOptions=(t,n,r,i)=>{if(\"object\"==typeof t&&null!==t){if(r.has(t))throw new Error(\"Circular reference in options\");r.add(t)}Object.entries(t).forEach((([t,o])=>{const a=n?n+t:t;if(\"object\"==typeof o)(0,e.iterateExtraOptions)(o,a+\".\",r,i);else if(\"string\"==typeof o||\"number\"==typeof o)i(a,o.toString());else{if(\"boolean\"!=typeof o)throw new Error(\"Can't handle extra config type: \"+typeof o);i(a,o?\"1\":\"0\")}}))}},2157:function(t,e,n){\"use strict\";var r,i=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!(\"get\"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e};Object.defineProperty(e,\"__esModule\",{value:!0}),e.endProfiling=e.run=e.releaseSession=e.createSession=e.createSessionFinalize=e.createSessionAllocate=e.initOrt=e.initWasm=void 0;const s=n(1670),u=a(n(349)),c=n(6361),l=()=>!!s.env.wasm.proxy&&\"undefined\"!=typeof document;let p,f,d,h=!1,g=!1,b=!1;const m=[],y=[],_=[],v=[],w=[],x=[],T=()=>{if(h||!g||b||!p)throw new Error(\"worker not ready\")},S=t=>{switch(t.data.type){case\"init-wasm\":h=!1,t.data.err?(b=!0,f[1](t.data.err)):(g=!0,f[0]());break;case\"init-ort\":t.data.err?d[1](t.data.err):d[0]();break;case\"create_allocate\":t.data.err?m.shift()[1](t.data.err):m.shift()[0](t.data.out);break;case\"create_finalize\":t.data.err?y.shift()[1](t.data.err):y.shift()[0](t.data.out);break;case\"create\":t.data.err?_.shift()[1](t.data.err):_.shift()[0](t.data.out);break;case\"release\":t.data.err?v.shift()[1](t.data.err):v.shift()[0]();break;case\"run\":t.data.err?w.shift()[1](t.data.err):w.shift()[0](t.data.out);break;case\"end-profiling\":t.data.err?x.shift()[1](t.data.err):x.shift()[0]()}},O=\"undefined\"!=typeof document?null===(r=null===document||void 0===document?void 0:document.currentScript)||void 0===r?void 0:r.src:void 0;e.initWasm=async()=>{if(l()){if(g)return;if(h)throw new Error(\"multiple calls to 'initWasm()' detected.\");if(b)throw new Error(\"previous call to 'initWasm()' failed.\");return h=!0,void 0===s.env.wasm.wasmPaths&&O&&0!==O.indexOf(\"blob:\")&&(s.env.wasm.wasmPaths=O.substr(0,+O.lastIndexOf(\"/\")+1)),new Promise(((t,e)=>{null==p||p.terminate(),p=n(9710).Z(),p.onmessage=S,f=[t,e];const r={type:\"init-wasm\",in:s.env.wasm};p.postMessage(r)}))}return(0,c.initializeWebAssembly)(s.env.wasm)},e.initOrt=async(t,e)=>{if(l())return T(),new Promise(((n,r)=>{d=[n,r];const i={type:\"init-ort\",in:{numThreads:t,loggingLevel:e}};p.postMessage(i)}));u.initOrt(t,e)},e.createSessionAllocate=async t=>l()?(T(),new Promise(((e,n)=>{m.push([e,n]);const r={type:\"create_allocate\",in:{model:t}};p.postMessage(r,[t.buffer])}))):u.createSessionAllocate(t),e.createSessionFinalize=async(t,e)=>l()?(T(),new Promise(((n,r)=>{y.push([n,r]);const i={type:\"create_finalize\",in:{modeldata:t,options:e}};p.postMessage(i)}))):u.createSessionFinalize(t,e),e.createSession=async(t,e)=>l()?(T(),new Promise(((n,r)=>{_.push([n,r]);const i={type:\"create\",in:{model:t,options:e}};p.postMessage(i,[t.buffer])}))):u.createSession(t,e),e.releaseSession=async t=>{if(l())return T(),new Promise(((e,n)=>{v.push([e,n]);const r={type:\"release\",in:t};p.postMessage(r)}));u.releaseSession(t)},e.run=async(t,e,n,r,i)=>l()?(T(),new Promise(((o,a)=>{w.push([o,a]);const s={type:\"run\",in:{sessionId:t,inputIndices:e,inputs:n,outputIndices:r,options:i}};p.postMessage(s,u.extractTransferableBuffers(n))}))):u.run(t,e,n,r,i),e.endProfiling=async t=>{if(l())return T(),new Promise(((e,n)=>{x.push([e,n]);const r={type:\"end-profiling\",in:t};p.postMessage(r)}));u.endProfiling(t)}},586:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setRunOptions=void 0;const r=n(7967),i=n(4983),o=n(6361);e.setRunOptions=t=>{const e=(0,o.getInstance)();let n=0;const a=[],s=t||{};try{if(void 0===(null==t?void 0:t.logSeverityLevel))s.logSeverityLevel=2;else if(\"number\"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))s.logVerbosityLevel=0;else if(\"number\"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);void 0===(null==t?void 0:t.terminate)&&(s.terminate=!1);let o=0;if(void 0!==(null==t?void 0:t.tag)&&(o=(0,i.allocWasmString)(t.tag,a)),n=e._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,o),0===n)throw new Error(\"Can't create run options\");return void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,\"\",new WeakSet,((t,r)=>{const o=(0,i.allocWasmString)(t,a),s=(0,i.allocWasmString)(r,a);if(0!==e._OrtAddRunConfigEntry(n,o,s))throw new Error(`Can't set a run config entry: ${t} - ${r}`)})),[n,a]}catch(t){throw 0!==n&&e._OrtReleaseRunOptions(n),a.forEach(e._free),t}}},2306:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OnnxruntimeWebAssemblySessionHandler=void 0;const r=n(2806),i=n(1670),o=n(2850),a=n(2157);let s;e.OnnxruntimeWebAssemblySessionHandler=class{async createSessionAllocate(t){const e=await fetch(t),n=await e.arrayBuffer();return(0,a.createSessionAllocate)(new Uint8Array(n))}async loadModel(t,e){if(s||(await(0,a.initOrt)(i.env.wasm.numThreads,(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}`)}})(i.env.logLevel)),s=!0),\"string\"==typeof t)if(\"undefined\"==typeof fetch){const n=await(0,o.promisify)(r.readFile)(t);[this.sessionId,this.inputNames,this.outputNames]=await(0,a.createSession)(n,e)}else{const n=await this.createSessionAllocate(t);[this.sessionId,this.inputNames,this.outputNames]=await(0,a.createSessionFinalize)(n,e)}else[this.sessionId,this.inputNames,this.outputNames]=await(0,a.createSession)(t,e)}async dispose(){return(0,a.releaseSession)(this.sessionId)}async run(t,e,n){const r=[],o=[];Object.entries(t).forEach((t=>{const e=t[0],n=t[1],i=this.inputNames.indexOf(e);if(-1===i)throw new Error(`invalid input '${e}'`);r.push(n),o.push(i)}));const s=[];Object.entries(e).forEach((t=>{const e=t[0],n=this.outputNames.indexOf(e);if(-1===n)throw new Error(`invalid output '${e}'`);s.push(n)}));const u=await(0,a.run)(this.sessionId,o,r.map((t=>[t.type,t.dims,t.data])),s,n),c={};for(let t=0;t<u.length;t++)c[this.outputNames[s[t]]]=new i.Tensor(u[t][0],u[t][2],u[t][1]);return c}startProfiling(){}endProfiling(){(0,a.endProfiling)(this.sessionId)}}},4919:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setSessionOptions=void 0;const r=n(7967),i=n(4983),o=n(6361);e.setSessionOptions=t=>{const e=(0,o.getInstance)();let n=0;const a=[],s=t||{};(t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});const e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly=\"1\")})(s);try{void 0===(null==t?void 0:t.graphOptimizationLevel)&&(s.graphOptimizationLevel=\"all\");const u=(t=>{switch(t){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}})(s.graphOptimizationLevel);void 0===(null==t?void 0:t.enableCpuMemArena)&&(s.enableCpuMemArena=!0),void 0===(null==t?void 0:t.enableMemPattern)&&(s.enableMemPattern=!0),void 0===(null==t?void 0:t.executionMode)&&(s.executionMode=\"sequential\");const c=(t=>{switch(t){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}})(s.executionMode);let l=0;if(void 0!==(null==t?void 0:t.logId)&&(l=(0,i.allocWasmString)(t.logId,a)),void 0===(null==t?void 0:t.logSeverityLevel))s.logSeverityLevel=2;else if(\"number\"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))s.logVerbosityLevel=0;else if(\"number\"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);if(void 0===(null==t?void 0:t.enableProfiling)&&(s.enableProfiling=!1),n=e._OrtCreateSessionOptions(u,!!s.enableCpuMemArena,!!s.enableMemPattern,c,!!s.enableProfiling,0,l,s.logSeverityLevel,s.logVerbosityLevel),0===n)throw new Error(\"Can't create session options\");return(null==t?void 0:t.executionProviders)&&((t,e,n)=>{for(const r of e){let e=\"string\"==typeof r?r:r.name;switch(e){case\"xnnpack\":e=\"XNNPACK\";break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported EP: ${e}`)}const a=(0,i.allocWasmString)(e,n);if(0!==(0,o.getInstance)()._OrtAppendExecutionProvider(t,a))throw new Error(`Can't append execution provider: ${e}`)}})(n,t.executionProviders,a),void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,\"\",new WeakSet,((t,r)=>{const o=(0,i.allocWasmString)(t,a),s=(0,i.allocWasmString)(r,a);if(0!==e._OrtAddSessionConfigEntry(n,o,s))throw new Error(`Can't set a session config entry: ${t} - ${r}`)})),[n,a]}catch(t){throw 0!==n&&e._OrtReleaseSessionOptions(n),a.forEach(e._free),t}}},4983:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.allocWasmString=void 0;const r=n(6361);e.allocWasmString=(t,e)=>{const n=(0,r.getInstance)(),i=n.lengthBytesUTF8(t)+1,o=n._malloc(i);return n.stringToUTF8(t,o,i),e.push(o),o}},349:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.extractTransferableBuffers=e.endProfiling=e.run=e.releaseSession=e.createSession=e.createSessionFinalize=e.createSessionAllocate=e.initOrt=void 0;const r=n(586),i=n(4919),o=n(4983),a=n(6361);e.initOrt=(t,e)=>{const n=(0,a.getInstance)()._OrtInit(t,e);if(0!==n)throw new Error(`Can't initialize onnxruntime. error code = ${n}`)};const s=new Map;e.createSessionAllocate=t=>{const e=(0,a.getInstance)(),n=e._malloc(t.byteLength);return e.HEAPU8.set(t,n),[n,t.byteLength]},e.createSessionFinalize=(t,e)=>{const n=(0,a.getInstance)();let r=0,o=0,u=[];try{if([o,u]=(0,i.setSessionOptions)(e),r=n._OrtCreateSession(t[0],t[1],o),0===r)throw new Error(\"Can't create a session\")}finally{n._free(t[0]),n._OrtReleaseSessionOptions(o),u.forEach(n._free)}const c=n._OrtGetInputCount(r),l=n._OrtGetOutputCount(r),p=[],f=[],d=[],h=[];for(let t=0;t<c;t++){const e=n._OrtGetInputName(r,t);if(0===e)throw new Error(\"Can't get an input name\");f.push(e),p.push(n.UTF8ToString(e))}for(let t=0;t<l;t++){const e=n._OrtGetOutputName(r,t);if(0===e)throw new Error(\"Can't get an output name\");h.push(e),d.push(n.UTF8ToString(e))}return s.set(r,[r,f,h]),[r,p,d]},e.createSession=(t,n)=>{const r=(0,e.createSessionAllocate)(t);return(0,e.createSessionFinalize)(r,n)},e.releaseSession=t=>{const e=(0,a.getInstance)(),n=s.get(t);if(!n)throw new Error(\"invalid session id\");const r=n[0],i=n[1],o=n[2];i.forEach(e._OrtFree),o.forEach(e._OrtFree),e._OrtReleaseSession(r),s.delete(t)};const u=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\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;default:throw new Error(`unsupported data type: ${t}`)}},c=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 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";default:throw new Error(`unsupported data type: ${t}`)}},l=t=>{switch(t){case\"float32\":return Float32Array;case\"uint8\":case\"bool\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}};e.run=(t,e,n,i,p)=>{const f=(0,a.getInstance)(),d=s.get(t);if(!d)throw new Error(\"invalid session id\");const h=d[0],g=d[1],b=d[2],m=e.length,y=i.length;let _=0,v=[];const w=[],x=[];try{[_,v]=(0,r.setRunOptions)(p);for(let t=0;t<m;t++){const e=n[t][0],r=n[t][1],i=n[t][2];let a,s;if(Array.isArray(i)){s=4*i.length,a=f._malloc(s),x.push(a);let t=a/4;for(let e=0;e<i.length;e++){if(\"string\"!=typeof i[e])throw new TypeError(`tensor data at index ${e} is not a string`);f.HEAPU32[t++]=(0,o.allocWasmString)(i[e],x)}}else s=i.byteLength,a=f._malloc(s),x.push(a),f.HEAPU8.set(new Uint8Array(i.buffer,i.byteOffset,s),a);const c=f.stackSave(),l=f.stackAlloc(4*r.length);try{let t=l/4;r.forEach((e=>f.HEAP32[t++]=e));const n=f._OrtCreateTensor(u(e),a,s,l,r.length);if(0===n)throw new Error(\"Can't create a tensor\");w.push(n)}finally{f.stackRestore(c)}}const t=f.stackSave(),a=f.stackAlloc(4*m),s=f.stackAlloc(4*m),d=f.stackAlloc(4*y),T=f.stackAlloc(4*y);try{let n=a/4,r=s/4,o=d/4,u=T/4;for(let t=0;t<m;t++)f.HEAPU32[n++]=w[t],f.HEAPU32[r++]=g[e[t]];for(let t=0;t<y;t++)f.HEAPU32[o++]=0,f.HEAPU32[u++]=b[i[t]];let p=f._OrtRun(h,s,a,m,T,y,d,_);const v=[];if(0===p)for(let t=0;t<y;t++){const e=f.HEAPU32[d/4+t],n=f.stackSave(),r=f.stackAlloc(16);let i,o=0;try{if(p=f._OrtGetTensorData(e,r,r+4,r+8,r+12),0!==p)throw new Error(`Can't access output tensor data. error code = ${p}`);let t=r/4;const a=f.HEAPU32[t++];o=f.HEAPU32[t++];const s=f.HEAPU32[t++],u=f.HEAPU32[t++],d=[];for(let t=0;t<u;t++)d.push(f.HEAPU32[s/4+t]);f._OrtFree(s);const h=0===d.length?1:d.reduce(((t,e)=>t*e));if(i=c(a),\"string\"===i){const t=[];let e=o/4;for(let n=0;n<h;n++){const r=f.HEAPU32[e++],i=n===h-1?void 0:f.HEAPU32[e]-r;t.push(f.UTF8ToString(r,i))}v.push([i,d,t])}else{const t=new(l(i))(h);new Uint8Array(t.buffer,t.byteOffset,t.byteLength).set(f.HEAPU8.subarray(o,o+t.byteLength)),v.push([i,d,t])}}finally{f.stackRestore(n),\"string\"===i&&o&&f._free(o),f._OrtReleaseTensor(e)}}if(0===p)return v;throw new Error(`failed to call OrtRun(). error code = ${p}.`)}finally{f.stackRestore(t)}}finally{w.forEach(f._OrtReleaseTensor),x.forEach(f._free),f._OrtReleaseRunOptions(_),v.forEach(f._free)}},e.endProfiling=t=>{const e=(0,a.getInstance)(),n=s.get(t);if(!n)throw new Error(\"invalid session id\");const r=n[0],i=e._OrtEndProfiling(r);if(0===i)throw new Error(\"Can't get an profile file name\");e._OrtFree(i)},e.extractTransferableBuffers=t=>{const e=[];for(const n of t){const t=n[2];!Array.isArray(t)&&t.buffer&&e.push(t.buffer)}return e}},6361:function(t,e,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!(\"get\"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,\"__esModule\",{value:!0}),e.dispose=e.getInstance=e.initializeWebAssembly=void 0;const s=o(n(6449)),u=a(n(932)),c=n(3474);let l,p=!1,f=!1,d=!1;const h=(t,e)=>e?t?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-threaded.wasm\":t?\"ort-wasm-simd.wasm\":\"ort-wasm.wasm\";e.initializeWebAssembly=async t=>{if(p)return Promise.resolve();if(f)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(d)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");f=!0;const e=t.initTimeout,r=t.numThreads,i=t.simd,o=r>1&&(()=>{try{return\"undefined\"!=typeof SharedArrayBuffer&&(\"undefined\"!=typeof MessageChannel&&(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(t){return!1}})(),a=i&&(()=>{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(t){return!1}})(),g=\"string\"==typeof t.wasmPaths?t.wasmPaths:void 0,b=h(!1,o),m=h(a,o),y=\"object\"==typeof t.wasmPaths?t.wasmPaths[m]:void 0;let _=!1;const v=[];if(e>0&&v.push(new Promise((t=>{setTimeout((()=>{_=!0,t()}),e)}))),v.push(new Promise(((t,e)=>{const r=o?c:u.default,i={locateFile:(t,e)=>o&&t.endsWith(\".worker.js\")&&\"undefined\"!=typeof Blob?URL.createObjectURL(new Blob([n(4154)],{type:\"text/javascript\"})):t===b?null!=y?y:(null!=g?g:e)+m:e+t};if(o)if(\"undefined\"==typeof Blob)i.mainScriptUrlOrBlob=s.join(\"/\",\"ort-wasm-threaded.js\");else{const t=`var ortWasmThreaded=(function(){var _scriptDir;return ${r.toString()}})();`;i.mainScriptUrlOrBlob=new Blob([t],{type:\"text/javascript\"})}r(i).then((e=>{f=!1,p=!0,l=e,t()}),(t=>{f=!1,d=!0,e(t)}))}))),await Promise.race(v),_)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},e.getInstance=()=>{if(p&&l)return l;throw new Error(\"WebAssembly is not initialized yet.\")},e.dispose=()=>{var t;!p||f||d||(f=!0,null===(t=l.PThread)||void 0===t||t.terminateAllThreads(),l=void 0,f=!1,p=!1,d=!0)}},9710:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>o});var r=n(477),i=n.n(r);function o(){return i()('/*!\\n* ONNX Runtime Web v1.14.0\\n* Copyright (c) Microsoft Corporation. All rights reserved.\\n* Licensed under the MIT License.\\n*/\\n(()=>{var t={474:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(t){function e(){return j.buffer!=D&&N(j.buffer),P}function r(){return j.buffer!=D&&N(j.buffer),U}function a(){return j.buffer!=D&&N(j.buffer),F}function i(){return j.buffer!=D&&N(j.buffer),I}function o(){return j.buffer!=D&&N(j.buffer),W}var u,c,s;t=t||{},u||(u=void 0!==t?t:{}),u.ready=new Promise((function(t,e){c=t,s=e}));var l,f,p,h,d,y,b=Object.assign({},u),m=\"./this.program\",g=(t,e)=>{throw e},v=\"object\"==typeof window,w=\"function\"==typeof importScripts,_=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node,O=u.ENVIRONMENT_IS_PTHREAD||!1,A=\"\";function S(t){return u.locateFile?u.locateFile(t,A):A+t}if(_){let e;A=w?n(908).dirname(A)+\"/\":\"//\",y=()=>{d||(h=n(384),d=n(908))},l=function(t,e){return y(),t=d.normalize(t),h.readFileSync(t,e?void 0:\"utf8\")},p=t=>((t=l(t,!0)).buffer||(t=new Uint8Array(t)),t),f=(t,e,n)=>{y(),t=d.normalize(t),h.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(m=process.argv[1].replace(/\\\\\\\\/g,\"/\")),process.argv.slice(2),process.on(\"uncaughtException\",(function(t){if(!(t instanceof ct))throw t})),process.on(\"unhandledRejection\",(function(t){throw t})),g=(t,e)=>{if(Q())throw process.exitCode=t,e;e instanceof ct||x(\"exiting due to exception: \"+e),process.exit(t)},u.inspect=function(){return\"[Emscripten Module object]\"};try{e=n(925)}catch(t){throw console.error(\\'The \"worker_threads\" module is not supported in this node.js build - perhaps a newer version is needed?\\'),t}n.g.Worker=e.Worker}else(v||w)&&(w?A=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(A=document.currentScript.src),_scriptDir&&(A=_scriptDir),A=0!==A.indexOf(\"blob:\")?A.substr(0,A.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",_||(l=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.send(null),e.responseText},w&&(p=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.responseType=\"arraybuffer\",e.send(null),new Uint8Array(e.response)}),f=(t,e,n)=>{var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)}));_&&\"undefined\"==typeof performance&&(n.g.performance=n(953).performance);var T=console.log.bind(console),E=console.warn.bind(console);_&&(y(),T=t=>h.writeSync(1,t+\"\\\\n\"),E=t=>h.writeSync(2,t+\"\\\\n\"));var M,C=u.print||T,x=u.printErr||E;Object.assign(u,b),b=null,u.thisProgram&&(m=u.thisProgram),u.quit&&(g=u.quit),u.wasmBinary&&(M=u.wasmBinary);var R=u.noExitRuntime||!1;\"object\"!=typeof WebAssembly&&at(\"no native wasm support detected\");var j,k,D,P,U,F,I,W,H=!1,L=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function z(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&L)return L.decode(t.buffer instanceof SharedArrayBuffer?t.slice(e,n):t.subarray(e,n));for(r=\"\";e<n;){var a=t[e++];if(128&a){var i=63&t[e++];if(192==(224&a))r+=String.fromCharCode((31&a)<<6|i);else{var o=63&t[e++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&t[e++])?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else r+=String.fromCharCode(a)}return r}function Y(t,e){return(t>>>=0)?z(r(),t,e):\"\"}function B(t,e,n,r){if(!(0<r))return 0;var a=n>>>=0;r=n+r-1;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),127>=o){if(n>=r)break;e[n++>>>0]=o}else{if(2047>=o){if(n+1>=r)break;e[n++>>>0]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;e[n++>>>0]=224|o>>12}else{if(n+3>=r)break;e[n++>>>0]=240|o>>18,e[n++>>>0]=128|o>>12&63}e[n++>>>0]=128|o>>6&63}e[n++>>>0]=128|63&o}}return e[n>>>0]=0,n-a}function G(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function N(t){D=t,u.HEAP8=P=new Int8Array(t),u.HEAP16=new Int16Array(t),u.HEAP32=F=new Int32Array(t),u.HEAPU8=U=new Uint8Array(t),u.HEAPU16=new Uint16Array(t),u.HEAPU32=I=new Uint32Array(t),u.HEAPF32=new Float32Array(t),u.HEAPF64=W=new Float64Array(t)}O&&(D=u.buffer);var V=u.INITIAL_MEMORY||16777216;if(O)j=u.wasmMemory,D=u.buffer;else if(u.wasmMemory)j=u.wasmMemory;else if(!((j=new WebAssembly.Memory({initial:V/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw x(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),_&&console.log(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)\"),Error(\"bad memory\");j&&(D=j.buffer),V=D.byteLength,N(D);var $,q=[],X=[],J=[],Z=[];function Q(){return R||!1}function K(){var t=u.preRun.shift();q.unshift(t)}var tt,et=0,nt=null,rt=null;function at(t){throw O?postMessage({cmd:\"onAbort\",arg:t}):u.onAbort&&u.onAbort(t),x(t=\"Aborted(\"+t+\")\"),H=!0,t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\"),s(t),t}function it(){return tt.startsWith(\"data:application/octet-stream;base64,\")}function ot(){var t=tt;try{if(t==tt&&M)return new Uint8Array(M);if(p)return p(t);throw\"both async and sync fetching of the wasm failed\"}catch(t){at(t)}}tt=\"ort-wasm-threaded.wasm\",it()||(tt=S(tt));var ut={};function ct(t){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+t+\")\",this.status=t}function st(t){(t=ht.Vb[t])||at(),ht.mc(t)}function lt(t){var e=ht.Cc();if(!e)return 6;ht.ac.push(e),ht.Vb[t.Ub]=e,e.Ub=t.Ub;var n={cmd:\"run\",start_routine:t.Ic,arg:t.zc,pthread_ptr:t.Ub};return e.$b=()=>{n.time=performance.now(),e.postMessage(n,t.Nc)},e.loaded&&(e.$b(),delete e.$b),0}function ft(t){if(O)return $t(1,1,t);Q()||(ht.oc(),u.onExit&&u.onExit(t),H=!0),g(t,new ct(t))}function pt(t,e){if(!e&&O)throw bt(t),\"unwind\";Q()||O||(me(),dt(J),be(0),re[1].length&&ae(1,10),re[2].length&&ae(2,10),ht.oc()),ft(t)}var ht={Yb:[],ac:[],qc:[],Vb:{},fc:function(){O&&ht.Ec()},Pc:function(){},Ec:function(){ht.receiveObjectTransfer=ht.Gc,ht.threadInitTLS=ht.pc,ht.setExitStatus=ht.nc,R=!1},nc:function(){},oc:function(){for(var t of Object.values(ht.Vb))ht.mc(t);for(t of ht.Yb)t.terminate();ht.Yb=[]},mc:function(t){var e=t.Ub;delete ht.Vb[e],ht.Yb.push(t),ht.ac.splice(ht.ac.indexOf(t),1),t.Ub=0,Oe(e)},Gc:function(){},pc:function(){ht.qc.forEach((t=>t()))},Fc:function(t,e){t.onmessage=n=>{var r=(n=n.data).cmd;if(t.Ub&&(ht.Bc=t.Ub),n.targetThread&&n.targetThread!=he()){var a=ht.Vb[n.Qc];a?a.postMessage(n,n.transferList):x(\\'Internal error! Worker sent a message \"\\'+r+\\'\" to target pthread \\'+n.targetThread+\", but that thread no longer exists!\")}else\"processProxyingQueue\"===r?zt(n.queue):\"spawnThread\"===r?lt(n):\"cleanupThread\"===r?st(n.thread):\"killThread\"===r?(n=n.thread,r=ht.Vb[n],delete ht.Vb[n],r.terminate(),Oe(n),ht.ac.splice(ht.ac.indexOf(r),1),r.Ub=0):\"cancelThread\"===r?ht.Vb[n.thread].postMessage({cmd:\"cancel\"}):\"loaded\"===r?(t.loaded=!0,e&&e(t),t.$b&&(t.$b(),delete t.$b)):\"print\"===r?C(\"Thread \"+n.threadId+\": \"+n.text):\"printErr\"===r?x(\"Thread \"+n.threadId+\": \"+n.text):\"alert\"===r?alert(\"Thread \"+n.threadId+\": \"+n.text):\"setimmediate\"===n.target?t.postMessage(n):\"onAbort\"===r?u.onAbort&&u.onAbort(n.arg):r&&x(\"worker sent an unknown command \"+r);ht.Bc=void 0},t.onerror=t=>{throw x(\"worker sent an error! \"+t.filename+\":\"+t.lineno+\": \"+t.message),t},_&&(t.on(\"message\",(function(e){t.onmessage({data:e})})),t.on(\"error\",(function(e){t.onerror(e)})),t.on(\"detachedExit\",(function(){}))),t.postMessage({cmd:\"load\",urlOrBlob:u.mainScriptUrlOrBlob||_scriptDir,wasmMemory:j,wasmModule:k})},yc:function(){var t=S(\"ort-wasm-threaded.worker.js\");ht.Yb.push(new Worker(t))},Cc:function(){return 0==ht.Yb.length&&(ht.yc(),ht.Fc(ht.Yb[0])),ht.Yb.pop()}};function dt(t){for(;0<t.length;)t.shift()(u)}function yt(t){var e=Ee();return t=t(),Me(e),t}function bt(t){if(O)return $t(2,0,t);try{pt(t)}catch(t){t instanceof ct||\"unwind\"==t||g(1,t)}}u.PThread=ht,u.establishStackSpace=function(){var t=he(),e=a()[t+44>>2>>>0];t=a()[t+48>>2>>>0],Te(e,e-t),Me(e)};var mt=[];function gt(t){var e=mt[t];return e||(t>=mt.length&&(mt.length=t+1),mt[t]=e=$.get(t)),e}u.invokeEntryPoint=function(t,e){t=gt(t)(e),Q()?ht.nc(t):Ae(t)};var vt,wt,_t=[],Ot=0,At=0;function St(t){this.Zb=t,this.Sb=t-24,this.xc=function(t){i()[this.Sb+4>>2>>>0]=t},this.bc=function(){return i()[this.Sb+4>>2>>>0]},this.wc=function(t){i()[this.Sb+8>>2>>>0]=t},this.Dc=function(){return i()[this.Sb+8>>2>>>0]},this.rc=function(){a()[this.Sb>>2>>>0]=0},this.hc=function(t){t=t?1:0,e()[this.Sb+12>>0>>>0]=t},this.uc=function(){return 0!=e()[this.Sb+12>>0>>>0]},this.ic=function(t){t=t?1:0,e()[this.Sb+13>>0>>>0]=t},this.kc=function(){return 0!=e()[this.Sb+13>>0>>>0]},this.fc=function(t,e){this.cc(0),this.xc(t),this.wc(e),this.rc(),this.hc(!1),this.ic(!1)},this.sc=function(){Atomics.add(a(),this.Sb>>2,1)},this.Hc=function(){return 1===Atomics.sub(a(),this.Sb>>2,1)},this.cc=function(t){i()[this.Sb+16>>2>>>0]=t},this.tc=function(){return i()[this.Sb+16>>2>>>0]},this.vc=function(){if(Re(this.bc()))return i()[this.Zb>>2>>>0];var t=this.tc();return 0!==t?t:this.Zb}}function Tt(t){return ye(new St(t).Sb)}function Et(t,e,n,r){return O?$t(3,1,t,e,n,r):Mt(t,e,n,r)}function Mt(t,e,n,r){if(\"undefined\"==typeof SharedArrayBuffer)return x(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var a=[];return O&&0===a.length?Et(t,e,n,r):(t={Ic:n,Ub:t,zc:r,Nc:a},O?(t.Oc=\"spawnThread\",postMessage(t,a),0):lt(t))}function Ct(t,e,n){return O?$t(4,1,t,e,n):0}function xt(t,e){if(O)return $t(5,1,t,e)}function Rt(t,e){if(O)return $t(6,1,t,e)}function jt(t,e,n){if(O)return $t(7,1,t,e,n)}function kt(t,e,n){return O?$t(8,1,t,e,n):0}function Dt(t,e){if(O)return $t(9,1,t,e)}function Pt(t,e,n){if(O)return $t(10,1,t,e,n)}function Ut(t,e,n,r){if(O)return $t(11,1,t,e,n,r)}function Ft(t,e,n,r){if(O)return $t(12,1,t,e,n,r)}function It(t,e,n,r){if(O)return $t(13,1,t,e,n,r)}function Wt(t){if(O)return $t(14,1,t)}function Ht(t,e){if(O)return $t(15,1,t,e)}function Lt(t,e,n){if(O)return $t(16,1,t,e,n)}function zt(t){Atomics.store(a(),t>>2,1),he()&&_e(t),Atomics.compareExchange(a(),t>>2,1,0)}function Yt(t){return i()[t>>>2]+4294967296*a()[t+4>>>2]}function Bt(t,e,n,r,a,i){return O?$t(17,1,t,e,n,r,a,i):-52}function Gt(t,e,n,r,a,i){if(O)return $t(18,1,t,e,n,r,a,i)}function Nt(t){var n=G(t)+1,r=de(n);return r&&B(t,e(),r,n),r}function Vt(t,e,n){function r(t){return(t=t.toTimeString().match(/\\\\(([A-Za-z ]+)\\\\)$/))?t[1]:\"GMT\"}if(O)return $t(19,1,t,e,n);var o=(new Date).getFullYear(),u=new Date(o,0,1),c=new Date(o,6,1);o=u.getTimezoneOffset();var s=c.getTimezoneOffset(),l=Math.max(o,s);a()[t>>2>>>0]=60*l,a()[e>>2>>>0]=Number(o!=s),t=r(u),e=r(c),t=Nt(t),e=Nt(e),s<o?(i()[n>>2>>>0]=t,i()[n+4>>2>>>0]=e):(i()[n>>2>>>0]=e,i()[n+4>>2>>>0]=t)}function $t(t,e){var n=arguments.length-2,r=arguments;return yt((()=>{for(var a=Ce(8*n),i=a>>3,u=0;u<n;u++){var c=r[2+u];o()[i+u>>>0]=c}return we(t,n,a,e)}))}u.executeNotifiedProxyingQueue=zt,wt=_?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:O?()=>performance.now()-u.__performance_now_clock_drift:()=>performance.now();var qt,Xt=[],Jt={};function Zt(){if(!qt){var t,e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:m||\"./this.program\"};for(t in Jt)void 0===Jt[t]?delete e[t]:e[t]=Jt[t];var n=[];for(t in e)n.push(t+\"=\"+e[t]);qt=n}return qt}function Qt(t,n){if(O)return $t(20,1,t,n);var r=0;return Zt().forEach((function(a,o){var u=n+r;for(o=i()[t+4*o>>2>>>0]=u,u=0;u<a.length;++u)e()[o++>>0>>>0]=a.charCodeAt(u);e()[o>>0>>>0]=0,r+=a.length+1})),0}function Kt(t,e){if(O)return $t(21,1,t,e);var n=Zt();i()[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),i()[e>>2>>>0]=r,0}function te(t){return O?$t(22,1,t):52}function ee(t,e,n,r){return O?$t(23,1,t,e,n,r):52}function ne(t,e,n,r,a){return O?$t(24,1,t,e,n,r,a):70}var re=[null,[],[]];function ae(t,e){var n=re[t];0===e||10===e?((1===t?C:x)(z(n,0)),n.length=0):n.push(e)}function ie(t,e,n,a){if(O)return $t(25,1,t,e,n,a);for(var o=0,u=0;u<n;u++){var c=i()[e>>2>>>0],s=i()[e+4>>2>>>0];e+=8;for(var l=0;l<s;l++)ae(t,r()[c+l>>>0]);o+=s}return i()[a>>2>>>0]=o,0}var oe=0;function ue(t){return 0==t%4&&(0!=t%100||0==t%400)}var ce=[31,29,31,30,31,30,31,31,30,31,30,31],se=[31,28,31,30,31,30,31,31,30,31,30,31];function le(t,n,r,i){function o(t,e,n){for(t=\"number\"==typeof t?t.toString():t||\"\";t.length<e;)t=n[0]+t;return t}function u(t,e){return o(t,e,\"0\")}function c(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function s(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){var e=t.Wb;for(t=new Date(new Date(t.Xb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(ue(t.getFullYear())?ce:se)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=c(e,t)?0>=c(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var f=a()[i+40>>2>>>0];for(var p in i={Lc:a()[i>>2>>>0],Kc:a()[i+4>>2>>>0],dc:a()[i+8>>2>>>0],jc:a()[i+12>>2>>>0],ec:a()[i+16>>2>>>0],Xb:a()[i+20>>2>>>0],Tb:a()[i+24>>2>>>0],Wb:a()[i+28>>2>>>0],Rc:a()[i+32>>2>>>0],Jc:a()[i+36>>2>>>0],Mc:f?Y(f):\"\"},r=Y(r),f={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"})r=r.replace(new RegExp(p,\"g\"),f[p]);var h=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),d=\"January February March April May June July August September October November December\".split(\" \");for(p in f={\"%a\":function(t){return h[t.Tb].substring(0,3)},\"%A\":function(t){return h[t.Tb]},\"%b\":function(t){return d[t.ec].substring(0,3)},\"%B\":function(t){return d[t.ec]},\"%C\":function(t){return u((t.Xb+1900)/100|0,2)},\"%d\":function(t){return u(t.jc,2)},\"%e\":function(t){return o(t.jc,2,\" \")},\"%g\":function(t){return l(t).toString().substring(2)},\"%G\":function(t){return l(t)},\"%H\":function(t){return u(t.dc,2)},\"%I\":function(t){return 0==(t=t.dc)?t=12:12<t&&(t-=12),u(t,2)},\"%j\":function(t){for(var e=0,n=0;n<=t.ec-1;e+=(ue(t.Xb+1900)?ce:se)[n++]);return u(t.jc+e,3)},\"%m\":function(t){return u(t.ec+1,2)},\"%M\":function(t){return u(t.Kc,2)},\"%n\":function(){return\"\\\\n\"},\"%p\":function(t){return 0<=t.dc&&12>t.dc?\"AM\":\"PM\"},\"%S\":function(t){return u(t.Lc,2)},\"%t\":function(){return\"\\\\t\"},\"%u\":function(t){return t.Tb||7},\"%U\":function(t){return u(Math.floor((t.Wb+7-t.Tb)/7),2)},\"%V\":function(t){var e=Math.floor((t.Wb+7-(t.Tb+6)%7)/7);if(2>=(t.Tb+371-t.Wb-2)%7&&e++,e)53==e&&(4==(n=(t.Tb+371-t.Wb)%7)||3==n&&ue(t.Xb)||(e=1));else{e=52;var n=(t.Tb+7-t.Wb-1)%7;(4==n||5==n&&ue(t.Xb%400-1))&&e++}return u(e,2)},\"%w\":function(t){return t.Tb},\"%W\":function(t){return u(Math.floor((t.Wb+7-(t.Tb+6)%7)/7),2)},\"%y\":function(t){return(t.Xb+1900).toString().substring(2)},\"%Y\":function(t){return t.Xb+1900},\"%z\":function(t){var e=0<=(t=t.Jc);return t=Math.abs(t)/60,(e?\"+\":\"-\")+String(\"0000\"+(t/60*100+t%60)).slice(-4)},\"%Z\":function(t){return t.Mc},\"%%\":function(){return\"%\"}},r=r.replace(/%%/g,\"\\\\0\\\\0\"),f)r.includes(p)&&(r=r.replace(new RegExp(p,\"g\"),f[p](i)));return p=function(t){var e=Array(G(t)+1);return B(t,e,0,e.length),e}(r=r.replace(/\\\\0\\\\0/g,\"%\")),p.length>n?0:(function(t,n){e().set(t,n>>>0)}(p,t),p.length-1)}ht.fc();var fe=[null,ft,bt,Et,Ct,xt,Rt,jt,kt,Dt,Pt,Ut,Ft,It,Wt,Ht,Lt,Bt,Gt,Vt,Qt,Kt,te,ee,ne,ie],pe={b:function(t){return de(t+24)+24},n:function(t){return(t=new St(t)).uc()||(t.hc(!0),Ot--),t.ic(!1),_t.push(t),t.sc(),t.vc()},ma:function(t){throw x(\"Unexpected exception thrown, this is not properly supported - aborting\"),H=!0,t},x:function(){Se(0);var t=_t.pop();if(t.Hc()&&!t.kc()){var e=t.Dc();e&>(e)(t.Zb),Tt(t.Zb)}At=0},e:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},l:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},h:function(){var t=At;if(!t)return oe=0;var e=new St(t);e.cc(t);var n=e.bc();if(!n)return oe=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(xe(i,n,e.Sb+16))return oe=i,t}return oe=n,t},t:Tt,M:function(){var t=_t.pop();t||at(\"no exception to throw\");var e=t.Zb;throw t.kc()||(_t.push(t),t.ic(!0),t.hc(!1),Ot++),At=e,e},c:function(t,e,n){throw new St(t).fc(e,n),At=t,Ot++,t},pa:function(){return Ot},Fa:function(t){ge(t,!w,1,!v),ht.pc()},T:function(t){O?postMessage({cmd:\"cleanupThread\",thread:t}):st(t)},xa:Mt,j:function(t){throw At||(At=t),t},H:Ct,Ma:xt,ua:Rt,wa:jt,oa:kt,Ka:Dt,Ca:Pt,Ja:Ut,V:Ft,va:It,sa:Wt,La:Ht,ta:Lt,Ta:function(){},X:function(){at(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},Ua:function(){at(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(t,e,n,r){if(t==e)setTimeout((()=>zt(r)));else if(O)postMessage({targetThread:t,cmd:\"processProxyingQueue\",queue:r});else{if(!(t=ht.Vb[t]))return;t.postMessage({cmd:\"processProxyingQueue\",queue:r})}return 1},Ea:function(){return-1},Pa:function(t,e){t=new Date(1e3*Yt(t)),a()[e>>2>>>0]=t.getUTCSeconds(),a()[e+4>>2>>>0]=t.getUTCMinutes(),a()[e+8>>2>>>0]=t.getUTCHours(),a()[e+12>>2>>>0]=t.getUTCDate(),a()[e+16>>2>>>0]=t.getUTCMonth(),a()[e+20>>2>>>0]=t.getUTCFullYear()-1900,a()[e+24>>2>>>0]=t.getUTCDay(),t=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,a()[e+28>>2>>>0]=t},Qa:function(t,e){t=new Date(1e3*Yt(t)),a()[e>>2>>>0]=t.getSeconds(),a()[e+4>>2>>>0]=t.getMinutes(),a()[e+8>>2>>>0]=t.getHours(),a()[e+12>>2>>>0]=t.getDate(),a()[e+16>>2>>>0]=t.getMonth(),a()[e+20>>2>>>0]=t.getFullYear()-1900,a()[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1),r=(t.getTime()-n.getTime())/864e5|0;a()[e+28>>2>>>0]=r,a()[e+36>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset(),t=0|(r!=(n=n.getTimezoneOffset())&&t.getTimezoneOffset()==Math.min(n,r)),a()[e+32>>2>>>0]=t},Ra:function(t){var e=new Date(a()[t+20>>2>>>0]+1900,a()[t+16>>2>>>0],a()[t+12>>2>>>0],a()[t+8>>2>>>0],a()[t+4>>2>>>0],a()[t>>2>>>0],0),n=a()[t+32>>2>>>0],r=e.getTimezoneOffset(),i=new Date(e.getFullYear(),0,1),o=new Date(e.getFullYear(),6,1).getTimezoneOffset(),u=i.getTimezoneOffset(),c=Math.min(u,o);return 0>n?a()[t+32>>2>>>0]=Number(o!=u&&c==r):0<n!=(c==r)&&(o=Math.max(u,o),e.setTime(e.getTime()+6e4*((0<n?c:o)-r))),a()[t+24>>2>>>0]=e.getDay(),n=(e.getTime()-i.getTime())/864e5|0,a()[t+28>>2>>>0]=n,a()[t>>2>>>0]=e.getSeconds(),a()[t+4>>2>>>0]=e.getMinutes(),a()[t+8>>2>>>0]=e.getHours(),a()[t+12>>2>>>0]=e.getDate(),a()[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},Aa:Bt,Ba:Gt,Sa:function t(e,n,r){t.Ac||(t.Ac=!0,Vt(e,n,r))},y:function(){at(\"\")},U:function(){if(!_&&!w){var t=\"Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread\";vt||(vt={}),vt[t]||(vt[t]=1,_&&(t=\"warning: \"+t),x(t))}},ra:function(){return 4294901760},B:wt,Ia:function(t,e,n){r().copyWithin(t>>>0,e>>>0,e+n>>>0)},F:function(){return _?n(993).cpus().length:navigator.hardwareConcurrency},Da:function(t,e,n){Xt.length=e,n>>=3;for(var r=0;r<e;r++)Xt[r]=o()[n+r>>>0];return(0>t?ut[-t-1]:fe[t]).apply(null,Xt)},qa:function(t){var e=r().length;if((t>>>=0)<=e||4294901760<t)return!1;for(var n=1;4>=n;n*=2){var a=e*(1+.2/n);a=Math.min(a,t+100663296);var i=Math;a=Math.max(t,a),i=i.min.call(i,4294901760,a+(65536-a%65536)%65536);t:{try{j.grow(i-D.byteLength+65535>>>16),N(j.buffer);var o=1;break t}catch(t){}o=void 0}if(o)return!0}return!1},Na:function(){throw\"unwind\"},Ga:Qt,Ha:Kt,J:pt,I:te,S:ee,ga:ne,R:ie,d:function(){return oe},na:function t(r,a){t.lc||(t.lc=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(_)try{var e=n(Object(function(){var t=new Error(\"Cannot find module \\'crypto\\'\");throw t.code=\"MODULE_NOT_FOUND\",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>at(\"randomDevice\")}());for(var i=0;i<a;i++)e()[r+i>>0>>>0]=t.lc();return 0},ia:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},ja:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},K:function(t){var e=Ee();try{return gt(t)()}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},f:function(t,e){var n=Ee();try{return gt(t)(e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},P:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},Q:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},k:function(t,e,n){var r=Ee();try{return gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},p:function(t,e,n,r){var a=Ee();try{return gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},q:function(t,e,n,r,a){var i=Ee();try{return gt(t)(e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},N:function(t,e,n,r,a,i){var o=Ee();try{return gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},s:function(t,e,n,r,a,i){var o=Ee();try{return gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},w:function(t,e,n,r,a,i,o){var u=Ee();try{return gt(t)(e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},L:function(t,e,n,r,a,i,o,u){var c=Ee();try{return gt(t)(e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},E:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=Ee();try{return gt(t)(e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(Me(p),t!==t+0)throw t;Se(1,0)}},aa:function(t,e,n,r,a,i,o,u){var c=Ee();try{return He(t,e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},_:function(t,e,n,r,a,i,o){var u=Ee();try{return ke(t,e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},Z:function(t,e,n,r,a){var i=Ee();try{return Le(t,e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},ca:function(t,e,n,r){var a=Ee();try{return Ie(t,e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},$:function(t){var e=Ee();try{return je(t)}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},ba:function(t,e){var n=Ee();try{return We(t,e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},Y:function(t,e,n){var r=Ee();try{return De(t,e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},g:function(t){var e=Ee();try{gt(t)()}catch(t){if(Me(e),t!==t+0)throw t;Se(1,0)}},r:function(t,e){var n=Ee();try{gt(t)(e)}catch(t){if(Me(n),t!==t+0)throw t;Se(1,0)}},i:function(t,e,n){var r=Ee();try{gt(t)(e,n)}catch(t){if(Me(r),t!==t+0)throw t;Se(1,0)}},ha:function(t,e,n,r){var a=Ee();try{gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},m:function(t,e,n,r){var a=Ee();try{gt(t)(e,n,r)}catch(t){if(Me(a),t!==t+0)throw t;Se(1,0)}},v:function(t,e,n,r,a){var i=Ee();try{gt(t)(e,n,r,a)}catch(t){if(Me(i),t!==t+0)throw t;Se(1,0)}},u:function(t,e,n,r,a,i){var o=Ee();try{gt(t)(e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},O:function(t,e,n,r,a,i,o){var u=Ee();try{gt(t)(e,n,r,a,i,o)}catch(t){if(Me(u),t!==t+0)throw t;Se(1,0)}},A:function(t,e,n,r,a,i,o,u){var c=Ee();try{gt(t)(e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},ka:function(t,e,n,r,a,i,o,u,c){var s=Ee();try{gt(t)(e,n,r,a,i,o,u,c)}catch(t){if(Me(s),t!==t+0)throw t;Se(1,0)}},C:function(t,e,n,r,a,i,o,u,c,s,l){var f=Ee();try{gt(t)(e,n,r,a,i,o,u,c,s,l)}catch(t){if(Me(f),t!==t+0)throw t;Se(1,0)}},D:function(t,e,n,r,a,i,o,u,c,s,l,f,p,h,d,y){var b=Ee();try{gt(t)(e,n,r,a,i,o,u,c,s,l,f,p,h,d,y)}catch(t){if(Me(b),t!==t+0)throw t;Se(1,0)}},fa:function(t,e,n,r,a,i,o,u){var c=Ee();try{Pe(t,e,n,r,a,i,o,u)}catch(t){if(Me(c),t!==t+0)throw t;Se(1,0)}},da:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=Ee();try{Fe(t,e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(Me(p),t!==t+0)throw t;Se(1,0)}},ea:function(t,e,n,r,a,i){var o=Ee();try{Ue(t,e,n,r,a,i)}catch(t){if(Me(o),t!==t+0)throw t;Se(1,0)}},o:function(t){return t},a:j||u.wasmMemory,G:function(t){oe=t},la:le,z:function(t,e,n,r){return le(t,e,n,r)}};!function(){function t(t,e){u.asm=t.exports,ht.qc.push(u.asm.sb),$=u.asm.ub,X.unshift(u.asm.Va),k=e,O||(et--,u.monitorRunDependencies&&u.monitorRunDependencies(et),0==et&&(null!==nt&&(clearInterval(nt),nt=null),rt&&(t=rt,rt=null,t())))}function e(e){t(e.instance,e.module)}function n(t){return function(){if(!M&&(v||w)){if(\"function\"==typeof fetch&&!tt.startsWith(\"file://\"))return fetch(tt,{credentials:\"same-origin\"}).then((function(t){if(!t.ok)throw\"failed to load wasm binary file at \\'\"+tt+\"\\'\";return t.arrayBuffer()})).catch((function(){return ot()}));if(f)return new Promise((function(t,e){f(tt,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return ot()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){x(\"failed to asynchronously prepare wasm: \"+t),at(t)}))}var r={a:pe};if(O||(et++,u.monitorRunDependencies&&u.monitorRunDependencies(et)),u.instantiateWasm)try{return u.instantiateWasm(r,t)}catch(t){return x(\"Module.instantiateWasm callback failed with error: \"+t),!1}(M||\"function\"!=typeof WebAssembly.instantiateStreaming||it()||tt.startsWith(\"file://\")||_||\"function\"!=typeof fetch?n(e):fetch(tt,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return x(\"wasm streaming compile failed: \"+t),x(\"falling back to ArrayBuffer instantiation\"),n(e)}))}))).catch(s)}(),u.___wasm_call_ctors=function(){return(u.___wasm_call_ctors=u.asm.Va).apply(null,arguments)},u._OrtInit=function(){return(u._OrtInit=u.asm.Wa).apply(null,arguments)},u._OrtCreateSessionOptions=function(){return(u._OrtCreateSessionOptions=u.asm.Xa).apply(null,arguments)},u._OrtAppendExecutionProvider=function(){return(u._OrtAppendExecutionProvider=u.asm.Ya).apply(null,arguments)},u._OrtAddSessionConfigEntry=function(){return(u._OrtAddSessionConfigEntry=u.asm.Za).apply(null,arguments)},u._OrtReleaseSessionOptions=function(){return(u._OrtReleaseSessionOptions=u.asm._a).apply(null,arguments)},u._OrtCreateSession=function(){return(u._OrtCreateSession=u.asm.$a).apply(null,arguments)},u._OrtReleaseSession=function(){return(u._OrtReleaseSession=u.asm.ab).apply(null,arguments)},u._OrtGetInputCount=function(){return(u._OrtGetInputCount=u.asm.bb).apply(null,arguments)},u._OrtGetOutputCount=function(){return(u._OrtGetOutputCount=u.asm.cb).apply(null,arguments)},u._OrtGetInputName=function(){return(u._OrtGetInputName=u.asm.db).apply(null,arguments)},u._OrtGetOutputName=function(){return(u._OrtGetOutputName=u.asm.eb).apply(null,arguments)},u._OrtFree=function(){return(u._OrtFree=u.asm.fb).apply(null,arguments)},u._OrtCreateTensor=function(){return(u._OrtCreateTensor=u.asm.gb).apply(null,arguments)},u._OrtGetTensorData=function(){return(u._OrtGetTensorData=u.asm.hb).apply(null,arguments)},u._OrtReleaseTensor=function(){return(u._OrtReleaseTensor=u.asm.ib).apply(null,arguments)},u._OrtCreateRunOptions=function(){return(u._OrtCreateRunOptions=u.asm.jb).apply(null,arguments)},u._OrtAddRunConfigEntry=function(){return(u._OrtAddRunConfigEntry=u.asm.kb).apply(null,arguments)},u._OrtReleaseRunOptions=function(){return(u._OrtReleaseRunOptions=u.asm.lb).apply(null,arguments)},u._OrtRun=function(){return(u._OrtRun=u.asm.mb).apply(null,arguments)},u._OrtEndProfiling=function(){return(u._OrtEndProfiling=u.asm.nb).apply(null,arguments)};var he=u._pthread_self=function(){return(he=u._pthread_self=u.asm.ob).apply(null,arguments)},de=u._malloc=function(){return(de=u._malloc=u.asm.pb).apply(null,arguments)},ye=u._free=function(){return(ye=u._free=u.asm.qb).apply(null,arguments)},be=u._fflush=function(){return(be=u._fflush=u.asm.rb).apply(null,arguments)};u.__emscripten_tls_init=function(){return(u.__emscripten_tls_init=u.asm.sb).apply(null,arguments)};var me=u.___funcs_on_exit=function(){return(me=u.___funcs_on_exit=u.asm.tb).apply(null,arguments)},ge=u.__emscripten_thread_init=function(){return(ge=u.__emscripten_thread_init=u.asm.vb).apply(null,arguments)};u.__emscripten_thread_crashed=function(){return(u.__emscripten_thread_crashed=u.asm.wb).apply(null,arguments)};var ve,we=u._emscripten_run_in_main_runtime_thread_js=function(){return(we=u._emscripten_run_in_main_runtime_thread_js=u.asm.xb).apply(null,arguments)},_e=u.__emscripten_proxy_execute_task_queue=function(){return(_e=u.__emscripten_proxy_execute_task_queue=u.asm.yb).apply(null,arguments)},Oe=u.__emscripten_thread_free_data=function(){return(Oe=u.__emscripten_thread_free_data=u.asm.zb).apply(null,arguments)},Ae=u.__emscripten_thread_exit=function(){return(Ae=u.__emscripten_thread_exit=u.asm.Ab).apply(null,arguments)},Se=u._setThrew=function(){return(Se=u._setThrew=u.asm.Bb).apply(null,arguments)},Te=u._emscripten_stack_set_limits=function(){return(Te=u._emscripten_stack_set_limits=u.asm.Cb).apply(null,arguments)},Ee=u.stackSave=function(){return(Ee=u.stackSave=u.asm.Db).apply(null,arguments)},Me=u.stackRestore=function(){return(Me=u.stackRestore=u.asm.Eb).apply(null,arguments)},Ce=u.stackAlloc=function(){return(Ce=u.stackAlloc=u.asm.Fb).apply(null,arguments)},xe=u.___cxa_can_catch=function(){return(xe=u.___cxa_can_catch=u.asm.Gb).apply(null,arguments)},Re=u.___cxa_is_pointer_type=function(){return(Re=u.___cxa_is_pointer_type=u.asm.Hb).apply(null,arguments)},je=u.dynCall_j=function(){return(je=u.dynCall_j=u.asm.Ib).apply(null,arguments)},ke=u.dynCall_iiiiij=function(){return(ke=u.dynCall_iiiiij=u.asm.Jb).apply(null,arguments)},De=u.dynCall_jii=function(){return(De=u.dynCall_jii=u.asm.Kb).apply(null,arguments)},Pe=u.dynCall_viiiiij=function(){return(Pe=u.dynCall_viiiiij=u.asm.Lb).apply(null,arguments)},Ue=u.dynCall_vjji=function(){return(Ue=u.dynCall_vjji=u.asm.Mb).apply(null,arguments)},Fe=u.dynCall_viiijjjii=function(){return(Fe=u.dynCall_viiijjjii=u.asm.Nb).apply(null,arguments)},Ie=u.dynCall_iij=function(){return(Ie=u.dynCall_iij=u.asm.Ob).apply(null,arguments)},We=u.dynCall_ji=function(){return(We=u.dynCall_ji=u.asm.Pb).apply(null,arguments)},He=u.dynCall_iiiiiij=function(){return(He=u.dynCall_iiiiiij=u.asm.Qb).apply(null,arguments)},Le=u.dynCall_iiij=function(){return(Le=u.dynCall_iiij=u.asm.Rb).apply(null,arguments)};function ze(){function t(){if(!ve&&(ve=!0,u.calledRun=!0,!H)&&(O||dt(X),c(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),!O)){if(u.postRun)for(\"function\"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;){var t=u.postRun.shift();Z.unshift(t)}dt(Z)}}if(!(0<et))if(O)c(u),O||dt(X),postMessage({cmd:\"loaded\"});else{if(u.preRun)for(\"function\"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)K();dt(q),0<et||(u.setStatus?(u.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){u.setStatus(\"\")}),1),t()}),1)):t())}}if(u.UTF8ToString=Y,u.stringToUTF8=function(t,e,n){return B(t,r(),e,n)},u.lengthBytesUTF8=G,u.keepRuntimeAlive=Q,u.wasmMemory=j,u.stackSave=Ee,u.stackRestore=Me,u.stackAlloc=Ce,u.ExitStatus=ct,u.PThread=ht,rt=function t(){ve||ze(),ve||(rt=t)},u.preInit)for(\"function\"==typeof u.preInit&&(u.preInit=[u.preInit]);0<u.preInit.length;)u.preInit.pop()();return ze(),t.ready});t.exports=r},932:(t,e,n)=>{var _scriptDir,r=(_scriptDir=(_scriptDir=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(t){var e,r,a;t=t||{},e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){r=t,a=e}));var i,o,u,c,s,l,f=Object.assign({},e),p=\"./this.program\",h=(t,e)=>{throw e},d=\"object\"==typeof window,y=\"function\"==typeof importScripts,b=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node,m=\"\";b?(m=y?n(908).dirname(m)+\"/\":\"//\",l=()=>{s||(c=n(384),s=n(908))},i=function(t,e){return l(),t=s.normalize(t),c.readFileSync(t,e?void 0:\"utf8\")},u=t=>((t=i(t,!0)).buffer||(t=new Uint8Array(t)),t),o=(t,e,n)=>{l(),t=s.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},1<process.argv.length&&(p=process.argv[1].replace(/\\\\\\\\/g,\"/\")),process.argv.slice(2),process.on(\"uncaughtException\",(function(t){if(!(t instanceof J))throw t})),process.on(\"unhandledRejection\",(function(t){throw t})),h=(t,e)=>{if(_||0<L)throw process.exitCode=t,e;e instanceof J||w(\"exiting due to exception: \"+e),process.exit(t)},e.inspect=function(){return\"[Emscripten Module object]\"}):(d||y)&&(y?m=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(m=document.currentScript.src),_scriptDir&&(m=_scriptDir),m=0!==m.indexOf(\"blob:\")?m.substr(0,m.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):\"\",i=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.send(null),e.responseText},y&&(u=t=>{var e=new XMLHttpRequest;return e.open(\"GET\",t,!1),e.responseType=\"arraybuffer\",e.send(null),new Uint8Array(e.response)}),o=(t,e,n)=>{var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"arraybuffer\",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var g,v=e.print||console.log.bind(console),w=e.printErr||console.warn.bind(console);Object.assign(e,f),f=null,e.thisProgram&&(p=e.thisProgram),e.quit&&(h=e.quit),e.wasmBinary&&(g=e.wasmBinary);var _=e.noExitRuntime||!1;\"object\"!=typeof WebAssembly&&V(\"no native wasm support detected\");var O,A,S,T,E,M,C=!1,x=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function R(t,e,n){var r=(e>>>=0)+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&x)return x.decode(t.subarray(e,n));for(r=\"\";e<n;){var a=t[e++];if(128&a){var i=63&t[e++];if(192==(224&a))r+=String.fromCharCode((31&a)<<6|i);else{var o=63&t[e++];65536>(a=224==(240&a)?(15&a)<<12|i<<6|o:(7&a)<<18|i<<12|o<<6|63&t[e++])?r+=String.fromCharCode(a):(a-=65536,r+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else r+=String.fromCharCode(a)}return r}function j(t,e){return(t>>>=0)?R(T,t,e):\"\"}function k(t,e,n,r){if(!(0<r))return 0;var a=n>>>=0;r=n+r-1;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),127>=o){if(n>=r)break;e[n++>>>0]=o}else{if(2047>=o){if(n+1>=r)break;e[n++>>>0]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;e[n++>>>0]=224|o>>12}else{if(n+3>=r)break;e[n++>>>0]=240|o>>18,e[n++>>>0]=128|o>>12&63}e[n++>>>0]=128|o>>6&63}e[n++>>>0]=128|63&o}}return e[n>>>0]=0,n-a}function D(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function P(){var t=O.buffer;A=t,e.HEAP8=S=new Int8Array(t),e.HEAP16=new Int16Array(t),e.HEAP32=E=new Int32Array(t),e.HEAPU8=T=new Uint8Array(t),e.HEAPU16=new Uint16Array(t),e.HEAPU32=M=new Uint32Array(t),e.HEAPF32=new Float32Array(t),e.HEAPF64=new Float64Array(t)}var U,F=[],I=[],W=[],H=[],L=0;function z(){var t=e.preRun.shift();F.unshift(t)}var Y,B=0,G=null,N=null;function V(t){throw e.onAbort&&e.onAbort(t),w(t=\"Aborted(\"+t+\")\"),C=!0,t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\"),a(t),t}function $(){return Y.startsWith(\"data:application/octet-stream;base64,\")}if(Y=\"ort-wasm.wasm\",!$()){var q=Y;Y=e.locateFile?e.locateFile(q,m):m+q}function X(){var t=Y;try{if(t==Y&&g)return new Uint8Array(g);if(u)return u(t);throw\"both async and sync fetching of the wasm failed\"}catch(t){V(t)}}function J(t){this.name=\"ExitStatus\",this.message=\"Program terminated with exit(\"+t+\")\",this.status=t}function Z(t){for(;0<t.length;)t.shift()(e)}var Q=[],K=0,tt=0;function et(t){this.Db=t,this.zb=t-24,this.Ub=function(t){M[this.zb+4>>2>>>0]=t},this.Eb=function(){return M[this.zb+4>>2>>>0]},this.Sb=function(t){M[this.zb+8>>2>>>0]=t},this.Wb=function(){return M[this.zb+8>>2>>>0]},this.Tb=function(){E[this.zb>>2>>>0]=0},this.Ib=function(t){S[this.zb+12>>0>>>0]=t?1:0},this.Pb=function(){return 0!=S[this.zb+12>>0>>>0]},this.Jb=function(t){S[this.zb+13>>0>>>0]=t?1:0},this.Lb=function(){return 0!=S[this.zb+13>>0>>>0]},this.Rb=function(t,e){this.Fb(0),this.Ub(t),this.Sb(e),this.Tb(),this.Ib(!1),this.Jb(!1)},this.Nb=function(){E[this.zb>>2>>>0]+=1},this.Xb=function(){var t=E[this.zb>>2>>>0];return E[this.zb>>2>>>0]=t-1,1===t},this.Fb=function(t){M[this.zb+16>>2>>>0]=t},this.Ob=function(){return M[this.zb+16>>2>>>0]},this.Qb=function(){if(Mt(this.Eb()))return M[this.Db>>2>>>0];var t=this.Ob();return 0!==t?t:this.Db}}function nt(t){return vt(new et(t).zb)}var rt=[];function at(t){var e=rt[t];return e||(t>=rt.length&&(rt.length=t+1),rt[t]=e=U.get(t)),e}function it(t){var e=D(t)+1,n=gt(e);return n&&k(t,S,n,e),n}var ot={};function ut(){if(!ct){var t,e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:p||\"./this.program\"};for(t in ot)void 0===ot[t]?delete e[t]:e[t]=ot[t];var n=[];for(t in e)n.push(t+\"=\"+e[t]);ct=n}return ct}var ct,st=[null,[],[]];function lt(t,e){var n=st[t];0===e||10===e?((1===t?v:w)(R(n,0)),n.length=0):n.push(e)}var ft=0;function pt(t){return 0==t%4&&(0!=t%100||0==t%400)}var ht=[31,29,31,30,31,30,31,31,30,31,30,31],dt=[31,28,31,30,31,30,31,31,30,31,30,31];function yt(t,e,n,r){function a(t,e,n){for(t=\"number\"==typeof t?t.toString():t||\"\";t.length<e;)t=n[0]+t;return t}function i(t,e){return a(t,e,\"0\")}function o(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function u(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function c(t){var e=t.Bb;for(t=new Date(new Date(t.Cb+1900,0,1).getTime());0<e;){var n=t.getMonth(),r=(pt(t.getFullYear())?ht:dt)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),e=u(new Date(t.getFullYear(),0,4)),n=u(n),0>=o(e,t)?0>=o(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var s=E[r+40>>2>>>0];for(var l in r={$b:E[r>>2>>>0],Zb:E[r+4>>2>>>0],Gb:E[r+8>>2>>>0],Kb:E[r+12>>2>>>0],Hb:E[r+16>>2>>>0],Cb:E[r+20>>2>>>0],Ab:E[r+24>>2>>>0],Bb:E[r+28>>2>>>0],bc:E[r+32>>2>>>0],Yb:E[r+36>>2>>>0],ac:s?j(s):\"\"},n=j(n),s={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"})n=n.replace(new RegExp(l,\"g\"),s[l]);var f=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),p=\"January February March April May June July August September October November December\".split(\" \");for(l in s={\"%a\":function(t){return f[t.Ab].substring(0,3)},\"%A\":function(t){return f[t.Ab]},\"%b\":function(t){return p[t.Hb].substring(0,3)},\"%B\":function(t){return p[t.Hb]},\"%C\":function(t){return i((t.Cb+1900)/100|0,2)},\"%d\":function(t){return i(t.Kb,2)},\"%e\":function(t){return a(t.Kb,2,\" \")},\"%g\":function(t){return c(t).toString().substring(2)},\"%G\":function(t){return c(t)},\"%H\":function(t){return i(t.Gb,2)},\"%I\":function(t){return 0==(t=t.Gb)?t=12:12<t&&(t-=12),i(t,2)},\"%j\":function(t){for(var e=0,n=0;n<=t.Hb-1;e+=(pt(t.Cb+1900)?ht:dt)[n++]);return i(t.Kb+e,3)},\"%m\":function(t){return i(t.Hb+1,2)},\"%M\":function(t){return i(t.Zb,2)},\"%n\":function(){return\"\\\\n\"},\"%p\":function(t){return 0<=t.Gb&&12>t.Gb?\"AM\":\"PM\"},\"%S\":function(t){return i(t.$b,2)},\"%t\":function(){return\"\\\\t\"},\"%u\":function(t){return t.Ab||7},\"%U\":function(t){return i(Math.floor((t.Bb+7-t.Ab)/7),2)},\"%V\":function(t){var e=Math.floor((t.Bb+7-(t.Ab+6)%7)/7);if(2>=(t.Ab+371-t.Bb-2)%7&&e++,e)53==e&&(4==(n=(t.Ab+371-t.Bb)%7)||3==n&&pt(t.Cb)||(e=1));else{e=52;var n=(t.Ab+7-t.Bb-1)%7;(4==n||5==n&&pt(t.Cb%400-1))&&e++}return i(e,2)},\"%w\":function(t){return t.Ab},\"%W\":function(t){return i(Math.floor((t.Bb+7-(t.Ab+6)%7)/7),2)},\"%y\":function(t){return(t.Cb+1900).toString().substring(2)},\"%Y\":function(t){return t.Cb+1900},\"%z\":function(t){var e=0<=(t=t.Yb);return t=Math.abs(t)/60,(e?\"+\":\"-\")+String(\"0000\"+(t/60*100+t%60)).slice(-4)},\"%Z\":function(t){return t.ac},\"%%\":function(){return\"%\"}},n=n.replace(/%%/g,\"\\\\0\\\\0\"),s)n.includes(l)&&(n=n.replace(new RegExp(l,\"g\"),s[l](r)));return l=function(t){var e=Array(D(t)+1);return k(t,e,0,e.length),e}(n=n.replace(/\\\\0\\\\0/g,\"%\")),l.length>e?0:(S.set(l,t>>>0),l.length-1)}var bt={a:function(t){return gt(t+24)+24},m:function(t){return(t=new et(t)).Pb()||(t.Ib(!0),K--),t.Jb(!1),Q.push(t),t.Nb(),t.Qb()},ia:function(t){throw w(\"Unexpected exception thrown, this is not properly supported - aborting\"),C=!0,t},w:function(){Ot(0);var t=Q.pop();if(t.Xb()&&!t.Lb()){var e=t.Wb();e&&at(e)(t.Db),nt(t.Db)}tt=0},d:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},k:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},g:function(){var t=tt;if(!t)return ft=0;var e=new et(t);e.Fb(t);var n=e.Eb();if(!n)return ft=0,t;for(var r=Array.prototype.slice.call(arguments),a=0;a<r.length;a++){var i=r[a];if(0===i||i===n)break;if(Et(i,n,e.zb+16))return ft=i,t}return ft=n,t},s:nt,L:function(){var t=Q.pop();t||V(\"no exception to throw\");var e=t.Db;throw t.Lb()||(Q.push(t),t.Jb(!0),t.Ib(!1),K++),tt=e,e},b:function(t,e,n){throw new et(t).Rb(e,n),tt=t,K++,t},la:function(){return K},i:function(t){throw tt||(tt=t),t},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},Ha:function(){},Ja:function(){V(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},Ia:function(){V(\"To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking\")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(t,e){t=new Date(1e3*(M[t>>>2]+4294967296*E[t+4>>>2])),E[e>>2>>>0]=t.getUTCSeconds(),E[e+4>>2>>>0]=t.getUTCMinutes(),E[e+8>>2>>>0]=t.getUTCHours(),E[e+12>>2>>>0]=t.getUTCDate(),E[e+16>>2>>>0]=t.getUTCMonth(),E[e+20>>2>>>0]=t.getUTCFullYear()-1900,E[e+24>>2>>>0]=t.getUTCDay(),E[e+28>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},Ea:function(t,e){t=new Date(1e3*(M[t>>>2]+4294967296*E[t+4>>>2])),E[e>>2>>>0]=t.getSeconds(),E[e+4>>2>>>0]=t.getMinutes(),E[e+8>>2>>>0]=t.getHours(),E[e+12>>2>>>0]=t.getDate(),E[e+16>>2>>>0]=t.getMonth(),E[e+20>>2>>>0]=t.getFullYear()-1900,E[e+24>>2>>>0]=t.getDay();var n=new Date(t.getFullYear(),0,1);E[e+28>>2>>>0]=(t.getTime()-n.getTime())/864e5|0,E[e+36>>2>>>0]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),E[e+32>>2>>>0]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r))},Fa:function(t){var e=new Date(E[t+20>>2>>>0]+1900,E[t+16>>2>>>0],E[t+12>>2>>>0],E[t+8>>2>>>0],E[t+4>>2>>>0],E[t>>2>>>0],0),n=E[t+32>>2>>>0],r=e.getTimezoneOffset(),a=new Date(e.getFullYear(),0,1),i=new Date(e.getFullYear(),6,1).getTimezoneOffset(),o=a.getTimezoneOffset(),u=Math.min(o,i);return 0>n?E[t+32>>2>>>0]=Number(i!=o&&u==r):0<n!=(u==r)&&(i=Math.max(o,i),e.setTime(e.getTime()+6e4*((0<n?u:i)-r))),E[t+24>>2>>>0]=e.getDay(),E[t+28>>2>>>0]=(e.getTime()-a.getTime())/864e5|0,E[t>>2>>>0]=e.getSeconds(),E[t+4>>2>>>0]=e.getMinutes(),E[t+8>>2>>>0]=e.getHours(),E[t+12>>2>>>0]=e.getDate(),E[t+16>>2>>>0]=e.getMonth(),e.getTime()/1e3|0},sa:function(){return-52},ta:function(){},Ga:function t(e,n,r){t.Vb||(t.Vb=!0,function(t,e,n){function r(t){return(t=t.toTimeString().match(/\\\\(([A-Za-z ]+)\\\\)$/))?t[1]:\"GMT\"}var a=(new Date).getFullYear(),i=new Date(a,0,1),o=new Date(a,6,1);a=i.getTimezoneOffset();var u=o.getTimezoneOffset();E[t>>2>>>0]=60*Math.max(a,u),E[e>>2>>>0]=Number(a!=u),t=r(i),e=r(o),t=it(t),e=it(e),u<a?(M[n>>2>>>0]=t,M[n+4>>2>>>0]=e):(M[n>>2>>>0]=e,M[n+4>>2>>>0]=t)}(e,n,r))},B:function(){V(\"\")},ma:function(){return 4294901760},I:b?()=>{var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now(),xa:function(t,e,n){T.copyWithin(t>>>0,e>>>0,e+n>>>0)},G:function(t){var e=T.length;if(4294901760<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var a=Math;r=Math.max(t,r),a=a.min.call(a,4294901760,r+(65536-r%65536)%65536);t:{try{O.grow(a-A.byteLength+65535>>>16),P();var i=1;break t}catch(t){}i=void 0}if(i)return!0}return!1},va:function(t,e){var n=0;return ut().forEach((function(r,a){var i=e+n;for(a=M[t+4*a>>2>>>0]=i,i=0;i<r.length;++i)S[a++>>0>>>0]=r.charCodeAt(i);S[a>>0>>>0]=0,n+=r.length+1})),0},wa:function(t,e){var n=ut();M[t>>2>>>0]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),M[e>>2>>>0]=r,0},ba:function(t){_||0<L||(_t(),Z(W),wt(0),st[1].length&<(1,10),st[2].length&<(2,10)),_||0<L||(e.onExit&&e.onExit(t),C=!0),h(t,new J(t))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(t,e,n,r){for(var a=0,i=0;i<n;i++){var o=M[e>>2>>>0],u=M[e+4>>2>>>0];e+=8;for(var c=0;c<u;c++)lt(t,T[o+c>>>0]);a+=u}return M[r>>2>>>0]=a,0},c:function(){return ft},ja:function t(e,r){t.Mb||(t.Mb=function(){if(\"object\"==typeof crypto&&\"function\"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return()=>(crypto.getRandomValues(t),t[0])}if(b)try{var e=n(Object(function(){var t=new Error(\"Cannot find module \\'crypto\\'\");throw t.code=\"MODULE_NOT_FOUND\",t}()));return()=>e.randomBytes(1)[0]}catch(t){}return()=>V(\"randomDevice\")}());for(var a=0;a<r;a++)S[e+a>>0>>>0]=t.Mb();return 0},ea:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},fa:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},J:function(t){var e=At();try{return at(t)()}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},e:function(t,e){var n=At();try{return at(t)(e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},N:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},O:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},j:function(t,e,n){var r=At();try{return at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},o:function(t,e,n,r){var a=At();try{return at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},p:function(t,e,n,r,a){var i=At();try{return at(t)(e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},M:function(t,e,n,r,a,i){var o=At();try{return at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},r:function(t,e,n,r,a,i){var o=At();try{return at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},v:function(t,e,n,r,a,i,o){var u=At();try{return at(t)(e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},K:function(t,e,n,r,a,i,o,u){var c=At();try{return at(t)(e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},D:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=At();try{return at(t)(e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(St(p),t!==t+0)throw t;Ot(1,0)}},X:function(t,e,n,r,a,i,o,u){var c=At();try{return Ft(t,e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},V:function(t,e,n,r,a,i,o){var u=At();try{return xt(t,e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},U:function(t,e,n,r,a){var i=At();try{return It(t,e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},Z:function(t,e,n,r){var a=At();try{return Pt(t,e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},W:function(t){var e=At();try{return Ct(t)}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},Y:function(t,e){var n=At();try{return Ut(t,e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},T:function(t,e,n){var r=At();try{return Rt(t,e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},f:function(t){var e=At();try{at(t)()}catch(t){if(St(e),t!==t+0)throw t;Ot(1,0)}},q:function(t,e){var n=At();try{at(t)(e)}catch(t){if(St(n),t!==t+0)throw t;Ot(1,0)}},h:function(t,e,n){var r=At();try{at(t)(e,n)}catch(t){if(St(r),t!==t+0)throw t;Ot(1,0)}},da:function(t,e,n,r){var a=At();try{at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},l:function(t,e,n,r){var a=At();try{at(t)(e,n,r)}catch(t){if(St(a),t!==t+0)throw t;Ot(1,0)}},t:function(t,e,n,r,a){var i=At();try{at(t)(e,n,r,a)}catch(t){if(St(i),t!==t+0)throw t;Ot(1,0)}},u:function(t,e,n,r,a,i){var o=At();try{at(t)(e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},x:function(t,e,n,r,a,i,o){var u=At();try{at(t)(e,n,r,a,i,o)}catch(t){if(St(u),t!==t+0)throw t;Ot(1,0)}},z:function(t,e,n,r,a,i,o,u){var c=At();try{at(t)(e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},ga:function(t,e,n,r,a,i,o,u,c){var s=At();try{at(t)(e,n,r,a,i,o,u,c)}catch(t){if(St(s),t!==t+0)throw t;Ot(1,0)}},A:function(t,e,n,r,a,i,o,u,c,s,l){var f=At();try{at(t)(e,n,r,a,i,o,u,c,s,l)}catch(t){if(St(f),t!==t+0)throw t;Ot(1,0)}},C:function(t,e,n,r,a,i,o,u,c,s,l,f,p,h,d,y){var b=At();try{at(t)(e,n,r,a,i,o,u,c,s,l,f,p,h,d,y)}catch(t){if(St(b),t!==t+0)throw t;Ot(1,0)}},aa:function(t,e,n,r,a,i,o,u){var c=At();try{jt(t,e,n,r,a,i,o,u)}catch(t){if(St(c),t!==t+0)throw t;Ot(1,0)}},_:function(t,e,n,r,a,i,o,u,c,s,l,f){var p=At();try{Dt(t,e,n,r,a,i,o,u,c,s,l,f)}catch(t){if(St(p),t!==t+0)throw t;Ot(1,0)}},$:function(t,e,n,r,a,i){var o=At();try{kt(t,e,n,r,a,i)}catch(t){if(St(o),t!==t+0)throw t;Ot(1,0)}},n:function(t){return t},F:function(t){ft=t},ha:yt,y:function(t,e,n,r){return yt(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,O=e.asm.Ka,P(),U=e.asm.ib,I.unshift(e.asm.La),B--,e.monitorRunDependencies&&e.monitorRunDependencies(B),0==B&&(null!==G&&(clearInterval(G),G=null),N&&(t=N,N=null,t()))}function n(e){t(e.instance)}function r(t){return function(){if(!g&&(d||y)){if(\"function\"==typeof fetch&&!Y.startsWith(\"file://\"))return fetch(Y,{credentials:\"same-origin\"}).then((function(t){if(!t.ok)throw\"failed to load wasm binary file at \\'\"+Y+\"\\'\";return t.arrayBuffer()})).catch((function(){return X()}));if(o)return new Promise((function(t,e){o(Y,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return X()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){w(\"failed to asynchronously prepare wasm: \"+t),V(t)}))}var i={a:bt};if(B++,e.monitorRunDependencies&&e.monitorRunDependencies(B),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){return w(\"Module.instantiateWasm callback failed with error: \"+t),!1}(g||\"function\"!=typeof WebAssembly.instantiateStreaming||$()||Y.startsWith(\"file://\")||b||\"function\"!=typeof fetch?r(n):fetch(Y,{credentials:\"same-origin\"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return w(\"wasm streaming compile failed: \"+t),w(\"falling back to ArrayBuffer instantiation\"),r(n)}))}))).catch(a)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.La).apply(null,arguments)},e._OrtInit=function(){return(e._OrtInit=e.asm.Ma).apply(null,arguments)},e._OrtCreateSessionOptions=function(){return(e._OrtCreateSessionOptions=e.asm.Na).apply(null,arguments)},e._OrtAppendExecutionProvider=function(){return(e._OrtAppendExecutionProvider=e.asm.Oa).apply(null,arguments)},e._OrtAddSessionConfigEntry=function(){return(e._OrtAddSessionConfigEntry=e.asm.Pa).apply(null,arguments)},e._OrtReleaseSessionOptions=function(){return(e._OrtReleaseSessionOptions=e.asm.Qa).apply(null,arguments)},e._OrtCreateSession=function(){return(e._OrtCreateSession=e.asm.Ra).apply(null,arguments)},e._OrtReleaseSession=function(){return(e._OrtReleaseSession=e.asm.Sa).apply(null,arguments)},e._OrtGetInputCount=function(){return(e._OrtGetInputCount=e.asm.Ta).apply(null,arguments)},e._OrtGetOutputCount=function(){return(e._OrtGetOutputCount=e.asm.Ua).apply(null,arguments)},e._OrtGetInputName=function(){return(e._OrtGetInputName=e.asm.Va).apply(null,arguments)},e._OrtGetOutputName=function(){return(e._OrtGetOutputName=e.asm.Wa).apply(null,arguments)},e._OrtFree=function(){return(e._OrtFree=e.asm.Xa).apply(null,arguments)},e._OrtCreateTensor=function(){return(e._OrtCreateTensor=e.asm.Ya).apply(null,arguments)},e._OrtGetTensorData=function(){return(e._OrtGetTensorData=e.asm.Za).apply(null,arguments)},e._OrtReleaseTensor=function(){return(e._OrtReleaseTensor=e.asm._a).apply(null,arguments)},e._OrtCreateRunOptions=function(){return(e._OrtCreateRunOptions=e.asm.$a).apply(null,arguments)},e._OrtAddRunConfigEntry=function(){return(e._OrtAddRunConfigEntry=e.asm.ab).apply(null,arguments)},e._OrtReleaseRunOptions=function(){return(e._OrtReleaseRunOptions=e.asm.bb).apply(null,arguments)},e._OrtRun=function(){return(e._OrtRun=e.asm.cb).apply(null,arguments)},e._OrtEndProfiling=function(){return(e._OrtEndProfiling=e.asm.db).apply(null,arguments)};var mt,gt=e._malloc=function(){return(gt=e._malloc=e.asm.eb).apply(null,arguments)},vt=e._free=function(){return(vt=e._free=e.asm.fb).apply(null,arguments)},wt=e._fflush=function(){return(wt=e._fflush=e.asm.gb).apply(null,arguments)},_t=e.___funcs_on_exit=function(){return(_t=e.___funcs_on_exit=e.asm.hb).apply(null,arguments)},Ot=e._setThrew=function(){return(Ot=e._setThrew=e.asm.jb).apply(null,arguments)},At=e.stackSave=function(){return(At=e.stackSave=e.asm.kb).apply(null,arguments)},St=e.stackRestore=function(){return(St=e.stackRestore=e.asm.lb).apply(null,arguments)},Tt=e.stackAlloc=function(){return(Tt=e.stackAlloc=e.asm.mb).apply(null,arguments)},Et=e.___cxa_can_catch=function(){return(Et=e.___cxa_can_catch=e.asm.nb).apply(null,arguments)},Mt=e.___cxa_is_pointer_type=function(){return(Mt=e.___cxa_is_pointer_type=e.asm.ob).apply(null,arguments)},Ct=e.dynCall_j=function(){return(Ct=e.dynCall_j=e.asm.pb).apply(null,arguments)},xt=e.dynCall_iiiiij=function(){return(xt=e.dynCall_iiiiij=e.asm.qb).apply(null,arguments)},Rt=e.dynCall_jii=function(){return(Rt=e.dynCall_jii=e.asm.rb).apply(null,arguments)},jt=e.dynCall_viiiiij=function(){return(jt=e.dynCall_viiiiij=e.asm.sb).apply(null,arguments)},kt=e.dynCall_vjji=function(){return(kt=e.dynCall_vjji=e.asm.tb).apply(null,arguments)},Dt=e.dynCall_viiijjjii=function(){return(Dt=e.dynCall_viiijjjii=e.asm.ub).apply(null,arguments)},Pt=e.dynCall_iij=function(){return(Pt=e.dynCall_iij=e.asm.vb).apply(null,arguments)},Ut=e.dynCall_ji=function(){return(Ut=e.dynCall_ji=e.asm.wb).apply(null,arguments)},Ft=e.dynCall_iiiiiij=function(){return(Ft=e.dynCall_iiiiiij=e.asm.xb).apply(null,arguments)},It=e.dynCall_iiij=function(){return(It=e.dynCall_iiij=e.asm.yb).apply(null,arguments)};function Wt(){function t(){if(!mt&&(mt=!0,e.calledRun=!0,!C)){if(Z(I),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for(\"function\"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();H.unshift(t)}Z(H)}}if(!(0<B)){if(e.preRun)for(\"function\"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)z();Z(F),0<B||(e.setStatus?(e.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){e.setStatus(\"\")}),1),t()}),1)):t())}}if(e.UTF8ToString=j,e.stringToUTF8=function(t,e,n){return k(t,T,e,n)},e.lengthBytesUTF8=D,e.stackSave=At,e.stackRestore=St,e.stackAlloc=Tt,N=function t(){mt||Wt(),mt||(N=t)},e.preInit)for(\"function\"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return Wt(),t.ready});t.exports=r},967:(t,e)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.iterateExtraOptions=void 0,e.iterateExtraOptions=(t,n,r,a)=>{if(\"object\"==typeof t&&null!==t){if(r.has(t))throw new Error(\"Circular reference in options\");r.add(t)}Object.entries(t).forEach((([t,i])=>{const o=n?n+t:t;if(\"object\"==typeof i)(0,e.iterateExtraOptions)(i,o+\".\",r,a);else if(\"string\"==typeof i||\"number\"==typeof i)a(o,i.toString());else{if(\"boolean\"!=typeof i)throw new Error(\"Can\\'t handle extra config type: \"+typeof i);a(o,i?\"1\":\"0\")}}))}},586:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setRunOptions=void 0;const r=n(967),a=n(983),i=n(361);e.setRunOptions=t=>{const e=(0,i.getInstance)();let n=0;const o=[],u=t||{};try{if(void 0===(null==t?void 0:t.logSeverityLevel))u.logSeverityLevel=2;else if(\"number\"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))u.logVerbosityLevel=0;else if(\"number\"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);void 0===(null==t?void 0:t.terminate)&&(u.terminate=!1);let i=0;if(void 0!==(null==t?void 0:t.tag)&&(i=(0,a.allocWasmString)(t.tag,o)),n=e._OrtCreateRunOptions(u.logSeverityLevel,u.logVerbosityLevel,!!u.terminate,i),0===n)throw new Error(\"Can\\'t create run options\");return void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,\"\",new WeakSet,((t,r)=>{const i=(0,a.allocWasmString)(t,o),u=(0,a.allocWasmString)(r,o);if(0!==e._OrtAddRunConfigEntry(n,i,u))throw new Error(`Can\\'t set a run config entry: ${t} - ${r}`)})),[n,o]}catch(t){throw 0!==n&&e._OrtReleaseRunOptions(n),o.forEach(e._free),t}}},919:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.setSessionOptions=void 0;const r=n(967),a=n(983),i=n(361);e.setSessionOptions=t=>{const e=(0,i.getInstance)();let n=0;const o=[],u=t||{};(t=>{t.extra||(t.extra={}),t.extra.session||(t.extra.session={});const e=t.extra.session;e.use_ort_model_bytes_directly||(e.use_ort_model_bytes_directly=\"1\")})(u);try{void 0===(null==t?void 0:t.graphOptimizationLevel)&&(u.graphOptimizationLevel=\"all\");const c=(t=>{switch(t){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${t}`)}})(u.graphOptimizationLevel);void 0===(null==t?void 0:t.enableCpuMemArena)&&(u.enableCpuMemArena=!0),void 0===(null==t?void 0:t.enableMemPattern)&&(u.enableMemPattern=!0),void 0===(null==t?void 0:t.executionMode)&&(u.executionMode=\"sequential\");const s=(t=>{switch(t){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${t}`)}})(u.executionMode);let l=0;if(void 0!==(null==t?void 0:t.logId)&&(l=(0,a.allocWasmString)(t.logId,o)),void 0===(null==t?void 0:t.logSeverityLevel))u.logSeverityLevel=2;else if(\"number\"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===(null==t?void 0:t.logVerbosityLevel))u.logVerbosityLevel=0;else if(\"number\"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);if(void 0===(null==t?void 0:t.enableProfiling)&&(u.enableProfiling=!1),n=e._OrtCreateSessionOptions(c,!!u.enableCpuMemArena,!!u.enableMemPattern,s,!!u.enableProfiling,0,l,u.logSeverityLevel,u.logVerbosityLevel),0===n)throw new Error(\"Can\\'t create session options\");return(null==t?void 0:t.executionProviders)&&((t,e,n)=>{for(const r of e){let e=\"string\"==typeof r?r:r.name;switch(e){case\"xnnpack\":e=\"XNNPACK\";break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported EP: ${e}`)}const o=(0,a.allocWasmString)(e,n);if(0!==(0,i.getInstance)()._OrtAppendExecutionProvider(t,o))throw new Error(`Can\\'t append execution provider: ${e}`)}})(n,t.executionProviders,o),void 0!==(null==t?void 0:t.extra)&&(0,r.iterateExtraOptions)(t.extra,\"\",new WeakSet,((t,r)=>{const i=(0,a.allocWasmString)(t,o),u=(0,a.allocWasmString)(r,o);if(0!==e._OrtAddSessionConfigEntry(n,i,u))throw new Error(`Can\\'t set a session config entry: ${t} - ${r}`)})),[n,o]}catch(t){throw 0!==n&&e._OrtReleaseSessionOptions(n),o.forEach(e._free),t}}},983:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.allocWasmString=void 0;const r=n(361);e.allocWasmString=(t,e)=>{const n=(0,r.getInstance)(),a=n.lengthBytesUTF8(t)+1,i=n._malloc(a);return n.stringToUTF8(t,i,a),e.push(i),i}},349:(t,e,n)=>{\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.extractTransferableBuffers=e.endProfiling=e.run=e.releaseSession=e.createSession=e.createSessionFinalize=e.createSessionAllocate=e.initOrt=void 0;const r=n(586),a=n(919),i=n(983),o=n(361);e.initOrt=(t,e)=>{const n=(0,o.getInstance)()._OrtInit(t,e);if(0!==n)throw new Error(`Can\\'t initialize onnxruntime. error code = ${n}`)};const u=new Map;e.createSessionAllocate=t=>{const e=(0,o.getInstance)(),n=e._malloc(t.byteLength);return e.HEAPU8.set(t,n),[n,t.byteLength]},e.createSessionFinalize=(t,e)=>{const n=(0,o.getInstance)();let r=0,i=0,c=[];try{if([i,c]=(0,a.setSessionOptions)(e),r=n._OrtCreateSession(t[0],t[1],i),0===r)throw new Error(\"Can\\'t create a session\")}finally{n._free(t[0]),n._OrtReleaseSessionOptions(i),c.forEach(n._free)}const s=n._OrtGetInputCount(r),l=n._OrtGetOutputCount(r),f=[],p=[],h=[],d=[];for(let t=0;t<s;t++){const e=n._OrtGetInputName(r,t);if(0===e)throw new Error(\"Can\\'t get an input name\");p.push(e),f.push(n.UTF8ToString(e))}for(let t=0;t<l;t++){const e=n._OrtGetOutputName(r,t);if(0===e)throw new Error(\"Can\\'t get an output name\");d.push(e),h.push(n.UTF8ToString(e))}return u.set(r,[r,p,d]),[r,f,h]},e.createSession=(t,n)=>{const r=(0,e.createSessionAllocate)(t);return(0,e.createSessionFinalize)(r,n)},e.releaseSession=t=>{const e=(0,o.getInstance)(),n=u.get(t);if(!n)throw new Error(\"invalid session id\");const r=n[0],a=n[1],i=n[2];a.forEach(e._OrtFree),i.forEach(e._OrtFree),e._OrtReleaseSession(r),u.delete(t)};const c=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\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;default:throw new Error(`unsupported data type: ${t}`)}},s=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 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";default:throw new Error(`unsupported data type: ${t}`)}},l=t=>{switch(t){case\"float32\":return Float32Array;case\"uint8\":case\"bool\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${t}`)}};e.run=(t,e,n,a,f)=>{const p=(0,o.getInstance)(),h=u.get(t);if(!h)throw new Error(\"invalid session id\");const d=h[0],y=h[1],b=h[2],m=e.length,g=a.length;let v=0,w=[];const _=[],O=[];try{[v,w]=(0,r.setRunOptions)(f);for(let t=0;t<m;t++){const e=n[t][0],r=n[t][1],a=n[t][2];let o,u;if(Array.isArray(a)){u=4*a.length,o=p._malloc(u),O.push(o);let t=o/4;for(let e=0;e<a.length;e++){if(\"string\"!=typeof a[e])throw new TypeError(`tensor data at index ${e} is not a string`);p.HEAPU32[t++]=(0,i.allocWasmString)(a[e],O)}}else u=a.byteLength,o=p._malloc(u),O.push(o),p.HEAPU8.set(new Uint8Array(a.buffer,a.byteOffset,u),o);const s=p.stackSave(),l=p.stackAlloc(4*r.length);try{let t=l/4;r.forEach((e=>p.HEAP32[t++]=e));const n=p._OrtCreateTensor(c(e),o,u,l,r.length);if(0===n)throw new Error(\"Can\\'t create a tensor\");_.push(n)}finally{p.stackRestore(s)}}const t=p.stackSave(),o=p.stackAlloc(4*m),u=p.stackAlloc(4*m),h=p.stackAlloc(4*g),A=p.stackAlloc(4*g);try{let n=o/4,r=u/4,i=h/4,c=A/4;for(let t=0;t<m;t++)p.HEAPU32[n++]=_[t],p.HEAPU32[r++]=y[e[t]];for(let t=0;t<g;t++)p.HEAPU32[i++]=0,p.HEAPU32[c++]=b[a[t]];let f=p._OrtRun(d,u,o,m,A,g,h,v);const w=[];if(0===f)for(let t=0;t<g;t++){const e=p.HEAPU32[h/4+t],n=p.stackSave(),r=p.stackAlloc(16);let a,i=0;try{if(f=p._OrtGetTensorData(e,r,r+4,r+8,r+12),0!==f)throw new Error(`Can\\'t access output tensor data. error code = ${f}`);let t=r/4;const o=p.HEAPU32[t++];i=p.HEAPU32[t++];const u=p.HEAPU32[t++],c=p.HEAPU32[t++],h=[];for(let t=0;t<c;t++)h.push(p.HEAPU32[u/4+t]);p._OrtFree(u);const d=0===h.length?1:h.reduce(((t,e)=>t*e));if(a=s(o),\"string\"===a){const t=[];let e=i/4;for(let n=0;n<d;n++){const r=p.HEAPU32[e++],a=n===d-1?void 0:p.HEAPU32[e]-r;t.push(p.UTF8ToString(r,a))}w.push([a,h,t])}else{const t=new(l(a))(d);new Uint8Array(t.buffer,t.byteOffset,t.byteLength).set(p.HEAPU8.subarray(i,i+t.byteLength)),w.push([a,h,t])}}finally{p.stackRestore(n),\"string\"===a&&i&&p._free(i),p._OrtReleaseTensor(e)}}if(0===f)return w;throw new Error(`failed to call OrtRun(). error code = ${f}.`)}finally{p.stackRestore(t)}}finally{_.forEach(p._OrtReleaseTensor),O.forEach(p._free),p._OrtReleaseRunOptions(v),w.forEach(p._free)}},e.endProfiling=t=>{const e=(0,o.getInstance)(),n=u.get(t);if(!n)throw new Error(\"invalid session id\");const r=n[0],a=e._OrtEndProfiling(r);if(0===a)throw new Error(\"Can\\'t get an profile file name\");e._OrtFree(a)},e.extractTransferableBuffers=t=>{const e=[];for(const n of t){const t=n[2];!Array.isArray(t)&&t.buffer&&e.push(t.buffer)}return e}},361:function(t,e,n){\"use strict\";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var a=Object.getOwnPropertyDescriptor(e,n);a&&!(\"get\"in a?!e.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,a)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return a(e,t),e},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,\"__esModule\",{value:!0}),e.dispose=e.getInstance=e.initializeWebAssembly=void 0;const u=i(n(449)),c=o(n(932)),s=n(474);let l,f=!1,p=!1,h=!1;const d=(t,e)=>e?t?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-threaded.wasm\":t?\"ort-wasm-simd.wasm\":\"ort-wasm.wasm\";e.initializeWebAssembly=async t=>{if(f)return Promise.resolve();if(p)throw new Error(\"multiple calls to \\'initializeWebAssembly()\\' detected.\");if(h)throw new Error(\"previous call to \\'initializeWebAssembly()\\' failed.\");p=!0;const e=t.initTimeout,r=t.numThreads,a=t.simd,i=r>1&&(()=>{try{return\"undefined\"!=typeof SharedArrayBuffer&&(\"undefined\"!=typeof MessageChannel&&(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(t){return!1}})(),o=a&&(()=>{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(t){return!1}})(),y=\"string\"==typeof t.wasmPaths?t.wasmPaths:void 0,b=d(!1,i),m=d(o,i),g=\"object\"==typeof t.wasmPaths?t.wasmPaths[m]:void 0;let v=!1;const w=[];if(e>0&&w.push(new Promise((t=>{setTimeout((()=>{v=!0,t()}),e)}))),w.push(new Promise(((t,e)=>{const r=i?s:c.default,a={locateFile:(t,e)=>i&&t.endsWith(\".worker.js\")&&\"undefined\"!=typeof Blob?URL.createObjectURL(new Blob([n(154)],{type:\"text/javascript\"})):t===b?null!=g?g:(null!=y?y:e)+m:e+t};if(i)if(\"undefined\"==typeof Blob)a.mainScriptUrlOrBlob=u.join(\"/\",\"ort-wasm-threaded.js\");else{const t=`var ortWasmThreaded=(function(){var _scriptDir;return ${r.toString()}})();`;a.mainScriptUrlOrBlob=new Blob([t],{type:\"text/javascript\"})}r(a).then((e=>{p=!1,f=!0,l=e,t()}),(t=>{p=!1,h=!0,e(t)}))}))),await Promise.race(w),v)throw new Error(`WebAssembly backend initializing failed due to timeout: ${e}ms`)},e.getInstance=()=>{if(f&&l)return l;throw new Error(\"WebAssembly is not initialized yet.\")},e.dispose=()=>{var t;!f||p||h||(p=!0,null===(t=l.PThread)||void 0===t||t.terminateAllThreads(),l=void 0,p=!1,f=!1,h=!0)}},154:t=>{\"use strict\";t.exports=\\'\"use strict\";var e={},t=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node;if(t){var r=require(\"worker_threads\"),a=r.parentPort;a.on(\"message\",(e=>onmessage({data:e})));var o=require(\"fs\");Object.assign(global,{self:global,require:require,Module:e,location:{href:__filename},Worker:r.Worker,importScripts:function(e){(0,eval)(o.readFileSync(e,\"utf8\"))},postMessage:function(e){a.postMessage(e)},performance:global.performance||{now:function(){return Date.now()}}})}var s=!1,n=[],i=function(){var e=Array.prototype.slice.call(arguments).join(\" \");t?o.writeSync(2,e+\"\\\\\\\\n\"):console.error(e)};self.alert=function(){var t=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:t,threadId:e._pthread_self()})},e.instantiateWasm=(t,r)=>{var a=new WebAssembly.Instance(e.wasmModule,t);return r(a),e.wasmModule=null,a.exports},self.onunhandledrejection=e=>{throw e.reason??e},self.onmessage=t=>{try{if(\"load\"===t.data.cmd){if(e.wasmModule=t.data.wasmModule,e.wasmMemory=t.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,\"string\"==typeof t.data.urlOrBlob)importScripts(t.data.urlOrBlob);else{var r=URL.createObjectURL(t.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}ortWasmThreaded(e).then((function(t){e=t}))}else if(\"run\"===t.data.cmd){e.__performance_now_clock_drift=performance.now()-t.data.time,e.__emscripten_thread_init(t.data.pthread_ptr,0,0,1),e.establishStackSpace(),e.PThread.receiveObjectTransfer(t.data),e.PThread.threadInitTLS(),s||(n.forEach((t=>{e.executeNotifiedProxyingQueue(t)})),n=[],s=!0);try{e.invokeEntryPoint(t.data.start_routine,t.data.arg)}catch(t){if(\"unwind\"!=t){if(!(t instanceof e.ExitStatus))throw t;e.keepRuntimeAlive()||e.__emscripten_thread_exit(t.status)}}}else\"cancel\"===t.data.cmd?e._pthread_self()&&e.__emscripten_thread_exit(-1):\"setimmediate\"===t.data.target||(\"processProxyingQueue\"===t.data.cmd?s?e.executeNotifiedProxyingQueue(t.data.queue):n.push(t.data.queue):(i(\"worker.js received unknown command \"+t.data.cmd),i(t.data)))}catch(t){throw i(\"worker.js onmessage() captured an uncaught exception: \"+t),t&&t.stack&&i(t.stack),e.__emscripten_thread_crashed&&e.__emscripten_thread_crashed(),t}};\\\\n\\'},384:()=>{},993:()=>{},908:()=>{},953:()=>{},925:()=>{},449:()=>{}},e={};function n(r){var a=e[r];if(void 0!==a)return a.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),(()=>{\"use strict\";const t=n(349),e=n(361);self.onmessage=n=>{switch(n.data.type){case\"init-wasm\":(0,e.initializeWebAssembly)(n.data.in).then((()=>postMessage({type:\"init-wasm\"})),(t=>postMessage({type:\"init-wasm\",err:t})));break;case\"init-ort\":try{const{numThreads:e,loggingLevel:r}=n.data.in;(0,t.initOrt)(e,r),postMessage({type:\"init-ort\"})}catch(t){postMessage({type:\"init-ort\",err:t})}break;case\"create_allocate\":try{const{model:e}=n.data.in,r=(0,t.createSessionAllocate)(e);postMessage({type:\"create_allocate\",out:r})}catch(t){postMessage({type:\"create_allocate\",err:t})}break;case\"create_finalize\":try{const{modeldata:e,options:r}=n.data.in,a=(0,t.createSessionFinalize)(e,r);postMessage({type:\"create_finalize\",out:a})}catch(t){postMessage({type:\"create_finalize\",err:t})}break;case\"create\":try{const{model:e,options:r}=n.data.in,a=(0,t.createSession)(e,r);postMessage({type:\"create\",out:a})}catch(t){postMessage({type:\"create\",err:t})}break;case\"release\":try{const e=n.data.in;(0,t.releaseSession)(e),postMessage({type:\"release\"})}catch(t){postMessage({type:\"release\",err:t})}break;case\"run\":try{const{sessionId:e,inputIndices:r,inputs:a,outputIndices:i,options:o}=n.data.in,u=(0,t.run)(e,r,a,i,o);postMessage({type:\"run\",out:u},(0,t.extractTransferableBuffers)(u))}catch(t){postMessage({type:\"run\",err:t})}break;case\"end-profiling\":try{const e=n.data.in;(0,t.endProfiling)(e),postMessage({type:\"end-profiling\"})}catch(t){postMessage({type:\"end-profiling\",err:t})}}}})()})();\\n',\"Worker\",void 0,void 0)}},477:t=>{\"use strict\";t.exports=function(t,e,n,r){var i=self||window;try{try{var o;try{o=new i.Blob([t])}catch(e){(o=new(i.BlobBuilder||i.WebKitBlobBuilder||i.MozBlobBuilder||i.MSBlobBuilder)).append(t),o=o.getBlob()}var a=i.URL||i.webkitURL,s=a.createObjectURL(o),u=new i[e](s,n);return a.revokeObjectURL(s),u}catch(r){return new i[e](\"data:application/javascript,\".concat(encodeURIComponent(t)),n)}}catch(t){if(!r)throw Error(\"Inline worker is not supported\");return new i[e](r,n)}}},4154:t=>{\"use strict\";t.exports='\"use strict\";var e={},t=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node;if(t){var r=require(\"worker_threads\"),a=r.parentPort;a.on(\"message\",(e=>onmessage({data:e})));var o=require(\"fs\");Object.assign(global,{self:global,require:require,Module:e,location:{href:__filename},Worker:r.Worker,importScripts:function(e){(0,eval)(o.readFileSync(e,\"utf8\"))},postMessage:function(e){a.postMessage(e)},performance:global.performance||{now:function(){return Date.now()}}})}var s=!1,n=[],i=function(){var e=Array.prototype.slice.call(arguments).join(\" \");t?o.writeSync(2,e+\"\\\\n\"):console.error(e)};self.alert=function(){var t=Array.prototype.slice.call(arguments).join(\" \");postMessage({cmd:\"alert\",text:t,threadId:e._pthread_self()})},e.instantiateWasm=(t,r)=>{var a=new WebAssembly.Instance(e.wasmModule,t);return r(a),e.wasmModule=null,a.exports},self.onunhandledrejection=e=>{throw e.reason??e},self.onmessage=t=>{try{if(\"load\"===t.data.cmd){if(e.wasmModule=t.data.wasmModule,e.wasmMemory=t.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,\"string\"==typeof t.data.urlOrBlob)importScripts(t.data.urlOrBlob);else{var r=URL.createObjectURL(t.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}ortWasmThreaded(e).then((function(t){e=t}))}else if(\"run\"===t.data.cmd){e.__performance_now_clock_drift=performance.now()-t.data.time,e.__emscripten_thread_init(t.data.pthread_ptr,0,0,1),e.establishStackSpace(),e.PThread.receiveObjectTransfer(t.data),e.PThread.threadInitTLS(),s||(n.forEach((t=>{e.executeNotifiedProxyingQueue(t)})),n=[],s=!0);try{e.invokeEntryPoint(t.data.start_routine,t.data.arg)}catch(t){if(\"unwind\"!=t){if(!(t instanceof e.ExitStatus))throw t;e.keepRuntimeAlive()||e.__emscripten_thread_exit(t.status)}}}else\"cancel\"===t.data.cmd?e._pthread_self()&&e.__emscripten_thread_exit(-1):\"setimmediate\"===t.data.target||(\"processProxyingQueue\"===t.data.cmd?s?e.executeNotifiedProxyingQueue(t.data.queue):n.push(t.data.queue):(i(\"worker.js received unknown command \"+t.data.cmd),i(t.data)))}catch(t){throw i(\"worker.js onmessage() captured an uncaught exception: \"+t),t&&t.stack&&i(t.stack),e.__emscripten_thread_crashed&&e.__emscripten_thread_crashed(),t}};\\n'},1670:t=>{\"use strict\";t.exports=__WEBPACK_EXTERNAL_MODULE__1670__},7067:()=>{},1296:()=>{},1384:()=>{},3993:()=>{},908:()=>{},6953:()=>{},9925:()=>{},2806:()=>{},6449:()=>{},2850:()=>{},5381:()=>{},5686:(t,e,n)=>{\"use strict\";n.r(e),n.d(e,{flatbuffers:()=>r});var r={};r.Offset,r.Table,r.SIZEOF_SHORT=2,r.SIZEOF_INT=4,r.FILE_IDENTIFIER_LENGTH=4,r.SIZE_PREFIX_LENGTH=4,r.Encoding={UTF8_BYTES:1,UTF16_STRING:2},r.int32=new Int32Array(2),r.float32=new Float32Array(r.int32.buffer),r.float64=new Float64Array(r.int32.buffer),r.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],r.Long=function(t,e){this.low=0|t,this.high=0|e},r.Long.create=function(t,e){return 0==t&&0==e?r.Long.ZERO:new r.Long(t,e)},r.Long.prototype.toFloat64=function(){return(this.low>>>0)+4294967296*this.high},r.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},r.Long.ZERO=new r.Long(0,0),r.Builder=function(t){if(t)e=t;else var e=1024;this.bb=r.ByteBuffer.allocate(e),this.space=e,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},r.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},r.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},r.Builder.prototype.dataBuffer=function(){return this.bb},r.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},r.Builder.prototype.prep=function(t,e){t>this.minalign&&(this.minalign=t);for(var n=1+~(this.bb.capacity()-this.space+e)&t-1;this.space<n+t+e;){var i=this.bb.capacity();this.bb=r.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(n)},r.Builder.prototype.pad=function(t){for(var e=0;e<t;e++)this.bb.writeInt8(--this.space,0)},r.Builder.prototype.writeInt8=function(t){this.bb.writeInt8(this.space-=1,t)},r.Builder.prototype.writeInt16=function(t){this.bb.writeInt16(this.space-=2,t)},r.Builder.prototype.writeInt32=function(t){this.bb.writeInt32(this.space-=4,t)},r.Builder.prototype.writeInt64=function(t){this.bb.writeInt64(this.space-=8,t)},r.Builder.prototype.writeFloat32=function(t){this.bb.writeFloat32(this.space-=4,t)},r.Builder.prototype.writeFloat64=function(t){this.bb.writeFloat64(this.space-=8,t)},r.Builder.prototype.addInt8=function(t){this.prep(1,0),this.writeInt8(t)},r.Builder.prototype.addInt16=function(t){this.prep(2,0),this.writeInt16(t)},r.Builder.prototype.addInt32=function(t){this.prep(4,0),this.writeInt32(t)},r.Builder.prototype.addInt64=function(t){this.prep(8,0),this.writeInt64(t)},r.Builder.prototype.addFloat32=function(t){this.prep(4,0),this.writeFloat32(t)},r.Builder.prototype.addFloat64=function(t){this.prep(8,0),this.writeFloat64(t)},r.Builder.prototype.addFieldInt8=function(t,e,n){(this.force_defaults||e!=n)&&(this.addInt8(e),this.slot(t))},r.Builder.prototype.addFieldInt16=function(t,e,n){(this.force_defaults||e!=n)&&(this.addInt16(e),this.slot(t))},r.Builder.prototype.addFieldInt32=function(t,e,n){(this.force_defaults||e!=n)&&(this.addInt32(e),this.slot(t))},r.Builder.prototype.addFieldInt64=function(t,e,n){!this.force_defaults&&e.equals(n)||(this.addInt64(e),this.slot(t))},r.Builder.prototype.addFieldFloat32=function(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat32(e),this.slot(t))},r.Builder.prototype.addFieldFloat64=function(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat64(e),this.slot(t))},r.Builder.prototype.addFieldOffset=function(t,e,n){(this.force_defaults||e!=n)&&(this.addOffset(e),this.slot(t))},r.Builder.prototype.addFieldStruct=function(t,e,n){e!=n&&(this.nested(e),this.slot(t))},r.Builder.prototype.nested=function(t){if(t!=this.offset())throw new Error(\"FlatBuffers: struct must be serialized inline.\")},r.Builder.prototype.notNested=function(){if(this.isNested)throw new Error(\"FlatBuffers: object serialization must not be nested.\")},r.Builder.prototype.slot=function(t){this.vtable[t]=this.offset()},r.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},r.Builder.growByteBuffer=function(t){var e=t.capacity();if(3221225472&e)throw new Error(\"FlatBuffers: cannot grow buffer beyond 2 gigabytes.\");var n=e<<1,i=r.ByteBuffer.allocate(n);return i.setPosition(n-e),i.bytes().set(t.bytes(),n-e),i},r.Builder.prototype.addOffset=function(t){this.prep(r.SIZEOF_INT,0),this.writeInt32(this.offset()-t+r.SIZEOF_INT)},r.Builder.prototype.startObject=function(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(var e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()},r.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw new Error(\"FlatBuffers: endObject called without startObject\");this.addInt32(0);for(var t=this.offset(),e=this.vtable_in_use-1;e>=0&&0==this.vtable[e];e--);for(var n=e+1;e>=0;e--)this.addInt16(0!=this.vtable[e]?t-this.vtable[e]:0);this.addInt16(t-this.object_start);var i=(n+2)*r.SIZEOF_SHORT;this.addInt16(i);var o=0,a=this.space;t:for(e=0;e<this.vtables.length;e++){var s=this.bb.capacity()-this.vtables[e];if(i==this.bb.readInt16(s)){for(var u=r.SIZEOF_SHORT;u<i;u+=r.SIZEOF_SHORT)if(this.bb.readInt16(a+u)!=this.bb.readInt16(s+u))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t},r.Builder.prototype.finish=function(t,e,n){var i=n?r.SIZE_PREFIX_LENGTH:0;if(e){var o=e;if(this.prep(this.minalign,r.SIZEOF_INT+r.FILE_IDENTIFIER_LENGTH+i),o.length!=r.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+r.FILE_IDENTIFIER_LENGTH);for(var a=r.FILE_IDENTIFIER_LENGTH-1;a>=0;a--)this.writeInt8(o.charCodeAt(a))}this.prep(this.minalign,r.SIZEOF_INT+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},r.Builder.prototype.finishSizePrefixed=function(t,e){this.finish(t,e,!0)},r.Builder.prototype.requiredField=function(t,e){var n=this.bb.capacity()-t,r=n-this.bb.readInt32(n);if(0==this.bb.readInt16(r+e))throw new Error(\"FlatBuffers: field \"+e+\" must be set\")},r.Builder.prototype.startVector=function(t,e,n){this.notNested(),this.vector_num_elems=e,this.prep(r.SIZEOF_INT,t*e),this.prep(n,t*e)},r.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},r.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var e=t;else{e=[];for(var n=0;n<t.length;){var r,i=t.charCodeAt(n++);(r=i<55296||i>=56320?i:(i<<10)+t.charCodeAt(n++)+-56613888)<128?e.push(r):(r<2048?e.push(r>>6&31|192):(r<65536?e.push(r>>12&15|224):e.push(r>>18&7|240,r>>12&63|128),e.push(r>>6&63|128)),e.push(63&r|128))}}this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),n=0;for(var o=this.space,a=this.bb.bytes();n<e.length;n++)a[o++]=e[n];return this.endVector()},r.Builder.prototype.createLong=function(t,e){return r.Long.create(t,e)},r.ByteBuffer=function(t){this.bytes_=t,this.position_=0},r.ByteBuffer.allocate=function(t){return new r.ByteBuffer(new Uint8Array(t))},r.ByteBuffer.prototype.clear=function(){this.position_=0},r.ByteBuffer.prototype.bytes=function(){return this.bytes_},r.ByteBuffer.prototype.position=function(){return this.position_},r.ByteBuffer.prototype.setPosition=function(t){this.position_=t},r.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},r.ByteBuffer.prototype.readInt8=function(t){return this.readUint8(t)<<24>>24},r.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},r.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},r.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},r.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},r.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},r.ByteBuffer.prototype.readInt64=function(t){return new r.Long(this.readInt32(t),this.readInt32(t+4))},r.ByteBuffer.prototype.readUint64=function(t){return new r.Long(this.readUint32(t),this.readUint32(t+4))},r.ByteBuffer.prototype.readFloat32=function(t){return r.int32[0]=this.readInt32(t),r.float32[0]},r.ByteBuffer.prototype.readFloat64=function(t){return r.int32[r.isLittleEndian?0:1]=this.readInt32(t),r.int32[r.isLittleEndian?1:0]=this.readInt32(t+4),r.float64[0]},r.ByteBuffer.prototype.writeInt8=function(t,e){this.bytes_[t]=e},r.ByteBuffer.prototype.writeUint8=function(t,e){this.bytes_[t]=e},r.ByteBuffer.prototype.writeInt16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},r.ByteBuffer.prototype.writeUint16=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8},r.ByteBuffer.prototype.writeInt32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},r.ByteBuffer.prototype.writeUint32=function(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24},r.ByteBuffer.prototype.writeInt64=function(t,e){this.writeInt32(t,e.low),this.writeInt32(t+4,e.high)},r.ByteBuffer.prototype.writeUint64=function(t,e){this.writeUint32(t,e.low),this.writeUint32(t+4,e.high)},r.ByteBuffer.prototype.writeFloat32=function(t,e){r.float32[0]=e,this.writeInt32(t,r.int32[0])},r.ByteBuffer.prototype.writeFloat64=function(t,e){r.float64[0]=e,this.writeInt32(t,r.int32[r.isLittleEndian?0:1]),this.writeInt32(t+4,r.int32[r.isLittleEndian?1:0])},r.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+r.SIZEOF_INT+r.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: ByteBuffer is too short to contain an identifier.\");for(var t=\"\",e=0;e<r.FILE_IDENTIFIER_LENGTH;e++)t+=String.fromCharCode(this.readInt8(this.position_+r.SIZEOF_INT+e));return t},r.ByteBuffer.prototype.__offset=function(t,e){var n=t-this.readInt32(t);return e<this.readInt16(n)?this.readInt16(n+e):0},r.ByteBuffer.prototype.__union=function(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t},r.ByteBuffer.prototype.__string=function(t,e){t+=this.readInt32(t);var n=this.readInt32(t),i=\"\",o=0;if(t+=r.SIZEOF_INT,e===r.Encoding.UTF8_BYTES)return this.bytes_.subarray(t,t+n);for(;o<n;){var a,s=this.readUint8(t+o++);if(s<192)a=s;else{var u=this.readUint8(t+o++);if(s<224)a=(31&s)<<6|63&u;else{var c=this.readUint8(t+o++);a=s<240?(15&s)<<12|(63&u)<<6|63&c:(7&s)<<18|(63&u)<<12|(63&c)<<6|63&this.readUint8(t+o++)}}a<65536?i+=String.fromCharCode(a):(a-=65536,i+=String.fromCharCode(55296+(a>>10),56320+(1023&a)))}return i},r.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},r.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+r.SIZEOF_INT},r.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},r.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=r.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+r.FILE_IDENTIFIER_LENGTH);for(var e=0;e<r.FILE_IDENTIFIER_LENGTH;e++)if(t.charCodeAt(e)!=this.readInt8(this.position_+r.SIZEOF_INT+e))return!1;return!0},r.ByteBuffer.prototype.createLong=function(t,e){return r.Long.create(t,e)}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var __webpack_exports__=__webpack_require__(6018);return __webpack_exports__})()));\n//# sourceMappingURL=ort-web.min.js.map"],"names":["t","e","r","n","i","o","a","s","u","c","l","p","f","d","h","g","b","m","y","_","v"],"mappings":"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AAI,YAAY,SAAS,IAAI,YAAY,OAAO,IAAI,WAAW,CAAC,GAAE,IAAG,KAAI,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,KAAI,IAAG,GAAE,KAAI,KAAI,KAAI,KAAI,GAAE,KAAI,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,KAAI,GAAE,IAAG,GAAE,IAAG,GAAE,IAAG,GAAE,GAAE,KAAI,KAAI,KAAI,GAAE,GAAE,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,GAAE,GAAE,GAAE,KAAI,KAAI,KAAI,IAAG,KAAI,KAAI,KAAI,KAAI,GAAE,GAAE,IAAG,KAAI,GAAE,GAAE,GAAE,GAAE,IAAG,GAAE,IAAG,IAAG,GAAE,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,KAAI,IAAG,GAAE,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,IAAG,GAAE,KAAI,IAAG,IAAG,GAAE,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,KAAI,IAAG,IAAG,KAAI,KAAI,IAAG,GAAE,KAAI,IAAG,GAAE,K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","x_google_ignoreList":[0]}
|