vendor: 4,538 bytes, line 1
1import{i as e,n as t,o as n}from"./_plugin-vue_export-helper-C6sfrxSQ.js";var r=1e-7,i=1e-4,a=class{constructor(e,t){this.backend=e,this.dataMover=t,this.data=new WeakMap,this.dataIdsCount=0}get(e){return this.data.has(e)||this.dataMover.moveData(this.backend,e),this.data.get(e)}set(e,t){this.dataIdsCount++,this.data.set(e,t)}has(e){return this.data.has(e)}delete(e){return this.dataIdsCount--,this.data.delete(e)}numDataIds(){return this.dataIdsCount}},o=class{refCount(e){return s(`refCount`)}incRef(e){return s(`incRef`)}timerAvailable(){return!0}time(e){return s(`time`)}read(e){return s(`read`)}readSync(e){return s(`readSync`)}readToGPU(e,t){return s(`readToGPU`)}numDataIds(){return s(`numDataIds`)}disposeData(e,t){return s(`disposeData`)}write(e,t,n){return s(`write`)}move(e,t,n,r,i){return s(`move`)}createTensorFromGPUData(e,t,n){return s(`createTensorFromGPUData`)}memory(){return s(`memory`)}floatPrecision(){return s(`floatPrecision`)}epsilon(){return this.floatPrecision()===32?r:i}dispose(){return s(`dispose`)}};function s(e){throw Error(`'${e}' not yet implemented or not found in the registry. This kernel may not be supported by the tfjs backend you have chosen`)}function c(e){let t=e.length,n=0;for(;t>0;)n=Math.random()*t|0,t--,d(e,t,n)}function l(e,t,n){return Math.max(e,Math.min(t,n))}function u(e){return e%2==0?e:e+1}function d(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function f(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n];return t}function p(e,t){if(!e)throw Error(typeof t==`string`?t:t())}function m(e,t,n=``){p(y(e,t),()=>n+` Shapes ${e} and ${t} must match`)}function h(e){p(e!=null,()=>`The input to the tensor constructor must be a non-null value.`)}function g(e){if(e.length===0)return 1;let t=e[0];for(let n=1;n<e.length;n++)t*=e[n];return t}function _(e){return e.length===0}function v(e,t){if(e===t)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==null&&t[n]!==null&&e[n]!==t[n])return!1;return!0}function y(e,t){if(e===t)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function b(e){return e%1==0}function x(e){let t=Math.ceil(Math.sqrt(e));return[t,Math.ceil(e/t)]}function S(e,t){return t<=e.length?e:e+` `.repeat(t-e.length)}function C(e,t=e=>0,n,r){return new Promise((i,a)=>{let o=0,s=()=>{if(e()){i();return}o++;let c=t(o);if(n!=null&&o>=n){a();return}r==null?setTimeout(s,c):r(s,c)};s()})}function w(e,t){let n=1,r=-1;for(let t=0;t<e.length;++t)if(e[t]>=0)n*=e[t];else if(e[t]===-1){if(r!==-1)throw Error(`Shapes can only have 1 implicit size. Found -1 at dim ${r} and dim ${t}`);r=t}else if(e[t]<0)throw Error(`Shapes can not be < 0. Found ${e[t]} at dim ${t}`);if(r===-1){if(t>0&&t!==n)throw Error(`Size(${t}) must match the product of shape ${e}`);return e}if(n===0)throw Error(`Cannot infer the missing size in [${e}] when there are 0 elements`);if(t%n!==0)throw Error(`The implicit shape can't be a fractional number. Got ${t} / ${n}`);let i=e.slice();return i[r]=t/n,i}function T(e,t){let n=t.length;return e=e==null?t.map((e,t)=>t):[].concat(e),p(e.every(e=>e>=-n&&e<n),()=>`All values in axis param must be in range [-${n}, ${n}) but got axis ${e}`),p(e.every(e=>b(e)),()=>`All values in axis param must be integers but got axis ${e}`),e.map(e=>e<0?n+e:e)}function E(e,t){let n=[],r=[],i=t!=null&&Array.isArray(t)&&t.length===0,a=t==null||i?null:T(t,e).sort(),o=0;for(let t=0;t<e.length;++t){if(a!=null){if(a[o]===t&&e[t]!==1)throw Error(`Can't squeeze axis ${t} since its dim '${e[t]}' is not 1`);(a[o]==null||a[o]>t)&&e[t]===1&&(n.push(e[t]),r.push(t)),a[o]<=t&&o++}e[t]!==1&&(n.push(e[t]),r.push(t))}return{newShape:n,keptDims:r}}function D(e,t){return O(e,t)}function O(e,t){let n=null;if(e==null||e===`float32`)n=new Float32Array(t);else if(e===`int32`)n=new Int32Array(t);else if(e===`bool`)n=new Uint8Array(t);else if(e===`string`)n=Array(t);else throw Error(`Unknown data type ${e}`);return n}function k(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(isNaN(r)||!isFinite(r))throw Error(`A tensor of type ${t} being uploaded contains ${r}.`)}}function A(e){return e===`bool`||e===`complex64`||e===`float32`||e===`int32`||e===`string`}function ee(e,t){return!(t===`complex64`||t===`float32`&&e!==`complex64`||t===`int32`&&e!==`float32`&&e!==`complex64`||t===`bool`&&e===`bool`)}function j(e){if(e===`float32`||e===`int32`)return 4;if(e===`complex64`)return 8;if(e===`bool`)return 1;throw Error(`Unknown dtype ${e}`)}function te(e){if(e==null)return 0;let t=0;
1return e.forEach(e=>t+=e.length),t}function ne(e){return typeof e==`string`||e instanceof String}function re(e){return typeof e==`boolean`}function ie(e){return typeof e==`number`}function ae(e){return Array.isArray(e)?ae(e[0]):e instanceof Float32Array?`float32`:e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray?`int32`:ie(e)?`float32`:ne(e)?`string`:re(e)?`bool`:`float32`}function oe(e){return!!(e&&e.constructor&&e.call&&e.apply)}function se(e,t){for(let n=t;n<e;++n)if(e%n===0)return n;return e}function M(e){let t=e.length;if(t<2)return[];let n=Array(t-1);n[t-2]=e[t-1];for(let r=t-3;r>=0;--r)n[r]=n[r+1]*e[r+1];return n}function ce(e,t,n,r=!1){let i=[];if(t.length===1){let a=t[0]*(r?2:1);for(let t=0;t<a;t++)i[t]=n[e+t]}else{let a=t[0],o=t.slice(1),s=o.reduce((e,t)=>e*t)*(r?2:1);for(let t=0;t<a;t++)i[t]=ce(e+t*s,o,n,r)}return i}function le(e,t,n=!1){if(e.length===0)return t[0];let r=e.reduce((e,t)=>e*t)*(n?2:1);if(r===0)return[];if(r!==t.length)throw Error(`[${e}] does not match the input size ${t.length}${n?` for a complex tensor`:``}.`);return ce(0,e,t,n)}function ue(e,t){if(Array.isArray(e))return e;if(t===`float32`)return e instanceof Float32Array?e:new Float32Array(e);if(t===`int32`)return e instanceof Int32Array?e:new Int32Array(e);if(t===`bool`||t===`string`)return Uint8Array.from(new Int32Array(e));throw Error(`Unknown dtype ${t}`)}function de(e,t){let n=fe(e,t);for(let e=0;e<n.length;e++)n[e]=1;return n}function fe(e,t){if(t==null||t===`float32`||t===`complex64`)return new Float32Array(e);if(t===`int32`)return new Int32Array(e);if(t===`bool`)return new Uint8Array(e);throw Error(`Unknown data type ${t}`)}function pe(e,t){let n=e.reduce((e,t)=>e*t,1);if(t==null||t===`float32`)return le(e,new Float32Array(n));if(t===`int32`)return le(e,new Int32Array(n));if(t===`bool`)return le(e,new Uint8Array(n));throw Error(`Unknown data type ${t}`)}function me(e){e.forEach(t=>{p(Number.isInteger(t)&&t>=0,()=>`Tensor must have a shape comprised of positive integers but got shape [${e}].`)})}function he(e,t,n){if(t===0)return 0;if(t===1)return e[0];let r=e[e.length-1];for(let t=0;t<e.length-1;++t)r+=n[t]*e[t];return r}function ge(e,t,n){if(t===0)return[];if(t===1)return[e];let r=Array(t);for(let t=0;t<r.length-1;++t)r[t]=Math.floor(e/n[t]),e-=r[t]*n[t];return r[r.length-1]=e,r}function _e(e){return e&&e.then&&typeof e.then==`function`}var ve=`tfjsflags`,ye=class{constructor(e){this.global=e,this.flags={},this.flagRegistry={},this.urlFlags={},this.getQueryParams=be,this.populateURLFlags()}setPlatform(e,t){this.platform!=null&&(N().getBool(`IS_TEST`)||N().getBool(`PROD`)||console.warn(`Platform ${this.platformName} has already been set. Overwriting the platform with ${e}.`)),this.platformName=e,this.platform=t}registerFlag(e,t,n){if(this.flagRegistry[e]={evaluationFn:t,setHook:n},this.urlFlags[e]!=null){let t=this.urlFlags[e];N().getBool(`IS_TEST`)||N().getBool(`PROD`)||console.warn(`Setting feature override from URL ${e}: ${t}.`),this.set(e,t)}}async getAsync(e){return e in this.flags||(this.flags[e]=await this.evaluateFlag(e)),this.flags[e]}get(e){if(e in this.flags)return this.flags[e];let t=this.evaluateFlag(e);if(_e(t))throw Error(`Flag ${e} cannot be synchronously evaluated. Please use getAsync() instead.`);return this.flags[e]=t,this.flags[e]}getNumber(e){return this.get(e)}getBool(e){return this.get(e)}getString(e){return this.get(e)}getFlags(){return this.flags}get features(){return this.flags}set(e,t){if(this.flagRegistry[e]==null)throw Error(`Cannot set flag ${e} as it has not been registered.`);this.flags[e]=t,this.flagRegistry[e].setHook!=null&&this.flagRegistry[e].setHook(t)}evaluateFlag(e){if(this.flagRegistry[e]==null)throw Error(`Cannot evaluate flag '${e}': no evaluation function found.`);return this.flagRegistry[e].evaluationFn()}setFlags(e){this.flags=Object.assign({},e)}reset(){this.flags={},this.urlFlags={},this.populateURLFlags()}populateURLFlags(){if(this.global===void 0||this.global.location===void 0||this.global.location.search===void 0)return;let e=this.getQueryParams(this.global.location.search);
vendor: 5,526 bytes, line 1
1ve in e&&e[ve].split(`,`).forEach(e=>{let[t,n]=e.split(`:`);this.urlFlags[t]=Se(t,n)})}};function be(e){let t={};return e.replace(/[?&]([^=?&]+)(?:=([^&]*))?/g,(e,...n)=>(xe(t,n[0],n[1]),n.join(`=`))),t}function xe(e,t,n){e[decodeURIComponent(t)]=decodeURIComponent(n||``)}function Se(e,t){let n=t.toLowerCase();return n===`true`||n===`false`?n===`true`:`${+n}`===n?+n:t}function N(){return Ce}var Ce=null;function we(e){Ce=e}var Te;function Ee(){if(Te==null){let e;if(typeof window<`u`)e=window;else if(typeof global<`u`)e=global;else if(typeof process<`u`)e=process;else if(typeof self<`u`)e=self;else throw Error(`Could not find a global object`);Te=e}return Te}function De(){let e=Ee();return e._tfGlobals??=new Map,e._tfGlobals}function Oe(e,t){let n=De();if(n.has(e))return n.get(e);{let r=t();return n.set(e,r),n.get(e)}}var ke=`Acos`,Ae=`Acosh`,je=`AddN`,Me=`ArgMax`,Ne=`ArgMin`,Pe=`Asin`,Fe=`Asinh`,Ie=`Atan`,Le=`Atanh`,Re=`Atan2`,ze=`AvgPool`,Be=`AvgPoolGrad`,Ve=`AvgPool3D`,He=`AvgPool3DGrad`,Ue=`BatchMatMul`,We=`BatchToSpaceND`,Ge=`Bincount`,Ke=`BitwiseAnd`,qe=`BroadcastTo`,Je=`BroadcastArgs`,Ye=`Cast`,Xe=`Ceil`,P=`ClipByValue`,Ze=`Complex`,Qe=`ComplexAbs`,$e=`Concat`,et=`Conv2D`,tt=`Conv2DBackpropFilter`,nt=`Conv2DBackpropInput`,rt=`Conv3D`,it=`Conv3DBackpropFilterV2`,at=`Conv3DBackpropInputV2`,ot=`Cosh`,st=`Cumprod`,ct=`Cumsum`,lt=`CropAndResize`,ut=`DenseBincount`,dt=`DepthToSpace`,ft=`DepthwiseConv2dNative`,pt=`DepthwiseConv2dNativeBackpropFilter`,mt=`DepthwiseConv2dNativeBackpropInput`,ht=`Diag`,gt=`Dilation2D`,_t=`Dilation2DBackpropInput`,vt=`Dilation2DBackpropFilter`,yt=`Draw`,bt=`RealDiv`,xt=`Einsum`,St=`EluGrad`,Ct=`Equal`,wt=`ExpandDims`,Tt=`Expm1`,Et=`Fill`,Dt=`FlipLeftRight`,Ot=`Floor`,kt=`FloorDiv`,At=`FusedBatchNorm`,jt=`GatherV2`,Mt=`GatherNd`,Nt=`Greater`,Pt=`GreaterEqual`,Ft=`Identity`,It=`IFFT`,Lt=`Imag`,Rt=`IsFinite`,zt=`IsInf`,Bt=`IsNan`,Vt=`LeakyRelu`,Ht=`Less`,Ut=`LessEqual`,Wt=`LinSpace`,Gt=`Log1p`,Kt=`LogicalAnd`,qt=`LogicalNot`,Jt=`LogicalOr`,Yt=`LogicalXor`,Xt=`LogSoftmax`,Zt=`LRNGrad`,Qt=`Maximum`,$t=`MaxPool`,en=`MaxPoolGrad`,tn=`MaxPool3D`,nn=`MaxPool3DGrad`,rn=`MaxPoolWithArgmax`,an=`Mean`,on=`Minimum`,sn=`MirrorPad`,cn=`Multinomial`,ln=`Multiply`,un=`NotEqual`,dn=`NonMaxSuppressionV3`,fn=`NonMaxSuppressionV4`,pn=`NonMaxSuppressionV5`,mn=`OnesLike`,hn=`OneHot`,gn=`Pack`,_n=`PadV2`,vn=`Prelu`,yn=`Prod`,bn=`RaggedGather`,xn=`RaggedRange`,Sn=`RaggedTensorToTensor`,Cn=`Range`,wn=`Real`,Tn=`Reciprocal`,En=`Relu`,Dn=`Reshape`,On=`ResizeNearestNeighbor`,kn=`ResizeNearestNeighborGrad`,An=`ResizeBilinear`,jn=`ResizeBilinearGrad`,Mn=`Relu6`,Nn=`Reverse`,Pn=`Round`,Fn=`Rsqrt`,In=`ScatterNd`,Ln=`TensorScatterUpdate`,Rn=`SearchSorted`,zn=`Select`,Bn=`Selu`,Vn=`Slice`,Hn=`Sinh`,Un=`Sign`,Wn=`Sigmoid`,Gn=`Softplus`,Kn=`Sqrt`,qn=`SpaceToBatchND`,Jn=`SplitV`,Yn=`Softmax`,Xn=`SparseFillEmptyRows`,Zn=`SparseReshape`,Qn=`SparseSegmentMean`,$n=`SparseSegmentSum`,er=`SparseToDense`,tr=`SquaredDifference`,nr=`Square`,rr=`StaticRegexReplace`,ir=`StridedSlice`,ar=`StringNGrams`,or=`StringSplit`,sr=`StringToHashBucketFast`,cr=`Tanh`,lr=`Tile`,ur=`TopK`,dr=`Transform`,fr=`Transpose`,pr=`Unique`,mr=`Unpack`,hr=`UnsortedSegmentSum`,gr=`ZerosLike`,_r=`Step`,vr=`FromPixels`,yr=`RotateWithOffset`,br=`_FusedMatMul`,xr=`FusedConv2D`,Sr=`FusedDepthwiseConv2D`;function Cr(...e){N().getBool(`IS_TEST`)||N().getBool(`PROD`)||console.warn(...e)}function wr(...e){N().getBool(`IS_TEST`)||N().getBool(`PROD`)||console.log(...e)}var Tr=Oe(`kernelRegistry`,()=>new Map),Er=Oe(`gradRegistry`,()=>new Map);function Dr(e,t){let n=Mr(e,t);return Tr.get(n)}function Or(e){return Er.get(e)}function kr(e){let t=Tr.entries(),n=[];for(;;){let{done:r,value:i}=t.next();if(r)break;let[a,o]=i,[s]=a.split(`_`);s===e&&n.push(o)}return n}function Ar(e){let{kernelName:t,backendName:n}=e,r=Mr(t,n);Tr.has(r)&&Cr(`The kernel '${t}' for backend '${n}' is already registered`),Tr.set(r,e)}function jr(e){let{kernelName:t}=e;Er.has(t)&&N().getBool(`DEBUG`)&&Cr(`Overriding the gradient for '${t}'`),Er.set(t,e)}function Mr(e,t){return`${t}_${e}`}function Nr(e){return e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray}var Pr=n(t(((e,t)=>{t.exports=r;var n=null;try{n=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function r(e,t,n){this.low=e|0,this.high=t|0,this.unsigned=!!n}r.prototype.__isLong__,Object.defineProperty(r.prototype,"__isLong__",{value:!0});function i(e){return(e&&e.__isLong__)===!0}r.isLong=i;var a={},o={};function s(e,t){var n,r,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(r=o[e],r)?r:(n=l(e,(e|0)<0?-1:0,!0),i&&(o[e]=n),n)
1):(e|=0,(i=-128<=e&&e<128)&&(r=a[e],r)?r:(n=l(e,e<0?-1:0,!1),i&&(a[e]=n),n))}r.fromInt=s;function c(e,t){if(isNaN(e))return t?b:y;if(t){if(e<0)return b;if(e>=g)return T}else{if(e<=-_)return E;if(e+1>=_)return w}return e<0?c(-e,t).neg():l(e%h|0,e/h|0,t)}r.fromNumber=c;function l(e,t,n){return new r(e,t,n)}r.fromBits=l;var u=Math.pow;function d(e,t,n){if(e.length===0)throw Error(`empty string`);if(e===`NaN`||e===`Infinity`||e===`+Infinity`||e===`-Infinity`)return y;if(typeof t==`number`?(n=t,t=!1):t=!!t,n||=10,n<2||36<n)throw RangeError(`radix`);var r;if((r=e.indexOf(`-`))>0)throw Error(`interior hyphen`);if(r===0)return d(e.substring(1),t,n).neg();for(var i=c(u(n,8)),a=y,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),l=parseInt(e.substring(o,o+s),n);if(s<8){var f=c(u(n,s));a=a.mul(f).add(c(l))}else a=a.mul(i),a=a.add(c(l))}return a.unsigned=t,a}r.fromString=d;function f(e,t){return typeof e==`number`?c(e,t):typeof e==`string`?d(e,t):l(e.low,e.high,typeof t==`boolean`?t:e.unsigned)}r.fromValue=f;var p=65536,m=1<<24,h=p*p,g=h*h,_=g/2,v=s(m),y=s(0);r.ZERO=y;var b=s(0,!0);r.UZERO=b;var x=s(1);r.ONE=x;var S=s(1,!0);r.UONE=S;var C=s(-1);r.NEG_ONE=C;var w=l(-1,2147483647,!1);r.MAX_VALUE=w;var T=l(-1,-1,!0);r.MAX_UNSIGNED_VALUE=T;var E=l(0,-2147483648,!1);r.MIN_VALUE=E;var D=r.prototype;D.toInt=function(){return this.unsigned?this.low>>>0:this.low},D.toNumber=function(){return this.unsigned?(this.high>>>0)*h+(this.low>>>0):this.high*h+(this.low>>>0)},D.toString=function(e){if(e||=10,e<2||36<e)throw RangeError(`radix`);if(this.isZero())return`0`;if(this.isNegative()){if(this.eq(E)){var t=c(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}return`-`+this.neg().toString(e)}for(var i=c(u(e,6),this.unsigned),a=this,o=``;;){var s=a.div(i),l=(a.sub(s.mul(i)).toInt()>>>0).toString(e);if(a=s,a.isZero())return l+o;for(;l.length<6;)l=`0`+l;o=``+l+o}},D.getHighBits=function(){return this.high},D.getHighBitsUnsigned=function(){return this.high>>>0},D.getLowBits=function(){return this.low},D.getLowBitsUnsigned=function(){return this.low>>>0},D.getNumBitsAbs=function(){if(this.isNegative())return this.eq(E)?64:this.neg().getNumBitsAbs();for(var e=this.high==0?this.low:this.high,t=31;t>0&&!(e&1<<t);t--);return this.high==0?t+1:t+33},D.isZero=function(){return this.high===0&&this.low===0},D.eqz=D.isZero,D.isNegative=function(){return!this.unsigned&&this.high<0},D.isPositive=function(){return this.unsigned||this.high>=0},D.isOdd=function(){return(this.low&1)==1},D.isEven=function(){return!(this.low&1)},D.equals=function(e){return i(e)||(e=f(e)),this.unsigned!==e.unsigned&&this.high>>>31==1&&e.high>>>31==1?!1:this.high===e.high&&this.low===e.low},D.eq=D.equals,D.notEquals=function(e){return!this.eq(e)},D.neq=D.notEquals,D.ne=D.notEquals,D.lessThan=function(e){return this.comp(e)<0},D.lt=D.lessThan,D.lessThanOrEqual=function(e){return this.comp(e)<=0},D.lte=D.lessThanOrEqual,D.le=D.lessThanOrEqual,D.greaterThan=function(e){return this.comp(e)>0},D.gt=D.greaterThan,D.greaterThanOrEqual=function(e){return this.comp(e)>=0},D.gte=D.greaterThanOrEqual,D.ge=D.greaterThanOrEqual,D.compare=function(e){if(i(e)||(e=f(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},D.comp=D.compare,D.negate=function(){return!this.unsigned&&this.eq(E)?E:this.not().add(x)},D.neg=D.negate,D.add=function(e){i(e)||(e=f(e));var t=this.high>>>16,n=this.high&65535,r=this.low>>>16,a=this.low&65535,o=e.high>>>16,s=e.high&65535,c=e.low>>>16,u=e.low&65535,d=0,p=0,m=0,h=0;return h+=a+u,m+=h>>>16,h&=65535,m+=r+c,p+=m>>>16,m&=65535,p+=n+s,d+=p>>>16,p&=65535,d+=t+o,d&=65535,l(m<<16|h,d<<16|p,this.unsigned)},D.subtract=function(e){return i(e)||(e=f(e)),this.add(e.neg())},D.sub=D.subtract,D.multiply=function(e){if(this.isZero())return y;if(i(e)||(e=f(e)),n)return l(n.mul(this.low,this.high,e.low,e.high),n.get_high(),this.unsigned);if(e.isZero())return y;if(this.eq(E))return e.isOdd()?E:y;if(e.eq(E))return this.isOdd()?E:y;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(v)&&e.lt(v))return c(this.toNumber()*e.toNumber(),this.unsigned);var t=this.high>>>16,r=this.high&65535,a=this.low>>>16,o=this.low&65535,s=e.high>>>16,u=e.high&65535,d=e.low>>>16,p=e.low&65535,m=0,h=0,g=0,_=0;return _+=o*p,g+=_>>>16,_&=65535,g+=a*p,h+=g>>>16,g&=65535,g+=o*d,h+=g>>>16,g&=65535,h+=r*p,m+=h>>>16,h&=65535,h+=a*d,m+=h>>>16,h&=65535,h+=o*u,m+=h>>>16,h&=65535,m+=t*p+r*d+a*u+o*s,m&=65535,l(g<<16|_,m<<16|h,this.unsigned)},D.mul=D.multiply,D.divide=function(e){if(i(e)||(e=f(e)),e.isZero())throw Error(`division by zero`);if(n)return!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1?this:l((this.unsigned?n.div_u:n.div_s)(this.low,this.high,e.low,e.high),n.get_high(),this.unsigned);if(this.isZero())return this.unsigned?b:y;var t,r,a;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return b;if(e.gt(this.shru(1)))return S;a=b}else{if(this.eq(E))return e.eq(x)||e.eq(C)?E:e.eq(E)?x:(t=this.shr(1).div(e).shl(1),t.eq(y)?e.isNegative()?x:C:(r=this.sub(e.mul(t)),a=t.add(r.div(e)),a));if(e.eq(E))return this.unsigned?b:y;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();a=y}for(r=this;r.gte(e);){t=Math.max(1,Math.floor(r.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(t)/Math.LN2),s=o<=48?1:u(2,o-48),d=c(t),p=d.mul(e);p.isNegative()||p.gt(r);)t-=s,d=c(t,this.unsigned),p=d.mul(e);d.isZero()&&(d=x),a=a.add(d),r=r.sub(p)}return a},D.div=D.divide,D.modulo=function(e){return i(e)||(e=f(e)),n?l((this.unsigned?n.rem_u:n.rem_s)(this.low,this.high,e.low,e.high),n.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},D.mod=D.modulo,D.rem=D.modulo,D.not=function(){return l(~this.low,~this.high,this.unsigned)},D.and=function(e){return i(e)||(e=f(e)),l(this.low&e.low,this.high&e.high,this.unsigned)},D.or=function(e){return i(e)||(e=f(e)),l(this.low|e.low,this.high|e.high,this.unsigned)},D.xor=function(e){return i(e)||(e=f(e)),l(this.low^e.low,this.high^e.high,this.unsigned)},D.shiftLeft=function(e){return i(e)&&(e=e.toInt()),(e&=63)==0?this:e<32?l(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):l(0,this.low<<e-32,this.unsigned)},D.shl=D.shiftLeft,D.shiftRight=function(e){return i(e)&&(e=e.toInt()),(e&=63)==0?this:e<32?l(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):l(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},D.shr=D.shiftRight,D.shiftRightUnsigned=function(e){if(i(e)&&(e=e.toInt()),e&=63,e===0)return this;var t=this.high;if(e<32){var n=this.low;return l(n>>>e|t<<32-e,t>>>e,this.unsigned)}return l(e===32?t:t>>>e-32,0,this.unsigned)},D.shru=D.shiftRightUnsigned,D.shr_u=D.shiftRightUnsigned,D.toSigned=function(){return this.unsigned?l(this.low,this.high,!1):this},D.toUnsigned=function(){return this.unsigned?this:l(this.low,this.high,!0)},D.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},D.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>
vendor: 4,963 bytes, line 1
1>8&255,e>>>16&255,e>>>24]},D.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]},r.fromBytes=function(e,t,n){return n?r.fromBytesLE(e,t):r.fromBytesBE(e,t)},r.fromBytesLE=function(e,t){return new r(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},r.fromBytesBE=function(e,t){return new r(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)}}))()),Fr=Pr.default||Pr;function Ir(e){return Fr.fromString(e,!0,16)}var Lr=Ir(`c3a5c85c97cb3127`),Rr=Ir(`b492b66fbe98f273`),zr=Ir(`9ae16a3b2f90404f`);function Br(e){return e.xor(e.shru(47))}function Vr(e,t,n){let r=e.slice(t,t+n);return Fr.fromBytes(Array.from(r),!0,!0)}function F(e,t){return Vr(e,t,8)}function Hr(e,t){return Vr(e,t,4)}function Ur(e,t){return t===0?e:e.shru(t).or(e.shl(64-t))}function Wr(e,t,n=Ir(`9ddfea08eb382d69`)){let r=e.xor(t).mul(n);r=r.xor(r.shru(47));let i=t.xor(r).mul(n);return i=i.xor(i.shru(47)),i=i.mul(n),i}function Gr(e,t,n,r,i,a){i=i.add(e),a=Ur(a.add(i).add(r),21);let o=i;return i=i.add(t),i=i.add(n),a=a.add(Ur(i,44)),[i.add(r),a.add(o)]}function Kr(e,t,n,r){return Gr(F(e,t),F(e,t+8),F(e,t+16),F(e,t+24),n,r)}function qr(e,t=e.length){if(t>=8){let n=zr.add(t*2),r=F(e,0).add(zr),i=F(e,t-8);return Wr(Ur(i,37).mul(n).add(r),Ur(r,25).add(i).mul(n),n)}if(t>=4){let n=zr.add(t*2);return Wr(Hr(e,0).shl(3).add(t),Hr(e,t-4),n)}if(t>0){let n=e[0],r=e[t>>1],i=e[t-1],a=n+(r<<8),o=t+(i<<2);return Br(zr.mul(a).xor(Lr.mul(o))).mul(zr)}return zr}function Jr(e,t=e.length){let n=zr.add(t*2),r=F(e,0).mul(Rr),i=F(e,8),a=F(e,t-8).mul(n),o=F(e,t-16).mul(zr);return Wr(Ur(r.add(i),43).add(Ur(a,30)).add(o),r.add(Ur(i.add(zr),18)).add(a),n)}function Yr(e,t=e.length){let n=zr.add(t*2),r=F(e,0).mul(zr),i=F(e,8),a=F(e,t-8).mul(n),o=F(e,t-16).mul(zr),s=Ur(r.add(i),43).add(Ur(a,30)).add(o),c=Wr(s,r.add(Ur(i.add(zr),18)).add(a),n),l=F(e,16).mul(n),u=F(e,24),d=s.add(F(e,t-32)).mul(n),f=c.add(F(e,t-24)).mul(n);return Wr(Ur(l.add(u),43).add(Ur(d,30)).add(f),l.add(Ur(u.add(r),18)).add(d),n)}function Xr(e,t=e.length){let n=Fr.fromNumber(81,!0);if(t<=32)return t<=16?qr(e,t):Jr(e,t);if(t<=64)return Yr(e,t);let r=n,i=n.mul(Rr).add(113),a=Br(i.mul(zr).add(113)).mul(zr),o=[Fr.UZERO,Fr.UZERO],s=[Fr.UZERO,Fr.UZERO];r=r.mul(zr).add(F(e,0));let c=0,l=(t-1>>6)*64,u=l+(t-1&63)-63;do r=Ur(r.add(i).add(o[0]).add(F(e,c+8)),37).mul(Rr),i=Ur(i.add(o[1]).add(F(e,c+48)),42).mul(Rr),r=r.xor(s[1]),i=i.add(o[0]).add(F(e,c+40)),a=Ur(a.add(s[0]),33).mul(Rr),o=Kr(e,c,o[1].mul(Rr),r.add(s[0])),s=Kr(e,c+32,a.add(s[1]),i.add(F(e,c+16))),[a,r]=[r,a],c+=64;while(c!==l);let d=Rr.add(a.and(255).shl(1));return c=u,s[0]=s[0].add(t-1&63),o[0]=o[0].add(s[0]),s[0]=s[0].add(o[0]),r=Ur(r.add(i).add(o[0]).add(F(e,c+8)),37).mul(d),i=Ur(i.add(o[1]).add(F(e,c+48)),42).mul(d),r=r.xor(s[1].mul(9)),i=i.add(o[0].mul(9).add(F(e,c+40))),a=Ur(a.add(s[0]),33).mul(d),o=Kr(e,c,o[1].mul(d),r.add(s[0])),s=Kr(e,c+32,a.add(s[1]),i.add(F(e,c+16))),[a,r]=[r,a],Wr(Wr(o[0],s[0],d).add(Br(i).mul(Lr)).add(a),Wr(o[1],s[1],d).add(r),d)}function Zr(e,t){return t===`string`?ni(e):$r([e],t)}function Qr(e,t){return e instanceof Float32Array&&t===`float32`||e instanceof Int32Array&&t===`int32`||e instanceof Uint8Array&&t===`bool`}function $r(e,t){if(t===`string`)throw Error(`Cannot convert a string[] to a TypedArray`);if(Array.isArray(e)&&(e=ai(e)),N().getBool(`DEBUG`)&&k(e,t),Qr(e,t))return e;if(t==null||t===`float32`||t===`complex64`)return new Float32Array(e);if(t===`int32`)return new Int32Array(e);if(t===`bool`){let t=new Uint8Array(e.length);for(let n=0;n<t.length;++n)Math.round(e[n])!==0&&(t[n]=1);return t}throw Error(`Unknown data type ${t}`)}function ei(){return N().platform.now()}function ti(e,t){return N().platform.fetch(e,t)}function ni(e,t=`utf-8`){return t||=`utf-8`,N().platform.encode(e,t)}function ri(e,t=`utf-8`){return t||=`utf-8`,N().platform.decode(e,t)}function ii(e){return N().platform.isTypedArray==null?Nr(e):N().platform.isTypedArray(e)}function ai(e,t=[],n=!1){if(t??=[],typeof e==`boolean`||typeof e==`number`||typeof e==`string`||_e(e)||e==null||ii(e)&&n)t.push(e);else if(Array.isArray(e)||ii(e))for(let r=0;r<e.length;++r)ai(e[r],t,n);else{let r=-1;for(let t of Object.keys(e))/^([1-9]+[0-9]*|0)$/.test(t)&&(r=Math.max(r,Number(t)));for(let i=0;i<=r;i++)ai(e[i],t,n)}return t}var oi=class{constructor(e,t){this.backendTimer=e,this.logger=t,t??(this.logger=new ci)}profileKernel(e,t,n){let r,i=()=>{r=n()},a,o=ei();if(this.backendTimer.timerAvailable())a=this.backendTimer.time(i);else{i();for(let e of r)e.dataSync();a=Promise.resolve({kernelMs:ei()-o})}if(N().getBool(`CHECK_COMPUTATION_FOR_ERRORS`))for(let t=0;t<r.length;t++){let n=r[t];n.data().then(t=>{si(t,n.dtype,e)})}return{kernelName:e,outputs:r,inputs:t,timeMs:a.then(e=>e.kernelMs),extraInfo:a.then(e=>e.getExtraProfileInfo==null?``:e.getExtraProfileInfo())}}logKernelProfile(e){let{kernelName:t,outputs:n,timeMs:r,inputs:i,extraInfo:a}=e;
vendor: 5,431 bytes, lines 1-5
1n.forEach(e=>{Promise.all([e.data(),r,a]).then(n=>{this.logger.logKernelProfile(t,e,n[0],n[1],i,n[2])})})}};function si(e,t,n){if(t!==`float32`)return!1;for(let t=0;t<e.length;t++){let r=e[t];if(isNaN(r)||!isFinite(r))return console.warn(`Found ${r} in the result of '${n}'`),!0}return!1}var ci=class{logKernelProfile(e,t,n,r,i,a){let o=typeof r==`number`?S(`${r}ms`,9):r.error,s=S(e,25),c=t.rank,l=t.size,u=S(t.shape.toString(),14),d=``;for(let e in i){let n=i[e];if(n!=null){let r=n.shape||t.shape,i=r.length;d+=`${e}: ${i}D ${i>0?r:``} `}}console.log(`%c${s}\t%c${o}\t%c${c}D ${u}\t%c${l}\t%c${d}\t%c${a}`,`font-weight:bold`,`color:red`,`color:blue`,`color: orange`,`color: green`,`color: steelblue`)}};function li(e,t,n){let r={},i={};for(let e=0;e<t.length;e++)r[t[e].id]=!0;for(let n=0;n<e.length;n++){let a=e[n],o=a.inputs;for(let e in o){let n=o[e],s=!1;for(let e=0;e<t.length;e++)if(r[n.id]){a.outputs.forEach(e=>r[e.id]=!0),s=!0,i[a.id]=!0;break}if(s)break}}let a={};a[n.id]=!0;let o={};for(let t=e.length-1;t>=0;t--){let n=e[t],r=n.inputs;for(let e=0;e<n.outputs.length;e++)if(a[n.outputs[e].id]){for(let e in r)a[r[e].id]=!0,o[n.id]=!0;break}}let s=[];for(let t=0;t<e.length;t++){let n=e[t];if(i[n.id]&&o[n.id]){let e={};for(let t in n.inputs){let i=n.inputs[t];r[i.id]&&(e[t]=i)}let t=Object.assign({},n);t.inputs=e,t.outputs=n.outputs,s.push(t)}}return s}function ui(e,t,n,r){for(let i=t.length-1;i>=0;i--){let a=t[i],o=[];if(a.outputs.forEach(t=>{let n=e[t.id];n==null?o.push(null):o.push(n)}),a.gradient==null)throw Error(`Cannot compute gradient: gradient function not found for ${a.kernelName}.`);let s=a.gradient(o);for(let t in a.inputs){if(!(t in s))throw Error(`Cannot backprop through input ${t}. Available gradients found: ${Object.keys(s)}.`);let i=n(()=>s[t]());if(i.dtype!==`float32`)throw Error(`Error in gradient for op ${a.kernelName}. The gradient of input ${t} must have 'float32' dtype, but has '${i.dtype}'`);let o=a.inputs[t];if(!y(i.shape,o.shape))throw Error(`Error in gradient for op ${a.kernelName}. The gradient of input '${t}' has shape '${i.shape}', which does not match the shape of the input '${o.shape}'`);if(e[o.id]==null)e[o.id]=i;else{let t=e[o.id];e[o.id]=r(t,i),t.dispose()}}}}var di=20,fi=3,pi=7;function mi(e,t,n,r){let i=M(t),a=hi(e,t,n,i),o=t.length,s=vi(e,t,n,i,a),c=[`Tensor`];return r&&(c.push(` dtype: ${n}`),c.push(` rank: ${o}`),c.push(` shape: [${t}]`),c.push(` values:`)),c.push(s.map(e=>` `+e).join(` 2`)),c.join(` 3`)}function hi(e,t,n,r){let i=g(t),a=r[r.length-1],o=Array(a).fill(0),s=t.length,c=n===`complex64`?yi(e):e;if(s>1)for(let e=0;e<i/a;e++){let t=e*a;for(let e=0;e<a;e++)o[e]=Math.max(o[e],gi(c[t+e],0,n).length)}return o}function gi(e,t,n){let r;return r=Array.isArray(e)?`${parseFloat(e[0].toFixed(pi))} + ${parseFloat(e[1].toFixed(pi))}j`:ne(e)?`'${e}'`:n===`bool`?_i(e):parseFloat(e.toFixed(pi)).toString(),S(r,t)}function _i(e){return e===0?`false`:`true`}function vi(e,t,n,r,i,a=!0){let o=n===`complex64`?2:1,s=t[0],c=t.length;if(c===0)return n===`complex64`?[gi(yi(e)[0],0,n)]:n===`bool`?[_i(e[0])]:[e[0].toString()];if(c===1){if(s>di){let t=fi*o,r=Array.from(e.slice(0,t)),a=Array.from(e.slice((s-fi)*o,s*o));return n===`complex64`&&(r=yi(r),a=yi(a)),[`[`+r.map((e,t)=>gi(e,i[t],n)).join(`, `)+`, ..., `+a.map((e,t)=>gi(e,i[s-fi+t],n)).join(`, `)+`]`]}return[`[`+(n===`complex64`?yi(e):Array.from(e)).map((e,t)=>gi(e,i[t],n)).join(`, `)+`]`]}let l=t.slice(1),u=r.slice(1),d=r[0]*o,f=[];if(s>di){for(let t=0;t<fi;t++){let r=t*d,a=r+d;f.push(...vi(e.slice(r,a),l,n,u,i,!1))}f.push(`...`);for(let t=s-fi;t<s;t++){let r=t*d,a=r+d;f.push(...vi(e.slice(r,a),l,n,u,i,t===s-1))}}else for(let t=0;t<s;t++){let r=t*d,a=r+d;f.push(...vi(e.slice(r,a),l,n,u,i,t===s-1))}let p=c===2?`,`:``;f[0]=`[`+(s>0?f[0]+p:``);for(let e=1;e<f.length-1;e++)f[e]=` `+f[e]+p;let m=`, 4`;for(let e=2;e<c;e++)m+=` 5`;return f[f.length-1]=` `+f[f.length-1]+`]`+(a?``:m),f}function yi(e){let t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}var bi=class{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=g(e),n!=null){let e=n.length;p(e===this.size,()=>`Length of values '${e}' does not match the size inferred by the shape '${this.size}'.`)}if(t===`complex64`)throw Error(`complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).`);this.values=n||O(t,this.size),this.strides=M(e)}set(e,...t){t.length===0&&(t=[0]),p(t.length===this.rank,()=>`The number of provided coordinates (${t.length}) must match the rank (${this.rank})`);let n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let n of e){if(n<0||n>=this.shape[t]){let t=`Requested out of range element at ${e}. Buffer shape=${this.shape}`;throw Error(t)}t++}let n=e[e.length-1];for(let t=0;t<e.length-1;++t)n+=this.strides[t]*e[t];return this.values[n]}locToIndex(e){if(this.rank===0)return 0;if(this.rank===1)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(this.rank===0)return[];if(this.rank===1)return[e];let t=Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return xi().makeTensor(this.values,this.shape,this.dtype)}},xi=null,Si=null;function Ci(e){xi=e}
5function wi(e){Si=e}var Ti=class{constructor(e,t,n,r){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||`float32`,this.size=g(e),this.strides=M(e),this.dataId=n,this.id=r,this.rankType=this.rank<5?this.rank.toString():`higher`}get rank(){return this.shape.length}async buffer(){let e=await this.data();return Si.buffer(this.shape,this.dtype,e)}bufferSync(){return Si.buffer(this.shape,this.dtype,this.dataSync())}async array(){let e=await this.data();return le(this.shape,e,this.dtype===`complex64`)}arraySync(){return le(this.shape,this.dataSync(),this.dtype===`complex64`)}async data(){this.throwIfDisposed();let e=xi().read(this.dataId);if(this.dtype===`string`){let t=await e;try{return t.map(e=>ri(e))}catch{throw Error(`Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().`)}}return e}dataToGPU(e){return this.throwIfDisposed(),xi().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();let e=xi().readSync(this.dataId);if(this.dtype===`string`)try{return e.map(e=>ri(e))}catch{throw Error(`Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().`)}return e}async bytes(){this.throwIfDisposed();let e=await xi().read(this.dataId);return this.dtype===`string`?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(this.kerasMask&&this.kerasMask.dispose(),xi().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw Error(`Tensor is disposed.`)}print(e=!1){return Si.print(this,e)}clone(){return this.throwIfDisposed(),Si.clone(this)}toString(e=!1){return mi(this.dataSync(),this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Si.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),xi().makeVariable(this,e,t,n)}};Object.defineProperty(Ti,Symbol.hasInstance,{value:e=>!!e&&e.data!=null&&e.dataSync!=null&&e.throwIfDisposed!=null});function Ei(){return Oe(`Tensor`,()=>Ti)}Ei();var Di=class extends Ti{constructor(e,t,n,r){super(e.shape,e.dtype,e.dataId,r),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw Error(`dtype of the new value (${e.dtype}) and previous value (${this.dtype}) must match`);if(!y(e.shape,this.shape))throw Error(`shape of the new value (${e.shape}) and previous value (${this.shape}) must match`);xi().disposeTensor(this),this.dataId=e.dataId,xi().incRef(this,null)}dispose(){xi().disposeVariable(this),this.isDisposedInternal=!0}};Object.defineProperty(Di,Symbol.hasInstance,{value:e=>e instanceof Ti&&e.assign!=null&&e.assign instanceof Function});var Oi;(function(e){e.R0=`R0`,e.R1=`R1`,e.R2=`R2`,e.R3=`R3`,e.R4=`R4`,e.R5=`R5`,e.R6=`R6`})(Oi||={});var ki;(function(e){e.float32=`float32`,e.int32=`int32`,e.bool=`int32`,e.complex64=`complex64`})(ki||={});var Ai;(function(e){e.float32=`float32`,e.int32=`int32`,e.bool=`bool`,e.complex64=`complex64`})(Ai||={});var ji;(function(e){e.float32=`float32`,e.int32=`float32`,e.bool=`float32`,e.complex64=`complex64`})(ji||={});var Mi;(function(e){e.float32=`complex64`,e.int32=`complex64`,e.bool=`complex64`,e.complex64=`complex64`})(Mi||={});var Ni={float32:ji,int32:ki,bool:Ai,complex64:Mi};function Pi(e,t){if(e===`string`||t===`string`){if(e===`string`&&t===`string`)return`string`;throw Error(`Can not upcast ${e} with ${t}`)}return Ni[e][t]}function Fi(e){return Pi(e,`int32`)}function Ii(e){return typeof e==`object`&&!!e&&`texture`in e&&e.texture instanceof WebGLTexture}function Li(e){return typeof GPUBuffer<`u`&&typeof e==`object`&&!!e&&`buffer`in e&&e.buffer instanceof GPUBuffer}function I(e,t){if(e.dtype===t.dtype)return[e,t];let n=Pi(e.dtype,t.dtype);return[e.cast(n),t.cast(n)]}function Ri(e,t){p(e.dtype===t.dtype,()=>`The dtypes of the first(${e.dtype}) and second(${t.dtype}) input must match`)}function zi(e,t){return t.some(t=>t.id===e.id)}function Bi(e){let t=[];return Vi(e,t,new Set),t}function Vi(e,t,n){if(e==null)return;if(e instanceof Ti){t.push(e);return}if(!Hi(e))return;let r=e;for(let e in r){let i=r[e];n.has(i)||(n.add(i),Vi(i,t,n))}}function Hi(e){return Array.isArray(e)||typeof e==`object`}function Ui(e){return e.kernelName!=null}var Wi=class{constructor(){this.registeredVariables={},this.nextTapeNodeId=0,this.numBytes=0,this.numTensors=0,this.numStringTensors=0,this.numDataBuffers=0,this.gradientDepth=0,this.kernelDepth=0,this.scopeStack=[],this.numDataMovesStack=[],this.nextScopeId=0,this.tensorInfo=new WeakMap,this.profiling=!1,this.activeProfile={newBytes:0,newTensors:0,peakBytes:0,kernels:[],result:null,get kernelNames(){return Array.from(new Set(this.kernels.map(e=>e.name)))}}}dispose(){for(let e in this.registeredVariables)this.registeredVariables[e].dispose()}},Gi=class e{constructor(e){this.ENV=e,this.registry={},this.registryFactory={},this.pendingBackendInitId=0,this.state=new Wi}async ready(){if(this.pendingBackendInit!=null)return this.pendingBackendInit.then(()=>{});if(this.backendInstance!=null)return;let e=this.getSortedBackends();for(let t=0;t<e.length;t++){let n=e[t];if(await this.initializeBackend(n).success){await this.setBackend(n);return}}throw Error(`Could not initialize any backends, all backend initializations failed.`)}
5get backend(){if(this.pendingBackendInit!=null)throw Error(`Backend '${this.backendName}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);if(this.backendInstance==null){let{name:e,asyncInit:t}=this.initializeBackendsAndReturnBest();if(t)throw Error(`The highest priority backend '${e}' has not yet been initialized. Make sure to await tf.ready() or await tf.setBackend() before calling other methods`);this.setBackend(e)}return this.backendInstance}backendNames(){return Object.keys(this.registryFactory)}findBackend(e){if(!(e in this.registry)){if(e in this.registryFactory){let{asyncInit:t}=this.initializeBackend(e);if(t)return null}else return null}return this.registry[e]}findBackendFactory(e){return e in this.registryFactory?this.registryFactory[e].factory:null}registerBackend(e,t,n=1){return e in this.registryFactory?(Cr(`${e} backend was already registered. Reusing existing backend factory.`),!1):(this.registryFactory[e]={factory:t,priority:n},!0)}async setBackend(e){if(this.registryFactory[e]==null)throw Error(`Backend name '${e}' not found in registry`);
5if(this.backendName=e,this.registry[e]==null){this.backendInstance=null;let{success:t,asyncInit:n}=this.initializeBackend(e);if(!(n?await t:t))return!1}return this.backendInstance=this.registry[e],this.setupRegisteredKernels(),this.profiler=new oi(this.backendInstance),!0}setupRegisteredKernels(){kr(this.backendName).forEach(e=>{e.setupFunc!=null&&e.setupFunc(this.backendInstance)})}disposeRegisteredKernels(e){kr(e).forEach(t=>{t.disposeFunc!=null&&t.disposeFunc(this.registry[e])})}initializeBackend(e){let t=this.registryFactory[e];if(t==null)throw Error(`Cannot initialize backend ${e}, no registration found.`);try{let n=t.factory();if(n&&!(n instanceof o)&&typeof n.then==`function`){let t=++this.pendingBackendInitId,r=n.then(n=>t<this.pendingBackendInitId?!1:(this.registry[e]=n,this.pendingBackendInit=null,!0)).catch(n=>t<this.pendingBackendInitId?!1:(this.pendingBackendInit=null,Cr(`Initialization of backend ${e} failed`),Cr(n.stack||n.message),!1));return this.pendingBackendInit=r,{success:r,asyncInit:!0}}return this.registry[e]=n,{success:!0,asyncInit:!1}}catch(t){return Cr(`Initialization of backend ${e} failed`),Cr(t.stack||t.message),{success:!1,asyncInit:!1}}}removeBackend(e){if(!(e in this.registryFactory))throw Error(`${e} backend not found in registry`);this.backendName===e&&this.pendingBackendInit!=null&&this.pendingBackendInitId++,e in this.registry&&(this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e]),delete this.registryFactory[e],this.backendName===e&&(this.pendingBackendInit=null,this.backendName=null,this.backendInstance=null)}getSortedBackends(){if(Object.keys(this.registryFactory).length===0)throw Error(`No backend found in registry.`);return Object.keys(this.registryFactory).sort((e,t)=>this.registryFactory[t].priority-this.registryFactory[e].priority)}initializeBackendsAndReturnBest(){let e=this.getSortedBackends();for(let t=0;t<e.length;t++){let n=e[t],{success:r,asyncInit:i}=this.initializeBackend(n);if(i||r)return{name:n,asyncInit:i}}throw Error(`Could not initialize any backends, all backend initializations failed.`)}moveData(e,t){let n=this.state.tensorInfo.get(t),r=n.backend,i=this.readSync(t),a=r.refCount(t);r.disposeData(t,!0),n.backend=e,e.move(t,i,n.shape,n.dtype,a),this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack[this.state.numDataMovesStack.length-1]++}tidy(e,t){let n=null;if(t==null){if(typeof e!=`function`)throw Error(`Please provide a function to tidy()`);t=e}else{if(typeof e!=`string`&&!(e instanceof String))throw Error(`When calling with two arguments, the first argument to tidy() must be a string`);if(typeof t!=`function`)throw Error(`When calling with two arguments, the 2nd argument to tidy() must be a function`);n=e}let r;return this.scopedRun(()=>this.startScope(n),()=>this.endScope(r),()=>(r=t(),r instanceof Promise&&console.error(`Cannot return a Promise inside of tidy.`),r))}scopedRun(e,t,n){e();try{let e=n();return t(),e}catch(e){throw t(),e}}nextTensorId(){return e.nextTensorId++}nextVariableId(){return e.nextVariableId++}clone(e){let t=L.runKernel(Ft,{x:e}),n={x:e};return this.addTapeNode(this.state.activeScope.name,n,[t],e=>({x:()=>{let t={x:e};return L.runKernel(Ye,t,{dtype:`float32`})}}),[],{}),t}runKernel(e,t,n){if(this.backendName??this.backend,Dr(e,this.backendName)==null)throw Error(`Kernel '${e}' not registered for backend '${this.backendName}'`);return this.runKernelFunc({kernelName:e,inputs:t,attrs:n})}shouldCheckForMemLeaks(){return this.ENV.getBool(`IS_TEST`)}checkKernelForMemLeak(e,t,n){let r=this.backend.numDataIds(),i=0;n.forEach(e=>{i+=e.dtype===`complex64`?3:1});let a=this.state.numDataMovesStack[this.state.numDataMovesStack.length-1],o=r-t-i-a;if(o>0)throw Error(`Backend '${this.backendName}' has an internal memory leak (${o} data ids) after running '${e}'`)}runKernelFunc(e){let t,n=[],r=this.isTapeOn(),i=this.state.numBytes,a=this.state.numTensors;this.shouldCheckForMemLeaks()&&this.state.numDataMovesStack.push(0);let o;this.backendName??this.backend;let s,c=Ui(e)?e.kernelName:this.state.activeScope==null?``:this.state.activeScope.name;if(Ui(e)){let{kernelName:t,inputs:i,attrs:a}=e;this.backendName??this.backend;let c=Dr(t,this.backendName);p(c!=null,()=>`Cannot find registered kernel '${t}' for backend '${this.backendName}'`),o=()=>{let e=this.backend.numDataIds();
vendor: 4,760 bytes, line 5
5s=c.kernelFunc({inputs:i,attrs:a,backend:this.backend});let o=Array.isArray(s)?s:[s];this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(t,e,o);let l=o.map(e=>e.rank==null?this.makeTensorFromTensorInfo(e):e);if(r){let e=this.getTensorsForGradient(t,i,l);n=this.saveTensorsForBackwardMode(e)}return l}}else{let{forwardFunc:t}=e,i=e=>{r&&(n=e.map(e=>this.keep(this.clone(e))))};o=()=>{let e=this.backend.numDataIds();s=this.tidy(()=>t(this.backend,i));let n=Array.isArray(s)?s:[s];return this.shouldCheckForMemLeaks()&&this.checkKernelForMemLeak(c,e,n),n}}let{inputs:l,attrs:u}=e,d=Ui(e)?null:e.backwardsFunc,f;return this.scopedRun(()=>this.state.kernelDepth++,()=>this.state.kernelDepth--,()=>{!this.ENV.getBool(`DEBUG`)&&!this.state.profiling?t=o():(f=this.profiler.profileKernel(c,l,()=>o()),this.ENV.getBool(`DEBUG`)&&this.profiler.logKernelProfile(f),t=f.outputs)}),r&&this.addTapeNode(c,l,t,d,n,u),this.state.profiling&&this.state.activeProfile.kernels.push({name:c,bytesAdded:this.state.numBytes-i,totalBytesSnapshot:this.state.numBytes,tensorsAdded:this.state.numTensors-a,totalTensorsSnapshot:this.state.numTensors,inputShapes:Object.keys(l).map(e=>l[e]==null?null:l[e].shape),outputShapes:t.map(e=>e.shape),kernelTimeMs:f.timeMs,extraInfo:f.extraInfo}),Array.isArray(s)?t:t[0]}saveTensorsForBackwardMode(e){return e.map(e=>this.keep(this.clone(e)))}getTensorsForGradient(e,t,n){let r=Or(e);if(r!=null){let e=r.inputsToSave||[],i=r.outputsToSave||[],a;r.saveAllInputs?(p(Array.isArray(t),()=>`saveAllInputs is true, expected inputs to be an array.`),a=Object.keys(t).map(e=>t[e])):a=e.map(e=>t[e]);let o=n.filter((e,t)=>i[t]);return a.concat(o)}return[]}makeTensor(e,t,n,r){if(e==null)throw Error(`Values passed to engine.makeTensor() are null`);n||=`float32`,r||=this.backend;let i=e;n===`string`&&ne(e[0])&&(i=e.map(e=>ni(e)));let a=r.write(i,t,n),o=new Ti(t,n,a,this.nextTensorId());if(this.trackTensor(o,r),n===`string`){let e=this.state.tensorInfo.get(a),t=te(i);this.state.numBytes+=t-e.bytes,e.bytes=t}return o}makeTensorFromDataId(e,t,n,r){n||=`float32`;let i={dataId:e,shape:t,dtype:n};return this.makeTensorFromTensorInfo(i,r)}makeTensorFromTensorInfo(e,t){let{dataId:n,shape:r,dtype:i}=e,a=new Ti(r,i,n,this.nextTensorId());return this.trackTensor(a,t),a}makeVariable(e,t=!0,n,r){n||=this.nextVariableId().toString(),r!=null&&r!==e.dtype&&(e=e.cast(r));let i=new Di(e,t,n,this.nextTensorId());if(this.state.registeredVariables[i.name]!=null)throw Error(`Variable with name ${i.name} was already registered`);return this.state.registeredVariables[i.name]=i,this.incRef(i,this.backend),i}trackTensor(e,t){this.state.numTensors++,e.dtype===`string`&&this.state.numStringTensors++;let n=0;e.dtype!==`complex64`&&e.dtype!==`string`&&(n=e.size*j(e.dtype)),this.state.numBytes+=n,this.state.tensorInfo.has(e.dataId)||(this.state.numDataBuffers++,this.state.tensorInfo.set(e.dataId,{backend:t||this.backend,dtype:e.dtype,shape:e.shape,bytes:n})),e instanceof Di||this.track(e)}incRef(e,t){this.trackTensor(e,t),this.backend.incRef(e.dataId)}removeDataId(e,t){this.state.tensorInfo.has(e)&&this.state.tensorInfo.get(e).backend===t&&(this.state.tensorInfo.delete(e),this.state.numDataBuffers--)}disposeTensor(e){if(!this.state.tensorInfo.has(e.dataId))return;let t=this.state.tensorInfo.get(e.dataId);if(this.state.numTensors--,e.dtype===`string`&&(this.state.numStringTensors--,this.state.numBytes-=t.bytes),e.dtype!==`complex64`&&e.dtype!==`string`){let t=e.size*j(e.dtype);this.state.numBytes-=t}t.backend.disposeData(e.dataId)&&this.removeDataId(e.dataId,t.backend)}disposeVariables(){for(let e in this.state.registeredVariables){let t=this.state.registeredVariables[e];this.disposeVariable(t)}}disposeVariable(e){this.disposeTensor(e),this.state.registeredVariables[e.name]!=null&&delete this.state.registeredVariables[e.name]}memory(){let e=this.backend.memory();return e.numTensors=this.state.numTensors,e.numDataBuffers=this.state.numDataBuffers,e.numBytes=this.state.numBytes,this.state.numStringTensors>0&&(e.unreliable=!0,e.reasons??=[],e.reasons.push(`Memory usage by string tensors is approximate (2 bytes per character)`)),e}async profile(e){this.state.profiling=!0;let t=this.state.numBytes,n=this.state.numTensors;this.state.activeProfile.kernels=[],this.state.activeProfile.result=await e(),this.state.profiling=!1,this.state.activeProfile.peakBytes=Math.max(...this.state.activeProfile.kernels.map(e=>e.totalBytesSnapshot)),this.state.activeProfile.newBytes=this.state.numBytes-t,this.state.activeProfile.newTensors=this.state.numTensors-n;for(let e of this.state.activeProfile.kernels)e.kernelTimeMs=await e.kernelTimeMs,e.extraInfo=await e.extraInfo;return this.state.activeProfile}isTapeOn(){return this.state.gradientDepth>
50&&this.state.kernelDepth===0}addTapeNode(e,t,n,r,i,a){let o={id:this.state.nextTapeNodeId++,kernelName:e,inputs:t,outputs:n,saved:i},s=Or(e);s!=null&&(r=s.gradFunc),r!=null&&(o.gradient=e=>(e=e.map((e,t)=>{if(e==null){let e=n[t],r=fe(e.size,e.dtype);return this.makeTensor(r,e.shape,e.dtype)}return e}),r(e.length>1?e:e[0],i,a))),this.state.activeTape.push(o)}keep(e){return e.kept=!0,e}startTape(){this.state.gradientDepth===0&&(this.state.activeTape=[]),this.state.gradientDepth++}endTape(){this.state.gradientDepth--}startScope(e){let t={track:[],name:`unnamed scope`,id:this.state.nextScopeId++};e&&(t.name=e),this.state.scopeStack.push(t),this.state.activeScope=t}endScope(e){let t=Bi(e),n=new Set(t.map(e=>e.id));for(let e=0;e<this.state.activeScope.track.length;e++){let t=this.state.activeScope.track[e];!t.kept&&!n.has(t.id)&&t.dispose()}let r=this.state.scopeStack.pop();this.state.activeScope=this.state.scopeStack.length===0?null:this.state.scopeStack[this.state.scopeStack.length-1],t.forEach(e=>{!e.kept&&e.scopeId===r.id&&this.track(e)})}gradients(e,t,n,r=!1){if(p(t.length>0,()=>`gradients() received an empty list of xs.`),n!=null&&n.dtype!==`float32`)throw Error(`dy must have 'float32' dtype, but has '${n.dtype}'`);let i=this.scopedRun(()=>this.startTape(),()=>this.endTape(),()=>this.tidy(`forward`,e));p(i instanceof Ti,()=>`The result y returned by f() must be a tensor.`);let a=li(this.state.activeTape,t,i);if(!r&&a.length===0&&t.length>0)throw Error(`Cannot compute gradient of y=f(x) with respect to x. Make sure that the f you passed encloses all operations that lead from x to y.`);return this.tidy(`backward`,()=>{let e={};e[i.id]=n??Ki(i.shape),ui(e,a,e=>this.tidy(e),Ji);let r=t.map(t=>e[t.id]);return this.state.gradientDepth===0&&(this.state.activeTape.forEach(e=>{for(let t of e.saved)t.dispose()}),this.state.activeTape=null),{value:i,grads:r}})}customGrad(e){return p(oe(e),()=>`The f passed in customGrad(f) must be a function.`),(...t)=>{p(t.every(e=>e instanceof Ti),()=>`The args passed in customGrad(f)(x1, x2,...) must all be tensors`);let n,r={};return t.forEach((e,t)=>{r[t]=e}),this.runKernelFunc({forwardFunc:(r,i)=>(n=e(...t,i),p(n.value instanceof Ti,()=>"The function f passed in customGrad(f) must return an object where `obj.value` is a tensor"),p(oe(n.gradFunc),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function."),n.value),backwardsFunc:(e,r)=>{let i=n.gradFunc(e,r),a=Array.isArray(i)?i:[i];p(a.length===t.length,()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns the same number of tensors as inputs passed to f(...)."),p(a.every(e=>e instanceof Ti),()=>"The function f passed in customGrad(f) must return an object where `obj.gradFunc` is a function that returns a list of only tensors.");let o={};return a.forEach((e,t)=>{o[t]=()=>e}),o},inputs:r})}}readSync(e){return this.state.tensorInfo.get(e).backend.readSync(e)}read(e){return this.state.tensorInfo.get(e).backend.read(e)}readToGPU(e,t){return this.state.tensorInfo.get(e).backend.readToGPU(e,t)}async time(e){let t=ei(),n=await this.backend.time(e);return n.wallMs=ei()-t,n}track(e){return this.state.activeScope!=null&&(e.scopeId=this.state.activeScope.id,this.state.activeScope.track.push(e)),e}get registeredVariables(){return this.state.registeredVariables}reset(){this.pendingBackendInitId++,this.state.dispose(),this.ENV.reset(),this.state=new Wi;for(let e in this.registry)this.disposeRegisteredKernels(e),this.registry[e].dispose(),delete this.registry[e];this.backendName=null,this.backendInstance=null,this.pendingBackendInit=null}};Gi.nextTensorId=0,Gi.nextVariableId=0;function Ki(e){let t=de(g(e),`float32`);return L.makeTensor(t,e,`float32`)}function qi(){let e=Ee();return e._tfengine??=new Gi(new ye(e)),we(e._tfengine.ENV),Ci(()=>e._tfengine),e._tfengine}var L=qi();function Ji(e,t){let n={a:e,b:t};return L.runKernel(`Add`,n)}function Yi(){return typeof navigator<`u`&&navigator!=null}var Xi;function Zi(e){if(Xi!==void 0)return Xi;if(e||Yi()){if(e||=navigator,e.product===`ReactNative`)return!0;let t=e.userAgent||e.vendor||(typeof window<`u`?window.opera:``);if(!t){let t=e;return t.userAgentData&&t.userAgentData.mobile}return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
5sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}return!1}function Qi(){return typeof window<`u`&&window.document!=null||typeof WorkerGlobalScope<`u`}var $i=N();$i.registerFlag(`DEBUG`,()=>!1,e=>{e&&console.warn(`Debugging mode is ON. The output of every math call will be downloaded to CPU and checked for NaNs. This significantly impacts performance.`)}),$i.registerFlag(`IS_BROWSER`,()=>Qi()),$i.registerFlag(`IS_NODE`,()=>typeof process<`u`&&process.versions!==void 0&&process.versions.node!==void 0),$i.registerFlag(`IS_CHROME`,()=>typeof navigator<`u`&&navigator!=null&&navigator.userAgent!=null&&/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)),$i.registerFlag(`IS_SAFARI`,()=>typeof navigator<`u`&&navigator!=null&&navigator.userAgent!=null&&/Safari/.test(navigator.userAgent)&&/Apple/.test(navigator.vendor)),$i.registerFlag(`PROD`,()=>!1),$i.registerFlag(`TENSORLIKE_CHECK_SHAPE_CONSISTENCY`,()=>$i.getBool(`DEBUG`)),$i.registerFlag(`DEPRECATION_WARNINGS_ENABLED`,()=>!0),$i.registerFlag(`IS_TEST`,()=>!1),$i.registerFlag(`CHECK_COMPUTATION_FOR_ERRORS`,()=>$i.getBool(`DEBUG`)),$i.registerFlag(`WRAP_TO_IMAGEBITMAP`,()=>!1),$i.registerFlag(`CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU`,()=>!1),$i.registerFlag(`USE_SETTIMEOUTCUSTOM`,()=>!1);function ea(e,t){let n=e;if(ii(e))return t===`string`?[]:[e.length];if(Ii(e)){let t=e.channels||`RGBA`;return[e.height,e.width*t.length]}if(Li(e))return[e.buffer.size/(t==null?4:j(t))];if(!Array.isArray(e))return[];let r=[];for(;Array.isArray(n)||ii(n)&&t!==`string`;)r.push(n.length),n=n[0];return Array.isArray(e)&&N().getBool(`TENSORLIKE_CHECK_SHAPE_CONSISTENCY`)&&ta(e,r,[]),r}function ta(e,t,n){if(n||=[],!Array.isArray(e)&&!ii(e)){p(t.length===0,()=>`Element arr[${n.join(`][`)}] is a primitive, but should be an array/TypedArray of ${t[0]} elements`);return}p(t.length>0,()=>`Element arr[${n.join(`][`)}] should be a primitive, but is an array of ${e.length} elements`),p(e.length===t[0],()=>`Element arr[${n.join(`][`)}] should have ${t[0]} elements, but has ${e.length} elements`);let r=t.slice(1);for(let t=0;t<e.length;++t)ta(e[t],r,n.concat(t))}function na(e,t,n,r){if(e!==`string_or_numeric`){if(e==null)throw Error(`Expected dtype cannot be null.`);if(e!==`numeric`&&e!==t||e===`numeric`&&t===`string`)throw Error(`Argument '${n}' passed to '${r}' must be ${e} tensor, but got ${t} tensor`)}}function R(e,t,n,r=`numeric`){if(e instanceof Ei())return na(r,e.dtype,t,n),e;let i=ae(e);if(i!==`string`&&[`bool`,`int32`,`float32`].indexOf(r)>=0&&(i=r),na(r,i,t,n),e==null||!ii(e)&&!Array.isArray(e)&&typeof e!=`number`&&typeof e!=`boolean`&&typeof e!=`string`){let r=e==null?`null`:e.constructor.name;throw Error(`Argument '${t}' passed to '${n}' must be a Tensor or TensorLike, but got '${r}'`)}let a=ea(e,i);!ii(e)&&!Array.isArray(e)&&(e=[e]);let o=i===`string`?ai(e,[],!0):$r(e,i);return L.makeTensor(o,a,i)}function ra(e,t,n,r=`numeric`){if(!Array.isArray(e))throw Error(`Argument ${t} passed to ${n} must be a \`Tensor[]\` or \`TensorLike[]\``);return e.map((e,i)=>R(e,`${t}[${i}]`,n,r))}var ia=`__op`;function z(e){let t=Object.keys(e);if(t.length!==1)throw Error(`Please provide an object with a single key (operation name) mapping to a function. Got an object with ${t.length} keys.`);let n=t[0],r=e[n];n.endsWith(`_`)&&(n=n.substring(0,n.length-1)),n+=ia;let i=(...e)=>{L.startScope(n);try{let t=r(...e);return _e(t)&&console.error(`Cannot return a Promise inside of tidy.`),L.endScope(t),t}catch(e){throw L.endScope(null),e}};return Object.defineProperty(i,"name",{value:n,configurable:!0}),i}function aa(e,t){let n=R(e,`real`,`complex`),r=R(t,`imag`,`complex`);m(n.shape,r.shape,`real and imag shapes, ${n.shape} and ${r.shape}, must match in call to tf.complex().`);let i={real:n,imag:r};return L.runKernel(Ze,i)}var oa=z({complex_:aa});function sa(e,t,n,r){if(r==null)r=ae(e);else if(r===`complex64`)throw Error(`Cannot construct a complex64 tensor directly. Please use tf.complex(real, imag).`);if(Li(e)||Ii(e)){if(r!==`float32`&&r!==`int32`)throw Error(`Creating tensor from GPU data only supports 'float32'|'int32' dtype, while the dtype is ${r}.`);return L.backend.createTensorFromGPUData(e,t||n,r)}if(!ii(e)&&!Array.isArray(e)&&typeof e!=`number`&&typeof e!=`boolean`&&typeof e!=`string`)throw Error(`values passed to tensor(values) must be a number/boolean/string or an array of numbers/booleans/strings, or a TypedArray`);if(t!=null){me(t);let e=g(t),r=g(n);p(e===r,()=>`Based on the provided shape, [${t}], the tensor should have ${e} values but has ${r}`);for(let e=0;e<n.length;++e){let r=n[e],i=e!==n.length-1||r!==g(t.slice(e));p(n[e]===t[e]||!i,()=>`Error creating a new Tensor. Inferred shape (${n}) does not match the provided shape (${t}). `)}}return!ii(e)&&!Array.isArray(e)&&(e=[e]),t||=n,e=r===`string`?ai(e,[],!0):$r(e,r),L.makeTensor(e,t,r)}function ca(e,t,n){return sa(e,t,ea(e,n),n)}var la={float32:4,float16:2,int32:4,uint16:2,uint8:1,bool:1,complex64:8},ua=class e{static join(t){return new e(t).slice()}constructor(e){if(this.shards=[],this.previousShardIndex=0,e==null||(e instanceof Array||(e=[e]),e=e.map(e=>ii(e)?e.buffer:e),e.length===0))return;this.bufferUniformSize=e[0].byteLength;let t=0;for(let n=0;n<e.length;n++){let r=e[n];n!==e.length-1&&r.byteLength!==this.bufferUniformSize&&(this.bufferUniformSize=void 0);let i=t+r.byteLength;this.shards.push({buffer:r,start:t,end:i}),t=i}this.shards.length===0&&(this.byteLength=0),this.byteLength=this.shards[this.shards.length-1].end}slice(e=0,t=this.byteLength){if(this.shards.length===0||(e=isNaN(Number(e))?0:e,t=isNaN(Number(t))?0:t,e=Math.max(0,e),t=Math.min(this.byteLength,t),t<=e))return new ArrayBuffer(0);let n=this.findShardForByte(e);if(n===-1)throw Error(`Could not find start shard for byte ${e}`);let r=t-e,i=new ArrayBuffer(r),a=new Uint8Array(i),o=0;for(let r=n;r<this.shards.length;r++){let n=this.shards[r],i=e+o-n.start,s=o,c=Math.min(t,n.end)-n.start,l=new Uint8Array(n.buffer,i,c-i);if(a.set(l,s),o+=l.length,t<n.end)break}return i}findShardForByte(e){if(this.shards.length===0||e<0||e>=this.byteLength)return-1;if(this.bufferUniformSize!=null)return this.previousShardIndex=Math.floor(e/this.bufferUniformSize),this.previousShardIndex;function t(t){return e<t.start?-1:+(e>=t.end)}if(t(this.shards[this.previousShardIndex])===0)return this.previousShardIndex;let n=da(this.shards,t);return n===-1?-1:(this.previousShardIndex=n,this.previousShardIndex)}};function da(e,t){let n=0,r=e.length;for(;n<=r;){let i=Math.floor((r-n)/2)+n,a=t(e[i]);if(a===0)return i;a<0?r=i:n=i+1}return-1}function fa(){return L}function pa(){return L.memory()}function B(e,t){return L.tidy(e,t)}
5function ma(e){Bi(e).forEach(e=>e.dispose())}function ha(e){return L.keep(e)}function ga(e){return L.setBackend(e)}function _a(){return L.ready()}function va(){return L.backendName}function ya(e,t,n=1){return L.registerBackend(e,t,n)}function ba(){return L.backend}var xa=4;async function Sa(e,t){let n=[],r=[],i=Array.isArray(e)?e.map(e=>e.name):Object.keys(e);for(let a=0;a<i.length;++a){let o=i[a],s=Array.isArray(e)?e[a].tensor:e[o];if(s.dtype!==`float32`&&s.dtype!==`int32`&&s.dtype!==`bool`&&s.dtype!==`string`&&s.dtype!==`complex64`)throw Error(`Unsupported dtype in weight '${o}': ${s.dtype}`);let c={name:o,shape:s.shape,dtype:s.dtype};if(s.dtype===`string`){let e=new Promise(async e=>{let t=await s.bytes(),n=t.reduce((e,t)=>e+t.length,0)+xa*t.length,r=new Uint8Array(n),i=0;for(let e=0;e<t.length;e++){let n=t[e],a=new Uint8Array(new Uint32Array([n.length]).buffer);r.set(a,i),i+=xa,r.set(n,i),i+=n.length}e(r)});r.push(e)}else r.push(s.data());t!=null&&(c.group=t),n.push(c)}return{data:ka(await Promise.all(r)),specs:n}}function Ca(e,t){let n=new ua(e),r={},i=0;for(let e of t){let t=wa(e,(e,t)=>n.slice(i+e,i+t));r[e.name]=Ea(e,n.slice(i,i+t)),i+=t}return r}function wa(e,t){let n=g(e.shape),r;if(`quantization`in e)r=la[e.quantization.dtype];else if(e.dtype===`string`){let e=0;for(let r=0;r<n;r++)e+=xa+new Uint32Array(t(e,e+xa))[0];return e}else r=la[e.dtype];return n*r}async function Ta(e,t){let n=g(e.shape),r;if(`quantization`in e)r=la[e.quantization.dtype];else if(e.dtype===`string`){let e=0;for(let r=0;r<n;r++)e+=xa+new Uint32Array(await t(e,e+xa))[0];return e}else r=la[e.dtype];return n*r}function Ea(e,t){let n=e.name,r=e.dtype,i=e.shape,a=g(i),o,s=0;if(`quantization`in e){let i=e.quantization;if(i.dtype===`uint8`||i.dtype===`uint16`){if(!(`min`in i&&`scale`in i))throw Error(`Weight ${e.name} with quantization ${i.dtype} doesn't have corresponding metadata min and scale.`)}else if(i.dtype===`float16`){if(r!==`float32`)throw Error(`Weight ${e.name} is quantized with ${i.dtype} which only supports weights of type float32 not ${r}.`)}else throw Error(`Weight ${e.name} has unknown quantization dtype ${i.dtype}. Supported quantization dtypes are: 'uint8', 'uint16', and 'float16'.`);let c=la[i.dtype],l=i.dtype===`uint8`?new Uint8Array(t):new Uint16Array(t);if(r===`float32`){if(i.dtype===`uint8`||i.dtype===`uint16`){o=new Float32Array(l.length);for(let e=0;e<l.length;e++){let t=l[e];o[e]=t*i.scale+i.min}}else if(i.dtype===`float16`)o=Wa()(l);else throw Error(`Unsupported quantization type ${i.dtype} for weight type float32.`)}else if(r===`int32`){if(i.dtype!==`uint8`&&i.dtype!==`uint16`)throw Error(`Unsupported quantization type ${i.dtype} for weight type int32.`);o=new Int32Array(l.length);for(let e=0;e<l.length;e++){let t=l[e];o[e]=Math.round(t*i.scale+i.min)}}else throw Error(`Unsupported dtype in weight '${n}': ${r}`);s+=a*c}else if(r===`string`){let n=g(e.shape);o=[];for(let e=0;e<n;e++){let e=new Uint32Array(t.slice(s,s+xa))[0];s+=xa;let n=new Uint8Array(t.slice(s,s+e));o.push(n),s+=e}}else{let e=la[r];if(r===`float32`)o=new Float32Array(t);else if(r===`int32`)o=new Int32Array(t);else if(r===`bool`)o=new Uint8Array(t);else if(r===`complex64`){o=new Float32Array(t);let e=new Float32Array(o.length/2),n=new Float32Array(o.length/2);for(let t=0;t<e.length;t++)e[t]=o[t*2],n[t]=o[t*2+1];let r=ca(e,i,`float32`),a=ca(n,i,`float32`),s=oa(r,a);return r.dispose(),a.dispose(),s}else throw Error(`Unsupported dtype in weight '${n}': ${r}`);s+=a*e}return ca(o,i,r)}async function Da(e,t,n){let r=new Uint8Array(t);for(;r.byteLength<n;){let{done:t,value:i}=await e.read();if(t&&i==null){let e=n-r.byteLength;throw Error(`Reader is done but ${e} bytes are still expected`)}let a=new Uint8Array(r.length+i.byteLength);a.set(r,0),a.set(new Uint8Array(i),r.length),r=a}return r.buffer}async function Oa(e,t){let n={},r=e.getReader(),i=new ArrayBuffer(0);for(let e of t){let t=await Ta(e,async(e,t)=>(i=await Da(r,i,t),i.slice(e,t)));i=await Da(r,i,t);let a=i.slice(0,t);i=i.slice(t);let o=Ea(e,a);if(n[e.name]=o,va()===`webgpu`){let e=ba();`uploadToGPU`in e&&g(o.shape)>=N().get(`WEBGPU_CPU_HANDOFF_SIZE_THRESHOLD`)&&e.uploadToGPU(o.dataId)}}return n}function ka(e){if(e===null)throw Error(`Invalid input value: ${JSON.stringify(e)}`);let t=0,n=[];
vendor: 4,126 bytes, line 5
5e.forEach(e=>{if(t+=e.byteLength,n.push(e.byteLength===e.buffer.byteLength?e:new e.constructor(e)),!(e instanceof Float32Array||e instanceof Int32Array||e instanceof Uint8Array))throw Error(`Unsupported TypedArray subtype: ${e.constructor.name}`)});let r=new Uint8Array(t),i=0;return n.forEach(e=>{r.set(new Uint8Array(e.buffer),i),i+=e.byteLength}),r.buffer}var Aa=typeof Buffer<`u`&&(typeof Blob>`u`||typeof atob>`u`||typeof btoa>`u`);function ja(e){return Aa?Buffer.byteLength(e,`utf8`):new Blob([e]).size}function Ma(e){if(Aa)return Buffer.from(e).toString(`base64`);let t=new Uint8Array(e),n=``;for(let e=0,r=t.length;e<r;e++)n+=String.fromCharCode(t[e]);return btoa(n)}function Na(e){if(Aa){let t=Buffer.from(e,`base64`);return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n.set([t.charCodeAt(e)],e);return n.buffer}function Pa(e){return ua.join(e)}function Fa(e){for(e=e.trim();e.endsWith(`/`);)e=e.slice(0,e.length-1);let t=e.split(`/`);return t[t.length-1]}function Ia(e,t){let n={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,weightsManifest:t};return e.signature!=null&&(n.signature=e.signature),e.userDefinedMetadata!=null&&(n.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(n.modelInitializer=e.modelInitializer),e.initializerSignature!=null&&(n.initializerSignature=e.initializerSignature),e.trainingConfig!=null&&(n.trainingConfig=e.trainingConfig),n}function La(e,t,n){let r={modelTopology:e.modelTopology,format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy};if(e.trainingConfig!=null&&(r.trainingConfig=e.trainingConfig),e.weightsManifest!=null){if(!t)throw Error(`modelJSON has weightsManifest but weightSpecs is null`);if(!n)throw Error(`modelJSON has weightsManifest but weightData is null`);r.weightSpecs=t,r.weightData=n}return e.signature!=null&&(r.signature=e.signature),e.userDefinedMetadata!=null&&(r.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(r.modelInitializer=e.modelInitializer),e.initializerSignature!=null&&(r.initializerSignature=e.initializerSignature),r}async function Ra(e,t){let n,r;return e.weightsManifest!=null&&([n,r]=await t(e.weightsManifest)),La(e,n,r)}function za(e){if(e.modelTopology instanceof ArrayBuffer)throw Error(`Expected JSON model topology, received ArrayBuffer.`);return{dateSaved:new Date,modelTopologyType:`JSON`,modelTopologyBytes:e.modelTopology==null?0:ja(JSON.stringify(e.modelTopology)),weightSpecsBytes:e.weightSpecs==null?0:ja(JSON.stringify(e.weightSpecs)),weightDataBytes:e.weightData==null?0:new ua(e.weightData).byteLength}}function Ba(e){let t=[];for(let n of e)t.push(...n.weights);return t}function Va(){let e=e=>{let t=e<<13,n=0;for(;!(t&8388608);)n-=8388608,t<<=1;return t&=-8388609,n+=947912704,t|n},t=new Uint32Array(2048);t[0]=0;for(let n=1;n<1024;n++)t[n]=e(n);for(let e=1024;e<2048;e++)t[e]=939524096+(e-1024<<13);return t}function Ha(){let e=new Uint32Array(64);e[0]=0,e[31]=1199570944,e[32]=2147483648,e[63]=3347054592;for(let t=1;t<31;t++)e[t]=t<<23;for(let t=33;t<63;t++)e[t]=2147483648+(t-32<<23);return e}function Ua(){let e=new Uint32Array(64);for(let t=0;t<64;t++)e[t]=1024;return e[0]=e[32]=0,e}function Wa(){let e=Va(),t=Ha(),n=Ua();return r=>{let i=new ArrayBuffer(4*r.length),a=new Uint32Array(i);for(let i=0;i<r.length;i++){let o=r[i],s=e[n[o>>10]+(o&1023)]+t[o>>10];a[i]=s}return new Float32Array(i)}}var Ga=class e{constructor(){this.saveRouters=[],this.loadRouters=[]}static getInstance(){return e.instance??=new e,e.instance}static registerSaveRouter(t){e.getInstance().saveRouters.push(t)}static registerLoadRouter(t){e.getInstance().loadRouters.push(t)}static getSaveHandlers(t){return e.getHandlers(t,`save`)}static getLoadHandlers(t,n){return e.getHandlers(t,`load`,n)}static getHandlers(t,n,r){let i=[];return(n===`load`?e.getInstance().loadRouters:e.getInstance().saveRouters).forEach(e=>{let n=e(t,r);n!==null&&i.push(n)}),i}},Ka=e=>Ga.registerSaveRouter(e),qa=e=>Ga.registerLoadRouter(e),Ja=e=>Ga.getSaveHandlers(e),Ya=(e,t)=>
5Ga.getLoadHandlers(e,t),Xa=`tensorflowjs`,Za=1,Qa=`models_store`,$a=`model_info_store`;function eo(){if(!N().getBool(`IS_BROWSER`))throw Error(`Failed to obtain IndexedDB factory because the current environmentis not a web browser.`);let e=typeof window>`u`?self:window,t=e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB||e.shimIndexedDB;if(t==null)throw Error(`The current browser does not appear to support IndexedDB.`);return t}function to(e){let t=e.result;t.createObjectStore(Qa,{keyPath:`modelPath`}),t.createObjectStore($a,{keyPath:`modelPath`})}var no=class{constructor(e){if(this.indexedDB=eo(),e==null||!e)throw Error(`For IndexedDB, modelPath must not be null, undefined or empty.`);this.modelPath=e}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw Error(`BrowserLocalStorage.save() does not support saving model topology in binary formats yet.`);return this.databaseAction(this.modelPath,e)}async load(){return this.databaseAction(this.modelPath)}databaseAction(e,t){return new Promise((e,n)=>{let r=this.indexedDB.open(Xa,Za);r.onupgradeneeded=()=>to(r),r.onsuccess=()=>{let i=r.result;if(t==null){let t=i.transaction(Qa,`readonly`),r=t.objectStore(Qa).get(this.modelPath);r.onsuccess=()=>{if(r.result==null)return i.close(),n(Error(`Cannot find model with path '${this.modelPath}' in IndexedDB.`));e(r.result.modelArtifacts)},r.onerror=e=>(i.close(),n(r.error)),t.oncomplete=()=>i.close()}else{t.weightData=ua.join(t.weightData);let r=za(t),a=i.transaction($a,`readwrite`),o=a.objectStore($a),s;try{s=o.put({modelPath:this.modelPath,modelArtifactsInfo:r})}catch(e){return n(e)}let c;s.onsuccess=()=>{c=i.transaction(Qa,`readwrite`);let s=c.objectStore(Qa),l;try{l=s.put({modelPath:this.modelPath,modelArtifacts:t,modelArtifactsInfo:r})}catch(e){return n(e)}l.onsuccess=()=>e({modelArtifactsInfo:r}),l.onerror=e=>{o=a.objectStore($a);let t=o.delete(this.modelPath);t.onsuccess=()=>(i.close(),n(l.error)),t.onerror=e=>(i.close(),n(l.error))}},s.onerror=e=>(i.close(),n(s.error)),a.oncomplete=()=>{c==null?i.close():c.oncomplete=()=>i.close()}}},r.onerror=e=>n(r.error)})}};no.URL_SCHEME=`indexeddb://`;var ro=e=>N().getBool(`IS_BROWSER`)&&!Array.isArray(e)&&e.startsWith(no.URL_SCHEME)?io(e.slice(no.URL_SCHEME.length)):null;Ga.registerSaveRouter(ro),Ga.registerLoadRouter(ro);function io(e){return new no(e)}function ao(e){return e.startsWith(no.URL_SCHEME)?e.slice(no.URL_SCHEME.length):e}var oo=class{constructor(){this.indexedDB=eo()}async listModels(){return new Promise((e,t)=>{let n=this.indexedDB.open(Xa,Za);n.onupgradeneeded=()=>to(n),n.onsuccess=()=>{let r=n.result,i=r.transaction($a,`readonly`),a=i.objectStore($a).getAll();a.onsuccess=()=>{let t={};for(let e of a.result)t[e.modelPath]=e.modelArtifactsInfo;e(t)},a.onerror=e=>(r.close(),t(a.error)),i.oncomplete=()=>r.close()},n.onerror=e=>t(n.error)})}async removeModel(e){return e=ao(e),new Promise((t,n)=>{let r=this.indexedDB.open(Xa,Za);r.onupgradeneeded=()=>to(r),r.onsuccess=()=>{let i=r.result,a=i.transaction($a,`readwrite`),o=a.objectStore($a),s=o.get(e),c;s.onsuccess=()=>{if(s.result==null)return i.close(),n(Error(`Cannot find model with path '${e}' in IndexedDB.`));{let r=o.delete(e),a=()=>{c=i.transaction(Qa,`readwrite`);let r=c.objectStore(Qa).delete(e);r.onsuccess=()=>t(s.result.modelArtifactsInfo),r.onerror=e=>n(s.error)};r.onsuccess=a,r.onerror=e=>(a(),i.close(),n(s.error))}},s.onerror=e=>(i.close(),n(s.error)),a.oncomplete=()=>{c==null?i.close():c.oncomplete=()=>i.close()}},r.onerror=e=>n(r.error)})}},so=`/`,co=`tensorflowjs_models`,lo=`info`,uo=`model_topology`,fo=`weight_specs`,po=`weight_data`,mo=`model_metadata`;function ho(e){return{info:[co,e,lo].join(so),topology:[co,e,uo].join(so),weightSpecs:[co,e,fo].join(so),weightData:[co,e,po].join(so),modelMetadata:[co,e,mo].join(so)}}function go(e){for(let t of Object.values(e))window.localStorage.removeItem(t)}function _o(e){let t=e.split(so);if(t.length<3)throw Error(`Invalid key format: ${e}`);return t.slice(1,t.length-1).join(so)}function vo(e){return e.startsWith(yo.URL_SCHEME)?e.slice(yo.URL_SCHEME.length):e}var yo=class{constructor(e){if(!N().getBool(`IS_BROWSER`)||typeof window>`u`||window.localStorage===void 0)throw Error(`The current environment does not support local storage.`);if(this.LS=window.localStorage,e==null||!e)throw Error(`For local storage, modelPath must not be null, undefined or empty.`);this.modelPath=e,this.keys=ho(this.modelPath)}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw Error(`BrowserLocalStorage.save() does not support saving model topology in binary formats yet.`);{let t=JSON.stringify(e.modelTopology),n=JSON.stringify(e.weightSpecs),r=za(e),i=ua.join(e.weightData);try{this.LS.setItem(this.keys.info,JSON.stringify(r)),this.LS.setItem(this.keys.topology,t),this.LS.setItem(this.keys.weightSpecs,n),this.LS.setItem(this.keys.weightData,Ma(i));let a={format:e.format,generatedBy:e.generatedBy,convertedBy:e.convertedBy,signature:e.signature==null?void 0:e.signature,userDefinedMetadata:e.userDefinedMetadata==null?void 0:e.userDefinedMetadata,modelInitializer:e.modelInitializer==null?void 0:e.modelInitializer,initializerSignature:e.initializerSignature==null?void 0:e.initializerSignature,trainingConfig:e.trainingConfig==null?void 0:e.trainingConfig};return this.LS.setItem(this.keys.modelMetadata,JSON.stringify(a)),{modelArtifactsInfo:r}}catch{throw go(this.keys),Error(`Failed to save model '${this.modelPath}' to local storage: size quota being exceeded is a possible cause of this failure: modelTopologyBytes=${r.modelTopologyBytes}, weightSpecsBytes=${r.weightSpecsBytes}, weightDataBytes=${r.weightDataBytes}.`)}}}async load(){let e=JSON.parse(this.LS.getItem(this.keys.info));if(e==null)throw Error(`In local storage, there is no model with name '${this.modelPath}'`);if(e.modelTopologyType!==`JSON`)throw Error(`BrowserLocalStorage does not support loading non-JSON model topology yet.`);let t={},n=JSON.parse(this.LS.getItem(this.keys.topology));if(n==null)throw Error(`In local storage, the topology of model '${this.modelPath}' is missing.`);t.modelTopology=n;let r=JSON.parse(this.LS.getItem(this.keys.weightSpecs));if(r==null)throw Error(`In local storage, the weight specs of model '${this.modelPath}' are missing.`);t.weightSpecs=r;let i=this.LS.getItem(this.keys.modelMetadata);if(i!=null){let e=JSON.parse(i);t.format=e.format,t.generatedBy=e.generatedBy,t.convertedBy=e.convertedBy,e.signature!=null&&(t.signature=e.signature),e.userDefinedMetadata!=null&&(t.userDefinedMetadata=e.userDefinedMetadata),e.modelInitializer!=null&&(t.modelInitializer=e.modelInitializer),e.initializerSignature!=null&&(t.initializerSignature=e.initializerSignature),e.trainingConfig!=null&&(t.trainingConfig=e.trainingConfig)}let a=this.LS.getItem(this.keys.weightData);if(a==null)throw Error(`In local storage, the binary weight values of model '${this.modelPath}' are missing.`);return t.weightData=Na(a),t}};yo.URL_SCHEME=`localstorage://`;var bo=e=>N().getBool(`IS_BROWSER`)&&!Array.isArray(e)&&e.startsWith(yo.URL_SCHEME)?xo(e.slice(yo.URL_SCHEME.length)):null;Ga.registerSaveRouter(bo),Ga.registerLoadRouter(bo);function xo(e){return new yo(e)}var So=class{constructor(){p(N().getBool(`IS_BROWSER`),()=>`Current environment is not a web browser`),p(typeof window>`u`||window.localStorage!==void 0,()=>
5`Current browser does not appear to support localStorage`),this.LS=window.localStorage}async listModels(){let e={};for(let t=0;t<this.LS.length;++t){let n=this.LS.key(t);if(n.startsWith(`tensorflowjs_models/`)&&n.endsWith(`/info`)){let t=_o(n);e[t]=JSON.parse(this.LS.getItem(n))}}return e}async removeModel(e){e=vo(e);let t=ho(e);if(this.LS.getItem(t.info)==null)throw Error(`Cannot find model at path '${e}'`);let n=JSON.parse(this.LS.getItem(t.info));return go(t),n}},Co=`://`,wo=class e{constructor(){this.managers={}}static getInstance(){return e.instance??=new e,e.instance}static registerManager(t,n){p(t!=null,()=>`scheme must not be undefined or null.`),t.endsWith(Co)&&(t=t.slice(0,t.indexOf(Co))),p(t.length>0,()=>`scheme must not be an empty string.`);let r=e.getInstance();p(r.managers[t]==null,()=>`A model store manager is already registered for scheme '${t}'.`),r.managers[t]=n}static getManager(t){let n=e.getInstance().managers[t];if(n==null)throw Error(`Cannot find model manager for scheme '${t}'`);return n}static getSchemes(){return Object.keys(e.getInstance().managers)}};function To(e){if(e.indexOf(Co)===-1)throw Error(`The url string provided does not contain a scheme. Supported schemes are: ${wo.getSchemes().join(`,`)}`);return{scheme:e.split(Co)[0],path:e.split(Co)[1]}}async function Eo(e,t,n=!1){p(e!==t,()=>`Old path and new path are the same: '${e}'`);let r=Ga.getLoadHandlers(e);p(r.length>0,()=>`Copying failed because no load handler is found for source URL ${e}.`),p(r.length<2,()=>`Copying failed because more than one (${r.length}) load handlers for source URL ${e}.`);let i=r[0],a=Ga.getSaveHandlers(t);p(a.length>0,()=>`Copying failed because no save handler is found for destination URL ${t}.`),p(a.length<2,()=>`Copying failed because more than one (${r.length}) save handlers for destination URL ${t}.`);let o=a[0],s=To(e).scheme,c=To(e).path,l=s===To(e).scheme,u=await i.load();n&&l&&await wo.getManager(s).removeModel(c);let d=await o.save(u);return n&&!l&&await wo.getManager(s).removeModel(c),d.modelArtifactsInfo}async function Do(){let e=wo.getSchemes(),t={};for(let n of e){let e=await wo.getManager(n).listModels();for(let r in e){let i=n+Co+r;t[i]=e[r]}}return t}async function Oo(e){let t=To(e);return wo.getManager(t.scheme).removeModel(t.path)}async function ko(e,t){return Eo(e,t,!1)}async function Ao(e,t){return Eo(e,t,!0)}var jo=class{constructor(){this.messageName=`setTimeoutCustom`,this.functionRefs=[],this.handledMessageCount=0,this.hasEventListener=!1}fetch(e,t){return fetch(e,t)}now(){return performance.now()}encode(e,t){if(t!==`utf-8`&&t!==`utf8`)throw Error(`Browser's encoder only supports utf-8, but got ${t}`);return this.textEncoder??=new TextEncoder,this.textEncoder.encode(e)}decode(e,t){return new TextDecoder(t).decode(e)}setTimeoutCustom(e,t){if(typeof window>`u`||!N().getBool(`USE_SETTIMEOUTCUSTOM`)){setTimeout(e,t);return}this.functionRefs.push(e),setTimeout(()=>{window.postMessage({name:this.messageName,index:this.functionRefs.length-1},`*`)},t),this.hasEventListener||(this.hasEventListener=!0,window.addEventListener(`message`,e=>{if(e.source===window&&e.data.name===this.messageName){e.stopPropagation();let t=this.functionRefs[e.data.index];t(),this.handledMessageCount++,this.handledMessageCount===this.functionRefs.length&&(this.functionRefs=[],this.handledMessageCount=0)}},!0))}isTypedArray(e){return Nr(e)}};if(N().get(`IS_BROWSER`)){N().setPlatform(`browser`,new jo);try{wo.registerManager(yo.URL_SCHEME,new So)}catch{}try{wo.registerManager(no.URL_SCHEME,new oo)}catch{}}var Mo=t(((e,t)=>{t.exports={}})),No={importFetch:()=>Mo()},Po,Fo=class{constructor(){this.util=Mo(),this.textEncoder=new this.util.TextEncoder}fetch(e,t){return N().global.fetch==null?(Po??=No.importFetch(),Po(e,t)):N().global.fetch(e,t)}now(){let e=process.hrtime();return e[0]*1e3+e[1]/1e6}encode(e,t){if(t!==`utf-8`&&t!==`utf8`)throw Error(`Node built-in encoder only supports utf-8, but got ${t}`);return this.textEncoder.encode(e)}decode(e,t){return e.length===0?``:new this.util.TextDecoder(t).decode(e)}isTypedArray(e){return this.util.types.isFloat32Array(e)||this.util.types.isInt32Array(e)||this.util.types.isUint8Array(e)||this.util.types.isUint8ClampedArray(e)}};N().get(`IS_NODE`)&&!N().get(`IS_BROWSER`)&&N().setPlatform(`node`,new Fo);function Io(e,t=`float32`,n){return t||=`float32`,me(e),new bi(e,t,n)}function Lo(e,t){let n=R(e,`x`,`cast`);if(!A(t))throw Error(`Failed to cast to unknown dtype ${t}`);if(t===`string`&&n.dtype!==`string`||t!==`string`&&n.dtype===`string`)throw Error(`Only strings can be casted to strings`);let r={x:n},i={dtype:t};return L.runKernel(Ye,r,i)}var V=z({cast_:Lo});function Ro(e){let t={x:R(e,`x`,`clone`,`string_or_numeric`)};return L.runKernel(Ft,t)}var zo=z({clone_:Ro});function Bo(e,t=!1){console.log(e.toString(t))}qi(),wi({buffer:Io,cast:V,clone:zo,print:Bo});function Vo(e,t){let n=R(e,`a`,`add`),r=R(t,`b`,`add`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(`Add`,i)}var H=z({add_:Vo});function Ho(e,t){let n=R(e,`a`,`floorDiv`),r=R(t,`b`,`floorDiv`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(kt,i)}var Uo=z({floorDiv_:Ho});function Wo(e,t){let n=R(e,`a`,`div`),r=R(t,`b`,`div`);if([n,r]=I(n,r),n.dtype===`int32`&&r.dtype===`int32`)return Uo(n,r);let i={a:n,b:r};return L.runKernel(bt,i,{})}var U=z({div_:Wo});function Go(e,t){let n=R(e,`a`,`mul`),r=R(t,`b`,`mul`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(ln,i)}var W=z({mul_:Go});function Ko(e){let t=R(e,`x`,`abs`);if(t.dtype===`complex64`){let e={x:t};return L.runKernel(Qe,e)}{let e={x:t};return L.runKernel(`Abs`,e)}}var qo=z({abs_:Ko});function Jo(e){let t={x:R(e,`x`,`acos`)};return L.runKernel(ke,t)}var Yo=z({acos_:Jo});function Xo(e){let t={x:R(e,`x`,`acosh`)};return L.runKernel(Ae,t)}var Zo=z({acosh_:Xo});function Qo(e){p(Array.isArray(e),()=>`The argument passed to tf.addN() must be a list of tensors`),p(e.length>=1,()=>`Must pass at least one tensor to tf.addN(), but got ${e.length}`);let t=e.map((e,t)=>R(e,`tensors${t}`,`addN`)),n=t[0];
5t.forEach(e=>{if(e.dtype!==n.dtype)throw Error(`All tensors passed to tf.addN() must have the same dtype`)}),t.forEach(e=>{if(!y(e.shape,n.shape))throw Error(`All tensors passed to tf.addN() must have the same shape`)});let r=t;return L.runKernel(je,r)}var $o=z({addN_:Qo});function es(e,t=null,n=!1){let r={x:R(e,`x`,`all`,`bool`)},i={axis:t,keepDims:n};return L.runKernel(`All`,r,i)}var ts=z({all_:es});function ns(e,t=null,n=!1){let r={x:R(e,`x`,`any`,`bool`)},i={axis:t,keepDims:n};return L.runKernel(`Any`,r,i)}var rs=z({any_:ns});function is(e,t=0){let n={x:R(e,`x`,`argMax`)},r={axis:t};return L.runKernel(Me,n,r)}var as=z({argMax_:is});function os(e,t=0){let n={x:R(e,`x`,`argMin`)},r={axis:t};return L.runKernel(Ne,n,r)}var ss=z({argMin_:os});function cs(e){let t={x:R(e,`x`,`asin`)};return L.runKernel(Pe,t)}var ls=z({asin_:cs});function us(e){let t={x:R(e,`x`,`asinh`)};return L.runKernel(Fe,t)}var ds=z({asinh_:us});function fs(e){let t={x:R(e,`x`,`atan`)};return L.runKernel(Ie,t)}var ps=z({atan_:fs});function ms(e,t){let n=R(e,`a`,`atan2`),r=R(t,`b`,`atan2`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(Re,i)}var hs=z({atan2_:ms});function gs(e){let t={x:R(e,`x`,`atanh`)};return L.runKernel(Le,t)}var _s=z({atanh_:gs});function vs(e,t,n,r,i=`NHWC`,a){let o=e[3];return xs(e,[...t,o],n,a,r,null,null,Fs(i))}function ys(e,t,n,r,i,a,o=`channelsLast`){let[s,c]=Es(t),l;if(o===`channelsLast`)l=[s,c,e[3],e[3]];else if(o===`channelsFirst`)l=[s,c,e[1],e[1]];else throw Error(`Unknown dataFormat ${o}`);return xs(e,l,n,r,i,a,!1,o)}function bs(e,t,n,r,i,a,o=`NDHWC`){let[s,c,l]=Ds(t),u,d;if(o===`NDHWC`)d=`channelsLast`,u=[s,c,l,e[4],e[4]];else if(o===`NCDHW`)d=`channelsFirst`,u=[s,c,l,e[1],e[1]];else throw Error(`Unknown dataFormat ${o}`);return Ss(e,u,n,r,i,!1,d,a)}function xs(e,t,n,r,i,a,o=!1,s=`channelsLast`){let[c,l,u,d]=[-1,-1,-1,-1];if(s===`channelsLast`)[c,l,u,d]=e;else if(s===`channelsFirst`)[c,d,l,u]=e;else throw Error(`Unknown dataFormat ${s}`);let[f,p,,m]=t,[h,g]=Es(n),[_,v]=Es(r),y=Os(f,_),b=Os(p,v),{padInfo:x,outHeight:S,outWidth:C}=ks(i,l,u,h,g,y,b,a,s),w=o?m*d:m,T;return s===`channelsFirst`?T=[c,w,S,C]:s===`channelsLast`&&(T=[c,S,C,w]),{batchSize:c,dataFormat:s,inHeight:l,inWidth:u,inChannels:d,outHeight:S,outWidth:C,outChannels:w,padInfo:x,strideHeight:h,strideWidth:g,filterHeight:f,filterWidth:p,effectiveFilterHeight:y,effectiveFilterWidth:b,dilationHeight:_,dilationWidth:v,inShape:e,outShape:T,filterShape:t}}function Ss(e,t,n,r,i,a=!1,o=`channelsLast`,s){let[c,l,u,d,f]=[-1,-1,-1,-1,-1];if(o===`channelsLast`)[c,l,u,d,f]=e;else if(o===`channelsFirst`)[c,f,l,u,d]=e;else throw Error(`Unknown dataFormat ${o}`);let[p,m,h,,g]=t,[_,v,y]=Ds(n),[b,x,S]=Ds(r),C=Os(p,b),w=Os(m,x),T=Os(h,S),{padInfo:E,outDepth:D,outHeight:O,outWidth:k}=As(i,l,u,d,_,v,y,C,w,T,s),A=a?g*f:g,ee;return o===`channelsFirst`?ee=[c,A,D,O,k]:o===`channelsLast`&&(ee=[c,D,O,k,A]),{batchSize:c,dataFormat:o,inDepth:l,inHeight:u,inWidth:d,inChannels:f,outDepth:D,outHeight:O,outWidth:k,outChannels:A,padInfo:E,strideDepth:_,strideHeight:v,strideWidth:y,filterDepth:p,filterHeight:m,filterWidth:h,effectiveFilterDepth:C,effectiveFilterHeight:w,effectiveFilterWidth:T,dilationDepth:b,dilationHeight:x,dilationWidth:S,inShape:e,outShape:ee,filterShape:t}}function Cs(e,t,n,r,i){r??=Ts(e,t,n);let a=e[0],o=e[1];return[js((a-t+2*r)/n+1,i),js((o-t+2*r)/n+1,i)]}function ws(e,t,n,r,i,a){i??=Ts(e,t[0],r[0]);let o=[0,0,0,n];for(let n=0;n<3;n++)e[n]+2*i>=t[n]&&(o[n]=js((e[n]-t[n]+2*i)/r[n]+1,a));return o}function Ts(e,t,n,r=1){let i=Os(t,r);return Math.floor((e[0]*(n-1)-n+i)/2)}function Es(e){return typeof e==`number`?[e,e,e]:e.length===2?[e[0],e[1],1]:e}function Ds(e){return typeof e==`number`?[e,e,e]:e}function Os(e,t){return t<=1?e:e+(e-1)*(t-1)}function ks(e,t,n,r,i,a,o,s,c){let l,u,d;if(typeof e==`number`){l={top:e,bottom:e,left:e,right:e,type:e===0?`VALID`:`NUMBER`};let i=Cs([t,n],a,r,e,s);u=i[0],d=i[1]}else if(e===`same`){u=Math.ceil(t/r),d=Math.ceil(n/i);let e=Math.max(0,(u-1)*r+a-t),s=Math.max(0,(d-1)*i+o-n),c=Math.floor(e/2),f=e-c,p=Math.floor(s/2);l={top:c,bottom:f,left:p,right:s-p,type:`SAME`}}else if(e===`valid`)l={top:0,bottom:0,left:0,right:0,type:`VALID`},u=Math.ceil((t-a+1)/r),d=Math.ceil((n-o+1)/i);else if(typeof e==`object`){let f=c===`channelsLast`?e[1][0]:e[2][0],p=c===`channelsLast`?e[1][1]:e[2][1],m=c===`channelsLast`?e[2][0]:e[3][0],h=c===`channelsLast`?e[2][1]:e[3][1];
5l={top:f,bottom:p,left:m,right:h,type:f===0&&p===0&&m===0&&h===0?`VALID`:`EXPLICIT`},u=js((t-a+f+p)/r+1,s),d=js((n-o+m+h)/i+1,s)}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:l,outHeight:u,outWidth:d}}function As(e,t,n,r,i,a,o,s,c,l,u){let d,f,p,m;if(e===`valid`&&(e=0),typeof e==`number`){d={top:e,bottom:e,left:e,right:e,front:e,back:e,type:e===0?`VALID`:`NUMBER`};let h=ws([t,n,r,1],[s,c,l],1,[i,a,o],e,u);f=h[0],p=h[1],m=h[2]}else if(e===`same`){f=Math.ceil(t/i),p=Math.ceil(n/a),m=Math.ceil(r/o);let e=(f-1)*i+s-t,u=(p-1)*a+c-n,h=(m-1)*o+l-r,g=Math.floor(e/2),_=e-g,v=Math.floor(u/2),y=u-v,b=Math.floor(h/2);d={top:v,bottom:y,left:b,right:h-b,front:g,back:_,type:`SAME`}}else throw Error(`Unknown padding parameter: ${e}`);return{padInfo:d,outDepth:f,outHeight:p,outWidth:m}}function js(e,t){if(!t)return Math.trunc(e);switch(t){case`round`:return Math.round(e);case`ceil`:return Math.ceil(e);case`floor`:return Math.floor(e);default:throw Error(`Unknown roundingMode ${t}`)}}function Ms(e){let[t,n,r]=Es(e);return t===1&&n===1&&r===1}function Ns(e,t){return Ms(e)||Ms(t)}function Ps(e){return Es(e).every(e=>e>0)}function Fs(e){if(e===`NHWC`)return`channelsLast`;if(e===`NCHW`)return`channelsFirst`;throw Error(`Unknown dataFormat ${e}`)}function Is(e,t,n){if(n!=null){if(typeof t==`string`)throw Error(`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`);if(typeof t==`number`)p(b(t),()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`);else if(typeof t==`object`)t.forEach(t=>{t.forEach(t=>{p(b(t),()=>`Error in ${e}: pad must be an integer when using dimRoundingMode ${n} but got pad ${t}.`)})});else throw Error(`Error in ${e}: Unknown padding parameter: ${t}`)}}function Ls(e,t){let n={x:R(e,`x`,`reshape`,`string_or_numeric`)},r={shape:t};return L.runKernel(Dn,n,r)}var G=z({reshape_:Ls});function Rs(e,t,n,r,i){let a=R(e,`x`,`avgPool`,`float32`);p(Ns(n,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`);let o=a,s=!1;a.rank===3&&(s=!0,o=G(a,[1,a.shape[0],a.shape[1],a.shape[2]])),p(o.rank===4,()=>`Error in avgPool: x must be rank 4 but got rank ${o.rank}.`),Is(`avgPool`,r,i);let c={x:o},l={filterSize:t,strides:n,pad:r,dimRoundingMode:i},u=L.runKernel(ze,c,l);return u=V(u,a.dtype),s?G(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var zs=z({avgPool_:Rs});function Bs(e,t,n,r,i,a=`NDHWC`){let o=R(e,`x`,`avgPool3d`,`float32`),s=o,c=!1;o.rank===4&&(c=!0,s=G(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),p(s.rank===5,()=>`Error in avgPool3d: x must be rank 5 but got rank ${s.rank}.`),p(a===`NDHWC`,()=>`Error in avgPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`),p(typeof n==`number`&&n>0||Array.isArray(n)&&n[0]>0&&n[1]>0&&n[2]>0,()=>`Error in avgPool3d: Stride must be > 0, but got '${n}'`),Is(`avgPool3d`,r,i);let l={x:s},u={filterSize:t,strides:n,pad:r,dimRoundingMode:i,dataFormat:a},d=L.runKernel(Ve,l,u);return d=V(d,s.dtype),c?G(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}var Vs=z({avgPool3d_:Bs});function Hs(e,t=0){p(e.length>=1,()=>`Pass at least one tensor to concat`);let n=ra(e,`tensors`,`concat`,`string_or_numeric`);if(n[0].dtype===`complex64`&&n.forEach(e=>{if(e.dtype!==`complex64`)throw Error(`Cannot concatenate complex64 tensors with a tensor 6 with dtype ${e.dtype}. `)}),n.length===1)return zo(n[0]);let r=n,i={axis:t};return L.runKernel($e,r,i)}var Us=z({concat_:Hs});function Ws(e,t,n=!1,r=!1){let i=R(e,`a`,`matMul`),a=R(t,`b`,`matMul`);[i,a]=I(i,a);let o={a:i,b:a},s={transposeA:n,transposeB:r};return L.runKernel(Ue,o,s)}var K=z({matMul_:Ws});function Gs(e){let t={x:R(e,`x`,`sigmoid`,`float32`)};return L.runKernel(Wn,t)}var Ks=z({sigmoid_:Gs});function qs(e,t,n){let r=R(e,`x`,`slice`,`string_or_numeric`);if(r.rank===0)throw Error(`Slicing scalar is not possible`);let i={x:r},a={begin:t,size:n};return L.runKernel(Vn,i,a)}var q=z({slice_:qs});function Js(e){let t={x:R(e,`x`,`tanh`,`float32`)};return L.runKernel(cr,t)}var Ys=z({tanh_:Js});function Xs(e,t,n,r,i,a){let o=R(e,`forgetBias`,`basicLSTMCell`),s=R(t,`lstmKernel`,`basicLSTMCell`),c=R(n,`lstmBias`,`basicLSTMCell`),l=R(r,`data`,`basicLSTMCell`),u=R(i,`c`,`basicLSTMCell`),d=H(K(Us([l,R(a,`h`,`basicLSTMCell`)],1),s),c),f=d.shape[0],p=d.shape[1]/4,m=[f,p],h=q(d,[0,0],m),g=q(d,[0,p],m),_=q(d,[0,p*2],m),v=q(d,[0,p*3],m),y=H(W(Ks(h),Ys(g)),W(u,Ks(H(o,_))));return[y,W(Ys(y),Ks(v))]}var Zs=z({basicLSTMCell_:Xs});function Qs(e,t,n){let r=R(e,`x`,`batchToSpaceND`),i=t.reduce((e,t)=>
6e*t);p(r.rank>=1+t.length,()=>`input rank is ${r.rank} but should be > than blockShape.length ${t.length}`),p(n.length===t.length,()=>`crops.length is ${n.length} but should be equal to blockShape.length ${t.length}`),p(r.shape[0]%i===0,()=>`input tensor batch is ${r.shape[0]} but is not divisible by the product of the elements of blockShape ${t.join(` * `)} === ${i}`);let a={x:r},o={blockShape:t,crops:n};return L.runKernel(We,a,o)}var $s=z({batchToSpaceND_:Qs});function ec(e){let t;return t=e.rank===0||e.rank===1?G(e,[1,1,1,e.size]):e.rank===2?G(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?G(e,[1,e.shape[0],e.shape[1],e.shape[2]]):e,t}function tc(e,t,n,r,i,a){a??=.001;let o=R(e,`x`,`batchNorm`),s=R(t,`mean`,`batchNorm`),c=R(n,`variance`,`batchNorm`),l;i!=null&&(l=R(i,`scale`,`batchNorm`));let u;r!=null&&(u=R(r,`offset`,`batchNorm`)),p(s.rank===c.rank,()=>`Batch normalization gradient requires mean and variance to have equal ranks.`),p(u==null||s.rank===u.rank,()=>`Batch normalization gradient requires mean and offset to have equal ranks.`),p(l==null||s.rank===l.rank,()=>`Batch normalization gradient requires mean and scale to have equal ranks.`);let d={x:ec(o),scale:l,offset:u,mean:s,variance:c},f={varianceEpsilon:a};return G(L.runKernel(At,d,f),o.shape)}var nc=z({batchNorm_:tc});function rc(e,t,n,r,i,a){let o=R(e,`x`,`batchNorm`),s=R(t,`mean`,`batchNorm`),c=R(n,`variance`,`batchNorm`),l;i!=null&&(l=R(i,`scale`,`batchNorm`));let u;return r!=null&&(u=R(r,`offset`,`batchNorm`)),p(o.rank===2,()=>`Error in batchNorm2D: x must be rank 2 but got rank ${o.rank}.`),p(s.rank===2||s.rank===1,()=>`Error in batchNorm2D: mean must be rank 2 or rank 1 but got rank ${s.rank}.`),p(c.rank===2||c.rank===1,()=>`Error in batchNorm2D: variance must be rank 2 or rank 1 but got rank ${c.rank}.`),l!=null&&p(l.rank===2||l.rank===1,()=>`Error in batchNorm2D: scale must be rank 2 or rank 1 but got rank ${l.rank}.`),u!=null&&p(u.rank===2||u.rank===1,()=>`Error in batchNorm2D: offset must be rank 2 or rank 1 but got rank ${u.rank}.`),nc(o,s,c,u,l,a)}var ic=z({batchNorm2d_:rc});function ac(e,t,n,r,i,a){let o=R(e,`x`,`batchNorm`),s=R(t,`mean`,`batchNorm`),c=R(n,`variance`,`batchNorm`),l;i!=null&&(l=R(i,`scale`,`batchNorm`));let u;return r!=null&&(u=R(r,`offset`,`batchNorm`)),p(o.rank===3,()=>`Error in batchNorm3D: x must be rank 3 but got rank ${o.rank}.`),p(s.rank===3||s.rank===1,()=>`Error in batchNorm3D: mean must be rank 3 or rank 1 but got rank ${s.rank}.`),p(c.rank===3||c.rank===1,()=>`Error in batchNorm3D: variance must be rank 3 or rank 1 but got rank ${c.rank}.`),l!=null&&p(l.rank===3||l.rank===1,()=>`Error in batchNorm3D: scale must be rank 3 or rank 1 but got rank ${l.rank}.`),u!=null&&p(u.rank===3||u.rank===1,()=>`Error in batchNorm3D: offset must be rank 3 or rank 1 but got rank ${u.rank}.`),nc(o,s,c,u,l,a)}var oc=z({batchNorm3d_:ac});function sc(e,t,n,r,i,a){let o=R(e,`x`,`batchNorm`),s=R(t,`mean`,`batchNorm`),c=R(n,`variance`,`batchNorm`),l;i!=null&&(l=R(i,`scale`,`batchNorm`));let u;return r!=null&&(u=R(r,`offset`,`batchNorm`)),p(o.rank===4,()=>`Error in batchNorm4D: x must be rank 4 but got rank ${o.rank}.`),p(s.rank===4||s.rank===1,()=>`Error in batchNorm4D: mean must be rank 4 or rank 1 but got rank ${s.rank}.`),p(c.rank===4||c.rank===1,()=>`Error in batchNorm4D: variance must be rank 4 or rank 1 but got rank ${c.rank}.`),l!=null&&p(l.rank===4||l.rank===1,()=>`Error in batchNorm4D: scale must be rank 4 or rank 1 but got rank ${l.rank}.`),u!=null&&p(u.rank===4||u.rank===1,()=>`Error in batchNorm4D: offset must be rank 4 or rank 1 but got rank ${u.rank}.`),nc(o,s,c,u,l,a)}var cc=z({batchNorm4d_:sc});function lc(e,t,n){let r=R(e,`x`,`bincount`),i=R(t,`weights`,`bincount`);p(r.dtype===`int32`,()=>`Error in bincount: input dtype must be int32, but got ${r.dtype}`),p(n>=0,()=>`size must be non-negative, but got ${n}.`),p(i.size===r.size||i.size===0,()=>`Error in bincount: weights must have the same size as input or0-length, but got input shape: ${r.shape}, weights shape: ${i.shape}.`);let a={x:r,weights:i},o={size:n};return L.runKernel(Ge,a,o)}var uc=z({bincount_:lc});function dc(e,t){let n=R(e,`x`,`bitwiseAnd`),r=R(t,`y`,`bitwiseAnd`);
vendor: 4,181 bytes, line 6
6if(!y(n.shape,r.shape))throw Error(`BitwiseAnd: Tensors must have the same shape. x: ${n.shape}, y: ${r.shape}`);if(n.dtype!==`int32`||r.dtype!==`int32`)throw Error(`BitwiseAnd: Only supports 'int32' values in tensor, found type of x: ${n.dtype} and type of y: ${r.dtype}`);let i={a:n,b:r};return L.runKernel(Ke,i)}var fc=z({bitwiseAnd_:dc});function pc(e,t){let n=R(e,`s0`,`broadcastArgs`,`int32`),r=R(t,`s1`,`broadcastArgs`,`int32`);if(n.rank!==1)throw Error(`broadcastArgs(): first input must be a vector (rank=1). Has rank ${n.rank}`);if(r.rank!==1)throw Error(`broadcastArgs(): second input must be a vector (rank=1). Has rank ${r.rank}`);let i={s0:n,s1:r};return L.runKernel(Je,i)}var mc=z({broadcastArgs_:pc});function hc(e,t){let n=R(e,`broadcastTo`,`x`),r=n.shape;if(me(t),t.length<n.rank)throw Error(`broadcastTo(): shape.length=${t.length} < input.rank=${n.rank}.`);if(t.length>n.rank){let e=n.shape.slice();for(;e.length<t.length;)e.unshift(1);n=G(n,e)}let i=n.shape,a=Array.from(t);for(let e=t.length-1;e>=0;e--)if(i[e]===t[e])a[e]=1;else if(n.shape[e]!==1)throw Error(`broadcastTo(): [${r}] cannot be broadcast to [${t}].`);if(a.map((e,t)=>e>1?t:-1).filter(e=>e>=0).length===0)return zo(n);let o={x:n},s={reps:a};return L.runKernel(lr,o,s)}var gc=z({broadcastTo_:hc});function _c(e){let t={x:R(e,`x`,`ceil`,`float32`)};return L.runKernel(Xe,t)}var vc=z({ceil_:_c});function yc(e,t,n){me(e),n||=ae(t);let r={shape:e,value:t,dtype:n};return L.runKernel(Et,{},r)}function bc(e,t,n){let r=R(e,`x`,`clipByValue`);if(p(t<=n,()=>`Error in clip: min (${t}) must be less than or equal to max (${n}).`),t===n)return yc(r.shape,t,r.dtype);let i={x:r},a={clipValueMin:t,clipValueMax:n};return L.runKernel(P,i,a)}var xc=z({clipByValue_:bc});function Sc(e){return Us(e,0)}var Cc=z({concat1d_:Sc});function wc(e,t){return Us(e,t)}var Tc=z({concat2d_:wc});function Ec(e,t){return Us(e,t)}var Dc=z({concat3d_:Ec});function Oc(e,t){return Us(e,t)}var kc=z({concat4d_:Oc});function Ac(e,t,n,r,i=`NHWC`,a=[1,1],o){let s=R(e,`x`,`conv2d`,`float32`),c=R(t,`filter`,`conv2d`,`float32`),l=s,u=!1;s.rank===3&&(u=!0,l=G(s,[1,s.shape[0],s.shape[1],s.shape[2]])),p(l.rank===4,()=>`Error in conv2d: input must be rank 4, but got rank ${l.rank}.`),p(c.rank===4,()=>`Error in conv2d: filter must be rank 4, but got rank ${c.rank}.`),Is(`conv2d`,r,o);let d=i===`NHWC`?l.shape[3]:l.shape[1];p(d===c.shape[2],()=>`Error in conv2d: depth of input (${d}) must match input depth for filter ${c.shape[2]}.`),p(Ns(n,a),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),p(Ps(a),()=>`Error in conv2D: Dilated rates should be larger than 0.`),p(Ps(n),()=>`Error in conv2D: Strides should be larger than 0.`);let f={x:l,filter:c},m={strides:n,pad:r,dataFormat:i,dilations:a,dimRoundingMode:o},h=L.runKernel(et,f,m);return u?G(h,[h.shape[1],h.shape[2],h.shape[3]]):h}var jc=z({conv2d_:Ac});function Mc(e,t,n,r,i=`NWC`,a=1,o){let s=R(e,`x`,`conv1d`),c=R(t,`filter`,`conv1d`),l=s,u=!1;s.rank===2&&(u=!0,l=G(s,[1,s.shape[0],s.shape[1]])),p(l.rank===3,()=>`Error in conv1d: input must be rank 3, but got rank ${l.rank}.`),p(c.rank===3,()=>`Error in conv1d: filter must be rank 3, but got rank ${c.rank}.`),Is(`conv1d`,r,o),p(l.shape[2]===c.shape[1],()=>`Error in conv1d: depth of input (${l.shape[2]}) must match input depth for filter ${c.shape[1]}.`),p(Ns(n,a),()=>`Error in conv1D: Either stride or dilation must be 1. Got stride ${n} and dilation '${a}'`),p(Ps(a),()=>`Error in conv1D: Dilated rates should be larger than 0.`),p(Ps(n),()=>`Error in conv1D: Stride should be larger than 0.`),p(i===`NWC`,()=>`Error in conv1d: got dataFormat of ${i} but only NWC is currently supported.`);let d=G(c,[1,c.shape[0],c.shape[1],c.shape[2]]),f=jc(G(l,[l.shape[0],1,l.shape[1],l.shape[2]]),d,[1,n],r,`NHWC`,[1,a],o);return u?G(f,[f.shape[2],f.shape[3]]):G(f,[f.shape[0],f.shape[2],f.shape[3]])}var Nc=z({conv1d_:Mc});function Pc(e,t,n,r,i,a=`NHWC`,o){p(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let s=e,c=t,l=!1;t.rank===3&&(l=!0,c=G(t,[1,t.shape[0],t.shape[1],t.shape[2]]),s=[1,e[0],e[1],e[2]]),p(s.length===4,()=>
vendor: 4,344 bytes, line 6
6`Error in conv2dDerInput: inShape must be length 4, but got length ${s.length}.`),p(c.rank===4,()=>`Error in conv2dDerInput: dy must be rank 4, but got rank ${c.rank}`),p(n.rank===4,()=>`Error in conv2dDerInput: filter must be rank 4, but got rank ${n.rank}`);let u=a===`NHWC`?s[3]:s[1],d=a===`NHWC`?c.shape[3]:c.shape[1];p(u===n.shape[2],()=>`Error in conv2dDerInput: depth of input (${u}) must match input depth for filter ${n.shape[2]}.`),p(d===n.shape[3],()=>`Error in conv2dDerInput: depth of output (${d}) must match output depth for filter ${n.shape[3]}.`),Is(`conv2dDerInput`,i,o);let f={dy:c,filter:n},m={strides:r,pad:i,dataFormat:a,dimRoundingMode:o,inputShape:s},h=L.runKernel(nt,f,m);return l?G(h,[h.shape[1],h.shape[2],h.shape[3]]):h}var Fc=z({conv2DBackpropInput_:Pc});function Ic(e,t,n,r,i,a){return Fc(n,R(e,`x`,`conv2dTranspose`),R(t,`filter`,`conv2dTranspose`),r,i,`NHWC`,a)}var Lc=z({conv2dTranspose_:Ic});function Rc(e,t,n,r,i=`NDHWC`,a=[1,1,1]){let o=R(e,`x`,`conv3d`),s=R(t,`filter`,`conv3d`),c=o,l=!1;o.rank===4&&(l=!0,c=G(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),p(c.rank===5,()=>`Error in conv3d: input must be rank 5, but got rank ${c.rank}.`),p(s.rank===5,()=>`Error in conv3d: filter must be rank 5, but got rank ${s.rank}.`),p(c.shape[4]===s.shape[3],()=>`Error in conv3d: depth of input (${c.shape[4]}) must match input depth for filter ${s.shape[3]}.`),p(Ns(n,a),()=>`Error in conv3D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),p(i===`NDHWC`,()=>`Error in conv3d: got dataFormat of ${i} but only NDHWC is currently supported.`),p(Ps(a),()=>`Error in conv3D: Dilated rates should be larger than 0.`),p(Ps(n),()=>`Error in conv3D: Strides should be larger than 0.`);let u={x:c,filter:s},d={strides:n,pad:r,dataFormat:i,dilations:a},f=L.runKernel(rt,u,d);return l?G(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var zc=z({conv3d_:Rc});function Bc(e,t,n,r,i){p(e.length===t.rank,()=>`Length of inShape (${e.length}) and rank of dy (${t.rank}) must match`);let a=e,o=t,s=!1;t.rank===4&&(s=!0,o=G(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]]),a=[1,e[0],e[1],e[2],e[3]]);let c=a[4],l=o.shape[4];p(a.length===5,()=>`Error in conv3dDerInput: inShape must be length 5, but got length ${a.length}.`),p(o.rank===5,()=>`Error in conv3dDerInput: dy must be rank 5, but got rank ${o.rank}`),p(n.rank===5,()=>`Error in conv3dDerInput: filter must be rank 5, but got rank ${n.rank}`),p(c===n.shape[3],()=>`Error in conv3dDerInput: depth of input (${c}) must match input depth for filter ${n.shape[3]}.`),p(l===n.shape[4],()=>`Error in conv3dDerInput: depth of output (${l}) must match output depth for filter ${n.shape[4]}.`);let u={dy:o,filter:n},d={pad:i,strides:r,inputShape:a},f=L.runKernel(at,u,d);return s?G(f,[f.shape[1],f.shape[2],f.shape[3],f.shape[4]]):f}var Vc=z({conv3DBackpropInput_:Bc});function Hc(e,t,n,r,i){return Vc(n,R(e,`x`,`conv3dTranspose`),R(t,`filter`,`conv3dTranspose`),r,i)}var Uc=z({conv3dTranspose_:Hc});function Wc(e){let t={x:R(e,`x`,`cos`,`float32`)};return L.runKernel(`Cos`,t)}var Gc=z({cos_:Wc});function Kc(e){let t={x:R(e,`x`,`cosh`,`float32`)};return L.runKernel(ot,t)}var qc=z({cosh_:Kc});function Jc(e,t=0,n=!1,r=!1){let i={x:R(e,`x`,`cumprod`)},a={axis:t,exclusive:n,reverse:r};return L.runKernel(st,i,a)}var Yc=z({cumprod_:Jc});function Xc(e,t=0,n=!1,r=!1){let i={x:R(e,`x`,`cumsum`)},a={axis:t,exclusive:n,reverse:r};return L.runKernel(ct,i,a)}var Zc=z({cumsum_:Xc});function Qc(e,t,n,r=!1){let i=R(e,`x`,`denseBincount`),a=R(t,`weights`,`denseBincount`);p(i.dtype===`int32`,()=>`Error in denseBincount: input dtype must be int32, but got ${i.dtype}`),p(i.rank<=2,()=>`Error in denseBincount: input must be at most rank 2, but got rank ${i.rank}.`),p(n>=0,()=>`size must be non-negative, but got ${n}.`),p(a.size===i.size||a.size===0,()=>`Error in denseBincount: weights must have the same shape as x or 0-length, but got x shape: ${i.shape}, weights shape: ${a.shape}.`);let o={x:i,weights:a},s={size:n,binaryOutput:r};return L.runKernel(ut,o,s)}var $c=z({denseBincount_:Qc});function el(e,t,n=`NHWC`){let r=R(e,`x`,`depthToSpace`,`float32`),i=n===`NHWC`?r.shape[1]:r.shape[2],a=n===`NHWC`?r.shape[2]:r.shape[3],o=n===`NHWC`?r.shape[3]:r.shape[1];p(t>1,()=>`blockSize should be > 1 for depthToSpace, but was: ${t}`),p(i*t>=0,()=>
6`Negative dimension size caused by overflow when multiplying 7 ${i} and ${t} for depthToSpace with input shape 8 ${r.shape}`),p(a*t>=0,()=>`Negative dimension size caused by overflow when multiplying 9 ${a} and ${t} for depthToSpace with input shape 10 ${r.shape}`),p(o%(t*t)===0,()=>`Dimension size must be evenly divisible by ${t*t} but is ${o} for depthToSpace with input shape ${r.shape}`);let s={x:r},c={blockSize:t,dataFormat:n};return L.runKernel(dt,s,c)}var tl=z({depthToSpace_:el});function nl(e,t,n,r,i=`NHWC`,a=[1,1],o){let s=R(e,`x`,`depthwiseConv2d`,`float32`),c=R(t,`filter`,`depthwiseConv2d`,`float32`),l=s,u=!1;s.rank===3&&(u=!0,l=G(s,[1,s.shape[0],s.shape[1],s.shape[2]])),p(l.rank===4,()=>`Error in depthwiseConv2d: input must be rank 4, but got rank ${l.rank}.`),p(c.rank===4,()=>`Error in depthwiseConv2d: filter must be rank 4, but got rank ${c.rank}.`);let d=i===`NHWC`?l.shape[3]:l.shape[1];p(d===c.shape[2],()=>`Error in depthwiseConv2d: number of input channels (${d}) must match the inChannels dimension in filter ${c.shape[2]}.`),Is(`depthwiseConv2d`,r,o);let f={x:l,filter:c},m={strides:n,pad:r,dataFormat:i,dilations:a,dimRoundingMode:o},h=L.runKernel(ft,f,m);return u?G(h,[h.shape[1],h.shape[2],h.shape[3]]):h}var rl=z({depthwiseConv2d_:nl});function il(e){let t={x:R(e,`x`,`diag`)};return L.runKernel(ht,t)}var al=z({diag_:il});function ol(e,t,n,r,i=[1,1],a=`NHWC`){let o=R(e,`x`,`dilation2d`),s=R(t,`filter`,`dilation2d`);p(o.rank===3||o.rank===4,()=>`Error in dilation2d: input must be rank 3 or 4, but got rank ${o.rank}.`),p(s.rank===3,()=>`Error in dilation2d: filter must be rank 3, but got rank ${s.rank}.`),p(a===`NHWC`,()=>`Error in dilation2d: Only NHWC is currently supported, but got dataFormat of ${a}`);let c=o,l=!1;o.rank===3&&(c=G(o,[1,o.shape[0],o.shape[1],o.shape[2]]),l=!0),p(c.shape[3]===s.shape[2],()=>`Error in dilation2d: input and filter must have the same depth: ${c.shape[3]} vs ${s.shape[2]}`);let u={x:c,filter:s},d={strides:n,pad:r,dilations:i},f=L.runKernel(gt,u,d);return l?G(f,[f.shape[1],f.shape[2],f.shape[3]]):f}var sl=z({dilation2d_:ol});function cl(e,t){let n=e.length,r=[];for(let i=0;i<n;i++){let a=n-1-i,o=e[a]||1;(t[t.length-1-i]||1)>1&&o===1&&r.unshift(a)}return r}function ll(e,t){let n=[];for(let r=0;r<t.length;r++){let i=e[e.length-r-1],a=t.length-r-1,o=t[a];(i==null||i===1&&o>1)&&n.unshift(a)}return n}function J(e,t){let n=Math.max(e.length,t.length),r=Array(n);for(let i=0;i<n;i++){let a=e[e.length-i-1];a??=1;let o=t[t.length-i-1];if(o??=1,a===1)r[n-i-1]=o;else if(o===1)r[n-i-1]=a;else if(a!==o){let n=`Operands could not be broadcast together with shapes ${e} and ${t}.`;throw Error(n)}else r[n-i-1]=a}return r}function ul(e,t){let n=R(e,`a`,`equal`,`string_or_numeric`),r=R(t,`b`,`equal`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Ct,i)}var dl=z({equal_:ul});function fl(e,t,n){let r=R(t,`a`,`where`),i=R(n,`b`,`where`),a=R(e,`condition`,`where`,`bool`),o=J(J(a.shape,r.shape),i.shape),s={condition:gc(a,o),t:gc(r,o),e:gc(i,o)};return L.runKernel(zn,s)}var pl=z({where_:fl});function ml(e){let t={x:R(e,`x`,`zerosLike`)};return L.runKernel(gr,t)}var hl=z({zerosLike_:ml});function gl(e,t){let n=R(e,`a`,`div`),r=R(t,`b`,`div`);[n,r]=I(n,r);let i=U(n,r),a=hl(i);return pl(dl(r,a),a,i)}var _l=z({divNoNan_:gl});function vl(e,t){let n=R(e,`t1`,`dot`),r=R(t,`t2`,`dot`);p((n.rank===1||n.rank===2)&&(r.rank===1||r.rank===2),()=>`Error in dot: inputs must all be rank 1 or 2, but got ranks ${n.rank} and ${r.rank}.`);let i=n.rank===1?n.size:n.shape[1],a=r.rank===1?r.size:r.shape[0];if(p(i===a,()=>`Error in dot: inner dimensions of inputs must match, but got ${i} and ${a}.`),n.rank===1&&r.rank===1)return G(K(G(n,[1,-1]),G(r,[-1,1])),[]);if(n.rank===1&&r.rank===2){let e=K(G(n,[1,-1]),G(r,[r.shape[0],r.shape[1]]));return G(e,[e.size])}if(n.rank===2&&r.rank===1){let e=K(n,G(r,[-1,1]));return G(e,[e.size])}return K(n,G(r,[r.shape[0],r.shape[1]]))}var yl=z({dot_:vl});function bl(e,...t){let n=t.map((e,t)=>R(e,`tensors${t}`,`einsum`)),r={equation:e};return L.runKernel(xt,n,r)}var xl=z({einsum_:bl});function Sl(e){let t={x:R(e,`x`,`elu`,`float32`)}
10;return L.runKernel(`Elu`,t)}var Cl=z({elu_:Sl});function wl(e,t){let n=R(e,`x`,`ensureShape`,`string_or_numeric`);if(!v(n.shape,t))throw Error(`EnsureShape: Shape of tensor ${n.shape} is not compatible with expected shape ${t}`);return e}var Tl=z({ensureShape_:wl});function El(e){let t=R(e,`x`,`erf`);p(t.dtype===`int32`||t.dtype===`float32`,()=>"Input dtype must be `int32` or `float32`."),t.dtype===`int32`&&(t=V(t,`float32`));let n={x:t};return L.runKernel(`Erf`,n)}var Dl=z({erf_:El});function Ol(e,t){for(let n=0;n<e.length;++n)if(e[e.length-n-1]!==t-1-n)return!1;return!0}function kl(e,t,n){let r=e.length+t.length,i=[],a=0,o=0;for(let s=0;s<r;s++)n.indexOf(s)===-1?i.push(e[a++]):i.push(t[o++]);return i}function Al(e,t){let n=[],r=e.length;for(let i=0;i<r;i++)t.indexOf(i)===-1&&n.push(e[i]);return[n,t.map(t=>e[t])]}function jl(e,t){return kl(e,t.map(e=>1),t)}function Ml(e,t,n){p(Ol(t,n),()=>`${e} supports only inner-most axes for now. Got axes ${t} and rank-${n} input.`)}function Nl(e,t){if(Ol(e,t))return null;let n=[];for(let r=0;r<t;++r)e.indexOf(r)===-1&&n.push(r);return e.forEach(e=>n.push(e)),n}function Pl(e){return e.map((e,t)=>[t,e]).sort((e,t)=>e[1]-t[1]).map(e=>e[0])}function Fl(e,t){let n=[];for(let r=t-e;r<t;++r)n.push(r);return n}function Il(e,t=null,n=!1){let r={x:R(e,`x`,`max`)},i={reductionIndices:t,keepDims:n};return L.runKernel(`Max`,r,i)}var Ll=z({max_:Il});function Rl(e,t=null,n=!1){let r={x:R(e,`x`,`min`)},i={axis:t,keepDims:n};return L.runKernel(`Min`,r,i)}var zl=z({min_:Rl});function Bl(e,t){let n=R(e,`base`,`pow`),r=R(t,`exp`,`pow`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(`Pow`,i)}var Vl=z({pow_:Bl});function Y(e,t){if((ii(e)&&t!==`string`||Array.isArray(e))&&t!==`complex64`)throw Error(`Error creating a new Scalar: value must be a primitive (number|boolean|string)`);if(t===`string`&&ii(e)&&!(e instanceof Uint8Array))throw Error("When making a scalar from encoded string, the value must be `Uint8Array`.");return sa(e,[],[],t)}function Hl(e){let t={x:R(e,`x`,`sqrt`,`float32`)};return L.runKernel(Kn,t)}var Ul=z({sqrt_:Hl});function Wl(e){let t=R(e,`x`,`square`);return L.runKernel(`Square`,{x:t},{})}var Gl=z({square_:Wl});function Kl(e,t=null,n=!1){let r=R(e,`x`,`sum`);r.dtype===`bool`&&(r=V(r,`int32`));let i={x:r},a={axis:t,keepDims:n};return L.runKernel(`Sum`,i,a)}var X=z({sum_:Kl});function ql(e,t=`euclidean`,n=null,r=!1){e=R(e,`x`,`norm`);let i=Jl(e,t,n),a=i.shape;if(r){let t=T(n,e.shape);a=jl(i.shape,t)}return G(i,a)}function Jl(e,t,n=null){if(e.rank===0)return qo(e);if(e.rank!==1&&n===null)return Jl(G(e,[-1]),t,n);if(e.rank===1||typeof n==`number`||Array.isArray(n)&&n.length===1){if(t===1)return X(qo(e),n);if(t===1/0)return Ll(qo(e),n);if(t===-1/0)return zl(qo(e),n);if(t===`euclidean`||t===2)return Ul(X(Vl(qo(e),Y(2,`int32`)),n));throw Error(`Error in norm: invalid ord value: ${t}`)}if(Array.isArray(n)&&n.length===2){if(t===1)return Ll(X(qo(e),n[0]),n[1]-1);if(t===1/0)return Ll(X(qo(e),n[1]),n[0]);if(t===-1/0)return zl(X(qo(e),n[1]),n[0]);if(t===`fro`||t===`euclidean`)return Ul(X(Gl(e),n));throw Error(`Error in norm: invalid ord value: ${t}`)}throw Error(`Error in norm: invalid axis: ${n}`)}var Yl=z({norm_:ql});function Xl(e,t=null,n=!1){return Yl(e,`euclidean`,t,n)}var Zl=z({euclideanNorm_:Xl});function Ql(e){let t={x:R(e,`x`,`exp`)};return L.runKernel(`Exp`,t)}var $l=z({exp_:Ql});function eu(e,t=0){let n=R(e,`x`,`expandDims`,`string_or_numeric`);p(t<=n.rank,()=>`Axis must be <= rank of the tensor`);let r={input:n},i={dim:t};return L.runKernel(wt,r,i)}var tu=z({expandDims_:eu});function nu(e){let t={x:R(e,`x`,`expm1`)};return L.runKernel(Tt,t)}var ru=z({expm1_:nu});function iu(e,t){let n=R(e,`x`,`tile`,`string_or_numeric`);p(n.rank===t.length,()=>`Error in transpose: rank of input ${n.rank} must match length of reps ${t}.`);let r={x:n},i={reps:t};return L.runKernel(lr,r,i)}var au=z({tile_:iu});function ou(e,t,n,r=`float32`){t??=e;let i=Io([e,t],r),a=e<=t?e:t;for(let e=0;e<a;++e)i.set(1,e,e);let o=G(i.toTensor(),[e,t]);if(n==null)return o;if(n.length===1)return au(tu(o,0),[n[0],1,1]);if(n.length===2)return au(tu(tu(o,0),0),[n[0],n[1],1,1]);
vendor: 4,341 bytes, lines 10-11
10if(n.length===3)return au(tu(tu(tu(o,0),0),0),[n[0],n[1],n[2],1,1]);throw Error(`eye() currently supports only 1D and 2D batchShapes, but received ${n.length}D.`)}var su=z({eye_:ou});function cu(e){let t={x:R(e,`x`,`floor`,`float32`)};return L.runKernel(Ot,t)}var lu=z({floor_:cu});function uu(e,t,n=0,r=0){let i={x:R(e,`x`,`gather`),indices:R(t,`indices`,`gather`,`int32`)},a={axis:n,batchDims:r};return L.runKernel(jt,i,a)}var du=z({gather_:uu});function fu(e,t){let n=R(e,`a`,`greater`,`string_or_numeric`),r=R(t,`b`,`greater`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Nt,i)}var pu=z({greater_:fu});function mu(e,t){let n=R(e,`a`,`greaterEqual`,`string_or_numeric`),r=R(t,`b`,`greaterEqual`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Pt,i)}var hu=z({greaterEqual_:mu});function gu(e){let t={input:R(e,`input`,`imag`)};return L.runKernel(Lt,t)}var _u=z({imag_:gu});function vu(e){let t={x:R(e,`x`,`isFinite`)};return L.runKernel(Rt,t)}var yu=z({isFinite_:vu});function bu(e){let t={x:R(e,`x`,`isInf`)};return L.runKernel(zt,t)}var xu=z({isInf_:bu});function Su(e){let t={x:R(e,`x`,`isNaN`)};return L.runKernel(Bt,t)}var Cu=z({isNaN_:Su});function wu(e,t=.2){let n={x:R(e,`x`,`leakyRelu`)},r={alpha:t};return L.runKernel(Vt,n,r)}var Tu=z({leakyRelu_:wu});function Eu(e,t){let n=R(e,`a`,`less`,`string_or_numeric`),r=R(t,`b`,`less`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Ht,i)}var Du=z({less_:Eu});function Ou(e,t){let n=R(e,`a`,`lessEqual`,`string_or_numeric`),r=R(t,`b`,`lessEqual`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Ut,i)}var ku=z({lessEqual_:Ou});function Au(e,t,n){if(n<=0)throw Error(`The number of values should be positive.`);let r={start:e,stop:t,num:n};return L.runKernel(Wt,{},r)}function ju(e,t=5,n=1,r=1,i=.5){let a=R(e,`x`,`localResponseNormalization`);p(a.rank===4||a.rank===3,()=>`Error in localResponseNormalization: x must be rank 3 or 4 but got 11 rank ${a.rank}.`),p(b(t),()=>`Error in localResponseNormalization: depthRadius must be an integer but got depthRadius ${t}.`);let o=a,s=!1;a.rank===3&&(s=!0,o=G(a,[1,a.shape[0],a.shape[1],a.shape[2]]));let c={x:o},l={depthRadius:t,bias:n,alpha:r,beta:i},u=L.runKernel(`LRN`,c,l);return s?G(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var Mu=z({localResponseNormalization_:ju});function Nu(e){let t={x:R(e,`x`,`log`,`float32`)};return L.runKernel(`Log`,t)}var Pu=z({log_:Nu});function Fu(e){let t={x:R(e,`x`,`log1p`)};return L.runKernel(Gt,t)}var Iu=z({log1p_:Fu});function Lu(e,t){p(oe(e),()=>`The f passed in variableGrads(f) must be a function`),p(t==null||Array.isArray(t)&&t.every(e=>e instanceof Di),()=>`The varList passed in variableGrads(f, varList) must be an array of variables`);let n=t!=null;if(!n){t=[];for(let e in L.registeredVariables)t.push(L.registeredVariables[e])}let r=n?t.filter(e=>!e.trainable):null,i=t.length;t=t.filter(e=>e.trainable),p(t.length>0,()=>`variableGrads() expects at least one of the input variables to be trainable, but none of the ${i} variables is trainable.`);let{value:a,grads:o}=L.gradients(e,t,null,!0);p(o.some(e=>e!=null),()=>`Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize().`),p(a.rank===0,()=>`The f passed in variableGrads(f) must return a scalar, but it returned a rank-${a.rank} tensor`);let s={};return t.forEach((e,t)=>{o[t]!=null&&(s[e.name]=o[t])}),r?.forEach(e=>s[e.name]=null),{value:a,grads:s}}function Ru(e){return L.customGrad(e)}function zu(e){let t={x:R(e,`x`,`neg`)};return L.runKernel(`Neg`,t)}var Bu=z({neg_:zu});function Vu(e){let t={x:R(e,`x`,`softplus`)};return L.runKernel(Gn,t)}var Hu=z({softplus_:Vu});function Uu(e){let t=R(e,`x`,`logSigmoid`);return Ru(e=>({value:Bu(Hu(Bu(e))),gradFunc:t=>W(t,Ks(Bu(e)))}))(t)}var Wu=z({logSigmoid_:Uu});function Gu(e,t){let n=R(e,`a`,`sub`),r=R(t,`b`,`sub`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(`Sub`,i)}var Z=z({sub_:Gu});function Ku(e,t=-1){let n=R(e,`logits`,`logSoftmax`);if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Log Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank}
11 and axis was ${t}`);return Ru((e,n)=>{let r=Z(e,Ll(e,t,!0)),i=Z(V(r,`float32`),Pu(X($l(r),t,!0)));return n([i]),{value:i,gradFunc:(e,n)=>{let[r]=n,i=$l(r);return Z(e,W(X(e,t,!0),i))}}})(n)}var qu=z({logSoftmax_:Ku});function Ju(e,t=null,n=!1){let r=R(e,`x`,`logSumExp`),i=T(t,r.shape),a=Ll(r,i,!0),o=Pu(X($l(Z(r,a)),i)),s=H(G(a,o.shape),o);return n?G(s,jl(s.shape,i)):s}var Yu=z({logSumExp_:Ju});function Xu(e,t){let n=R(e,`a`,`logicalAnd`,`bool`),r=R(t,`b`,`logicalAnd`,`bool`);J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Kt,i)}var Zu=z({logicalAnd_:Xu});function Qu(e){let t={x:R(e,`x`,`logicalNot`,`bool`)};return L.runKernel(qt,t)}var $u=z({logicalNot_:Qu});function ed(e,t){let n=R(e,`a`,`logicalOr`,`bool`),r=R(t,`b`,`logicalOr`,`bool`);J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Jt,i)}var td=z({logicalOr_:ed});function nd(e,t){let n=R(e,`a`,`logicalXor`,`bool`),r=R(t,`b`,`logicalXor`,`bool`);return J(n.shape,r.shape),Zu(td(e,t),$u(Zu(e,t)))}var rd=z({logicalXor_:nd}),id=2147483648;function ad(e,t,n=`left`){let r=R(e,`sortedSequence`,`searchSorted`),i=R(t,`values`,`searchSorted`),a=r.shape[r.shape.length-1],o=i.shape[i.shape.length-1],s=G(r,[-1,a]),c=G(i,[-1,o]);if(s.rank<2)throw Error(`Sorted input argument must be at least 2-dimensional`);if(s.shape[0]!==c.shape[0])throw Error(`Leading dimension of 'sortedSequence' and 'values' must match.`);if(g(c.shape)>=id)throw Error(`values tensor size must less than ${id}`);if(s.shape[1]>=id)throw Error(`trailing dim_size must less than ${id} for int32 output type, was ${s.shape[1]}`);let l={sortedSequence:s,values:c},u={side:n};return L.runKernel(Rn,l,u)}var od=z({searchSorted_:ad});function sd(e,t){return od(e,t,`left`)}function cd(e,t,n,r,i){let a=R(e,`x`,`maxPool`),o=a,s=!1;a.rank===3&&(s=!0,o=G(a,[1,a.shape[0],a.shape[1],a.shape[2]])),p(o.rank===4,()=>`Error in maxPool: input must be rank 4 but got rank ${o.rank}.`),p(Ns(n,1),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${n} and dilations '1'`),Is(`maxPool`,r,i);let c={x:o},l={filterSize:t,strides:n,pad:r,dimRoundingMode:i},u=L.runKernel($t,c,l);return s?G(u,[u.shape[1],u.shape[2],u.shape[3]]):u}var ld=z({maxPool_:cd});function ud(e,t=[1,1,1],n,r,i,a=`NDHWC`){let o=R(e,`x`,`maxPool3d`),s=o,c=!1;o.rank===4&&(c=!0,s=G(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]])),p(s.rank===5,()=>`Error in maxPool3d: x must be rank 5 but got rank ${s.rank}.`),p(a===`NDHWC`,()=>`Error in maxPool3d: Only NDHWC is currently supported, but got dataFormat of ${a}`),Is(`maxPool3d`,r,i);let l={x:s},u={filterSize:t,strides:n,pad:r,dimRoundingMode:i,dataFormat:a},d=L.runKernel(tn,l,u);return c?G(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}var dd=z({maxPool3d_:ud});function fd(e,t,n,r,i=!1){let a={x:R(e,`x`,`maxPoolWithArgmax`)},o={filterSize:t,strides:n,pad:r,includeBatchInIndex:i},s=L.runKernel(rn,a,o);return{result:s[0],indexes:s[1]}}var pd=z({maxPoolWithArgmax_:fd});function md(e,t){let n=R(e,`a`,`maximum`),r=R(t,`b`,`maximum`);[n,r]=I(n,r),n.dtype===`bool`&&(n=V(n,`int32`),r=V(r,`int32`)),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(Qt,i)}var hd=z({maximum_:md});function gd(e,t=null,n=!1){let r={x:R(e,`x`,`mean`)},i={axis:t,keepDims:n};return L.runKernel(an,r,i)}var _d=z({mean_:gd});function vd(e,t=`float32`){if(me(e),t===`complex64`)return oa(vd(e,`float32`),vd(e,`float32`));let n=fe(g(e),t);return L.makeTensor(n,e,t)}function yd(e,t=`float32`){if(me(e),t===`complex64`)return oa(yd(e,`float32`),vd(e,`float32`));let n=de(g(e),t);return L.makeTensor(n,e,t)}function bd(e,t,{indexing:n=`xy`}={}){if(n!==`xy`&&n!==`ij`)throw TypeError(`${n} is not a valid third argument to meshgrid`);if(e===void 0)return[];let r=R(e,`x`,`meshgrid`,e instanceof Ti?e.dtype:`float32`);if(t===void 0)return[r];let i=R(t,`y`,`meshgrid`,t instanceof Ti?t.dtype:`float32`),a=g(r.shape),o=g(i.shape);return n===`xy`?(r=G(r,[1,-1]),i=G(i,[-1,1]),[K(yd([o,1],r.dtype),r),K(i,yd([1,a],i.dtype))]):(r=G(r,[-1,1]),i=G(i,[1,-1]),[K(r,yd([1,o],r.dtype)),K(yd([a,1],i.dtype),i)])}function xd(e,t){let n=R(e,`a`,`minimum`),r=R(t,`b`,`minimum`);[n,r]=I(n,r),n.dtype===`bool`&&(n=V(n,`int32`),r=V(r,`int32`)),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(on,i)}var Sd=z({minimum_:xd});function Cd(e,t,n){p(n===`reflect`||n===`symmetric`,()=>`Invalid mode. Mode must be either reflect or symmetric. Got ${n}.`);let r=R(e,`x`,`mirrorPad`);if(r.rank===0)throw Error(`mirrorPad(scalar) is not defined. Pass non-scalar to mirrorPad`);p(t.length===r.rank,()=>`Padding doesn't match input. Must be ${r.rank}. Got ${t.length}.`);let i=+(n===`reflect`);for(let e=0;e<r.rank;e++)p(t[e].length===2,()=>`Invalid number of paddings. Must be length of 2 each.`),p(t[e][0]>=0&&t[e][0]<=r.shape[e]-i&&t[e][1]>=0&&t[e][1]<=r.shape[e]-i,()=>`Padding in dimension ${e} cannot be greater than or equal to ${r.shape[e]-i} or less than 0 for input of shape ${r.shape}`);let a={paddings:t,mode:n},o={x:r};return L.runKernel(sn,o,a)}var wd=z({mirrorPad_:Cd});function Td(e,t){let n=R(e,`a`,`mod`),r=R(t,`b`,`mod`);[n,r]=I(n,r);let i={a:n,b:r};return L.runKernel(`Mod`,i)}var Ed=z({mod_:Td});function Dd(e,t=null,n=!1){e=R(e,`x`,`moments`);
11let r=T(t,e.shape),i=_d(e,r,n),a=i.shape;return n||(a=jl(i.shape,r)),{mean:i,variance:_d(Gl(Z(V(e,`float32`),G(i,a))),r,n)}}var Od=z({moments_:Dd});function kd(e,t,n,r){let i=R(t,`data`,`multiRNNCell`),a=ra(n,`c`,`multiRNNCell`),o=ra(r,`h`,`multiRNNCell`),s=i,c=[];for(let t=0;t<e.length;t++){let n=e[t](s,a[t],o[t]);c.push(n[0]),c.push(n[1]),s=n[1]}let l=[],u=[];for(let e=0;e<c.length;e+=2)l.push(c[e]),u.push(c[e+1]);return[l,u]}var Ad=z({multiRNNCell_:kd});function jd(e,t,n,r=!1){let i=R(e,`logits`,`multinomial`),a=i.size,o=i.rank;if(a<2)throw Error(`Error in multinomial: you need at least 2 outcomes, but got ${a}.`);if(o>2)throw Error(`Rank of probabilities must be 1 or 2, but is ${o}`);n||=Math.random();let s={logits:o===1?G(i,[1,-1]):i},c={numSamples:t,seed:n,normalized:r},l=L.runKernel(cn,s,c);return o===1?G(l,[l.size]):l}var Md=z({multinomial_:jd});function Nd(e,t){let n=R(e,`a`,`notEqual`,`string_or_numeric`),r=R(t,`b`,`notEqual`,`string_or_numeric`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(un,i)}var Pd=z({notEqual_:Nd});function Fd(e,t,n=1,r=0,i=`int32`){if(t<2)throw Error(`Error in oneHot: depth must be >=2, but it is ${t}`);let a={indices:R(e,`indices`,`oneHot`,`int32`)},o={dtype:i,depth:t,onValue:n,offValue:r};return L.runKernel(hn,a,o)}var Id=z({oneHot_:Fd});function Ld(e){let t={x:R(e,`x`,`onesLike`)};return L.runKernel(mn,t)}var Rd=z({onesLike_:Ld});function zd(e,t){let n=R(e,`v1`,`outerProduct`),r=R(t,`v2`,`outerProduct`);return p(n.rank===1&&r.rank===1,()=>`Error in outerProduct: inputs must be rank 1, but got ranks ${n.rank} and ${r.rank}.`),K(G(n,[-1,1]),G(r,[1,-1]))}var Bd=z({outerProduct_:zd});function Vd(e,t,n=0){let r=R(e,`x`,`pad`);if(r.rank===0)throw Error(`pad(scalar) is not defined. Pass non-scalar to pad`);let i={paddings:t,constantValue:n},a={x:r};return L.runKernel(_n,a,i)}var Hd=z({pad_:Vd});function Ud(e,t,n=0){return p(t.length===2,()=>`Invalid number of paddings. Must be length of 2.`),Hd(e,[t],n)}var Wd=z({pad1d_:Ud});function Gd(e,t,n=0){return p(t.length===2&&t[0].length===2&&t[1].length===2,()=>`Invalid number of paddings. Must be length of 2 each.`),Hd(e,t,n)}var Kd=z({pad2d_:Gd});function qd(e,t,n=0){return p(t.length===3&&t[0].length===2&&t[1].length===2&&t[2].length===2,()=>`Invalid number of paddings. Must be length of 2 each.`),Hd(e,t,n)}var Jd=z({pad3d_:qd});function Yd(e,t,n=0){return p(t.length===4&&t[0].length===2&&t[1].length===2&&t[2].length===2&&t[3].length===2,()=>`Invalid number of paddings. Must be length of 2 each.`),Hd(e,t,n)}var Xd=z({pad4d_:Yd});function Zd(e,t,n){let r=R(e,`x`,`spaceToBatchND`);p(r.rank>=1+t.length,()=>`input rank ${r.rank} should be > than [blockShape] ${t.length}`),p(n.length===t.length,()=>`paddings.shape[0] ${n.length} must be equal to [blockShape] ${t.length}`),p(r.shape.reduce((e,r,i)=>i>0&&i<=t.length?e&&(r+n[i-1][0]+n[i-1][1])%t[i-1]===0:e,!0),()=>`input spatial dimensions ${r.shape.slice(1)} with paddings ${n.toString()} must be divisible by blockShapes ${t.toString()}`);let i={x:r},a={blockShape:t,paddings:n};return L.runKernel(qn,i,a)}var Qd=z({spaceToBatchND_:Zd});function $d(e,t,n,r,i,a,o){i??=[1,1],a??=1,r===0&&(r=`valid`);let s=R(e,`x`,`maxPool`),c=s,l=!1;s.rank===3&&(l=!0,c=G(s,[1,s.shape[0],s.shape[1],s.shape[2]])),p(Ns(a,i),()=>`Error in pool: Either strides or dilations must be 1. Got strides ${a} and dilations '${i}'`);let u=ys(c.shape,t,a,i,r),d=[u.dilationHeight,u.dilationWidth],f;f=r===`same`?tf([u.filterHeight,u.filterWidth],d):[[0,0],[0,0]];let m=d[0]===1&&d[1]===1,[h,g]=ef([u.inHeight,u.inWidth],d,f),_=m?r:`valid`,v=m?c:Qd(c,d,h),y=(n===`avg`?()=>zs(v,t,a,_,o):()=>ld(v,t,a,_,o))(),b=m?y:$s(y,d,g);return l?G(b,[b.shape[1],b.shape[2],b.shape[3]]):b}function ef(e,t,n){let r=n.map(e=>e[0]),i=n.map(e=>e[1]),a=e.concat(r,i),o=t.map((e,t)=>(e-a[t]%e)%e),s=i.map((e,t)=>e+o[t]);return[t.map((e,t)=>[r[t],s[t]]),t.map((e,t)=>[0,o[t]])]}function tf(e,t){let n=e.map((e,n)=>e+(e-1)*(t[n]-1)).map(e=>e-1),r=n.map(e=>Math.floor(e/2)),i=n.map((e,t)=>e-r[t]);return n.map((e,t)=>[r[t],i[t]])}var nf=z({pool_:$d});function rf(e,t){let n={x:R(e,`x`,`prelu`),alpha:R(t,`alpha`,`prelu`)};return L.runKernel(vn,n)}var af=z({prelu_:rf});function of(e,t=null,n=!1){let r=R(e,`x`,`prod`);r.dtype===`bool`&&(r=V(r,`int32`));let i={x:r},a={axis:t,keepDims:n};return L.runKernel(yn,i,a)}var sf=z({prod_:of});function cf(e,t,n,r){let i={paramsNestedSplits:e.map((e,t)=>R(e,`tensors${t}`,`raggedGather`,`int32`)),paramsDenseValues:R(t,`paramsDenseValues`,`raggedGather`),indices:R(n,`indices`,`raggedGather`,`int32`)},a={outputRaggedRank:r},o=L.runKernel(bn,i,a);return{outputNestedSplits:o.slice(0,o.length-1),outputDenseValues:o[o.length-1]}}var lf=z({raggedGather_:cf});function uf(e,t,n){let r=R(e,`starts`,`raggedRange`),i={starts:r,limits:R(t,`limits`,`raggedRange`,r.dtype),deltas:R(n,`deltas`,`raggedRange`,r.dtype)},a=L.runKernel(xn,i);return{rtNestedSplits:a[0],rtDenseValues:a[1]}}var df=z({raggedRange_:uf});function ff(e,t,n,r,i){let a=R(e,`shape`,`raggedTensorToTensor`,`int32`),o=R(t,`values`,`raggedTensorToTensor`),s={shape:a,values:o,defaultValue:R(n,`defaultValue`,`raggedTensorToTensor`,o.dtype),rowPartitionTensors:r.map((e,t)=>R(e,`tensors${t}`,`raggedTensorToTensor`,`int32`))},c={rowPartitionTypes:i};return L.runKernel(Sn,s,c)}var pf=z({raggedTensorToTensor_:ff});function mf(e,t,n){me(e);let r=g(e),i=null;if(n==null||n===`float32`)i=new Float32Array(r);else if(n===`int32`)i=new Int32Array(r);else if(n===`bool`)i=new Uint8Array(r);else throw Error(`Unknown data type ${n}`);for(let e=0;e<r;e++)i[e]=t();return L.makeTensor(i,e,n)}var hf=z({rand_:mf}),gf=t(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=o();t.next=function(){var e=2091639*t.s0+t.c*23283064365386963e-26;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=e|0)},t.c=1,t.s0=n(` `),t.s1=n(` `),t.s2=n(` `),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var n=new r(e),a=t&&t.state,o=n.next;return o.int32=function(){return n.next()*4294967296|0},o.double=function(){return o()+(o()*2097152|0)*11102230246251565e-32},o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}function o(){var e=4022871197;return function(t){t=String(t);for(var n=0;n<t.length;n++){e+=t.charCodeAt(n);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=r*4294967296}return(e>>>0)*23283064365386963e-26}}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.alea=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),_f=t(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor128=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),vf=t(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^(e^e<<1))|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorwow=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),yf=t(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.x,n=t.i,r=e[n],i;return r^=r>>>7,i=r^r<<24,r=e[n+1&7],i^=r^r>>>10,r=e[n+3&7],i^=r^r>>>3,r=e[n+4&7],i^=r^r<<7,r=e[n+7&7],r^=r<<13,i^=r^r<<9,e[n]=i,t.i=n+1&7,i};function n(e,t){var n,r=[];if(t===(t|0))r[0]=t;else for(t=``+t,n=0;n<t.length;++n)r[n&7]=r[n&7]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&r[n]===0;++n);for(n==8?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}n(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.x&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorshift7=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),bf=t(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.w,n=t.X,r=t.i,i,a;
vendor: 5,478 bytes, line 11
11return t.w=e=e+1640531527|0,a=n[r+34&127],i=n[r=r+1&127],a^=a<<13,i^=i<<17,a^=a>>>15,i^=i>>>12,a=n[r]=a^i,t.i=r,a+(e^e>>>16)|0};function n(e,t){var n,r,i,a,o,s=[],c=128;for(t===(t|0)?(r=t,t=null):(t+=`\0`,r=0,c=Math.max(c,t.length)),i=0,a=-32;a<c;++a)t&&(r^=t.charCodeAt((a+32)%t.length)),a===0&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(o=o+1640531527|0,n=s[a&127]^=r+o,i=n==0?i+1:0);for(i>=128&&(s[(t&&t.length||0)&127]=-1),i=127,a=512;a>0;--a)r=s[i+34&127],n=s[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[i]=r^n;e.w=o,e.X=s,e.i=i}n(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.X&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor4096=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),xf=t(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=e|0):n+=e;for(var r=0;r<n.length+20;r++)t.b^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.tychei=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Sf=t(((e,t)=>{(function(e,n,r){var i=256,a=6,o=52,s=`random`,c=r.pow(i,a),l=r.pow(2,o),u=l*2,d=i-1,f;function p(e,t,o){var d=[];t=t==1?{entropy:!0}:t||{};var f=_(g(t.entropy?[e,y(n)]:e??v(),3),d),p=new m(d),b=function(){for(var e=p.g(a),t=c,n=0;e<l;)e=(e+n)*i,t*=i,n=p.g(1);for(;e>=u;)e/=2,t/=2,n>>>=1;return(e+n)/t};return b.int32=function(){return p.g(4)|0},b.quick=function(){return p.g(4)/4294967296},b.double=b,_(y(p.S),n),(t.pass||o||function(e,t,n,i){return i&&(i.S&&h(i,p),e.state=function(){return h(p,{})}),n?(r[s]=e,t):e})(b,f,`global`in t?t.global:this==r,t.state)}function m(e){var t,n=e.length,r=this,a=0,o=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);a<i;)s[a]=a++;for(a=0;a<i;a++)s[a]=s[o=d&o+e[a%n]+(t=s[a])],s[o]=t;(r.g=function(e){for(var t,n=0,a=r.i,o=r.j,s=r.S;e--;)t=s[a=d&a+1],n=n*i+s[d&(s[a]=s[o=d&o+t])+(s[o]=t)];return r.i=a,r.j=o,n})(i)}function h(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function g(e,t){var n=[],r=typeof e,i;if(t&&r==`object`)for(i in e)try{n.push(g(e[i],t-1))}catch{}return n.length?n:r==`string`?e:e+`\0`}function _(e,t){for(var n=e+``,r,i=0;i<n.length;)t[d&i]=d&(r^=t[d&i]*19)+n.charCodeAt(i++);return y(t)}function v(){try{var t;return f&&(t=f.randomBytes)?t=t(i):(t=new Uint8Array(i),(e.crypto||e.msCrypto).getRandomValues(t)),y(t)}catch{var r=e.navigator,a=r&&r.plugins;return[+new Date,e,a,e.screen,y(n)]}}function y(e){return String.fromCharCode.apply(0,e)}if(_(r.random(),n),typeof t==`object`&&t.exports){t.exports=p;try{f=Mo()}catch{}}else typeof define==`function`&&define.amd?define(function(){return p}):r[`seed`+s]=p})(typeof self<`u`?self:e,[],Math)})),Cf=t(((e,t)=>{var n=gf(),r=_f(),i=vf(),a=yf(),o=bf(),s=xf(),c=Sf();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c})),wf=n(Cf()),Tf=class{constructor(e,t,n,r,i){this.mean=e,this.stdDev=t,this.dtype=n,this.nextVal=NaN,this.truncated=r,this.truncated&&(this.upper=this.mean+this.stdDev*2,this.lower=this.mean-this.stdDev*2);let a=i||Math.random();this.random=wf.alea(a.toString())}nextValue(){if(!isNaN(this.nextVal)){let e=this.nextVal;return this.nextVal=NaN,e}let e,t,n=!1;for(;!n;){let r,i,a;do r=2*this.random()-1,i=2*this.random()-1,a=r*r+i*i;while(a>=1||a===0);let o=Math.sqrt(-2*Math.log(a)/a);e=this.mean+this.stdDev*r*o,t=this.mean+this.stdDev*i*o,(!this.truncated||this.isValidTruncated(e))&&(n=!0)}return(!this.truncated||this.isValidTruncated(t))&&(this.nextVal=this.convertValue(t)),this.convertValue(e)}convertValue(e){return this.dtype==null||this.dtype===`float32`?e:Math.round(e)}isValidTruncated(e){return e<=this.upper&&e>=this.lower}},Ef=class{constructor(e,t,n,r){this.alpha=e,this.beta=1/t,this.dtype=n;let i=r||Math.random();this.randu=wf.alea(i.toString()),this.randn=new Tf(0,1,n,!1,this.randu()),this.d=e<1?e+2/3:e-1/3,this.c=1/Math.sqrt(9*this.d)}nextValue(){let e,t,n,r,i,a;for(;;){do r=this.randn.nextValue(),a=1+this.c*r;while(a<=0);if(a*=a*a,e=r*r,t=1-.331*e*e,n=.5*e+this.d*(1-a+Math.log(a)),i=this.randu(),i<t||Math.log(i)<n)break}return a=1/this.beta*this.d*a,this.alpha<1&&(a*=this.randu()**(1/this.alpha)),this.convertValue(a)}convertValue(e){return this.dtype===`float32`?e:Math.round(e)}},Df=class{constructor(e=0,t=1,n,r){if(this.canReturnFloat=()=>this.dtype==null||this.dtype===`float32`,this.min=e,this.range=t-e,this.dtype=n,r??=Math.random(),typeof r==`number`&&(r=r.toString()),!this.canReturnFloat()&&this.range<=1)throw Error(`The difference between ${e} - ${t} <= 1 and dtype is not float`);this.random=wf.alea(r)}convertValue(e){return this.canReturnFloat()?e:Math.round(e)}
11nextValue(){return this.convertValue(this.min+this.range*this.random())}};function Of(e,t,n=1,r=`float32`,i){if(me(e),n??=1,r??=`float32`,r!==`float32`&&r!==`int32`)throw Error(`Unsupported data type ${r}`);let a=new Ef(t,n,r,i),o=Io(e,r);for(let e=0;e<o.values.length;e++)o.values[e]=a.nextValue();return o.toTensor()}var kf=z({randomGamma_:Of});function Af(e,t=0,n=1,r,i){if(me(e),r!=null&&r===`bool`)throw Error(`Unsupported data type ${r}`);let a=new Tf(t,n,r,!1,i),o=Io(e,r);for(let e=0;e<o.values.length;e++)o.values[e]=a.nextValue();return o.toTensor()}var jf=z({randomNormal_:Af});function Mf(e,t,n){if(t!=null&&t===`bool`)throw Error(`Unsupported data type ${t}`);return jf(e,0,1,t,n)}var Nf=z({randomStandardNormal_:Mf});function Pf(e,t=0,n=1,r=`float32`,i){me(e);let a=Io(e,r),o=new Df(t,n,null,i);for(let e=0;e<a.values.length;e++)a.values[e]=o.nextValue();return a.toTensor()}var Ff=z({randomUniform_:Pf});function If(e,t,n,r){return Ff(e,t,n,`int32`,r)}var Lf=z({randomUniformInt_:If});function Rf(e,t,n=1,r=`float32`){if(n===0)throw Error(`Cannot have a step of zero`);let i={start:e,stop:t,step:n,dtype:r};return L.runKernel(Cn,{},i)}function zf(e){let t={input:R(e,`input`,`real`)};return L.runKernel(wn,t)}var Bf=z({real_:zf});function Vf(e){let t={x:R(e,`x`,`reciprocal`)};return L.runKernel(Tn,t)}var Hf=z({reciprocal_:Vf});function Uf(e){let t={x:R(e,`x`,`relu`)};return L.runKernel(En,t)}var Wf=z({relu_:Uf});function Gf(e){let t={x:R(e,`x`,`relu6`)};return L.runKernel(Mn,t)}var Kf=z({relu6_:Gf});function qf(e,t){let n={x:R(e,`x`,`reverse`)},r={dims:t};return L.runKernel(Nn,n,r)}var Jf=z({reverse_:qf});function Yf(e){let t=R(e,`x`,`reverse`);return p(t.rank===1,()=>`Error in reverse1D: x must be rank 1 but got rank ${t.rank}.`),Jf(t,0)}var Xf=z({reverse1d_:Yf});function Zf(e,t){let n=R(e,`x`,`reverse`);return p(n.rank===2,()=>`Error in reverse2D: x must be rank 2 but got rank ${n.rank}.`),Jf(n,t)}var Qf=z({reverse2d_:Zf});function $f(e,t){let n=R(e,`x`,`reverse`);return p(n.rank===3,()=>`Error in reverse3D: x must be rank 3 but got rank ${n.rank}.`),Jf(n,t)}var ep=z({reverse3d_:$f});function tp(e,t){let n=R(e,`x`,`reverse`);return p(n.rank===4,()=>`Error in reverse4D: x must be rank 4 but got rank ${n.rank}.`),Jf(n,t)}var np=z({reverse4d_:tp});function rp(e){let t={x:R(e,`x`,`round`)};return L.runKernel(Pn,t)}var ip=z({round_:rp});function ap(e){let t={x:R(e,`x`,`rsqrt`,`float32`)};return L.runKernel(Fn,t)}var op=z({rsqrt_:ap});function sp(e){let t={x:R(e,`x`,`selu`)};return L.runKernel(Bn,t)}var cp=z({selu_:sp});function lp(e,t,n,r,i,a=[1,1],o=`NHWC`){let s=R(e,`x`,`separableConv2d`),c=R(t,`depthwiseFilter`,`separableConv2d`),l=R(n,`pointwiseFilter`,`separableConv2d`),u=s,d=!1;if(s.rank===3&&(d=!0,u=G(s,[1,s.shape[0],s.shape[1],s.shape[2]])),o===`NCHW`)throw Error(`separableConv2d currently does not support dataFormat NCHW; only NHWC is supported`);p(u.rank===4,()=>`Error in separableConv2d: input must be rank 4, but got rank ${u.rank}.`),p(c.rank===4,()=>`Error in separableConv2d: depthwise filter must be rank 4, but got rank ${c.rank}.`),p(l.rank===4,()=>`Error in separableConv2d: pointwise filter must be rank 4, but got rank ${c.rank}.`),p(l.shape[0]===1,()=>`Error in separableConv2d: the first dimension of pointwise filter must be 1, but got ${l.shape[0]}.`),p(l.shape[1]===1,()=>`Error in separableConv2d: the second dimension of pointwise filter must be 1, but got ${l.shape[1]}.`);let f=c.shape[2],m=c.shape[3];p(l.shape[2]===f*m,()=>`Error in separableConv2d: the third dimension of pointwise filter must be ${f*m}, but got ${l.shape[2]}.`);let h=jc(rl(u,c,r,i,o,a),l,1,`valid`,o);return d?G(h,[h.shape[1],h.shape[2],h.shape[3]]):h}var up=z({separableConv2d_:lp});async function dp(e,t){let n=R(e,`x`,`setdiff1d`),r=R(t,`y`,`setdiff1d`);p(n.dtype===r.dtype,()=>`x and y should have the same dtype, but got x (${n.dtype}) and y (${r.dtype}).`),p(n.rank===1,()=>`x should be 1D tensor, but got x (${n.shape}).`),p(r.rank===1,()=>`y should be 1D tensor, but got y (${r.shape}).`);let i=await n.data(),a=await r.data(),o=new Set(a),s=0;for(let e=0;e<i.length;e++)o.has(i[e])||s++;let c=new bi([s],n.dtype),l=new bi([s],`int32`);for(let e=0,t=0;e<i.length;e++)o.has(i[e])||(c.values[t]=i[e],l.values[t]=e,t++);return[c.toTensor(),l.toTensor()]}var fp=dp;function pp(e){let t={x:R(e,`x`,`sign`)};return L.runKernel(Un,t)}var mp=z({sign_:pp});function hp(e){let t={x:R(e,`x`,`sin`,`float32`)}
11;return L.runKernel(`Sin`,t)}var gp=z({sin_:hp});function _p(e){let t={x:R(e,`x`,`sinh`)};return L.runKernel(Hn,t)}var vp=z({sinh_:_p});function yp(e,t,n){let r=R(e,`x`,`slice1d`);return p(r.rank===1,()=>`slice1d expects a rank-1 tensor, but got a rank-${r.rank} tensor`),q(r,[t],[n])}var bp=z({slice1d_:yp});function xp(e,t,n){let r=R(e,`x`,`slice2d`);return p(r.rank===2,()=>`slice2d expects a rank-2 tensor, but got a rank-${r.rank} tensor`),q(r,t,n)}var Sp=z({slice2d_:xp});function Cp(e,t,n){let r=R(e,`x`,`slice3d`);return p(r.rank===3,()=>`slice3d expects a rank-3 tensor, but got a rank-${r.rank} tensor`),q(r,t,n)}var wp=z({slice3d_:Cp});function Tp(e,t,n){let r=R(e,`x`,`slice4d`);return p(r.rank===4,()=>`slice4d expects a rank-4 tensor, but got a rank-${r.rank} tensor`),q(r,t,n)}var Ep=z({slice4d_:Tp});function Dp(e,t=-1){let n=R(e,`logits`,`softmax`,`float32`);if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${n.rank} and dim was ${t}`);let r={logits:n},i={dim:t};return L.runKernel(Yn,r,i)}var Op=z({softmax_:Dp});function kp(e){p(e.dtype===`complex64`,()=>`The dtype for tf.spectral.fft() must be complex64 but got ${e.dtype}.`);let t={input:e};return L.runKernel(`FFT`,t)}var Ap=z({fft_:kp});function jp(e){p(e.dtype===`complex64`,()=>`The dtype for tf.spectral.ifft() must be complex64 but got ${e.dtype}.`);let t={input:e};return L.runKernel(It,t)}var Mp=z({ifft_:jp});function Np(e){let t=e.shape[e.shape.length-1],n=e.size/t,r;if(t<=2)r=Mp(G(e,[n,t]));else{let i=[n,2*(t-1)],a=G(Bf(e),[n,t]),o=G(_u(e),[n,t]),s=Jf(q(a,[0,1],[n,t-2]),1),c=W(Jf(q(o,[0,1],[n,t-2]),1),Y(-1));r=Mp(G(oa(Us([a,s],1),Us([o,c],1)),[i[0],i[1]]))}if(r=Bf(r),e.rank===3&&e.shape[0]!==0){let t=r,n=e.shape[0];r=G(r,[n,r.shape[0]/n,r.shape[1]]),t.dispose()}return r}var Pp=z({irfft_:Np});function Fp(e,t,n=0){let r={x:R(e,`x`,`split`)},i={numOrSizeSplits:t,axis:n};return L.runKernel(Jn,r,i)}var Ip=z({split_:Fp});function Lp(e,t){p(e.dtype===`float32`,()=>`The dtype for rfft() must be real value but got ${e.dtype}`);let n=e.shape[e.shape.length-1],r=e.size/n,i;if(t!=null&&t<n){let r=e.shape.map(e=>0),a=e.shape.map(e=>e);a[e.shape.length-1]=t,i=q(e,r,a),n=t}else if(t!=null&&t>n){let r=e.shape.map(e=>e);r[e.shape.length-1]=t-n,i=Us([e,vd(r)],e.shape.length-1),n=t}else i=e;let a=hl(i),o=Ap(G(oa(i,a),[r,n])),s=Math.floor(n/2)+1,c=Bf(o),l=_u(o),u=Ip(c,[s,n-s],c.shape.length-1),d=Ip(l,[s,n-s],l.shape.length-1),f=i.shape.slice();return f[i.shape.length-1]=s,G(oa(u[0],d[0]),f)}var Rp=z({rfft_:Lp});function zp(e,t){let n=R(e,`a`,`squaredDifference`),r=R(t,`b`,`squaredDifference`);[n,r]=I(n,r),J(n.shape,r.shape);let i={a:n,b:r};return L.runKernel(tr,i,{})}var Bp=z({squaredDifference_:zp});function Vp(e,t){let n=R(e,`x`,`squeeze`,`string_or_numeric`);return G(n,E(n.shape,t).newShape)}var Hp=z({squeeze_:Vp});function Up(e,t=0){let n=ra(e,`tensors`,`stack`,`string_or_numeric`);p(n.length>=1,()=>`Pass at least one tensor to tf.stack`),n.length>0&&p(t<=n[0].rank,()=>`Axis must be <= rank of the tensor`);let r=n,i={axis:t};return L.runKernel(gn,r,i)}var Wp=z({stack_:Up});function Gp(e,t=0){let n={x:R(e,`x`,`step`)},r={alpha:t};return L.runKernel(_r,n,r)}var Kp=z({step_:Gp});function qp(e,t,n,r,i=0,a=0,o=0,s=0,c=0){let l={x:R(e,`x`,`stridedSlice`,`string_or_numeric`)},u={begin:t,end:n,strides:r,beginMask:i,endMask:a,ellipsisMask:o,newAxisMask:s,shrinkAxisMask:c};return L.runKernel(ir,l,u)}var Jp=z({stridedSlice_:qp});function Yp(e){let t={x:R(e,`x`,`tan`,`float32`)};return L.runKernel(`Tan`,t)}var Xp=z({tan_:Yp});function Zp(e,t){h(e);let n=ea(e,t);if(n.length!==1)throw Error(`tensor1d() requires values to be a flat/TypedArray`);return sa(e,null,n,t)}function Qp(e,t,n){if(h(e),t!=null&&t.length!==2)throw Error(`tensor2d() requires shape to have two numbers`);let r=ea(e,n);if(r.length!==2&&r.length!==1)throw Error(`tensor2d() requires values to be number[][] or flat/TypedArray`);if(r.length===1&&t==null)throw Error("tensor2d() requires shape to be provided when `values` are a flat/TypedArray");return sa(e,t,r,n)}function $p(e,t,n){if(h(e),t!=null&&t.length!==3)throw Error(`tensor3d() requires shape to have three numbers`);let r=ea(e,n);if(r.length!==3&&r.length!==1)throw Error(`tensor3d() requires values to be number[][][] or flat/TypedArray`);if(r.length===1&&t==null)throw Error("tensor3d() requires shape to be provided when `values` are a flat array");return sa(e,t,r,n)}function em(e,t,n){if(h(e),t!=null&&t.length!==4)throw Error(`tensor4d() requires shape to have four numbers`);let r=ea(e,n);if(r.length!==4&&r.length!==1)throw Error(`tensor4d() requires values to be number[][][][] or flat/TypedArray`);if(r.length===1&&t==null)throw Error("tensor4d() requires shape to be provided when `values` are a flat array");return sa(e,t,r,n)}function tm(e,t,n){if(h(e),t!=null&&t.length!==5)throw Error(`tensor5d() requires shape to have five numbers`);let r=ea(e,n);if(r.length!==5&&r.length!==1)throw Error(`tensor5d() requires values to be number[][][][][] or flat/TypedArray`);if(r.length===1&&t==null)throw Error("tensor5d() requires shape to be provided when `values` are a flat array");return sa(e,t,r,n)}function nm(e,t,n){if(h(e),t!=null&&t.length!==6)throw Error(`tensor6d() requires shape to have six numbers`);let r=ea(e,n);if(r.length!==6&&r.length!==1)throw Error(`tensor6d() requires values to be number[][][][][][] or flat/TypedArray`);if(r.length===1&&t==null)throw Error("tensor6d() requires shape to be provided when `values` are a flat array");return t||=r,sa(e,t,r,n)}function rm(e,t,n){let r=t.rank>1?t.shape[t.rank-1]:1,i=t.rank>1?t.rank-1:1,a=`Must have updates.shape = indices.shape[:batchDim] + shape[sliceDim:], got updates.shape: ${n.shape}, indices.shape: ${t.shape}, shape: ${e}, sliceDim: ${r}, and batchDim: ${i}.`;if(n.rank<i)throw Error(a+` update.rank < ${i}. `);
11if(e.length<r+(n.rank-i))throw Error(a+` Output shape length < ${r+(n.rank-i)}`);if(n.rank!==i+e.length-r)throw Error(a+` update.rank != ${i+e.length-r}`);for(let e=0;e<i;++e)if(n.shape[e]!==t.shape[e])throw Error(a+` updates.shape[${e}] (${n.shape[e]}) != indices.shape[${e}] (${t.shape[e]}).`);for(let t=0;t<n.rank-i;++t)if(n.shape[t+i]!==e[t+r])throw Error(a+` updates.shape[${t+i}] (${n.shape[t+i]}) != shape[${t+i}] (${e[t+i]})`)}function im(e,t,n){if(t.rank<1)throw Error(`tf.scatterND() expects the indices to be rank 1 or higher, but the rank was ${t.rank}.`);if(e.rank<1)throw Error(`tf.scatterND() expects the updates to be rank 1 or higher, but the rank was ${e.rank}.`);if(t.dtype!==`int32`)throw Error(`The dtype of 'indices' should be int32, but got dtype: ${t.dtype}`);if(n.length<1)throw Error(`Output rank must be greater or equal to 1, but got shape: ${n}`);if(n.length===0){if(t.size===0)throw Error(`Indices specified for empty output. indices shape: ${t.shape}`);if(e.size===0)throw Error(`Updates specified for empty output. updates shape: ${e.shape}`)}rm(n,t,e)}function am(e,t,n){let r=t.shape.length,i=r>1?t.shape[r-1]:1,a=n.length,o=1;for(let e=i;e<a;++e)o*=n[e];let s=i<1?1:i,c=g(t.shape)/s,l=[...M(n.slice(0,i)),1],u=g(n);return{sliceRank:i,numUpdates:c,sliceSize:o,strides:l,outputSize:u}}function om(e,t,n){let r=R(e,`tensor`,`tensorScatterupdate`),i=R(t,`indices`,`tensorScatterupdate`,`int32`),a=R(n,`updates`,`tensorScatterupdate`);if(im(a,i,r.shape),r.dtype!==a.dtype)throw Error(`tensor and updates must have the same dtype, instead they are ${r.dtype} and ${a.dtype}.`);let o={tensor:r,indices:i,updates:a};return L.runKernel(Ln,o,{})}var sm=z({tensorScatterUpdate_:om});function cm(e,t=1,n=!0){let r=R(e,`x`,`topk`);if(r.rank===0)throw Error(`topk() expects the input to be of rank 1 or higher`);let i=r.shape[r.shape.length-1];if(t<0)throw Error(`'k' passed to topk() must be >= 0 but got ${t}`);if(t>i)throw Error(`'k' passed to topk() must be <= the last dimension (${i}) but got ${t}`);let a={x:r},o={k:t,sorted:n},[s,c]=L.runKernel(ur,a,o);return{values:s,indices:c}}var lm=z({topk_:cm});function um(e,t=0,n=1,r,i){if(me(e),r!=null&&r===`bool`)throw Error(`Unsupported data type $ { dtype }`);let a=new Tf(t,n,r,!0,i),o=Io(e,r);for(let e=0;e<o.values.length;e++)o.values[e]=a.nextValue();return o.toTensor()}var dm=z({truncatedNormal_:um});function fm(e,t=0){let n=R(e,`x`,`unique`,`string_or_numeric`);p(n.rank>0,()=>`The input tensor must be at least 1D`);let r={x:n},i={axis:t},[a,o]=L.runKernel(pr,r,i);return{values:a,indices:o}}var pm=z({unique_:fm});function mm(e,t,n){let r=R(e,`x`,`unsortedSegmentSum`),i=R(t,`segmentIds`,`unsortedSegmentSum`,`int32`);p(b(n),()=>`numSegments must be of dtype int`);let a={x:r,segmentIds:i},o={numSegments:n};return L.runKernel(hr,a,o)}var hm=z({unsortedSegmentSum_:mm});function gm(e,t=0){let n=R(e,`x`,`unstack`,`string_or_numeric`);p(t>=-n.shape.length&&t<n.shape.length,()=>`Axis = ${t} is not in [-${n.shape.length}, ${n.shape.length})`);let r={value:n},i={axis:t};return L.runKernel(mr,r,i)}var _m=z({unstack_:gm});function vm(e,t){return od(e,t,`right`)}function ym(e,t=!0,n,r){return L.makeVariable(e,t,n,r)}function bm(e,t){let n=[];for(let e=0;e<t.length;e++)t[e]&&n.push(e);let r=Io(e,`int32`),i=Io([n.length,e.length],`int32`);for(let t=0;t<n.length;t++){let a=r.indexToLoc(n[t]),o=t*e.length;i.values.set(a,o)}return i.toTensor()}async function xm(e){let t=R(e,`condition`,`whereAsync`,`bool`),n=await t.data(),r=bm(t.shape,n);
11return e!==t&&t.dispose(),r}var Sm=xm;async function Cm(e,t,n){let r=R(e,`tensor`,`boolMask`),i=R(t,`mask`,`boolMask`,`bool`),a=n??0,o=i.rank,s=r.shape;p(o>0,()=>`mask cannot be scalar`),m(s.slice(a,a+o),i.shape,`mask's shape must match the first K dimensions of tensor's shape,`);let c=1;for(let e=a;e<a+o;e++)c*=s[e];let l=G(r,s.slice(0,a).concat([c],s.slice(a+o))),u=G(i,[-1]),d=await Sm(u),f=Hp(d,[1]),h=du(l,f,a);return e!==r&&r.dispose(),t!==i&&i.dispose(),f.dispose(),l.dispose(),u.dispose(),d.dispose(),h}var wm=Cm;function Tm(e,t,n){let r=R(e,`x`,`transpose`);if(t??=r.shape.map((e,t)=>t).reverse(),p(r.rank===t.length,()=>`Error in transpose: rank of input ${r.rank} must match length of perm ${t}.`),t.forEach(e=>{p(e>=0&&e<r.rank,()=>`All entries in 'perm' must be between 0 and ${r.rank-1} but got ${t}`)}),r.rank<=1)return r.clone();let i={x:r},a={perm:t};return r.dtype===`complex64`?B(()=>{let e=Bf(r),t=_u(r);return e=L.runKernel(fr,{x:e},a),t=L.runKernel(fr,{x:t},a),n&&(t=Bu(t)),oa(e,t)}):L.runKernel(fr,i,a)}var Em=z({transpose_:Tm});function Dm(e,t,n,r,i=!0){let a=R(e,`v`,`movingAverage`),o=R(t,`x`,`movingAverage`),s=R(n,`decay`,`movingAverage`);Ri(a,o),p(y(a.shape,o.shape),()=>`Shape mismatch in v and x`);let c=Y(1),l=Z(c,s),u=W(Z(o,a),l);if(i){p(r!=null,()=>`When using zeroDebias: true, step is required.`);let e=R(r,`step`,`movingAverage`);u=U(u,Z(c,Vl(s,e)))}return H(a,u)}var Om=z({movingAverage_:Dm});function km(e,t,n){me(n);let r=R(e,`indices`,`scatterND`,`int32`),i=R(t,`updates`,`scatterND`);im(i,r,n);let a={indices:r,updates:i},o={shape:n};return L.runKernel(In,a,o)}var Am=z({scatterND_:km});function jm(e,t,n,r){if(e.dtype!==`int32`)throw Error(`tf.sparseToDense() expects the indices to be int32 type, but the dtype was ${e.dtype}.`);if(e.rank>2)throw Error(`sparseIndices should be a scalar, vector, or matrix, but got shape ${e.shape}.`);let i=e.rank>0?e.shape[0]:1,a=e.rank>1?e.shape[1]:1;if(n.length!==a)throw Error(`outputShape has incorrect number of elements:, ${n.length}, should be: ${a}.`);let o=t.size;if(!(t.rank===0||t.rank===1&&o===i))throw Error(`sparseValues has incorrect shape ${t.shape}, should be [] or [${i}]`);if(t.dtype!==r.dtype)throw Error(`sparseValues.dtype must match defaultValues.dtype`)}function Mm(e,t,n,r=0){me(n);let i=R(e,`sparseIndices`,`sparseToDense`,`int32`),a=R(t,`sparseValues`,`sparseToDense`,`string_or_numeric`),o=R(r,`defaultValue`,`sparseToDense`,a.dtype);jm(i,a,n,o);let s={sparseIndices:i,sparseValues:a,defaultValue:o},c={outputShape:n};return L.runKernel(er,s,c)}var Nm=z({sparseToDense_:Mm});function Pm(e,t){let n=R(t,`indices`,`gatherND`,`int32`),r={params:R(e,`x`,`gatherND`,`string_or_numeric`),indices:n};return L.runKernel(Mt,r)}var Fm=z({gatherND_:Pm});function Im(e,t){if(t==null)return e.shape.slice();if(y(e.shape,t))return t;if(e.shape.length===t.length){let n=[];for(let r=0;r<e.shape.length;r++)t[r]==null&&e.shape[r]!=null?n.push(e.shape[r]):n.push(t[r]);return n}return t}function Lm(e,t,n,r){let i=R(e,`x`,`dropout`);if(p(i.dtype===`float32`,()=>`x has to be a floating point tensor since it's going to be scaled, but got a ${i.dtype} tensor instead.`),p(t>=0&&t<1,()=>`rate must be a float in the range [0, 1), but got ${t}.`),t===0)return e instanceof Ti?i.clone():i;let a=Im(i,n),o=1-t;return W(i,U(lu(H(Ff(a,0,1,`float32`,r),o)),o))}var Rm=z({dropout_:Lm});function zm(e){return Math.floor(2**Math.ceil(Math.log(e)/Math.log(2)))}function Bm(e,t,n){let r=1-e%2,i=new Float32Array(e);for(let a=0;a<e;++a){let o=2*Math.PI*a/(e+r-1);i[a]=t-n*Math.cos(o)}return Zp(i,`float32`)}async function Vm(e,t,n=1){let r=R(e,`predictions`,`inTopK`),i=R(t,`targets`,`inTopK`);p(r.rank>1,()=>`inTopK() expects the predictions to be of rank 2 or higher, but got ${r.rank}`),p(r.rank-1===i.rank,()=>`predictions rank should be 1 larger than targets rank, but got predictions rank ${r.rank} and targets rank ${i.rank}`),m(r.shape.slice(0,r.shape.length-1),i.shape,`predictions's shape should be align with the targets' shape, except the last dimension.`);let a=r.shape[r.shape.length-1];p(n>0&&n<=a,()=>`'k' passed to inTopK() must be > 0 && <= the predictions last dimension (${a}), but got ${n}`);let o=await r.data(),s=await i.data(),[c,l]=[o.length/a,a],u=D(`bool`,c);for(let e=0;e<c;e++){let t=e*l,r=o.subarray(t,t+l),i=[];for(let e=0;e<r.length;e++)i.push({value:r[e],index:e});i.sort((e,t)=>
vendor: 4,278 bytes, line 11
11t.value-e.value),u[e]=0;for(let t=0;t<n;t++)if(i[t].index===s[e]){u[e]=1;break}}return e!==r&&r.dispose(),t!==i&&i.dispose(),ca(u,i.shape,`bool`)}var Hm=Vm;function Um(e,t,n,r,i,a=`NHWC`,o){let s=e;e.rank===3&&(s=G(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let c=t;c.rank===3&&(c=G(t,[1,t.shape[0],t.shape[1],t.shape[2]])),p(s.rank===4,()=>`Error in conv2dDerFilter: input must be rank 4, but got shape ${s.shape}.`),p(c.rank===4,()=>`Error in conv2dDerFilter: dy must be rank 4, but got shape ${c.shape}.`),p(n.length===4,()=>`Error in conv2dDerFilter: filterShape must be length 4, but got ${n}.`);let l=a===`NHWC`?s.shape[3]:s.shape[1],u=a===`NHWC`?c.shape[3]:c.shape[1];p(l===n[2],()=>`Error in conv2dDerFilter: depth of input ${l}) must match input depth in filter (${n[2]}.`),p(u===n[3],()=>`Error in conv2dDerFilter: depth of dy (${u}) must match output depth for filter (${n[3]}).`),Is(`conv2dDerFilter`,i,o);let d={x:s,dy:c},f={strides:r,pad:i,dataFormat:a,dimRoundingMode:o,filterShape:n};return L.runKernel(tt,d,f)}var Wm=z({conv2DBackpropFilter_:Um});function Gm(e,t,n){if(n==null||n===`linear`)return e;if(n===`relu`)return W(e,Kp(t));throw Error(`Cannot compute gradient for fused activation ${n}.`)}function Km(e,t){let n=t,r=ll(e.shape,t.shape);return r.length>0&&(n=X(n,r)),G(n,e.shape)}function qm(e,t,n,r){if(t===`linear`)return e;if(t===`relu`)return Wf(e);if(t===`elu`)return Cl(e);if(t===`relu6`)return Kf(e);if(t===`prelu`)return af(e,n);if(t===`leakyrelu`)return Tu(e,r);if(t===`sigmoid`)return Ks(e);throw Error(`Unknown fused activation ${t}.`)}var Jm=(e,t)=>!(e>0)||t===`linear`;function Ym({x:e,filter:t,strides:n,pad:r,dataFormat:i=`NHWC`,dilations:a=[1,1],dimRoundingMode:o,bias:s,activation:c=`linear`,preluActivationWeights:l,leakyreluAlpha:u}){if(c||=`linear`,Jm(L.state.gradientDepth,c)===!1){p(i===`NHWC`,()=>`Error in fused conv2d: got dataFormat of ${i} but only NHWC is currently supported for the case of gradient depth is 0 and the activation is not linear.`);let d=jc(e,t,n,r,i,a,o);return s!=null&&(d=H(d,s)),qm(d,c,l,u)}let d=R(e,`x`,`conv2d`,`float32`),f=R(t,`filter`,`conv2d`,`float32`),m=d,h=!1;d.rank===3&&(h=!0,m=G(d,[1,d.shape[0],d.shape[1],d.shape[2]])),p(m.rank===4,()=>`Error in fused conv2d: input must be rank 4, but got rank ${m.rank}.`),p(f.rank===4,()=>`Error in fused conv2d: filter must be rank 4, but got rank ${f.rank}.`),Is(`fused conv2d`,r,o);let g=i===`NHWC`?m.shape[3]:m.shape[1];p(f.shape[2]===g,()=>`Error in conv2d: depth of input (${g}) must match input depth for filter ${f.shape[2]}.`),p(Ns(n,a),()=>`Error in conv2D: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`);let _=xs(m.shape,f.shape,n,a,r,o),v;s!=null&&(v=R(s,`bias`,`fused conv2d`),[v]=I(v,d),i===`NHWC`?J(_.outShape,v.shape):(p(v.shape.length<=1,()=>`Error in fused conv2d: only supports scalar or 1-D Tensor bias for NCHW format but got the bias of rank-${v.shape.length}.`),p(v.shape.length===0||v.shape[0]===_.outChannels||v.shape[0]===1,()=>`Error in fused conv2d: bias shape (${v.shape}) is not compatible with the number of output channels (${_.outChannels})`)));let y;if(l!=null){let e=l.shape;if(p(e.length<=1||e.length===3,()=>`Error in fused conv2d: only supports scalar, 1-D Tensor or 3-D Tensor PReLU activation weights but got a tensor of rank-${e.length}.`),e.length===1)p(e[0]===1||e[0]===_.outChannels,()=>`Error in fused conv2d: PReLU activation weights (${e}) is not compatible with the number of output channels (${_.outChannels}).`);else if(e.length===3)try{J(e,_.outShape)}catch{let t=`Error in fused conv2d: PReLU activation weights (${e}) is not compatible with the output shape of the conv2d (${_.outShape}).`;throw Error(t)}y=R(l,`prelu weights`,`fused conv2d`)}let b=(e,t)=>{p(i===`NHWC`,()=>`Error in gradient of fused conv2D: got dataFormat of ${i} but only NHWC is currently supported.`);let[o,s,l,u]=t,d=Gm(e,l,c);p(Ms(a),()=>`Error in gradient of fused conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${a}'`);let f=[Fc(s.shape,d,o,n,r),Wm(s,d,o.shape,n,r)];if(u!=null){let e=Km(u,d);f.push(e)}return f},x={x:m,filter:f,bias:v,preluActivationWeights:y},S={strides:n,pad:r,dataFormat:i,dilations:a,dimRoundingMode:o,activation:c,leakyreluAlpha:u};
vendor: 4,107 bytes, line 11
11return s==null?Ru((e,t,n)=>{let r=L.runKernel(xr,x,S);return n([t,e,r]),h&&(r=G(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:b}})(m,f):Ru((e,t,n,r)=>{let i=L.runKernel(xr,x,S);return r([t,e,i,n]),h&&(i=G(i,[i.shape[1],i.shape[2],i.shape[3]])),{value:i,gradFunc:b}})(m,f,v)}var Xm=z({fusedConv2d_:Ym});function Zm(e,t,n,r,i,a=[1,1],o){let s=e;e.rank===3&&(s=G(e,[1,e.shape[0],e.shape[1],e.shape[2]]));let c=t;c.rank===3&&(c=G(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={x:s,dy:c},u={strides:r,pad:i,dimRoundingMode:o,dilations:a,filterShape:n};return L.runKernel(pt,l,u)}var Qm=z({depthwiseConv2dNativeBackpropFilter_:Zm});function $m(e,t,n,r,i,a=[1,1],o){let s=t,c=!1;t.rank===3&&(c=!0,s=G(t,[1,t.shape[0],t.shape[1],t.shape[2]]));let l={dy:s,filter:n},u={strides:r,pad:i,dimRoundingMode:o,dilations:a,inputShape:e},d=L.runKernel(mt,l,u);return c?G(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var eh=z({depthwiseConv2dNativeBackpropInput_:$m});function th({x:e,filter:t,strides:n,pad:r,dataFormat:i=`NHWC`,dilations:a=[1,1],dimRoundingMode:o,bias:s,activation:c=`linear`,preluActivationWeights:l,leakyreluAlpha:u}){if(Jm(L.state.gradientDepth,c)===!1){let d=rl(e,t,n,r,i,a,o);return s!=null&&(d=H(d,s)),qm(d,c,l,u)}let d=R(e,`x`,`depthwiseConv2d`,`float32`),f=R(t,`filter`,`depthwiseConv2d`,`float32`),m=d,h=!1;d.rank===3&&(h=!0,m=G(d,[1,d.shape[0],d.shape[1],d.shape[2]])),p(m.rank===4,()=>`Error in fused depthwiseConv2d: input must be rank 4, but got rank ${m.rank}.`),p(f.rank===4,()=>`Error in fused depthwiseConv2d: filter must be rank 4, but got rank ${f.rank}.`),p(m.shape[3]===f.shape[2],()=>`Error in fused depthwiseConv2d: number of input channels (${m.shape[3]}) must match the inChannels dimension in filter ${f.shape[2]}.`),a??=[1,1],p(Ns(n,a),()=>`Error in fused depthwiseConv2d: Either strides or dilations must be 1. Got strides ${n} and dilations '${a}'`),Is(`fused depthwiseConv2d`,r,o);let g=xs(m.shape,f.shape,n,a,r,o,!0),_;s!=null&&(_=R(s,`bias`,`fused conv2d`),[_]=I(_,d),J(g.outShape,_.shape));let v;l!=null&&(v=R(l,`prelu weights`,`fused depthwiseConv2d`));let y=(e,t)=>{p(Ms(a),()=>`Error in gradient of fused depthwiseConv2d: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);let[i,s,l,u]=t,d=Gm(e,l,c),f=eh(s.shape,d,i,n,r,a,o),m=Qm(s,d,i.shape,n,r,a,o);return u==null?[f,m]:[f,m,Km(_,d)]},b={x:m,filter:f,bias:_,preluActivationWeights:v},x={strides:n,pad:r,dataFormat:i,dilations:a,dimRoundingMode:o,activation:c,leakyreluAlpha:u};return s==null?Ru((e,t,n)=>{let r=L.runKernel(Sr,b,x);return n([t,e,r]),h&&(r=G(r,[r.shape[1],r.shape[2],r.shape[3]])),{value:r,gradFunc:y}})(m,f):Ru((e,t,n,r)=>{let i=L.runKernel(Sr,b,x);return r([t,e,i,n]),h&&(i=G(i,[i.shape[1],i.shape[2],i.shape[3]])),{value:i,gradFunc:y}})(m,f,_)}var nh=z({fusedDepthwiseConv2d_:th});function rh({a:e,b:t,transposeA:n=!1,transposeB:r=!1,bias:i,activation:a=`linear`,preluActivationWeights:o,leakyreluAlpha:s=.2}){if(Jm(L.state.gradientDepth,a)===!1){let c=K(e,t,n,r);return i!=null&&(c=H(c,i)),qm(c,a,o,s)}let c=R(e,`a`,`fused matMul`),l=R(t,`b`,`fused matMul`);[c,l]=I(c,l);let u=n?c.shape[c.rank-2]:c.shape[c.rank-1],d=r?l.shape[l.rank-1]:l.shape[l.rank-2],f=n?c.shape[c.rank-1]:c.shape[c.rank-2],m=r?l.shape[l.rank-2]:l.shape[l.rank-1],h=c.shape.slice(0,-2),_=l.shape.slice(0,-2),v=g(h),y=g(_);p(u===d,()=>`Error in fused matMul: inner shapes (${u}) and (${d}) of Tensors with shapes ${c.shape} and ${l.shape} and transposeA=${n} and transposeB=${r} must match.`);let b=J(c.shape.slice(0,-2),l.shape.slice(0,-2)).concat([f,m]),x=n?G(c,[v,u,f]):G(c,[v,f,u]),S=r?G(l,[y,m,d]):G(l,[y,d,m]),C;i!=null&&(C=R(i,`bias`,`fused matMul`),[C]=I(C,c),J(b,C.shape));let w;o!=null&&(w=R(o,`prelu weights`,`fused matMul`));let T=(e,t)=>{let[o,s,c,l]=t,u=Gm(G(e,c.shape),c,a),d,f;if(!n&&!r?(d=K(u,s,!1,!0),f=K(o,u,!0,!1)):!n&&r?(d=K(u,s,!1,!1),f=K(u,o,!0,!1)):n&&!r?(d=K(s,u,!1,!0),f=K(o,u,!1,!1)):(d=K(s,u,!0,!0),f=K(u,o,!0,!0)),i!=null){let e=Km(l,u);return[d,f,e]}return[d,f]},E={a:x,b:S,bias:C,preluActivationWeights:w},D={transposeA:n,transposeB:r,activation:a,leakyreluAlpha:s};
11return i==null?Ru((e,t,n)=>{let r=L.runKernel(br,E,D);return n([e,t,r]),{value:G(r,b),gradFunc:T}})(x,S):Ru((e,t,n,r)=>{let i=L.runKernel(br,E,D);return r([e,t,i,n]),{value:G(i,b),gradFunc:T}})(x,S,C)}var ih=z({fusedMatMul_:rh}),ah=e({conv2d:()=>Xm,depthwiseConv2d:()=>nh,matMul:()=>ih});function oh(e){return Bm(e,.54,.46)}var sh=z({hammingWindow_:oh});function ch(e){return Bm(e,.5,.5)}var lh=z({hannWindow_:ch});function uh(e,t,n,r=!1,i=0){let a=0,o=[];for(;a+t<=e.size;)o.push(q(e,a,t)),a+=n;if(r)for(;a<e.size;){let r=a+t-e.size,s=Us([q(e,a,t-r),yc([r],i)]);o.push(s),a+=n}return o.length===0?Qp([],[0,t]):G(Us(o),[o.length,t])}var dh=z({frame_:uh});function fh(e,t,n,r,i=lh){return r??=zm(t),Rp(W(dh(e,t,n),i(t)),r)}var ph=z({stft_:fh});function mh(e,t,n,r,i=`bilinear`,a=0){let o=R(e,`image`,`cropAndResize`),s=R(t,`boxes`,`cropAndResize`,`float32`),c=R(n,`boxInd`,`cropAndResize`,`int32`),l=s.shape[0];p(o.rank===4,()=>`Error in cropAndResize: image must be rank 4,but got rank ${o.rank}.`),p(s.rank===2&&s.shape[1]===4,()=>`Error in cropAndResize: boxes must be have size [${l},4] but had shape ${s.shape}.`),p(c.rank===1&&c.shape[0]===l,()=>`Error in cropAndResize: boxInd must be have size [${l}] but had shape ${s.shape}.`),p(r.length===2,()=>`Error in cropAndResize: cropSize must be of length 2, but got length ${r.length}.`),p(r[0]>=1&&r[1]>=1,()=>`cropSize must be atleast [1,1], but was ${r}`),p(i===`bilinear`||i===`nearest`,()=>`method must be bilinear or nearest, but was ${i}`);let u={image:o,boxes:s,boxInd:c},d={method:i,extrapolationValue:a,cropSize:r};return L.runKernel(lt,u,d)}var hh=z({cropAndResize_:mh});function gh(e){let t=R(e,`image`,`flipLeftRight`,`float32`);p(t.rank===4,()=>`Error in flipLeftRight: image must be rank 4,but got rank ${t.rank}.`);let n={image:t};return L.runKernel(Dt,n,{})}var _h=z({flipLeftRight_:gh});function vh(e){let t=R(e,`image`,`grayscaleToRGB`),n=t.rank-1,r=t.shape[n];p(t.rank>=2,()=>`Error in grayscaleToRGB: images must be at least rank 2, but got rank ${t.rank}.`),p(r===1,()=>`Error in grayscaleToRGB: last dimension of a grayscale image should be size 1, but got size ${r}.`);let i=Array(t.rank);return i.fill(1,0,n),i[n]=3,au(t,i)}var yh=z({grayscaleToRGB_:vh});function bh(e){let t=R(e,`image`,`RGBToGrayscale`),n=t.rank-1,r=t.shape[n];p(t.rank>=2,()=>`Error in RGBToGrayscale: images must be at least rank 2, but got rank ${t.rank}.`),p(r===3,()=>`Error in RGBToGrayscale: last dimension of an RGB image should be size 3, but got size ${r}.`);let i=t.dtype,a=V(t,`float32`),o=Zp([.2989,.587,.114]),s;switch(t.rank){case 2:s=xl(`ij,j->i`,a,o);break;case 3:s=xl(`ijk,k->ij`,a,o);break;case 4:s=xl(`ijkl,l->ijk`,a,o);break;case 5:s=xl(`ijklm,m->ijkl`,a,o);break;case 6:s=xl(`ijklmn,n->ijklm`,a,o);break;default:throw Error(`Not a valid tensor rank.`)}return s=tu(s,-1),V(s,i)}var xh=z({rgbToGrayscale_:bh});function Sh(e,t,n=0,r=.5){let i=R(e,`image`,`rotateWithOffset`,`float32`);p(i.rank===4,()=>`Error in rotateWithOffset: image must be rank 4,but got rank ${i.rank}.`);let a={image:i},o={radians:t,fillValue:n,center:r};return L.runKernel(yr,a,o)}var Ch=z({rotateWithOffset_:Sh});function wh(e,t,n,r,i,a){r??=.5,i??=-1/0,a??=0;let o=e.shape[0];return n=Math.min(n,o),p(0<=r&&r<=1,()=>`iouThreshold must be in [0, 1], but was '${r}'`),p(e.rank===2,()=>`boxes must be a 2D tensor, but was of rank '${e.rank}'`),p(e.shape[1]===4,()=>`boxes must have 4 columns, but 2nd dimension was ${e.shape[1]}`),p(t.rank===1,()=>`scores must be a 1D tensor`),p(t.shape[0]===o,()=>`scores has incompatible shape with boxes. Expected ${o}, but was ${t.shape[0]}`),p(0<=a&&a<=1,()=>`softNmsSigma must be in [0, 1], but was '${a}'`),{maxOutputSize:n,iouThreshold:r,scoreThreshold:i,softNmsSigma:a}}function Th(e,t,n,r=.5,i=-1/0){let a=R(e,`boxes`,`nonMaxSuppression`,`float32`),o=R(t,`scores`,`nonMaxSuppression`,`float32`),s=wh(a,o,n,r,i);n=s.maxOutputSize,r=s.iouThreshold,i=s.scoreThreshold;let c={maxOutputSize:n,iouThreshold:r,scoreThreshold:i};return L.runKernel(dn,{boxes:a,scores:o},c)}var Eh=z({nonMaxSuppression_:Th});function Dh(e,t,n){let r=Oh(e,t,n),i=r<0?-(r+1):r;e.splice(i,0,t)}function Oh(e,t,n){return Ah(e,t,n||kh)}function kh(e,t){return e>t?1:e<t?-1:0}function Ah(e,t,n){let r=0,i=e.length,a=0,o=!1;for(;r<i;){a=r+(i-r>>>1);let s=n(t,e[a]);s>
vendor: 4,182 bytes, line 11
110?r=a+1:(i=a,o=!s)}return o?r:-r-1}function jh(e,t,n,r,i){return Ph(e,t,n,r,i,0)}function Mh(e,t,n,r,i,a){return Ph(e,t,n,r,i,0,!1,a,!0)}function Nh(e,t,n,r,i,a){return Ph(e,t,n,r,i,a,!0)}function Ph(e,t,n,r,i,a,o=!1,s=!1,c=!1){let l=[];for(let e=0;e<t.length;e++)t[e]>i&&l.push({score:t[e],boxIndex:e,suppressBeginIndex:0});l.sort(Lh);let u=a>0?-.5/a:0,d=[],f=[];for(;d.length<n&&l.length>0;){let t=l.pop(),{score:n,boxIndex:a,suppressBeginIndex:o}=t;if(n<i)break;let s=!1;for(let n=d.length-1;n>=o;--n){let o=Fh(e,a,d[n]);if(o>=r){s=!0;break}if(t.score*=Ih(r,u,o),t.score<=i)break}t.suppressBeginIndex=d.length,s||(t.score===n?(d.push(a),f.push(t.score)):t.score>i&&Dh(l,t,Lh))}let p=d.length,m=n-p;s&&m>0&&(d.push(...Array(m).fill(0)),f.push(...Array(m).fill(0)));let h={selectedIndices:d};return o&&(h.selectedScores=f),c&&(h.validOutputs=p),h}function Fh(e,t,n){let r=e.subarray(t*4,t*4+4),i=e.subarray(n*4,n*4+4),a=Math.min(r[0],r[2]),o=Math.min(r[1],r[3]),s=Math.max(r[0],r[2]),c=Math.max(r[1],r[3]),l=Math.min(i[0],i[2]),u=Math.min(i[1],i[3]),d=Math.max(i[0],i[2]),f=Math.max(i[1],i[3]),p=(s-a)*(c-o),m=(d-l)*(f-u);if(p<=0||m<=0)return 0;let h=Math.max(a,l),g=Math.max(o,u),_=Math.min(s,d),v=Math.min(c,f),y=Math.max(_-h,0)*Math.max(v-g,0);return y/(p+m-y)}function Ih(e,t,n){let r=Math.exp(t*n*n);return n<=e?r:0}function Lh(e,t){return e.score-t.score||e.score===t.score&&t.boxIndex-e.boxIndex}async function Rh(e,t,n,r=.5,i=-1/0){let a=R(e,`boxes`,`nonMaxSuppressionAsync`),o=R(t,`scores`,`nonMaxSuppressionAsync`),s=wh(a,o,n,r,i);n=s.maxOutputSize,r=s.iouThreshold,i=s.scoreThreshold;let c=await Promise.all([a.data(),o.data()]),l=c[0],u=c[1],{selectedIndices:d}=jh(l,u,n,r,i);return a!==e&&a.dispose(),o!==t&&o.dispose(),Zp(d,`int32`)}var zh=Rh;function Bh(e,t,n,r=.5,i=-1/0,a=0){let o=R(e,`boxes`,`nonMaxSuppression`),s=R(t,`scores`,`nonMaxSuppression`),c=wh(o,s,n,r,i,a);n=c.maxOutputSize,r=c.iouThreshold,i=c.scoreThreshold,a=c.softNmsSigma;let l={boxes:o,scores:s},u={maxOutputSize:n,iouThreshold:r,scoreThreshold:i,softNmsSigma:a},d=L.runKernel(pn,l,u);return{selectedIndices:d[0],selectedScores:d[1]}}var Vh=z({nonMaxSuppressionWithScore_:Bh});async function Hh(e,t,n,r=.5,i=-1/0,a=0){let o=R(e,`boxes`,`nonMaxSuppressionAsync`),s=R(t,`scores`,`nonMaxSuppressionAsync`),c=wh(o,s,n,r,i,a);n=c.maxOutputSize,r=c.iouThreshold,i=c.scoreThreshold,a=c.softNmsSigma;let l=await Promise.all([o.data(),s.data()]),u=l[0],d=l[1],{selectedIndices:f,selectedScores:p}=Nh(u,d,n,r,i,a);return o!==e&&o.dispose(),s!==t&&s.dispose(),{selectedIndices:Zp(f,`int32`),selectedScores:Zp(p)}}var Uh=Hh;function Wh(e,t,n,r=.5,i=-1/0,a=!1){let o=R(e,`boxes`,`nonMaxSuppression`),s=R(t,`scores`,`nonMaxSuppression`),c=wh(o,s,n,r,i,null),l=c.maxOutputSize,u=c.iouThreshold,d=c.scoreThreshold,f={boxes:o,scores:s},p={maxOutputSize:l,iouThreshold:u,scoreThreshold:d,padToMaxOutputSize:a},m=L.runKernel(fn,f,p);return{selectedIndices:m[0],validOutputs:m[1]}}var Gh=z({nonMaxSuppressionPadded_:Wh});async function Kh(e,t,n,r=.5,i=-1/0,a=!1){let o=R(e,`boxes`,`nonMaxSuppressionAsync`),s=R(t,`scores`,`nonMaxSuppressionAsync`),c=wh(o,s,n,r,i,null),l=c.maxOutputSize,u=c.iouThreshold,d=c.scoreThreshold,[f,p]=await Promise.all([o.data(),s.data()]),{selectedIndices:m,validOutputs:h}=Mh(f,p,l,u,d,a);return o!==e&&o.dispose(),s!==t&&s.dispose(),{selectedIndices:Zp(m,`int32`),validOutputs:Y(h,`int32`)}}var qh=Kh;function Jh(e,t,n=!1,r=!1){let i=R(e,`images`,`resizeBilinear`);p(i.rank===3||i.rank===4,()=>`Error in resizeBilinear: x must be rank 3 or 4, but got rank ${i.rank}.`),p(t.length===2,()=>`Error in resizeBilinear: new shape must 2D, but got shape ${t}.`),p(r===!1||n===!1,()=>`Error in resizeBilinear: If halfPixelCenters is true, alignCorners must be false.`);let a=i,o=!1;i.rank===3&&(o=!0,a=G(i,[1,i.shape[0],i.shape[1],i.shape[2]]));let[]=t,s={images:a},c={alignCorners:n,halfPixelCenters:r,size:t},l=L.runKernel(An,s,c);return o?G(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Yh=z({resizeBilinear_:Jh});function Xh(e,t,n=!1,r=!1){let i=R(e,`images`,`resizeNearestNeighbor`);p(i.rank===3||i.rank===4,()=>`Error in resizeNearestNeighbor: x must be rank 3 or 4, but got rank ${i.rank}
11.`),p(t.length===2,()=>`Error in resizeNearestNeighbor: new shape must 2D, but got shape ${t}.`),p(i.dtype===`float32`||i.dtype===`int32`,()=>"`images` must have `int32` or `float32` as dtype"),p(r===!1||n===!1,()=>`Error in resizeNearestNeighbor: If halfPixelCenters is true, alignCorners must be false.`);let a=i,o=!1;i.rank===3&&(o=!0,a=G(i,[1,i.shape[0],i.shape[1],i.shape[2]]));let[]=t,s={images:a},c={alignCorners:n,halfPixelCenters:r,size:t},l=L.runKernel(On,s,c);return o?G(l,[l.shape[1],l.shape[2],l.shape[3]]):l}var Zh=z({resizeNearestNeighbor_:Xh});function Qh(e,t=`binary`,n=!1,r=.5){let i=R(e,`image`,`threshold`),a=i.shape[0]*i.shape[1],o=W(Zp([r]),255),s,c,l,u;if(p(i.rank===3,()=>`Error in threshold: image must be rank 3,but got rank ${i.rank}.`),p(i.shape[2]===3||i.shape[2]===1,()=>`Error in threshold: image color channel must be equal to 3 or 1but got ${i.shape[2]}.`),p(i.dtype===`int32`||i.dtype===`float32`,()=>`Error in dtype: image dtype must be int32 or float32,but got dtype ${i.dtype}.`),p(t===`otsu`||t===`binary`,()=>`Method must be binary or otsu, but was ${t}`),i.shape[2]===3){[s,c,l]=Ip(i,[1,1,1],-1);let e=W(s,.2989),t=W(c,.587),n=W(l,.114);u=H(H(e,t),n)}else u=e;return t===`otsu`&&(o=$h(uc(V(ip(u),`int32`),ca([]),256),a)),V(W(n?ku(u,o):pu(u,o),255),`int32`)}function $h(e,t){let n=Zp([-1]),r=Zp([0]),i=Zp([0]),a,o,s,c,l,u;for(let d=0;d<e.size-1;d++){a=q(e,0,d+1),o=q(e,d+1),l=U(X(a),t),u=U(X(o),t),s=U(X(W(a,Rf(0,a.size))),X(a));let f=yc(o.shape,a.size),p=H(Rf(0,o.size),f);c=U(X(W(o,p)),X(o));let m=Z(s,c),h=Z(s,c);i=W(W(W(l,u),m),h);let g=pu(i,r);r=pl(g,i,r),n=pl(g,Zp([d]),n)}return n}var eg=z({threshold_:Qh});function tg(e,t,n=`nearest`,r=`constant`,i=0,a){let o=R(e,`image`,`transform`,`float32`),s=R(t,`transforms`,`transform`,`float32`);p(o.rank===4,()=>`Error in transform: image must be rank 4,but got rank ${o.rank}.`),p(s.rank===2&&(s.shape[0]===o.shape[0]||s.shape[0]===1)&&s.shape[1]===8,()=>`Error in transform: Input transform should be batch x 8 or 1 x 8`),p(a==null||a.length===2,()=>`Error in transform: outputShape must be [height, width] or null, but got ${a}.`);let c={image:o,transforms:s},l={interpolation:n,fillMode:r,fillValue:i,outputShape:a};return L.runKernel(dr,c,l)}var ng=z({transform_:tg});function rg(e,t,n){let r=R(e,`a`,`bandPart`);p(r.rank>=2,()=>`bandPart(): Rank must be at least 2, got ${r.rank}.`);let i=r.shape,[a,o]=r.shape.slice(-2),s,c;typeof t==`number`?(p(t%1==0,()=>`bandPart(): numLower must be an integer, got ${t}.`),p(t<=a,()=>`bandPart(): numLower (${t}) must not be greater than the number of rows (${a}).`),s=R(t<0?a:t,`numLower`,`bandPart`)):(p(t.dtype===`int32`,()=>`bandPart(): numLower's dtype must be an int32.`),s=pl(Du(t,0),a,Sd(t,a))),typeof n==`number`?(p(n%1==0,()=>`bandPart(): numUpper must be an integer, got ${n}.`),p(n<=o,()=>`bandPart(): numUpper (${n}) must not be greater than the number of columns (${o}).`),c=R(n<0?o:n,`numUpper`,`bandPart`)):(p(n.dtype===`int32`,()=>`bandPart(): numUpper's dtype must be an int32.`),c=pl(Du(n,0),o,Sd(n,o)));let l=Z(G(Rf(0,a,1,`int32`),[-1,1]),Rf(0,o,1,`int32`)),u=Zu(ku(l,s),hu(l,Bu(c))),d=vd([a,o],r.dtype);return G(Wp(_m(G(r,[-1,a,o])).map(e=>pl(u,e,d))),i)}var ig=z({bandPart_:rg});function ag(e){let t;if(Array.isArray(e)){t=!1,p(e!=null&&e.length>0,()=>`Gram-Schmidt process: input must not be null, undefined, or empty`);let n=e[0].shape[0];for(let t=1;t<e.length;++t)p(e[t].shape[0]===n,()=>`Gram-Schmidt: Non-unique lengths found in the input vectors: (${e[t].shape[0]} vs. ${n})`)}else t=!0,e=Ip(e,e.shape[0],0).map(e=>Hp(e,[0]));p(e.length<=e[0].shape[0],()=>`Gram-Schmidt: Number of vectors (${e.length}) exceeds number of dimensions (${e[0].shape[0]}).`);let n=[],r=e;for(let t=0;t<e.length;++t)n.push(L.tidy(()=>{let e=r[t];if(t>0)for(let r=0;r<t;++r){let t=W(X(W(n[r],e)),n[r]);e=Z(e,t)}return U(e,Yl(e,`euclidean`))}));return t?Wp(n,0):n}var og=z({gramSchmidt_:ag});function sg(e,t=!1){if(p(e.rank>=2,()=>`qr() requires input tensor to have a rank >= 2, but got rank ${e.rank}`),e.rank===2)return cg(e,t);{let n=_m(G(e,[e.shape.slice(0,e.shape.length-2).reduce((e,t)=>
11e*t),e.shape[e.shape.length-2],e.shape[e.shape.length-1]]),0),r=[],i=[];return n.forEach(e=>{let[n,a]=cg(e,t);r.push(n),i.push(a)}),[G(Wp(r,0),e.shape),G(Wp(i,0),e.shape)]}}function cg(e,t=!1){return L.tidy(()=>{p(e.shape.length===2,()=>`qr2d() requires a 2D Tensor, but got a ${e.shape.length}D Tensor.`);let n=e.shape[0],r=e.shape[1],i=su(n),a=zo(e),o=Qp([[1]],[1,1]),s=zo(o),c=n>=r?r:n;for(let e=0;e<c;++e){let t=a,c=s,l=i;[s,a,i]=L.tidy(()=>{let t=q(a,[e,e],[n-e,1]),c=Yl(t),l=q(a,[e,e],[1,1]),u=pl(pu(l,0),Qp([[-1]]),Qp([[1]])),d=Z(l,W(u,c)),f=U(t,d);s=f.shape[0]===1?zo(o):Us([o,q(f,[1,0],[f.shape[0]-1,f.shape[1]])],0);let p=Bu(U(K(u,d),c)),m=q(a,[e,0],[n-e,r]),h=W(p,s),g=Em(s);if(e===0)a=Z(m,K(h,K(g,m)));else{let t=Z(m,K(h,K(g,m)));a=Us([q(a,[0,0],[e,r]),t],0)}let _=Em(h),v=q(i,[0,e],[n,i.shape[1]-e]);if(e===0)i=Z(v,K(K(v,s),_));else{let t=Z(v,K(K(v,s),_));i=Us([q(i,[0,0],[n,e]),t],1)}return[s,a,i]}),ma([t,c,l])}return!t&&n>r&&(i=q(i,[0,0],[n,r]),a=q(a,[0,0],[r,r])),[i,a]})}var lg=z({qr_:sg}),ug;(function(e){e[e.NONE=0]=`NONE`,e[e.MEAN=1]=`MEAN`,e[e.SUM=2]=`SUM`,e[e.SUM_BY_NONZERO_WEIGHTS=3]=`SUM_BY_NONZERO_WEIGHTS`})(ug||={});function dg(e,t,n=ug.SUM_BY_NONZERO_WEIGHTS){let r=R(e,`losses`,`computeWeightedLoss`),i=null;t!=null&&(i=R(t,`weights`,`computeWeightedLoss`));let a=i==null?r:W(r,i);if(n===ug.NONE)return a;if(n===ug.SUM)return X(a);if(n===ug.MEAN){if(i==null)return _d(a);{let e=r.size/i.size,t=U(X(a),X(i));return e>1?U(t,Y(e)):t}}if(n===ug.SUM_BY_NONZERO_WEIGHTS){if(i==null)return U(X(a),Y(r.size));{let e=V(X(Pd(W(i,yd(r.shape)),Y(0))),`float32`);return U(X(a),e)}}throw Error(`Unknown reduction: ${n}`)}var fg=z({computeWeightedLoss_:dg});function pg(e,t,n,r=ug.SUM_BY_NONZERO_WEIGHTS){let i=R(e,`labels`,`absoluteDifference`),a=R(t,`predictions`,`absoluteDifference`),o=null;return n!=null&&(o=R(n,`weights`,`absoluteDifference`)),m(i.shape,a.shape,`Error in absoluteDifference: `),fg(qo(Z(i,a)),o,r)}var mg=z({absoluteDifference_:pg});function hg(e,t,n,r,i=ug.SUM_BY_NONZERO_WEIGHTS){let a=R(e,`labels`,`cosineDistance`),o=R(t,`predictions`,`cosineDistance`),s=null;return r!=null&&(s=R(r,`weights`,`cosineDistance`)),m(a.shape,o.shape,`Error in cosineDistance: `),fg(Z(Y(1),X(W(a,o),n,!0)),s,i)}var gg=z({cosineDistance_:hg});function _g(e,t,n,r=ug.SUM_BY_NONZERO_WEIGHTS){let i=R(e,`labels`,`hingeLoss`),a=R(t,`predictions`,`hingeLoss`),o=null;n!=null&&(o=R(n,`weights`,`hingeLoss`)),m(i.shape,a.shape,`Error in hingeLoss: `);let s=Y(1);return i=Z(W(Y(2),i),s),fg(Wf(Z(s,W(i,a))),o,r)}var vg=z({hingeLoss_:_g});function yg(e,t,n,r=1,i=ug.SUM_BY_NONZERO_WEIGHTS){let a=R(e,`labels`,`huberLoss`),o=R(t,`predictions`,`huberLoss`),s=null;n!=null&&(s=R(n,`weights`,`huberLoss`)),m(a.shape,o.shape,`Error in huberLoss: `);let c=Y(r),l=qo(Z(o,a)),u=Sd(l,c),d=Z(l,u);return fg(H(W(Y(.5),Gl(u)),W(c,d)),s,i)}var bg=z({huberLoss_:yg});function xg(e,t,n,r=1e-7,i=ug.SUM_BY_NONZERO_WEIGHTS){let a=R(e,`labels`,`logLoss`),o=R(t,`predictions`,`logLoss`),s=null;n!=null&&(s=R(n,`weights`,`logLoss`)),m(a.shape,o.shape,`Error in logLoss: `);let c=Y(1),l=Y(r);return fg(Z(Bu(W(a,Pu(H(o,l)))),W(Z(c,a),Pu(H(Z(c,o),l)))),s,i)}var Sg=z({logLoss_:xg});function Cg(e,t,n,r=ug.SUM_BY_NONZERO_WEIGHTS){let i=R(e,`labels`,`meanSquaredError`),a=R(t,`predictions`,`meanSquaredError`),o=null;return n!=null&&(o=R(n,`weights`,`meanSquaredError`)),m(i.shape,a.shape,`Error in meanSquaredError: `),fg(Bp(i,a),o,r)}var wg=z({meanSquaredError_:Cg});function Tg(e,t){let n=R(e,`labels`,`sigmoidCrossEntropyWithLogits`),r=R(t,`logits`,`sigmoidCrossEntropyWithLogits`);m(n.shape,r.shape,`Error in sigmoidCrossEntropyWithLogits: `);let i=Wf(r),a=W(r,n),o=Iu($l(Bu(qo(r))));return H(Z(i,a),o)}function Eg(e,t,n,r=0,i=ug.SUM_BY_NONZERO_WEIGHTS){let a=R(e,`multiClassLabels`,`sigmoidCrossEntropy`),o=R(t,`logits`,`sigmoidCrossEntropy`),s=null;if(n!=null&&(s=R(n,`weights`,`sigmoidCrossEntropy`)),m(a.shape,o.shape,`Error in sigmoidCrossEntropy: `),r>0){let e=Y(r),t=Y(1),n=Y(.5);a=H(W(a,Z(t,e)),W(n,e))}return fg(Tg(a,o),s,i)}var Dg=z({sigmoidCrossEntropy_:Eg});function Og(e,t,n=-1){if(n===-1&&(n=t.rank-1),n!==t.rank-1)throw Error(`Softmax cross entropy along a non-last dimension is not yet supported. Labels / logits was rank ${t.rank} and dim was ${n}`);return Ru((e,t,r)=>{let i=Yu(t,[n],!0),a=Z(V(t,`float32`),i);return r([e,a]),{value:X(Bu(W(a,e)),[n]),gradFunc:(e,t)=>{let[r,i]=t,a=jl(e.shape,[n]);return[W(G(e,a),Z(V(r,`float32`),$l(i))),W(G(e,a),Z($l(i),V(r,`float32`)))]}}})(e,t)}function kg(e,t,n,r=0,i=ug.SUM_BY_NONZERO_WEIGHTS){let a=R(e,`onehotLabels`,`softmaxCrossEntropy`),o=R(t,`logits`,`softmaxCrossEntropy`),s=null;if(n!=null&&(s=R(n,`weights`,`softmaxCrossEntropy`)),m(a.shape,o.shape,`Error in softmaxCrossEntropy: `),r>0){let e=Y(r),t=Y(1),n=Y(a.shape[1]);a=H(W(a,Z(t,e)),U(e,n))}return fg(Og(a,o),s,i)}var Ag=z({softmaxCrossEntropy_:kg});function jg(e,t,n,r){let i=R(e,`indices`,`sparseFillEmptyRows`,`int32`),a=R(t,`values`,`sparseFillEmptyRows`),o=R(n,`denseShape`,`sparseFillEmptyRows`,`int32`),s=R(r,`defaultValue`,`sparseFillEmptyRows`,a.dtype);if(i.rank!==2)throw Error(`Indices should be Tensor2D but received shape 12 ${i.shape}`);if(a.rank!==1)throw Error(`Values should be Tensor1D but received shape ${a.shape}`);if(o.rank!==1)throw Error(`Dense shape should be Tensor1D but received shape ${o.shape}`);if(s.rank!==0)throw Error(`Default value should be a scalar but received shape ${s.shape}`);let c={indices:i,values:a,denseShape:o,defaultValue:s},l=L.runKernel(Xn,c);return{outputIndices:l[0],outputValues:l[1],emptyRowIndicator:l[2],reverseIndexMap:l[3]}}var Mg=z({sparseFillEmptyRows_:jg});function Ng(e,t,n){let r=R(e,`inputIndices`,`sparseReshape`,`int32`),i=R(t,`inputShape`,`sparseReshape`,`int32`),a=R(n,`newShape`,`sparseReshape`,`int32`);if(r.rank!==2)throw Error(`Input indices should be Tensor2D but received shape 13 ${r.shape}`);if(i.rank!==1)throw Error(`Input shape should be Tensor1D but received shape ${i.shape}`);if(a.rank!==1)throw Error(`New shape should be Tensor1D but received shape ${a.shape}`);let o={inputIndices:r,inputShape:i,newShape:a},s=L.runKernel(Zn,o);return{outputIndices:s[0],outputShape:s[1]}}var Pg=z({sparseReshape_:Ng});function Fg(e,t,n){let r=R(e,`data`,`sparseSegmentMean`),i=R(t,`indices`,`sparseSegmentMean`,`int32`),a=R(n,`segmentIds`,`sparseSegmentMean`,`int32`);if(r.rank<1)throw Error(`Data should be at least 1 dimensional but received scalar`);if(i.rank!==1)throw Error(`Indices should be Tensor1D but received shape 14 ${i.shape}`);if(a.rank!==1)throw Error(`Segment ids should be Tensor1D but received shape 15 ${a.shape}`);let o={data:r,indices:i,segmentIds:a};return L.runKernel(Qn,o)}var Ig=z({sparseSegmentMean_:Fg});function Lg(e,t,n){let r=R(e,`data`,`sparseSegmentSum`),i=R(t,`indices`,`sparseSegmentSum`,`int32`),a=R(n,`segmentIds`,`sparseSegmentSum`,`int32`);if(r.rank<1)throw Error(`Data should be at least 1 dimensional but received scalar`);if(i.rank!==1)throw Error(`Indices should be Tensor1D but received shape 16 ${i.shape}`);if(a.rank!==1)throw Error(`Segment ids should be Tensor1D but received shape 17 ${a.shape}`);let o={data:r,indices:i,segmentIds:a};return L.runKernel($n,o)}var Rg=z({sparseSegmentSum_:Lg});function zg(e,t,n,r,i,a,o,s){let c=R(e,`data`,`stringNGrams`,`string`);if(c.dtype!==`string`)throw Error(`Data must be of datatype string`);if(c.shape.length!==1)throw Error(`Data must be a vector, saw: ${c.shape}`);let l=R(t,`dataSplits`,`stringNGrams`);if(l.dtype!==`int32`)throw Error(`Data splits must be of datatype int32`);
17let u={separator:n,nGramWidths:r,leftPad:i,rightPad:a,padWidth:o,preserveShortSequences:s},d={data:c,dataSplits:l},f=L.runKernel(ar,d,u);return{nGrams:f[0],nGramsSplits:f[1]}}var Bg=z({stringNGrams_:zg});function Vg(e,t,n=!0){let r=R(e,`input`,`stringSplit`,`string`),i=R(t,`delimiter`,`stringSplit`,`string`);if(r.rank!==1)throw Error(`Input should be Tensor1D but received shape ${r.shape}`);if(i.rank!==0)throw Error(`Delimiter should be a scalar but received shape ${i.shape}`);let a={skipEmpty:n},o={input:r,delimiter:i},s=L.runKernel(or,o,a);return{indices:s[0],values:s[1],shape:s[2]}}var Hg=z({stringSplit_:Vg});function Ug(e,t){let n=R(e,`input`,`stringToHashBucketFast`,`string`),r={numBuckets:t};if(t<=0)throw Error(`Number of buckets must be at least 1`);let i={input:n};return L.runKernel(sr,i,r)}var Wg=z({stringToHashBucketFast_:Ug});function Gg(e,t,n,r=!0){let i=R(e,`input`,`staticRegexReplace`,`string`),a={pattern:t,rewrite:n,replaceGlobal:r};return L.runKernel(rr,{x:i},a)}var Kg=z({staticRegexReplace_:Gg}),qg={fft:Ap,ifft:Mp,rfft:Rp,irfft:Pp},Jg={hammingWindow:sh,hannWindow:lh,frame:dh,stft:ph},Yg={flipLeftRight:_h,grayscaleToRGB:yh,resizeNearestNeighbor:Zh,resizeBilinear:Yh,rgbToGrayscale:xh,rotateWithOffset:Ch,cropAndResize:hh,nonMaxSuppression:Eh,nonMaxSuppressionAsync:zh,nonMaxSuppressionWithScore:Vh,nonMaxSuppressionWithScoreAsync:Uh,nonMaxSuppressionPadded:Gh,nonMaxSuppressionPaddedAsync:qh,threshold:eg,transform:ng},Xg={bandPart:ig,gramSchmidt:og,qr:lg},Zg={absoluteDifference:mg,computeWeightedLoss:fg,cosineDistance:gg,hingeLoss:vg,huberLoss:bg,logLoss:Sg,meanSquaredError:wg,sigmoidCrossEntropy:Dg,softmaxCrossEntropy:Ag},Qg={sparseFillEmptyRows:Mg,sparseReshape:Pg,sparseSegmentMean:Ig,sparseSegmentSum:Rg},$g={stringNGrams:Bg,stringSplit:Hg,stringToHashBucketFast:Wg,staticRegexReplace:Kg},e_=new Map,t_=new Map,n_=class{getClassName(){return this.constructor.className}static fromConfig(e,t){return new e(t)}},r_=class e{constructor(){this.classNameMap={}}static getMap(){return e.instance??=new e,e.instance}static register(t){e.getMap().classNameMap[t.className]=[t,t.fromConfig]}};function i_(e,t,n){p(e.className!=null,()=>`Class being registered does not have the static className property defined.`),p(typeof e.className==`string`,()=>`className is required to be a string, but got type `+typeof e.className),p(e.className.length>0,()=>`Class being registered has an empty-string as its className, which is disallowed.`),t===void 0&&(t=`Custom`),n===void 0&&(n=e.className);let r=n,i=t+`>`+r;return r_.register(e),e_.set(i,e),t_.set(e,i),e}var a_=class extends n_{minimize(e,t=!1,n){let{value:r,grads:i}=this.computeGradients(e,n);if(n!=null){let e=n.map(e=>({name:e.name,tensor:i[e.name]}));this.applyGradients(e)}else this.applyGradients(i);return ma(i),t?r:(r.dispose(),null)}get iterations(){return this.iterations_??=0,this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return Lu(e,t)}dispose(){this.iterations_!=null&&ma(this.iterations_)}async saveIterations(){return this.iterations_??=0,{name:`iter`,tensor:Y(this.iterations_,`int32`)}}async getWeights(){throw Error(`getWeights() is not implemented for this optimizer yet.`)}async setWeights(e){throw Error(`setWeights() is not implemented for this optimizer class ${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty(a_,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});var o_=class extends a_{static get className(){return`Adadelta`}constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n??(this.epsilon=L.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(e=>e.name):Object.keys(e)).forEach((t,n)=>{let r=L.registeredVariables[t];this.accumulatedGrads[n]??(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:B(()=>hl(r).variable(!1))}),this.accumulatedUpdates[n]??(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:B(()=>hl(r).variable(!1))});let i=Array.isArray(e)?e[n].tensor:e[t];if(i==null)return;let a=this.accumulatedGrads[n].variable,o=this.accumulatedUpdates[n].variable;B(()=>{let e=H(W(a,this.rho),W(Gl(i),1-this.rho)),t=W(U(Ul(H(o,this.epsilon)),Ul(H(a,this.epsilon))),i),n=H(W(o,this.rho),W(Gl(t),1-this.rho));a.assign(e),o.assign(n);let s=H(W(t,-this.learningRate),r);r.assign(s)})}),this.incrementIterations()}dispose(){this.accumulatedUpdates!=null&&(ma(this.accumulatedGrads.map(e=>e.variable)),ma(this.accumulatedUpdates.map(e=>e.variable)))}async getWeights(){let e=[...this.accumulatedGrads,...this.accumulatedUpdates];return[await this.saveIterations()].concat(e.map(e=>({name:e.originalName,tensor:e.variable}
17)))}async setWeights(e){e=await this.extractIterations(e);let t=e.length/2;this.accumulatedGrads=e.slice(0,t).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)})),this.accumulatedUpdates=e.slice(t,t*2).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)}))}getConfig(){return{learningRate:this.learningRate,rho:this.rho,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.rho,t.epsilon)}},s_=class extends a_{static get className(){return`Adagrad`}constructor(e,t=.1){super(),this.learningRate=e,this.initialAccumulatorValue=t,this.accumulatedGrads=[]}applyGradients(e){(Array.isArray(e)?e.map(e=>e.name):Object.keys(e)).forEach((t,n)=>{let r=L.registeredVariables[t];this.accumulatedGrads[n]??(this.accumulatedGrads[n]={originalName:`${t}/accumulator`,variable:B(()=>yc(r.shape,this.initialAccumulatorValue).variable(!1))});let i=Array.isArray(e)?e[n].tensor:e[t];if(i==null)return;let a=this.accumulatedGrads[n].variable;B(()=>{let e=H(a,Gl(i));a.assign(e);let t=H(W(U(i,Ul(H(e,L.backend.epsilon()))),-this.learningRate),r);r.assign(t)})}),this.incrementIterations()}dispose(){this.accumulatedGrads!=null&&ma(this.accumulatedGrads.map(e=>e.variable))}async getWeights(){return[await this.saveIterations()].concat(this.accumulatedGrads.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e),this.accumulatedGrads=e.map(e=>({originalName:e.name,variable:e.tensor.variable(!1)}))}getConfig(){return{learningRate:this.learningRate,initialAccumulatorValue:this.initialAccumulatorValue}}static fromConfig(e,t){return new e(t.learningRate,t.initialAccumulatorValue)}},c_=class extends a_{static get className(){return`Adam`}constructor(e,t,n,r=null){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.accumulatedFirstMoment=[],this.accumulatedSecondMoment=[],B(()=>{this.accBeta1=Y(t).variable(),this.accBeta2=Y(n).variable()}),r??(this.epsilon=L.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(e=>e.name):Object.keys(e);B(()=>{let n=Z(1,this.accBeta1),r=Z(1,this.accBeta2);t.forEach((t,i)=>{let a=L.registeredVariables[t];this.accumulatedFirstMoment[i]??(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:B(()=>hl(a).variable(!1))}),this.accumulatedSecondMoment[i]??(this.accumulatedSecondMoment[i]={originalName:`${t}/v`,variable:B(()=>hl(a).variable(!1))});let o=Array.isArray(e)?e[i].tensor:e[t];if(o==null)return;let s=this.accumulatedFirstMoment[i].variable,c=this.accumulatedSecondMoment[i].variable,l=H(W(s,this.beta1),W(o,1-this.beta1)),u=H(W(c,this.beta2),W(Gl(o),1-this.beta2)),d=U(l,n),f=U(u,r);s.assign(l),c.assign(u);let p=H(W(U(d,H(Ul(f),this.epsilon)),-this.learningRate),a);a.assign(p)}),this.accBeta1.assign(W(this.accBeta1,this.beta1)),this.accBeta2.assign(W(this.accBeta2,this.beta2))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.accBeta2.dispose(),this.accumulatedFirstMoment!=null&&ma(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedSecondMoment!=null&&ma(this.accumulatedSecondMoment.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedFirstMoment,...this.accumulatedSecondMoment];return[await this.saveIterations()].concat(e.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e),B(()=>{this.accBeta1.assign(Vl(this.beta1,this.iterations_+1)),this.accBeta2.assign(Vl(this.beta2,this.iterations_+1))});let t=e.length/2;this.accumulatedFirstMoment=e.slice(0,t).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)})),this.accumulatedSecondMoment=e.slice(t,t*2).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)}))}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon)}},l_=class extends a_{static get className(){return`Adamax`}constructor(e,t,n,r=null,i=0){super(),this.learningRate=e,this.beta1=t,this.beta2=n,this.epsilon=r,this.decay=i,this.accumulatedFirstMoment=[],this.accumulatedWeightedInfNorm=[],B(()=>{this.iteration=Y(0).variable(),this.accBeta1=Y(t).variable()}),r??(this.epsilon=L.backend.epsilon())}applyGradients(e){let t=Array.isArray(e)?e.map(e=>e.name):Object.keys(e);B(()=>{let n=Z(1,this.accBeta1),r=U(-this.learningRate,H(W(this.iteration,this.decay),1));t.forEach((t,i)=>{let a=L.registeredVariables[t];this.accumulatedFirstMoment[i]??(this.accumulatedFirstMoment[i]={originalName:`${t}/m`,variable:hl(a).variable(!1)}),this.accumulatedWeightedInfNorm[i]??(this.accumulatedWeightedInfNorm[i]={originalName:`${t}/v`,variable:hl(a).variable(!1)});let o=Array.isArray(e)?e[i].tensor:e[t];if(o==null)return;let s=this.accumulatedFirstMoment[i].variable,c=this.accumulatedWeightedInfNorm[i].variable,l=H(W(s,this.beta1),W(o,1-this.beta1)),u=hd(W(c,this.beta2),qo(o));s.assign(l),c.assign(u);let d=H(W(U(r,n),U(l,H(u,this.epsilon))),a);a.assign(d)}),this.iteration.assign(H(this.iteration,1)),this.accBeta1.assign(W(this.accBeta1,this.beta1))}),this.incrementIterations()}dispose(){this.accBeta1.dispose(),this.iteration.dispose(),this.accumulatedFirstMoment!=null&&ma(this.accumulatedFirstMoment.map(e=>e.variable)),this.accumulatedWeightedInfNorm!=null&&ma(this.accumulatedWeightedInfNorm.map(e=>e.variable))}async getWeights(){throw Error(`getWeights() is not implemented for Adamax yet.`)}async setWeights(e){throw Error(`setWeights() is not implemented for Adamax yet.`)}getConfig(){return{learningRate:this.learningRate,beta1:this.beta1,beta2:this.beta2,epsilon:this.epsilon,decay:this.decay}}static fromConfig(e,t){return new e(t.learningRate,t.beta1,t.beta2,t.epsilon,t.decay)}},u_=class extends a_{static get className(){return`SGD`}constructor(e){super(),this.learningRate=e,this.setLearningRate(e)}
17applyGradients(e){(Array.isArray(e)?e.map(e=>e.name):Object.keys(e)).forEach((t,n)=>{let r=Array.isArray(e)?e[n].tensor:e[t];if(r==null)return;let i=L.registeredVariables[t];B(()=>{let e=H(W(this.c,r),i);i.assign(e)})}),this.incrementIterations()}setLearningRate(e){this.learningRate=e,this.c!=null&&this.c.dispose(),this.c=ha(Y(-e))}dispose(){this.c.dispose()}async getWeights(){return[await this.saveIterations()]}async setWeights(e){if(e=await this.extractIterations(e),e.length!==0)throw Error(`SGD optimizer does not have settable weights.`)}getConfig(){return{learningRate:this.learningRate}}static fromConfig(e,t){return new e(t.learningRate)}},d_=class extends u_{static get className(){return`Momentum`}constructor(e,t,n=!1){super(e),this.learningRate=e,this.momentum=t,this.useNesterov=n,this.accumulations=[],this.m=Y(this.momentum)}applyGradients(e){(Array.isArray(e)?e.map(e=>e.name):Object.keys(e)).forEach((t,n)=>{let r=L.registeredVariables[t];this.accumulations[n]??(this.accumulations[n]={originalName:`${t}/momentum`,variable:B(()=>hl(r).variable(!1))});let i=this.accumulations[n].variable,a=Array.isArray(e)?e[n].tensor:e[t];a!=null&&B(()=>{let e,t=H(W(this.m,i),a);e=this.useNesterov?H(W(this.c,H(a,W(t,this.m))),r):H(W(this.c,t),r),i.assign(t),r.assign(e)})}),this.incrementIterations()}dispose(){this.m.dispose(),this.accumulations!=null&&ma(this.accumulations.map(e=>e.variable))}setMomentum(e){this.momentum=e}async getWeights(){return[await this.saveIterations()].concat(this.accumulations.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e),this.accumulations=e.map(e=>({originalName:e.name,variable:e.tensor.variable(!1)}))}getConfig(){return{learningRate:this.learningRate,momentum:this.momentum,useNesterov:this.useNesterov}}static fromConfig(e,t){return new e(t.learningRate,t.momentum,t.useNesterov)}},f_=class extends a_{static get className(){return`RMSProp`}constructor(e,t=.9,n=0,r=null,i=!1){if(super(),this.learningRate=e,this.decay=t,this.momentum=n,this.epsilon=r,this.accumulatedMeanSquares=[],this.accumulatedMoments=[],this.accumulatedMeanGrads=[],this.centered=i,r??(this.epsilon=L.backend.epsilon()),e==null)throw Error(`learningRate for RMSPropOptimizer must be defined.`)}applyGradients(e){(Array.isArray(e)?e.map(e=>e.name):Object.keys(e)).forEach((t,n)=>{let r=L.registeredVariables[t];this.accumulatedMeanSquares[n]??(this.accumulatedMeanSquares[n]={originalName:`${t}/rms`,variable:B(()=>hl(r).variable(!1))}),this.accumulatedMoments[n]??(this.accumulatedMoments[n]={originalName:`${t}/momentum`,variable:B(()=>hl(r).variable(!1))}),this.accumulatedMeanGrads[n]==null&&this.centered&&(this.accumulatedMeanGrads[n]={originalName:`${t}/mg`,variable:B(()=>hl(r).variable(!1))});let i=Array.isArray(e)?e[n].tensor:e[t];if(i==null)return;let a=this.accumulatedMeanSquares[n].variable,o=this.accumulatedMoments[n].variable;B(()=>{let e=H(W(a,this.decay),W(Gl(i),1-this.decay));if(this.centered){let t=this.accumulatedMeanGrads[n].variable,s=H(W(t,this.decay),W(i,1-this.decay)),c=U(W(i,this.learningRate),Ul(Z(e,H(Gl(s),this.epsilon)))),l=H(W(o,this.momentum),c);a.assign(e),t.assign(s),o.assign(l);let u=Z(r,l);r.assign(u)}else{let e=H(W(a,this.decay),W(Gl(i),1-this.decay)),t=H(W(o,this.momentum),U(W(i,this.learningRate),Ul(H(e,this.epsilon))));a.assign(e),o.assign(t);let n=Z(r,t);r.assign(n)}})}),this.incrementIterations()}dispose(){this.accumulatedMeanSquares!=null&&ma(this.accumulatedMeanSquares.map(e=>e.variable)),this.accumulatedMeanGrads!=null&&this.centered&&ma(this.accumulatedMeanGrads.map(e=>e.variable)),this.accumulatedMoments!=null&&ma(this.accumulatedMoments.map(e=>e.variable))}async getWeights(){let e=[...this.accumulatedMeanSquares,...this.accumulatedMoments];return this.centered&&e.push(...this.accumulatedMeanGrads),[await this.saveIterations()].concat(e.map(e=>({name:e.originalName,tensor:e.variable})))}async setWeights(e){e=await this.extractIterations(e);let t=this.centered?e.length/3:e.length/2;this.accumulatedMeanSquares=e.slice(0,t).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)})),this.accumulatedMoments=e.slice(t,t*2).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)})),this.centered&&(this.accumulatedMeanGrads=e.slice(t*2,t*3).map(e=>({originalName:e.name,variable:e.tensor.variable(!1)})))}getConfig(){return{learningRate:this.learningRate,decay:this.decay,momentum:this.momentum,epsilon:this.epsilon,centered:this.centered}}static fromConfig(e,t){return new e(t.learningRate,t.decay,t.momentum,t.epsilon,t.centered)}},p_=[o_,s_,c_,l_,d_,f_,u_];function m_(){for(let e of p_)i_(e)}function h_(e,t){let n=e.shape.length,r=t.shape.length;if(n<1)throw Error(`tf.gatherND() expects the input to be rank 1 or higher, but the rank was ${n}.`);if(r<1)throw Error(`tf.gatherND() expects the indices to be rank 1 or higher, but the rank was ${r}.`);if(t.dtype!==`int32`)throw Error(`tf.gatherND() expects the indices to be int32 type, but the dtype was ${t.dtype}.`);if(t.shape[r-1]>n)throw Error(`index innermost dimension length must be <= tensor rank; saw: ${t.shape[r-1]} vs. ${n}`);if(g(e.shape)===0)throw Error(`Requested more than 0 entries, but input is empty. Input shape: ${e.shape}.`);let i=t.shape,a=i[i.length-1],o=1;for(let e=0;e<i.length-1;++e)o*=i[e];let s=e.shape,c=i.slice();c.pop();let l=1;for(let e=a;
17e<n;++e)l*=s[e],c.push(s[e]);let u=[...M(e.shape).map(e=>e/l),1].slice(0,a);return[c,o,l,u]}var g_=e({assertParamsValid:()=>y_,computeFlatOffset:()=>M_,computeOutShape:()=>x_,getNormalizedAxes:()=>T_,isSliceContinous:()=>j_,maskToAxes:()=>b_,parseSliceParams:()=>N_,sliceInfo:()=>P_,startForAxis:()=>k_,startIndicesWithElidedDims:()=>E_,stopForAxis:()=>A_,stopIndicesWithElidedDims:()=>D_,stridesForAxis:()=>O_,stridesWithElidedDims:()=>S_}),__=-2,v_=-1;function y_(e,t,n){let r=e.shape.length;p(r===t.length,()=>`Error in slice${r}D: Length of begin ${t} must match the rank of the array (${r}).`),p(r===n.length,()=>`Error in slice${r}D: Length of size ${n} must match the rank of the array (${r}).`);for(let i=0;i<r;++i)p(t[i]+n[i]<=e.shape[i],()=>`Error in slice${r}D: begin[${i}] + size[${i}] (${t[i]+n[i]}) would overflow input.shape[${i}] (${e.shape[i]})`)}function b_(e){let t=[],n=0;for(;e>0;)e&1&&t.push(n),e/=2,n++;return t}function x_(e,t,n){let r=[];for(let i=0;i<e.length;i++)r[i]=Math.ceil((t[i]-e[i])/n[i]);return r}function S_(e,t,n,r){let i=[...e];for(let e=i.length;e<r.length;e++)i.push(1);for(let e=0;e<n;e++)e===0?i[t]=1:(i.splice(t,0,1),i.pop());return i}function C_(e,t,n){return n<=e?n:n-(t-1)}function w_(e,t){let n=[];for(let r=0;r<e;r++)n.push(t+r);return n}function T_(e,t,n,r,i,a,o,s,c){let l=e.length,u=Array(l),d=Array(l),f=Array(l);if(t.length&&n>0){let c=t[0],l=n+1;u=E_(o,c,l,r,e),d=D_(s,c,l,i,e),f=S_(a,c,l,e)}else for(let t=0;t<l;t++)u[t]=k_(o,r,a,e,t,c),d[t]=A_(s,i,a,e,t,c),f[t]=O_(a,t,c);return{begin:u,end:d,strides:f}}function E_(e,t,n,r,i){let a=[...i],o=w_(n,t);for(let i=0;i<a.length;i++)if(o.indexOf(i)>-1)a[i]=0;else{let o=C_(t,n,i),s=r[o];e&1<<o&&(s=0),a[i]=s}return a}function D_(e,t,n,r,i){let a=[...i],o=w_(n,t);for(let i=0;i<a.length;i++)if(o.indexOf(i)>-1)a[i]=2**53-1;else{let o=C_(t,n,i),s=r[o];e&1<<o&&(s=2**53-1),a[i]=s}for(let e=0;e<a.length;e++){let t=i[e];a[e]<0&&(a[e]+=t),a[e]=l(0,a[e],i[e])}return a}function O_(e,t,n){let r=e[t];return(n&1<<t||r==null)&&(r=1),r}function k_(e,t,n,r,i,a){let o=t[i],s=n[i]||1;(e&1<<i||a&1<<i||o==null)&&(o=s>0?-(2**53-1):2**53-1);let c=r[i];return o<0&&(o+=c),o=l(0,o,c-1),o}function A_(e,t,n,r,i,a){let o=t[i],s=n[i]||1;(e&1<<i||a&1<<i||o==null)&&(o=s>0?2**53-1:-(2**53-1));let c=r[i];return o<0&&(o+=c),o=s>0?l(0,o,c):l(-1,o,c-1),o}function j_(e,t,n){let r=n.length;for(let e=0;e<n.length;e++)if(n[e]>1){r=e;break}for(let i=r+1;i<n.length;i++)if(t[i]>0||n[i]!==e[i])return!1;return!0}function M_(e,t){let n=e.length>0?e[e.length-1]:1;for(let r=0;r<e.length-1;r++)n+=e[r]*t[r];return n}function N_(e,t,n){let r,i=e.shape.length;r=typeof t==`number`?[t,...Array(i-1).fill(0)]:t.length<i?t.concat(Array(i-t.length).fill(0)):t.slice(),r.forEach(e=>{p(e!==-1,()=>`slice() does not support negative begin indexing.`)});let a;return a=n==null?Array(i).fill(-1):typeof n==`number`?[n,...Array(i-1).fill(-1)]:n.length<i?n.concat(Array(i-n.length).fill(-1)):n,a=a.map((t,n)=>t>=0?t:(p(t===-1,()=>`Negative size values should be exactly -1 but got ${t} for the slice() size at index ${n}.`),e.shape[n]-r[n])),[r,a]}function P_(e,t,n,r,i,a,o,s,c){let l;if(r==null?(l=Array(t.length),l.fill(1)):l=r,o!=null&&o&o-1)throw Error(`Multiple ellipses in slice is not allowed.`);let u=!1,d={dims:l.length,numAddAxisAfterEllipsis:0,begin:t.slice(),end:n.slice(),strides:l.slice(),beginMask:i,endMask:a,ellipsisMask:o,newAxisMask:s,shrinkAxisMask:c};for(let e=0;e<d.dims;e++)u&&1<<e&s&&d.numAddAxisAfterEllipsis++,1<<e&o&&(u=!0);u||(d.ellipsisMask|=1<<d.dims,d.dims++);let f={dims:e.length,beginMask:0,endMask:0,beginValid:!1,endValid:!1};F_(d,f);let p=!0,m=!0,h=!0,g=[],_=[];for(let t=0;t<e.length;++t){if(f.strides[t]===0)throw Error(`strides[${t}] must be non-zero`);let n=!!(f.shrinkAxisMask&1<<t),r=e[t];if(r===-1){g.push(n?1:-1);continue}let i=[f.beginMask&1<<t,f.endMask&1<<t],a=[f.strides[t]>0?0:-1,f.strides[t]>0?r:r-1];if(n&&f.strides[t]<=0)throw Error(`only stride 1 allowed on non-range indexing.`);h&&=f.strides[t]===1;let o=!!(f.beginMask&1<<t&&f.endMask&1<<t);if(f.beginValid&&f.endValid){if(n){let e=f.begin[t]<0?r+f.begin[t]:f.begin[t];if(f.begin[t]=e,f.end[t]=f.begin[t]+1,e<0||e>=r)throw Error(`slice index ${f.begin[t]} of dimension ${t} out of bounds.`)}else f.begin[t]=I_(f.begin[t],0,f.strides[t],r,i,a),f.end[t]=I_(f.end[t],1,f.strides[t],r,i,a);let e=f.strides[t]===1&&f.begin[t]===0&&f.end[t]===r;p&&=e,m&&=t===0&&f.strides[t]===1||e}else p=p&&f.strides[t]===1&&o,m&&=t===0&&f.strides[t]===1||o;let s,c=!1;if(f.beginValid&&f.endValid?(s=f.end[t]-f.begin[t],c=!0):n?(s=1,c=!0):o&&r>
17=0&&(s=f.strides[t]<0?-r:r,c=!0),c){let e;e=s===0||s<0!=f.strides[t]<0?0:Math.trunc(s/f.strides[t])+(s%f.strides[t]===0?0:1),g.push(e)}else g.push(-1)}for(let e=0;e<f.finalShapeGatherIndices.length;++e){let t=f.finalShapeGatherIndices[e];t>=0?_.push(g[t]):t===__&&_.push(1)}return{finalShapeSparse:_.filter((e,t)=>f.finalShapeGatherIndices[t]!==__),finalShape:_,isIdentity:p,sliceDim0:m,isSimpleSlice:h,begin:f.begin,end:f.end,strides:f.strides}}function F_(e,t){t.beginMask=0,t.endMask=0,t.shrinkAxisMask=0;let n=0;t.beginValid=e.begin!=null,t.endValid=e.end!=null,t.begin=Array(t.dims),t.end=Array(t.dims),t.strides=Array(t.dims),t.finalShapeGatherIndices=[],t.finalShapeGatherIndicesSparse=[],t.inputShapeGatherIndicesSparse=Array(t.dims);for(let r=0;r<e.dims;r++)if(1<<r&e.ellipsisMask){let i=Math.min(t.dims-(e.dims-r)+1+e.numAddAxisAfterEllipsis,t.dims);for(;n<i;n++)t.begin[n]=0,t.end[n]=0,t.strides[n]=1,t.beginMask|=1<<n,t.endMask|=1<<n,t.finalShapeGatherIndices.push(n),t.finalShapeGatherIndicesSparse.push(-1),t.inputShapeGatherIndicesSparse[n]=r}else if(1<<r&e.newAxisMask)t.finalShapeGatherIndices.push(__),t.finalShapeGatherIndicesSparse.push(-1);else{if(n===t.begin.length)throw Error(`Index out of range using input dim ${n}; input has only ${t.dims} dims, ${t.begin.length}.`);e.begin!=null&&(t.begin[n]=e.begin[r]),e.end!=null&&(t.end[n]=e.end[r]),t.strides[n]=e.strides[r],e.beginMask&1<<r&&(t.beginMask|=1<<n),e.endMask&1<<r&&(t.endMask|=1<<n),e.shrinkAxisMask&1<<r?(t.finalShapeGatherIndices.push(v_),t.finalShapeGatherIndicesSparse.push(-1),t.shrinkAxisMask|=1<<n):(t.finalShapeGatherIndices.push(n),t.finalShapeGatherIndicesSparse.push(r)),t.inputShapeGatherIndicesSparse[n]=r,n++}}function I_(e,t,n,r,i,a){if(i[t])return n>0?a[t]:a[t+1&1];{let t=e<0?r+e:e;return t<a[0]?a[0]:t>a[1]?a[1]:t}}function L_(e,t){let n=e[0].length;e.forEach((e,t)=>{p(e.length===n,()=>`Error in concat${n}D: rank of tensors[${t}] must be the same as the rank of the rest (${n})`)}),p(t>=0&&t<n,()=>`Error in concat${n}D: axis must be between 0 and ${n-1}.`);let r=e[0];e.forEach((e,i)=>{for(let a=0;a<n;a++)p(a===t||e[a]===r[a],()=>`Error in concat${n}D: Shape of tensors[${i}] (${e}) does not match the shape of the rest (${r}) along the non-concatenated axis ${i}.`)})}function R_(e,t){let n=e[0].slice();for(let r=1;r<e.length;r++)n[t]+=e[r][t];return n}var z_;(function(e){e[e.FIRST_DIM_SIZE=0]=`FIRST_DIM_SIZE`,e[e.VALUE_ROWIDS=1]=`VALUE_ROWIDS`,e[e.ROW_LENGTHS=2]=`ROW_LENGTHS`,e[e.ROW_SPLITS=3]=`ROW_SPLITS`,e[e.ROW_LIMITS=4]=`ROW_LIMITS`,e[e.ROW_STARTS=5]=`ROW_STARTS`})(z_||={});function B_(e,t,n){let r=[];if(n==null&&t==null)return r;if(t==null)for(;r.length<e+n.length;)r.push(-1);else r=t.slice();if(n==null)return r;if(e+n.length!==r.length)throw Error(`rt input.shape and shape=${t} are incompatible: rt input.rank = ${e+n.length}, but shape.rank = ${r.length}`);for(let i=1;i<n.length;++i){let a=n[i],o=r[r.length-n.length+i],s=r[o];if(a>=0){if(s>=0){if(s!==a)throw Error(`rt input.shape and shape=${t} are incompatible: rt input.shape[${i+e}] = ${a} but shape[${i+e}] = ${s}`)}else r[o]=a}}return r}function V_(e){let t={FIRST_DIM_SIZE:z_.FIRST_DIM_SIZE,VALUE_ROWIDS:z_.VALUE_ROWIDS,ROW_LENGTHS:z_.ROW_LENGTHS,ROW_SPLITS:z_.ROW_SPLITS,ROW_LIMITS:z_.ROW_LIMITS,ROW_STARTS:z_.ROW_STARTS},n=[];for(let r of e)if(r in t)n.push(t[r]);else break;return n}function H_(e){return e.length===0?0:e[0]===z_.FIRST_DIM_SIZE?e.length-1:e.length}function U_(e,t){if(e==null||t==null)return;let n=e.length,r=t.length;if(n>=r)throw Error(`defaultValue.shape=${e} and ragged tensor flatValues.shape=${t}, are incompatible: defaultValue.rank = ${n} must be less than ragged tensor input flatValues.rank = ${r})`);for(let i=0;i<Math.min(n,r-1);++i){let n=e[i],r=t[i+1];if(n>=0&&r>=0&&n!==1&&n!==r)throw Error(`defaultValue.shape=${e}, and ragged tensor input flatValues.shape=${t} are incompatible: defaultValue.shape[${i-e.length}] = ${n} but ragged tensor input.flatValues.shape[${i-e.length}] = ${r}`)}}function W_(e){return e<=30?e:se(e,Math.floor(Math.sqrt(e)))}function G_(e,t,n){return[n*(typeof e==`number`?e:e[0]),t*(typeof e==`number`?e:e[1])]}function K_(e,t,n,r=!0){let i=[];if(r)i=i.concat(t.slice(0)),i.push(e[0]/n),i=i.concat(e.slice(1));else{i=i.concat(e[0]);let n=t.length;for(let r=0;r<n;++r)i=i.concat([e[r+1]/t[r],t[r]]);i=i.concat(e.slice(n+1))}return i}function q_(e,t,n=!0){let r=[];if(n){r.push(t);
17for(let n=t+1;n<e;++n)n<=2*t?(r.push(n),r.push(n-(t+1))):r.push(n)}else{let n=[],i=[];for(let r=1;r<e;++r)r>=t*2+1||r%2==1?i.push(r):n.push(r);r.push(...n),r.push(0),r.push(...i)}return r}function J_(e,t,n,r=!0){let i=[];r?i.push(e[0]/n):i.push(e[0]*n);for(let n=1;n<e.length;++n)n<=t.length?r?i.push(t[n-1]*e[n]):i.push(e[n]/t[n-1]):i.push(e[n]);return i}function Y_(e,t){let n=[0];for(let r=0;r<t;++r)n.push(e[r][0]);return n}function X_(e,t,n){let r=e.slice(0,1);for(let i=0;i<n;++i)r.push(e[i+1]-t[i][0]-t[i][1]);return r}var Z_=1.7580993408473768,Q_=1.0507009873554805,$_=.3275911,ev=.254829592,tv=-.284496736,nv=1.421413741,rv=-1.453152027,iv=1.061405429;function av(e,t){if(e.length!==t.length)throw Error(`Cannot merge real and imag arrays of different lengths. real:${e.length}, imag: ${t.length}.`);let n=new Float32Array(e.length*2);for(let r=0;r<n.length;r+=2)n[r]=e[r/2],n[r+1]=t[r/2];return n}function ov(e){let t=new Float32Array(e.length/2),n=new Float32Array(e.length/2);for(let r=0;r<e.length;r+=2)t[r/2]=e[r],n[r/2]=e[r+1];return{real:t,imag:n}}function sv(e){let t=Math.ceil(e.length/4),n=new Float32Array(t),r=new Float32Array(t);for(let t=0;t<e.length;t+=4)n[Math.floor(t/4)]=e[t],r[Math.floor(t/4)]=e[t+1];return{real:n,imag:r}}function cv(e){let t=Math.floor(e.length/4),n=new Float32Array(t),r=new Float32Array(t);for(let t=2;t<e.length;t+=4)n[Math.floor(t/4)]=e[t],r[Math.floor(t/4)]=e[t+1];return{real:n,imag:r}}function lv(e,t){return{real:e[t*2],imag:e[t*2+1]}}function uv(e,t,n,r){e[r*2]=t,e[r*2+1]=n}function dv(e,t){let n=new Float32Array(e/2),r=new Float32Array(e/2);for(let i=0;i<Math.ceil(e/2);i++){let a=(t?2:-2)*Math.PI*(i/e);n[i]=Math.cos(a),r[i]=Math.sin(a)}return{real:n,imag:r}}function fv(e,t,n){let r=(n?2:-2)*Math.PI*(e/t);return{real:Math.cos(r),imag:Math.sin(r)}}var pv=`->`,mv=/->/g,hv=`,`,gv=`...`;function _v(e,t){e=e.replace(/\s/g,``);let n=(e.length-e.replace(mv,``).length)/2;if(n<1)throw Error(`Equations without an arrow are not supported.`);if(n>1)throw Error(`Equation must contain exactly one arrow ("${pv}").`);let[r,i]=e.split(pv);p(r.indexOf(gv)===-1,()=>`The ellipsis notation ("${gv}") is not supported yet.`);let a=r.split(hv),o=a.length;if(t!==o)throw Error(`Expected ${o} input tensors, received ${t}`);if(o>2)throw Error(`Support for more than 2 input tensors is not implemented yet.`);let s=[];for(let e=0;e<i.length;++e){let t=i[e];if(!a.some(e=>e.indexOf(t)!==-1))throw Error(`Output subscripts contain the label ${t} not present in the input subscripts.`);s.indexOf(t)===-1&&s.push(t)}for(let e=0;e<r.length;++e){let t=r[e];s.indexOf(t)===-1&&t!==hv&&s.push(t)}let c=Array(a.length);for(let e=0;e<o;++e){if(new Set(a[e].split(``)).size!==a[e].length)throw Error(`Found duplicate axes in input component ${a[e]}. Support for duplicate axes in input is not implemented yet.`);c[e]=[];for(let t=0;t<a[e].length;++t)c[e].push(s.indexOf(a[e][t]))}let l=s.length,u=i.length,d=[];for(let e=u;e<l;++e)d.push(e);return{allDims:s,summedDims:d,idDims:c}}function vv(e,t){let n=Array(e);n.fill(-1);for(let e=0;e<t.length;++e)n[t[e]]=e;let r=[];for(let t=0;t<e;++t)n[t]===-1&&r.push(t);return n=n.filter(e=>e!==-1),{permutationIndices:n,expandDims:r}}function yv(e,t,n){let r=Array(e);for(let e=0;e<n.length;++e){let i=n[e].shape;for(let n=0;n<t[e].length;++n)r[t[e][n]]===void 0?r[t[e][n]]=i[n]:p(r[t[e][n]]===i[n],()=>`Expected dimension ${r[t[e][n]]} at axis ${n} of input shaped ${JSON.stringify(i)}, but got dimension ${i[n]}`)}}function bv(e,t){let n=e,r=[],i=0;e.length===0&&n.push(-1),i=e.length+1;for(let e=0;e<i;++e)r.push([]);let a=[];for(let e=0;e<n.length;++e){let i=n[e],o=Sv(t,i);for(let t of o)a.indexOf(t)===-1&&(r[e].push(t),a.push(t))}return{path:n,steps:r}}function xv(e){return e.every((e,t)=>e===t)}function Sv(e,t){let n=[];for(let r=0;r<e.length;++r)(e[r].length===0||e[r].indexOf(t)!==-1||t===-1)&&n.push(r);return n}function Cv(e,t,n=0){let r=[];if(typeof t==`number`)p(e.shape[n]%t===0,()=>`Number of splits must evenly divide the axis.`),r=Array(t).fill(e.shape[n]/t);else{p(t.reduce((e,t)=>(t===-1&&(e+=1),e),0)<=1,()=>`There should be only one negative value in split array.`);let i=t.indexOf(-1);if(i!==-1){let r=t.reduce((e,t)=>
17t>0?e+t:e);t[i]=e.shape[n]-r}p(e.shape[n]===t.reduce((e,t)=>e+t),()=>`The sum of sizes must match the size of the axis dimension.`),r=t}return r}function wv(e){return`Received SparseTensor with denseShape[0] = 0 but 18 indices.shape[0] = ${e}`}function Tv(e,t){return`indices(${e}, 0) is invalid: ${t} < 0`}function Ev(e,t,n){return`indices(${e}, 0) is invalid: ${t} >= ${n}`}function Dv(e,t){return`only one output dimension may be -1, not both ${e} and ${t}`}function Ov(e,t){return`size ${e} must be non-negative, not ${t}`}function kv(){return`reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero`}function Av(e,t){return`Input to reshape is a SparseTensor with ${g(e)} 19 dense values, but the requested shape requires a multiple of ${g(t)}. inputShape=${e} outputShape= ${t}`}function jv(e,t){return`Input to reshape is a tensor with ${g(e)} dense values, but the requested shape has ${g(t)}. inputShape=${e} outputShape=${t}`}function Mv(){return`segment ids must be >= 0`}function Nv(){return`segment ids are not increasing`}function Pv(e,t){return`Segment id ${e} out of range [0, ${t}), possibly because segmentIds input is not sorted.`}function Fv(e,t,n){return`Bad: indices[${e}] == ${t} out of range [0, ${n})`}var Iv=e({collectGatherOpShapeInfo:()=>zv,computeOutShape:()=>Rv,segOpComputeOptimalWindowSize:()=>Lv});function Lv(e,t){let n=!1,r;for(e<=30?(r=e,n=!0):r=se(e,Math.floor(Math.sqrt(e)));!n;)r>t||r===e?n=!0:r=se(e,r+1);return r}function Rv(e,t,n){let r=[],i=e.length;for(let a=0;a<i;a++)a===t?r.push(n):r.push(e[a]);return r}function zv(e,t,n,r){let i=t.shape.length,a=e.shape.length;if(r!==0&&(r<-i||r>i))throw Error(`Expect batchDims in the range of [-${i}, ${i}], but got ${r}`);if(r<0&&(r+=i),r>a)throw Error(`batchDims (${r}) must be less than rank(x) ( 20 ${a}).`);if(n<r)throw Error(`batchDims (${r}) must be less than or equal to axis (${n}).`);for(let n=0;n<r;++n)if(e.shape[n]!==t.shape[n])throw Error(`x.shape[${n}]: ${e.shape[n]} should be equal to indices.shape[${n}]: ${t.shape[n]}.`);let o=e.shape[n],s=[],c=1,l=1,u=1;for(let t=0;t<r;++t)s.push(e.shape[t]),c*=e.shape[t];for(let t=r;t<n;t++)s.push(e.shape[t]),l*=e.shape[t];for(let e=r;e<i;e++)s.push(t.shape[e]);for(let t=n+1;t<a;t++)s.push(e.shape[t]),u*=e.shape[t];return{batchSize:c,sliceSize:u,outerSize:l,dimSize:o,outputShape:s}}var Bv=e({ERF_A1:()=>ev,ERF_A2:()=>tv,ERF_A3:()=>nv,ERF_A4:()=>rv,ERF_A5:()=>iv,ERF_P:()=>$_,PARALLELIZE_THRESHOLD:()=>30,RowPartitionType:()=>z_,SELU_SCALE:()=>Q_,SELU_SCALEALPHA:()=>Z_,applyActivation:()=>qm,assertAndGetBroadcastShape:()=>J,assertAxesAreInnerMostDims:()=>Ml,assertParamsConsistent:()=>L_,assignToTypedArray:()=>uv,axesAreInnerMostDims:()=>Ol,calculateShapes:()=>am,checkEinsumDimSizes:()=>yv,checkPadOnDimRoundingMode:()=>Is,combineLocations:()=>kl,combineRaggedTensorToTensorShapes:()=>B_,complexWithEvenIndex:()=>sv,complexWithOddIndex:()=>cv,computeConv2DInfo:()=>xs,computeConv3DInfo:()=>Ss,computeDefaultPad:()=>Ts,computeDilation2DInfo:()=>vs,computeOptimalWindowSize:()=>W_,computeOutAndReduceShapes:()=>Al,computeOutShape:()=>R_,computePool2DInfo:()=>ys,computePool3DInfo:()=>bs,convertConv2DDataFormat:()=>Fs,decodeEinsumEquation:()=>_v,eitherStridesOrDilationsAreOne:()=>Ns,expandShapeToKeepDim:()=>jl,exponent:()=>fv,exponents:()=>dv,fromStringArrayToUint8:()=>Hv,fromUint8ToStringArray:()=>Vv,getAxesPermutation:()=>Nl,getBroadcastDims:()=>cl,getComplexWithIndex:()=>lv,getEinsumComputePath:()=>bv,getEinsumPermutation:()=>vv,getFusedBiasGradient:()=>Km,getFusedDyActivation:()=>Gm,getImageCenter:()=>G_,getInnerMostAxes:()=>Fl,getPermuted:()=>q_,getRaggedRank:()=>H_,getReductionAxes:()=>ll,getReshaped:()=>K_,getReshapedPermuted:()=>J_,getRowPartitionTypesHelper:()=>V_,getSliceBeginCoords:()=>Y_,getSliceSize:()=>X_,getSparseFillEmptyRowsIndicesDenseShapeMismatch:()=>wv,getSparseFillEmptyRowsNegativeIndexErrorMessage:()=>Tv,getSparseFillEmptyRowsOutOfRangeIndexErrorMessage:()=>Ev,getSparseReshapeEmptyTensorZeroOutputDimErrorMessage:()=>kv,getSparseReshapeInputOutputMismatchErrorMessage:()=>jv,getSparseReshapeInputOutputMultipleErrorMessage:()=>Av,getSparseReshapeMultipleNegativeOneOutputDimErrorMessage:()=>Dv,getSparseReshapeNegativeOutputDimErrorMessage:()=>Ov,getSparseSegmentReductionIndicesOutOfRangeErrorMessage:()=>Fv,getSparseSegmentReductionNegativeSegmentIdsErrorMessage:()=>Mv,getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage:()=>Nv,getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage:()=>Pv,getUndoAxesPermutation:()=>Pl,isIdentityPermutation:()=>xv,log:()=>wr,mergeRealAndImagArrays:()=>av,prepareAndValidate:()=>h_,prepareSplitSize:()=>Cv,segment_util:()=>Iv,shouldFuse:()=>Jm,slice_util:()=>g_,splitRealAndImagArrays:()=>ov,stridesOrDilationsArePositive:()=>Ps,tupleValuesAreOne:()=>Ms,upcastType:()=>Pi,validateDefaultValueShape:()=>U_,validateInput:()=>im,validateUpdateShape:()=>rm,warn:()=>Cr});function Vv(e){try{return e.map(e=>ri(e))}catch(e){throw Error(`Failed to decode encoded string bytes into utf-8, error: ${e}`)}}function Hv(e){return e.map(e=>ni(e))}m_();
20function Uv(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{e!=null&&p(e.dtype!==`complex64`,()=>`${t} does not support complex64 tensors in the CPU backend.`)})}function Wv(e,t,n,r){let i=O(n,g(t));if(r&&n!==`string`){let t=0;e.forEach(e=>{let n=g(e.shape);i.set(e.vals,t),t+=n})}else{let r=0;e.forEach(e=>{let a=n===`string`?Vv(e.vals):e.vals,o=0;for(let n=0;n<e.shape[0];++n){let s=n*t[1]+r;for(let t=0;t<e.shape[1];++t)i[s+t]=a[o++]}r+=e.shape[1]})}return i}function Gv(e,t,n,r){if(e===t||e<t&&n<0||t<e&&n>1)return fe(0,r);let i=fe(Math.abs(Math.ceil((t-e)/n)),r);t<e&&n===1&&(n=-1),i[0]=e;for(let e=1;e<i.length;e++)i[e]=i[e-1]+n;return i}function Kv(e,t,n,r,i){let a=j_(r,t,n),o=g(n),s=M(r);if(a){let n=M_(t,s);return i===`string`?e.slice(n,n+o):e.subarray(n,n+o)}let c=Io(r,i,i===`string`?Vv(e):e),l=Io(n,i);for(let e=0;e<l.size;++e){let n=l.indexToLoc(e),r=n.map((e,n)=>e+t[n]);l.set(c.get(...r),...n)}return i===`string`?Hv(l.values):l.values}function qv(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{begin:a,size:o}=r;Uv(i,`slice`);let[s,c]=N_(i,a,o);y_(i,s,c);let l=n.data.get(i.dataId).values,u=Kv(l,s,c,i.shape,i.dtype);return n.makeTensorInfo(c,i.dtype,u)}var Jv={kernelName:Vn,backendName:`cpu`,kernelFunc:qv},Yv=class{constructor(e,t,n,r,i,a){this.separator=ni(e),this.nGramWidths=t,this.leftPad=ni(n),this.rightPad=ni(r),this.padWidth=i,this.preserveShort=
vendor: 5,136 bytes, line 20
20a}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){let n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,r,i,a){for(let o=0;o<i;++o){let s=this.getPadWidth(a),c=Math.max(0,s-o),l=Math.max(0,s-(i-(o+1))),u=a-(c+l),d=t+(c>0?0:o-s),f=0;f+=c*this.leftPad.length;for(let t=0;t<u;++t)f+=e[d+t].length;f+=l*this.rightPad.length;let p=c+l+u-1;f+=p*this.separator.length,n[r+o]=new Uint8Array(f);let m=n[r+o],h=0,g=e=>e.forEach(e=>m[h++]=e);for(let e=0;e<c;++e)g(this.leftPad),g(this.separator);for(let t=0;t<u-1;++t)g(e[d+t]),g(this.separator);if(u>0){g(e[d+u-1]);for(let e=0;e<l;++e)g(this.separator),g(this.rightPad)}else{for(let e=0;e<l-1;++e)g(this.rightPad),g(this.separator);g(this.rightPad)}}}compute(e,t){let n=e.length,r=t.length;if(r>0){let e=t[0];if(e!==0)throw Error(`First split value must be 0, got ${e}`);for(let i=1;i<r;++i){let r=t[i]>=e;if(r&&=t[i]<=n,!r)throw Error(`Invalid split value ${t[i]}, must be in [${e}, ${n}]`);e=t[i]}if(e!==n)throw Error(`Last split value must be data size. Expected ${n}, got ${e}`)}let i=r-1,a=O(`int32`,r);if(n===0||r===0){let e=Array(n);for(let e=0;e<=i;++e)a[e]=0;return[e,a]}a[0]=0;for(let e=1;e<=i;++e){let n=t[e]-t[e-1],r=0;this.nGramWidths.forEach(e=>{r+=this.getNumNGrams(n,e)}),this.preserveShort&&n>0&&r===0&&(r=1),a[e]=a[e-1]+r}let o=Array(a[i]);for(let n=0;n<i;++n){let r=t[n],i=a[n];if(this.nGramWidths.forEach(a=>{let s=t[n+1]-t[n],c=this.getNumNGrams(s,a);this.createNGrams(e,r,o,i,c,a),i+=c}),this.preserveShort&&i===a[n]){let a=t[n+1]-t[n];if(a===0)continue;let s=a+2*this.padWidth;this.createNGrams(e,r,o,i,1,s)}}return[o,a]}};function Xv(e,t,n,r,i,a,o,s){return new Yv(n,r,i,a,o,s).compute(e,t)}function Zv(e,t,n,r){if(!e.length)return;if(t.length===0){for(let t=0;t<e.length;++t)r.push(e.subarray(t,t+1));return}if(t.length===1){let i=t[0],a=e.indexOf(i);for(;a!==-1;){let t=e.subarray(0,a);(!n||t.length!==0)&&r.push(t),e=e.subarray(a+1),a=e.indexOf(i)}(!n||e.length!==0)&&r.push(e);return}let i=0;for(let a=0;a<e.length+1;a++)if(a===e.length||t.indexOf(e[a])!==-1){let t=e.subarray(i,a);(!n||t.length!==0)&&r.push(t),i=a+1}}function Qv(e,t,n){let r=e.length,i=[],a=0,o=0,s=Array(r);for(let c=0;c<r;++c){let r=i.length;Zv(e[c],t,n,i);let l=i.length-r;s[c]=l,a+=l,o=Math.max(o,l)}let c=O(`int32`,a*2),l=Array(a),u=[r,o],d=0;for(let e=0;e<r;++e)for(let t=0;t<s[e];++t)c[d*2]=e,c[d*2+1]=t,l[d]=i[d],++d;return[c,l,u]}function $v(e,t){let n=O(`int32`,e.length);for(let r=0;r<e.length;++r)n[r]=Xr(e[r]).modulo(t).getLowBitsUnsigned();return n}function ey(e,t,n,r){let i=T(t,n)[0],a=[1,n[0],1];for(let e=0;e<i;e++)a[0]*=n[e];a[1]=n[i];for(let e=i+1;e<n.length;e++)a[2]*=n[e];let o=new Map,s=new Int32Array(n[i]),c=new bi(a,r,e),l=[],u=a[0]===1&&a[2]===1;for(let t=0;t<n[i];t++){let n;if(u)n=e[t].toString();else{let e=[];for(let n=0;n<a[0];n++)for(let r=0;r<a[2];r++)e.push(c.get(n,t,r));n=e.join(`,`)}let r=o.get(n);if(r!=null)s[t]=r;else{let e=o.size;o.set(n,e),s[t]=e,l.push(t)}}let d=a.slice();d[1]=o.size;let f=new bi(d,r);l.forEach((e,t)=>{for(let n=0;n<a[0];n++)for(let r=0;r<a[2];r++)f.set(c.get(n,e,r),n,t,r)});let p=n.slice();return p[i]=d[1],{outputValues:f.values,outputShape:p,indices:s}}var Q;(function(e){e[e.float32=0]=`float32`,e[e.int32=1]=`int32`,e[e.bool=2]=`bool`,e[e.string=3]=`string`,e[e.complex64=4]=`complex64`})(Q||={});var ty;(function(e){e[e.linear=0]=`linear`,e[e.relu=1]=`relu`,e[e.relu6=2]=`relu6`,e[e.prelu=3]=`prelu`,e[e.leakyrelu=4]=`leakyrelu`,e[e.sigmoid=5]=`sigmoid`,e[e.elu=6]=`elu`})(ty||={});var ny;function ry(e){ny=e.wasm.cwrap(br,null,[`number`,`array`,`number`,`number`,`array`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function iy(e){let{inputs:t,backend:n,attrs:r}=e,{a:i,b:a,bias:o,preluActivationWeights:s}=t;if(i.dtype!==`float32`||a.dtype!==`float32`)throw Error(`_FusedMatMul for non non-float32 tensors not yet supported.`);let{transposeA:c,transposeB:l,activation:u,leakyreluAlpha:d}=r,f=n.dataIdMap.get(i.dataId).id,p=n.dataIdMap.get(a.dataId).id,m=0;if(o!=null){let e=n.dataIdMap.get(o.dataId);if(e.shape.length!==1)throw Error(`_FusedMatMul only supports rank-1 bias but got rank ${e.shape.length}.`);m=e.id}let h=s==null?0:n.dataIdMap.get(s.dataId).id,g=ty[u];if(g==null)throw Error(`${u} activation not yet supported for FusedConv2D in the wasm backend.`);let _=c?i.shape[2]:i.shape[1],v=l?a.shape[1]:a.shape[2],y=J(i.shape.slice(0,-2),a.shape.slice(0,-2)),b=n.makeOutput([...y,_,v],i.dtype),x=n.dataIdMap.get(b.dataId).id,S=new Uint8Array(new Int32Array(i.shape).buffer),C=new Uint8Array(new Int32Array(a.shape).buffer);return ny(f,S,i.shape.length,p,C,a.shape.length,c,l,g,m,h,d||0,x),b}var ay={kernelName:br,backendName:`wasm`,setupFunc:ry,kernelFunc:iy};function $(e,t){let n;function r(t){n=t.wasm.cwrap(e,null,[`number`,`number`,`number`])}function i(e){let{backend:r,inputs:{x:i}}=e,a=r.dataIdMap.get(i.dataId).id,o=r.makeOutput(i.shape,t||i.dtype),s=r.dataIdMap.get(o.dataId).id;return g(o.shape)===0||n(a,Q[i.dtype],s),o}return{kernelName:e,backendName:`wasm`,setupFunc:r,kernelFunc:i}}var oy=$(`Abs`),sy=$(ke),cy=$(Ae);
20function ly(e,t,n){let r;function i(t){r=t.wasm.cwrap(e,null,[`number`,`array`,`number`,`number`,`array`,`number`,`number`,`number`])}function a(e){let{backend:t,inputs:i}=e,{a,b:o}=i,s=t.dataIdMap.get(a.dataId).id,c=t.dataIdMap.get(o.dataId).id,l=n??a.dtype,u=J(a.shape,o.shape),d=t.makeOutput(u,l);if(g(u)===0)return d;let f=new Uint8Array(new Int32Array(a.shape).buffer),p=new Uint8Array(new Int32Array(o.shape).buffer),m=t.dataIdMap.get(d.dataId).id;return r(s,f,a.shape.length,c,p,o.shape.length,Q[a.dtype],m),d}return{kernelName:e,backendName:`wasm`,setupFunc:i,kernelFunc:a}}var uy=ly(`Add`,!0),dy;function fy(e){dy=e.wasm.cwrap(je,null,[`array`,`number`,`number`,`number`])}function py(e){let{inputs:t,backend:n}=e,r=n.makeOutput(t[0].shape,t[0].dtype);if(g(r.shape)===0)return r;let i=t.map(e=>n.dataIdMap.get(e.dataId).id),a=new Uint8Array(new Int32Array(i).buffer),o=n.dataIdMap.get(r.dataId).id;return dy(a,i.length,Q[r.dtype],o),r}var my={kernelName:je,backendName:`wasm`,setupFunc:fy,kernelFunc:py};function hy(e){let{inputs:{x:t},backend:n}=e;if(t.dtype===`string`)return ca(n.readSync(t.dataId),t.shape,t.dtype);let r=n.makeOutput(t.shape,t.dtype),i=n.typedArrayFromHeap(t);return n.typedArrayFromHeap(r).set(i),r}var gy={kernelName:Ft,backendName:`wasm`,kernelFunc:hy},_y;function vy(e){_y=e.wasm.cwrap(fr,null,[`number`,`array`,`number`,`number`,`number`,`array`,`number`])}function yy(e){let{inputs:t,backend:n,attrs:r}=e,[i,a]=xy(t.x.shape,r.perm),o=!0;for(let e=0;e<a.length;e++)a[e]!==e&&(o=!1);let s=by(t.x.shape,r.perm),c={dataId:t.x.dataId,shape:i,dtype:t.x.dtype};if(o){let e=hy({inputs:t,backend:n});return e.shape=s,e}let l=n.makeOutput(s,c.dtype),u=n.dataIdMap.get(c.dataId).id,d=n.dataIdMap.get(l.dataId).id,f=new Uint8Array(new Int32Array(a).buffer),p=new Uint8Array(new Int32Array(c.shape).buffer);return _y(u,p,c.shape.length,Q[c.dtype],d,f,a.length),l}function by(e,t){let n=Array(e.length);for(let r=0;r<n.length;r++)n[r]=e[t[r]];return n}function xy(e,t){let n=[],r=[];for(let i=0;i<e.length;++i)e[i]!==1&&n.push(e[i]),e[t[i]]!==1&&r.push(t[i]);for(let e=0;e<r.length;++e){let t=-1;for(let n=0;n<r.length;++n)r[n]>=e&&(t===-1||r[t]>r[n])&&(t=n);r[t]=e}return[n,r]}var Sy={kernelName:fr,backendName:`wasm`,kernelFunc:yy,setupFunc:vy};function Cy(e,t,n){let r=e.shape,i=e.shape.length,a=T(t,r),o=a,s=Nl(o,i),c=null,l=!1;if(s!=null){let t=Array(i);for(let e=0;e<t.length;e++)t[e]=r[s[e]];o=Fl(o.length,i),c=yy({inputs:{x:e},attrs:{perm:s},backend:n});let a=n.dataIdMap.get(e.dataId).id;n.dataIdMap.get(c.dataId).id!==a&&(l=!0)}return{transposed:c,originalAxes:a,axes:o,inputWasTransposed:l}}var wy;function Ty(e){wy=e.wasm.cwrap(`All`,null,[`number, number, number`])}function Ey(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=o,{transposed:l,axes:u,originalAxes:d,inputWasTransposed:f}=Cy(o,i,t);if(f){let e=t.dataIdMap.get(l.dataId).id;c=l,s=e}let p=c.shape.length;Ml(`all`,u,p);let[m,h]=Al(c.shape,u),_=g(h),v=t.makeOutput(m,o.dtype);if(g(c.shape)!==0){let e=t.dataIdMap.get(v.dataId).id;wy(s,_,e)}return f&&t.disposeData(l.dataId),a&&(v.shape=jl(v.shape,d)),v}var Dy={kernelName:`All`,backendName:`wasm`,setupFunc:Ty,kernelFunc:Ey},Oy;function ky(e){Oy=e.wasm.cwrap(`Any`,null,[`number, number, number`])}function Ay(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=o,{transposed:l,axes:u,originalAxes:d,inputWasTransposed:f}=Cy(o,i,t);if(f){let e=t.dataIdMap.get(l.dataId).id;c=l,s=e}let p=c.shape.length;Ml(`any`,u,p);let[m,h]=Al(c.shape,u),_=g(h),v=t.makeOutput(m,o.dtype);if(g(c.shape)!==0){let e=t.dataIdMap.get(v.dataId).id;Oy(s,_,e)}return f&&t.disposeData(l.dataId),a&&(v.shape=jl(v.shape,d)),v}var jy={kernelName:`Any`,backendName:`wasm`,setupFunc:ky,kernelFunc:Ay};function My(e){let t;function n(n){t=n.wasm.cwrap(e,null,[`number`,`number`,`number`,`number`,`number`])}function r(e){let{backend:n,inputs:r,attrs:i}=e,{axis:a}=i,{x:o}=r,s=n.dataIdMap.get(o.dataId).id,c=s,l=o,{transposed:u,axes:d,inputWasTransposed:f}=Cy(o,a,n);if(f){let e=n.dataIdMap.get(u.dataId).id;e!==s&&(l=u,c=e)}let p=l.shape.slice(0,-1),m=n.makeOutput(p,`int32`),h=n.dataIdMap.get(m.dataId).id,_=g(m.shape),v=l.shape[d[0]];return t(c,Q[l.dtype],_,v,h),f&&n.disposeData(u.dataId),m}return{kernelName:e,backendName:`wasm`,setupFunc:n,kernelFunc:r}}var Ny=My(Me),Py=My(Ne),Fy=$(Pe),Iy=$(Fe),Ly=$(Ie),Ry=ly(Re,!1),zy=$(Le),By;function Vy(e){By=e.wasm.cwrap(ze,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Hy(e){let{inputs:t,attrs:n,backend:r}=e,i=t.x,a=r.dataIdMap.get(i.dataId).id,{filterSize:o,strides:s,pad:c,dimRoundingMode:l}=n,u=ys(i.shape,o,s,1,c,l),d=u.filterHeight,f=u.filterWidth,p=u.padInfo.top,m=u.padInfo.right,h=u.padInfo.bottom,g=u.padInfo.left,_=u.strideHeight,v=u.strideWidth,y=u.inChannels;if(u.dataFormat!==`channelsLast`)throw Error(`wasm backend does not support dataFormat:'${u.dataFormat}'. Please use 'channelsLast'.`);if(u.dilationWidth!==1||u.dilationHeight!==1)throw Error(`was backend only supports average pooling with dilation = [1, 1], got [${u.dilationHeight}, ${u.dilationWidth}].`);let b=r.makeOutput(u.outShape,`float32`),x=r.dataIdMap.get(b.dataId).id;return By(a,i.shape[0],i.shape[1],i.shape[2],d,f,p,m,h,g,_,v,y,x),b}var Uy={kernelName:ze,backendName:`wasm`,setupFunc:Vy,kernelFunc:Hy},Wy;function Gy(e){Wy=e.wasm.cwrap(`AvgPool3D`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Ky(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{filterSize:a,strides:o,pad:s,dimRoundingMode:c,dataFormat:l}=r,u=bs(i.shape,a,o,1,s,c,l),d=n.makeOutput(u.outShape,i.dtype);return Wy(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,u.batchSize,u.inChannels,u.inDepth,u.inHeight,u.inWidth,u.outDepth,u.outHeight,u.outWidth,u.strideDepth,u.strideHeight,u.strideWidth,u.dilationDepth,u.dilationHeight,u.dilationWidth,u.effectiveFilterDepth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.front,u.padInfo.top,u.padInfo.left),d}var qy={kernelName:Ve,backendName:`wasm`,setupFunc:Gy,kernelFunc:Ky},Jy;function Yy(e){Jy=e.wasm.cwrap(`AvgPool3DGrad`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Xy(e){let{inputs:t,backend:n,attrs:r}=e,{dy:i,input:a}=t,{filterSize:o,strides:s,pad:c,dimRoundingMode:l}=r,u=bs(a.shape,o,s,1,c,l),d=n.makeOutput(a.shape,a.dtype);return Jy(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,u.batchSize,u.inChannels,u.inDepth,u.inHeight,u.inWidth,u.outDepth,u.outHeight,u.outWidth,u.strideDepth,u.strideHeight,u.strideWidth,u.dilationDepth,u.dilationHeight,u.dilationWidth,u.effectiveFilterDepth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.front,u.padInfo.top,u.padInfo.left,u.filterDepth,u.filterHeight,u.filterWidth),d}var Zy={kernelName:He,backendName:`wasm`,setupFunc:Yy,kernelFunc:Xy},Qy;function $y(e){Qy=e.wasm.cwrap(`AvgPoolGrad`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function eb(e){let{inputs:t,backend:n,attrs:r}=e,{dy:i,input:a}=t,{filterSize:o,strides:s,pad:c}=r,l=ys(a.shape,o,s,1,c),u=n.makeOutput(a.shape,a.dtype);return Qy(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(u.dataId).id,l.batchSize,l.inChannels,l.inHeight,l.inWidth,l.outHeight,l.outWidth,l.strideHeight,l.strideWidth,l.dilationHeight,l.dilationWidth,l.effectiveFilterHeight,l.effectiveFilterWidth,l.padInfo.top,l.padInfo.left,l.filterHeight,l.filterWidth),u}var tb={kernelName:Be,backendName:`wasm`,setupFunc:$y,kernelFunc:eb};function nb(e){let{inputs:t,attrs:n}=e,{x:r}=t,{shape:i}=n,a=g(r.shape),o=w(i,a);return p(a===g(o),()=>`new shape: ${o}, old shape: ${r.shape}. New shape and old shape must have the same number of elements.`),e.backend.incRef(r.dataId),{dataId:r.dataId,shape:o,dtype:r.dtype}}var rb={kernelName:Dn,backendName:`wasm`,kernelFunc:nb},ib;function ab(e){ib=e.wasm.cwrap(Ue,null,[`number`,`array`,`number`,`number`,`array`,`number`,`number`,`number`,`number`])}function ob(e){let{inputs:t,backend:n,attrs:r}=e,{a:i,b:a}=t,{transposeA:o,transposeB:s}=r;if(i.dtype!==`float32`||a.dtype!==`float32`)throw Error(`BatchMatMul for non non-float32 tensors not yet supported.`);let c=i.shape.length,l=a.shape.length,u=o?i.shape[c-2]:i.shape[c-1],d=s?a.shape[l-1]:a.shape[l-2],f=o?i.shape[c-1]:i.shape[c-2],m=s?a.shape[l-2]:a.shape[l-1],h=i.shape.slice(0,-2),_=a.shape.slice(0,-2),v=g(h),y=g(_),b=J(i.shape.slice(0,-2),a.shape.slice(0,-2)).c
20oncat([f,m]);p(u===d,()=>`Error in matMul: inner shapes (${u}) and (${d}) of Tensors with shapes ${i.shape} and ${a.shape} and transposeA=${o} and transposeB=${s} must match.`);let x=o?[v,u,f]:[v,f,u],S=s?[y,m,d]:[y,d,m],C=nb({inputs:{x:i},backend:n,attrs:{shape:x}}),w=nb({inputs:{x:a},backend:n,attrs:{shape:S}}),T=n.dataIdMap.get(C.dataId).id,E=n.dataIdMap.get(w.dataId).id,D=o?C.shape[2]:C.shape[1],O=s?w.shape[1]:w.shape[2],k=Math.max(v,y),A=n.makeOutput([k,D,O],C.dtype),ee=n.dataIdMap.get(A.dataId).id,j=new Uint8Array(new Int32Array(C.shape).buffer),te=new Uint8Array(new Int32Array(w.shape).buffer);return ib(T,j,C.shape.length,E,te,w.shape.length,o,s,ee),n.disposeData(C.dataId),n.disposeData(w.dataId),A.shape=b,A}var sb={kernelName:Ue,backendName:`wasm`,setupFunc:ab,kernelFunc:ob};function cb(e){let{inputs:{x:t},attrs:{begin:n,size:r},backend:i}=e,[a,o]=N_(t,n,r),s=j_(t.shape,a,o),c=i.readSync(t.dataId),l=i.makeOutput(o,t.dtype),u=M(t.shape),d=i.dataIdMap.get(l.dataId);if(s){let e=M_(a,u);return t.dtype===`string`?d.stringBytes=c.slice(e,e+g(o)):i.typedArrayFromHeap(l).set(c.subarray(e,e+g(o))),l}if(t.dtype===`string`)return d.stringBytes=Kv(c,a,o,t.shape,t.dtype),l;let f=i.typedArrayFromHeap(l),p=t.shape.length;if(p===2)lb(c,u[0],f,a,o);else if(p===3)ub(c,u[0],u[1],f,a,o);else if(p===4)db(c,u[0],u[1],u[2],f,a,o);else{let e=Kv(c,a,o,t.shape,t.dtype);f.set(e)}return l}function lb(e,t,n,r,i){let a=0,o=r[0],s=r[1],c=o+i[0];for(let r=o;r<c;r++){let o=r*t+s;n.set(e.subarray(o,o+i[1]),a),a+=i[1]}}function ub(e,t,n,r,i,a){let o=0,s=i[0],c=i[1],l=i[2],u=s+a[0],d=c+a[1];for(let i=s;i<u;i++)for(let s=c;s<d;s++){let c=i*t+s*n+l;r.set(e.subarray(c,c+a[2]),o),o+=a[2]}}function db(e,t,n,r,i,a,o){let s=0,c=a[0],l=a[1],u=a[2],d=c+o[0],f=l+o[1],p=u+o[2],m=a[3];for(let a=c;a<d;a++)for(let c=l;c<f;c++)for(let l=u;l<p;l++){let u=a*t+c*n+l*r+m;i.set(e.subarray(u,u+o[3]),s),s+=o[3]}}var fb={kernelName:Vn,backendName:`wasm`,kernelFunc:cb};function pb(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{blockShape:a,crops:o}=r,s=a.reduce((e,t)=>e*t),c=K_(i.shape,a,s),l=q_(c.length,a.length),u=J_(i.shape,a,s),d=Y_(o,a.length),f=X_(u,o,a.length),p=nb({inputs:{x:i},backend:n,attrs:{shape:c}}),m=yy({inputs:{x:p},backend:n,attrs:{perm:l}}),h=nb({inputs:{x:m},backend:n,attrs:{shape:u}}),g=cb({inputs:{x:h},backend:n,attrs:{begin:d,size:f}});return n.disposeData(p.dataId),n.disposeData(m.dataId),n.disposeData(h.dataId),g}var mb={kernelName:We,backendName:`wasm`,kernelFunc:pb},hb;function gb(e){hb=e.wasm.cwrap(Ge,null,[`number`,`number`,`boolean`,`number`,`number`,`number`])}function _b(e){let{backend:t,inputs:n,attrs:r}=e,{x:i,weights:a}=n,{size:o}=r,s=a.shape.reduce((e,t)=>e*t,1)!==0,c=i.shape.length===1?[o]:[i.shape[0],o],l=t.makeOutput(c,a.dtype);function u(e){return t.dataIdMap.get(e.dataId).id}return hb(u(i),o,s,u(a),Q[a.dtype],u(l)),l}var vb={kernelName:Ge,backendName:`wasm`,setupFunc:gb,kernelFunc:_b},yb=ly(Ke,!0);function bb(e){let{inputs:t,backend:n}=e,{s0:r,s1:i}=t,a=n.typedArrayFromHeap(r),o=n.typedArrayFromHeap(i),s=J(Array.from(a),Array.from(o));return n.makeOutput([s.length],`int32`,void 0,new Int32Array(s))}var xb={kernelName:Je,backendName:`wasm`,kernelFunc:bb};function Sb(e){let{inputs:{x:t},attrs:{dtype:n},backend:r}=e,i=r.makeOutput(t.shape,n),a=r.typedArrayFromHeap(t);return r.typedArrayFromHeap(i).set(a),i}var Cb={kernelName:Ye,backendName:`wasm`,kernelFunc:Sb},wb=$(Xe),Tb;function Eb(e){Tb=e.wasm.cwrap(P,null,[`number`,`number`,`number`,`number`])}function Db(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{clipValueMin:a,clipValueMax:o}=r,s=n.dataIdMap.get(i.dataId).id,c=n.makeOutput(i.shape,i.dtype),l=n.dataIdMap.get(c.dataId).id;return Tb(s,a,o,l),c}var Ob={kernelName:P,backendName:`wasm`,setupFunc:Eb,kernelFunc:Db};function kb(e){let{inputs:t,backend:n}=e,r=T(e.attrs.axis,t[0].shape)[0];L_(t.map(e=>e.shape),r);let i=R_(t.map(e=>e.shape),r),a=t.filter(e=>g(e.shape)>0);if(a.length===1)return hy({inputs:{x:a[0]},backend:n});let o=n.makeOutput(i,t[0].dtype);if(g(i)===0)return o;if(a[0].dtype===`string`){let e=a.map(e=>{let t=[-1,g(e.shape.slice(r))];return nb({inputs:{x:e},backend:n,attrs:{shape:t}})}),s=e.map(e=>({vals:n.readSync(e.dataId),shape:e.shape}));i=R_(e.map(e=>e.shape),1);let c=e[0].shape[0]===1,l=Wv(s,i,t[0].dtype,c);o.shape=R_(a.map(e=>e.shape),r);let u=n.dataIdMap.get(o.dataId);
20return u.stringBytes=Hv(l),e.forEach(e=>n.disposeData(e.dataId)),o}let s=g(a[0].shape.slice(0,r)),c=0,l=a.map(e=>{let t=g(e.shape.slice(r));return c+=t,t}),u=a.map(e=>n.typedArrayFromHeap(e)),d=n.typedArrayFromHeap(o);for(let e=0;e<s;e++){let t=e*c;for(let n=0;n<u.length;n++){let r=l[n],i=e*r,a=u[n].subarray(i,i+r);d.set(a,t),t+=r}}return o}var Ab={kernelName:$e,backendName:`wasm`,kernelFunc:kb},jb;function Mb(e){jb=e.wasm.cwrap(et,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Nb(e){let{inputs:t,attrs:n,backend:r}=e,{x:i,filter:a}=t,o=r.dataIdMap.get(i.dataId).id,s=r.dataIdMap.get(a.dataId).id,{strides:c,dilations:l,pad:u,dimRoundingMode:d,dataFormat:f}=n,p=Fs(f),m=xs(i.shape,a.shape,c,l,u,d,!1,p),h=m.filterHeight,g=m.filterWidth,_=m.padInfo.top,v=m.padInfo.right,y=m.padInfo.bottom,b=m.padInfo.left,x=m.dilationHeight,S=m.dilationWidth,C=m.strideHeight,w=m.strideWidth,T=m.inChannels,E=m.outChannels,D=+(m.padInfo.type===`SAME`);if(m.dataFormat!==`channelsLast`)throw Error(`wasm backend Conv2D does not support dataFormat:'${m.dataFormat}'. Please use 'channelsLast'.`);let O=r.makeOutput(m.outShape,`float32`),k=r.dataIdMap.get(O.dataId).id;return jb(o,i.shape[0],i.shape[1],i.shape[2],s,h,g,_,v,y,b,D,x,S,C,w,T,E,k),O}var Pb={kernelName:et,backendName:`wasm`,setupFunc:Mb,kernelFunc:Nb},Fb;function Ib(e){Fb=e.wasm.cwrap(nt,null,`number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number.number`.split(`.`))}function Lb(e){let{backend:t,inputs:n,attrs:r}=e,{dy:i,filter:a}=n,{strides:o,pad:s,dataFormat:c,dimRoundingMode:l,inputShape:u}=r,d=Fs(c),f=xs(u,a.shape,o,1,s,l,!1,d),{batchSize:p,filterHeight:m,filterWidth:h,inChannels:g,inHeight:_,inWidth:v,outChannels:y,outHeight:b,outWidth:x,strideHeight:S,strideWidth:C}=f,w=m-1-f.padInfo.top,T=h-1-f.padInfo.left,E=f.dataFormat===`channelsLast`,D=M(f.inShape),O=M(i.shape),[k,A,ee]=M(a.shape),j=D[0],te=E?D[1]:D[2],ne=E?D[2]:1,re=E?1:D[1],ie=O[0],ae=E?O[1]:O[2],oe=E?O[2]:1,se=E?1:O[1],ce=t.makeOutput(f.inShape,`float32`),le=t.dataIdMap.get(ce.dataId).id,ue=t.dataIdMap.get(i.dataId).id,de=t.dataIdMap.get(a.dataId).id;return Fb(ue,de,p,m,h,_,v,g,b,x,y,S,C,w,T,k,A,ee,j,te,ne,re,ie,ae,oe,se,le),ce}var Rb={kernelName:nt,backendName:`wasm`,setupFunc:Ib,kernelFunc:Lb},zb;function Bb(e){zb=e.wasm.cwrap(rt,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Vb(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,filter:a}=t,{strides:o,pad:s,dilations:c}=r;if(i.dtype!==`float32`)throw Error(`Tensor x must have dtype float32, got ${i.dtype}`);if(a.dtype!==`float32`)throw Error(`Tensor filter must have dtype float32, got ${a.dtype}`);let l=Ss(i.shape,a.shape,o,c,s),u=n.makeOutput(l.outShape,i.dtype);return zb(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(u.dataId).id,l.batchSize,l.inDepth,l.inHeight,l.inWidth,l.inChannels,l.outDepth,l.outHeight,l.outWidth,l.outChannels,l.strideDepth,l.strideHeight,l.strideWidth,l.dilationDepth,l.dilationHeight,l.dilationWidth,l.filterDepth,l.filterHeight,l.filterWidth,l.padInfo.front,l.padInfo.top,l.padInfo.left),u}var Hb={kernelName:rt,backendName:`wasm`,setupFunc:Bb,kernelFunc:Vb},Ub;function Wb(e){Ub=e.wasm.cwrap(it,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Gb(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,dy:a}=t,{strides:o,pad:s,filterShape:c}=r;if(i.dtype!==`float32`)throw Error(`Tensor dy must have dtype float32, got ${i.dtype}`);if(a.dtype!==`float32`)throw Error(`Tensor filter must have dtype float32, got ${a.dtype}`);let l=Ss(i.shape,c,o,1,s),u=n.makeOutput(l.filterShape,a.dtype);return Ub(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(u.dataId).id,l.batchSize,l.inDepth,l.inHeight,l.inWidth,l.inChannels,l.outDepth,l.outHeight,l.outWidth,l.outChannels,l.strideDepth,l.strideHeight,l.strideWidth,l.dilationDepth,l.dilationHeight,l.dilationWidth,l.filterDepth,l.filterHeight,l.filterWidth,l.padInfo.front,l.padInfo.top,l.padInfo.left),u}var Kb={kernelName:it,backendName:`wasm`,setupFunc:Wb,kernelFunc:Gb},qb;function Jb(e){qb=e.wasm.cwrap(at,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Yb(e){let{inputs:t,backend:n,attrs:r}=e,{dy:i,filter:a}
20=t,{pad:o,strides:s,inputShape:c}=r;if(i.dtype!==`float32`)throw Error(`Tensor dy must have dtype float32, got ${i.dtype}`);if(a.dtype!==`float32`)throw Error(`Tensor filter must have dtype float32, got ${a.dtype}`);let l=Ss(c,a.shape,s,1,o),u=n.makeOutput(l.inShape,i.dtype);return qb(n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(u.dataId).id,l.batchSize,l.inDepth,l.inHeight,l.inWidth,l.inChannels,l.outDepth,l.outHeight,l.outWidth,l.outChannels,l.strideDepth,l.strideHeight,l.strideWidth,l.dilationDepth,l.dilationHeight,l.dilationWidth,l.filterDepth,l.filterHeight,l.filterWidth,l.padInfo.front,l.padInfo.top,l.padInfo.left),u}var Xb={kernelName:at,backendName:`wasm`,setupFunc:Jb,kernelFunc:Yb},Zb=$(`Cos`),Qb=$(ot),$b;(function(e){e[e.bilinear=0]=`bilinear`,e[e.nearest=1]=`nearest`})($b||={});var ex;function tx(e){ex=e.wasm.cwrap(lt,null,[`number`,`number`,`number`,`number`,`array`,`number`,`number`,`number`,`number`,`number`])}function nx(e){let{backend:t,inputs:n,attrs:r}=e,{method:i,extrapolationValue:a,cropSize:o}=r,{image:s,boxes:c,boxInd:l}=n,u=c.shape[0],[d,f]=o,p=[u,d,f,s.shape[3]],m=t.dataIdMap.get(s.dataId),h;s.dtype!==`float32`&&(h=Sb({backend:t,inputs:{x:s},attrs:{dtype:`float32`}}),m=t.dataIdMap.get(h.dataId));let g=m.id,_=t.dataIdMap.get(c.dataId).id,v=t.dataIdMap.get(l.dataId).id,y=t.makeOutput(p,`float32`),b=t.dataIdMap.get(y.dataId).id,x=new Uint8Array(new Int32Array(s.shape).buffer);return ex(g,_,v,u,x,d,f,$b[i],a,b),h!=null&&t.disposeData(h.dataId),y}var rx={kernelName:lt,backendName:`wasm`,setupFunc:tx,kernelFunc:nx},ix;function ax(e){ix=e.wasm.cwrap(st,null,[`number`,`number`,`number`,`number`,`number`,`number`])}function ox(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{axis:a,exclusive:o,reverse:s}=r,c=i.shape.length;p(i.dtype===`float32`||i.dtype===`int32`,()=>`cumprod does not support ${i.dtype} tensors in the WASM backend`);let l=Nl([a],c),u=i;
20l!==null&&(u=yy({inputs:{x:i},attrs:{perm:l},backend:n}));let d=Fl(1,c)[0];Ml(`cumprod`,[d],c);let f=n.makeOutput(u.shape,u.dtype),m=u.shape[d],h=n.dataIdMap.get(u.dataId).id,g=n.dataIdMap.get(f.dataId).id;ix(h,+!!o,+!!s,m,g,Q[i.dtype]);let _=f;if(l!==null){let e=Pl(l);_=yy({inputs:{x:f},attrs:{perm:e},backend:n}),n.disposeData(u.dataId),n.disposeData(f.dataId)}return _}var sx={kernelName:st,backendName:`wasm`,setupFunc:ax,kernelFunc:ox},cx;function lx(e){cx=e.wasm.cwrap(ct,null,[`number`,`number`,`number`,`number`,`number`,`number`])}function ux(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{axis:a,exclusive:o,reverse:s}=r,c=i.shape.length;p(i.dtype===`float32`||i.dtype===`int32`,()=>`cumsum does not support ${i.dtype} tensors in the WASM backend`);let l=Nl([a],c),u=i;l!==null&&(u=yy({inputs:{x:i},attrs:{perm:l},backend:n}));let d=Fl(1,c)[0];Ml(`cumsum`,[d],c);let f=n.makeOutput(u.shape,u.dtype),m=u.shape[d],h=n.dataIdMap.get(u.dataId).id,g=n.dataIdMap.get(f.dataId).id;cx(h,+!!o,+!!s,m,g,Q[i.dtype]);let _=f;if(l!==null){let e=Pl(l);_=yy({inputs:{x:f},attrs:{perm:e},backend:n}),n.disposeData(u.dataId),n.disposeData(f.dataId)}return _}var dx={kernelName:ct,backendName:`wasm`,setupFunc:lx,kernelFunc:ux},fx;function px(e){fx=e.wasm.cwrap(`DenseBincount`,null,[`number`,`array`,`number`,`number`,`boolean`,`number`,`number`,`boolean`,`number`])}function mx(e){let{backend:t,inputs:n,attrs:r}=e,{x:i,weights:a}=n,{size:o,binaryOutput:s}=r,c=a.shape.reduce((e,t)=>e*t,1)!==0,l=i.shape.length===1?[o]:[i.shape[0],o],u=t.makeOutput(l,a.dtype);function d(e){return t.dataIdMap.get(e.dataId).id}return fx(d(i),new Uint8Array(new Int32Array(i.shape).buffer),i.shape.length,o,c,d(a),Q[a.dtype],s,d(u)),u}var hx={kernelName:ut,backendName:`wasm`,setupFunc:px,kernelFunc:mx},gx;function _x(e){gx=e.wasm.cwrap(dt,null,[`number`,`number`,`number`,`array`,`number`,`array`,`array`,`number`,`number`])}function vx(e){let{backend:t,inputs:n,attrs:r}=e,{x:i}=n,{blockSize:a,dataFormat:o}=r,s=i.shape[0],c=o===`NHWC`?i.shape[1]:i.shape[2],l=o===`NHWC`?i.shape[2]:i.shape[3],u=o===`NHWC`?i.shape[3]:i.shape[1],d=c*a,f=l*a,p=u/(a*a),m=o===`NHWC`?[s,d,f,p]:[s,p,d,f],h=t.makeOutput(m,`float32`),g=t.dataIdMap.get(i.dataId).id,_=new Uint8Array(new Int32Array(M(i.shape)).buffer),v=new Uint8Array(new Int32Array(m).buffer),y=new Uint8Array(new Int32Array(M(m)).buffer),b=t.dataIdMap.get(h.dataId).id;return gx(g,a,+(o===`NHWC`),_,i.shape.length-1,v,y,m.length,b),h}var yx={kernelName:dt,backendName:`wasm`,setupFunc:_x,kernelFunc:vx},bx;function xx(e){bx=e.wasm.cwrap(ft,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Sx(e){let{inputs:t,attrs:n,backend:r}=e,{x:i,filter:a}=t,o=r.dataIdMap.get(i.dataId).id,s=r.dataIdMap.get(a.dataId).id,{strides:c,dilations:l,pad:u,dimRoundingMode:d}=n,f=l??[1,1],p=xs(i.shape,a.shape,c,f,u,d,!0),m=p.filterHeight,h=p.filterWidth,g=p.padInfo.top,_=p.padInfo.right,v=p.padInfo.bottom,y=p.padInfo.left,b=p.dilationHeight,x=p.dilationWidth,S=p.strideHeight,C=p.strideWidth,w=p.inChannels,T=p.outChannels,E=+(p.padInfo.type===`SAME`);if(p.dataFormat!==`channelsLast`)throw Error(`wasm backend DepthwiseConv2dNative does not support dataFormat:'${p.dataFormat}'. Please use 'channelsLast'.`);let D=r.makeOutput(p.outShape,`float32`),O=r.dataIdMap.get(D.dataId).id;return bx(o,i.shape[0],i.shape[1],i.shape[2],s,m,h,g,_,v,y,E,b,x,S,C,w,T,O),D}var Cx={kernelName:ft,backendName:`wasm`,setupFunc:xx,kernelFunc:Sx},wx;function Tx(e){wx=e.wasm.cwrap(`Diag`,null,[`number`,`number`,`number`,`number`])}function Ex(e){let{inputs:t,backend:n}=e,{x:r}=t,i=g(r.shape),a=n.makeOutput([...r.shape,...r.shape],r.dtype);return wx(n.dataIdMap.get(r.dataId).id,Q[r.dtype],i,n.dataIdMap.get(a.dataId).id),a}var Dx={kernelName:ht,backendName:`wasm`,setupFunc:Tx,kernelFunc:Ex},Ox;function kx(e){Ox=e.wasm.cwrap(gt,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Ax(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,filter:a}=t,{strides:o,pad:s,dilations:c}=r;if(i.dtype!==a.dtype)throw Error(`Dilation2D error: x must have the same dtype as filter. Got ${i.dtype} and ${a.dtype}`);let l=vs(i.shape,a.shape,o,s,`NHWC`,c),u=n.makeOutput(l.outShape,i.dtype);return Ox(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(u.dataId).id,Q[i.dtype],l.batchSize,l.inChannels,l.inHeight,l.inWidth,l.outHeight,l.outWidth,l.strideHeight,l.strideWidth,l.dilationHeight,l.dilationWidth,l.filterHeight,l.filterWidth,l.padInfo.top,l.padInfo.left),u}var jx={kernelName:gt,backendName:`wasm`,setupFunc:kx,kernelFunc:Ax},Mx;function Nx(e){Mx=e.wasm.cwrap(vt,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Px(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,filter:a,dy:o}=t,{strides:s,pad:c,dilations:l}=r;if(i.dtype!==a.dtype||i.dtype!==o.dtype)throw Error(`Dilation2DBackpropFilter error: x must have the same dtype as filter and dy. Got ${i.dtype}, ${a.dtype}, and ${o.dtype}`);let u=vs(i.shape,a.shape,s,c,`NHWC`,l),d=n.makeOutput(a.shape,a.dtype);return Mx(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(o.dataId).id,n.dataIdMap.get(d.dataId).id,Q[i.dtype],u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.filterHeight,u.filterWidth,u.padInfo.top,u.padInfo.left),d}var Fx={kernelName:vt,backendName:`wasm`,setupFunc:Nx,kernelFunc:Px},Ix;function Lx(e){Ix=e.wasm.cwrap(_t,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Rx(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,filter:a,dy:o}=t,{strides:s,pad:c,dilations:l}=r;if(i.dtype!==a.dtype||i.dtype!==o.dtype)throw Error(`Dilation2DBackpropInput error: x must have the same dtype as filter and dy. Got ${i.dtype}, ${a.dtype}, and ${o.dtype}`);let u=vs(i.shape,a.shape,s,c,`NHWC`,l),d=n.makeOutput(i.shape,i.dtype);return Ix(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(o.dataId).id,n.dataIdMap.get(d.dataId).id,Q[i.dtype],u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.filterHeight,u.filterWidth,u.padInfo.top,u.padInfo.left),d}var zx={kernelName:_t,backendName:`wasm`,setupFunc:Lx,kernelFunc:Rx},Bx=$(`Elu`),Vx;
20function Hx(e){Vx=e.wasm.cwrap(St,null,[`number`,`number`,`number`])}function Ux(e){let{inputs:t,backend:n}=e,{dy:r,y:i}=t,a=n.makeOutput(i.shape,`float32`),o=e=>n.dataIdMap.get(e.dataId).id;return Vx(o(i),o(r),o(a)),a}var Wx={kernelName:St,backendName:`wasm`,setupFunc:Hx,kernelFunc:Ux},Gx=ly(Ct,!1,`bool`),Kx=$(`Erf`),qx=$(`Exp`,`float32`);function Jx(e){let{inputs:t,attrs:n,backend:r}=e,{input:i}=t,{dim:a}=n,o=i.shape.length,s=i.shape.slice(),c=a;return a<0&&(p(-(o+1)<=a,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),c=o+a+1),s.splice(c,0,1),nb({inputs:{x:i},backend:r,attrs:{shape:s}})}var Yx={kernelName:wt,backendName:`wasm`,kernelFunc:Jx},Xx=$(Tt,`float32`);function Zx(e){let{attrs:{shape:t,value:n},backend:r}=e,{attrs:{dtype:i}}=e;i||=ae(n);let a=r.makeOutput(t,i);return r.typedArrayFromHeap(a).fill(n),a}var Qx={kernelName:Et,backendName:`wasm`,kernelFunc:Zx},$x;function eS(e){$x=e.wasm.cwrap(Dt,null,[`number`,`number`,`number`,`number`,`number`,`number`])}function tS(e){let{inputs:t,backend:n}=e,{image:r}=t,i=n.makeOutput(r.shape,r.dtype),a=n.dataIdMap.get(r.dataId).id,o=n.dataIdMap.get(i.dataId).id,[s,c,l,u]=r.shape;return $x(a,s,c,l,u,o),i}var nS={kernelName:Dt,backendName:`wasm`,kernelFunc:tS,setupFunc:eS},rS=$(Ot),iS=ly(kt,!1),aS;function oS(e){aS=e.wasm.cwrap(At,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function sS(e){let{backend:t,inputs:n,attrs:r}=e,{varianceEpsilon:i}=r,{x:a,mean:o,variance:s,offset:c,scale:l}=n,u=t.dataIdMap.get(a.dataId).id,d=t.dataIdMap.get(o.dataId).id,f=t.dataIdMap.get(s.dataId).id,p=c==null?0:t.dataIdMap.get(c.dataId).id,m=l==null?0:t.dataIdMap.get(l.dataId).id,h=t.makeOutput(a.shape,a.dtype);if(g(a.shape)===0)return h;let _=t.dataIdMap.get(h.dataId).id;return aS(u,d,f,p,m,i,_),h}var cS={kernelName:At,backendName:`wasm`,setupFunc:oS,kernelFunc:sS},lS;function uS(e){lS=e.wasm.cwrap(xr,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function dS(e){let{inputs:t,attrs:n,backend:r}=e,{x:i,filter:a,bias:o,preluActivationWeights:s}=t,{strides:c,pad:l,dilations:u,dataFormat:d,dimRoundingMode:f,activation:p,leakyreluAlpha:m}=n,h=xs(i.shape,a.shape,c,u,l,f),g=ty[p];if(g==null)throw Error(`${p} activation not yet supported for FusedConv2D in the wasm backend.`);let _=r.dataIdMap.get(i.dataId).id,v=r.dataIdMap.get(a.dataId).id,y=h.outChannels,b=0;if(o!=null){let e=r.dataIdMap.get(o.dataId);if(e.shape.length!==1)throw Error(`FusedConv2D only supports rank-1 bias but got rank ${e.shape.length}.`);if(e.shape[0]!==y)throw Error(`FusedConv2D bias shape (${e.shape}) does not match the number of output channels (${y})`);b=e.id}let x=h.filterHeight,S=h.filterWidth,C=h.padInfo.top,w=h.padInfo.right,T=h.padInfo.bottom,E=h.padInfo.left,D=h.dilationHeight,O=h.dilationWidth,k=h.strideHeight,A=h.strideWidth,ee=h.inChannels,j=+(h.padInfo.type===`SAME`),te=h.batchSize,ne=h.inHeight,re=h.inWidth;if(d!==`NHWC`)throw Error(`wasm backend FusedConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let ie=r.makeOutput(h.outShape,`float32`),ae=r.dataIdMap.get(ie.dataId).id,oe=s==null?0:r.dataIdMap.get(s.dataId).id;return lS(_,te,ne,re,v,x,S,b,C,w,T,E,j,D,O,k,A,ee,y,g,oe,m||0,ae),ie}var fS={kernelName:xr,backendName:`wasm`,setupFunc:uS,kernelFunc:dS},pS;function mS(e){pS=e.wasm.cwrap(Sr,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function hS(e){let{inputs:t,attrs:n,backend:r}=e,{x:i,filter:a,bias:o,preluActivationWeights:s}=t,{strides:c,pad:l,dilations:u,dataFormat:d,dimRoundingMode:f,activation:p,leakyreluAlpha:m}=n,h=xs(i.shape,a.shape,c,u,l,f,!0),g=ty[p];if(g==null)throw Error(`${p} activation not yet supported for FusedDepthwiseConv2D in the wasm backend.`);let _=r.dataIdMap.get(i.dataId).id,v=r.dataIdMap.get(a.dataId).id,y=h.outChannels,b=0;if(o!=null){let e=r.dataIdMap.get(o.dataId);if(e.shape.length!==1)throw Error(`FusedDepthwiseConv2D only supports rank-1 bias but got rank ${e.shape.length}.`);if(e.shape[0]!==y)throw Error(`FusedDepthwiseConv2D bias shape (${e.shape}) does not match the number of output channels (${y})`);b=e.id}let x=h.filterHeight,S=h.filterWidth,C=h.padInfo.top,w=h.padInfo.right,T=h.padInfo.bottom,E=h.padInfo.left,D=h.dilationHeight,O=h.dilationWidth,k=h.strideHeight,A=h.strideWidth,ee=h.inChannels,j=+(h.padInfo.type===`SAME`),te=h.batchSize,ne=h.inHeight,re=h.inWidth;
20if(d!==`NHWC`)throw Error(`wasm backend FusedDepthwiseConv2D does not support dataFormat:'${d}'. Please use 'NHWC'.`);let ie=r.makeOutput(h.outShape,`float32`),ae=r.dataIdMap.get(ie.dataId).id,oe=s==null?0:r.dataIdMap.get(s.dataId).id;return pS(_,te,ne,re,v,x,S,b,C,w,T,E,j,D,O,k,A,ee,y,g,oe,m||0,ae),ie}var gS={kernelName:Sr,backendName:`wasm`,setupFunc:mS,kernelFunc:hS},_S;function vS(e){_S=e.wasm.cwrap(Mt,null,[`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`])}function yS(e){let{backend:t,inputs:n}=e,{params:r,indices:i}=n,[a,o,s,c]=h_(r,i),l=t.makeOutput(a,r.dtype);if(o===0)return l;let u=i.shape,d=u[u.length-1],f=t.dataIdMap.get(r.dataId).id,p=t.dataIdMap.get(i.dataId).id,m=new Uint8Array(new Int32Array(c).buffer),h=t.dataIdMap.get(l.dataId).id;return _S(f,Q[r.dtype],p,o,d,s,m,h),l}var bS={kernelName:Mt,backendName:`wasm`,setupFunc:vS,kernelFunc:yS},xS;function SS(e){xS=e.wasm.cwrap(`Gather`,null,[`number`,`number`,`array`,`number`,`number`,`number`,`array`,`number`])}function CS(e){let{backend:t,inputs:n,attrs:r}=e,{x:i,indices:a}=n,{axis:o,batchDims:s}=r,c=T(o,i.shape)[0],l=t.readSync(a.dataId),u=i.shape[c];for(let e=0;e<l.length;++e){let t=l[e];p(t<=u-1&&t>=0,()=>`GatherV2: the index value ${t} is not in [0, ${u-1}]`)}let d=zv(i,a,c,s),f=nb({inputs:{x:i},attrs:{shape:[d.batchSize,d.outerSize,d.dimSize,d.sliceSize]},backend:t}),m=g(a.shape),h=nb({inputs:{x:a},attrs:{shape:[d.batchSize,m/d.batchSize]},backend:t}),_=[d.batchSize,d.outerSize,m/d.batchSize,d.sliceSize],v=t.makeOutput(_,i.dtype);if(g(i.shape)===0)return v;let y=f.shape.length-1,b=t.dataIdMap.get(f.dataId).id,x=t.dataIdMap.get(h.dataId).id,S=t.dataIdMap.get(v.dataId).id,C=new Uint8Array(new Int32Array(M(f.shape)).buffer),w=new Uint8Array(new Int32Array(M(_)).buffer);return xS(b,Q[i.dtype],C,y,x,d.batchSize,w,S),t.disposeData(f.dataId),t.disposeData(h.dataId),v.shape=d.outputShape,v}var wS={kernelName:jt,backendName:`wasm`,setupFunc:SS,kernelFunc:CS},TS=ly(Nt,!1,`bool`),ES=ly(Pt,!1,`bool`),DS=$(Rt,`bool`),OS=$(zt,`bool`),kS=$(Bt,`bool`),AS;function jS(e){AS=e.wasm.cwrap(Vt,null,[`number`,`number`,`number`,`number`])}function MS(e){let{inputs:{x:t},attrs:{alpha:n},backend:r}=e,i=r.dataIdMap.get(t.dataId).id,a=r.makeOutput(t.shape,`float32`);if(g(t.shape)!==0){let e=r.dataIdMap.get(a.dataId).id;AS(i,Q[t.dtype],n,e)}return a}var NS={kernelName:Vt,backendName:`wasm`,setupFunc:jS,kernelFunc:MS},PS=ly(Ht,!1,`bool`),FS=ly(Ut,!1,`bool`),IS;function LS(e){IS=e.wasm.cwrap(Wt,null,[`number`,`number`,`number`,`number`])}function RS(e){let{attrs:t,backend:n}=e,{start:r,stop:i,num:a}=t,o=Math.floor(a),s=n.makeOutput([o],`float32`);return IS(n.dataIdMap.get(s.dataId).id,r,i,o),s}var zS={kernelName:Wt,backendName:`wasm`,setupFunc:LS,kernelFunc:RS},BS=$(`Log`),VS=$(Gt),HS=ly(Kt,!1,`bool`),US=$(qt),WS=ly(Jt,!1,`bool`),GS=ly(Yt,!1,`bool`),KS;function qS(e){KS=e.wasm.cwrap(`LRN`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function JS(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{depthRadius:a,bias:o,alpha:s,beta:c}=r;if(i.dtype!==`float32`)throw Error(`LRN error: x must have dtype float32`);let l=n.makeOutput(i.shape,i.dtype);return KS(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(l.dataId).id,i.shape[3],a,o,s,c),l}var YS={kernelName:`LRN`,backendName:`wasm`,setupFunc:qS,kernelFunc:JS},XS;function ZS(e){XS=e.wasm.cwrap(Zt,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function QS(e){let{inputs:t,backend:n,attrs:r}=e,{x:i,y:a,dy:o}=t,{depthRadius:s,bias:c,alpha:l,beta:u}=r;if(i.dtype!==`float32`||a.dtype!==`float32`||o.dtype!==`float32`)throw Error(`LRNGrad error: x, y, and dy must have dtype float32`);let d=n.makeOutput(i.shape,i.dtype);return XS(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(o.dataId).id,n.dataIdMap.get(d.dataId).id,o.shape[3],s,c,l,u),d}var $S={kernelName:Zt,backendName:`wasm`,setupFunc:ZS,kernelFunc:QS},eC;function tC(e){eC=e.wasm.cwrap(`Max`,null,[`number`,`number`,`number`,`number`])}function nC(e){let{backend:t,inputs:n,attrs:r}=e,{reductionIndices:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=o,{transposed:l,axes:u,originalAxes:d,inputWasTransposed:f}=Cy(o,i,t);
20if(f){let e=t.dataIdMap.get(l.dataId).id;c=l,s=e}let p=c.shape.length;Ml(`max`,u,p);let[m,h]=Al(c.shape,u),_=g(h),v=t.makeOutput(m,o.dtype);if(g(c.shape)!==0){let e=t.dataIdMap.get(v.dataId).id;eC(s,Q[o.dtype],_,e)}return f&&t.disposeData(l.dataId),a&&(v.shape=jl(v.shape,d)),v}var rC={kernelName:`Max`,backendName:`wasm`,setupFunc:tC,kernelFunc:nC},iC=ly(Qt,!1),aC;function oC(e){aC=e.wasm.cwrap($t,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function sC(e){let{inputs:t,attrs:n,backend:r}=e,i=t.x,a=r.dataIdMap.get(i.dataId).id;p(i.dtype===`float32`,()=>`Error in MaxPool: only float32 input is supported. Got ${i.dtype}.`);let{filterSize:o,strides:s,pad:c,dimRoundingMode:l}=n,u=ys(i.shape,o,s,1,c,l),d=u.filterHeight,f=u.filterWidth,m=u.padInfo.top,h=u.padInfo.right,g=u.padInfo.bottom,_=u.padInfo.left,v=u.dilationHeight,y=u.dilationWidth,b=u.strideHeight,x=u.strideWidth,S=u.inChannels,C=u.outChannels;if(u.dataFormat!==`channelsLast`)throw Error(`wasm backend does not support dataFormat:'${u.dataFormat}'. Please use 'channelsLast'.`);let w=r.makeOutput(u.outShape,`float32`),T=r.dataIdMap.get(w.dataId).id;return aC(a,i.shape[0],i.shape[1],i.shape[2],d,f,m,h,g,_,v,y,b,x,S,C,T),w}var cC={kernelName:$t,backendName:`wasm`,setupFunc:oC,kernelFunc:sC},lC;function uC(e){lC=e.wasm.cwrap(`MaxPool3D`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function dC(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{filterSize:a,strides:o,pad:s,dimRoundingMode:c,dataFormat:l}=r,u=bs(i.shape,a,o,1,s,c,l),d=n.makeOutput(u.outShape,i.dtype);return lC(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,u.batchSize,u.inChannels,u.inDepth,u.inHeight,u.inWidth,u.outDepth,u.outHeight,u.outWidth,u.strideDepth,u.strideHeight,u.strideWidth,u.dilationDepth,u.dilationHeight,u.dilationWidth,u.effectiveFilterDepth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.front,u.padInfo.top,u.padInfo.left),d}var fC={kernelName:tn,backendName:`wasm`,setupFunc:uC,kernelFunc:dC},pC;function mC(e){pC=e.wasm.cwrap(`MaxPool3DGrad`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function hC(e){let{inputs:t,backend:n,attrs:r}=e,{dy:i,input:a}=t,{filterSize:o,strides:s,pad:c,dimRoundingMode:l}=r,u=bs(a.shape,o,s,1,c,l),d=n.makeOutput(a.shape,a.dtype);return pC(n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,u.batchSize,u.inChannels,u.inDepth,u.inHeight,u.inWidth,u.outDepth,u.outHeight,u.outWidth,u.strideDepth,u.strideHeight,u.strideWidth,u.dilationDepth,u.dilationHeight,u.dilationWidth,u.effectiveFilterDepth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.front,u.padInfo.top,u.padInfo.left),d}var gC={kernelName:nn,backendName:`wasm`,setupFunc:mC,kernelFunc:hC},_C;function vC(e){_C=e.wasm.cwrap(`MaxPoolGrad`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function yC(e){let{inputs:t,backend:n,attrs:r}=e,{dy:i,input:a}=t,{filterSize:o,strides:s,pad:c,dimRoundingMode:l}=r,u=ys(a.shape,o,s,1,c,l),d=n.makeOutput(a.shape,a.dtype);return _C(n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.top,u.padInfo.left),d}var bC={kernelName:en,backendName:`wasm`,setupFunc:vC,kernelFunc:yC},xC;function SC(e){xC=e.wasm.cwrap(`MaxPoolWithArgmax`,null,[`number`,`number`,`number`,`number`,`boolean`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function CC(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{filterSize:a,strides:o,pad:s,includeBatchInIndex:c}=r;p(i.shape.length===4,()=>`Error in maxPool: input must be rank 4 but got rank ${i.shape.length}.`);let l=[1,1];p(Ns(o,l),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '${l}'`);let u=ys(i.shape,a,o,[1,1],s),d=n.makeOutput(u.outShape,i.dtype),f=n.makeOutput(u.outShape,`int32`);return xC(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(d.dataId).id,n.dataIdMap.get(f.dataId).id,Q[i.dtype],c,u.batchSize,u.inChannels,u.inHeight,u.inWidth,u.outHeight,u.outWidth,u.strideHeight,u.strideWidth,u.dilationHeight,u.dilationWidth,u.effectiveFilterHeight,u.effectiveFilterWidth,u.padInfo.top,u.padInfo.left),[d,f]}var wC={kernelName:rn,backendName:`wasm`,setupFunc:SC,kernelFunc:CC},TC;function EC(e){TC=e.wasm.cwrap(an,null,[`number, number, number`])}function DC(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=s,l=o,{transposed:u,axes:d,originalAxes:f,inputWasTransposed:p}=Cy(o,i,t),m=d;if(p){let e=t.dataIdMap.get(u.dataId).id;e!==s&&(l=u,c=e,m=Fl(m.length,l.shape.length))}Ml(`mean`,m,l.shape.length);let[h,_]=Al(l.shape,m),v=g(_),y=l;l.dtype!==`float32`&&(y=Sb({backend:t,inputs:{x:l},attrs:{dtype:`float32`}}),c=t.dataIdMap.get(y.dataId).id);let b=t.makeOutput(h,`float32`);if(g(l.shape)!==0){let e=t.dataIdMap.get(b.dataId).id;TC(c,v,e)}return p&&t.disposeData(u.dataId),a&&(b.shape=jl(b.shape,f)),l.dtype!==`float32`&&t.dis
20poseData(y.dataId),b}var OC={kernelName:an,backendName:`wasm`,setupFunc:EC,kernelFunc:DC},kC;function AC(e){kC=e.wasm.cwrap(`Min`,null,[`number`,`number`,`number`,`number`])}function jC(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=s,l=o,{transposed:u,axes:d,originalAxes:f,inputWasTransposed:p}=Cy(o,i,t);if(p){let e=t.dataIdMap.get(u.dataId).id;e!==s&&(l=u,c=e)}let m=l.shape.length;Ml(`min`,d,m);let[h,_]=Al(l.shape,d),v=g(_),y=t.makeOutput(h,l.dtype);if(g(l.shape)!==0){let e=t.dataIdMap.get(y.dataId).id;kC(c,Q[o.dtype],v,e)}return p&&t.disposeData(u.dataId),a&&(y.shape=jl(y.shape,f)),y}var MC={kernelName:`Min`,backendName:`wasm`,setupFunc:AC,kernelFunc:jC},NC=ly(on,!1),PC;(function(e){e[e.reflect=0]=`reflect`,e[e.symmetric=1]=`symmetric`})(PC||={});var FC;function IC(e){FC=e.wasm.cwrap(sn,null,[`number`,`array`,`number`,`number`,`array`,`array`,`number`,`number`])}function LC(e){let{inputs:{x:t},backend:n,attrs:{paddings:r,mode:i}}=e,a=r.map((e,n)=>e[0]+t.shape[n]+e[1]),o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(a,t.dtype),c=n.dataIdMap.get(s.dataId).id,l=new Uint8Array(new Int32Array(t.shape).buffer),u=r.map(e=>e[0]),d=r.map(e=>e[1]),f=new Uint8Array(new Int32Array(u).buffer),p=new Uint8Array(new Int32Array(d).buffer);return FC(o,l,t.shape.length,Q[t.dtype],f,p,PC[i],c),s}var RC={kernelName:sn,backendName:`wasm`,kernelFunc:LC,setupFunc:IC},zC;function BC(e){zC=e.wasm.cwrap(Yn,null,[`number`,`number`,`number`,`number`])}function VC(e){let{backend:t,inputs:{logits:n},attrs:{dim:r}}=e,i=t.dataIdMap.get(n.dataId).id,a=t.makeOutput(n.shape,n.dtype),o=t.dataIdMap.get(a.dataId).id,s=n.shape[r],c=g(n.shape)/s;return g(a.shape)===0||zC(i,o,s,c),a}var HC={kernelName:Yn,backendName:`wasm`,setupFunc:BC,kernelFunc:VC},UC;function WC(e){UC=e.wasm.cwrap(cn,null,[`number`,`number`,`number`,`number`,`number`,`number`])}function GC(e){let{inputs:t,backend:n,attrs:r}=e,{logits:i}=t,{numSamples:a,seed:o,normalized:s}=r;if(i.dtype!==`float32`)throw Error(`Tensor logits must have dtype float32, got ${i.dtype}`);let c=s?i:VC({inputs:{logits:i},backend:n,attrs:{dim:i.shape.length-1}}),[l,u]=c.shape,d=n.makeOutput([l,a],`int32`);return UC(n.dataIdMap.get(c.dataId).id,l,u,a,o,n.dataIdMap.get(d.dataId).id),s||n.disposeData(c.dataId),d}var KC={kernelName:cn,backendName:`wasm`,setupFunc:WC,kernelFunc:GC},qC=ly(`Mod`,!0),JC=ly(ln,!0),YC=$(`Neg`);function XC(e,t){let n=new Int32Array(e.wasm.HEAPU8.buffer,t,4),r=n[0],i=n[1],a=n[2],o=n[3];return e.wasm._free(t),{pSelectedIndices:r,selectedSize:i,pSelectedScores:a,pValidOutputs:o}}var ZC;function QC(e){ZC=e.wasm.cwrap(dn,`number`,[`number`,`number`,`number`,`number`,`number`])}function $C(e){let{backend:t,inputs:n,attrs:r}=e,{iouThreshold:i,maxOutputSize:a,scoreThreshold:o}=r,{boxes:s,scores:c}=n,l=t.dataIdMap.get(s.dataId).id,u=t.dataIdMap.get(c.dataId).id,{pSelectedIndices:d,selectedSize:f,pSelectedScores:p,pValidOutputs:m}=XC(t,ZC(l,u,a,i,o));return t.wasm._free(p),t.wasm._free(m),t.makeOutput([f],`int32`,d)}var ew={kernelName:dn,backendName:`wasm`,setupFunc:QC,kernelFunc:$C},tw;function nw(e){tw=e.wasm.cwrap(fn,`number`,[`number`,`number`,`number`,`number`,`number`,`bool`])}function rw(e){let{backend:t,inputs:n,attrs:r}=e,{iouThreshold:i,maxOutputSize:a,scoreThreshold:o,padToMaxOutputSize:s}=r,{boxes:c,scores:l}=n,u=t.dataIdMap.get(c.dataId).id,d=t.dataIdMap.get(l.dataId).id,{pSelectedIndices:f,selectedSize:p,pSelectedScores:m,pValidOutputs:h}=XC(t,tw(u,d,a,i,o,s));return t.wasm._free(m),[t.makeOutput([p],`int32`,f),t.makeOutput([],`int32`,h)]}var iw={kernelName:fn,backendName:`wasm`,setupFunc:nw,kernelFunc:rw},aw;function ow(e){aw=e.wasm.cwrap(pn,`number`,[`number`,`number`,`number`,`number`,`number`,`number`])}function sw(e){let{backend:t,inputs:n,attrs:r}=e,{iouThreshold:i,maxOutputSize:a,scoreThreshold:o,softNmsSigma:s}=r,{boxes:c,scores:l}=n,u=t.dataIdMap.get(c.dataId).id,d=t.dataIdMap.get(l.dataId).id,{pSelectedIndices:f,selectedSize:p,pSelectedScores:m,pValidOutputs:h}=XC(t,aw(u,d,a,i,o,s));return t.wasm._free(h),[t.makeOutput([p],`int32`,f),t.makeOutput([p],`float32`,m)]}var cw={kernelName:pn,backendName:`wasm`,setupFunc:ow,kernelFunc:sw},lw=ly(un,!1,`bool`),uw;function dw(e){uw=e.wasm.cwrap(hn,null,[`number`,`number`,`number`,`number`,`number`])}function fw(e){let{inputs:t,backend:n,attrs:r}=e,{indices:i}=t,{dtype:a,depth:o,onValue:s,offValue:c}=r,l=n.makeOutput([...i.shape,o],a),u=n.dataIdMap.get(l.dataId).id,d=n.dataIdMap.get(i.dataId).id;return uw(d,o,s,c,u),l}var pw={kernelName:hn,backendName:`wasm`,setupFunc:dw,kernelFunc:fw};function mw(e){let{inputs:{x:t},backend:n}=e,r=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(r).fill(1),r}var hw={kernelName:mn,backendName:`wasm`,kernelFunc:mw};function gw(e){let{inputs:t,backend:n,attrs:r}=e,{axis:i}=r;
20if(t.length===1)return Jx({inputs:{input:t[0]},backend:n,attrs:{dim:i}});let a=t[0].shape,o=t[0].dtype;t.forEach(e=>{m(a,e.shape,`All tensors passed to stack must have matching shapes`),p(o===e.dtype,()=>`All tensors passed to stack must have matching dtypes`)});let s=[],c=kb({inputs:t.map(e=>{let t=Jx({inputs:{input:e},backend:n,attrs:{dim:i}});return s.push(t),t}),backend:n,attrs:{axis:i}});return s.forEach(e=>n.disposeData(e.dataId)),c}var _w={kernelName:gn,backendName:`wasm`,kernelFunc:gw},vw;function yw(e){vw=e.wasm.cwrap(_n,null,[`number`,`array`,`number`,`number`,`array`,`array`,`number`,`number`])}function bw(e){let{inputs:{x:t},backend:n,attrs:{paddings:r,constantValue:i}}=e,a=r.map((e,n)=>e[0]+t.shape[n]+e[1]);if(g(t.shape)===0)return Zx({backend:n,attrs:{shape:a,value:i,dtype:t.dtype}});let o=n.dataIdMap.get(t.dataId).id,s=n.makeOutput(a,t.dtype),c=n.dataIdMap.get(s.dataId).id,l=new Uint8Array(new Int32Array(t.shape).buffer),u=r.map(e=>e[0]),d=r.map(e=>e[1]),f=new Uint8Array(new Int32Array(u).buffer),p=new Uint8Array(new Int32Array(d).buffer);return vw(o,l,t.shape.length,Q[t.dtype],f,p,i,c),s}var xw={kernelName:_n,backendName:`wasm`,kernelFunc:bw,setupFunc:yw},Sw=ly(`Pow`,!1),Cw;function ww(e){Cw=e.wasm.cwrap(vn,null,[`number`,`number`,`number`])}function Tw(e){let{inputs:t,backend:n}=e,{x:r,alpha:i}=t,a=n.dataIdMap.get(r.dataId).id,o=n.dataIdMap.get(i.dataId).id,s=a,c=r,l=c;c.dtype!==`float32`&&(l=Sb({backend:n,inputs:{x:r},attrs:{dtype:`float32`}}),s=n.dataIdMap.get(l.dataId).id);let u=n.makeOutput(r.shape,`float32`),d=n.dataIdMap.get(u.dataId).id;return Cw(s,o,d),c.dtype!==`float32`&&n.disposeData(l.dataId),u}var Ew={kernelName:vn,backendName:`wasm`,setupFunc:ww,kernelFunc:Tw},Dw;function Ow(e){Dw=e.wasm.cwrap(yn,null,[`number`,`number`,`number`,`number`])}function kw(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=s,l=o,{transposed:u,axes:d,originalAxes:f,inputWasTransposed:p}=Cy(o,i,t),m=d;if(p){let e=t.dataIdMap.get(u.dataId).id;e!==s&&(l=u,c=e,m=Fl(m.length,l.shape.length))}Ml(`prod`,m,l.shape.length);let[h,_]=Al(l.shape,m),v=g(_),y=t.makeOutput(h,l.dtype);if(g(l.shape)!==0){let e=t.dataIdMap.get(y.dataId).id;Dw(c,v,Q[y.dtype],e)}return p&&t.disposeData(u.dataId),a&&(y.shape=jl(y.shape,f)),y}var Aw={kernelName:yn,backendName:`wasm`,setupFunc:Ow,kernelFunc:kw},jw={kernelName:Cn,backendName:`wasm`,kernelFunc:e=>{let{backend:t,attrs:n}=e,{start:r,stop:i,step:a,dtype:o}=n,s=Gv(r,i,a,o),c=t.makeOutput([s.length],o);return t.typedArrayFromHeap(c).set(s),c}},Mw=ly(bt,!0),Nw=$(Tn),Pw=$(En),Fw=$(Mn),Iw;function Lw(e){Iw=e.wasm.cwrap(An,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Rw(e){let{backend:t,inputs:n,attrs:r}=e,{images:i}=n,{alignCorners:a,halfPixelCenters:o,size:s}=r,[c,l]=s,[u,d,f,p]=i.shape,m=[u,c,l,p],h=t.dataIdMap.get(i.dataId),_;h.dtype!==`float32`&&(_=Sb({backend:t,inputs:{x:i},attrs:{dtype:`float32`}}),h=t.dataIdMap.get(_.dataId));let v=h.id,y=t.makeOutput(m,`float32`);if(g(i.shape)===0)return y;let b=t.dataIdMap.get(y.dataId).id;return Iw(v,u,d,f,p,c,l,+!!a,+!!o,b),_!=null&&t.disposeData(_.dataId),y}var zw={kernelName:An,backendName:`wasm`,setupFunc:Lw,kernelFunc:Rw},Bw;function Vw(e){Bw=e.wasm.cwrap(jn,null,[`number`,`number`,`number`,`array`,`array`,`boolean`])}function Hw(e){let{inputs:t,backend:n,attrs:r}=e,{images:i,dy:a}=t,{alignCorners:o}=r,s=n.makeOutput(i.shape,`float32`),c=n.dataIdMap.get(i.dataId),l;return c.dtype!==`float32`&&(l=Sb({backend:n,inputs:{x:i},attrs:{dtype:`float32`}}),c=n.dataIdMap.get(l.dataId)),Bw(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(s.dataId).id,new Uint8Array(new Int32Array(i.shape).buffer),new Uint8Array(new Int32Array(a.shape).buffer),o),l!=null&&n.disposeData(l.dataId),s}var Uw={kernelName:jn,backendName:`wasm`,setupFunc:Vw,kernelFunc:Hw},Ww;function Gw(e){Ww=e.wasm.cwrap(On,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function Kw(e){let{backend:t,inputs:n,attrs:r}=e,{images:i}=n,{alignCorners:a,halfPixelCenters:o,size:s}=r,[c,l]=s,[u,d,f,p]=i.shape,m=[u,c,l,p],h=t.makeOutput(m,`float32`);if(g(i.shape)===0)return h;let _=t.dataIdMap.get(i.dataId),v;_.dtype!==`float32`&&(v=Sb({backend:t,inputs:{x:i},attrs:{dtype:`float32`}}),_=t.dataIdMap.get(v.dataId));let y=_.id,b=t.dataIdMap.get(h.dataId).id;
20return Ww(y,u,d,f,p,c,l,+!!a,+!!o,b),v!=null&&t.disposeData(v.dataId),h}var qw={kernelName:On,backendName:`wasm`,setupFunc:Gw,kernelFunc:Kw},Jw;function Yw(e){Jw=e.wasm.cwrap(kn,null,[`number`,`number`,`number`,`array`,`array`,`boolean`])}function Xw(e){let{inputs:t,backend:n,attrs:r}=e,{images:i,dy:a}=t,{alignCorners:o}=r,s=n.makeOutput(i.shape,`float32`),c=n.dataIdMap.get(i.dataId),l;return c.dtype!==`float32`&&(l=Sb({backend:n,inputs:{x:i},attrs:{dtype:`float32`}}),c=n.dataIdMap.get(l.dataId)),Jw(n.dataIdMap.get(i.dataId).id,n.dataIdMap.get(a.dataId).id,n.dataIdMap.get(s.dataId).id,new Uint8Array(new Int32Array(i.shape).buffer),new Uint8Array(new Int32Array(a.shape).buffer),o),l!=null&&n.disposeData(l.dataId),s}var Zw={kernelName:kn,backendName:`wasm`,setupFunc:Yw,kernelFunc:Xw},Qw;function $w(e){Qw=e.wasm.cwrap(Nn,null,[`number`,`array`,`number`,`array`,`number`,`number`])}function eT(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{dims:a}=r,o=T(a,i.shape);if(i.shape.length===0)return hy({inputs:{x:i},backend:n});let s=n.makeOutput(i.shape,i.dtype),c=n.dataIdMap.get(i.dataId).id,l=n.dataIdMap.get(s.dataId).id,u=new Uint8Array(new Int32Array(o).buffer),d=new Uint8Array(new Int32Array(i.shape).buffer);Qw(c,u,o.length,d,i.shape.length,l);let f=nb({inputs:{x:s},attrs:{shape:i.shape},backend:n});return n.disposeData(s.dataId),f}var tT={kernelName:Nn,backendName:`wasm`,kernelFunc:eT,setupFunc:$w},nT;function rT(e){nT=e.wasm.cwrap(yr,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`,`number`])}function iT(e){let{inputs:t,backend:n,attrs:r}=e,{image:i}=t,{radians:a,fillValue:o,center:s}=r,c=n.makeOutput(i.shape,i.dtype),l=n.dataIdMap.get(i.dataId).id,u=n.dataIdMap.get(c.dataId).id,[d,f,p,m]=i.shape,[h,g]=G_(s,f,p),_=typeof o==`number`?[o,o,o,o===0?0:255]:[...o,255],v=new Uint8Array(new Int32Array(_).buffer);return nT(l,d,f,p,m,a,h,g,v,_.length,u),c}var aT={kernelName:yr,backendName:`wasm`,kernelFunc:iT,setupFunc:rT},oT=$(Pn),sT=$(Fn),cT;function lT(e){cT=e.wasm.cwrap(In,null,[`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`,`number`])}function uT(e){let{backend:t,inputs:n,attrs:r}=e,{indices:i,updates:a}=n,{shape:o}=r,s=t.makeOutput(o,a.dtype);if(g(o)===0)return s;let{sliceRank:c,numUpdates:l,sliceSize:u,strides:d,outputSize:f}=am(a,i,o),p=t.dataIdMap.get(i.dataId).id,m=t.dataIdMap.get(a.dataId).id,h=new Uint8Array(new Int32Array(d).buffer),_=t.dataIdMap.get(s.dataId).id;return cT(p,m,Q[a.dtype],c,l,u,h,f,_),s}var dT={kernelName:In,backendName:`wasm`,setupFunc:lT,kernelFunc:uT},fT;function pT(e){fT=e.wasm.cwrap(Rn,null,[`number`,`number`,`number`,`number`,`number`,`number`,`bool`,`number`])}function mT(e){let{inputs:t,backend:n,attrs:r}=e,{sortedSequence:i,values:a}=t,{side:o}=r;if(i.dtype!==a.dtype)throw Error(`SearchSorted error: sorted_sequence must have the same dtype as values. Got ${i.dtype} and ${a.dtype}`);let s=n.makeOutput(a.shape,`int32`);function c(e){return n.dataIdMap.get(e.dataId).id}return fT(c(i),c(a),i.shape[0],i.shape[1],a.shape[1],Q[i.dtype],o===`left`,c(s)),s}var hT={kernelName:Rn,backendName:`wasm`,setupFunc:pT,kernelFunc:mT},gT;function _T(e){gT=e.wasm.cwrap(`SelectV2`,null,[`number`,`number`,`number`,`number`,`number`])}function vT(e){let{inputs:t,backend:n}=e,{condition:r,t:i,e:a}=t,o=n.dataIdMap.get(r.dataId).id,s=n.dataIdMap.get(i.dataId).id,c=n.dataIdMap.get(a.dataId).id,l=n.makeOutput(i.shape,i.dtype),u=n.dataIdMap.get(l.dataId).id,d=r.shape.length,f=i.shape.length,p=d===0||d>1||f===1?1:g(i.shape.slice(1));return gT(o,s,c,p,u),l}var yT={kernelName:zn,backendName:`wasm`,kernelFunc:vT,setupFunc:_T},bT=$(Bn),xT;function ST(e){xT=e.wasm.cwrap(Wn,null,[`number`,`number`])}function CT(e){let{backend:t,inputs:{x:n}}=e,r=t.dataIdMap.get(n.dataId).id,i=t.makeOutput(n.shape,n.dtype),a=t.dataIdMap.get(i.dataId).id;return g(i.shape)===0||xT(r,a),i}var wT={kernelName:`Sigmoid`,backendName:`wasm`,setupFunc:ST,kernelFunc:CT},TT=$(Un),ET=$(`Sin`),DT=$(Hn),OT=$(Gn);function kT(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,{blockShape:a,paddings:o}=r,s=g(a),c=[[0,0]];c.push(...o);for(let e=1+a.length;e<i.shape.length;++e)c.push([0,0]);
20let l=xw.kernelFunc({inputs:{x:i},backend:n,attrs:{paddings:c,constantValue:0}}),u=K_(l.shape,a,s,!1),d=q_(u.length,a.length,!1),f=J_(l.shape,a,s,!1),p=nb({inputs:{x:l},backend:n,attrs:{shape:u}}),m=yy({inputs:{x:p},backend:n,attrs:{perm:d}}),h=nb({inputs:{x:m},backend:n,attrs:{shape:f}});return n.disposeData(l.dataId),n.disposeData(p.dataId),n.disposeData(m.dataId),h}var AT={kernelName:qn,backendName:`wasm`,kernelFunc:kT},jT;function MT(e){jT=e.wasm.cwrap(`SparseFillEmptyRows`,`number`,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function NT(e){let{backend:t,inputs:n}=e,{indices:r,values:i,denseShape:a,defaultValue:o}=n,s=r.shape[0],c=r.shape[1],l=t.readSync(a.dataId)[0],u=[s+l,c],d=t.dataIdMap.get(r.dataId).id,f=t.dataIdMap.get(i.dataId).id,p=t.dataIdMap.get(o.dataId).id,m=t.makeOutput(u,r.dtype),h=t.dataIdMap.get(m.dataId).id,g=t.makeOutput(u.slice(0,1),i.dtype),_=t.dataIdMap.get(g.dataId).id,v=t.makeOutput([l],`bool`),y=t.dataIdMap.get(v.dataId).id,b=t.makeOutput([s],r.dtype),x=t.dataIdMap.get(b.dataId).id,S=t.makeOutput([4],`int32`),C=t.dataIdMap.get(S.dataId).id,w=jT(d,f,Q[i.dtype],s,l,c,p,h,_,y,x,C),T=t.readSync(S.dataId),E;switch(T[0]){case 1:E=wv(T[1]);break;case 2:E=Tv(T[1],T[2]);break;case 3:E=Ev(T[1],T[2],T[3]);break;default:E=``}if(t.disposeData(S.dataId),E)throw t.disposeData(m.dataId),t.disposeData(g.dataId),t.disposeData(v.dataId),t.disposeData(b.dataId),Error(E);let D=m,O=g;return w!==u[0]&&(D=cb({inputs:{x:m},attrs:{begin:0,size:[w,c]},backend:t}),O=cb({inputs:{x:g},attrs:{begin:0,size:w},backend:t}),t.disposeData(m.dataId),t.disposeData(g.dataId)),[D,O,v,b]}var PT={kernelName:Xn,backendName:`wasm`,setupFunc:MT,kernelFunc:NT},FT;function IT(e){FT=e.wasm.cwrap(Zn,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function LT(e){let{backend:t,inputs:n}=e,{inputIndices:r,inputShape:i,newShape:a}=n;if(r.shape.length!==2)throw Error(`Input indices should be a matrix but received shape 21 ${r.shape}`);if(i.shape.length!==1)throw Error(`Input shape should be a vector but received shape 22 ${i.shape}`);if(a.shape.length!==1)throw Error(`Target shape should be a vector but received shape ${a.shape}`);let o=t.dataIdMap.get(r.dataId).id,s=t.dataIdMap.get(i.dataId).id,c=t.dataIdMap.get(a.dataId).id,l=r.shape[0],u=g(a.shape),d=t.makeOutput([l,u],r.dtype),f=t.dataIdMap.get(d.dataId).id,p=t.makeOutput([u],a.dtype),m=t.dataIdMap.get(p.dataId).id,h=t.makeOutput([3],`int32`),_=t.dataIdMap.get(h.dataId).id;FT(o,s,c,l,f,m,_);let v=t.readSync(h.dataId),y;switch(v[0]){case 0:y=Dv(v[1],v[2]);break;case 1:y=Ov(v[1],v[2]);break;case 2:y=kv();break;case 3:y=Av(Array.from(t.readSync(i.dataId)),Array.from(t.readSync(p.dataId)));break;case 4:y=jv(Array.from(t.readSync(i.dataId)),Array.from(t.readSync(p.dataId)));break;default:y=``}if(t.disposeData(h.dataId),y)throw t.disposeData(d.dataId),t.disposeData(p.dataId),Error(y);return[d,p]}var RT={kernelName:Zn,backendName:`wasm`,setupFunc:IT,kernelFunc:LT},zT;function BT(e){zT=e.wasm.cwrap(`SparseSegmentReduction`,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`])}function VT(e,t){let{backend:n,inputs:r}=e,{data:i,indices:a,segmentIds:o}=r,s=a.shape[0],c=n.readSync(o.dataId,s-1,s)[0],l=s>0?c+1:0;if(l<0)throw Error(Mv());let u=i.shape.slice();u[0]=l;let d=n.dataIdMap.get(i.dataId).id,f=n.dataIdMap.get(a.dataId).id,p=n.dataIdMap.get(o.dataId).id,m=n.makeOutput(u,i.dtype),h=n.dataIdMap.get(m.dataId).id,g=n.makeOutput([4],`int32`),_=n.dataIdMap.get(g.dataId).id;zT(d,Q[i.dtype],i.shape[0],f,p,h,_,t,0);let v=n.readSync(g.dataId),y;switch(v[0]){case 0:y=Mv();break;case 1:y=Nv();break;case 2:y=Pv(v[1],v[2]);break;case 3:y=Fv(v[1],v[2],v[3]);break;default:y=``}if(n.disposeData(g.dataId),y)throw n.disposeData(m.dataId),Error(y);return m}function HT(e){return VT(e,!0)}var UT={kernelName:Qn,backendName:`wasm`,setupFunc:BT,kernelFunc:HT};function WT(e){return VT(e,!1)}var GT={kernelName:$n,backendName:`wasm`,setupFunc:BT,kernelFunc:WT},KT;function qT(e){KT=e.wasm.cwrap(er,null,[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`,`number`])}function JT(e){let{backend:t,inputs:n,attrs:r}=e,{sparseIndices:i,sparseValues:a,defaultValue:o}=n,{outputShape:s}=r,c=t.makeOutput(s,o.dtype);if(g(s)===0)return c;let{sliceRank:l,numUpdates:u,sliceSize:d,strides:f,outputSize:p}=am(a,i,s),m=t.dataIdMap.get(i.dataId).id,h=t.dataIdMap.get(a.dataId).id,_=t.dataIdMap.get(o.dataId).id,v=new Uint8Array(new Int32Array(f).buffer),y=t.dataIdMap.get(c.dataId).id;return KT(m,h,a.shape.length,_,Q[o.dtype],l,u,d,v,p,y),c}var YT={kernelName:er,backendName:`wasm`,setupFunc:qT,kernelFunc:JT};function XT(e){let{inputs:t,attrs:n,backend:r}=e,{x:i}=t,{numOrSizeSplits:a,axis:o}=n,s=T(o,i.shape)[0],c=Cv(i,a,s),l=Array(i.shape.length).fill(0),u=i.shape.slice();return c.map(e=>{let t=[...u];t[s]=e;let n=cb({inputs:{x:i},attrs:{begin:l,size:t},backend:r});return l[s]+=e,n})}var ZT={kernelName:Jn,backendName:`wasm`,kernelFunc:XT},QT=$(Kn),$T=$(nr),eE=ly(tr,!0),tE;
22function nE(e){tE=e.wasm.cwrap(_r,null,[`number`,`number`,`number`,`number`])}function rE(e){let{backend:t,inputs:n,attrs:r}=e,{alpha:i}=r,{x:a}=n,o=t.dataIdMap.get(a.dataId).id,s=t.makeOutput(a.shape,a.dtype),c=t.dataIdMap.get(s.dataId).id;return tE(o,i,Q[a.dtype],c),s}var iE={kernelName:_r,backendName:`wasm`,setupFunc:nE,kernelFunc:rE},aE;function oE(e){aE=e.wasm.cwrap(ir,null,[`number`,`array`,`number`,`array`,`array`,`array`,`array`,`array`,`number`,`number`])}function sE(e){let{backend:t,inputs:n,attrs:r}=e,{x:i}=n,{begin:a,end:o,strides:s,beginMask:c,endMask:l,ellipsisMask:u,newAxisMask:d,shrinkAxisMask:f}=r,{finalShapeSparse:m,finalShape:h,isIdentity:g,sliceDim0:_,isSimpleSlice:v,begin:y,end:b,strides:x}=P_(i.shape,a,o,s,c,l,u,d,f),S;if(g)S=nb({inputs:{x:i},backend:t,attrs:{shape:h}});else if(_||v){p(i.shape.length>=1,()=>`Input must have rank at least 1, got: ${i.shape.length}`);let e=x_(y,b,x),n=cb({inputs:{x:i},backend:t,attrs:{begin:y,size:e}});S=nb({inputs:{x:n},backend:t,attrs:{shape:h}}),t.disposeData(n.dataId)}else{let e=t.makeOutput(m,`float32`),n=t.dataIdMap.get(i.dataId).id,r=new Uint8Array(new Int32Array(M(i.shape)).buffer),a=new Uint8Array(new Int32Array(y).buffer),o=new Uint8Array(new Int32Array(b).buffer),s=new Uint8Array(new Int32Array(x).buffer),c=new Uint8Array(new Int32Array(m).buffer),l=new Uint8Array(new Int32Array(M(m)).buffer),u=t.dataIdMap.get(e.dataId).id;aE(n,r,i.shape.length,a,o,s,c,l,m.length,u),S=nb({inputs:{x:e},backend:t,attrs:{shape:h}}),t.disposeData(e.dataId)}return S}var cE={kernelName:ir,backendName:`wasm`,setupFunc:oE,kernelFunc:sE};function lE(e){let{backend:t,inputs:n,attrs:r}=e,{data:i,dataSplits:a}=n,{separator:o,nGramWidths:s,leftPad:c,rightPad:l,padWidth:u,preserveShortSequences:d}=r,[f,p]=Xv(t.readSync(i.dataId),t.readSync(a.dataId),o,s,c,l,u,d),m=t.makeOutput([f.length],`string`),h=t.dataIdMap.get(m.dataId);h.stringBytes=f;let g=t.makeOutput(a.shape,`int32`);return t.typedArrayFromHeap(g).set(p),[m,g]}var uE={kernelName:ar,backendName:`wasm`,kernelFunc:lE};function dE(e){let{backend:t,inputs:n,attrs:r}=e,{input:i,delimiter:a}=n,{skipEmpty:o}=r,[s,c,l]=Qv(t.readSync(i.dataId),t.readSync(a.dataId)[0],o),u=c.length,d=t.makeOutput([u,2],`int32`);t.typedArrayFromHeap(d).set(s);let f=t.makeOutput([u],`string`),p=t.dataIdMap.get(f.dataId);p.stringBytes=c;let m=t.makeOutput([2],`int32`);return t.typedArrayFromHeap(m).set(l),[d,f,m]}var fE={kernelName:or,backendName:`wasm`,kernelFunc:dE};function pE(e){let{backend:t,inputs:n,attrs:r}=e,{input:i}=n,{numBuckets:a}=r,o=$v(t.readSync(i.dataId),a),s=t.makeOutput(i.shape,`int32`);return t.typedArrayFromHeap(s).set(o),s}var mE={kernelName:sr,backendName:`wasm`,kernelFunc:pE},hE=ly(`Sub`,!0),gE;function _E(e){gE=e.wasm.cwrap(`Sum`,null,[`number`,`number`,`number`,`number`])}function vE(e){let{backend:t,inputs:n,attrs:r}=e,{axis:i,keepDims:a}=r,{x:o}=n,s=t.dataIdMap.get(o.dataId).id,c=s,l=o,{transposed:u,axes:d,originalAxes:f,inputWasTransposed:p}=Cy(o,i,t),m=d;if(p){let e=t.dataIdMap.get(u.dataId).id;e!==s&&(l=u,c=e,m=Fl(m.length,l.shape.length))}Ml(`sum`,m,l.shape.length);let[h,_]=Al(l.shape,m),v=g(_),y=t.makeOutput(h,l.dtype);if(g(l.shape)!==0){let e=t.dataIdMap.get(y.dataId).id;gE(c,v,Q[y.dtype],e)}return p&&t.disposeData(u.dataId),a&&(y.shape=jl(y.shape,f)),y}var yE={kernelName:`Sum`,backendName:`wasm`,setupFunc:_E,kernelFunc:vE},bE=$(`Tan`),xE=$(cr),SE;function CE(e){SE=e.wasm.cwrap(Ln,null,[`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`,`number`,`number`])}function wE(e){let{backend:t,inputs:n,attrs:r}=e,{tensor:i,indices:a,updates:o}=n,{}=r,s=t.makeOutput(i.shape,i.dtype);if(g(i.shape)===0)return s;let{sliceRank:c,numUpdates:l,sliceSize:u,strides:d,outputSize:f}=am(o,a,i.shape),p=t.dataIdMap.get(a.dataId).id,m=t.dataIdMap.get(o.dataId).id,h=t.dataIdMap.get(i.dataId).id,_=new Uint8Array(new Int32Array(d).buffer),v=t.dataIdMap.get(s.dataId).id;return SE(p,m,Q[o.dtype],c,l,u,_,f,v,h),s}var TE={kernelName:Ln,backendName:`wasm`,setupFunc:CE,kernelFunc:wE},EE;function DE(e){EE=e.wasm.cwrap(lr,null,[`number`,`array`,`number`,`array`,`number`,`number`])}function OE(e){let{inputs:t,backend:n,attrs:r}=e,{x:i}=t,a=n.dataIdMap.get(i.dataId).id,{reps:o}=r,s=Array(i.shape.length);for(let e=0;e<s.length;e++)s[e]=i.shape[e]*o[e];let c=new Uint8Array(new Int32Array(i.shape).buffer),l=new Uint8Array(new Int32Array(s).buffer),u=n.makeOutput(s,i.dtype),d=n.dataIdMap.get(u.dataId).id;return EE(a,c,i.shape.length,l,s.length,Q[u.dtype],d),u}var kE={kernelName:lr,backendName:`wasm`,setupFunc:DE,kernelFunc:OE},AE;function jE(e){AE=e.wasm.cwrap(ur,null,[`number`,`array`,`number`,`number`,`number`,`bool`,`number`,`number`])}var ME={kernelName:ur,backendName:`wasm`,setupFunc:jE,kernelFunc:({input
22s:e,backend:t,attrs:n})=>{let{x:r}=e,{k:i,sorted:a}=n,o=t.dataIdMap.get(r.dataId).id,s=new Uint8Array(new Int32Array(r.shape).buffer),c=r.shape.slice();c[c.length-1]=i;let l=t.makeOutput(c,r.dtype),u=t.dataIdMap.get(l.dataId).id,d=t.makeOutput(c,`int32`),f=t.dataIdMap.get(d.dataId).id;return AE(o,s,r.shape.length,Q[r.dtype],i,a,u,f),[l,d]}},NE;function PE(e){NE=e.wasm.cwrap(dr,null,[`number`,`number`,`bool`,`number`,`number`,`number`,`number`,`number`,`number`,`array`,`number`,`array`,`number`,`number`,`number`,`number`,`number`])}function FE(e){let{backend:t,inputs:n,attrs:r}=e,{image:i,transforms:a}=n,{interpolation:o,fillMode:s,fillValue:c,outputShape:l}=r,[u,d,f,p]=i.shape,[m,h]=l??[d,f],g=[u,m,h,p],_=new Uint8Array(new Int32Array(M(i.shape)).buffer),v=new Uint8Array(new Int32Array(M(g)).buffer),y=t.makeOutput(g,i.dtype),b=t.dataIdMap.get(y.dataId).id,x=t.dataIdMap.get(i.dataId).id,S=t.dataIdMap.get(a.dataId).id,C=o===`nearest`?1:2,w;switch(s){case`constant`:w=1;break;case`reflect`:w=2;break;case`wrap`:w=3;break;case`nearest`:w=4;break;default:w=1}return NE(x,S,a.shape[0]>1,u,m,h,p,f,d,_,i.shape.length-1,v,g.length-1,C,w,c,b),y}var IE={kernelName:dr,backendName:`wasm`,setupFunc:PE,kernelFunc:FE};function LE(e){let{inputs:t,attrs:n,backend:r}=e,{axis:i}=n,{x:a}=t,{outputValues:o,outputShape:s,indices:c}=ey(r.readSync(a.dataId),i,a.shape,a.dtype);return[r.makeOutput(s,a.dtype,void 0,o),r.makeOutput([c.length],`int32`,void 0,c)]}var RE={kernelName:pr,backendName:`wasm`,kernelFunc:LE};function zE(e){let{inputs:t,backend:n,attrs:r}=e,{value:i}=t,{axis:a}=r;a<0&&(a+=i.shape.length);let o=i.shape[a],s=i.shape.length,c=Array(s-1),l=0;for(let e=0;e<s;e++)e!==a&&(c[l++]=i.shape[e]);let u=Array(o),d=Array(s).fill(0),f=i.shape.slice();f[a]=1;for(let e=0;e<u.length;e++)d[a]=e,u[e]=cb({inputs:{x:i},attrs:{begin:d,size:f},backend:n});return u.map(({dataId:e,dtype:t})=>({dataId:e,dtype:t,shape:c}))}var BE={kernelName:mr,backendName:`wasm`,kernelFunc:zE};function VE(e){let{inputs:{x:t},backend:n}=e,r=n.makeOutput(t.shape,t.dtype);return n.typedArrayFromHeap(r).fill(0),r}var HE=[ay,oy,sy,cy,uy,my,Dy,jy,Ny,Py,Fy,Iy,Ly,Ry,zy,Uy,tb,qy,Zy,sb,mb,vb,yb,xb,Cb,wb,Ob,Ab,Pb,Rb,Hb,Kb,Xb,Zb,Qb,rx,sx,dx,hx,yx,
22Cx,Dx,jx,Fx,zx,Bx,Wx,Gx,Kx,qx,Yx,Xx,Qx,nS,rS,iS,cS,fS,gS,bS,wS,TS,ES,gy,DS,OS,kS,NS,PS,FS,zS,VS,BS,HS,US,WS,GS,YS,$S,rC,iC,cC,fC,gC,bC,wC,OC,MC,NC,RC,KC,qC,JC,YC,ew,iw,cw,lw,pw,hw,_w,xw,Sw,Ew,Aw,jw,Mw,Nw,Pw,Fw,rb,zw,Uw,qw,Zw,tT,aT,oT,sT,dT,hT,yT,bT,wT,TT,ET,DT,fb,HC,OT,AT,PT,RT,UT,GT,YT,ZT,QT,$T,eE,iE,cE,uE,fE,mE,hE,yE,bE,xE,TE,kE,ME,IE,Sy,RE,BE,{kernelName:gr,backendName:`wasm`,kernelFunc:VE}];for(let e of HE)Ar(e);var UE=N();UE.registerFlag(`WASM_HAS_SIMD_SUPPORT`,async()=>{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,9,1,7,0,65,0,253,15,26,11]))}catch{return!1}}),UE.registerFlag(`WASM_HAS_MULTITHREAD_SUPPORT`,async()=>{if(UE.get(`IS_NODE`))return!1;try{return 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}});var WE=t(((e,t)=>{var n=(()=>{var e=typeof document<`u`&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<`u`&&(e||=__filename),(function(t){t||={};function n(){return j.buffer!=le&&he(j.buffer),ue}function r(){return j.buffer!=le&&he(j.buffer),de}function i(){return j.buffer!=le&&he(j.buffer),fe}function a(){return j.buffer!=le&&he(j.buffer),pe}function o(){return j.buffer!=le&&he(j.buffer),me}var s=t===void 0?{}:t,c,l;s.ready=new Promise(function(e,t){c=e,l=t});var u;typeof process<`u`&&process.listeners&&(u={uncaughtException:process.listeners(`uncaughtException`),unhandledRejection:process.listeners(`unhandledRejection`)});var d=Object.assign({},s),f=[],p=(e,t)=>{throw t},m=typeof window==`object`,h=typeof importScripts==`function`,g=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`,_=s.ENVIRONMENT_IS_PTHREAD||!1,v=``;function y(e){return s.locateFile?s.locateFile(e,v):v+e}var b,x,S;function C(e){e instanceof Ve||k(`exiting due to exception: `+e)}if(g){var w=Mo(),T=Mo();v=h?T.dirname(v)+`/`:__dirname+`/`,b=(e,t)=>(e=Fe(e)?new URL(e):T.normalize(e),w.readFileSync(e,t?void 0:`utf8`)),S=e=>{var t=b(e,!0);return t.buffer||(t=new Uint8Array(t)),t},x=(e,t,n)=>{e=Fe(e)?new URL(e):T.normalize(e),w.readFile(e,function(e,r){e?n(e):t(r.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),f=process.argv.slice(2),process.on(`uncaughtException`,function(e){if(!(e instanceof Ve))throw e}),process.on(`unhandledRejection`,function(e){throw e}),p=(e,t)=>{if(xe())throw process.exitCode=e,t;C(t),process.exit(e)},s.inspect=function(){return`[Emscripten Module object]`};let e;try{e=Mo()}catch(e){throw console.error(`The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?`),e}global.Worker=e.Worker}else(m||h)&&(h?v=self.location.href:typeof document<`u`&&document.currentScript&&(v=document.currentScript.src),e!==void 0&&e&&(v=e),v=v.indexOf(`blob:`)===0?``:v.substr(0,v.replace(/[?#].*/,``).lastIndexOf(`/`)+1),g||(b=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.send(null),t.responseText},h&&(S=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),x=(e,t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{if(r.status==200||r.status==0&&r.response){t(r.response);return}n()},r.onerror=n,r.send(null)}));g&&typeof performance>`u`&&(global.performance=Mo().performance);var E=console.log.bind(console),D=console.warn.bind(console);g&&(E=e=>w.writeSync(1,e+` 23`),D=e=>w.writeSync(2,e+` 24`));var O=s.print||E,k=s.printErr||D;Object.assign(s,d),d=null,s.arguments&&(f=s.arguments),s.thisProgram&&s.thisProgram,s.quit&&(p=s.quit),Atomics.load,Atomics.store,Atomics.compareExchange;var A;s.wasmBinary&&(A=s.wasmBinary);var ee=s.noExitRuntime||!0;typeof WebAssembly!=`object`&&Me(`no native wasm support detected`);var j,te,ne=!1,re;function ie(e,t){e||Me(t)}var ae=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function oe(e,t,n){t>>>=0;for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&ae)return ae.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128)){a+=String.fromCharCode(o);continue}var s=e[t++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|s);continue}var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a}function se(e,t){return e>>>=0,e?oe(r(),e,t):``}function M(e,t,n,r){if(n>>>=0,!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343){var c=e.charCodeAt(++o);s=65536+((s&1023)<<10)|c&1023}if(s<=127){if(n>=a)break;t[n++>>>0]=s}else if(s<=2047){if(n+1>=a)break;t[n++>>>0]=192|s>>6,t[n++>>>0]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++>>>0]=224|s>>12,t[n++>>>0]=128|s>>6&63,t[n++>>>0]=128|s&63}else{if(n+3>=a)break;t[n++>>>0]=240|s>>18,t[n++>>>0]=128|s>>12&63,t[n++>>>0]=128|s>>6&63,t[n++>>>0]=128|s&63}}return t[n>>>0]=0,n-i}function ce(e,t,n){return M(e,r(),t,n)}var le,ue,de,fe,pe,me;_&&(le=s.buffer);function he(e){le=e,s.HEAP8=ue=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAP32=fe=new Int32Array(e),s.HEAPU8=de=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAPU32=pe=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=me=new Float64Array(e)}var ge=s.INITIAL_MEMORY||16777216;if(_)j=s.wasmMemory,le=s.buffer;else if(s.wasmMemory)j=s.wasmMemory;else if(j=new WebAssembly.Memory({initial:ge/65536,maximum:65536,shared:!0}),!(j.buffer instanceof SharedArrayBuffer))throw k(`requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may
24need to set a flag`),g&&k(`(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)`),Error(`bad memory`);j&&(le=j.buffer),ge=le.byteLength,he(le);var _e,ve=[],ye=[],be=[];function xe(){return ee}function Se(){if(s.preRun)for(typeof s.preRun==`function`&&(s.preRun=[s.preRun]);s.preRun.length;)we(s.preRun.shift());Ze(ve)}function N(){_||Ze(ye)}function Ce(){if(!_){if(s.postRun)for(typeof s.postRun==`function`&&(s.postRun=[s.postRun]);s.postRun.length;)Ee(s.postRun.shift());Ze(be)}}function we(e){ve.unshift(e)}function Te(e){ye.unshift(e)}function Ee(e){be.unshift(e)}var De=0,Oe=null,ke=null;function Ae(e){De++,s.monitorRunDependencies&&s.monitorRunDependencies(De)}function je(e){if(De--,s.monitorRunDependencies&&s.monitorRunDependencies(De),De==0&&(Oe!==null&&(clearInterval(Oe),Oe=null),ke)){var t=ke;ke=null,t()}}function Me(e){s.onAbort&&s.onAbort(e),e=`Aborted(`+e+`)`,k(e),ne=!0,re=1,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw l(t),t}var Ne=`data:application/octet-stream;base64,`;function Pe(e){return e.startsWith(Ne)}function Fe(e){return e.startsWith(`file://`)}var Ie=`tfjs-backend-wasm-threaded-simd.wasm`;Pe(Ie)||(Ie=y(Ie));function Le(e){try{if(e==Ie&&A)return new Uint8Array(A);if(S)return S(e);throw`both async and sync fetching of the wasm failed`}catch(e){Me(e)}}function Re(){if(!A&&(m||h)){if(typeof fetch==`function`&&!Fe(Ie))return fetch(Ie,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+Ie+`'`;return e.arrayBuffer()}).catch(function(){return Le(Ie)});if(x)return new Promise(function(e,t){x(Ie,function(t){e(new Uint8Array(t))},t)})}return Promise.resolve().then(function(){return Le(Ie)})}function ze(){var e={env:Bt,wasi_snapshot_preview1:Bt};function t(e,t){if(s.asm=e.exports,rt(s.asm._emscripten_tls_init),_e=s.asm.__indirect_function_table,Te(s.asm.__wasm_call_ctors),te=t,!_){var n=P.unusedWorkers.length;P.unusedWorkers.forEach(function(e){P.loadWasmModuleToWorker(e,function(){--n||je(`wasm-instantiate`)})})}}_||Ae(`wasm-instantiate`);function n(e){t(e.instance,e.module)}function r(t){return Re().then(function(t){return WebAssembly.instantiate(t,e)}).then(function(e){return e}).then(t,function(e){k(`failed to asynchronously prepare wasm: `+e),Me(e)})}function i(){return!A&&typeof WebAssembly.instantiateStreaming==`function`&&!Pe(Ie)&&!Fe(Ie)&&!g&&typeof fetch==`function`?fetch(Ie,{credentials:`same-origin`}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(n,function(e){return k(`wasm streaming compile failed: `+e),k(`falling back to ArrayBuffer instantiation`),r(n)})}):r(n)}if(s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){k(`Module.instantiateWasm callback failed with error: `+e),l(e)}return i().catch(l),{}}var Be={};function Ve(e){this.name=`ExitStatus`,this.message=`Program terminated with exit(`+e+`)`,this.status=e}function He(e){var t=P.pthreads[e];delete P.pthreads[e],t.terminate(),Pi(e),P.runningWorkers.splice(P.runningWorkers.indexOf(t),1),t.pthread_ptr=0}function Ue(e){P.pthreads[e].postMessage({cmd:`cancel`})}function We(e){var t=P.pthreads[e];ie(t),P.returnWorkerToPool(t)}function Ge(e){var t=P.getNewWorker();if(!t)return 6;P.runningWorkers.push(t),P.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:`run`,start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.runPthread=()=>{g&&t.ref(),t.postMessage(n,e.transferList),delete t.runPthread},t.loaded&&t.runPthread(),0}var Ke={varargs:void 0,get:function(){return Ke.varargs+=4,i()[Ke.varargs-4>>>2]},getStr:function(e){return se(e)}};function qe(e){if(_)return wt(1,1,e);re=e,xe()||(P.terminateAllThreads(),s.onExit&&s.onExit(e),ne=!0),p(e,new Ve(e))}function Je(e,t){if(re=e,!t&&_)throw $e(e),`unwind`;qe(e)}var Ye=Je;function Xe(e){if(e instanceof Ve||e==`unwind`)return re;p(1,e)}var P={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){_?P.initWorker():P.initMainThread()},initMainThread:function(){for(var e=8;e--;)P.allocateUnusedWorker()},initWorker:function(){ee=!1},setExitStatus:function(e){re=e},terminateAllThreads:function(){for(var e of Object.values(P.pthreads))P.returnWorkerToPool(e);for(var e of P.unusedWorkers)e.terminate();P.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete P.pthreads[t],P.unusedWorkers.push(e),P.runningWorkers.splice(P.runningWorkers.indexOf(e),1),e.pthread_ptr=0,g&&e.unref(),Pi(t)},receiveObjectTransfer:function(e){}
24,threadInitTLS:function(){P.tlsInitFunctions.forEach(e=>e())},loadWasmModuleToWorker:function(t,n){t.onmessage=e=>{var r=e.data,i=r.cmd;if(t.pthread_ptr&&(P.currentProxiedOperationCallerThread=t.pthread_ptr),r.targetThread&&r.targetThread!=Ti()){var a=P.pthreads[r.targetThread];a?a.postMessage(r,r.transferList):k(`Internal error! Worker sent a message "`+i+`" to target pthread `+r.targetThread+`, but that thread no longer exists!`),P.currentProxiedOperationCallerThread=void 0;return}i===`processProxyingQueue`?dt(r.queue):i===`spawnThread`?Ge(r):i===`cleanupThread`?We(r.thread):i===`killThread`?He(r.thread):i===`cancelThread`?Ue(r.thread):i===`loaded`?(t.loaded=!0,g&&t.unref(),n&&n(t),t.runPthread&&t.runPthread()):i===`print`?O(`Thread `+r.threadId+`: `+r.text):i===`printErr`?k(`Thread `+r.threadId+`: `+r.text):i===`alert`?alert(`Thread `+r.threadId+`: `+r.text):r.target===`setimmediate`?t.postMessage(r):i===`callHandler`?s[r.handler](...r.args):i&&k(`worker sent an unknown command `+i),P.currentProxiedOperationCallerThread=void 0},t.onerror=e=>{throw k(`worker sent an error! `+e.filename+`:`+e.lineno+`: `+e.message),e},g&&(t.on(`message`,function(e){t.onmessage({data:e})}),t.on(`error`,function(e){t.onerror(e)}),t.on(`detachedExit`,function(){}));var r=[];for(var i of[`onExit`,`onAbort`,`print`,`printErr`])s.hasOwnProperty(i)&&r.push(i);t.postMessage({cmd:`load`,handlers:r,urlOrBlob:s.mainScriptUrlOrBlob||e,wasmMemory:j,wasmModule:te})},allocateUnusedWorker:function(){var e,t=y(`tfjs-backend-wasm-threaded-simd.worker.js`);e=new Worker(t),P.unusedWorkers.push(e)},getNewWorker:function(){return P.unusedWorkers.length==0&&(P.allocateUnusedWorker(),P.loadWasmModuleToWorker(P.unusedWorkers[0])),P.unusedWorkers.pop()}};s.PThread=P;function Ze(e){for(;e.length>0;)e.shift()(s)}function Qe(){var e=Ti(),t=i()[e+52>>>2],n=t-i()[e+56>>>2];Ii(t,n),I(t)}s.establishStackSpace=Qe;function $e(e){if(_)return wt(2,0,e);try{Ye(e)}catch(e){Xe(e)}}var et=[];function tt(e){var t=et[e];return t||(e>=et.length&&(et.length=e+1),et[e]=t=_e.get(e)),t}function nt(e,t){var n=tt(e)(t);xe()?P.setExitStatus(n):Fi(n)}s.invokeEntryPoint=nt;function rt(e){P.tlsInitFunctions.push(e)}function it(e){Di(e,!h,1,!m),P.threadInitTLS()}function at(e){_?postMessage({cmd:`cleanupThread`,thread:e}):We(e)}function ot(e,t,n,r){return _?wt(3,1,e,t,n,r):st(e,t,n,r)}function st(e,t,n,r){if(typeof SharedArrayBuffer>`u`)return k(`Current environment does not support SharedArrayBuffer, pthreads are not available!`),6;var i=[];if(_&&i.length===0)return ot(e,t,n,r);var a={startRoutine:n,pthread_ptr:e,arg:r,transferList:i};return _?(a.cmd=`spawnThread`,postMessage(a,i),0):Ge(a)}function ct(){return 65536}var lt=!0;function ut(){return lt}function dt(e){Atomics.store(i(),e>>2,1),Ti()&&Ni(e),Atomics.compareExchange(i(),e>>2,1,0)}s.executeNotifiedProxyingQueue=dt;function ft(e,t,n,r){if(e==t)setTimeout(()=>dt(r));else if(_)postMessage({targetThread:e,cmd:`processProxyingQueue`,queue:r});else{var i=P.pthreads[e];if(!i)return;i.postMessage({cmd:`processProxyingQueue`,queue:r})}return 1}function pt(e,t,n){return-1}function mt(){Me(``)}function ht(e){ht.shown||={},ht.shown[e]||(ht.shown[e]=1,g&&(e=`warning: `+e),k(e))}function gt(){g||h||ht(`Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread`)}function _t(){return Date.now()}function vt(){return 4294901760}function yt(){return vt()}var bt=g?()=>{var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:()=>performance.timeOrigin+performance.now();function xt(e,t,n){r().copyWithin(e>>>0,t>>>0,t+n>>>0)}function St(){return g?Mo().cpus().length:navigator.hardwareConcurrency}function Ct(e){var t=Li(),n=e();return I(t),n}function wt(e,t){var n=arguments.length-2,r=arguments;return Ct(()=>{for(var i=n,a=Ri(i*8),s=a>>3,c=0;c<n;c++){var l=r[2+c];o()[s+c>>>0]=l}return ji(e,i,a,t)})}var Tt=[];function Et(e,t,n){Tt.length=t;for(var r=n>>3,i=0;i<t;i++)Tt[i]=o()[r+i>>>0];return(e<0?Be[-e-1]:zt[e]).apply(null,Tt)}function Dt(e){try{return j.grow(e-le.byteLength+65535>>>16),he(j.buffer),1}catch{}}function Ot(e){var t=r().length;if(e>>>=0,e<=t)return!1;var n=vt();if(e>n)return!1;let i=(e,t)=>e+(t-e%t)%t;for(var a=1;a<=4;a*=2){var o=t*(1+.2/a);if(o=Math.min(o,e+100663296),Dt(Math.min(n,i(Math.max(e,o),65536))))return!0}return!1}function kt(){throw`unwind`}function At(e){return _?wt(4,1,e):52}function jt(e,t,n,r,i){return _?wt(5,1,e,t,n,r,i):70}var Mt=[null,[],[]];function Nt(e,t){var n=Mt[e];t===0||t===10?((e===1?O:k)(oe(n,0)),n.length=0):n.push(t)}function Pt(e,t,n,i){if(_)return wt(6,1,e,t,n,i);for(var o=0,s=0;s<n;s++){var c=a()[t>>>2],l=a()[t+4>>>2];t+=8;for(var u=0;u<l;u++)Nt(e,r()[c+u>>>0]);o+=l}return a()[i>>>2]=o,0}function Ft(e){return s[`_`+e]}function It(e,t){n().set(e,t>>>0)}function Lt(e,t,n,r,i){var a={string:e=>{var t=0;if(e!=null&&e!==0){var n=(e.length<<2)+1;t=Ri(n),ce(e,t,n)}return t},array:e=>{var t=Ri(e.length);return It(e,t),t}};
24function o(e){return t===`string`?se(e):t===`boolean`?!!e:e}var s=Ft(e),c=[],l=0;if(r)for(var u=0;u<r.length;u++){var d=a[n[u]];d?(l===0&&(l=Li()),c[u]=d(r[u])):c[u]=r[u]}var f=s.apply(null,c);function p(e){return l!==0&&I(l),o(e)}return f=p(f),f}function Rt(e,t,n,r){n||=[];var i=n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?Ft(e):function(){return Lt(e,t,n,arguments,r)}}P.init();var zt=[null,qe,$e,ot,At,jt,Pt],Bt={__emscripten_init_main_thread_js:it,__emscripten_thread_cleanup:at,__pthread_create_js:st,_emscripten_default_pthread_stack_size:ct,_emscripten_get_now_is_monotonic:ut,_emscripten_notify_task_queue:ft,_emscripten_set_offscreencanvas_size:pt,abort:mt,emscripten_check_blocking_allowed:gt,emscripten_date_now:_t,emscripten_get_heap_max:yt,emscripten_get_now:bt,emscripten_memcpy_big:xt,emscripten_num_logical_cores:St,emscripten_receive_on_main_thread_js:Et,emscripten_resize_heap:Ot,emscripten_unwind_to_js_event_loop:kt,exit:Ye,fd_close:At,fd_seek:jt,fd_write:Pt,memory:j||s.wasmMemory};ze();var Vt=s.___wasm_call_ctors=function(){return(Vt=s.___wasm_call_ctors=s.asm.__wasm_call_ctors).apply(null,arguments)},Ht=s._init=function(){return(Ht=s._init=s.asm.init).apply(null,arguments)},Ut=s._init_with_threads_count=function(){return(Ut=s._init_with_threads_count=s.asm.init_with_threads_count).apply(null,arguments)},Wt=s._get_threads_count=function(){return(Wt=s._get_threads_count=s.asm.get_threads_count).apply(null,arguments)},Gt=s._register_tensor=function(){return(Gt=s._register_tensor=s.asm.register_tensor).apply(null,arguments)},Kt=s._dispose_data=function(){return(Kt=s._dispose_data=s.asm.dispose_data).apply(null,arguments)},qt=s._dispose=function(){return(qt=s._dispose=s.asm.dispose).apply(null,arguments)},Jt=s._Abs=function(){return(Jt=s._Abs=s.asm.Abs).apply(null,arguments)},Yt=s._Acos=function(){return(Yt=s._Acos=s.asm.Acos).apply(null,arguments)},Xt=s._Acosh=function(){return(Xt=s._Acosh=s.asm.Acosh).apply(null,arguments)},Zt=s._Add=function(){return(Zt=s._Add=s.asm.Add).apply(null,arguments)},Qt=s._AddN=function(){return(Qt=s._AddN=s.asm.AddN).apply(null,arguments)},$t=s._All=function(){return($t=s._All=s.asm.All).apply(null,arguments)},en=s._Any=function(){return(en=s._Any=s.asm.Any).apply(null,arguments)},tn=s._ArgMax=function(){return(tn=s._ArgMax=s.asm.ArgMax).apply(null,arguments)},nn=s._ArgMin=function(){return(nn=s._ArgMin=s.asm.ArgMin).apply(null,arguments)},rn=s._Asin=function(){return(rn=s._Asin=s.asm.Asin).apply(null,arguments)},an=s._Asinh=function(){return(an=s._Asinh=s.asm.Asinh).apply(null,arguments)},on=s._Atan=function(){return(on=s._Atan=s.asm.Atan).apply(null,arguments)},sn=s._Atan2=function(){return(sn=s._Atan2=s.asm.Atan2).apply(null,arguments)},cn=s._Atanh=function(){return(cn=s._Atanh=s.asm.Atanh).apply(null,arguments)},ln=s._AvgPool=function(){return(ln=s._AvgPool=s.asm.AvgPool).apply(null,arguments)},un=s._AvgPool3D=function(){return(un=s._AvgPool3D=s.asm.AvgPool3D).apply(null,arguments)},dn=s._AvgPool3DGrad=function(){return(dn=s._AvgPool3DGrad=s.asm.AvgPool3DGrad).apply(null,arguments)},fn=s._AvgPoolGrad=function(){return(fn=s._AvgPoolGrad=s.asm.AvgPoolGrad).apply(null,arguments)},pn=s._BatchMatMul=function(){return(pn=s._BatchMatMul=s.asm.BatchMatMul).apply(null,arguments)},mn=s._Bincount=function(){return(mn=s._Bincount=s.asm.Bincount).apply(null,arguments)},hn=s._BitwiseAnd=function(){return(hn=s._BitwiseAnd=s.asm.BitwiseAnd).apply(null,arguments)},gn=s._Ceil=function(){return(gn=s._Ceil=s.asm.Ceil).apply(null,arguments)},_n=s._ClipByValue=function(){return(_n=s._ClipByValue=s.asm.ClipByValue).apply(null,arguments)},vn=s._Conv2D=function(){return(vn=s._Conv2D=s.asm.Conv2D).apply(null,arguments)},yn=s._Conv2DBackpropInput=function(){return(yn=s._Conv2DBackpropInput=s.asm.Conv2DBackpropInput).apply(null,arguments)},bn=s._Conv3D=function(){return(bn=s._Conv3D=s.asm.Conv3D).apply(null,arguments)},xn=s._Conv3DBackpropFilterV2=function(){return(xn=s._Conv3DBackpropFilterV2=s.asm.Conv3DBackpropFilterV2).apply(null,arguments)},Sn=s._Conv3DBackpropInputV2=function(){return(Sn=s._Conv3DBackpropInputV2=s.asm.Conv3DBackpropInputV2).apply(null,arguments)},Cn=s._Cos=function(){return(Cn=s._Cos=s.asm.Cos).apply(null,arguments)}
24,wn=s._Cosh=function(){return(wn=s._Cosh=s.asm.Cosh).apply(null,arguments)},Tn=s._CropAndResize=function(){return(Tn=s._CropAndResize=s.asm.CropAndResize).apply(null,arguments)},En=s._Cumprod=function(){return(En=s._Cumprod=s.asm.Cumprod).apply(null,arguments)},Dn=s._Cumsum=function(){return(Dn=s._Cumsum=s.asm.Cumsum).apply(null,arguments)},On=s._DenseBincount=function(){return(On=s._DenseBincount=s.asm.DenseBincount).apply(null,arguments)},kn=s._DepthToSpace=function(){return(kn=s._DepthToSpace=s.asm.DepthToSpace).apply(null,arguments)},An=s._DepthwiseConv2dNative=function(){return(An=s._DepthwiseConv2dNative=s.asm.DepthwiseConv2dNative).apply(null,arguments)},jn=s._Diag=function(){return(jn=s._Diag=s.asm.Diag).apply(null,arguments)},Mn=s._Dilation2D=function(){return(Mn=s._Dilation2D=s.asm.Dilation2D).apply(null,arguments)},Nn=s._Dilation2DBackpropFilter=function(){return(Nn=s._Dilation2DBackpropFilter=s.asm.Dilation2DBackpropFilter).apply(null,arguments)},Pn=s._Dilation2DBackpropInput=function(){return(Pn=s._Dilation2DBackpropInput=s.asm.Dilation2DBackpropInput).apply(null,arguments)},Fn=s._Elu=function(){return(Fn=s._Elu=s.asm.Elu).apply(null,arguments)},In=s._EluGrad=function(){return(In=s._EluGrad=s.asm.EluGrad).apply(null,arguments)},Ln=s._Equal=function(){return(Ln=s._Equal=s.asm.Equal).apply(null,arguments)},Rn=s._Erf=function(){return(Rn=s._Erf=s.asm.Erf).apply(null,arguments)},zn=s._Exp=function(){return(zn=s._Exp=s.asm.Exp).apply(null,arguments)},Bn=s._Expm1=function(){return(Bn=s._Expm1=s.asm.Expm1).apply(null,arguments)},Vn=s._FlipLeftRight=function(){return(Vn=s._FlipLeftRight=s.asm.FlipLeftRight).apply(null,arguments)},Hn=s._Floor=function(){return(Hn=s._Floor=s.asm.Floor).apply(null,arguments)},Un=s._FloorDiv=function(){return(Un=s._FloorDiv=s.asm.FloorDiv).apply(null,arguments)},Wn=s._FusedBatchNorm=function(){return(Wn=s._FusedBatchNorm=s.asm.FusedBatchNorm).apply(null,arguments)},Gn=s._FusedConv2D=function(){return(Gn=s._FusedConv2D=s.asm.FusedConv2D).apply(null,arguments)},Kn=s._FusedDepthwiseConv2D=function(){return(Kn=s._FusedDepthwiseConv2D=s.asm.FusedDepthwiseConv2D).apply(null,arguments)},qn=s._Gather=function(){return(qn=s._Gather=s.asm.Gather).apply(null,arguments)},Jn=s._GatherNd=function(){return(Jn=s._GatherNd=s.asm.GatherNd).apply(null,arguments)},Yn=s._Greater=function(){return(Yn=s._Greater=s.asm.Greater).apply(null,arguments)},Xn=s._GreaterEqual=function(){return(Xn=s._GreaterEqual=s.asm.GreaterEqual).apply(null,arguments)},Zn=s._IsFinite=function(){return(Zn=s._IsFinite=s.asm.IsFinite).apply(null,arguments)},Qn=s._IsInf=function(){return(Qn=s._IsInf=s.asm.IsInf).apply(null,arguments)},$n=s._IsNan=function(){return($n=s._IsNan=s.asm.IsNan).apply(null,arguments)},er=s._LRN=function(){return(er=s._LRN=s.asm.LRN).apply(null,arguments)},tr=s._LRNGrad=function(){return(tr=s._LRNGrad=s.asm.LRNGrad).apply(null,arguments)},nr=s._LeakyRelu=function(){return(nr=s._LeakyRelu=s.asm.LeakyRelu).apply(null,arguments)},rr=s._Less=function(){return(rr=s._Less=s.asm.Less).apply(null,arguments)},ir=s._LessEqual=function(){return(ir=s._LessEqual=s.asm.LessEqual).apply(null,arguments)},ar=s._LinSpace=function(){return(ar=s._LinSpace=s.asm.LinSpace).apply(null,arguments)},or=s._Log=function(){return(or=s._Log=s.asm.Log).apply(null,arguments)},sr=s._Log1p=function(){return(sr=s._Log1p=s.asm.Log1p).apply(null,arguments)},cr=s._LogicalAnd=function(){return(cr=s._LogicalAnd=s.asm.LogicalAnd).apply(null,arguments)},lr=s._LogicalNot=function(){return(lr=s._LogicalNot=s.asm.LogicalNot).apply(null,arguments)},ur=s._LogicalOr=function(){return(ur=s._LogicalOr=s.asm.LogicalOr).apply(null,arguments)},dr=s._LogicalXor=function(){return(dr=s._LogicalXor=s.asm.LogicalXor).apply(null,arguments)},fr=s._Max=function(){return(fr=s._Max=s.asm.Max).apply(null,arguments)},pr=s._MaxPool=function(){return(pr=s._MaxPool=s.asm.MaxPool).apply(null,arguments)},mr=s._MaxPool3D=function(){return(mr=s._MaxPool3D=s.asm.MaxPool3D).apply(null,arguments)},hr=s._MaxPool3DGrad=function(){return(hr=s._MaxPool3DGrad=s.asm.MaxPool3DGrad).apply(null,arguments)},gr=s._MaxPoolGrad=function(){return(gr=s._MaxPoolGrad=s.asm.MaxPoolGrad).apply(null,arguments)},_r=s._MaxPoolWithArgmax=function(){return(_r=s._MaxPoolWithArgmax=s.asm.MaxPoolWithArgmax).apply(null,arguments)},vr=s._Maximum=function(){return(vr=s._Maximum=s.asm.Maximum).apply(null,arguments)},yr=s._Mean=function(){return(yr=s._Mean=s.asm.Mean).apply(null,arguments)},br=s._Min=function(){return(br=s._Min=s.asm.Min).apply(null,arguments)},xr=s._Minimum=function(){return(xr=s._Minimum=s.asm.Minimum).apply(null,arguments)},Sr=s._MirrorPad=function(){return(Sr=s._MirrorPad=s.asm.MirrorPad).apply(null,arguments)},Cr=s._Mod=function(){return(Cr=s._Mod=s.asm.Mod).apply(null,arguments)},wr=s._Multinomial=function(){return(wr=s._Multinomial=s.asm.Multinomial).apply(null,arguments)},Tr=s._Multiply=function(){return(Tr=s._Multiply=s.asm.Multiply).apply(null,arguments)},Er=s._Neg=function(){return(Er=s._Neg=s.asm.Neg).apply(null,arguments)},Dr=s._NonMaxSuppressionV3=function(){return(Dr=s._NonMaxSuppressionV3=s.asm.NonMaxSuppressionV3).apply(null,arguments)},Or=s._NonMaxSuppressionV4=function(){return(Or=s._NonMaxSuppressionV4=s.asm.NonMaxSuppressionV4).apply(null,arguments)},kr=s._NonMaxSuppressionV5=function(){return(kr=s._NonMaxSuppressionV5=s.asm.NonMaxSuppressionV5).apply(null,arguments)},Ar=s._NotEqual=function(){return(Ar=s._NotEqual=s.asm.NotEqual).apply(null,arguments)},jr=s._OneHot=function(){return(jr=s._OneHot=s.asm.OneHot).apply(null,arguments)},Mr=s._PadV2=function(){return(Mr=s._PadV2=s.asm.PadV2).apply(null,arguments)},Nr=s._Pow=function(){return(Nr=s._Pow=s.asm.Pow).apply(null,arguments)},Pr=s._Prelu=function(){return(Pr=s._Prelu=s.asm.Prelu).apply(null,arguments)},Fr=s._Prod=function(){return(Fr=s._Prod=s.asm.Prod).apply(null,arguments)},Ir=s._RealDiv=function(){return(Ir=s._RealDiv=s.asm.RealDiv).apply(null,arguments)},Lr=s._Reciprocal=function(){return(Lr=s._Reciprocal=s.asm.Reciprocal).apply(null,arguments)},Rr=s._Relu=function(){return(Rr=s._Relu=s.asm.Relu).apply(null,arguments)},zr=s._Relu6=function(){return(zr=s._Relu6=s.asm.Relu6).apply(null,arguments)},Br=s._ResizeBilinear=function(){return(Br=s._ResizeBilinear=s.asm.ResizeBilinear).apply(null,arguments)},Vr=s._ResizeBilinearGrad=function(){return(Vr=s._ResizeBilinearGrad=s.asm.ResizeBilinearGrad).apply(null,arguments)},F=s._ResizeNearestNeighbor=function(){return(F=s._ResizeNearestNeighbor=s.asm.ResizeNearestNeighbor).apply(null,arguments)},Hr=s._ResizeNearestNeighborGrad=function(){return(Hr=s._ResizeNearestNeighborGrad=s.asm.ResizeNearestNeighborGrad).apply(null,arguments)}
vendor: 7,572 bytes, line 24
24,Ur=s._Reverse=function(){return(Ur=s._Reverse=s.asm.Reverse).apply(null,arguments)},Wr=s._RotateWithOffset=function(){return(Wr=s._RotateWithOffset=s.asm.RotateWithOffset).apply(null,arguments)},Gr=s._Round=function(){return(Gr=s._Round=s.asm.Round).apply(null,arguments)},Kr=s._Rsqrt=function(){return(Kr=s._Rsqrt=s.asm.Rsqrt).apply(null,arguments)},qr=s._ScatterNd=function(){return(qr=s._ScatterNd=s.asm.ScatterNd).apply(null,arguments)},Jr=s._SearchSorted=function(){return(Jr=s._SearchSorted=s.asm.SearchSorted).apply(null,arguments)},Yr=s._SelectV2=function(){return(Yr=s._SelectV2=s.asm.SelectV2).apply(null,arguments)},Xr=s._Selu=function(){return(Xr=s._Selu=s.asm.Selu).apply(null,arguments)},Zr=s._Sigmoid=function(){return(Zr=s._Sigmoid=s.asm.Sigmoid).apply(null,arguments)},Qr=s._Sign=function(){return(Qr=s._Sign=s.asm.Sign).apply(null,arguments)},$r=s._Sin=function(){return($r=s._Sin=s.asm.Sin).apply(null,arguments)},ei=s._Sinh=function(){return(ei=s._Sinh=s.asm.Sinh).apply(null,arguments)},ti=s._Softmax=function(){return(ti=s._Softmax=s.asm.Softmax).apply(null,arguments)},ni=s._Softplus=function(){return(ni=s._Softplus=s.asm.Softplus).apply(null,arguments)},ri=s._SparseFillEmptyRows=function(){return(ri=s._SparseFillEmptyRows=s.asm.SparseFillEmptyRows).apply(null,arguments)},ii=s._SparseReshape=function(){return(ii=s._SparseReshape=s.asm.SparseReshape).apply(null,arguments)},ai=s._SparseSegmentReduction=function(){return(ai=s._SparseSegmentReduction=s.asm.SparseSegmentReduction).apply(null,arguments)},oi=s._SparseToDense=function(){return(oi=s._SparseToDense=s.asm.SparseToDense).apply(null,arguments)},si=s._Sqrt=function(){return(si=s._Sqrt=s.asm.Sqrt).apply(null,arguments)},ci=s._Square=function(){return(ci=s._Square=s.asm.Square).apply(null,arguments)},li=s._SquaredDifference=function(){return(li=s._SquaredDifference=s.asm.SquaredDifference).apply(null,arguments)},ui=s._Step=function(){return(ui=s._Step=s.asm.Step).apply(null,arguments)},di=s._StridedSlice=function(){return(di=s._StridedSlice=s.asm.StridedSlice).apply(null,arguments)},fi=s._Sub=function(){return(fi=s._Sub=s.asm.Sub).apply(null,arguments)},pi=s._Sum=function(){return(pi=s._Sum=s.asm.Sum).apply(null,arguments)},mi=s._Tan=function(){return(mi=s._Tan=s.asm.Tan).apply(null,arguments)},hi=s._Tanh=function(){return(hi=s._Tanh=s.asm.Tanh).apply(null,arguments)},gi=s._TensorScatterUpdate=function(){return(gi=s._TensorScatterUpdate=s.asm.TensorScatterUpdate).apply(null,arguments)},_i=s._Tile=function(){return(_i=s._Tile=s.asm.Tile).apply(null,arguments)},vi=s._TopK=function(){return(vi=s._TopK=s.asm.TopK).apply(null,arguments)},yi=s._Transform=function(){return(yi=s._Transform=s.asm.Transform).apply(null,arguments)},bi=s._Transpose=function(){return(bi=s._Transpose=s.asm.Transpose).apply(null,arguments)},xi=s.__FusedMatMul=function(){return(xi=s.__FusedMatMul=s.asm._FusedMatMul).apply(null,arguments)},Si=s._malloc=function(){return(Si=s._malloc=s.asm.malloc).apply(null,arguments)},Ci=s._free=function(){return(Ci=s._free=s.asm.free).apply(null,arguments)},wi=s.__emscripten_tls_init=function(){return(wi=s.__emscripten_tls_init=s.asm._emscripten_tls_init).apply(null,arguments)},Ti=s._pthread_self=function(){return(Ti=s._pthread_self=s.asm.pthread_self).apply(null,arguments)},Ei=s.___errno_location=function(){return(Ei=s.___errno_location=s.asm.__errno_location).apply(null,arguments)},Di=s.__emscripten_thread_init=function(){return(Di=s.__emscripten_thread_init=s.asm._emscripten_thread_init).apply(null,arguments)},Oi=s.__emscripten_thread_crashed=function(){return(Oi=s.__emscripten_thread_crashed=s.asm._emscripten_thread_crashed).apply(null,arguments)},ki=s._emscripten_main_thread_process_queued_calls=function(){return(ki=s._emscripten_main_thread_process_queued_calls=s.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Ai=s._emscripten_main_browser_thread_id=function(){return(Ai=s._emscripten_main_browser_thread_id=s.asm.emscripten_main_browser_thread_id).apply(null,arguments)},ji=s._emscripten_run_in_main_runtime_thread_js=function(){return(ji=s._emscripten_run_in_main_runtime_thread_js=s.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},Mi=s._emscripten_dispatch_to_thread_=function(){return(Mi=s._emscripten_dispatch_to_thread_=s.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},Ni=s.__emscripten_proxy_execute_task_queue=function(){return(Ni=s.__emscripten_proxy_execute_task_queue=s.asm._emscripten_proxy_execute_task_queue).apply(null,arguments)},Pi=s.__emscripten_thread_free_data=function(){return(Pi=s.__emscripten_thread_free_data=s.asm._emscripten_thread_free_data).apply(null,arguments)},Fi=s.__emscripten_thread_exit=function(){return(Fi=s.__emscripten_thread_exit=s.asm._emscripten_thread_exit).apply(null,arguments)},Ii=s._emscripten_stack_set_limits=function(){return(Ii=s._emscripten_stack_set_limits=s.asm.emscripten_stack_set_limits).apply(null,arguments)},Li=s.stackSave=function(){return(Li=s.stackSave=s.asm.stackSave).apply(null,arguments)},I=s.stackRestore=function(){return(I=s.stackRestore=s.asm.stackRestore).apply(null,arguments)},Ri=s.stackAlloc=function(){return(Ri=s.stackAlloc=s.asm.stackAlloc).apply(null,arguments)},zi=s.dynCall_iijjiiii=function(){return(zi=s.dynCall_iijjiiii=s.asm.dynCall_iijjiiii).apply(null,arguments)},Bi=s.dynCall_jiji=function(){return(Bi=s.dynCall_jiji=s.asm.dynCall_jiji).apply(null,arguments)};s.keepRuntimeAlive=xe,s.wasmMemory=j,s.cwrap=Rt,s.ExitStatus=Ve,s.PThread=P;var Vi;ke=function e(){Vi||Hi(),Vi||(ke=e)};function Hi(e){if(e||=f,De>0)return;if(_){c(s),N(),startWorker(s);return}if(Se(),De>0)return;function t(){Vi||(Vi=!0,s.calledRun=!0,!ne&&(N(),c(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),Ce()))}s.setStatus?(s.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){s.setStatus(``)},1),t()},1)):t()}if(s.preInit)for(typeof s.preInit==`function`&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();Hi();var Ui;u&&(Ui={uncaughtException:process.listeners(`uncaughtException`).filter(function(e){return!u.uncaughtException.indexOf(e)>-1}),unhandledRejection:process.listeners(`unhandledRejection`).filter(function(e){return!u.unhandledRejection.indexOf(e)>-1})});var Wi;if(typeof WasmBackendModule<`u`)Wi=WasmBackendModule;else if(t!==void 0)Wi=t;else throw Error(`Could not find wasm module in post.js`);if(Ui){var Gi=Wi._dispose;Wi._dispose=function(){Gi(),Ui.uncaughtException.forEach(function(e){process.removeListener(`uncaughtException`,e)}),Ui.unhandledRejection.forEach(function(e){process.removeListener(`unhandledRejection`,e)})}}return t.ready})})();typeof e==`object`&&typeof t==`object`?t.exports=n:typeof define==`function`&&define.amd?define([],function(){return n}):typeof e==`object`&&(e.WasmBackendModuleThreadedSimd=n)})),GE=t(((e,t)=>{t.exports.wasmWorkerContents=`"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;
24var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+" 25");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"})};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}WasmBackendModuleThreadedSimd(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};`})),KE=t(((e,t)=>{var n=(()=>{var e=typeof document<`u`&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<`u`&&(e||=__filename),(function(t){t||={};var n=t===void 0?{}:t,r,i;n.ready=new Promise(function(e,t){r=e,i=t});var a;typeof process<`u`&&process.listeners&&(a={uncaughtException:process.listeners(`uncaughtException`),unhandledRejection:process.listeners(`unhandledRejection`)});var o=Object.assign({},n),s=[],c=typeof window==`object`,l=typeof importScripts==`function`,u=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`,d=``;function f(e){return n.locateFile?n.locateFile(e,d):d+e}var p,m,h;if(u){var g=Mo(),_=Mo();d=l?_.dirname(d)+`/`:__dirname+`/`,p=(e,t)=>(e=ve(e)?new URL(e):_.normalize(e),g.readFileSync(e,t?void 0:`utf8`)),h=e=>{var t=p(e,!0);return t.buffer||(t=new Uint8Array(t)),t},m=(e,t,n)=>{e=ve(e)?new URL(e):_.normalize(e),g.readFile(e,function(e,r){e?n(e):t(r.buffer)})},process.argv.length>1&&process.argv[1].replace(/\\/g,`/`),s=process.argv.slice(2),process.on(`uncaughtException`,function(e){if(!(e instanceof N))throw e}),process.on(`unhandledRejection`,function(e){throw e}),n.inspect=function(){return`[Emscripten Module object]`}}else(c||l)&&(l?d=self.location.href:typeof document<`u`&&document.currentScript&&(d=document.currentScript.src),e&&(d=e),d=d.indexOf(`blob:`)===0?``:d.substr(0,d.replace(/[?#].*/,``).lastIndexOf(`/`)+1),p=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.send(null),t.responseText},l&&(h=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),m=(e,t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>
25{if(r.status==200||r.status==0&&r.response){t(r.response);return}n()},r.onerror=n,r.send(null)});var v=n.print||console.log.bind(console),y=n.printErr||console.warn.bind(console);Object.assign(n,o),o=null,n.arguments&&(s=n.arguments),n.thisProgram&&n.thisProgram,n.quit&&n.quit;var b;n.wasmBinary&&(b=n.wasmBinary),n.noExitRuntime,typeof WebAssembly!=`object`&&he(`no native wasm support detected`);var x,S=!1,C=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function w(e,t,n){t>>>=0;for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&C)return C.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128)){a+=String.fromCharCode(o);continue}var s=e[t++]&63;if((o&224)==192){a+=String.fromCharCode((o&31)<<6|s);continue}var c=e[t++]&63;if(o=(o&240)==224?(o&15)<<12|s<<6|c:(o&7)<<18|s<<12|c<<6|e[t++]&63,o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a}function T(e,t){return e>>>=0,e?w(A,e,t):``}function E(e,t,n,r){if(n>>>=0,!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343){var c=e.charCodeAt(++o);s=65536+((s&1023)<<10)|c&1023}if(s<=127){if(n>=a)break;t[n++>>>0]=s}else if(s<=2047){if(n+1>=a)break;t[n++>>>0]=192|s>>6,t[n++>>>0]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++>>>0]=224|s>>12,t[n++>>>0]=128|s>>6&63,t[n++>>>0]=128|s&63}else{if(n+3>=a)break;t[n++>>>0]=240|s>>18,t[n++>>>0]=128|s>>12&63,t[n++>>>0]=128|s>>6&63,t[n++>>>0]=128|s&63}}return t[n>>>0]=0,n-i}function D(e,t,n){return E(e,A,t,n)}var O,k,A,ee,j;function te(e){O=e,n.HEAP8=k=new Int8Array(e),n.HEAP16=new Int16Array(e),n.HEAP32=ee=new Int32Array(e),n.HEAPU8=A=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAPU32=j=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}n.INITIAL_MEMORY;var ne=[],re=[],ie=[];function ae(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)M(n.preRun.shift());Ce(ne)}function oe(){Ce(re)}function se(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)le(n.postRun.shift());Ce(ie)}function M(e){ne.unshift(e)}function ce(e){re.unshift(e)}function le(e){ie.unshift(e)}var ue=0,de=null,fe=null;function pe(e){ue++,n.monitorRunDependencies&&n.monitorRunDependencies(ue)}function me(e){if(ue--,n.monitorRunDependencies&&n.monitorRunDependencies(ue),ue==0&&(de!==null&&(clearInterval(de),de=null),fe)){var t=fe;fe=null,t()}}function he(e){n.onAbort&&n.onAbort(e),e=`Aborted(`+e+`)`,y(e),S=!0,e+=`. Build with -sASSERTIONS for more info.`;var t=new WebAssembly.RuntimeError(e);throw i(t),t}var ge=`data:application/octet-stream;base64,`;function _e(e){return e.startsWith(ge)}function ve(e){return e.startsWith(`file://`)}var ye=`tfjs-backend-wasm.wasm`;_e(ye)||(ye=f(ye));function be(e){try{if(e==ye&&b)return new Uint8Array(b);if(h)return h(e);throw`both async and sync fetching of the wasm failed`}catch(e){he(e)}}function xe(){if(!b&&(c||l)){if(typeof fetch==`function`&&!ve(ye))return fetch(ye,{credentials:`same-origin`}).then(function(e){if(!e.ok)throw`failed to load wasm binary file at '`+ye+`'`;return e.arrayBuffer()}).catch(function(){return be(ye)});if(m)return new Promise(function(e,t){m(ye,function(t){e(new Uint8Array(t))},t)})}return Promise.resolve().then(function(){return be(ye)})}function Se(){var e={env:Be,wasi_snapshot_preview1:Be};function t(e,t){n.asm=e.exports,x=n.asm.memory,te(x.buffer),n.asm.__indirect_function_table,ce(n.asm.__wasm_call_ctors),me(`wasm-instantiate`)}pe(`wasm-instantiate`);function r(e){t(e.instance)}function a(t){return xe().then(function(t){return WebAssembly.instantiate(t,e)}).then(function(e){return e}).then(t,function(e){y(`failed to asynchronously prepare wasm: `+e),he(e)})}function o(){return!b&&typeof WebAssembly.instantiateStreaming==`function`&&!_e(ye)&&!ve(ye)&&!u&&typeof fetch==`function`?fetch(ye,{credentials:`same-origin`}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(r,function(e){return y(`wasm streaming compile failed: `+e),y(`falling back to ArrayBuffer instantiation`),a(r)})}):a(r)}if(n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){y(`Module.instantiateWasm callback failed with error: `+e),i(e)}return o().catch(i),{}}function N(e){this.name=`ExitStatus`,this.message=`Program terminated with exit(`+e+`)`,this.status=e}function Ce(e){for(;e.length>0;)e.shift()(n)}function we(){he(``)}function Te(){return 4294901760}function Ee(){return Te()}function De(e,t,n){A.copyWithin(e>>>0,t>>>0,t+n>>>0)}function Oe(e){try{return x.grow(e-O.byteLength+65535>>>16),te(x.buffer),1}catch{}}function ke(e){var t=A.length;e>>>=0;var n=Te();if(e>n)return!1;let r=(e,t)=>e+(t-e%t)%t;for(var i=1;i<=4;i*=2){var a=t*(1+.2/i);if(a=Math.min(a,e+100663296),Oe(Math.min(n,r(Math.max(e,a),65536))))return!0}return!1}var Ae={varargs:void 0,get:function(){return Ae.varargs+=4,ee[Ae.varargs-4>>>2]},getStr:function(e){return T(e)}};function je(e){return 52}function Me(e,t,n,r,i){return 70}var Ne=[null,[],[]];function Pe(e,t){var n=Ne[e];t===0||t===10?((e===1?v:y)(w(n,0)),n.length=0):n.push(t)}function Fe(e,t,n,r){for(var i=0,a=0;a<n;a++){var o=j[t>>>2],s=j[t+4>>>2];t+=8;for(var c=0;c<s;c++)Pe(e,A[o+c>>>0]);i+=s}return j[r>>>2]=i,0}function Ie(e){return n[`_`+e]}function Le(e,t){k.set(e,t>>>0)}function Re(e,t,n,r,i){var a={string:e=>{var t=0;if(e!=null&&e!==0){var n=(e.length<<2)+1;t=Dr(n),D(e,t,n)}return t},array:e=>{var t=Dr(e.length);return Le(e,t),t}};
25function o(e){return t===`string`?T(e):t===`boolean`?!!e:e}var s=Ie(e),c=[],l=0;if(r)for(var u=0;u<r.length;u++){var d=a[n[u]];d?(l===0&&(l=Tr()),c[u]=d(r[u])):c[u]=r[u]}var f=s.apply(null,c);function p(e){return l!==0&&Er(l),o(e)}return f=p(f),f}function ze(e,t,n,r){n||=[];var i=n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?Ie(e):function(){return Re(e,t,n,arguments,r)}}var Be={abort:we,emscripten_get_heap_max:Ee,emscripten_memcpy_big:De,emscripten_resize_heap:ke,fd_close:je,fd_seek:Me,fd_write:Fe};Se();var Ve=n.___wasm_call_ctors=function(){return(Ve=n.___wasm_call_ctors=n.asm.__wasm_call_ctors).apply(null,arguments)},He=n._init=function(){return(He=n._init=n.asm.init).apply(null,arguments)},Ue=n._init_with_threads_count=function(){return(Ue=n._init_with_threads_count=n.asm.init_with_threads_count).apply(null,arguments)},We=n._get_threads_count=function(){return(We=n._get_threads_count=n.asm.get_threads_count).apply(null,arguments)},Ge=n._register_tensor=function(){return(Ge=n._register_tensor=n.asm.register_tensor).apply(null,arguments)},Ke=n._dispose_data=function(){return(Ke=n._dispose_data=n.asm.dispose_data).apply(null,arguments)},qe=n._dispose=function(){return(qe=n._dispose=n.asm.dispose).apply(null,arguments)},Je=n._Abs=function(){return(Je=n._Abs=n.asm.Abs).apply(null,arguments)},Ye=n._Acos=function(){return(Ye=n._Acos=n.asm.Acos).apply(null,arguments)},Xe=n._Acosh=function(){return(Xe=n._Acosh=n.asm.Acosh).apply(null,arguments)},P=n._Add=function(){return(P=n._Add=n.asm.Add).apply(null,arguments)},Ze=n._AddN=function(){return(Ze=n._AddN=n.asm.AddN).apply(null,arguments)},Qe=n._All=function(){return(Qe=n._All=n.asm.All).apply(null,arguments)},$e=n._Any=function(){return($e=n._Any=n.asm.Any).apply(null,arguments)},et=n._ArgMax=function(){return(et=n._ArgMax=n.asm.ArgMax).apply(null,arguments)},tt=n._ArgMin=function(){return(tt=n._ArgMin=n.asm.ArgMin).apply(null,arguments)},nt=n._Asin=function(){return(nt=n._Asin=n.asm.Asin).apply(null,arguments)},rt=n._Asinh=function(){return(rt=n._Asinh=n.asm.Asinh).apply(null,arguments)},it=n._Atan=function(){return(it=n._Atan=n.asm.Atan).apply(null,arguments)},at=n._Atan2=function(){return(at=n._Atan2=n.asm.Atan2).apply(null,arguments)},ot=n._Atanh=function(){return(ot=n._Atanh=n.asm.Atanh).apply(null,arguments)},st=n._AvgPool=function(){return(st=n._AvgPool=n.asm.AvgPool).apply(null,arguments)},ct=n._AvgPool3D=function(){return(ct=n._AvgPool3D=n.asm.AvgPool3D).apply(null,arguments)},lt=n._AvgPool3DGrad=function(){return(lt=n._AvgPool3DGrad=n.asm.AvgPool3DGrad).apply(null,arguments)},ut=n._AvgPoolGrad=function(){return(ut=n._AvgPoolGrad=n.asm.AvgPoolGrad).apply(null,arguments)},dt=n._BatchMatMul=function(){return(dt=n._BatchMatMul=n.asm.BatchMatMul).apply(null,arguments)},ft=n._Bincount=function(){return(ft=n._Bincount=n.asm.Bincount).apply(null,arguments)},pt=n._BitwiseAnd=function(){return(pt=n._BitwiseAnd=n.asm.BitwiseAnd).apply(null,arguments)},mt=n._Ceil=function(){return(mt=n._Ceil=n.asm.Ceil).apply(null,arguments)},ht=n._ClipByValue=function(){return(ht=n._ClipByValue=n.asm.ClipByValue).apply(null,arguments)},gt=n._Conv2D=function(){return(gt=n._Conv2D=n.asm.Conv2D).apply(null,arguments)},_t=n._Conv2DBackpropInput=function(){return(_t=n._Conv2DBackpropInput=n.asm.Conv2DBackpropInput).apply(null,arguments)},vt=n._Conv3D=function(){return(vt=n._Conv3D=n.asm.Conv3D).apply(null,arguments)},yt=n._Conv3DBackpropFilterV2=function(){return(yt=n._Conv3DBackpropFilterV2=n.asm.Conv3DBackpropFilterV2).apply(null,arguments)},bt=n._Conv3DBackpropInputV2=function(){return(bt=n._Conv3DBackpropInputV2=n.asm.Conv3DBackpropInputV2).apply(null,arguments)},xt=n._Cos=function(){return(xt=n._Cos=n.asm.Cos).apply(null,arguments)},St=n._Cosh=function(){return(St=n._Cosh=n.asm.Cosh).apply(null,arguments)},Ct=n._CropAndResize=function(){return(Ct=n._CropAndResize=n.asm.CropAndResize).apply(null,arguments)},wt=n._Cumprod=function(){return(wt=n._Cumprod=n.asm.Cumprod).apply(null,arguments)},Tt=n._Cumsum=function(){return(Tt=n._Cumsum=n.asm.Cumsum).apply(null,arguments)},Et=n._DenseBincount=function(){return(Et=n._DenseBincount=n.asm.DenseBincount).apply(null,arguments)},Dt=n._DepthToSpace=function(){return(Dt=n._DepthToSpace=n.asm.DepthToSpace).apply(null,arguments)},Ot=n._DepthwiseConv2dNative=function(){return(Ot=n._DepthwiseConv2dNative=n.asm.DepthwiseConv2dNative).apply(null,arguments)},kt=n._Diag=function(){return(kt=n._Diag=n.asm.Diag).apply(null,arguments)},At=n._Dilation2D=function(){return(At=n._Dilation2D=n.asm.Dilation2D).apply(null,arguments)},jt=n._Dilation2DBackpropFilter=function(){return(jt=n._Dilation2DBackpropFilter=n.asm.Dilation2DBackpropFilter).apply(null,arguments)},Mt=n._Dilation2DBackpropInput=function(){return(Mt=n._Dilation2DBackpropInput=n.asm.Dilation2DBackpropInput).apply(null,arguments)},Nt=n._Elu=function(){return(Nt=n._Elu=n.asm.Elu).apply(null,arguments)},Pt=n._EluGrad=function(){return(Pt=n._EluGrad=n.asm.EluGrad).apply(null,arguments)},Ft=n._Equal=function(){return(Ft=n._Equal=n.asm.Equal).apply(null,arguments)},It=n._Erf=function(){return(It=n._Erf=n.asm.Erf).apply(null,arguments)},Lt=n._Exp=function(){return(Lt=n._Exp=n.asm.Exp).apply(null,arguments)},Rt=n._Expm1=function(){return(Rt=n._Expm1=n.asm.Expm1).apply(null,arguments)}
25,zt=n._FlipLeftRight=function(){return(zt=n._FlipLeftRight=n.asm.FlipLeftRight).apply(null,arguments)},Bt=n._Floor=function(){return(Bt=n._Floor=n.asm.Floor).apply(null,arguments)},Vt=n._FloorDiv=function(){return(Vt=n._FloorDiv=n.asm.FloorDiv).apply(null,arguments)},Ht=n._FusedBatchNorm=function(){return(Ht=n._FusedBatchNorm=n.asm.FusedBatchNorm).apply(null,arguments)},Ut=n._FusedConv2D=function(){return(Ut=n._FusedConv2D=n.asm.FusedConv2D).apply(null,arguments)},Wt=n._FusedDepthwiseConv2D=function(){return(Wt=n._FusedDepthwiseConv2D=n.asm.FusedDepthwiseConv2D).apply(null,arguments)},Gt=n._Gather=function(){return(Gt=n._Gather=n.asm.Gather).apply(null,arguments)},Kt=n._GatherNd=function(){return(Kt=n._GatherNd=n.asm.GatherNd).apply(null,arguments)},qt=n._Greater=function(){return(qt=n._Greater=n.asm.Greater).apply(null,arguments)},Jt=n._GreaterEqual=function(){return(Jt=n._GreaterEqual=n.asm.GreaterEqual).apply(null,arguments)},Yt=n._IsFinite=function(){return(Yt=n._IsFinite=n.asm.IsFinite).apply(null,arguments)},Xt=n._IsInf=function(){return(Xt=n._IsInf=n.asm.IsInf).apply(null,arguments)},Zt=n._IsNan=function(){return(Zt=n._IsNan=n.asm.IsNan).apply(null,arguments)},Qt=n._LRN=function(){return(Qt=n._LRN=n.asm.LRN).apply(null,arguments)},$t=n._LRNGrad=function(){return($t=n._LRNGrad=n.asm.LRNGrad).apply(null,arguments)},en=n._LeakyRelu=function(){return(en=n._LeakyRelu=n.asm.LeakyRelu).apply(null,arguments)},tn=n._Less=function(){return(tn=n._Less=n.asm.Less).apply(null,arguments)},nn=n._LessEqual=function(){return(nn=n._LessEqual=n.asm.LessEqual).apply(null,arguments)},rn=n._LinSpace=function(){return(rn=n._LinSpace=n.asm.LinSpace).apply(null,arguments)},an=n._Log=function(){return(an=n._Log=n.asm.Log).apply(null,arguments)},on=n._Log1p=function(){return(on=n._Log1p=n.asm.Log1p).apply(null,arguments)},sn=n._LogicalAnd=function(){return(sn=n._LogicalAnd=n.asm.LogicalAnd).apply(null,arguments)},cn=n._LogicalNot=function(){return(cn=n._LogicalNot=n.asm.LogicalNot).apply(null,arguments)},ln=n._LogicalOr=function(){return(ln=n._LogicalOr=n.asm.LogicalOr).apply(null,arguments)},un=n._LogicalXor=function(){return(un=n._LogicalXor=n.asm.LogicalXor).apply(null,arguments)},dn=n._Max=function(){return(dn=n._Max=n.asm.Max).apply(null,arguments)},fn=n._MaxPool=function(){return(fn=n._MaxPool=n.asm.MaxPool).apply(null,arguments)},pn=n._MaxPool3D=function(){return(pn=n._MaxPool3D=n.asm.MaxPool3D).apply(null,arguments)},mn=n._MaxPool3DGrad=function(){return(mn=n._MaxPool3DGrad=n.asm.MaxPool3DGrad).apply(null,arguments)},hn=n._MaxPoolGrad=function(){return(hn=n._MaxPoolGrad=n.asm.MaxPoolGrad).apply(null,arguments)},gn=n._MaxPoolWithArgmax=function(){return(gn=n._MaxPoolWithArgmax=n.asm.MaxPoolWithArgmax).apply(null,arguments)},_n=n._Maximum=function(){return(_n=n._Maximum=n.asm.Maximum).apply(null,arguments)},vn=n._Mean=function(){return(vn=n._Mean=n.asm.Mean).apply(null,arguments)},yn=n._Min=function(){return(yn=n._Min=n.asm.Min).apply(null,arguments)},bn=n._Minimum=function(){return(bn=n._Minimum=n.asm.Minimum).apply(null,arguments)},xn=n._MirrorPad=function(){return(xn=n._MirrorPad=n.asm.MirrorPad).apply(null,arguments)},Sn=n._Mod=function(){return(Sn=n._Mod=n.asm.Mod).apply(null,arguments)},Cn=n._Multinomial=function(){return(Cn=n._Multinomial=n.asm.Multinomial).apply(null,arguments)},wn=n._Multiply=function(){return(wn=n._Multiply=n.asm.Multiply).apply(null,arguments)},Tn=n._Neg=function(){return(Tn=n._Neg=n.asm.Neg).apply(null,arguments)},En=n._NonMaxSuppressionV3=function(){return(En=n._NonMaxSuppressionV3=n.asm.NonMaxSuppressionV3).apply(null,arguments)},Dn=n._NonMaxSuppressionV4=function(){return(Dn=n._NonMaxSuppressionV4=n.asm.NonMaxSuppressionV4).apply(null,arguments)},On=n._NonMaxSuppressionV5=function(){return(On=n._NonMaxSuppressionV5=n.asm.NonMaxSuppressionV5).apply(null,arguments)},kn=n._NotEqual=function(){return(kn=n._NotEqual=n.asm.NotEqual).apply(null,arguments)},An=n._OneHot=function(){return(An=n._OneHot=n.asm.OneHot).apply(null,arguments)},jn=n._PadV2=function(){return(jn=n._PadV2=n.asm.PadV2).apply(null,arguments)},Mn=n._Pow=function(){return(Mn=n._Pow=n.asm.Pow).apply(null,arguments)},Nn=n._Prelu=function(){return(Nn=n._Prelu=n.asm.Prelu).apply(null,arguments)},Pn=n._Prod=function(){return(Pn=n._Prod=n.asm.Prod).apply(null,arguments)},Fn=n._RealDiv=function(){return(Fn=n._RealDiv=n.asm.RealDiv).apply(null,arguments)},In=n._Reciprocal=function(){return(In=n._Reciprocal=n.asm.Reciprocal).apply(null,arguments)},Ln=n._Relu=function(){return(Ln=n._Relu=n.asm.Relu).apply(null,arguments)},Rn=n._Relu6=function(){return(Rn=n._Relu6=n.asm.Relu6).apply(null,arguments)},zn=n._ResizeBilinear=function(){return(zn=n._ResizeBilinear=n.asm.ResizeBilinear).apply(null,arguments)},Bn=n._ResizeBilinearGrad=function(){return(Bn=n._ResizeBilinearGrad=n.asm.ResizeBilinearGrad).apply(null,arguments)},Vn=n._ResizeNearestNeighbor=function(){return(Vn=n._ResizeNearestNeighbor=n.asm.ResizeNearestNeighbor).apply(null,arguments)},Hn=n._ResizeNearestNeighborGrad=function(){return(Hn=n._ResizeNearestNeighborGrad=n.asm.ResizeNearestNeighborGrad).apply(null,arguments)}
25,Un=n._Reverse=function(){return(Un=n._Reverse=n.asm.Reverse).apply(null,arguments)},Wn=n._RotateWithOffset=function(){return(Wn=n._RotateWithOffset=n.asm.RotateWithOffset).apply(null,arguments)},Gn=n._Round=function(){return(Gn=n._Round=n.asm.Round).apply(null,arguments)},Kn=n._Rsqrt=function(){return(Kn=n._Rsqrt=n.asm.Rsqrt).apply(null,arguments)},qn=n._ScatterNd=function(){return(qn=n._ScatterNd=n.asm.ScatterNd).apply(null,arguments)},Jn=n._SearchSorted=function(){return(Jn=n._SearchSorted=n.asm.SearchSorted).apply(null,arguments)},Yn=n._SelectV2=function(){return(Yn=n._SelectV2=n.asm.SelectV2).apply(null,arguments)},Xn=n._Selu=function(){return(Xn=n._Selu=n.asm.Selu).apply(null,arguments)},Zn=n._Sigmoid=function(){return(Zn=n._Sigmoid=n.asm.Sigmoid).apply(null,arguments)},Qn=n._Sign=function(){return(Qn=n._Sign=n.asm.Sign).apply(null,arguments)},$n=n._Sin=function(){return($n=n._Sin=n.asm.Sin).apply(null,arguments)},er=n._Sinh=function(){return(er=n._Sinh=n.asm.Sinh).apply(null,arguments)},tr=n._Softmax=function(){return(tr=n._Softmax=n.asm.Softmax).apply(null,arguments)},nr=n._Softplus=function(){return(nr=n._Softplus=n.asm.Softplus).apply(null,arguments)},rr=n._SparseFillEmptyRows=function(){return(rr=n._SparseFillEmptyRows=n.asm.SparseFillEmptyRows).apply(null,arguments)},ir=n._SparseReshape=function(){return(ir=n._SparseReshape=n.asm.SparseReshape).apply(null,arguments)},ar=n._SparseSegmentReduction=function(){return(ar=n._SparseSegmentReduction=n.asm.SparseSegmentReduction).apply(null,arguments)},or=n._SparseToDense=function(){return(or=n._SparseToDense=n.asm.SparseToDense).apply(null,arguments)},sr=n._Sqrt=function(){return(sr=n._Sqrt=n.asm.Sqrt).apply(null,arguments)},cr=n._Square=function(){return(cr=n._Square=n.asm.Square).apply(null,arguments)},lr=n._SquaredDifference=function(){return(lr=n._SquaredDifference=n.asm.SquaredDifference).apply(null,arguments)},ur=n._Step=function(){return(ur=n._Step=n.asm.Step).apply(null,arguments)},dr=n._StridedSlice=function(){return(dr=n._StridedSlice=n.asm.StridedSlice).apply(null,arguments)},fr=n._Sub=function(){return(fr=n._Sub=n.asm.Sub).apply(null,arguments)},pr=n._Sum=function(){return(pr=n._Sum=n.asm.Sum).apply(null,arguments)},mr=n._Tan=function(){return(mr=n._Tan=n.asm.Tan).apply(null,arguments)},hr=n._Tanh=function(){return(hr=n._Tanh=n.asm.Tanh).apply(null,arguments)},gr=n._TensorScatterUpdate=function(){return(gr=n._TensorScatterUpdate=n.asm.TensorScatterUpdate).apply(null,arguments)},_r=n._Tile=function(){return(_r=n._Tile=n.asm.Tile).apply(null,arguments)},vr=n._TopK=function(){return(vr=n._TopK=n.asm.TopK).apply(null,arguments)},yr=n._Transform=function(){return(yr=n._Transform=n.asm.Transform).apply(null,arguments)},br=n._Transpose=function(){return(br=n._Transpose=n.asm.Transpose).apply(null,arguments)},xr=n.__FusedMatMul=function(){return(xr=n.__FusedMatMul=n.asm._FusedMatMul).apply(null,arguments)},Sr=n._malloc=function(){return(Sr=n._malloc=n.asm.malloc).apply(null,arguments)},Cr=n._free=function(){return(Cr=n._free=n.asm.free).apply(null,arguments)},wr=n.___errno_location=function(){return(wr=n.___errno_location=n.asm.__errno_location).apply(null,arguments)},Tr=n.stackSave=function(){return(Tr=n.stackSave=n.asm.stackSave).apply(null,arguments)},Er=n.stackRestore=function(){return(Er=n.stackRestore=n.asm.stackRestore).apply(null,arguments)},Dr=n.stackAlloc=function(){return(Dr=n.stackAlloc=n.asm.stackAlloc).apply(null,arguments)},Or=n.dynCall_iijjiiii=function(){return(Or=n.dynCall_iijjiiii=n.asm.dynCall_iijjiiii).apply(null,arguments)},kr=n.dynCall_jiji=function(){return(kr=n.dynCall_jiji=n.asm.dynCall_jiji).apply(null,arguments)};n.cwrap=ze;var Ar;fe=function e(){Ar||jr(),Ar||(fe=e)};function jr(e){if(e||=s,ue>0||(ae(),ue>0))return;function t(){Ar||(Ar=!0,n.calledRun=!0,!S&&(oe(),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),se()))}n.setStatus?(n.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){n.setStatus(``)},1),t()},1)):t()}if(n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();jr();var Mr;a&&(Mr={uncaughtException:process.listeners(`uncaughtException`).filter(function(e){return!a.uncaughtException.indexOf(e)>-1}),unhandledRejection:process.listeners(`unhandledRejection`).filter(function(e){return!a.unhandledRejection.indexOf(e)>-1})});var Nr;if(t!==void 0)Nr=t;else if(typeof WasmBackendModuleThreadedSimd<`u`)Nr=WasmBackendModuleThreadedSimd;else throw Error(`Could not find wasm module in post.js`);if(Mr){var Pr=Nr._dispose;Nr._dispose=function(){Pr(),Mr.uncaughtException.forEach(function(e){process.removeListener(`uncaughtException`,e)}),Mr.unhandledRejection.forEach(function(e){process.removeListener(`unhandledRejection`,e)})}}return t.ready})})();typeof e==`object`&&typeof t==`object`?t.exports=n:typeof define==`function`&&define.amd?define([],function(){return n}):typeof e==`object`&&(e.WasmBackendModule=n)})),qE=n(WE()),JE=GE(),YE=n(KE()),XE=qE.default||qE,ZE=YE.default||YE,QE=class extends o{constructor(e){super(),this.wasm=e,this.dataIdNextNumber=1,this.wasm.tfjs.initWithThreadsCount(uD),dD=this.wasm.tfjs.getThreadsCount(),this.dataIdMap=new a(this,fa())}write(e,t,n){let r={id:this.dataIdNextNumber++};return this.move(r,e,t,n,1),r}numDataIds(){return this.dataIdMap.numDataIds()}async time(e){let t=ei();return e(),{kernelMs:ei()-t}}move(e,t,n,r,i){let a=this.dataIdNextNumber++;if(r===`string`){let o=t;
25this.dataIdMap.set(e,{id:a,stringBytes:o,shape:n,dtype:r,memoryOffset:null,refCount:i});return}let o=g(n),s=o*j(r),c=this.wasm._malloc(s)>>>0;this.dataIdMap.set(e,{id:a,memoryOffset:c,shape:n,dtype:r,refCount:i}),this.wasm.tfjs.registerTensor(a,o,c),t!=null&&this.wasm.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,s),c)}async read(e){return this.readSync(e)}readSync(e,t,n){let{memoryOffset:r,dtype:i,shape:a,stringBytes:o}=this.dataIdMap.get(e);if(i===`string`)return(t==null||t===0)&&(n==null||n>=o.length)?o:o.slice(t,n);t||=0,n||=g(a);let s=j(i);return nD(this.wasm.HEAPU8.slice(r+t*s,r+n*s).buffer,i)}disposeData(e,t=!1){if(this.dataIdMap.has(e)){let n=this.dataIdMap.get(e);if(n.refCount--,!t&&n.refCount>0)return!1;this.wasm._free(n.memoryOffset),this.wasm.tfjs.disposeData(n.id),this.dataIdMap.delete(e)}return!0}refCount(e){return this.dataIdMap.has(e)?this.dataIdMap.get(e).refCount:0}incRef(e){let t=this.dataIdMap.get(e);t!=null&&t.refCount++}floatPrecision(){return 32}getMemoryOffset(e){return this.dataIdMap.get(e).memoryOffset}dispose(){this.wasm.tfjs.dispose(),`PThread`in this.wasm&&this.wasm.PThread.terminateAllThreads(),this.wasm=null}memory(){return{unreliable:!1}}makeOutput(e,t,n,r){let i;if(n==null)i=this.write(r??null,e,t);else{let r=this.dataIdNextNumber++;i={id:r},this.dataIdMap.set(i,{id:r,memoryOffset:n,shape:e,dtype:t,refCount:1});let a=g(e);this.wasm.tfjs.registerTensor(r,a,n)}return{dataId:i,shape:e,dtype:t}}typedArrayFromHeap({shape:e,dtype:t,dataId:n}){let r=this.wasm.HEAPU8.buffer,{memoryOffset:i}=this.dataIdMap.get(n),a=g(e);switch(t){case`float32`:return new Float32Array(r,i,a);case`int32`:return new Int32Array(r,i,a);case`bool`:return new Uint8Array(r,i,a);default:throw Error(`Unknown dtype ${t}`)}}};function $E(e){return(t,n)=>(ti(e,{credentials:`same-origin`}).then(r=>{r.ok||t.env.a(`failed to load wasm binary file at '${e}'`),r.arrayBuffer().then(e=>{WebAssembly.instantiate(e,t).then(e=>{n(e.instance,e.module)})})}),{})}function eD(e,t,n){if(iD!=null)return iD;let r=`tfjs-backend-wasm.wasm`;return e&&t?r=`tfjs-backend-wasm-threaded-simd.wasm`:e&&(r=`tfjs-backend-wasm-simd.wasm`),oD!=null&&oD[r]!=null?oD[r]:n+r}async function tD(){let[e,t]=await Promise.all([N().getAsync(`WASM_HAS_SIMD_SUPPORT`),N().getAsync(`WASM_HAS_MULTITHREAD_SUPPORT`)]);return new Promise((n,r)=>{let i={};i.locateFile=(n,r)=>{if(n.endsWith(`.worker.js`)){let e=JE.wasmWorkerContents.replace(/\n/g,`\\n`),t=new Blob([e],{type:`application/javascript`});return URL.createObjectURL(t)}return n.endsWith(`.wasm`)?eD(e,t,aD??r):r+n},cD&&(i.instantiateWasm=$E(eD(e,t,aD??``)));let a=!1;i.onAbort=()=>{a||sD||(sD=!0,r({message:"Make sure the server can serve the `.wasm` file relative to the bundled js file. For more details see https://github.com/tensorflow/tfjs/blob/master/tfjs-backend-wasm/README.md#using-bundlers"}))};let o;t&&e&&iD==null?(i.mainScriptUrlOrBlob=new Blob([`var WasmBackendModuleThreadedSimd = `+XE.toString()],{type:`text/javascript`}),o=XE(i)):o=ZE(i),o.then(e=>{a=!0,sD=!1,e.tfjs={init:e.cwrap(`init`,null,[]),initWithThreadsCount:e.cwrap(`init_with_threads_count`,null,[`number`]),getThreadsCount:e.cwrap(`get_threads_count`,`number`,[]),registerTensor:e.cwrap(`register_tensor`,null,[`number`,`number`,`number`]),disposeData:e.cwrap(`dispose_data`,null,[`number`]),dispose:e.cwrap(`dispose`,null,[])},n({wasm:e})}).catch(r)})}function nD(e,t){switch(t){case`float32`:return new Float32Array(e);case`int32`:return new Int32Array(e);case`bool`:return new Uint8Array(e);default:throw Error(`Unknown dtype ${t}`)}}var rD=[`tfjs-backend-wasm.wasm`,`tfjs-backend-wasm-simd.wasm`,`tfjs-backend-wasm-threaded-simd.wasm`],iD=null,aD=null,oD={},sD=!1,cD=!1;function lD(e,t=!1){if(sD)throw Error("The WASM backend was already initialized. Make sure you call `setWasmPaths()` before you call `tf.setBackend()` or `tf.ready()`");if(typeof e==`string`)aD=e;else{oD=e;let t=rD.filter(e=>oD[e]==null);if(t.length>0)throw Error(`There were no entries found for the following binaries: ${t.join(`,`)}. Please either call setWasmPaths with a map providing a path for each binary, or with a string indicating the directory where all the binaries can be found.`)}cD=t}var uD=-1,dD=-1;ya(`wasm`,async()=>
25{let{wasm:e}=await tD();return new QE(e)},2);export{J_ as $,Uo as $a,yn as $c,zc as $i,gr as $l,Rf as $n,ri as $o,ku as $r,yt as $s,Am as $t,yv as A,xs as Aa,Kt as Ac,Dl as Ai,Zn as Al,Ap as An,pa as Ao,yd as Ar,P as As,Xg as At,x as Au,lv as B,ps as Ba,on as Bc,cl as Bi,ir as Bl,up as Bn,z as Bo,td as Br,ot as Bs,Nh as Bt,Av as C,Ks as Ca,Zt as Cc,Ll as Ci,Un as Cl,Wp as Cn,Ia as Co,Md as Cr,We as Cs,s_ as Ct,fe as Cu,Tv as D,zs as Da,Wt as Dc,Nl as Di,Gn as Dl,Ip as Dn,fa as Do,wd as Dr,qe as Ds,r_ as Dt,S as Du,wv as E,Vs as Ea,Ut as Ec,jl as Ei,Yn as El,Rp as En,ma as Eo,Ed as Er,Je as Es,n_ as Et,C as Eu,uv as F,Fs as Fa,nn as Fc,_l as Fi,Kn as Fl,bp as Fn,ua as Fo,dd as Fr,tt as Fs,$g as Ft,a as Fu,nv as G,rs as Ga,fn as Gc,tl as Gi,Ln as Gl,ep as Gn,Bi as Go,Z as Gr,dt as Gs,Xm as Gt,ov as H,ls as Ha,cn as Hc,sl as Hi,or as Hl,op as Hn,Qi as Ho,Zu as Hr,st as Hs,ih as Ht,sv as I,Ns as Ia,en as Ic,hl as Ii,nr as Il,vp as In,la as Io,ld as Ir,nt as Is,Zh as It,o as Iu,$_ as J,Zo as Ja,hn as Jc,Yc as Ji,dr as Jl,Jf as Jn,Pi as Jo,Bu as Jr,mt as Js,Bm as Jt,rv as K,ts as Ka,pn as Kc,$c as Ki,lr as Kl,Qf as Kn,zi as Ko,Wu as Kr,ft as Ks,Wm as Kt,cv as L,Ms as La,rn as Lc,pl as Li,tr as Ll,gp as Ln,ca as Lo,sd as Lr,rt as Ls,Yh as Lt,bv as M,vs as Ma,Jt as Mc,Cl as Mi,$n as Ml,Ep as Mn,ya as Mo,_d as Mr,Qe as Ms,Jg as Mt,f as Mu,vv as N,ys as Na,$t as Nc,xl as Ni,er as Nl,wp as Nn,ga as No,hd as Nr,$e as Ns,Qg as Nt,d as Nu,Ev as O,G as Oa,Gt as Oc,Fl as Oi,qn as Ol,Pp as On,va as Oo,Sd as Or,Ye as Os,i_ as Ot,c as Ou,xv as P,bs as Pa,tn as Pc,yl as Pi,Jn as Pl,Sp as Pn,B as Po,pd as Pr,et as Ps,qg as Pt,le as Pu,K_ as Q,U as Qa,vn as Qc,Vc as Qi,hr as Ql,Bf as Qn,Zr as Qo,Au as Qr,_t as Qs,Nm as Qt,fv as R,_s as Ra,Qt as Rc,dl as Ri,rr as Rl,mp as Rn,oa as Ro,od as Rr,it as Rs,jh as Rt,jv as S,q as Sa,Bt as Sc,zl as Si,Wn as Sl,Kp as Sn,za as So,Pd as Sr,Ue as Ss,c_ as St,pe as Su,Ov as T,Us as Ta,Ht as Tc,Al as Ti,Vn as Tl,Bp as Tn,ba as To,Od as Tr,Ke as Ts,a_ as Tt,T as Tu,ev as U,ss as Ua,ln as Uc,al as Ui,sr as Ul,ip as Un,Zi as Uo,Yu as Ur,ct as Us,eh as Ut,av as V,ds as Va,sn as Vc,ll as Vi,ar as Vl,cp as Vn,R as Vo,$u as Vr,lt as Vs,ah as Vt,tv as W,as as Wa,dn as Wc,rl as Wi,cr as Wl,np as Wn,L as Wo,qu as Wr,ut as Ws,Qm as Wt,Z_ as X,qo as Xa,gn as Xc,Gc as Xi,pr as Xl,Wf as Xn,bi as Xo,Pu as Xr,gt as Xs,Rm as Xt,Q_ as Y,Yo as Ya,mn as Yc,qc as Yi,fr as Yl,Kf as Yn,Ti as Yo,Iu as Yr,ht as Ys,zm as Yt,q_ as Z,W as Za,_n as Zc,Uc as Zi,mr as Zl,Hf as Zn,Ei as Zo,Mu as Zr,vt as Zs,Fm as Zt,Fv as _,ic as _a,It as _c,X as _i,Fn as _l,$p as _n,Ca as _o,Wd as _r,Le as _s,h_ as _t,_e as _u,Xv as a,Dc as aa,Et as ac,_u as ai,bt as al,ym as an,Mo as ao,Cf as ar,jr as as,B_ as at,j as au,Pv as b,Zs as ba,Rt as bc,Y as bi,zn as bl,Xp as bn,Ra as bo,Rd as br,He as bs,u_ as bt,he as bu,Kv as c,xc as ca,kt as cc,du as ci,Mn as cl,hm as cn,Ao as co,df as cr,ke as cs,U_ as ct,ue as cu,Uv as d,gc as da,xr as dc,au as di,jn as dl,lm as dn,Ya as do,af as dr,Me as ds,y_ as dt,ee as du,Lc as ea,xt as ec,Du as ei,bn as el,Om as en,H as eo,Lf as er,ni as es,Y_ as et,br as eu,Bv as f,mc as fa,Sr as fc,ru as fi,On as fl,sm as fn,Ja as fo,nf as fr,Ne as fs,M_ as ft,ge as fu,Lv as g,oc as ga,Pt as gc,Yl as gi,Pn as gl,em as gn,Pa as go,Kd as gr,Re as gs,P_ as gt,ie as gu,Rv as h,cc as ha,Nt as hc,Zl as hi,yr as hl,tm as hn,Fa as ho,Jd as hr,Ie as hs,N_ as ht,b as hu,Qv as i,kc as ia,Tt as ic,yu as ii,wn as il,bm as in,Io as io,kf as ir,$r as is,z_ as it,m as iu,_v as j,Ss as ja,qt as jc,Tl as ji,Qn as jl,Op as jn,_a as jo,vd as jr,Ze as js,Zg as jt,E as ju,Cv as k,Is as ka,Xt as kc,Pl as ki,Xn as kl,Mp as kn,ha as ko,bd as kr,Xe as ks,Yg as kt,g as ku,Gv as l,yc as la,vr as lc,lu as li,Dn as ll,pm as ln,Oo as lo,lf as lr,Ae as ls,L_ as lt,O as lu,zv as m,uc as ma,jt as mc,$l as mi,Nn as ml,nm as mn,Ka as mo,Xd as mr,Fe as ms,j_ as mt,w as mu,ey as n,Nc as na,Ct as nc,Cu as ni,Sn as nl,wm as nn,zo as no,Nf as nr,ii as ns,G_ as nt,y as nu,qv as o,Tc as oa,Dt as oc,hu as oi,Tn as ol,vm as on,ko as oo,hf as or,Ar as os,H_ as ot,l as ou,Vv as p,fc as pa,Mt as pc,tu as pi,kn as pl,am as pn,qa as po,Qd as pr,Pe as ps,x_ as pt,ae as pu,iv as q,$o as qa,un as qc,Zc as qi,ur as ql,Xf as qn,Fi as qo,Hu as qr,pt as qs,Hm as qt,$v as r,jc as ra,wt as rc,xu as ri,Cn as rl,Sm as rn,V as ro,jf as rr,ei as rs,W_ as rt,p as ru,Jv as s,Cc as sa,Ot as sc,pu as si,En as sl,_m as sn,Do as so,pf as sr,Cr as ss,V_ as st,M as su,lD as t,Fc as ta,St as tc,Tu as ti,xn as tl,Em as tn,Bo as to,Ff as tr,ai as ts,X_ as tt,N as tu,Wv as u,vc as ua,At as uc,su as ui,An as ul,dm as un,Ga as uo,sf as ur,je as us,R_ as ut,D as uu,Mv as v,nc as va,Ft as vc,Gl as vi,In as vl,Qp as vn,Oa as vo,Hd as vr,ze as vs,f_ as vt,_ as vu,Dv as w,K as wa,Vt as wc,Ml as wi,Hn as wl,Hp as wn,Ba as wo,Ad as wr,Ge as ws,o_ as wt,u as wu,kv as x,Ys as xa,zt as xc,Vl as xi,Bn as xl,Jp as xn,La as xo,Id as xr,Be as xs,l_ as xt,de as xu,Nv as y,$s as ya,Lt as yc,Ul as yi,Rn as yl,Zp as yn,Sa as yo,Bd as yr,Ve as ys,d_ as yt,ne as yu,dv as z,hs as za,an as zc,J as zi,_r as zl,fp as zn,ia as zo,rd as zr,at as zs,Mh as zt};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.