@exige/web-scanner-sdk 0.2.0
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/README.md +288 -0
- package/dist/assets/document-worker-QjcJjl9-.js +2 -0
- package/dist/assets/document-worker-QjcJjl9-.js.map +1 -0
- package/dist/assets/ort.min-CA5AZ7mL.js +2937 -0
- package/dist/assets/ort.min-CA5AZ7mL.js.map +1 -0
- package/dist/components/ScannerCameraOverlay.d.ts +36 -0
- package/dist/components/scanner-camera-overlay.css +2 -0
- package/dist/finder-Clo7f2gN.js +1447 -0
- package/dist/finder-Clo7f2gN.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/live-overlay-geometry.d.ts +11 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +448 -0
- package/dist/react.js.map +1 -0
- package/dist/scanner-sdk.js +921 -0
- package/dist/scanner-sdk.js.map +1 -0
- package/dist/sdk/camera.d.ts +142 -0
- package/dist/sdk/detect.d.ts +3 -0
- package/dist/sdk/display-quad.d.ts +23 -0
- package/dist/sdk/document-analysis.d.ts +14 -0
- package/dist/sdk/document-geometry.d.ts +21 -0
- package/dist/sdk/field-model.d.ts +4 -0
- package/dist/sdk/finder-simulator.d.ts +17 -0
- package/dist/sdk/finder.d.ts +166 -0
- package/dist/sdk/frame-geometry.d.ts +6 -0
- package/dist/sdk/image.d.ts +18 -0
- package/dist/sdk/license-codec.d.ts +2 -0
- package/dist/sdk/license-public-key.d.ts +9 -0
- package/dist/sdk/license-runtime.d.ts +2 -0
- package/dist/sdk/license.d.ts +76 -0
- package/dist/sdk/lighting.d.ts +22 -0
- package/dist/sdk/ocr.d.ts +75 -0
- package/dist/sdk/programmatic-redaction.d.ts +102 -0
- package/dist/sdk/redact.d.ts +12 -0
- package/dist/sdk/scan.d.ts +32 -0
- package/dist/sdk/types.d.ts +92 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ort.min-CA5AZ7mL.js","names":["e"],"sources":["../../node_modules/onnxruntime-web/dist/ort.min.mjs"],"sourcesContent":["/*!\n * ONNX Runtime Web v1.30.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar Sn=Object.defineProperty;var Yu=Object.getOwnPropertyDescriptor;var Ju=Object.getOwnPropertyNames;var ed=Object.prototype.hasOwnProperty;var Tn=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,n)=>(typeof require<\"u\"?require:t)[n]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var k=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var pt=(e,t)=>{for(var n in t)Sn(e,n,{get:t[n],enumerable:!0})},td=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of Ju(t))!ed.call(e,o)&&o!==n&&Sn(e,o,{get:()=>t[o],enumerable:!(r=Yu(t,o))||r.enumerable});return e};var Tt=e=>td(Sn({},\"__esModule\",{value:!0}),e);var It,Ze,Qe,nd,$r,In=k(()=>{\"use strict\";It=new Map,Ze=[],Qe=(e,t,n)=>{if(t&&typeof t.init==\"function\"&&typeof t.createInferenceSessionHandler==\"function\"){let r=It.get(e);if(r===void 0)It.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw new Error(`cannot register backend \"${e}\" using priority ${n}`)}if(n>=0){let o=Ze.indexOf(e);o!==-1&&Ze.splice(o,1);for(let i=0;i<Ze.length;i++)if(It.get(Ze[i]).priority<=n){Ze.splice(i,0,e);return}Ze.push(e)}return}throw new TypeError(\"not a valid backend\")},nd=async e=>{let t=It.get(e);if(!t)return\"backend not found.\";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(r){return n||(t.error=`${r}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},$r=async e=>{let t=e.executionProviders||[],n=t.map(u=>typeof u==\"string\"?u:u.name),r=n.length===0?Ze:n,o,i=[],s=new Set;for(let u of r){let d=await nd(u);typeof d==\"string\"?i.push({name:u,err:d}):(o||(o=d),o===d&&s.add(u))}if(!o)throw new Error(`no available backend found. ERR: ${i.map(u=>`[${u.name}] ${u.err}`).join(\", \")}`);for(let{name:u,err:d}of i)n.includes(u)&&console.warn(`removing requested execution provider \"${u}\" from session options because it is not available: ${d}`);let a=t.filter(u=>s.has(typeof u==\"string\"?u:u.name));return[o,new Proxy(e,{get:(u,d)=>d===\"executionProviders\"?a:Reflect.get(u,d)})]}});var vr=k(()=>{\"use strict\";In()});var xr,Sr=k(()=>{\"use strict\";xr=\"1.30.0\"});var Tr,pe,Cn=k(()=>{\"use strict\";Sr();Tr=\"warning\",pe={wasm:{},webgl:{},webgpu:{},versions:{common:xr},set logLevel(e){if(e!==void 0){if(typeof e!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Tr=e}},get logLevel(){return Tr}};Object.defineProperty(pe,\"logLevel\",{enumerable:!0})});var ne,Ir=k(()=>{\"use strict\";Cn();ne=pe});var Cr,Ar,Er=k(()=>{\"use strict\";Cr=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\"):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(\"2d\");if(r!=null){let o,i;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],i=e.dims[3]):(o=e.dims[3],i=e.dims[2]);let s=t?.format!==void 0?t.format:\"RGB\",a=t?.norm,u,d;a===void 0||a.mean===void 0?u=[255,255,255,255]:typeof a.mean==\"number\"?u=[a.mean,a.mean,a.mean,a.mean]:(u=[a.mean[0],a.mean[1],a.mean[2],0],a.mean[3]!==void 0&&(u[3]=a.mean[3])),a===void 0||a.bias===void 0?d=[0,0,0,0]:typeof a.bias==\"number\"?d=[a.bias,a.bias,a.bias,a.bias]:(d=[a.bias[0],a.bias[1],a.bias[2],0],a.bias[3]!==void 0&&(d[3]=a.bias[3]));let l=i*o,c=0,p=l,f=l*2,m=-1;s===\"RGBA\"?(c=0,p=l,f=l*2,m=l*3):s===\"RGB\"?(c=0,p=l,f=l*2):s===\"RBG\"&&(c=0,f=l,p=l*2);for(let h=0;h<i;h++)for(let b=0;b<o;b++){let y=(e.data[c++]-d[0])*u[0],g=(e.data[p++]-d[1])*u[1],_=(e.data[f++]-d[2])*u[2],w=m===-1?255:(e.data[m++]-d[3])*u[3];r.fillStyle=\"rgba(\"+y+\",\"+g+\",\"+_+\",\"+w+\")\",r.fillRect(b,h,1,1)}if(\"toDataURL\"in n)return n.toDataURL();throw new Error(\"toDataURL is not supported\")}else throw new Error(\"Can not access image data\")},Ar=(e,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\").getContext(\"2d\"):new OffscreenCanvas(1,1).getContext(\"2d\"),r;if(n!=null){let o,i,s;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(o=e.dims[2],i=e.dims[1],s=e.dims[3]):(o=e.dims[3],i=e.dims[2],s=e.dims[1]);let a=t!==void 0&&t.format!==void 0?t.format:\"RGB\",u=t?.norm,d,l;u===void 0||u.mean===void 0?d=[255,255,255,255]:typeof u.mean==\"number\"?d=[u.mean,u.mean,u.mean,u.mean]:(d=[u.mean[0],u.mean[1],u.mean[2],255],u.mean[3]!==void 0&&(d[3]=u.mean[3])),u===void 0||u.bias===void 0?l=[0,0,0,0]:typeof u.bias==\"number\"?l=[u.bias,u.bias,u.bias,u.bias]:(l=[u.bias[0],u.bias[1],u.bias[2],0],u.bias[3]!==void 0&&(l[3]=u.bias[3]));let c=i*o;if(t!==void 0&&(t.format!==void 0&&s===4&&t.format!==\"RGBA\"||s===3&&t.format!==\"RGB\"&&t.format!==\"BGR\"))throw new Error(\"Tensor format doesn't match input tensor dims\");let p=4,f=0,m=1,h=2,b=3,y=0,g=c,_=c*2,w=-1;a===\"RGBA\"?(y=0,g=c,_=c*2,w=c*3):a===\"RGB\"?(y=0,g=c,_=c*2):a===\"RBG\"&&(y=0,_=c,g=c*2),r=n.createImageData(o,i);for(let $=0;$<i*o;f+=p,m+=p,h+=p,b+=p,$++)r.data[f]=(e.data[y++]-l[0])*d[0],r.data[m]=(e.data[g++]-l[1])*d[1],r.data[h]=(e.data[_++]-l[2])*d[2],r.data[b]=w===-1?255:(e.data[w++]-l[3])*d[3]}else throw new Error(\"Can not access image data\");return r}});var An,kr,Pr,zr,Dr,Br,Or=k(()=>{\"use strict\";Ct();An=(e,t)=>{if(e===void 0)throw new Error(\"Image buffer must be defined\");if(t.height===void 0||t.width===void 0)throw new Error(\"Image height and width must be defined\");if(t.tensorLayout===\"NHWC\")throw new Error(\"NHWC Tensor layout is not supported yet\");let{height:n,width:r}=t,o=t.norm??{mean:255,bias:0},i,s;typeof o.mean==\"number\"?i=[o.mean,o.mean,o.mean,o.mean]:i=[o.mean[0],o.mean[1],o.mean[2],o.mean[3]??255],typeof o.bias==\"number\"?s=[o.bias,o.bias,o.bias,o.bias]:s=[o.bias[0],o.bias[1],o.bias[2],o.bias[3]??0];let a=t.format!==void 0?t.format:\"RGBA\",u=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:\"RGB\",d=n*r,l=u===\"RGBA\"?new Float32Array(d*4):new Float32Array(d*3),c=4,p=0,f=1,m=2,h=3,b=0,y=d,g=d*2,_=-1;a===\"RGB\"&&(c=3,p=0,f=1,m=2,h=-1),u===\"RGBA\"?_=d*3:u===\"RBG\"?(b=0,g=d,y=d*2):u===\"BGR\"&&(g=0,y=d,b=d*2);for(let $=0;$<d;$++,p+=c,m+=c,f+=c,h+=c)l[b++]=(e[p]+s[0])/i[0],l[y++]=(e[f]+s[1])/i[1],l[g++]=(e[m]+s[2])/i[2],_!==-1&&h!==-1&&(l[_++]=(e[h]+s[3])/i[3]);return u===\"RGBA\"?new fe(\"float32\",l,[1,4,n,r]):new fe(\"float32\",l,[1,3,n,r])},kr=async(e,t)=>{let n=typeof HTMLImageElement<\"u\"&&e instanceof HTMLImageElement,r=typeof ImageData<\"u\"&&e instanceof ImageData,o=typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap,i=typeof e==\"string\",s,a=t??{},u=()=>{if(typeof document<\"u\")return document.createElement(\"canvas\");if(typeof OffscreenCanvas<\"u\")return new OffscreenCanvas(1,1);throw new Error(\"Canvas is not supported\")},d=l=>typeof HTMLCanvasElement<\"u\"&&l instanceof HTMLCanvasElement||l instanceof OffscreenCanvas?l.getContext(\"2d\"):null;if(n){let l=u();l.width=e.width,l.height=e.height;let c=d(l);if(c!=null){let p=e.height,f=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(p=t.resizedHeight,f=t.resizedWidth),t!==void 0){if(a=t,t.tensorFormat!==void 0)throw new Error(\"Image input config format must be RGBA for HTMLImageElement\");a.tensorFormat=\"RGBA\",a.height=p,a.width=f}else a.tensorFormat=\"RGBA\",a.height=p,a.width=f;c.drawImage(e,0,0),s=c.getImageData(0,0,f,p).data}else throw new Error(\"Can not access image data\")}else if(r){let l,c;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(l=t.resizedHeight,c=t.resizedWidth):(l=e.height,c=e.width),t!==void 0&&(a=t),a.format=\"RGBA\",a.height=l,a.width=c,t!==void 0){let p=u();p.width=c,p.height=l;let f=d(p);if(f!=null)f.putImageData(e,0,0),s=f.getImageData(0,0,c,l).data;else throw new Error(\"Can not access image data\")}else s=e.data}else if(o){if(t===void 0)throw new Error(\"Please provide image config with format for Imagebitmap\");let l=u();l.width=e.width,l.height=e.height;let c=d(l);if(c!=null){let p=e.height,f=e.width;return c.drawImage(e,0,0,f,p),s=c.getImageData(0,0,f,p).data,a.height=p,a.width=f,An(s,a)}else throw new Error(\"Can not access image data\")}else{if(i)return new Promise((l,c)=>{let p=u(),f=d(p);if(!e||!f)return c();let m=new Image;m.crossOrigin=\"Anonymous\",m.src=e,m.onload=()=>{p.width=m.width,p.height=m.height,f.drawImage(m,0,0,p.width,p.height);let h=f.getImageData(0,0,p.width,p.height);a.height=p.height,a.width=p.width,l(An(h.data,a))}});throw new Error(\"Input data provided is not supported - aborted tensor creation\")}if(s!==void 0)return An(s,a);throw new Error(\"Input data provided is not supported - aborted tensor creation\")},Pr=(e,t)=>{let{width:n,height:r,download:o,dispose:i}=t,s=[1,r,n,4];return new fe({location:\"texture\",type:\"float32\",texture:e,dims:s,download:o,dispose:i})},zr=(e,t)=>{let{dataType:n,dims:r,download:o,dispose:i}=t;return new fe({location:\"gpu-buffer\",type:n??\"float32\",gpuBuffer:e,dims:r,download:o,dispose:i})},Dr=(e,t)=>{let{dataType:n,dims:r,download:o,dispose:i}=t;return new fe({location:\"ml-tensor\",type:n??\"float32\",mlTensor:e,dims:r,download:o,dispose:i})},Br=(e,t,n)=>new fe({location:\"cpu-pinned\",type:e,data:t,dims:n??[t.length]})});var Xe,mt,Mr,Ur,Rr=k(()=>{\"use strict\";Xe=new Map([[\"float32\",Float32Array],[\"uint8\",Uint8Array],[\"int8\",Int8Array],[\"uint16\",Uint16Array],[\"int16\",Int16Array],[\"int32\",Int32Array],[\"bool\",Uint8Array],[\"float64\",Float64Array],[\"uint32\",Uint32Array],[\"int4\",Uint8Array],[\"uint4\",Uint8Array]]),mt=new Map([[Float32Array,\"float32\"],[Uint8Array,\"uint8\"],[Int8Array,\"int8\"],[Uint16Array,\"uint16\"],[Int16Array,\"int16\"],[Int32Array,\"int32\"],[Float64Array,\"float64\"],[Uint32Array,\"uint32\"]]),Mr=!1,Ur=()=>{if(!Mr){Mr=!0;let e=typeof BigInt64Array<\"u\"&&BigInt64Array.from,t=typeof BigUint64Array<\"u\"&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<\"u\"&&n.from;e&&(Xe.set(\"int64\",BigInt64Array),mt.set(BigInt64Array,\"int64\")),t&&(Xe.set(\"uint64\",BigUint64Array),mt.set(BigUint64Array,\"uint64\")),r?(Xe.set(\"float16\",n),mt.set(n,\"float16\")):Xe.set(\"float16\",Uint16Array)}}});var Vr,Lr,Nr=k(()=>{\"use strict\";Ct();Vr=e=>{let t=1;for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=\"number\"||!Number.isSafeInteger(r))throw new TypeError(`dims[${n}] must be an integer, got: ${r}`);if(r<0)throw new RangeError(`dims[${n}] must be a non-negative integer, got: ${r}`);t*=r}return t},Lr=(e,t)=>{switch(e.location){case\"cpu\":return new fe(e.type,e.data,t);case\"cpu-pinned\":return new fe({location:\"cpu-pinned\",data:e.data,type:e.type,dims:t});case\"texture\":return new fe({location:\"texture\",texture:e.texture,type:e.type,dims:t});case\"gpu-buffer\":return new fe({location:\"gpu-buffer\",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case\"ml-tensor\":return new fe({location:\"ml-tensor\",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var fe,Ct=k(()=>{\"use strict\";Er();Or();Rr();Nr();fe=class{constructor(t,n,r){Ur();let o,i;if(typeof t==\"object\"&&\"location\"in t)switch(this.dataLocation=t.location,o=t.type,i=t.dims,t.location){case\"cpu-pinned\":{let a=Xe.get(o);if(!a)throw new TypeError(`unsupported type \"${o}\" to create tensor from pinned buffer`);if(!(t.data instanceof a))throw new TypeError(`buffer should be of type ${a.name}`);this.cpuData=t.data;break}case\"texture\":{if(o!==\"float32\")throw new TypeError(`unsupported type \"${o}\" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case\"gpu-buffer\":{if(o!==\"float32\"&&o!==\"float16\"&&o!==\"int32\"&&o!==\"int64\"&&o!==\"uint32\"&&o!==\"uint8\"&&o!==\"bool\"&&o!==\"uint4\"&&o!==\"int4\")throw new TypeError(`unsupported type \"${o}\" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case\"ml-tensor\":{if(o!==\"float32\"&&o!==\"float16\"&&o!==\"int32\"&&o!==\"int64\"&&o!==\"uint32\"&&o!==\"uint64\"&&o!==\"int8\"&&o!==\"uint8\"&&o!==\"bool\"&&o!==\"uint4\"&&o!==\"int4\")throw new TypeError(`unsupported type \"${o}\" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,u;if(typeof t==\"string\")if(o=t,u=r,t===\"string\"){if(!Array.isArray(n))throw new TypeError(\"A string tensor's data must be a string array.\");a=n}else{let d=Xe.get(t);if(d===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t===\"float16\"&&d===Uint16Array||t===\"uint4\"||t===\"int4\")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${d.name} as data.`);t===\"uint64\"||t===\"int64\"?a=d.from(n,BigInt):a=d.from(n)}else if(n instanceof d)a=n;else if(n instanceof Uint8ClampedArray)if(t===\"uint8\")a=Uint8Array.from(n);else throw new TypeError(\"A Uint8ClampedArray tensor's data must be type of uint8\");else if(t===\"float16\"&&n instanceof Uint16Array&&d!==Uint16Array)a=new globalThis.Float16Array(n.buffer,n.byteOffset,n.length);else throw new TypeError(`A ${o} tensor's data must be type of ${d}`)}else if(u=n,Array.isArray(t)){if(t.length===0)throw new TypeError(\"Tensor type cannot be inferred from an empty array.\");let d=typeof t[0];if(d===\"string\")o=\"string\",a=t;else if(d===\"boolean\")o=\"bool\",a=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${d}.`)}else if(t instanceof Uint8ClampedArray)o=\"uint8\",a=Uint8Array.from(t);else{let d=mt.get(t.constructor);if(d===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);o=d,a=t}if(u===void 0)u=[a.length];else if(!Array.isArray(u))throw new TypeError(\"A tensor's dims must be a number array\");i=u,this.cpuData=a,this.dataLocation=\"cpu\"}let s=Vr(i);if(this.cpuData&&s!==this.cpuData.length&&!((o===\"uint4\"||o===\"int4\")&&Math.ceil(s/2)===this.cpuData.length))throw new Error(`Tensor's size(${s}) does not match data length(${this.cpuData.length}).`);this.type=o,this.dims=i,this.size=s}static async fromImage(t,n){return kr(t,n)}static fromTexture(t,n){return Pr(t,n)}static fromGpuBuffer(t,n){return zr(t,n)}static fromMLTensor(t,n){return Dr(t,n)}static fromPinnedBuffer(t,n,r){return Br(t,n,r)}toDataURL(t){return Cr(this,t)}toImageData(t){return Ar(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error(\"The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.\");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error(\"The data is not stored as a WebGL texture.\");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error(\"The data is not stored as a WebGPU buffer.\");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error(\"The data is not stored as a WebNN MLTensor.\");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case\"cpu\":case\"cpu-pinned\":return this.data;case\"texture\":case\"gpu-buffer\":case\"ml-tensor\":{if(!this.downloader)throw new Error(\"The current tensor is not created with a specified data downloader.\");if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation=\"cpu\",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=\"none\"}ensureValid(){if(this.dataLocation===\"none\")throw new Error(\"The tensor is disposed.\")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error(\"Cannot reshape a tensor that owns GPU resource.\");return Lr(this,t)}}});var Te,En=k(()=>{\"use strict\";Ct();Te=fe});var At,Wr,_e,ye,Ne,We,kn=k(()=>{\"use strict\";Cn();At=(e,t)=>{(typeof pe.trace>\"u\"?!pe.wasm.trace:!pe.trace)||console.timeStamp(`${e}::ORT::${t}`)},Wr=(e,t)=>{let n=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],r=!1;for(let o=0;o<n.length;o++){if(r&&!n[o].includes(\"TRACE_FUNC\")){let i=`FUNC_${e}::${n[o].trim().split(\" \")[1]}`;t&&(i+=`::${t}`),At(\"CPU\",i);return}n[o].includes(\"TRACE_FUNC\")&&(r=!0)}},_e=e=>{(typeof pe.trace>\"u\"?!pe.wasm.trace:!pe.trace)||Wr(\"BEGIN\",e)},ye=e=>{(typeof pe.trace>\"u\"?!pe.wasm.trace:!pe.trace)||Wr(\"END\",e)},Ne=e=>{(typeof pe.trace>\"u\"?!pe.wasm.trace:!pe.trace)||console.time(`ORT::${e}`)},We=e=>{(typeof pe.trace>\"u\"?!pe.wasm.trace:!pe.trace)||console.timeEnd(`ORT::${e}`)}});var Et,Gr=k(()=>{\"use strict\";In();En();kn();Et=class e{constructor(t){this.handler=t}async run(t,n,r){_e(),Ne(\"InferenceSession.run\");let o={},i={};if(typeof t!=\"object\"||t===null||t instanceof Te||Array.isArray(t))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let s=!0;if(typeof n==\"object\"){if(n===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(n instanceof Te)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(n)){if(n.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");s=!1;for(let d of n){if(typeof d!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(this.outputNames.indexOf(d)===-1)throw new RangeError(`'fetches' contains invalid output name: ${d}.`);o[d]=null}if(typeof r==\"object\"&&r!==null)i=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let d=!1,l=Object.getOwnPropertyNames(n);for(let c of this.outputNames)if(l.indexOf(c)!==-1){let p=n[c];(p===null||p instanceof Te)&&(d=!0,s=!1,o[c]=p)}if(d){if(typeof r==\"object\"&&r!==null)i=r;else if(typeof r<\"u\")throw new TypeError(\"'options' must be an object.\")}else i=n}}else if(typeof n<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let d of this.inputNames)if(typeof t[d]>\"u\")throw new Error(`input '${d}' is missing in 'feeds'.`);if(s)for(let d of this.outputNames)o[d]=null;let a=await this.handler.run(t,o,i),u={};for(let d in a)if(Object.hasOwnProperty.call(a,d)){let l=a[d];l instanceof Te?u[d]=l:u[d]=new Te(l.type,l.data,l.dims)}return We(\"InferenceSession.run\"),ye(),u}async release(){return this.handler.dispose()}static async create(t,n,r,o){_e(),Ne(\"InferenceSession.create\");let i,s={};if(typeof t==\"string\"){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof Uint8Array){if(i=t,typeof n==\"object\"&&n!==null)s=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&t instanceof SharedArrayBuffer){let l=t,c=0,p=t.byteLength;if(typeof n==\"object\"&&n!==null)s=n;else if(typeof n==\"number\"){if(c=n,!Number.isSafeInteger(c))throw new RangeError(\"'byteOffset' must be an integer.\");if(c<0||c>=l.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${l.byteLength}).`);if(p=t.byteLength-c,typeof r==\"number\"){if(p=r,!Number.isSafeInteger(p))throw new RangeError(\"'byteLength' must be an integer.\");if(p<=0||c+p>l.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${l.byteLength-c}].`);if(typeof o==\"object\"&&o!==null)s=o;else if(typeof o<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(typeof r<\"u\")throw new TypeError(\"'byteLength' must be a number.\")}else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\");i=new Uint8Array(l,c,p)}else throw new TypeError(\"Unexpected argument[0]: must be 'path' or 'buffer'.\");let[a,u]=await $r(s),d=await a.createInferenceSessionHandler(i,u);return We(\"InferenceSession.create\"),ye(),new e(d)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}});var rd,Hr=k(()=>{\"use strict\";Gr();rd=Et});var Fr=k(()=>{\"use strict\"});var qr=k(()=>{\"use strict\"});var Kr=k(()=>{\"use strict\"});var jr=k(()=>{\"use strict\"});var Pn={};pt(Pn,{InferenceSession:()=>rd,TRACE:()=>At,TRACE_EVENT_BEGIN:()=>Ne,TRACE_EVENT_END:()=>We,TRACE_FUNC_BEGIN:()=>_e,TRACE_FUNC_END:()=>ye,Tensor:()=>Te,env:()=>ne,registerBackend:()=>Qe});var we=k(()=>{\"use strict\";vr();Ir();Hr();En();Fr();qr();kn();Kr();jr()});var kt=k(()=>{\"use strict\"});var Yr={};pt(Yr,{default:()=>od});var Qr,Xr,od,Jr=k(()=>{\"use strict\";zn();Ge();Pt();Qr=\"ort-wasm-proxy-worker\",Xr=globalThis.self?.name===Qr;Xr&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case\"init-wasm\":zt(n.wasm).then(()=>{Dt(n).then(()=>{postMessage({type:t})},r=>{postMessage({type:t,err:r})})},r=>{postMessage({type:t,err:r})});break;case\"init-ep\":{let{epName:r,env:o}=n;Bt(o,r).then(()=>{postMessage({type:t})},i=>{postMessage({type:t,err:i})});break}case\"copy-from\":{let{buffer:r}=n,o=ft(r);postMessage({type:t,out:o});break}case\"create\":{let{model:r,options:o}=n;Ot(r,o).then(i=>{postMessage({type:t,out:i})},i=>{postMessage({type:t,err:i})});break}case\"release\":Mt(n),postMessage({type:t});break;case\"run\":{let{sessionId:r,inputIndices:o,inputs:i,outputIndices:s,options:a}=n;Ut(r,o,i,s,new Array(s.length).fill(null),a).then(u=>{u.some(d=>d[3]!==\"cpu\")?postMessage({type:t,err:\"Proxy does not support non-cpu tensor location.\"}):postMessage({type:t,out:u},Vt([...i,...u]))},u=>{postMessage({type:t,err:u})});break}case\"end-profiling\":Rt(n),postMessage({type:t});break;default:}}catch(r){postMessage({type:t,err:r})}});od=Xr?null:e=>new Worker(e??$e,{type:\"module\",name:Qr})});var no,id,sd,$e,Lt,Dn,ad,ud,ro,dd,eo,oo,to,io,Pt=k(()=>{\"use strict\";kt();no=typeof location>\"u\"?void 0:location.origin,id=import.meta.url>\"file:\"&&import.meta.url<\"file;\",sd=()=>{if(!!1){if(id){let e=URL;return new URL(new e(\"ort.min.mjs\",import.meta.url).href,no).href}return import.meta.url}},$e=sd(),Lt=()=>{if($e&&!$e.startsWith(\"blob:\"))return $e.substring(0,$e.lastIndexOf(\"/\")+1)},Dn=(e,t)=>{try{let n=t??$e;return(n?new URL(e,n):new URL(e)).origin===no}catch{return!1}},ad=(e,t)=>{let n=t??$e;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},ud=(e,t)=>`${t??\"./\"}${e}`,ro=async e=>{let n=await(await fetch(e,{credentials:\"same-origin\"})).blob();return URL.createObjectURL(n)},dd=async e=>(await import(/*webpackIgnore:true*/ /*@vite-ignore*/e)).default,eo=(Jr(),Tt(Yr)).default,oo=async()=>{if(!$e)throw new Error(\"Failed to load proxy worker: cannot determine the script source URL.\");if(Dn($e))return[void 0,eo()];let e=await ro($e);return[e,eo(e)]},to=void 0,io=async(e,t,n,r)=>{let o=to&&!(e||t);if(o)if($e)o=Dn($e)||r&&!n;else if(r&&!n)o=!0;else throw new Error(\"cannot determine the script source URL.\");if(o)return[void 0,to];{let i=\"ort-wasm-simd-threaded.jsep.mjs\",s=e??ad(i,t),a=!!1&&n&&s&&!Dn(s,t),u=a?await ro(s):s??ud(i,t);return[a?u:void 0,await dd(u)]}}});var Bn,On,Nt,so,ld,cd,pd,zt,te,Ge=k(()=>{\"use strict\";Pt();On=!1,Nt=!1,so=!1,ld=()=>{if(typeof SharedArrayBuffer>\"u\")return!1;try{return typeof MessageChannel<\"u\"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},cd=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},pd=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},zt=async e=>{if(On)return Promise.resolve();if(Nt)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(so)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");Nt=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===\"relaxed\"){if(!pd())throw new Error(\"Relaxed WebAssembly SIMD is not supported in the current environment.\")}else if(!cd())throw new Error(\"WebAssembly SIMD is not supported in the current environment.\")}let r=ld();n>1&&!r&&(typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+n+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),console.warn(\"WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading.\"),e.numThreads=n=1);let o=e.wasmPaths,i=typeof o==\"string\"?o:void 0,s=o?.mjs,a=s?.href??s,u=o?.wasm,d=u?.href??u,l=e.wasmBinary,[c,p]=await io(a,i,n>1,!!l||!!d),f=!1,m=[];if(t>0&&m.push(new Promise(h=>{setTimeout(()=>{f=!0,h()},t)})),m.push(new Promise((h,b)=>{let y={numThreads:n};if(l)y.wasmBinary=l,y.locateFile=g=>g;else if(d||i)y.locateFile=g=>d??i+g;else if(a&&a.indexOf(\"blob:\")!==0)y.locateFile=g=>new URL(g,a).href;else if(c){let g=Lt();g&&(y.locateFile=_=>g+_)}p(y).then(g=>{Nt=!1,On=!0,Bn=g,h(),c&&URL.revokeObjectURL(c)},g=>{Nt=!1,so=!0,b(g)})})),await Promise.race(m),f)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},te=()=>{if(On&&Bn)return Bn;throw new Error(\"WebAssembly is not initialized yet.\")}});var ve,ht,Y,Wt=k(()=>{\"use strict\";Ge();ve=(e,t)=>{let n=te(),r=n.lengthBytesUTF8(e)+1,o=n._malloc(r);return n.stringToUTF8(e,o,r),t.push(o),o},ht=(e,t,n,r)=>{if(typeof e==\"object\"&&e!==null){if(n.has(e))throw new Error(\"Circular reference in options\");n.add(e)}Object.entries(e).forEach(([o,i])=>{let s=t?t+o:o;if(typeof i==\"object\")ht(i,s+\".\",n,r);else if(typeof i==\"string\"||typeof i==\"number\")r(s,i.toString());else if(typeof i==\"boolean\")r(s,i?\"1\":\"0\");else throw new Error(`Can't handle extra config type: ${typeof i}`)})},Y=e=>{let t=te(),n=t.stackSave();try{let r=t.PTR_SIZE,o=t.stackAlloc(2*r);t._OrtGetLastError(o,o+r);let i=Number(t.getValue(o,r===4?\"i32\":\"i64\")),s=t.getValue(o+r,\"*\"),a=s?t.UTF8ToString(s):\"\";throw new Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{t.stackRestore(n)}}});var ao,uo=k(()=>{\"use strict\";Ge();Wt();ao=e=>{let t=te(),n=0,r=[],o=e||{};try{if(e?.logSeverityLevel===void 0)o.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=\"number\"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)o.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=\"number\"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(o.terminate=!1);let i=0;return e?.tag!==void 0&&(i=ve(e.tag,r)),n=t._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,i),n===0&&Y(\"Can't create run options.\"),e?.extra!==void 0&&ht(e.extra,\"\",new WeakSet,(s,a)=>{let u=ve(s,r),d=ve(a,r);t._OrtAddRunConfigEntry(n,u,d)!==0&&Y(`Can't set a run config entry: ${s} - ${a}.`)}),[n,r]}catch(i){throw n!==0&&t._OrtReleaseRunOptions(n),r.forEach(s=>t._free(s)),i}}});var md,fd,hd,it,gd,lo,co=k(()=>{\"use strict\";Ge();Wt();md=e=>{switch(e){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"layout\":return 3;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},fd=e=>{switch(e){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},hd=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly=\"1\"),e.executionProviders&&e.executionProviders.some(n=>(typeof n==\"string\"?n:n.name)===\"webgpu\")&&(e.enableMemPattern=!1)},it=(e,t,n,r)=>{let o=ve(t,r),i=ve(n,r);te()._OrtAddSessionConfigEntry(e,o,i)!==0&&Y(`Can't set a session config entry: ${t} - ${n}.`)},gd=async(e,t,n)=>{let r=t.executionProviders;for(let o of r){let i=typeof o==\"string\"?o:o.name,s=[];switch(i){case\"webnn\":if(i=\"WEBNN\",it(e,\"session.disable_quant_qdq\",\"1\",n),it(e,\"session.disable_qdq_constant_folding\",\"1\",n),typeof o!=\"string\"){let p=o?.deviceType;p&&it(e,\"deviceType\",p,n)}break;case\"webgpu\":if(i=\"JS\",typeof o!=\"string\"){let c=o;if(c?.preferredLayout){if(c.preferredLayout!==\"NCHW\"&&c.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);it(e,\"preferredLayout\",c.preferredLayout,n)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${i}`)}let a=ve(i,n),u=s.length,d=0,l=0;if(u>0){d=te()._malloc(u*te().PTR_SIZE),n.push(d),l=te()._malloc(u*te().PTR_SIZE),n.push(l);for(let c=0;c<u;c++)te().setValue(d+c*te().PTR_SIZE,s[c][0],\"*\"),te().setValue(l+c*te().PTR_SIZE,s[c][1],\"*\")}await te()._OrtAppendExecutionProvider(e,a,d,l,u)!==0&&Y(`Can't append execution provider: ${i}.`)}},lo=async e=>{let t=te(),n=0,r=[],o=e||{};hd(o);try{let i=md(o.graphOptimizationLevel??\"all\"),s=fd(o.executionMode??\"sequential\"),a=typeof o.logId==\"string\"?ve(o.logId,r):0,u=o.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log severity level is not valid: ${u}`);let d=o.logVerbosityLevel??0;if(!Number.isInteger(d)||d<0||d>4)throw new Error(`log verbosity level is not valid: ${d}`);let l=typeof o.optimizedModelFilePath==\"string\"?ve(o.optimizedModelFilePath,r):0;if(n=t._OrtCreateSessionOptions(i,!!o.enableCpuMemArena,!!o.enableMemPattern,s,!!o.enableProfiling,0,a,u,d,l),n===0&&Y(\"Can't create session options.\"),o.executionProviders&&await gd(n,o,r),o.enableGraphCapture!==void 0){if(typeof o.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${o.enableGraphCapture}`);it(n,\"enableGraphCapture\",o.enableGraphCapture.toString(),r)}if(o.freeDimensionOverrides)for(let[c,p]of Object.entries(o.freeDimensionOverrides)){if(typeof c!=\"string\")throw new Error(`free dimension override name must be a string: ${c}`);if(typeof p!=\"number\"||!Number.isInteger(p)||p<0)throw new Error(`free dimension override value must be a non-negative integer: ${p}`);let f=ve(c,r);t._OrtAddFreeDimensionOverride(n,f,p)!==0&&Y(`Can't set a free dimension override: ${c} - ${p}.`)}return o.extra!==void 0&&ht(o.extra,\"\",new WeakSet,(c,p)=>{it(n,c,p,r)}),[n,r]}catch(i){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&Y(\"Can't release session options.\"),r.forEach(s=>t._free(s)),i}}});var He,ke,Fe,st,gt,Gt,Ht,Mn,L=k(()=>{\"use strict\";He=e=>{switch(e){case\"int8\":return 3;case\"uint8\":return 2;case\"bool\":return 9;case\"int16\":return 5;case\"uint16\":return 4;case\"int32\":return 6;case\"uint32\":return 12;case\"float16\":return 10;case\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;case\"int4\":return 22;case\"uint4\":return 21;default:throw new Error(`unsupported data type: ${e}`)}},ke=e=>{switch(e){case 3:return\"int8\";case 2:return\"uint8\";case 9:return\"bool\";case 5:return\"int16\";case 4:return\"uint16\";case 6:return\"int32\";case 12:return\"uint32\";case 10:return\"float16\";case 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";case 22:return\"int4\";case 21:return\"uint4\";default:throw new Error(`unsupported data type: ${e}`)}},Fe=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],r=typeof t==\"number\"?t:t.reduce((o,i)=>o*i,1);return n>0?Math.ceil(r*n):void 0},st=e=>{switch(e){case\"float16\":return typeof Float16Array<\"u\"?Float16Array:Uint16Array;case\"float32\":return Float32Array;case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"bool\":return Uint8Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},gt=e=>{switch(e){case\"verbose\":return 0;case\"info\":return 1;case\"warning\":return 2;case\"error\":return 3;case\"fatal\":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Gt=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",Ht=e=>e===\"float32\"||e===\"float16\"||e===\"int32\"||e===\"int64\"||e===\"uint32\"||e===\"uint64\"||e===\"int8\"||e===\"uint8\"||e===\"bool\"||e===\"uint4\"||e===\"int4\",Mn=e=>{switch(e){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;case\"ml-tensor\":return 5;default:throw new Error(`unsupported data location: ${e}`)}}});var yt,Un=k(()=>{\"use strict\";kt();yt=async e=>{if(typeof e==\"string\")if(!1)try{let{readFile:t}=Tn(\"node:fs/promises\");return new Uint8Array(await t(e))}catch(t){if(t.code===\"ERR_FS_FILE_TOO_LARGE\"){let{createReadStream:n}=Tn(\"node:fs\"),r=n(e),o=[];for await(let i of r)o.push(i);return new Uint8Array(Buffer.concat(o))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let n=t.headers.get(\"Content-Length\"),r=n?parseInt(n,10):0;if(r<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let o=t.body.getReader(),i;try{i=new ArrayBuffer(r)}catch(a){if(a instanceof RangeError){let u=Math.ceil(r/65536);i=new WebAssembly.Memory({initial:u,maximum:u}).buffer}else throw a}let s=0;for(;;){let{done:a,value:u}=await o.read();if(a)break;let d=u.byteLength;new Uint8Array(i,s,d).set(u),s+=d}return new Uint8Array(i,0,r)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}});var yd,bd,po,mo,Ft,_d,Z,Pe=k(()=>{\"use strict\";L();yd=[\"V\",\"I\",\"W\",\"E\",\"F\"],bd=(e,t)=>{console.log(`[${yd[e]},${new Date().toISOString()}]${t}`)},Ft=(e,t)=>{po=e,mo=t},_d=(e,t)=>{let n=gt(e),r=gt(po);n>=r&&bd(n,typeof t==\"function\"?t():t)},Z=(...e)=>{mo&&_d(...e)}});var Rn,ze,x,Je,qt,fo,ho,H=k(()=>{\"use strict\";Rn=class{static calcMatMulShape(t,n){return t[1]!==n[0]?void 0:[t[0],n[1]]}},ze=class{static calcShape(t,n,r=!1){let o=t.length,i=n.length;if(o===0)return n;if(i===0)return t;let s=Math.max(t.length,n.length),a=new Array(s);if(r){if(o<2||i<2)return;let u=Rn.calcMatMulShape([t[o-2],t[o-1]],[n[i-2],n[i-1]]);if(u===void 0)return;[a[s-2],a[s-1]]=u}for(let u=r?3:1;u<=s;u++){let d=o-u<0?1:t[o-u],l=i-u<0?1:n[i-u];if(d!==l&&d>1&&l>1)return;let c=Math.max(d,l);if(d&&l)a[s-u]=Math.max(d,l);else{if(c>1)return;a[s-u]=0}}return a}static isValidBroadcast(t,n){let r=t.length,o=n.length;if(r>o)return!1;for(let i=1;i<=r;i++)if(t[r-i]!==1&&t[r-i]!==n[o-i])return!1;return!0}},x=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static convertShape(t,n=4){let r=t.length;if(r===0)return[];let o=new Array(r),i=r-1;for(;i>=0;){if(t[i]%n===0){o[i]=t[i]/n;break}if(n%t[i]!==0)throw new Error(\"cannot convert shape\");o[i]=1,n/=t[i],i--}for(i--;i>=0;i--)o[i]=t[i];return o}static sizeFromDimension(t,n){if(n<0||n>t.length)throw new Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,n,t.length)}static sizeToDimension(t,n){if(n<0||n>t.length)throw new Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,n)}static getSizeFromDimensionRange(t,n,r){let o=1;for(let i=n;i<r;i++){if(t[i]<0)throw new Error(\"cannot get valid size from specified dimension range. Most likely the range contains negative values in them.\");o*=Number(t[i])}return o}static computeStrides(t){let n=t.length;if(n===0)return[];if(n===1)return[1];let r=new Array(n);r[n-1]=1,r[n-2]=t[n-1];for(let o=n-3;o>=0;--o)r[o]=r[o+1]*t[o+1];return r}static normalizeAxis(t,n){if(t<-n&&t>=n)throw new Error(\"unsupported axis for this operation.\");return t<0?t+n:t}static normalizeAxes(t,n){return t.map(r=>this.normalizeAxis(r,n??t.length))}static sortBasedOnPerm(t,n){return n?n.map(r=>t[r]):t.slice().reverse()}static padShape(t,n){let r=t.length;return t.map((o,i)=>o+n[i]+n[i+r])}static areEqual(t,n){return t.length!==n.length?!1:t.every((r,o)=>r===n[o])}},Je=class e{static adjustPoolAttributes(t,n,r,o,i,s){if(!t&&r.length!==n.length-2)throw new Error(\"length of specified kernel shapes should be 2 less than length of input dimensions\");if(t)for(let a=0;a<n.length-2;a++)a>=r.length?r.push(n[a+2]):r[a]=n[a+2];for(let a=0;a<r.length;a++)if(a<o.length){if(o[a]<0)throw new Error(\"strides should be greater than or equal to 1\")}else o.push(1);for(let a=0;a<r.length;a++)if(a<i.length){if(i[a]<0)throw new Error(\"dilations should be greater than or equal to 1\")}else i.push(1);for(let a=0;a<r.length*2;a++)if(a<s.length){if(s[a]<0)throw new Error(\"pad should be greater than or equal to 1\")}else s.push(0);for(let a=0;a<r.length;a++){if(r[a]<=0)throw new Error(\"kernel shapes need to be greater than 0\");if(s[a]>=r[a]||s[a+r.length]>=r[a])throw new Error(\"pads should be smaller than kernel\")}}static adjustPadsBasedOnAutoPad(t,n,r,o,i,s,a){if(a){if(i.length!==2*(t.length-2))throw new Error(\"length of pads should be twice the length of data dimensions\");if(n.length!==t.length-2)throw new Error(\"length of strides should be the length of data dimensions\");if(o.length!==t.length-2)throw new Error(\"length of kernel shapes should be the length of data dimensions\");for(let u=0;u<t.length-2;u++)e.adjustPadAndReturnShape(t[u+(s?1:2)],n[u],r[u],o[u],i,u,u+t.length-2,a)}}static computePoolOutputShape(t,n,r,o,i,s,a,u=0){if(n.length<=0)throw new Error(\"input shape must be of size greater than 0\");let d=[n[0],n[1]];return e.computeShapeHelper(t,n,d,r,o,i,s,a,u),d}static computeConvOutputShape(t,n,r,o,i,s,a){if(t.length<=0||n.length<=0)throw new Error(\"invalid input tensor dims or invalid filter tensor dims\");let u=[t[0],n[0]];return e.computeShapeHelper(!1,t,u,r,o,i,s,a),u}static computeShapeHelper(t,n,r,o,i,s,a,u,d=0){if(t)for(let l=0;l<n.length-2;l++)r.push(1);else for(let l=0;l<n.length-2;l++)r.push(e.adjustPadAndReturnShape(n[l+2],o[l],i[l],s[l],a,l,l+n.length-2,u,d))}static computeOutputSize(t,n,r,o,i){let s=Math.floor(t/n)+1;return i===1&&(s=Math.ceil(t/n)+1,(s-1)*n>=r+o&&(s-=1)),s}static adjustPadAndReturnShape(t,n,r,o,i,s,a,u,d=0){let l=r*(o-1)+1;if(u&&u!==\"NOTSET\")switch(u){case\"VALID\":return i[s]=0,i[a]=0,e.computeOutputSize(t-l,n,t,0,d);case\"SAME_LOWER\":case\"SAME_UPPER\":if(r!==1)throw new Error(\"Dilation not supported for SAME_UPPER or SAME_LOWER\");{let p=(Math.floor((t+n-1)/n)-1)*n+o-t;return i[s]=Math.floor(u===\"SAME_LOWER\"?(p+1)/2:p/2),i[a]=p-i[s],e.computeOutputSize(t+i[s]+i[a]-l,n,t,i[s],d)}default:throw new Error(\"Unsupported AutoPad type\")}else return e.computeOutputSize(t+i[s]+i[a]-l,n,t,i[s],d)}},qt=class{static getShapeOfGemmResult(t,n,r,o,i){if(t.length!==2||r.length!==2)throw new Error(\"shape need to be of size 2\");let s,a,u;n?(s=t[1],a=t[0]):(s=t[0],a=t[1]);let d=-1;if(o?(u=r[0],d=1):(u=r[1],d=0),r[d]!==a)throw new Error(\"dimension mismatch\");if(s<=0||u<=0||a<=0)throw new Error(\"invalid shape specified\");if(i&&!ze.isValidBroadcast(i,[s,u]))throw new Error(\"gemm: invalid bias shape for broadcast\");return[s,u,a]}},fo=-34028234663852886e22,ho=34028234663852886e22});var Kt,Vn=k(()=>{\"use strict\";L();Kt=(e,t)=>new(st(t))(e)});var yo,wd,bo,$d,go,vd,_o,jt,Zt,Ln,wo,$o=k(()=>{\"use strict\";L();Pe();yo=new Map([[\"float32\",32],[\"float16\",16],[\"int32\",32],[\"uint32\",32],[\"int64\",64],[\"uint64\",64],[\"int8\",8],[\"uint8\",8],[\"int4\",4],[\"uint4\",4]]),wd=(e,t)=>{if(t===\"int32\")return e;let n=yo.get(t);if(!n)throw new Error(`WebNN backend does not support data type: ${t}`);let r=n/8;if(e.byteLength%r!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${r}.`);let o=e.byteLength/r,i=new(st(t))(e.buffer,e.byteOffset,o);switch(t){case\"int64\":case\"uint64\":{let s=new Int32Array(o);for(let a=0;a<o;a++){let u=i[a];if(u>2147483647n||u<-2147483648n)throw new Error(\"Can not convert int64 data to int32 - value out of range.\");s[a]=Number(u)}return new Uint8Array(s.buffer)}case\"int8\":case\"uint8\":case\"uint32\":{if(t===\"uint32\"&&i.some(a=>a>2147483647))throw new Error(\"Can not convert uint32 data to int32 - value out of range.\");let s=Int32Array.from(i,Number);return new Uint8Array(s.buffer)}default:throw new Error(`Unsupported data conversion from ${t} to 'int32'`)}},bo=(e,t)=>{if(t===\"int32\")return e;if(e.byteLength%4!==0)throw new Error(\"Invalid Uint8Array length - must be a multiple of 4 (int32).\");let n=e.byteLength/4,r=new Int32Array(e.buffer,e.byteOffset,n);switch(t){case\"int64\":{let o=BigInt64Array.from(r,BigInt);return new Uint8Array(o.buffer)}case\"uint64\":{if(r.some(i=>i<0))throw new Error(\"Can not convert int32 data to uin64 - negative value found.\");let o=BigUint64Array.from(r,BigInt);return new Uint8Array(o.buffer)}case\"int8\":{if(r.some(i=>i<-128||i>127))throw new Error(\"Can not convert int32 data to int8 - value out of range.\");let o=Int8Array.from(r,Number);return new Uint8Array(o.buffer)}case\"uint8\":{if(r.some(o=>o<0||o>255))throw new Error(\"Can not convert int32 data to uint8 - value out of range.\");return Uint8Array.from(r,Number)}case\"uint32\":{if(r.some(i=>i<0))throw new Error(\"Can not convert int32 data to uint32 - negative value found.\");let o=Uint32Array.from(r,Number);return new Uint8Array(o.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${t}`)}},$d=1,go=()=>$d++,vd=new Map([[\"int8\",\"int32\"],[\"uint8\",\"int32\"],[\"uint32\",\"int32\"],[\"int64\",\"int32\"]]),_o=(e,t)=>{let n=yo.get(e);if(!n)throw new Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((r,o)=>r*o)*n/8):0},jt=class{constructor(t){this.isDataConverted=!1;let{sessionId:n,context:r,tensor:o,dataType:i,shape:s,fallbackDataType:a}=t;this.sessionId=n,this.mlContext=r,this.mlTensor=o,this.dataType=i,this.tensorShape=s,this.fallbackDataType=a}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return _o(this.dataType,this.tensorShape)}destroy(){Z(\"verbose\",()=>\"[WebNN] TensorWrapper.destroy\"),this.mlTensor.destroy()}write(t){this.mlContext.writeTensor(this.mlTensor,t)}async read(t){if(this.fallbackDataType){let n=await this.mlContext.readTensor(this.mlTensor),r=bo(new Uint8Array(n),this.dataType);if(t){(t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)).set(r);return}else return new Uint8Array(r).buffer}else return t?this.mlContext.readTensor(this.mlTensor,t):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(t,n,r){return this.mlContext===t&&this.dataType===n&&this.tensorShape.length===r.length&&this.tensorShape.every((o,i)=>o===r[i])}setIsDataConverted(t){this.isDataConverted=t}},Zt=class{constructor(t,n){this.tensorManager=t;this.wrapper=n}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(t,n,r,o){let i=this.tensorManager.getMLContext(t),s=this.tensorManager.getMLOpSupportLimits(t),a;if(!s?.input.dataTypes.includes(n)){if(a=vd.get(n),!a||!s?.input.dataTypes.includes(a))throw new Error(`WebNN backend does not support data type: ${n}`);Z(\"verbose\",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${n} to ${a}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(i,n,r))return this.wrapper.tensor;if(o){if(this.wrapper.byteLength!==_o(n,r))throw new Error(\"Unable to copy data to tensor with different size.\");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let u=typeof MLTensorUsage>\"u\"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(t,n,r,u,!0,!0,a),o&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(t){let n=t;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType===\"int32\")n=wd(t,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(t.byteLength===this.wrapper.byteLength){this.wrapper.write(n);return}else Z(\"verbose\",()=>\"Data size does not match tensor size. Releasing tensor.\"),this.releaseTensor()}this.activeUpload?this.activeUpload.set(n):this.activeUpload=new Uint8Array(n)}async download(t){if(this.activeUpload){let n=this.wrapper?.isDataConverted?bo(this.activeUpload,this.wrapper?.type):this.activeUpload;if(t){t instanceof ArrayBuffer?new Uint8Array(t).set(n):new Uint8Array(t.buffer,t.byteOffset,t.byteLength).set(n);return}else return n.buffer}if(!this.wrapper)throw new Error(\"Tensor has not been created.\");return t?this.wrapper.read(t):this.wrapper.read()}},Ln=class{constructor(t){this.backend=t;this.tensorTrackersById=new Map;this.freeTensors=[];this.externalTensors=new Set}getMLContext(t){let n=this.backend.getMLContext(t);if(!n)throw new Error(\"MLContext not found for session.\");return n}getMLOpSupportLimits(t){return this.backend.getMLOpSupportLimits(t)}reserveTensorId(){let t=go();return this.tensorTrackersById.set(t,new Zt(this)),t}releaseTensorId(t){let n=this.tensorTrackersById.get(t);n&&(this.tensorTrackersById.delete(t),n.tensorWrapper&&this.releaseTensor(n.tensorWrapper))}async ensureTensor(t,n,r,o,i){Z(\"verbose\",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${n}, dataType: ${r}, shape: ${o}, copyOld: ${i}}`);let s=this.tensorTrackersById.get(n);if(!s)throw new Error(\"Tensor not found.\");return s.ensureTensor(t,r,o,i)}upload(t,n){let r=this.tensorTrackersById.get(t);if(!r)throw new Error(\"Tensor not found.\");r.upload(n)}async download(t,n){Z(\"verbose\",()=>`[WebNN] TensorManager.download {tensorId: ${t}, dstBuffer: ${n?.byteLength}}`);let r=this.tensorTrackersById.get(t);if(!r)throw new Error(\"Tensor not found.\");return r.download(n)}releaseTensorsForSession(t){for(let n of this.freeTensors)n.sessionId===t&&n.destroy();this.freeTensors=this.freeTensors.filter(n=>n.sessionId!==t)}registerTensor(t,n,r,o){let i=this.getMLContext(t),s=go(),a=new jt({sessionId:t,context:i,tensor:n,dataType:r,shape:o});return this.tensorTrackersById.set(s,new Zt(this,a)),this.externalTensors.add(a),s}async getCachedTensor(t,n,r,o,i,s,a){let u=this.getMLContext(t);for(let[l,c]of this.freeTensors.entries())if(c.canReuseTensor(u,n,r)){Z(\"verbose\",()=>`[WebNN] Reusing tensor {dataType: ${n}, ${a?`fallbackDataType: ${a},`:\"\"} shape: ${r}`);let p=this.freeTensors.splice(l,1)[0];return p.sessionId=t,p}Z(\"verbose\",()=>`[WebNN] MLContext.createTensor {dataType: ${n}, ${a?`fallbackDataType: ${a},`:\"\"} shape: ${r}}`);let d=await u.createTensor({dataType:a??n,shape:r,dimensions:r,usage:o,writable:i,readable:s});return new jt({sessionId:t,context:u,tensor:d,dataType:n,shape:r,fallbackDataType:a})}releaseTensor(t){this.externalTensors.has(t)&&this.externalTensors.delete(t),this.freeTensors.push(t)}},wo=(...e)=>new Ln(...e)});var Qt,xd,Xt,vo=k(()=>{\"use strict\";L();Ge();Vn();$o();Pe();Qt=new Map([[1,\"float32\"],[10,\"float16\"],[6,\"int32\"],[12,\"uint32\"],[7,\"int64\"],[13,\"uint64\"],[22,\"int4\"],[21,\"uint4\"],[3,\"int8\"],[2,\"uint8\"],[9,\"uint8\"]]),xd=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=Object.keys(e).sort(),r=Object.keys(t).sort();return n.length===r.length&&n.every((o,i)=>o===r[i]&&e[o]===t[o])},Xt=class{constructor(t){this.tensorManager=wo(this);this.mlContextBySessionId=new Map;this.sessionIdsByMLContext=new Map;this.mlContextCache=[];this.sessionGraphInputs=new Map;this.sessionGraphOutputs=new Map;this.temporaryGraphInputs=[];this.temporaryGraphOutputs=[];this.temporarySessionTensorIds=new Map;this.mlOpSupportLimitsBySessionId=new Map;Ft(t.logLevel,!!t.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error(\"No active session\");return this.activeSessionId}onRunStart(t){Z(\"verbose\",()=>`[WebNN] onRunStart {sessionId: ${t}}`),this.activeSessionId=t}onRunEnd(t){Z(\"verbose\",()=>`[WebNN] onRunEnd {sessionId: ${t}}`);let n=this.temporarySessionTensorIds.get(t);if(n){for(let r of n)Z(\"verbose\",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(t),this.activeSessionId=void 0}}async createMLContext(t){if(t instanceof GPUDevice){let r=this.mlContextCache.findIndex(o=>o.gpuDevice===t);if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext(t);return this.mlContextCache.push({gpuDevice:t,mlContext:o}),o}}else if(t===void 0){let r=this.mlContextCache.findIndex(o=>o.options===void 0&&o.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let o=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:o}),o}}let n=this.mlContextCache.findIndex(r=>xd(r.options,t));if(n!==-1)return this.mlContextCache[n].mlContext;{let r=await navigator.ml.createContext(t);return this.mlContextCache.push({options:t,mlContext:r}),r}}registerMLContext(t,n){this.mlContextBySessionId.set(t,n);let r=this.sessionIdsByMLContext.get(n);r||(r=new Set,this.sessionIdsByMLContext.set(n,r)),r.add(t),this.mlOpSupportLimitsBySessionId.has(t)||this.mlOpSupportLimitsBySessionId.set(t,n.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(t,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(t,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(t){this.sessionGraphInputs.delete(t),this.sessionGraphOutputs.delete(t);let n=this.mlContextBySessionId.get(t);if(!n)return;this.tensorManager.releaseTensorsForSession(t),this.mlContextBySessionId.delete(t),this.mlOpSupportLimitsBySessionId.delete(t);let r=this.sessionIdsByMLContext.get(n);if(r.delete(t),r.size===0){this.sessionIdsByMLContext.delete(n);let o=this.mlContextCache.findIndex(i=>i.mlContext===n);o!==-1&&this.mlContextCache.splice(o,1)}}getMLContext(t){return this.mlContextBySessionId.get(t)}getMLOpSupportLimits(t){return this.mlOpSupportLimitsBySessionId.get(t)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(t){Z(\"verbose\",()=>`[WebNN] releaseTensorId {tensorId: ${t}}`),this.tensorManager.releaseTensorId(t)}async ensureTensor(t,n,r,o,i){let s=Qt.get(r);if(!s)throw new Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(t??this.currentSessionId,n,s,o,i)}async createTemporaryTensor(t,n,r){Z(\"verbose\",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${n}, shape: ${r}}`);let o=Qt.get(n);if(!o)throw new Error(`Unsupported ONNX data type: ${n}`);let i=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(t,i,o,r,!1);let s=this.temporarySessionTensorIds.get(t);return s?s.push(i):this.temporarySessionTensorIds.set(t,[i]),i}uploadTensor(t,n){if(!te().shouldTransferToMLTensor)throw new Error(\"Trying to upload to a MLTensor while shouldTransferToMLTensor is false\");Z(\"verbose\",()=>`[WebNN] uploadTensor {tensorId: ${t}, data: ${n.byteLength}}`),this.tensorManager.upload(t,n)}async downloadTensor(t,n){return this.tensorManager.download(t,n)}createMLTensorDownloader(t,n){return async()=>{let r=await this.tensorManager.download(t);return Kt(r,n)}}registerMLTensor(t,n,r,o){let i=Qt.get(r);if(!i)throw new Error(`Unsupported ONNX data type: ${r}`);let s=this.tensorManager.registerTensor(t,n,i,o);return Z(\"verbose\",()=>`[WebNN] registerMLTensor {tensor: ${n}, dataType: ${i}, dimensions: ${o}} -> {tensorId: ${s}}`),s}registerGraphInput(t){this.temporaryGraphInputs.push(t)}registerGraphOutput(t){this.temporaryGraphOutputs.push(t)}isGraphInput(t,n){let r=this.sessionGraphInputs.get(t);return r?r.includes(n):!1}isGraphOutput(t,n){let r=this.sessionGraphOutputs.get(t);return r?r.includes(n):!1}isGraphInputOutputTypeSupported(t,n,r=!0){let o=Qt.get(He(n)),i=this.mlOpSupportLimitsBySessionId.get(t);return typeof o>\"u\"?!1:r?!!i?.input.dataTypes.includes(o):!!i?.output.dataTypes.includes(o)}flush(){}}});var Yt=k(()=>{\"use strict\"});var xo,Nn,Wn,Sd,Td,So,Hn,Gn,Io,Co=k(()=>{\"use strict\";Pe();Yt();xo=new Map([[64,250],[128,200],[256,200],[512,200],[2048,230],[4096,200],[8192,50],[16384,50],[32768,50],[65536,50],[131072,50],[262144,50],[524288,50],[1048576,50],[2097152,30],[4194304,20],[8388608,10],[12582912,10],[16777216,10],[26214400,15],[33554432,22],[44236800,2],[58982400,6],[67108864,6],[134217728,6],[167772160,6]]),Nn=[],Wn=e=>Math.ceil(Number(e)/16)*16,Sd=e=>{for(let t=0;t<Nn.length;t++){let n=Nn[t];if(e<=n)return n}return Math.ceil(e/16)*16},Td=1,So=()=>Td++,Hn=async(e,t,n,r)=>{let o=Wn(n),i=e.device.createBuffer({size:o,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let s=e.getCommandEncoder();e.endComputePass(),s.copyBufferToBuffer(t,0,i,0,o),e.flush(),await i.mapAsync(GPUMapMode.READ);let a=i.getMappedRange();if(r){let u=r();return u.set(new Uint8Array(a,0,n)),u}else return new Uint8Array(a.slice(0,n))}finally{i.destroy()}},Gn=class{constructor(t){this.backend=t;this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[n]of xo)Nn.push(n),this.freeBuffers.set(n,[]),this.freeUniformBuffers.set(n,[]);this.sessionCount=0}upload(t,n){let r=n.buffer,o=n.byteOffset,i=n.byteLength,s=Wn(i),a=this.storageCache.get(t);if(!a)throw new Error(\"gpu data for uploading does not exist\");if(Number(a.originalSize)!==i)throw new Error(`inconsistent data size. gpu data size=${a.originalSize}, data size=${i}`);if(s===i&&o%4===0)this.backend.device.queue.writeBuffer(a.gpuData.buffer,0,r,o,i);else{let u=new Uint8Array(s);u.set(n),this.backend.device.queue.writeBuffer(a.gpuData.buffer,0,u,0,s)}Z(\"verbose\",()=>`[WebGPU] GpuDataManager.upload(id=${t})`)}memcpy(t,n){let r=this.storageCache.get(t);if(!r)throw new Error(\"source gpu data for memcpy does not exist\");let o=this.storageCache.get(n);if(!o)throw new Error(\"destination gpu data for memcpy does not exist\");if(r.originalSize!==o.originalSize)throw new Error(\"inconsistent source and destination gpu data size\");let i=Wn(r.originalSize),s=this.backend.getCommandEncoder();this.backend.endComputePass(),s.copyBufferToBuffer(r.gpuData.buffer,0,o.gpuData.buffer,0,i)}registerExternalBuffer(t,n,r){let o;if(r){if(o=r[0],t===r[1])return Z(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${n}) => id=${o}, buffer is the same, skip.`),o;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.\n Please use the previous external buffer!`)}else o=So();return this.storageCache.set(o,{gpuData:{id:o,type:0,buffer:t},originalSize:n}),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${n}) => id=${o}, registered.`),o}unregisterExternalBuffer(t){t!==void 0&&(this.storageCache.delete(t),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${t}`))}create(t,n=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let r=Sd(t),o,i=(n&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,s=(n&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(i||s){let d=(i?this.freeBuffers:this.freeUniformBuffers).get(r);d?d.length>0?o=d.pop():o=this.backend.device.createBuffer({size:r,usage:n}):o=this.backend.device.createBuffer({size:r,usage:n})}else o=this.backend.device.createBuffer({size:r,usage:n});let a={id:So(),type:0,buffer:o};return this.storageCache.set(a.id,{gpuData:a,originalSize:Number(t)}),Z(\"verbose\",()=>`[WebGPU] GpuDataManager.create(size=${t}) => id=${a.id}`),a}get(t){return this.storageCache.get(t)?.gpuData}release(t){let n=typeof t==\"bigint\"?Number(t):t,r=this.storageCache.get(n);if(!r){if(this.storageCache.size===0)return 0;throw new Error(\"releasing data does not exist\")}return Z(\"verbose\",()=>`[WebGPU] GpuDataManager.release(id=${n}), gpuDataId=${r.gpuData.id}`),this.storageCache.delete(n),this.buffersPending.push(r.gpuData.buffer),r.originalSize}async download(t,n){let r=this.storageCache.get(Number(t));if(!r)throw new Error(\"data does not exist\");await Hn(this.backend,r.gpuData.buffer,r.originalSize,n)}refreshPendingBuffers(){if(this.buffersPending.length!==0)if(this.backend.sessionStatus===\"default\"){for(let t of this.buffersPending){let n=xo.get(t.size);if((t.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE){let r=this.freeBuffers.get(t.size)||[];n===void 0||r.length>=n?t.destroy():r.push(t)}else if((t.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM){let r=this.freeUniformBuffers.get(t.size)||[];n===void 0||r.length>=n?t.destroy():r.push(t)}else t.destroy()}this.buffersPending=[]}else{let t=this.capturedPendingBuffers.get(this.backend.currentSessionId);t||(t=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,t));for(let n of this.buffersPending)t.push(n);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.freeUniformBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.storageCache.forEach(t=>{t.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(t=>{t.forEach(n=>{n.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onCreateSession(){this.sessionCount+=1}onReleaseSession(t){let n=this.capturedPendingBuffers.get(t);n&&(n.forEach(r=>{r.destroy()}),this.capturedPendingBuffers.delete(t)),this.sessionCount-=1,this.sessionCount===0&&(Z(\"warning\",()=>\"[WebGPU] Clearing webgpu buffer cache\"),this.storageCache.forEach(r=>{r.gpuData.buffer.destroy()}),this.storageCache=new Map)}},Io=(...e)=>new Gn(...e)});var Fn,V,ue=k(()=>{\"use strict\";Fn=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(\";\")),this.key}},V=e=>new Fn(e)});var et,Kn,re,de,P,J,jn,tt,Ie,B,Jt,S,C,Ao,en,qn,Eo,q=k(()=>{\"use strict\";L();H();et=64,Kn=(e,t)=>{if(t===3)throw new Error(\"vec3 has same alignment as vec4, use vec4 instead\");switch(Number(e)){case 10:return t>1?`vec${t}<f16>`:\"f16\";case 1:return t>1?`vec${t}<f32>`:\"f32\";case 6:return t>1?`vec${t}<i32>`:\"i32\";case 12:return t>1?`vec${t}<u32>`:\"u32\";case 7:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2<u32>\",\"i32\"];case 13:if(t>1)throw new Error(\"currently not supported vecX of uint64 yet\");return[\"vec2<u32>\",\"u32\"];case 9:if(t!==4)throw new Error(\"bool must be vec4\");return[\"u32\",\"vec4<bool>\"];case 22:return\"i32\";case 21:return\"u32\";default:throw new Error(`Unknown data type: ${e}`)}},re=(e,t=1)=>{let n=Kn(e,t);return typeof n==\"string\"?n:n[0]},de=(e,t=1)=>{let n=Kn(e,t);return typeof n==\"string\"?n:n[1]},P=(...e)=>{let t=[];return e.forEach(n=>{n.length!==0&&t.push({type:12,data:n},{type:12,data:x.computeStrides(n)})}),t},J=e=>e%4===0?4:e%2===0?2:1,jn=(e=\"f32\",t,n=\"0\")=>!t||t===1?`${e}(${n})`:`vec${t}<${e}>(${n})`,tt=(e,t,n)=>e===\"f32\"?n:t===1?`f32(${n})`:`vec${t}<f32>(${n})`,Ie=(e,t)=>t===4?`(${e}.x + ${e}.y + ${e}.z + ${e}.w)`:t===2?`(${e}.x + ${e}.y)`:t===3?`(${e}.x + ${e}.y + ${e}.z)`:e,B=(e,t,n,r)=>e.startsWith(\"uniforms.\")&&n>4?typeof t==\"string\"?r===\"f16\"?`${e}[(${t}) / 8][(${t}) % 8 / 4][(${t}) % 8 % 4]`:`${e}[(${t}) / 4][(${t}) % 4]`:r===\"f16\"?`${e}[${Math.floor(t/8)}][${Math.floor(t%8/4)}][${t%8%4}]`:`${e}[${Math.floor(t/4)}][${t%4}]`:n>1?`${e}[${t}]`:e,Jt=(e,t,n,r,o)=>{let i=typeof n==\"number\",s=i?n:n.length,a=[...new Array(s).keys()],u=s<2?\"u32\":s<=4?`vec${s}<u32>`:`array<u32, ${s}>`,d=Kn(t,o),l=typeof d==\"string\"?d:d[1],c=typeof d==\"string\"?d:d[0],p={indices:u,value:l,storage:c,tensor:t},f=A=>typeof A==\"string\"?A:`${A}u`,m={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},h=i?\"uniforms.\":\"\",b=`${h}${e}_shape`,y=`${h}${e}_strides`,g=\"\";for(let A=0;A<s-1;A++)g+=`\n let dim${A} = current / ${B(y,A,s)};\n let rest${A} = current % ${B(y,A,s)};\n indices[${A}] = dim${A};\n current = rest${A};\n `;g+=`indices[${s-1}] = current;`;let _=s<2?\"\":`\n fn o2i_${e}(offset: u32) -> ${p.indices} {\n var indices: ${p.indices};\n var current = offset;\n ${g}\n return indices;\n }`,w=A=>(m.offsetToIndices=!0,s<2?A:`o2i_${e}(${A})`),$=[];if(s>=2)for(let A=s-1;A>=0;A--)$.push(`${B(y,A,s)} * (indices[${A}])`);let v=s<2?\"\":`\n fn i2o_${e}(indices: ${p.indices}) -> u32 {\n return ${$.join(\"+\")};\n }`,T=A=>(m.indicesToOffset=!0,s<2?A:`i2o_${e}(${A})`),I=(...A)=>s===0?\"0u\":`${p.indices}(${A.map(f).join(\",\")})`,E=(A,D)=>s<2?`${A}`:`${B(A,D,s)}`,z=(A,D,oe)=>s<2?`${A}=${oe};`:`${B(A,D,s)}=${oe};`,M={},O=(A,D)=>{m.broadcastedIndicesToOffset=!0;let oe=`${D.name}broadcastedIndicesTo${e}Offset`;if(oe in M)return`${oe}(${A})`;let he=[];for(let ae=s-1;ae>=0;ae--){let ge=D.indicesGet(\"outputIndices\",ae+D.rank-s);he.push(`${E(y,ae)} * (${ge} % ${E(b,ae)})`)}return M[oe]=`fn ${oe}(outputIndices: ${D.type.indices}) -> u32 {\n return ${he.length>0?he.join(\"+\"):\"0u\"};\n }`,`${oe}(${A})`},W=(A,D)=>(()=>{if(p.storage===p.value)return`${e}[${A}]=${D};`;if(p.storage===\"vec2<u32>\"&&p.value===\"i32\")return`${e}[${A}]=vec2<u32>(u32(${D}), select(0u, 0xFFFFFFFFu, ${D} < 0));`;if(p.storage===\"vec2<u32>\"&&p.value===\"u32\")return`${e}[${A}]=vec2<u32>(u32(${D}), 0u);`;if(p.storage===\"u32\"&&p.value===\"vec4<bool>\")return`${e}[${A}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${D}));`;throw new Error(`not supported combination of storage type ${p.storage} and value type ${p.value} yet`)})(),K=A=>(()=>{if(p.storage===p.value)return`${e}[${A}]`;if(p.storage===\"vec2<u32>\"&&p.value===\"i32\")return`i32(${e}[${A}].x)`;if(p.storage===\"vec2<u32>\"&&p.value===\"u32\")return`u32(${e}[${A}].x)`;if(p.storage===\"u32\"&&p.value===\"vec4<bool>\")return`vec4<bool>(bool(${e}[${A}] & 0xFFu), bool(${e}[${A}] & 0xFF00u), bool(${e}[${A}] & 0xFF0000u), bool(${e}[${A}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${p.storage} and value type ${p.value} yet`)})(),U=s<2?\"\":`\n fn get_${e}ByIndices(indices: ${p.indices}) -> ${l} {\n return ${K(`i2o_${e}(indices)`)};\n }`,R=s<2?\"\":(()=>{let A=a.map(oe=>`d${oe}: u32`).join(\", \"),D=a.map(oe=>`d${oe}`).join(\", \");return`\n fn get_${e}(${A}) -> ${l} {\n return get_${e}ByIndices(${I(D)});\n }`})(),G=(...A)=>{if(A.length!==s)throw new Error(`indices length must be ${s}`);let D=A.map(f).join(\",\");return s===0?K(\"0u\"):s===1?K(D[0]):(m.get=!0,m.getByIndices=!0,m.indicesToOffset=!0,`get_${e}(${D})`)},N=A=>s<2?K(A):(m.getByIndices=!0,m.indicesToOffset=!0,`get_${e}ByIndices(${A})`),j=s<2?\"\":`\n fn set_${e}ByIndices(indices: ${p.indices}, value: ${l}) {\n ${W(`i2o_${e}(indices)`,\"value\")}\n }`,Q=s<2?\"\":(()=>{let A=a.map(oe=>`d${oe}: u32`).join(\", \"),D=a.map(oe=>`d${oe}`).join(\", \");return`\n fn set_${e}(${A}, value: ${l}) {\n set_${e}ByIndices(${I(D)}, value);\n }`})();return{impl:()=>{let A=[],D=!1;return m.offsetToIndices&&(A.push(_),D=!0),m.indicesToOffset&&(A.push(v),D=!0),m.broadcastedIndicesToOffset&&(Object.values(M).forEach(oe=>A.push(oe)),D=!0),m.set&&(A.push(Q),D=!0),m.setByIndices&&(A.push(j),D=!0),m.get&&(A.push(R),D=!0),m.getByIndices&&(A.push(U),D=!0),!i&&D&&A.unshift(`const ${b} = ${p.indices}(${n.join(\",\")});`,`const ${y} = ${p.indices}(${x.computeStrides(n).join(\",\")});`),A.join(`\n`)},type:p,offsetToIndices:w,indicesToOffset:T,broadcastedIndicesToOffset:O,indices:I,indicesGet:E,indicesSet:z,set:(...A)=>{if(A.length!==s+1)throw new Error(`indices length must be ${s}`);let D=A[s];if(typeof D!=\"string\")throw new Error(\"value must be string\");let oe=A.slice(0,s).map(f).join(\",\");return s===0?W(\"0u\",D):s===1?W(oe[0],D):(m.set=!0,m.setByIndices=!0,m.indicesToOffset=!0,`set_${e}(${oe}, ${D})`)},setByOffset:W,setByIndices:(A,D)=>s<2?W(A,D):(m.setByIndices=!0,m.indicesToOffset=!0,`set_${e}ByIndices(${A}, ${D});`),get:G,getByOffset:K,getByIndices:N,usage:r,name:e,strides:y,shape:b,rank:s}},S=(e,t,n,r=1)=>Jt(e,t,n,\"input\",r),C=(e,t,n,r=1)=>Jt(e,t,n,\"output\",r),Ao=(e,t,n)=>Jt(e,t,n,\"atomicOutput\",1),en=(e,t,n,r=1)=>Jt(e,t,n,\"internal\",r),qn=class{constructor(t,n){this.normalizedDispatchGroup=t;this.limits=n;this.internalVariables=[];this.variables=[];this.uniforms=[];this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(t){return`if (global_idx >= ${typeof t==\"number\"?`${t}u`:t}) { return; }`}mainStart(t=et){let n=typeof t==\"number\"?t:t[0],r=typeof t==\"number\"?1:t[1],o=typeof t==\"number\"?1:t[2];if(n>this.limits.maxComputeWorkgroupSizeX||r>this.limits.maxComputeWorkgroupSizeY||o>this.limits.maxComputeWorkgroupSizeZ)throw new Error(`workgroup size [${n}, ${r}, ${o}] exceeds the maximum workgroup size [${this.limits.maxComputeWorkgroupSizeX}, ${this.limits.maxComputeWorkgroupSizeY}, ${this.limits.maxComputeWorkgroupSizeZ}].`);if(n*r*o>this.limits.maxComputeInvocationsPerWorkgroup)throw new Error(`workgroup size [${n}, ${r}, ${o}] exceeds the maximum workgroup invocations ${this.limits.maxComputeInvocationsPerWorkgroup}.`);let i=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1,s=i?`@builtin(global_invocation_id) global_id : vec3<u32>,\n @builtin(workgroup_id) workgroup_id : vec3<u32>,\n @builtin(local_invocation_index) local_idx : u32,\n @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(global_invocation_id) global_id : vec3<u32>,\n @builtin(local_invocation_id) local_id : vec3<u32>,\n @builtin(local_invocation_index) local_idx : u32,\n @builtin(workgroup_id) workgroup_id : vec3<u32>,\n @builtin(num_workgroups) num_workgroups : vec3<u32>`,a=i?`let global_idx = global_id.x;\n let workgroup_index = workgroup_id.x;`:`let workgroup_index = workgroup_id.z * num_workgroups[0] * num_workgroups[1] +\n workgroup_id.y * num_workgroups[0] + workgroup_id.x;\n let global_idx = workgroup_index * ${n*r*o}u + local_idx;`;return`@compute @workgroup_size(${n}, ${r}, ${o})\n fn main(${s}) {\n ${a}\n `}appendVariableUniforms(t){t.rank!==0&&(t.shape.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.shape.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}),t.strides.startsWith(\"uniforms.\")&&this.uniforms.push({name:t.strides.replace(\"uniforms.\",\"\"),type:\"u32\",length:t.rank}))}declareVariable(t,n){if(t.usage===\"internal\")throw new Error(\"cannot use internal variable with declareVariable(). use registerInternalVariables() instead.\");this.variables.push(t),this.appendVariableUniforms(t);let r=t.usage===\"input\"?\"read\":\"read_write\",o=t.usage===\"atomicOutput\"?\"atomic<i32>\":t.type.storage;return`@group(0) @binding(${n}) var<storage, ${r}> ${t.name}: array<${o}>;`}declareVariables(...t){return t.map(n=>this.declareVariable(n,this.variableIndex++)).join(`\n`)}registerInternalVariable(t){if(t.usage!==\"internal\")throw new Error(\"cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.\");this.internalVariables.push(t),this.appendVariableUniforms(t)}registerInternalVariables(...t){return t.forEach(n=>this.registerInternalVariable(n)),this}registerUniform(t,n,r=1){return this.uniforms.push({name:t,type:n,length:r}),this}registerUniforms(t){return this.uniforms=this.uniforms.concat(t),this}uniformDeclaration(){if(this.uniforms.length===0)return\"\";let t=[];for(let{name:n,type:r,length:o}of this.uniforms)if(o&&o>4)r===\"f16\"?t.push(`@align(16) ${n}:array<mat2x4<${r}>, ${Math.ceil(o/8)}>`):t.push(`${n}:array<vec4<${r}>, ${Math.ceil(o/4)}>`);else{let i=o==null||o===1?r:`vec${o}<${r}>`;t.push(`${n}:${i}`)}return`\n struct Uniforms { ${t.join(\", \")} };\n @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(t=>t.impl()).join(`\n`)+this.internalVariables.map(t=>t.impl()).join(`\n`)}get variablesInfo(){if(this.uniforms.length===0)return;let t=n=>[12,10,1,6][[\"u32\",\"f16\",\"f32\",\"i32\"].indexOf(n)];return this.uniforms.map(n=>[t(n.type),n.length??1])}},Eo=(e,t)=>new qn(e,t)});var Id,ko,Cd,Ad,Ed,kd,me,Po,zo,Re=k(()=>{\"use strict\";L();H();ue();q();Id=(e,t)=>{if(!e||e.length!==1)throw new Error(\"Transpose requires 1 input.\");if(t.length!==0&&t.length!==e[0].dims.length)throw new Error(`perm size ${t.length} does not match input rank ${e[0].dims.length}`)},ko=(e,t)=>t.length!==0?t:[...new Array(e).keys()].reverse(),Cd=(e,t)=>x.sortBasedOnPerm(e,ko(e.length,t)),Ad=(e,t,n,r)=>{let o=`fn perm(i: ${r.type.indices}) -> ${n.type.indices} {\n var a: ${n.type.indices};`;for(let i=0;i<t;++i)o+=`a[${e[i]}]=i[${i}];`;return o+=\"return a;}\"},Ed=(e,t)=>{let n=[],r=[];for(let o=0;o<e.length;++o)e[o]!==1&&n.push(e[o]),e[t[o]]!==1&&r.push(t[o]);return{newShape:n,newPerm:r}},kd=(e,t)=>{let n=0;for(let r=0;r<e.length;++r)if(t[e[r]]!==1){if(e[r]<n)return!1;n=e[r]}return!0},me=(e,t)=>{let n=e.dataType,r=e.dims.length,o=ko(r,t),i=Cd(e.dims,o),s=e.dims,a=i,u=r<2||kd(o,e.dims),d;if(u)return d=h=>{let b=S(\"input\",n,s,4),y=C(\"output\",n,a,4);return`\n ${h.registerUniform(\"output_size\",\"u32\").declareVariables(b,y)}\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n output[global_idx] = input[global_idx];\n }`},{name:\"TransposeCopy\",shaderCache:{inputDependencies:[\"type\"]},getRunData:()=>{let h=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(h/64/4)},programUniforms:[{type:12,data:Math.ceil(h/4)}]}},getShaderSource:d};let{newShape:l,newPerm:c}=Ed(e.dims,o),p=x.areEqual(c,[2,3,1]),f=x.areEqual(c,[3,1,2]);if(l.length===2||p||f){s=p?[l[0],l[1]*l[2]]:f?[l[0]*l[1],l[2]]:l,a=[s[1],s[0]];let h=16;return d=b=>{let y=S(\"a\",n,s.length),g=C(\"output\",n,a.length);return`\n ${b.registerUniform(\"output_size\",\"u32\").declareVariables(y,g)}\n var<workgroup> tile : array<array<${g.type.value}, ${h+1}>, ${h}>;\n ${b.mainStart([h,h,1])}\n let stride = (uniforms.output_shape[1] - 1) / ${h} + 1;\n let workgroup_id_x = workgroup_index % stride;\n let workgroup_id_y = workgroup_index / stride;\n let input_col = workgroup_id_y * ${h}u + local_id.x;\n let input_row = workgroup_id_x * ${h}u + local_id.y;\n if (input_row < uniforms.a_shape[0] && input_col < uniforms.a_shape[1]) {\n tile[local_id.y][local_id.x] = ${y.getByIndices(`${y.type.indices}(input_row, input_col)`)};\n }\n workgroupBarrier();\n\n let output_col = workgroup_id_x * ${h}u + local_id.x;\n let output_row = workgroup_id_y * ${h}u + local_id.y;\n if (output_row < uniforms.output_shape[0] && output_col < uniforms.output_shape[1]) {\n ${g.setByIndices(`${g.type.indices}(output_row, output_col)`,\"tile[local_id.x][local_id.y]\")}\n }\n }`},{name:\"TransposeShared\",shaderCache:{inputDependencies:[\"type\"]},getRunData:()=>{let b=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(a[1]/h),y:Math.ceil(a[0]/h)},programUniforms:[{type:12,data:b},...P(s,a)]}},getShaderSource:d}}return d=h=>{let b=S(\"a\",n,s.length),y=C(\"output\",n,a.length);return`\n ${h.registerUniform(\"output_size\",\"u32\").declareVariables(b,y)}\n\n ${Ad(o,r,b,y)}\n\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${y.offsetToIndices(\"global_idx\")};\n let aIndices = perm(indices);\n\n ${y.setByOffset(\"global_idx\",b.getByIndices(\"aIndices\"))}\n }`},{name:\"Transpose\",shaderCache:{hint:`${t}`,inputDependencies:[\"rank\"]},getRunData:()=>{let h=x.size(i);return{outputs:[{dims:i,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(h/64)},programUniforms:[{type:12,data:h},...P(s,a)]}},getShaderSource:d}},Po=(e,t)=>{Id(e.inputs,t.perm),e.compute(me(e.inputs[0],t.perm))},zo=e=>V({perm:e.perm})});var Pd,zd,Dd,Bd,Od,Md,Ud,Rd,Vd,Ld,De,Do,Bo,Oo,Mo,Uo,Ro,Vo,Lo,No,Wo,Go=k(()=>{\"use strict\";L();H();q();tn();Re();Pd={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate * candidate\",logSumExp:\"bestValue + exp(candidate)\",l1:\"bestValue + abs(candidate)\",l2:\"bestValue + candidate * candidate\",logSum:\"bestValue + candidate\"},zd={max:\"select(bestValue, candidate, candidate > bestValue)\",min:\"select(bestValue, candidate, candidate < bestValue)\",mean:\"bestValue + candidate\",sum:\"bestValue + candidate\",prod:\"bestValue * candidate\",sumSquare:\"bestValue + candidate\",logSumExp:\"bestValue + candidate\",l1:\"bestValue + candidate\",l2:\"bestValue + candidate\",logSum:\"bestValue + candidate\"},Dd={max:\"_A[offset]\",min:\"_A[offset]\",mean:\"0\",sum:\"0\",prod:\"1\",sumSquare:\"0\",logSumExp:\"0\",l1:\"0\",l2:\"0\",logSum:\"0\"},Bd={max:\"bestValue\",min:\"bestValue\",sum:\"bestValue\",prod:\"bestValue\",sumSquare:\"bestValue\",logSumExp:\"log(bestValue)\",l1:\"bestValue\",l2:\"sqrt(bestValue)\",logSum:\"log(bestValue)\"},Od=(e,t)=>{let n=[];for(let r=t-e;r<t;++r)n.push(r);return n},Md=(e,t)=>{let n=[],r=e.length;for(let i=0;i<r;i++)t.indexOf(i)===-1&&n.push(e[i]);let o=t.map(i=>e[i]);return[n,o]},Ud=(e,t)=>{let n=e.length+t.length,r=[],o=0;for(let i=0;i<n;i++)t.indexOf(i)===-1?r.push(e[o++]):r.push(1);return r},Rd=(e,t)=>{for(let n=0;n<e.length;++n)if(e[e.length-n-1]!==t-1-n)return!1;return!0},Vd=(e,t)=>{let n=[];if(!Rd(e,t)){for(let r=0;r<t;++r)e.indexOf(r)===-1&&n.push(r);e.forEach(r=>n.push(r))}return n},Ld=(e,t,n,r,o,i,s)=>{let a=n[0].dims,u=x.size(i),d=x.size(s),l=S(\"_A\",n[0].dataType,a),c=C(\"output\",o,i),p=64;u===1&&(p=256);let f=`\n var<workgroup> aBestValues : array<f32, ${p}>;\n `,m=h=>`\n ${h.registerUniform(\"reduceSize\",\"u32\").declareVariables(l,c)}\n ${f}\n fn DIV_CEIL(a : u32, b : u32) -> u32 {\n return ((a - 1u) / b + 1u);\n }\n ${h.mainStart(p)}\n\n let outputIndex = global_idx / ${p};\n let offset = outputIndex * uniforms.reduceSize;\n\n var bestValue = f32(${Dd[r]});\n let Length = uniforms.reduceSize;\n for (var k = local_idx; k < Length; k = k + ${p}) {\n let candidate = f32(${l.getByOffset(\"offset + k\")});\n bestValue = ${Pd[r]};\n }\n aBestValues[local_idx] = bestValue;\n workgroupBarrier();\n\n var reduceSize = min(Length, ${p}u);\n for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n currentSize = reduceSize / 2u) {\n let interval = DIV_CEIL(reduceSize, 2u);\n if (local_idx < currentSize) {\n let candidate = aBestValues[local_idx + interval];\n bestValue = ${zd[r]};\n aBestValues[local_idx] = bestValue;\n }\n reduceSize = interval;\n workgroupBarrier();\n }\n\n if (local_idx == 0u) {\n ${c.setByOffset(\"outputIndex\",`${r===\"mean\"?`${c.type.storage}(bestValue / f32(uniforms.reduceSize))`:`${c.type.storage}(${Bd[r]})`}`)};\n }\n }`;return{name:e,shaderCache:{hint:`${t};${p}`,inputDependencies:[\"type\"]},getShaderSource:m,getRunData:()=>({outputs:[{dims:i,dataType:o}],dispatchGroup:{x:u},programUniforms:[{type:12,data:d}]})}},De=(e,t,n,r)=>{let o=e.inputs.length===1?n:Zn(e.inputs,n),i=o.axes;i.length===0&&!o.noopWithEmptyAxes&&(i=e.inputs[0].dims.map((f,m)=>m));let s=x.normalizeAxes(i,e.inputs[0].dims.length),a=s,u=e.inputs[0],d=Vd(a,e.inputs[0].dims.length);d.length>0&&(u=e.compute(me(e.inputs[0],d),{inputs:[0],outputs:[-1]})[0],a=Od(a.length,u.dims.length));let[l,c]=Md(u.dims,a),p=l;o.keepDims&&(p=Ud(l,s)),e.compute(Ld(t,o.cacheKey,[u],r,e.inputs[0].dataType,p,c),{inputs:[u]})},Do=(e,t)=>{De(e,\"ReduceMeanShared\",t,\"mean\")},Bo=(e,t)=>{De(e,\"ReduceL1Shared\",t,\"l1\")},Oo=(e,t)=>{De(e,\"ReduceL2Shared\",t,\"l2\")},Mo=(e,t)=>{De(e,\"ReduceLogSumExpShared\",t,\"logSumExp\")},Uo=(e,t)=>{De(e,\"ReduceMaxShared\",t,\"max\")},Ro=(e,t)=>{De(e,\"ReduceMinShared\",t,\"min\")},Vo=(e,t)=>{De(e,\"ReduceProdShared\",t,\"prod\")},Lo=(e,t)=>{De(e,\"ReduceSumShared\",t,\"sum\")},No=(e,t)=>{De(e,\"ReduceSumSquareShared\",t,\"sumSquare\")},Wo=(e,t)=>{De(e,\"ReduceLogSumShared\",t,\"logSum\")}});var Be,Nd,nn,Zn,Oe,Wd,Gd,Hd,Fd,qd,Kd,jd,Zd,Qd,Xd,Me,Ho,Fo,qo,Ko,jo,Zo,Qo,Xo,Yo,Jo,tn=k(()=>{\"use strict\";L();H();ue();q();Go();Be=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"Reduce op requires 1 or 2 inputs.\");if(e.length===2&&e[1].dims.length!==1)throw new Error(\"Invalid axes input dims.\")},Nd=e=>[\"\",\"\",`var value = ${e.getByIndices(\"input_indices\")};`,\"\"],nn=(e,t,n,r,o,i,s=!1,a=!1)=>{let u=[],d=n[0].dims,l=d.length,c=x.normalizeAxes(o,l),p=!a&&c.length===0;d.forEach((b,y)=>{p||c.indexOf(y)>=0?s&&u.push(1):u.push(b)});let f=u.length,m=x.size(u);return{name:e,shaderCache:t,getShaderSource:b=>{let y=[],g=S(\"_A\",n[0].dataType,l),_=C(\"output\",i,f),w=r(g,_,c),$=w[2];for(let v=0,T=0;v<l;v++)p||c.indexOf(v)>=0?(s&&T++,$=`for(var j${v}: u32 = 0; j${v} < ${d[v]}; j${v}++) {\n ${w[2].includes(\"last_index\")?`let last_index = j${v};`:\"\"}\n ${g.indicesSet(\"input_indices\",v,`j${v}`)}\n ${$}\n }`):(y.push(`${g.indicesSet(\"input_indices\",v,_.indicesGet(\"output_indices\",T))};`),T++);return`\n\n ${b.registerUniform(\"output_size\",\"u32\").declareVariables(g,_)}\n\n ${b.mainStart()}\n ${b.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var input_indices: ${g.type.indices};\n let output_indices = ${_.offsetToIndices(\"global_idx\")};\n\n ${y.join(`\n`)}\n ${w[0]} // init ops for reduce max/min\n ${w[1]}\n ${$}\n ${w[3]}\n ${w.length===4?_.setByOffset(\"global_idx\",\"value\"):w.slice(4).join(`\n`)}\n }`},getRunData:()=>({outputs:[{dims:u,dataType:i}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:[{type:12,data:m},...P(d,u)]})}},Zn=(e,t)=>{let n=[];return e[1].dims[0]>0&&e[1].getBigInt64Array().forEach(r=>n.push(Number(r))),V({axes:n,keepDims:t.keepDims,noopWithEmptyAxes:t.noopWithEmptyAxes})},Oe=(e,t,n,r)=>{let o=e.inputs,i=o.length===1?n:Zn(o,n);e.compute(nn(t,{hint:i.cacheKey,inputDependencies:[\"rank\"]},[o[0]],i.noopWithEmptyAxes&&i.axes.length===0?Nd:r,i.axes,o[0].dataType,i.keepDims,i.noopWithEmptyAxes),{inputs:[0]})},Wd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceLogSum\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${r.getByIndices(\"input_indices\")};`,\"value = log(value);\"])},Gd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceL1\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += abs(${r.getByIndices(\"input_indices\")});`,\"\"])},Hd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceL2\",t,(r,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${r.getByIndices(\"input_indices\")}; value += (t * t);`,\"value = sqrt(value);\"])},Fd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceLogSumExp\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += exp(${r.getByIndices(\"input_indices\")});`,\"value = log(value);\"])},qd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceMax\",t,(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(r.indicesSet(\"input_indices\",a,0));return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};`,`value = max(value, ${r.getByIndices(\"input_indices\")});`,\"\"]})},Kd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceMean\",t,(r,o,i)=>{let s=1;for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&(s*=e.inputs[0].dims[a]);return[\"var sum = f32(0);\",\"\",`sum += f32(${r.getByIndices(\"input_indices\")});`,`let value = ${o.type.value}(sum / ${s});`]})},jd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceMin\",t,(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};`,`value = min(value, ${r.getByIndices(\"input_indices\")});`,\"\"]})},Zd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceProd\",t,(r,o)=>[`var value = ${o.type.storage}(1);`,\"\",`value *= ${r.getByIndices(\"input_indices\")};`,\"\"])},Qd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceSum\",t,(r,o)=>[`var value = ${o.type.storage}(0);`,\"\",`value += ${r.getByIndices(\"input_indices\")};`,\"\"])},Xd=(e,t)=>{Be(e.inputs),Oe(e,\"ReduceSumSquare\",t,(r,o)=>[`var t = ${o.type.value}(0); var value = ${o.type.value}(0);`,\"\",`t = ${r.getByIndices(\"input_indices\")}; value += t * t;`,\"\"])},Me=(e,t,n)=>{if(t.length===0)return n;let r=1,o=1;for(let i=0;i<t.length;i++)t.indexOf(i)===-1?r*=e[i]:o*=e[i];return o<32&&r>1024},Ho=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Kd(e,t):Do(e,t)},Fo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Gd(e,t):Bo(e,t)},qo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Hd(e,t):Oo(e,t)},Ko=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Fd(e,t):Mo(e,t)},jo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?qd(e,t):Uo(e,t)},Zo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?jd(e,t):Ro(e,t)},Qo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Zd(e,t):Vo(e,t)},Xo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Qd(e,t):Lo(e,t)},Yo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Xd(e,t):No(e,t)},Jo=(e,t)=>{Me(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Wd(e,t):Wo(e,t)}});var ei,ti,ni,Qn,ri=k(()=>{\"use strict\";L();ue();tn();ei=e=>{if(!e||e.length===0||e.length>2)throw new Error(\"ArgMinMaxOp op requires 1 or 2 inputs.\");if(e[0].dataType!==1)throw new Error(\"Invalid input type.\")},ti=(e,t)=>{ei(e.inputs);let n=(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${r.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\"<=\":\"<\"} value) {\n value = ${r.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(nn(\"ArgMin\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],n,[t.axis],7,t.keepDims),{inputs:[0]})},ni=(e,t)=>{ei(e.inputs);let n=(r,o,i)=>{let s=[];for(let a=0;a<r.rank;a++)(i.indexOf(a)>=0||i.length===0)&&s.push(`input_indices[${a}] = 0;`);return[`${s.join(`\n`)}`,`var value = ${r.getByIndices(\"input_indices\")};\nvar best_index : i32 = 0;`,`if (${r.getByIndices(\"input_indices\")} ${t.selectLastIndex>0?\">=\":\">\"} value) {\n value = ${r.getByIndices(\"input_indices\")};\n best_index = i32(last_index);\n }`,\"\",o.setByOffset(\"global_idx\",\"best_index\")]};e.compute(nn(\"argMax\",{hint:t.cacheKey,inputDependencies:[\"rank\"]},[e.inputs[0]],n,[t.axis],7,t.keepDims),{inputs:[0]})},Qn=e=>V(e)});var Yd,Xn,Jd,el,tl,at,nl,oi,rn=k(()=>{\"use strict\";L();H();Yt();q();Yd=(e,t)=>{let n=e[0],r=e[1],o=e[2],i=e[3],s=e[4],a=e[5];if(s&&a)throw new Error(\"Attention cannot have both past and attention_bias\");if(n.dims.length!==3)throw new Error('Input \"input\" must have 3 dimensions');let u=n.dims[0],d=n.dims[1],l=n.dims[2];if(o.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimensions');if(r.dims.length!==2)throw new Error('Input \"weights\" is expected to have 2 dimensions');if(r.dims[0]!==l)throw new Error(\"Input 1 dimension 0 should have same length as dimension 2 of input 0\");if(o.dims[0]!==r.dims[1])throw new Error('Input \"bias\" dimension 0 should have same length as dimension 1 of input \"weights\"');let c=o.dims[0]/3,p=c,f=p;if(t.qkvHiddenSizes.length>0){if(t.qkvHiddenSizes.length!==3)throw new Error(\"qkv_hidden_sizes attribute should have 3 elements\");for(let _ of t.qkvHiddenSizes)if(_%t.numHeads!==0)throw new Error(\"qkv_hidden_sizes should be divisible by num_heads\");c=t.qkvHiddenSizes[0],p=t.qkvHiddenSizes[1],f=t.qkvHiddenSizes[2]}let m=d;if(c!==p)throw new Error(\"qkv_hidden_sizes first element should be same as the second\");if(o.dims[0]!==c+p+f)throw new Error('Input \"bias\" dimension 0 should have same length as sum of Q/K/V hidden sizes');let h=0;if(s){if(p!==f)throw new Error('Input \"past\" expect k_hidden_size == v_hidden_size');if(s.dims.length!==5)throw new Error('Input \"past\" must have 5 dimensions');if(s.dims[0]!==2)throw new Error('Input \"past\" first dimension must be 2');if(s.dims[1]!==u)throw new Error('Input \"past\" second dimension must be batch_size');if(s.dims[2]!==t.numHeads)throw new Error('Input \"past\" third dimension must be num_heads');if(s.dims[4]!==p/t.numHeads)throw new Error('Input \"past\" fifth dimension must be k_hidden_size / num_heads');t.pastPresentShareBuffer||(h=s.dims[3])}let b=m+h,y=-1,g=0;if(i)throw new Error(\"Mask not supported\");if(s)throw new Error(\"past is not supported\");if(a){if(a.dims.length!==4)throw new Error('Input \"attention_bias\" must have 4 dimensions');if(a.dims[0]!==u||a.dims[1]!==t.numHeads||a.dims[2]!==d||a.dims[3]!==b)throw new Error('Expect \"attention_bias\" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:u,sequenceLength:d,pastSequenceLength:h,kvSequenceLength:m,totalSequenceLength:b,maxSequenceLength:y,inputHiddenSize:l,hiddenSize:c,vHiddenSize:f,headSize:Math.floor(c/t.numHeads),vHeadSize:Math.floor(f/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:g,scale:t.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},Xn=(e,t,n)=>t&&e?`\n let total_sequence_length_input = u32(${t.getByOffset(\"0\")});\n let present_sequence_length = max(total_sequence_length_input, uniforms.past_sequence_length);\n let is_subsequent_prompt: bool = sequence_length > 1 && sequence_length != total_sequence_length_input;\n let is_first_prompt: bool = is_subsequent_prompt == false && sequence_length == total_sequence_length_input;\n total_sequence_length = u32(${e?.getByOffset(\"batchIdx\")}) + 1;\n var past_sequence_length: u32 = 0;\n if (is_first_prompt == false) {\n past_sequence_length = total_sequence_length - sequence_length;\n }\n `:`\n ${n?\"let past_sequence_length = uniforms.past_sequence_length\":\"\"};\n let present_sequence_length = total_sequence_length;\n `,Jd=(e,t,n,r,o,i,s,a)=>{let u=J(s?1:i),d=64,l=i/u;l<d&&(d=32);let c=Math.ceil(i/u/d),p=[{type:12,data:t},{type:12,data:n},{type:12,data:r},{type:12,data:o},{type:12,data:l},{type:12,data:c}],f=re(e.dataType,u),m=de(1,u),h=[\"type\"];s&&h.push(\"type\"),a&&h.push(\"type\");let b=y=>{let g=C(\"x\",e.dataType,e.dims,u),_=[g],w=s?S(\"seq_lens\",s.dataType,s.dims):void 0;w&&_.push(w);let $=a?S(\"total_sequence_length_input\",a.dataType,a.dims):void 0;$&&_.push($);let v=de(e.dataType),T=[{name:\"batch_size\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"sequence_length\",type:\"u32\"},{name:\"total_sequence_length\",type:\"u32\"},{name:\"elements_per_thread\",type:\"u32\"}];return`\n var<workgroup> thread_max: array<f32, ${d}>;\n var<workgroup> thread_sum: array<f32, ${d}>;\n ${y.registerUniforms(T).declareVariables(..._)}\n ${y.mainStart([d,1,1])}\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let sequence_length = uniforms.sequence_length;\n var total_sequence_length = uniforms.total_sequence_length;\n ${Xn(w,$,!1)}\n let local_offset = local_idx * uniforms.elements_per_thread;\n let offset = (global_idx / ${d}) * uniforms.total_sequence_length + local_offset;\n let seq_causal_length = ${s?\"u32(past_sequence_length + workgroup_id.y + 1)\":\"total_sequence_length\"};\n var thread_max_vector = ${m}(-3.4028234663852886e+38f);\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n thread_max_vector = max(${m}(x[offset + i]), thread_max_vector);\n }\n thread_max[local_idx] = ${(()=>{switch(u){case 1:return\"thread_max_vector\";case 2:return\"max(thread_max_vector.x, thread_max_vector.y)\";case 4:return\"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))\";default:throw new Error(`Unsupported components: ${u}`)}})()};\n workgroupBarrier();\n\n var max_value = f32(-3.4028234663852886e+38f);\n for (var i = 0u; i < ${d}; i++) {\n max_value = max(thread_max[i], max_value);\n }\n\n var sum_vector = ${m}(0);\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n sum_vector += exp(${m}(x[offset + i]) - max_value);\n }\n thread_sum[local_idx] = ${(()=>{switch(u){case 1:return\"sum_vector\";case 2:return\"sum_vector.x + sum_vector.y\";case 4:return\"sum_vector.x + sum_vector.y + sum_vector.z + sum_vector.w\";default:throw new Error(`Unsupported components: ${u}`)}})()};\n workgroupBarrier();\n\n var sum: f32 = 0;\n for (var i = 0u; i < ${d}; i++) {\n sum += thread_sum[i];\n }\n\n if (sum == 0) {\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n x[offset + i] = ${g.type.value}(${v}(1.0) / ${v}(seq_causal_length));\n }\n } else {\n for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {\n var f32input = ${m}(x[offset + i]);\n x[offset + i] = ${g.type.value}(exp(f32input - max_value) / sum);\n }\n }\n ${s?`\n for (var total_seq_id: u32 = seq_causal_length; total_seq_id + local_offset < uniforms.total_sequence_length; total_seq_id++) {\n x[offset + total_seq_id] = ${g.type.value}(${v}(0));\n }`:\"\"};\n }`};return{name:\"AttentionProbsSoftmax\",shaderCache:{hint:`${d};${f};${u}`,inputDependencies:h},getShaderSource:b,getRunData:()=>({outputs:[],dispatchGroup:{x:1,y:o,z:t*n},programUniforms:p})}},el=(e,t,n,r,o,i,s,a,u)=>{let d=s+i.kvSequenceLength,l=[i.batchSize,i.numHeads,i.sequenceLength,d],c=e>1&&r,p=i.kvNumHeads?i.kvNumHeads:i.numHeads,f=c?[i.batchSize,p,d,i.headSize]:void 0,m=i.nReps?i.nReps:1,h=i.scale===0?1/Math.sqrt(i.headSize):i.scale,b=J(i.headSize),y=i.headSize/b,g=12,_={x:Math.ceil(d/g),y:Math.ceil(i.sequenceLength/g),z:i.batchSize*i.numHeads},w=[{type:12,data:i.sequenceLength},{type:12,data:y},{type:12,data:d},{type:12,data:i.numHeads},{type:12,data:i.headSize},{type:1,data:h},{type:12,data:s},{type:12,data:i.kvSequenceLength},{type:12,data:m}],$=c&&r&&x.size(r.dims)>0,v=[\"type\",\"type\"];$&&v.push(\"type\"),o&&v.push(\"type\"),a&&v.push(\"type\"),u&&v.push(\"type\");let T=[{dims:l,dataType:t.dataType,gpuDataType:0}];c&&T.push({dims:f,dataType:t.dataType,gpuDataType:0});let I=E=>{let z=S(\"q\",t.dataType,t.dims,b),M=S(\"key\",n.dataType,n.dims,b),O=[z,M];if($){let j=S(\"past_key\",r.dataType,r.dims,b);O.push(j)}o&&O.push(S(\"attention_bias\",o.dataType,o.dims));let W=a?S(\"seq_lens\",a.dataType,a.dims):void 0;W&&O.push(W);let K=u?S(\"total_sequence_length_input\",u.dataType,u.dims):void 0;K&&O.push(K);let U=C(\"output\",t.dataType,l),R=[U];c&&R.push(C(\"present_key\",t.dataType,f,b));let G=de(1,b),N=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"n_reps\",type:\"u32\"}];return`\n const TILE_SIZE = ${g}u;\n\n var<workgroup> tileQ: array<${z.type.storage}, ${g*g}>;\n var<workgroup> tileK: array<${z.type.storage}, ${g*g}>;\n ${E.registerUniforms(N).declareVariables(...O,...R)}\n ${E.mainStart([g,g,1])}\n // x holds the N and y holds the M\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let kvHeadIdx = ${m===1?\"headIdx\":\"headIdx / uniforms.n_reps\"};\n let kv_num_heads = ${m===1?\"uniforms.num_heads\":\"uniforms.num_heads / uniforms.n_reps\"};\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let m = workgroup_id.y * TILE_SIZE;\n let n = workgroup_id.x * TILE_SIZE;\n let sequence_length = uniforms.M;\n var total_sequence_length = uniforms.N;\n ${Xn(W,K,!0)}\n let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx;\n let qOffset = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;\n ${$&&c?\"let pastKeyOffset = absKvHeadIdx * uniforms.past_sequence_length * uniforms.K;\":\"\"};\n let kOffset = absKvHeadIdx * uniforms.kv_sequence_length * uniforms.K;\n ${c?\"let presentKeyOffset = absKvHeadIdx * uniforms.N * uniforms.K;\":\"\"}\n var value = ${G}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (global_id.y < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];\n }\n if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {\n var idx = TILE_SIZE * local_id.y + local_id.x;\n ${$&&c?`\n if (n + local_id.y < past_sequence_length) {\n tileK[idx] = past_key[pastKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x];\n } else if (n + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {\n tileK[idx] = key[kOffset + (n + local_id.y - past_sequence_length) * uniforms.K + w + local_id.x];\n }`:`\n if (n + local_id.y < uniforms.kv_sequence_length) {\n tileK[idx] = key[kOffset + (n + local_id.y) * uniforms.K + w + local_id.x];\n }`}\n ${c?`if (n + local_id.y < present_sequence_length) {\n present_key[presentKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x] = tileK[idx];\n }`:\"\"}\n }\n workgroupBarrier();\n\n for (var k: u32 = 0u; k < TILE_SIZE && w+k < uniforms.K; k++) {\n value += ${G}(tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k]);\n }\n\n workgroupBarrier();\n }\n\n if (global_id.y < uniforms.M && global_id.x < total_sequence_length) {\n let headOffset = workgroup_id.z * uniforms.M * uniforms.N;\n let outputIdx = headOffset + global_id.y * uniforms.N + global_id.x;\n var sum: f32 = ${(()=>{switch(b){case 1:return\"value\";case 2:return\"value.x + value.y\";case 4:return\"value.x + value.y + value.z + value.w\";default:throw new Error(`Unsupported components: ${b}`)}})()};\n output[outputIdx] = ${U.type.value} (sum * uniforms.alpha) + ${o?\"attention_bias[outputIdx]\":\"0.0\"};\n }\n }`};return{name:\"AttentionProbs\",shaderCache:{hint:`${b};${o!==void 0};${r!==void 0};${e}`,inputDependencies:v},getRunData:()=>({outputs:T,dispatchGroup:_,programUniforms:w}),getShaderSource:I}},tl=(e,t,n,r,o,i,s=void 0,a=void 0)=>{let u=i+o.kvSequenceLength,d=o.nReps?o.nReps:1,l=o.vHiddenSize*d,c=e>1&&r,p=o.kvNumHeads?o.kvNumHeads:o.numHeads,f=c?[o.batchSize,p,u,o.headSize]:void 0,m=[o.batchSize,o.sequenceLength,l],h=12,b={x:Math.ceil(o.vHeadSize/h),y:Math.ceil(o.sequenceLength/h),z:o.batchSize*o.numHeads},y=[{type:12,data:o.sequenceLength},{type:12,data:u},{type:12,data:o.vHeadSize},{type:12,data:o.numHeads},{type:12,data:o.headSize},{type:12,data:l},{type:12,data:i},{type:12,data:o.kvSequenceLength},{type:12,data:d}],g=c&&r&&x.size(r.dims)>0,_=[\"type\",\"type\"];g&&_.push(\"type\"),s&&_.push(\"type\"),a&&_.push(\"type\");let w=[{dims:m,dataType:t.dataType,gpuDataType:0}];c&&w.push({dims:f,dataType:t.dataType,gpuDataType:0});let $=v=>{let T=S(\"probs\",t.dataType,t.dims),I=S(\"v\",n.dataType,n.dims),E=[T,I];g&&E.push(S(\"past_value\",r.dataType,r.dims));let z=s?S(\"seq_lens\",s.dataType,s.dims):void 0;s&&E.push(z);let M=a?S(\"total_sequence_length_input\",a.dataType,a.dims):void 0;a&&E.push(M);let W=[C(\"output\",t.dataType,m)];c&&W.push(C(\"present_value\",t.dataType,f));let K=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"v_hidden_size\",type:\"u32\"},{name:\"past_sequence_length\",type:\"u32\"},{name:\"kv_sequence_length\",type:\"u32\"},{name:\"n_reps\",type:\"u32\"}];return`\n const TILE_SIZE = ${h}u;\n var<workgroup> tileQ: array<${T.type.value}, ${h*h}>;\n var<workgroup> tileV: array<${T.type.value}, ${h*h}>;\n ${v.registerUniforms(K).declareVariables(...E,...W)}\n ${v.mainStart([h,h,1])}\n let headIdx = workgroup_id.z % uniforms.num_heads;\n let batchIdx = workgroup_id.z / uniforms.num_heads;\n let kvHeadIdx = ${d===1?\"headIdx\":\"headIdx / uniforms.n_reps\"};\n let kv_num_heads = ${d===1?\"uniforms.num_heads\":\"uniforms.num_heads / uniforms.n_reps\"};\n let m = global_id.y;\n let n = global_id.x;\n let sequence_length = uniforms.M;\n var total_sequence_length = uniforms.K;\n ${Xn(z,M,!0)}\n let offsetA = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;\n let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx; // kvHeadIdx is relative to the batch\n ${g&&c?\"let pastValueOffset = absKvHeadIdx * uniforms.N * uniforms.past_sequence_length + n;\":\"\"};\n let vOffset = absKvHeadIdx * uniforms.N * uniforms.kv_sequence_length + n;\n ${c?\"let presentValueOffset = absKvHeadIdx * uniforms.N * uniforms.K + n;\":\"\"}\n var value = ${T.type.storage}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n var idx = TILE_SIZE * local_id.y + local_id.x;\n ${g&&c?`\n if (w + local_id.y < past_sequence_length) {\n tileV[idx] = past_value[pastValueOffset + (w + local_id.y) * uniforms.N];\n } else if (w + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {\n tileV[idx] = v[vOffset + (w + local_id.y - past_sequence_length) * uniforms.N];\n }\n `:`\n if (w + local_id.y < uniforms.kv_sequence_length) {\n tileV[idx] = v[vOffset + (w + local_id.y) * uniforms.N];\n }`}\n ${c?`\n if (w + local_id.y < present_sequence_length) {\n present_value[presentValueOffset + (w + local_id.y) * uniforms.N] = tileV[idx];\n }`:\"\"}\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k < TILE_SIZE && w+k < total_sequence_length; k++) {\n value += tileQ[TILE_SIZE * local_id.y + k] * tileV[TILE_SIZE * k + local_id.x];\n }\n workgroupBarrier();\n }\n\n // we need to transpose output from BNSH_v to BSND_v\n if (m < uniforms.M && n < uniforms.N) {\n let outputIdx = batchIdx * uniforms.M * uniforms.v_hidden_size + m * uniforms.v_hidden_size\n + headIdx * uniforms.N + n;\n output[outputIdx] = value;\n }\n }`};return{name:\"AttentionScore\",shaderCache:{hint:`${r!==void 0};${e}`,inputDependencies:_},getRunData:()=>({outputs:w,dispatchGroup:b,programUniforms:y}),getShaderSource:$}},at=(e,t,n,r,o,i,s,a,u,d,l=void 0,c=void 0)=>{let p=Math.min(e.outputCount,1+(s?1:0)+(a?1:0)),f=p>1?s:void 0,m=p>1?a:void 0,h=p>1?d.pastSequenceLength:0,b=h+d.kvSequenceLength,y=u&&x.size(u.dims)>0?u:void 0,g=[t,n];f&&x.size(f.dims)>0&&g.push(f),y&&g.push(y),l&&g.push(l),c&&g.push(c);let _=e.compute(el(p,t,n,f,y,d,h,l,c),{inputs:g,outputs:p>1?[-1,1]:[-1]})[0];e.compute(Jd(_,d.batchSize,d.numHeads,h,d.sequenceLength,b,l,c),{inputs:l&&c?[_,l,c]:[_],outputs:[]});let w=[_,r];m&&x.size(m.dims)>0&&w.push(m),l&&w.push(l),c&&w.push(c),e.compute(tl(p,_,r,m,d,h,l,c),{inputs:w,outputs:p>1?[0,2]:[0]})},nl=(e,t)=>{let n=[t.batchSize,t.numHeads,t.sequenceLength,t.headSize],r=t.sequenceLength,o=t.inputHiddenSize,i=t.headSize,s=12,a={x:Math.ceil(t.headSize/s),y:Math.ceil(t.sequenceLength/s),z:t.batchSize*t.numHeads},u=[e.inputs[0],e.inputs[1],e.inputs[2]],d=[{type:12,data:r},{type:12,data:o},{type:12,data:i},{type:12,data:t.numHeads},{type:12,data:t.headSize},{type:12,data:t.hiddenSize},{type:12,data:t.hiddenSize+t.hiddenSize+t.vHiddenSize}],l=c=>{let p=C(\"output_q\",u[0].dataType,n),f=C(\"output_k\",u[0].dataType,n),m=C(\"output_v\",u[0].dataType,n),h=S(\"input\",u[0].dataType,u[0].dims),b=S(\"weight\",u[1].dataType,u[1].dims),y=S(\"bias\",u[2].dataType,u[2].dims),g=h.type.storage,_=[{name:\"M\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"num_heads\",type:\"u32\"},{name:\"head_size\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"ldb\",type:\"u32\"}];return`\n const TILE_SIZE = ${s}u;\n var<workgroup> tileInput: array<${g}, ${s*s}>;\n var<workgroup> tileWeightQ: array<${g}, ${s*s}>;\n var<workgroup> tileWeightK: array<${g}, ${s*s}>;\n var<workgroup> tileWeightV: array<${g}, ${s*s}>;\n ${c.registerUniforms(_).declareVariables(h,b,y,p,f,m)}\n ${c.mainStart([s,s,1])}\n let batchIndex = workgroup_id.z / uniforms.num_heads;\n let headNumber = workgroup_id.z % uniforms.num_heads;\n let m = global_id.y;\n let n = global_id.x;\n\n let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;\n let biasOffsetQ = headNumber * uniforms.head_size;\n let biasOffsetK = uniforms.hidden_size + biasOffsetQ;\n let biasOffsetV = uniforms.hidden_size + biasOffsetK;\n\n var valueQ = ${g}(0);\n var valueK = ${g}(0);\n var valueV = ${g}(0);\n for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n if (m < uniforms.M && w + local_id.x < uniforms.K) {\n tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];\n }\n if (n < uniforms.N && w + local_id.y < uniforms.K) {\n let offset = n + (w + local_id.y) * uniforms.ldb;\n tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];\n tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];\n tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];\n }\n workgroupBarrier();\n for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {\n let inputTileOffset = TILE_SIZE * local_id.y + k;\n let weightTileOffset = TILE_SIZE * k + local_id.x;\n valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];\n valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];\n valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];\n }\n\n workgroupBarrier();\n }\n\n let headOffset = (m * uniforms.N + n) % uniforms.head_size;\n valueQ += bias[headOffset + biasOffsetQ];\n valueK += bias[headOffset + biasOffsetK];\n valueV += bias[headOffset + biasOffsetV];\n\n let offset = workgroup_id.z * uniforms.M * uniforms.N;\n if (m < uniforms.M && n < uniforms.N) {\n let outputIdx = offset + m * uniforms.N + n;\n output_q[outputIdx] = valueQ;\n output_k[outputIdx] = valueK;\n output_v[outputIdx] = valueV;\n }\n }`};return e.compute({name:\"AttentionPrepare\",shaderCache:{inputDependencies:[\"type\",\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:n,dataType:e.inputs[0].dataType,gpuDataType:0}],dispatchGroup:a,programUniforms:d}),getShaderSource:l},{inputs:u,outputs:[-1,-1,-1]})},oi=(e,t)=>{let n=Yd(e.inputs,t),[r,o,i]=nl(e,n);return at(e,r,o,i,e.inputs[4],void 0,void 0,void 0,e.inputs[5],n)}});var rl,ol,il,ii,si=k(()=>{\"use strict\";we();L();H();ue();q();rl=(e,t)=>{if(!e||e.length!==5)throw new Error(\"BatchNormalization requires 5 inputs\");let n=(r,o,i)=>{let s=o.length;if(s!==r.length)throw new Error(`${i}: num dimensions != ${s}`);o.forEach((a,u)=>{if(a!==r[u])throw new Error(`${i}: dim[${u}] do not match`)})};if(e[0].dims.length>1){let r=t.format===\"NHWC\"?t.spatial?e[0].dims.slice(-1):e[0].dims.slice(-1).concat(e[0].dims.slice(1,e[0].dims.length-1)):e[0].dims.slice(1,t.spatial?2:void 0);n(e[1].dims,r,\"Invalid input scale\"),n(e[2].dims,r,\"Invalid input B\"),n(e[3].dims,r,\"Invalid input mean\"),n(e[4].dims,r,\"Invalid input var\")}else n(e[1].dims,[1],\"Invalid input scale\"),n(e[2].dims,[1],\"Invalid input B\"),n(e[3].dims,[1],\"Invalid input mean\"),n(e[4].dims,[1],\"Invalid input var\")},ol=(e,t)=>{let{epsilon:n,spatial:r,format:o}=t,i=e[0].dims,s=r?J(i[i.length-1]):1,a=o===\"NHWC\"&&i.length>1?s:1,u=x.size(i)/s,d=r,l=d?i.length:i,c=S(\"x\",e[0].dataType,e[0].dims,s),p=S(\"scale\",e[1].dataType,e[1].dims,a),f=S(\"bias\",e[2].dataType,e[2].dims,a),m=S(\"inputMean\",e[3].dataType,e[3].dims,a),h=S(\"inputVar\",e[4].dataType,e[4].dims,a),b=C(\"y\",e[0].dataType,l,s),y=()=>{let _=\"\";if(r)_=`let cOffset = ${i.length===1?\"0u\":o===\"NHWC\"?`outputIndices[${i.length-1}] / ${s}`:\"outputIndices[1]\"};`;else if(o===\"NCHW\")_=`\n ${b.indicesSet(\"outputIndices\",\"0\",\"0\")}\n let cOffset = ${b.indicesToOffset(\"outputIndices\")};`;else{_=`var cIndices = ${p.type.indices}(0);\n cIndices[0] = outputIndices[${i.length-1}];`;for(let w=1;w<p.rank;w++)_+=`cIndices[${w}] = outputIndices[${w}];`;_+=`let cOffset = ${p.indicesToOffset(\"cIndices\")};`}return _},g=_=>`\n const epsilon = ${n};\n ${_.registerUniform(\"outputSize\",\"u32\").declareVariables(c,p,f,m,h,b)}\n ${_.mainStart()}\n ${_.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${b.offsetToIndices(`global_idx * ${s}`)};\n ${y()}\n let scale = ${p.getByOffset(\"cOffset\")};\n let bias = ${f.getByOffset(\"cOffset\")};\n let inputMean = ${m.getByOffset(\"cOffset\")};\n let inputVar = ${h.getByOffset(\"cOffset\")};\n let x = ${c.getByOffset(\"global_idx\")};\n let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;\n ${b.setByOffset(\"global_idx\",\"value\")}\n }`;return{name:\"BatchNormalization\",shaderCache:{hint:`${t.epsilon}_${t.format}_${r}_${s}`,inputDependencies:d?[\"rank\",\"type\",\"type\",\"type\",\"type\"]:void 0},getShaderSource:g,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:d?[{type:12,data:u},...P(i)]:[{type:12,data:u}]})}},il=e=>V(e),ii=(e,t)=>{let{inputs:n,outputCount:r}=e,o=il({...t,outputCount:r});if(ne.webgpu.validateInputContent&&rl(n,o),t.trainingMode)throw new Error(\"BatchNormalization trainingMode is not supported yet.\");e.compute(ol(n,o))}});var sl,al,ai,ui=k(()=>{\"use strict\";H();q();sl=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![320,640,1280].includes(e[0].dims[2]))throw new Error(\"number of channels should be 320, 640 or 1280\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},al=e=>{let t=e[0].dims,n=e[0].dims[2],r=x.size(t)/4,o=e[0].dataType,i=S(\"input\",o,t,4),s=S(\"bias\",o,[n],4),a=S(\"residual\",o,t,4),u=C(\"output\",o,t,4);return{name:\"BiasAdd\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(r/64)}}),getShaderSource:l=>`\n const channels = ${n}u / 4;\n ${l.declareVariables(i,s,a,u)}\n\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(r)}\n let value = ${i.getByOffset(\"global_idx\")}\n + ${s.getByOffset(\"global_idx % channels\")} + ${a.getByOffset(\"global_idx\")};\n ${u.setByOffset(\"global_idx\",\"value\")}\n }`}},ai=e=>{sl(e.inputs),e.compute(al(e.inputs))}});var ul,ee,di,li,ci,pi,mi,fi,hi,gi,yi,dl,bi,_i,wi,$i,bt,vi,on,xi,Si,Ti,Ii,Ci,Ai,Ei,ki,Pi,zi,Di,Bi,Oi,Mi,Ui,Ri,Vi,Li,Ni,Yn,Jn,Wi,Gi,Hi,ll,cl,Fi,sn=k(()=>{\"use strict\";L();H();ue();q();ul=(e,t,n,r,o,i,s)=>{let a=Math.ceil(t/4),u=\"\";typeof o==\"string\"?u=`${o}(a)`:u=o(\"a\");let d=S(\"inputData\",n,[a],4),l=C(\"outputData\",r,[a],4),c=[{name:\"vec_size\",type:\"u32\"}];return s&&c.push(...s),`\n ${e.registerUniforms(c).declareVariables(d,l)}\n\n ${i??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n\n let a = ${d.getByOffset(\"global_idx\")};\n ${l.setByOffset(\"global_idx\",u)}\n }`},ee=(e,t,n,r,o,i=e.dataType,s,a)=>{let u=[{type:12,data:Math.ceil(x.size(e.dims)/4)}];return s&&u.push(...s),{name:t,shaderCache:{hint:o,inputDependencies:[\"type\"]},getShaderSource:d=>ul(d,x.size(e.dims),e.dataType,i,n,r,a),getRunData:d=>({outputs:[{dims:e.dims,dataType:i}],dispatchGroup:{x:Math.ceil(x.size(d[0].dims)/64/4)},programUniforms:u})}},di=e=>{e.compute(ee(e.inputs[0],\"Abs\",\"abs\"))},li=e=>{e.compute(ee(e.inputs[0],\"Acos\",\"acos\"))},ci=e=>{e.compute(ee(e.inputs[0],\"Acosh\",\"acosh\"))},pi=e=>{e.compute(ee(e.inputs[0],\"Asin\",\"asin\"))},mi=e=>{e.compute(ee(e.inputs[0],\"Asinh\",\"asinh\"))},fi=e=>{e.compute(ee(e.inputs[0],\"Atan\",\"atan\"))},hi=e=>{e.compute(ee(e.inputs[0],\"Atanh\",\"atanh\"))},gi=e=>V(e),yi=(e,t)=>{let n;switch(t.to){case 10:n=\"vec4<f16>\";break;case 1:n=\"vec4<f32>\";break;case 12:n=\"vec4<u32>\";break;case 6:n=\"vec4<i32>\";break;case 9:n=\"vec4<bool>\";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${t.to}`)}e.compute(ee(e.inputs[0],\"Cast\",n,void 0,t.cacheKey,t.to))},dl=e=>{let t,n,r=e.length>=2&&e[1].data!==0,o=e.length>=3&&e[2].data!==0;switch(e[0].dataType){case 1:t=r?e[1].getFloat32Array()[0]:-34028234663852886e22,n=o?e[2].getFloat32Array()[0]:34028234663852886e22;break;case 10:t=r?e[1].getUint16Array()[0]:64511,n=o?e[2].getUint16Array()[0]:31743;break;default:throw new Error(\"Unsupport data type\")}return V({min:t,max:n})},bi=(e,t)=>{let n=t||dl(e.inputs),r=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Clip\",o=>`clamp(${o}, vec4<${r}>(uniforms.min), vec4<${r}>(uniforms.max))`,void 0,n.cacheKey,void 0,[{type:e.inputs[0].dataType,data:n.min},{type:e.inputs[0].dataType,data:n.max}],[{name:\"min\",type:r},{name:\"max\",type:r}]),{inputs:[0]})},_i=e=>{e.compute(ee(e.inputs[0],\"Ceil\",\"ceil\"))},wi=e=>{e.compute(ee(e.inputs[0],\"Cos\",\"cos\"))},$i=e=>{e.compute(ee(e.inputs[0],\"Cosh\",\"cosh\"))},bt=e=>V(e),vi=(e,t)=>{let n=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Elu\",r=>`elu_vf32(${r})`,`\n const elu_alpha_ = ${n}(${t.alpha});\n\n fn elu_f32(a: ${n}) -> ${n} {\n return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);\n }\n\n fn elu_vf32(v: vec4<${n}>) -> vec4<${n}> {\n return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));\n }`,t.cacheKey))},on=(e=\"f32\")=>`\nconst r0: ${e} = 0.3275911;\nconst r1: ${e} = 0.254829592;\nconst r2: ${e} = -0.284496736;\nconst r3: ${e} = 1.421413741;\nconst r4: ${e} = -1.453152027;\nconst r5: ${e} = 1.061405429;\n\nfn erf_vf32(v: vec4<${e}>) -> vec4<${e}> {\n let absv = abs(v);\n let x = 1.0 / (1.0 + r0 * absv);\n return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));\n}`,xi=e=>{let t=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Erf\",n=>`erf_vf32(${n})`,on(t)))},Si=e=>{e.compute(ee(e.inputs[0],\"Exp\",\"exp\"))},Ti=e=>{e.compute(ee(e.inputs[0],\"Floor\",\"floor\"))},Ii=e=>{let t=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Gelu\",n=>`0.5 * ${n} * (1.0 + erf_vf32(${n} * 0.7071067811865475))`,on(t)))},Ci=(e,t)=>{let n=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"LeakyRelu\",r=>`select(leaky_relu_alpha_ * ${r}, ${r}, ${r} >= vec4<${n}>(0.0))`,`const leaky_relu_alpha_ = ${n}(${t.alpha});`,t.cacheKey))},Ai=e=>{e.compute(ee(e.inputs[0],\"Not\",t=>`!${t}`))},Ei=e=>{e.compute(ee(e.inputs[0],\"Neg\",t=>`-${t}`))},ki=e=>{e.compute(ee(e.inputs[0],\"Reciprocal\",t=>`1.0/${t}`))},Pi=e=>{let t=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"Relu\",n=>`select(vec4<${t}>(0.0), ${n}, ${n} > vec4<${t}>(0.0))`))},zi=e=>{e.compute(ee(e.inputs[0],\"Sigmoid\",t=>`(1.0 / (1.0 + exp(-${t})))`))},Di=e=>V(e),Bi=(e,t)=>{let n=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"HardSigmoid\",r=>`max(vec4<${n}>(0.0), min(vec4<${n}>(1.0), ${t.alpha} * ${r} + vec4<${n}>(${t.beta})))`,void 0,t.cacheKey))},Oi=e=>{let t=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"HardSwish\",n=>`${n} * max(vec4<${t}>(0.0), min(vec4<${t}>(1.0), vec4<${t}>(${t}(1.0 / 6.0)) * ${n} + vec4<${t}>(0.5)))`))},Mi=e=>{e.compute(ee(e.inputs[0],\"Sin\",\"sin\"))},Ui=e=>{e.compute(ee(e.inputs[0],\"Sinh\",\"sinh\"))},Ri=e=>{e.compute(ee(e.inputs[0],\"Sqrt\",\"sqrt\"))},Vi=e=>{e.compute(ee(e.inputs[0],\"Tan\",\"tan\"))},Li=e=>`sign(${e}) * (1 - exp(-2 * abs(${e}))) / (1 + exp(-2 * abs(${e})))`,Ni=e=>{e.compute(ee(e.inputs[0],\"Tanh\",Li))},Yn=(e=\"f32\")=>`\nconst fast_gelu_a: ${e} = 0.5;\nconst fast_gelu_b: ${e} = 0.7978845608028654;\nconst fast_gelu_c: ${e} = 0.035677408136300125;\n\nfn tanh_v(v: vec4<${e}>) -> vec4<${e}> {\n return ${Li(\"v\")};\n}\n`,Jn=e=>`(fast_gelu_a + fast_gelu_a * tanh_v(${e} * (fast_gelu_c * ${e} * ${e} + fast_gelu_b))) * ${e}`,Wi=e=>{let t=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"FastGelu\",Jn,Yn(t),void 0,e.inputs[0].dataType))},Gi=(e,t)=>{let n=de(e.inputs[0].dataType);return e.compute(ee(e.inputs[0],\"ThresholdedRelu\",r=>`select(vec4<${n}>(0.0), ${r}, ${r} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${n}>(${t.alpha});`,t.cacheKey)),0},Hi=e=>{e.compute(ee(e.inputs[0],\"Log\",\"log\"))},ll=(e,t)=>`\nconst alpha = vec4<${e}>(${t});\nconst one = ${e}(1.0);\nconst zero = ${e}(0.0);\n\nfn quick_gelu_impl(x: vec4<${e}>) -> vec4<${e}> {\n let v = x *alpha;\n var x1 : vec4<${e}>;\n for (var i = 0; i < 4; i = i + 1) {\n if (v[i] >= zero) {\n x1[i] = one / (one + exp(-v[i]));\n } else {\n x1[i] = one - one / (one + exp(v[i]));\n }\n }\n return x * x1;\n}\n`,cl=e=>`quick_gelu_impl(${e})`,Fi=(e,t)=>{let n=de(e.inputs[0].dataType);e.compute(ee(e.inputs[0],\"QuickGelu\",cl,ll(n,t.alpha),t.cacheKey,e.inputs[0].dataType))}});var pl,ml,Ki,ji=k(()=>{\"use strict\";H();q();sn();pl=e=>{if(e[0].dims.length!==3)throw new Error(\"input should have 3 dimensions\");if(![2560,5120,10240].includes(e[0].dims[2]))throw new Error(\"hidden state should be 2560, 5120 or 10240\");if(e[1].dims.length!==1)throw new Error(\"bias is expected to have 1 dimensions\");if(e[0].dims[2]!==e[1].dims[0])throw new Error(\"last dimension of input and bias are not the same\")},ml=e=>{let t=e[0].dims.slice();t[2]=t[2]/2;let n=S(\"input\",e[0].dataType,e[0].dims,4),r=S(\"bias\",e[0].dataType,[e[0].dims[2]],4),o=C(\"output\",e[0].dataType,t,4),i=x.size(t)/4,s=re(e[0].dataType);return{name:\"BiasSplitGelu\",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(i/64)}}),getShaderSource:u=>`\n const M_SQRT2 = sqrt(2.0);\n const halfChannels = ${e[0].dims[2]/4/2}u;\n\n ${u.declareVariables(n,r,o)}\n\n ${on(s)}\n\n ${u.mainStart()}\n ${u.guardAgainstOutOfBoundsWorkgroupSizes(i)}\n let biasIdx = global_idx % halfChannels;\n let batchIndex = global_idx / halfChannels;\n let inputOffset = biasIdx + batchIndex * halfChannels * 2;\n let valueLeft = input[inputOffset] + bias[biasIdx];\n let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];\n let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);\n\n ${o.setByOffset(\"global_idx\",\"valueLeft * geluRight\")}\n }`}},Ki=e=>{pl(e.inputs),e.compute(ml(e.inputs))}});var fl,hl,Ue,Zi,Qi,Xi,Yi,Ji,es,ts,ns,rs,os,is=k(()=>{\"use strict\";L();H();q();fl=(e,t,n,r,o,i,s,a,u,d,l,c)=>{let p,f;typeof a==\"string\"?p=f=(g,_)=>`${a}((${g}),(${_}))`:typeof a==\"function\"?p=f=a:(p=a.scalar,f=a.vector);let m=C(\"outputData\",l,r.length,4),h=S(\"aData\",u,t.length,4),b=S(\"bData\",d,n.length,4),y;if(o)if(i){let g=x.size(t)===1,_=x.size(n)===1,w=t.length>0&&t[t.length-1]%4===0,$=n.length>0&&n[n.length-1]%4===0;g||_?y=m.setByOffset(\"global_idx\",f(g?`${h.type.value}(${h.getByOffset(\"0\")}.x)`:h.getByOffset(\"global_idx\"),_?`${b.type.value}(${b.getByOffset(\"0\")}.x)`:b.getByOffset(\"global_idx\"))):y=`\n let outputIndices = ${m.offsetToIndices(\"global_idx * 4u\")};\n let offsetA = ${h.broadcastedIndicesToOffset(\"outputIndices\",m)};\n let offsetB = ${b.broadcastedIndicesToOffset(\"outputIndices\",m)};\n ${m.setByOffset(\"global_idx\",f(s||w?h.getByOffset(\"offsetA / 4u\"):`${h.type.value}(${h.getByOffset(\"offsetA / 4u\")}[offsetA % 4u])`,s||$?b.getByOffset(\"offsetB / 4u\"):`${b.type.value}(${b.getByOffset(\"offsetB / 4u\")}[offsetB % 4u])`))}\n `}else y=m.setByOffset(\"global_idx\",f(h.getByOffset(\"global_idx\"),b.getByOffset(\"global_idx\")));else{if(!i)throw new Error(\"no necessary to use scalar implementation for element-wise binary op implementation.\");let g=(_,w,$=\"\")=>{let v=`aData[indexA${w}][componentA${w}]`,T=`bData[indexB${w}][componentB${w}]`;return`\n let outputIndices${w} = ${m.offsetToIndices(`global_idx * 4u + ${w}u`)};\n let offsetA${w} = ${h.broadcastedIndicesToOffset(`outputIndices${w}`,m)};\n let offsetB${w} = ${b.broadcastedIndicesToOffset(`outputIndices${w}`,m)};\n let indexA${w} = offsetA${w} / 4u;\n let indexB${w} = offsetB${w} / 4u;\n let componentA${w} = offsetA${w} % 4u;\n let componentB${w} = offsetB${w} % 4u;\n ${_}[${w}] = ${$}(${p(v,T)});\n `};l===9?y=`\n var data = vec4<u32>(0);\n ${g(\"data\",0,\"u32\")}\n ${g(\"data\",1,\"u32\")}\n ${g(\"data\",2,\"u32\")}\n ${g(\"data\",3,\"u32\")}\n outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:y=`\n ${g(\"outputData[global_idx]\",0)}\n ${g(\"outputData[global_idx]\",1)}\n ${g(\"outputData[global_idx]\",2)}\n ${g(\"outputData[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(h,b,m)}\n\n ${c??\"\"}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${y}\n }`},hl=(e,t,n,r,o,i,s=n.dataType)=>{let a=n.dims.map(Number),u=r.dims.map(Number),d=!x.areEqual(a,u),l=a,c=x.size(a),p=!1,f=!1,m=[d];if(d){let h=ze.calcShape(a,u,!1);if(!h)throw new Error(\"Can't perform binary op on the given tensors\");l=h.slice(),c=x.size(l);let b=x.size(a)===1,y=x.size(u)===1,g=a.length>0&&a[a.length-1]%4===0,_=u.length>0&&u[u.length-1]%4===0;m.push(b),m.push(y),m.push(g),m.push(_);let w=1;for(let $=1;$<l.length;$++){let v=a[a.length-$],T=u[u.length-$];if(v===T)w*=v;else break}w%4===0?(f=!0,p=!0):(b||y||g||_)&&(p=!0)}else p=!0;return m.push(p),{name:e,shaderCache:{hint:t+m.map(h=>h.toString()).join(\"_\"),inputDependencies:[\"rank\",\"rank\"]},getShaderSource:h=>fl(h,a,u,l,p,d,f,o,n.dataType,r.dataType,s,i),getRunData:()=>({outputs:[{dims:l,dataType:s}],dispatchGroup:{x:Math.ceil(c/64/4)},programUniforms:[{type:12,data:Math.ceil(x.size(l)/4)},...P(a,u,l)]})}},Ue=(e,t,n,r,o,i)=>{e.compute(hl(t,o??\"\",e.inputs[0],e.inputs[1],n,r,i))},Zi=e=>{Ue(e,\"Add\",(t,n)=>`${t}+${n}`)},Qi=e=>{Ue(e,\"Div\",(t,n)=>`${t}/${n}`)},Xi=e=>{Ue(e,\"Equal\",{scalar:(t,n)=>`u32(${t}==${n})`,vector:(t,n)=>`vec4<u32>(${t}==${n})`},void 0,void 0,9)},Yi=e=>{Ue(e,\"Mul\",(t,n)=>`${t}*${n}`)},Ji=e=>{let t=S(\"input\",e.inputs[0].dataType,e.inputs[0].dims).type.value;Ue(e,\"Pow\",{scalar:(r,o)=>`pow_custom(${r},${o})`,vector:(r,o)=>`pow_vector_custom(${r},${o})`},`\n fn pow_custom(a : ${t}, b : ${t}) -> ${t} {\n if (b == ${t}(0.0)) {\n return ${t}(1.0);\n } else if (a < ${t}(0.0) && f32(b) != floor(f32(b))) {\n return ${t}(pow(f32(a), f32(b))); // NaN\n }\n return select(sign(a), ${t}(1.0), round(f32(abs(b) % ${t}(2.0))) != 1.0) * ${t}(${t===\"i32\"?\"round\":\"\"}(pow(f32(abs(a)), f32(b))));\n }\n fn pow_vector_custom(a : vec4<${t}>, b : vec4<${t}>) -> vec4<${t}> {\n // TODO: implement vectorized pow\n return vec4<${t}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));\n }\n `)},es=e=>{Ue(e,\"Sub\",(t,n)=>`${t}-${n}`)},ts=e=>{Ue(e,\"Greater\",{scalar:(t,n)=>`u32(${t}>${n})`,vector:(t,n)=>`vec4<u32>(${t}>${n})`},void 0,void 0,9)},ns=e=>{Ue(e,\"Less\",{scalar:(t,n)=>`u32(${t}<${n})`,vector:(t,n)=>`vec4<u32>(${t}<${n})`},void 0,void 0,9)},rs=e=>{Ue(e,\"GreaterOrEqual\",{scalar:(t,n)=>`u32(${t}>=${n})`,vector:(t,n)=>`vec4<u32>(${t}>=${n})`},void 0,void 0,9)},os=e=>{Ue(e,\"LessOrEqual\",{scalar:(t,n)=>`u32(${t}<=${n})`,vector:(t,n)=>`vec4<u32>(${t}<=${n})`},void 0,void 0,9)}});var yl,bl,_l,wl,ss,as,us=k(()=>{\"use strict\";L();H();ue();q();yl=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");let n=0,r=e[n],o=r.dataType,i=r.dims.length;e.forEach((s,a)=>{if(a!==n){if(s.dataType!==o)throw new Error(\"input tensors should be one type\");if(s.dims.length!==i)throw new Error(\"input tensors should have the same shape\");s.dims.forEach((u,d)=>{if(d!==t&&u!==r.dims[d])throw new Error(\"non concat dimensions must match\")})}})},bl=(e,t)=>`\n fn calculateInputIndex(index: u32) -> u32 {\n let sizeInConcatAxis = array<u32, ${e}u>(${t});\n for (var i: u32 = 0u; i < ${e}; i += 1u ) {\n if (index < sizeInConcatAxis[i]) {\n return i;\n }\n }\n return ${e}u;\n }`,_l=(e,t)=>{let n=e.length,r=[];for(let o=0;o<n;++o){let i=t.setByOffset(\"global_idx\",e[o].getByIndices(\"indices\"));n===1?r.push(i):o===0?r.push(`if (inputIndex == ${o}u) { ${i} }`):o===n-1?r.push(`else { ${i} }`):r.push(`else if (inputIndex == ${o}) { ${i} }`)}return r.join(`\n`)},wl=(e,t,n,r)=>{let o=x.size(n),i=new Array(e.length),s=new Array(e.length),a=0,u=[],d=[],l=[{type:12,data:o}];for(let h=0;h<e.length;++h)a+=e[h].dims[t],i[h]=a,d.push(e[h].dims.length),s[h]=S(`input${h}`,r,d[h]),u.push(\"rank\"),l.push({type:12,data:i[h]});for(let h=0;h<e.length;++h)l.push(...P(e[h].dims));l.push(...P(n));let c=C(\"output\",r,n.length),p=c.indicesGet(\"indices\",t),f=Array.from(Array(i.length).keys()).map(h=>`uniforms.sizeInConcatAxis${h}`).join(\",\"),m=h=>`\n\n ${(()=>{h.registerUniform(\"outputSize\",\"u32\");for(let b=0;b<e.length;b++)h.registerUniform(`sizeInConcatAxis${b}`,\"u32\");return h.declareVariables(...s,c)})()}\n\n ${bl(i.length,f)}\n\n ${h.mainStart()}\n ${h.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n var indices = ${c.offsetToIndices(\"global_idx\")};\n\n let inputIndex = calculateInputIndex(${p});\n if (inputIndex != 0u) {\n let sizeInConcatAxis = array<u32, ${i.length}u>(${f});\n ${p} -= sizeInConcatAxis[inputIndex - 1u];\n }\n\n ${_l(s,c)}\n }`;return{name:\"Concat\",shaderCache:{hint:`${t}`,inputDependencies:u},getRunData:()=>({outputs:[{dims:n,dataType:r}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:l}),getShaderSource:m}},ss=(e,t)=>{let n=e.inputs,r=n[0].dims,o=x.normalizeAxis(t.axis,r.length);yl(n,o);let i=r.slice();i[o]=n.reduce((a,u)=>a+(u.dims.length>o?u.dims[o]:0),0);let s=n.filter(a=>x.size(a.dims)>0);e.compute(wl(s,o,i,n[0].dataType),{inputs:s})},as=e=>V({axis:e.axis})});var Ce,Ae,Ee,an,qe=k(()=>{\"use strict\";L();H();Ce=(e,t,n=\"f32\")=>{switch(e.activation){case\"Relu\":return`value = max(value, ${t}(0.0));`;case\"Sigmoid\":return`value = (${t}(1.0) / (${t}(1.0) + exp(-value)));`;case\"Clip\":return`value = clamp(value, ${t}(${n}(uniforms.clip_min)), ${t}(${n}(uniforms.clip_max)));`;case\"HardSigmoid\":return`value = max(${t}(0.0), min(${t}(1.0), ${n}(uniforms.alpha) * value + ${n}(uniforms.beta)));`;case\"LeakyRelu\":return`value = select(${n}(uniforms.alpha) * value, value, value >= ${t}(0.0));`;case\"Tanh\":return`let e2x = exp(-2.0 * abs(value));\n value = sign(value) * (1.0 - e2x) / (1.0 + e2x);\n `;case\"\":return\"\";default:throw new Error(`Unsupported activation ${e.activation}`)}},Ae=(e,t)=>{e.activation===\"Clip\"?t.push({type:1,data:e.clipMax},{type:1,data:e.clipMin}):e.activation===\"HardSigmoid\"?t.push({type:1,data:e.alpha},{type:1,data:e.beta}):e.activation===\"LeakyRelu\"&&t.push({type:1,data:e.alpha})},Ee=(e,t)=>{e.activation===\"Clip\"?t.push({name:\"clip_max\",type:\"f32\"},{name:\"clip_min\",type:\"f32\"}):e.activation===\"HardSigmoid\"?t.push({name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}):e.activation===\"LeakyRelu\"&&t.push({name:\"alpha\",type:\"f32\"})},an=e=>{let t=e?.activation||\"\";if(t===\"HardSigmoid\"){let[n,r]=e?.activation_params||[.2,.5];return{activation:t,alpha:n,beta:r}}else if(t===\"Clip\"){let[n,r]=e?.activation_params||[fo,ho];return{activation:t,clipMax:r,clipMin:n}}else if(t===\"LeakyRelu\"){let[n]=e?.activation_params||[.01];return{activation:t,alpha:n}}return{activation:t}}});var ce,ds,un=k(()=>{\"use strict\";ce=(e,t)=>{switch(e){case 1:return t;case 2:return`vec2<${t}>`;case 3:return`vec3<${t}>`;case 4:return`vec4<${t}>`;default:throw new Error(`${e}-component is not supported.`)}},ds=e=>`\n ${e?\"value = value + getBiasByOutputCoords(coords);\":\"\"}\n `});var ls,cs=k(()=>{\"use strict\";ls=e=>`\nfn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {\n return dot(coords, vec4<i32>(\n shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n}\nfn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {\n return dot(coords, vec4<i32>(\n i32(${e}.x), i32(${e}.y), i32(${e}.z), 1));\n}\n`});var _t,dn,ln=k(()=>{\"use strict\";L();H();q();qe();_t=(e,t,n,r,o)=>{let i=r-n;return`\n ${Array.from({length:n}).map((s,a)=>`\n if (${B(t.shape,a,t.rank)} != 1) {\n ${t.indicesSet(e,a,B(o,a+i,r))}\n } else {\n ${t.indicesSet(e,a,0)}\n }`).join(\"\")}\n`},dn=(e,t,n,r,o=!1,i)=>{let s=e[0].dims,a=e[1].dims,u=s[s.length-2],d=a[a.length-1],l=s[s.length-1],c=J(d),p=J(l),f=J(u),m=x.size(n)/c/f,h=e.length>2,b=r?r.slice(0,-2):n.slice(0,-2),g=[x.size(b),u,d],_=[{type:12,data:m},{type:12,data:u},{type:12,data:d},{type:12,data:l}];Ae(t,_),_.push(...P(b,s,a)),h&&_.push(...P(e[2].dims)),_.push(...P(g));let w=$=>{let v=en(\"batch_dims\",e[0].dataType,b.length),T=S(\"a\",e[0].dataType,s.length,p),I=S(\"b\",e[1].dataType,a.length,c),E=C(\"output\",e[0].dataType,g.length,c),z=re(E.type.tensor),M=Ce(t,E.type.value,z),O=[T,I],W=\"\";if(h){let R=o?c:1;O.push(S(\"bias\",e[2].dataType,e[2].dims.length,R)),W=`${o?`value += bias[col / ${R}];`:`value += ${E.type.value}(bias[row + i]);`}`}let K=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"}];Ee(t,K);let U=()=>{let R=`var a_data: ${T.type.value};`;for(let G=0;G<p;G++)R+=`\n let b_data${G} = b[(b_offset + (k + ${G}) * uniforms.N + col) / ${c}];`;for(let G=0;G<f;G++){R+=`a_data = a[(a_offset + (row + ${G}) * uniforms.K + k) / ${p}];`;for(let N=0;N<p;N++)R+=`\n values[${G}] = fma(${I.type.value}(a_data${p===1?\"\":`[${N}]`}), b_data${N}, values[${G}]);\n`}return R};return`\n ${$.registerUniforms(K).registerInternalVariables(v).declareVariables(...O,E)}\n ${$.mainStart()}\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let col = (global_idx % (uniforms.N / ${c})) * ${c};\n var index1 = global_idx / (uniforms.N / ${c});\n let stride1 = uniforms.M / ${f};\n let row = (index1 % stride1) * ${f};\n let batch = index1 / stride1;\n\n ${n.length===2?\"\":`let batch_indices = ${v.offsetToIndices(\"batch\")};`}\n\n var a_indices: ${T.type.indices};\n ${_t(\"a_indices\",T,T.rank-2,v.rank,\"batch_indices\")}\n ${T.indicesSet(\"a_indices\",T.rank-2,0)}\n ${T.indicesSet(\"a_indices\",T.rank-1,0)}\n let a_offset = ${T.indicesToOffset(\"a_indices\")};\n\n var b_indices: ${I.type.indices};\n ${_t(\"b_indices\",I,I.rank-2,v.rank,\"batch_indices\")}\n ${I.indicesSet(\"b_indices\",I.rank-2,0)}\n ${I.indicesSet(\"b_indices\",I.rank-1,0)}\n let b_offset = ${I.indicesToOffset(\"b_indices\")};\n var values: array<${E.type.value}, ${f}>;\n for (var k: u32 = 0u; k < uniforms.K; k = k + ${p}) {\n ${U()}\n }\n for (var i = 0u; i < ${f}u; i++) {\n var value = values[i];\n ${W}\n ${M}\n let cur_indices = ${E.type.indices}(batch, row + i, col);\n let offset = ${E.indicesToOffset(\"cur_indices\")};\n ${E.setByOffset(`offset / ${c}`,\"value\")};\n }\n }\n `};return{name:\"MatMulNaive\",shaderCache:{hint:`${t.activation};${c};${p};${f};${o}`,inputDependencies:h?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:i?i(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(m/64)},programUniforms:_}),getShaderSource:w}}});var $l,vl,er,ps,xl,tr,Sl,wt,cn=k(()=>{\"use strict\";L();H();q();qe();ln();un();$l=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRow + innerRow,\n kStart / innerElementSize + inputCol${t?\", batchIndices\":\"\"});\n `,vl=(e,t)=>e?`\n let ACached0 = mm_Asub[k * innerElementSize][localRow];\n let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n ${t===3?\"\":\"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];\"}\n for (var i = 0; i < rowPerThread; i = i + 1) {\n acc[i] = BCached0 * ACached0[i] + acc[i];\n acc[i] = BCached1 * ACached1[i] + acc[i];\n acc[i] = BCached2 * ACached2[i] + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached3[i] + acc[i];\"}\n }`:`\n for (var i = 0; i < rowPerThread; i = i + 1) {\n let ACached = mm_Asub[tileRow + i][k];\n acc[i] = BCached0 * ACached.x + acc[i];\n acc[i] = BCached1 * ACached.y + acc[i];\n acc[i] = BCached2 * ACached.z + acc[i];\n ${t===3?\"\":\"acc[i] = BCached3 * ACached.w + acc[i];\"}\n }`,er=(e,t,n=\"f32\",r,o=!1,i=32,s=!1,a=32)=>{let u=t[1]*e[1],d=t[0]*e[0],l=o?u:i,c=o?i:u,p=l/t[0],f=i/t[1];if(!((o&&p===4&&e[1]===4||!o&&(p===3||p===4))&&l%t[0]===0&&i%t[1]===0&&e[0]===4))throw new Error(`If transposeA ${o} is true, innerElementSize ${p} and workPerThread[1] ${e[1]} must be 4.\n Otherwise, innerElementSize ${p} must be 3 or 4.\n tileAWidth ${l} must be divisible by workgroupSize[0]${t[0]}. tileInner ${i} must be divisible by workgroupSize[1] ${t[1]}. colPerThread ${e[0]} must be 4.`);return`\nvar<workgroup> mm_Asub: array<array<vec${p}<${n}>, ${l/p}>, ${c}>;\nvar<workgroup> mm_Bsub: array<array<vec4<${n}>, ${d/e[0]}>, ${i}>;\n\nconst rowPerThread = ${e[1]};\nconst colPerThread = ${e[0]};\nconst innerElementSize = ${p};\nconst tileInner = ${i};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n @builtin(global_invocation_id) globalId : vec3<u32>,\n @builtin(workgroup_id) workgroupId : vec3<u32>) {\n let localRow = i32(localId.y);\n let tileRow = localRow * rowPerThread;\n let tileCol = i32(localId.x);\n\n let globalRow =i32(globalId.y) * rowPerThread;\n let globalCol = i32(globalId.x);\n let batch = ${s?\"0\":\"i32(globalId.z)\"};\n ${r?`let batchIndices = ${r.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let globalRowStart = i32(workgroupId.y) * ${u};\n\n let num_tiles = ${s?`${Math.ceil(a/i)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${s?`i32(globalId.z) * ${a}`:\"0\"};\n\n var acc: array<vec4<${n}>, rowPerThread>;\n\n // Loop over shared dimension.\n let tileRowB = localRow * ${f};\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let inputRow = tileRow + innerRow;\n let inputCol = tileCol;\n ${$l(o,r)}\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${f}; innerRow = innerRow + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${r?\", batchIndices\":\"\"});\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n ${p===3?\"\":\"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];\"}\n\n ${vl(o,p)}\n }\n\n workgroupBarrier();\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n }\n}`},ps=(e,t)=>e?`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n kStart + inputRow,\n globalRowStart + inputCol${t?\", batchIndices\":\"\"});\n `:`\n mm_Asub[inputRow][inputCol] = mm_readA(batch,\n globalRowStart + inputRow,\n kStart + inputCol${t?\", batchIndices\":\"\"});\n `,xl=e=>e?\"let ACached = mm_Asub[k][tileRow + innerRow];\":\"let ACached = mm_Asub[tileRow + innerRow][k];\",tr=(e,t,n=\"f32\",r,o=!1,i=32,s=!1,a=32,u=!1)=>{let d=e[1]*t[1],l=e[0]*t[0],c=o?d:i,p=o?i:d;if(!(p%t[1]===0&&c%t[0]===0&&i%t[1]===0))throw new Error(`tileAHight ${p} must be divisible by workgroupSize[1]${t[1]}, tileAWidth ${c} must be divisible by workgroupSize[0]${t[0]}, tileInner ${i} must be divisible by workgroupSize[1]${t[1]}`);let f=p/t[1],m=c/t[0],h=i/t[1],b=u?`\n let localRow = i32(localId.y);\n let localCol = i32(localId.x);\n let globalRowStart = i32(workgroupId.y) * ${d};\n let globalColStart = i32(workgroupId.x) * ${l};\n\n // Loop over shared dimension.\n for (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var inputRow = localRow; inputRow < ${p}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${c}; inputCol = inputCol + ${t[0]}) {\n ${ps(o,r)}\n }\n }\n // Load one tile of B into local memory.\n for (var inputRow = localRow; inputRow < ${i}; inputRow = inputRow + ${t[1]}) {\n for (var inputCol = localCol; inputCol < ${l}; inputCol = inputCol + ${t[0]}) {\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalColStart + inputCol${r?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${n}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][localCol + inner * ${t[0]}];\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let ACached = ${o?`mm_Asub[k][localRow + innerRow * ${t[1]}];`:`mm_Asub[localRow + innerRow * ${t[1]}][k];`}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n ACached * BCached[innerCol];\n }\n }\n }\n workgroupBarrier();\n }\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n let gRow = globalRowStart + localRow + innerRow * ${t[1]};\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let gCol = globalColStart + localCol + innerCol * ${t[0]};\n mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n }\n }\n `:`\nlet tileRow = i32(localId.y) * rowPerThread;\nlet tileCol = i32(localId.x) * colPerThread;\n\nlet globalRow = i32(globalId.y) * rowPerThread;\nlet globalCol = i32(globalId.x) * colPerThread;\nlet globalRowStart = i32(workgroupId.y) * ${d};\n\nlet tileRowA = i32(localId.y) * ${f};\nlet tileColA = i32(localId.x) * ${m};\nlet tileRowB = i32(localId.y) * ${h};\n// Loop over shared dimension.\nfor (var t = 0; t < num_tiles; t = t + 1) {\n // Load one tile of A into local memory.\n for (var innerRow = 0; innerRow < ${f}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < ${m}; innerCol = innerCol + 1) {\n let inputRow = tileRowA + innerRow;\n let inputCol = tileColA + innerCol;\n ${ps(o,r)}\n }\n }\n\n // Load one tile of B into local memory.\n for (var innerRow = 0; innerRow < ${h}; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n let inputRow = tileRowB + innerRow;\n let inputCol = tileCol + innerCol;\n mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n kStart + inputRow,\n globalCol + innerCol${r?\", batchIndices\":\"\"});\n }\n }\n kStart = kStart + tileInner;\n workgroupBarrier();\n\n // Compute acc values for a single thread.\n var BCached : array<${n}, colPerThread>;\n for (var k = 0; k < tileInner; k = k + 1) {\n for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n BCached[inner] = mm_Bsub[k][tileCol + inner];\n }\n\n for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n ${xl(o)}\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n }\n }\n }\n\n workgroupBarrier();\n}\n\nfor (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n acc[innerRow][innerCol]);\n }\n}\n`;return`\n var<workgroup> mm_Asub : array<array<${n}, ${c}>, ${p}>;\n var<workgroup> mm_Bsub : array<array<${n}, ${l}>, ${i}>;\n const rowPerThread = ${e[1]};\n const colPerThread = ${e[0]};\n const tileInner = ${i};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n @builtin(global_invocation_id) globalId : vec3<u32>,\n @builtin(workgroup_id) workgroupId : vec3<u32>) {\n let batch = ${s?\"0\":\"i32(globalId.z)\"};\n ${r?`let batchIndices = ${r.offsetToIndices(\"u32(batch)\")};`:\"\"}\n let num_tiles = ${s?`${Math.ceil(a/i)}`:\"(uniforms.dim_inner - 1) / tileInner + 1\"};\n var kStart = ${s?`i32(globalId.z) * ${a}`:\"0\"};\n\n var acc : array<array<${n}, colPerThread>, rowPerThread>;\n ${b}\n }\n`},Sl=(e,t,n,r,o=!1)=>{let[i,s,a,u]=r,d=re(r[0].type.tensor);return`\n fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${i.type.indices}) -> ${ce(e,d)} {\n var value = ${ce(e,d)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)\n {\n var aIndices: ${s.type.indices};\n ${_t(\"aIndices\",s,s.rank-2,i.rank,\"batchIndices\")}\n ${s.indicesSet(\"aIndices\",s.rank-2,\"u32(row)\")}\n ${s.indicesSet(\"aIndices\",s.rank-1,\"u32(colIn)\")}\n value = ${s.getByIndices(\"aIndices\")};\n }\n return value;\n }\n\n fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${i.type.indices}) -> ${ce(e,d)} {\n var value = ${ce(e,d)}(0.0);\n let col = colIn * ${e};\n if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)\n {\n var bIndices: ${a.type.indices};\n ${_t(\"bIndices\",a,a.rank-2,i.rank,\"batchIndices\")}\n ${a.indicesSet(\"bIndices\",a.rank-2,\"u32(row)\")}\n ${a.indicesSet(\"bIndices\",a.rank-1,\"u32(colIn)\")}\n value = ${a.getByIndices(\"bIndices\")};\n }\n return value;\n }\n\n fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${ce(e,d)}) {\n let col = colIn * ${e};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {\n var value = valueIn;\n let coords = vec3<i32>(batch, row, colIn);\n ${t?`value = value + ${o?\"bias[colIn]\":`${ce(e,d)}(bias[row])`};`:\"\"}\n ${n}\n ${u.setByIndices(\"vec3<u32>(coords)\",\"value\")}\n }\n }\n `},wt=(e,t,n,r,o=!1,i)=>{let s=e[0].dims,a=e[1].dims,u=s.slice(0,-2),d=a.slice(0,-2),l=r?r.slice(0,-2):n.slice(0,-2),c=x.size(l),p=s[s.length-2],f=s[s.length-1],m=a[a.length-1],h=f%4===0&&m%4===0,b=p<=8?[4,1,1]:[4,4,1],y=[8,8,1],g=[Math.ceil(m/y[0]/b[0]),Math.ceil(p/y[1]/b[1]),Math.ceil(c/y[2]/b[2])],_=h?4:1,w=[...u,p,f/_],$=w.length,v=[...d,f,m/_],T=v.length,I=[c,p,m/_],E=[{type:6,data:p},{type:6,data:m},{type:6,data:f}];Ae(t,E),E.push(...P(l,w,v));let z=[\"rank\",\"rank\"],M=e.length>2;M&&(E.push(...P(e[2].dims)),z.push(\"rank\")),E.push(...P(I));let O=W=>{let K=l.length,U=en(\"batchDims\",e[0].dataType,K,1),R=re(e[0].dataType),G=S(\"a\",e[0].dataType,$,_),N=S(\"b\",e[1].dataType,T,_),j=C(\"result\",e[0].dataType,I.length,_),Q=[G,N];if(M){let D=o?_:1;Q.push(S(\"bias\",e[2].dataType,e[2].dims.length,D))}let X=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"}];Ee(t,X);let Se=re(j.type.tensor),se=Ce(t,j.type.value,Se),A=Sl(_,M,se,[U,G,N,j],o);return`\n ${W.registerUniforms(X).registerInternalVariables(U).declareVariables(...Q,j)}\n ${A}\n ${h?er(b,y,R,U):tr(b,y,R,U)}\n `};return{name:\"MatMul\",shaderCache:{hint:`${b};${t.activation};${h};${o}`,inputDependencies:z},getRunData:()=>({outputs:[{dims:i?i(n):n,dataType:e[0].dataType}],dispatchGroup:{x:g[0],y:g[1],z:g[2]},programUniforms:E}),getShaderSource:O}}});var Tl,ms,fs=k(()=>{\"use strict\";L();Pe();q();qe();un();cs();cn();Tl=(e,t,n,r,o=!1,i,s=4,a=4,u=4,d=\"f32\")=>{let l=z=>{switch(z){case 1:return\"resData = x[xIndex];\";case 3:return`resData = vec3<${d}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return\"resData = x[xIndex / 4];\";default:throw new Error(`innerElementSize ${z} is not supported.`)}},c=z=>{switch(z){case 1:return\"return w[row * i32(uniforms.w_shape[3]) + colIn];\";case 4:return\"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];\";default:throw new Error(`innerElementSize ${z} is not supported.`)}},p=e?`\n let coord = vec4<i32>(batch, xRow, xCol, xCh);\n `:`\n let coord = vec4<i32>(batch, xCh, xRow, xCol);\n `,f=e?`\n let coords = vec4<i32>(\n batch,\n row / outWidth,\n row % outWidth,\n col);\n `:`\n let coords = vec4<i32>(\n batch,\n row,\n col / outWidth,\n col % outWidth);\n `,m=e?\"i32(uniforms.x_shape[1])\":\"i32(uniforms.x_shape[2])\",h=e?\"i32(uniforms.x_shape[2])\":\"i32(uniforms.x_shape[3])\",b=e?\"row\":\"col\",y=e?\"col\":\"row\",g=`\n let inChannels = i32(uniforms.w_shape[2]);\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n let outRow = ${b} / outWidth;\n let outCol = ${b} % outWidth;\n\n let WRow = ${y} / (i32(uniforms.w_shape[1]) * inChannels);\n let WCol = ${y} / inChannels % i32(uniforms.w_shape[1]);\n let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];\n let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];\n let xCh = ${y} % inChannels;\n var resData = ${ce(s,d)}(0.0);\n // The bounds checking is always needed since we use it to pad zero for\n // the 'same' padding type.\n if (xRow >= 0 && xRow < ${m} && xCol >= 0 && xCol < ${h}) {\n ${p}\n let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));\n ${l(s)}\n }\n return resData;`,_=e?t&&r?`\n let col = colIn * ${s};\n ${g}`:`\n let col = colIn * ${s};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {\n ${g}\n }\n return ${ce(s,d)}(0.0);`:r&&n?`\n let col = colIn * ${s};\n ${g}`:`\n let col = colIn * ${s};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${g}\n }\n return ${ce(s,d)}(0.0);`,w=e?r&&n?c(a):`\n let col = colIn * ${a};\n if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {\n ${c(a)}\n }\n return ${ce(a,d)}(0.0);`:`\n let col = colIn * ${a};\n if (row < uniforms.dim_inner && col < uniforms.dim_a_outer) {\n ${c(a)}\n }\n return ${ce(a,d)}(0.0);`,$=ce(u,d),v=e?ce(s,d):ce(a,d),T=e?ce(a,d):ce(s,d),I=Ce(i,$,d);return`\n fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${v} {\n ${e?_:w}\n }\n\n fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${T} {\n ${e?w:_}\n }\n\n fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${$}) {\n let col = colIn * ${u};\n if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)\n {\n var value = valueIn;\n let outWidth = ${e?\"i32(uniforms.result_shape[2])\":\"i32(uniforms.result_shape[3])\"};\n ${f}\n ${ds(o)}\n ${I}\n setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n }\n }`},ms=(e,t,n,r,o,i,s,a,u)=>{let d=t.format===\"NHWC\",l=d?e[0].dims[3]:e[0].dims[1],c=n[0],p=d?n[2]:n[3],f=d?n[1]:n[2],m=d?n[3]:n[1],h=d&&(l%4===0||l%3===0)&&m%4===0,b=d?m:p*f,y=d?p*f:m,g=[8,8,1],_=r<=8?[4,1,1]:[4,4,1],w=[Math.ceil(b/g[0]/_[0]),Math.ceil(y/g[1]/_[1]),Math.ceil(c/g[2]/_[2])];Z(\"verbose\",()=>`[conv2d_mm_webgpu] dispatch = ${w}`);let $=h?d&&l%4!==0?3:4:1,v=g[1]*_[1],T=g[0]*_[0],I=Math.max(g[0]*$,g[1]),E=r%v===0,z=o%T===0,M=i%I===0,O=h?[$,4,4]:[1,1,1],W=[{type:6,data:r},{type:6,data:o},{type:6,data:i},{type:6,data:[t.pads[0],t.pads[1]]},{type:6,data:t.strides},{type:6,data:t.dilations}];Ae(t,W),W.push(...P(e[0].dims,e[1].dims));let K=[\"rank\",\"rank\"];s&&(W.push(...P(e[2].dims)),K.push(\"rank\")),W.push(...P(n));let U=R=>{let G=[{name:\"dim_a_outer\",type:\"i32\"},{name:\"dim_b_outer\",type:\"i32\"},{name:\"dim_inner\",type:\"i32\"},{name:\"pad\",type:\"i32\",length:2},{name:\"stride\",type:\"i32\",length:2},{name:\"dilation\",type:\"i32\",length:2}];Ee(t,G);let N=h?4:1,j=re(e[0].dataType),Q=`\n fn setOutputAtIndex(flatIndex : i32, value : ${h?`vec4<${j}>`:j}) {\n result[flatIndex] = ${h?`vec4<${j}>`:j}(value);\n }\n fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${h?`vec4<${j}>`:j}) {\n let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));\n setOutputAtIndex(flatIndex ${h?\"/ 4\":\"\"}, value);\n }`,X=S(\"x\",e[0].dataType,e[0].dims.length,$===3?1:$),Se=S(\"w\",e[1].dataType,e[1].dims.length,N),se=[X,Se],A=C(\"result\",e[0].dataType,n.length,N);if(s){let D=S(\"bias\",e[2].dataType,e[2].dims.length,N);se.push(D),Q+=`\n fn getBiasByOutputCoords(coords : vec4<i32>) -> ${h?`vec4<${j}>`:j} {\n return bias[coords.${d?\"w\":\"y\"}${h?\"/ 4\":\"\"}];\n }`}return`\n ${ls(\"uniforms.result_strides\")}\n //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,\n // outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,\n // dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };\n ${R.registerUniforms(G).declareVariables(...se,A)}\n ${Q}\n ${Tl(d,E,z,M,s,t,O[0],O[1],O[2],j)}\n ${h?er(_,g,j,void 0,!d,I):tr(_,g,j,void 0,!d,I,!1,void 0,a)}`};return{name:\"Conv2DMatMul\",shaderCache:{hint:`${t.cacheKey};${$};${h};${E};${z};${M};${v};${T};${I}`,inputDependencies:K},getRunData:()=>({outputs:[{dims:u?u(n):n,dataType:e[0].dataType}],dispatchGroup:{x:w[0],y:w[1],z:w[2]},programUniforms:W}),getShaderSource:U}}});var Il,hs,pn,Cl,gs,Al,ys,bs,_s=k(()=>{\"use strict\";L();Pe();H();q();qe();un();Il=e=>{let t=1;for(let n=0;n<e.length;n++)t*=e[n];return t},hs=e=>typeof e==\"number\"?[e,e,e]:e,pn=(e,t)=>t<=1?e:e+(e-1)*(t-1),Cl=(e,t,n,r=1)=>{let o=pn(t,r);return Math.floor((e[0]*(n-1)-n+o)/2)},gs=(e,t,n,r,o)=>{o==null&&(o=Cl(e,t[0],r[0]));let i=[0,0,0,n];for(let s=0;s<3;s++)e[s]+2*o>=t[s]&&(i[s]=Math.trunc((e[s]-t[s]+2*o)/r[s]+1));return i},Al=(e,t,n,r,o,i,s,a,u,d)=>{let l,c,p,f;if(e===\"VALID\"&&(e=0),typeof e==\"number\"){l={top:e,bottom:e,left:e,right:e,front:e,back:e};let m=gs([t,n,r,1],[a,u,d],1,[o,i,s],e);c=m[0],p=m[1],f=m[2]}else if(Array.isArray(e)){if(!e.every((h,b,y)=>h===y[0]))throw Error(`Unsupported padding parameter: ${e}`);l={top:e[0],bottom:e[1],left:e[2],right:e[3],front:e[4],back:e[5]};let m=gs([t,n,r,1],[a,u,d],1,[o,i,s],e[0]);c=m[0],p=m[1],f=m[2]}else if(e===\"SAME_UPPER\"){c=Math.ceil(t/o),p=Math.ceil(n/i),f=Math.ceil(r/s);let m=(c-1)*o+a-t,h=(p-1)*i+u-n,b=(f-1)*s+d-r,y=Math.floor(m/2),g=m-y,_=Math.floor(h/2),w=h-_,$=Math.floor(b/2),v=b-$;l={top:_,bottom:w,left:$,right:v,front:y,back:g}}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:l,outDepth:c,outHeight:p,outWidth:f}},ys=(e,t,n,r,o,i=!1,s=\"channelsLast\")=>{let a,u,d,l,c;if(s===\"channelsLast\")[a,u,d,l,c]=e;else if(s===\"channelsFirst\")[a,c,u,d,l]=e;else throw new Error(`Unknown dataFormat ${s}`);let[p,,f,m,h]=t,[b,y,g]=hs(n),[_,w,$]=hs(r),v=pn(f,_),T=pn(m,w),I=pn(h,$),{padInfo:E,outDepth:z,outHeight:M,outWidth:O}=Al(o,u,d,l,b,y,g,v,T,I),W=i?p*c:p,K=[0,0,0,0,0];return s===\"channelsFirst\"?K=[a,W,z,M,O]:s===\"channelsLast\"&&(K=[a,z,M,O,W]),{batchSize:a,dataFormat:s,inDepth:u,inHeight:d,inWidth:l,inChannels:c,outDepth:z,outHeight:M,outWidth:O,outChannels:W,padInfo:E,strideDepth:b,strideHeight:y,strideWidth:g,filterDepth:f,filterHeight:m,filterWidth:h,effectiveFilterDepth:v,effectiveFilterHeight:T,effectiveFilterWidth:I,dilationDepth:_,dilationHeight:w,dilationWidth:$,inShape:e,outShape:K,filterShape:t}},bs=(e,t,n,r,o,i)=>{let s=i===\"channelsLast\",a=s?e[0].dims[3]:e[0].dims[1],u=!1,d=[64,1,1],l={x:n.map((g,_)=>_)},c=[Math.ceil(Il(l.x.map(g=>n[g]))/d[0]),1,1];Z(\"verbose\",()=>`[conv3d_naive_webgpu] dispatch = ${c}`);let p=u?s&&a%4!==0?3:4:1,f=x.size(n),m=[{type:12,data:f},{type:12,data:r},{type:12,data:o},{type:12,data:t.strides},{type:12,data:t.dilations}];Ae(t,m),m.push(...P(e[0].dims,e[1].dims));let h=[\"rank\",\"rank\"],b=e.length===3;b&&(m.push(...P(e[2].dims)),h.push(\"rank\")),m.push(...P(n));let y=g=>{let _=[{name:\"output_size\",type:\"u32\"},{name:\"filter_dims\",type:\"u32\",length:r.length},{name:\"pads\",type:\"u32\",length:o.length},{name:\"strides\",type:\"u32\",length:t.strides.length},{name:\"dilations\",type:\"u32\",length:t.dilations.length}];Ee(t,_);let w=u?4:1,$=re(e[0].dataType),v=S(\"x\",e[0].dataType,e[0].dims.length,p===3?1:p),T=S(\"W\",e[1].dataType,e[1].dims.length,w),I=[v,T],E=C(\"result\",e[0].dataType,n.length,w),z=\"\";if(b){let W=S(\"bias\",e[2].dataType,e[2].dims.length,w);I.push(W),z+=`\n fn getBiasByOutputCoords(coords : array<u32, 5>) -> ${u?`vec4<${$}>`:$} {\n return bias[${s?B(\"coords\",4,5):B(\"coords\",1,5)}${u?\"/ 4\":\"\"}];\n }`}let M=ce(p,$),O=Ce(t,M,$);return`\n ${z}\n fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> ${$} {\n let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);\n return ${v.getByIndices(\"aIndices\")};\n }\n fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> ${$} {\n let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);\n return ${T.getByIndices(\"aIndices\")};\n }\n ${g.registerUniforms(_).declareVariables(...I,E)}\n ${g.mainStart()}\n ${g.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let coords = ${E.offsetToIndices(\"global_idx\")};\n let batch = ${B(\"coords\",0,v.rank)};\n let d2 = ${s?B(\"coords\",v.rank-1,v.rank):B(\"coords\",1,v.rank)};\n let xFRCCorner = vec3<u32>(${s?B(\"coords\",1,v.rank):B(\"coords\",2,v.rank)},\n ${s?B(\"coords\",2,v.rank):B(\"coords\",3,v.rank)},\n ${s?B(\"coords\",3,v.rank):B(\"coords\",4,v.rank)}) * uniforms.strides - uniforms.pads;\n let xFCorner = xFRCCorner.x;\n let xRCorner = xFRCCorner.y;\n let xCCorner = xFRCCorner.z;\n let xShapeY = ${s?B(\"uniforms.x_shape\",1,v.rank):B(\"uniforms.x_shape\",2,v.rank)};\n let xShapeZ = ${s?B(\"uniforms.x_shape\",2,v.rank):B(\"uniforms.x_shape\",3,v.rank)};\n let xShapeW = ${s?B(\"uniforms.x_shape\",3,v.rank):B(\"uniforms.x_shape\",4,v.rank)};\n let xShapeU = ${s?B(\"uniforms.x_shape\",4,v.rank):B(\"uniforms.x_shape\",1,v.rank)};\n let inputDepthNearestVec4 = (xShapeU / 4) * 4;\n let inputDepthVec4Remainder = xShapeU % 4;\n\n var value = ${$}(0);\n for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) {\n let xF = xFCorner + wF * uniforms.dilations[0];\n if (xF < 0 || xF >= xShapeY) {\n continue;\n }\n\n for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) {\n let xR = xRCorner + wR * uniforms.dilations[1];\n if (xR < 0 || xR >= xShapeZ) {\n continue;\n }\n\n for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) {\n let xC = xCCorner + wC * uniforms.dilations[2];\n if (xC < 0 || xC >= xShapeW) {\n continue;\n }\n\n for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) {\n ${s?`let xValues = vec4<${$}>(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3));\n `:`let xValues = vec4<${$}>(\n getX(batch, d1, xF, xR, xC),\n getX(batch, d1 + 1, xF, xR, xC),\n getX(batch, d1 + 2, xF, xR, xC),\n getX(batch, d1 + 3, xF, xR, xC));\n `}\n let wValues = vec4<${$}>(\n getW(d2, d1, wF, wR, wC),\n getW(d2, d1 + 1, wF, wR, wC),\n getW(d2, d1 + 2, wF, wR, wC),\n getW(d2, d1 + 3, wF, wR, wC));\n value += dot(xValues, wValues);\n }\n if (inputDepthVec4Remainder == 1) {\n ${s?`value += getX(batch, xF, xR, xC, inputDepthNearestVec4)\n * getW(d2, inputDepthNearestVec4, wF, wR, wC);`:`value += getX(batch, inputDepthNearestVec4, xF, xR, xC)\n * getW(d2, inputDepthNearestVec4, wF, wR, wC);`}\n } else if (inputDepthVec4Remainder == 2) {\n ${s?`let xValues = vec2<${$}>(\n getX(batch, xF, xR, xC, inputDepthNearestVec4),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1));\n `:`let xValues = vec2<${$}>(\n getX(batch, inputDepthNearestVec4, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC));\n `}\n let wValues = vec2<${$}>(\n getW(d2, inputDepthNearestVec4, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC));\n value += dot(xValues, wValues);\n } else if (inputDepthVec4Remainder == 3) {\n ${s?`let xValues = vec3<${$}>(\n getX(batch, xF, xR, xC, inputDepthNearestVec4),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1),\n getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2));\n `:`let xValues = vec3<${$}>(\n getX(batch, inputDepthNearestVec4, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC),\n getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC));\n `}\n let wValues = vec3<${$}>(\n getW(d2, inputDepthNearestVec4, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC),\n getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC));\n value += dot(xValues, wValues);\n }\n }\n }\n }\n ${b?\"value = value + getBiasByOutputCoords(coords)\":\"\"};\n ${O}\n result[global_idx] = ${$}(value);\n }`};return{name:\"Conv3DNaive\",shaderCache:{hint:`${t.cacheKey};${s};${p};${b}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:n,dataType:e[0].dataType}],dispatchGroup:{x:c[0],y:c[1],z:c[2]},programUniforms:m}),getShaderSource:y}}});var ws,$s,vs=k(()=>{\"use strict\";L();H();q();qe();ws=(e,t,n,r)=>{let o=e.length>2,i=o?\"value += b[output_channel];\":\"\",s=e[0].dims,a=e[1].dims,u=t.format===\"NHWC\",d=u?n[3]:n[1],l=d/t.group,c=u&&l>=4?J(d):1,p=x.size(n)/c,f=[{type:12,data:p},{type:12,data:t.dilations},{type:12,data:[t.strides[0],t.strides[1]]},{type:12,data:[t.pads[0],t.pads[1]]},{type:12,data:l}];Ae(t,f),f.push(...P(s,[a[0],a[1],a[2],a[3]/c]));let m=o?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"];f.push(...P([n[0],n[1],n[2],n[3]/c]));let h=b=>{let y=C(\"output\",e[0].dataType,n.length,c),g=re(y.type.tensor),_=Ce(t,y.type.value,g),w=S(\"x\",e[0].dataType,s.length),$=S(\"w\",e[1].dataType,a.length,c),v=[w,$];o&&v.push(S(\"b\",e[2].dataType,e[2].dims,c));let T=[{name:\"output_size\",type:\"u32\"},{name:\"dilations\",type:\"u32\",length:t.dilations.length},{name:\"strides\",type:\"u32\",length:2},{name:\"pads\",type:\"u32\",length:2},{name:\"output_channels_per_group\",type:\"u32\"}];Ee(t,T);let I=u?`\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[0]; wHeight++) {\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\n\n if (xHeight < 0u || xHeight >= uniforms.x_shape[1]) {\n continue;\n }\n\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[1]; wWidth++) {\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\n if (xWidth < 0u || xWidth >= uniforms.x_shape[2]) {\n continue;\n }\n\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[2]; wInChannel++) {\n let input_channel = in_channel_offset + wInChannel;\n let xVal = ${w.get(\"batch\",\"xHeight\",\"xWidth\",\"input_channel\")};\n let wVal = ${$.get(\"wHeight\",\"wWidth\",\"wInChannel\",\"output_channel\")};\n value += xVal * wVal;\n }\n }\n }\n `:`\n for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {\n let input_channel = in_channel_offset + wInChannel;\n for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {\n let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];\n\n if (xHeight < 0u || xHeight >= uniforms.x_shape[2]) {\n continue;\n }\n\n for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {\n let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];\n if (xWidth < 0u || xWidth >= uniforms.x_shape[3]) {\n continue;\n }\n\n let xVal = ${w.get(\"batch\",\"input_channel\",\"xHeight\",\"xWidth\")};\n let wVal = ${$.get(\"output_channel\",\"wInChannel\",\"wHeight\",\"wWidth\")};\n value += xVal * wVal;\n }\n }\n }\n `;return`\n ${b.registerUniforms(T).declareVariables(...v,y)}\n\n ${b.mainStart()}\n ${b.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let outputIndices = ${y.offsetToIndices(\"global_idx\")};\n let batch: u32 = outputIndices[0];\n let output_channel: u32 = outputIndices[${u?3:1}];\n let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${u?1:2}], outputIndices[${u?2:3}]) * uniforms.strides - uniforms.pads;\n let group_id: u32 = output_channel * ${c} / uniforms.output_channels_per_group;\n var in_channel_offset = group_id * uniforms.w_shape[${u?2:1}];\n\n var value: ${y.type.value} = ${y.type.value}(0);\n ${I}\n ${i}\n ${_}\n ${y.setByOffset(\"global_idx\",\"value\")}\n }`};return{name:\"GroupedConv\",shaderCache:{hint:`${t.cacheKey}_${c}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:r?r(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:f}),getShaderSource:h}},$s=(e,t,n,r)=>{let o=e.length>2,i=J(n[3]),s=J(n[2]),a=x.size(n)/i/s,u=[e[0].dims[0],e[0].dims[1],e[0].dims[2],e[0].dims[3]/i],d=[e[1].dims[0],e[1].dims[1],e[1].dims[2],e[1].dims[3]/i],l=[n[0],n[1],n[2],n[3]/i],c=[{type:12,data:a},{type:6,data:[t.strides[0],t.strides[1]]},{type:6,data:[t.pads[0],t.pads[1]]}];Ae(t,c),c.push(...P(u,d,l));let p=(s-1)*t.strides[1]+d[1],f=m=>{let h=C(\"output\",e[0].dataType,l.length,i),b=re(h.type.tensor),y=Ce(t,h.type.value,b),g=S(\"x\",e[0].dataType,u.length,i),_=S(\"w\",e[1].dataType,d.length,i),w=[g,_];o&&w.push(S(\"b\",e[2].dataType,e[2].dims,i));let $=o?\"value += b[output_channel];\":\"\",v=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"i32\",length:2},{name:\"pads\",type:\"i32\",length:2}];return Ee(t,v),`\n ${m.registerUniforms(v).declareVariables(...w,h)}\n ${m.mainStart()}\n ${m.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let width0 = uniforms.output_shape[3];\n let output_channel = global_idx % width0;\n var index1 = global_idx / width0;\n let width1 = uniforms.output_shape[2] / ${s}u;\n let col = (index1 % width1) * ${s}u;\n index1 = index1 / width1;\n let row = index1 % uniforms.output_shape[1];\n let batch = index1 / uniforms.output_shape[1];\n\n let x_corner = vec2<i32>(i32(row), i32(col)) * uniforms.strides - uniforms.pads;\n\n var x_vals: array<${g.type.value}, ${p}>;\n var values: array<${h.type.value}, ${s}>;\n let input_channel = output_channel;\n // Use constant instead of uniform can give better performance for w's height/width.\n for (var w_height: u32 = 0u; w_height < ${d[0]}; w_height++) {\n let x_height = x_corner.x + i32(w_height);\n if (x_height >= 0 && u32(x_height) < uniforms.x_shape[1]) {\n for (var i = 0; i < ${p}; i++) {\n let x_width = x_corner.y + i;\n if (x_width >= 0 && u32(x_width) < uniforms.x_shape[2]) {\n x_vals[i] = ${g.get(\"batch\",\"u32(x_height)\",\"u32(x_width)\",\"input_channel\")};\n } else {\n x_vals[i] = ${g.type.value}(0);\n }\n }\n for (var w_width: u32 = 0u; w_width < ${d[1]}; w_width++) {\n let w_val = ${_.get(\"w_height\",\"w_width\",\"0\",\"output_channel\")};\n for (var i = 0u; i < ${s}u; i++) {\n values[i] = fma(x_vals[i * u32(uniforms.strides[1]) + w_width], w_val, values[i]);\n }\n }\n }\n }\n\n for (var i = 0u; i < ${s}u; i++) {\n var value = values[i];\n ${$}\n ${y}\n ${h.set(\"batch\",\"row\",\"col + i\",\"output_channel\",\"value\")};\n }\n }`};return{name:\"GroupedConv-Vectorize\",shaderCache:{hint:`${t.cacheKey};${i};${s};${p};${d[0]};${d[1]}`,inputDependencies:o?[\"rank\",\"rank\",\"type\"]:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:r?r(n):n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:c}),getShaderSource:f}}});var El,nr,kl,rr,or,xs,Pl,zl,ir,Ss=k(()=>{\"use strict\";H();fs();_s();cn();vs();qe();ln();Re();El=(e,t,n,r,o,i)=>{let s=e[0],a=e.slice(i?1:2,i?3:4),u=a.length,d=t[0],c=t.slice(2).map((m,h)=>m+(m-1)*(n[h]-1)),f=a.map((m,h)=>m+r[h]+r[h+u]).map((m,h)=>Math.floor((m-c[h]+o[h])/o[h]));return f.splice(0,0,s),f.splice(i?3:1,0,d),f},nr=[2,3,1,0],kl=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length>5)throw new Error(\"greater than 5D is not supported\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let n=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],r=e[1].dims[1]*t.group;if(n!==r)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");if(e.length===3&&(e[2].dims.length!==1||e[1].dims[0]!==e[2].dims[0]))throw new Error(\"invalid bias\");let o=e[0].dims.length-2;if(t.dilations.length!==o)throw new Error(`dilations should be ${o}D`);if(t.strides.length!==o)throw new Error(`strides should be ${o}D`);if(t.pads.length!==o*2)throw new Error(`pads should be ${o*2}D`);if(t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\")},rr=(e,t)=>{let n=e.kernelShape.slice();n.length<t[1].dims.length-2&&n.push(...Array(t[1].dims.length-2-n.length).fill(0));for(let i=2;i<t[1].dims.length;++i)n[i-2]===0&&(n[i-2]=t[1].dims[i]);let r=e.pads.slice();Je.adjustPadsBasedOnAutoPad(t[0].dims,e.strides,e.dilations,n,r,e.format===\"NHWC\",e.autoPad);let o=Object.assign({},e);return Object.assign(o,{kernelShape:n,pads:r}),o},or=e=>{let t=an(e),n=e.format,r=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],o=e.dilations,i=e.group,s=e.kernel_shape,a=e.pads,u=e.strides,d=e.w_is_const();return{autoPad:r,format:n,dilations:o,group:i,kernelShape:s,pads:a,strides:u,wIsConst:d,...t,cacheKey:`${e.format};${t.activation};`}},xs=(e,t,n,r)=>{let o=n.format===\"NHWC\",i=El(t[0].dims,t[1].dims,n.dilations,n.pads,n.strides,o);if(n.group!==1){let v=[t[0]];if(o){let I=e.kernelCustomData.wT??e.compute(me(t[1],nr),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=I),v.push(I)}else v.push(t[1]);t.length===3&&v.push(t[2]),!e.adapterInfo.isArchitecture(\"ampere\")&&o&&t[1].dims[0]===n.group&&t[1].dims[1]===1&&n.dilations[0]===1&&n.dilations[1]===1?e.compute($s(v,n,i,r),{inputs:v}):e.compute(ws(v,n,i,r),{inputs:v});return}let s=t.length===3,a=t[0].dims[o?1:2],u=t[0].dims[o?2:3],d=t[0].dims[o?3:1],l=t[1].dims[2],c=t[1].dims[3],p=i[o?1:2],f=i[o?2:3],m=i[o?3:1],h=o&&l===a&&c===u&&n.pads[0]===0&&n.pads[1]===0;if(h||l===1&&c===1&&n.dilations[0]===1&&n.dilations[1]===1&&n.strides[0]===1&&n.strides[1]===1&&n.pads[0]===0&&n.pads[1]===0){let v=i[0],T,I,E,z=[];if(o){let W=e.kernelCustomData.wT??e.compute(me(t[1],nr),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];if(n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=W),h){let K=a*u*d;T=t[0].reshape([1,v,K]),I=W.reshape([1,K,m]),E=[1,v,m]}else T=t[0].reshape([v,a*u,d]),I=W.reshape([1,d,m]),E=[v,p*f,m];z.push(T),z.push(I)}else T=t[0].reshape([v,d,a*u]),I=t[1].reshape([1,m,d]),E=[v,m,p*f],z.push(I),z.push(T);s&&z.push(t[2]);let M=E[2],O=z[0].dims[z[0].dims.length-1];M<8&&O<8?e.compute(dn(z,n,i,E,o,r),{inputs:z}):e.compute(wt(z,n,i,E,o,r),{inputs:z});return}let b=!0,y=e.kernelCustomData.wT??e.compute(me(t[1],nr),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=y);let g=[t[0],y];s&&g.push(t[2]);let _=o?p*f:m,w=o?m:p*f,$=l*c*d;e.compute(ms(g,n,i,_,w,$,s,b,r),{inputs:g})},Pl=(e,t)=>{let n=t.format===\"NHWC\",r=[e.inputs[0].reshape(n?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&r.push(e.inputs[2]);let o=[0,t.pads[0],0,t.pads[1]],i=[1].concat(t.strides),s=[1].concat(t.dilations),a=[1].concat(t.kernelShape),u=rr({...t,pads:o,strides:i,dilations:s,kernelShape:a},r);xs(e,r,u,d=>n?[d[0],d[2],d[3]]:[d[0],d[1],d[3]])},zl=(e,t,n)=>{let r=n.format===\"NHWC\"?\"channelsLast\":\"channelsFirst\",o=rr(n,t),i=n.autoPad===\"NOTSET\"?n.pads:n.autoPad,s=ys(t[0].dims,t[1].dims,n.strides,n.dilations,i,!1,r);e.compute(bs(t,o,s.outShape,[s.filterDepth,s.filterHeight,s.filterWidth],[s.padInfo.front,s.padInfo.top,s.padInfo.left],r))},ir=(e,t)=>{if(kl(e.inputs,t),e.inputs[0].dims.length===3)Pl(e,t);else if(e.inputs[0].dims.length===5)zl(e,e.inputs,t);else{let n=rr(t,e.inputs);xs(e,e.inputs,n)}}});var Ts,Is=k(()=>{\"use strict\";L();Pe();H();q();Ts=(e,t,n)=>{let r=e.length>2,o=t.outputShape,i=t.format===\"NHWC\",s=t.group,a=e[1].dims,u=a[2]/s,d=a[3],l=i?J(u):1,c=i&&d===1&&u>=4,p=c?Math.floor(u/4)*4:Math.floor(u/l)*l,f=u-p,m=i?J(d):1,h=i?d===1?l:m:1,b=x.size(o)/m,y=[Math.ceil(b/64),1,1];Z(\"verbose\",()=>`[conv2d_backprop_webgpu] dispatch = ${y}`);let g=[\"rank\",\"rank\"],_=[t.strides[0],t.strides[1]],w=[t.kernelShape[i?1:2],t.kernelShape[i?2:3]],$=[t.dilations[0],t.dilations[1]],v=[w[0]+(t.dilations[0]<=1?0:(t.kernelShape[i?1:2]-1)*(t.dilations[0]-1)),w[1]+(t.dilations[1]<=1?0:(t.kernelShape[i?2:3]-1)*(t.dilations[1]-1))],T=[v[0]-1-Math.floor((t.pads[0]+t.pads[2])/2),v[1]-1-Math.floor((t.pads[1]+t.pads[3])/2)],I=[{type:12,data:b},{type:12,data:_},{type:12,data:w},{type:12,data:$},{type:12,data:v},{type:6,data:T},{type:12,data:p},{type:12,data:u},{type:12,data:d},...P(e[0].dims,e[1].dims)];r&&(I.push(...P(e[2].dims)),g.push(\"rank\")),I.push(...P(o));let E=z=>{let M=[{name:\"output_size\",type:\"u32\"},{name:\"strides\",type:\"u32\",length:_.length},{name:\"filter_dims\",type:\"u32\",length:w.length},{name:\"dilations\",type:\"u32\",length:w.length},{name:\"effective_filter_dims\",type:\"u32\",length:v.length},{name:\"pads\",type:\"i32\",length:T.length},{name:\"input_channels_per_group_int\",type:\"u32\"},{name:\"input_channels_per_group\",type:\"u32\"},{name:\"output_channels_per_group\",type:\"u32\"}],O=re(e[0].dataType),W=i?1:2,K=i?2:3,U=i?3:1,R=S(\"W\",e[1].dataType,e[1].dims.length,h),G=S(\"Dy\",e[0].dataType,e[0].dims.length,l),N=[G,R];r&&N.push(S(\"bias\",e[2].dataType,[o[U]].length,m));let j=C(\"result\",e[0].dataType,o.length,m),Q=()=>{let se=\"\";if(c)l===4?se+=`\n let xValue = ${G.getByOffset(\"x_offset\")};\n let wValue = ${R.getByOffset(\"w_offset\")};\n dotProd = dotProd + dot(xValue, wValue);\n x_offset += 1u;\n w_offset += 1u;`:l===2?se+=`\n dotProd = dotProd + dot(vec4<${O}>(${G.getByOffset(\"x_offset\")}, ${G.getByOffset(\"x_offset + 1u\")}), vec4<${O}>(${R.getByOffset(\"w_offset\")}, ${R.getByOffset(\"w_offset + 1u\")}));\n x_offset += 2u;\n w_offset += 2u;`:l===1&&(se+=`\n dotProd = dotProd + dot(vec4<${O}>(${G.getByOffset(\"x_offset\")}, ${G.getByOffset(\"x_offset + 1u\")}, ${G.getByOffset(\"x_offset + 2u\")}, ${G.getByOffset(\"x_offset + 3u\")}), vec4<${O}>(${R.getByOffset(\"w_offset\")}, ${R.getByOffset(\"w_offset + 1u\")}, ${R.getByOffset(\"w_offset + 2u\")}, ${R.getByOffset(\"w_offset + 3u\")}));\n x_offset += 4u;\n w_offset += 4u;`);else if(se+=`\n let xValue = ${i?G.getByOffset(`${G.indicesToOffset(`${G.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${l}`):G.get(\"batch\",\"inputChannel\",\"idyR\",\"idyC\")};\n `,l===1)se+=`\n let w_offset = ${R.indicesToOffset(`${R.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)};\n let wValue = ${R.getByOffset(`w_offset / ${h}`)};\n dotProd = dotProd + xValue * wValue;`;else for(let A=0;A<l;A++)se+=`\n let wValue${A} = ${R.getByOffset(`${R.indicesToOffset(`${R.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel + ${A}, wOutChannel)`)} / ${h}`)};\n dotProd = dotProd + xValue[${A}] * wValue${A};`;return se},X=()=>{if(f===0)return\"\";if(!c)throw new Error(`packInputAs4 ${c} is not true.`);let se=\"\";if(l===1){se+=\"dotProd = dotProd\";for(let A=0;A<f;A++)se+=`\n + ${G.getByOffset(`x_offset + ${A}`)} * ${R.getByOffset(`w_offset + ${A}`)}`;se+=\";\"}else if(l===2){if(f!==2)throw new Error(`Invalid inputChannelsRemainder ${f}.`);se+=`\n let xValue = ${G.getByOffset(\"x_offset\")};\n let wValue = ${R.getByOffset(\"w_offset\")};\n dotProd = dotProd + dot(xValue, wValue);`}return se},Se=`\n let outputIndices = ${j.offsetToIndices(`global_idx * ${m}`)};\n let batch = ${j.indicesGet(\"outputIndices\",0)};\n let d1 = ${j.indicesGet(\"outputIndices\",U)};\n let r = ${j.indicesGet(\"outputIndices\",W)};\n let c = ${j.indicesGet(\"outputIndices\",K)};\n let dyCorner = vec2<i32>(i32(r), i32(c)) - uniforms.pads;\n let dyRCorner = dyCorner.x;\n let dyCCorner = dyCorner.y;\n let groupId = d1 / uniforms.output_channels_per_group;\n let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n var dotProd = ${j.type.value}(0.0);\n var wR: u32 = 0;\n if (uniforms.dilations.x == 1) {\n // Minimum wR >= 0 that satisfies (dyRCorner + wR) % (uniforms.strides.x) == 0\n wR = u32(((dyRCorner + i32(uniforms.strides.x) - 1) / i32(uniforms.strides.x)) * i32(uniforms.strides.x) - dyRCorner);\n }\n for (; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {\n if (wR % uniforms.dilations.x != 0) {\n continue;\n }\n let dyR = (${O}(dyRCorner) + ${O}(wR)) / ${O}(uniforms.strides[0]);\n let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;\n if (dyR < 0.0 || dyR >= ${O}(uniforms.Dy_shape[${W}]) || fract(dyR) > 0.0 ||\n wRPerm < 0) {\n continue;\n }\n let idyR: u32 = u32(dyR);\n var wC: u32 = 0;\n if (uniforms.dilations.y == 1) {\n // Minimum wC >= 0 that satisfies (dyCCorner + wC) % (uniforms.strides.y) == 0\n wC = u32(((dyCCorner + i32(uniforms.strides.y) - 1) / i32(uniforms.strides.y)) * i32(uniforms.strides.y) - dyCCorner);\n }\n for (; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {\n if (wC % uniforms.dilations.y != 0) {\n continue;\n }\n let dyC = (${O}(dyCCorner) + ${O}(wC)) / ${O}(uniforms.strides.y);\n let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;\n if (dyC < 0.0 || dyC >= ${O}(uniforms.Dy_shape[${K}]) ||\n fract(dyC) > 0.0 || wCPerm < 0) {\n continue;\n }\n let idyC: u32 = u32(dyC);\n var inputChannel = groupId * uniforms.input_channels_per_group;\n ${c?`\n var x_offset = ${G.indicesToOffset(`${G.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${l};\n var w_offset = ${R.indicesToOffset(`${R.type.indices}(wRPerm, wCPerm, inputChannel, wOutChannel)`)} / ${h};\n `:\"\"}\n for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group_int; d2 = d2 + ${c?4:l}) {\n ${Q()}\n inputChannel = inputChannel + ${c?4:l};\n }\n ${X()}\n wC = wC + uniforms.strides.y - 1;\n }\n wR = wR + uniforms.strides[0] - 1;\n }\n let value = dotProd${r?` + bias[d1 / ${m}]`:\"\"};\n ${j.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${z.registerUniforms(M).declareVariables(...N,j)}\n ${z.mainStart()}\n ${z.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")};\n ${Se}}`};return{name:\"ConvTranspose2D\",shaderCache:{hint:`${t.cacheKey};${l}${h}${m}${c}${f}`,inputDependencies:g},getRunData:()=>({dispatchGroup:{x:y[0],y:y[1],z:y[2]},outputs:[{dims:n?n(o):o,dataType:e[0].dataType}],programUniforms:I}),getShaderSource:E}}});var Dl,Bl,Ol,Cs,As,Ml,Es,Ul,ks,Ps=k(()=>{\"use strict\";Is();qe();Re();Dl=(e,t,n,r,o,i)=>(e-1)*t+n+(r-1)*o+1-i,Bl=(e,t,n,r,o)=>{let i=Math.floor(e/2);t===\"SAME_UPPER\"?(n[r]=i,n[o]=e-i):t===\"SAME_LOWER\"&&(n[r]=e-i,n[o]=i)},Ol=(e,t,n,r,o,i,s,a,u,d)=>{let l=e.length-2,c=d.length===0;u.length<l&&u.push(...Array(l-u.length).fill(0));let p=e[0],f=t[a?3:1]*o;for(let m=0,h=e.length-l-(a?1:0);m<l;++m,++h){let b=e[h],y=c?b*s[m]:d[m],g=Dl(b,s[m],i[m],t[h],n[m],y);Bl(g,r,i,m,m+l),c&&d.push(s[m]*(b-1)+u[m]+(t[h]-1)*n[m]+1-i[m]-i[m+l])}d.splice(0,0,p),d.splice(a?3:1,0,f)},Cs=(e,t)=>{let n=e.kernelShape.slice();if(e.kernelShape.length===0||e.kernelShape.reduce((c,p)=>c*p,1)===0){n.length=0;for(let c=2;c<t[1].dims.length;++c)n.push(t[1].dims[c])}let r=e.format===\"NHWC\";n.splice(0,0,t[1].dims[0]),n.splice(r?3:1,0,t[1].dims[1]);let o=e.pads.slice(),i=e.outputShape.slice(),s=e.outputPadding.slice(),a=t[0].dims,u=e.dilations.slice();if(u.reduce((c,p)=>c+p,0)===0){let c=t[0].dims.length-2;u=new Array(c).fill(1)}let d=e.strides.slice();if(d.reduce((c,p)=>c+p,0)===0){let c=t[0].dims.length-2;d=new Array(c).fill(1)}Ol(a,n,u,e.autoPad,e.group,o,d,r,s,i);let l=Object.assign({},e);return Object.assign(l,{kernelShape:n,pads:o,outputPadding:s,outputShape:i,dilations:u,strides:d}),l},As=e=>{let t=an(e),n=e.format,r=[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][typeof e.autoPad>\"u\"?0:e.autoPad],o=e.dilations,i=e.group??1,s=e.kernelShape,a=e.pads,u=e.strides,d=e.wIsConst(),l=e.outputPadding,c=e.outputShape;return{autoPad:r,format:n,dilations:o,group:i,kernelShape:s,outputPadding:l,outputShape:c,pads:a,strides:u,wIsConst:d,...t,cacheKey:`${e.format};${t.activation};`}},Ml=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error(\"Conv requires 2 or 3 inputs\");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error(\"currently only support 2-dimensional conv\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"filter does not have same dimension as input\");let n=e[0].dims[t.format===\"NHWC\"?e[0].dims.length-1:1],r=e[1].dims[0];if(n!==r)throw new Error(\"FILTER_IN_CHANNEL should be equal to DATA_CHANNEL\");let o=e[1].dims[1]*t.group;if(e.length===3&&(e[2].dims.length!==1||e[2].dims[0]!==o))throw new Error(\"invalid bias\");let i=e[0].dims.length-2;if(t.dilations.reduce((l,c)=>l+c,0)>0&&t.dilations.length!==i)throw new Error(`dilations should be ${i}D`);if(t.strides.reduce((l,c)=>l+c,0)>0&&t.strides.length!==i)throw new Error(`strides should be ${i}D`);if(t.pads.reduce((l,c)=>l+c,0)>0&&t.pads.length!==i*2)throw new Error(`pads should be ${i*2}D`);if(t.outputPadding.length!==i&&t.outputPadding.length!==0)throw new Error(`output_padding should be ${i}D`);if(t.kernelShape.reduce((l,c)=>l+c,0)>0&&t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error(\"invalid kernel shape\");if(t.outputShape.length!==0&&t.outputShape.length!==e[0].dims.length-2)throw new Error(\"invalid output shape\")},Es=(e,t,n,r)=>{let o=e.kernelCustomData.wT??e.compute(me(t[1],[2,3,0,1]),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=o);let i=[t[0],o];t.length===3&&i.push(t[2]),e.compute(Ts(i,n,r),{inputs:i})},Ul=(e,t)=>{let n=t.format===\"NHWC\",r=[e.inputs[0].reshape(n?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&r.push(e.inputs[2]);let o=t.kernelShape;(o.length===0||o[0]===0)&&(o=[e.inputs[1].dims[2]]);let i=t.dilations;(i.length===0||i[0]===0)&&(i=[1]);let s=t.strides;(s.length===0||s[0]===0)&&(s=[1]);let a=t.pads;a.length===0&&(a=[0,0]),a=[0,a[0],0,a[1]],s=[1].concat(s),i=[1].concat(i),o=[1].concat(o);let u=t.outputPadding;u=[0].concat(u);let d=Cs({...t,pads:a,strides:s,dilations:i,kernelShape:o,outputPadding:u},r);Es(e,r,d,l=>n?[l[0],l[2],l[3]]:[l[0],l[1],l[3]])},ks=(e,t)=>{if(Ml(e.inputs,t),e.inputs[0].dims.length===3)Ul(e,t);else{let n=Cs(t,e.inputs);Es(e,e.inputs,n)}}});var Rl,zs,Ds,Bs=k(()=>{\"use strict\";L();H();ue();q();Rl=(e,t,n,r)=>{let o=x.size(t),i=t.length,s=S(\"input\",e,i),a=C(\"output\",e,i),u=n.dataType===6?n.getInt32Array()[0]:Number(n.getBigInt64Array()[0]),d=x.normalizeAxis(u,i),l=c=>{let p=` i32(${s.indicesGet(\"inputIndices\",\"uniforms.axis\")}) `,f=B(\"uniforms.input_shape\",\"uniforms.axis\",i),m=r.reverse?p+(r.exclusive?\" + 1\":\"\"):\"0\",h=r.reverse?f:p+(r.exclusive?\"\":\" + 1\");return`\n ${c.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axis\",\"u32\").declareVariables(s,a)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var inputIndices = ${a.offsetToIndices(\"global_idx\")};\n var sum = ${a.type.value}(0);\n let first : i32 = ${m};\n let last : i32 = ${h};\n for (var i : i32 = first; i < last; i++) {\n ${s.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(i)\")};\n sum = sum + ${s.getByIndices(\"inputIndices\")};\n }\n ${a.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"CumSum\",shaderCache:{hint:r.cacheKey,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:t,dataType:e}],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:[{type:12,data:o},{type:12,data:d},...P(t,t)]}),getShaderSource:l}},zs=(e,t)=>{let n=e.inputs[0].dims,r=e.inputs[0].dataType,o=e.inputs[1];e.compute(Rl(r,n,o,t),{inputs:[0]})},Ds=e=>{let t=e.exclusive===1,n=e.reverse===1;return V({exclusive:t,reverse:n})}});var Vl,Ll,Nl,Os,Ms,Us=k(()=>{\"use strict\";L();H();ue();q();Vl=e=>{if(!e||e.length!==1)throw new Error(\"DepthToSpace requires 1 input.\");if(e[0].dims.length!==4)throw new Error(\"DepthToSpace requires 4D input.\")},Ll=(e,t,n,r)=>{let o=[];o.push(`fn perm(i: ${r.type.indices}) -> ${n.type.indices} {\n var a: ${n.type.indices};`);for(let i=0;i<t;++i)o.push(n.indicesSet(\"a\",e[i],`i[${i}]`));return o.push(\"return a;}\"),o.join(`\n`)},Nl=(e,t)=>{let n,r,o,i,s,a,u=t.format===\"NHWC\",d=t.blocksize,l=t.mode===\"DCR\";u?([n,r,o,i]=e.dims,s=l?[n,r,o,d,d,i/d**2]:[n,r,o,i/d**2,d,d],a=l?[0,1,3,2,4,5]:[0,1,4,2,5,3]):([n,r,o,i]=[e.dims[0],e.dims[2],e.dims[3],e.dims[1]],s=l?[n,d,d,i/d**2,r,o]:[n,i/d**2,d,d,r,o],a=l?[0,3,4,1,5,2]:[0,1,4,2,5,3]);let c=e.reshape(s),p=c.dims.length,f=e.dataType,m=S(\"a\",f,p),h=C(\"output\",f,p),b=y=>`\n ${y.registerUniform(\"output_size\",\"u32\").declareVariables(m,h)}\n\n ${Ll(a,p,m,h)}\n\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${h.offsetToIndices(\"global_idx\")};\n let aIndices = perm(indices);\n\n ${h.setByOffset(\"global_idx\",m.getByIndices(\"aIndices\"))}\n }`;return{name:\"DepthToSpace\",shaderCache:{hint:`${e.dims};${t.blocksize};${t.mode}`,inputDependencies:[\"rank\"]},getRunData:y=>{let g=u?[n,r*d,o*d,i/d**2]:[n,i/d**2,r*d,o*d],_=x.size(g),w=c.dims,$=x.sortBasedOnPerm(w,a);return{outputs:[{dims:g,dataType:y[0].dataType}],dispatchGroup:{x:Math.ceil(_/64)},programUniforms:[{type:12,data:_},...P(w,$)]}},getShaderSource:b}},Os=(e,t)=>{Vl(e.inputs),e.compute(Nl(e.inputs[0],t))},Ms=e=>V({blocksize:e.blocksize,mode:e.mode,format:e.format})});var Ke,mn,sr,Vs,nt,Wl,Gl,Hl,Ls,Ns,Ws,Fl,ql,Rs,Kl,Gs,Hs,Fs=k(()=>{\"use strict\";L();H();ue();q();Ke=256,mn=512,sr=2*Math.PI,Vs=e=>{let t=[],n=e;for(let r of[4,2,3,5])for(;n%r===0;)t.push(r),n/=r;return n===1?t:void 0},nt=e=>{let t=e.toPrecision(9);return/[.eE]/.test(t)?t:`${t}.0`},Wl=(e,t,n,r,o)=>{let i=n/e,s=mn-r,a=d=>`smem[${s}u + base + ${d*t}u]`,u=` for (var t = local_idx; t < ${i}u; t += ${Ke}u) {\n`;u+=` let twiddleIndex = t % ${t}u;\n let angleUnit = f32(twiddleIndex);\n`,u+=` var leg: array<vec2<f32>, 5>;\n`;for(let d=0;d<e;d++){let l=`${r}u + t + ${d*i}u`;if(d===0)u+=` leg[0] = smem[${l}];\n`;else{let c=o*sr*d/(e*t);u+=` { let a = ${nt(c)} * angleUnit; leg[${d}] = cmul(smem[${l}], vec2<f32>(cos(a), sin(a))); }\n`}}if(u+=` let base = (t / ${t}u) * ${t*e}u + twiddleIndex;\n`,e===2)u+=` ${a(0)} = leg[0] + leg[1];\n ${a(1)} = leg[0] - leg[1];\n`;else if(e===4){let d=o<0?\"vec2<f32>(oddDiff.y, -oddDiff.x)\":\"vec2<f32>(-oddDiff.y, oddDiff.x)\";u+=` let evenSum = leg[0] + leg[2]; let evenDiff = leg[0] - leg[2];\n`,u+=` let oddSum = leg[1] + leg[3]; let oddDiff = leg[1] - leg[3];\n`,u+=` let oddRot = ${d};\n`,u+=` ${a(0)} = evenSum + oddSum;\n ${a(1)} = evenDiff + oddRot;\n`,u+=` ${a(2)} = evenSum - oddSum;\n ${a(3)} = evenDiff - oddRot;\n`}else for(let d=0;d<e;d++){let l=[\"leg[0]\"];for(let c=1;c<e;c++){let p=o*sr*(c*d)/e,f=nt(Math.cos(p)),m=nt(Math.sin(p));l.push(`vec2<f32>(leg[${c}].x*${f} - leg[${c}].y*${m}, leg[${c}].x*${m} + leg[${c}].y*${f})`)}u+=` ${a(d)} = ${l.join(\" + \")};\n`}return`${u} }\n workgroupBarrier();\n`},Gl=(e,t,n)=>{let r=\"\",o=1,i=0;for(let s of e)r+=Wl(s,o,t,i,n),o*=s,i=mn-i;return{code:r,resultOffset:i}},Hl=(e,t,n,r,o)=>{let i=e.dims,s=i.length,a=i[s-1],u=i[t],d=n&&r?(u-1)*2:u;o!==void 0&&(d=o);let l=n&&r?1:2,c=r&&!n?Math.floor(d/2)+1:d,p=i.slice();p[t]=c,p[s-1]=l;let f=1;for(let h=t+1;h<s-1;h++)f*=i[h];let m=x.size(i)/a/u;return{dataType:e.dataType,outputDims:p,length:d,signalLength:u,inner:f,batch:m,inputComponents:a,outputComponents:l,outputLength:c,inverse:n,onesided:r}},Ls=(e,t)=>[t,e.length,e.inputComponents,e.outputComponents,e.inverse,e.onesided].join(\";\"),Ns=e=>[{type:12,data:e.batch},{type:12,data:e.signalLength},{type:12,data:e.inner},{type:12,data:e.outputLength}],Ws=(e,t,n)=>e.registerUniform(\"batch\",\"u32\").registerUniform(\"signalLength\",\"u32\").registerUniform(\"inner\",\"u32\").registerUniform(\"outputLength\",\"u32\").declareVariables(t,n),Fl=e=>{let{dataType:t,length:n,inputComponents:r,outputComponents:o,inverse:i,onesided:s}=e,a=de(t),u=i?1:-1,d=i?1/n:1,l=Vs(n),c=p=>{let f=S(\"x\",t,[1]),m=C(\"y\",t,[1]),h=$=>{let v=`inBase + (${$}) * uniforms.inner * ${r}u`,T=`f32(${f.getByOffset(v)})`,I=r===2?`f32(${f.getByOffset(`${v} + 1u`)})`:\"0.0\";return`vec2<f32>(${T}, ${I})`},b;if(i&&s){let $=Math.floor(n/2)+1,v=n%2===0?`select(provided, provided - 1u, provided == ${$}u)`:\"provided\";b=`\n let provided = min(uniforms.signalLength, ${$}u);\n for (var i = local_idx; i < ${n}u; i += ${Ke}u) {\n if (i < provided) { smem[i] = ${h(\"i\")}; } else { smem[i] = vec2<f32>(0.0); }\n }\n workgroupBarrier();\n for (var k = local_idx + 1u; k < ${v}; k += ${Ke}u) {\n let h = smem[k];\n smem[${n}u - k] = vec2<f32>(h.x, -h.y);\n }\n workgroupBarrier();`}else b=`\n let loadCount = min(uniforms.signalLength, ${n}u);\n for (var i = local_idx; i < ${n}u; i += ${Ke}u) {\n if (i < loadCount) { smem[i] = ${h(\"i\")}; } else { smem[i] = vec2<f32>(0.0); }\n }\n workgroupBarrier();`;let{code:y,resultOffset:g}=Gl(l,n,u),_=d===1?`smem[${g}u + i]`:`smem[${g}u + i] * ${nt(d)}`,w=o===2?m.setByOffset(\"off + 1u\",`${a}(v.y)`):\"\";return`\n ${Ws(p,f,m)}\n var<workgroup> smem: array<vec2<f32>, ${2*mn}>;\n fn cmul(a: vec2<f32>, b: vec2<f32>) -> vec2<f32> {\n return vec2<f32>(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x);\n }\n ${p.mainStart(Ke)}\n let row = workgroup_index;\n if (row >= uniforms.batch) { return; }\n let outer = row / uniforms.inner;\n let within = row % uniforms.inner;\n let inBase = (outer * uniforms.signalLength * uniforms.inner + within) * ${r}u;\n let outBase = (outer * uniforms.outputLength * uniforms.inner + within) * ${o}u;\n ${b}\n${y} for (var i = local_idx; i < uniforms.outputLength; i += ${Ke}u) {\n let v = ${_};\n let off = outBase + i * uniforms.inner * ${o}u;\n ${m.setByOffset(\"off\",`${a}(v.x)`)}\n ${w}\n }\n }`};return{name:\"DFT\",shaderCache:{hint:Ls(e,\"fft\"),inputDependencies:[\"type\"]},getShaderSource:c,getRunData:()=>({outputs:[{dims:e.outputDims,dataType:t}],programUniforms:Ns(e),dispatchGroup:{x:e.batch}})}},ql=e=>{let{dataType:t,length:n,inputComponents:r,outputComponents:o,inverse:i,onesided:s}=e,a=de(t),u=i?1:-1,d=i?1/n:1,l=c=>{let p=S(\"x\",t,[1]),f=C(\"y\",t,[1]),m=_=>{let w=`inBase + (${_}) * uniforms.inner * ${r}u`,$=`f32(${p.getByOffset(w)})`,v=r===2?`f32(${p.getByOffset(`${w} + 1u`)})`:\"0.0\";return`vec2<f32>(${$}, ${v})`},h=i&&s?`fn spectrum(inBase: u32, k: u32) -> vec2<f32> {\n let provided = min(uniforms.signalLength, ${Math.floor(n/2)+1}u);\n if (k < provided) { return ${m(\"k\")}; }\n let m = ${n}u - k;\n if (m < provided) {\n let h = ${m(\"m\")};\n return vec2<f32>(h.x, -h.y);\n }\n return vec2<f32>(0.0, 0.0);\n }`:`fn spectrum(inBase: u32, n: u32) -> vec2<f32> {\n if (n < uniforms.signalLength) { return ${m(\"n\")}; }\n return vec2<f32>(0.0, 0.0);\n }`,b=`\n let angle = ${nt(u*sr)} * f32(knMod) / ${nt(n)};\n acc += cmul(spectrum(inBase, n), vec2<f32>(cos(angle), sin(angle)));\n knMod += k;\n if (knMod >= ${n}u) { knMod -= ${n}u; }`,y=o===2?f.setByOffset(\"off + 1u\",`${a}(v.y)`):\"\",g=d===1?\"acc\":`acc * ${nt(d)}`;return`\n ${Ws(c,p,f)}\n fn cmul(a: vec2<f32>, b: vec2<f32>) -> vec2<f32> {\n return vec2<f32>(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x);\n }\n ${h}\n ${c.mainStart(Ke)}\n let row = workgroup_index;\n if (row >= uniforms.batch) { return; }\n let outer = row / uniforms.inner;\n let within = row % uniforms.inner;\n let inBase = (outer * uniforms.signalLength * uniforms.inner + within) * ${r}u;\n let outBase = (outer * uniforms.outputLength * uniforms.inner + within) * ${o}u;\n for (var k = local_idx; k < uniforms.outputLength; k += ${Ke}u) {\n var acc = vec2<f32>(0.0, 0.0);\n var knMod = 0u;\n for (var n = 0u; n < ${n}u; n++) {${b}\n }\n let v = ${g};\n let off = outBase + k * uniforms.inner * ${o}u;\n ${f.setByOffset(\"off\",`${a}(v.x)`)}\n ${y}\n }\n }`};return{name:\"DFT\",shaderCache:{hint:Ls(e,\"direct\"),inputDependencies:[\"type\"]},getShaderSource:l,getRunData:()=>({outputs:[{dims:e.outputDims,dataType:t}],programUniforms:Ns(e),dispatchGroup:{x:e.batch}})}},Rs=e=>{if(!e||e.dataType===0)return;if(x.size(e.dims)!==1)throw new Error(\"DFT optional scalar inputs must have exactly 1 element.\");if(e.dataType===6)return e.getInt32Array()[0];let t=Number(e.getBigInt64Array()[0]);if(!Number.isSafeInteger(t))throw new Error(\"DFT optional scalar inputs are out of JavaScript safe integer range.\");return t},Kl=e=>{if(!e||e.length<1)throw new Error(\"DFT requires at least 1 input.\");let t=e[0].dims;if(t.length<2)throw new Error(\"DFT input must have at least 2 dimensions.\");let n=t[t.length-1];if(n!==1&&n!==2)throw new Error(\"DFT input's innermost dimension must be 1 (real) or 2 (complex).\")},Gs=(e,t)=>{Kl(e.inputs);let n=e.inputs[0],r=n.dims.length,o=t.inverse!==0,i=t.onesided!==0,s=Rs(e.inputs[1]);if(s!==void 0&&s<=0)throw new Error(\"dft_length must be greater than zero.\");let a=x.normalizeAxis(Rs(e.inputs[2])??t.axis,r);if(a===r-1)throw new Error(\"DFT axis must refer to a signal dimension, not the innermost (real/imaginary) dimension.\");if(o&&i&&n.dims[r-1]!==2)throw new Error(\"Inverse one-sided DFT (IRFFT) requires complex-valued input (innermost dimension 2).\");let u=Hl(n,a,o,i,s);if(u.length<=0)throw new Error(`Invalid DFT length: ${u.length}`);let l=u.length<=mn&&Vs(u.length)!==void 0?Fl(u):ql(u);e.compute(l,{inputs:[0]})},Hs=e=>V({axis:e.axis??1,inverse:e.inverse??0,onesided:e.onesided??0})});var ar,fn,qs,jl,Zl,ur,dr,Ks,Ql,js,Zs,Qs=k(()=>{\"use strict\";L();H();ue();q();ar=\"[a-zA-Z]|\\\\.\\\\.\\\\.\",fn=\"(\"+ar+\")+\",qs=\"^\"+fn+\"$\",jl=\"(\"+fn+\",)*\"+fn,Zl=\"^\"+jl+\"$\",ur=class{constructor(t=-1){this.symbolToIndices=new Map,this.inputIndex=t}addSymbol(t,n){let r=this.symbolToIndices.get(t);r===void 0?r=[n]:r.push(n),this.symbolToIndices.set(t,r)}},dr=class{constructor(t,n){this.equation=n;this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[r,o]=n.includes(\"->\")?n.split(\"->\",2):[n,\"\"];if(!r.match(RegExp(Zl)))throw new Error(\"Invalid LHS term\");if(r.split(\",\").forEach((a,u)=>{let d=t[u].dims.slice();if(!a.match(RegExp(qs)))throw new Error(\"Invalid LHS term\");let l=this.processTerm(a,!0,d,u);this.lhs.push(l)}),o===\"\")o+=[...this.symbolToInfo.entries()].filter(([a,u])=>u.count===1||a===\"...\").map(([a])=>a).join(\"\");else if(!o.match(RegExp(fn)))throw new Error(\"Invalid RHS\");o.match(RegExp(ar,\"g\"))?.forEach(a=>{if(a===\"...\")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let u=this.symbolToInfo.get(a);if(u===void 0)throw new Error(\"Invalid RHS symbol\");this.outputDims.push(u.dimValue)}}),this.rhs=this.processTerm(o,!1,this.outputDims)}addSymbol(t,n,r){let o=this.symbolToInfo.get(t);if(o!==void 0){if(o.dimValue!==n&&o.count!==1)throw new Error(\"Dimension mismatch\");o.count++,o.inputIndices.push(r)}else o={count:1,dimValue:n,inputIndices:[r]};this.symbolToInfo.set(t,o)}processTerm(t,n,r,o=-1){let i=r.length,s=!1,a=[],u=0;if(!t.match(RegExp(qs))&&!n&&t!==\"\")throw new Error(\"Invalid LHS term\");let d=t.match(RegExp(ar,\"g\")),l=new ur(o);return d?.forEach((c,p)=>{if(c===\"...\"){if(s)throw new Error(\"Only one ellipsis is allowed per input term\");s=!0;let f=i-d.length+1;if(f<0)throw new Error(\"Ellipsis out of bounds\");if(a=r.slice(u,u+f),this.hasEllipsis){if(this.ellipsisDims.length!==a.length||this.ellipsisDims.toString()!==a.toString())throw new Error(\"Ellipsis dimensions mismatch\")}else if(n)this.hasEllipsis=!0,this.ellipsisDims=a;else throw new Error(\"Ellipsis must be specified in the LHS\");for(let m=0;m<a.length;m++){let h=String.fromCharCode(48+m);l.addSymbol(h,p+m),this.addSymbol(h,r[u++],o)}}else l.addSymbol(c,p+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(c,r[u++],o)}),l}},Ks=e=>e+\"_max\",Ql=(e,t,n,r)=>{let i=e.map(l=>l.length).map((l,c)=>S(`input${c}`,t,l)),s=x.size(r),a=C(\"output\",t,r.length),u=[...n.symbolToInfo.keys()].filter(l=>!n.rhs.symbolToIndices.has(l)),d=l=>{let c=[],p=\"var prod = 1.0;\",f=\"var sum = 0.0;\",m=\"sum += prod;\",h=[],b=[],y=[],g=[],_=n.symbolToInfo.size===n.rhs.symbolToIndices.size;n.symbolToInfo.forEach(($,v)=>{if(n.rhs.symbolToIndices.has(v)){let T=n.rhs.symbolToIndices.get(v)?.[0];T!==void 0&&n.lhs.forEach((I,E)=>{if($.inputIndices.includes(E)){let z=I.symbolToIndices.get(v);if(z===void 0)throw new Error(\"Invalid symbol error\");z.forEach(M=>{c.push(`${i[E].indicesSet(`input${E}Indices`,M,a.indicesGet(\"outputIndices\",T))}`)})}})}else n.lhs.forEach((T,I)=>{if($.inputIndices.includes(I)){let E=T.symbolToIndices.get(v);if(E===void 0)throw new Error(\"Invalid symbol error\");E.forEach(z=>{h.push(`${i[I].indicesSet(`input${I}Indices`,z,`${v}`)}`)}),g.push(`prod *= ${i[I].getByIndices(`input${I}Indices`)};`)}}),b.push(`for(var ${v}: u32 = 0; ${v} < uniforms.${Ks(v)}; ${v}++) {`),y.push(\"}\")});let w=_?[...c,`let sum = ${i.map(($,v)=>$.getByIndices(`input${v}Indices`)).join(\" * \")};`]:[...c,f,...b,...h,p,...g,m,...y];return`\n ${l.registerUniforms(u.map($=>({name:`${Ks($)}`,type:\"u32\"}))).registerUniform(\"outputSize\",\"u32\").declareVariables(...i,a)}\n\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n var outputIndices = ${a.offsetToIndices(\"global_idx\")};\n ${i.map(($,v)=>`var input${v}Indices: ${i[v].type.indices};`).join(`\n`)}\n ${w.join(`\n`)};\n ${a.setByOffset(\"global_idx\",\"sum\")};\n }`};return{name:\"Einsum\",shaderCache:{hint:n.equation,inputDependencies:e.map(()=>\"rank\")},getRunData:()=>{let l=u.filter(p=>n.symbolToInfo.has(p)).map(p=>({type:12,data:n.symbolToInfo.get(p)?.dimValue||0}));l.push({type:12,data:s});let c=e.map((p,f)=>[...P(p)]).reduce((p,f)=>p.concat(f),l);return c.push(...P(r)),{outputs:[{dims:r,dataType:t}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:c}},getShaderSource:d}},js=(e,t)=>{let n=new dr(e.inputs,t.equation),r=n.outputDims,o=e.inputs.map((i,s)=>i.dims);e.compute(Ql(o,e.inputs[0].dataType,n,r))},Zs=e=>{let t=e.equation.replace(/\\s+/g,\"\");return V({equation:t})}});var Xl,Xs,Yl,Jl,Ys,Js=k(()=>{\"use strict\";L();H();q();Xl=e=>{if(!e||e.length!==2)throw new Error(\"Expand requires 2 input.\");let t=e[0].dims,n=Array.from(e[1].getBigInt64Array(),Number),r=n.length<t.length?0:n.length-t.length,o=t.length<n.length?0:t.length-n.length;for(;r<n.length&&o<t.length;++r,++o)if(n[r]!==t[o]&&n[r]!==1&&t[o]!==1)throw new Error(\"Expand requires shape to be broadcastable to input\")},Xs=(e,t)=>{let n=e.length-t.length,r=[];for(let o=0;o<n;++o)r.push(e[o]);for(let o=0;o<t.length;++o)r.push(t[o]===1?e[o+n]:t[o]);return r},Yl=(e,t)=>e.length>t.length?Xs(e,t):Xs(t,e),Jl=e=>{let t=e[0].dims,n=Array.from(e[1].getBigInt64Array(),Number),r=Yl(t,n),o=e[0].dataType,i=o===9||x.size(t)===1,s=o===9||t.length>0&&t[t.length-1]%4===0?4:1,a=i||r.length>0&&r[r.length-1]%4===0?4:1,u=Math.ceil(x.size(r)/a),d=c=>{let p=S(\"input\",o,t.length,s),f=C(\"output\",o,r.length,a),m;if(o===9){let h=(b,y,g=\"\")=>`\n let outputIndices${y} = ${f.offsetToIndices(`outputOffset + ${y}u`)};\n let offset${y} = ${p.broadcastedIndicesToOffset(`outputIndices${y}`,f)};\n let index${y} = offset${y} / 4u;\n let component${y} = offset${y} % 4u;\n ${b}[${y}] = ${g}(${p.getByOffset(`index${y}`)}[component${y}]);\n `;m=`\n let outputOffset = global_idx * ${a};\n var data = vec4<u32>(0);\n ${h(\"data\",0,\"u32\")}\n ${h(\"data\",1,\"u32\")}\n ${h(\"data\",2,\"u32\")}\n ${h(\"data\",3,\"u32\")}\n ${f.setByOffset(\"global_idx\",\"data\")}\n }`}else m=`\n let outputIndices = ${f.offsetToIndices(`global_idx * ${a}`)};\n let inputOffset = ${p.broadcastedIndicesToOffset(\"outputIndices\",f)};\n let data = ${f.type.value}(${p.getByOffset(`inputOffset / ${s}`)});\n ${f.setByOffset(\"global_idx\",\"data\")}\n }`;return`\n ${c.registerUniform(\"vec_size\",\"u32\").declareVariables(p,f)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${m}`},l=[{type:12,data:u},...P(t,r)];return{name:\"Expand\",shaderCache:{hint:`${r.length};${s}${a}`,inputDependencies:[\"rank\"]},getShaderSource:d,getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:l})}},Ys=e=>{Xl(e.inputs),e.compute(Jl(e.inputs),{inputs:[0]})}});var ec,ea,ta=k(()=>{\"use strict\";L();H();q();sn();ec=e=>{let t=e[0].dataType,n=x.size(e[0].dims),r=x.size(e[1].dims),o=r%4===0,i=s=>{let a=S(\"x\",t,[1],4),u=S(\"bias\",t,[1],4),d=C(\"y\",t,[1],4),l=[{name:\"output_vec_size\",type:\"u32\"},{name:\"bias_size\",type:\"u32\"}],c=f=>`\n let bias${f}_offset: u32 = (global_idx * 4 + ${f}) % uniforms.bias_size;\n let bias${f} = ${u.getByOffset(`bias${f}_offset / 4`)}[bias${f}_offset % 4];`,p=o?`\n let bias = ${u.getByOffset(\"global_idx % (uniforms.bias_size / 4)\")};`:`${c(0)}${c(1)}${c(2)}${c(3)}\n let bias = ${a.type.value}(bias0, bias1, bias2, bias3);`;return`${s.registerUniforms(l).declareVariables(a,u,d)}\n\n ${Yn(de(t))}\n\n ${s.mainStart(et)}\n ${s.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_vec_size\")}\n\n let x = ${a.getByOffset(\"global_idx\")};\n ${p}\n let x_in = x + bias;\n ${d.setByOffset(\"global_idx\",Jn(\"x_in\"))}\n }`};return{name:\"FastGeluWithBias\",shaderCache:{hint:`${o}`,inputDependencies:[\"type\",\"type\"]},getShaderSource:i,getRunData:s=>({outputs:[{dims:s[0].dims,dataType:s[0].dataType}],programUniforms:[{type:12,data:Math.ceil(n/4)},{type:12,data:r}],dispatchGroup:{x:Math.ceil(n/et/4)}})}},ea=e=>{e.inputs.length<2||x.size(e.inputs[1].dims)===0?Wi(e):e.compute(ec(e.inputs))}});var tc,nc,na,ra,oa=k(()=>{\"use strict\";L();H();ue();q();tc=e=>{if(!e||e.length!==2)throw new Error(\"Gather requires 2 inputs.\")},nc=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n.length,i=x.normalizeAxis(t.axis,o),s=n.slice(0);s.splice(i,1,...r);let a=n[i],u=e[0].dataType===9?4:1,d=Math.ceil(x.size(s)/u),l=[{type:12,data:d},{type:6,data:a},{type:12,data:i},...P(e[0].dims,e[1].dims,s)],c=p=>{let f=S(\"data\",e[0].dataType,e[0].dims.length,u),m=S(\"inputIndices\",e[1].dataType,e[1].dims.length),h=C(\"output\",e[0].dataType,s.length,u),b=g=>{let _=r.length,w=`var indicesIndices${g} = ${m.type.indices}(0);`;for(let $=0;$<_;$++)w+=`${_>1?`indicesIndices${g}[${$}]`:`indicesIndices${g}`} = ${s.length>1?`outputIndices${g}[uniforms.axis + ${$}]`:`outputIndices${g}`};`;w+=`\n var idx${g} = ${m.getByIndices(`indicesIndices${g}`)};\n if (idx${g} < 0) {\n idx${g} = idx${g} + uniforms.axisDimLimit;\n }\n var dataIndices${g} : ${f.type.indices};\n `;for(let $=0,v=0;$<o;$++)$===i?(w+=`${o>1?`dataIndices${g}[${$}]`:`dataIndices${g}`} = u32(idx${g});`,v+=_):(w+=`${o>1?`dataIndices${g}[${$}]`:`dataIndices${g}`} = ${s.length>1?`outputIndices${g}[${v}]`:`outputIndices${g}`};`,v++);return w},y;if(e[0].dataType===9){let g=(_,w,$=\"\")=>`\n let outputIndices${w} = ${h.offsetToIndices(`outputOffset + ${w}u`)};\n ${b(w)};\n let offset${w} = ${f.indicesToOffset(`dataIndices${w}`)};\n let index${w} = offset${w} / 4u;\n let component${w} = offset${w} % 4u;\n ${_}[${w}] = ${$}(${f.getByOffset(`index${w}`)}[component${w}]);\n `;y=`\n let outputOffset = global_idx * ${u};\n var value = vec4<u32>(0);\n ${g(\"value\",0,\"u32\")}\n ${g(\"value\",1,\"u32\")}\n ${g(\"value\",2,\"u32\")}\n ${g(\"value\",3,\"u32\")}\n ${h.setByOffset(\"global_idx\",\"value\")}\n `}else y=`\n let outputIndices = ${h.offsetToIndices(\"global_idx\")};\n ${b(\"\")};\n let value = ${f.getByIndices(\"dataIndices\")};\n ${h.setByOffset(\"global_idx\",\"value\")};\n `;return`\n ${p.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(f,m,h)}\n ${p.mainStart()}\n ${p.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n ${y}\n }`};return{name:\"Gather\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:s,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:l}),getShaderSource:c}},na=e=>V({axis:e.axis}),ra=(e,t)=>{let n=e.inputs;tc(n),e.compute(nc(e.inputs,t))}});var rc,ia,sa,aa=k(()=>{\"use strict\";L();H();q();rc=(e,t,n,r,o,i,s,a,u)=>{let d=[{type:12,data:i},{type:12,data:r},{type:12,data:o},{type:12,data:n},{type:12,data:s},{type:12,data:a},{type:12,data:u}],l=[i];d.push(...P(t.dims,l));let c=p=>{let f=S(\"indices_data\",t.dataType,t.dims.length),m=C(\"input_slice_offsets_data\",12,1,1),h=[f,m],b=[{name:\"output_size\",type:\"u32\"},{name:\"batch_dims\",type:\"u32\"},{name:\"input_dims\",type:\"u32\",length:o.length},{name:\"sizes_from_slice_dims_data\",type:\"u32\",length:n.length},{name:\"num_slices_per_batch\",type:\"u32\"},{name:\"input_batch_stride\",type:\"u32\"},{name:\"num_slice_dims\",type:\"u32\"}];return`\n ${p.registerUniforms(b).declareVariables(...h)}\n ${p.mainStart()}\n ${p.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let batch_idx = global_idx / uniforms.num_slices_per_batch;\n let base_offset = batch_idx * uniforms.input_batch_stride;\n\n let slice_indices_base_offset = global_idx * uniforms.num_slice_dims;\n var relative_slice_offset = 0;\n for (var dim_idx = 0u; dim_idx < uniforms.num_slice_dims; dim_idx ++) {\n var index = i32(indices_data[dim_idx + slice_indices_base_offset].x);\n let input_dim_idx = uniforms.batch_dims + dim_idx;\n if (index < 0) {\n ${o.length===1?\"index += i32(uniforms.input_dims);\":\"index += i32(uniforms.input_dims[input_dim_idx]);\"}\n }\n ${n.length===1?\"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data);\":\"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data[dim_idx]);\"}\n }\n\n input_slice_offsets_data[global_idx] = base_offset + u32(relative_slice_offset);\n }`};return e.compute({name:\"computeSliceOffsets\",shaderCache:{hint:`${o.length}_${n.length}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:l,dataType:e.inputs[1].dataType}],dispatchGroup:{x:Math.ceil(i/64)},programUniforms:d}),getShaderSource:c},{inputs:[t],outputs:[-1]})[0]},ia=(e,t)=>{let n=e.inputs,r=n[0].dims,o=n[0].dataType,i=n[1].dims,s=i[i.length-1],a=x.sizeToDimension(i,i.length-1),u=x.sizeFromDimension(r,t.batchDims+s),d=x.sizeToDimension(r,t.batchDims),l=x.sizeFromDimension(r,t.batchDims),c=a/d,p=new Array(s),f=u;for(let w=0;w<s;++w)p[s-1-w]=f,f*=r[t.batchDims+s-1-w];let m=rc(e,n[1],p,t.batchDims,r,a,c,l,s),h=t.batchDims+s;if(h>r.length)throw new Error(\"last dimension of indices must not be larger than rank of input tensor\");let b=i.slice(0,-1).concat(r.slice(h)),y=x.size(b),g=[{type:12,data:y},{type:12,data:u},...P(n[0].dims,m.dims,b)],_=w=>{let $=S(\"data\",n[0].dataType,n[0].dims.length),v=S(\"slice_offsets\",12,m.dims.length),T=C(\"output\",n[0].dataType,b.length);return`\n ${w.registerUniform(\"output_size\",\"u32\").registerUniform(\"slice_size\",\"u32\").declareVariables($,v,T)}\n ${w.mainStart()}\n ${w.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let slice_offset = slice_offsets[global_idx / uniforms.slice_size];\n output[global_idx] = data[u32(slice_offset) + global_idx % uniforms.slice_size];\n }`};e.compute({name:\"GatherND\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:b,dataType:o}],dispatchGroup:{x:Math.ceil(y/64)},programUniforms:g}),getShaderSource:_},{inputs:[n[0],m]})},sa=e=>({batchDims:e.batch_dims,cacheKey:\"\"})});var oc,ic,ua,da,la=k(()=>{\"use strict\";L();H();ue();q();oc=(e,t)=>{if(e.length<3||e.length>4)throw new Error(\"GatherBlockQuantized requires 3 or 4 inputs.\");let n=x.normalizeAxis(t.quantizeAxis,e[0].dims.length),r=t.blockSize,o=e[0],i=e[2],s=e.length===4?e[3]:void 0;if(i.dims.length!==o.dims.length||!o.dims.map((a,u)=>u===n?Math.ceil(a/r)===i.dims[u]:a===i.dims[u]).reduce((a,u)=>a&&u,!0))throw new Error(\"Scales must have the same rank as the input tensor and the dims should match except on gatherAxis.\");if(s){if(s.dataType!==o.dataType)throw new Error(\"Zero point must have the same data type as the input tensor.\");if(s.dims.length!==i.dims.length||!s.dims.map((a,u)=>a===i.dims[u]).reduce((a,u)=>a&&u,!0))throw new Error(\"Zero point must have the same rank as the input tensor and the dims should match except on quantizeAxis.\")}},ic=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n.length,i=x.normalizeAxis(t.gatherAxis,o),s=x.normalizeAxis(t.quantizeAxis,o),a=n.slice(0);a.splice(i,1,...r);let u=x.size(a),d=e[2].dataType,c=e[0].dataType===22,p=[{type:12,data:u},{type:12,data:s},{type:12,data:i},{type:12,data:t.blockSize},...P(...e.map((m,h)=>m.dims),a)],f=m=>{let h=S(\"data\",e[0].dataType,e[0].dims.length),b=S(\"inputIndices\",e[1].dataType,e[1].dims.length),y=S(\"scales\",e[2].dataType,e[2].dims.length),g=e.length>3?S(\"zeroPoint\",e[3].dataType,e[3].dims.length):void 0,_=C(\"output\",d,a.length),w=[h,b,y];g&&w.push(g);let $=[{name:\"output_size\",type:\"u32\"},{name:\"quantize_axis\",type:\"u32\"},{name:\"gather_axis\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}];return`\n ${m.registerUniforms($).declareVariables(...w,_)}\n ${m.mainStart()}\n let output_indices = ${_.offsetToIndices(\"global_idx\")};\n var indices_indices = ${b.type.indices}(0);\n ${r.length>1?`\n for (var i: u32 = 0; i < ${r.length}; i++) {\n let index = ${_.indicesGet(\"output_indices\",\"uniforms.gather_axis + i\")};\n ${b.indicesSet(\"indices_indices\",\"i\",\"index\")};\n }`:`indices_indices = ${_.indicesGet(\"output_indices\",\"uniforms.gather_axis\")};`};\n var data_indices = ${h.type.indices}(0);\n for (var i: u32 = 0; i < uniforms.gather_axis; i++) {\n let index = ${_.indicesGet(\"output_indices\",\"i\")};\n ${h.indicesSet(\"data_indices\",\"i\",\"index\")};\n }\n var index_from_indices = ${b.getByIndices(\"indices_indices\")};\n if (index_from_indices < 0) {\n index_from_indices += ${n[i]};\n }\n ${h.indicesSet(\"data_indices\",\"uniforms.gather_axis\",\"u32(index_from_indices)\")};\n for (var i = uniforms.gather_axis + 1; i < ${a.length}; i++) {\n let index = ${_.indicesGet(\"output_indices\",`i + ${r.length} - 1`)};\n ${h.indicesSet(\"data_indices\",\"i\",\"index\")};\n }\n let data_offset = ${h.indicesToOffset(\"data_indices\")};\n let data_index = data_offset % 8;\n // Convert 4-bit packed data to 8-bit packed data.\n let packed_4bit_quantized_data = ${h.getByOffset(\"data_offset / 8\")};\n let packed_8bit_quantized_data = (packed_4bit_quantized_data >> (4 * (data_index % 2))) & 0x0f0f0f0f;\n let quantized_data_vec = ${c?\"unpack4xI8\":\"unpack4xU8\"}(u32(packed_8bit_quantized_data));\n let quantized_data = quantized_data_vec[data_index / 2];\n var scale_indices = data_indices;\n let quantize_axis_index = ${y.indicesGet(\"data_indices\",\"uniforms.quantize_axis\")} / uniforms.block_size;\n ${y.indicesSet(\"scale_indices\",\"uniforms.quantize_axis\",\"quantize_axis_index\")};\n var scale = ${y.getByIndices(\"scale_indices\")};\n ${g?`\n let zero_point_indices = scale_indices;\n let zero_point_offset = ${g.indicesToOffset(\"zero_point_indices\")};\n let zero_point_index = zero_point_offset % 8;\n let packed_4bit_zero_points = ${g.getByOffset(\"zero_point_offset / 8\")};\n let packed_8bit_zero_points = (packed_4bit_zero_points >> (4 * (zero_point_index % 2))) & 0x0f0f0f0f;\n let zero_point_vec = ${c?\"unpack4xI8\":\"unpack4xU8\"}(u32(packed_8bit_zero_points));\n let zero_point = zero_point_vec[zero_point_index / 2];`:\"var zero_point = 0\"};\n let dequantized_data = ${de(d)}(quantized_data - zero_point) * scale;\n ${_.setByOffset(\"global_idx\",\"dequantized_data\")};\n }`};return{name:\"GatherBlockQuantized\",shaderCache:{hint:`${t.cacheKey};${e.filter((m,h)=>h!==1).map(m=>m.dims.join(\"_\")).join(\";\")}`,inputDependencies:Array.from({length:e.length},(m,h)=>\"rank\")},getRunData:()=>({outputs:[{dims:a,dataType:d}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:p}),getShaderSource:f}},ua=(e,t)=>{let n=e.inputs;oc(n,t),e.compute(ic(e.inputs,t))},da=e=>V({blockSize:e.blockSize,gatherAxis:e.gatherAxis,quantizeAxis:e.quantizeAxis})});var sc,ac,ca,pa,ma=k(()=>{\"use strict\";L();H();ue();q();sc=e=>{if(!e||e.length!==2)throw new Error(\"GatherElements requires 2 inputs.\");if(e[0].dims.length<1)throw new Error(\"GatherElements requires that the data input be rank >= 1.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(`GatherElements requires that the data input and\n indices input tensors be of same rank.`)},ac=(e,t)=>{let n=e[0].dims,r=e[0].dataType,o=n.length,i=e[1].dims,s=e[1].dataType,a=x.normalizeAxis(t.axis,o),u=n[a],d=i.slice(0),l=x.size(d),c=S(\"input\",r,o),p=S(\"indicesInput\",s,i.length),f=C(\"output\",r,d.length),m=[{type:12,data:l},{type:6,data:u},{type:12,data:a}];return m.push(...P(n,i,d)),{name:\"GatherElements\",shaderCache:{inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:d,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:m}),getShaderSource:y=>`\n ${y.registerUniform(\"outputSize\",\"u32\").registerUniform(\"axisDimLimit\",\"i32\").registerUniform(\"axis\",\"u32\").declareVariables(c,p,f)}\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let outputIndices = ${f.offsetToIndices(\"global_idx\")};\n\n var idx = ${p.getByOffset(\"global_idx\")};\n if (idx < 0) {\n idx = idx + uniforms.axisDimLimit;\n }\n var inputIndices = ${c.type.indices}(outputIndices);\n ${c.indicesSet(\"inputIndices\",\"uniforms.axis\",\"u32(idx)\")};\n let value = ${c.getByIndices(\"inputIndices\")};\n\n ${f.setByOffset(\"global_idx\",\"value\")};\n }`}},ca=e=>V({axis:e.axis}),pa=(e,t)=>{let n=e.inputs;sc(n),e.compute(ac(e.inputs,t))}});var uc,dc,fa,ha,ga=k(()=>{\"use strict\";L();H();q();uc=e=>{if(!e)throw new Error(\"Input is missing\");if(e.length<2||e.length>3)throw new Error(\"Invaid input number.\");if(e.length===3&&e[2].dims.length>2)throw new Error(\"Invalid input shape of C\");if(e[0].dataType!==e[1].dataType||e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"Input types are mismatched\")},dc=(e,t)=>{let n=e[0].dims.slice(),r=e[1].dims.slice(),[o,i,s]=qt.getShapeOfGemmResult(n,t.transA,r,t.transB,e.length===3?e[2].dims:void 0),a=[o,i];if(!a)throw new Error(\"Can't use gemm on the given tensors\");let u=16,d=Math.ceil(i/u),l=Math.ceil(o/u),c=!0,p=x.size(a),f=[{type:12,data:c?d:p},{type:12,data:o},{type:12,data:i},{type:12,data:s},{type:1,data:t.alpha},{type:1,data:t.beta}],m=[\"type\",\"type\"];e.length===3&&(f.push(...P(e[2].dims)),m.push(\"rank\")),f.push(...P(a));let h=y=>{let g=\"\";t.transA&&t.transB?g=\"value += a[k * uniforms.M + m] * b[n * uniforms.K + k];\":t.transA&&!t.transB?g=\"value += a[k * uniforms.M + m] * b[k * uniforms.N + n];\":!t.transA&&t.transB?g=\"value += a[m * uniforms.K + k] * b[n * uniforms.K + k];\":!t.transA&&!t.transB&&(g=\"value += a[m * uniforms.K + k] * b[k * uniforms.N + n];\");let _=t.alpha===1?\"\":\"value *= uniforms.alpha;\",w=S(\"a\",e[0].dataType,e[0].dims),$=S(\"b\",e[1].dataType,e[1].dims),v=w.type.value,T=null,I=[w,$];e.length===3&&(T=S(\"c\",e[2].dataType,e[2].dims.length),I.push(T));let E=C(\"output\",e[0].dataType,a.length);I.push(E);let z=[{name:\"output_size\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}];return`\n ${y.registerUniforms(z).declareVariables(...I)}\n\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let m = global_idx / uniforms.N;\n let n = global_idx % uniforms.N;\n\n var value = ${v}(0);\n for (var k: u32 = 0u; k < uniforms.K; k++) {\n ${g}\n }\n\n ${_}\n ${T!=null?`let cOffset = ${T.broadcastedIndicesToOffset(\"vec2(m, n)\",E)}; value += ${v}(uniforms.beta) * ${T.getByOffset(\"cOffset\")};`:\"\"}\n output[global_idx] = value;\n }`},b=y=>{let g=S(\"a\",e[0].dataType,e[0].dims),_=S(\"b\",e[1].dataType,e[1].dims),w=null,$=[g,_];e.length===3&&(w=S(\"c\",e[2].dataType,e[2].dims.length),$.push(w));let v=C(\"output\",e[0].dataType,a.length);$.push(v);let T=[{name:\"num_tile_n\",type:\"u32\"},{name:\"M\",type:\"u32\"},{name:\"N\",type:\"u32\"},{name:\"K\",type:\"u32\"},{name:\"alpha\",type:\"f32\"},{name:\"beta\",type:\"f32\"}],I=\"\",E=\"\";t.transA&&t.transB?(E=`\n var col = tile_row_start + local_id.x;\n var row = k_start + local_id.y;\n if (col < uniforms.M && row < uniforms.K) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = k_start + local_id.x;\n row = tile_col_start + local_id.y;\n if (col < uniforms.K && row < uniforms.N) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${_.type.value}(0);\n }\n `,I=\"value += tile_a[k][local_id.y] * tile_b[local_id.x][k];\"):t.transA&&!t.transB?(E=`\n var col = tile_row_start + local_id.x;\n var row = k_start + local_id.y;\n if (col < uniforms.M && row < uniforms.K) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = tile_col_start + local_id.x;\n row = k_start + local_id.y;\n if (col < uniforms.N && row < uniforms.K) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${_.type.value}(0);\n }\n `,I=\"value += tile_a[k][local_id.y] * tile_b[k][local_id.x];\"):!t.transA&&t.transB?(E=`\n var col = k_start + local_id.x;\n var row = tile_row_start + local_id.y;\n if (col < uniforms.K && row < uniforms.M) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = k_start + local_id.x;\n row = tile_col_start + local_id.y;\n if (col < uniforms.K && row < uniforms.N) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${_.type.value}(0);\n }\n `,I=\"value += tile_a[local_id.y][k] * tile_b[local_id.x][k];\"):!t.transA&&!t.transB&&(E=`\n var col = k_start + local_id.x;\n var row = tile_row_start + local_id.y;\n if (col < uniforms.K && row < uniforms.M) {\n tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];\n } else {\n tile_a[local_id.y][local_id.x] = ${g.type.value}(0);\n }\n\n col = tile_col_start + local_id.x;\n row = k_start + local_id.y;\n if (col < uniforms.N && row < uniforms.K) {\n tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];\n } else {\n tile_b[local_id.y][local_id.x] = ${_.type.value}(0);\n }\n `,I=\"value += tile_a[local_id.y][k] * tile_b[k][local_id.x];\");let z=t.alpha===1?\"\":\"value *= uniforms.alpha;\";return`\n ${y.registerUniforms(T).declareVariables(...$)}\n var<workgroup> tile_a: array<array<${g.type.storage}, ${u}>, ${u}>;\n var<workgroup> tile_b: array<array<${_.type.storage}, ${u}>, ${u}>;\n ${y.mainStart([u,u,1])}\n let tile_col_start = (workgroup_index % uniforms.num_tile_n) * ${u};\n let tile_row_start = (workgroup_index / uniforms.num_tile_n) * ${u};\n let num_tiles = (uniforms.K - 1) / ${u} + 1;\n var k_start = 0u;\n var value = ${v.type.value}(0);\n for (var t: u32 = 0u; t < num_tiles; t++) {\n ${E}\n k_start = k_start + ${u};\n workgroupBarrier();\n\n for (var k: u32 = 0u; k < ${u}; k++) {\n ${I}\n }\n workgroupBarrier();\n }\n\n ${z}\n let m = tile_row_start + local_id.y;\n let n = tile_col_start + local_id.x;\n ${w!=null?`let cOffset = ${w.broadcastedIndicesToOffset(\"vec2(m, n)\",v)}; value += ${v.type.value}(uniforms.beta) * ${w.getByOffset(\"cOffset\")};`:\"\"}\n if (m < uniforms.M && n < uniforms.N) {\n output[m * uniforms.N + n] = value;\n }\n }`};return c?{name:\"GemmShared\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:a,dataType:e[0].dataType}],dispatchGroup:{x:d*l},programUniforms:f}),getShaderSource:b}:{name:\"Gemm\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:a,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:f}),getShaderSource:h}},fa=e=>{let t=e.transA,n=e.transB,r=e.alpha,o=e.beta;return{transA:t,transB:n,alpha:r,beta:o,cacheKey:`${e.transA};${e.transB};${e.alpha===1}`}},ha=(e,t)=>{uc(e.inputs),e.compute(dc(e.inputs,t))}});var Ve,je,ut,dt,lc,cc,pc,mc,fc,hc,gc,yc,ya,ba,_a=k(()=>{\"use strict\";L();H();ue();q();[Ve,je,ut,dt]=[0,1,2,3],lc=e=>{if(e[0].dims.length!==4)throw new Error(\"only 4-D tensor is supported.\");if(e[0].dims.length!==e[1].dims.length)throw new Error(\"input dimensions must be equal to grid dimensions\");if(e[0].dims.length-2!==e[1].dims[e[1].dims.length-1])throw new Error(`last dimension of grid must be equal to ${e[0].dims.length-2}`);if(e[0].dims[0]!==e[1].dims[0])throw new Error(\"grid batch size must match input batch size\")},cc=`\n fn gs_get_cubic_coeffs(x: f32) -> vec4<f32> {\n let cubic_alpha = -0.75f;\n let x_abs = abs(x);\n var coeffs: vec4<f32>;\n coeffs[0] = (((cubic_alpha * (x_abs + 1) - 5 * cubic_alpha) * (x_abs + 1) + 8 * cubic_alpha) * (x_abs + 1) - 4 * cubic_alpha);\n coeffs[1] = (((cubic_alpha + 2) * x_abs - (cubic_alpha + 3)) * x_abs * x_abs + 1);\n coeffs[2] = (((cubic_alpha + 2) * (1 - x_abs) - (cubic_alpha + 3)) * (1 - x_abs) * (1 - x_abs) + 1);\n coeffs[3] = (((cubic_alpha * (2 - x_abs) - 5 * cubic_alpha) * (2 - x_abs) + 8 * cubic_alpha) * (2 - x_abs) - 4 * cubic_alpha);\n return coeffs;\n }\n`,pc=e=>`\n fn gs_bicubic_interpolate(p: mat4x4<${e}>, x: f32, y: f32) -> ${e} {\n var v: vec4<f32>;\n var coeffs = gs_get_cubic_coeffs(x);\n for (var i = 0; i < 4; i++) {\n v[i] = coeffs[0] * p[i][0] + coeffs[1] * p[i][1] + coeffs[2] * p[i][2] + coeffs[3] * p[i][3];\n }\n coeffs = gs_get_cubic_coeffs(y);\n let pixel = ${e}(coeffs[0] * v[0] + coeffs[1] * v[1] + coeffs[2] * v[2] + coeffs[3] * v[3]);\n return pixel;\n }\n`,mc=e=>`\n fn gs_denormalize(n: f32, length: i32) -> f32 {\n ${e.alignCorners===0?`\n // alignCorners: false => [-1, 1] to [-0.5, length - 0.5]\n return ((n + 1.0) * f32(length) - 1.0) / 2.0;\n `:`\n // alignCorners: true => [-1, 1] to [0, length - 1]\n return (n + 1.0) / 2.0 * (f32(length - 1));\n `}\n }\n`,fc=e=>`\n ${e.paddingMode===\"reflection\"?`\n fn gs_reflect(x: i32, x_min: f32, x_max: f32) -> u32 {\n var dx = 0.0;\n var fx = f32(x);\n let range = x_max - x_min;\n if (fx < x_min) {\n dx = x_min - fx;\n let n = u32(dx / range);\n let r = dx - f32(n) * range;\n if (n % 2 == 0) {\n fx = x_min + r;\n } else {\n fx = x_max - r;\n }\n } else if (fx > x_max) {\n dx = fx - x_max;\n let n = u32(dx / range);\n let r = dx - f32(n) * range;\n if (n % 2 == 0) {\n fx = x_max - r;\n } else {\n fx = x_min + r;\n }\n }\n return u32(fx);\n }`:\"\"}\n`,hc=(e,t,n)=>`\n fn pixel_at_grid(r: i32, c: i32, H: i32, W: i32, batch: u32, channel: u32, border: vec4<f32>) -> ${t} {\n var pixel = ${t}(0);\n var indices = vec4<u32>(0);\n indices[${Ve}] = batch;\n indices[${je}] = channel;`+(()=>{switch(n.paddingMode){case\"zeros\":return`\n if (r >= 0 && r < H && c >=0 && c < W) {\n indices[${ut}] = u32(r);\n indices[${dt}] = u32(c);\n } else {\n return ${t}(0);\n }\n `;case\"border\":return`\n indices[${ut}] = u32(clamp(r, 0, H - 1));\n indices[${dt}] = u32(clamp(c, 0, W - 1));\n `;case\"reflection\":return`\n indices[${ut}] = gs_reflect(r, border[1], border[3]);\n indices[${dt}] = gs_reflect(c, border[0], border[2]);\n `;default:throw new Error(`padding mode ${n.paddingMode} is not supported`)}})()+`\n return ${e.getByIndices(\"indices\")};\n }\n`,gc=(e,t,n)=>(()=>{switch(n.mode){case\"nearest\":return`\n let result = pixel_at_grid(i32(round(y)), i32(round(x)), H_in, W_in, indices[${Ve}], indices[${je}], border);\n `;case\"bilinear\":return`\n let x1 = i32(floor(x));\n let y1 = i32(floor(y));\n let x2 = x1 + 1;\n let y2 = y1 + 1;\n\n let p11 = pixel_at_grid(y1, x1, H_in, W_in, indices[${Ve}], indices[${je}], border);\n let p12 = pixel_at_grid(y1, x2, H_in, W_in, indices[${Ve}], indices[${je}], border);\n let p21 = pixel_at_grid(y2, x1, H_in, W_in, indices[${Ve}], indices[${je}], border);\n let p22 = pixel_at_grid(y2, x2, H_in, W_in, indices[${Ve}], indices[${je}], border);\n\n let dx2 = ${t}(f32(x2) - x);\n let dx1 = ${t}(x - f32(x1));\n let dy2 = ${t}(f32(y2) - y);\n let dy1 = ${t}(y - f32(y1));\n let result = dy2 * (dx2 * p11 + dx1 * p12) + dy1 * (dx2 * p21 + dx1 * p22);\n `;case\"bicubic\":return`\n let x0 = i32(floor(x)) - 1;\n let y0 = i32(floor(y)) - 1;\n var p: mat4x4<${t}>;\n for (var h = 0; h < 4; h++) {\n for (var w = 0; w < 4; w++) {\n p[h][w] = pixel_at_grid(h + y0, w + x0, H_in, W_in, indices[${Ve}], indices[${je}], border);\n }\n }\n\n let dx = x - f32(x0 + 1);\n let dy = y - f32(y0 + 1);\n let result = gs_bicubic_interpolate(p, dx, dy);\n `;default:throw new Error(`mode ${n.mode} is not supported`)}})()+`${e.setByOffset(\"global_idx\",\"result\")}`,yc=(e,t)=>{let n=S(\"x\",e[0].dataType,e[0].dims.length),r=[e[1].dims[0],e[1].dims[1],e[1].dims[2]],o=S(\"grid\",e[1].dataType,r.length,2),i=[e[0].dims[0],e[0].dims[1],e[1].dims[1],e[1].dims[2]];t.format===\"NHWC\"&&(i=[e[0].dims[0],e[1].dims[1],e[1].dims[2],e[0].dims[3]],[Ve,je,ut,dt]=[0,3,1,2]);let s=C(\"output\",e[0].dataType,i.length),a=n.type.value,u=x.size(i),d=[{type:12,data:u},...P(e[0].dims,r,i)],l=c=>`\n ${c.registerUniform(\"output_size\",\"u32\").declareVariables(n,o,s)}\n ${cc}\n ${pc(a)}\n ${mc(t)}\n ${fc(t)}\n ${hc(n,a,t)}\n\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let H_in = i32(uniforms.x_shape[${ut}]);\n let W_in = i32(uniforms.x_shape[${dt}]);\n\n ${t.alignCorners===0?`\n let x_min = -0.5;\n let x_max = f32(W_in) - 0.5;\n let y_min = -0.5;\n let y_max = f32(H_in) - 0.5;\n `:`\n let x_min = 0.0;\n let x_max = f32(W_in) - 1.0;\n let y_min = 0.0;\n let y_max = f32(H_in) - 1.0;\n `};\n let border = vec4<f32>(x_min, y_min, x_max, y_max);\n\n let indices = ${s.offsetToIndices(\"global_idx\")};\n var grid_indices = vec3<u32>(indices[${Ve}], indices[${ut}], indices[${dt}]);\n let nxy = ${o.getByIndices(\"grid_indices\")};\n var x = gs_denormalize(f32(nxy[0]), W_in);\n var y = gs_denormalize(f32(nxy[1]), H_in);\n\n ${gc(s,a,t)}\n }`;return{name:\"GridSample\",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:[\"type\",\"type\"]},getRunData:c=>{let p=x.size(i);return{outputs:[{dims:i,dataType:c[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:d}},getShaderSource:l}},ya=(e,t)=>{lc(e.inputs),e.compute(yc(e.inputs,t))},ba=e=>V({alignCorners:e.align_corners,mode:e.mode,paddingMode:e.padding_mode,format:e.format})});var be,wc,$a,wa,$c,$t,va,lr=k(()=>{\"use strict\";L();H();ue();Yt();rn();q();Re();be=(e,t)=>e.length>t&&e[t].dims.length>0?e[t]:void 0,wc=(e,t)=>{let n=e[0],r=be(e,1),o=be(e,2),i=be(e,3),s=be(e,4),a=be(e,5),u=be(e,6),d=be(e,7);if(n.dims.length!==3&&n.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let l=n.dims[0],c=n.dims[1],p=n.dims.length===3?n.dims[2]:t.numHeads*n.dims[4],f=c,m=0,h=0,b=Math.floor(p/t.numHeads);if(u&&d&&x.size(u.dims)&&x.size(d.dims)){if(u.dims.length!==4)throw new Error('Input \"past_key\" is expected to have 4 dimensions');if(u.dims[0]!==l||u.dims[1]!==t.numHeads||u.dims[3]!==b)throw new Error('Input \"past_key\" shape (batch_size, num_heads, past_sequence_length, head_size)');if(d.dims[0]!==l||d.dims[1]!==t.numHeads||d.dims[3]!==b)throw new Error('Input \"past_value\" shape (batch_size, num_heads, past_sequence_length, head_size)');if(u.dims[2]!==d.dims[2])throw new Error('Input \"past_key\" and \"past_value\" shall have same dim 2 (past_sequence_length)');if(d.dims.length!==4)throw new Error('Input \"past_value\" is expected to have 4 dimensions');m=u.dims[2],h=u.dims[2]}else if(u&&x.size(u.dims)||d&&x.size(d.dims))throw new Error('Input \"past_key\" and \"past_value\" shall be both present or both absent');let y;if(r&&x.size(r.dims)>0){if(n.dims.length!==3)throw new Error('Input \"query\" is expected to have 3 dimensions when key is given');if(r.dims.length<3||r.dims.length>5)throw new Error('Input \"key\" is expected to have 3, 4, or 5 dimensions');if(n.dims[0]!==r.dims[0])throw new Error('Input \"query\" and \"key\" shall have same dim 0 (batch size)');if(r.dims.length===3){if(r.dims[2]!==n.dims[2])throw new Error('Input \"query\" and \"key\" shall have same dim 2 (hidden_size)');y=2,f=r.dims[1]}else if(r.dims.length===5){if(r.dims[2]!==t.numHeads||r.dims[3]!==2||r.dims[4]!==b)throw new Error('Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw new Error('Expect \"value\" be none when \"key\" has packed kv format.');y=5,f=r.dims[1]}else{if(r.dims[1]!==t.numHeads||r.dims[3]!==b)throw new Error('Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');y=0,f=r.dims[2]}}else{if(n.dims.length!==5)throw new Error('Input \"query\" is expected to have 5 dimensions when key is empty');if(n.dims[2]!==t.numHeads||n.dims[3]!==3)throw new Error('Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');y=3}if(i&&x.size(i.dims)>0){if(i.dims.length!==1)throw new Error('Input \"bias\" is expected to have 1 dimension');if(r&&r.dims.length===5&&r.dims[3]===2)throw new Error(\"bias is not allowed for packed kv.\")}let g=m+f,_=0;if(s&&x.size(s.dims)>0){_=8;let T=s.dims;throw T.length===1?T[0]===l?_=1:T[0]===3*l+2&&(_=3):T.length===2&&T[0]===l&&T[1]===g&&(_=5),_===8?new Error('Input \"key_padding_mask\" shape shall be (batch_size) or (batch_size, total_sequence_length)'):new Error(\"Mask not supported\")}let w=!1,$=p;if(o&&x.size(o.dims)>0){if(o.dims.length!==3&&o.dims.length!==4)throw new Error('Input \"value\" is expected to have 3 or 4 dimensions');if(n.dims[0]!==o.dims[0])throw new Error('Input \"query\" and \"value\" shall have same dim 0 (batch_size)');if(o.dims.length===3){if(f!==o.dims[1])throw new Error('Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)');$=o.dims[2]}else{if(f!==o.dims[2])throw new Error('Input \"key\" and \"value\" shall have the same dim 2 (kv_sequence_length)');$=o.dims[1]*o.dims[3],w=!0}}let v=!1;if(s&&x.size(s.dims)>0)throw new Error(\"Key padding mask is not supported\");if(a&&x.size(a.dims)>0){if(a.dims.length!==4)throw new Error('Input \"attention_bias\" is expected to have 4 dimensions');if(a.dims[0]!==l||a.dims[1]!==t.numHeads||a.dims[2]!==c||a.dims[3]!==g)throw new Error('Expect \"attention_bias\" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:l,sequenceLength:c,pastSequenceLength:m,kvSequenceLength:f,totalSequenceLength:g,maxSequenceLength:h,inputHiddenSize:0,hiddenSize:p,vHiddenSize:$,headSize:b,vHeadSize:Math.floor($/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:_,scale:t.scale,broadcastResPosBias:v,passPastInKv:w,qkvFormat:y}},$a=e=>V({...e}),wa=V({perm:[0,2,1,3]}),$c=(e,t,n,r,o,i,s)=>{let a=[r,o,i],u=x.size(a),d=[{type:12,data:u},{type:12,data:s},{type:12,data:i}],l=c=>{let p=C(\"qkv_with_bias\",t.dataType,a),f=S(\"qkv\",t.dataType,a),m=S(\"bias\",n.dataType,a),h=[{name:\"output_size\",type:\"u32\"},{name:\"bias_offset\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"}];return`\n ${c.registerUniforms(h).declareVariables(f,m,p)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;\n\n qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];\n }`};return e.compute({name:\"MultiHeadAttentionAddBias\",shaderCache:{inputDependencies:[\"type\",\"type\"]},getRunData:()=>({outputs:[{dims:a,dataType:t.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:d}),getShaderSource:l},{inputs:[t,n],outputs:[-1]})[0]},$t=(e,t,n,r,o,i,s,a)=>{let u=i;if(s&&x.size(s.dims)>0){if(r===1)throw new Error(\"AddBiasReshape is not implemented. Please export your model with packed QKV or KV\");return u=$c(e,i,s,t,r,n*o,a),u=u.reshape([t,r,n,o]),n===1||r===1?u:e.compute(me(u,wa.perm),{inputs:[u],outputs:[-1]})[0]}else return i.dims.length===3&&(u=i.reshape([t,r,n,o])),n===1||r===1?u:e.compute(me(u,wa.perm),{inputs:[u],outputs:[-1]})[0]},va=(e,t)=>{let n=wc(e.inputs,t),r=e.inputs[0],o=be(e.inputs,1),i=be(e.inputs,2),s=be(e.inputs,3),a=be(e.inputs,4),u=be(e.inputs,5),d=be(e.inputs,6),l=be(e.inputs,7);if(r.dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(o?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let c=o&&i&&o.dims.length===4&&i.dims.length===4,p=$t(e,n.batchSize,n.numHeads,n.sequenceLength,n.headSize,r,s,0);if(c)return at(e,p,o,i,a,void 0,d,l,u,n);if(!o||!i)throw new Error(\"key and value must be provided\");let f=$t(e,n.batchSize,n.numHeads,n.kvSequenceLength,n.headSize,o,s,n.hiddenSize),m=$t(e,n.batchSize,n.numHeads,n.kvSequenceLength,n.vHeadSize,i,s,2*n.hiddenSize);at(e,p,f,m,a,void 0,d,l,u,n)}});var vc,xc,Sc,Tc,cr,xa,Sa,pr=k(()=>{\"use strict\";L();H();ue();q();vc=e=>{if(!e||e.length<1)throw new Error(\"too few inputs\")},xc=(e,t)=>{let n=[],r=t.numOutputs;return e[1].dims[0]>0&&(e[1].getBigInt64Array().forEach(o=>n.push(Number(o))),r=n.length),V({numOutputs:r,axis:t.axis,splitSizes:n})},Sc=e=>`\nfn calculateOutputIndex(index: u32) -> u32 {\n for (var i: u32 = 0u; i < ${e}u; i += 1u ) {\n if (index < ${B(\"uniforms.size_in_split_axis\",\"i\",e)}) {\n return i;\n }\n }\n return ${e}u;\n}`,Tc=e=>{let t=e.length,n=[];for(let r=0;r<t;++r){let o=e[r].setByIndices(\"indices\",\"input[global_idx]\");t===1?n.push(o):r===0?n.push(`if (output_number == ${r}u) { ${o} }`):r===t-1?n.push(`else { ${o} }`):n.push(`else if (output_number == ${r}) { ${o} }`)}return`\n fn writeBufferData(output_number: u32, indices: ${e[0].type.indices}, global_idx: u32) {\n ${n.join(`\n`)}\n }`},cr=(e,t)=>{let n=e[0].dims,r=x.size(n),o=e[0].dataType,i=x.normalizeAxis(t.axis,n.length),s=new Array(t.numOutputs),a=S(\"input\",o,n.length),u=new Array(t.numOutputs),d=[],l=[],c=0,p=[{type:12,data:r}];for(let m=0;m<t.numOutputs;m++){c+=t.splitSizes[m],u[m]=c;let h=n.slice();h[i]=t.splitSizes[m],l.push(h),s[m]=C(`output${m}`,o,h.length),d.push({dims:l[m],dataType:e[0].dataType})}p.push({type:12,data:u},...P(n,...l));let f=m=>`\n ${m.registerUniform(\"input_size\",\"u32\").registerUniform(\"size_in_split_axis\",\"u32\",u.length).declareVariables(a,...s)}\n ${Sc(u.length)}\n ${Tc(s)}\n\n ${m.mainStart()}\n ${m.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.input_size\")}\n\n var indices = ${a.offsetToIndices(\"global_idx\")};\n var index = ${a.indicesGet(\"indices\",i)};\n let output_number = calculateOutputIndex(index);\n if (output_number != 0) {\n index -= ${B(\"uniforms.size_in_split_axis\",\"output_number - 1u\",u.length)};\n ${a.indicesSet(\"indices\",i,\"index\")};\n }\n writeBufferData(output_number, indices, global_idx);\n }`;return{name:\"Split\",shaderCache:{hint:t.cacheKey,inputDependencies:[\"rank\"]},getShaderSource:f,getRunData:()=>({outputs:d,dispatchGroup:{x:Math.ceil(r/64)},programUniforms:p})}},xa=(e,t)=>{vc(e.inputs);let n=e.inputs.length===1?t:xc(e.inputs,t);e.compute(cr(e.inputs,n),{inputs:[0]})},Sa=e=>{let t=e.axis,n=e.splitSizes,r=e.numOutputs<0?n.length:e.numOutputs;if(r!==n.length)throw new Error(\"numOutputs and splitSizes length must be equal\");return V({axis:t,numOutputs:r,splitSizes:n})}});var Ic,hn,Ta,mr=k(()=>{\"use strict\";L();H();ue();q();Ic=(e,t)=>{let[n,r,o,i]=e,{numHeads:s,rotaryEmbeddingDim:a}=t;if(n.dims.length!==3&&n.dims.length!==4)throw new Error(`Input 'x' is expected to have 3 or 4 dimensions, got ${n.dims.length}`);if(!x.areEqual(r.dims,[])&&!x.areEqual(r.dims,[1])&&r.dims.length!==2)throw new Error(`Input 'position_ids' is expected to have 0, 1, or 2 dimensions, got ${r.dims.length}`);if(o.dims.length!==2)throw new Error(`Input 'cos_cache' is expected to have 2 dimensions, got ${o.dims.length}`);if(i.dims.length!==2)throw new Error(`Input 'sin_cache' is expected to have 2 dimensions, got ${i.dims.length}`);if(!x.areEqual(o.dims,i.dims))throw new Error(\"Inputs 'cos_cache' and 'sin_cache' are expected to have the same shape\");if(a>0&&s===0)throw new Error(\"num_heads must be provided if rotary_embedding_dim is specified\");let u=n.dims[0],d=n.dims[n.dims.length-2],l=o.dims[0],c=x.sizeFromDimension(n.dims,1)/d,p=a===0?o.dims[1]*2:c/s;if(a>p)throw new Error(\"rotary_embedding_dim must be less than or equal to head_size\");if(r.dims.length===2){if(u!==r.dims[0])throw new Error(`Input 'position_ids' dimension 0 should be of size batch_size, got ${r.dims[0]}`);if(d!==r.dims[1])throw new Error(`Input 'position_ids' dimension 1 should be of size sequence_length, got ${r.dims[1]}`)}if(d>l)throw new Error(\"Updating cos_cache and sin_cache in RotaryEmbedding is not currently supported\");if(p/2!==o.dims[1]&&a/2!==o.dims[1])throw new Error(`Input 'cos_cache' dimension 1 should be same as head_size / 2 or rotary_embedding_dim / 2, got ${o.dims[1]}`)},hn=(e,t)=>{let{interleaved:n,numHeads:r,rotaryEmbeddingDim:o,scale:i}=t,s=e[0].dims[0],a=x.sizeFromDimension(e[0].dims,1),u=e[0].dims[e[0].dims.length-2],d=a/u,l=e[2].dims[1],c=o===0?l*2:d/r,p=new Array(s,u,d/c,c-l),f=x.computeStrides(p),m=[{type:1,data:i},{type:12,data:p},{type:12,data:f},...e[0].dims.length===3?new Array({type:12,data:[a,d,c,1]}):[],...e[0].dims.length===4?new Array({type:12,data:[a,c,u*c,1]}):[],...P(e[0].dims,e[1].dims,e[2].dims,e[3].dims,e[0].dims)],h=b=>{let y=S(\"input\",e[0].dataType,e[0].dims.length),g=S(\"position_ids\",e[1].dataType,e[1].dims.length),_=S(\"cos_cache\",e[2].dataType,e[2].dims.length),w=S(\"sin_cache\",e[3].dataType,e[3].dims.length),$=C(\"output\",e[0].dataType,e[0].dims.length);return b.registerUniforms([{name:\"scale\",type:\"f32\"},{name:\"global_shape\",type:\"u32\",length:p.length},{name:\"global_strides\",type:\"u32\",length:f.length},{name:\"input_output_strides\",type:\"u32\",length:f.length}]),`\n ${b.declareVariables(y,g,_,w,$)}\n\n ${b.mainStart(et)}\n let half_rotary_emb_dim = uniforms.${_.name}_shape[1];\n let bsnh = global_idx / uniforms.global_strides % uniforms.global_shape;\n let size = uniforms.global_shape[0] * uniforms.global_strides[0];\n ${b.guardAgainstOutOfBoundsWorkgroupSizes(\"size\")}\n\n if (bsnh[3] < half_rotary_emb_dim) {\n let position_ids_idx =\n ${g.broadcastedIndicesToOffset(\"bsnh.xy\",C(\"\",g.type.tensor,2))};\n let position_id =\n u32(${g.getByOffset(\"position_ids_idx\")}) + select(0, bsnh[1], position_ids_idx == 0);\n let i = dot(bsnh, uniforms.input_output_strides) + select(0, bsnh[3], ${n});\n let j = i + select(half_rotary_emb_dim, 1, ${n});\n let re = ${y.getByOffset(\"i\")} * ${_.get(\"position_id\",\"bsnh[3]\")} -\n ${y.getByOffset(\"j\")} * ${w.get(\"position_id\",\"bsnh[3]\")};\n ${$.setByOffset(\"i\",\"re\")}\n let im = ${y.getByOffset(\"i\")} * ${w.get(\"position_id\",\"bsnh[3]\")} +\n ${y.getByOffset(\"j\")} * ${_.get(\"position_id\",\"bsnh[3]\")};\n ${$.setByOffset(\"j\",\"im\")}\n } else {\n let k = dot(bsnh, uniforms.input_output_strides) + half_rotary_emb_dim;\n ${$.setByOffset(\"k\",y.getByOffset(\"k\"))}\n }\n }`};return{name:\"RotaryEmbedding\",shaderCache:{hint:V({interleaved:n}).cacheKey,inputDependencies:[\"rank\",\"rank\",\"rank\",\"rank\"]},getShaderSource:h,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(x.size(p)/et)},programUniforms:m})}},Ta=(e,t)=>{Ic(e.inputs,t),e.compute(hn(e.inputs,t))}});var Cc,Ac,Ia,Ec,Ca,Aa=k(()=>{\"use strict\";ue();L();rn();lr();pr();Re();mr();q();Cc=(e,t)=>{if(t.doRotary&&e.length<=7)throw new Error(\"cos_cache and sin_cache inputs are required if do_rotary is specified\");let n=e[0],r=e[1],o=e[2],i=e[3],s=e[4];if(t.doRotary!==0&&e.length<=7)throw new Error(\"cos_cast and sin_cache are expected if do_rotary attribute is non-zero\");if(t.localWindowSize!==-1)throw new Error(\"Local attention is not supported\");if(t.softcap!==0)throw new Error(\"Softcap is not supported\");if(t.rotaryInterleaved!==0)throw new Error(\"Rotary interleaved is not supported\");if(t.smoothSoftmax)throw new Error(\"Smooth softmax is not supported\");if(n.dims.length!==3&&n.dims.length!==5)throw new Error(\"Input query is expected to have 3 or 5 dimensions\");let a=!1,u=n.dims[0],d=n.dims[1],l=n.dims.length===3?a?n.dims[2]/3:n.dims[2]:t.numHeads*n.dims[4],c=d,p=0,f=!r||r.dims.length===0,m=Math.floor(f?l/(t.numHeads+2*t.kvNumHeads):l/t.numHeads);f&&(l=m*t.numHeads);let h=i&&i.dims.length!==0,b=s&&s.dims.length!==0;if(h&&i.dims.length===4&&i.dims[0]===u&&i.dims[1]!==t.kvNumHeads&&i.dims[2]===t.kvNumHeads&&i.dims[3]===m)throw new Error(\"BSNH pastKey/pastValue is not supported\");if(h&&b){if(i.dims.length!==4)throw new Error('Input \"past_key\" is expected to have 4 dimensions');if(s.dims.length!==4)throw new Error('Input \"past_value\" is expected to have 4 dimensions');p=i.dims[2]}else if(h||b)throw new Error('Input \"past_key\" and \"past_value\" shall be both present or both absent');let g=1;if(r&&r.dims.length>0){if(n.dims.length!==3)throw new Error('Input \"query\" is expected to have 3 dimensions when key is given');if(r.dims.length<3||r.dims.length>5)throw new Error('Input \"key\" is expected to have 3, 4, or 5 dimensions');if(n.dims[0]!==r.dims[0])throw new Error('Input \"query\" and \"key\" shall have same dim 0 (batch size)');if(r.dims.length===3){if(n.dims[2]%r.dims[2]!==0)throw new Error('Dimension 2 of \"query\" should be a multiple of \"key\"');c=r.dims[1]}else if(r.dims.length===5){if(r.dims[2]!==t.numHeads||r.dims[3]!==2||r.dims[4]!==m)throw new Error('Expect \"key\" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw new Error('Expect \"value\" be none when \"key\" has packed kv format.');c=r.dims[1]}else{if(r.dims[1]!==t.numHeads||r.dims[3]!==m)throw new Error('Expect \"key\" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');c=r.dims[2]}}else{if(n.dims.length!==3&&n.dims.length!==5)throw new Error('Input \"query\" is expected to have 3 or 5 dimensions when key is empty');if(n.dims.length===5&&(n.dims[2]!==t.numHeads||n.dims[3]!==3))throw new Error('Expect \"query\" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');g=3}let _=0,w=!1,$=t.kvNumHeads?m*t.kvNumHeads:l;if(o&&o.dims.length>0){if(o.dims.length!==3&&o.dims.length!==4)throw new Error('Input \"value\" is expected to have 3 or 4 dimensions');if(n.dims[0]!==o.dims[0])throw new Error('Input \"query\" and \"value\" shall have same dim 0 (batch_size)');if(o.dims.length===3){if(c!==o.dims[1])throw new Error('Input \"key\" and \"value\" shall have the same dim 1 (kv_sequence_length)');$=o.dims[2]}else{if(c!==o.dims[2])throw new Error('Input \"past_key\" and \"past_value\" shall have the same dim 2 (kv_sequence_length)');$=o.dims[1]*o.dims[3],w=!0}}let v=e.length>4?e[5]:void 0;if(v){if(v.dims.length===0)throw new Error(\"seqlens_k must be at least 1D, got scalar.\");let z=v.dims.reduce((M,O)=>M*O,1);if(z!==u)throw new Error(`seqlens_k must have batch_size (${u}) elements, got ${z}.`);for(let M=0;M<v.dims.length;M++)if(v.dims[M]!==1&&v.dims[M]!==u)throw new Error(`seqlens_k has unexpected shape. Each dimension must be 1 or batch_size (${u}), got dims[${M}] = ${v.dims[M]}.`)}return{batchSize:u,sequenceLength:d,pastSequenceLength:p,kvSequenceLength:c,totalSequenceLength:-1,maxSequenceLength:-1,inputHiddenSize:0,hiddenSize:l,vHiddenSize:$,headSize:m,vHeadSize:Math.floor($/t.kvNumHeads),numHeads:t.numHeads,kvNumHeads:t.kvNumHeads,nReps:t.numHeads/t.kvNumHeads,pastPresentShareBuffer:!1,maskType:_,scale:t.scale,broadcastResPosBias:!1,passPastInKv:w,qkvFormat:g}},Ac=V({perm:[0,2,1,3]}),Ia=(e,t,n)=>{let r=t,o=n.kvNumHeads;return t.dims.length===3&&n.kvSequenceLength!==0&&(r=t.reshape([n.batchSize,n.kvSequenceLength,o,n.headSize]),r=e.compute(me(r,Ac.perm),{inputs:[r],outputs:[-1]})[0]),r},Ec=(e,t,n,r)=>{let o=7,i=[\"type\",\"type\"],s=[e*t],a=e*t,u=[{type:12,data:a},{type:12,data:t},{type:12,data:e}],d=l=>{let c=S(\"seq_lens\",n.dataType,n.dims),p=S(\"total_seq_lens\",r.dataType,r.dims),f=C(\"pos_ids\",o,s),m=[{name:\"output_size\",type:\"u32\"},{name:\"sequence_length\",type:\"u32\"},{name:\"batch_size\",type:\"u32\"}];return`\n ${l.registerUniforms(m).declareVariables(c,p,f)}\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let total_sequence_length = u32(${p.getByOffset(\"0\")});\n let is_subsequent_prompt = uniforms.sequence_length > 1 && uniforms.sequence_length != total_sequence_length;\n let is_first_prompt = !is_subsequent_prompt && uniforms.sequence_length == total_sequence_length;\n let batch_idx = global_idx / uniforms.sequence_length;\n let sequence_idx = i32(global_idx % uniforms.sequence_length);\n var pos_id: i32 = 0;\n let seqlen = ${c.getByOffset(\"batch_idx\")};\n let total_seqlen = seqlen + 1;\n if (is_first_prompt) {\n if (sequence_idx < total_seqlen) {\n pos_id = sequence_idx;\n } else {\n pos_id = 1;\n }\n ${f.setByOffset(\"global_idx\",\"pos_id\")}\n } else if (is_subsequent_prompt) {\n let past_seqlen = total_seqlen - i32(uniforms.sequence_length);\n if (past_seqlen + sequence_idx < total_seqlen) {\n pos_id = past_seqlen + sequence_idx;\n } else {\n pos_id = 1;\n }\n ${f.setByOffset(\"global_idx\",\"pos_id\")}\n } else if (global_idx < uniforms.batch_size) {\n ${f.setByOffset(\"global_idx\",\"seqlen\")}\n };\n }\n `};return{name:\"GeneratePositionIds\",shaderCache:{hint:`${e};${t}`,inputDependencies:i},getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:u}),getShaderSource:d}},Ca=(e,t)=>{if(e.inputs.length>14&&e.inputs[14]||e.inputs.length>15&&e.inputs[15])throw new Error(\"GroupQueryAttention (JSEP): q_norm_weight / k_norm_weight inputs are not supported. The per-head Q/K RMS normalization prologue is implemented only on the CUDA and native WebGPU EPs.\");let n=Cc(e.inputs,t);if(e.inputs[0].dims.length===5)throw new Error(\"Packed QKV is not implemented\");if(e.inputs[1]?.dims.length===5)throw new Error(\"Packed KV is not implemented\");let r=e.inputs[0],o=e.inputs[1]&&e.inputs[1].dims.length>0?e.inputs[1]:void 0,i=e.inputs[2]&&e.inputs[2].dims.length>0?e.inputs[2]:void 0,s=e.inputs[3]&&e.inputs[3].dims.length!==0?e.inputs[3]:void 0,a=e.inputs[4]&&e.inputs[4].dims.length!==0?e.inputs[4]:void 0,u=e.inputs.length>4?e.inputs[5]:void 0,d=e.inputs.length>5?e.inputs[6]:void 0,l=n.kvNumHeads?n.kvNumHeads:n.numHeads,c=V({axis:2,numOutputs:3,splitSizes:[n.numHeads*n.headSize,l*n.headSize,l*n.headSize]}),[p,f,m]=!o&&!i?e.compute(cr([r],c),{inputs:[r],outputs:[-1,-1,-1]}):[r,o,i],h,b;if(t.doRotary){let w=e.compute(Ec(n.batchSize,n.sequenceLength,u,d),{inputs:[u,d],outputs:[-1]})[0],$=e.inputs[7],v=e.inputs[8],T=V({interleaved:t.rotaryInterleaved!==0,numHeads:n.numHeads,rotaryEmbeddingDim:0,scale:t.scale}),I=[p,w,$,v],E=[-1];h=e.compute(hn(I,T),{inputs:I,outputs:E})[0],I.splice(0,1,f);let z=V({interleaved:t.rotaryInterleaved!==0,numHeads:n.kvNumHeads,rotaryEmbeddingDim:0,scale:t.scale});b=e.compute(hn(I,z),{inputs:I,outputs:E})[0]}let y=$t(e,n.batchSize,n.numHeads,n.sequenceLength,n.headSize,t.doRotary?h:p,void 0,0),g=Ia(e,t.doRotary?b:f,n),_=Ia(e,m,n);at(e,y,g,_,void 0,void 0,s,a,void 0,n,u,d)}});var Ea,kc,Pc,ka,Pa=k(()=>{\"use strict\";L();H();Re();q();Ea=(e,t,n,r,o,i,s,a)=>{let u=J(i),d=u===1?\"f32\":`vec${u}f`,l=u===1?\"vec2f\":`mat2x${u}f`,c=o*s,p=64;c===1&&(p=256);let f=[o,s,i/u],m=[o,s,2],h=[\"rank\",\"type\",\"type\"],b=[];b.push(...P(f,m));let y=g=>{let _=S(\"x\",t.dataType,3,u),w=S(\"scale\",n.dataType,n.dims),$=S(\"bias\",r.dataType,r.dims),v=C(\"output\",1,3,2),T=[_,w,$,v];return`\n var<workgroup> workgroup_shared : array<${l}, ${p}>;\n const workgroup_size = ${p}u;\n ${g.declareVariables(...T)}\n ${g.mainStart(p)}\n let batch = workgroup_index / uniforms.x_shape[1];\n let channel = workgroup_index % uniforms.x_shape[1];\n let hight = uniforms.x_shape[2];\n // initialize workgroup memory\n var sum = ${d}(0);\n var squared_sum = ${d}(0);\n for (var h = local_idx; h < hight; h += workgroup_size) {\n let value = ${d}(${_.get(\"batch\",\"channel\",\"h\")});\n sum += value;\n squared_sum += value * value;\n }\n workgroup_shared[local_idx] = ${l}(sum, squared_sum);\n workgroupBarrier();\n\n for (var currSize = workgroup_size >> 1; currSize > 0; currSize = currSize >> 1) {\n if (local_idx < currSize) {\n workgroup_shared[local_idx] = workgroup_shared[local_idx] + workgroup_shared[local_idx + currSize];\n }\n workgroupBarrier();\n }\n if (local_idx == 0) {\n let sum_final = ${Ie(\"workgroup_shared[0][0]\",u)} / f32(hight * ${u});\n let squared_sum_final = ${Ie(\"workgroup_shared[0][1]\",u)} / f32(hight * ${u});\n\n let inv_std_dev = inverseSqrt(squared_sum_final - sum_final * sum_final + f32(${a}));\n let channel_scale = inv_std_dev * f32(scale[channel]);\n let channel_shift = f32(bias[channel]) - sum_final * channel_scale;\n output[workgroup_index] = vec2f(channel_scale, channel_shift);\n }\n }`};return e.compute({name:\"InstanceNormComputeChannelScaleShift\",shaderCache:{hint:`${u};${a};${p}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:m,dataType:1}],dispatchGroup:{x:c},programUniforms:b}),getShaderSource:y},{inputs:[t,n,r],outputs:[-1]})[0]},kc=(e,t,n)=>{let r=t[0].dims,o=r,i=2,s=r[0],a=r[1],u=x.sizeFromDimension(r,i),d=J(u),l=x.size(o)/d,c=Ea(e,t[0],t[1],t[2],s,u,a,n.epsilon),p=[s,a,u/d],f=[s,a],m=[\"type\",\"none\"],h=b=>{let y=S(\"x\",t[0].dataType,p.length,d),g=S(\"scale_shift\",1,f.length,2),_=C(\"output\",t[0].dataType,p.length,d),w=[y,g,_];return`\n ${b.registerUniform(\"output_size\",\"u32\").declareVariables(...w)}\n ${b.mainStart()}\n ${b.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let outputIndices = ${_.offsetToIndices(\"global_idx\")};\n let batch = outputIndices[0];\n let channel = outputIndices[1];\n let scale_shift = ${g.getByIndices(\"vec2<u32>(batch, channel)\")};\n let value = ${y.getByOffset(\"global_idx\")} * ${_.type.value}(scale_shift.x) + ${_.type.value}(scale_shift.y);\n ${_.setByOffset(\"global_idx\",\"value\")};\n }`};e.compute({name:\"InstanceNormalization\",shaderCache:{hint:`${d}`,inputDependencies:m},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:[{type:12,data:l},...P(p,f,p)]}),getShaderSource:h},{inputs:[t[0],c]})},Pc=(e,t,n)=>{let r=t[0].dims,o=r,i=r[0],s=r[r.length-1],a=x.sizeFromDimension(r,1)/s,u=J(s),d=x.size(o)/u,l=[{type:12,data:a},{type:12,data:Math.floor(s/u)}],c=[\"type\",\"type\"],p=!1,f=[0,r.length-1];for(let y=0;y<r.length-2;y++)p=p||r[y+1]!==1,f.push(y+1);p=p&&r[r.length-1]!==1;let m=p?e.compute(me(e.inputs[0],f),{inputs:[e.inputs[0]],outputs:[-1]})[0]:e.inputs[0].reshape(Array.from({length:r.length},(y,g)=>r[f[g]])),h=Ea(e,m,t[1],t[2],i,a,s,n.epsilon),b=y=>{let g=re(t[0].dataType),_=u===1?\"vec2f\":`mat${u}x2f`,w=T=>{let I=T===0?\"x\":\"y\",E=u===1?\"f32\":`vec${u}f`;switch(u){case 1:return`${g}(${E}(scale.${I}))`;case 2:return`vec2<${g}>(${E}(scale[0].${I}, scale[1].${I}))`;case 4:return`vec4<${g}>(${E}(scale[0].${I}, scale[1].${I}, scale[2].${I}, scale[3].${I}))`;default:throw new Error(`Not supported compoents ${u}`)}},$=S(\"input\",t[0].dataType,t[0].dims,u),v=C(\"output\",t[0].dataType,o,u);return`\n @group(0) @binding(0) var<storage, read> input : array<${$.type.storage}>;\n @group(0) @binding(1) var<storage, read> scale_input : array<${_}>;\n @group(0) @binding(2) var<storage, read_write> output : array<${v.type.storage}>;\n struct Uniforms {H: u32, C : u32};\n @group(0) @binding(3) var<uniform> uniforms: Uniforms;\n\n ${y.mainStart()}\n let current_image_number = global_idx / (uniforms.C * uniforms.H);\n let current_channel_number = global_idx % uniforms.C;\n\n let scale_offset = current_image_number * uniforms.C + current_channel_number;\n let scale = scale_input[scale_offset];\n output[global_idx] = fma(input[global_idx], ${w(0)}, ${w(1)});\n }`};e.compute({name:\"InstanceNormalizationNHWC\",shaderCache:{hint:`${u}`,inputDependencies:c},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:l}),getShaderSource:b},{inputs:[t[0],h]})},ka=(e,t)=>{t.format===\"NHWC\"?Pc(e,e.inputs,t):kc(e,e.inputs,t)}});var zc,Dc,za,Da=k(()=>{\"use strict\";L();H();q();zc=e=>{if(!e||e.length<2)throw new Error(\"layerNorm requires at least 2 inputs.\")},Dc=(e,t,n)=>{let r=t.simplified,o=e[0].dims,i=e[1],s=!r&&e[2],a=o,u=x.normalizeAxis(t.axis,o.length),d=x.sizeToDimension(o,u),l=x.sizeFromDimension(o,u),c=x.size(i.dims),p=s?x.size(s.dims):0;if(c!==l||s&&p!==l)throw new Error(`Size of X.shape()[axis:] == ${l}.\n Size of scale and bias (if provided) must match this.\n Got scale size of ${c} and bias size of ${p}`);let f=[];for(let $=0;$<o.length;++$)$<u?f.push(o[$]):f.push(1);let m=J(l),h=[\"type\",\"type\"],b=[{type:12,data:d},{type:1,data:l},{type:12,data:Math.floor(l/m)},{type:1,data:t.epsilon}];s&&h.push(\"type\");let y=n>1,g=n>2,_=$=>{let v=re(e[0].dataType),T=[S(\"x\",e[0].dataType,e[0].dims,m),S(\"scale\",i.dataType,i.dims,m)];s&&T.push(S(\"bias\",s.dataType,s.dims,m)),T.push(C(\"output\",e[0].dataType,a,m)),y&&T.push(C(\"mean_data_output\",1,f)),g&&T.push(C(\"inv_std_output\",1,f));let I=[{name:\"norm_count\",type:\"u32\"},{name:\"norm_size\",type:\"f32\"},{name:\"norm_size_vectorized\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}];return`\n ${$.registerUniforms(I).declareVariables(...T)}\n ${$.mainStart()}\n ${$.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.norm_count\")}\n let offset = global_idx * uniforms.norm_size_vectorized;\n var mean_vector = ${jn(\"f32\",m)};\n var mean_square_vector = ${jn(\"f32\",m)};\n\n for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {\n let value = ${tt(v,m,\"x[h + offset]\")};\n mean_vector += value;\n mean_square_vector += value * value;\n }\n let mean = ${Ie(\"mean_vector\",m)} / uniforms.norm_size;\n let inv_std_dev = inverseSqrt(${Ie(\"mean_square_vector\",m)} / uniforms.norm_size ${r?\"\":\"- mean * mean\"} + uniforms.epsilon);\n\n for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {\n let f32input = ${tt(v,m,\"x[j + offset]\")};\n let f32scale = ${tt(v,m,\"scale[j]\")};\n output[j + offset] = ${T[0].type.value}((f32input ${r?\"\":\"- mean\"}) * inv_std_dev * f32scale\n ${s?`+ ${tt(v,m,\"bias[j]\")}`:\"\"}\n );\n }\n\n ${y?\"mean_data_output[global_idx] = mean\":\"\"};\n ${g?\"inv_std_output[global_idx] = inv_std_dev\":\"\"};\n }`},w=[{dims:a,dataType:e[0].dataType}];return y&&w.push({dims:f,dataType:1}),g&&w.push({dims:f,dataType:1}),{name:\"LayerNormalization\",shaderCache:{hint:`${m};${n};${r}`,inputDependencies:h},getRunData:()=>({outputs:w,dispatchGroup:{x:Math.ceil(d/64)},programUniforms:b}),getShaderSource:_}},za=(e,t)=>{zc(e.inputs),e.compute(Dc(e.inputs,t,e.outputCount))}});var Bc,Ba,Oa=k(()=>{\"use strict\";H();ln();cn();Bc=e=>{if(!e||e.length!==2)throw new Error(\"MatMul requires 2 inputs.\");if(e[0].dims[e[0].dims.length-1]!==e[1].dims[e[1].dims.length-2])throw new Error(\"shared dimension does not match.\")},Ba=e=>{Bc(e.inputs);let t=ze.calcShape(e.inputs[0].dims,e.inputs[1].dims,!0);if(!t)throw new Error(\"Can't use matmul on the given tensors\");let n=t[t.length-1],r=e.inputs[0].dims[e.inputs[0].dims.length-1];if(n<8&&r<8)e.compute(dn(e.inputs,{activation:\"\"},t));else{let o=t[t.length-2],i=x.size(e.inputs[0].dims.slice(0,-2)),s=x.size(e.inputs[1].dims.slice(0,-2));if(i!==1&&o===1&&s===1){let a=e.inputs[0].reshape([1,i,r]),u=e.inputs[1].reshape([1,r,n]),d=[1,i,n],l=[a,u];e.compute(wt(l,{activation:\"\"},t,d),{inputs:l})}else e.compute(wt(e.inputs,{activation:\"\"},t))}}});var Oc,Mc,Uc,Ma,Ua,Ra=k(()=>{\"use strict\";L();H();ue();q();Oc=(e,t)=>{if(e.length<3||e.length>4)throw new Error(\"MatMulNBits requires 3 or 4 inputs\");let n=e[0],r=n.dims.length;if(n.dims[r-1]!==t.k)throw new Error(\"The last dim of input shape does not match the k value\");let o=Math.floor((t.k+t.blockSize-1)/t.blockSize),i=t.blockSize/8*t.bits,s=e[1];if(!x.areEqual(s.dims,[t.n,o,i]))throw new Error(\"The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize\");let u=e[2].dims;if(x.size(u)!==t.n*o)throw new Error(\"scales input size error.\");if(e.length===4){let l=e[3].dims,c=t.n*(t.bits===8?o:Math.floor((o*t.bits+7)/8));if(x.size(l)!==c)throw new Error(\"zeroPoints input size error.\")}},Mc=(e,t)=>{let n=e[0].dims,r=n.length,o=n[r-2],i=t.k,s=t.n,a=n.slice(0,r-2),u=x.size(a),l=e[1].dims[2]/4,c=e[0].dataType,p=J(t.k),f=J(l),m=J(s),h=a.concat([o,s]),b=o>1&&s/m%2===0?2:1,y=x.size(h)/m/b,g=64,_=[],w=[u,o,i/p],$=x.convertShape(e[1].dims).slice();$.splice(-1,1,l/f),_.push(...P(w)),_.push(...P($)),_.push(...P(e[2].dims)),e.length===4&&_.push(...P(x.convertShape(e[3].dims)));let v=[u,o,s/m];_.push(...P(v));let T=I=>{let E=w.length,z=S(\"a\",e[0].dataType,E,p),M=S(\"b\",12,$.length,f),O=S(\"scales\",e[2].dataType,e[2].dims.length),W=[z,M,O],K=e.length===4?S(\"zero_points\",12,e[3].dims.length):void 0;K&&W.push(K);let U=v.length,R=C(\"output\",e[0].dataType,U,m),G=re(e[0].dataType),N=(()=>{switch(p){case 1:return`array<${G}, 8>`;case 2:return`mat4x2<${G}>`;case 4:return`mat2x4<${G}>`;default:throw new Error(`${p}-component is not supported.`)}})(),j=Math.floor(32/t.bits),Q=Math.floor(j/8),X=()=>{let A=\"\";for(let D=0;D<Q;D++){let oe=D*t.bits*4,he=oe+t.bits;A+=`\n // reuse a data (pass ${D})\n var input_offset${D>0?D:\"\"} = ${D===0?z.indicesToOffset(`${z.type.indices}(batch, row, word_offset)`):\"input_offset\"};\n var a_data${D>0?D:\"\"}: ${N};\n for (var j${D>0?D:\"\"}: u32 = 0; j${D>0?D:\"\"} < ${8/p}; j${D>0?D:\"\"}++) {\n a_data${D>0?D:\"\"}[j${D>0?D:\"\"}] = ${z.getByOffset(`input_offset${D>0?D:\"\"}`)};\n input_offset${D>0?D:\"\"}++;\n }\n `;for(let ae=0;ae<m*b;ae++)A+=`\n b_value = ${f===1?`b${ae}_data`:`b${ae}_data[i]`};\n ${t.bits===2?`{\n let half_word = b_value >> ${D*16}u;\n let byte_lo = half_word & 0xFFu;\n let byte_hi = (half_word >> 8u) & 0xFFu;\n let spread_word = (byte_lo & 0xFu) | ((byte_lo >> 4u) << 8u) | ((byte_hi & 0xFu) << 16u) | ((byte_hi >> 4u) << 24u);\n b_value_lower = unpack4xU8(spread_word & b_mask);\n b_value_upper = unpack4xU8((spread_word >> 2u) & b_mask);\n }`:`b_value_lower = unpack4xU8((b_value >> ${oe}u) & b_mask);\n b_value_upper = unpack4xU8((b_value >> ${he}u) & b_mask);`}\n b_quantized_values = ${N}(${Array.from({length:4},(ge,ie)=>`${G}(b_value_lower[${ie}]), ${G}(b_value_upper[${ie}])`).join(\", \")});\n b_dequantized_values = ${p===1?`${N}(${Array.from({length:8},(ge,ie)=>`(b_quantized_values[${ie}] - ${K?`zero_point${ae}`:\"zero_point\"}) * scale${ae}`).join(\", \")});`:`(b_quantized_values - ${N}(${Array(8).fill(`${K?`zero_point${ae}`:\"zero_point\"}`).join(\",\")})) * scale${ae};`};\n workgroup_shared[local_id.x * ${b} + ${Math.floor(ae/m)}]${m>1?`[${ae%m}]`:\"\"} += ${Array.from({length:8/p},(ge,ie)=>`${p===1?`a_data${D>0?D:\"\"}[${ie}] * b_dequantized_values[${ie}]`:`dot(a_data${D>0?D:\"\"}[${ie}], b_dequantized_values[${ie}])`}`).join(\" + \")};\n `}return A},Se=()=>{let A=`\n var col_index = col * ${m};\n ${K?`\n let zero_point_values_per_byte: u32 = ${Math.floor(8/t.bits)}u;\n let zero_point_bytes_per_col = (nBlocksPerCol + zero_point_values_per_byte - 1u) / zero_point_values_per_byte;\n var zero_point_byte_count: u32;\n var zero_point_word_index: u32;\n var zero_point_byte_offset: u32;\n let zero_point_sub_offset: u32 = block % zero_point_values_per_byte;\n var zero_point_bits_offset: u32;\n var zero_point_word: u32;`:`\n // The default zero point is ${Math.pow(2,t.bits-1)} for unsigned ${t.bits}-bit quantization.\n let zero_point = ${G}(${Math.pow(2,t.bits-1).toFixed(1)});`}\n `;for(let D=0;D<m*b;D++)A+=`\n let scale${D} = ${O.getByOffset(\"col_index * nBlocksPerCol + block\")};\n ${K?`\n zero_point_byte_count = col_index * zero_point_bytes_per_col + (block / zero_point_values_per_byte);\n zero_point_word_index = zero_point_byte_count >> 0x2u;\n zero_point_byte_offset = zero_point_byte_count & 0x3u;\n zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_sub_offset * ${t.bits}u);\n zero_point_word = ${K.getByOffset(\"zero_point_word_index\")} >> zero_point_bits_offset;\n let zero_point${D} = ${G}((zero_point_word) & ${t.bits===2?\"0x3u\":\"0xFu\"});`:\"\"}\n col_index += 1;`;return A},se=()=>{let A=`col_index = col * ${m};`;for(let D=0;D<m*b;D++)A+=`\n let b${D}_data = ${M.getByIndices(`${M.type.indices}(col_index, block, word)`)};\n col_index += 1;`;return A+=`\n var b_value: u32;\n let b_mask: u32 = ${t.bits===2?\"0x03030303u\":\"0x0F0F0F0Fu\"};\n var b_value_lower: vec4<u32>;\n var b_value_upper: vec4<u32>;\n var b_quantized_values: ${N};\n var b_dequantized_values: ${N};`,A};return`\n var<workgroup> workgroup_shared: array<${R.type.value}, ${b*g}>;\n ${I.declareVariables(...W,R)}\n ${I.mainStart([g,1,1])}\n let output_indices = ${R.offsetToIndices(`(global_idx / ${g}) * ${b}`)};\n let col = output_indices[2];\n let row = output_indices[1];\n let batch = output_indices[0];\n let nBlocksPerCol = uniforms.b_shape[1];\n\n for (var block = local_id.x; block < nBlocksPerCol; block += ${g}) {\n //process one block\n var word_offset: u32 = block * ${t.blockSize/p};\n ${Se()}\n for (var word: u32 = 0; word < ${l}; word += ${f}) {\n ${se()}\n for (var i: u32 = 0; i < ${f}; i++) {\n ${X()}\n word_offset += ${j/p};\n }\n }\n }\n workgroupBarrier();\n\n if (local_id.x < ${b}) {\n var output_value: ${R.type.value} = ${R.type.value}(0);\n var workgroup_shared_offset: u32 = local_id.x;\n for (var b: u32 = 0u; b < ${g}u; b++) {\n output_value += workgroup_shared[workgroup_shared_offset];\n workgroup_shared_offset += ${b};\n }\n ${R.setByIndices(`${R.type.indices}(batch, row, col + local_id.x)`,\"output_value\")};\n }\n }`};return{name:\"MatMulNBits\",shaderCache:{hint:`${t.blockSize};${t.bits};${p};${f};${m};${b};${g}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:h,dataType:c}],dispatchGroup:{x:y},programUniforms:_}),getShaderSource:T}},Uc=(e,t)=>{let n=e[0].dims,r=n.length,o=n[r-2],i=t.k,s=t.n,a=n.slice(0,r-2),u=x.size(a),l=e[1].dims[2]/4,c=e[0].dataType,p=J(t.k),f=J(l),m=a.concat([o,s]),h=128,b=s%8===0?8:s%4===0?4:1,y=h/b,g=Math.floor(32/t.bits),_=y*f*g,w=_/p,$=_/t.blockSize,v=x.size(m)/b,T=[],I=[u,o,i/p],E=x.convertShape(e[1].dims).slice();E.splice(-1,1,l/f),T.push(...P(I)),T.push(...P(E)),T.push(...P(e[2].dims)),e.length===4&&T.push(...P(x.convertShape(e[3].dims)));let z=[u,o,s];T.push(...P(z));let M=O=>{let W=I.length,K=S(\"a\",e[0].dataType,W,p),U=S(\"b\",12,E.length,f),R=S(\"scales\",e[2].dataType,e[2].dims.length),G=[K,U,R],N=e.length===4?S(\"zero_points\",12,e[3].dims.length):void 0;N&&G.push(N);let j=z.length,Q=C(\"output\",e[0].dataType,j),X=re(e[0].dataType),Se=()=>{switch(p){case 1:return`\n let a_data0 = vec4<${X}>(sub_a[word_offset], sub_a[word_offset + 1], sub_a[word_offset + 2], sub_a[word_offset + 3]);\n let a_data1 = vec4<${X}>(sub_a[word_offset + 4], sub_a[word_offset + 5], sub_a[word_offset + 6], sub_a[word_offset + 7]);`;case 2:return`\n let a_data0 = vec4<${X}>(sub_a[word_offset], sub_a[word_offset + 1]);\n let a_data1 = vec4<${X}>(sub_a[word_offset + 2], sub_a[word_offset + 3]);`;case 4:return`\n let a_data0 = sub_a[word_offset];\n let a_data1 = sub_a[word_offset + 1];`;default:throw new Error(`${p}-component is not supported.`)}};return`\n var<workgroup> sub_a: array<${K.type.value}, ${w}>;\n var<workgroup> inter_results: array<array<${Q.type.value}, ${y}>, ${b}>;\n ${O.declareVariables(...G,Q)}\n ${O.mainStart([y,b,1])}\n let output_indices = ${Q.offsetToIndices(`workgroup_index * ${b}`)};\n let col = output_indices[2];\n let row = output_indices[1];\n let batch = output_indices[0];\n let n_blocks_per_col = uniforms.b_shape[1];\n let num_tiles = (n_blocks_per_col - 1) / ${$} + 1;\n\n // Loop over shared dimension.\n for (var tile: u32 = 0; tile < num_tiles; tile += 1) {\n let a_col_start = tile * ${w};\n // load one tile A data into shared memory.\n for (var a_offset = local_idx; a_offset < ${w}; a_offset += ${h})\n {\n let a_col = a_col_start + a_offset;\n if (a_col < uniforms.a_shape[2])\n {\n sub_a[a_offset] = ${K.getByIndices(`${K.type.indices}(batch, row, a_col)`)};\n } else {\n sub_a[a_offset] = ${K.type.value}(0);\n }\n }\n workgroupBarrier();\n\n // each thread process one block\n let b_row = col + local_id.y;\n let block = tile * ${$} + local_id.x;\n ${N?`\n let zero_point_values_per_byte: u32 = ${Math.floor(8/t.bits)}u;\n let zero_point_bytes_per_col = (n_blocks_per_col + zero_point_values_per_byte - 1u) / zero_point_values_per_byte;\n let zero_point_byte_count = b_row * zero_point_bytes_per_col + (block / zero_point_values_per_byte);\n let zero_point_word_index = zero_point_byte_count >> 0x2u;\n let zero_point_byte_offset = zero_point_byte_count & 0x3u;\n let zero_point_sub_offset: u32 = block % zero_point_values_per_byte;\n let zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_sub_offset * ${t.bits}u);\n let zero_point_word = ${N.getByOffset(\"zero_point_word_index\")} >> zero_point_bits_offset;\n let zero_point = ${X}((zero_point_word) & ${t.bits===2?\"0x3u\":\"0xFu\"});`:`\n // The default zero point is ${Math.pow(2,t.bits-1)} for unsigned ${t.bits}-bit quantization.\n let zero_point = ${X}(${Math.pow(2,t.bits-1).toFixed(1)});`}\n let scale = ${R.getByOffset(\"b_row * n_blocks_per_col + block\")};\n let b_data = ${U.getByIndices(`${U.type.indices}(b_row, block, 0)`)};\n var word_offset = local_id.x * ${t.blockSize/p};\n for (var i: u32 = 0; i < ${f}; i++) {\n let b_value = ${f===1?\"b_data\":\"b_data[i]\"};\n ${(()=>{let se=Math.floor(g/8),A=\"\";for(let D=0;D<se;D++){let oe=D*t.bits*4,he=oe+t.bits;A+=`\n ${Se()}\n {${t.bits===2?`\n let half_word = b_value >> ${D*16}u;\n let byte_lo = half_word & 0xFFu;\n let byte_hi = (half_word >> 8u) & 0xFFu;\n let spread_word = (byte_lo & 0xFu) | ((byte_lo >> 4u) << 8u) | ((byte_hi & 0xFu) << 16u) | ((byte_hi >> 4u) << 24u);\n let b_value_lower = unpack4xU8(spread_word & 0x03030303u);\n let b_value_upper = unpack4xU8((spread_word >> 2u) & 0x03030303u);`:`\n let b_value_lower = unpack4xU8((b_value >> ${oe}u) & 0x0F0F0F0Fu);\n let b_value_upper = unpack4xU8((b_value >> ${he}u) & 0x0F0F0F0Fu);`}\n let b_quantized_values = mat2x4<${X}>(${Array.from({length:4},(ae,ge)=>`${X}(b_value_lower[${ge}]), ${X}(b_value_upper[${ge}])`).join(\", \")});\n let b_dequantized_values = (b_quantized_values - mat2x4<${X}>(${Array(8).fill(\"zero_point\").join(\",\")})) * scale;\n inter_results[local_id.y][local_id.x] += ${Array.from({length:2},(ae,ge)=>`${`dot(a_data${ge}, b_dequantized_values[${ge}])`}`).join(\" + \")};\n }\n word_offset += ${8/p};`}return A})()}\n }\n workgroupBarrier();\n }\n\n if (local_idx < ${b}) {\n var output_value: ${Q.type.value} = ${Q.type.value}(0);\n for (var b = 0u; b < ${y}; b++) {\n output_value += inter_results[local_idx][b];\n }\n if (col + local_idx < uniforms.output_shape[2])\n {\n ${Q.setByIndices(`${Q.type.indices}(batch, row, col + local_idx)`,\"output_value\")}\n }\n }\n }`};return{name:\"BlockwiseMatMulNBits32\",shaderCache:{hint:`${t.blockSize};${p};${f};${y};${b}`,inputDependencies:Array(e.length).fill(\"rank\")},getRunData:()=>({outputs:[{dims:m,dataType:c}],dispatchGroup:{x:v},programUniforms:T}),getShaderSource:M}},Ma=(e,t)=>{Oc(e.inputs,t),t.blockSize===32&&e.adapterInfo.isVendor(\"intel\")&&e.adapterInfo.isArchitecture(\"gen-12lp\")?e.compute(Uc(e.inputs,t)):e.compute(Mc(e.inputs,t))},Ua=e=>V(e)});var Rc,Vc,Lc,Nc,Wc,Gc,Hc,Fc,Va,La=k(()=>{\"use strict\";L();H();q();Rc=e=>{if(!e||e.length<1)throw new Error(\"Too few inputs\");if(e[0].dataType!==1&&e[0].dataType!==10)throw new Error(\"Input type must be float or float16.\");if(e.length>=2){let t=e[0].dims.length*2===e[1].dims[0];if(e.length===4&&(t=e[3].dims[0]*2===e[1].dims[0]),!t)throw new Error(\"The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].\")}},Vc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${B(\"uniforms.pads\",o,n)};\n if (k < 0) {\n break;\n }\n if (k >= i32(${B(\"uniforms.x_shape\",o,t)})) {\n break;\n }\n offset += k * i32(${B(\"uniforms.x_strides\",o,t)});\n `;return`\n value = ${e.type.value}(uniforms.constant_value);\n for (var i = 0; i < 1; i++) {\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n }\n `},Lc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${B(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k = -k;\n }\n {\n let _2n_1 = 2 * (i32(${B(\"uniforms.x_shape\",o,t)}) - 1);\n k = k % _2n_1;\n if(k >= i32(${B(\"uniforms.x_shape\",o,t)})) {\n k = _2n_1 - k;\n }\n }\n offset += k * i32(${B(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},Nc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${B(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k = 0;\n }\n if (k >= i32(${B(\"uniforms.x_shape\",o,t)})) {\n k = i32(${B(\"uniforms.x_shape\",o,t)}) - 1;\n }\n offset += k * i32(${B(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},Wc=(e,t,n)=>{let r=\"\";for(let o=t-1;o>=0;--o)r+=`\n k = i32(${e.indicesGet(\"indices\",o)}) - ${B(\"uniforms.pads\",o,n)};\n if (k < 0) {\n k += i32(${B(\"uniforms.x_shape\",o,t)}]);\n }\n if (k >= i32(${B(\"uniforms.x_shape\",o,t)})) {\n k -= i32(${B(\"uniforms.x_shape\",o,t)});\n }\n offset += k * i32(${B(\"uniforms.x_strides\",o,t)});\n `;return`\n var offset = 0;\n var k = 0;\n ${r}\n value = x[offset];\n `},Gc=(e,t,n)=>{switch(n.mode){case 0:return Vc(e,t,n.pads.length);case 1:return Lc(e,t,n.pads.length);case 2:return Nc(e,t,n.pads.length);case 3:return Wc(e,t,n.pads.length);default:throw new Error(\"Invalid mode\")}},Hc=(e,t)=>{let n=x.padShape(e[0].dims.slice(),t.pads),r=e[0].dims,o=x.size(n),i=[{type:12,data:o},{type:6,data:t.pads}],s=e.length>=3&&e[2].data;t.mode===0&&i.push({type:s?e[2].dataType:1,data:t.value}),i.push(...P(e[0].dims,n));let a=[\"rank\"],u=d=>{let l=C(\"output\",e[0].dataType,n.length),c=S(\"x\",e[0].dataType,r.length),p=c.type.value,f=Gc(l,r.length,t),m=[{name:\"output_size\",type:\"u32\"},{name:\"pads\",type:\"i32\",length:t.pads.length}];return t.mode===0&&m.push({name:\"constant_value\",type:s?p:\"f32\"}),`\n ${d.registerUniforms(m).declareVariables(c,l)}\n ${d.mainStart()}\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n\n let indices = ${l.offsetToIndices(\"global_idx\")};\n\n var value = ${p}(0);\n ${f}\n output[global_idx] = value;\n }`};return{name:\"Pad\",shaderCache:{hint:`${t.mode}${s}`,inputDependencies:a},getRunData:()=>({outputs:[{dims:n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(x.size(n)/64)},programUniforms:i}),getShaderSource:u}},Fc=(e,t)=>{if(e.length>1){let n=e[1].getBigInt64Array(),r=e.length>=3&&e[2].data?e[2].dataType===10?e[2].getUint16Array()[0]:e[2].getFloat32Array()[0]:0,o=e[0].dims.length,i=new Int32Array(2*o).fill(0);if(e.length>=4){let a=e[3].getBigInt64Array();for(let u=0;u<a.length;u++)i[Number(a[u])]=Number(n[u]),i[Number(a[u])+o]=Number(n[u+a.length])}else n.forEach((a,u)=>i[Number(u)]=Number(a));let s=[];return i.forEach(a=>s.push(a)),{mode:t.mode,value:r,pads:s}}else return t},Va=(e,t)=>{Rc(e.inputs);let n=Fc(e.inputs,t);e.compute(Hc(e.inputs,n),{inputs:[0]})}});var gn,Na,Wa,Ga,Ha,qc,Kc,Fa,qa,Ka,ja,Za,Qa,Xa,Ya,Ja,eu,tu,nu,ru=k(()=>{\"use strict\";we();L();H();q();gn=e=>{if(ne.webgpu.validateInputContent&&(!e||e.length!==1))throw new Error(\"Pool ops requires 1 input.\")},Na=(e,t,n)=>{let r=t.format===\"NHWC\",o=e.dims.slice();r&&o.splice(1,0,o.pop());let i=Object.hasOwnProperty.call(t,\"dilations\"),s=t.kernelShape.slice(),a=t.strides.slice(),u=i?t.dilations.slice():[],d=t.pads.slice();Je.adjustPoolAttributes(n,o,s,a,u,d);let l=Je.computePoolOutputShape(n,o,a,u,s,d,t.autoPad,t.ceilMode),c=Object.assign({},t);i?Object.assign(c,{kernelShape:s,strides:a,pads:d,dilations:u,cacheKey:t.cacheKey}):Object.assign(c,{kernelShape:s,strides:a,pads:d,cacheKey:t.cacheKey});let p=l.slice();return p.push(p.splice(1,1)[0]),[c,r?p:l]},Wa=(e,t)=>{let n=t.format===\"NHWC\",r=x.size(e),o=x.size(t.kernelShape),i=[{type:12,data:r},{type:12,data:o}],s=[{name:\"outputSize\",type:\"u32\"},{name:\"kernelSize\",type:\"u32\"}];if(t.kernelShape.length<=2){let a=t.kernelShape[t.kernelShape.length-1],u=t.strides[t.strides.length-1],d=t.pads[t.pads.length/2-1],l=t.pads[t.pads.length-1],c=!!(d+l);i.push({type:12,data:a},{type:12,data:u},{type:12,data:d},{type:12,data:l}),s.push({name:\"kw\",type:\"u32\"},{name:\"sw\",type:\"u32\"},{name:\"pwStart\",type:\"u32\"},{name:\"pwEnd\",type:\"u32\"});let p=!1;if(t.kernelShape.length===2){let f=t.kernelShape[t.kernelShape.length-2],m=t.strides[t.strides.length-2],h=t.pads[t.pads.length/2-2],b=t.pads[t.pads.length-2];p=!!(h+b),i.push({type:12,data:f},{type:12,data:m},{type:12,data:h},{type:12,data:b}),s.push({name:\"kh\",type:\"u32\"},{name:\"sh\",type:\"u32\"},{name:\"phStart\",type:\"u32\"},{name:\"phEnd\",type:\"u32\"})}return[i,s,!0,c,p]}else{if(n)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let a=x.computeStrides(t.kernelShape);i.push({type:12,data:a},{type:12,data:t.pads},{type:12,data:t.strides}),s.push({name:\"kernelStrides\",type:\"u32\",length:a.length},{name:\"pads\",type:\"u32\",length:t.pads.length},{name:\"strides\",type:\"u32\",length:t.strides.length});let u=t.pads.reduce((d,l)=>d+l);return[i,s,!!u,!1,!1]}},Ga=(e,t,n,r,o,i,s,a,u,d,l,c)=>{let p=o.format===\"NHWC\",f=t.type.value,m=C(\"output\",t.type.tensor,r);if(o.kernelShape.length<=2){let h=\"\",b=\"\",y=\"\",g=n-(p?2:1);if(l?h=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;\n if (xIndices[${g}] < 0 || xIndices[${g}]\n >= uniforms.x_shape[${g}]) {\n pad++;\n continue;\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`:h=`\n for (var i: u32 = 0u; i < uniforms.kw; i++) {\n xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`,o.kernelShape.length===2){let w=n-(p?3:2);c?b=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${w}] = indices[${w}] * uniforms.sh - uniforms.phStart + j;\n if (xIndices[${w}] < 0 || xIndices[${w}] >= uniforms.x_shape[${w}]) {\n pad += i32(uniforms.kw);\n continue;\n }\n `:b=`\n for (var j: u32 = 0u; j < uniforms.kh; j++) {\n xIndices[${w}] = indices[${w}] * uniforms.sh - uniforms.phStart + j;\n `,y=`\n }\n `}return`\n ${e.registerUniforms(u).declareVariables(t,m)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n\n let indices = ${m.offsetToIndices(\"global_idx\")};\n var xIndices = ${m.offsetToIndices(\"global_idx\")};\n\n var value = ${f}(${a});\n var pad = 0;\n ${b}\n ${h}\n ${y}\n ${s}\n\n output[global_idx] = value;\n }`}else{if(p)throw new Error(\"Pooling with kernelShape.length > 2 is not supported for NHWC format.\");let h=o.kernelShape.length,b=o.pads.length,y=\"\";return d?y=`\n if (xIndices[j] >= uniforms.x_shape[j]) {\n pad++;\n isPad = true;\n break;\n }\n }\n if (!isPad) {\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n }`:y=`\n }\n let x_val = x[${t.indicesToOffset(\"xIndices\")}];\n ${i}\n `,`\n ${e.registerUniforms(u).declareVariables(t,m)}\n\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let indices = ${m.offsetToIndices(\"global_idx\")};\n var xIndices = ${m.offsetToIndices(\"global_idx\")};\n\n var offsets: array<u32, ${h}>;\n\n var value = ${f}(${a});\n var pad = 0;\n var isPad = false;\n\n for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {\n var offset = i;\n for (var j = 0u; j < ${h-1}u; j++) {\n offsets[j] = offset / ${B(\"uniforms.kernelStrides\",\"j\",h)};\n offset -= offsets[j] * ${B(\"uniforms.kernelStrides\",\"j\",h)};\n }\n offsets[${h-1}] = offset;\n\n isPad = false;\n for (var j = ${n-h}u; j < ${n}u; j++) {\n xIndices[j] = indices[j] * ${B(\"uniforms.strides\",`j - ${n-h}u`,h)}\n + offsets[j - ${n-h}u] - ${B(\"uniforms.pads\",\"j - 2u\",b)};\n ${y}\n }\n ${s}\n\n output[global_idx] = value;\n }`}},Ha=e=>`${e.format};${e.ceilMode};${e.autoPad};${e.kernelShape.length}`,qc=e=>`${Ha(e)};${e.countIncludePad}`,Kc=e=>`${Ha(e)};${e.storageOrder};${e.dilations}`,Fa=e=>({format:e.format,autoPad:[\"NOTSET\",\"VALID\",\"SAME_UPPER\",\"SAME_LOWER\"][e.auto_pad],ceilMode:e.ceil_mode,kernelShape:e.kernel_shape,strides:e.strides,pads:e.pads}),qa=(e,t,n,r)=>{let[o,i]=Na(t,r,n),s=S(\"x\",t.dataType,t.dims.length),a=s.type.value,u=\"value += x_val;\",d=\"\";o.countIncludePad?d+=`value /= ${a}(uniforms.kernelSize);`:d+=`value /= ${a}(i32(uniforms.kernelSize) - pad);`;let[l,c,p,f,m]=Wa(i,o);l.push(...P(t.dims,i));let h=[\"rank\"];return{name:e,shaderCache:{hint:`${r.cacheKey};${p};${f};${m}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:i,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(x.size(i)/64)},programUniforms:l}),getShaderSource:b=>Ga(b,s,t.dims.length,i.length,o,u,d,0,c,p,f,m)}},Ka=e=>{let t=e.count_include_pad!==0,n=Fa(e);if(n.ceilMode!==0)throw new Error(\"ceil_mode output-shape is computed, but ceil_mode kernel execution (padding/divisor) is not yet implemented in the WebGPU AveragePool kernel\");let r={countIncludePad:t,...n,cacheKey:\"\"};return{...r,cacheKey:qc(r)}},ja=(e,t)=>{gn(e.inputs),e.compute(qa(\"AveragePool\",e.inputs[0],!1,t))},Za={autoPad:\"\",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},Qa=e=>{let t=e.format;return{format:t,...Za,cacheKey:t}},Xa=(e,t)=>{gn(e.inputs),e.compute(qa(\"GlobalAveragePool\",e.inputs[0],!0,t))},Ya=(e,t,n,r)=>{let[o,i]=Na(t,r,n),s=`\n value = max(x_val, value);\n `,a=\"\",u=S(\"x\",t.dataType,t.dims.length),d=[\"rank\"],[l,c,p,f,m]=Wa(i,o);return l.push(...P(t.dims,i)),{name:e,shaderCache:{hint:`${r.cacheKey};${p};${f};${m}`,inputDependencies:d},getRunData:()=>({outputs:[{dims:i,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(x.size(i)/64)},programUniforms:l}),getShaderSource:h=>Ga(h,u,t.dims.length,i.length,o,s,a,t.dataType===10?-65504:-1e5,c,p,f,m)}},Ja=(e,t)=>{gn(e.inputs),e.compute(Ya(\"MaxPool\",e.inputs[0],!1,t))},eu=e=>{let t=e.storage_order,n=e.dilations,r=Fa(e);if(t!==0)throw new Error(\"column major storage order is not yet supported for MaxPool\");if(r.ceilMode!==0)throw new Error(\"ceil_mode output-shape is computed, but ceil_mode kernel execution (padding) is not yet implemented in the WebGPU MaxPool kernel\");let o={storageOrder:t,dilations:n,...r,cacheKey:\"\"};return{...o,cacheKey:Kc(o)}},tu=e=>{let t=e.format;return{format:t,...Za,cacheKey:t}},nu=(e,t)=>{gn(e.inputs),e.compute(Ya(\"GlobalMaxPool\",e.inputs[0],!0,t))}});var Zc,Qc,ou,iu,su=k(()=>{\"use strict\";L();H();ue();q();Zc=(e,t)=>{if(e.length<2||e.length>3)throw new Error(\"DequantizeLinear requires 2 or 3 inputs.\");if(e.length===3&&e[1].dims===e[2].dims)throw new Error(\"x-scale and x-zero-point must have the same shape.\");if(e.length===3&&e[0].dataType!==e[2].dataType)throw new Error(\"x and x-zero-point must have the same data type.\");if(e[1].dims.length!==0&&e[1].dims.length!==1&&e[1].dims.length!==e[0].dims.length)throw new Error(\"scale input must be a scalar, a 1D tensor, or have the same rank as the input tensor.\");if(e.length>2){if(e[0].dataType!==e[2].dataType)throw new Error(\"x and x-zero-point must have the same data type.\");if(e[1].dims.length!==e[2].dims.length)throw new Error(\"scale and zero-point inputs must have the same rank.\");if(!e[1].dims.map((n,r)=>n===e[2].dims[r]).reduce((n,r)=>n&&r,!0))throw new Error(\"scale and zero-point inputs must have the same shape.\")}if(t.blockSize>0){if(e[1].dims.length===0||e[1].dims.length===1&&e[1].dims[0]===1)throw new Error(\"blockSize must be set only for block quantization.\");if(!e[1].dims.map((o,i)=>i===t.axis||o===e[0].dims[i]).reduce((o,i)=>o&&i,!0))throw new Error(\"For block qunatization, scale input shape to match the input shape except for the axis\");if(e[1].dims.length!==e[0].dims.length)throw new Error(\"For block qunatization the scale input rank must be the same as the x rank.\");let n=e[0].dims[t.axis],r=e[1].dims[t.axis];if(t.blockSize<Math.ceil(n/r)||t.blockSize>Math.ceil(n/(r-1)-1))throw new Error(\"blockSize must be with in the range [ceil(dI / Si), ceil(dI / (Si - 1) - 1)].\")}},Qc=(e,t)=>{let n=x.normalizeAxis(t.axis,e[0].dims.length),r=e[0].dataType,o=r===3,i=e[0].dims,s=e[1].dataType,a=x.size(i),u=r===3||r===2,d=u?[Math.ceil(x.size(e[0].dims)/4)]:e[0].dims,l=e[1].dims,c=e.length>2?e[2]:void 0,p=c?u?[Math.ceil(x.size(c.dims)/4)]:c.dims:void 0,f=l.length===0||l.length===1&&l[0]===1,m=f===!1&&l.length===1,h=J(a),b=f&&(!u||h===4),y=b?h:1,g=b&&!u?h:1,_=S(\"input\",u?12:r,d.length,g),w=S(\"scale\",s,l.length),$=c?S(\"zero_point\",u?12:r,p.length):void 0,v=C(\"output\",s,i.length,y),T=[_,w];$&&T.push($);let I=[d,l];c&&I.push(p);let E=[{type:12,data:a/y},{type:12,data:n},{type:12,data:t.blockSize},...P(...I,i)],z=M=>{let O=[{name:\"output_size\",type:\"u32\"},{name:\"axis\",type:\"u32\"},{name:\"block_size\",type:\"u32\"}];return`\n ${M.registerUniforms(O).declareVariables(...T,v)}\n ${M.mainStart()}\n ${M.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let output_indices = ${v.offsetToIndices(\"global_idx\")};\n\n // Set input x\n ${u?`\n let input = ${_.getByOffset(\"global_idx / 4\")};\n let x_vec = ${o?\"unpack4xI8(input)\":\"unpack4xU8(input)\"};\n let x_value = ${y===1?\"x_vec[global_idx % 4]\":\"x_vec\"};`:`let x_value = ${_.getByOffset(\"global_idx\")};`};\n\n // Set scale input\n ${f?`let scale_value= ${w.getByOffset(\"0\")}`:m?`\n let scale_index = ${v.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let scale_value= ${w.getByOffset(\"scale_index\")};`:`\n var scale_indices: ${w.type.indices} = output_indices;\n let index = ${w.indicesGet(\"scale_indices\",\"uniforms.axis\")} / uniforms.block_size;\n ${w.indicesSet(\"scale_indices\",\"uniforms.axis\",\"index\")};\n let scale_value= ${w.getByIndices(\"scale_indices\")};`};\n\n // Set zero-point input\n ${$?f?u?`\n let zero_point_input = ${$.getByOffset(\"0\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value= zero_point_vec[0]`:`let zero_point_value = ${$.getByOffset(\"0\")}`:m?u?`\n let zero_point_index = ${v.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let zero_point_input = ${$.getByOffset(\"zero_point_index / 4\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value = zero_point_vec[zero_point_index % 4]`:`\n let zero_point_index = ${v.indicesGet(\"output_indices\",\"uniforms.axis\")};\n let zero_point_value = ${$.getByOffset(\"zero_point_index\")};`:u?`\n let zero_point_offset = ${w.indicesToOffset(\"scale_indices\")};\n let zero_point_input = ${$.getByOffset(\"zero_point_offset / 4\")};\n let zero_point_vec = ${o?\"unpack4xI8(zero_point_input)\":\"unpack4xU8(zero_point_input)\"};\n let zero_point_value = zero_point_vec[zero_point_offset % 4];`:`let zero_point_value = ${$.getByIndices(\"scale_indices\")};`:`let zero_point_value = ${u?o?\"i32\":\"u32\":_.type.value}(0);`};\n // Compute and write output\n ${v.setByOffset(\"global_idx\",`${v.type.value}(x_value - zero_point_value) * scale_value`)};\n }`};return{name:\"DequantizeLinear\",shaderCache:{hint:t.cacheKey,inputDependencies:$?[\"rank\",\"rank\",\"rank\"]:[\"rank\",\"rank\"]},getShaderSource:z,getRunData:()=>({outputs:[{dims:i,dataType:s}],dispatchGroup:{x:Math.ceil(a/y/64),y:1,z:1},programUniforms:E})}},ou=(e,t)=>{Zc(e.inputs,t),e.compute(Qc(e.inputs,t))},iu=e=>V({axis:e.axis,blockSize:e.blockSize})});var Xc,Yc,au,uu=k(()=>{\"use strict\";we();L();q();Xc=(e,t,n)=>{let r=e===t,o=e<t&&n<0,i=e>t&&n>0;if(r||o||i)throw new Error(\"Range these inputs' contents are invalid.\")},Yc=(e,t,n,r)=>{let o=Math.abs(Math.ceil((t-e)/n)),i=[o],s=o,a=[{type:12,data:s},{type:r,data:e},{type:r,data:n},...P(i)],u=d=>{let l=C(\"output\",r,i.length),c=l.type.value,p=[{name:\"outputSize\",type:\"u32\"},{name:\"start\",type:c},{name:\"delta\",type:c}];return`\n ${d.registerUniforms(p).declareVariables(l)}\n ${d.mainStart()}\n ${d.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n output[global_idx] = uniforms.start + ${c}(global_idx) * uniforms.delta;\n }`};return{name:\"Range\",shaderCache:{hint:`${r}`},getShaderSource:u,getRunData:()=>({outputs:[{dims:i,dataType:r}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:a})}},au=e=>{let t=0,n=0,r=0;e.inputs[0].dataType===6?(t=e.inputs[0].getInt32Array()[0],n=e.inputs[1].getInt32Array()[0],r=e.inputs[2].getInt32Array()[0]):e.inputs[0].dataType===1&&(t=e.inputs[0].getFloat32Array()[0],n=e.inputs[1].getFloat32Array()[0],r=e.inputs[2].getFloat32Array()[0]),ne.webgpu.validateInputContent&&Xc(t,n,r),e.compute(Yc(t,n,r,e.inputs[0].dataType),{inputs:[]})}});var Jc,ep,du,lu,cu=k(()=>{\"use strict\";L();H();ue();q();Jc=(e,t,n,r)=>{if(e!==\"none\"&&r!==\"i32\"&&r!==\"u32\"&&r!==\"f32\")throw new Error(`Input ${r} is not supported with reduction ${e}.`);let o=`{\n var oldValue = 0;\n loop {\n let newValueF32 =`,i=`;\n let newValue = bitcast<i32>(newValueF32);\n let res = atomicCompareExchangeWeak(&${t}, oldValue, newValue);\n if res.exchanged {\n break;\n }\n oldValue = res.old_value;\n }\n }`;switch(e){case\"none\":return`${t}=${n};`;case\"add\":return r===\"i32\"||r===\"u32\"?`atomicAdd(&${t}, bitcast<${r}>(${n}));`:`\n ${o}bitcast<${r}>(oldValue) + (${n})${i}`;case\"max\":return r===\"i32\"||r===\"u32\"?`atomicMax(&${t}, bitcast<${r}>(${n}));`:`\n ${o}max(bitcast<f32>(oldValue), (${n}))${i}`;case\"min\":return r===\"i32\"||r===\"u32\"?`atomicMin(&${t}, bitcast<${r}>(${n}));`:`${o}min(bitcast<${r}>(oldValue), (${n}))${i}`;case\"mul\":return`${o}(bitcast<${r}>(oldValue) * (${n}))${i}`;default:throw new Error(`Reduction ${e} is not supported.`)}},ep=(e,t)=>{let n=e[0].dims,r=e[1].dims,o=n,i=1,s=Math.ceil(x.sizeToDimension(r,r.length-1)/i),a=r[r.length-1],u=x.sizeFromDimension(n,a),d=[{type:12,data:s},{type:12,data:a},{type:12,data:u},...P(e[1].dims,e[2].dims,o)],l=c=>{let p=S(\"indices\",e[1].dataType,e[1].dims.length),f=S(\"updates\",e[2].dataType,e[2].dims.length,i),m=t.reduction!==\"none\"&&t.reduction!==\"\"?Ao(\"output\",e[0].dataType,o.length):C(\"output\",e[0].dataType,o.length,i);return`\n ${c.registerUniform(\"output_size\",\"u32\").registerUniform(\"last_index_dimension\",\"u32\").registerUniform(\"num_updates_elements\",\"u32\").declareVariables(p,f,m)}\n ${c.mainStart()}\n ${c.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n var data_offset = 0u;\n let indices_start = uniforms.last_index_dimension * global_idx;\n let indices_end = indices_start + uniforms.last_index_dimension;\n for (var i = indices_start; i < indices_end; i++) {\n var index = i32(indices[i].x);\n ${e[0].dims.length===1?`\n let element_count_dim = uniforms.output_strides;\n let dim_value = uniforms.output_shape;`:`\n let element_count_dim = uniforms.output_strides[i - indices_start];\n let dim_value = uniforms.output_shape[i - indices_start];`}\n if (index >= 0) {\n if (index >= i32(dim_value)) {\n index = i32(dim_value - 1);\n }\n } else {\n if (index < -i32(dim_value)) {\n index = 0;\n } else {\n index += i32(dim_value);\n }\n }\n data_offset += u32((u32(index) * element_count_dim));\n }\n\n for (var i = 0u; i < uniforms.num_updates_elements; i++) {\n let value = updates[uniforms.num_updates_elements * global_idx + i];\n ${Jc(t.reduction,\"output[data_offset + i]\",\"value\",m.type.value)}\n }\n\n }`};return{name:\"ScatterND\",shaderCache:{hint:`${t.cacheKey}_${t.reduction}`,inputDependencies:[\"rank\",\"rank\"]},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:d}),getShaderSource:l}},du=e=>V({reduction:e.reduction}),lu=(e,t)=>{e.compute(ep(e.inputs,t),{inputs:[e.inputs[1],e.inputs[2]],outputs:[]})}});var tp,np,rp,pu,op,ip,sp,ap,up,dp,lp,cp,mu,pp,mp,fp,hp,gp,fu,hu,gu=k(()=>{\"use strict\";L();H();ue();q();tp=(e,t)=>{if(e.every(n=>n>0||(()=>{throw new Error(\"Resize requires scales input values to be positive\")})),e.length>0){if(t.mode===\"linear\"){if(!(e.length===2||e.length===3||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1||e.length===5&&e[0]===1&&e[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and\n one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(t.mode===\"cubic\"&&!(e.length===2||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1))throw new Error(\"Resize requires scales input size to be 2 or 4 for cubic mode\")}},np=(e,t,n)=>{t.every(o=>o>=0&&o<n||(()=>{throw new Error(\"Resize requires axes input values to be positive and less than rank\")}));let r=new Array(n).fill(1);return t.forEach((o,i)=>r[o]=e[i]),r},rp=(e,t,n,r,o,i)=>{let[s,a,u]=n>10?[1,2,3]:[-1,e.length>1?1:-1,-1],d=e[0].dims.length;if(s>0&&e.length>s&&e[s].dims.length>0)e[s].getFloat32Array().forEach(l=>i.push(l));else if(t.coordinateTransformMode===\"tf_crop_and_resize\")throw new Error(\"Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize\");if(a>0&&e.length>a&&e[a].dims.length===1&&e[a].dims[0]>0){if(e[a].getFloat32Array().forEach(l=>r.push(l)),r.length!==0&&r.length!==d&&n>=18&&r.length!==t.axes.length)throw new Error(\"Resize requires scales input size to be same as input rank or axes size for opset 18 and up\");tp(r,t),t.axes.length>0&&np(r,t.axes,d).forEach((l,c)=>r[c]=l)}if(u>0&&e.length>u&&e[u].dims.length===1&&e[u].dims[0]>0&&(e[u].getBigInt64Array().forEach(l=>o.push(Number(l))),o.length!==0&&o.length!==d&&n>=18&&o.length!==t.axes.length))throw new Error(\"Resize requires sizes input size to be same as input rank or axes size for opset 18 and up\");if(t.axes.length>0){if(r.length!==0&&r.length!==t.axes.length)throw new Error('Resize requires \"scales\" input size to be of axes rank when axes attributes is specified');if(o.length!==0&&o.length!==t.axes.length)throw new Error('Resize requires \"sizes\" input size to be of rank axes rank when axes attributes is specified')}if(typeof r<\"u\"&&typeof o<\"u\"&&r.length>0&&o.length>d)throw new Error(\"Resize requires only of scales or sizes to be specified\")},pu=(e,t,n,r)=>`\n // The whole part and the fractional part are calculated separately due to inaccuracy of floating\n // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an\n // offset-by-one error later in floor().\n let big = (${e}) * (${t});\n let whole = ${r}(big / (${n}));\n let fract = ${r}(big % (${n})) / ${r}(${n});\n return whole + fract;\n`,op=(e,t)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,\n lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${t} { `+(()=>{switch(e){case\"asymmetric\":return`\n if (xScale < 1.0 || floor(xScale) != xScale) {\n return ${t}(xResized) / ${t}(xScale);\n } else {\n ${pu(\"xResized\",\"lengthOriginal\",\"lengthResized\",t)}\n }\n `;case\"pytorch_half_pixel\":return`if (lengthResized > 1) {\n return (${t}(xResized) + 0.5) / ${t}(xScale) - 0.5;\n } else {\n return 0.0;\n }`;case\"tf_half_pixel_for_nn\":return`return (${t}(xResized) + 0.5) / ${t}(xScale);`;case\"align_corners\":return`if (lengthResized == 1) {\n return 0.0;\n } else {\n ${pu(\"xResized\",\"lengthOriginal - 1\",\"lengthResized - 1\",t)}\n }`;case\"tf_crop_and_resize\":return`if (lengthResized > 1) {\n return ${t}(roiStart) * ${t}(lengthOriginal - 1) +\n (${t}(xResized) * ${t}(roiEnd - roiStart) * ${t}(lengthOriginal - 1)) /\n ${t}(lengthResized - 1);\n } else {\n return 0.5 * ${t}(roiStart + roiEnd) * ${t}(lengthOriginal - 1);\n }`;case\"half_pixel_symmetric\":return`const outputWidth = ${t}xScale * ${t}(lengthResized);\n const adjustment = ${t}(lengthResized) / outputWidth;\n const center = ${t}(lengthOriginal) / 2;\n const offset = center * (1 - adjustment);\n return offset + ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;case\"half_pixel\":return`return ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${e} is not supported`)}})()+\"}\",ip=(e,t,n)=>`fn getNearestPixelFromOriginal(xOriginal: ${n}, isDownSample: bool) -> ${n} {`+(()=>{switch(e){case\"round_prefer_ceil\":return\"if (fract(xOriginal) == 0.5) { return ceil(xOriginal); } else { return round(xOriginal); }\";case\"floor\":return\"return floor(xOriginal);\";case\"ceil\":return\"return ceil(xOriginal);\";case\"round_prefer_floor\":return\"if (fract(xOriginal) == 0.5) { return floor(xOriginal); } else { return round(xOriginal); }\";default:if(t<11)return\"if (isDownSample) { return ceil(xOriginal); } else { return xOriginal; }\";throw new Error(`Nearest mode ${e} is not supported`)}})()+\"}\",sp=(e,t,n)=>{let r=new Array(n).fill(0).concat(new Array(n).fill(1)),o=e.length===0?r:e.slice();return t.length>0?(t.forEach((i,s)=>{r[i]=o[s],r[s+n]=o[t.length+s]}),r):o},ap=(e,t,n,r)=>{let o=[];if(n.length>0)if(r.length>0){if(e.forEach(i=>o.push(i)),Math.max(...r)>e.length)throw new Error(\"axes is out of bound\");r.forEach((i,s)=>o[i]=n[s])}else n.forEach(i=>o.push(i));else{if(t.length===0)throw new Error(\"Resize requires either scales or sizes.\");o=e.map((i,s)=>Math.round(i*t[s]))}return o},up=(e,t,n)=>{let r=(()=>{switch(n.keepAspectRatioPolicy){case\"not_larger\":return n.axes.length>0?Math.min(...n.axes.map(i=>t[i]),Number.MAX_VALUE):Math.min(...t,Number.MAX_VALUE);case\"not_smaller\":return n.axes.length>0?Math.max(...n.axes.map(i=>t[i]),Number.MIN_VALUE):Math.max(...t,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${n.keepAspectRatioPolicy} is not supported`)}})();t.fill(1,0,t.length);let o=e.slice();return n.axes.length>0?(n.axes.forEach(i=>t[i]=r),n.axes.forEach(i=>o[i]=Math.round(e[i]*t[i]))):(t.fill(r,0,t.length),o.forEach((i,s)=>o[s]=Math.round(i*t[s]))),o},dp=(e,t,n,r,o)=>`\n fn calculateOriginalIndicesFromOutputIndices(output_indices: ${e.type.indices}) -> array<${e.type.value}, ${n.length}> {\n var original_indices: array<${e.type.value}, ${n.length}>;\n for (var i:u32 = 0; i < ${n.length}; i++) {\n var output_index = ${e.indicesGet(\"output_indices\",\"i\")};\n var scale = ${B(\"uniforms.scales\",\"i\",r)};\n var roi_low = ${B(\"uniforms.roi\",\"i\",o)};\n var roi_hi = ${B(\"uniforms.roi\",`i + ${t.length}`,o)};\n if (scale == 1.0) {\n original_indices[i] = ${e.type.value}(output_index);\n } else {\n var input_shape_i = ${B(\"uniforms.input_shape\",\"i\",t.length)};\n var output_shape_i = ${B(\"uniforms.output_shape\",\"i\",n.length)};\n original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n }\n }\n return original_indices;\n }`,lp=(e,t,n,r,o,i,s)=>`\n fn calculateInputIndicesFromOutputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n for (var i:u32 = 0; i < ${r.length}; i++) {\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index: u32;\n var scale = ${B(\"uniforms.scales\",\"i\",o)};\n if (scale == 1.0) {\n input_index = output_index;\n } else {\n var roi_low = ${B(\"uniforms.roi\",\"i\",i)};\n var roi_hi = ${B(\"uniforms.roi\",`i + ${n.length}`,i)};\n var input_shape_i = ${B(\"uniforms.input_shape\",\"i\",n.length)};\n var output_shape_i = ${B(\"uniforms.output_shape\",\"i\",r.length)};\n var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n input_shape_i, roi_low, roi_hi);\n if (!${s} || (original_idx >= 0 && original_idx < ${t.type.value}(input_shape_i))) {\n if (original_idx < 0) {\n input_index = 0;\n } else if (original_idx > ${t.type.value}(input_shape_i - 1)) {\n input_index = input_shape_i - 1;\n } else {\n input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));\n }\n } else {\n input_index = u32(original_idx);\n }\n }\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")}\n }\n return input_indices;\n }`,cp=(e,t)=>`\n fn checkInputIndices(input_indices: ${e.type.indices}) -> bool {\n for (var i:u32 = 0; i < ${t.length}; i++) {\n var input_index = ${e.indicesGet(\"input_indices\",\"i\")};\n if (input_index < 0 || input_index >= ${B(\"uniforms.input_shape\",\"i\",t.length)}) {\n return false;\n }\n }\n return true;\n }`,mu=(e,t,n,r)=>e.rank>r?`\n ${e.indicesSet(\"input_indices\",t,\"channel\")};\n ${e.indicesSet(\"input_indices\",n,\"batch\")};\n`:\"\",pp=(e,t,n,r,o)=>{let[s,a,u,d]=n.length===2?[-1,0,1,-1]:[0,2,3,1],l=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${l} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",a,`max(0, min(row, ${n[a]} - 1))`)};\n ${e.indicesSet(\"input_indices\",u,`max(0, min(col, ${n[u]} - 1))`)};\n ${mu(e,d,s,2)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn bilinearInterpolation(output_indices: ${t.type.indices}) -> ${l} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var row:${l} = originalIndices[${a}];\n var col:${l} = originalIndices[${u}];\n ${r?`if (row < 0 || row > (${n[a]} - 1) || col < 0 || col > (${n[u]} - 1)) {\n return ${o};\n }`:\"\"};\n row = max(0, min(row, ${n[a]} - 1));\n col = max(0, min(col, ${n[u]} - 1));\n var row1: u32 = u32(row);\n var col1: u32 = u32(col);\n var row2: u32 = u32(row + 1);\n var col2: u32 = u32(col + 1);\n var channel: u32 = ${n.length>2?`u32(originalIndices[${d}])`:\"0\"};\n var batch: u32 = ${n.length>2?`u32(originalIndices[${s}])`:\"0\"};\n var x11: ${l} = getInputValue(batch, channel, row1, col1);\n var x12: ${l} = getInputValue(batch, channel, row1, col2);\n var x21: ${l} = getInputValue(batch, channel, row2, col1);\n var x22: ${l} = getInputValue(batch, channel, row2, col2);\n var dx1: ${l} = abs(row - ${l}(row1));\n var dx2: ${l} = abs(${l}(row2) - row);\n var dy1: ${l} = abs(col - ${l}(col1));\n var dy2: ${l} = abs(${l}(col2) - col);\n if (row1 == row2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (col1 == col2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);\n }`},mp=(e,t,n,r,o,i,s,a,u,d)=>{let l=n.length===2,c=!0,[p,f]=l?[0,1]:c?[2,3]:[1,2],m=e.type.value,h=b=>{let y=b===p?\"row\":\"col\";return`\n fn ${y}CubicInterpolation(input_indices: ${e.type.indices}, output_indices: ${t.type.indices}) -> ${m} {\n var output_index = ${t.indicesGet(\"output_indices\",b)};\n var originalIdx: ${m} = getOriginalCoordinateFromResizedCoordinate(output_index, ${o[b]},\n ${r[b]}, ${n[b]}, ${i[b]}, ${i[b]} + ${n.length});\n var fractOriginalIdx: ${m} = originalIdx - floor(originalIdx);\n var coefs = getCubicInterpolationCoefs(fractOriginalIdx);\n\n if (${a} && (originalIdx < 0 || originalIdx > (${n[b]} - 1))) {\n return ${u};\n }\n var data: array<${m}, 4> = array<${m}, 4>(0.0, 0.0, 0.0, 0.0);\n for (var i: i32 = -1; i < 3; i++) {\n var ${y}: ${m} = originalIdx + ${m}(i);\n if (${y} < 0 || ${y} >= ${n[b]}) {\n ${d?`coefs[i + 1] = 0.0;\n continue;`:a?`return ${u};`:`${y} = max(0, min(${y}, ${n[b]} - 1));`};\n }\n var input_indices_copy: ${e.type.indices} = input_indices;\n ${e.indicesSet(\"input_indices_copy\",b,`u32(${y})`)};\n data[i + 1] = ${b===p?e.getByIndices(\"input_indices_copy\"):\"rowCubicInterpolation(input_indices_copy, output_indices)\"};\n }\n return cubicInterpolation1D(data, coefs);\n }`};return`\n ${h(p)};\n ${h(f)};\n fn getCubicInterpolationCoefs(s: ${m}) -> array<${m}, 4> {\n var absS = abs(s);\n var coeffs: array<${m}, 4> = array<${m}, 4>(0.0, 0.0, 0.0, 0.0);\n var oneMinusAbsS: ${m} = 1.0 - absS;\n var twoMinusAbsS: ${m} = 2.0 - absS;\n var onePlusAbsS: ${m} = 1.0 + absS;\n coeffs[0] = ((${s} * onePlusAbsS - 5 * ${s}) * onePlusAbsS + 8 * ${s}) * onePlusAbsS - 4 * ${s};\n coeffs[1] = ((${s} + 2) * absS - (${s} + 3)) * absS * absS + 1;\n coeffs[2] = ((${s} + 2) * oneMinusAbsS - (${s} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;\n coeffs[3] = ((${s} * twoMinusAbsS - 5 * ${s}) * twoMinusAbsS + 8 * ${s}) * twoMinusAbsS - 4 * ${s};\n return coeffs;\n }\n\n fn cubicInterpolation1D(x: array<${m}, 4>, coefs: array<${m}, 4>) -> ${m} {\n var coefsSum: ${m} = coefs[0] + coefs[1] + coefs[2] + coefs[3];\n return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;\n }\n\n fn bicubicInterpolation(output_indices: ${t.type.indices}) -> ${m} {\n var input_indices: ${e.type.indices} = output_indices;\n return colCubicInterpolation(input_indices, output_indices);\n }\n `},fp=(e,t,n,r,o)=>{let[s,a,u,d,l]=n.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],c=e.type.value;return`\n fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${c} {\n var input_indices: ${e.type.indices};\n ${e.indicesSet(\"input_indices\",a,`max(0, min(depth, ${n[a]} - 1))`)};\n ${e.indicesSet(\"input_indices\",u,`max(0, min(height, ${n[u]} - 1))`)};\n ${e.indicesSet(\"input_indices\",d,`max(0, min(width, ${n[d]} - 1))`)};\n ${mu(e,l,s,3)}\n return ${e.getByIndices(\"input_indices\")};\n }\n\n fn trilinearInterpolation(output_indices: ${t.type.indices}) -> ${c} {\n var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n var depth:${c} = originalIndices[${a}];\n var height:${c} = originalIndices[${u}];\n var width:${c} = originalIndices[${d}];\n ${r?`if (depth < 0 || depth > (${n[a]} - 1) || height < 0 || height > (${n[u]} - 1) || width < 0 || (width > ${n[d]} - 1)) {\n return ${o};\n }`:\"\"};\n\n depth = max(0, min(depth, ${n[a]} - 1));\n height = max(0, min(height, ${n[u]} - 1));\n width = max(0, min(width, ${n[d]} - 1));\n var depth1: u32 = u32(depth);\n var height1: u32 = u32(height);\n var width1: u32 = u32(width);\n var depth2: u32 = u32(depth + 1);\n var height2: u32 = u32(height + 1);\n var width2: u32 = u32(width + 1);\n var channel: u32 = ${n.length>3?`u32(originalIndices[${l}])`:\"0\"};\n var batch: u32 = ${n.length>3?`u32(originalIndices[${s}])`:\"0\"};\n\n var x111: ${c} = getInputValue(batch, channel, depth1, height1, width1);\n var x112: ${c} = getInputValue(batch, channel, depth1, height1, width2);\n var x121: ${c} = getInputValue(batch, channel, depth1, height2, width1);\n var x122: ${c} = getInputValue(batch, channel, depth1, height2, width2);\n var x211: ${c} = getInputValue(batch, channel, depth2, height1, width1);\n var x212: ${c} = getInputValue(batch, channel, depth2, height1, width2);\n var x221: ${c} = getInputValue(batch, channel, depth2, height2, width1);\n var x222: ${c} = getInputValue(batch, channel, depth2, height2, width2);\n var dx1: ${c} = abs(depth - ${c}(depth1));\n var dx2: ${c} = abs(${c}(depth2) - depth);\n var dy1: ${c} = abs(height - ${c}(height1));\n var dy2: ${c} = abs(${c}(height2) - height);\n var dz1: ${c} = abs(width - ${c}(width1));\n var dz2: ${c} = abs(${c}(width2) - width);\n if (depth1 == depth2) {\n dx1 = 0.5;\n dx2 = 0.5;\n }\n if (height1 == height2) {\n dy1 = 0.5;\n dy2 = 0.5;\n }\n if (width1 == width2) {\n dz1 = 0.5;\n dz2 = 0.5;\n }\n return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +\n x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);\n }`},hp=(e,t,n,r,o,i)=>{let s=e.dims,a=sp(i,t.axes,s.length),u=ap(s,r,o,t.axes),d=r.slice();r.length===0&&(d=s.map((g,_)=>g===0?1:u[_]/g),t.keepAspectRatioPolicy!==\"stretch\"&&(u=up(s,d,t)));let l=C(\"output\",e.dataType,u.length),c=S(\"input\",e.dataType,s.length),p=x.size(u),f=s.length===u.length&&s.every((g,_)=>g===u[_]),m=t.coordinateTransformMode===\"tf_crop_and_resize\",h=t.extrapolationValue,b=c.type.value,y=g=>`\n ${f?\"\":`\n ${op(t.coordinateTransformMode,b)};\n ${(()=>{switch(t.mode){case\"nearest\":return`\n ${cp(c,s)};\n ${ip(t.nearestMode,n,b)};\n ${lp(c,l,s,u,d.length,a.length,m)};\n `;case\"linear\":return`\n ${dp(l,s,u,d.length,a.length)};\n ${(()=>{if(s.length===2||s.length===4)return`${pp(c,l,s,m,h)}`;if(s.length===3||s.length===5)return`${fp(c,l,s,m,h)}`;throw Error(\"Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.\")})()};\n `;case\"cubic\":return`\n ${(()=>{if(s.length===2||s.length===4)return`${mp(c,l,s,u,d,a,t.cubicCoeffA,m,t.extrapolationValue,t.excludeOutside)}`;throw Error(\"Cubic mode only supports input dims 2 and 4 are supported in linear mode.\")})()};\n `;default:throw Error(\"Invalid resize mode\")}})()};\n `}\n ${g.registerUniform(\"output_size\",\"u32\").registerUniform(\"scales\",\"f32\",d.length).registerUniform(\"roi\",\"f32\",a.length).declareVariables(c,l)}\n ${g.mainStart()}\n ${g.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n ${f?\"output[global_idx] = input[global_idx];\":`\n let output_indices = ${l.offsetToIndices(\"global_idx\")};\n var input_indices: ${c.type.indices};\n ${(()=>{switch(t.mode){case\"nearest\":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);\n if (checkInputIndices(input_indices)) {\n output[global_idx] = ${c.getByIndices(\"input_indices\")};\n } else {\n output[global_idx] = ${t.extrapolationValue};\n }`;case\"linear\":return`output[global_idx] = ${s.length===2||s.length===4?\"bilinearInterpolation\":\"trilinearInterpolation\"}(output_indices);`;case\"cubic\":return\"output[global_idx] = bicubicInterpolation(output_indices);\";default:throw Error(`Unsupported resize mode: ${t.mode}`)}})()};\n`}\n }`;return{name:\"Resize\",shaderCache:{hint:`${t.cacheKey}|${n}|${d.length>0?t.mode===\"cubic\"?d:d.length:\"\"}|${o.length>0?o:\"\"}|${a.length>0?a:\"\"}|${f}|${t.mode===\"nearest\"?s.length:s}`,inputDependencies:[\"rank\"]},getShaderSource:y,getRunData:()=>({outputs:[{dims:u,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:[{type:12,data:p},{type:1,data:d},{type:1,data:a},...P(s,u)]})}},gp=e=>{let t=e.customDataBuffer;return new Uint32Array(t.buffer,t.byteOffset,1)[0]},fu=(e,t)=>{let n=[],r=[],o=[],i=gp(e);if(t.antialias!==0)throw Error(\"Only default value (0) for Antialias attribute is supported\");rp(e.inputs,t,i,n,r,o),e.compute(hp(e.inputs[0],t,i,n,r,o),{inputs:[0]})},hu=e=>{let t=e.antialias,n=e.axes,r=e.coordinateTransformMode,o=e.cubicCoeffA,i=e.excludeOutside!==0,s=e.extrapolationValue,a=e.keepAspectRatioPolicy,u=e.mode,d=e.nearestMode===\"\"?\"simple\":e.nearestMode;return V({antialias:t,axes:n,coordinateTransformMode:r,cubicCoeffA:o,excludeOutside:i,extrapolationValue:s,keepAspectRatioPolicy:a,mode:u,nearestMode:d})}});var yp,bp,yu,bu=k(()=>{\"use strict\";L();H();q();yp=e=>{if(!e||e.length<3)throw new Error(\"layerNorm requires at least 3 inputs.\");let t=e[0],n=e[1],r=e[2];if(t.dataType!==n.dataType||t.dataType!==r.dataType)throw new Error(\"All inputs must have the same data type\");if(t.dims.length!==3&&t.dims.length!==2)throw new Error(\"Input must be 2D or 3D\");if(n.dims.length!==3&&n.dims.length!==2)throw new Error(\"Skip must be 2D or 3D\");let o=t.dims[t.dims.length-1],i=t.dims[t.dims.length-2];if(n.dims[n.dims.length-1]!==o)throw new Error(\"Skip must have the same hidden size as input\");if(n.dims[n.dims.length-2]!==i)throw new Error(\"Skip must have the same sequence length as input\");if(r.dims.length!==1)throw new Error(\"Gamma must be 1D\");if(r.dims[r.dims.length-1]!==o)throw new Error(\"Gamma must have the same hidden size as input\");if(e.length>3){let s=e[3];if(s.dims.length!==1)throw new Error(\"Beta must be 1D\");if(s.dims[s.dims.length-1]!==o)throw new Error(\"Beta must have the same hidden size as input\")}if(e.length>4){let s=e[4];if(s.dims.length!==1)throw new Error(\"Bias must be 1D\");if(s.dims[s.dims.length-1]!==o)throw new Error(\"Bias must have the same hidden size as input\")}},bp=(e,t,n,r)=>{let o=t.simplified,i=e[0].dims,s=x.size(i),a=i,u=s,d=i.slice(-1)[0],l=r?i.slice(0,-1).concat(1):[],c=!o&&e.length>3,p=e.length>4,f=r&&n>1,m=r&&n>2,h=n>3,b=64,y=J(d),g=[{type:12,data:u},{type:12,data:y},{type:12,data:d},{type:1,data:t.epsilon}],_=$=>{let v=[{name:\"output_size\",type:\"u32\"},{name:\"components\",type:\"u32\"},{name:\"hidden_size\",type:\"u32\"},{name:\"epsilon\",type:\"f32\"}],T=[S(\"x\",e[0].dataType,e[0].dims,y),S(\"skip\",e[1].dataType,e[1].dims,y),S(\"gamma\",e[2].dataType,e[2].dims,y)];c&&T.push(S(\"beta\",e[3].dataType,e[3].dims,y)),p&&T.push(S(\"bias\",e[4].dataType,e[4].dims,y)),T.push(C(\"output\",e[0].dataType,a,y)),f&&T.push(C(\"mean_output\",1,l)),m&&T.push(C(\"inv_std_output\",1,l)),h&&T.push(C(\"input_skip_bias_sum\",e[0].dataType,a,y));let I=re(e[0].dataType),E=re(1,y);return`\n\n ${$.registerUniforms(v).declareVariables(...T)}\n var<workgroup> sum_shared : array<${E}, ${b}>;\n var<workgroup> sum_squared_shared : array<${E}, ${b}>;\n\n ${$.mainStart([b,1,1])}\n let ix = local_id.x;\n let iy = global_id.x / ${b};\n\n let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;\n var stride = hidden_size_vectorized / ${b};\n let offset = ix * stride + iy * hidden_size_vectorized;\n let offset1d = stride * ix;\n if (ix == ${b-1}) {\n stride = hidden_size_vectorized - stride * ix;\n }\n for (var i: u32 = 0; i < stride; i++) {\n let skip_value = skip[offset + i];\n let bias_value = ${p?\"bias[offset1d + i]\":I+\"(0.0)\"};\n let input_value = x[offset + i];\n let value = input_value + skip_value + bias_value;\n ${h?\"input_skip_bias_sum[offset + i] = value;\":\"\"}\n output[offset + i] = value;\n let f32_value = ${tt(I,y,\"value\")};\n sum_shared[ix] += f32_value;\n sum_squared_shared[ix] += f32_value * f32_value;\n }\n workgroupBarrier();\n\n var reduce_size : u32 = ${b};\n for (var curr_size = reduce_size >> 1; curr_size > 0; curr_size = reduce_size >> 1) {\n reduce_size = curr_size + (reduce_size & 1);\n if (ix < curr_size) {\n sum_shared[ix] += sum_shared[ix + reduce_size];\n sum_squared_shared[ix] += sum_squared_shared[ix + reduce_size];\n }\n workgroupBarrier();\n }\n\n let sum = sum_shared[0];\n let square_sum = sum_squared_shared[0];\n let mean = ${Ie(\"sum\",y)} / f32(uniforms.hidden_size);\n let inv_std_dev = inverseSqrt(${Ie(\"square_sum\",y)} / f32(uniforms.hidden_size) ${o?\"\":\"- mean * mean\"} + uniforms.epsilon);\n ${f?\"mean_output[global_idx] = mean;\":\"\"}\n ${m?\"inv_std_output[global_idx] = inv_std_dev;\":\"\"}\n\n for (var i: u32 = 0; i < stride; i++) {\n output[offset + i] = (output[offset + i] ${o?\"\":`- ${I}(mean)`}) *\n ${I}(inv_std_dev) * gamma[offset1d + i]\n ${c?\"+ beta[offset1d + i]\":\"\"};\n }\n }`},w=[{dims:a,dataType:e[0].dataType}];return n>1&&w.push({dims:l,dataType:1}),n>2&&w.push({dims:l,dataType:1}),n>3&&w.push({dims:i,dataType:e[0].dataType}),{name:\"SkipLayerNormalization\",shaderCache:{hint:`${y};${f};${m};${h}`,inputDependencies:e.map(($,v)=>\"type\")},getShaderSource:_,getRunData:()=>({outputs:w,dispatchGroup:{x:Math.ceil(u/d)},programUniforms:g})}},yu=(e,t)=>{yp(e.inputs);let r=[0];e.outputCount>1&&r.push(-3),e.outputCount>2&&r.push(-3),e.outputCount>3&&r.push(3),e.compute(bp(e.inputs,t,e.outputCount,!1),{outputs:r})}});var _p,yn,wp,_u,$p,vp,wu,$u,vu=k(()=>{\"use strict\";L();H();ue();q();_p=(e,t)=>{if(!e||e.length<1)throw new Error(\"too few inputs\");if(t.axes.length!==0){if(t.axes.length!==t.starts.length||t.axes.length!==t.ends.length)throw new Error(\"axes, starts and ends must have the same length\")}else if(t.starts.length!==t.ends.length)throw new Error(\"starts and ends must have the same length\");e.slice(1).forEach((n,r)=>{if(e[r+1].dataType!==6&&e[r+1].dataType!==7)throw new Error(`Input ${r} must be an array of int32 or int64`)})},yn=(e,t)=>{let n=[];if(e.length>t)if(e[t].dataType===7)e[t].getBigInt64Array().forEach(r=>n.push(Number(r)));else if(e[t].dataType===6)e[t].getInt32Array().forEach(r=>n.push(Number(r)));else throw new Error(`Input ${t} must be an array of int32 or int64`);return n},wp=(e,t)=>{if(e.length>1){let n=yn(e,1),r=yn(e,2),o=yn(e,3);return o.length===0&&(o=[...Array(e[0].dims.length).keys()]),V({starts:n,ends:r,axes:o})}else return t},_u=(e,t,n,r,o)=>{let i=e;return e<0&&(i+=n[r[t]]),o[t]<0?Math.max(0,Math.min(i,n[r[t]]-1)):Math.max(0,Math.min(i,n[r[t]]))},$p=(e,t,n)=>`fn calculateInputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n var input_indices: ${e.type.indices};\n var carry = 0u;\n for (var i = ${n.length-1}; i >= 0; i--) {\n let input_shape_i = ${B(\"uniforms.input_shape\",\"i\",n.length)};\n let steps_i = ${B(\"uniforms.steps\",\"i\",n.length)};\n let signs_i = ${B(\"uniforms.signs\",\"i\",n.length)};\n let starts_i = ${B(\"uniforms.starts\",\"i\",n.length)};\n var output_index = ${t.indicesGet(\"output_indices\",\"i\")};\n var input_index = output_index * steps_i + starts_i + carry;\n carry = input_index / input_shape_i;\n input_index = input_index % input_shape_i;\n if (signs_i < 0) {\n input_index = input_shape_i - input_index - 1u + starts_i;\n }\n ${e.indicesSet(\"input_indices\",\"i\",\"input_index\")};\n }\n return input_indices;\n }`,vp=(e,t)=>{let n=e[0].dims,r=x.size(n),o=t.axes.length>0?x.normalizeAxes(t.axes,n.length):[...Array(n.length).keys()],i=yn(e,4);i.forEach(y=>y!==0||(()=>{throw new Error(\"step cannot be 0\")})),i.length===0&&(i=Array(o.length).fill(1));let s=t.starts.map((y,g)=>_u(y,g,n,o,i)),a=t.ends.map((y,g)=>_u(y,g,n,o,i));if(o.length!==s.length||o.length!==a.length)throw new Error(\"start, ends and axes should have the same number of elements\");if(o.length!==n.length)for(let y=0;y<n.length;++y)o.includes(y)||(s.splice(y,0,0),a.splice(y,0,n[y]),i.splice(y,0,1));let u=i.map(y=>Math.sign(y));i.forEach((y,g,_)=>{if(y<0){let w=(a[g]-s[g])/y,$=s[g],v=$+w*i[g];s[g]=v,a[g]=$,_[g]=-y}});let d=n.slice(0);o.forEach((y,g)=>{d[y]=Math.ceil((a[y]-s[y])/i[y])});let l={dims:d,dataType:e[0].dataType},c=C(\"output\",e[0].dataType,d.length),p=S(\"input\",e[0].dataType,e[0].dims.length),f=x.size(d),m=[{name:\"outputSize\",type:\"u32\"},{name:\"starts\",type:\"u32\",length:s.length},{name:\"signs\",type:\"i32\",length:u.length},{name:\"steps\",type:\"u32\",length:i.length}],h=[{type:12,data:f},{type:12,data:s},{type:6,data:u},{type:12,data:i},...P(e[0].dims,d)],b=y=>`\n ${y.registerUniforms(m).declareVariables(p,c)}\n ${$p(p,c,n)}\n ${y.mainStart()}\n ${y.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.outputSize\")}\n let output_indices = ${c.offsetToIndices(\"global_idx\")};\n let input_indices = calculateInputIndices(output_indices);\n ${c.setByOffset(\"global_idx\",p.getByIndices(\"input_indices\"))}\n }`;return{name:\"Slice\",shaderCache:{hint:`${u.length}_${s.length}_${i.length}`,inputDependencies:[\"rank\"]},getShaderSource:b,getRunData:()=>({outputs:[l],dispatchGroup:{x:Math.ceil(r/64)},programUniforms:h})}},wu=(e,t)=>{_p(e.inputs,t);let n=wp(e.inputs,t);e.compute(vp(e.inputs,n),{inputs:[0]})},$u=e=>{let t=e.starts,n=e.ends,r=e.axes;return V({starts:t,ends:n,axes:r})}});var xp,Sp,xu,Su,Tu=k(()=>{\"use strict\";L();H();ue();Re();q();xp=e=>{if(!e||e.length!==1)throw new Error(\"Softmax op requires 1 input.\")},Sp=(e,t)=>{let n=e.inputs[0],r=n.dims,o=x.size(r),i=r.length,s=x.normalizeAxis(t.axis,i),a=s<r.length-1,u,d=[];a?(d=Array.from({length:i},(T,I)=>I),d[s]=i-1,d[i-1]=s,u=e.compute(me(n,d),{inputs:[n],outputs:[-1]})[0]):u=n;let l=u.dims,c=l[i-1],p=o/c,f=J(c),m=c/f,h=64;p===1&&(h=256);let b=(T,I)=>I===4?`max(max(${T}.x, ${T}.y), max(${T}.z, ${T}.w))`:I===2?`max(${T}.x, ${T}.y)`:I===3?`max(max(${T}.x, ${T}.y), ${T}.z)`:T,y=S(\"x\",u.dataType,u.dims,f),g=C(\"result\",u.dataType,u.dims,f),_=y.type.value,w=re(u.dataType)===\"f32\"?`var threadMax = ${_}(-3.4028234663852886e+38f);`:`var threadMax = ${_}(-65504.0h);`,$=T=>`\n var<workgroup> rowMaxShared : ${_};\n var<workgroup> rowSumShared : ${_};\n var<workgroup> threadShared : array<${_}, ${h}>;\n\n fn getValue(row: i32, col: i32, row_stride: i32) -> ${_} {\n let index = row * row_stride + col;\n return x[index];\n }\n\n fn setValue(row: i32, col: i32, row_stride: i32, value: ${_}) {\n let index = row * row_stride + col;\n result[index] = value;\n }\n ${T.registerUniform(\"packedCols\",\"i32\").declareVariables(y,g)}\n ${T.mainStart(h)}\n let gindex = i32(global_idx);\n let lindex = i32(local_idx);\n const wg = ${h};\n let row = gindex / wg;\n let cols = uniforms.packedCols;\n let row_stride : i32 = uniforms.packedCols;\n\n // find the rows max\n ${w}\n for (var col = lindex; col < cols; col += wg) {\n let value = getValue(row, col, row_stride);\n threadMax = max(threadMax, value);\n }\n if (lindex < cols) {\n threadShared[lindex] = threadMax;\n }\n workgroupBarrier();\n\n var reduceSize = min(cols, wg);\n for (var currSize = reduceSize >> 1; currSize > 0; currSize = reduceSize >> 1) {\n reduceSize = currSize + (reduceSize & 1);\n if (lindex < currSize) {\n threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowMaxShared = ${_}(${b(\"threadShared[0]\",f)});\n }\n workgroupBarrier();\n\n // find the rows sum\n var threadSum = ${_}(0.0);\n for (var col = lindex; col < cols; col += wg) {\n let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);\n threadSum += subExp;\n }\n threadShared[lindex] = threadSum;\n workgroupBarrier();\n\n for (var currSize = wg >> 1; currSize > 0; currSize = currSize >> 1) {\n if (lindex < currSize) {\n threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];\n }\n workgroupBarrier();\n }\n if (lindex == 0) {\n rowSumShared = ${_}(${Ie(\"threadShared[0]\",f)});\n }\n workgroupBarrier();\n\n // calculate final value for each element in the row\n for (var col = lindex; col < cols; col += wg) {\n var value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;\n // max operation protects against NaN since all values should be >=0\n value = max(value, ${_}(0.0));\n setValue(row, col, row_stride, value);\n }\n }`,v=e.compute({name:\"Softmax\",shaderCache:{hint:`${f};${h}`,inputDependencies:[\"type\"]},getRunData:()=>({outputs:[{dims:l,dataType:u.dataType}],dispatchGroup:{x:p},programUniforms:[{type:6,data:m}]}),getShaderSource:$},{inputs:[u],outputs:[a?-1:0]})[0];a&&e.compute(me(v,d),{inputs:[v]})},xu=(e,t)=>{xp(e.inputs),Sp(e,t)},Su=e=>V({axis:e.axis})});var Iu,Tp,Ip,Cp,Cu,Au=k(()=>{\"use strict\";L();H();q();Iu=e=>Array.from(e.getBigInt64Array(),Number),Tp=e=>{if(!e||e.length!==2)throw new Error(\"Tile requires 2 inputs.\");if(e[0].dataType!==1&&e[0].dataType!==10&&e[0].dataType!==6&&e[0].dataType!==12)throw new Error(\"Tile only support float, float16, int32, and uint32 data types\");if(e[1].dataType!==7)throw new Error(\"Tile `repeats` input should be of int64 data type\");if(e[1].dims.length!==1)throw new Error(\"Tile `repeats` input should be 1-D\");if(Iu(e[1]).length!==e[0].dims.length)throw new Error(\"Tile `repeats` input should have same number of elements as rank of input data tensor\")},Ip=(e,t)=>{let n=[];for(let r=0;r<e.length;++r)n.push(e[r]*t[r]);return n},Cp=(e,t)=>{let n=e[0].dims,r=t??Iu(e[1]),o=Ip(n,r),i=x.size(o),s=e[0].dataType,a=S(\"input\",s,n.length),u=C(\"output\",s,o.length),d=l=>`\n const inputShape = ${a.indices(...n)};\n ${l.registerUniform(\"output_size\",\"u32\").declareVariables(a,u)}\n ${l.mainStart()}\n ${l.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.output_size\")}\n let output_indices = ${u.offsetToIndices(\"global_idx\")};\n var input_indices: ${a.type.indices};\n for (var i = 0; i < ${n.length}; i++) {\n let input_dim_i = ${a.indicesGet(\"uniforms.input_shape\",\"i\")};\n let input_dim_value = ${u.indicesGet(\"output_indices\",\"i\")} % input_dim_i;\n\n ${a.indicesSet(\"input_indices\",\"i\",\"input_dim_value\")}\n }\n ${u.setByOffset(\"global_idx\",a.getByIndices(\"input_indices\"))}\n }`;return{name:\"Tile\",shaderCache:{hint:`${r}`,inputDependencies:[\"rank\"]},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(i/64)},programUniforms:[{type:12,data:i},...P(e[0].dims,o)]}),getShaderSource:d}},Cu=e=>{Tp(e.inputs),e.compute(Cp(e.inputs),{inputs:[0]})}});var Ap,Ep,Eu,ku=k(()=>{\"use strict\";L();H();q();Ap=(e,t,n,r,o)=>{let i=C(\"output_data\",o,n.length,4),s=S(\"a_data\",t[1].dataType,t[1].dims.length,4),a=S(\"b_data\",t[2].dataType,t[2].dims.length,4),u=S(\"c_data\",t[0].dataType,t[0].dims.length,4),d,l=(c,p,f)=>`select(${p}, ${c}, ${f})`;if(!r)d=i.setByOffset(\"global_idx\",l(s.getByOffset(\"global_idx\"),a.getByOffset(\"global_idx\"),u.getByOffset(\"global_idx\")));else{let c=(p,f,m=\"\")=>{let h=`a_data[index_a${f}][component_a${f}]`,b=`b_data[index_b${f}][component_b${f}]`,y=`bool(c_data[index_c${f}] & (0xffu << (component_c${f} * 8)))`;return`\n let output_indices${f} = ${i.offsetToIndices(`global_idx * 4u + ${f}u`)};\n let offset_a${f} = ${s.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let offset_b${f} = ${a.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let offset_c${f} = ${u.broadcastedIndicesToOffset(`output_indices${f}`,i)};\n let index_a${f} = offset_a${f} / 4u;\n let index_b${f} = offset_b${f} / 4u;\n let index_c${f} = offset_c${f} / 4u;\n let component_a${f} = offset_a${f} % 4u;\n let component_b${f} = offset_b${f} % 4u;\n let component_c${f} = offset_c${f} % 4u;\n ${p}[${f}] = ${m}(${l(h,b,y)});\n `};o===9?d=`\n var data = vec4<u32>(0);\n ${c(\"data\",0,\"u32\")}\n ${c(\"data\",1,\"u32\")}\n ${c(\"data\",2,\"u32\")}\n ${c(\"data\",3,\"u32\")}\n output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:d=`\n ${c(\"output_data[global_idx]\",0)}\n ${c(\"output_data[global_idx]\",1)}\n ${c(\"output_data[global_idx]\",2)}\n ${c(\"output_data[global_idx]\",3)}\n `}return`\n ${e.registerUniform(\"vec_size\",\"u32\").declareVariables(u,s,a,i)}\n ${e.mainStart()}\n ${e.guardAgainstOutOfBoundsWorkgroupSizes(\"uniforms.vec_size\")}\n ${d}\n }`},Ep=e=>{let t=e[1].dims,n=e[2].dims,r=e[0].dims,o=e[1].dataType,i=!(x.areEqual(t,n)&&x.areEqual(n,r)),s=t,a=x.size(t);if(i){let d=ze.calcShape(ze.calcShape(t,n,!1),r,!1);if(!d)throw new Error(\"Can't perform where op on the given tensors\");s=d,a=x.size(s)}let u=Math.ceil(a/4);return{name:\"Where\",shaderCache:{inputDependencies:[\"rank\",\"rank\",\"rank\"]},getShaderSource:d=>Ap(d,e,s,i,o),getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(a/64/4)},programUniforms:[{type:12,data:u},...P(r,t,n,s)]})}},Eu=e=>{e.compute(Ep(e.inputs))}});var Pu,zu=k(()=>{\"use strict\";ri();rn();si();ui();ji();is();us();Ss();Ps();Bs();Us();Fs();Qs();Js();ta();oa();aa();la();ma();ga();_a();Aa();Pa();Da();Oa();Ra();lr();La();ru();su();uu();cu();tn();gu();mr();bu();vu();Tu();pr();Au();Re();sn();ku();Pu=new Map([[\"Abs\",[di]],[\"Acos\",[li]],[\"Acosh\",[ci]],[\"Add\",[Zi]],[\"ArgMax\",[ni,Qn]],[\"ArgMin\",[ti,Qn]],[\"Asin\",[pi]],[\"Asinh\",[mi]],[\"Atan\",[fi]],[\"Atanh\",[hi]],[\"Attention\",[oi]],[\"AveragePool\",[ja,Ka]],[\"BatchNormalization\",[ii]],[\"BiasAdd\",[ai]],[\"BiasSplitGelu\",[Ki]],[\"Cast\",[yi,gi]],[\"Ceil\",[_i]],[\"Clip\",[bi]],[\"Concat\",[ss,as]],[\"Conv\",[ir,or]],[\"ConvTranspose\",[ks,As]],[\"Cos\",[wi]],[\"Cosh\",[$i]],[\"CumSum\",[zs,Ds]],[\"DepthToSpace\",[Os,Ms]],[\"DequantizeLinear\",[ou,iu]],[\"DFT\",[Gs,Hs]],[\"Div\",[Qi]],[\"Einsum\",[js,Zs]],[\"Elu\",[vi,bt]],[\"Equal\",[Xi]],[\"Erf\",[xi]],[\"Exp\",[Si]],[\"Expand\",[Ys]],[\"FastGelu\",[ea]],[\"Floor\",[Ti]],[\"FusedConv\",[ir,or]],[\"Gather\",[ra,na]],[\"GatherElements\",[pa,ca]],[\"GatherBlockQuantized\",[ua,da]],[\"GatherND\",[ia,sa]],[\"Gelu\",[Ii]],[\"Gemm\",[ha,fa]],[\"GlobalAveragePool\",[Xa,Qa]],[\"GlobalMaxPool\",[nu,tu]],[\"Greater\",[ts]],[\"GreaterOrEqual\",[rs]],[\"GridSample\",[ya,ba]],[\"GroupQueryAttention\",[Ca]],[\"HardSigmoid\",[Bi,Di]],[\"HardSwish\",[Oi]],[\"InstanceNormalization\",[ka]],[\"LayerNormalization\",[za]],[\"LeakyRelu\",[Ci,bt]],[\"Less\",[ns]],[\"LessOrEqual\",[os]],[\"Log\",[Hi]],[\"MatMul\",[Ba]],[\"MatMulNBits\",[Ma,Ua]],[\"MaxPool\",[Ja,eu]],[\"Mul\",[Yi]],[\"MultiHeadAttention\",[va,$a]],[\"Neg\",[Ei]],[\"Not\",[Ai]],[\"Pad\",[Va]],[\"Pow\",[Ji]],[\"QuickGelu\",[Fi,bt]],[\"Range\",[au]],[\"Reciprocal\",[ki]],[\"ReduceMin\",[Zo]],[\"ReduceMean\",[Ho]],[\"ReduceMax\",[jo]],[\"ReduceSum\",[Xo]],[\"ReduceProd\",[Qo]],[\"ReduceL1\",[Fo]],[\"ReduceL2\",[qo]],[\"ReduceLogSum\",[Jo]],[\"ReduceLogSumExp\",[Ko]],[\"ReduceSumSquare\",[Yo]],[\"Relu\",[Pi]],[\"Resize\",[fu,hu]],[\"RotaryEmbedding\",[Ta]],[\"ScatterND\",[lu,du]],[\"Sigmoid\",[zi]],[\"Sin\",[Mi]],[\"Sinh\",[Ui]],[\"Slice\",[wu,$u]],[\"SkipLayerNormalization\",[yu]],[\"Split\",[xa,Sa]],[\"Sqrt\",[Ri]],[\"Softmax\",[xu,Su]],[\"Sub\",[es]],[\"Tan\",[Vi]],[\"Tanh\",[Ni]],[\"ThresholdedRelu\",[Gi,bt]],[\"Tile\",[Cu]],[\"Transpose\",[Po,zo]],[\"Where\",[Eu]]])});var bn,Du=k(()=>{\"use strict\";we();Pe();q();bn=class{constructor(t){this.backend=t;this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,n){this.repo.set(t,n)}run(t,n,r,o,i){_e(t.programInfo.name);let s=this.backend.device,a=this.backend.getComputePassEncoder();this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2);let u=[];for(let l of n)u.push({binding:u.length,resource:{buffer:l.buffer}});for(let l of r)u.push({binding:u.length,resource:{buffer:l.buffer}});i&&u.push({binding:u.length,resource:i});let d=s.createBindGroup({layout:t.computePipeline.getBindGroupLayout(0),entries:u,label:t.programInfo.name});if(this.backend.sessionStatus===\"capturing\"){let l={kernelId:this.backend.currentKernelId,computePipeline:t.computePipeline,bindGroup:d,dispatchGroup:o};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(l)}a.setPipeline(t.computePipeline),a.setBindGroup(0,d),a.dispatchWorkgroups(...o),this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType===\"at-passes\")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),ye(t.programInfo.name)}dispose(){}build(t,n){_e(t.name);let r=this.backend.device,o=[];[{feature:\"shader-f16\",extension:\"f16\"},{feature:\"subgroups\",extension:\"subgroups\"}].forEach(c=>{r.features.has(c.feature)&&o.push(`enable ${c.extension};`)});let s=Eo(n,this.backend.device.limits),a=t.getShaderSource(s),u=`${o.join(`\n`)}\n${s.additionalImplementations}\n${a}`,d=r.createShaderModule({code:u,label:t.name});Z(\"verbose\",()=>`[WebGPU] ${t.name} shader code: ${u}`);let l=r.createComputePipeline({compute:{module:d,entryPoint:\"main\"},layout:\"auto\",label:t.name});return ye(t.name),{programInfo:t,computePipeline:l,uniformVariablesInfo:s.variablesInfo}}normalizeDispatchGroupSize(t){let n=typeof t==\"number\"?t:t.x,r=typeof t==\"number\"?1:t.y||1,o=typeof t==\"number\"?1:t.z||1,i=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(n<=i&&r<=i&&o<=i)return[n,r,o];let s=n*r*o,a=Math.ceil(Math.sqrt(s));if(a>i){if(a=Math.ceil(Math.cbrt(s)),a>i)throw new Error(\"Total dispatch size exceeds WebGPU maximum.\");return[a,a,a]}else return[a,a,1]}}});var Bu={};pt(Bu,{WebGpuBackend:()=>hr});var kp,Pp,fr,hr,Ou=k(()=>{\"use strict\";we();L();Pe();Vn();Co();zu();Du();kp=(e,t)=>{if(t.length!==e.length)throw new Error(`inputDependencies length ${t.length} is not equal to inputTensors length ${e.length}.`);let n=[];for(let r=0;r<e.length;++r){let o=e[r].dataType;switch(t[r]){case\"none\":{n.push(\"\");break}case\"type\":{n.push(`${o}`);break}case\"rank\":{let i=e[r].dims.length;n.push(`${o};${i}`);break}case\"dims\":{let i=e[r].dims.join(\",\");n.push(`${o};${i}`);break}default:throw new Error(`unsupported input dependency: ${t[r]}`)}}return n.join(\"|\")},Pp=(e,t,n)=>{let r=e.name;return e.shaderCache?.hint&&(r+=\"[\"+e.shaderCache.hint+\"]\"),r+=\":\"+n+`:${kp(t,e.shaderCache?.inputDependencies??new Array(t.length).fill(\"dims\"))}`,r},fr=class{constructor(t){t&&(this.architecture=t.architecture,this.vendor=t.vendor)}isArchitecture(t){return this.architecture===t}isVendor(t){return this.vendor===t}},hr=class{constructor(){this.currentSessionId=null;this.currentKernelId=null;this.commandEncoder=null;this.computePassEncoder=null;this.maxDispatchNumber=16;this.pendingDispatchNumber=0;this.pendingKernels=[];this.pendingQueries=new Map;this.sessionStatus=\"default\";this.capturedCommandList=new Map;this.capturedPendingKernels=new Map;this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error(\"currentKernelCustomData(): currentKernelId is null. (should not happen)\");let t=this.kernelCustomData.get(this.currentKernelId);return t||(t={},this.kernelCustomData.set(this.currentKernelId,t)),t}async initialize(t,n){this.env=t;let r=[],o={requiredLimits:{maxComputeWorkgroupStorageSize:n.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:n.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:n.limits.maxStorageBufferBindingSize,maxBufferSize:n.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:n.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:n.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:n.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:n.limits.maxComputeWorkgroupSizeZ},requiredFeatures:r},i=u=>n.features.has(u)&&r.push(u)&&!0;i(\"chromium-experimental-timestamp-query-inside-passes\")||i(\"timestamp-query\"),i(\"shader-f16\"),i(\"subgroups\"),this.device=await n.requestDevice(o);let s=n,a=n.info??(typeof s.requestAdapterInfo==\"function\"?await s.requestAdapterInfo():void 0);this.adapterInfo=new fr(a),this.gpuDataManager=Io(this),this.programManager=new bn(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,Ft(t.logLevel,!!t.debug),this.device.onuncapturederror=u=>{u.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${u.error.message}`)},Object.defineProperty(this.env.webgpu,\"device\",{value:this.device,writable:!1,enumerable:!0,configurable:!0}),Object.defineProperty(this.env.webgpu,\"adapter\",{value:n,writable:!1,enumerable:!0,configurable:!1}),this.setQueryType()}dispose(){typeof this.querySet<\"u\"&&this.querySet.destroy(),this.gpuDataManager.dispose(),this.device&&this.env?.webgpu&&this.device.lost.then(()=>{delete this.env.webgpu.device})}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let t=this.getCommandEncoder(),n={};this.queryType===\"at-passes\"&&(n.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:this.pendingDispatchNumber*2,endOfPassWriteIndex:this.pendingDispatchNumber*2+1}),this.computePassEncoder=t.beginComputePass(n)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;_e(),this.endComputePass();let t;this.queryType!==\"none\"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,this.pendingDispatchNumber*2,this.queryResolveBuffer,0),t=this.device.createBuffer({size:this.pendingDispatchNumber*2*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(t,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,t,0,this.pendingDispatchNumber*2*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!==\"none\"&&t.mapAsync(GPUMapMode.READ).then(()=>{let n=new BigUint64Array(t.getMappedRange()),r=this.pendingQueries.get(t);for(let o=0;o<n.length/2;o++){let i=r[o],s=i.kernelId,a=this.kernels.get(s),u=a.kernelType,d=a.kernelName,l=i.programName,c=i.inputTensorViews,p=i.outputTensorViews,f=n[o*2],m=n[o*2+1];typeof this.queryTimeBase>\"u\"&&(this.queryTimeBase=f);let h=Number(f-this.queryTimeBase),b=Number(m-this.queryTimeBase);if(!Number.isSafeInteger(h)||!Number.isSafeInteger(b))throw new RangeError(\"incorrect timestamp range\");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:c.map(y=>({dims:y.dims,dataType:ke(y.dataType)})),outputsMetadata:p.map(y=>({dims:y.dims,dataType:ke(y.dataType)})),kernelId:s,kernelType:u,kernelName:d,programName:l,startTime:h,endTime:b});else{let y=\"\";c.forEach((_,w)=>{y+=`input[${w}]: [${_.dims}] | ${ke(_.dataType)}, `});let g=\"\";p.forEach((_,w)=>{g+=`output[${w}]: [${_.dims}] | ${ke(_.dataType)}, `}),console.log(`[profiling] kernel \"${s}|${u}|${d}|${l}\" ${y}${g}start time: ${h} ns, execution time: ${b-h} ns`)}At(\"GPU\",`${l}::${f}::${m}`)}t.unmap(),this.pendingQueries.delete(t)}),ye()}run(t,n,r,o,i,s){_e(t.name);let a=[];for(let _=0;_<n.length;++_){let w=n[_].data;if(w===0)continue;let $=this.gpuDataManager.get(w);if(!$)throw new Error(`no GPU data for input: ${w}`);a.push($)}let{outputs:u,dispatchGroup:d,programUniforms:l}=t.getRunData(n),c=r.length===0?u.map((_,w)=>w):r;if(c.length!==u.length)throw new Error(`Output size ${c.length} must be equal to ${u.length}.`);let p=[],f=[];for(let _=0;_<u.length;++_){if(!Number.isInteger(c[_])||c[_]<-3||c[_]>=s)throw new Error(`Invalid output index: ${c[_]}`);if(c[_]===-3)continue;let w=c[_]===-1,$=c[_]===-2,v=w||$?i(u[_].dataType,u[_].dims):o(c[_],u[_].dataType,u[_].dims);if(p.push(v),v.data===0)continue;let T=this.gpuDataManager.get(v.data);if(!T)throw new Error(`no GPU data for output: ${v.data}`);if(w&&this.temporaryData.push(T),$){let I=this.kernelPersistentData.get(this.currentKernelId);I||(I=[],this.kernelPersistentData.set(this.currentKernelId,I)),I.push(T)}f.push(T)}if(a.length!==n.length||f.length!==p.length){if(f.length===0)return ye(t.name),p;throw new Error(`Program ${t.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}let m;if(l){let _=0,w=[];l.forEach(I=>{let E=typeof I.data==\"number\"?[I.data]:I.data;if(E.length===0)return;let z=I.type===10?2:4,M,O;I.type===10?(O=E.length>4?16:E.length>2?8:E.length*z,M=E.length>4?16:z*E.length):(O=E.length<=2?E.length*z:16,M=16),_=Math.ceil(_/O)*O,w.push(_);let W=I.type===10?8:4;_+=E.length>4?Math.ceil(E.length/W)*M:E.length*z});let $=16;_=Math.ceil(_/$)*$;let v=new ArrayBuffer(_);l.forEach((I,E)=>{let z=w[E],M=typeof I.data==\"number\"?[I.data]:I.data;if(I.type===6)new Int32Array(v,z,M.length).set(M);else if(I.type===12)new Uint32Array(v,z,M.length).set(M);else if(I.type===10)new Uint16Array(v,z,M.length).set(M);else if(I.type===1)new Float32Array(v,z,M.length).set(M);else throw new Error(`Unsupported uniform type: ${ke(I.type)}`)});let T=this.gpuDataManager.create(_,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(T.buffer,0,v,0,_),this.gpuDataManager.release(T.id),m={offset:0,size:_,buffer:T.buffer}}let h=this.programManager.normalizeDispatchGroupSize(d),b=h[1]===1&&h[2]===1,y=Pp(t,n,b),g=this.programManager.getArtifact(y);if(g||(g=this.programManager.build(t,h),this.programManager.setArtifact(y,g),Z(\"info\",()=>`[artifact] key: ${y}, programName: ${t.name}`)),l&&g.uniformVariablesInfo){if(l.length!==g.uniformVariablesInfo.length)throw new Error(`Uniform variables count mismatch: expect ${g.uniformVariablesInfo.length}, got ${l.length} in program \"${g.programInfo.name}\".`);for(let _=0;_<l.length;_++){let w=l[_],$=w.type,v=typeof w.data==\"number\"?1:w.data.length,[T,I]=g.uniformVariablesInfo[_];if($!==T||v!==I)throw new Error(`Uniform variable ${_} mismatch: expect type ${T} with size ${I}, got type ${$} with size ${v} in program \"${g.programInfo.name}\".`)}}if(Z(\"info\",()=>`[ProgramManager] run \"${t.name}\" (key=${y}) with ${h[0]}x${h[1]}x${h[2]}`),this.queryType!==\"none\"||this.sessionStatus===\"capturing\"){let _={kernelId:this.currentKernelId,programName:g.programInfo.name,inputTensorViews:n,outputTensorViews:p};this.pendingKernels.push(_),this.sessionStatus===\"capturing\"&&this.capturedPendingKernels.get(this.currentSessionId).push(_)}return this.programManager.run(g,a,f,h,m),ye(t.name),p}upload(t,n){this.gpuDataManager.upload(t,n)}memcpy(t,n){this.gpuDataManager.memcpy(t,n)}async download(t,n){await this.gpuDataManager.download(t,n)}alloc(t){return this.gpuDataManager.create(t).id}free(t){return this.gpuDataManager.release(t)}createKernel(t,n,r,o){let i=Pu.get(t);if(!i)throw new Error(`kernel not implemented: ${t}`);let s={kernelType:t,kernelName:o,kernelEntry:i[0],attributes:[i[1],r]};this.kernels.set(n,s)}releaseKernel(t){let n=this.kernelPersistentData.get(t);if(n){for(let r of n)this.gpuDataManager.release(r.id);this.kernelPersistentData.delete(t)}this.kernelCustomData.delete(t),this.kernels.delete(t)}computeKernel(t,n,r){let o=this.kernels.get(t);if(!o)throw new Error(`kernel not created: ${t}`);let i=o.kernelType,s=o.kernelName,a=o.kernelEntry,u=o.attributes;if(this.currentKernelId!==null)throw new Error(`kernel \"[${i}] ${s}\" is not allowed to be called recursively`);this.currentKernelId=t,u[0]&&(u[1]=u[0](u[1]),u[0]=void 0),Z(\"info\",()=>`[WebGPU] Start to run kernel \"[${i}] ${s}\"...`);let d=this.env.debug;this.temporaryData=[];try{return d&&this.device.pushErrorScope(\"validation\"),a(n,u[1]),0}catch(l){return r.push(Promise.resolve(`[WebGPU] Kernel \"[${i}] ${s}\" failed. ${l}`)),1}finally{d&&r.push(this.device.popErrorScope().then(l=>l?`GPU validation error for kernel \"[${i}] ${s}\": ${l.message}`:null));for(let l of this.temporaryData)this.gpuDataManager.release(l.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(t,n,r,o){let i=this.sessionExternalDataMapping.get(t);i||(i=new Map,this.sessionExternalDataMapping.set(t,i));let s=i.get(n),a=this.gpuDataManager.registerExternalBuffer(r,o,s);return i.set(n,[a,r]),a}unregisterBuffers(t){let n=this.sessionExternalDataMapping.get(t);n&&(n.forEach(r=>this.gpuDataManager.unregisterExternalBuffer(r[0])),this.sessionExternalDataMapping.delete(t))}getBuffer(t){let n=this.gpuDataManager.get(t);if(!n)throw new Error(`no GPU data for buffer: ${t}`);return n.buffer}createDownloader(t,n,r){return async()=>{let o=await Hn(this,t,n);return Kt(o.buffer,r)}}writeTimestamp(t){this.queryType===\"inside-passes\"&&this.computePassEncoder.writeTimestamp(this.querySet,t)}setQueryType(){this.queryType=\"none\",(this.env.webgpu.profiling?.mode===\"default\"||(typeof this.env.trace>\"u\"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has(\"chromium-experimental-timestamp-query-inside-passes\")?this.queryType=\"inside-passes\":this.device.features.has(\"timestamp-query\")&&(this.queryType=\"at-passes\"),this.queryType!==\"none\"&&typeof this.querySet>\"u\"&&(this.querySet=this.device.createQuerySet({type:\"timestamp\",count:this.maxDispatchNumber*2}),this.queryResolveBuffer=this.device.createBuffer({size:this.maxDispatchNumber*2*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){Z(\"info\",\"captureBegin\"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus=\"capturing\"}captureEnd(){Z(\"info\",\"captureEnd\"),this.flush(),this.sessionStatus=\"default\"}replay(){Z(\"info\",\"replay\"),this.sessionStatus=\"replaying\";let t=this.capturedCommandList.get(this.currentSessionId),n=this.capturedPendingKernels.get(this.currentSessionId),r=t.length;this.pendingKernels=[];for(let o=0;o<r;o++){let i=this.getComputePassEncoder(),s=t[o];this.writeTimestamp(this.pendingDispatchNumber*2),i.setPipeline(s.computePipeline),i.setBindGroup(0,s.bindGroup),i.dispatchWorkgroups(...s.dispatchGroup),this.writeTimestamp(this.pendingDispatchNumber*2+1),this.pendingDispatchNumber++,this.queryType!==\"none\"&&this.pendingKernels.push(n[o]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType===\"at-passes\")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus=\"default\"}onCreateSession(){this.gpuDataManager.onCreateSession()}onReleaseSession(t){this.unregisterBuffers(t),this.capturedCommandList.has(t)&&this.capturedCommandList.delete(t),this.capturedPendingKernels.has(t)&&this.capturedPendingKernels.delete(t),this.gpuDataManager.onReleaseSession(t)}onRunStart(t){this.currentSessionId=t,this.setQueryType()}}});var Mu={};pt(Mu,{init:()=>zp});var vt,gr,zp,Uu=k(()=>{\"use strict\";L();Pe();H();vo();vt=class e{constructor(t,n,r,o){this.module=t;this.dataType=n;this.data=r;this.dims=o}getFloat32Array(){if(this.dataType!==1)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,t)}getBigInt64Array(){if(this.dataType!==7)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,t)}getInt32Array(){if(this.dataType!==6)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,t)}getUint16Array(){if(this.dataType!==10&&this.dataType!==4)throw new Error(\"Invalid data type\");let t=x.size(this.dims);return t===0?new Uint16Array:new Uint16Array(this.module.HEAP8.buffer,this.data,t)}reshape(t){if(x.size(t)!==x.size(this.dims))throw new Error(\"Invalid new shape\");return new e(this.module,this.dataType,this.data,t)}},gr=class{constructor(t,n,r){this.module=t;this.backend=n;this.customDataOffset=0;this.customDataSize=0;this.adapterInfo=n.adapterInfo;let o=t.PTR_SIZE,i=r/t.PTR_SIZE,s=o===4?\"i32\":\"i64\";this.opKernelContext=Number(t.getValue(o*i++,s));let a=Number(t.getValue(o*i++,s));this.outputCount=Number(t.getValue(o*i++,s)),this.customDataOffset=Number(t.getValue(o*i++,\"*\")),this.customDataSize=Number(t.getValue(o*i++,s));let u=[];for(let d=0;d<a;d++){let l=Number(t.getValue(o*i++,s)),c=Number(t.getValue(o*i++,\"*\")),p=Number(t.getValue(o*i++,s)),f=[];for(let m=0;m<p;m++)f.push(Number(t.getValue(o*i++,s)));u.push(new vt(t,l,c,f))}this.inputs=u}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(t,n){let r=n?.inputs?.map(a=>typeof a==\"number\"?this.inputs[a]:a)??this.inputs,o=n?.outputs??[],i=(a,u,d)=>new vt(this.module,u,this.output(a,d),d),s=(a,u)=>{let d=Fe(a,u);if(!d)throw new Error(`Unsupported data type: ${a}`);let l=d>0?this.backend.gpuDataManager.create(d).id:0;return new vt(this.module,a,l,u)};return this.backend.run(t,r,o,i,s,this.outputCount)}output(t,n){let r=this.module.stackSave();try{let o=this.module.PTR_SIZE,i=o===4?\"i32\":\"i64\",s=this.module.stackAlloc((1+n.length)*o);this.module.setValue(s,n.length,i);for(let a=0;a<n.length;a++)this.module.setValue(s+o*(a+1),n[a],i);return this.module._JsepOutput(this.opKernelContext,t,s)}catch(o){throw new Error(`Failed to generate kernel's output[${t}] with dims [${n}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${o}`)}finally{this.module.stackRestore(r)}}},zp=async(e,t,n,r)=>{let o=t.jsepInit;if(!o)throw new Error(\"Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.\");if(e===\"webgpu\"){let i=(Ou(),Tt(Bu)).WebGpuBackend,s=new i;await s.initialize(n,r),o(\"webgpu\",[s,a=>s.alloc(Number(a)),a=>s.free(a),(a,u,d,l=!1)=>{if(l)Z(\"verbose\",()=>`[WebGPU] jsepCopyGpuToGpu: src=${Number(a)}, dst=${Number(u)}, size=${Number(d)}`),s.memcpy(Number(a),Number(u));else{Z(\"verbose\",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${Number(a)}, gpuDataId=${Number(u)}, size=${Number(d)}`);let c=t.HEAPU8.subarray(Number(a>>>0),Number(a>>>0)+Number(d));s.upload(Number(u),c)}},async(a,u,d)=>{Z(\"verbose\",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${a}, dataOffset=${u}, size=${d}`),await s.download(Number(a),()=>t.HEAPU8.subarray(Number(u)>>>0,Number(u+d)>>>0))},(a,u,d)=>s.createKernel(a,Number(u),d,t.UTF8ToString(t._JsepGetNodeName(Number(u)))),a=>s.releaseKernel(a),(a,u,d,l)=>{Z(\"verbose\",()=>`[WebGPU] jsepRun: sessionHandle=${d}, kernel=${a}, contextDataOffset=${u}`);let c=new gr(t,s,Number(u));return s.computeKernel(Number(a),c,l)},()=>s.captureBegin(),()=>s.captureEnd(),()=>s.replay()])}else{let i=new Xt(n);o(\"webnn\",[i,()=>i.reserveTensorId(),s=>i.releaseTensorId(s),async(s,a,u,d,l)=>i.ensureTensor(s,a,u,d,l),(s,a)=>{i.uploadTensor(s,a)},async(s,a)=>i.downloadTensor(s,a),(s,a)=>i.registerMLContext(s,a),!!n.trace])}}});var Dp,Dt,Bt,rt,Bp,Ru,ft,Ot,Mt,Vu,Ut,Rt,Vt,zn=k(()=>{\"use strict\";we();uo();co();L();Ge();Wt();Un();Dp=(e,t)=>{te()._OrtInit(e,t)!==0&&Y(\"Can't initialize onnxruntime.\")},Dt=async e=>{Dp(e.wasm.numThreads,gt(e.logLevel))},Bt=async(e,t)=>{te().asyncInit?.();let n=e.webgpu.adapter;if(t===\"webgpu\"){if(typeof navigator>\"u\"||!navigator.gpu)throw new Error(\"WebGPU is not supported in current environment\");if(n){if(typeof n.limits!=\"object\"||typeof n.features!=\"object\"||typeof n.requestDevice!=\"function\")throw new Error(\"Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.\")}else{let r=e.webgpu.powerPreference;if(r!==void 0&&r!==\"low-power\"&&r!==\"high-performance\")throw new Error(`Invalid powerPreference setting: \"${r}\"`);let o=e.webgpu.forceFallbackAdapter;if(o!==void 0&&typeof o!=\"boolean\")throw new Error(`Invalid forceFallbackAdapter setting: \"${o}\"`);if(n=await navigator.gpu.requestAdapter({powerPreference:r,forceFallbackAdapter:o}),!n)throw new Error('Failed to get GPU adapter. You may need to enable flag \"--enable-unsafe-webgpu\" if you are using Chrome.')}}if(t===\"webnn\"&&(typeof navigator>\"u\"||!navigator.ml))throw new Error(\"WebNN is not supported in current environment\");{let r=(Uu(),Tt(Mu)).init;t===\"webgpu\"&&await r(\"webgpu\",te(),e,n),t===\"webnn\"&&await r(\"webnn\",te(),e)}},rt=new Map,Bp=e=>{let t=te(),n=t.stackSave();try{let r=t.PTR_SIZE,o=t.stackAlloc(2*r);t._OrtGetInputOutputCount(e,o,o+r)!==0&&Y(\"Can't get session input/output count.\");let s=r===4?\"i32\":\"i64\";return[Number(t.getValue(o,s)),Number(t.getValue(o+r,s))]}finally{t.stackRestore(n)}},Ru=(e,t)=>{let n=te(),r=n.stackSave(),o=0;try{let i=n.PTR_SIZE,s=n.stackAlloc(2*i);n._OrtGetInputOutputMetadata(e,t,s,s+i)!==0&&Y(\"Can't get session input/output metadata.\");let u=Number(n.getValue(s,\"*\"));o=Number(n.getValue(s+i,\"*\"));let d=n.HEAP32[o/4];if(d===0)return[u,0];let l=n.HEAPU32[o/4+1],c=[];for(let p=0;p<l;p++){let f=Number(n.getValue(o+8+p*i,\"*\"));c.push(f!==0?n.UTF8ToString(f):Number(n.getValue(o+8+(p+l)*i,\"*\")))}return[u,d,c]}finally{n.stackRestore(r),o!==0&&n._OrtFree(o)}},ft=e=>{let t=te(),n=t._malloc(e.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,n),[n,e.byteLength]},Ot=async(e,t)=>{let n,r,o=te();Array.isArray(e)?[n,r]=e:e.buffer===o.HEAPU8.buffer?[n,r]=[e.byteOffset,e.byteLength]:[n,r]=ft(e);let i=0,s=0,a=0,u=[],d=[],l=[];try{if([s,u]=await lo(t),t?.externalData&&o.mountExternalData){let w=[];for(let $ of t.externalData){let v=typeof $==\"string\"?$:$.path,T=typeof $==\"string\"?$:$.data;w.push(yt(T).then(I=>{o.mountExternalData(v,I)}))}await Promise.all(w)}for(let w of t?.executionProviders??[])if((typeof w==\"string\"?w:w.name)===\"webnn\"){if(o.shouldTransferToMLTensor=!1,typeof w!=\"string\"){let v=w,T=v?.context,I=v?.gpuDevice,E=v?.deviceType,z=v?.powerPreference;T?o.currentContext=T:I?o.currentContext=await o.webnnCreateMLContext(I):o.currentContext=await o.webnnCreateMLContext({deviceType:E,powerPreference:z})}else o.currentContext=await o.webnnCreateMLContext();break}i=await o._OrtCreateSession(n,r,s),o.webgpuOnCreateSession?.(i),i===0&&Y(\"Can't create a session.\"),o.jsepOnCreateSession?.(),o.currentContext&&(o.webnnRegisterMLContext(i,o.currentContext),o.currentContext=void 0,o.shouldTransferToMLTensor=!0);let[c,p]=Bp(i),f=!!t?.enableGraphCapture,m=[],h=[],b=[],y=[],g=[];for(let w=0;w<c;w++){let[$,v,T]=Ru(i,w);$===0&&Y(\"Can't get an input name.\"),d.push($);let I=o.UTF8ToString($);m.push(I),b.push(v===0?{name:I,isTensor:!1}:{name:I,isTensor:!0,type:ke(v),shape:T})}for(let w=0;w<p;w++){let[$,v,T]=Ru(i,w+c);$===0&&Y(\"Can't get an output name.\"),l.push($);let I=o.UTF8ToString($);h.push(I),y.push(v===0?{name:I,isTensor:!1}:{name:I,isTensor:!0,type:ke(v),shape:T});{if(f&&t?.preferredOutputLocation===void 0){g.push(\"gpu-buffer\");continue}let E=typeof t?.preferredOutputLocation==\"string\"?t.preferredOutputLocation:t?.preferredOutputLocation?.[I]??\"cpu\",z=o.webnnIsGraphOutput;if(E===\"cpu\"&&z&&z(i,I)){g.push(\"ml-tensor-cpu-output\");continue}if(E!==\"cpu\"&&E!==\"cpu-pinned\"&&E!==\"gpu-buffer\"&&E!==\"ml-tensor\")throw new Error(`Not supported preferred output location: ${E}.`);if(f&&E!==\"gpu-buffer\")throw new Error(`Not supported preferred output location: ${E}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);g.push(E)}}let _=null;return g.some(w=>w===\"gpu-buffer\"||w===\"ml-tensor\"||w===\"ml-tensor-cpu-output\")&&(a=o._OrtCreateBinding(i),a===0&&Y(\"Can't create IO binding.\"),_={handle:a,outputPreferredLocations:g,outputPreferredLocationsEncoded:g.map(w=>w===\"ml-tensor-cpu-output\"?\"ml-tensor\":w).map(w=>Mn(w))}),rt.set(i,[i,d,l,_,f,!1]),[i,m,h,b,y]}catch(c){throw d.forEach(p=>o._OrtFree(p)),l.forEach(p=>o._OrtFree(p)),a!==0&&o._OrtReleaseBinding(a)!==0&&Y(\"Can't release IO binding.\"),i!==0&&o._OrtReleaseSession(i)!==0&&Y(\"Can't release session.\"),c}finally{o._free(n),s!==0&&o._OrtReleaseSessionOptions(s)!==0&&Y(\"Can't release session options.\"),u.forEach(c=>o._free(c)),o.unmountExternalData?.()}},Mt=e=>{let t=te(),n=rt.get(e);if(!n)throw new Error(`cannot release session. invalid session id: ${e}`);let[r,o,i,s,a]=n;s&&(a&&t._OrtClearBoundOutputs(s.handle)!==0&&Y(\"Can't clear bound outputs.\"),t._OrtReleaseBinding(s.handle)!==0&&Y(\"Can't release IO binding.\")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),o.forEach(u=>t._OrtFree(u)),i.forEach(u=>t._OrtFree(u)),t._OrtReleaseSession(r)!==0&&Y(\"Can't release session.\"),rt.delete(e)},Vu=async(e,t,n,r,o,i,s=!1)=>{if(!e){t.push(0);return}let a=te(),u=a.PTR_SIZE,d=e[0],l=e[1],c=e[3],p=c,f,m;if(d===\"string\"&&(c===\"gpu-buffer\"||c===\"ml-tensor\"))throw new Error(\"String tensor is not supported on GPU.\");if(s&&c!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(c===\"gpu-buffer\"){let y=e[2].gpuBuffer;m=Fe(He(d),l);{let g=a.jsepRegisterBuffer;if(!g)throw new Error('Tensor location \"gpu-buffer\" is not supported without using WebGPU.');f=g(r,i,y,m)}}else if(c===\"ml-tensor\"){let y=e[2].mlTensor;m=Fe(He(d),l);let g=a.webnnRegisterMLTensor;if(!g)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');f=g(r,y,He(d),l)}else{let y=e[2];if(Array.isArray(y)){m=u*y.length,f=a._malloc(m),n.push(f);for(let g=0;g<y.length;g++){if(typeof y[g]!=\"string\")throw new TypeError(`tensor data at index ${g} is not a string`);a.setValue(f+g*u,ve(y[g],n),\"*\")}}else{let g=a.webnnIsGraphInput,_=a.webnnIsGraphOutput;if(d!==\"string\"&&g&&_){let w=a.UTF8ToString(o);if(g(r,w)||_(r,w)){let $=He(d);m=Fe($,l),p=\"ml-tensor\";let v=a.webnnCreateTemporaryTensor,T=a.webnnUploadTensor;if(!v||!T)throw new Error('Tensor location \"ml-tensor\" is not supported without using WebNN.');let I=await v(r,$,l);T(I,new Uint8Array(y.buffer,y.byteOffset,y.byteLength)),f=I}else m=y.byteLength,f=a._malloc(m),n.push(f),a.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,m),f)}else m=y.byteLength,f=a._malloc(m),n.push(f),a.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,m),f)}}let h=a.stackSave(),b=a.stackAlloc(4*l.length);try{l.forEach((g,_)=>a.setValue(b+_*u,g,u===4?\"i32\":\"i64\"));let y=a._OrtCreateTensor(He(d),f,m,b,l.length,Mn(p));y===0&&Y(`Can't create tensor for input/output. session=${r}, index=${i}.`),t.push(y)}finally{a.stackRestore(h)}},Ut=async(e,t,n,r,o,i)=>{let s=te(),a=s.PTR_SIZE,u=rt.get(e);if(!u)throw new Error(`cannot run inference. invalid session id: ${e}`);let d=u[0],l=u[1],c=u[2],p=u[3],f=u[4],m=u[5],h=t.length,b=r.length,y=0,g=[],_=[],w=[],$=[],v=[],T=s.stackSave(),I=s.stackAlloc(h*a),E=s.stackAlloc(h*a),z=s.stackAlloc(b*a),M=s.stackAlloc(b*a);try{[y,g]=ao(i),Ne(\"wasm prepareInputOutputTensor\");for(let U=0;U<h;U++)await Vu(n[U],_,$,e,l[t[U]],t[U],f);for(let U=0;U<b;U++)await Vu(o[U],w,$,e,c[r[U]],h+r[U],f);We(\"wasm prepareInputOutputTensor\");for(let U=0;U<h;U++)s.setValue(I+U*a,_[U],\"*\"),s.setValue(E+U*a,l[t[U]],\"*\");for(let U=0;U<b;U++)s.setValue(z+U*a,w[U],\"*\"),s.setValue(M+U*a,c[r[U]],\"*\");if(p&&!m){let{handle:U,outputPreferredLocations:R,outputPreferredLocationsEncoded:G}=p;if(l.length!==h)throw new Error(`input count from feeds (${h}) is expected to be always equal to model's input count (${l.length}).`);Ne(\"wasm bindInputsOutputs\");for(let N=0;N<h;N++){let j=t[N];await s._OrtBindInput(U,l[j],_[N])!==0&&Y(`Can't bind input[${N}] for session=${e}.`)}for(let N=0;N<b;N++){let j=r[N];o[N]?.[3]?(v.push(w[N]),s._OrtBindOutput(U,c[j],w[N],0)!==0&&Y(`Can't bind pre-allocated output[${N}] for session=${e}.`)):s._OrtBindOutput(U,c[j],0,G[j])!==0&&Y(`Can't bind output[${N}] to ${R[N]} for session=${e}.`)}We(\"wasm bindInputsOutputs\"),rt.set(e,[d,l,c,p,f,!0])}s.jsepOnRunStart?.(d),s.webnnOnRunStart?.(d);let O;p?O=await s._OrtRunWithBinding(d,p.handle,b,z,y):O=await s._OrtRun(d,E,I,h,M,b,z,y),O!==0&&Y(\"failed to call OrtRun().\");let W=[],K=[];Ne(\"wasm ProcessOutputTensor\");for(let U=0;U<b;U++){let R=Number(s.getValue(z+U*a,\"*\"));if(R===w[U]||v.includes(w[U])){W.push(o[U]),R!==w[U]&&s._OrtReleaseTensor(R)!==0&&Y(\"Can't release tensor.\");continue}let G=s.stackSave(),N=s.stackAlloc(4*a),j=!1,Q,X=0;try{s._OrtGetTensorData(R,N,N+a,N+2*a,N+3*a)!==0&&Y(`Can't access output tensor data on index ${U}.`);let se=a===4?\"i32\":\"i64\",A=Number(s.getValue(N,se));X=s.getValue(N+a,\"*\");let D=s.getValue(N+a*2,\"*\"),oe=Number(s.getValue(N+a*3,se)),he=[];for(let ie=0;ie<oe;ie++)he.push(Number(s.getValue(D+ie*a,se)));s._OrtFree(D)!==0&&Y(\"Can't free memory for tensor dims.\");let ae=he.reduce((ie,le)=>ie*le,1);Q=ke(A);let ge=p?.outputPreferredLocations[r[U]];if(Q===\"string\"){if(ge===\"gpu-buffer\"||ge===\"ml-tensor\")throw new Error(\"String tensor is not supported on GPU.\");let ie=[];for(let le=0;le<ae;le++){let Le=s.getValue(X+le*a,\"*\"),St=s.getValue(X+(le+1)*a,\"*\"),wr=le===ae-1?void 0:St-Le;ie.push(s.UTF8ToString(Le,wr))}W.push([Q,he,ie,\"cpu\"])}else if(ge===\"gpu-buffer\"&&ae>0){let ie=s.jsepGetBuffer;if(!ie)throw new Error('preferredLocation \"gpu-buffer\" is not supported without using WebGPU.');let le=ie(X),Le=Fe(A,ae);if(Le===void 0||!Gt(Q))throw new Error(`Unsupported data type: ${Q}`);j=!0,W.push([Q,he,{gpuBuffer:le,download:s.jsepCreateDownloader(le,Le,Q),dispose:()=>{s._OrtReleaseTensor(R)!==0&&Y(\"Can't release tensor.\")}},\"gpu-buffer\"])}else if(ge===\"ml-tensor\"&&ae>0){let ie=s.webnnEnsureTensor,le=s.webnnIsGraphInputOutputTypeSupported;if(!ie||!le)throw new Error('preferredLocation \"ml-tensor\" is not supported without using WebNN.');if(Fe(A,ae)===void 0||!Ht(Q))throw new Error(`Unsupported data type: ${Q}`);if(!le(e,Q,!1))throw new Error(`preferredLocation \"ml-tensor\" for ${Q} output is not supported by current WebNN Context.`);let St=await ie(e,X,A,he,!1);j=!0,W.push([Q,he,{mlTensor:St,download:s.webnnCreateMLTensorDownloader(X,Q),dispose:()=>{s.webnnReleaseTensorId(X),s._OrtReleaseTensor(R)}},\"ml-tensor\"])}else if(ge===\"ml-tensor-cpu-output\"&&ae>0){let ie=s.webnnCreateMLTensorDownloader(X,Q)(),le=W.length;j=!0,K.push((async()=>{let Le=[le,await ie];return s.webnnReleaseTensorId(X),s._OrtReleaseTensor(R),Le})()),W.push([Q,he,[],\"cpu\"])}else{let ie=st(Q),le=new ie(ae);new Uint8Array(le.buffer,le.byteOffset,le.byteLength).set(s.HEAPU8.subarray(X,X+le.byteLength)),W.push([Q,he,le,\"cpu\"])}}finally{s.stackRestore(G),Q===\"string\"&&X&&s._free(X),j||s._OrtReleaseTensor(R)}}p&&!f&&(s._OrtClearBoundOutputs(p.handle)!==0&&Y(\"Can't clear bound outputs.\"),rt.set(e,[d,l,c,p,f,!1]));for(let[U,R]of await Promise.all(K))W[U][2]=R;return We(\"wasm ProcessOutputTensor\"),W}finally{s.webnnOnRunEnd?.(d),s.stackRestore(T),_.forEach(O=>s._OrtReleaseTensor(O)),w.forEach(O=>s._OrtReleaseTensor(O)),$.forEach(O=>s._free(O)),y!==0&&s._OrtReleaseRunOptions(y),g.forEach(O=>s._free(O))}},Rt=e=>{let t=te(),n=rt.get(e);if(!n)throw new Error(\"invalid session id\");let r=n[0],o=t._OrtEndProfiling(r);o===0&&Y(\"Can't get an profile file name.\"),t._OrtFree(o)},Vt=e=>{let t=[];for(let n of e){let r=n[2];!Array.isArray(r)&&\"buffer\"in r&&t.push(r.buffer)}return t}});var ot,xe,xt,wn,$n,_n,yr,br,lt,ct,Mp,Lu,Nu,Wu,Gu,Hu,Fu,qu,_r=k(()=>{\"use strict\";we();zn();Ge();Pt();ot=()=>!!ne.wasm.proxy&&typeof document<\"u\",xt=!1,wn=!1,$n=!1,br=new Map,lt=(e,t)=>{let n=br.get(e);n?n.push(t):br.set(e,[t])},ct=()=>{if(xt||!wn||$n||!xe)throw new Error(\"worker not ready\")},Mp=e=>{switch(e.data.type){case\"init-wasm\":xt=!1,e.data.err?($n=!0,yr[1](e.data.err)):(wn=!0,yr[0]()),_n&&(URL.revokeObjectURL(_n),_n=void 0);break;case\"init-ep\":case\"copy-from\":case\"create\":case\"release\":case\"run\":case\"end-profiling\":{let t=br.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},Lu=async()=>{if(!wn){if(xt)throw new Error(\"multiple calls to 'initWasm()' detected.\");if($n)throw new Error(\"previous call to 'initWasm()' failed.\");if(xt=!0,ot())return new Promise((e,t)=>{xe?.terminate(),oo().then(([n,r])=>{try{xe=r,xe.onerror=i=>t(i),xe.onmessage=Mp,yr=[e,t];let o={type:\"init-wasm\",in:ne};if(!o.in.wasm.wasmPaths&&n){let i=Lt();i&&(o.in.wasm.wasmPaths=i)}xe.postMessage(o),_n=n}catch(o){t(o)}},t)});try{await zt(ne.wasm),await Dt(ne),wn=!0}catch(e){throw $n=!0,e}finally{xt=!1}}},Nu=async e=>{if(ot())return ct(),new Promise((t,n)=>{lt(\"init-ep\",[t,n]);let r={type:\"init-ep\",in:{epName:e,env:ne}};xe.postMessage(r)});await Bt(ne,e)},Wu=async e=>ot()?(ct(),new Promise((t,n)=>{lt(\"copy-from\",[t,n]);let r={type:\"copy-from\",in:{buffer:e}};xe.postMessage(r,[e.buffer])})):ft(e),Gu=async(e,t)=>{if(ot()){if(t?.preferredOutputLocation)throw new Error('session option \"preferredOutputLocation\" is not supported for proxy.');return ct(),new Promise((n,r)=>{lt(\"create\",[n,r]);let o={type:\"create\",in:{model:e,options:{...t}}},i=[];e instanceof Uint8Array&&i.push(e.buffer),xe.postMessage(o,i)})}else return Ot(e,t)},Hu=async e=>{if(ot())return ct(),new Promise((t,n)=>{lt(\"release\",[t,n]);let r={type:\"release\",in:e};xe.postMessage(r)});Mt(e)},Fu=async(e,t,n,r,o,i)=>{if(ot()){if(n.some(s=>s[3]!==\"cpu\"))throw new Error(\"input tensor on GPU is not supported for proxy.\");if(o.some(s=>s))throw new Error(\"pre-allocated output tensor is not supported for proxy.\");return ct(),new Promise((s,a)=>{lt(\"run\",[s,a]);let u=n,d={type:\"run\",in:{sessionId:e,inputIndices:t,inputs:u,outputIndices:r,options:i}};xe.postMessage(d,Vt(u))})}else return Ut(e,t,n,r,o,i)},qu=async e=>{if(ot())return ct(),new Promise((t,n)=>{lt(\"end-profiling\",[t,n]);let r={type:\"end-profiling\",in:e};xe.postMessage(r)});Rt(e)}});var Ku,Up,vn,ju=k(()=>{\"use strict\";we();_r();L();kt();Un();Ku=(e,t)=>{switch(e.location){case\"cpu\":return[e.type,e.dims,e.data,\"cpu\"];case\"gpu-buffer\":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},\"gpu-buffer\"];case\"ml-tensor\":return[e.type,e.dims,{mlTensor:e.mlTensor},\"ml-tensor\"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Up=e=>{switch(e[3]){case\"cpu\":return new Te(e[0],e[2],e[1]);case\"gpu-buffer\":{let t=e[0];if(!Gt(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:r,dispose:o}=e[2];return Te.fromGpuBuffer(n,{dataType:t,dims:e[1],download:r,dispose:o})}case\"ml-tensor\":{let t=e[0];if(!Ht(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:n,download:r,dispose:o}=e[2];return Te.fromMLTensor(n,{dataType:t,dims:e[1],download:r,dispose:o})}default:throw new Error(`invalid data location: ${e[3]}`)}},vn=class{async fetchModelAndCopyToWasmMemory(t){return Wu(await yt(t))}async loadModel(t,n){_e();let r;typeof t==\"string\"?r=await this.fetchModelAndCopyToWasmMemory(t):r=t,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Gu(r,n),ye()}async dispose(){return Hu(this.sessionId)}async run(t,n,r){_e();let o=[],i=[];Object.entries(t).forEach(p=>{let f=p[0],m=p[1],h=this.inputNames.indexOf(f);if(h===-1)throw new Error(`invalid input '${f}'`);o.push(m),i.push(h)});let s=[],a=[];Object.entries(n).forEach(p=>{let f=p[0],m=p[1],h=this.outputNames.indexOf(f);if(h===-1)throw new Error(`invalid output '${f}'`);s.push(m),a.push(h)});let u=o.map((p,f)=>Ku(p,()=>`input \"${this.inputNames[i[f]]}\"`)),d=s.map((p,f)=>p?Ku(p,()=>`output \"${this.outputNames[a[f]]}\"`):null),l=await Fu(this.sessionId,i,u,a,d,r),c={};for(let p=0;p<l.length;p++)c[this.outputNames[a[p]]]=s[p]??Up(l[p]);return ye(),c}startProfiling(){}endProfiling(){qu(this.sessionId)}}});var Qu={};pt(Qu,{OnnxruntimeWebAssemblyBackend:()=>xn,initializeFlags:()=>Zu,wasmBackend:()=>Rp});var Zu,xn,Rp,Xu=k(()=>{\"use strict\";we();_r();ju();Zu=()=>{(typeof ne.wasm.initTimeout!=\"number\"||ne.wasm.initTimeout<0)&&(ne.wasm.initTimeout=0);let e=ne.wasm.simd;if(typeof e!=\"boolean\"&&e!==void 0&&e!==\"fixed\"&&e!==\"relaxed\"&&(console.warn(`Property \"env.wasm.simd\" is set to unknown value \"${e}\". Reset it to \\`false\\` and ignore SIMD feature checking.`),ne.wasm.simd=!1),typeof ne.wasm.proxy!=\"boolean\"&&(ne.wasm.proxy=!1),typeof ne.wasm.trace!=\"boolean\"&&(ne.wasm.trace=!1),typeof ne.wasm.numThreads!=\"number\"||!Number.isInteger(ne.wasm.numThreads)||ne.wasm.numThreads<=0)if(typeof self<\"u\"&&!self.crossOriginIsolated)ne.wasm.numThreads=1;else{let t=typeof navigator>\"u\"?Tn(\"node:os\").cpus().length:navigator.hardwareConcurrency;ne.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},xn=class{async init(t){Zu(),await Lu(),await Nu(t)}async createInferenceSessionHandler(t,n){let r=new vn;return await r.loadModel(t,n),r}},Rp=new xn});we();we();we();var Zr=\"1.30.0\";var nx=Pn;{let e=(Xu(),Tt(Qu)).wasmBackend;Qe(\"webgpu\",e,5),Qe(\"webnn\",e,5),Qe(\"cpu\",e,10),Qe(\"wasm\",e,10)}Object.defineProperty(ne.versions,\"web\",{value:Zr,enumerable:!0});export{rd as InferenceSession,At as TRACE,Ne as TRACE_EVENT_BEGIN,We as TRACE_EVENT_END,_e as TRACE_FUNC_BEGIN,ye as TRACE_FUNC_END,Te as Tensor,nx as default,ne as env,Qe as registerBackend};\n/**\n * @license\n * Copyright 2021 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n//# sourceMappingURL=ort.min.mjs.map\n"],"x_google_ignoreList":[0],"mappings":"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"}
|