PageSourceSearch

https://app.talkshoe.com/packs/js/1402-a7eb2f143ffa3326.chunk.js

js talkshoe.com collected 2026-09-24 09:05:52 UTC 3,683,384 bytes, 6,044 lines download raw bytes

1"use strict";(self.webpackChunkfacetalk=self.webpackChunkfacetalk||[]).push([["1402"],{531681(t,r,n){n.d(r,{o:()=>cU});var i={9452:t=>{var r=Object.prototype.hasOwnProperty,n="~";function i(){}function o(t,r,n){this.fn=t,this.context=r,this.once=n||!1}function a(t,r,i,a,s){if("function"!=typeof i)throw TypeError("The listener must be a function");var u=new o(i,a||t,s),l=n?n+r:r;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],u]:t._events[l].push(u):(t._events[l]=u,t._eventsCount++),t}function s(t,r){0==--t._eventsCount?t._events=new i:delete t._events[r]}function u(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(n=!1)),u.prototype.eventNames=function(){var t,i,o=[];if(0===this._eventsCount)return o;for(i in t=this._events)r.call(t,i)&&o.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},u.prototype.listeners=function(t){var r=n?n+t:t,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,a=i.length,s=Array(a);o<a;o++)s[o]=i[o].fn;return s},u.prototype.listenerCount=function(t){var r=n?n+t:t,i=this._events[r];return i?i.fn?1:i.length:0},u.prototype.emit=function(t,r,i,o,a,s){var u=n?n+t:t;if(!this._events[u])return!1;var l,h,c=this._events[u],f=arguments.length;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,i),!0;case 4:return c.fn.call(c.context,r,i,o),!0;case 5:return c.fn.call(c.context,r,i,o,a),!0;case 6:return c.fn.call(c.context,r,i,o,a,s),!0}for(h=1,l=Array(f-1);h<f;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var d,p=c.length;for(h=0;h<p;h++)switch(c[h].once&&this.removeListener(t,c[h].fn,void 0,!0),f){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,r);break;case 3:c[h].fn.call(c[h].context,r,i);break;case 4:c[h].fn.call(c[h].context,r,i,o);break;default:if(!l)for(d=1,l=Array(f-1);d<f;d++)l[d-1]=arguments[d];c[h].fn.apply(c[h].context,l)}}return!0},u.prototype.on=function(t,r,n){return a(this,t,r,n,!1)},u.prototype.once=function(t,r,n){return a(this,t,r,n,!0)},u.prototype.removeListener=function(t,r,i,o){var a=n?n+t:t;if(!this._events[a])return this;if(!r)return s(this,a),this;var u=this._events[a];if(u.fn)u.fn!==r||o&&!u.once||i&&u.context!==i||s(this,a);else{for(var l=0,h=[],c=u.length;l<c;l++)(u[l].fn!==r||o&&!u[l].once||i&&u[l].context!==i)&&h.push(u[l]);h.length?this._events[a]=1===h.length?h[0]:h:s(this,a)}return this},u.prototype.removeAllListeners=function(t){var r;return t?(r=n?n+t:t,this._events[r]&&s(this,r)):(this._events=new i,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=n,u.EventEmitter=u,t.exports=u},3161:function(t){t.exports=function(){var t=[function(t,r,n){Object.defineProperty(r,"__esModule",{value:!0}),r.isNotPNG=function(t){return t===s},r.isNotAPNG=function(t){return t===u},r.default=function(t){var r=new Uint8Array(t);if(Array.prototype.some.call(l,function(t,n){return t!==r[n]}))return s;var n=!1;if(h(r,function(t){return!(n="acTL"===t)}),!n)return u;var i=[],o=[],p=null,y=null,m=0,g=new a.APNG;if(h(r,function(t,r,n,s){var u=new DataView(r.buffer);switch(t){case"IHDR":p=r.subarray(n+8,n+8+s),g.width=u.getUint32(n+8),g.height=u.getUint32(n+12);break;case"acTL":g.numPlays=u.getUint32(n+8+4);break;case"fcTL":y&&(g.frames.push(y),m++),(y=new a.Frame).width=u.getUint32(n+8+4),y.height=u.getUint32(n+8+8),y.left=u.getUint32(n+8+12),y.top=u.getUint32(n+8+16);var l=u.getUint16(n+8+20),h=u.getUint16(n+8+22);0===h&&(h=100),y.delay=1e3*l/h,y.delay<=10&&(y.delay=100),g.playTime+=y.delay,y.disposeOp=u.getUint8(n+8+24),y.blendOp=u.getUint8(n+8+25),y.dataParts=[],0===m&&2===y.disposeOp&&(y.disposeOp=1);break;case"fdAT":y&&y.dataParts.push(r.subarray(n+8+4,n+8+s));break;case"IDAT":y&&y.dataParts.push(r.subarray(n+8,n+8+s));break;case"IEND":o.push(c(r,n,12+s));break;default:i.push(c(r,n,12+s))}}),y&&g.frames.push(y),0==g.frames.length)return u;var v=new Blob(i),b=new Blob(o);
1return g.frames.forEach(function(t){var r=[];r.push(l),p.set(d(t.width),0),p.set(d(t.height),4),r.push(f("IHDR",p)),r.push(v),t.dataParts.forEach(function(t){return r.push(f("IDAT",t))}),r.push(b),t.imageData=new Blob(r,{type:"image/png"}),delete t.dataParts,r=null}),g};var i=n(1),o=i&&i.__esModule?i:{default:i},a=n(2),s=Error("Not a PNG"),u=Error("Not an animated PNG"),l=new Uint8Array([137,80,78,71,13,10,26,10]);function h(t,r){var n=new DataView(t.buffer),i=8,o=void 0,a=void 0,s=void 0;do a=n.getUint32(i),s=r(o=function(t,r){var n=Array.prototype.slice.call(t.subarray(r,r+4));return String.fromCharCode.apply(String,n)}(t,i+4),t,i,a),i+=12+a;while(!1!==s&&"IEND"!=o&&i<t.length)}function c(t,r,n){var i=new Uint8Array(n);return i.set(t.subarray(r,r+n)),i}var f=function(t,r){var n=t.length+r.length,i=new Uint8Array(n+8),a=new DataView(i.buffer);a.setUint32(0,r.length),i.set(function(t){for(var r=new Uint8Array(t.length),n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}(t),4),i.set(r,8);var s=(0,o.default)(i,4,n);return a.setUint32(n+4,s),i},d=function(t){return new Uint8Array([t>>>24&255,t>>>16&255,t>>>8&255,255&t])}},function(t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=-1,o=r,a=r+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length-r);o<a;o++)i=i>>>8^n[255&(i^t[o])];return~i};for(var n=new Uint32Array(256),i=0;i<256;i++){for(var o=i,a=0;a<8;a++)o=1&o?0xedb88320^o>>>1:o>>>1;n[i]=o}},function(t,r,n){Object.defineProperty(r,"__esModule",{value:!0}),r.Frame=r.APNG=void 0;var i=function(){function t(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(r,n,i){return n&&t(r.prototype,n),i&&t(r,i),r}}(),o=n(3),a=o&&o.__esModule?o:{default:o};function s(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}r.APNG=function(){function t(){s(this,t),this.width=0,this.height=0,this.numPlays=0,this.playTime=0,this.frames=[]}return i(t,[{key:"createImages",value:function(){return Promise.all(this.frames.map(function(t){return t.createImage()}))}},{key:"getPlayer",value:function(t){var r=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.createImages().then(function(){return new a.default(r,t,n)})}}]),t}(),r.Frame=function(){function t(){s(this,t),this.left=0,this.top=0,this.width=0,this.height=0,this.delay=0,this.disposeOp=0,this.blendOp=0,this.imageData=null,this.imageElement=null}return i(t,[{key:"createImage",value:function(){var t=this;return this.imageElement?Promise.resolve():new Promise(function(r,n){var i=URL.createObjectURL(t.imageData);t.imageElement=document.createElement("img"),t.imageElement.onload=function(){URL.revokeObjectURL(i),r()},t.imageElement.onerror=function(){URL.revokeObjectURL(i),t.imageElement=null,n(Error("Image creation error"))},t.imageElement.src=i})}}]),t}()},function(t,r,n){Object.defineProperty(r,"__esModule",{value:!0});var i=function(){function t(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(r,n,i){return n&&t(r.prototype,n),i&&t(r,i),r}}(),o=n(4);r.default=function(t){function r(t,n,i){if(!(this instanceof r))throw TypeError("Cannot call a class as a function");var o=function(t,r){if(!t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return r&&("object"==typeof r||"function"==typeof r)?r:t}(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return o.playbackRate=1,o._currentFrameNumber=0,o._ended=!1,o._paused=!0,o._numPlays=0,o._rafId=null,o._apng=t,o.context=n,o.stop(),i&&o.play(),o}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function, not "+typeof r);t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),r&&(Object.setPrototypeOf?Object.setPrototypeOf(t,r):t.__proto__=r)}(r,t),i(r,[{key:"renderNextFrame",value:function(){this._currentFrameNumber=(this._currentFrameNumber+1)%this._apng.frames.length,this._currentFrameNumber===this._apng.frames.length-1&&(this._numPlays++,0!==this._apng.numPlays&&this._numPlays>=this._apng.numPlays&&(this._ended=!0,this._paused=!0)),this._prevFrame&&1==this._prevFrame.disposeOp?this.context.clearRect(this._prevFrame.left,this._prevFrame.top,this._prevFrame.width,this._prevFrame.height):this._prevFrame&&2==this._prevFrame.disposeOp&&this.context.putImageData(this._prevFrameData,this._prevFrame.left,this._prevFrame.top);var t=this.currentFrame;this._prevFrame=t,this._prevFrameData=null,2==t.disposeOp&&(this._prevFrameData=this.context.getImageData(t.left,t.top,t.width,t.height)),0==t.blendOp&&this.context.clearRect(t.left,t.top,t.width,t.height),this.context.drawImage(t.imageElement,t.left,t.top),this.emit
1("frame",this._currentFrameNumber),this._ended&&this.emit("end")}},{key:"play",value:function(){var t=this;this._rafId&&cancelAnimationFrame(this._rafId),this.emit("play"),this._ended&&this.stop(),this._paused=!1;var r=performance.now()+this.currentFrame.delay/this.playbackRate;this._rafId=requestAnimationFrame(function n(i){if(!t._ended&&!t._paused){if(i>=r){for(;i-r>=t._apng.playTime/t.playbackRate;)r+=t._apng.playTime/t.playbackRate,t._numPlays++;do t.renderNextFrame(),r+=t.currentFrame.delay/t.playbackRate;while(!t._ended&&!t._paused&&i>r)}t._rafId=requestAnimationFrame(n)}})}},{key:"pause",value:function(){this._paused||(this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=null),this.emit("pause"),this._paused=!0)}},{key:"stop",value:function(){this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=null),this.emit("stop"),this._numPlays=0,this._ended=!1,this._paused=!0,this._currentFrameNumber=-1,this.context.clearRect(0,0,this._apng.width,this._apng.height),this.renderNextFrame()}},{key:"currentFrameNumber",get:function(){return this._currentFrameNumber}},{key:"currentFrame",get:function(){return this._apng.frames[this._currentFrameNumber]}},{key:"paused",get:function(){return this._paused}},{key:"ended",get:function(){return this._ended}}]),r}((o&&o.__esModule?o:{default:o}).default)},function(t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return"function"==typeof t}function o(t){return"object"==typeof t&&null!==t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},n.prototype.emit=function(t){var r,n,a,s,u,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((r=arguments[1])instanceof Error)throw r;var h=Error('Uncaught, unspecified "error" event. ('+r+")");throw h.context=r,h}if(void 0===(n=this._events[t]))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(o(n))for(s=Array.prototype.slice.call(arguments,1),a=(l=n.slice()).length,u=0;u<a;u++)l[u].apply(this,s);return!0},n.prototype.addListener=function(t,r){var a;if(!i(r))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,i(r.listener)?r.listener:r),this._events[t]?o(this._events[t])?this._events[t].push(r):this._events[t]=[this._events[t],r]:this._events[t]=r,o(this._events[t])&&!this._events[t].warned&&(a=void 0===this._maxListeners?n.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[t].length>a&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,r){if(!i(r))throw TypeError("listener must be a function");var n=!1;function o(){this.removeListener(t,o),n||(n=!0,r.apply(this,arguments))}return o.listener=r,this.on(t,o),this},n.prototype.removeListener=function(t,r){var n,a,s,u;if(!i(r))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(s=(n=this._events[t]).length,a=-1,n===r||i(n.listener)&&n.listener===r)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,r);else if(o(n)){for(u=s;u-- >0;)if(n[u]===r||n[u].listener&&n[u].listener===r){a=u;break}if(a<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(a,1),this._events.removeListener&&this.emit("removeListener",t,r)}return this},n.prototype.removeAllListeners=function(t){var r,n;if(!this._events)return this;if(!this._events.removeListener)return 0==arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0==arguments.length){for(r in this._events)"removeListener"!==r&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[t]))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var r=this._events[t];if(i(r))return 1;if(r)return r.length}return 0},n.listenerCount=function(t,r){return t.listenerCount(r)}}],r={};function n(i){if(r[i])return r[i].exports;var o=r[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}return n.m=t,n.c=r,n.p="",n(0)}()},2505:(t,r,n)=>{t.exports=n(8015)},5592:(t,r,n)=>{var i=n(9516),o=n(7522),a=n(3948),s=n(9106),u=n(9615),l=n(2012),h=n(4202),c=n(7763),f=n(4896),d=n(1928);t.exports=function(t){return new Promise(function(r,n){var p,y=t.data,m=t.headers,g=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(p),t.signal&&t.signal.removeEventListener("abort",p)}i.isFormData(y)&&delete m["Content-Type"];var b=new XMLHttpRequest;t.auth&&(m.Authorization="Basic "+btoa((t.auth.username||"")+":"+(t.auth.password?unescape(encodeURIComponent(t.auth.password)):"")));var w=u(t.baseURL,t.url);function x(){if(b){var i="getAllResponseHeaders"in b?l(b.getAllResponseHeaders()):null;o(function(t){r(t),v()},function(t){n(t),v()},{data:g&&"text"!==g&&"json"!==g?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:i,config:t,request:b}),b=null}}if(b.open(t.method.toUpperCase(),s(w,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=x:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(x)},b.onabort=function(){b&&(n(c("Request aborted",t,"ECONNABORTED",b)),b=null)},b.onerror=function(){n(c("Network Error",t,null,b)),b=null},b.ontimeout=function(){var r=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",i=t.transitional||f;t.timeoutErrorMessage&&(r=t.timeoutErrorMessage),n(c(r,t,i.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},i.isStandardBrowserEnv()){var _=(t.withCredentials||h(w))&&t.xsrfCookieName?a.read(t.xsrfCookieName):void 0;_&&(m[t.xsrfHeaderName]=_)}
1"setRequestHeader"in b&&i.forEach(m,function(t,r){void 0===y&&"content-type"===r.toLowerCase()?delete m[r]:b.setRequestHeader(r,t)}),i.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),g&&"json"!==g&&(b.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(p=function(t){b&&(n(!t||t&&t.type?new d("canceled"):t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(p),t.signal&&(t.signal.aborted?p():t.signal.addEventListener("abort",p))),y||(y=null),b.send(y)})}},8015:(t,r,n)=>{var i=n(9516),o=n(9012),a=n(5155),s=n(5343),u=function t(r){var n=new a(r),u=o(a.prototype.request,n);return i.extend(u,a.prototype,n),i.extend(u,n),u.create=function(n){return t(s(r,n))},u}(n(7412));u.Axios=a,u.Cancel=n(1928),u.CancelToken=n(3191),u.isCancel=n(3864),u.VERSION=n(9641).version,u.all=function(t){return Promise.all(t)},u.spread=n(7980),u.isAxiosError=n(5019),t.exports=u,t.exports.default=u},1928:t=>{function r(t){this.message=t}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,t.exports=r},3191:(t,r,n)=>{var i=n(1928);function o(t){if("function"!=typeof t)throw TypeError("executor must be a function.");this.promise=new Promise(function(t){r=t});var r,n=this;this.promise.then(function(t){if(n._listeners){var r,i=n._listeners.length;for(r=0;r<i;r++)n._listeners[r](t);n._listeners=null}}),this.promise.then=function(t){var r,i=new Promise(function(t){n.subscribe(t),r=t}).then(t);return i.cancel=function(){n.unsubscribe(r)},i},t(function(t){n.reason||(n.reason=new i(t),r(n.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},o.prototype.unsubscribe=function(t){if(this._listeners){var r=this._listeners.indexOf(t);-1!==r&&this._listeners.splice(r,1)}},o.source=function(){var t;return{token:new o(function(r){t=r}),cancel:t}},t.exports=o},3864:t=>{t.exports=function(t){return!(!t||!t.__CANCEL__)}},5155:(t,r,n)=>{var i=n(9516),o=n(9106),a=n(3471),s=n(4490),u=n(5343),l=n(4841),h=l.validators;function c(t){this.defaults=t,this.interceptors={request:new a,response:new a}}c.prototype.request=function(t,r){"string"==typeof t?(r=r||{}).url=t:r=t||{},(r=u(this.defaults,r)).method?r.method=r.method.toLowerCase():this.defaults.method?r.method=this.defaults.method.toLowerCase():r.method="get";var n=r.transitional;void 0!==n&&l.assertOptions(n,{silentJSONParsing:h.transitional(h.boolean),forcedJSONParsing:h.transitional(h.boolean),clarifyTimeoutError:h.transitional(h.boolean)},!1);var i=[],o=!0;this.interceptors.request.forEach(function(t){"function"==typeof t.runWhen&&!1===t.runWhen(r)||(o=o&&t.synchronous,i.unshift(t.fulfilled,t.rejected))});var a,c=[];if(this.interceptors.response.forEach(function(t){c.push(t.fulfilled,t.rejected)}),!o){var f=[s,void 0];for(Array.prototype.unshift.apply(f,i),f=f.concat(c),a=Promise.resolve(r);f.length;)a=a.then(f.shift(),f.shift());return a}for(var d=r;i.length;){var p=i.shift(),y=i.shift();try{d=p(d)}catch(t){y(t);break}}try{a=s(d)}catch(t){return Promise.reject(t)}for(;c.length;)a=a.then(c.shift(),c.shift());return a},c.prototype.getUri=function(t){return o((t=u(this.defaults,t)).url,t.params,t.paramsSerializer).replace(/^\?/,"")}
1,i.forEach(["delete","get","head","options"],function(t){c.prototype[t]=function(r,n){return this.request(u(n||{},{method:t,url:r,data:(n||{}).data}))}}),i.forEach(["post","put","patch"],function(t){c.prototype[t]=function(r,n,i){return this.request(u(i||{},{method:t,url:r,data:n}))}}),t.exports=c},3471:(t,r,n)=>{var i=n(9516);function o(){this.handlers=[]}o.prototype.use=function(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){i.forEach(this.handlers,function(r){null!==r&&t(r)})},t.exports=o},9615:(t,r,n)=>{var i=n(9137),o=n(4680);t.exports=function(t,r){return t&&!i(r)?o(t,r):r}},7763:(t,r,n)=>{var i=n(5449);t.exports=function(t,r,n,o,a){return i(Error(t),r,n,o,a)}},4490:(t,r,n)=>{var i=n(9516),o=n(2881),a=n(3864),s=n(7412),u=n(1928);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new u("canceled")}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=i.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),i.forEach(["delete","get","head","post","put","patch","common"],function(r){delete t.headers[r]}),(t.adapter||s.adapter)(t).then(function(r){return l(t),r.data=o.call(t,r.data,r.headers,t.transformResponse),r},function(r){return a(r)||(l(t),r&&r.response&&(r.response.data=o.call(t,r.response.data,r.response.headers,t.transformResponse))),Promise.reject(r)})}},5449:t=>{t.exports=function(t,r,n,i,o){return t.config=r,n&&(t.code=n),t.request=i,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},5343:(t,r,n)=>{var i=n(9516);t.exports=function(t,r){r=r||{};var n={};function o(t,r){return i.isPlainObject(t)&&i.isPlainObject(r)?i.merge(t,r):i.isPlainObject(r)?i.merge({},r):i.isArray(r)?r.slice():r}function a(n){return i.isUndefined(r[n])?i.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],r[n])}function s(t){if(!i.isUndefined(r[t]))return o(void 0,r[t])}function u(n){return i.isUndefined(r[n])?i.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,r[n])}function l(n){return n in r?o(t[n],r[n]):n in t?o(void 0,t[n]):void 0}var h={url:s,method:s,data:s,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:l};return i.forEach(Object.keys(t).concat(Object.keys(r)),function(t){var r=h[t]||a,o=r(t);i.isUndefined(o)&&r!==l||(n[t]=o)}),n}},7522:(t,r,n)=>{var i=n(7763);t.exports=function(t,r,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?r(i("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},2881:(t,r,n)=>{var i=n(9516),o=n(7412);t.exports=function(t,r,n){var a=this||o;return i.forEach(n,function(n){t=n.call(a,t,r)}),t}},7412:(t,r,n)=>{var i=n(5606),o=n(9516),a=n(7018),s=n(5449),u=n(4896),l={"Content-Type":"application/x-www-form-urlencoded"};function h(t,r){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=r)}var c,f={transitional:u,adapter:(("u">typeof XMLHttpRequest||void 0!==i&&"[object process]"===Object.prototype.toString.call(i))&&(c=n(5592)),c),transformRequest:[function(t,r){return a(r,"Accept"),a(r,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(h(r,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)||r&&"application/json"===r["Content-Type"]?(h(r,"application/json"),function(t){if(o.isString(t))try{return(0,JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var r=this.transitional||f.transitional,n=r&&r.silentJSONParsing,i=r&&r.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||i&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(a){if("SyntaxError"===t.name)throw s(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],function(t){f.headers[t]={}}),o.forEach(["post","put","patch"],function(t){f.headers[t]=o.merge(l)}),t.exports=f},4896:t=>{t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},9641:t=>{t.exports={version:"0.26.1"}},9012:t=>{t.exports=function(t,r){return function(){for(var n=Array(arguments.length),i=0;i<n.length;i++)n[i]=arguments[i];return t.apply(r,n)}}},9106:(t,r,n)=>{var i=n(9516);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,r,n){if(!r)return t;if(n)a=n(r);else if(i.isURLSearchParams(r))a=r.toString();else{var a,s=[];
1i.forEach(r,function(t,r){null!=t&&(i.isArray(t)?r+="[]":t=[t],i.forEach(t,function(t){i.isDate(t)?t=t.toISOString():i.isObject(t)&&(t=JSON.stringify(t)),s.push(o(r)+"="+o(t))}))}),a=s.join("&")}if(a){var u=t.indexOf("#");-1!==u&&(t=t.slice(0,u)),t+=(-1===t.indexOf("?")?"?":"&")+a}return t}},4680:t=>{t.exports=function(t,r){return r?t.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):t}},3948:(t,r,n)=>{var i=n(9516);t.exports=i.isStandardBrowserEnv()?{write:function(t,r,n,o,a,s){var u=[];u.push(t+"="+encodeURIComponent(r)),i.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),i.isString(o)&&u.push("path="+o),i.isString(a)&&u.push("domain="+a),!0===s&&u.push("secure"),document.cookie=u.join("; ")},read:function(t){var r=document.cookie.match(RegExp("(^|;\\s*)("+t+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},9137:t=>{t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},5019:(t,r,n)=>{var i=n(9516);t.exports=function(t){return i.isObject(t)&&!0===t.isAxiosError}},4202:(t,r,n)=>{var i=n(9516);t.exports=i.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var i=t;return r&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(r){var n=i.isString(r)?o(r):r;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},7018:(t,r,n)=>{var i=n(9516);t.exports=function(t,r){i.forEach(t,function(n,i){i!==r&&i.toUpperCase()===r.toUpperCase()&&(t[r]=n,delete t[i])})}},2012:(t,r,n)=>{var i=n(9516),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var r,n,a,s={};return t&&i.forEach(t.split(`
2`),function(t){a=t.indexOf(":"),r=i.trim(t.substr(0,a)).toLowerCase(),n=i.trim(t.substr(a+1)),r&&(s[r]&&o.indexOf(r)>=0||(s[r]="set-cookie"===r?(s[r]?s[r]:[]).concat([n]):s[r]?s[r]+", "+n:n))}),s}},7980:t=>{t.exports=function(t){return function(r){return t.apply(null,r)}}},4841:(t,r,n)=>{var i=n(9641).version,o={};["object","boolean","number","function","string","symbol"].forEach(function(t,r){o[t]=function(n){return typeof n===t||"a"+(r<1?"n ":" ")+t}});var a={};o.transitional=function(t,r,n){function o(t,r){return"[Axios v"+i+"] Transitional option '"+t+"'"+r+(n?". "+n:"")}return function(n,i,s){if(!1===t)throw Error(o(i," has been removed"+(r?" in "+r:"")));return r&&!a[i]&&(a[i]=!0,console.warn(o(i," has been deprecated since v"+r+" and will be removed in the near future"))),!t||t(n,i,s)}},t.exports={assertOptions:function(t,r,n){if("object"!=typeof t)throw TypeError("options must be an object");for(var i=Object.keys(t),o=i.length;o-- >0;){var a=i[o],s=r[a];if(s){var u=t[a],l=void 0===u||s(u,a,t);if(!0!==l)throw TypeError("option "+a+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+a)}},validators:o}},9516:(t,r,n)=>{var i=n(9012),o=Object.prototype.toString;function a(t){return Array.isArray(t)}function s(t){return void 0===t}function u(t){return"[object ArrayBuffer]"===o.call(t)}function l(t){return null!==t&&"object"==typeof t}function h(t){if("[object Object]"!==o.call(t))return!1;var r=Object.getPrototypeOf(t);return null===r||r===Object.prototype}function c(t){return"[object Function]"===o.call(t)}function f(t,r){if(null!=t)if("object"!=typeof t&&(t=[t]),a(t))for(var n=0,i=t.length;n<i;n++)r.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&r.call(null,t[o],o,t)}t.exports={isArray:a,isArrayBuffer:u,isBuffer:function(t){return null!==t&&!s(t)&&null!==t.constructor&&!s(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){return"[object FormData]"===o.call(t)},isArrayBufferView:function(t){return"u">typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&u(t.buffer)},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:l,isPlainObject:h,isUndefined:s,isDate:function(t){return"[object Date]"===o.call(t)},isFile:function(t){return"[object File]"===o.call(t)},isBlob:function(t){return"[object Blob]"===o.call(t)},isFunction:c,isStream:function(t){return l(t)&&c(t.pipe)},isURLSearchParams:function(t){return"[object URLSearchParams]"===o.call(t)},isStandardBrowserEnv:function(){return("u"<typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"u">typeof window&&"u">typeof document},forEach:f,merge:function t(){var r={};function n(n,i){h(r[i])&&h(n)?r[i]=t(r[i],n):h(n)?r[i]=t({},n):a(n)?r[i]=n.slice():r[i]=n}for(var i=0,o=arguments.length;i<o;i++)f(arguments[i],n);return r},extend:function(t,r,n){return f(r,function(r,o){t[o]=n&&"function"==typeof r?i(r,n):r}),t},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t}}},4509:(t,r,n)=>{n.d(r,{U:()=>nM,Z:()=>nF});let i={modelHeight:256,modelWidth:256,modelPediod_ms:1e3,filterPart:100,cc_power:100};n(8592);var o,a,s=n(9672);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(){l=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",h=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function f(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{f({},"")}catch(t){f=function(t,r,n){return t[r]=n}}function d(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof b?n:b).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new k(a||[]),h=y,function(r,n){if(h===m)throw Error("Generator is already running");if(h===g){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,336 bytes, line 2
2(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),v;var s=p(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,v;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,v):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,v)}(i,l);if(o){if(o===v)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===y)throw h=g,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=m;var a=p(s,u,l);if("normal"===a.type){if(h=l.done?g:"suspendedYield",a.arg===v)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=g,l.method="throw",l.arg=a.arg)}})}),c}function p(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var y="suspendedStart",m="executing",g="completed",v={};function b(){}function w(){}function x(){}var _={};f(_,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(C([])));S&&S!==n&&i.call(S,s)&&(_=S);var E=x.prototype=b.prototype=Object.create(_);function O(t){["next","throw","return"].forEach(function(r){f(t,r,function(t){return this._invoke(r,t)})})}function A(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,l){var h=p(t[o],t,a);if("throw"!==h.type){var c=h.arg,f=c.value;return f&&"object"==u(f)&&i.call(f,"__await")?r.resolve(f.__await).then(function(t){n("next",t,s,l)},function(t){n("throw",t,s,l)}):r.resolve(f).then(function(t){c.value=t,s(c)},function(t){return n("throw",t,s,l)})}l(h.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function I(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function P(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function C(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(u(r)+" is not iterable")}return w.prototype=x,o(E,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:w,configurable:!0}),w.displayName=f(x,c,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,f(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},O(A.prototype),f(A.prototype,h,function(){return this}),r.AsyncIterator=A,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new A(d(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},O(E),f(E,c,"Generator"),f(E,s,function(){return this}),f(E,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=C,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),v},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),v}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
2if("throw"===i.type){var o=i.arg;P(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:C(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),v}},r}function h(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function c(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){h(a,i,o,s,u,"next",t)}function u(t){h(a,i,o,s,u,"throw",t)}s(void 0)})}}var f=(rU=function t(r){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.enabled=!1,this.requireSyncDraw=!1,this.requireDraw=!0,this.requireNextFrame=!1,this.sdkOptions=r},rj=[{key:"useResources",value:function(t){this.resources=t}},{key:"init",value:(rF=c(l().mark(function t(r){return l().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.inference=r,t.prev=1,this.modelConfig){t.next=4;break}throw Error("Model configuration not found for ".concat(this.name));case 4:return t.next=6,this.inference.sessionManager.init(this.modelConfig);case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(1),s.bv.notify({message:"Effect inference initialization issue for ".concat(this.name),type:s.By.ERROR,code:s.O4.EFFECT_INITIALIZATION_ISSUE,emitter:s.JK.ABSTRACT_EFFECT,data:{effect_name:this.name},cause:t.t0}),t.abrupt("return");case 12:s.bv.notify({message:"Effect inference succesfully initialized for ".concat(this.name),type:s.By.INFO,code:s.O4.EFFECT_INITIALIZATION_SUCCESS,emitter:s.JK.ABSTRACT_EFFECT,data:{effect_name:this.name}});case 13:case"end":return t.stop()}},t,this,[[1,8]])})),function(t){return rF.apply(this,arguments)})},{key:"process",value:(rN=c(l().mark(function t(r){return l().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}},t)})),function(t){return rN.apply(this,arguments)})},{key:"nextFrame",value:function(t){}},{key:"enable",value:function(){this.enabled=!0}},{key:"disable",value:function(){this.enabled=!1}},{key:"prepare",value:function(){}},{key:"clearBuffers",value:function(){}},{key:"destroy",value:function(){}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=u(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=u(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==u(r)?r:r+""}(i.key),i)}}(rU.prototype,rj),Object.defineProperty(rU,"prototype",{writable:!1}),rU),d=n(5034);function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=p(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=p(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==p(r)?r:r+""}(i.key),i)}}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(m=function(){return!!t})()}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function v(t,r){return(v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var b=function(t){var r,n;function i(){var t,r,n;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(n=[void 0,`varying vec2 vTextureCoord;
3uniform sampler2D uSampler;
4uniform sampler2D uLUT;
5uniform float uFilterPart;
6uniform float uFilterPower;
7
8float clampedCoord(float coord) {
9  float min = 0.5 / 198.0;
10  float max = 1.0 - min;
11  return clamp(coord, min, max);
12}
13
14float clampColor(float color) {
15  float min = 1.0 / 256.0;
16  float max = 1.0 / 6.0 - min;
17  return clamp(color, min, max);
18}
19
20vec4 newColor(float rectNum, vec2 coord) {
21  vec2 bCoord = vec2(mod(rectNum, 6.0) / 6.0, floor(rectNum / 6.0) / 6.0);
22  vec2 lutTextureCoord = vec2(clampedCoord(coord.r + bCoord.r), clampedCoord(coord.g + bCoord.g));
23  return texture2D(uLUT, lutTextureCoord);
24}
25
26void main() {
27  vec4 color = texture2D(uSampler, vTextureCoord);
28
29  if (vTextureCoord.x > uFilterPart) {
30    gl_FragColor = color;
31    return;
32  }
33
34  vec2 rgCoord = vec2(clampColor(color.r / 6.0), clampColor(color.g / 6.0));
35
36  //. Count number of the LUT-cell
37  float rectNumReal = color.b * 32.0;
38  float rectNumMin = floor(rectNumReal);
39  float rectNumMax = ceil(rectNumReal);
40
41  vec4 colorLut1 = newColor(rectNumMin, rgCoord);
42  vec4 colorLut2 = newColor(rectNumMax, rgCoord);
43
44  vec3 interpolatedColor = mix(colorLut1.rgb, colorLut2.rgb, rectNumReal - rectNumMin);
45
46  //. Add filter power
47  vec3 resultColor = mix(color.rgb, interpolatedColor.rgb, uFilterPower);
48
49  gl_FragColor = vec4(resultColor.rgb, color.a);
50}
51`,{uFilterPart:1,uFilterPower:1}],r=g(r=i),t=function(t,r){if(r&&("object"==p(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,m()?Reflect.construct(r,n||[],g(this).constructor):r.apply(this,n))).lutTextureHeight=198,t.lutTextureWidth=198,t}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&v(t,r)}(i,t),r=[{key:"setLUT",value:function(t,r){var n;null==(n=this.lutTexture)||n.destroy(!0),this.onLutDestroyedCallback&&this.onLutDestroyedCallback(),this.lutTexture=d.Texture.fromBuffer(t,this.lutTextureWidth,this.lutTextureHeight,{scaleMode:1}),this.onLutDestroyedCallback=r,this.uniforms.uLUT=this.lutTexture}},{key:"setFilterPart",value:function(t){t=Math.min(1,Math.max(0,t)),this.uniforms.uFilterPart=t}},{key:"setFilterPower",value:function(t){t=Math.min(1,Math.max(0,t)),this.uniforms.uFilterPower=t}}],y(i.prototype,r),n&&y(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter),w=n(8380);function x(t){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _(){_=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new k(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(C([])));S&&S!==n&&i.call(S,s)&&(w=S);var E=b.prototype=g.prototype=Object.create(w);function O(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function A(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==x(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function I(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function P(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function C(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(x(r)+" is not iterable")}return v.prototype=b,o(E,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},O(A.prototype),h(A.prototype,u,function(){return this}),r.AsyncIterator=A,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new A(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},O(E),h(E,l,"Generator"),h(E,s,function(){return this}),h(E,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=C,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
51h(P),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;P(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:C(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function T(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function S(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){T(a,i,o,s,u,"next",t)}function u(t){T(a,i,o,s,u,"throw",t)}s(void 0)})}}function E(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=x(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=x(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==x(r)?r:r+""}(i.key),i)}}function O(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(O=function(){return!!t})()}function A(t,r,n,i){var o=I(P(1&i?t.prototype:t),r,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function I(){return(I="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=P(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function P(t){return(P=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function k(t,r){return(k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var C=function(t){var r,n,o,a,u;function l(t){var r,n,o;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,l),(n=l,o=[t],n=P(n),r=function(t,r){if(r&&("object"==x(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,O()?Reflect.construct(n,o||[],P(this).constructor):n.apply(this,o))).name=nM.COLOR_CORRECION,r.priority=7,r.hasLUT=!1,r.inWork=!1,r.config=Object.assign({},i),r.filterName="color-correction",r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&k(t,r)}(l,t),r=[{key:"init",value:(u=S(_().mark(function t(r){return _().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.modelConfig||(this.modelConfig={modelPath:w.y.getModelUrl(w.y.MODELS.colorcorrector),backend:"wasm",nchw:!1}),t.next=3,A(l,"init",this,3)([r]);case 3:case"end":return t.stop()}},t,this)})),function(t){return u.apply(this,arguments)})},{key:"prepare",value:function(){this.ccFilter=new b}},{key:"process",value:(a=S(_().mark(function t(r){return _().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:this.modelTexture||(this.modelTexture=this.resources.texturePool.get(this.config.modelWidth,this.config.modelHeight)),r.sprite.width=this.config.modelWidth,r.sprite.height=this.config.modelHeight,this.resources.renderer.renderTo(r.sprite,this.modelTexture),r.sprite.width=this.sdkOptions.width,r.sprite.height=this.sdkOptions.height,this.modelProcess(),this.hasLUT&&this.resources.filters.set(this.filterName,this.ccFilter);case 10:case"end":return t.stop()}},t,this)})),function(t){return a.apply(this,arguments)})},{key:"disable",value:function(){A(l,"disable",this,3)([]),this.resources.filters.delete(this.filterName)}
51},{key:"modelProcess",value:(o=S(_().mark(function t(){var r,n,i,o,a,u,l,h=this;return _().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.inWork){t.next=2;break}return t.abrupt("return");case 2:if(this.checkTimer()){t.next=4;break}return t.abrupt("return");case 4:return this.inWork=!0,n=(r=this.config).modelHeight,i=r.modelWidth,t.next=8,this.resources.renderer.pixelsAsync(this.modelTexture,{pool:this.resources.bufferPool});case 8:return o=t.sent,a=this.resources.bufferPool.getBuffer("f32",n*i*3),function(t,r,n,i){for(var o=n*r,a=2*n*r,s=0;s<i.length/3;s++)i[0+s]=t[4*s],i[o+s]=t[4*s+1],i[a+s]=t[4*s+2]}(o,i,n,a),this.resources.bufferPool.returnBuffer(o),u={output:{data:this.resources.bufferPool.getBuffer("f32",107811),dims:[3,33,33,33]}},t.next=15,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 15:return l=t.sent,t.abrupt("return",this.inference.run(l,a,i,n,3,u).then(function(t){h.resources.bufferPool.returnBuffer(t.inputBack.data);var r=h.resources.bufferPool.getBuffer("u8",156816);(function(t,r){var n=t.tensor.output.data,i=new Uint8ClampedArray(r.buffer),o={value:0,isNil:function(){return 0===o.value},setDefault:function(){return o.value=1089},dec:function(){return o.value--}};o.setDefault();for(var a=0,s=0,u=function(t,r){return 4*(33*(6*s+a)+r%33)+t},l=function(t){[t,35937+t,71874+t].forEach(function(r,o){i[u(o,t)]=255*n[r]}),i[u(3,t)]=255,o.dec(),t%33==32&&s++,o.isNil()&&(o.setDefault(),++a>=6?a=0:s-=33)},h=0;h<35937;h++)l(h)})({tensor:t},r),h.resources.bufferPool.returnBuffer(t.output.data),h.ccFilter.setLUT(r,function(){h.resources.bufferPool.returnBuffer(r)}),h.hasLUT=!0}).catch(function(t){var r;s.bv.notify({message:null!=(r=t.message)?r:t,type:s.By.ERROR,code:s.O4.INFERENCE_RUN_ISSUE,emitter:s.JK.EFFECT_COLOR_CORRECTION,cause:t})}).finally(function(){h.inWork=!1}));case 17:case"end":return t.stop()}},t,this)})),function(){return o.apply(this,arguments)})},{key:"setConfig",value:function(t,r){this.config[t]=r,"filterPart"===t&&this.ccFilter.setFilterPart(r),"cc_power"===t&&this.ccFilter.setFilterPower(r)}},{key:"checkTimer",value:function(){return this.modelTimer?(performance.now()-this.modelTimer<this.config.modelPediod_ms||(this.modelTimer=0),!1):(this.modelTimer=performance.now(),!0)}},{key:"destroy",value:function(){this.inference.sessionManager.releaseSession(this.modelConfig.modelPath)}}],E(l.prototype,r),n&&E(l,n),Object.defineProperty(l,"prototype",{writable:!1}),l}(f);function $(t){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function R(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=$(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=$(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==$(r)?r:r+""}(i.key),i)}}function D(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(D=function(){return!!t})()}function M(t){return(M=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function L(t,r){return(L=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var B=function(t){var r,n;function i(t){var r,n,o,a,s,u;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(s=i,u=[void 0,`varying vec2 vTextureCoord;
52
53uniform sampler2D uSampler;
54uniform sampler2D uLUT;
55
56uniform float uFilterPart;
57uniform float uFilterPower;
58uniform float uLutSize;
59uniform float uNormalizator;
60uniform float uHalfPx;
61uniform int uEdges;
62uniform int uEnabled;
63
64vec4 newColor(float rectNum, vec2 coord) {
65  int num = int(rectNum);
66  int red = num - uEdges * (num / uEdges);
67  int green = num / uEdges;
68
69  vec2 bCoord = vec2(float(red) / float(uEdges), float(green) / float(uEdges));
70
71  vec2 lutTextureCoord = vec2(coord.r + bCoord.r, coord.g + bCoord.g);
72  return texture2D(uLUT, lutTextureCoord);
73}
74
75float normalizeColor(float color) {
76  return color * uNormalizator + uHalfPx;
77}
78
79void main() {
80  vec4 color = texture2D(uSampler, vTextureCoord);
81
82  //. Check enabled
83  if (uEnabled < 1) {
84    gl_FragColor = color;
85    return;
86  }
87
88  //. Check filter part
89  if (vTextureCoord.x > uFilterPart) {
90    gl_FragColor = color;
91    return;
92  }
93
94  vec2 rgCoord = vec2(normalizeColor(color.r), normalizeColor(color.g));
95
96  //. Count number of the LUT-cell
97  float rectNumReal = color.b * (uLutSize - 1.0);
98
99  float rectNumMin = floor(rectNumReal);
100  float rectNumMax = ceil(rectNumReal);
101
102  vec4 colorLut1 = newColor(rectNumMin, rgCoord);
103  vec4 colorLut2 = newColor(rectNumMax, rgCoord);
104
105  vec4 colorInterpolated = mix(colorLut1, colorLut2, rectNumReal - rectNumMin);
106  vec3 resultColor = mix(color.rgb, colorInterpolated.rgb, uFilterPower);
107
108  gl_FragColor = vec4(resultColor.rgb, color.a);
109}
110
111`,{uFilterPart:1,uFilterPower:1,uEnabled:0,uLutSize:null!=(n=null==t?void 0:t.lutSize)?n:36,uEdges:null!=(o=null==t?void 0:t.edges)?o:6,uLUT:null!=(a=null==t?void 0:t.texture)?a:d.Texture.WHITE}],s=M(s),r=function(t,r){if(r&&("object"==$(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,D()?Reflect.construct(s,u||[],M(this).constructor):s.apply(this,u))).calcNormatizator(),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&L(t,r)}(i,t),r=[{key:"setLUT",value:function(t){var r;(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(null==(r=this.uniforms.uLUT)||r.destroy(!0)),(null==t?void 0:t.edges)&&(this.uniforms.uEdges=t.edges),(null==t?void 0:t.lutSize)&&(this.uniforms.uLutSize=t.lutSize),this.calcNormatizator(),(null==t?void 0:t.texture)?(this.uniforms.uLUT=t.texture,this.uniforms.uEnabled=1):this.uniforms.uEnabled=0}},{key:"setFilterPart",value:function(t){t=Math.min(1,Math.max(0,t)),this.uniforms.uFilterPart=t}},{key:"setFilterPower",value:function(t){t=Math.min(1,Math.max(0,t)),this.uniforms.uFilterPower=t}},{key:"calcNormatizator",value:function(){var t=this.uniforms,r=t.uLutSize,n=t.uEdges;this.uniforms.uNormalizator=(r-1)/(r*n),this.uniforms.uHalfPx=.5/(r*n)}}],R(i.prototype,r),n&&R(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function N(t){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function F(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function U(){U=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==N(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(N(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
111h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function j(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function z(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){j(a,i,o,s,u,"next",t)}function u(t){j(a,i,o,s,u,"throw",t)}s(void 0)})}}function G(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=N(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=N(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==N(r)?r:r+""}(i.key),i)}}var V=["cube"],W=(rz=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},rG=[{key:"parse",value:function(t){var r,n,i=this;return new Promise((r=z(U().mark(function r(o,a){var s,u,l,h;return U().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(!(t instanceof File)){r.next=14;break}if(i.checkFileExtention(t.name)){r.next=4;break}return a('[ Lut Parser ] - Invalid file extention (file "'.concat(t.name,'", available extentions: ').concat(V.join(", "),")")),r.abrupt("return");case 4:return r.prev=4,r.next=7,i.readFile(t);case 7:n=r.sent,r.next=14;break;case 10:return r.prev=10,r.t0=r.catch(4),a(r.t0),r.abrupt("return");case 14:if("string"!=typeof t){r.next=25;break}return r.prev=15,r.next=18,fetch(t).then(function(t){return t.text()});case 18:n=r.sent,r.next=25;break;case 21:return r.prev=21,r.t1=r.catch(15),a(r.t1),r.abrupt("return");case 25:if("3D"===(s=i.parseCUBE(n)).type.toUpperCase()){r.next=29;break}return a("[ Lut Parser ] - invalid lut type(".concat(s.type,"). Support 3DLUT only")),r.abrupt("return");case 29:return u=Math.ceil(Math.sqrt(s.size)),l=i.prepareTextureArray(s,u),h=s.size*u,o({texture:d.Texture.fromBuffer(l,h,h,{scaleMode:1,mipmap:d.MIPMAP_MODES.OFF}),lutSize:s.size,textureSize:h,edges:u}),r.abrupt("return");case 35:case"end":return r.stop()}},r,null,[[4,10],[15,21]])})),function(t,n){return r.apply(this,arguments)}))}},{key:"parseCUBE",value:function(t){for(var r,n={title:"",type:"",size:0,domain:[[0,0,0],[1,1,1]],data:[]},i=t.split(`
112`),o=0;o<i.length;o++){var a=i[o].trim();if("#"!==a[0]&&""!==a){var s,u=a.split(/\s+/);switch(u[0]){case"TITLE":n.title=a.slice(7,-1);break;case"DOMAIN_MIN":n.domain[0]=u.slice(1).map(Number);break;case"DOMAIN_MAX":n.domain[1]=u.slice(1).map(Number);break;case"LUT_1D_SIZE":n.type="1D",n.size=Number(u[1]);break;case"LUT_3D_SIZE":n.type="3D",n.size=Number(u[1]);break;default:(r=n.data).push.apply(r,function(t){if(Array.isArray(t))return F(t)}(s=u.map(Number))||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(s)||function(t){if(t){if("string"==typeof t)return F(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?F(t,void 0):void 0}}(s)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
113In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())}}}return n}},{key:"prepareTextureArray",value:function(t,r){var n=t.data,i=t.size,o=i*i*i,a=new Uint8ClampedArray(4*Math.pow(i*r,2)),s={value:0,isNil:function(){return 0===s.value},setDefault:function(){return s.value=i*i},dec:function(){return s.value--}};s.setDefault();for(var u=0,l=0,h=function(t,n){return 4*(i*(r*l+u)+n%i)+t},c=0;c<3*o;c+=3)a[h(0,c/3)]=255*n[c+0],a[h(1,c/3)]=255*n[c+1],a[h(2,c/3)]=255*n[c+2],a[h(3,c/3)]=255,s.dec(),c/3%i==i-2&&l++,s.isNil()&&(s.setDefault(),++u>=r?u=0:l-=i);return a}},{key:"checkFileExtention",value:function(t){var r=t.split(".").pop();return!!r&&V.includes(r.toLowerCase())}},{key:"readFile",value:(rW=z(U().mark(function t(r){return U().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(t,n){var i=new FileReader;i.readAsText(r),i.onload=function(){t(i.result)},i.onerror=function(){n("[ Lut Parser ] - filereader: ".concat(i.error))}}));case 1:case"end":return t.stop()}},t)})),function(t){return rW.apply(this,arguments)})}],G(rz.prototype,rG),rV&&G(rz,rV),Object.defineProperty(rz,"prototype",{writable:!1}),rz);function H(t){return(H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function q(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=H(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=H(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
113(t,"string");return"symbol"==H(r)?r:r+""}(i.key),i)}}var Y=(rH=function t(r){var n;!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.size=null!=(n=r.size)?n:1,this.store=[]},rq=[{key:"add",value:function(t){var r=this,n=this.store.find(function(r){return r.id===t}),i=Date.now();if(n)return n.time=i,{hasItem:!0};if(this.store.push({id:t,time:i}),this.store.length<=this.size)return{};var o=this.store.reduce(function(t,n,i){return r.store[t].time<n.time?t:i},0);return{removedID:this.store.splice(o,1)[0].id}}},{key:"setSize",value:function(t){var r;if(this.size=t,!(this.store.length<=t)){this.store=this.store.sort(function(t,r){return r.time-t.time});for(var n=[];this.store.length>this.size;){var i=null==(r=this.store.pop())?void 0:r.id;void 0!==i&&n.push(i)}return n}}},{key:"checkItemByID",value:function(t){return!!~this.store.findIndex(function(r){return r.id===t})}}],q(rH.prototype,rq),rY&&q(rH,rY),Object.defineProperty(rH,"prototype",{writable:!1}),rH);function X(t){return(X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function K(){K=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==X(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(X(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
113h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function Z(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function J(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){Z(a,i,o,s,u,"next",t)}function u(t){Z(a,i,o,s,u,"throw",t)}s(void 0)})}}function Q(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=X(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=X(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==X(r)?r:r+""}(i.key),i)}}function ee(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(ee=function(){return!!t})()}function et(t){return(et=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function er(t,r){return(er=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var en=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=et(n),r=function(t,r){if(r&&("object"==X(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,ee()?Reflect.construct(n,i||[],et(this).constructor):n.apply(this,i))).name=nM.COLOR_FILTERS,r.priority=5,r.parser=new W,r.lutStore={},r.config={lut:"none",part:1,power:1,capacity:1},r.activityIndexator=new Y({size:r.config.capacity}),r.filterName="color-filter",r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&er(t,r)}(a,t),r=[{key:"prepare",value:function(){this.filter=new B,this.setConfig(this.config)}},{key:"process",value:(o=J(K().mark(function t(r){return K().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled&&"none"!==this.config.lut){t.next=3;break}return this.resources.filters.has(this.filterName)&&this.resources.filters.delete(this.filterName),t.abrupt("return");case 3:this.resources.filters.set(this.filterName,this.filter);case 4:case"end":return t.stop()}},t,this)})),function(t){return o.apply(this,arguments)})},{key:"setConfig",value:function(t){this.setFilterPart(t.part),this.setFilterPower(t.power),this.setFilterLut(t.lut,t.promise),this.setCapacity(t.capacity)}},{key:"setFilterPart",value:function(t){void 0!==t&&(this.config.part=t,this.filter.setFilterPart(t))}},{key:"setFilterPower",value:function(t){void 0!==t&&(this.config.power=t,this.filter.setFilterPower(t))}},{key:"setFilterLut",value:(i=J(K().mark(function t(r,n){var i,o,a,s,u;return K().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==r){t.next=2;break}return t.abrupt("return");case 2:if("none"!==r){t.next=5;break}return this.config.lut="none",t.abrupt("return");case 5:if(i=this.countID(r),this.config.lut=r,this.selectedID=i,a=(o=this.activityIndexator.add(i)).hasItem,s=o.removedID,a){t.next=19;break}return t.next=12,this.parser.parse(r);case 12:if(u=t.sent,this.activityIndexator.checkItemByID(i)){t.next=18;break}return u.texture.destroy(),this.removeLutByID(s),this.resolver(i,null==n?void 0:n.resolve()),t.abrupt("return");case 18:this.lutStore[i]=u;case 19:this.filter.setLUT(this.lutStore[this.selectedID],!1),this.removeLutByID(s),this.resolver(i,null==n?void 0:n.resolve());case 22:case"end":return t.stop()}},t,this)})),function(t,r){return i.apply(this,arguments)})},{key:"setCapacity",value:function(t){var r=this;if(void 0!==t){this.config.capacity=t;var n=this.activityIndexator.setSize(t);
113(null==n?void 0:n.length)&&n.forEach(function(t){return r.removeLutByID(t)})}}},{key:"removeLutByID",value:function(t){var r,n;void 0!==t&&(null==(n=null==(r=this.lutStore[t])?void 0:r.texture)||n.destroy(),delete this.lutStore[t])}},{key:"countID",value:function(t){return t instanceof File?t.name:t}},{key:"onSuccess",value:function(t){this.onSuccessFunction="function"==typeof t?t:void 0}},{key:"resolver",value:function(t,r){"function"==typeof this.onSuccessFunction&&this.onSuccessFunction(t),"function"==typeof r&&r()}},{key:"destroy",value:function(){}}],Q(a.prototype,r),n&&Q(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function ei(t){return(ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eo(){eo=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==ei(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(ei(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
113h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function ea(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function es(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ei(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ei(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ei(r)?r:r+""}(i.key),i)}}function eu(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(eu=function(){return!!t})()}function el(t){return(el=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function eh(t,r){return(eh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var ec=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=el(n),r=function(t,r){if(r&&("object"==ei(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,eu()?Reflect.construct(n,i||[],el(this).constructor):n.apply(this,i))).name=nM.CUSTOM_RESOLUTION,r.priority=1,r.requireSyncDraw=!0,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&eh(t,r)}(a,t),r=[{key:"process",value:(i=eo().mark(function t(r){var n;return eo().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.sdkOptions.isCustomSize()){t.next=2;break}return t.abrupt("return");case 2:n=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),r.sprite.width=this.sdkOptions.width,r.sprite.height=this.sdkOptions.height,this.resources.renderer.renderTo(r.sprite,n),this.resources.texturePool.put(r.update(n));case 7:case"end":return t.stop()}},t,this)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function s(t){ea(a,n,o,s,u,"next",t)}function u(t){ea(a,n,o,s,u,"throw",t)}s(void 0)})},function(t){return o.apply(this,arguments)})}],es(a.prototype,r),n&&es(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function ef(t){return(ef="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ed(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ef(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ef(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
113(t,"string");return"symbol"==ef(r)?r:r+""}(i.key),i)}}function ep(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(ep=function(){return!!t})()}function ey(t){return(ey=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function em(t,r){return(em=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var eg=function(t){var r,n;function i(t,r){var n,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(a=[void 0,`varying vec2 vTextureCoord;
114uniform sampler2D uSampler;
115uniform vec2 pixelSize;
116uniform vec2 quarter;
117uniform vec2 _vrScale;
118uniform vec4 toPosTransform;
119uniform vec4 fromPosTransform;
120vec4 readTex(vec2 uv)
121{
122    return texture2D(uSampler, uv);
123}
124vec2 mapInsideChannel(vec2 pos)
125{
126    vec2 result = mod(pos, quarter) * 4.0;
127    result.y += floor(pos.x / quarter.x);
128    
129    return result;
130}
131vec4 extractChannel(vec4 c0, vec4 c1, vec4 c2, vec4 c3, float yPos)
132{
133    vec4 result = vec4(c0.r, c1.r, c2.r, c3.r);
134    
135    float condition = step(quarter.y, yPos);
136    result = mix(result, vec4(c0.g, c1.g, c2.g, c3.g), condition);
137    condition = step(2.0 * quarter.y, yPos);
138    result = mix(result, vec4(c0.b, c1.b, c2.b, c3.b), condition);
139    
140    
141    return result;
142}
143vec2 toPos(vec2 uv)
144{
145    return uv * toPosTransform.xy + toPosTransform.zw;
146}
147vec2 fromPos(vec2 pos)
148{
149    return ( pos * fromPosTransform.xy ) + fromPosTransform.zw;
150}
151void main()
152{
153    vec2 uv = vTextureCoord;
154    
155    vec2 pos = toPos(uv);
156    vec2 chPos = mapInsideChannel(pos);
157    uv = fromPos(chPos);
158    
159    vec4 c0 = readTex(uv);
160    uv.x += pixelSize.x; 
161    vec4 c1 = readTex(uv);
162    uv.x += pixelSize.x; 
163    vec4 c2 = readTex(uv);
164    uv.x += pixelSize.x; 
165    vec4 c3 = readTex(uv);
166    gl_FragColor = extractChannel(c0, c1, c2, c3, pos.y);
167}`],o=ey(o=i),n=function(t,r){if(r&&("object"==ef(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,ep()?Reflect.construct(o,a||[],ey(this).constructor):o.apply(this,a))).setSize(t,r),n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&em(t,r)}(i,t),r=[{key:"setSize",value:function(t,r){var n=t,i=r;r>128&&(i=256),t<256&&(n=256),this.virtualSize=new d.Point(t,r),this.realSize=new d.Point(n,i),this._vrScale=new d.Point(this.realSize.x/this.virtualSize.x,this.realSize.y/this.virtualSize.y),this.pixelSize=new d.Point(1/this.realSize.x,1/this.realSize.y),this.quarter=new d.Point(this.virtualSize.x/4,this.virtualSize.y/4),this.toPosTransform=[1/((this.virtualSize.x-1)*this.pixelSize.x)*(this.virtualSize.x-1),1/((this.virtualSize.y-1)*this.pixelSize.y)*(this.virtualSize.y-1),-.5*this.pixelSize.x*(1/((this.virtualSize.x-1)*this.pixelSize.x)*(this.virtualSize.x-1)),-.5*this.pixelSize.y*(1/((this.virtualSize.y-1)*this.pixelSize.y)*(this.virtualSize.y-1))],this.fromPosTransform=[(this.virtualSize.x-1)*this.pixelSize.x/(this.virtualSize.x-1),(this.virtualSize.y-1)*this.pixelSize.y/(this.virtualSize.y-1),.5*this.pixelSize.x,.5*this.pixelSize.y],this.uniforms.pixelSize=this.pixelSize,this.uniforms.quarter=this.quarter,this.uniforms.toPosTransform=this.toPosTransform,this.uniforms.fromPosTransform=this.fromPosTransform}}],ed(i.prototype,r),n&&ed(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function ev(t){return(ev="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eb(){eb=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 167
167(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==ev(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(ev(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
167if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function ew(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function ex(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){ew(a,i,o,s,u,"next",t)}function u(t){ew(a,i,o,s,u,"throw",t)}s(void 0)})}}function e_(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ev(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ev(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ev(r)?r:r+""}(i.key),i)}}function eT(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(eT=function(){return!!t})()}function eS(){return(eS="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=eE(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function eE(t){return(eE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function eO(t,r){return(eO=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var eA=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=eE(n),r=function(t,r){if(r&&("object"==ev(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,eT()?Reflect.construct(n,i||[],eE(this).constructor):n.apply(this,i))).name=nM.EYE_CONTACT,r.priority=18,r.requireNextFrame=!0,r.faceDetect={modelWidth:640,modelHeight:640,modelPath:"https://vbsdk.com/sdk/build/models/mnet.25_v2.simplify.onnx",backend:"wasm",nchw:!0},r.facePose={modelWidth:100,modelHeight:100,modelPath:"https://vbsdk.com/sdk/build/models/face_2dpose_106_static.onnx",backend:"wasm",nchw:!0},r.pixels=[],r.nchw=new eg(t.width,t.height),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&eO(t,r)}(a,t),r=[{key:"init",value:(o=ex(eb().mark(function t(r){return eb().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.inference=r,t.prev=1,t.next=4,this.inference.sessionManager.init(this.faceDetect,"data");case 4:t.next=8;break;case 6:t.prev=6,t.t0=t.catch(1);case 8:return t.prev=8,t.next=11,this.inference.sessionManager.init(this.facePose,"data");case 11:t.next=15;break;case 13:t.prev=13,t.t1=t.catch(8);case 15:console.log("LOADED");case 16:case"end":return t.stop()}},t,this,[[1,6],[8,13]])})),function(t){return o.apply(this,arguments)})},{key:"nextFrame",value:function(t){this.pixels.length}},{key:"prepare",value:function(){}},{key:"process",value:(i=ex(eb().mark(function t(r){return eb().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.pixels.length){t.next=2;break}return t.abrupt("return");case 2:case"end":return t.stop()}},t,this)})),function(t){return i.apply(this,arguments)})},{key:"disable",value:function(){var t,r;(t=this,"function"==typeof(r=eS(eE(a.prototype),"disable",t))?function(n){return r.apply(t,n)}:r)([])}},{key:"destroy",value:function(){}}],e_(a.prototype,r),n&&e_(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function eI(t){return(eI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eP(){eP=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 167
167(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==eI(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(eI(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
167if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function ek(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function eC(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=eI(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=eI(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==eI(r)?r:r+""}(i.key),i)}}function e$(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(e$=function(){return!!t})()}function eR(t){return(eR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function eD(t,r){return(eD=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var eM=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=eR(n),r=function(t,r){if(r&&("object"==eI(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,e$()?Reflect.construct(n,i||[],eR(this).constructor):n.apply(this,i))).name=nM.FILTER_DRAW,r.priority=8,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&eD(t,r)}(a,t),r=[{key:"process",value:(i=eP().mark(function t(r){var n;return eP().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.resources.filters.size){t.next=2;break}return t.abrupt("return");case 2:r.sprite.filters=[],this.resources.filters.forEach(function(t){var n;null==(n=r.sprite.filters)||n.push(t)}),n=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),this.resources.renderer.renderTo(r.sprite,n),r.sprite.filters=[],this.resources.texturePool.put(r.update(n));case 8:case"end":return t.stop()}},t,this)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function s(t){ek(a,n,o,s,u,"next",t)}function u(t){ek(a,n,o,s,u,"throw",t)}s(void 0)})},function(t){return o.apply(this,arguments)})}],eC(a.prototype,r),n&&eC(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function eL(t){return(eL="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eB(){eB=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==eL(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(eL(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
167h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function eN(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function eF(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=eL(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=eL(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==eL(r)?r:r+""}(i.key),i)}}function eU(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(eU=function(){return!!t})()}function ej(t){return(ej=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ez(t,r){return(ez=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var eG=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=ej(n),r=function(t,r){if(r&&("object"==eL(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,eU()?Reflect.construct(n,i||[],ej(this).constructor):n.apply(this,i))).name=nM.FINAL_DRAW,r.priority=100,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&ez(t,r)}(a,t),r=[{key:"process",value:(i=eB().mark(function t(r){return eB().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:this.resources.renderer.addToEffects(r.sprite),this.resources.renderer.addStatistics(),this.resources.renderer.render(),this.resources.renderer.removeStatistics(),this.resources.renderer.removeFromEffects(r.sprite);case 5:case"end":return t.stop()}},t,this)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function s(t){eN(a,n,o,s,u,"next",t)}function u(t){eN(a,n,o,s,u,"throw",t)}s(void 0)})},function(t){return o.apply(this,arguments)})}],eF(a.prototype,r),n&&eF(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function eV(t){return(eV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eW(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=eV(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=eV(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
167(t,"string");return"symbol"==eV(r)?r:r+""}(i.key),i)}}function eH(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(eH=function(){return!!t})()}function eq(t){return(eq=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function eY(t,r){return(eY=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var eX=function(t){var r,n;function i(){var t,r;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),t=i,r=[void 0,`varying vec2 vTextureCoord;
168uniform sampler2D uSampler;
169uniform sampler2D uLL;
170uniform int uEnabled;
171
172void main() {
173  vec4 texel = texture2D(uSampler, vTextureCoord);
174
175  if (uEnabled == 0) {
176    gl_FragColor = vec4(texel);
177    return;
178  }
179
180  vec3 curve = texture2D(uLL, vTextureCoord).rgb * -0.5;
181
182  vec3 x = texel.rgb;
183
184  x = x + curve * (x * x - x);
185  x = x + curve * (x * x - x);
186  x = x + curve * (x * x - x);
187  x = x + curve * (x * x - x);
188  x = x + curve * (x * x - x);
189  x = x + curve * (x * x - x);
190
191  x = clamp(x, 0.0, 1.0);
192
193  gl_FragColor = vec4(x, texel.a);
194}
195`,{uLL:d.Texture.EMPTY,uEnabled:0}],t=eq(t),function(t,r){if(r&&("object"==eV(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,eH()?Reflect.construct(t,r||[],eq(this).constructor):t.apply(this,r))}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&eY(t,r)}(i,t),r=[{key:"setLowLightTexture",value:function(t){this.uniforms.uLL=t,this.uniforms.uEnabled=1}}],eW(i.prototype,r),n&&eW(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter),eK={modelHeight:144,modelWidth:144,power:1};let eZ=Symbol("Comlink.proxy"),eJ=Symbol("Comlink.endpoint"),eQ=Symbol("Comlink.releaseProxy"),e1=Symbol("Comlink.finalizer"),e0=Symbol("Comlink.thrown"),e3=t=>"object"==typeof t&&null!==t||"function"==typeof t,e6=new Map([["proxy",{canHandle:t=>e3(t)&&t[eZ],serialize(t){let{port1:r,port2:n}=new MessageChannel;return function t(r){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["*"];n.addEventListener("message",function o(a){let s;if(!a||!a.data)return;if(!function(t,r){for(let n of t)if(r===n||"*"===n||n instanceof RegExp&&n.test(r))return!0;return!1}(i,a.origin))return void console.warn(`Invalid origin '${a.origin}' for comlink proxy`);let{id:u,type:l,path:h}=Object.assign({path:[]},a.data),c=(a.data.argumentList||[]).map(tn);try{var f,d;let n=h.slice(0,-1).reduce((t,r)=>t[r],r),i=h.reduce((t,r)=>t[r],r);switch(l){case"GET":s=i;break;case"SET":n[h.slice(-1)[0]]=tn(a.data.value),s=!0;break;case"APPLY":s=i.apply(n,c);break;case"CONSTRUCT":f=new i(...c),s=Object.assign(f,{[eZ]:!0});break;case"ENDPOINT":{let{port1:n,port2:i}=new MessageChannel;t(r,i),d=[n],tt.set(n,d),s=n}break;case"RELEASE":s=void 0;break;default:return}}catch(t){s={value:t,[e0]:0}}Promise.resolve(s).catch(t=>({value:t,[e0]:0})).then(t=>{let[i,a]=tr(t);n.postMessage(Object.assign(Object.assign({},i),{id:u}),a),"RELEASE"===l&&(n.removeEventListener("message",o),e5(n),e1 in r&&"function"==typeof r[e1]&&r[e1]())}).catch(t=>{let[r,i]=tr({value:TypeError("Unserializable return value"),[e0]:0});n.postMessage(Object.assign(Object.assign({},r),{id:u}),i)})}),n.start&&n.start()}(t,r),[n,[n]]},deserialize:t=>(t.start(),e9(t))}],["throw",{canHandle:t=>e3(t)&&e0 in t,serialize(t){let{value:r}=t;return[r instanceof Error?{isError:!0,value:{message:r.message,name:r.name,stack:r.stack}}:{isError:!1,value:r},[]]},deserialize(t){if(t.isError)throw Object.assign(Error(t.value.message),t.value);throw t.value}}]]);function e5(t){"MessagePort"===t.constructor.name&&t.close()}function e9(t,r){let n=new Map;return t.addEventListener("message",function(t){let{data:r}=t;if(!r||!r.id)return;let i=n.get(r.id);if(i)try{i(r)}finally{n.delete(r.id)}}),function t(r,n){let i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},s=!1,u=new Proxy(a,{get(i,a){if(e2(s),a===eQ)return()=>{e4&&e4.unregister(u),e7(r),n.clear(),s=!0};if("then"===a){if(0===o.length)return{then:()=>u};let t=ti(r,n,{type:"GET",path:o.map(t=>t.toString())}).then(tn);return t.then.bind(t)}return t(r,n,[...o,a])},set(t,i,a){e2(s);let[u,l]=tr(a);return ti(r,n,{type:"SET",path:[...o,i].map(t=>t.toString()),value:u},l).then(tn)},apply(i,a,u){e2(s);let l=o[o.length-1];if(l===eJ)return ti(r,n,{type:"ENDPOINT"}).then(tn);if("bind"===l)return t(r,n,o.slice(0,-1));let[h,c]=te(u);
195return ti(r,n,{type:"APPLY",path:o.map(t=>t.toString()),argumentList:h},c).then(tn)},construct(t,i){e2(s);let[a,u]=te(i);return ti(r,n,{type:"CONSTRUCT",path:o.map(t=>t.toString()),argumentList:a},u).then(tn)}});return i=(e8.get(r)||0)+1,e8.set(r,i),e4&&e4.register(u,r,u),u}(t,n,[],r)}function e2(t){if(t)throw Error("Proxy has been released and is not useable")}function e7(t){return ti(t,new Map,{type:"RELEASE"}).then(()=>{e5(t)})}let e8=new WeakMap,e4="FinalizationRegistry"in globalThis&&new FinalizationRegistry(t=>{let r=(e8.get(t)||0)-1;e8.set(t,r),0===r&&e7(t)});function te(t){var r;let n=t.map(tr);return[n.map(t=>t[0]),(r=n.map(t=>t[1]),Array.prototype.concat.apply([],r))]}let tt=new WeakMap;function tr(t){for(let[r,n]of e6)if(n.canHandle(t)){let[i,o]=n.serialize(t);return[{type:"HANDLER",name:r,value:i},o]}return[{type:"RAW",value:t},tt.get(t)||[]]}function tn(t){switch(t.type){case"HANDLER":return e6.get(t.name).deserialize(t.value);case"RAW":return t.value}}function ti(t,r,n,i){return new Promise(o=>{let a=[,,,,].fill(0).map(()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16)).join("-");r.set(a,o),t.start&&t.start(),t.postMessage(Object.assign({id:a},n),i)})}var to=n(9380);function ta(t){return(ta="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ts(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ta(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ta(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ta(r)?r:r+""}(i.key),i)}}function tu(t){return(tu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tl(){tl=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==tu(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(tu(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
195h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function th(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function tc(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){th(a,i,o,s,u,"next",t)}function u(t){th(a,i,o,s,u,"throw",t)}s(void 0)})}}function tf(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tu(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tu(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==tu(r)?r:r+""}(i.key),i)}}function td(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(td=function(){return!!t})()}function tp(t,r,n,i){var o=ty(tm(1&i?t.prototype:t),r,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function ty(){return(ty="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=tm(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function tm(t){return(tm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function tg(t,r){return(tg=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var tv=new(rK=[{key:"getWorker",value:function(){return this.worker}}],ts((rX=function t(r){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");var n=URL.createObjectURL(new Blob([r.toString()],{type:"application/javascript"}));this.worker=new Worker(n),setTimeout(function(){return URL.revokeObjectURL(n)})}).prototype,rK),rZ&&ts(rX,rZ),Object.defineProperty(rX,"prototype",{writable:!1}),rX)('/*! For license information please see lowLight-worker.js.LICENSE.txt */\n(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var r=0;r<e.length;r++){var a=e[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,n(a.key),a)}}function n(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,n||"default");if("object"!=t(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:n+""}var r=.008856,a=1/Math.sqrt(2),o=1/Math.sqrt(3),i=1/Math.sqrt(6),u=Math.log(10),s=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)},s=[{key:"RGBtoXYZ",value:function(t){var e=t.R,n=t.G,r=t.B;return{X:.412453*(e=a(e))+.35758*(n=a(n))+.180423*(r=a(r)),Y:.212671*e+.71516*n+.072169*r,Z:.019334*e+.119193*n+.950227*r};function a(t){return(t/=255)>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92}}},{key:"RGBtoCIELab",value:function(t){return this.XYZtoCIELab(this.RGBtoXYZ(t))}},{key:"RGBtoLMS",value:function(t){var e=t.R,n=t.G,r=t.B;return{L:(.3811*e+.5783*n+.0402*r)/255,M:(.1967*e+.7244*n+.0782*r)/255,S:(.0241*e+.1288*n+.8444*r)/255}}},{key:"RGBtoLab",value:function(t){return this.LMStoLab(this.RGBtoLMS(t))}},{key:"RGBtoY",value:function(t){return{Y:(.299*t.R+.587*t.G+.114*t.B)/255}}},{key:"XYZtoRGB",value:function(t){var e=t.X,n=t.Y,r=t.Z,a=u(3.2406*e+-1.5372*n+-.4986*r),o=u(-.9689*e+1.8758*n+.0415*r),i=u(.0557*e+-.204*n+1.057*r);return{R:l(255*a),G:l(255*o),B:l(255*i)};function u(t){return t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t}}},{key:"XYZtoCIELab",value:function(t){var e=t.X,n=t.Y,a=t.Z,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=n>r?116*Math.pow(n,1/3)-16:903.3*n,u=500*(l(e)-l(n)),s=200*(l(n)-l(a));return o?this.normalizeCIELab({L:i,a:u,b:s}
195):{L:i,a:u,b:s};function l(t){return t>r?Math.pow(t,1/3):7.787*t+16/116}}},{key:"CIELabtoXYZ",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?t:this.normalizeBackCIELab(t),n=e.L,a=e.a,o=e.b,i=(n+16)/116,u=l(a/500+i),s=l(i-o/200);return{X:u,Y:l(i),Z:s};function l(t){var e=Math.pow(t,3);return e>r?e:(t-16/116)/7.787}}},{key:"CIELabtoRGB",value:function(t){return this.XYZtoRGB(this.CIELabtoXYZ(t))}},{key:"normalizeCIELab",value:function(t){return{L:t.L/100,a:(t.a+128)/255,b:(t.b+128)/255}}},{key:"normalizeBackCIELab",value:function(t){var e=t.L,n=t.a,r=t.b;return{L:Math.min(100,Math.max(0,100*e)),a:Math.min(127,Math.max(-127,255*n-128)),b:Math.min(127,Math.max(-127,255*r-128))}}},{key:"LMStoRGB",value:function(t){var e=t.L,n=t.M,r=t.S;return{R:l(255*(4.4686*e-3.5886*n+.1196*r)),G:l(255*(-1.2197*e+2.383*n-.1626*r)),B:l(255*(.0585*e-.261*n+1.2056*r))}}},{key:"LMStoLab",value:function(t){var e=t.L,n=t.M,r=t.S;e=Math.max(e,1/255),n=Math.max(n,1/255),r=Math.max(r,1/255);var s=Math.log(e)/u,l=Math.log(n)/u,c=Math.log(r)/u;return{L:(s+l+c)*o,a:(s+l-2*c)*i,b:(s-l)*a}}},{key:"LabtoRGB",value:function(t){return this.LMStoRGB(this.LabtoLMS(t))}},{key:"LabtoLMS",value:function(t){var e=t.L,n=t.a,r=t.b;return e*=o,n*=i,r*=a,{L:Math.pow(10,e+n+r),M:Math.pow(10,e+n-r),S:Math.pow(10,e-2*n)}}}],(n=null)&&e(t.prototype,n),s&&e(t,s),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,s}();function l(t){return Math.min(255,Math.max(0,t))}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,h(r.key),r)}}function h(t){var e=function(t,e){if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==c(e)?e:e+""}var v=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.aAverage={},this.stdDev={},this.sum={},this.sumSqr={},this.pixelsCount=e},(e=[{key:"addPixel",value:function(t){var e=this;Object.keys(t).forEach((function(n){var r,a;e.sum[n]=(null!==(r=e.sum[n])&&void 0!==r?r:0)+t[n],e.sumSqr[n]=(null!==(a=e.sumSqr[n])&&void 0!==a?a:0)+Math.pow(t[n],2)}))}},{key:"countAverage",value:function(){var t=this;return Object.keys(this.sum).forEach((function(e){var n;t.aAverage[e]=(null!==(n=t.sum[e])&&void 0!==n?n:0)/t.pixelsCount})),this.aAverage}},{key:"countStdDev",value:function(){var t=this;return Object.keys(this.sumSqr).forEach((function(e){var n,r,a=(null!==(n=t.sumSqr[e])&&void 0!==n?n:0)-t.pixelsCount*Math.pow(null!==(r=t.aAverage[e])&&void 0!==r?r:0,2);t.stdDev[e]=Math.sqrt(+a.toFixed(5)/(t.pixelsCount-1))})),this.stdDev}}])&&f(t.prototype,e),n&&f(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n}();function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,m(r.key),r)}}function m(t){var e=function(t,e){if("object"!=b(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=b(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==b(e)?e:e+""}var p=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.dataRGBa=e,this.pixelsCount=e.length/4,this.channelsCIELab=new v(this.pixelsCount),this.channelsLab=new v(this.pixelsCount),this.channelsY=new v(this.pixelsCount)},(e=[{key:"countAverage",value:function(){this.channelsCIELab.countAverage(),this.channelsLab.countAverage(),this.channelsY.countAverage()}},{key:"countStdDev",value:function(){this.channelsCIELab.countStdDev(),this.channelsLab.countStdDev(),this.channelsY.countStdDev()}}
195])&&y(t.prototype,e),n&&y(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n}();function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function g(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,S(r.key),r)}}function L(t,e,n){return e&&g(t.prototype,e),n&&g(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function S(t){var e=function(t,e){if("object"!=d(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==d(e)?e:e+""}function w(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var E=36;function M(t,e,n){return t*(1-n)+e*n}var R=L((function t(e,n,r){w(this,t),this.refMean=e,this.targetMean=n,this.stdDev=r})),k=function(){return L((function t(e,n){w(this,t),this.cieL=this.makeTransferStatsFromChannel(n.channelsCIELab,e.channelsCIELab,"L",1),this.cieA=this.makeTransferStatsFromChannel(n.channelsCIELab,e.channelsCIELab,"a",1),this.cieB=this.makeTransferStatsFromChannel(n.channelsCIELab,e.channelsCIELab,"b",1),this.L=this.makeTransferStatsFromChannel(n.channelsLab,e.channelsLab,"L",1),this.A=this.makeTransferStatsFromChannel(n.channelsLab,e.channelsLab,"a",1),this.B=this.makeTransferStatsFromChannel(n.channelsLab,e.channelsLab,"b",1),this.grayY=this.makeTransferStatsFromChannel(n.channelsY,e.channelsY,"Y",1)}),[{key:"transfer",value:function(t){var e=s.RGBtoCIELab(t);e.L=this.transferValue(e.L,this.cieL),e.a=this.transferValue(e.a,this.cieA),e.b=this.transferValue(e.b,this.cieB);var n=s.CIELabtoRGB(e),r=s.RGBtoLab(t);r.L=this.transferValue(r.L,this.L),r.a=this.transferValue(r.a,this.A),r.b=this.transferValue(r.b,this.B);var a=s.LabtoRGB(r),o={R:M(n.R,a.R,.4),G:M(n.G,a.G,.4),B:M(n.B,a.B,.4)},i=s.RGBtoY(t).Y,u=this.recoverShadowsByFullShading(o,i);return{R:M(u.R,255*i,.1),G:M(u.G,255*i,.1),B:M(u.B,255*i,.1)}}},{key:"transferValue",value:function(t,e){return(t-e.targetMean)*e.stdDev+e.refMean}},{key:"recoverShadowsByFullShading",value:function(t,e){var n=Math.max(s.RGBtoY(t).Y,1/255),r=Math.max(this.transferValue(e,this.grayY),0);return{R:t.R/n*r,G:t.G/n*r,B:t.B/n*r}}},{key:"makeTransferStats",value:function(t,e,n,r,a){var o=M(n,t,a),i=1/r*M(r,e,a);return new R(o,n,i)}},{key:"makeTransferStatsFromChannel",value:function(t,e,n,r){var a,o,i,u;return this.makeTransferStats(null!==(a=t.aAverage[n])&&void 0!==a?a:0,null!==(o=t.stdDev[n])&&void 0!==o?o:0,null!==(i=e.aAverage[n])&&void 0!==i?i:0,null!==(u=e.stdDev[n])&&void 0!==u?u:0,r)}}])}();var C=function(){return L((function t(){w(this,t)}),[{key:"process",value:function(t,e){for(var n=new p(t),r=new p(e),a=0;a<n.dataRGBa.length;a+=4){var o={R:n.dataRGBa[a+0],G:n.dataRGBa[a+1],B:n.dataRGBa[a+2]},i={R:r.dataRGBa[a+0],G:r.dataRGBa[a+1],B:r.dataRGBa[a+2]},u=s.RGBtoCIELab(o),l=s.RGBtoCIELab(i);n.channelsCIELab.addPixel(u),r.channelsCIELab.addPixel(l);var c=s.RGBtoLab(o),f=s.RGBtoLab(i);n.channelsLab.addPixel(c),r.channelsLab.addPixel(f);var h=s.RGBtoY(o),v=s.RGBtoY(i);n.channelsY.addPixel(h),r.channelsY.addPixel(v)}n.countAverage(),r.countAverage(),n.countStdDev(),r.countStdDev();for(var b,y,m,d=new k(n,r),g=new Uint8ClampedArray(186624),L=255/35,S=0;S<E;++S)for(var w=0;w<E;++w)for(var M=0;M<E;++M){var R={R:M*L,G:w*L,B:S*L},C=d.transfer(R),B=4*(b=M,y=w,m=S,216*(Math.trunc(m/6)*E+y)+(m%6*E+b));g[B++]=C.R,g[B++]=C.G,g[B++]=C.B,g[B]=255}return g}}])}();const B=Symbol("Comlink.proxy"),G=Symbol("Comlink.endpoint"),P=Symbol("Comlink.releaseProxy"),T=Symbol("Comlink.finalizer"),x=Symbol("Comlink.thrown"),A=t=>"object"==typeof t&&null!==t||"function"==typeof t,Y={canHandle:t=>A(t)&&t[B],serialize(t){const{port1:e,port2:n}=new MessageChannel;return I(t,e),[n,[n]]},deserialize:t=>(t.start(),function(t,e){const n=new Map;return t.addEventListener("message",(function(t){const{data:e}=t;if(!e||!e.id)return;const r=n.get(e.id);if(r)try{r(e)}finally{n.delete(e.id)}})),X(t,n,[],e)}(t))},j=new Map([["proxy",Y],["throw",{canHandle:t=>A(t)&&x in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function I(t,e=globalThis,n=["*"]){e.addEventListener("message",(function r(a){if(!a||!a.data)return;if(!function(t,e){for(const n of t){if(e===n||"*"===n)return!0;
195if(n instanceof RegExp&&n.test(e))return!0}return!1}(n,a.origin))return void console.warn(`Invalid origin \'${a.origin}\' for comlink proxy`);const{id:o,type:i,path:u}=Object.assign({path:[]},a.data),s=(a.data.argumentList||[]).map(U);let l;try{const e=u.slice(0,-1).reduce(((t,e)=>t[e]),t),n=u.reduce(((t,e)=>t[e]),t);switch(i){case"GET":l=n;break;case"SET":e[u.slice(-1)[0]]=U(a.data.value),l=!0;break;case"APPLY":l=n.apply(e,s);break;case"CONSTRUCT":l=function(t){return Object.assign(t,{[B]:!0})}(new n(...s));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;I(t,n),l=function(t,e){return q.set(t,e),t}(e,[e])}break;case"RELEASE":l=void 0;break;default:return}}catch(t){l={value:t,[x]:0}}Promise.resolve(l).catch((t=>({value:t,[x]:0}))).then((n=>{const[a,u]=V(n);e.postMessage(Object.assign(Object.assign({},a),{id:o}),u),"RELEASE"===i&&(e.removeEventListener("message",r),O(e),T in t&&"function"==typeof t[T]&&t[T]())})).catch((t=>{const[n,r]=V({value:new TypeError("Unserializable return value"),[x]:0});e.postMessage(Object.assign(Object.assign({},n),{id:o}),r)}))})),e.start&&e.start()}function O(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function D(t){if(t)throw new Error("Proxy has been released and is not useable")}function F(t){return H(t,new Map,{type:"RELEASE"}).then((()=>{O(t)}))}const z=new WeakMap,N="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(z.get(t)||0)-1;z.set(t,e),0===e&&F(t)}));function X(t,e,n=[],r=function(){}){let a=!1;const o=new Proxy(r,{get(r,i){if(D(a),i===P)return()=>{!function(t){N&&N.unregister(t)}(o),F(t),e.clear(),a=!0};if("then"===i){if(0===n.length)return{then:()=>o};const r=H(t,e,{type:"GET",path:n.map((t=>t.toString()))}).then(U);return r.then.bind(r)}return X(t,e,[...n,i])},set(r,o,i){D(a);const[u,s]=V(i);return H(t,e,{type:"SET",path:[...n,o].map((t=>t.toString())),value:u},s).then(U)},apply(r,o,i){D(a);const u=n[n.length-1];if(u===G)return H(t,e,{type:"ENDPOINT"}).then(U);if("bind"===u)return X(t,e,n.slice(0,-1));const[s,l]=Z(i);return H(t,e,{type:"APPLY",path:n.map((t=>t.toString())),argumentList:s},l).then(U)},construct(r,o){D(a);const[i,u]=Z(o);return H(t,e,{type:"CONSTRUCT",path:n.map((t=>t.toString())),argumentList:i},u).then(U)}});return function(t,e){const n=(z.get(e)||0)+1;z.set(e,n),N&&N.register(t,e,t)}(o,t),o}function Z(t){const e=t.map(V);return[e.map((t=>t[0])),(n=e.map((t=>t[1])),Array.prototype.concat.apply([],n))];var n}const q=new WeakMap;function V(t){for(const[e,n]of j)if(n.canHandle(t)){const[r,a]=n.serialize(t);return[{type:"HANDLER",name:e,value:r},a]}return[{type:"RAW",value:t},q.get(t)||[]]}function U(t){switch(t.type){case"HANDLER":return j.get(t.name).deserialize(t.value);case"RAW":return t.value}}function H(t,e,n,r){return new Promise((a=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.set(o,a),t.start&&t.start(),t.postMessage(Object.assign({id:o},n),r)}))}var W=new C;I({getLUTTexture:function(t,e){return W.process(t,e)},prepareCurveTexture:function(t,e,n){for(var r=e*n,a=r,o=new Float32Array(e*n*4),i=0;i<a;i++)o[4*i+0]=-2*t[i+0]*255,o[4*i+1]=-2*t[i+r]*255,o[4*i+2]=-2*t[i+2*r]*255,o[4*i+3]=255;return new Uint8ClampedArray(o)}})})();'),tb=function(t){var r,n,i,o,a;function u(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,u),(n=u,i=[t],n=tm(n),r=function(t,r){if(r&&("object"==tu(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,td()?Reflect.construct(n,i||[],tm(this).constructor):n.apply(this,i))).name=nM.LOW_LIGHT,r.priority=4,r.setConfig(eK),r.worker=e9(tv.getWorker()),r.filterName="low-light",r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&tg(t,r)}(u,t),r=[{key:"init",value:(a=tc(tl().mark(function t(r){return tl().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.modelConfig||(this.modelConfig={modelPath:w.y.getModelUrl(w.y.MODELS.lowlighter),backend:"wasm",nchw:!1}),t.next=3,tp(u,"init",this,3)([r]);case 3:case"end":return t.stop()}},t,this)})),function(t){return a.apply(this,arguments)})},{key:"prepare",value:function(){this.filterLowLight=new eX,this.filterLUT=new B}},{key:"process",value:(o=tc(tl().mark(function t(r){return tl().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:if(!this.isOutdatedLUT){t.next=5;break}return t.next=5,this.updateLUT(r);case 5:this.resources.filters.set(this.filterName,this.filterLUT);case 6:case"end":return t.stop()}},t,this)})),function(t){return o.apply(this,arguments)})},{key:"setConfig",value:function(t){var r;this.config=Object.assign(null!=(r=this.config)?r:{},t),this.setFilterPower(t.power)}},{key:"onSuccess",value:function(t){this.onSuccessFunction="function"==typeof t?t:void 0}},{key:"enable",value:function(){tp(u,"enable",this,3)([]),this.isOutdatedLUT=!this.inWork}},{key:"disable",value:function(){tp(u,"disable",this,3)([]),this.resources.filters.delete(this.filterName)}
195},{key:"updateLUT",value:(i=tc(tl().mark(function t(r){var n,i,o,a,u,l,h,c,f,d,p=this;return tl().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.inWork){t.next=2;break}return t.abrupt("return");case 2:return this.inWork=!0,i=(n=this.config).modelHeight,o=n.modelWidth,a=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),u=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),l=this.resources.texturePool.get(o,i),(h=new to.w(a,{width:this.sdkOptions.width,height:this.sdkOptions.height})).sprite.width=this.sdkOptions.width,h.sprite.height=this.sdkOptions.height,this.resources.renderer.renderTo(r.sprite,a),h.sprite.width=o,h.sprite.height=i,this.resources.renderer.renderTo(h.sprite,l),c=this.resources.renderer.pixels(l),f=this.resources.bufferPool.getBuffer("f32",3*o*i),function(t,r,n,i){for(var o=n*r,a=2*n*r,s=0;s<i.length/3;s++)i[0+s]=t[4*s+2]/255,i[o+s]=t[4*s+1]/255,i[a+s]=t[4*s]/255}(new Uint8ClampedArray(c),o,i,f),t.next=19,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 19:d=t.sent,this.inference.run(d,f,o,i,3).then(function(){var t=tc(tl().mark(function t(r){var n,i,o,a;return tl().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.coefs.dims[3],i=r.coefs.dims[2],t.next=4,p.worker.prepareCurveTexture(r.coefs.data,n,i);case 4:return o=t.sent,a=p.resources.renderer.createTextureFromBuffer(new Uint8Array(o),n,i),t.abrupt("return",a);case 7:case"end":return t.stop()}},t)}));return function(r){return t.apply(this,arguments)}}()).then(function(t){h.sprite.width=p.sdkOptions.width,h.sprite.height=p.sdkOptions.height,h.sprite.filters=[p.filterLowLight],p.filterLowLight.setLowLightTexture(t),p.resources.renderer.renderTo(h.sprite,u),h.sprite.filters=[];var r=p.resources.renderer.pixels(u),n=p.resources.renderer.pixels(a);return p.worker.getLUTTexture(new Uint8ClampedArray(n),new Uint8ClampedArray(r))}).then(function(t){p.applyLowlightLUT(t),p.emitSuccess()}).catch(function(t){var r;s.bv.notify({message:null!=(r=t.message)?r:t,type:s.By.ERROR,code:s.O4.INFERENCE_RUN_ISSUE,emitter:s.JK.EFFECT_LOW_LIGHT,cause:t})}).finally(function(){p.inWork=!1,p.isOutdatedLUT=!1,p.resources.texturePool.put(a),p.resources.texturePool.put(u),p.resources.texturePool.put(l)});case 21:case"end":return t.stop()}},t,this)})),function(t){return i.apply(this,arguments)})},{key:"applyLowlightLUT",value:function(t){var r=this.getLutTextureData(t).LUTTexture;this.filterLUT.setLUT({texture:r})}},{key:"getLutTextureData",value:function(t){var r=Math.sqrt(t.length/4);return{LUTTexture:d.Texture.fromBuffer(new Uint8Array(t),r,r,{scaleMode:1}),LUTSize:r}}},{key:"setFilterPower",value:function(t){var r;void 0!==t&&(this.config.power=t,null==(r=this.filterLUT)||r.setFilterPower(t))}},{key:"emitSuccess",value:function(){"function"==typeof this.onSuccessFunction&&this.onSuccessFunction()}},{key:"destroy",value:function(){this.inference.sessionManager.releaseSession(this.modelConfig.modelPath)}}],tf(u.prototype,r),n&&tf(u,n),Object.defineProperty(u,"prototype",{writable:!1}),u}(f);function tw(t){return(tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tx(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tw(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tw(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==tw(r)?r:r+""}(i.key),i)}}function t_(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(t_=function(){return!!t})()}function tT(t){return(tT=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}
195function tS(t,r){return(tS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var tE=function(t){var r,n;function i(){var t,r;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),r=[`attribute vec2 aVertexPosition;
196
197uniform mat3 projectionMatrix;
198
199varying vec2 vTextureCoord;
200
201uniform vec4 inputSize;
202uniform vec4 outputFrame;
203uniform mat3 uTransformMatrix;
204
205vec4 filterVertexPosition(void ) {
206  vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.0)) + outputFrame.xy;
207
208  return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
209}
210
211vec2 filterTextureCoord(void ) {
212  return vec2(1.0 - aVertexPosition.x, aVertexPosition.y) * (outputFrame.zw * inputSize.zw);
213}
214
215void main(void ) {
216  gl_Position = filterVertexPosition();
217  vTextureCoord = filterTextureCoord();
218}
219`,void 0],t=tT(t=i),function(t,r){if(r&&("object"==tw(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,t_()?Reflect.construct(t,r||[],tT(this).constructor):t.apply(this,r))}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&tS(t,r)}(i,t),r&&tx(i.prototype,r),n&&tx(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function tO(t){return(tO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tA(){tA=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==tO(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(tO(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
219h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function tI(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function tP(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tO(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tO(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==tO(r)?r:r+""}(i.key),i)}}function tk(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(tk=function(){return!!t})()}function tC(t){return(tC=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function t$(t,r){return(t$=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var tR=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=tC(n),r=function(t,r){if(r&&("object"==tO(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,tk()?Reflect.construct(n,i||[],tC(this).constructor):n.apply(this,i))).name=nM.MIRRORING,r.priority=1,r.requireSyncDraw=!0,r.filterName="mirroring",r.filterMirror=new tE,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&t$(t,r)}(a,t),r=[{key:"prepare",value:function(){}},{key:"process",value:(i=tA().mark(function t(r){var n;return tA().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:n=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),r.sprite.filters=[this.filterMirror],this.resources.renderer.renderTo(r.sprite,n),r.sprite.filters=[],this.resources.texturePool.put(r.update(n));case 7:case"end":return t.stop()}},t,this)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function s(t){tI(a,n,o,s,u,"next",t)}function u(t){tI(a,n,o,s,u,"throw",t)}s(void 0)})},function(t){return o.apply(this,arguments)})}],tP(a.prototype,r),n&&tP(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);function tD(t){return(tD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tM(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tD(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tD(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
219(t,"string");return"symbol"==tD(r)?r:r+""}(i.key),i)}}function tL(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(tL=function(){return!!t})()}function tB(t){return(tB=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function tN(t,r){return(tN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var tF=function(t){var r,n;function i(t){var r,n,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),a=[void 0,`varying vec2 vTextureCoord;
220
221uniform sampler2D uSampler;
222
223uniform vec2 uStep;
224uniform float uSharpnessPower;
225
226const float FSR_RCAS_LIMIT = 0.25 - 1.0 / 16.0;
227
228float calcLuma(vec3 texel) {
229  float luma = texel.b * 0.5 + (texel.r * 0.5 + texel.g);
230  return luma;
231}
232
233vec3 min4_vec3(vec3 a, vec3 b, vec3 c, vec3 d) {
234  vec3 min_ab = min(a, b);
235  vec3 min_cd = min(c, d);
236
237  return min(min_ab, min_cd);
238}
239
240vec3 max4_vec3(vec3 a, vec3 b, vec3 c, vec3 d) {
241  vec3 max_ab = max(a, b);
242  vec3 max_cd = max(c, d);
243
244  return max(max_ab, max_cd);
245}
246
247float max3_float(float a, float b, float c) {
248  float max_ab = max(a, b);
249
250  return max(max_ab, c);
251}
252
253float max5_float(float a, float b, float c, float d, float e) {
254  float max_ab = max(a, b);
255  float max_cd = max(c, d);
256  float max_ab_cd = max(max_ab, max_cd);
257
258  return max(max_ab_cd, e);
259}
260
261float min5_float(float a, float b, float c, float d, float e) {
262  float min_ab = min(a, b);
263  float min_cd = min(c, d);
264  float min_ab_cd = min(min_ab, min_cd);
265
266  return min(min_ab_cd, e);
267}
268
269float saturate(float val) {
270  return min(1.0, max(0.0, val));
271}
272
273float rcp(float val) {
274  return 1.0 / val;
275}
276
277void main() {
278  vec4 color = texture2D(uSampler, vTextureCoord);
279  // Algorithm uses minimal 3x3 pixel neighborhood.
280  //    b
281  //  d e f
282  //    h
283
284  vec3 e_texel = color.rgb;
285  vec3 b_texel = texture2D(uSampler, vTextureCoord + vec2(0, -uStep.y)).rgb;
286  vec3 h_texel = texture2D(uSampler, vTextureCoord + vec2(0, +uStep.y)).rgb;
287  vec3 d_texel = texture2D(uSampler, vTextureCoord + vec2(-uStep.x, 0)).rgb;
288  vec3 f_texel = texture2D(uSampler, vTextureCoord + vec2(+uStep.x, 0)).rgb;
289
290  float e_luma = calcLuma(e_texel);
291  float b_luma = calcLuma(b_texel);
292  float h_luma = calcLuma(h_texel);
293  float d_luma = calcLuma(d_texel);
294  float f_luma = calcLuma(f_texel);
295
296  // Min and max of ring.
297  vec3 min_ring = min4_vec3(b_texel, h_texel, d_texel, f_texel);
298  vec3 max_ring = max4_vec3(b_texel, h_texel, d_texel, f_texel);
299  // Immediate constants for peak range.
300  vec2 peakC = vec2(1.0, 1.0 * 4.0);
301  // Limiters, these need to be high precision RCPs.
302  vec3 hit_min = min_ring / (4.0 * max_ring);
303  vec3 hit_max = (1.0 - max_ring) / (4.0 * min_ring - peakC.y);
304  vec3 lobeC = max(-hit_min, hit_max);
305
306  float max_lobeC = max3_float(lobeC.r, lobeC.g, lobeC.b);
307  float lobe = max(-FSR_RCAS_LIMIT, min(max_lobeC, 0.0)) * uSharpnessPower;
308
309  // Noise detection.
310  float noise = 0.25 * b_luma + 0.25 * d_luma + 0.25 * f_luma + 0.25 * h_luma - e_luma;
311  float max_luma = max5_float(e_luma, b_luma, h_luma, d_luma, f_luma);
312  float min_luma = min5_float(e_luma, b_luma, h_luma, d_luma, f_luma);
313  noise = saturate(abs(noise) * rcp(max_luma - min_luma));
314  noise = -0.5 * noise + 1.0;
315  lobe = lobe * noise;
316
317  vec3 result = (lobe * (b_texel + d_texel + h_texel + f_texel) + e_texel) / (4.0 * lobe + 1.0);
318
319  gl_FragColor = vec4(result, color.a);
320}
321`],o=tB(o=i),r=function(t,r){if(r&&("object"==tD(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,tL()?Reflect.construct(o,a||[],tB(this).constructor):o.apply(this,a)),t.outputResolution&&r.setOutputResolution(t.outputResolution),r.setPower(null!=(n=t.power)?n:0),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&tN(t,r)}(i,t),r=[{key:"setOutputResolution",value:function(t){var r=1/(t.width-1),n=1/(t.height-1);this.uniforms.uStep=[r,n]}},{key:"setPower",value:function(t){t=Math.min(1,t=Math.max(0,t)),this.uniforms.uSharpnessPower=.3*t+1}}],tM(i.prototype,r),n&&tM(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function tU(t){return(tU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tj(){tj=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 321
321(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==tU(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(tU(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
321if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function tz(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function tG(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tU(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tU(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==tU(r)?r:r+""}(i.key),i)}}function tV(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(tV=function(){return!!t})()}function tW(){return(tW="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=tH(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function tH(t){return(tH=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function tq(t,r){return(tq=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var tY=function(t){var r,n,i,o;function a(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,a),(n=a,i=[t],n=tH(n),r=function(t,r){if(r&&("object"==tU(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,tV()?Reflect.construct(n,i||[],tH(this).constructor):n.apply(this,i))).name=nM.SHARPNESS,r.priority=6,r.config={power:0},r.filterName="sharpness",r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&tq(t,r)}(a,t),r=[{key:"prepare",value:function(){var t=this.sdkOptions,r=t.width,n=t.height;this.filterSharpness=new tF({outputResolution:{height:n,width:r}}),this.sdkOptions.on("update",this.onOptionsUpdate,this)}},{key:"onOptionsUpdate",value:function(){var t=this.sdkOptions,r=t.width,n=t.height;this.filterSharpness.setOutputResolution({height:n,width:r})}},{key:"process",value:(i=tj().mark(function t(){return tj().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:this.resources.filters.set(this.filterName,this.filterSharpness);case 3:case"end":return t.stop()}},t,this)}),o=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function s(t){tz(a,n,o,s,u,"next",t)}function u(t){tz(a,n,o,s,u,"throw",t)}s(void 0)})},function(){return o.apply(this,arguments)})},{key:"disable",value:function(){var t,r;(t=this,"function"==typeof(r=tW(tH(a.prototype),"disable",t))?function(n){return r.apply(t,n)}:r)([]),this.resources.filters.delete(this.filterName)}},{key:"setConfig",value:function(t){this.setPower(t.power)}},{key:"setPower",value:function(t){void 0!==t&&(this.config.power=t,this.filterSharpness.setPower(t))}},{key:"destroy",value:function(){this.sdkOptions.off("update",this.onOptionsUpdate,this)}}],tG(a.prototype,r),n&&tG(a,n),Object.defineProperty(a,"prototype",{writable:!1}),a}(f);let tX={smoothPower:20,sensitivityValue:.15,faceAreaProportion:.1,modelHeight:240,modelWidth:320,faceDetectorAccuracy:.75,waiterSeconds:1,isFaceSquareDrawingEnabled:!1,isPreFaceSquareDrawingEnabled:!1,faceDetectorPediod_ms:250};function tK(t){return(tK="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tZ(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=tK(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=tK(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
321(t,"string");return"symbol"==tK(r)?r:r+""}(i.key),i)}}var tJ=(rJ=function t(r,n){!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.setCoord(r),this.id=null!=n?n:Math.round(100*Math.random())},rQ=[{key:"setID",value:function(t){this.id=t}},{key:"getID",value:function(){return this.id}},{key:"checkSame",value:function(t){if(void 0===this.x1||!(t.x1>this.x1&&t.x1<this.x2||t.x2>this.x1&&t.x2<this.x2||this.x1>t.x1&&this.x1<t.x2||this.x2>t.x1&&this.x2<t.x2)||!(t.y1>this.y1&&t.y1<this.y2||t.y2>this.y1&&t.y2<this.y2||this.y1>t.y1&&this.y1<t.y2||this.y2>t.y1&&this.y2<t.y2))return!1;var r=this.calcSquare(t),n=Math.abs(Math.max(this.x1,t.x1)-Math.min(this.x2,t.x2));return Math.abs(Math.max(this.y1,t.y1)-Math.min(this.y2,t.y2))*n/Math.min(this.square,r)>.7&&(this.setCoord(t),!0)}},{key:"getRect",value:function(){return{x1:this.x1,y1:this.y1,width:this.x2-this.x1,height:this.y2-this.y1}}},{key:"getCoord",value:function(){return{x1:this.x1,y1:this.y1,x2:this.x2,y2:this.y2}}},{key:"getSquare",value:function(){return this.square}},{key:"getCenter",value:function(){return{x:this.x1+(this.x2-this.x1)/2,y:this.y1+(this.y2-this.y1)/2}}},{key:"isEqual",value:function(t,r,n,i){if(!t)return!1;var o=t.getCoord();return!(Math.abs(this.x1-o.x1)/(null!=i?i:this.x2-this.x1)>r||Math.abs(this.x2-o.x2)/(null!=i?i:this.x2-this.x1)>r||Math.abs(this.y1-o.y1)/(null!=n?n:this.y2-this.y1)>r||Math.abs(this.y2-o.y2)/(null!=n?n:this.y2-this.y1)>r)}},{key:"setCoord",value:function(t){var r=void 0===this.x1;this.x1=r?t.x1:Math.min(this.x1,t.x1),this.y1=r?t.y1:Math.min(this.y1,t.y1),this.x2=r?t.x2:Math.max(this.x2,t.x2),this.y2=r?t.y2:Math.max(this.y2,t.y2),this.square=this.calcSquare(t)}},{key:"calcSquare",value:function(t){return(t.x2-t.x1)*(t.y2-t.y1)}}],tZ(rJ.prototype,rQ),r1&&tZ(rJ,r1),Object.defineProperty(rJ,"prototype",{writable:!1}),rJ);let tQ=[{x:.0125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.0125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.0125,y:.016666666666666666,w:.075,h:.1},{x:.0375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.0375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.0375,y:.016666666666666666,w:.075,h:.1},{x:.0625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.0625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.0625,y:.016666666666666666,w:.075,h:.1},{x:.0875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.0875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.0875,y:.016666666666666666,w:.075,h:.1}
321,{x:.1125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.1125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.1125,y:.016666666666666666,w:.075,h:.1},{x:.1375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.1375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.1375,y:.016666666666666666,w:.075,h:.1},{x:.1625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.1625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.1625,y:.016666666666666666,w:.075,h:.1},{x:.1875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.1875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.1875,y:.016666666666666666,w:.075,h:.1},{x:.2125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.2125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.2125,y:.016666666666666666,w:.075,h:.1},{x:.2375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.2375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.2375,y:.016666666666666666,w:.075,h:.1},{x:.2625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.2625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.2625,y:.016666666666666666,w:.075,h:.1},{x:.2875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.2875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.2875,y:.016666666666666666,w:.075,h:.1},{x:.3125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.3125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.3125,y:.016666666666666666,w:.075,h:.1},{x:.3375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.3375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.3375,y:.016666666666666666,w:.075,h:.1},{x:.3625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.3625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.3625,y:.016666666666666666,w:.075,h:.1},{x:.3875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.3875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.3875,y:.016666666666666666,w:.075,h:.1},{x:.4125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.4125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.4125,y:.016666666666666666,w:.075,h:.1},{x:.4375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.4375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.4375,y:.016666666666666666,w:.075,h:.1},{x:.4625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.4625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.4625,y:.016666666666666666,w:.075,h:.1},{x:.4875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.4875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.4875,y:.016666666666666666,w:.075,h:.1},{x:.5125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.5125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.5125,y:.016666666666666666,w:.075,h:.1},{x:.5375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.5375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.5375,y:.016666666666666666,w:.075,h:.1},{x:.5625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.5625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.5625,y:.016666666666666666,w:.075,h:.1},{x:.5875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.5875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.5875,y:.016666666666666666,w:.075,h:.1},{x:.6125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.6125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.6125,y:.016666666666666666,w:.075,h:.1},{x:.6375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.6375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.6375,y:.016666666666666666,w:.075,h:.1},{x:.6625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.6625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.6625,y:.016666666666666666,w:.075,h:.1},{x:.6875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.6875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.6875,y:.016666666666666666,w:.075,h:.1},{x:.7125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.7125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.7125,y:.016666666666666666,w:.075,h:.1},{x:.7375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.7375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.7375,y:.016666666666666666,w:.075,h:.1},{x:.7625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.7625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.7625,y:.016666666666666666,w:.075,h:.1},{x:.7875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.7875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.7875,y:.016666666666666666,w:.075,h:.1},{x:.8125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.8125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.8125,y:.016666666666666666,w:.075,h:.1},{x:.8375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.8375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.8375,y:.016666666666666666,w:.075,h:.1},{x:.8625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.8625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.8625,y:.016666666666666666,w:.075,h:.1},{x:.8875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.8875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.8875,y:.016666666666666666,w:.075,h:.1},{x:.9125,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.9125,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.9125,y:.016666666666666666,w:.075,h:.1},{x:.9375,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.9375,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.9375,y:.016666666666666666,w:.075,h:.1},{x:.9625,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.9625,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.9625,y:.016666666666666666,w:.075,h:.1},{x:.9875,y:.016666666666666666,w:.03125,h:.041666666666666664},{x:.9875,y:.016666666666666666,w:.05,h:.06666666666666667},{x:.9875,y:.016666666666666666,w:.075,h:.1},{x:.0125,y:.05,w:.03125,h:.041666666666666664},{x:.0125,y:.05,w:.05,h:.06666666666666667},{x:.0125,y:.05,w:.075,h:.1},{x:.0375,y:.05,w:.03125,h:.041666666666666664},{x:.0375,y:.05,w:.05,h:.06666666666666667},{x:.0375,y:.05,w:.075,h:.1},{x:.0625,y:.05,w:.03125,h:.041666666666666664},{x:.0625,y:.05,w:.05,h:.06666666666666667},{x:.0625,y:.05,w:.075,h:.1}
321,{x:.0875,y:.05,w:.03125,h:.041666666666666664},{x:.0875,y:.05,w:.05,h:.06666666666666667},{x:.0875,y:.05,w:.075,h:.1},{x:.1125,y:.05,w:.03125,h:.041666666666666664},{x:.1125,y:.05,w:.05,h:.06666666666666667},{x:.1125,y:.05,w:.075,h:.1},{x:.1375,y:.05,w:.03125,h:.041666666666666664},{x:.1375,y:.05,w:.05,h:.06666666666666667},{x:.1375,y:.05,w:.075,h:.1},{x:.1625,y:.05,w:.03125,h:.041666666666666664},{x:.1625,y:.05,w:.05,h:.06666666666666667},{x:.1625,y:.05,w:.075,h:.1},{x:.1875,y:.05,w:.03125,h:.041666666666666664},{x:.1875,y:.05,w:.05,h:.06666666666666667},{x:.1875,y:.05,w:.075,h:.1},{x:.2125,y:.05,w:.03125,h:.041666666666666664},{x:.2125,y:.05,w:.05,h:.06666666666666667},{x:.2125,y:.05,w:.075,h:.1},{x:.2375,y:.05,w:.03125,h:.041666666666666664},{x:.2375,y:.05,w:.05,h:.06666666666666667},{x:.2375,y:.05,w:.075,h:.1},{x:.2625,y:.05,w:.03125,h:.041666666666666664},{x:.2625,y:.05,w:.05,h:.06666666666666667},{x:.2625,y:.05,w:.075,h:.1},{x:.2875,y:.05,w:.03125,h:.041666666666666664},{x:.2875,y:.05,w:.05,h:.06666666666666667},{x:.2875,y:.05,w:.075,h:.1},{x:.3125,y:.05,w:.03125,h:.041666666666666664},{x:.3125,y:.05,w:.05,h:.06666666666666667},{x:.3125,y:.05,w:.075,h:.1},{x:.3375,y:.05,w:.03125,h:.041666666666666664},{x:.3375,y:.05,w:.05,h:.06666666666666667},{x:.3375,y:.05,w:.075,h:.1},{x:.3625,y:.05,w:.03125,h:.041666666666666664},{x:.3625,y:.05,w:.05,h:.06666666666666667},{x:.3625,y:.05,w:.075,h:.1},{x:.3875,y:.05,w:.03125,h:.041666666666666664},{x:.3875,y:.05,w:.05,h:.06666666666666667},{x:.3875,y:.05,w:.075,h:.1},{x:.4125,y:.05,w:.03125,h:.041666666666666664},{x:.4125,y:.05,w:.05,h:.06666666666666667},{x:.4125,y:.05,w:.075,h:.1},{x:.4375,y:.05,w:.03125,h:.041666666666666664},{x:.4375,y:.05,w:.05,h:.06666666666666667},{x:.4375,y:.05,w:.075,h:.1},{x:.4625,y:.05,w:.03125,h:.041666666666666664},{x:.4625,y:.05,w:.05,h:.06666666666666667},{x:.4625,y:.05,w:.075,h:.1},{x:.4875,y:.05,w:.03125,h:.041666666666666664},{x:.4875,y:.05,w:.05,h:.06666666666666667},{x:.4875,y:.05,w:.075,h:.1},{x:.5125,y:.05,w:.03125,h:.041666666666666664},{x:.5125,y:.05,w:.05,h:.06666666666666667},{x:.5125,y:.05,w:.075,h:.1},{x:.5375,y:.05,w:.03125,h:.041666666666666664},{x:.5375,y:.05,w:.05,h:.06666666666666667},{x:.5375,y:.05,w:.075,h:.1},{x:.5625,y:.05,w:.03125,h:.041666666666666664},{x:.5625,y:.05,w:.05,h:.06666666666666667},{x:.5625,y:.05,w:.075,h:.1},{x:.5875,y:.05,w:.03125,h:.041666666666666664},{x:.5875,y:.05,w:.05,h:.06666666666666667},{x:.5875,y:.05,w:.075,h:.1},{x:.6125,y:.05,w:.03125,h:.041666666666666664},{x:.6125,y:.05,w:.05,h:.06666666666666667},{x:.6125,y:.05,w:.075,h:.1},{x:.6375,y:.05,w:.03125,h:.041666666666666664},{x:.6375,y:.05,w:.05,h:.06666666666666667},{x:.6375,y:.05,w:.075,h:.1},{x:.6625,y:.05,w:.03125,h:.041666666666666664},{x:.6625,y:.05,w:.05,h:.06666666666666667},{x:.6625,y:.05,w:.075,h:.1},{x:.6875,y:.05,w:.03125,h:.041666666666666664},{x:.6875,y:.05,w:.05,h:.06666666666666667},{x:.6875,y:.05,w:.075,h:.1},{x:.7125,y:.05,w:.03125,h:.041666666666666664},{x:.7125,y:.05,w:.05,h:.06666666666666667},{x:.7125,y:.05,w:.075,h:.1},{x:.7375,y:.05,w:.03125,h:.041666666666666664},{x:.7375,y:.05,w:.05,h:.06666666666666667},{x:.7375,y:.05,w:.075,h:.1},{x:.7625,y:.05,w:.03125,h:.041666666666666664},{x:.7625,y:.05,w:.05,h:.06666666666666667},{x:.7625,y:.05,w:.075,h:.1},{x:.7875,y:.05,w:.03125,h:.041666666666666664},{x:.7875,y:.05,w:.05,h:.06666666666666667},{x:.7875,y:.05,w:.075,h:.1},{x:.8125,y:.05,w:.03125,h:.041666666666666664},{x:.8125,y:.05,w:.05,h:.06666666666666667},{x:.8125,y:.05,w:.075,h:.1},{x:.8375,y:.05,w:.03125,h:.041666666666666664},{x:.8375,y:.05,w:.05,h:.06666666666666667},{x:.8375,y:.05,w:.075,h:.1},{x:.8625,y:.05,w:.03125,h:.041666666666666664},{x:.8625,y:.05,w:.05,h:.06666666666666667},{x:.8625,y:.05,w:.075,h:.1},{x:.8875,y:.05,w:.03125,h:.041666666666666664},{x:.8875,y:.05,w:.05,h:.06666666666666667},{x:.8875,y:.05,w:.075,h:.1},{x:.9125,y:.05,w:.03125,h:.041666666666666664},{x:.9125,y:.05,w:.05,h:.06666666666666667},{x:.9125,y:.05,w:.075,h:.1},{x:.9375,y:.05,w:.03125,h:.041666666666666664},{x:.9375,y:.05,w:.05,h:.06666666666666667},{x:.9375,y:.05,w:.075,h:.1},{x:.9625,y:.05,w:.03125,h:.041666666666666664},{x:.9625,y:.05,w:.05,h:.06666666666666667},{x:.9625,y:.05,w:.075,h:.1},{x:.9875,y:.05,w:.03125,h:.041666666666666664},{x:.9875,y:.05,w:.05,h:.06666666666666667},{x:.9875,y:.05,w:.075,h:.1},{x:.0125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.08333333333333333,w:.075,h:.1},{x:.0375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.08333333333333333,w:.075,h:.1},{x:.0625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.08333333333333333,w:.075,h:.1}
321,{x:.0875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.08333333333333333,w:.075,h:.1},{x:.1125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.08333333333333333,w:.075,h:.1},{x:.1375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.08333333333333333,w:.075,h:.1},{x:.1625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.08333333333333333,w:.075,h:.1},{x:.1875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.08333333333333333,w:.075,h:.1},{x:.2125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.08333333333333333,w:.075,h:.1},{x:.2375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.08333333333333333,w:.075,h:.1},{x:.2625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.08333333333333333,w:.075,h:.1},{x:.2875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.08333333333333333,w:.075,h:.1},{x:.3125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.08333333333333333,w:.075,h:.1},{x:.3375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.08333333333333333,w:.075,h:.1},{x:.3625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.08333333333333333,w:.075,h:.1},{x:.3875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.08333333333333333,w:.075,h:.1},{x:.4125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.08333333333333333,w:.075,h:.1},{x:.4375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.08333333333333333,w:.075,h:.1},{x:.4625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.08333333333333333,w:.075,h:.1},{x:.4875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.08333333333333333,w:.075,h:.1},{x:.5125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.08333333333333333,w:.075,h:.1},{x:.5375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.08333333333333333,w:.075,h:.1},{x:.5625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.08333333333333333,w:.075,h:.1},{x:.5875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.08333333333333333,w:.075,h:.1},{x:.6125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.08333333333333333,w:.075,h:.1},{x:.6375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.08333333333333333,w:.075,h:.1},{x:.6625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.08333333333333333,w:.075,h:.1},{x:.6875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.08333333333333333,w:.075,h:.1},{x:.7125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.08333333333333333,w:.075,h:.1},{x:.7375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.08333333333333333,w:.075,h:.1},{x:.7625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.08333333333333333,w:.075,h:.1},{x:.7875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.08333333333333333,w:.075,h:.1},{x:.8125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.08333333333333333,w:.075,h:.1},{x:.8375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.08333333333333333,w:.075,h:.1},{x:.8625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.08333333333333333,w:.075,h:.1},{x:.8875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.08333333333333333,w:.075,h:.1},{x:.9125,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.08333333333333333,w:.075,h:.1},{x:.9375,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.08333333333333333,w:.075,h:.1},{x:.9625,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.08333333333333333,w:.075,h:.1},{x:.9875,y:.08333333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.08333333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.08333333333333333,w:.075,h:.1},{x:.0125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.11666666666666667,w:.075,h:.1},{x:.0375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.11666666666666667,w:.075,h:.1},{x:.0625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.11666666666666667,w:.075,h:.1}
321,{x:.0875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.11666666666666667,w:.075,h:.1},{x:.1125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.11666666666666667,w:.075,h:.1},{x:.1375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.11666666666666667,w:.075,h:.1},{x:.1625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.11666666666666667,w:.075,h:.1},{x:.1875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.11666666666666667,w:.075,h:.1},{x:.2125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.11666666666666667,w:.075,h:.1},{x:.2375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.11666666666666667,w:.075,h:.1},{x:.2625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.11666666666666667,w:.075,h:.1},{x:.2875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.11666666666666667,w:.075,h:.1},{x:.3125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.11666666666666667,w:.075,h:.1},{x:.3375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.11666666666666667,w:.075,h:.1},{x:.3625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.11666666666666667,w:.075,h:.1},{x:.3875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.11666666666666667,w:.075,h:.1},{x:.4125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.11666666666666667,w:.075,h:.1},{x:.4375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.11666666666666667,w:.075,h:.1},{x:.4625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.11666666666666667,w:.075,h:.1},{x:.4875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.11666666666666667,w:.075,h:.1},{x:.5125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.11666666666666667,w:.075,h:.1},{x:.5375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.11666666666666667,w:.075,h:.1},{x:.5625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.11666666666666667,w:.075,h:.1},{x:.5875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.11666666666666667,w:.075,h:.1},{x:.6125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.11666666666666667,w:.075,h:.1},{x:.6375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.11666666666666667,w:.075,h:.1},{x:.6625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.11666666666666667,w:.075,h:.1},{x:.6875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.11666666666666667,w:.075,h:.1},{x:.7125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.11666666666666667,w:.075,h:.1},{x:.7375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.11666666666666667,w:.075,h:.1},{x:.7625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.11666666666666667,w:.075,h:.1},{x:.7875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.11666666666666667,w:.075,h:.1},{x:.8125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.11666666666666667,w:.075,h:.1},{x:.8375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.11666666666666667,w:.075,h:.1},{x:.8625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.11666666666666667,w:.075,h:.1},{x:.8875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.11666666666666667,w:.075,h:.1},{x:.9125,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.11666666666666667,w:.075,h:.1},{x:.9375,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.11666666666666667,w:.075,h:.1},{x:.9625,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.11666666666666667,w:.075,h:.1},{x:.9875,y:.11666666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.11666666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.11666666666666667,w:.075,h:.1},{x:.0125,y:.15,w:.03125,h:.041666666666666664},{x:.0125,y:.15,w:.05,h:.06666666666666667},{x:.0125,y:.15,w:.075,h:.1},{x:.0375,y:.15,w:.03125,h:.041666666666666664},{x:.0375,y:.15,w:.05,h:.06666666666666667},{x:.0375,y:.15,w:.075,h:.1},{x:.0625,y:.15,w:.03125,h:.041666666666666664},{x:.0625,y:.15,w:.05,h:.06666666666666667},{x:.0625,y:.15,w:.075,h:.1}
321,{x:.0875,y:.15,w:.03125,h:.041666666666666664},{x:.0875,y:.15,w:.05,h:.06666666666666667},{x:.0875,y:.15,w:.075,h:.1},{x:.1125,y:.15,w:.03125,h:.041666666666666664},{x:.1125,y:.15,w:.05,h:.06666666666666667},{x:.1125,y:.15,w:.075,h:.1},{x:.1375,y:.15,w:.03125,h:.041666666666666664},{x:.1375,y:.15,w:.05,h:.06666666666666667},{x:.1375,y:.15,w:.075,h:.1},{x:.1625,y:.15,w:.03125,h:.041666666666666664},{x:.1625,y:.15,w:.05,h:.06666666666666667},{x:.1625,y:.15,w:.075,h:.1},{x:.1875,y:.15,w:.03125,h:.041666666666666664},{x:.1875,y:.15,w:.05,h:.06666666666666667},{x:.1875,y:.15,w:.075,h:.1},{x:.2125,y:.15,w:.03125,h:.041666666666666664},{x:.2125,y:.15,w:.05,h:.06666666666666667},{x:.2125,y:.15,w:.075,h:.1},{x:.2375,y:.15,w:.03125,h:.041666666666666664},{x:.2375,y:.15,w:.05,h:.06666666666666667},{x:.2375,y:.15,w:.075,h:.1},{x:.2625,y:.15,w:.03125,h:.041666666666666664},{x:.2625,y:.15,w:.05,h:.06666666666666667},{x:.2625,y:.15,w:.075,h:.1},{x:.2875,y:.15,w:.03125,h:.041666666666666664},{x:.2875,y:.15,w:.05,h:.06666666666666667},{x:.2875,y:.15,w:.075,h:.1},{x:.3125,y:.15,w:.03125,h:.041666666666666664},{x:.3125,y:.15,w:.05,h:.06666666666666667},{x:.3125,y:.15,w:.075,h:.1},{x:.3375,y:.15,w:.03125,h:.041666666666666664},{x:.3375,y:.15,w:.05,h:.06666666666666667},{x:.3375,y:.15,w:.075,h:.1},{x:.3625,y:.15,w:.03125,h:.041666666666666664},{x:.3625,y:.15,w:.05,h:.06666666666666667},{x:.3625,y:.15,w:.075,h:.1},{x:.3875,y:.15,w:.03125,h:.041666666666666664},{x:.3875,y:.15,w:.05,h:.06666666666666667},{x:.3875,y:.15,w:.075,h:.1},{x:.4125,y:.15,w:.03125,h:.041666666666666664},{x:.4125,y:.15,w:.05,h:.06666666666666667},{x:.4125,y:.15,w:.075,h:.1},{x:.4375,y:.15,w:.03125,h:.041666666666666664},{x:.4375,y:.15,w:.05,h:.06666666666666667},{x:.4375,y:.15,w:.075,h:.1},{x:.4625,y:.15,w:.03125,h:.041666666666666664},{x:.4625,y:.15,w:.05,h:.06666666666666667},{x:.4625,y:.15,w:.075,h:.1},{x:.4875,y:.15,w:.03125,h:.041666666666666664},{x:.4875,y:.15,w:.05,h:.06666666666666667},{x:.4875,y:.15,w:.075,h:.1},{x:.5125,y:.15,w:.03125,h:.041666666666666664},{x:.5125,y:.15,w:.05,h:.06666666666666667},{x:.5125,y:.15,w:.075,h:.1},{x:.5375,y:.15,w:.03125,h:.041666666666666664},{x:.5375,y:.15,w:.05,h:.06666666666666667},{x:.5375,y:.15,w:.075,h:.1},{x:.5625,y:.15,w:.03125,h:.041666666666666664},{x:.5625,y:.15,w:.05,h:.06666666666666667},{x:.5625,y:.15,w:.075,h:.1},{x:.5875,y:.15,w:.03125,h:.041666666666666664},{x:.5875,y:.15,w:.05,h:.06666666666666667},{x:.5875,y:.15,w:.075,h:.1},{x:.6125,y:.15,w:.03125,h:.041666666666666664},{x:.6125,y:.15,w:.05,h:.06666666666666667},{x:.6125,y:.15,w:.075,h:.1},{x:.6375,y:.15,w:.03125,h:.041666666666666664},{x:.6375,y:.15,w:.05,h:.06666666666666667},{x:.6375,y:.15,w:.075,h:.1},{x:.6625,y:.15,w:.03125,h:.041666666666666664},{x:.6625,y:.15,w:.05,h:.06666666666666667},{x:.6625,y:.15,w:.075,h:.1},{x:.6875,y:.15,w:.03125,h:.041666666666666664},{x:.6875,y:.15,w:.05,h:.06666666666666667},{x:.6875,y:.15,w:.075,h:.1},{x:.7125,y:.15,w:.03125,h:.041666666666666664},{x:.7125,y:.15,w:.05,h:.06666666666666667},{x:.7125,y:.15,w:.075,h:.1},{x:.7375,y:.15,w:.03125,h:.041666666666666664},{x:.7375,y:.15,w:.05,h:.06666666666666667},{x:.7375,y:.15,w:.075,h:.1},{x:.7625,y:.15,w:.03125,h:.041666666666666664},{x:.7625,y:.15,w:.05,h:.06666666666666667},{x:.7625,y:.15,w:.075,h:.1},{x:.7875,y:.15,w:.03125,h:.041666666666666664},{x:.7875,y:.15,w:.05,h:.06666666666666667},{x:.7875,y:.15,w:.075,h:.1},{x:.8125,y:.15,w:.03125,h:.041666666666666664},{x:.8125,y:.15,w:.05,h:.06666666666666667},{x:.8125,y:.15,w:.075,h:.1},{x:.8375,y:.15,w:.03125,h:.041666666666666664},{x:.8375,y:.15,w:.05,h:.06666666666666667},{x:.8375,y:.15,w:.075,h:.1},{x:.8625,y:.15,w:.03125,h:.041666666666666664},{x:.8625,y:.15,w:.05,h:.06666666666666667},{x:.8625,y:.15,w:.075,h:.1},{x:.8875,y:.15,w:.03125,h:.041666666666666664},{x:.8875,y:.15,w:.05,h:.06666666666666667},{x:.8875,y:.15,w:.075,h:.1},{x:.9125,y:.15,w:.03125,h:.041666666666666664},{x:.9125,y:.15,w:.05,h:.06666666666666667},{x:.9125,y:.15,w:.075,h:.1},{x:.9375,y:.15,w:.03125,h:.041666666666666664},{x:.9375,y:.15,w:.05,h:.06666666666666667},{x:.9375,y:.15,w:.075,h:.1},{x:.9625,y:.15,w:.03125,h:.041666666666666664},{x:.9625,y:.15,w:.05,h:.06666666666666667},{x:.9625,y:.15,w:.075,h:.1},{x:.9875,y:.15,w:.03125,h:.041666666666666664},{x:.9875,y:.15,w:.05,h:.06666666666666667},{x:.9875,y:.15,w:.075,h:.1},{x:.0125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.0125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.0125,y:.18333333333333332,w:.075,h:.1},{x:.0375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.0375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.0375,y:.18333333333333332,w:.075,h:.1},{x:.0625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.0625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.0625,y:.18333333333333332,w:.075,h:.1}
321,{x:.0875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.0875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.0875,y:.18333333333333332,w:.075,h:.1},{x:.1125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.1125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.1125,y:.18333333333333332,w:.075,h:.1},{x:.1375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.1375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.1375,y:.18333333333333332,w:.075,h:.1},{x:.1625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.1625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.1625,y:.18333333333333332,w:.075,h:.1},{x:.1875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.1875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.1875,y:.18333333333333332,w:.075,h:.1},{x:.2125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.2125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.2125,y:.18333333333333332,w:.075,h:.1},{x:.2375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.2375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.2375,y:.18333333333333332,w:.075,h:.1},{x:.2625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.2625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.2625,y:.18333333333333332,w:.075,h:.1},{x:.2875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.2875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.2875,y:.18333333333333332,w:.075,h:.1},{x:.3125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.3125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.3125,y:.18333333333333332,w:.075,h:.1},{x:.3375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.3375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.3375,y:.18333333333333332,w:.075,h:.1},{x:.3625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.3625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.3625,y:.18333333333333332,w:.075,h:.1},{x:.3875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.3875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.3875,y:.18333333333333332,w:.075,h:.1},{x:.4125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.4125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.4125,y:.18333333333333332,w:.075,h:.1},{x:.4375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.4375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.4375,y:.18333333333333332,w:.075,h:.1},{x:.4625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.4625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.4625,y:.18333333333333332,w:.075,h:.1},{x:.4875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.4875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.4875,y:.18333333333333332,w:.075,h:.1},{x:.5125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.5125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.5125,y:.18333333333333332,w:.075,h:.1},{x:.5375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.5375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.5375,y:.18333333333333332,w:.075,h:.1},{x:.5625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.5625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.5625,y:.18333333333333332,w:.075,h:.1},{x:.5875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.5875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.5875,y:.18333333333333332,w:.075,h:.1},{x:.6125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.6125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.6125,y:.18333333333333332,w:.075,h:.1},{x:.6375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.6375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.6375,y:.18333333333333332,w:.075,h:.1},{x:.6625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.6625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.6625,y:.18333333333333332,w:.075,h:.1},{x:.6875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.6875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.6875,y:.18333333333333332,w:.075,h:.1},{x:.7125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.7125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.7125,y:.18333333333333332,w:.075,h:.1},{x:.7375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.7375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.7375,y:.18333333333333332,w:.075,h:.1},{x:.7625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.7625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.7625,y:.18333333333333332,w:.075,h:.1},{x:.7875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.7875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.7875,y:.18333333333333332,w:.075,h:.1},{x:.8125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.8125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.8125,y:.18333333333333332,w:.075,h:.1},{x:.8375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.8375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.8375,y:.18333333333333332,w:.075,h:.1},{x:.8625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.8625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.8625,y:.18333333333333332,w:.075,h:.1},{x:.8875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.8875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.8875,y:.18333333333333332,w:.075,h:.1},{x:.9125,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.9125,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.9125,y:.18333333333333332,w:.075,h:.1},{x:.9375,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.9375,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.9375,y:.18333333333333332,w:.075,h:.1},{x:.9625,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.9625,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.9625,y:.18333333333333332,w:.075,h:.1},{x:.9875,y:.18333333333333332,w:.03125,h:.041666666666666664},{x:.9875,y:.18333333333333332,w:.05,h:.06666666666666667},{x:.9875,y:.18333333333333332,w:.075,h:.1},{x:.0125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.21666666666666667,w:.075,h:.1},{x:.0375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.21666666666666667,w:.075,h:.1},{x:.0625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.21666666666666667,w:.075,h:.1}
321,{x:.0875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.21666666666666667,w:.075,h:.1},{x:.1125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.21666666666666667,w:.075,h:.1},{x:.1375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.21666666666666667,w:.075,h:.1},{x:.1625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.21666666666666667,w:.075,h:.1},{x:.1875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.21666666666666667,w:.075,h:.1},{x:.2125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.21666666666666667,w:.075,h:.1},{x:.2375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.21666666666666667,w:.075,h:.1},{x:.2625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.21666666666666667,w:.075,h:.1},{x:.2875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.21666666666666667,w:.075,h:.1},{x:.3125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.21666666666666667,w:.075,h:.1},{x:.3375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.21666666666666667,w:.075,h:.1},{x:.3625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.21666666666666667,w:.075,h:.1},{x:.3875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.21666666666666667,w:.075,h:.1},{x:.4125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.21666666666666667,w:.075,h:.1},{x:.4375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.21666666666666667,w:.075,h:.1},{x:.4625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.21666666666666667,w:.075,h:.1},{x:.4875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.21666666666666667,w:.075,h:.1},{x:.5125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.21666666666666667,w:.075,h:.1},{x:.5375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.21666666666666667,w:.075,h:.1},{x:.5625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.21666666666666667,w:.075,h:.1},{x:.5875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.21666666666666667,w:.075,h:.1},{x:.6125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.21666666666666667,w:.075,h:.1},{x:.6375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.21666666666666667,w:.075,h:.1},{x:.6625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.21666666666666667,w:.075,h:.1},{x:.6875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.21666666666666667,w:.075,h:.1},{x:.7125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.21666666666666667,w:.075,h:.1},{x:.7375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.21666666666666667,w:.075,h:.1},{x:.7625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.21666666666666667,w:.075,h:.1},{x:.7875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.21666666666666667,w:.075,h:.1},{x:.8125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.21666666666666667,w:.075,h:.1},{x:.8375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.21666666666666667,w:.075,h:.1},{x:.8625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.21666666666666667,w:.075,h:.1},{x:.8875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.21666666666666667,w:.075,h:.1},{x:.9125,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.21666666666666667,w:.075,h:.1},{x:.9375,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.21666666666666667,w:.075,h:.1},{x:.9625,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.21666666666666667,w:.075,h:.1},{x:.9875,y:.21666666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.21666666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.21666666666666667,w:.075,h:.1},{x:.0125,y:.25,w:.03125,h:.041666666666666664},{x:.0125,y:.25,w:.05,h:.06666666666666667},{x:.0125,y:.25,w:.075,h:.1},{x:.0375,y:.25,w:.03125,h:.041666666666666664},{x:.0375,y:.25,w:.05,h:.06666666666666667},{x:.0375,y:.25,w:.075,h:.1},{x:.0625,y:.25,w:.03125,h:.041666666666666664},{x:.0625,y:.25,w:.05,h:.06666666666666667},{x:.0625,y:.25,w:.075,h:.1}
321,{x:.0875,y:.25,w:.03125,h:.041666666666666664},{x:.0875,y:.25,w:.05,h:.06666666666666667},{x:.0875,y:.25,w:.075,h:.1},{x:.1125,y:.25,w:.03125,h:.041666666666666664},{x:.1125,y:.25,w:.05,h:.06666666666666667},{x:.1125,y:.25,w:.075,h:.1},{x:.1375,y:.25,w:.03125,h:.041666666666666664},{x:.1375,y:.25,w:.05,h:.06666666666666667},{x:.1375,y:.25,w:.075,h:.1},{x:.1625,y:.25,w:.03125,h:.041666666666666664},{x:.1625,y:.25,w:.05,h:.06666666666666667},{x:.1625,y:.25,w:.075,h:.1},{x:.1875,y:.25,w:.03125,h:.041666666666666664},{x:.1875,y:.25,w:.05,h:.06666666666666667},{x:.1875,y:.25,w:.075,h:.1},{x:.2125,y:.25,w:.03125,h:.041666666666666664},{x:.2125,y:.25,w:.05,h:.06666666666666667},{x:.2125,y:.25,w:.075,h:.1},{x:.2375,y:.25,w:.03125,h:.041666666666666664},{x:.2375,y:.25,w:.05,h:.06666666666666667},{x:.2375,y:.25,w:.075,h:.1},{x:.2625,y:.25,w:.03125,h:.041666666666666664},{x:.2625,y:.25,w:.05,h:.06666666666666667},{x:.2625,y:.25,w:.075,h:.1},{x:.2875,y:.25,w:.03125,h:.041666666666666664},{x:.2875,y:.25,w:.05,h:.06666666666666667},{x:.2875,y:.25,w:.075,h:.1},{x:.3125,y:.25,w:.03125,h:.041666666666666664},{x:.3125,y:.25,w:.05,h:.06666666666666667},{x:.3125,y:.25,w:.075,h:.1},{x:.3375,y:.25,w:.03125,h:.041666666666666664},{x:.3375,y:.25,w:.05,h:.06666666666666667},{x:.3375,y:.25,w:.075,h:.1},{x:.3625,y:.25,w:.03125,h:.041666666666666664},{x:.3625,y:.25,w:.05,h:.06666666666666667},{x:.3625,y:.25,w:.075,h:.1},{x:.3875,y:.25,w:.03125,h:.041666666666666664},{x:.3875,y:.25,w:.05,h:.06666666666666667},{x:.3875,y:.25,w:.075,h:.1},{x:.4125,y:.25,w:.03125,h:.041666666666666664},{x:.4125,y:.25,w:.05,h:.06666666666666667},{x:.4125,y:.25,w:.075,h:.1},{x:.4375,y:.25,w:.03125,h:.041666666666666664},{x:.4375,y:.25,w:.05,h:.06666666666666667},{x:.4375,y:.25,w:.075,h:.1},{x:.4625,y:.25,w:.03125,h:.041666666666666664},{x:.4625,y:.25,w:.05,h:.06666666666666667},{x:.4625,y:.25,w:.075,h:.1},{x:.4875,y:.25,w:.03125,h:.041666666666666664},{x:.4875,y:.25,w:.05,h:.06666666666666667},{x:.4875,y:.25,w:.075,h:.1},{x:.5125,y:.25,w:.03125,h:.041666666666666664},{x:.5125,y:.25,w:.05,h:.06666666666666667},{x:.5125,y:.25,w:.075,h:.1},{x:.5375,y:.25,w:.03125,h:.041666666666666664},{x:.5375,y:.25,w:.05,h:.06666666666666667},{x:.5375,y:.25,w:.075,h:.1},{x:.5625,y:.25,w:.03125,h:.041666666666666664},{x:.5625,y:.25,w:.05,h:.06666666666666667},{x:.5625,y:.25,w:.075,h:.1},{x:.5875,y:.25,w:.03125,h:.041666666666666664},{x:.5875,y:.25,w:.05,h:.06666666666666667},{x:.5875,y:.25,w:.075,h:.1},{x:.6125,y:.25,w:.03125,h:.041666666666666664},{x:.6125,y:.25,w:.05,h:.06666666666666667},{x:.6125,y:.25,w:.075,h:.1},{x:.6375,y:.25,w:.03125,h:.041666666666666664},{x:.6375,y:.25,w:.05,h:.06666666666666667},{x:.6375,y:.25,w:.075,h:.1},{x:.6625,y:.25,w:.03125,h:.041666666666666664},{x:.6625,y:.25,w:.05,h:.06666666666666667},{x:.6625,y:.25,w:.075,h:.1},{x:.6875,y:.25,w:.03125,h:.041666666666666664},{x:.6875,y:.25,w:.05,h:.06666666666666667},{x:.6875,y:.25,w:.075,h:.1},{x:.7125,y:.25,w:.03125,h:.041666666666666664},{x:.7125,y:.25,w:.05,h:.06666666666666667},{x:.7125,y:.25,w:.075,h:.1},{x:.7375,y:.25,w:.03125,h:.041666666666666664},{x:.7375,y:.25,w:.05,h:.06666666666666667},{x:.7375,y:.25,w:.075,h:.1},{x:.7625,y:.25,w:.03125,h:.041666666666666664},{x:.7625,y:.25,w:.05,h:.06666666666666667},{x:.7625,y:.25,w:.075,h:.1},{x:.7875,y:.25,w:.03125,h:.041666666666666664},{x:.7875,y:.25,w:.05,h:.06666666666666667},{x:.7875,y:.25,w:.075,h:.1},{x:.8125,y:.25,w:.03125,h:.041666666666666664},{x:.8125,y:.25,w:.05,h:.06666666666666667},{x:.8125,y:.25,w:.075,h:.1},{x:.8375,y:.25,w:.03125,h:.041666666666666664},{x:.8375,y:.25,w:.05,h:.06666666666666667},{x:.8375,y:.25,w:.075,h:.1},{x:.8625,y:.25,w:.03125,h:.041666666666666664},{x:.8625,y:.25,w:.05,h:.06666666666666667},{x:.8625,y:.25,w:.075,h:.1},{x:.8875,y:.25,w:.03125,h:.041666666666666664},{x:.8875,y:.25,w:.05,h:.06666666666666667},{x:.8875,y:.25,w:.075,h:.1},{x:.9125,y:.25,w:.03125,h:.041666666666666664},{x:.9125,y:.25,w:.05,h:.06666666666666667},{x:.9125,y:.25,w:.075,h:.1},{x:.9375,y:.25,w:.03125,h:.041666666666666664},{x:.9375,y:.25,w:.05,h:.06666666666666667},{x:.9375,y:.25,w:.075,h:.1},{x:.9625,y:.25,w:.03125,h:.041666666666666664},{x:.9625,y:.25,w:.05,h:.06666666666666667},{x:.9625,y:.25,w:.075,h:.1},{x:.9875,y:.25,w:.03125,h:.041666666666666664},{x:.9875,y:.25,w:.05,h:.06666666666666667},{x:.9875,y:.25,w:.075,h:.1},{x:.0125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.2833333333333333,w:.075,h:.1},{x:.0375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.2833333333333333,w:.075,h:.1},{x:.0625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.2833333333333333,w:.075,h:.1}
321,{x:.0875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.2833333333333333,w:.075,h:.1},{x:.1125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.2833333333333333,w:.075,h:.1},{x:.1375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.2833333333333333,w:.075,h:.1},{x:.1625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.2833333333333333,w:.075,h:.1},{x:.1875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.2833333333333333,w:.075,h:.1},{x:.2125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.2833333333333333,w:.075,h:.1},{x:.2375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.2833333333333333,w:.075,h:.1},{x:.2625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.2833333333333333,w:.075,h:.1},{x:.2875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.2833333333333333,w:.075,h:.1},{x:.3125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.2833333333333333,w:.075,h:.1},{x:.3375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.2833333333333333,w:.075,h:.1},{x:.3625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.2833333333333333,w:.075,h:.1},{x:.3875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.2833333333333333,w:.075,h:.1},{x:.4125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.2833333333333333,w:.075,h:.1},{x:.4375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.2833333333333333,w:.075,h:.1},{x:.4625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.2833333333333333,w:.075,h:.1},{x:.4875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.2833333333333333,w:.075,h:.1},{x:.5125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.2833333333333333,w:.075,h:.1},{x:.5375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.2833333333333333,w:.075,h:.1},{x:.5625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.2833333333333333,w:.075,h:.1},{x:.5875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.2833333333333333,w:.075,h:.1},{x:.6125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.2833333333333333,w:.075,h:.1},{x:.6375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.2833333333333333,w:.075,h:.1},{x:.6625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.2833333333333333,w:.075,h:.1},{x:.6875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.2833333333333333,w:.075,h:.1},{x:.7125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.2833333333333333,w:.075,h:.1},{x:.7375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.2833333333333333,w:.075,h:.1},{x:.7625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.2833333333333333,w:.075,h:.1},{x:.7875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.2833333333333333,w:.075,h:.1},{x:.8125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.2833333333333333,w:.075,h:.1},{x:.8375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.2833333333333333,w:.075,h:.1},{x:.8625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.2833333333333333,w:.075,h:.1},{x:.8875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.2833333333333333,w:.075,h:.1},{x:.9125,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.2833333333333333,w:.075,h:.1},{x:.9375,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.2833333333333333,w:.075,h:.1},{x:.9625,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.2833333333333333,w:.075,h:.1},{x:.9875,y:.2833333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.2833333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.2833333333333333,w:.075,h:.1},{x:.0125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.0125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.0125,y:.31666666666666665,w:.075,h:.1},{x:.0375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.0375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.0375,y:.31666666666666665,w:.075,h:.1},{x:.0625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.0625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.0625,y:.31666666666666665,w:.075,h:.1}
321,{x:.0875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.0875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.0875,y:.31666666666666665,w:.075,h:.1},{x:.1125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.1125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.1125,y:.31666666666666665,w:.075,h:.1},{x:.1375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.1375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.1375,y:.31666666666666665,w:.075,h:.1},{x:.1625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.1625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.1625,y:.31666666666666665,w:.075,h:.1},{x:.1875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.1875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.1875,y:.31666666666666665,w:.075,h:.1},{x:.2125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.2125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.2125,y:.31666666666666665,w:.075,h:.1},{x:.2375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.2375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.2375,y:.31666666666666665,w:.075,h:.1},{x:.2625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.2625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.2625,y:.31666666666666665,w:.075,h:.1},{x:.2875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.2875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.2875,y:.31666666666666665,w:.075,h:.1},{x:.3125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.3125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.3125,y:.31666666666666665,w:.075,h:.1},{x:.3375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.3375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.3375,y:.31666666666666665,w:.075,h:.1},{x:.3625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.3625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.3625,y:.31666666666666665,w:.075,h:.1},{x:.3875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.3875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.3875,y:.31666666666666665,w:.075,h:.1},{x:.4125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.4125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.4125,y:.31666666666666665,w:.075,h:.1},{x:.4375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.4375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.4375,y:.31666666666666665,w:.075,h:.1},{x:.4625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.4625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.4625,y:.31666666666666665,w:.075,h:.1},{x:.4875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.4875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.4875,y:.31666666666666665,w:.075,h:.1},{x:.5125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.5125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.5125,y:.31666666666666665,w:.075,h:.1},{x:.5375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.5375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.5375,y:.31666666666666665,w:.075,h:.1},{x:.5625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.5625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.5625,y:.31666666666666665,w:.075,h:.1},{x:.5875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.5875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.5875,y:.31666666666666665,w:.075,h:.1},{x:.6125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.6125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.6125,y:.31666666666666665,w:.075,h:.1},{x:.6375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.6375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.6375,y:.31666666666666665,w:.075,h:.1},{x:.6625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.6625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.6625,y:.31666666666666665,w:.075,h:.1},{x:.6875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.6875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.6875,y:.31666666666666665,w:.075,h:.1},{x:.7125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.7125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.7125,y:.31666666666666665,w:.075,h:.1},{x:.7375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.7375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.7375,y:.31666666666666665,w:.075,h:.1},{x:.7625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.7625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.7625,y:.31666666666666665,w:.075,h:.1},{x:.7875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.7875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.7875,y:.31666666666666665,w:.075,h:.1},{x:.8125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.8125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.8125,y:.31666666666666665,w:.075,h:.1},{x:.8375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.8375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.8375,y:.31666666666666665,w:.075,h:.1},{x:.8625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.8625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.8625,y:.31666666666666665,w:.075,h:.1},{x:.8875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.8875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.8875,y:.31666666666666665,w:.075,h:.1},{x:.9125,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.9125,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.9125,y:.31666666666666665,w:.075,h:.1},{x:.9375,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.9375,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.9375,y:.31666666666666665,w:.075,h:.1},{x:.9625,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.9625,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.9625,y:.31666666666666665,w:.075,h:.1},{x:.9875,y:.31666666666666665,w:.03125,h:.041666666666666664},{x:.9875,y:.31666666666666665,w:.05,h:.06666666666666667},{x:.9875,y:.31666666666666665,w:.075,h:.1},{x:.0125,y:.35,w:.03125,h:.041666666666666664},{x:.0125,y:.35,w:.05,h:.06666666666666667},{x:.0125,y:.35,w:.075,h:.1},{x:.0375,y:.35,w:.03125,h:.041666666666666664},{x:.0375,y:.35,w:.05,h:.06666666666666667},{x:.0375,y:.35,w:.075,h:.1},{x:.0625,y:.35,w:.03125,h:.041666666666666664},{x:.0625,y:.35,w:.05,h:.06666666666666667},{x:.0625,y:.35,w:.075,h:.1}
321,{x:.0875,y:.35,w:.03125,h:.041666666666666664},{x:.0875,y:.35,w:.05,h:.06666666666666667},{x:.0875,y:.35,w:.075,h:.1},{x:.1125,y:.35,w:.03125,h:.041666666666666664},{x:.1125,y:.35,w:.05,h:.06666666666666667},{x:.1125,y:.35,w:.075,h:.1},{x:.1375,y:.35,w:.03125,h:.041666666666666664},{x:.1375,y:.35,w:.05,h:.06666666666666667},{x:.1375,y:.35,w:.075,h:.1},{x:.1625,y:.35,w:.03125,h:.041666666666666664},{x:.1625,y:.35,w:.05,h:.06666666666666667},{x:.1625,y:.35,w:.075,h:.1},{x:.1875,y:.35,w:.03125,h:.041666666666666664},{x:.1875,y:.35,w:.05,h:.06666666666666667},{x:.1875,y:.35,w:.075,h:.1},{x:.2125,y:.35,w:.03125,h:.041666666666666664},{x:.2125,y:.35,w:.05,h:.06666666666666667},{x:.2125,y:.35,w:.075,h:.1},{x:.2375,y:.35,w:.03125,h:.041666666666666664},{x:.2375,y:.35,w:.05,h:.06666666666666667},{x:.2375,y:.35,w:.075,h:.1},{x:.2625,y:.35,w:.03125,h:.041666666666666664},{x:.2625,y:.35,w:.05,h:.06666666666666667},{x:.2625,y:.35,w:.075,h:.1},{x:.2875,y:.35,w:.03125,h:.041666666666666664},{x:.2875,y:.35,w:.05,h:.06666666666666667},{x:.2875,y:.35,w:.075,h:.1},{x:.3125,y:.35,w:.03125,h:.041666666666666664},{x:.3125,y:.35,w:.05,h:.06666666666666667},{x:.3125,y:.35,w:.075,h:.1},{x:.3375,y:.35,w:.03125,h:.041666666666666664},{x:.3375,y:.35,w:.05,h:.06666666666666667},{x:.3375,y:.35,w:.075,h:.1},{x:.3625,y:.35,w:.03125,h:.041666666666666664},{x:.3625,y:.35,w:.05,h:.06666666666666667},{x:.3625,y:.35,w:.075,h:.1},{x:.3875,y:.35,w:.03125,h:.041666666666666664},{x:.3875,y:.35,w:.05,h:.06666666666666667},{x:.3875,y:.35,w:.075,h:.1},{x:.4125,y:.35,w:.03125,h:.041666666666666664},{x:.4125,y:.35,w:.05,h:.06666666666666667},{x:.4125,y:.35,w:.075,h:.1},{x:.4375,y:.35,w:.03125,h:.041666666666666664},{x:.4375,y:.35,w:.05,h:.06666666666666667},{x:.4375,y:.35,w:.075,h:.1},{x:.4625,y:.35,w:.03125,h:.041666666666666664},{x:.4625,y:.35,w:.05,h:.06666666666666667},{x:.4625,y:.35,w:.075,h:.1},{x:.4875,y:.35,w:.03125,h:.041666666666666664},{x:.4875,y:.35,w:.05,h:.06666666666666667},{x:.4875,y:.35,w:.075,h:.1},{x:.5125,y:.35,w:.03125,h:.041666666666666664},{x:.5125,y:.35,w:.05,h:.06666666666666667},{x:.5125,y:.35,w:.075,h:.1},{x:.5375,y:.35,w:.03125,h:.041666666666666664},{x:.5375,y:.35,w:.05,h:.06666666666666667},{x:.5375,y:.35,w:.075,h:.1},{x:.5625,y:.35,w:.03125,h:.041666666666666664},{x:.5625,y:.35,w:.05,h:.06666666666666667},{x:.5625,y:.35,w:.075,h:.1},{x:.5875,y:.35,w:.03125,h:.041666666666666664},{x:.5875,y:.35,w:.05,h:.06666666666666667},{x:.5875,y:.35,w:.075,h:.1},{x:.6125,y:.35,w:.03125,h:.041666666666666664},{x:.6125,y:.35,w:.05,h:.06666666666666667},{x:.6125,y:.35,w:.075,h:.1},{x:.6375,y:.35,w:.03125,h:.041666666666666664},{x:.6375,y:.35,w:.05,h:.06666666666666667},{x:.6375,y:.35,w:.075,h:.1},{x:.6625,y:.35,w:.03125,h:.041666666666666664},{x:.6625,y:.35,w:.05,h:.06666666666666667},{x:.6625,y:.35,w:.075,h:.1},{x:.6875,y:.35,w:.03125,h:.041666666666666664},{x:.6875,y:.35,w:.05,h:.06666666666666667},{x:.6875,y:.35,w:.075,h:.1},{x:.7125,y:.35,w:.03125,h:.041666666666666664},{x:.7125,y:.35,w:.05,h:.06666666666666667},{x:.7125,y:.35,w:.075,h:.1},{x:.7375,y:.35,w:.03125,h:.041666666666666664},{x:.7375,y:.35,w:.05,h:.06666666666666667},{x:.7375,y:.35,w:.075,h:.1},{x:.7625,y:.35,w:.03125,h:.041666666666666664},{x:.7625,y:.35,w:.05,h:.06666666666666667},{x:.7625,y:.35,w:.075,h:.1},{x:.7875,y:.35,w:.03125,h:.041666666666666664},{x:.7875,y:.35,w:.05,h:.06666666666666667},{x:.7875,y:.35,w:.075,h:.1},{x:.8125,y:.35,w:.03125,h:.041666666666666664},{x:.8125,y:.35,w:.05,h:.06666666666666667},{x:.8125,y:.35,w:.075,h:.1},{x:.8375,y:.35,w:.03125,h:.041666666666666664},{x:.8375,y:.35,w:.05,h:.06666666666666667},{x:.8375,y:.35,w:.075,h:.1},{x:.8625,y:.35,w:.03125,h:.041666666666666664},{x:.8625,y:.35,w:.05,h:.06666666666666667},{x:.8625,y:.35,w:.075,h:.1},{x:.8875,y:.35,w:.03125,h:.041666666666666664},{x:.8875,y:.35,w:.05,h:.06666666666666667},{x:.8875,y:.35,w:.075,h:.1},{x:.9125,y:.35,w:.03125,h:.041666666666666664},{x:.9125,y:.35,w:.05,h:.06666666666666667},{x:.9125,y:.35,w:.075,h:.1},{x:.9375,y:.35,w:.03125,h:.041666666666666664},{x:.9375,y:.35,w:.05,h:.06666666666666667},{x:.9375,y:.35,w:.075,h:.1},{x:.9625,y:.35,w:.03125,h:.041666666666666664},{x:.9625,y:.35,w:.05,h:.06666666666666667},{x:.9625,y:.35,w:.075,h:.1},{x:.9875,y:.35,w:.03125,h:.041666666666666664},{x:.9875,y:.35,w:.05,h:.06666666666666667},{x:.9875,y:.35,w:.075,h:.1},{x:.0125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.0125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.0125,y:.38333333333333336,w:.075,h:.1},{x:.0375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.0375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.0375,y:.38333333333333336,w:.075,h:.1},{x:.0625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.0625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.0625,y:.38333333333333336,w:.075,h:.1}
321,{x:.0875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.0875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.0875,y:.38333333333333336,w:.075,h:.1},{x:.1125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.1125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.1125,y:.38333333333333336,w:.075,h:.1},{x:.1375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.1375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.1375,y:.38333333333333336,w:.075,h:.1},{x:.1625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.1625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.1625,y:.38333333333333336,w:.075,h:.1},{x:.1875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.1875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.1875,y:.38333333333333336,w:.075,h:.1},{x:.2125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.2125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.2125,y:.38333333333333336,w:.075,h:.1},{x:.2375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.2375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.2375,y:.38333333333333336,w:.075,h:.1},{x:.2625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.2625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.2625,y:.38333333333333336,w:.075,h:.1},{x:.2875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.2875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.2875,y:.38333333333333336,w:.075,h:.1},{x:.3125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.3125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.3125,y:.38333333333333336,w:.075,h:.1},{x:.3375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.3375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.3375,y:.38333333333333336,w:.075,h:.1},{x:.3625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.3625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.3625,y:.38333333333333336,w:.075,h:.1},{x:.3875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.3875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.3875,y:.38333333333333336,w:.075,h:.1},{x:.4125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.4125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.4125,y:.38333333333333336,w:.075,h:.1},{x:.4375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.4375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.4375,y:.38333333333333336,w:.075,h:.1},{x:.4625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.4625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.4625,y:.38333333333333336,w:.075,h:.1},{x:.4875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.4875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.4875,y:.38333333333333336,w:.075,h:.1},{x:.5125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.5125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.5125,y:.38333333333333336,w:.075,h:.1},{x:.5375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.5375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.5375,y:.38333333333333336,w:.075,h:.1},{x:.5625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.5625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.5625,y:.38333333333333336,w:.075,h:.1},{x:.5875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.5875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.5875,y:.38333333333333336,w:.075,h:.1},{x:.6125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.6125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.6125,y:.38333333333333336,w:.075,h:.1},{x:.6375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.6375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.6375,y:.38333333333333336,w:.075,h:.1},{x:.6625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.6625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.6625,y:.38333333333333336,w:.075,h:.1},{x:.6875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.6875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.6875,y:.38333333333333336,w:.075,h:.1},{x:.7125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.7125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.7125,y:.38333333333333336,w:.075,h:.1},{x:.7375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.7375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.7375,y:.38333333333333336,w:.075,h:.1},{x:.7625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.7625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.7625,y:.38333333333333336,w:.075,h:.1},{x:.7875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.7875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.7875,y:.38333333333333336,w:.075,h:.1},{x:.8125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.8125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.8125,y:.38333333333333336,w:.075,h:.1},{x:.8375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.8375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.8375,y:.38333333333333336,w:.075,h:.1},{x:.8625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.8625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.8625,y:.38333333333333336,w:.075,h:.1},{x:.8875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.8875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.8875,y:.38333333333333336,w:.075,h:.1},{x:.9125,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.9125,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.9125,y:.38333333333333336,w:.075,h:.1},{x:.9375,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.9375,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.9375,y:.38333333333333336,w:.075,h:.1},{x:.9625,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.9625,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.9625,y:.38333333333333336,w:.075,h:.1},{x:.9875,y:.38333333333333336,w:.03125,h:.041666666666666664},{x:.9875,y:.38333333333333336,w:.05,h:.06666666666666667},{x:.9875,y:.38333333333333336,w:.075,h:.1},{x:.0125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.4166666666666667,w:.075,h:.1},{x:.0375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.4166666666666667,w:.075,h:.1},{x:.0625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.4166666666666667,w:.075,h:.1}
321,{x:.0875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.4166666666666667,w:.075,h:.1},{x:.1125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.4166666666666667,w:.075,h:.1},{x:.1375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.4166666666666667,w:.075,h:.1},{x:.1625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.4166666666666667,w:.075,h:.1},{x:.1875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.4166666666666667,w:.075,h:.1},{x:.2125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.4166666666666667,w:.075,h:.1},{x:.2375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.4166666666666667,w:.075,h:.1},{x:.2625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.4166666666666667,w:.075,h:.1},{x:.2875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.4166666666666667,w:.075,h:.1},{x:.3125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.4166666666666667,w:.075,h:.1},{x:.3375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.4166666666666667,w:.075,h:.1},{x:.3625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.4166666666666667,w:.075,h:.1},{x:.3875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.4166666666666667,w:.075,h:.1},{x:.4125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.4166666666666667,w:.075,h:.1},{x:.4375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.4166666666666667,w:.075,h:.1},{x:.4625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.4166666666666667,w:.075,h:.1},{x:.4875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.4166666666666667,w:.075,h:.1},{x:.5125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.4166666666666667,w:.075,h:.1},{x:.5375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.4166666666666667,w:.075,h:.1},{x:.5625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.4166666666666667,w:.075,h:.1},{x:.5875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.4166666666666667,w:.075,h:.1},{x:.6125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.4166666666666667,w:.075,h:.1},{x:.6375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.4166666666666667,w:.075,h:.1},{x:.6625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.4166666666666667,w:.075,h:.1},{x:.6875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.4166666666666667,w:.075,h:.1},{x:.7125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.4166666666666667,w:.075,h:.1},{x:.7375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.4166666666666667,w:.075,h:.1},{x:.7625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.4166666666666667,w:.075,h:.1},{x:.7875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.4166666666666667,w:.075,h:.1},{x:.8125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.4166666666666667,w:.075,h:.1},{x:.8375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.4166666666666667,w:.075,h:.1},{x:.8625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.4166666666666667,w:.075,h:.1},{x:.8875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.4166666666666667,w:.075,h:.1},{x:.9125,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.4166666666666667,w:.075,h:.1},{x:.9375,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.4166666666666667,w:.075,h:.1},{x:.9625,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.4166666666666667,w:.075,h:.1},{x:.9875,y:.4166666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.4166666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.4166666666666667,w:.075,h:.1},{x:.0125,y:.45,w:.03125,h:.041666666666666664},{x:.0125,y:.45,w:.05,h:.06666666666666667},{x:.0125,y:.45,w:.075,h:.1},{x:.0375,y:.45,w:.03125,h:.041666666666666664},{x:.0375,y:.45,w:.05,h:.06666666666666667},{x:.0375,y:.45,w:.075,h:.1},{x:.0625,y:.45,w:.03125,h:.041666666666666664},{x:.0625,y:.45,w:.05,h:.06666666666666667},{x:.0625,y:.45,w:.075,h:.1}
321,{x:.0875,y:.45,w:.03125,h:.041666666666666664},{x:.0875,y:.45,w:.05,h:.06666666666666667},{x:.0875,y:.45,w:.075,h:.1},{x:.1125,y:.45,w:.03125,h:.041666666666666664},{x:.1125,y:.45,w:.05,h:.06666666666666667},{x:.1125,y:.45,w:.075,h:.1},{x:.1375,y:.45,w:.03125,h:.041666666666666664},{x:.1375,y:.45,w:.05,h:.06666666666666667},{x:.1375,y:.45,w:.075,h:.1},{x:.1625,y:.45,w:.03125,h:.041666666666666664},{x:.1625,y:.45,w:.05,h:.06666666666666667},{x:.1625,y:.45,w:.075,h:.1},{x:.1875,y:.45,w:.03125,h:.041666666666666664},{x:.1875,y:.45,w:.05,h:.06666666666666667},{x:.1875,y:.45,w:.075,h:.1},{x:.2125,y:.45,w:.03125,h:.041666666666666664},{x:.2125,y:.45,w:.05,h:.06666666666666667},{x:.2125,y:.45,w:.075,h:.1},{x:.2375,y:.45,w:.03125,h:.041666666666666664},{x:.2375,y:.45,w:.05,h:.06666666666666667},{x:.2375,y:.45,w:.075,h:.1},{x:.2625,y:.45,w:.03125,h:.041666666666666664},{x:.2625,y:.45,w:.05,h:.06666666666666667},{x:.2625,y:.45,w:.075,h:.1},{x:.2875,y:.45,w:.03125,h:.041666666666666664},{x:.2875,y:.45,w:.05,h:.06666666666666667},{x:.2875,y:.45,w:.075,h:.1},{x:.3125,y:.45,w:.03125,h:.041666666666666664},{x:.3125,y:.45,w:.05,h:.06666666666666667},{x:.3125,y:.45,w:.075,h:.1},{x:.3375,y:.45,w:.03125,h:.041666666666666664},{x:.3375,y:.45,w:.05,h:.06666666666666667},{x:.3375,y:.45,w:.075,h:.1},{x:.3625,y:.45,w:.03125,h:.041666666666666664},{x:.3625,y:.45,w:.05,h:.06666666666666667},{x:.3625,y:.45,w:.075,h:.1},{x:.3875,y:.45,w:.03125,h:.041666666666666664},{x:.3875,y:.45,w:.05,h:.06666666666666667},{x:.3875,y:.45,w:.075,h:.1},{x:.4125,y:.45,w:.03125,h:.041666666666666664},{x:.4125,y:.45,w:.05,h:.06666666666666667},{x:.4125,y:.45,w:.075,h:.1},{x:.4375,y:.45,w:.03125,h:.041666666666666664},{x:.4375,y:.45,w:.05,h:.06666666666666667},{x:.4375,y:.45,w:.075,h:.1},{x:.4625,y:.45,w:.03125,h:.041666666666666664},{x:.4625,y:.45,w:.05,h:.06666666666666667},{x:.4625,y:.45,w:.075,h:.1},{x:.4875,y:.45,w:.03125,h:.041666666666666664},{x:.4875,y:.45,w:.05,h:.06666666666666667},{x:.4875,y:.45,w:.075,h:.1},{x:.5125,y:.45,w:.03125,h:.041666666666666664},{x:.5125,y:.45,w:.05,h:.06666666666666667},{x:.5125,y:.45,w:.075,h:.1},{x:.5375,y:.45,w:.03125,h:.041666666666666664},{x:.5375,y:.45,w:.05,h:.06666666666666667},{x:.5375,y:.45,w:.075,h:.1},{x:.5625,y:.45,w:.03125,h:.041666666666666664},{x:.5625,y:.45,w:.05,h:.06666666666666667},{x:.5625,y:.45,w:.075,h:.1},{x:.5875,y:.45,w:.03125,h:.041666666666666664},{x:.5875,y:.45,w:.05,h:.06666666666666667},{x:.5875,y:.45,w:.075,h:.1},{x:.6125,y:.45,w:.03125,h:.041666666666666664},{x:.6125,y:.45,w:.05,h:.06666666666666667},{x:.6125,y:.45,w:.075,h:.1},{x:.6375,y:.45,w:.03125,h:.041666666666666664},{x:.6375,y:.45,w:.05,h:.06666666666666667},{x:.6375,y:.45,w:.075,h:.1},{x:.6625,y:.45,w:.03125,h:.041666666666666664},{x:.6625,y:.45,w:.05,h:.06666666666666667},{x:.6625,y:.45,w:.075,h:.1},{x:.6875,y:.45,w:.03125,h:.041666666666666664},{x:.6875,y:.45,w:.05,h:.06666666666666667},{x:.6875,y:.45,w:.075,h:.1},{x:.7125,y:.45,w:.03125,h:.041666666666666664},{x:.7125,y:.45,w:.05,h:.06666666666666667},{x:.7125,y:.45,w:.075,h:.1},{x:.7375,y:.45,w:.03125,h:.041666666666666664},{x:.7375,y:.45,w:.05,h:.06666666666666667},{x:.7375,y:.45,w:.075,h:.1},{x:.7625,y:.45,w:.03125,h:.041666666666666664},{x:.7625,y:.45,w:.05,h:.06666666666666667},{x:.7625,y:.45,w:.075,h:.1},{x:.7875,y:.45,w:.03125,h:.041666666666666664},{x:.7875,y:.45,w:.05,h:.06666666666666667},{x:.7875,y:.45,w:.075,h:.1},{x:.8125,y:.45,w:.03125,h:.041666666666666664},{x:.8125,y:.45,w:.05,h:.06666666666666667},{x:.8125,y:.45,w:.075,h:.1},{x:.8375,y:.45,w:.03125,h:.041666666666666664},{x:.8375,y:.45,w:.05,h:.06666666666666667},{x:.8375,y:.45,w:.075,h:.1},{x:.8625,y:.45,w:.03125,h:.041666666666666664},{x:.8625,y:.45,w:.05,h:.06666666666666667},{x:.8625,y:.45,w:.075,h:.1},{x:.8875,y:.45,w:.03125,h:.041666666666666664},{x:.8875,y:.45,w:.05,h:.06666666666666667},{x:.8875,y:.45,w:.075,h:.1},{x:.9125,y:.45,w:.03125,h:.041666666666666664},{x:.9125,y:.45,w:.05,h:.06666666666666667},{x:.9125,y:.45,w:.075,h:.1},{x:.9375,y:.45,w:.03125,h:.041666666666666664},{x:.9375,y:.45,w:.05,h:.06666666666666667},{x:.9375,y:.45,w:.075,h:.1},{x:.9625,y:.45,w:.03125,h:.041666666666666664},{x:.9625,y:.45,w:.05,h:.06666666666666667},{x:.9625,y:.45,w:.075,h:.1},{x:.9875,y:.45,w:.03125,h:.041666666666666664},{x:.9875,y:.45,w:.05,h:.06666666666666667},{x:.9875,y:.45,w:.075,h:.1},{x:.0125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.0125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.0125,y:.48333333333333334,w:.075,h:.1},{x:.0375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.0375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.0375,y:.48333333333333334,w:.075,h:.1},{x:.0625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.0625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.0625,y:.48333333333333334,w:.075,h:.1}
321,{x:.0875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.0875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.0875,y:.48333333333333334,w:.075,h:.1},{x:.1125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.1125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.1125,y:.48333333333333334,w:.075,h:.1},{x:.1375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.1375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.1375,y:.48333333333333334,w:.075,h:.1},{x:.1625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.1625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.1625,y:.48333333333333334,w:.075,h:.1},{x:.1875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.1875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.1875,y:.48333333333333334,w:.075,h:.1},{x:.2125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.2125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.2125,y:.48333333333333334,w:.075,h:.1},{x:.2375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.2375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.2375,y:.48333333333333334,w:.075,h:.1},{x:.2625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.2625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.2625,y:.48333333333333334,w:.075,h:.1},{x:.2875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.2875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.2875,y:.48333333333333334,w:.075,h:.1},{x:.3125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.3125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.3125,y:.48333333333333334,w:.075,h:.1},{x:.3375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.3375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.3375,y:.48333333333333334,w:.075,h:.1},{x:.3625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.3625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.3625,y:.48333333333333334,w:.075,h:.1},{x:.3875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.3875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.3875,y:.48333333333333334,w:.075,h:.1},{x:.4125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.4125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.4125,y:.48333333333333334,w:.075,h:.1},{x:.4375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.4375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.4375,y:.48333333333333334,w:.075,h:.1},{x:.4625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.4625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.4625,y:.48333333333333334,w:.075,h:.1},{x:.4875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.4875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.4875,y:.48333333333333334,w:.075,h:.1},{x:.5125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.5125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.5125,y:.48333333333333334,w:.075,h:.1},{x:.5375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.5375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.5375,y:.48333333333333334,w:.075,h:.1},{x:.5625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.5625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.5625,y:.48333333333333334,w:.075,h:.1},{x:.5875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.5875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.5875,y:.48333333333333334,w:.075,h:.1},{x:.6125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.6125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.6125,y:.48333333333333334,w:.075,h:.1},{x:.6375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.6375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.6375,y:.48333333333333334,w:.075,h:.1},{x:.6625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.6625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.6625,y:.48333333333333334,w:.075,h:.1},{x:.6875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.6875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.6875,y:.48333333333333334,w:.075,h:.1},{x:.7125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.7125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.7125,y:.48333333333333334,w:.075,h:.1},{x:.7375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.7375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.7375,y:.48333333333333334,w:.075,h:.1},{x:.7625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.7625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.7625,y:.48333333333333334,w:.075,h:.1},{x:.7875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.7875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.7875,y:.48333333333333334,w:.075,h:.1},{x:.8125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.8125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.8125,y:.48333333333333334,w:.075,h:.1},{x:.8375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.8375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.8375,y:.48333333333333334,w:.075,h:.1},{x:.8625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.8625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.8625,y:.48333333333333334,w:.075,h:.1},{x:.8875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.8875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.8875,y:.48333333333333334,w:.075,h:.1},{x:.9125,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.9125,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.9125,y:.48333333333333334,w:.075,h:.1},{x:.9375,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.9375,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.9375,y:.48333333333333334,w:.075,h:.1},{x:.9625,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.9625,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.9625,y:.48333333333333334,w:.075,h:.1},{x:.9875,y:.48333333333333334,w:.03125,h:.041666666666666664},{x:.9875,y:.48333333333333334,w:.05,h:.06666666666666667},{x:.9875,y:.48333333333333334,w:.075,h:.1},{x:.0125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.5166666666666667,w:.075,h:.1},{x:.0375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.5166666666666667,w:.075,h:.1},{x:.0625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.5166666666666667,w:.075,h:.1}
321,{x:.0875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.5166666666666667,w:.075,h:.1},{x:.1125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.5166666666666667,w:.075,h:.1},{x:.1375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.5166666666666667,w:.075,h:.1},{x:.1625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.5166666666666667,w:.075,h:.1},{x:.1875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.5166666666666667,w:.075,h:.1},{x:.2125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.5166666666666667,w:.075,h:.1},{x:.2375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.5166666666666667,w:.075,h:.1},{x:.2625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.5166666666666667,w:.075,h:.1},{x:.2875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.5166666666666667,w:.075,h:.1},{x:.3125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.5166666666666667,w:.075,h:.1},{x:.3375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.5166666666666667,w:.075,h:.1},{x:.3625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.5166666666666667,w:.075,h:.1},{x:.3875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.5166666666666667,w:.075,h:.1},{x:.4125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.5166666666666667,w:.075,h:.1},{x:.4375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.5166666666666667,w:.075,h:.1},{x:.4625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.5166666666666667,w:.075,h:.1},{x:.4875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.5166666666666667,w:.075,h:.1},{x:.5125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.5166666666666667,w:.075,h:.1},{x:.5375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.5166666666666667,w:.075,h:.1},{x:.5625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.5166666666666667,w:.075,h:.1},{x:.5875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.5166666666666667,w:.075,h:.1},{x:.6125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.5166666666666667,w:.075,h:.1},{x:.6375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.5166666666666667,w:.075,h:.1},{x:.6625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.5166666666666667,w:.075,h:.1},{x:.6875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.5166666666666667,w:.075,h:.1},{x:.7125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.5166666666666667,w:.075,h:.1},{x:.7375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.5166666666666667,w:.075,h:.1},{x:.7625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.5166666666666667,w:.075,h:.1},{x:.7875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.5166666666666667,w:.075,h:.1},{x:.8125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.5166666666666667,w:.075,h:.1},{x:.8375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.5166666666666667,w:.075,h:.1},{x:.8625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.5166666666666667,w:.075,h:.1},{x:.8875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.5166666666666667,w:.075,h:.1},{x:.9125,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.5166666666666667,w:.075,h:.1},{x:.9375,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.5166666666666667,w:.075,h:.1},{x:.9625,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.5166666666666667,w:.075,h:.1},{x:.9875,y:.5166666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.5166666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.5166666666666667,w:.075,h:.1},{x:.0125,y:.55,w:.03125,h:.041666666666666664},{x:.0125,y:.55,w:.05,h:.06666666666666667},{x:.0125,y:.55,w:.075,h:.1},{x:.0375,y:.55,w:.03125,h:.041666666666666664},{x:.0375,y:.55,w:.05,h:.06666666666666667},{x:.0375,y:.55,w:.075,h:.1},{x:.0625,y:.55,w:.03125,h:.041666666666666664},{x:.0625,y:.55,w:.05,h:.06666666666666667},{x:.0625,y:.55,w:.075,h:.1}
321,{x:.0875,y:.55,w:.03125,h:.041666666666666664},{x:.0875,y:.55,w:.05,h:.06666666666666667},{x:.0875,y:.55,w:.075,h:.1},{x:.1125,y:.55,w:.03125,h:.041666666666666664},{x:.1125,y:.55,w:.05,h:.06666666666666667},{x:.1125,y:.55,w:.075,h:.1},{x:.1375,y:.55,w:.03125,h:.041666666666666664},{x:.1375,y:.55,w:.05,h:.06666666666666667},{x:.1375,y:.55,w:.075,h:.1},{x:.1625,y:.55,w:.03125,h:.041666666666666664},{x:.1625,y:.55,w:.05,h:.06666666666666667},{x:.1625,y:.55,w:.075,h:.1},{x:.1875,y:.55,w:.03125,h:.041666666666666664},{x:.1875,y:.55,w:.05,h:.06666666666666667},{x:.1875,y:.55,w:.075,h:.1},{x:.2125,y:.55,w:.03125,h:.041666666666666664},{x:.2125,y:.55,w:.05,h:.06666666666666667},{x:.2125,y:.55,w:.075,h:.1},{x:.2375,y:.55,w:.03125,h:.041666666666666664},{x:.2375,y:.55,w:.05,h:.06666666666666667},{x:.2375,y:.55,w:.075,h:.1},{x:.2625,y:.55,w:.03125,h:.041666666666666664},{x:.2625,y:.55,w:.05,h:.06666666666666667},{x:.2625,y:.55,w:.075,h:.1},{x:.2875,y:.55,w:.03125,h:.041666666666666664},{x:.2875,y:.55,w:.05,h:.06666666666666667},{x:.2875,y:.55,w:.075,h:.1},{x:.3125,y:.55,w:.03125,h:.041666666666666664},{x:.3125,y:.55,w:.05,h:.06666666666666667},{x:.3125,y:.55,w:.075,h:.1},{x:.3375,y:.55,w:.03125,h:.041666666666666664},{x:.3375,y:.55,w:.05,h:.06666666666666667},{x:.3375,y:.55,w:.075,h:.1},{x:.3625,y:.55,w:.03125,h:.041666666666666664},{x:.3625,y:.55,w:.05,h:.06666666666666667},{x:.3625,y:.55,w:.075,h:.1},{x:.3875,y:.55,w:.03125,h:.041666666666666664},{x:.3875,y:.55,w:.05,h:.06666666666666667},{x:.3875,y:.55,w:.075,h:.1},{x:.4125,y:.55,w:.03125,h:.041666666666666664},{x:.4125,y:.55,w:.05,h:.06666666666666667},{x:.4125,y:.55,w:.075,h:.1},{x:.4375,y:.55,w:.03125,h:.041666666666666664},{x:.4375,y:.55,w:.05,h:.06666666666666667},{x:.4375,y:.55,w:.075,h:.1},{x:.4625,y:.55,w:.03125,h:.041666666666666664},{x:.4625,y:.55,w:.05,h:.06666666666666667},{x:.4625,y:.55,w:.075,h:.1},{x:.4875,y:.55,w:.03125,h:.041666666666666664},{x:.4875,y:.55,w:.05,h:.06666666666666667},{x:.4875,y:.55,w:.075,h:.1},{x:.5125,y:.55,w:.03125,h:.041666666666666664},{x:.5125,y:.55,w:.05,h:.06666666666666667},{x:.5125,y:.55,w:.075,h:.1},{x:.5375,y:.55,w:.03125,h:.041666666666666664},{x:.5375,y:.55,w:.05,h:.06666666666666667},{x:.5375,y:.55,w:.075,h:.1},{x:.5625,y:.55,w:.03125,h:.041666666666666664},{x:.5625,y:.55,w:.05,h:.06666666666666667},{x:.5625,y:.55,w:.075,h:.1},{x:.5875,y:.55,w:.03125,h:.041666666666666664},{x:.5875,y:.55,w:.05,h:.06666666666666667},{x:.5875,y:.55,w:.075,h:.1},{x:.6125,y:.55,w:.03125,h:.041666666666666664},{x:.6125,y:.55,w:.05,h:.06666666666666667},{x:.6125,y:.55,w:.075,h:.1},{x:.6375,y:.55,w:.03125,h:.041666666666666664},{x:.6375,y:.55,w:.05,h:.06666666666666667},{x:.6375,y:.55,w:.075,h:.1},{x:.6625,y:.55,w:.03125,h:.041666666666666664},{x:.6625,y:.55,w:.05,h:.06666666666666667},{x:.6625,y:.55,w:.075,h:.1},{x:.6875,y:.55,w:.03125,h:.041666666666666664},{x:.6875,y:.55,w:.05,h:.06666666666666667},{x:.6875,y:.55,w:.075,h:.1},{x:.7125,y:.55,w:.03125,h:.041666666666666664},{x:.7125,y:.55,w:.05,h:.06666666666666667},{x:.7125,y:.55,w:.075,h:.1},{x:.7375,y:.55,w:.03125,h:.041666666666666664},{x:.7375,y:.55,w:.05,h:.06666666666666667},{x:.7375,y:.55,w:.075,h:.1},{x:.7625,y:.55,w:.03125,h:.041666666666666664},{x:.7625,y:.55,w:.05,h:.06666666666666667},{x:.7625,y:.55,w:.075,h:.1},{x:.7875,y:.55,w:.03125,h:.041666666666666664},{x:.7875,y:.55,w:.05,h:.06666666666666667},{x:.7875,y:.55,w:.075,h:.1},{x:.8125,y:.55,w:.03125,h:.041666666666666664},{x:.8125,y:.55,w:.05,h:.06666666666666667},{x:.8125,y:.55,w:.075,h:.1},{x:.8375,y:.55,w:.03125,h:.041666666666666664},{x:.8375,y:.55,w:.05,h:.06666666666666667},{x:.8375,y:.55,w:.075,h:.1},{x:.8625,y:.55,w:.03125,h:.041666666666666664},{x:.8625,y:.55,w:.05,h:.06666666666666667},{x:.8625,y:.55,w:.075,h:.1},{x:.8875,y:.55,w:.03125,h:.041666666666666664},{x:.8875,y:.55,w:.05,h:.06666666666666667},{x:.8875,y:.55,w:.075,h:.1},{x:.9125,y:.55,w:.03125,h:.041666666666666664},{x:.9125,y:.55,w:.05,h:.06666666666666667},{x:.9125,y:.55,w:.075,h:.1},{x:.9375,y:.55,w:.03125,h:.041666666666666664},{x:.9375,y:.55,w:.05,h:.06666666666666667},{x:.9375,y:.55,w:.075,h:.1},{x:.9625,y:.55,w:.03125,h:.041666666666666664},{x:.9625,y:.55,w:.05,h:.06666666666666667},{x:.9625,y:.55,w:.075,h:.1},{x:.9875,y:.55,w:.03125,h:.041666666666666664},{x:.9875,y:.55,w:.05,h:.06666666666666667},{x:.9875,y:.55,w:.075,h:.1},{x:.0125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.0125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.0125,y:.5833333333333334,w:.075,h:.1},{x:.0375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.0375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.0375,y:.5833333333333334,w:.075,h:.1},{x:.0625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.0625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.0625,y:.5833333333333334,w:.075,h:.1}
321,{x:.0875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.0875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.0875,y:.5833333333333334,w:.075,h:.1},{x:.1125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.1125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.1125,y:.5833333333333334,w:.075,h:.1},{x:.1375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.1375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.1375,y:.5833333333333334,w:.075,h:.1},{x:.1625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.1625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.1625,y:.5833333333333334,w:.075,h:.1},{x:.1875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.1875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.1875,y:.5833333333333334,w:.075,h:.1},{x:.2125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.2125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.2125,y:.5833333333333334,w:.075,h:.1},{x:.2375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.2375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.2375,y:.5833333333333334,w:.075,h:.1},{x:.2625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.2625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.2625,y:.5833333333333334,w:.075,h:.1},{x:.2875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.2875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.2875,y:.5833333333333334,w:.075,h:.1},{x:.3125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.3125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.3125,y:.5833333333333334,w:.075,h:.1},{x:.3375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.3375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.3375,y:.5833333333333334,w:.075,h:.1},{x:.3625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.3625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.3625,y:.5833333333333334,w:.075,h:.1},{x:.3875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.3875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.3875,y:.5833333333333334,w:.075,h:.1},{x:.4125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.4125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.4125,y:.5833333333333334,w:.075,h:.1},{x:.4375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.4375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.4375,y:.5833333333333334,w:.075,h:.1},{x:.4625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.4625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.4625,y:.5833333333333334,w:.075,h:.1},{x:.4875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.4875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.4875,y:.5833333333333334,w:.075,h:.1},{x:.5125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.5125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.5125,y:.5833333333333334,w:.075,h:.1},{x:.5375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.5375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.5375,y:.5833333333333334,w:.075,h:.1},{x:.5625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.5625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.5625,y:.5833333333333334,w:.075,h:.1},{x:.5875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.5875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.5875,y:.5833333333333334,w:.075,h:.1},{x:.6125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.6125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.6125,y:.5833333333333334,w:.075,h:.1},{x:.6375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.6375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.6375,y:.5833333333333334,w:.075,h:.1},{x:.6625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.6625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.6625,y:.5833333333333334,w:.075,h:.1},{x:.6875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.6875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.6875,y:.5833333333333334,w:.075,h:.1},{x:.7125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.7125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.7125,y:.5833333333333334,w:.075,h:.1},{x:.7375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.7375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.7375,y:.5833333333333334,w:.075,h:.1},{x:.7625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.7625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.7625,y:.5833333333333334,w:.075,h:.1},{x:.7875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.7875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.7875,y:.5833333333333334,w:.075,h:.1},{x:.8125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.8125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.8125,y:.5833333333333334,w:.075,h:.1},{x:.8375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.8375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.8375,y:.5833333333333334,w:.075,h:.1},{x:.8625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.8625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.8625,y:.5833333333333334,w:.075,h:.1},{x:.8875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.8875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.8875,y:.5833333333333334,w:.075,h:.1},{x:.9125,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.9125,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.9125,y:.5833333333333334,w:.075,h:.1},{x:.9375,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.9375,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.9375,y:.5833333333333334,w:.075,h:.1},{x:.9625,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.9625,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.9625,y:.5833333333333334,w:.075,h:.1},{x:.9875,y:.5833333333333334,w:.03125,h:.041666666666666664},{x:.9875,y:.5833333333333334,w:.05,h:.06666666666666667},{x:.9875,y:.5833333333333334,w:.075,h:.1}
321,{x:.0125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.6166666666666667,w:.075,h:.1},{x:.0375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.6166666666666667,w:.075,h:.1},{x:.0625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.6166666666666667,w:.075,h:.1},{x:.0875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.6166666666666667,w:.075,h:.1},{x:.1125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.6166666666666667,w:.075,h:.1},{x:.1375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.6166666666666667,w:.075,h:.1},{x:.1625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.6166666666666667,w:.075,h:.1}
321,{x:.1875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.6166666666666667,w:.075,h:.1},{x:.2125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.6166666666666667,w:.075,h:.1},{x:.2375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.6166666666666667,w:.075,h:.1},{x:.2625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.6166666666666667,w:.075,h:.1},{x:.2875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.6166666666666667,w:.075,h:.1},{x:.3125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.6166666666666667,w:.075,h:.1},{x:.3375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.6166666666666667,w:.075,h:.1},{x:.3625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.6166666666666667,w:.075,h:.1},{x:.3875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.6166666666666667,w:.075,h:.1},{x:.4125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.6166666666666667,w:.075,h:.1},{x:.4375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.6166666666666667,w:.075,h:.1},{x:.4625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.6166666666666667,w:.075,h:.1},{x:.4875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.6166666666666667,w:.075,h:.1},{x:.5125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.6166666666666667,w:.075,h:.1},{x:.5375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.6166666666666667,w:.075,h:.1},{x:.5625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.6166666666666667,w:.075,h:.1},{x:.5875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.6166666666666667,w:.075,h:.1},{x:.6125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.6166666666666667,w:.075,h:.1},{x:.6375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.6166666666666667,w:.075,h:.1},{x:.6625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.6166666666666667,w:.075,h:.1},{x:.6875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.6166666666666667,w:.075,h:.1},{x:.7125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.6166666666666667,w:.075,h:.1},{x:.7375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.6166666666666667,w:.075,h:.1},{x:.7625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.6166666666666667,w:.075,h:.1},{x:.7875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.6166666666666667,w:.075,h:.1},{x:.8125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.6166666666666667,w:.075,h:.1},{x:.8375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.6166666666666667,w:.075,h:.1},{x:.8625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.6166666666666667,w:.075,h:.1},{x:.8875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.6166666666666667,w:.075,h:.1},{x:.9125,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.6166666666666667,w:.075,h:.1},{x:.9375,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.6166666666666667,w:.075,h:.1},{x:.9625,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.6166666666666667,w:.075,h:.1},{x:.9875,y:.6166666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.6166666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.6166666666666667,w:.075,h:.1}
321,{x:.0125,y:.65,w:.03125,h:.041666666666666664},{x:.0125,y:.65,w:.05,h:.06666666666666667},{x:.0125,y:.65,w:.075,h:.1},{x:.0375,y:.65,w:.03125,h:.041666666666666664},{x:.0375,y:.65,w:.05,h:.06666666666666667},{x:.0375,y:.65,w:.075,h:.1},{x:.0625,y:.65,w:.03125,h:.041666666666666664},{x:.0625,y:.65,w:.05,h:.06666666666666667},{x:.0625,y:.65,w:.075,h:.1},{x:.0875,y:.65,w:.03125,h:.041666666666666664},{x:.0875,y:.65,w:.05,h:.06666666666666667},{x:.0875,y:.65,w:.075,h:.1},{x:.1125,y:.65,w:.03125,h:.041666666666666664},{x:.1125,y:.65,w:.05,h:.06666666666666667},{x:.1125,y:.65,w:.075,h:.1},{x:.1375,y:.65,w:.03125,h:.041666666666666664},{x:.1375,y:.65,w:.05,h:.06666666666666667},{x:.1375,y:.65,w:.075,h:.1},{x:.1625,y:.65,w:.03125,h:.041666666666666664},{x:.1625,y:.65,w:.05,h:.06666666666666667},{x:.1625,y:.65,w:.075,h:.1},{x:.1875,y:.65,w:.03125,h:.041666666666666664},{x:.1875,y:.65,w:.05,h:.06666666666666667},{x:.1875,y:.65,w:.075,h:.1},{x:.2125,y:.65,w:.03125,h:.041666666666666664},{x:.2125,y:.65,w:.05,h:.06666666666666667},{x:.2125,y:.65,w:.075,h:.1},{x:.2375,y:.65,w:.03125,h:.041666666666666664},{x:.2375,y:.65,w:.05,h:.06666666666666667},{x:.2375,y:.65,w:.075,h:.1},{x:.2625,y:.65,w:.03125,h:.041666666666666664},{x:.2625,y:.65,w:.05,h:.06666666666666667},{x:.2625,y:.65,w:.075,h:.1},{x:.2875,y:.65,w:.03125,h:.041666666666666664},{x:.2875,y:.65,w:.05,h:.06666666666666667},{x:.2875,y:.65,w:.075,h:.1},{x:.3125,y:.65,w:.03125,h:.041666666666666664},{x:.3125,y:.65,w:.05,h:.06666666666666667},{x:.3125,y:.65,w:.075,h:.1},{x:.3375,y:.65,w:.03125,h:.041666666666666664},{x:.3375,y:.65,w:.05,h:.06666666666666667},{x:.3375,y:.65,w:.075,h:.1},{x:.3625,y:.65,w:.03125,h:.041666666666666664},{x:.3625,y:.65,w:.05,h:.06666666666666667},{x:.3625,y:.65,w:.075,h:.1},{x:.3875,y:.65,w:.03125,h:.041666666666666664},{x:.3875,y:.65,w:.05,h:.06666666666666667},{x:.3875,y:.65,w:.075,h:.1},{x:.4125,y:.65,w:.03125,h:.041666666666666664},{x:.4125,y:.65,w:.05,h:.06666666666666667},{x:.4125,y:.65,w:.075,h:.1},{x:.4375,y:.65,w:.03125,h:.041666666666666664},{x:.4375,y:.65,w:.05,h:.06666666666666667},{x:.4375,y:.65,w:.075,h:.1},{x:.4625,y:.65,w:.03125,h:.041666666666666664},{x:.4625,y:.65,w:.05,h:.06666666666666667},{x:.4625,y:.65,w:.075,h:.1},{x:.4875,y:.65,w:.03125,h:.041666666666666664},{x:.4875,y:.65,w:.05,h:.06666666666666667},{x:.4875,y:.65,w:.075,h:.1},{x:.5125,y:.65,w:.03125,h:.041666666666666664},{x:.5125,y:.65,w:.05,h:.06666666666666667},{x:.5125,y:.65,w:.075,h:.1},{x:.5375,y:.65,w:.03125,h:.041666666666666664},{x:.5375,y:.65,w:.05,h:.06666666666666667},{x:.5375,y:.65,w:.075,h:.1},{x:.5625,y:.65,w:.03125,h:.041666666666666664},{x:.5625,y:.65,w:.05,h:.06666666666666667},{x:.5625,y:.65,w:.075,h:.1},{x:.5875,y:.65,w:.03125,h:.041666666666666664},{x:.5875,y:.65,w:.05,h:.06666666666666667},{x:.5875,y:.65,w:.075,h:.1},{x:.6125,y:.65,w:.03125,h:.041666666666666664},{x:.6125,y:.65,w:.05,h:.06666666666666667},{x:.6125,y:.65,w:.075,h:.1},{x:.6375,y:.65,w:.03125,h:.041666666666666664},{x:.6375,y:.65,w:.05,h:.06666666666666667},{x:.6375,y:.65,w:.075,h:.1},{x:.6625,y:.65,w:.03125,h:.041666666666666664},{x:.6625,y:.65,w:.05,h:.06666666666666667},{x:.6625,y:.65,w:.075,h:.1},{x:.6875,y:.65,w:.03125,h:.041666666666666664},{x:.6875,y:.65,w:.05,h:.06666666666666667},{x:.6875,y:.65,w:.075,h:.1},{x:.7125,y:.65,w:.03125,h:.041666666666666664},{x:.7125,y:.65,w:.05,h:.06666666666666667},{x:.7125,y:.65,w:.075,h:.1},{x:.7375,y:.65,w:.03125,h:.041666666666666664},{x:.7375,y:.65,w:.05,h:.06666666666666667},{x:.7375,y:.65,w:.075,h:.1},{x:.7625,y:.65,w:.03125,h:.041666666666666664},{x:.7625,y:.65,w:.05,h:.06666666666666667},{x:.7625,y:.65,w:.075,h:.1},{x:.7875,y:.65,w:.03125,h:.041666666666666664},{x:.7875,y:.65,w:.05,h:.06666666666666667},{x:.7875,y:.65,w:.075,h:.1},{x:.8125,y:.65,w:.03125,h:.041666666666666664},{x:.8125,y:.65,w:.05,h:.06666666666666667},{x:.8125,y:.65,w:.075,h:.1},{x:.8375,y:.65,w:.03125,h:.041666666666666664},{x:.8375,y:.65,w:.05,h:.06666666666666667},{x:.8375,y:.65,w:.075,h:.1},{x:.8625,y:.65,w:.03125,h:.041666666666666664},{x:.8625,y:.65,w:.05,h:.06666666666666667},{x:.8625,y:.65,w:.075,h:.1},{x:.8875,y:.65,w:.03125,h:.041666666666666664},{x:.8875,y:.65,w:.05,h:.06666666666666667},{x:.8875,y:.65,w:.075,h:.1},{x:.9125,y:.65,w:.03125,h:.041666666666666664},{x:.9125,y:.65,w:.05,h:.06666666666666667},{x:.9125,y:.65,w:.075,h:.1},{x:.9375,y:.65,w:.03125,h:.041666666666666664},{x:.9375,y:.65,w:.05,h:.06666666666666667},{x:.9375,y:.65,w:.075,h:.1},{x:.9625,y:.65,w:.03125,h:.041666666666666664},{x:.9625,y:.65,w:.05,h:.06666666666666667},{x:.9625,y:.65,w:.075,h:.1},{x:.9875,y:.65,w:.03125,h:.041666666666666664},{x:.9875,y:.65,w:.05,h:.06666666666666667},{x:.9875,y:.65,w:.075,h:.1}
321,{x:.0125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.6833333333333333,w:.075,h:.1},{x:.0375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.6833333333333333,w:.075,h:.1},{x:.0625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.6833333333333333,w:.075,h:.1},{x:.0875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.6833333333333333,w:.075,h:.1},{x:.1125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.6833333333333333,w:.075,h:.1},{x:.1375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.6833333333333333,w:.075,h:.1},{x:.1625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.6833333333333333,w:.075,h:.1}
321,{x:.1875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.6833333333333333,w:.075,h:.1},{x:.2125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.6833333333333333,w:.075,h:.1},{x:.2375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.6833333333333333,w:.075,h:.1},{x:.2625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.6833333333333333,w:.075,h:.1},{x:.2875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.6833333333333333,w:.075,h:.1},{x:.3125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.6833333333333333,w:.075,h:.1},{x:.3375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.6833333333333333,w:.075,h:.1},{x:.3625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.6833333333333333,w:.075,h:.1},{x:.3875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.6833333333333333,w:.075,h:.1},{x:.4125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.6833333333333333,w:.075,h:.1},{x:.4375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.6833333333333333,w:.075,h:.1},{x:.4625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.6833333333333333,w:.075,h:.1},{x:.4875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.6833333333333333,w:.075,h:.1},{x:.5125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.6833333333333333,w:.075,h:.1},{x:.5375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.6833333333333333,w:.075,h:.1},{x:.5625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.6833333333333333,w:.075,h:.1},{x:.5875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.6833333333333333,w:.075,h:.1},{x:.6125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.6833333333333333,w:.075,h:.1},{x:.6375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.6833333333333333,w:.075,h:.1},{x:.6625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.6833333333333333,w:.075,h:.1},{x:.6875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.6833333333333333,w:.075,h:.1},{x:.7125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.6833333333333333,w:.075,h:.1},{x:.7375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.6833333333333333,w:.075,h:.1},{x:.7625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.6833333333333333,w:.075,h:.1},{x:.7875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.6833333333333333,w:.075,h:.1},{x:.8125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.6833333333333333,w:.075,h:.1},{x:.8375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.6833333333333333,w:.075,h:.1},{x:.8625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.6833333333333333,w:.075,h:.1},{x:.8875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.6833333333333333,w:.075,h:.1},{x:.9125,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.6833333333333333,w:.075,h:.1},{x:.9375,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.6833333333333333,w:.075,h:.1},{x:.9625,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.6833333333333333,w:.075,h:.1},{x:.9875,y:.6833333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.6833333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.6833333333333333,w:.075,h:.1},{x:.0125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.7166666666666667,w:.075,h:.1},{x:.0375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.7166666666666667,w:.075,h:.1},{x:.0625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.7166666666666667,w:.075,h:.1}
321,{x:.0875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.7166666666666667,w:.075,h:.1},{x:.1125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.7166666666666667,w:.075,h:.1},{x:.1375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.7166666666666667,w:.075,h:.1},{x:.1625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.7166666666666667,w:.075,h:.1},{x:.1875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.7166666666666667,w:.075,h:.1},{x:.2125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.7166666666666667,w:.075,h:.1},{x:.2375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.7166666666666667,w:.075,h:.1},{x:.2625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.7166666666666667,w:.075,h:.1},{x:.2875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.7166666666666667,w:.075,h:.1},{x:.3125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.7166666666666667,w:.075,h:.1},{x:.3375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.7166666666666667,w:.075,h:.1},{x:.3625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.7166666666666667,w:.075,h:.1},{x:.3875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.7166666666666667,w:.075,h:.1},{x:.4125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.7166666666666667,w:.075,h:.1},{x:.4375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.7166666666666667,w:.075,h:.1},{x:.4625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.7166666666666667,w:.075,h:.1},{x:.4875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.7166666666666667,w:.075,h:.1},{x:.5125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.7166666666666667,w:.075,h:.1},{x:.5375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.7166666666666667,w:.075,h:.1},{x:.5625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.7166666666666667,w:.075,h:.1},{x:.5875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.7166666666666667,w:.075,h:.1},{x:.6125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.7166666666666667,w:.075,h:.1},{x:.6375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.7166666666666667,w:.075,h:.1},{x:.6625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.7166666666666667,w:.075,h:.1},{x:.6875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.7166666666666667,w:.075,h:.1},{x:.7125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.7166666666666667,w:.075,h:.1},{x:.7375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.7166666666666667,w:.075,h:.1},{x:.7625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.7166666666666667,w:.075,h:.1},{x:.7875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.7166666666666667,w:.075,h:.1},{x:.8125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.7166666666666667,w:.075,h:.1},{x:.8375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.7166666666666667,w:.075,h:.1},{x:.8625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.7166666666666667,w:.075,h:.1},{x:.8875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.7166666666666667,w:.075,h:.1},{x:.9125,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.7166666666666667,w:.075,h:.1},{x:.9375,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.7166666666666667,w:.075,h:.1},{x:.9625,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.7166666666666667,w:.075,h:.1},{x:.9875,y:.7166666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.7166666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.7166666666666667,w:.075,h:.1},{x:.0125,y:.75,w:.03125,h:.041666666666666664},{x:.0125,y:.75,w:.05,h:.06666666666666667},{x:.0125,y:.75,w:.075,h:.1},{x:.0375,y:.75,w:.03125,h:.041666666666666664},{x:.0375,y:.75,w:.05,h:.06666666666666667},{x:.0375,y:.75,w:.075,h:.1},{x:.0625,y:.75,w:.03125,h:.041666666666666664},{x:.0625,y:.75,w:.05,h:.06666666666666667},{x:.0625,y:.75,w:.075,h:.1}
321,{x:.0875,y:.75,w:.03125,h:.041666666666666664},{x:.0875,y:.75,w:.05,h:.06666666666666667},{x:.0875,y:.75,w:.075,h:.1},{x:.1125,y:.75,w:.03125,h:.041666666666666664},{x:.1125,y:.75,w:.05,h:.06666666666666667},{x:.1125,y:.75,w:.075,h:.1},{x:.1375,y:.75,w:.03125,h:.041666666666666664},{x:.1375,y:.75,w:.05,h:.06666666666666667},{x:.1375,y:.75,w:.075,h:.1},{x:.1625,y:.75,w:.03125,h:.041666666666666664},{x:.1625,y:.75,w:.05,h:.06666666666666667},{x:.1625,y:.75,w:.075,h:.1},{x:.1875,y:.75,w:.03125,h:.041666666666666664},{x:.1875,y:.75,w:.05,h:.06666666666666667},{x:.1875,y:.75,w:.075,h:.1},{x:.2125,y:.75,w:.03125,h:.041666666666666664},{x:.2125,y:.75,w:.05,h:.06666666666666667},{x:.2125,y:.75,w:.075,h:.1},{x:.2375,y:.75,w:.03125,h:.041666666666666664},{x:.2375,y:.75,w:.05,h:.06666666666666667},{x:.2375,y:.75,w:.075,h:.1},{x:.2625,y:.75,w:.03125,h:.041666666666666664},{x:.2625,y:.75,w:.05,h:.06666666666666667},{x:.2625,y:.75,w:.075,h:.1},{x:.2875,y:.75,w:.03125,h:.041666666666666664},{x:.2875,y:.75,w:.05,h:.06666666666666667},{x:.2875,y:.75,w:.075,h:.1},{x:.3125,y:.75,w:.03125,h:.041666666666666664},{x:.3125,y:.75,w:.05,h:.06666666666666667},{x:.3125,y:.75,w:.075,h:.1},{x:.3375,y:.75,w:.03125,h:.041666666666666664},{x:.3375,y:.75,w:.05,h:.06666666666666667},{x:.3375,y:.75,w:.075,h:.1},{x:.3625,y:.75,w:.03125,h:.041666666666666664},{x:.3625,y:.75,w:.05,h:.06666666666666667},{x:.3625,y:.75,w:.075,h:.1},{x:.3875,y:.75,w:.03125,h:.041666666666666664},{x:.3875,y:.75,w:.05,h:.06666666666666667},{x:.3875,y:.75,w:.075,h:.1},{x:.4125,y:.75,w:.03125,h:.041666666666666664},{x:.4125,y:.75,w:.05,h:.06666666666666667},{x:.4125,y:.75,w:.075,h:.1},{x:.4375,y:.75,w:.03125,h:.041666666666666664},{x:.4375,y:.75,w:.05,h:.06666666666666667},{x:.4375,y:.75,w:.075,h:.1},{x:.4625,y:.75,w:.03125,h:.041666666666666664},{x:.4625,y:.75,w:.05,h:.06666666666666667},{x:.4625,y:.75,w:.075,h:.1},{x:.4875,y:.75,w:.03125,h:.041666666666666664},{x:.4875,y:.75,w:.05,h:.06666666666666667},{x:.4875,y:.75,w:.075,h:.1},{x:.5125,y:.75,w:.03125,h:.041666666666666664},{x:.5125,y:.75,w:.05,h:.06666666666666667},{x:.5125,y:.75,w:.075,h:.1},{x:.5375,y:.75,w:.03125,h:.041666666666666664},{x:.5375,y:.75,w:.05,h:.06666666666666667},{x:.5375,y:.75,w:.075,h:.1},{x:.5625,y:.75,w:.03125,h:.041666666666666664},{x:.5625,y:.75,w:.05,h:.06666666666666667},{x:.5625,y:.75,w:.075,h:.1},{x:.5875,y:.75,w:.03125,h:.041666666666666664},{x:.5875,y:.75,w:.05,h:.06666666666666667},{x:.5875,y:.75,w:.075,h:.1},{x:.6125,y:.75,w:.03125,h:.041666666666666664},{x:.6125,y:.75,w:.05,h:.06666666666666667},{x:.6125,y:.75,w:.075,h:.1},{x:.6375,y:.75,w:.03125,h:.041666666666666664},{x:.6375,y:.75,w:.05,h:.06666666666666667},{x:.6375,y:.75,w:.075,h:.1},{x:.6625,y:.75,w:.03125,h:.041666666666666664},{x:.6625,y:.75,w:.05,h:.06666666666666667},{x:.6625,y:.75,w:.075,h:.1},{x:.6875,y:.75,w:.03125,h:.041666666666666664},{x:.6875,y:.75,w:.05,h:.06666666666666667},{x:.6875,y:.75,w:.075,h:.1},{x:.7125,y:.75,w:.03125,h:.041666666666666664},{x:.7125,y:.75,w:.05,h:.06666666666666667},{x:.7125,y:.75,w:.075,h:.1},{x:.7375,y:.75,w:.03125,h:.041666666666666664},{x:.7375,y:.75,w:.05,h:.06666666666666667},{x:.7375,y:.75,w:.075,h:.1},{x:.7625,y:.75,w:.03125,h:.041666666666666664},{x:.7625,y:.75,w:.05,h:.06666666666666667},{x:.7625,y:.75,w:.075,h:.1},{x:.7875,y:.75,w:.03125,h:.041666666666666664},{x:.7875,y:.75,w:.05,h:.06666666666666667},{x:.7875,y:.75,w:.075,h:.1},{x:.8125,y:.75,w:.03125,h:.041666666666666664},{x:.8125,y:.75,w:.05,h:.06666666666666667},{x:.8125,y:.75,w:.075,h:.1},{x:.8375,y:.75,w:.03125,h:.041666666666666664},{x:.8375,y:.75,w:.05,h:.06666666666666667},{x:.8375,y:.75,w:.075,h:.1},{x:.8625,y:.75,w:.03125,h:.041666666666666664},{x:.8625,y:.75,w:.05,h:.06666666666666667},{x:.8625,y:.75,w:.075,h:.1},{x:.8875,y:.75,w:.03125,h:.041666666666666664},{x:.8875,y:.75,w:.05,h:.06666666666666667},{x:.8875,y:.75,w:.075,h:.1},{x:.9125,y:.75,w:.03125,h:.041666666666666664},{x:.9125,y:.75,w:.05,h:.06666666666666667},{x:.9125,y:.75,w:.075,h:.1},{x:.9375,y:.75,w:.03125,h:.041666666666666664},{x:.9375,y:.75,w:.05,h:.06666666666666667},{x:.9375,y:.75,w:.075,h:.1},{x:.9625,y:.75,w:.03125,h:.041666666666666664},{x:.9625,y:.75,w:.05,h:.06666666666666667},{x:.9625,y:.75,w:.075,h:.1},{x:.9875,y:.75,w:.03125,h:.041666666666666664},{x:.9875,y:.75,w:.05,h:.06666666666666667},{x:.9875,y:.75,w:.075,h:.1},{x:.0125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.7833333333333333,w:.075,h:.1},{x:.0375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.7833333333333333,w:.075,h:.1},{x:.0625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.7833333333333333,w:.075,h:.1}
321,{x:.0875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.7833333333333333,w:.075,h:.1},{x:.1125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.7833333333333333,w:.075,h:.1},{x:.1375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.7833333333333333,w:.075,h:.1},{x:.1625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.7833333333333333,w:.075,h:.1},{x:.1875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.7833333333333333,w:.075,h:.1},{x:.2125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.7833333333333333,w:.075,h:.1},{x:.2375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.7833333333333333,w:.075,h:.1},{x:.2625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.7833333333333333,w:.075,h:.1},{x:.2875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.7833333333333333,w:.075,h:.1},{x:.3125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.7833333333333333,w:.075,h:.1},{x:.3375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.7833333333333333,w:.075,h:.1},{x:.3625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.7833333333333333,w:.075,h:.1},{x:.3875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.7833333333333333,w:.075,h:.1},{x:.4125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.7833333333333333,w:.075,h:.1},{x:.4375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.7833333333333333,w:.075,h:.1},{x:.4625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.7833333333333333,w:.075,h:.1},{x:.4875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.7833333333333333,w:.075,h:.1},{x:.5125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.7833333333333333,w:.075,h:.1},{x:.5375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.7833333333333333,w:.075,h:.1},{x:.5625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.7833333333333333,w:.075,h:.1},{x:.5875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.7833333333333333,w:.075,h:.1},{x:.6125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.7833333333333333,w:.075,h:.1},{x:.6375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.7833333333333333,w:.075,h:.1},{x:.6625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.7833333333333333,w:.075,h:.1},{x:.6875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.7833333333333333,w:.075,h:.1},{x:.7125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.7833333333333333,w:.075,h:.1},{x:.7375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.7833333333333333,w:.075,h:.1},{x:.7625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.7833333333333333,w:.075,h:.1},{x:.7875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.7833333333333333,w:.075,h:.1},{x:.8125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.7833333333333333,w:.075,h:.1},{x:.8375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.7833333333333333,w:.075,h:.1},{x:.8625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.7833333333333333,w:.075,h:.1},{x:.8875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.7833333333333333,w:.075,h:.1},{x:.9125,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.7833333333333333,w:.075,h:.1},{x:.9375,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.7833333333333333,w:.075,h:.1},{x:.9625,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.7833333333333333,w:.075,h:.1},{x:.9875,y:.7833333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.7833333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.7833333333333333,w:.075,h:.1},{x:.0125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.0125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.0125,y:.8166666666666667,w:.075,h:.1},{x:.0375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.0375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.0375,y:.8166666666666667,w:.075,h:.1},{x:.0625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.0625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.0625,y:.8166666666666667,w:.075,h:.1}
321,{x:.0875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.0875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.0875,y:.8166666666666667,w:.075,h:.1},{x:.1125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.1125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.1125,y:.8166666666666667,w:.075,h:.1},{x:.1375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.1375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.1375,y:.8166666666666667,w:.075,h:.1},{x:.1625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.1625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.1625,y:.8166666666666667,w:.075,h:.1},{x:.1875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.1875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.1875,y:.8166666666666667,w:.075,h:.1},{x:.2125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.2125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.2125,y:.8166666666666667,w:.075,h:.1},{x:.2375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.2375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.2375,y:.8166666666666667,w:.075,h:.1},{x:.2625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.2625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.2625,y:.8166666666666667,w:.075,h:.1},{x:.2875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.2875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.2875,y:.8166666666666667,w:.075,h:.1},{x:.3125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.3125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.3125,y:.8166666666666667,w:.075,h:.1},{x:.3375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.3375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.3375,y:.8166666666666667,w:.075,h:.1},{x:.3625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.3625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.3625,y:.8166666666666667,w:.075,h:.1},{x:.3875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.3875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.3875,y:.8166666666666667,w:.075,h:.1},{x:.4125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.4125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.4125,y:.8166666666666667,w:.075,h:.1},{x:.4375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.4375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.4375,y:.8166666666666667,w:.075,h:.1},{x:.4625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.4625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.4625,y:.8166666666666667,w:.075,h:.1},{x:.4875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.4875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.4875,y:.8166666666666667,w:.075,h:.1},{x:.5125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.5125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.5125,y:.8166666666666667,w:.075,h:.1},{x:.5375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.5375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.5375,y:.8166666666666667,w:.075,h:.1},{x:.5625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.5625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.5625,y:.8166666666666667,w:.075,h:.1},{x:.5875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.5875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.5875,y:.8166666666666667,w:.075,h:.1},{x:.6125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.6125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.6125,y:.8166666666666667,w:.075,h:.1},{x:.6375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.6375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.6375,y:.8166666666666667,w:.075,h:.1},{x:.6625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.6625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.6625,y:.8166666666666667,w:.075,h:.1},{x:.6875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.6875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.6875,y:.8166666666666667,w:.075,h:.1},{x:.7125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.7125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.7125,y:.8166666666666667,w:.075,h:.1},{x:.7375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.7375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.7375,y:.8166666666666667,w:.075,h:.1},{x:.7625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.7625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.7625,y:.8166666666666667,w:.075,h:.1},{x:.7875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.7875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.7875,y:.8166666666666667,w:.075,h:.1},{x:.8125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.8125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.8125,y:.8166666666666667,w:.075,h:.1},{x:.8375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.8375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.8375,y:.8166666666666667,w:.075,h:.1},{x:.8625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.8625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.8625,y:.8166666666666667,w:.075,h:.1},{x:.8875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.8875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.8875,y:.8166666666666667,w:.075,h:.1},{x:.9125,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.9125,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.9125,y:.8166666666666667,w:.075,h:.1},{x:.9375,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.9375,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.9375,y:.8166666666666667,w:.075,h:.1},{x:.9625,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.9625,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.9625,y:.8166666666666667,w:.075,h:.1},{x:.9875,y:.8166666666666667,w:.03125,h:.041666666666666664},{x:.9875,y:.8166666666666667,w:.05,h:.06666666666666667},{x:.9875,y:.8166666666666667,w:.075,h:.1},{x:.0125,y:.85,w:.03125,h:.041666666666666664},{x:.0125,y:.85,w:.05,h:.06666666666666667},{x:.0125,y:.85,w:.075,h:.1},{x:.0375,y:.85,w:.03125,h:.041666666666666664},{x:.0375,y:.85,w:.05,h:.06666666666666667},{x:.0375,y:.85,w:.075,h:.1},{x:.0625,y:.85,w:.03125,h:.041666666666666664},{x:.0625,y:.85,w:.05,h:.06666666666666667},{x:.0625,y:.85,w:.075,h:.1}
321,{x:.0875,y:.85,w:.03125,h:.041666666666666664},{x:.0875,y:.85,w:.05,h:.06666666666666667},{x:.0875,y:.85,w:.075,h:.1},{x:.1125,y:.85,w:.03125,h:.041666666666666664},{x:.1125,y:.85,w:.05,h:.06666666666666667},{x:.1125,y:.85,w:.075,h:.1},{x:.1375,y:.85,w:.03125,h:.041666666666666664},{x:.1375,y:.85,w:.05,h:.06666666666666667},{x:.1375,y:.85,w:.075,h:.1},{x:.1625,y:.85,w:.03125,h:.041666666666666664},{x:.1625,y:.85,w:.05,h:.06666666666666667},{x:.1625,y:.85,w:.075,h:.1},{x:.1875,y:.85,w:.03125,h:.041666666666666664},{x:.1875,y:.85,w:.05,h:.06666666666666667},{x:.1875,y:.85,w:.075,h:.1},{x:.2125,y:.85,w:.03125,h:.041666666666666664},{x:.2125,y:.85,w:.05,h:.06666666666666667},{x:.2125,y:.85,w:.075,h:.1},{x:.2375,y:.85,w:.03125,h:.041666666666666664},{x:.2375,y:.85,w:.05,h:.06666666666666667},{x:.2375,y:.85,w:.075,h:.1},{x:.2625,y:.85,w:.03125,h:.041666666666666664},{x:.2625,y:.85,w:.05,h:.06666666666666667},{x:.2625,y:.85,w:.075,h:.1},{x:.2875,y:.85,w:.03125,h:.041666666666666664},{x:.2875,y:.85,w:.05,h:.06666666666666667},{x:.2875,y:.85,w:.075,h:.1},{x:.3125,y:.85,w:.03125,h:.041666666666666664},{x:.3125,y:.85,w:.05,h:.06666666666666667},{x:.3125,y:.85,w:.075,h:.1},{x:.3375,y:.85,w:.03125,h:.041666666666666664},{x:.3375,y:.85,w:.05,h:.06666666666666667},{x:.3375,y:.85,w:.075,h:.1},{x:.3625,y:.85,w:.03125,h:.041666666666666664},{x:.3625,y:.85,w:.05,h:.06666666666666667},{x:.3625,y:.85,w:.075,h:.1},{x:.3875,y:.85,w:.03125,h:.041666666666666664},{x:.3875,y:.85,w:.05,h:.06666666666666667},{x:.3875,y:.85,w:.075,h:.1},{x:.4125,y:.85,w:.03125,h:.041666666666666664},{x:.4125,y:.85,w:.05,h:.06666666666666667},{x:.4125,y:.85,w:.075,h:.1},{x:.4375,y:.85,w:.03125,h:.041666666666666664},{x:.4375,y:.85,w:.05,h:.06666666666666667},{x:.4375,y:.85,w:.075,h:.1},{x:.4625,y:.85,w:.03125,h:.041666666666666664},{x:.4625,y:.85,w:.05,h:.06666666666666667},{x:.4625,y:.85,w:.075,h:.1},{x:.4875,y:.85,w:.03125,h:.041666666666666664},{x:.4875,y:.85,w:.05,h:.06666666666666667},{x:.4875,y:.85,w:.075,h:.1},{x:.5125,y:.85,w:.03125,h:.041666666666666664},{x:.5125,y:.85,w:.05,h:.06666666666666667},{x:.5125,y:.85,w:.075,h:.1},{x:.5375,y:.85,w:.03125,h:.041666666666666664},{x:.5375,y:.85,w:.05,h:.06666666666666667},{x:.5375,y:.85,w:.075,h:.1},{x:.5625,y:.85,w:.03125,h:.041666666666666664},{x:.5625,y:.85,w:.05,h:.06666666666666667},{x:.5625,y:.85,w:.075,h:.1},{x:.5875,y:.85,w:.03125,h:.041666666666666664},{x:.5875,y:.85,w:.05,h:.06666666666666667},{x:.5875,y:.85,w:.075,h:.1},{x:.6125,y:.85,w:.03125,h:.041666666666666664},{x:.6125,y:.85,w:.05,h:.06666666666666667},{x:.6125,y:.85,w:.075,h:.1},{x:.6375,y:.85,w:.03125,h:.041666666666666664},{x:.6375,y:.85,w:.05,h:.06666666666666667},{x:.6375,y:.85,w:.075,h:.1},{x:.6625,y:.85,w:.03125,h:.041666666666666664},{x:.6625,y:.85,w:.05,h:.06666666666666667},{x:.6625,y:.85,w:.075,h:.1},{x:.6875,y:.85,w:.03125,h:.041666666666666664},{x:.6875,y:.85,w:.05,h:.06666666666666667},{x:.6875,y:.85,w:.075,h:.1},{x:.7125,y:.85,w:.03125,h:.041666666666666664},{x:.7125,y:.85,w:.05,h:.06666666666666667},{x:.7125,y:.85,w:.075,h:.1},{x:.7375,y:.85,w:.03125,h:.041666666666666664},{x:.7375,y:.85,w:.05,h:.06666666666666667},{x:.7375,y:.85,w:.075,h:.1},{x:.7625,y:.85,w:.03125,h:.041666666666666664},{x:.7625,y:.85,w:.05,h:.06666666666666667},{x:.7625,y:.85,w:.075,h:.1},{x:.7875,y:.85,w:.03125,h:.041666666666666664},{x:.7875,y:.85,w:.05,h:.06666666666666667},{x:.7875,y:.85,w:.075,h:.1},{x:.8125,y:.85,w:.03125,h:.041666666666666664},{x:.8125,y:.85,w:.05,h:.06666666666666667},{x:.8125,y:.85,w:.075,h:.1},{x:.8375,y:.85,w:.03125,h:.041666666666666664},{x:.8375,y:.85,w:.05,h:.06666666666666667},{x:.8375,y:.85,w:.075,h:.1},{x:.8625,y:.85,w:.03125,h:.041666666666666664},{x:.8625,y:.85,w:.05,h:.06666666666666667},{x:.8625,y:.85,w:.075,h:.1},{x:.8875,y:.85,w:.03125,h:.041666666666666664},{x:.8875,y:.85,w:.05,h:.06666666666666667},{x:.8875,y:.85,w:.075,h:.1},{x:.9125,y:.85,w:.03125,h:.041666666666666664},{x:.9125,y:.85,w:.05,h:.06666666666666667},{x:.9125,y:.85,w:.075,h:.1},{x:.9375,y:.85,w:.03125,h:.041666666666666664},{x:.9375,y:.85,w:.05,h:.06666666666666667},{x:.9375,y:.85,w:.075,h:.1},{x:.9625,y:.85,w:.03125,h:.041666666666666664},{x:.9625,y:.85,w:.05,h:.06666666666666667},{x:.9625,y:.85,w:.075,h:.1},{x:.9875,y:.85,w:.03125,h:.041666666666666664},{x:.9875,y:.85,w:.05,h:.06666666666666667},{x:.9875,y:.85,w:.075,h:.1},{x:.0125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.8833333333333333,w:.075,h:.1},{x:.0375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.8833333333333333,w:.075,h:.1},{x:.0625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.8833333333333333,w:.075,h:.1}
321,{x:.0875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.8833333333333333,w:.075,h:.1},{x:.1125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.8833333333333333,w:.075,h:.1},{x:.1375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.8833333333333333,w:.075,h:.1},{x:.1625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.8833333333333333,w:.075,h:.1},{x:.1875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.8833333333333333,w:.075,h:.1},{x:.2125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.8833333333333333,w:.075,h:.1},{x:.2375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.8833333333333333,w:.075,h:.1},{x:.2625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.8833333333333333,w:.075,h:.1},{x:.2875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.8833333333333333,w:.075,h:.1},{x:.3125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.8833333333333333,w:.075,h:.1},{x:.3375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.8833333333333333,w:.075,h:.1},{x:.3625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.8833333333333333,w:.075,h:.1},{x:.3875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.8833333333333333,w:.075,h:.1},{x:.4125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.8833333333333333,w:.075,h:.1},{x:.4375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.8833333333333333,w:.075,h:.1},{x:.4625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.8833333333333333,w:.075,h:.1},{x:.4875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.8833333333333333,w:.075,h:.1},{x:.5125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.8833333333333333,w:.075,h:.1},{x:.5375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.8833333333333333,w:.075,h:.1},{x:.5625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.8833333333333333,w:.075,h:.1},{x:.5875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.8833333333333333,w:.075,h:.1},{x:.6125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.8833333333333333,w:.075,h:.1},{x:.6375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.8833333333333333,w:.075,h:.1},{x:.6625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.8833333333333333,w:.075,h:.1},{x:.6875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.8833333333333333,w:.075,h:.1},{x:.7125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.8833333333333333,w:.075,h:.1},{x:.7375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.8833333333333333,w:.075,h:.1},{x:.7625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.8833333333333333,w:.075,h:.1},{x:.7875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.8833333333333333,w:.075,h:.1},{x:.8125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.8833333333333333,w:.075,h:.1},{x:.8375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.8833333333333333,w:.075,h:.1},{x:.8625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.8833333333333333,w:.075,h:.1},{x:.8875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.8833333333333333,w:.075,h:.1},{x:.9125,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.8833333333333333,w:.075,h:.1},{x:.9375,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.8833333333333333,w:.075,h:.1},{x:.9625,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.8833333333333333,w:.075,h:.1},{x:.9875,y:.8833333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.8833333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.8833333333333333,w:.075,h:.1},{x:.0125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.0125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.0125,y:.9166666666666666,w:.075,h:.1},{x:.0375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.0375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.0375,y:.9166666666666666,w:.075,h:.1},{x:.0625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.0625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.0625,y:.9166666666666666,w:.075,h:.1}
321,{x:.0875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.0875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.0875,y:.9166666666666666,w:.075,h:.1},{x:.1125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.1125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.1125,y:.9166666666666666,w:.075,h:.1},{x:.1375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.1375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.1375,y:.9166666666666666,w:.075,h:.1},{x:.1625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.1625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.1625,y:.9166666666666666,w:.075,h:.1},{x:.1875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.1875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.1875,y:.9166666666666666,w:.075,h:.1},{x:.2125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.2125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.2125,y:.9166666666666666,w:.075,h:.1},{x:.2375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.2375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.2375,y:.9166666666666666,w:.075,h:.1},{x:.2625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.2625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.2625,y:.9166666666666666,w:.075,h:.1},{x:.2875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.2875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.2875,y:.9166666666666666,w:.075,h:.1},{x:.3125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.3125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.3125,y:.9166666666666666,w:.075,h:.1},{x:.3375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.3375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.3375,y:.9166666666666666,w:.075,h:.1},{x:.3625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.3625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.3625,y:.9166666666666666,w:.075,h:.1},{x:.3875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.3875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.3875,y:.9166666666666666,w:.075,h:.1},{x:.4125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.4125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.4125,y:.9166666666666666,w:.075,h:.1},{x:.4375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.4375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.4375,y:.9166666666666666,w:.075,h:.1},{x:.4625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.4625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.4625,y:.9166666666666666,w:.075,h:.1},{x:.4875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.4875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.4875,y:.9166666666666666,w:.075,h:.1},{x:.5125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.5125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.5125,y:.9166666666666666,w:.075,h:.1},{x:.5375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.5375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.5375,y:.9166666666666666,w:.075,h:.1},{x:.5625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.5625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.5625,y:.9166666666666666,w:.075,h:.1},{x:.5875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.5875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.5875,y:.9166666666666666,w:.075,h:.1},{x:.6125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.6125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.6125,y:.9166666666666666,w:.075,h:.1},{x:.6375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.6375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.6375,y:.9166666666666666,w:.075,h:.1},{x:.6625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.6625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.6625,y:.9166666666666666,w:.075,h:.1},{x:.6875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.6875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.6875,y:.9166666666666666,w:.075,h:.1},{x:.7125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.7125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.7125,y:.9166666666666666,w:.075,h:.1},{x:.7375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.7375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.7375,y:.9166666666666666,w:.075,h:.1},{x:.7625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.7625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.7625,y:.9166666666666666,w:.075,h:.1},{x:.7875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.7875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.7875,y:.9166666666666666,w:.075,h:.1},{x:.8125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.8125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.8125,y:.9166666666666666,w:.075,h:.1},{x:.8375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.8375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.8375,y:.9166666666666666,w:.075,h:.1},{x:.8625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.8625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.8625,y:.9166666666666666,w:.075,h:.1},{x:.8875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.8875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.8875,y:.9166666666666666,w:.075,h:.1},{x:.9125,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.9125,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.9125,y:.9166666666666666,w:.075,h:.1},{x:.9375,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.9375,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.9375,y:.9166666666666666,w:.075,h:.1},{x:.9625,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.9625,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.9625,y:.9166666666666666,w:.075,h:.1},{x:.9875,y:.9166666666666666,w:.03125,h:.041666666666666664},{x:.9875,y:.9166666666666666,w:.05,h:.06666666666666667},{x:.9875,y:.9166666666666666,w:.075,h:.1},{x:.0125,y:.95,w:.03125,h:.041666666666666664},{x:.0125,y:.95,w:.05,h:.06666666666666667},{x:.0125,y:.95,w:.075,h:.1},{x:.0375,y:.95,w:.03125,h:.041666666666666664},{x:.0375,y:.95,w:.05,h:.06666666666666667},{x:.0375,y:.95,w:.075,h:.1},{x:.0625,y:.95,w:.03125,h:.041666666666666664},{x:.0625,y:.95,w:.05,h:.06666666666666667},{x:.0625,y:.95,w:.075,h:.1}
321,{x:.0875,y:.95,w:.03125,h:.041666666666666664},{x:.0875,y:.95,w:.05,h:.06666666666666667},{x:.0875,y:.95,w:.075,h:.1},{x:.1125,y:.95,w:.03125,h:.041666666666666664},{x:.1125,y:.95,w:.05,h:.06666666666666667},{x:.1125,y:.95,w:.075,h:.1},{x:.1375,y:.95,w:.03125,h:.041666666666666664},{x:.1375,y:.95,w:.05,h:.06666666666666667},{x:.1375,y:.95,w:.075,h:.1},{x:.1625,y:.95,w:.03125,h:.041666666666666664},{x:.1625,y:.95,w:.05,h:.06666666666666667},{x:.1625,y:.95,w:.075,h:.1},{x:.1875,y:.95,w:.03125,h:.041666666666666664},{x:.1875,y:.95,w:.05,h:.06666666666666667},{x:.1875,y:.95,w:.075,h:.1},{x:.2125,y:.95,w:.03125,h:.041666666666666664},{x:.2125,y:.95,w:.05,h:.06666666666666667},{x:.2125,y:.95,w:.075,h:.1},{x:.2375,y:.95,w:.03125,h:.041666666666666664},{x:.2375,y:.95,w:.05,h:.06666666666666667},{x:.2375,y:.95,w:.075,h:.1},{x:.2625,y:.95,w:.03125,h:.041666666666666664},{x:.2625,y:.95,w:.05,h:.06666666666666667},{x:.2625,y:.95,w:.075,h:.1},{x:.2875,y:.95,w:.03125,h:.041666666666666664},{x:.2875,y:.95,w:.05,h:.06666666666666667},{x:.2875,y:.95,w:.075,h:.1},{x:.3125,y:.95,w:.03125,h:.041666666666666664},{x:.3125,y:.95,w:.05,h:.06666666666666667},{x:.3125,y:.95,w:.075,h:.1},{x:.3375,y:.95,w:.03125,h:.041666666666666664},{x:.3375,y:.95,w:.05,h:.06666666666666667},{x:.3375,y:.95,w:.075,h:.1},{x:.3625,y:.95,w:.03125,h:.041666666666666664},{x:.3625,y:.95,w:.05,h:.06666666666666667},{x:.3625,y:.95,w:.075,h:.1},{x:.3875,y:.95,w:.03125,h:.041666666666666664},{x:.3875,y:.95,w:.05,h:.06666666666666667},{x:.3875,y:.95,w:.075,h:.1},{x:.4125,y:.95,w:.03125,h:.041666666666666664},{x:.4125,y:.95,w:.05,h:.06666666666666667},{x:.4125,y:.95,w:.075,h:.1},{x:.4375,y:.95,w:.03125,h:.041666666666666664},{x:.4375,y:.95,w:.05,h:.06666666666666667},{x:.4375,y:.95,w:.075,h:.1},{x:.4625,y:.95,w:.03125,h:.041666666666666664},{x:.4625,y:.95,w:.05,h:.06666666666666667},{x:.4625,y:.95,w:.075,h:.1},{x:.4875,y:.95,w:.03125,h:.041666666666666664},{x:.4875,y:.95,w:.05,h:.06666666666666667},{x:.4875,y:.95,w:.075,h:.1},{x:.5125,y:.95,w:.03125,h:.041666666666666664},{x:.5125,y:.95,w:.05,h:.06666666666666667},{x:.5125,y:.95,w:.075,h:.1},{x:.5375,y:.95,w:.03125,h:.041666666666666664},{x:.5375,y:.95,w:.05,h:.06666666666666667},{x:.5375,y:.95,w:.075,h:.1},{x:.5625,y:.95,w:.03125,h:.041666666666666664},{x:.5625,y:.95,w:.05,h:.06666666666666667},{x:.5625,y:.95,w:.075,h:.1},{x:.5875,y:.95,w:.03125,h:.041666666666666664},{x:.5875,y:.95,w:.05,h:.06666666666666667},{x:.5875,y:.95,w:.075,h:.1},{x:.6125,y:.95,w:.03125,h:.041666666666666664},{x:.6125,y:.95,w:.05,h:.06666666666666667},{x:.6125,y:.95,w:.075,h:.1},{x:.6375,y:.95,w:.03125,h:.041666666666666664},{x:.6375,y:.95,w:.05,h:.06666666666666667},{x:.6375,y:.95,w:.075,h:.1},{x:.6625,y:.95,w:.03125,h:.041666666666666664},{x:.6625,y:.95,w:.05,h:.06666666666666667},{x:.6625,y:.95,w:.075,h:.1},{x:.6875,y:.95,w:.03125,h:.041666666666666664},{x:.6875,y:.95,w:.05,h:.06666666666666667},{x:.6875,y:.95,w:.075,h:.1},{x:.7125,y:.95,w:.03125,h:.041666666666666664},{x:.7125,y:.95,w:.05,h:.06666666666666667},{x:.7125,y:.95,w:.075,h:.1},{x:.7375,y:.95,w:.03125,h:.041666666666666664},{x:.7375,y:.95,w:.05,h:.06666666666666667},{x:.7375,y:.95,w:.075,h:.1},{x:.7625,y:.95,w:.03125,h:.041666666666666664},{x:.7625,y:.95,w:.05,h:.06666666666666667},{x:.7625,y:.95,w:.075,h:.1},{x:.7875,y:.95,w:.03125,h:.041666666666666664},{x:.7875,y:.95,w:.05,h:.06666666666666667},{x:.7875,y:.95,w:.075,h:.1},{x:.8125,y:.95,w:.03125,h:.041666666666666664},{x:.8125,y:.95,w:.05,h:.06666666666666667},{x:.8125,y:.95,w:.075,h:.1},{x:.8375,y:.95,w:.03125,h:.041666666666666664},{x:.8375,y:.95,w:.05,h:.06666666666666667},{x:.8375,y:.95,w:.075,h:.1},{x:.8625,y:.95,w:.03125,h:.041666666666666664},{x:.8625,y:.95,w:.05,h:.06666666666666667},{x:.8625,y:.95,w:.075,h:.1},{x:.8875,y:.95,w:.03125,h:.041666666666666664},{x:.8875,y:.95,w:.05,h:.06666666666666667},{x:.8875,y:.95,w:.075,h:.1},{x:.9125,y:.95,w:.03125,h:.041666666666666664},{x:.9125,y:.95,w:.05,h:.06666666666666667},{x:.9125,y:.95,w:.075,h:.1},{x:.9375,y:.95,w:.03125,h:.041666666666666664},{x:.9375,y:.95,w:.05,h:.06666666666666667},{x:.9375,y:.95,w:.075,h:.1},{x:.9625,y:.95,w:.03125,h:.041666666666666664},{x:.9625,y:.95,w:.05,h:.06666666666666667},{x:.9625,y:.95,w:.075,h:.1},{x:.9875,y:.95,w:.03125,h:.041666666666666664},{x:.9875,y:.95,w:.05,h:.06666666666666667},{x:.9875,y:.95,w:.075,h:.1},{x:.0125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.0125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.0125,y:.9833333333333333,w:.075,h:.1},{x:.0375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.0375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.0375,y:.9833333333333333,w:.075,h:.1},{x:.0625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.0625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.0625,y:.9833333333333333,w:.075,h:.1}
321,{x:.0875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.0875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.0875,y:.9833333333333333,w:.075,h:.1},{x:.1125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.1125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.1125,y:.9833333333333333,w:.075,h:.1},{x:.1375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.1375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.1375,y:.9833333333333333,w:.075,h:.1},{x:.1625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.1625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.1625,y:.9833333333333333,w:.075,h:.1},{x:.1875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.1875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.1875,y:.9833333333333333,w:.075,h:.1},{x:.2125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.2125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.2125,y:.9833333333333333,w:.075,h:.1},{x:.2375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.2375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.2375,y:.9833333333333333,w:.075,h:.1},{x:.2625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.2625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.2625,y:.9833333333333333,w:.075,h:.1},{x:.2875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.2875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.2875,y:.9833333333333333,w:.075,h:.1},{x:.3125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.3125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.3125,y:.9833333333333333,w:.075,h:.1},{x:.3375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.3375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.3375,y:.9833333333333333,w:.075,h:.1},{x:.3625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.3625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.3625,y:.9833333333333333,w:.075,h:.1},{x:.3875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.3875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.3875,y:.9833333333333333,w:.075,h:.1},{x:.4125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.4125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.4125,y:.9833333333333333,w:.075,h:.1},{x:.4375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.4375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.4375,y:.9833333333333333,w:.075,h:.1},{x:.4625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.4625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.4625,y:.9833333333333333,w:.075,h:.1},{x:.4875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.4875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.4875,y:.9833333333333333,w:.075,h:.1},{x:.5125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.5125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.5125,y:.9833333333333333,w:.075,h:.1},{x:.5375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.5375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.5375,y:.9833333333333333,w:.075,h:.1},{x:.5625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.5625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.5625,y:.9833333333333333,w:.075,h:.1},{x:.5875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.5875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.5875,y:.9833333333333333,w:.075,h:.1},{x:.6125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.6125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.6125,y:.9833333333333333,w:.075,h:.1},{x:.6375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.6375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.6375,y:.9833333333333333,w:.075,h:.1},{x:.6625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.6625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.6625,y:.9833333333333333,w:.075,h:.1},{x:.6875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.6875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.6875,y:.9833333333333333,w:.075,h:.1},{x:.7125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.7125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.7125,y:.9833333333333333,w:.075,h:.1},{x:.7375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.7375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.7375,y:.9833333333333333,w:.075,h:.1},{x:.7625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.7625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.7625,y:.9833333333333333,w:.075,h:.1},{x:.7875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.7875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.7875,y:.9833333333333333,w:.075,h:.1},{x:.8125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.8125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.8125,y:.9833333333333333,w:.075,h:.1},{x:.8375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.8375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.8375,y:.9833333333333333,w:.075,h:.1},{x:.8625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.8625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.8625,y:.9833333333333333,w:.075,h:.1},{x:.8875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.8875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.8875,y:.9833333333333333,w:.075,h:.1},{x:.9125,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.9125,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.9125,y:.9833333333333333,w:.075,h:.1},{x:.9375,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.9375,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.9375,y:.9833333333333333,w:.075,h:.1},{x:.9625,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.9625,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.9625,y:.9833333333333333,w:.075,h:.1},{x:.9875,y:.9833333333333333,w:.03125,h:.041666666666666664},{x:.9875,y:.9833333333333333,w:.05,h:.06666666666666667},{x:.9875,y:.9833333333333333,w:.075,h:.1},{x:.025,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.025,y:.03333333333333333,w:.15,h:.2},{x:.075,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.075,y:.03333333333333333,w:.15,h:.2},{x:.125,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.125,y:.03333333333333333,w:.15,h:.2},{x:.175,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.175,y:.03333333333333333,w:.15,h:.2},{x:.225,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.225,y:.03333333333333333,w:.15,h:.2},{x:.275,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.275,y:.03333333333333333,w:.15,h:.2},{x:.325,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.325,y:.03333333333333333,w:.15,h:.2},{x:.375,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.375,y:.03333333333333333,w:.15,h:.2},{x:.425,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.425,y:.03333333333333333,w:.15,h:.2},{x:.475,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.475,y:.03333333333333333,w:.15,h:.2},{x:.525,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.525,y:.03333333333333333,w:.15,h:.2},{x:.575,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.575,y:.03333333333333333,w:.15,h:.2},{x:.625,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.625,y:.03333333333333333,w:.15,h:.2},{x:.675,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.675,y:.03333333333333333,w:.15,h:.2},{x:.725,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.725,y:.03333333333333333,w:.15,h:.2},{x:.775,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.775,y:.03333333333333333,w:.15,h:.2},{x:.825,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.825,y:.03333333333333333,w:.15,h:.2},{x:.875,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.875,y:.03333333333333333,w:.15,h:.2},{x:.925,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.925,y:.03333333333333333,w:.15,h:.2},{x:.975,y:.03333333333333333,w:.1,h:.13333333333333333},{x:.975,y:.03333333333333333,w:.15,h:.2},{x:.025,y:.1,w:.1,h:.13333333333333333},{x:.025,y:.1,w:.15,h:.2},{x:.075,y:.1,w:.1,h:.13333333333333333},{x:.075,y:.1,w:.15,h:.2},{x:.125,y:.1,w:.1,h:.13333333333333333},{x:.125,y:.1,w:.15,h:.2},{x:.175,y:.1,w:.1,h:.13333333333333333},{x:.175,y:.1,w:.15,h:.2},{x:.225,y:.1,w:.1,h:.13333333333333333},{x:.225,y:.1,w:.15,h:.2},{x:.275,y:.1,w:.1,h:.13333333333333333},{x:.275,y:.1,w:.15,h:.2},{x:.325,y:.1,w:.1,h:.13333333333333333},{x:.325,y:.1,w:.15,h:.2},{x:.375,y:.1,w:.1,h:.13333333333333333},{x:.375,y:.1,w:.15,h:.2},{x:.425,y:.1,w:.1,h:.13333333333333333},{x:.425,y:.1,w:.15,h:.2},{x:.475,y:.1,w:.1,h:.13333333333333333},{x:.475,y:.1,w:.15,h:.2},{x:.525,y:.1,w:.1,h:.13333333333333333},{x:.525,y:.1,w:.15,h:.2},{x:.575,y:.1,w:.1,h:.13333333333333333},{x:.575,y:.1,w:.15,h:.2},{x:.625,y:.1,w:.1,h:.13333333333333333},{x:.625,y:.1,w:.15,h:.2},{x:.675,y:.1,w:.1,h:.13333333333333333},{x:.675,y:.1,w:.15,h:.2},{x:.725,y:.1,w:.1,h:.13333333333333333},{x:.725,y:.1,w:.15,h:.2},{x:.775,y:.1,w:.1,h:.13333333333333333},{x:.775,y:.1,w:.15,h:.2},{x:.825,y:.1,w:.1,h:.13333333333333333},{x:.825,y:.1,w:.15,h:.2},{x:.875,y:.1,w:.1,h:.13333333333333333},{x:.875,y:.1,w:.15,h:.2},{x:.925,y:.1,w:.1,h:.13333333333333333},{x:.925,y:.1,w:.15,h:.2},{x:.975,y:.1,w:.1,h:.13333333333333333},{x:.975,y:.1,w:.15,h:.2},{x:.025,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.025,y:.16666666666666666,w:.15,h:.2},{x:.075,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.075,y:.16666666666666666,w:.15,h:.2},{x:.125,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.125,y:.16666666666666666,w:.15,h:.2},{x:.175,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.175,y:.16666666666666666,w:.15,h:.2},{x:.225,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.225,y:.16666666666666666,w:.15,h:.2},{x:.275,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.275,y:.16666666666666666,w:.15,h:.2},{x:.325,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.325,y:.16666666666666666,w:.15,h:.2},{x:.375,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.375,y:.16666666666666666,w:.15,h:.2},{x:.425,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.425,y:.16666666666666666,w:.15,h:.2},{x:.475,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.475,y:.16666666666666666,w:.15,h:.2},{x:.525,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.525,y:.16666666666666666,w:.15,h:.2},{x:.575,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.575,y:.16666666666666666,w:.15,h:.2},{x:.625,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.625,y:.16666666666666666,w:.15,h:.2},{x:.675,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.675,y:.16666666666666666,w:.15,h:.2},{x:.725,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.725,y:.16666666666666666,w:.15,h:.2},{x:.775,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.775,y:.16666666666666666,w:.15,h:.2},{x:.825,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.825,y:.16666666666666666,w:.15,h:.2},{x:.875,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.875,y:.16666666666666666,w:.15,h:.2},{x:.925,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.925,y:.16666666666666666,w:.15,h:.2},{x:.975,y:.16666666666666666,w:.1,h:.13333333333333333},{x:.975,y:.16666666666666666,w:.15,h:.2},{x:.025,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.025,y:.23333333333333334,w:.15,h:.2},{x:.075,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.075,y:.23333333333333334,w:.15,h:.2},{x:.125,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.125,y:.23333333333333334,w:.15,h:.2},{x:.175,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.175,y:.23333333333333334,w:.15,h:.2},{x:.225,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.225,y:.23333333333333334,w:.15,h:.2},{x:.275,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.275,y:.23333333333333334,w:.15,h:.2},{x:.325,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.325,y:.23333333333333334,w:.15,h:.2},{x:.375,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.375,y:.23333333333333334,w:.15,h:.2},{x:.425,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.425,y:.23333333333333334,w:.15,h:.2},{x:.475,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.475,y:.23333333333333334,w:.15,h:.2},{x:.525,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.525,y:.23333333333333334,w:.15,h:.2},{x:.575,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.575,y:.23333333333333334,w:.15,h:.2},{x:.625,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.625,y:.23333333333333334,w:.15,h:.2},{x:.675,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.675,y:.23333333333333334,w:.15,h:.2},{x:.725,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.725,y:.23333333333333334,w:.15,h:.2},{x:.775,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.775,y:.23333333333333334,w:.15,h:.2},{x:.825,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.825,y:.23333333333333334,w:.15,h:.2},{x:.875,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.875,y:.23333333333333334,w:.15,h:.2},{x:.925,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.925,y:.23333333333333334,w:.15,h:.2},{x:.975,y:.23333333333333334,w:.1,h:.13333333333333333},{x:.975,y:.23333333333333334,w:.15,h:.2},{x:.025,y:.3,w:.1,h:.13333333333333333},{x:.025,y:.3,w:.15,h:.2},{x:.075,y:.3,w:.1,h:.13333333333333333},{x:.075,y:.3,w:.15,h:.2},{x:.125,y:.3,w:.1,h:.13333333333333333},{x:.125,y:.3,w:.15,h:.2},{x:.175,y:.3,w:.1,h:.13333333333333333},{x:.175,y:.3,w:.15,h:.2},{x:.225,y:.3,w:.1,h:.13333333333333333},{x:.225,y:.3,w:.15,h:.2},{x:.275,y:.3,w:.1,h:.13333333333333333},{x:.275,y:.3,w:.15,h:.2},{x:.325,y:.3,w:.1,h:.13333333333333333},{x:.325,y:.3,w:.15,h:.2},{x:.375,y:.3,w:.1,h:.13333333333333333},{x:.375,y:.3,w:.15,h:.2},{x:.425,y:.3,w:.1,h:.13333333333333333},{x:.425,y:.3,w:.15,h:.2},{x:.475,y:.3,w:.1,h:.13333333333333333},{x:.475,y:.3,w:.15,h:.2},{x:.525,y:.3,w:.1,h:.13333333333333333},{x:.525,y:.3,w:.15,h:.2},{x:.575,y:.3,w:.1,h:.13333333333333333},{x:.575,y:.3,w:.15,h:.2},{x:.625,y:.3,w:.1,h:.13333333333333333},{x:.625,y:.3,w:.15,h:.2},{x:.675,y:.3,w:.1,h:.13333333333333333},{x:.675,y:.3,w:.15,h:.2},{x:.725,y:.3,w:.1,h:.13333333333333333},{x:.725,y:.3,w:.15,h:.2},{x:.775,y:.3,w:.1,h:.13333333333333333},{x:.775,y:.3,w:.15,h:.2},{x:.825,y:.3,w:.1,h:.13333333333333333},{x:.825,y:.3,w:.15,h:.2},{x:.875,y:.3,w:.1,h:.13333333333333333},{x:.875,y:.3,w:.15,h:.2},{x:.925,y:.3,w:.1,h:.13333333333333333},{x:.925,y:.3,w:.15,h:.2},{x:.975,y:.3,w:.1,h:.13333333333333333},{x:.975,y:.3,w:.15,h:.2},{x:.025,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.025,y:.36666666666666664,w:.15,h:.2},{x:.075,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.075,y:.36666666666666664,w:.15,h:.2},{x:.125,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.125,y:.36666666666666664,w:.15,h:.2},{x:.175,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.175,y:.36666666666666664,w:.15,h:.2},{x:.225,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.225,y:.36666666666666664,w:.15,h:.2},{x:.275,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.275,y:.36666666666666664,w:.15,h:.2},{x:.325,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.325,y:.36666666666666664,w:.15,h:.2},{x:.375,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.375,y:.36666666666666664,w:.15,h:.2},{x:.425,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.425,y:.36666666666666664,w:.15,h:.2},{x:.475,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.475,y:.36666666666666664,w:.15,h:.2},{x:.525,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.525,y:.36666666666666664,w:.15,h:.2},{x:.575,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.575,y:.36666666666666664,w:.15,h:.2},{x:.625,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.625,y:.36666666666666664,w:.15,h:.2},{x:.675,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.675,y:.36666666666666664,w:.15,h:.2},{x:.725,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.725,y:.36666666666666664,w:.15,h:.2},{x:.775,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.775,y:.36666666666666664,w:.15,h:.2},{x:.825,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.825,y:.36666666666666664,w:.15,h:.2},{x:.875,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.875,y:.36666666666666664,w:.15,h:.2},{x:.925,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.925,y:.36666666666666664,w:.15,h:.2},{x:.975,y:.36666666666666664,w:.1,h:.13333333333333333},{x:.975,y:.36666666666666664,w:.15,h:.2},{x:.025,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.025,y:.43333333333333335,w:.15,h:.2},{x:.07
3215,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.075,y:.43333333333333335,w:.15,h:.2},{x:.125,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.125,y:.43333333333333335,w:.15,h:.2},{x:.175,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.175,y:.43333333333333335,w:.15,h:.2},{x:.225,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.225,y:.43333333333333335,w:.15,h:.2},{x:.275,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.275,y:.43333333333333335,w:.15,h:.2},{x:.325,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.325,y:.43333333333333335,w:.15,h:.2},{x:.375,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.375,y:.43333333333333335,w:.15,h:.2},{x:.425,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.425,y:.43333333333333335,w:.15,h:.2},{x:.475,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.475,y:.43333333333333335,w:.15,h:.2},{x:.525,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.525,y:.43333333333333335,w:.15,h:.2},{x:.575,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.575,y:.43333333333333335,w:.15,h:.2},{x:.625,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.625,y:.43333333333333335,w:.15,h:.2},{x:.675,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.675,y:.43333333333333335,w:.15,h:.2},{x:.725,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.725,y:.43333333333333335,w:.15,h:.2},{x:.775,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.775,y:.43333333333333335,w:.15,h:.2},{x:.825,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.825,y:.43333333333333335,w:.15,h:.2},{x:.875,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.875,y:.43333333333333335,w:.15,h:.2},{x:.925,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.925,y:.43333333333333335,w:.15,h:.2},{x:.975,y:.43333333333333335,w:.1,h:.13333333333333333},{x:.975,y:.43333333333333335,w:.15,h:.2},{x:.025,y:.5,w:.1,h:.13333333333333333},{x:.025,y:.5,w:.15,h:.2},{x:.075,y:.5,w:.1,h:.13333333333333333},{x:.075,y:.5,w:.15,h:.2},{x:.125,y:.5,w:.1,h:.13333333333333333},{x:.125,y:.5,w:.15,h:.2},{x:.175,y:.5,w:.1,h:.13333333333333333},{x:.175,y:.5,w:.15,h:.2},{x:.225,y:.5,w:.1,h:.13333333333333333},{x:.225,y:.5,w:.15,h:.2},{x:.275,y:.5,w:.1,h:.13333333333333333},{x:.275,y:.5,w:.15,h:.2},{x:.325,y:.5,w:.1,h:.13333333333333333},{x:.325,y:.5,w:.15,h:.2},{x:.375,y:.5,w:.1,h:.13333333333333333},{x:.375,y:.5,w:.15,h:.2},{x:.425,y:.5,w:.1,h:.13333333333333333},{x:.425,y:.5,w:.15,h:.2},{x:.475,y:.5,w:.1,h:.13333333333333333},{x:.475,y:.5,w:.15,h:.2},{x:.525,y:.5,w:.1,h:.13333333333333333},{x:.525,y:.5,w:.15,h:.2},{x:.575,y:.5,w:.1,h:.13333333333333333},{x:.575,y:.5,w:.15,h:.2},{x:.625,y:.5,w:.1,h:.13333333333333333},{x:.625,y:.5,w:.15,h:.2},{x:.675,y:.5,w:.1,h:.13333333333333333},{x:.675,y:.5,w:.15,h:.2},{x:.725,y:.5,w:.1,h:.13333333333333333},{x:.725,y:.5,w:.15,h:.2},{x:.775,y:.5,w:.1,h:.13333333333333333},{x:.775,y:.5,w:.15,h:.2},{x:.825,y:.5,w:.1,h:.13333333333333333},{x:.825,y:.5,w:.15,h:.2},{x:.875,y:.5,w:.1,h:.13333333333333333},{x:.875,y:.5,w:.15,h:.2},{x:.925,y:.5,w:.1,h:.13333333333333333},{x:.925,y:.5,w:.15,h:.2},{x:.975,y:.5,w:.1,h:.13333333333333333},{x:.975,y:.5,w:.15,h:.2},{x:.025,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.025,y:.5666666666666667,w:.15,h:.2},{x:.075,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.075,y:.5666666666666667,w:.15,h:.2},{x:.125,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.125,y:.5666666666666667,w:.15,h:.2},{x:.175,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.175,y:.5666666666666667,w:.15,h:.2},{x:.225,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.225,y:.5666666666666667,w:.15,h:.2},{x:.275,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.275,y:.5666666666666667,w:.15,h:.2},{x:.325,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.325,y:.5666666666666667,w:.15,h:.2},{x:.375,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.375,y:.5666666666666667,w:.15,h:.2},{x:.425,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.425,y:.5666666666666667,w:.15,h:.2},{x:.475,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.475,y:.5666666666666667,w:.15,h:.2},{x:.525,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.525,y:.5666666666666667,w:.15,h:.2},{x:.575,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.575,y:.5666666666666667,w:.15,h:.2},{x:.625,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.625,y:.5666666666666667,w:.15,h:.2},{x:.675,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.675,y:.5666666666666667,w:.15,h:.2},{x:.725,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.725,y:.5666666666666667,w:.15,h:.2},{x:.775,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.775,y:.5666666666666667,w:.15,h:.2},{x:.825,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.825,y:.5666666666666667,w:.15,h:.2},{x:.875,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.875,y:.5666666666666667,w:.15,h:.2},{x:.925,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.925,y:.5666666666666667,w:.15,h:.2},{x:.975,y:.5666666666666667,w:.1,h:.13333333333333333},{x:.975,y:.5666666666666667,w:.15,h:.2},{x:.025,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.025,y:.6333333333333333,w:.15,h:.2},{x:.075,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.075,y:.6333333333333333,w:.15,h:.2},{x:.125,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.125,y:.6333333333333333,w:.15,h:.2},{x:.175,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.175,y:.6333333333333333,w:.15,h:.2},{x:.225,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.225,y:.6333333333333333,w:.15,h:.2},{x:.275,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.275,y:.6333333333333333,w:.15,h:.2},{x:.325,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.325,y:.6333333333333333,w:.15,h:.2},{x:.375,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.375,y:.6333333333333333,w:.15,h:.2},{x:.425,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.425,y:.6333333333333333,w:.15,h:.2},{x:.475,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.475,y:.6333333333333333,w:.15,h:.2}
321,{x:.525,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.525,y:.6333333333333333,w:.15,h:.2},{x:.575,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.575,y:.6333333333333333,w:.15,h:.2},{x:.625,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.625,y:.6333333333333333,w:.15,h:.2},{x:.675,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.675,y:.6333333333333333,w:.15,h:.2},{x:.725,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.725,y:.6333333333333333,w:.15,h:.2},{x:.775,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.775,y:.6333333333333333,w:.15,h:.2},{x:.825,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.825,y:.6333333333333333,w:.15,h:.2},{x:.875,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.875,y:.6333333333333333,w:.15,h:.2},{x:.925,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.925,y:.6333333333333333,w:.15,h:.2},{x:.975,y:.6333333333333333,w:.1,h:.13333333333333333},{x:.975,y:.6333333333333333,w:.15,h:.2},{x:.025,y:.7,w:.1,h:.13333333333333333},{x:.025,y:.7,w:.15,h:.2},{x:.075,y:.7,w:.1,h:.13333333333333333},{x:.075,y:.7,w:.15,h:.2},{x:.125,y:.7,w:.1,h:.13333333333333333},{x:.125,y:.7,w:.15,h:.2},{x:.175,y:.7,w:.1,h:.13333333333333333},{x:.175,y:.7,w:.15,h:.2},{x:.225,y:.7,w:.1,h:.13333333333333333},{x:.225,y:.7,w:.15,h:.2},{x:.275,y:.7,w:.1,h:.13333333333333333},{x:.275,y:.7,w:.15,h:.2},{x:.325,y:.7,w:.1,h:.13333333333333333},{x:.325,y:.7,w:.15,h:.2},{x:.375,y:.7,w:.1,h:.13333333333333333},{x:.375,y:.7,w:.15,h:.2},{x:.425,y:.7,w:.1,h:.13333333333333333},{x:.425,y:.7,w:.15,h:.2},{x:.475,y:.7,w:.1,h:.13333333333333333},{x:.475,y:.7,w:.15,h:.2},{x:.525,y:.7,w:.1,h:.13333333333333333},{x:.525,y:.7,w:.15,h:.2},{x:.575,y:.7,w:.1,h:.13333333333333333},{x:.575,y:.7,w:.15,h:.2},{x:.625,y:.7,w:.1,h:.13333333333333333},{x:.625,y:.7,w:.15,h:.2},{x:.675,y:.7,w:.1,h:.13333333333333333},{x:.675,y:.7,w:.15,h:.2},{x:.725,y:.7,w:.1,h:.13333333333333333},{x:.725,y:.7,w:.15,h:.2},{x:.775,y:.7,w:.1,h:.13333333333333333},{x:.775,y:.7,w:.15,h:.2},{x:.825,y:.7,w:.1,h:.13333333333333333},{x:.825,y:.7,w:.15,h:.2},{x:.875,y:.7,w:.1,h:.13333333333333333},{x:.875,y:.7,w:.15,h:.2},{x:.925,y:.7,w:.1,h:.13333333333333333},{x:.925,y:.7,w:.15,h:.2},{x:.975,y:.7,w:.1,h:.13333333333333333},{x:.975,y:.7,w:.15,h:.2},{x:.025,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.025,y:.7666666666666667,w:.15,h:.2},{x:.075,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.075,y:.7666666666666667,w:.15,h:.2},{x:.125,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.125,y:.7666666666666667,w:.15,h:.2},{x:.175,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.175,y:.7666666666666667,w:.15,h:.2},{x:.225,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.225,y:.7666666666666667,w:.15,h:.2},{x:.275,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.275,y:.7666666666666667,w:.15,h:.2},{x:.325,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.325,y:.7666666666666667,w:.15,h:.2},{x:.375,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.375,y:.7666666666666667,w:.15,h:.2},{x:.425,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.425,y:.7666666666666667,w:.15,h:.2},{x:.475,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.475,y:.7666666666666667,w:.15,h:.2},{x:.525,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.525,y:.7666666666666667,w:.15,h:.2},{x:.575,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.575,y:.7666666666666667,w:.15,h:.2},{x:.625,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.625,y:.7666666666666667,w:.15,h:.2},{x:.675,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.675,y:.7666666666666667,w:.15,h:.2},{x:.725,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.725,y:.7666666666666667,w:.15,h:.2},{x:.775,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.775,y:.7666666666666667,w:.15,h:.2},{x:.825,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.825,y:.7666666666666667,w:.15,h:.2},{x:.875,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.875,y:.7666666666666667,w:.15,h:.2},{x:.925,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.925,y:.7666666666666667,w:.15,h:.2},{x:.975,y:.7666666666666667,w:.1,h:.13333333333333333},{x:.975,y:.7666666666666667,w:.15,h:.2},{x:.025,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.025,y:.8333333333333334,w:.15,h:.2},{x:.075,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.075,y:.8333333333333334,w:.15,h:.2},{x:.125,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.125,y:.8333333333333334,w:.15,h:.2},{x:.175,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.175,y:.8333333333333334,w:.15,h:.2},{x:.225,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.225,y:.8333333333333334,w:.15,h:.2},{x:.275,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.275,y:.8333333333333334,w:.15,h:.2},{x:.325,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.325,y:.8333333333333334,w:.15,h:.2},{x:.375,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.375,y:.8333333333333334,w:.15,h:.2},{x:.425,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.425,y:.8333333333333334,w:.15,h:.2},{x:.475,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.475,y:.8333333333333334,w:.15,h:.2},{x:.525,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.525,y:.8333333333333334,w:.15,h:.2},{x:.575,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.575,y:.8333333333333334,w:.15,h:.2},{x:.625,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.625,y:.8333333333333334,w:.15,h:.2},{x:.675,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.675,y:.8333333333333334,w:.15,h:.2},{x:.725,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.725,y:.8333333333333334,w:.15,h:.2},{x:.775,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.775,y:.8333333333333334,w:.15,h:.2},{x:.825,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.825,y:.8333333333333334,w:.15,h:.2},{x:.875,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.875,y:.8333333333333334,w:.15,h:.2},{x:.925,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.925,y:.8333333333333334,w:.15,h:.2},{x:.975,y:.8333333333333334,w:.1,h:.13333333333333333},{x:.975,y:.8333333333333334,w:.15,h:.2},{x:.025,y:.9,w:.1,h:.13333333333333333},{x:.025,y:.9,w:.15,h:.2},{x:.075,y:.9,w:.1,h:.13333333333333333},{x:.075,y:.9,w:.15,h:.2},{x:.125,y:.9,w:.1,h:.13333333333333333},{x:.125,y:.9,w:.15,h:.2},{x:.175,y:.9,w:.1,h:.13333333333333333},{x:.175,y:.9,w:.15,h:.2},{x:.225,y:.9,w:.1,h:.13333333333333333},{x:.225,y:.9,w:.15,h:.2},{x:.275,y:.9,w:.1,h:.13333333333333333},{x:.275,y:.9,w:.15,h:.2},{x:.325,y:.9,w:.1,h:.13333333333333333},{x:.325,y:.9,w:.15,h:.2},{x:.375,y:.9,w:.1,h:.13333333333333333},{x:.375,y:.9,w:.15,h:.2},{x:.425,y:.9,w:.1,h:.13333333333333333},{x:.425,y:.9,w:.15,h:.2},{x:.475,y:.9,w:.1,h:.13333333333333333},{x:.475,y:.9,w:.15,h:.2},{x:.525,y:.9,w:.1,h:.13333333333333333},{x:.525,y:.9,w:.15,h:.2},{x:.575,y:.9,w:.1,h:.13333333333333333},{x:.575,y:.9,w:.15,h:.2},{x:.625,y:.9,w:.1,h:.13333333333333333},{x:.625,y:.9,w:.15,h:.2},{x:.675,y:.9,w:.1,h:.13333333333333333},{x:.675,y:.9,w:.15,h:.2},{x:.725,y:.9,w:.1,h:.13333333333333333},{x:.725,y:.9,w:.15,h:.2},{x:.775,y:.9,w:.1,h:.13333333333333333},{x:.775,y:.9,w:.15,h:.2},{x:.825,y:.9,w:.1,h:.13333333333333333},{x:.825,y:.9,w:.15,h:.2},{x:.875,y:.9,w:.1,h:.13333333333333333},{x:.875,y:.9,w:.15,h:.2},{x:.925,y:.9,w:.1,h:.13333333333333333},{x:.925,y:.9,w:.15,h:.2},{x:.975,y:.9,w:.1,h:.13333333333333333},{x:.975,y:.9,w:.15,h:.2},{x:.025,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.025,y:.9666666666666667,w:.15,h:.2},{x:.075,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.075,y:.9666666666666667,w:.15,h:.2},{x:.125,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.125,y:.9666666666666667,w:.15,h:.2},{x:.175,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.175,y:.9666666666666667,w:.15,h:.2},{x:.225,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.225,y:.9666666666666667,w:.15,h:.2},{x:.275,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.275,y:.9666666666666667,w:.15,h:.2},{x:.325,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.325,y:.9666666666666667,w:.15,h:.2},{x:.375,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.375,y:.9666666666666667,w:.15,h:.2},{x:.425,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.425,y:.9666666666666667,w:.15,h:.2},{x:.475,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.475,y:.9666666666666667,w:.15,h:.2},{x:.525,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.525,y:.9666666666666667,w:.15,h:.2},{x:.575,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.575,y:.9666666666666667,w:.15,h:.2},{x:.625,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.625,y:.9666666666666667,w:.15,h:.2},{x:.675,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.675,y:.9666666666666667,w:.15,h:.2},{x:.725,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.725,y:.9666666666666667,w:.15,h:.2},{x:.775,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.775,y:.9666666666666667,w:.15,h:.2},{x:.825,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.825,y:.9666666666666667,w:.15,h:.2},{x:.875,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.875,y:.9666666666666667,w:.15,h:.2},{x:.925,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.925,y:.9666666666666667,w:.15,h:.2},{x:.975,y:.9666666666666667,w:.1,h:.13333333333333333},{x:.975,y:.9666666666666667,w:.15,h:.2},{x:.05,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.05,y:.06666666666666667,w:.3,h:.4},{x:.15,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.15,y:.06666666666666667,w:.3,h:.4},{x:.25,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.25,y:.06666666666666667,w:.3,h:.4},{x:.35,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.35,y:.06666666666666667,w:.3,h:.4},{x:.45,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.45,y:.06666666666666667,w:.3,h:.4},{x:.55,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.55,y:.06666666666666667,w:.3,h:.4},{x:.65,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.65,y:.06666666666666667,w:.3,h:.4},{x:.75,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.75,y:.06666666666666667,w:.3,h:.4},{x:.85,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.85,y:.06666666666666667,w:.3,h:.4},{x:.95,y:.06666666666666667,w:.2,h:.26666666666666666},{x:.95,y:.06666666666666667,w:.3,h:.4},{x:.05,y:.2,w:.2,h:.26666666666666666},{x:.05,y:.2,w:.3,h:.4},{x:.15,y:.2,w:.2,h:.26666666666666666},{x:.15,y:.2,w:.3,h:.4},{x:.25,y:.2,w:.2,h:.26666666666666666},{x:.25,y:.2,w:.3,h:.4},{x:.35,y:.2,w:.2,h:.26666666666666666},{x:.35,y:.2,w:.3,h:.4},{x:.45,y:.2,w:.2,h:.26666666666666666},{x:.45,y:.2,w:.3,h:.4},{x:.55,y:.2,w:.2,h:.26666666666666666},{x:.55,y:.2,w:.3,h:.4},{x:.65,y:.2,w:.2,h:.26666666666666666},{x:.65,y:.2,w:.3,h:.4},{x:.75,y:.2,w:.2,h:.26666666666666666},{x:.75,y:.2,w:.3,h:.4},{x:.85,y:.2,w:.2,h:.26666666666666666},{x:.85,y:.2,w:.3,h:.4},{x:.95,y:.2,w:.2,h:.26666666666666666},{x:.95,y:.2,w:.3,h:.4},{x:.05,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.05,y:.3333333333333333,w:.3,h:.4},{x:.15,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.15,y:.3333333333333333,w:.3,h:.4},{x:.25,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.25,y:.3333333333333333,w:.3,h:.4},{x:.35,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.35,y:.3333333333333333,w:.3,h:.4},{x:.45,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.45,y:.3333333333333333,w:.3,h:.4},{x:.55,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.55,y:.3333333333333333,w:.3,h:.4},{x:.65,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.65,y:.3333333333333333,w:.3,h:.4},{x:.75,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.75,y:.3333333333333333,w:.3,h:.4},{x:.85,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.85,y:.3333333333333333,w:.3,h:.4},{x:.95,y:.3333333333333333,w:.2,h:.26666666666666666},{x:.95,y:.3333333333333333,w:.3,h:.4},{x:.05,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.05,y:.4666666666666667,w:.3,h:.4},{x:.15,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.15,y:.4666666666666667,w:.3,h:.4},{x:.25,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.25,y:.4666666666666667,w:.3,h:.4},{x:.35,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.35,y:.4666666666666667,w:.3,h:.4},{x:.45,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.45,y:.4666666666666667,w:.3,h:.4},{x:.55,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.55,y:.4666666666666667,w:.3,h:.4},{x:.65,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.65,y:.4666666666666667,w:.3,h:.4},{x:.75,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.75,y:.4666666666666667,w:.3,h:.4},{x:.85,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.85,y:.4666666666666667,w:.3,h:.4},{x:.95,y:.4666666666666667,w:.2,h:.26666666666666666},{x:.95,y:.4666666666666667,w:.3,h:.4},{x:.05,y:.6,w:.2,h:.26666666666666666},{x:.05,y:.6,w:.3,h:.4},{x:.15,y:.6,w:.2,h:.26666666666666666},{x:.15,y:.6,w:.3,h:.4},{x:.25,y:.6,w:.2,h:.26666666666666666},{x:.25,y:.6,w:.3,h:.4}
321,{x:.35,y:.6,w:.2,h:.26666666666666666},{x:.35,y:.6,w:.3,h:.4},{x:.45,y:.6,w:.2,h:.26666666666666666},{x:.45,y:.6,w:.3,h:.4},{x:.55,y:.6,w:.2,h:.26666666666666666},{x:.55,y:.6,w:.3,h:.4},{x:.65,y:.6,w:.2,h:.26666666666666666},{x:.65,y:.6,w:.3,h:.4},{x:.75,y:.6,w:.2,h:.26666666666666666},{x:.75,y:.6,w:.3,h:.4},{x:.85,y:.6,w:.2,h:.26666666666666666},{x:.85,y:.6,w:.3,h:.4},{x:.95,y:.6,w:.2,h:.26666666666666666},{x:.95,y:.6,w:.3,h:.4},{x:.05,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.05,y:.7333333333333333,w:.3,h:.4},{x:.15,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.15,y:.7333333333333333,w:.3,h:.4},{x:.25,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.25,y:.7333333333333333,w:.3,h:.4},{x:.35,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.35,y:.7333333333333333,w:.3,h:.4},{x:.45,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.45,y:.7333333333333333,w:.3,h:.4},{x:.55,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.55,y:.7333333333333333,w:.3,h:.4},{x:.65,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.65,y:.7333333333333333,w:.3,h:.4},{x:.75,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.75,y:.7333333333333333,w:.3,h:.4},{x:.85,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.85,y:.7333333333333333,w:.3,h:.4},{x:.95,y:.7333333333333333,w:.2,h:.26666666666666666},{x:.95,y:.7333333333333333,w:.3,h:.4},{x:.05,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.05,y:.8666666666666667,w:.3,h:.4},{x:.15,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.15,y:.8666666666666667,w:.3,h:.4},{x:.25,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.25,y:.8666666666666667,w:.3,h:.4},{x:.35,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.35,y:.8666666666666667,w:.3,h:.4},{x:.45,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.45,y:.8666666666666667,w:.3,h:.4},{x:.55,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.55,y:.8666666666666667,w:.3,h:.4},{x:.65,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.65,y:.8666666666666667,w:.3,h:.4},{x:.75,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.75,y:.8666666666666667,w:.3,h:.4},{x:.85,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.85,y:.8666666666666667,w:.3,h:.4},{x:.95,y:.8666666666666667,w:.2,h:.26666666666666666},{x:.95,y:.8666666666666667,w:.3,h:.4},{x:.05,y:1,w:.2,h:.26666666666666666},{x:.05,y:1,w:.3,h:.4},{x:.15,y:1,w:.2,h:.26666666666666666},{x:.15,y:1,w:.3,h:.4},{x:.25,y:1,w:.2,h:.26666666666666666},{x:.25,y:1,w:.3,h:.4},{x:.35,y:1,w:.2,h:.26666666666666666},{x:.35,y:1,w:.3,h:.4},{x:.45,y:1,w:.2,h:.26666666666666666},{x:.45,y:1,w:.3,h:.4},{x:.55,y:1,w:.2,h:.26666666666666666},{x:.55,y:1,w:.3,h:.4},{x:.65,y:1,w:.2,h:.26666666666666666},{x:.65,y:1,w:.3,h:.4},{x:.75,y:1,w:.2,h:.26666666666666666},{x:.75,y:1,w:.3,h:.4},{x:.85,y:1,w:.2,h:.26666666666666666},{x:.85,y:1,w:.3,h:.4},{x:.95,y:1,w:.2,h:.26666666666666666},{x:.95,y:1,w:.3,h:.4},{x:.1,y:.13333333333333333,w:.4,h:.5333333333333333},{x:.1,y:.13333333333333333,w:.6,h:.8},{x:.1,y:.13333333333333333,w:.8,h:1},{x:.3,y:.13333333333333333,w:.4,h:.5333333333333333},{x:.3,y:.13333333333333333,w:.6,h:.8},{x:.3,y:.13333333333333333,w:.8,h:1},{x:.5,y:.13333333333333333,w:.4,h:.5333333333333333},{x:.5,y:.13333333333333333,w:.6,h:.8},{x:.5,y:.13333333333333333,w:.8,h:1},{x:.7,y:.13333333333333333,w:.4,h:.5333333333333333},{x:.7,y:.13333333333333333,w:.6,h:.8},{x:.7,y:.13333333333333333,w:.8,h:1},{x:.9,y:.13333333333333333,w:.4,h:.5333333333333333},{x:.9,y:.13333333333333333,w:.6,h:.8},{x:.9,y:.13333333333333333,w:.8,h:1},{x:.1,y:.4,w:.4,h:.5333333333333333},{x:.1,y:.4,w:.6,h:.8},{x:.1,y:.4,w:.8,h:1},{x:.3,y:.4,w:.4,h:.5333333333333333},{x:.3,y:.4,w:.6,h:.8},{x:.3,y:.4,w:.8,h:1},{x:.5,y:.4,w:.4,h:.5333333333333333},{x:.5,y:.4,w:.6,h:.8},{x:.5,y:.4,w:.8,h:1},{x:.7,y:.4,w:.4,h:.5333333333333333},{x:.7,y:.4,w:.6,h:.8},{x:.7,y:.4,w:.8,h:1},{x:.9,y:.4,w:.4,h:.5333333333333333},{x:.9,y:.4,w:.6,h:.8},{x:.9,y:.4,w:.8,h:1},{x:.1,y:.6666666666666666,w:.4,h:.5333333333333333},{x:.1,y:.6666666666666666,w:.6,h:.8},{x:.1,y:.6666666666666666,w:.8,h:1},{x:.3,y:.6666666666666666,w:.4,h:.5333333333333333},{x:.3,y:.6666666666666666,w:.6,h:.8},{x:.3,y:.6666666666666666,w:.8,h:1},{x:.5,y:.6666666666666666,w:.4,h:.5333333333333333},{x:.5,y:.6666666666666666,w:.6,h:.8},{x:.5,y:.6666666666666666,w:.8,h:1}
321,{x:.7,y:.6666666666666666,w:.4,h:.5333333333333333},{x:.7,y:.6666666666666666,w:.6,h:.8},{x:.7,y:.6666666666666666,w:.8,h:1},{x:.9,y:.6666666666666666,w:.4,h:.5333333333333333},{x:.9,y:.6666666666666666,w:.6,h:.8},{x:.9,y:.6666666666666666,w:.8,h:1},{x:.1,y:.9333333333333333,w:.4,h:.5333333333333333},{x:.1,y:.9333333333333333,w:.6,h:.8},{x:.1,y:.9333333333333333,w:.8,h:1},{x:.3,y:.9333333333333333,w:.4,h:.5333333333333333},{x:.3,y:.9333333333333333,w:.6,h:.8},{x:.3,y:.9333333333333333,w:.8,h:1},{x:.5,y:.9333333333333333,w:.4,h:.5333333333333333},{x:.5,y:.9333333333333333,w:.6,h:.8},{x:.5,y:.9333333333333333,w:.8,h:1},{x:.7,y:.9333333333333333,w:.4,h:.5333333333333333},{x:.7,y:.9333333333333333,w:.6,h:.8},{x:.7,y:.9333333333333333,w:.8,h:1},{x:.9,y:.9333333333333333,w:.4,h:.5333333333333333},{x:.9,y:.9333333333333333,w:.6,h:.8},{x:.9,y:.9333333333333333,w:.8,h:1}];function t1(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function t0(t){return(t0="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function t3(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=t0(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=t0(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==t0(r)?r:r+""}(i.key),i)}}var t6=(r0=function t(r){var n,i;!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.isFinished=!0,this.startValue=r.startValue,this.currentValue=r.startValue,this.currentStep=0,this.endValue=null!=(n=r.endValue)?n:r.startValue,this.smoothPower=null!=(i=r.smoothPower)?i:1,this.smoothFunction=function(t){switch(r.smoothFunctionType){case"ease-out-sine":return Math.sin(t*Math.PI/2);case"ease-out-quint":return 1-Math.pow(1-t,5);default:return t}}},r3=[{key:"isEnded",value:function(t){var r,n=Math.max(0,Math.min(1,null!=(r=null==t?void 0:t.percentage)?r:1));return(null==t?void 0:t.isreverse)&&(n=1-n),(null==t?void 0:t.isreverse)?this.currentStep<=this.smoothPower*n:this.currentStep>=this.smoothPower*n}},{key:"getCurrentValue",value:function(){return this.currentValue}},{key:"getEndValue",value:function(){return this.endValue}},{key:"setCurrentStep",value:function(t){this.currentStep=t}},{key:"checkEndValueChange",value:function(t){t!==this.endValue&&(this.startValue=this.currentValue,this.endValue=t,this.currentStep=1)}},{key:"useAnimationPart",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=Math.min(1,Math.max(0,t));var n=Math.max(1,Math.round(this.smoothPower*t));r?this.currentStep<n&&(this.currentStep=n):this.currentStep>n&&(this.currentStep=n)}},{key:"useSmooth",value:function(t){if(this.startValue===this.endValue)return this.currentValue;var r,n=(null==t?void 0:t.isReverse)?-1:1,i=this.currentStep/this.smoothPower,o=this.smoothFunction(i);return this.currentValue=this.startValue+(this.endValue-this.startValue)*o,this.smoothPower=null!=(r=null==t?void 0:t.newSmoothPower)?r:this.smoothPower,this.isFinished=this.currentStep===((null==t?void 0:t.isReverse)?0:this.smoothPower),this.currentStep=Math.max(0,Math.min(this.smoothPower,this.currentStep+n)),this.currentValue}}],t3(r0.prototype,r3),r6&&t3(r0,r6),Object.defineProperty(r0,"prototype",{writable:!1}),r0);function t5(t){return(t5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function t9(){t9=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 321
321(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==t5(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(t5(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
321if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function t2(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function t7(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){t2(a,i,o,s,u,"next",t)}function u(t){t2(a,i,o,s,u,"throw",t)}s(void 0)})}}function t8(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=t5(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=t5(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==t5(r)?r:r+""}(i.key),i)}}function t4(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(t4=function(){return!!t})()}function re(t,r,n,i){var o=rt(rr(1&i?t.prototype:t),r,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function rt(){return(rt="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=rr(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function rr(t){return(rr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rn(t,r){return(rn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var ri=["x1","x2","y1","y2"],ro=function(t){var r,n,i,o,a;function u(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,u),(n=u,i=[t],n=rr(n),r=function(t,r){if(r&&("object"==t5(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,t4()?Reflect.construct(n,i||[],rr(this).constructor):n.apply(this,i))).name=nM.SMART_ZOOM,r.priority=3,r.requireNextFrame=!0,r.requireSyncDraw=!0,r.faceCoord={},r.inWork=!1,r.pixels=[],r.config=Object.assign({},tX),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rn(t,r)}(u,t),r=[{key:"init",value:(a=t7(t9().mark(function t(r){return t9().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.modelConfig||(this.modelConfig={modelPath:w.y.getModelUrl(w.y.MODELS.facedetector),backend:"wasm",nchw:!1}),t.next=3,re(u,"init",this,3)([r]);case 3:case"end":return t.stop()}},t,this)})),function(t){return a.apply(this,arguments)})},{key:"nextFrame",value:function(t){this.enabled&&(this.pixels.length>1||(this.modelTexture=this.resources.texturePool.get(this.config.modelWidth,this.config.modelHeight),t.sprite.width=this.config.modelWidth,t.sprite.height=this.config.modelHeight,this.resources.renderer.renderTo(t.sprite,this.modelTexture),t.sprite.width=this.sdkOptions.width,t.sprite.height=this.sdkOptions.height,this.pixels.push(this.resources.renderer.pixelsAsync(this.modelTexture,{pool:this.resources.bufferPool,texturePool:this.resources.texturePool}))))}},{key:"prepare",value:function(){var t=this,r=this.config.smoothPower;this.scaleValue=1,this.xOffset=0,this.yOffset=0;var n=this.defaultFaceCoord(),i={};ri.forEach(function(o){t.faceCoord[o]=new t6({startValue:n[o],smoothPower:r}),i[o]=t.faceCoord[o].getCurrentValue()}),this.currentFace=new tJ(i)}},{key:"process",value:(o=t7(t9().mark(function t(r){var n,i=arguments;return t9().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:this.fps=i[1]||1,this.updateWaiter(),this.findFaces(),this.setCurrentFace(),this.calcScale(),this.calcOffset(),n=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),r.sprite.setTransform(this.xOffset,this.yOffset,this.scaleValue,this.scaleValue),this.resources.renderer.renderTo(r.sprite,n),r.sprite.setTransform(0,0,1,1),this.resources.texturePool.put(r.update(n));case 13:case"end":return t.stop()}},t,this)})),function(t){return o.apply(this,arguments)})},{key:"getFaces",value:function(){return this.enabled?this.faces:[]}},{key:"setCurrentFace",value:function(){var t,r=this;(null==(t=this.faces)?void 0:t.length)?this.checkCurrentFace():this.noFaceWay();var n={};
321ri.forEach(function(t){r.faceCoord[t].useSmooth({newSmoothPower:r.config.smoothPower}),n[t]=r.faceCoord[t].getCurrentValue()}),this.currentFace=new tJ(n),this.config.isFaceSquareDrawingEnabled,this.config.isPreFaceSquareDrawingEnabled}},{key:"checkCurrentFace",value:function(){var t=this;this.updateWaiter(!0);var r=this.faces.reduce(function(t,r){return r.getSquare()>t.getSquare()&&(t=r),t},this.faces[0]),n=this.config.sensitivityValue/this.scaleValue;if(!r.isEqual(this.currentFace,n,this.sdkOptions.height,this.sdkOptions.width)){var i=r.getCoord();ri.forEach(function(r){t.faceCoord[r].checkEndValueChange(i[r])})}}},{key:"noFaceWay",value:function(){var t=this;if(this.waiter.value>0)return this.waiter.value--,void this.updateWaiter(!1);var r=this.defaultFaceCoord();ri.forEach(function(n){t.faceCoord[n].checkEndValueChange(r[n])}),this.updateWaiter(!0)}},{key:"calcScale",value:function(){var t=this.sdkOptions.height*this.sdkOptions.width,r=this.currentFace.getSquare()/t,n=this.config.faceAreaProportion/r;this.scaleValue=Math.sqrt(Math.max(n,1))}},{key:"calcOffset",value:function(){var t=this,r=this.currentFace.getCenter(),n={x:{faceCenter:r.x,newOffset:0,base:this.sdkOptions.width},y:{faceCenter:r.y,newOffset:0,base:this.sdkOptions.height}};Object.values(n).forEach(function(r){var n=(t.scaleValue-1)/2*r.base,i=Math.max((r.base/2-r.faceCenter)*t.scaleValue-n,-((t.scaleValue-1)*r.base));r.newOffset=Math.min(0,i)}),this.xOffset=n.x.newOffset,this.yOffset=n.y.newOffset}},{key:"defaultFaceCoord",value:function(){var t=this.sdkOptions.width/2,r=this.sdkOptions.height/2,n=t*Math.sqrt(this.config.faceAreaProportion),i=r*Math.sqrt(this.config.faceAreaProportion);return{x1:t-n,x2:t+n,y1:r-i,y2:r+i}}},{key:"updateWaiter",value:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]||!this.waiter?this.waiter={value:this.fps*this.config.waiterSeconds,fps:this.fps}:(this.waiter.value=this.waiter.value/this.waiter.fps*this.fps,this.waiter.fps=this.fps)}},{key:"findFaces",value:(i=t7(t9().mark(function t(){var r,n,i,o,a,u,l,h,c=this;return t9().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.inWork){t.next=2;break}return t.abrupt("return");case 2:if(this.checkTimer()){t.next=4;break}return t.abrupt("return");case 4:if(this.pixels.length){t.next=6;break}return t.abrupt("return");case 6:return this.inWork=!0,n=(r=this.config).faceDetectorAccuracy,i=r.modelHeight,o=r.modelWidth,t.next=10,this.pixels.shift();case 10:return a=t.sent,u=this.resources.bufferPool.getBuffer("f32",3*o*i),function(t,r,n,i){for(var o=n*r,a=2*n*r,s=0;s<i.length/3;s++)i[0+s]=t[4*s]/127.5-1,i[o+s]=t[4*s+1]/127.5-1,i[a+s]=t[4*s+2]/127.5-1}(a,o,i,u),this.resources.bufferPool.returnBuffer(a),l={scores:{data:this.resources.bufferPool.getBuffer("f32",8840),dims:[1,4420,2]},boxes:{data:this.resources.bufferPool.getBuffer("f32",17680),dims:[1,4420,4]}},t.next=17,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 17:if(h=t.sent){t.next=20;break}return t.abrupt("return");case 20:return t.abrupt("return",this.inference.run(h,u,o,i,3,l).then(function(t){c.resources.bufferPool.returnBuffer(t.inputBack.data),c.faces=function(t){for(var r=t.tensor,n=t.faceDetectorAccuracy,i=void 0===n?.85:n,o=t.outputHeight,a=void 0===o?240:o,s=t.outputWidth,u=void 0===s?320:s,l=[],h=r.boxes.data,c=r.scores.data,f=0;f<4420;f++)if(!(c[2*f+1]<=i)){var d=.1*h[4*f+0]*tQ[f].w+tQ[f].x,p=.1*h[4*f+1]*tQ[f].h+tQ[f].y,y=Math.exp(.2*h[4*f+2])*tQ[f].w,m=Math.exp(.2*h[4*f+3])*tQ[f].h,g={x1:(d-y/2)*u,y1:(p-m/2)*a,x2:(d+y/2)*u,y2:(p+m/2)*a};if(l.length){var v,b=!1,w=function(t){var r="u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t){if(t){if("string"==typeof t)return t1(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t1(t,void 0):void 0}}(t))){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
322In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(l);try{for(w.s();!(v=w.n()).done;)if(v.value.checkSame(g)){b=!0;break}}catch(t){w.e(t)}finally{w.f()}b||l.push(new tJ(g))}else l.push(new tJ(g))}return l}({tensor:t,faceDetectorAccuracy:n,outputHeight:c.sdkOptions.height,outputWidth:c.sdkOptions.width}),c.resources.bufferPool.returnBuffer(t.boxes.data),c.resources.bufferPool.returnBuffer(t.scores.data)}).catch(function(t){var r;s.bv.notify({message:null!=(r=t.message)?r:t,type:s.By.ERROR,code:s.O4.INFERENCE_RUN_ISSUE,emitter:s.JK.EFFECT_SMART_ZOOM,cause:t})}).finally(function(){c.inWork=!1}));case 21:case"end":return t.stop()}},t,this)})),function(){return i.apply(this,arguments)})},{key:"enable",value:function(){re(u,"enable",this,3)([])}},{key:"disable",value:function(){this.enabled&&(re(u,"disable",this,3)([]),this.scaleValue=1,this.xOffset=0,this.yOffset=0,this.faces=[],this.clearBuffers(),this.setCurrentFace())}},{key:"clearBuffers",value:function(){this.pixels=[]}},{key:"setConfig",value:function(t,r){this.config[t]=r}},{key:"checkTimer",value:function(){return this.faceDetectorTimer?(performance.now()-this.faceDetectorTimer<this.config.faceDetectorPediod_ms||(this.faceDetectorTimer=0),!1):(this.faceDetectorTimer=performance.now(),!0)}},{key:"destroy",value:function(){this.inference.sessionManager.releaseSession(this.modelConfig.modelPath)}}],t8(u.prototype,r),n&&t8(u,n),Object.defineProperty(u,"prototype",{writable:!1}),u}(f),ra=n(8699);function rs(t){return(rs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ru(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=rs(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=rs(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
322(t,"string");return"symbol"==rs(r)?r:r+""}(i.key),i)}}function rl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(rl=function(){return!!t})()}function rh(t){return(rh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rc(t,r){return(rc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}(r5=r9||(r9={})).prod="prod",r5.boxBilateral="box_bilateral";var rf=function(t){var r,n;function i(t){var r,n,o,a,s;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),a=i,s=[void 0,(n=t.blurType===r9.boxBilateral?`precision mediump float;
323varying vec2 vTextureCoord;
324uniform sampler2D uSampler;
325uniform sampler2D uOrigin;
326
327uniform float uBeautyficationLevel;
328uniform float uStepSize;
329
330#define KERNEL_RAD 4
331#define HIGHPASS_ENABLED 0//%%highpassEnabled%%
332
333vec4 overlay(vec4 a, vec4 b) {
334  vec4 x = vec4(2.0) * a * b;
335  vec4 y = vec4(1.0) - vec4(2.0) * (vec4(1.0) - a) * (vec4(1.0) - b);
336  vec4 result;
337  result.r = mix(x.r, y.r, float(a.r > 0.5));
338  result.g = mix(x.g, y.g, float(a.g > 0.5));
339  result.b = mix(x.b, y.b, float(a.b > 0.5));
340  result.a = mix(x.a, y.a, float(a.a > 0.5));
341  return result;
342}
343
344vec3 rgb2xyz(vec3 c) {
345  vec3 tmp;
346  tmp.x = c.r > 0.04045 ? pow((c.r + 0.055) / 1.055, 2.4) : c.r / 12.92;
347  tmp.y = c.g > 0.04045 ? pow((c.g + 0.055) / 1.055, 2.4) : c.g / 12.92,
348  tmp.z = c.b > 0.04045 ? pow((c.b + 0.055) / 1.055, 2.4) : c.b / 12.92;
349  return 100.0 *
350  tmp *
351  mat3(0.4124, 0.3576, 0.1805, 0.2126, 0.7152, 0.0722, 0.0193, 0.1192, 0.9505);
352}
353
354vec3 xyz2lab(vec3 c) {
355  vec3 n = c / vec3(95.047, 100, 108.883);
356  vec3 v;
357  v.x = n.x > 0.008856 ? pow(n.x, 1.0 / 3.0) : 7.787 * n.x + 16.0 / 116.0;
358  v.y = n.y > 0.008856 ? pow(n.y, 1.0 / 3.0) : 7.787 * n.y + 16.0 / 116.0;
359  v.z = n.z > 0.008856 ? pow(n.z, 1.0 / 3.0) : 7.787 * n.z + 16.0 / 116.0;
360  return vec3(116.0 * v.y - 16.0, 500.0 * (v.x - v.y), 200.0 * (v.y - v.z));
361}
362
363vec3 rgb2lab(vec3 c) {
364  vec3 lab = xyz2lab(rgb2xyz(c));
365  return vec3(
366    lab.x / 100.0,
367    0.5 + 0.5 * (lab.y / 127.0),
368    0.5 + 0.5 * (lab.z / 127.0)
369  );
370}
371
372bool skin_mask(vec4 color) {
373  vec3 lab = rgb2lab(color.rgb);
374  return lab.g >= uBeautyficationLevel + 0.05 &&
375  lab.b >= uBeautyficationLevel + 0.04 &&
376  lab.r <= 0.98 &&
377  length(lab.gb) <= 0.9;
378}
379
380vec4 readOrig(vec2 uv) 
381{
382  return texture2D(uOrigin, uv);
383}
384
385vec4 readTex(vec2 uv)
386{
387  return texture2D(uSampler, uv);
388}
389
390float getLength(vec4 vec)
391{
392    return sqrt(dot(vec, vec));
393}
394
395float getDistance(vec4 a, vec4 b)
396{
397    return getLength(a - b);
398}
399
400float getDistanceWeight(vec4 a, vec4 b)
401{
402    return 1.0 - min(getDistance(a, b) * 5.248639, 1.0);
403}
404
405int abs(int i) 
406{
407  return (i<0)? -i : i;
408}
409
410vec4 blurPass(vec2 uv)
411{    
412  float bilateralWeights[KERNEL_RAD + 1];
413  bilateralWeights[0] = 0.18;
414  bilateralWeights[1] = 0.15;
415  bilateralWeights[2] = 0.12;
416  bilateralWeights[3] = 0.09; 
417  bilateralWeights[4] = 0.05;
418
419  vec4 origPixel = readTex(uv);
420  vec4 sum = origPixel * bilateralWeights[0]; 
421  float weightSum = bilateralWeights[0];
422
423  for (int i = 1; i <= KERNEL_RAD; i++) {
424    vec4 pixel = readTex(uv - vec2(0.0, (float(i) * uStepSize)));
425    float weight = bilateralWeights[i];
426    float sampleWeight = (weight * getDistanceWeight(origPixel, pixel));
427    weightSum = (weightSum + sampleWeight);
428    sum = (sum + (pixel * sampleWeight));
429  }
430  
431  for (int i = 1; i <= KERNEL_RAD; i++) {
432    vec4 pixel = readTex(uv + vec2(0.0, (float(i) * uStepSize)));
433    float weight = bilateralWeights[i];
434    float sampleWeight = (weight * getDistanceWeight(origPixel, pixel));
435    weightSum = (weightSum + sampleWeight);
436    sum = (sum + (pixel * sampleWeight));
437  }
438  
439  if ((weightSum < 0.4)) {
440      return origPixel;
441  } else {
442      if ((weightSum < 0.5)) {
443          return mix (origPixel, (sum / weightSum), ((weightSum - 0.4) / 0.1));
444      } else {
445          return (sum / weightSum);
446      };
447  };
448}
449
450void main() {
451  vec4 origin = readOrig(vTextureCoord);
452  float a = origin.a;
453
454  if (a < 0.9 || (uBeautyficationLevel < 0.95 && !skin_mask(origin))) {
455    gl_FragColor = origin;
456    return;
457  }
458
459  vec4 blurred = blurPass(vTextureCoord);
460
461#if HIGHPASS_ENABLED
462    vec4 highpass =
463      vec4(
464        origin.r - blurred.r,
465        origin.g - blurred.g,
466        origin.b - blurred.b,
467        1
468      ) +
469      vec4(0.5, 0.5, 0.5, 0);
470    vec4 highpass_inverted = vec4(
471      1.0 - highpass.r,
472      1.0 - highpass.g,
473      1.0 - highpass.b,
474      1
475    );
476    gl_FragColor = overlay(origin, highpass_inverted);
477#else 
478    gl_FragColor = blurred;
479#endif
480}
481`:`varying vec2 vTextureCoord;
482uniform sampler2D uSampler;
483
484#define SIGMA (10.0)
485#define BSIGMA (0.1)
486#define MSIZE (15)
487
488float kernel[MSIZE];
489
490uniform float uBeautyficationLevel;
491uniform int uWidth;
492uniform int uHeight;
493
494float normpdf(float x, float sigma) {
495  return 0.39894 * exp(-0.5 * x * x / (sigma * sigma)) / sigma;
496}
497
498float normpdf3(vec3 v, float sigma) {
499  return 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;
500}
501
502vec4 overlay(vec4 a, vec4 b) {
503  vec4 x = vec4(2.0) * a * b;
504  vec4 y = vec4(1.0) - vec4(2.0) * (vec4(1.0) - a) * (vec4(1.0) - b);
505  vec4 result;
506  result.r = mix(x.r, y.r, float(a.r > 0.5));
507  result.g = mix(x.g, y.g, float(a.g > 0.5));
508  result.b = mix(x.b, y.b, float(a.b > 0.5));
509  result.a = mix(x.a, y.a, float(a.a > 0.5));
510  return result;
511}
512
513vec3 rgb2xyz(vec3 c) {
514  vec3 tmp;
515  tmp.x = c.r > 0.04045 ? pow((c.r + 0.055) / 1.055, 2.4) : c.r / 12.92;
516  tmp.y = c.g > 0.04045 ? pow((c.g + 0.055) / 1.055, 2.4) : c.g / 12.92,
517    tmp.z = c.b > 0.04045 ? pow((c.b + 0.055) / 1.055, 2.4) : c.b / 12.92;
518  return 100.0 *
519  tmp *
520  mat3(0.4124, 0.3576, 0.1805, 0.2126, 0.7152, 0.0722, 0.0193, 0.1192, 0.9505);
521}
522
523vec3 xyz2lab(vec3 c) {
524  vec3 n = c / vec3(95.047, 100, 108.883);
525  vec3 v;
526  v.x = n.x > 0.008856 ? pow(n.x, 1.0 / 3.0) : 7.787 * n.x + 16.0 / 116.0;
527  v.y = n.y > 0.008856 ? pow(n.y, 1.0 / 3.0) : 7.787 * n.y + 16.0 / 116.0;
528  v.z = n.z > 0.008856 ? pow(n.z, 1.0 / 3.0) : 7.787 * n.z + 16.0 / 116.0;
529  return vec3(116.0 * v.y - 16.0, 500.0 * (v.x - v.y), 200.0 * (v.y - v.z));
530}
531
532vec3 rgb2lab(vec3 c) {
533  vec3 lab = xyz2lab(rgb2xyz(c));
534  return vec3(
535    lab.x / 100.0,
536    0.5 + 0.5 * (lab.y / 127.0),
537    0.5 + 0.5 * (lab.z / 127.0)
538  );
539}
540
541bool skin_mask(vec4 color) {
542  vec3 lab = rgb2lab(color.rgb);
543  return lab.g >= uBeautyficationLevel + 0.05 &&
544  lab.b >= uBeautyficationLevel + 0.04 &&
545  lab.r <= 0.98 &&
546  length(lab.gb) <= 0.9;
547}
548
549void main() {
550  vec2 iResolution = vec2(float(uWidth), float(uHeight));
551  vec3 c = texture2D(uSampler, vTextureCoord).rgb;
552  float a = texture2D(uSampler, vTextureCoord).a;
553
554  if (a > 0.9 && (uBeautyficationLevel > 0.95 || skin_mask(texture2D(uSampler, vTextureCoord)))) {
555    const int kSize = (MSIZE - 1) / 2;
556    vec3 final_colour = vec3(0.0);
557    float Z = 0.0;
558
559    kernel[0] = kernel[14] = 0.031225216;
560    kernel[1] = kernel[13] = 0.033322271;
561    kernel[2] = kernel[12] = 0.035206333;
562    kernel[3] = kernel[11] = 0.036826804;
563    kernel[4] = kernel[10] = 0.038138565;
564    kernel[5] = kernel[9] = 0.039104044;
565    kernel[6] = kernel[8] = 0.039695028;
566    kernel[7] = 0.039894;
567    float bZ = 0.2506642602897679;
568
569    //create the 1-D kernel
570
571    //   for (int j = 0; j <= kSize; ++j)
572    //   {
573    //     kernel[kSize+j] = kernel[kSize-j] = normpdf(float(j), SIGMA);
574    //   }
575
576    vec3 cc;
577    float factor;
578    //float bZ = 1.0/normpdf(0.0, BSIGMA);
579    //read out the texels
580    for (int i = -kSize; i <= kSize; ++i) {
581      for (int j = -kSize; j <= kSize; ++j) {
582        cc = texture2D(
583          uSampler,
584          vTextureCoord.xy + vec2(float(i), float(j)) / iResolution.xy
585        ).rgb;
586        factor =
587          normpdf3(cc - c, BSIGMA) * bZ * kernel[kSize + j] * kernel[kSize + i];
588        Z += factor;
589        final_colour += factor * cc;
590      }
591    }
592
593    //fragColor = vec4(final_colour / Z, 1.0);
594
595    vec4 origin = texture2D(uSampler, vTextureCoord);
596    vec4 blurred = vec4(final_colour / Z, 1.0);
597    vec4 highpass =
598      vec4(
599        origin.r - blurred.r,
600        origin.g - blurred.g,
601        origin.b - blurred.b,
602        1
603      ) +
604      vec4(0.5, 0.5, 0.5, 0);
605    vec4 highpass_inverted = vec4(
606      1.0 - highpass.r,
607      1.0 - highpass.g,
608      1.0 - highpass.b,
609      1
610    );
611    gl_FragColor = overlay(origin, highpass_inverted);
612
613  } else {
614    gl_FragColor = vec4(c, a);
615
616  }
617}
618`,o=t.sigma||.3*(t.radius-1)+.8,n.replaceAll("0//%%kernelRad%%",t.radius.toString()).replaceAll("0//%%highpassEnabled%%",t.highpassEnabled?"1":"0").replaceAll("10.0//%%sigma%%","float("+o.toString()+")")),{uBeautificationLevel:t.uBeautificationLevel,uWidth:t.uWidth,uHeight:t.uHeight}],a=rh(a),r=function(t,r){if(r&&("object"==rs(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,rl()?Reflect.construct(a,s||[],rh(this).constructor):a.apply(this,s)),t.blurType===r9.boxBilateral&&(r.hPassFilter=new d.Filter(void 0,`precision mediump float;
619varying vec2 vTextureCoord;
620uniform sampler2D uSampler;
621
622uniform float uStepSize;
623
624#define KERNEL_RAD 4
625
626vec4 readTex(vec2 uv)
627{
628  return texture2D(uSampler, uv);
629}
630
631float getLength(vec4 vec)
632{
633    return sqrt(dot(vec, vec));
634}
635
636float getDistance(vec4 a, vec4 b)
637{
638    return getLength(a - b);
639}
640
641float getDistanceWeight(vec4 a, vec4 b)
642{
643    return 1.0 - min(getDistance(a, b) * 5.248639, 1.0);
644}
645
646vec4 blurPass(vec2 uv)
647{    
648  float bilateralWeights[KERNEL_RAD + 1];
649  bilateralWeights[0] = 0.18;
650  bilateralWeights[1] = 0.15;
651  bilateralWeights[2] = 0.12;
652  bilateralWeights[3] = 0.09; 
653  bilateralWeights[4] = 0.05;
654
655  vec4 origPixel = readTex(uv);
656  vec4 sum = origPixel * bilateralWeights[0]; 
657  float weightSum = bilateralWeights[0];
658
659  for (int i = 1; i <= KERNEL_RAD; i++) {
660    vec4 pixel = readTex(uv - vec2((float(i) * uStepSize), 0.0));
661    float weight = bilateralWeights[i];
662    float sampleWeight = (weight * getDistanceWeight(origPixel, pixel));
663    weightSum = (weightSum + sampleWeight);
664    sum = (sum + (pixel * sampleWeight));
665  }
666  
667  for (int i = 1; i <= KERNEL_RAD; i++) {
668    vec4 pixel = readTex(uv + vec2((float(i) * uStepSize), 0.0));
669    float weight = bilateralWeights[i];
670    float sampleWeight = (weight * getDistanceWeight(origPixel, pixel));
671    weightSum = (weightSum + sampleWeight);
672    sum = (sum + (pixel * sampleWeight));
673  }
674  
675  if ((weightSum < 0.4)) {
676      return origPixel;
677  } else {
678      if ((weightSum < 0.5)) {
679          return mix (origPixel, (sum / weightSum), ((weightSum - 0.4) / 0.1));
680      } else {
681          return (sum / weightSum);
682      };
683  };
684}
685
686void main() {
687  gl_FragColor = blurPass(vTextureCoord);
688}
689`)),r.blurType=t.blurType,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rc(t,r)}(i,t),r=[{key:"setBeautificationLevel",value:function(t){this.uniforms.uBeautyficationLevel=t}},{key:"apply",value:function(t,r,n,i){if(this.blurType!==r9.prod){var o=t.getFilterTexture();this.hPassFilter.uniforms.uStepSize=1.5/r._frame.width,t.applyFilter(this.hPassFilter,r,o,d.CLEAR_MODES.NO),this.uniforms.uStepSize=1.5/r._frame.height,this.uniforms.uOrigin=r,t.applyFilter(this,o,n,i),t.returnFilterTexture(o)}else t.applyFilter(this,r,n,i)}}],ru(i.prototype,r),n&&ru(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function rd(t){return(rd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rp(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=rd(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=rd(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
689(t,"string");return"symbol"==rd(r)?r:r+""}(i.key),i)}}function ry(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(ry=function(){return!!t})()}function rm(t){return(rm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rg(t,r){return(rg=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var rv=function(t){var r,n;function i(t,r,n){var o,a,s;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(a=i,s=[`attribute vec2 aVertexPosition;
690
691uniform mat3 projectionMatrix;
692
693varying vec2 vTextureCoord;
694varying vec2 vOriginCoord;
695varying vec2 vOutputFrame;
696varying vec2 vInputSize;
697
698uniform vec4 inputSize;
699uniform vec4 outputFrame;
700uniform mat3 uTransformMatrix;
701
702vec4 filterVertexPosition(void ) {
703  vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.0)) + outputFrame.xy;
704
705  return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
706}
707
708vec2 filterTextureCoord(void ) {
709  return aVertexPosition * (outputFrame.zw * inputSize.zw);
710}
711
712void main(void ) {
713  gl_Position = filterVertexPosition();
714  vTextureCoord = filterTextureCoord();
715
716  vOutputFrame = outputFrame.zw;
717  vInputSize = inputSize.xy;
718
719  vOriginCoord = (uTransformMatrix * vec3(vTextureCoord * inputSize.xy / outputFrame.zw, 1.0)).xy;
720}
721`,`uniform sampler2D uSampler;
722uniform sampler2D uOriginFrame;
723
724uniform bool useMask;
725uniform float distColor;
726
727varying vec2 vTextureCoord;
728varying vec2 vOriginCoord;
729varying vec2 vOutputFrame;
730varying vec2 vInputSize;
731
732void main() {
733  float personMask = texture2D(uSampler, vTextureCoord).r;
734
735  personMask = smoothstep(0.0, 1.0, personMask);
736  personMask = smoothstep(0.0, 1.0, personMask);
737  personMask = smoothstep(0.0, 1.0, personMask);
738
739  vec4 personFrame = texture2D(uOriginFrame, vOriginCoord);
740  
741  //rounded video preparation
742  //gl_FragColor = mix(vec4(0), personFrame, step(distance(vec2(vOriginCoord.x , vOriginCoord.y * vOutputFrame.y/vOutputFrame.x), vec2(0.5, 0.5 * vOutputFrame.y/vOutputFrame.x) ), 0.281) );
743  //step(distance(vTextureCoord.y, 0.5), 0.5)
744
745  if (useMask) {
746    gl_FragColor = mix(vec4(0), personFrame, personMask);  
747  } else {
748    gl_FragColor = mix(vec4(0), personFrame, distColor);
749  }
750}
751`,Object.assign({},t)],a=rm(a),o=function(t,r){if(r&&("object"==rd(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,ry()?Reflect.construct(a,s||[],rm(this).constructor):a.apply(this,s))).matrix=new d.Matrix,o.sdkOptions=r,o.maskSprite=n,o.setLayout(),o}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rg(t,r)}(i,t),r=[{key:"setLayout",value:function(){var t=this.maskSprite.position.x<0?1-Math.abs(this.maskSprite.position.x)/this.maskSprite.width:(this.sdkOptions.width-this.maskSprite.position.x)/this.maskSprite.width;t=Math.min(1,t);var r=this.maskSprite.position.x<0?-this.maskSprite.position.x/this.maskSprite.width:0,n=this.maskSprite.position.y<0?1-Math.abs(this.maskSprite.position.y)/this.maskSprite.height:(this.sdkOptions.height-this.maskSprite.position.y)/this.maskSprite.height;n=Math.min(1,n);var i=this.maskSprite.position.y<0?-this.maskSprite.position.y/this.maskSprite.height:0;this.matrix.a=t,this.matrix.d=n,this.matrix.tx=r,this.matrix.ty=i,this.uniforms.uTransformMatrix=this.matrix}},{key:"setOrigin",value:function(t){this.uniforms.uOriginFrame=t}},{key:"setLayoutMode",value:function(t){switch(t){case"segmentation":this.uniforms.useMask=!0,this.uniforms.distColor=0;break;case"circle":case"hide":this.uniforms.useMask=!1,this.uniforms.distColor=0;break;case"full":this.uniforms.useMask=!1,this.uniforms.distColor=1}}},{key:"setIsBoundaryStrong",value:function(t){this.uniforms.uIsBoundaryStrong=t}}],rp(i.prototype,r),n&&rp(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function rb(t){return(rb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rw(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=rb(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=rb(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
751(t,"string");return"symbol"==rb(r)?r:r+""}(i.key),i)}}function rx(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(rx=function(){return!!t})()}function r_(t){return(r_=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rT(t,r){return(rT=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var rS=function(t){var r,n;function i(t,r,n){var o,a,s;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(a=i,s=[`attribute vec2 aVertexPosition;
752
753uniform mat3 projectionMatrix;
754
755varying vec2 vTextureCoord;
756varying vec2 vOriginCoord;
757varying vec2 vOutputFrame;
758varying vec2 vInputSize;
759
760uniform vec4 inputSize;
761uniform vec4 outputFrame;
762uniform mat3 uTransformMatrix;
763
764vec4 filterVertexPosition(void ) {
765  vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.0)) + outputFrame.xy;
766
767  return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
768}
769
770vec2 filterTextureCoord(void ) {
771  return aVertexPosition * (outputFrame.zw * inputSize.zw);
772}
773
774void main(void ) {
775  gl_Position = filterVertexPosition();
776  vTextureCoord = filterTextureCoord();
777
778  vOutputFrame = outputFrame.zw;
779  vInputSize = inputSize.xy;
780
781  vOriginCoord = (uTransformMatrix * vec3(vTextureCoord * inputSize.xy / outputFrame.zw, 1.0)).xy;
782}
783`,`uniform sampler2D uSampler;
784uniform sampler2D uOriginFrame;
785
786uniform bool useMask;
787uniform float distColor;
788
789varying vec2 vTextureCoord;
790varying vec2 vOriginCoord;
791varying vec2 vOutputFrame;
792varying vec2 vInputSize;
793
794uniform vec3 keyColor;
795uniform float threshold;
796uniform float softness;
797uniform float detint;
798
799vec2 toUV(vec3 rgb) {
800  return vec2(
801    -0.168736 * rgb.r - 0.331264 * rgb.g + 0.5 * rgb.b + 0.5,
802    0.5 * rgb.r - 0.418688 * rgb.g - 0.081312 * rgb.b + 0.5
803  );
804}
805
806void main() {
807  vec4 originalPixel = texture2D(uOriginFrame, vOriginCoord);
808  float colorDistance = distance(toUV(originalPixel.rgb), toUV(keyColor));
809
810  float thresholdDifference = colorDistance - threshold;
811  float mask = pow(clamp(thresholdDifference / softness, 0., 1.), 1.61);
812
813  float desaturation = clamp(originalPixel.r * 0.299 + originalPixel.g * 0.587 + originalPixel.b * 0.114, 0., 1.);
814  originalPixel.rgb = mix(vec3(desaturation), originalPixel.rgb, pow(clamp(thresholdDifference / detint, 0., 1.), 1.61));
815
816  if (useMask) {
817    gl_FragColor = mix(vec4(0), originalPixel, mask);
818  } else {
819    gl_FragColor = mix(vec4(0), originalPixel, distColor);
820  }
821}
822`,Object.assign({},t)],a=r_(a),o=function(t,r){if(r&&("object"==rb(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,rx()?Reflect.construct(a,s||[],r_(this).constructor):a.apply(this,s))).matrix=new d.Matrix,o.sdkOptions=r,o.maskSprite=n,o.setLayout(),o}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rT(t,r)}(i,t),r=[{key:"setLayout",value:function(){var t=this.maskSprite.position.x<0?1-Math.abs(this.maskSprite.position.x)/this.maskSprite.width:(this.sdkOptions.width-this.maskSprite.position.x)/this.maskSprite.width;t=Math.min(1,t);var r=this.maskSprite.position.x<0?-this.maskSprite.position.x/this.maskSprite.width:0,n=this.maskSprite.position.y<0?1-Math.abs(this.maskSprite.position.y)/this.maskSprite.height:(this.sdkOptions.height-this.maskSprite.position.y)/this.maskSprite.height;n=Math.min(1,n);var i=this.maskSprite.position.y<0?-this.maskSprite.position.y/this.maskSprite.height:0;this.matrix.a=t,this.matrix.d=n,this.matrix.tx=r,this.matrix.ty=i,this.uniforms.uTransformMatrix=this.matrix}},{key:"setOrigin",value:function(t){this.uniforms.uOriginFrame=t}},{key:"setThreshold",value:function(t){this.uniforms.threshold=Math.min(1,Math.max(0,t))}},{key:"setSoftness",value:function(t){this.uniforms.softness=Math.min(1,Math.max(0,t))}},{key:"setDetint",value:function(t){this.uniforms.detint=Math.min(1,Math.max(0,t))}},{key:"setKeyColor",value:function(t){this.uniforms.keyColor=[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]}},{key:"setLayoutMode",value:function(t){switch(t){case"segmentation":this.uniforms.useMask=!0,this.uniforms.distColor=0;break;case"circle":case"hide":this.uniforms.useMask=!1,this.uniforms.distColor=0;break;case"full":this.uniforms.useMask=!1,this.uniforms.distColor=1}}},{key:"setIsBoundaryStrong",value:function(t){this.uniforms.uIsBoundaryStrong=t}}],rw(i.prototype,r),n&&rw(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter);function rE(t){return(rE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rO(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function rA(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=rE(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=rE(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
822(t,"string");return"symbol"==rE(r)?r:r+""}(i.key),i)}}function rI(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(rI=function(){return!!t})()}function rP(t){return(rP=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rk(t,r){return(rk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var rC=function(t){var r,n;function i(t){var r,n,o,a,s;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(s=[void 0,`varying vec2 vTextureCoord;
823uniform sampler2D uSampler;
824uniform vec2 uOffset;
825
826uniform int uHasMask;
827uniform sampler2D uMask;
828
829uniform int uClamped;
830uniform vec4 filterClamp;
831
832uniform mat3 uTransformMatrix;
833
834bool checkCoord(vec2 coord) {
835  vec4 color = texture2D(uMask, coord);
836  return color.r < 0.5;
837}
838
839void main(void ) {
840  vec4 color = vec4(0.0);
841  bool hasMask = uHasMask > 0;
842  bool isClamped = uClamped > 0;
843  bool isInside = hasMask && !checkCoord(vTextureCoord);
844
845  vec2 pickCoord[4];
846  pickCoord[0] = vTextureCoord + vec2(-1.0, +1.0) * uOffset;
847  pickCoord[1] = vTextureCoord + vec2(+1.0, +1.0) * uOffset;
848  pickCoord[2] = vTextureCoord + vec2(+1.0, -1.0) * uOffset;
849  pickCoord[3] = vTextureCoord + vec2(-1.0, -1.0) * uOffset;
850
851  for (int i = 0; i < 4; i += 1) {
852    vec2 coord = pickCoord[i];
853
854    //. Get original point if needed
855    if (hasMask && !isInside && !checkCoord(pickCoord[i])) {
856      coord = vTextureCoord;
857    }
858
859    //. Check clamped mode
860    color += isClamped
861      ? texture2D(uSampler, clamp(coord, filterClamp.xy, filterClamp.zw))
862      : texture2D(uSampler, coord);
863  }
864
865  gl_FragColor = color * 0.25;
866}
867`],a=rP(a=i),r=function(t,r){if(r&&("object"==rE(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,rI()?Reflect.construct(a,s||[],rP(this).constructor):a.apply(this,s)))._kernels=[],r._blur=4,r._quality=3,r.isMaskEnabled=!0,r.uniforms.uOffset=new Float32Array(2),r.uniforms.uClamped=+!!t.clamp,r.uniforms.uHasMask=0,r.uniforms.uMask=d.Texture.WHITE,r.uniforms.uTransformMatrix=new d.Matrix,r._pixelSize=new d.Point,r.pixelSize=1,r._clamp=!!t.clamp,Array.isArray(t.blur)?r.kernels=t.blur:(r._blur=null!=(n=t.blur)?n:4,r.quality=null!=(o=t.quality)?o:3),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rk(t,r)}(i,t),r=[{key:"apply",value:function(t,r,n,i){var o,a=this._pixelSize.x/r._frame.width,s=this._pixelSize.y/r._frame.height;if(1===this._quality||0===this._blur)o=this._kernels[0]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,t.applyFilter(this,r,n,i);else{for(var u,l=t.getFilterTexture(),h=r,c=l,f=this._quality-1,d=0;d<f;d++)o=this._kernels[d]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,t.applyFilter(this,h,c,1),u=h,h=c,c=u;o=this._kernels[f]+.5,this.uniforms.uOffset[0]=o*a,this.uniforms.uOffset[1]=o*s,t.applyFilter(this,h,n,i),t.returnFilterTexture(l)}}},{key:"_updatePadding",value:function(){this.padding=Math.ceil(this._kernels.reduce(function(t,r){return t+r+.5},0))}},{key:"_generateKernels",value:function(){var t=this._blur,r=this._quality,n=[t];if(t>0)for(var i=t,o=t/r,a=1;a<r;a++)n.push(i-=o);this._kernels=n,this._updatePadding()}},{key:"kernels",get:function(){return this._kernels},set:function(t){Array.isArray(t)&&t.length>0?(this._kernels=t,this._quality=t.length,this._blur=Math.max.apply(Math,function(t){if(Array.isArray(t))return rO(t)}(t)||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t){if(t){if("string"==typeof t)return rO(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?rO(t,void 0):void 0}}(t)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
868In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())):(this._kernels=[0],this._quality=1)}},{key:"clamp",get:function(){return this._clamp}},{key:"pixelSize",get:function(){return this._pixelSize},set:function(t){"number"==typeof t?(this._pixelSize.x=t,this._pixelSize.y=t):Array.isArray(t)?(this._pixelSize.x=t[0],this._pixelSize.y=t[1]):t instanceof d.Point?(this._pixelSize.x=t.x,this._pixelSize.y=t.y):(this._pixelSize.x=1,this._pixelSize.y=1)}},{key:"quality",get:function(){return this._quality},set:function(t){this._quality=Math.max(1,Math.round(t)),this._generateKernels()}},{key:"blur",get:function(){return this._blur},set:function(t){this._blur=t,this._generateKernels()}},{key:"enableMask",value:function(){this.isMaskEnabled=!0}},{key:"disableMask",value:function(){this.isMaskEnabled=!1}},{key:"setMask",value:function(t){this.uniforms.uMask=t,this.uniforms.uHasMask=+!!this.isMaskEnabled}}],rA(i.prototype,r),n&&rA(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(d.Filter),r$=n(4486);function rR(t){return(rR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rD(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=rR(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=rR(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
868(t,"string");return"symbol"==rR(r)?r:r+""}(i.key),i)}}function rM(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(rM=function(){return!!t})()}function rL(t){return(rL=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rB(t,r){return(rB=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var rN,rF,rU,rj,rz,rG,rV,rW,rH,rq,rY,rX,rK,rZ,rJ,rQ,r1,r0,r3,r6,r5,r9,r2,r7=function(t){var r,n;function i(){var t;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),t=rL(t=i),function(t,r){if(r&&("object"==rR(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,rM()?Reflect.construct(t,[],rL(this).constructor):t.apply(this,void 0))}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&rB(t,r)}(i,t),r=[{key:"set",value:function(t,r,n){this.preset=t,this.width=r,this.height=n,this.size=4*this.width*this.height,this.emit("update",this)}}],rD(i.prototype,r),n&&rD(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(r$.b),r8=new Uint8Array([182,182,188,193,192,192,194,197,198,198,199,199,200,201,201,199,198,199,198,197,198,198,197,197,197,196,197,195,195,194,194,192,193,193,193,194,197,162,126,125,120,118,119,118,117,111,109,108,102,100,100,100,97,111,121,122,124,124,126,128,131,131,133,135,138,142,143,144,145,148,152,151,153,153,153,153,155,154,154,154,158,161,162,162,162,163,163,164,164,165,165,168,168,168,169,169,168,167,169,169,169,169,170,170,170,169,171,170,170,170,170,170,170,169,170,169,169,169,169,168,168,169,169,168,169,169,169,168,168,167,169,168,167,167,167,168,167,168,168,168,168,167,168,169,168,168,169,169,169,168,169,168,169,168,169,169,171,170,170,171,170,171,172,169,172,172,173,173,173,174,174,174,174,174,174,175,175,175,176,176,175,177,178,178,179,180,180,180,181,181,181,182,184,182,184,184,182,181,181,183,184,186,187,187,186,186,187,186,184,186,187,186,184,185,184,185,185,185,186,187,186,186,186,183,183,183,181,181,182,183,182,182,180,179,177,178,177,176,176,177,172,170,169,169,169,167,163,162,162,161,161,159,159,158,155,158,176,183,185,188,192,193,195,198,198,197,198,199,199,200,201,200,198,197,196,195,198,199,198,196,198,197,196,196,195,195,193,192,193,193,193,194,197,189,136,122,121,120,120,117,118,112,110,107,103,102,100,100,100,100,117,120,120,121,126,125,129,130,129,133,136,138,141,142,145,147,149,148,150,151,151,153,153,154,155,154,157,159,160,162,162,162,163,164,163,164,164,165,167,168,167,168,169,167,168,169,168,166,167,169,169,169,169,170,171,169,170,169,169,170,169,168,167,168,168,166,167,169,168,168,169,168,167,168,168,167,168,167,167,167,167,166,167,168,167,168,166,167,166,168,167,168,168,167,169,168,168,168,167,167,169,169,169,169,170,171,171,171,171,171,170,171,172,172,172,172,173,174,174,174,173,174,175,175,175,175,175,175,175,176,176,177,177,177,176,177,179,180,179,179,180,181,181,180,182,181,181,183,184,183,181,182,182,184,182,183,184,182,182,182,183,181,182,180,182,183,183,181,180,180,180,181,180,178,177,178,179,178,177,175,175,173,174,175,173,171,169,170,170,169,167,165,162,160,159,160,163,159,156,158,154,151,174,177,183,183,187,191,194,195,197,197,198,199,198,199,201,200,201,198,199,199,196,194,197,199,199,198,197,197,197,196,196,195,194,195,194,195,192,198,166,122,123,121,119,117,115,114,112,110,106,105,101,100,99,97,113,122,119,120,124,127,129,129,131,133,137,140,141,141,143,144,145,148,150,150,149,150,148,152,152,152,154,156,157,159,158,160,163,162,162,163,165,164,166,168,167,168,167,165,166,168,169,169,168,169,169,169,168,168,168,169,169,168,168,168,168,168,167,168,167,167,167,168,168,168,167,167,166,168,168,167,166,167,166,165,166,166,167,167,166,167,167,167,167,166,168,167,167,167,168,169,167,166,165,168,169,169,168,169,170,170,169,169,169,171,170,172,171,170,170,170,173,173,172,174,173,173,174,173,173,174,174,173,175,175,176,175,176,176,174,175,176,176,177,177,177,177,178,178,178,179,178,177,179,180,180,179,179,182,181,179,180,182,181,181,182,181,181,179,180,179,179,179,176,178,180,177,179,179,177,175,175,174,174,174,174,173,172,171,170,168,167,169,168,167,167,164,160,160,
868160,159,157,156,156,155,152,149,172,176,177,177,181,190,195,193,196,196,197,197,198,198,200,200,200,201,201,200,195,194,197,199,198,198,196,196,195,195,195,195,195,195,194,193,191,194,189,141,122,119,120,118,114,112,112,109,105,104,103,102,101,98,104,120,117,119,122,126,128,129,131,135,136,139,139,140,140,142,142,144,149,148,148,148,147,152,153,151,153,155,156,157,158,159,161,161,161,162,161,162,163,165,165,166,167,167,166,167,168,166,167,168,168,168,167,167,167,168,168,167,168,168,167,166,169,168,166,167,166,166,166,166,166,166,166,167,167,167,166,164,164,164,165,164,165,166,165,165,165,166,167,166,166,166,166,167,168,167,166,167,167,167,168,168,167,169,169,168,167,169,169,169,169,169,170,169,170,170,171,171,172,172,171,171,172,172,174,174,173,173,175,174,174,173,173,173,175,177,175,175,175,175,176,175,174,175,176,176,176,177,177,176,176,177,177,175,176,179,178,176,178,180,178,177,177,177,178,178,175,174,176,177,177,175,178,176,174,173,173,174,173,172,172,171,172,168,167,165,166,165,165,164,163,161,159,157,159,158,156,154,152,152,151,148,173,174,175,177,182,186,192,194,196,197,197,194,194,197,200,200,200,201,201,200,199,198,197,198,199,196,196,196,196,195,194,194,194,194,195,194,192,191,196,169,125,122,120,118,117,114,113,110,106,103,103,102,101,100,99,112,118,117,121,126,126,128,128,132,135,134,135,137,139,140,142,143,143,146,145,149,149,150,152,153,152,154,156,157,160,160,161,161,162,160,161,161,162,163,164,165,164,166,166,166,167,166,165,167,168,168,167,167,168,166,166,168,167,166,167,167,167,166,166,167,167,165,165,167,166,165,166,166,166,165,164,165,166,164,164,163,164,165,164,164,165,164,165,165,165,165,166,166,166,165,166,167,167,166,167,167,168,168,167,166,168,168,169,167,169,169,167,167,166,168,168,170,169,168,170,170,171,170,173,172,173,173,172,173,174,173,172,172,175,175,175,175,176,176,174,175,174,174,175,175,176,175,175,176,176,174,176,177,177,175,176,176,176,176,175,175,173,175,175,174,175,174,175,174,172,174,174,170,169,171,172,172,170,170,169,168,167,166,163,163,166,165,163,161,161,159,159,158,157,155,156,154,154,152,150,147,168,172,174,175,180,183,189,191,190,193,196,192,191,193,197,200,203,202,202,199,198,198,198,198,196,194,195,197,196,195,193,195,194,193,195,193,192,192,194,193,143,123,122,119,118,115,112,111,107,103,103,102,100,98,96,105,117,114,120,125,125,127,126,127,131,133,134,135,137,138,140,140,140,144,145,148,148,148,151,152,151,152,155,157,156,159,160,160,161,161,160,160,162,163,163,164,165,164,164,166,166,166,165,164,166,167,166,167,166,166,167,165,167,167,166,165,165,166,166,166,165,165,165,165,166,165,165,164,164,165,165,165,163,163,165,162,164,163,163,165,165,164,163,165,165,166,164,166,166,165,167,166,165,166,167,166,167,168,168,167,168,167,166,167,168,168,168,167,167,167,168,168,165,165,167,168,170,170,169,170,170,170,168,171,173,174,173,170,170,172,173,174,174,173,173,175,174,173,173,172,173,173,173,173,173,174,175,177,175,174,175,176,175,174,175,173,173,172,172,173,172,172,174,173,173,172,171,169,169,169,169,171,169,169,169,167,164,164,162,162,164,161,159,161,160,
868158,158,156,155,155,154,155,153,149,149,149,159,168,172,171,175,179,181,186,188,188,192,192,190,192,193,199,202,200,199,198,197,198,198,198,196,196,194,196,195,196,195,194,193,194,195,194,192,194,196,199,174,127,121,118,118,116,113,113,109,105,103,103,102,100,97,95,114,117,117,121,123,124,125,127,129,130,133,133,136,138,137,138,140,143,142,145,149,149,149,149,149,150,152,155,154,156,158,158,159,159,159,160,160,162,163,163,164,164,164,165,165,165,165,165,166,166,166,167,166,166,166,165,166,166,166,165,164,166,164,164,164,166,165,164,165,163,163,164,164,164,164,164,164,163,163,163,162,162,162,164,163,163,163,163,163,165,164,164,166,165,166,165,166,167,166,167,167,168,167,166,167,165,165,167,167,168,167,166,166,166,167,166,167,165,166,166,166,168,168,168,168,167,167,167,166,167,171,168,167,169,169,168,170,170,170,172,171,170,170,170,173,172,171,171,172,173,174,175,174,174,174,172,172,173,173,170,170,169,169,172,173,172,170,171,172,171,170,168,167,167,165,168,166,163,163,162,162,159,159,161,162,158,159,158,155,157,155,154,154,153,152,151,149,147,146,148,159,164,169,171,172,175,179,185,188,188,191,193,192,193,191,194,198,199,198,197,198,197,197,196,196,196,195,195,195,194,193,193,192,193,195,195,194,194,195,195,194,149,121,124,119,114,114,112,110,106,105,102,102,101,97,93,106,119,115,115,121,122,124,127,127,128,131,131,133,135,137,137,137,139,144,144,145,145,146,148,148,149,151,152,152,153,156,156,157,160,159,159,159,161,161,163,163,163,164,163,164,164,165,166,165,166,164,165,165,165,164,163,163,163,165,165,165,164,164,164,165,165,163,163,162,161,162,164,164,163,164,164,163,162,162,162,161,162,162,162,162,162,163,163,162,164,164,163,163,165,165,166,165,165,166,166,165,165,166,164,164,164,166,165,166,166,166,166,165,165,166,165,165,164,165,164,163,163,163,163,165,165,164,164,164,165,165,164,166,167,167,166,169,168,168,171,170,167,167,168,168,167,169,170,171,171,171,173,173,172,171,168,169,168,168,170,167,168,168,170,168,167,169,170,168,166,165,161,164,165,165,164,160,160,
868160,159,160,161,160,160,158,157,158,156,154,156,154,153,150,153,150,146,147,148,143,142,155,160,166,170,173,174,177,183,186,187,188,190,190,192,194,195,195,198,199,196,198,197,197,197,196,195,194,194,193,194,194,193,192,192,194,193,193,193,192,193,196,180,130,124,121,117,113,111,108,106,104,103,103,99,99,96,96,116,117,114,119,120,121,123,124,127,130,129,129,133,134,135,137,140,141,142,142,142,146,146,146,148,149,150,152,152,152,155,155,157,159,157,158,158,158,160,159,161,163,162,164,163,163,164,165,163,164,165,164,164,163,163,161,163,162,162,161,160,163,164,163,164,161,161,162,162,162,163,162,162,163,162,162,162,162,161,162,162,161,162,161,162,162,162,161,162,161,161,162,163,163,165,165,165,165,164,165,165,166,166,166,164,164,165,164,165,165,166,163,164,164,163,164,164,164,162,162,161,163,162,161,163,163,163,163,163,163,165,164,166,165,167,165,166,167,168,168,168,168,166,165,165,166,167,168,167,169,169,171,169,168,167,167,167,167,167,166,168,168,167,166,166,166,167,164,161,159,160,163,164,162,159,161,160,159,159,157,159,158,157,157,157,158,157,156,153,153,151,151,151,147,145,146,145,145,143,148,158,161,168,172,174,175,181,183,185,188,188,190,191,194,193,192,194,197,197,197,196,196,194,194,194,194,193,192,190,191,192,192,191,193,192,195,196,194,193,194,195,154,119,121,120,116,110,110,108,103,104,103,99,98,97,93,103,117,115,115,117,120,122,124,127,126,126,129,134,134,133,134,137,139,140,142,142,143,144,146,145,148,148,151,152,153,154,154,153,156,155,155,157,158,158,157,159,160,161,163,162,163,161,163,164,163,162,162,162,163,162,161,162,159,158,160,160,161,162,163,162,162,162,160,162,162,159,160,161,159,159,161,161,161,161,162,161,161,162,160,161,161,161,162,161,161,161,162,160,161,163,165,164,165,165,165,164,165,165,165,164,164,163,162,164,165,164,162,163,164,164,163,163,163,163,162,161,162,163,161,162,163,163,164,164,164,164,163,163,161,164,165,167,165,165,167,165,165,166,165,165,165,163,165,166,166,167,168,166,168,166,165,164,166,164,164,166,166,165,166,166,164,164,165,162,161,162,160,159,160,161,159,157,157,157,156,157,156,154,153,155,157,154,154,152,151,151,150,149,145,145,144,143,145,142,145,153,157,166,169,173,173,177,181,181,185,187,189,190,190,190,190,192,192,194,194,193,195,194,192,192,191,189,191,191,190,191,191,190,191,193,193,195,193,192,194,196,184,132,119,119,119,112,111,110,104,103,102,100,100,98,95,95,114,117,115,116,118,121,123,124,124,124,127,132,133,134,134,134,136,137,140,141,141,142,144,147,146,148,149,150,152,152,154,153,155,155,155,156,156,157,158,158,159,160,161,162,161,161,162,161,161,161,161,161,161,160,160,160,160,160,159,160,160,160,161,161,160,160,159,160,160,160,160,159,159,161,161,161,160,161,160,161,160,159,160,160,160,160,161,160,161,161,160,158,159,162,163,164,164,163,164,165,162,161,163,163,162,161,162,161,160,162,163,163,163,164,164,163,162,162,162,161,162,162,162,163,161,163,163,163,164,163,163,163,163,165,165,167,165,166,165,164,164,164,164,163,162,163,164,165,165,165,164,164,166,164,164,164,163,164,163,163,165,164,161,162,161,162,162,160,161,163,159,157,155,156,156,156,156,155,155,155,156,153,152,154,155,152,152,150,149,146,146,146,143,143,143,143,146,139,141,146,153,161,167,168,170,173,178,180,182,185,187,186,185,189,190,193,192,191,191,193,191,192,193,192,189,188,189,189,189,190,189,188,190,191,191,193,192,193,193,193,195,161,117,119,119,116,112,109,106,105,103,101,99,99,97,93,106,117,114,114,117,119,120,121,122,124,124,127,131,132,133,134,135,136,137,139,141,143,143,145,146,146,148,149,149,149,152,151,154,155,154,155,155,156,158,156,158,160,158,159,160,160,160,160,160,160,160,158,159,160,159,160,159,160,160,160,158,159,159,159,158,158,160,160,159,160,160,159,161,160,
868161,161,159,159,160,160,158,158,160,161,159,160,160,160,159,160,159,158,159,163,163,164,163,163,163,161,160,158,159,160,159,159,159,160,161,161,163,162,163,163,161,160,161,161,162,161,161,161,162,163,162,162,164,163,161,160,163,162,163,162,162,163,164,164,163,164,163,163,162,164,162,163,163,163,162,163,164,162,164,163,164,164,165,163,161,161,160,160,158,158,159,162,160,161,159,160,159,157,154,152,154,155,155,154,154,154,153,152,153,150,151,153,150,149,150,145,145,145,143,143,145,141,142,139,136,140,149,155,158,164,166,169,170,176,180,180,182,185,184,187,187,189,191,188,190,191,189,190,190,190,190,190,188,188,188,188,187,188,190,190,191,191,192,192,192,192,192,187,136,116,119,116,113,110,108,103,100,102,100,98,97,93,96,115,114,114,116,117,118,118,121,124,123,123,129,131,132,133,133,134,135,137,139,141,142,142,142,145,147,148,148,148,152,152,153,154,153,153,155,156,156,157,157,157,157,158,158,158,159,158,159,159,159,158,158,158,159,159,159,159,158,159,158,159,158,159,159,159,158,159,158,159,159,159,159,159,158,158,159,159,159,159,157,157,159,158,159,160,160,160,160,160,157,156,159,161,162,163,163,162,160,157,157,158,157,157,158,159,159,159,160,160,160,160,160,159,160,161,158,161,160,160,161,163,161,161,161,162,162,160,160,159,162,161,161,162,162,162,162,163,163,164,162,160,161,160,162,163,162,160,160,162,161,161,163,162,160,159,162,160,158,158,156,158,159,158,158,160,160,159,157,158,158,157,157,153,153,152,152,153,153,151,150,152,153,151,151,152,150,150,148,146,147,141,141,143,143,142,140,138,134,137,142,148,154,162,163,163,166,169,174,176,178,182,182,183,184,187,188,188,187,188,189,189,188,188,188,188,187,188,187,187,187,187,188,189,189,191,191,191,191,192,190,193,171,122,117,116,113,110,107,102,101,99,100,99,96,96,91,107,115,114,113,113,116,118,119,120,120,123,126,129,131,130,131,133,134,134,137,137,139,140,142,144,145,146,147,149,149,149,150,151,152,152,153,154,154,156,157,156,156,156,156,157,157,157,157,157,158,158,158,156,158,157,157,158,159,158,157,158,158,158,159,159,157,156,156,158,158,159,158,157,158,158,157,157,157,158,158,157,158,158,158,158,158,158,159,156,157,157,155,158,161,161,161,160,159,157,157,157,156,157,157,158,159,159,159,160,159,158,158,158,159,158,157,159,159,158,160,161,161,161,160,160,162,160,159,161,160,
868160,159,161,162,161,161,160,161,162,162,162,161,160,161,161,160,160,160,160,159,159,158,158,158,157,158,159,157,154,156,157,157,158,158,157,156,156,157,158,156,156,154,152,154,153,151,153,152,150,147,148,149,149,151,149,149,149,146,146,146,142,141,141,142,140,140,139,144,136,139,143,146,154,156,156,164,164,166,174,176,176,179,181,182,182,183,185,188,189,188,187,187,186,186,187,187,186,186,186,186,186,187,188,188,190,190,190,190,191,190,190,191,147,119,119,115,112,106,104,103,100,100,98,97,96,92,96,112,113,113,114,116,117,117,119,120,123,127,128,128,129,132,133,131,132,135,136,138,138,141,141,144,146,145,146,148,148,150,148,151,154,152,154,154,153,156,153,153,154,155,157,157,156,155,155,156,156,156,156,155,156,156,156,157,157,158,157,157,157,158,159,158,155,157,156,156,156,157,156,156,157,157,154,155,156,156,156,155,155,156,156,156,156,156,155,155,155,155,155,159,158,157,156,156,157,158,158,157,156,156,157,158,157,158,157,157,157,158,159,156,157,158,159,159,158,158,158,159,159,158,159,159,158,160,160,160,160,159,157,158,160,160,162,161,159,159,159,160,158,158,160,160,160,159,159,159,158,158,157,158,157,157,157,156,154,156,156,155,156,152,153,154,155,155,155,154,154,153,152,151,153,153,154,152,147,145,147,147,149,150,148,147,147,147,144,143,141,139,138,139,139,135,134,155,143,138,140,142,145,151,156,159,163,164,167,172,175,176,178,178,179,178,182,186,188,187,187,186,186,186,187,186,187,188,186,186,186,185,186,187,188,188,189,190,189,190,190,192,176,125,117,117,114,112,108,103,99,100,99,98,95,96,93,106,111,111,115,115,117,118,118,119,120,123,125,128,128,129,130,132,132,132,134,138,137,138,139,141,143,145,143,147,148,146,147,150,151,150,152,152,153,153,152,153,153,153,154,156,155,153,154,154,155,155,155,155,155,155,155,155,154,156,156,156,157,158,158,157,157,155,155,154,153,154,154,155,157,155,152,152,154,154,154,156,155,155,156,154,154,153,154,154,154,155,154,155,157,156,155,156,157,158,158,158,157,156,156,155,158,156,154,155,156,156,156,157,158,158,158,157,157,157,156,156,156,158,159,157,159,160,160,160,159,157,156,158,157,159,156,156,157,157,159,158,156,156,158,159,160,158,156,156,157,155,158,156,154,155,155,155,155,156,155,153,155,153,152,152,153,153,149,150,154,153,153,152,152,152,152,150,146,147,147,147,149,148,147,148,149,147,144,142,141,139,139,139,137,134,135,161,152,140,135,138,143,146,152,158,161,162,164,165,171,172,173,176,177,176,176,180,183,183,185,186,185,182,182,185,187,187,186,187,186,183,183,184,188,188,189,188,188,189,189,189,190,148,115,116,112,111,107,103,100,98,98,98,96,96,93,98,112,107,111,113,117,119,118,118,119,119,122,128,128,129,130,132,132,132,136,136,136,137,138,139,141,144,144,144,145,146,146,146,147,150,149,150,150,149,151,152,152,153,153,154,151,153,154,153,152,153,154,155,154,153,153,153,153,154,153,155,155,156,155,155,157,156,153,153,152,151,151,150,146,136,120,113,111,107,107,114,121,128,138,150,154,153,155,154,153,152,153,153,155,156,156,156,155,157,157,156,155,155,155,155,156,154,154,154,156,157,156,157,158,158,157,155,155,155,155,156,154,156,157,156,158,158,158,158,158,157,156,158,158,157,155,158,158,156,156,157,156,156,157,157,157,157,156,156,155,154,157,155,154,156,156,154,154,154,153,153,153,154,152,153,154,154,149,152,151,149,150,151,151,150,149,146,146,146,147,146,147,145,147,147,146,144,143,140,140,139,140,138,138,136,133,169,159,150,137,132,138,141,148,154,159,162,165,164,164,168,170,173,175,174,174,174,177,179,180,181,182,181,182,184,184,186,184,186,186,185,183,184,187,188,187,187,188,189,188,188,189,176,128,116,112,109,106,105,102,100,99,96,96,96,94,91,107,106,110,112,114,116,117,117,119,118,117,123,128,127,129,131,132,134,135,134,136,137,138,138,141,142,141,143,145,146,145,145,148,148,146,148,148,150,150,150,151,152,152,152,151,152,153,151,152,152,151,153,153,152,153,152,153,153,153,154,154,154,153,154,156,154,152,152,151,146,138,123,125,101,80,93,89,80,88,78,65,68,72,93,111,128,142,154,155,152,153,152,153,155,156,157,156,157,156,157,154,154,154,153,154,154,154,154,155,156,157,157,155,156,156,155,155,154,153,155,154,155,157,156,157,157,157,157,155,157,157,157,157,155,155,157,157,157,156,155,154,153,153,155,156,157,157,157,156,155,157,156,154,156,155,155,155,154,153,153,154,154,152,150,150,151,151,151,150,149,149,148,149,147,146,145,145,145,145,145,148,146,146,145,145,144,141,137,139,139,136,135,133,134,131,176,168,158,148,135,132,137,144,150,153,156,160,162,163,163,167,172,173,173,172,173,174,176,177,180,181,180,180,180,182,184,184,185,186,185,183,183,185,185,186,186,187,187,188,187,186,189,154,119,115,109,108,104,101,101,99,97,96,94,94,89,97,111,
868110,111,111,115,117,116,116,118,117,118,124,128,129,130,130,131,135,135,134,136,138,136,137,139,138,140,144,144,143,143,145,146,147,146,146,148,146,147,147,149,149,150,149,151,152,151,150,151,151,151,152,152,152,152,152,152,151,153,153,152,153,153,153,148,148,144,127,122,100,77,77,75,71,69,65,66,66,70,69,67,65,56,59,86,108,122,148,154,152,152,152,154,155,154,155,155,155,155,154,154,154,153,153,154,153,153,153,152,154,156,154,154,156,156,155,155,155,156,156,156,156,158,157,156,157,155,154,157,158,156,156,155,154,155,154,156,156,154,154,153,153,152,152,153,158,158,155,157,157,155,155,155,154,152,153,154,155,154,150,152,149,147,148,150,149,147,148,148,149,149,146,145,144,143,146,146,146,144,145,145,143,139,142,142,140,141,138,138,136,137,132,131,132,179,174,167,157,146,132,131,134,139,147,152,154,158,161,163,163,166,171,172,170,171,173,174,175,178,182,180,180,179,180,182,184,185,183,182,179,181,184,185,185,185,186,185,186,187,188,188,181,132,115,109,107,107,105,102,99,99,96,95,95,91,90,108,107,108,110,112,114,115,115,117,117,120,122,127,128,128,130,132,134,131,133,138,139,137,137,136,137,138,141,142,144,143,142,144,146,145,143,144,145,145,145,146,147,149,149,149,151,150,149,150,152,150,150,152,152,151,151,150,150,151,151,150,149,149,150,148,134,101,73,80,72,57,59,59,62,65,59,50,53,53,59,65,67,65,55,55,86,108,90,126,152,153,152,153,154,153,154,154,154,152,153,153,153,153,153,151,153,153,152,153,152,153,155,154,154,156,156,157,157,155,156,158,156,157,157,155,155,156,155,155,156,157,155,155,154,155,156,155,153,154,153,151,151,150,152,152,155,157,156,155,155,155,155,157,153,152,152,151,153,149,148,150,147,147,147,149,148,146,147,147,147,145,143,143,142,143,143,141,144,143,143,145,142,137,138,141,139,140,138,136,135,136,134,131,131,179,175,173,165,158,144,131,131,134,139,144,149,153,157,158,157,163,166,167,167,169,168,169,170,173,177,178,178,177,178,180,183,183,182,180,178,179,182,184,184,184,186,186,185,185,186,185,189,163,117,110,109,105,105,104,100,100,98,97,94,90,87,98,108,105,108,110,113,115,114,115,118,118,120,124,125,126,127,129,129,130,133,136,135,136,136,137,136,137,139,140,141,141,140,142,144,144,143,142,142,143,143,145,146,147,148,149,148,149,148,149,149,150,147,149,150,149,150,149,150,149,150,150,148,149,139,131,97,67,53,53,56,63,60,57,62,61,57,45,47,52,54,53,57,67,69,61,59,136,113,78,133,159,157,152,154,152,152,153,153,153,152,152,152,153,155,152,152,151,152,152,153,152,153,154,153,154,155,155,155,156,156,156,156,156,155,154,154,154,155,154,153,153,155,154,155,156,157,155,152,152,152,151,151,150,150,151,153,152,152,151,151,152,153,153,152,153,150,150,149,150,149,150,148,149,148,146,145,145,145,147,143,142,142,143,142,144,145,143,143,140,141,142,139,137,139,140,139,139,137,136,134,134,131,130,131,181,180,180,172,163,156,141,129,131,135,139,145,150,154,155,154,156,160,160,165,167,167,167,167,171,172,173,175,177,176,175,177,181,180,180,180,181,181,183,183,184,185,185,185,185,185,185,184,182,138,110,112,108,104,103,101,100,97,96,93,90,89,91,105,105,108,109,111,113,112,115,115,115,118,117,120,124,127,125,128,129,130,131,131,133,135,135,135,135,137,136,134,139,139,140,142,143,143,143,142,143,143,143,145,145,147,147,145,146,146,145,146,147,147,148,147,148,149,148,148,146,146,147,147,111,85,82,65,57,50,51,50,49,63,65,61,65,62,58,56,54,55,53,55,57,68,78,66,114,127,71,97,166,183,155,151,151,152,153,153,155,154,154,152,151,153,152,151,153,151,151,153,152,154,153,152,153,154,154,155,155,155,157,155,153,151,152,152,152,153,153,154,152,153,154,156,156,154,154,153,152,152,151,151,151,150,150,154,150,148,151,149,151,150,151,151,150,151,150,147,149,148,148,147,149,149,147,145,144,143,143,142,141,141,142,143,142,143,143,143,137,140,140,138,138,139,136,135,135,134,136,134,131,131,132,129,178,183,182,180,171,162,155,139,130,132,133,137,143,147,151,153,153,155,155,158,162,163,164,165,170,170,170,173,174,174,176,177,179,180,180,180,179,179,182,183,181,182,183,184,184,183,184,181,184,166,118,111,109,106,104,101,102,100,95,93,91,89,88,98,107,106,106,109,110,111,113,114,115,116,120,122,122,122,125,127,128,127,129,131,132,134,133,133,133,133,134,136,135,137,
868137,137,139,142,141,142,141,140,143,143,143,143,145,145,145,144,146,147,147,146,145,146,146,146,146,145,145,145,132,105,61,60,58,60,62,54,52,64,68,85,91,83,78,77,77,73,68,66,65,60,60,59,75,70,79,123,105,100,144,191,203,157,148,150,150,152,151,151,152,150,151,151,150,151,152,151,153,154,153,153,153,153,151,153,154,153,154,153,153,151,151,152,151,151,152,152,153,152,151,153,154,152,154,154,155,153,152,151,150,152,152,151,151,150,147,148,147,148,148,149,150,149,150,152,150,148,147,147,146,145,146,147,146,144,143,141,141,141,140,140,141,140,142,141,142,141,137,137,138,137,138,138,134,136,133,133,135,133,130,131,131,128,166,178,182,180,179,169,160,151,135,126,130,133,133,141,146,149,150,150,153,152,156,159,160,162,163,166,168,170,171,172,174,176,176,178,178,177,178,178,179,180,180,179,181,182,183,182,182,181,179,180,143,110,109,109,105,103,101,100,97,93,90,89,88,91,104,103,107,107,107,109,111,114,115,114,119,119,119,120,123,124,124,127,127,130,131,131,133,131,131,132,132,132,132,135,136,136,135,138,140,140,140,139,140,141,140,140,141,143,144,144,143,143,144,142,143,144,144,144,144,143,145,137,91,56,57,58,64,63,61,71,87,107,117,117,115,108,96,96,90,92,91,90,86,80,72,71,62,80,57,83,102,99,131,186,205,200,148,150,149,151,150,149,150,148,149,150,150,150,150,152,152,153,152,152,152,152,152,152,152,152,152,153,150,150,151,151,151,151,151,152,151,151,151,153,151,151,152,153,153,153,151,150,151,151,151,154,149,147,147,147,147,147,147,148,148,149,149,147,147,147,146,146,143,144,144,143,142,143,140,139,138,139,141,142,139,139,140,141,140,136,135,136,135,137,137,137,135,134,133,133,132,132,130,129,126,128,204,167,179,180,178,177,167,157,146,130,125,130,133,138,139,146,147,148,149,150,153,156,160,161,161,162,165,167,169,171,172,174,175,177,177,176,177,178,177,177,177,178,179,180,181,181,182,180,177,178,169,121,108,110,106,105,100,97,97,96,93,89,88,86,101,103,104,105,107,107,109,112,113,114,114,116,117,119,121,120,121,126,127,128,128,130,131,130,129,130,130,131,132,134,134,134,133,135,137,139,140,139,139,140,140,141,140,140,139,141,141,142,142,142,142,141,142,140,141,142,124,83,62,58,59,59,63,76,107,132,147,151,143,138,132,123,110,110,105,103,100,104,106,99,89,83,73,91,89,58,68,88,107,142,149,206,178,149,150,148,148,148,149,148,149,149,149,151,152,152,152,151,150,153,152,151,151,150,150,152,152,152,150,150,152,151,153,152,152,152,151,151,151,150,150,150,152,151,150,152,151,151,152,152,152,151,147,147,148,146,146,147,147,147,146,147,147,147,145,145,145,146,145,143,142,140,141,141,138,139,139,138,141,140,138,136,137,139,139,135,136,136,134,133,135,134,133,133,129,132,131,131,129,128,126,125,216,203,167,179,179,177,176,167,155,143,127,123,127,131,136,138,144,147,146,149,149,151,156,159,161,161,162,164,168,170,171,171,172,172,174,174,175,175,175,176,177,178,179,177,176,178,178,176,176,176,180,149,109,110,109,103,100,97,98,96,95,89,88,86,94,103,100,102,106,106,106,110,109,112,114,114,114,116,117,118,122,123,124,126,126,128,129,131,130,130,129,132,131,130,130,131,130,131,134,136,137,138,137,138,139,139,139,138,137,138,137,139,140,140,140,139,139,138,141,127,74,55,67,60,54,57,93,119,160,177,178,172,168,152,146,137,128,123,118,113,114,116,119,116,107,97,87,104,110,76,75,68,97,104,130,148,216,167,144,148,147,147,149,148,148,147,150,150,151,150,149,150,150,150,151,150,149,148,148,149,149,150,150,150,149,151,150,150,150,150,152,150,149,148,148,149,150,150,148,150,150,149,151,152,152,147,146,145,146,147,146,143,144,143,145,146,145,146,144,145,143,144,143,140,141,141,139,139,138,139,140,139,138,137,137,137,136,137,137,133,137,136,135,134,133,131,131,132,129,130,130,129,128,126,123,124,184,216,202,167,178,180,175,173,165,153,140,125,123,126,131,134,138,142,143,145,146,148,151,152,158,159,158,161,163,167,170,170,168,167,167,170,172,173,173,172,173,172,172,174,173,175,175,175,176,176,177,173,128,108,108,104,101,97,98,97,92,88,86,86,87,99,103,102,103,105,107,108,108,109,111,113,115,114,115,116,117,119,123,125,125,124,126,128,129,131,130,129,131,129,129,130,129,128,131,133,134,133,133,134,137,136,135,134,136,137,136,136,137,137,137,137,135,137,128,81,53,59,70,62,48,103,151,147,191,194,188,181,176,164,153,146,139,131,123,123,124,126,129,125,121,110,108,108,99,101,101,92,116,72,110,100,154,171,144,148,148,146,145,147,145,146,148,148,150,149,148,150,148,147,149,147,147,147,148,148,149,149,149,148,149,148,147,148,150,148,149,148,149,148,147,147,149,148,147,148,149,149,149,147,147,147,146,145,146,146,145,142,144,144,145,143,143,145,143,144,141,141,142,138,139,138,138,139,140,136,138,138,136,135,136,135,135,136,134,135,137,
868135,133,131,129,129,130,131,129,127,128,128,124,125,125,124,194,185,216,196,163,179,174,173,171,162,153,138,124,122,126,129,133,136,140,141,144,145,147,150,154,154,154,156,156,160,162,162,164,165,164,167,169,171,171,169,169,170,171,170,173,173,174,175,174,172,173,177,159,114,107,105,101,99,97,97,94,89,85,85,84,91,101,99,101,102,104,106,107,107,109,111,113,113,114,115,115,118,120,122,124,124,125,126,127,129,127,127,127,127,129,130,128,130,131,130,131,132,132,130,131,133,133,133,134,133,134,134,135,136,135,135,136,122,81,55,59,70,75,59,104,187,177,171,203,196,191,183,172,164,157,148,143,134,125,129,128,129,137,134,129,121,114,118,103,99,119,107,160,91,65,99,100,125,154,144,146,144,143,144,145,145,146,145,146,146,147,147,146,147,147,148,147,147,148,148,147,147,148,148,147,144,146,146,146,146,146,147,147,147,147,144,146,146,149,148,147,147,146,146,147,145,146,146,146,144,144,143,143,144,144,143,143,141,143,146,140,138,141,139,136,138,139,139,140,136,136,136,134,133,133,132,136,135,134,134,133,132,130,128,127,128,129,128,127,127,125,124,122,123,123,123,211,193,185,214,189,162,178,173,171,169,161,149,134,123,124,126,127,133,133,137,140,141,144,149,150,151,150,150,151,154,160,160,160,162,162,162,163,164,164,167,167,167,167,171,171,171,172,172,173,172,172,173,174,137,107,107,102,99,98,94,93,89,86,86,86,86,97,99,99,99,101,103,105,107,107,108,110,111,111,114,113,116,117,119,120,121,124,124,125,125,124,124,126,123,127,128,128,129,129,128,128,131,130,129,129,129,131,130,130,132,132,133,133,135,134,133,117,81,60,64,73,83,82,106,193,201,205,195,200,195,192,186,179,167,160,150,142,138,132,132,133,135,140,140,132,124,118,117,104,96,116,106,145,121,127,72,84,87,179,151,142,144,143,145,146,142,143,145,144,144,145,145,148,149,146,148,147,147,147,148,148,147,144,143,143,142,144,144,145,146,147,147,145,146,146,145,146,147,147,146,144,145,145,146,146,146,145,146,144,144,143,143,141,141,143,143,142,143,141,143,141,139,139,138,138,138,138,137,135,135,135,135,136,135,133,133,135,134,134,131,131,127,127,126,128,127,128,124,124,124,124,124,123,123,120,120,202,209,191,184,212,185,161,175,173,173,167,157,145,131,117,119,122,127,130,131,137,136,140,142,142,146,146,147,149,152,155,157,156,159,157,157,159,160,160,163,163,162,163,166,165,168,170,169,170,172,170,169,170,159,116,106,105,95,96,96,90,90,88,88,87,85,92,99,96,96,100,101,101,104,107,107,107,109,108,111,114,112,114,117,120,119,120,122,123,122,122,123,124,123,124,126,127,128,128,127,127,129,129,128,128,128,130,130,130,130,131,132,131,131,132,130,100,65,61,72,88,98,107,186,212,213,219,210,203,201,197,192,190,179,169,156,145,143,139,135,137,142,142,143,137,130,126,123,108,100,117,107,142,123,163,88,67,78,149,174,139,144,143,143,141,140,142,142,142,144,146,145,147,148,146,144,144,144,144,144,145,144,145,143,142,144,144,144,145,142,145,145,144,143,144,146,147,147,144,144,145,145,143,145,146,144,144,142,140,142,142,144,139,138,140,142,143,143,140,138,138,136,135,136,137,139,137,135,135,132,133,133,135,133,132,133,133,132,132,131,127,125,127,127,125,126,124,122,122,122,122,121,121,120,119,120,203,199,206,188,183,210,180,162,174,172,170,164,155,140,122,113,117,122,125,126,131,132,132,135,138,138,139,141,143,147,147,149,153,156,154,155,155,156,158,160,162,161,162,162,163,166,167,167,169,169,170,168,166,169,139,106,105,100,97,96,93,92,89,87,85,84,81,94,97,97,97,98,100,100,105,105,105,108,108,109,111,110,112,116,117,119,119,120,120,121,121,121,122,123,124,125,124,124,126,126,125,126,127,125,125,126,127,129,130,129,129,129,128,128,132,118,76,59,66,78,99,111,166,213,216,224,218,213,212,210,203,198,196,186,176,168,158,151,149,142,145,148,147,146,146,142,139,134,123,117,131,116,137,150,188,131,68,77,99,167,142,138,139,139,140,139,139,141,140,142,145,145,145,144,143,142,143,142,142,142,143,143,144,142,141,142,142,143,144,142,143,145,143,141,142,143,142,144,144,143,142,143,142,145,145,143,140,141,139,139,140,141,139,136,137,137,135,136,136,137,136,134,135,137,136,135,131,131,132,129,131,132,132,132,131,131,129,129,127,125,124,125,125,124,122,122,121,119,122,119,119,119,118,120,121,115,207,199,194,201,184,184,210,176,162,175,169,168,161,148,135,118,112,117,120,124,125,129,131,132,133,137,136,137,139,139,143,145,147,149,151,153,155,155,156,158,161,162,161,162,164,164,164,167,168,166,164,166,
868166,165,158,115,102,103,101,95,93,91,90,87,86,84,81,87,96,94,95,97,98,100,100,102,104,105,105,106,109,109,110,113,115,116,118,118,119,119,118,119,119,121,123,123,122,122,122,123,123,122,121,124,125,126,125,125,128,127,126,126,126,124,129,114,65,62,65,75,114,153,203,216,226,226,223,222,222,214,205,201,196,188,181,174,168,160,155,147,154,159,158,157,153,151,149,142,135,135,144,132,138,149,192,147,82,75,71,117,141,134,139,140,138,138,138,140,137,137,137,138,141,140,141,141,141,141,141,139,140,140,141,142,140,141,142,140,139,141,139,142,142,140,140,140,140,141,141,142,141,139,141,139,138,138,138,137,136,135,138,138,135,135,134,132,132,130,132,135,134,134,137,133,131,131,127,127,125,127,130,130,132,132,129,129,127,128,126,124,124,125,123,121,121,122,122,119,121,117,117,119,118,116,116,115,211,209,208,207,211,182,183,208,152,152,174,168,166,155,144,128,111,115,120,123,125,128,131,131,133,137,135,136,136,138,141,144,145,145,150,152,154,155,157,159,160,160,160,162,164,164,165,165,165,166,163,162,162,161,165,138,101,101,99,98,92,91,90,87,85,84,82,83,93,92,91,94,97,98,100,99,101,103,104,106,111,109,108,109,113,116,116,116,116,118,117,116,117,118,118,118,119,121,120,120,119,120,120,123,124,126,125,124,125,125,124,123,124,123,126,106,69,74,59,73,138,193,216,226,232,230,226,226,224,216,204,201,196,188,183,177,173,167,160,158,158,161,168,168,163,155,151,148,143,140,144,152,185,189,169,128,129,79,73,88,133,133,136,136,133,136,138,135,135,135,134,135,135,135,135,135,135,137,138,137,138,138,141,140,139,139,141,137,138,137,138,139,139,139,141,141,139,139,140,140,140,138,140,136,134,135,135,133,133,134,135,134,132,131,132,131,133,131,131,130,130,133,130,127,130,130,125,125,125,126,127,125,126,126,125,124,125,121,125,123,123,122,121,121,121,122,120,118,117,118,116,115,116,114,115,115,215,214,214,212,213,215,176,184,154,115,155,172,165,161,152,136,117,116,120,122,126,129,130,131,133,135,137,136,139,141,142,143,146,148,151,152,152,156,158,157,158,161,160,161,163,165,165,166,167,168,168,168,169,169,174,157,106,99,98,97,95,92,91,88,87,84,82,81,86,93,90,92,94,97,97,98,99,100,103,105,106,106,107,106,109,112,115,115,114,115,117,114,114,116,115,116,116,119,119,117,118,120,120,118,121,122,124,123,122,121,123,121,120,120,123,98,73,75,62,104,176,216,226,229,229,226,226,224,219,211,203,201,192,189,184,177,176,174,166,163,160,166,171,167,164,157,152,151,149,144,149,171,193,210,191,169,200,125,75,80,140,133,132,134,134,135,133,132,133,133,132,133,133,131,133,133,134,136,136,135,134,135,136,135,138,137,137,136,138,136,137,138,138,136,136,136,137,136,139,138,138,134,134,133,133,133,132,133,132,132,132,131,130,129,128,129,128,129,127,128,128,128,126,129,127,125,123,125,124,124,123,121,123,124,122,120,117,119,119,120,120,118,119,119,119,120,116,117,114,114,113,114,114,112,111,108,217,218,218,216,217,222,226,174,131,157,125,154,167,161,158,141,117,116,122,124,127,130,129,133,134,135,137,137,139,144,145,145,148,153,154,156,158,159,159,158,161,163,163,166,168,168,169,170,170,171,172,173,173,173,176,153,105,103,98,95,96,93,90,88,86,84,82,81,81,90,89,89,91,93,96,97,98,100,101,101,101,104,105,106,108,108,111,111,112,113,113,114,114,113,113,114,114,115,115,113,115,116,115,116,116,118,120,120,120,119,119,119,117,117,120,94,68,73,81,137,198,233,229,227,226,222,220,208,197,195,187,178,172,172,171,171,175,177,171,163,161,170,171,167,161,151,150,150,152,148,151,179,199,206,209,204,217,211,127,94,137,137,127,129,131,130,129,129,130,132,130,129,131,131,131,131,131,131,130,132,132,132,130,131,132,134,131,133,132,133,134,134,132,131,132,134,134,135,135,136,135,134,132,131,129,130,130,131,130,129,129,130,127,125,127,127,127,128,125,124,127,125,126,125,122,123,122,123,124,124,123,122,121,121,118,117,118,117,115,114,114,117,118,117,116,117,115,115,114,113,112,112,110,110,109,107,215,217,216,216,216,226,253,196,141,176,136,153,166,160,159,142,117,123,126,127,130,132,132,137,138,139,141,145,147,151,152,152,153,155,158,158,161,162,163,164,166,168,169,171,170,170,174,172,173,172,172,174,174,174,177,144,105,101,98,97,97,94,91,88,85,85,82,80,78,82,91,91,93,96,98,100,101,102,103,105,106,109,109,109,110,112,113,113,115,115,113,115,115,116,115,114,114,114,115,114,115,116,115,117,115,114,117,118,119,118,118,118,117,117,120,91,59,69,105,155,212,238,234,229,225,213,202,191,177,169,166,162,162,165,165,168,175,176,175,165,161,169,167,163,154,144,139,134,135,137,
868146,167,212,231,234,223,205,229,208,102,124,145,124,128,128,126,127,129,127,128,129,129,128,128,127,127,127,126,126,129,127,127,129,129,128,128,128,130,128,128,129,128,127,128,128,128,127,128,128,129,130,129,129,127,127,131,127,127,126,126,125,126,125,123,123,122,125,125,122,121,123,123,120,120,122,122,121,122,121,119,117,118,120,118,116,116,116,114,113,112,114,114,116,114,113,112,112,112,113,114,109,107,108,108,108,107,212,212,212,212,212,235,252,178,179,179,147,170,163,162,160,138,121,129,130,133,135,140,141,144,145,147,149,149,150,153,154,156,154,155,159,160,160,160,162,165,166,168,168,170,170,170,173,173,173,173,174,174,175,175,174,131,103,102,101,98,96,93,91,88,86,85,81,80,78,76,82,85,85,87,87,88,90,91,92,96,100,101,101,104,106,108,107,108,111,111,112,111,111,112,113,113,112,113,114,115,116,116,116,116,118,119,123,123,121,121,121,122,123,123,126,93,53,75,118,168,224,244,236,230,222,210,203,190,170,159,158,161,165,166,168,172,178,178,175,163,160,165,163,156,147,138,128,118,117,112,118,134,156,212,236,238,213,210,220,140,107,127,126,126,127,126,125,126,124,123,125,124,124,123,124,123,123,123,122,124,122,123,124,123,124,123,123,122,124,123,123,124,123,125,122,122,122,120,122,120,122,124,123,121,122,123,121,123,123,121,119,121,119,119,119,119,118,118,117,117,116,116,115,114,114,117,117,116,116,115,114,115,115,117,113,115,112,110,112,111,110,112,114,111,110,110,109,106,107,109,106,106,106,106,105,104,225,226,227,228,233,248,240,158,187,181,159,169,162,161,156,133,125,132,135,138,142,143,146,147,147,147,148,149,154,155,155,156,156,158,160,162,162,163,164,165,166,167,168,169,172,173,173,173,171,173,174,176,176,176,170,121,103,101,99,97,95,94,90,87,87,85,81,80,78,75,74,73,75,76,78,79,79,81,80,80,80,81,82,84,84,87,86,86,88,87,87,88,88,87,89,88,88,90,90,91,91,90,91,91,94,94,94,95,96,95,94,96,97,95,99,86,53,78,136,189,236,243,235,229,220,214,208,193,177,171,166,165,165,165,170,172,183,187,182,164,157,159,153,146,139,132,128,118,115,109,111,112,123,152,206,235,232,216,225,173,125,132,136,135,136,135,136,137,136,135,133,131,130,130,131,132,133,131,129,130,130,132,133,132,131,131,133,133,132,130,130,131,131,132,130,127,127,127,128,127,127,127,127,126,127,128,126,127,126,124,123,124,122,121,121,119,120,120,119,120,120,117,118,118,116,
868114,115,113,113,114,114,114,112,112,111,111,109,109,110,110,108,108,107,107,105,107,104,104,104,105,105,103,104,103,99,99,229,229,231,234,240,255,219,154,193,169,166,167,163,162,154,132,130,134,137,141,143,144,147,150,151,152,149,150,155,157,157,158,160,161,162,162,164,166,166,164,166,168,170,172,171,171,173,171,172,174,174,176,176,178,164,113,102,101,99,98,96,93,90,87,87,85,82,80,76,74,75,75,75,76,78,81,81,82,83,84,84,84,86,85,86,89,90,88,88,90,89,87,87,89,91,91,91,91,93,92,92,93,93,92,93,92,91,91,94,93,94,93,93,93,95,93,73,88,158,213,246,238,235,230,230,223,212,189,159,147,143,143,153,161,161,165,182,205,201,179,158,150,144,139,130,126,123,124,128,136,145,144,139,136,156,211,232,222,225,194,140,130,108,108,108,109,109,106,107,108,109,110,111,110,110,113,114,113,113,112,113,114,114,115,116,117,116,116,114,113,113,114,114,113,115,116,116,116,115,118,119,117,116,117,118,118,118,119,119,116,116,116,113,112,113,113,115,116,116,118,118,116,116,117,119,116,115,115,116,118,118,116,116,115,115,114,112,112,112,114,114,114,113,109,108,109,107,107,107,106,106,106,107,103,100,98,230,231,234,237,244,255,186,167,194,162,170,165,164,161,146,130,135,137,139,143,146,147,148,151,152,152,151,154,156,157,159,162,162,164,165,165,164,165,166,166,168,168,171,172,171,173,172,173,174,175,175,175,175,179,157,108,104,100,100,98,97,97,93,90,87,83,82,80,77,74,74,75,75,75,77,80,82,81,82,83,82,84,85,85,88,90,89,89,88,89,89,90,88,89,90,90,91,92,93,94,91,92,93,94,94,93,93,94,95,94,95,95,95,94,97,82,70,114,176,227,246,243,241,243,242,215,163,117,88,74,80,97,106,128,149,154,180,217,216,195,166,142,136,127,119,119,123,118,119,123,133,142,148,145,139,171,224,228,216,195,147,158,110,105,107,106,107,105,105,105,105,105,105,106,106,107,105,105,106,107,106,106,106,105,106,106,105,105,105,104,104,102,103,103,103,104,105,104,105,106,106,103,103,103,101,101,103,102,101,100,101,102,100,100,99,99,99,100,99,98,97,97,96,96,96,96,97,96,96,95,94,95,95,96,96,96,95,94,95,93,94,95,94,94,93,94,94,94,93,94,94,93,94,92,91,92,232,234,236,237,251,247,162,182,185,162,172,165,165,158,134,134,136,138,141,144,147,150,151,151,152,155,157,158,160,160,161,162,163,163,164,165,165,166,165,168,169,168,171,171,172,173,173,174,175,175,175,175,175,179,147,106,104,100,100,99,97,97,95,91,86,84,83,80,76,75,75,75,76,79,80,80,82,82,83,83,82,84,84,85,87,88,88,88,89,89,90,90,90,92,91,91,90,92,93,93,92,94,95,96,95,95,94,95,95,97,95,96,96,95,96,75,67,129,192,234,242,244,244,248,233,147,103,129,83,62,69,100,116,103,129,147,175,219,220,199,164,136,127,113,109,112,100,89,83,70,71,84,108,137,142,146,197,224,215,191,170,185,120,107,108,108,108,108,107,107,105,105,107,107,108,108,108,108,109,107,109,110,109,108,109,110,109,108,105,106,107,106,107,108,106,106,108,106,108,108,108,108,106,106,104,103,104,104,103,103,102,102,103,102,101,102,103,101,102,101,100,98,98,98,96,97,98,96,96,96,94,95,95,94,94,93,91,93,91,91,90,88,89,89,89,87,86,87,87,87,85,84,84,85,85,84,213,216,214,233,255,225,158,195,175,169,169,166,166,153,134,133,134,139,143,146,148,149,149,152,156,159,160,160,163,165,166,167,168,168,169,169,171,171,170,170,171,173,173,173,173,173,174,175,177,177,177,178,179,178,140,106,106,102,99,99,99,98,95,90,86,85,83,79,75,75,74,75,76,78,80,81,82,84,84,83,83,83,85,86,88,87,88,89,89,89,91,90,90,91,93,92,92,93,95,95,95,94,95,94,96,96,95,96,96,96,97,96,98,97,97,76,72,132,202,237,242,250,246,246,190,105,168,213,119,65,81,115,122,110,124,141,172,224,221,205,165,132,123,109,102,96,87,100,87,58,54,71,86,95,130,135,156,205,218,180,168,191,125,105,109,107,107,109,107,106,108,107,108,108,108,108,108,108,111,108,109,110,109,110,110,109,108,107,106,106,109,109,107,108,108,107,108,108,107,106,107,108,109,107,105,105,105,106,105,104,104,104,105,104,103,101,100,101,102,102,102,100,99,97,97,99,99,100,98,98,96,96,96,96,95,97,95,94,93,93,92,92,91,89,91,91,90,89,89,90,89,89,88,86,86,86,231,232,233,246,255,200,165,197,169,173,166,167,167,147,134,136,138,142,145,149,150,149,151,156,161,166,167,167,170,171,172,172,172,174,175,176,176,176,175,176,177,177,176,177,178,177,177,178,179,180,180,180,181,175,130,107,105,102,100,101,97,97,97,93,86,84,83,78,75,75,76,76,79,79,81,82,83,83,83,83,85,85,86,86,88,89,90,90,90,88,90,91,90,91,92,93,93,93,94,95,96,94,94,96,96,94,97,98,97,97,98,98,98,97,99,80,85,139,208,238,245,252,242,231,152,150,203,211,162,110,117,136,121,115,125,144,197,226,222,206,169,139,118,109,101,93,90,112,98,60,54,79,114,90,99,131,137,171,216,184,151,192,140,105,109,109,109,108,109,108,109,109,109,109,108,108,108,110,112,110,110,112,110,110,110,109,108,108,107,107,109,109,110,108,108,107,107,110,108,108,108,108,108,108,106,107,106,106,106,105,106,105,106,104,102,102,100,102,102,102,101,102,101,98,99,100,100,98,98,99,98,98,96,97,96,96,94,95,93,92,93,91,90,92,94,92,91,90,91,90,88,88,87,88,87,86,244,245,249,253,253,177,183,192,166,172,165,166,162,140,133,136,141,144,146,148,149,151,156,162,169,176,178,177,178,177,177,176,176,179,180,180,180,180,179,180,180,180,180,180,180,177,179,181,182,184,184,182,182,176,120,110,107,103,101,100,97,94,94,91,88,85,83,8
8680,76,76,76,76,78,78,81,82,83,84,83,84,85,86,86,87,89,89,89,90,91,90,90,92,91,91,93,93,94,93,96,95,96,96,95,95,97,98,97,98,98,98,97,99,99,98,101,81,94,151,209,237,241,246,236,202,185,238,212,189,176,164,146,137,130,123,126,184,227,225,217,194,160,160,175,122,101,92,93,107,117,86,84,116,124,97,88,118,129,153,201,200,133,186,156,106,111,112,110,111,111,111,111,111,111,110,111,111,111,111,113,113,111,115,112,112,111,110,111,108,109,110,109,109,108,109,111,111,110,110,110,110,109,109,110,109,108,108,107,108,108,106,107,106,105,105,105,104,103,101,101,103,103,102,102,101,101,101,102,99,98,99,98,99,100,99,98,98,97,96,95,95,94,93,93,92,92,92,92,89,89,90,89,89,88,87,88,86,242,244,249,255,232,159,194,181,166,170,166,167,157,134,132,136,140,145,147,149,150,152,159,166,179,185,185,185,185,186,187,185,183,185,186,185,183,182,182,183,182,183,184,184,183,183,185,185,186,186,184,181,184,172,116,109,105,103,101,101,96,94,92,89,86,85,83,79,77,77,76,78,79,80,81,81,83,83,83,84,86,86,86,88,91,88,89,90,90,90,91,93,91,91,95,95,93,95,97,96,95,95,96,96,97,99,99,99,99,97,98,99,99,98,102,87,101,160,210,240,242,238,217,210,232,231,219,205,189,175,161,150,144,142,181,222,226,226,218,194,165,148,198,185,108,98,98,103,112,119,118,119,113,106,90,100,124,138,168,204,135,172,176,113,113,111,112,112,113,113,113,113,112,114,115,113,115,117,113,115,115,114,115,113,113,113,111,110,111,112,112,109,109,112,111,111,111,112,113,112,113,113,111,112,113,110,111,111,110,109,108,107,107,106,106,106,106,103,104,103,103,103,103,103,103,102,101,100,101,102,101,99,98,100,99,98,99,97,98,96,93,96,93,92,93,91,91,91,91,90,89,88,88,87,88,88,247,247,251,255,208,162,201,171,168,168,167,168,150,131,135,136,140,147,149,149,150,154,160,172,182,185,188,190,191,192,193,193,190,189,190,188,184,185,185,186,186,185,187,188,188,187,189,188,188,186,184,184,190,163,111,109,105,103,101,101,100,95,94,90,85,86,84,80,77,77,78,80,81,81,81,81,83,83,84,85,87,86,87,87,89,91,91,93,93,93,93,94,94,93,96,96,96,97,97,97,96,96,99,100,98,99,99,99,98,98,99,100,100,101,103,92,113,159,209,239,236,218,205,217,242,229,216,209,196,180,167,154,160,194,217,222,231,241,226,195,171,161,142,157,130,106,105,110,117,125,131,129,126,120,103,90,115,132,147,201,144,169,162,113,115,114,113,114,115,115,117,117,114,115,116,115,117,118,117,118,116,115,116,114,115,116,115,117,115,112,112,112,113,116,112,114,115,114,114,114,115,114,114,111,113,114,112,113,111,111,108,107,108,107,107,108,107,107,107,106,104,103,105,103,103,103,102,102,102,101,102,100,98,99,100,98,99,98,97,95,93,95,95,95,94,91,92,92,91,91,89,89,88,88,88,87,234,243,253,255,181,181,198,166,170,166,166,165,141,130,135,137,140,145,147,149,151,153,163,176,182,184,186,188,193,195,196,197,195,192,190,187,187,187,187,187,188,188,188,188,188,189,190,190,190,187,187,186,189,149,107,108,105,103,103,100,98,97,96,92,86,84,82,78,77,78,78,80,80,80,81,83,84,83,85,85,86,87,89,90,91,91,92,92,95,95,95,95,96,96,96,96,96,97,97,98,98,99,97,99,101,101,101,101,102,101,100,102,103,102,104,97,122,161,216,237,223,212,209,217,240,227,217,211,193,177,172,178,197,214,217,226,242,233,220,193,169,162,141,132,135,121,112,113,122,128,134,138,137,134,123,100,105,123,147,200,148,167,151,110,116,116,115,115,115,116,118,119,119,118,118,120,120,118,116,119,120,120,119,117,117,119,120,121,120,116,115,115,117,118,117,118,117,116,117,116,115,115,117,116,114,115,113,114,113,111,113,112,110,109,111,110,109,109,108,107,106,103,106,106,103,104,105,103,103,102,104,102,100,100,101,99,97,102,101,98,95,96,99,95,94,94,93,91,90,92,92,91,90,89,89,88,225,241,255,241,170,200,190,165,169,166,169,160,134,132,134,137,142,147,149,152,152,154,168,179,182,183,185,189,194,195,194,196,196,194,192,192,193,191,191,190,190,192,191,189,189,188,188,189,190,190,189,188,190,137,107,107,106,104,103,101,99,98,96,93,88,84,84,81,78,77,78,79,79,81,82,83,84,85,86,86,86,88,89,90,93,93,92,94,94,94,96,95,96,97,96,97,98,98,98,99,100,99,99,99,100,102,101,102,102,103,103,101,103,104,104,100,129,166,226,238,221,214,214,214,217,215,209,198,185,181,192,200,207,210,214,233,236,207,199,195,168,152,140,138,131,127,121,115,116,126,132,135,134,132,129,117,111,118,148,198,167,149,136,112,118,119,118,119,120,119,119,120,120,12
8681,120,120,123,122,120,121,124,123,122,121,123,122,122,122,120,120,119,119,120,119,120,120,118,119,118,119,119,118,119,119,119,118,117,116,117,115,115,115,114,112,113,112,112,112,110,110,107,107,108,107,106,107,107,105,105,104,105,103,102,101,101,100,100,100,100,99,98,97,97,96,94,95,92,92,90,91,91,90,91,91,90,88,254,253,255,218,172,212,181,165,167,166,169,154,132,134,138,140,144,148,149,152,157,159,173,180,183,184,188,193,197,198,196,195,196,196,195,194,195,196,194,192,193,193,191,192,191,190,190,191,193,192,191,191,190,129,108,108,106,105,103,100,99,97,96,93,89,85,84,81,77,78,79,79,80,82,85,85,84,86,86,87,87,89,90,91,94,93,94,95,95,95,97,97,97,97,98,97,98,98,99,100,101,100,99,101,102,103,102,102,102,101,103,103,102,103,104,101,136,175,235,238,224,220,217,215,214,209,201,190,188,196,201,200,199,189,207,243,207,117,68,182,179,143,109,103,134,130,129,122,117,122,125,128,133,163,186,202,208,192,181,202,179,149,137,117,118,119,121,121,120,121,120,123,124,122,123,123,124,126,126,125,126,126,125,125,126,124,124,125,123,124,123,122,123,123,122,122,122,122,125,125,122,122,122,122,121,121,121,120,120,117,116,116,117,115,114,111,111,113,113,112,111,109,110,109,109,109,109,107,104,106,108,105,102,103,103,103,103,101,101,100,100,98,99,98,97,96,93,93,91,91,91,94,94,92,91,90,253,253,255,189,183,210,170,170,166,167,167,146,128,133,139,144,146,147,149,152,156,161,176,182,184,187,191,196,197,197,196,194,196,197,196,191,192,195,195,196,197,195,194,194,193,194,194,196,195,195,192,193,183,121,109,107,107,106,103,99,98,98,94,92,89,86,84,82,78,78,80,79,81,82,84,85,85,85,87,88,88,90,92,93,95,94,96,97,97,97,98,98,98,99,98,98,99,99,100,100,101,101,102,103,101,102,103,103,103,103,104,106,104,103,102,108,139,176,242,238,226,224,223,221,218,211,203,202,201,201,199,194,185,169,212,236,147,44,95,209,176,130,54,52,122,132,130,127,124,125,125,128,131,164,222,253,255,248,205,199,190,156,140,121,121,121,122,121,124,126,124,124,127,128,128,127,126,127,128,129,127,126,129,130,130,129,128,127,125,125,126,125,126,126,127,126,124,123,125,125,127,126,124,125,124,121,120,122,121,119,119,119,120,118,118,116,
868114,114,114,115,113,110,111,112,110,110,111,109,107,107,107,106,106,105,103,102,102,102,102,102,101,101,101,100,99,99,99,98,94,93,92,93,94,92,89,90,254,255,248,174,200,202,168,171,166,166,164,139,130,136,139,142,146,150,152,155,154,164,179,182,187,191,193,195,195,196,197,196,198,197,194,193,195,194,196,199,198,198,198,196,195,195,196,197,196,195,193,196,172,116,112,109,107,105,100,98,101,99,94,91,88,89,86,80,79,77,78,81,82,84,84,84,85,86,87,89,90,91,92,94,95,95,95,98,99,98,98,99,98,99,98,100,100,101,102,101,103,102,102,102,101,105,105,105,106,105,105,105,107,107,104,112,133,176,247,240,232,232,232,227,219,216,214,211,204,198,193,184,173,156,209,217,130,76,181,207,164,128,66,56,117,134,126,131,129,130,138,133,130,130,151,193,214,223,222,206,200,164,137,125,127,126,126,128,126,127,128,128,129,128,128,130,131,128,129,130,131,130,132,130,131,132,130,132,131,128,128,130,130,130,130,129,130,128,127,128,131,130,126,126,128,126,124,124,125,125,122,120,121,120,120,121,121,119,115,117,116,114,114,116,114,116,113,110,111,110,108,107,105,105,104,105,102,103,103,103,101,103,102,100,100,99,99,99,97,95,93,92,94,92,90,90,254,255,226,172,223,193,168,170,167,166,157,133,132,134,138,141,145,149,151,153,157,171,180,184,190,192,195,194,195,197,195,195,195,195,194,195,198,197,198,197,197,197,197,196,195,195,197,196,195,195,194,198,162,111,113,110,108,105,103,100,101,98,96,92,88,86,84,80,78,78,80,83,83,84,84,86,87,88,87,89,90,92,92,94,97,96,98,100,100,100,99,100,100,99,99,100,100,102,102,102,103,102,104,104,104,105,104,106,106,105,106,108,107,105,106,109,135,187,250,241,240,241,236,226,223,222,224,202,197,197,185,173,165,151,194,202,149,177,204,198,162,127,108,91,121,126,117,132,133,137,147,150,137,133,132,139,164,195,214,215,202,156,129,129,129,131,130,130,130,130,132,133,130,131,132,132,133,132,133,133,135,133,132,135,134,135,136,135,138,135,132,131,132,131,134,132,132,132,132,131,130,132,131,129,131,129,127,127,126,126,126,126,123,123,123,122,123,120,121,118,118,117,116,118,119,116,113,115,114,112,109,108,109,109,108,108,109,106,105,105,104,104,103,103,102,100,100,100,99,98,98,96,93,92,92,92,254,255,201,192,238,187,169,169,165,165,148,131,132,135,140,140,145,148,152,154,160,172,178,186,191,195,195,194,196,198,202,201,198,198,197,196,197,198,197,195,196,197,196,196,197,198,197,195,195,197,196,198,151,109,112,111,106,104,103,103,101,98,96,91,89,86,82,82,78,81,82,84,84,84,85,87,87,88,90,93,92,92,94,96,98,97,98,101,101,100,100,102,102,102,102,101,102,103,102,101,102,104,105,106,105,105,107,107,107,107,108,108,107,106,110,129,159,202,251,243,245,242,235,229,227,226,228,207,202,195,
868180,167,158,157,169,171,162,199,200,184,153,119,101,101,109,108,115,130,138,140,143,151,146,137,134,134,137,161,196,211,204,150,126,131,133,133,132,132,132,133,133,134,135,137,137,137,135,137,139,138,137,137,137,138,139,138,138,138,139,140,137,133,133,135,137,137,135,134,135,135,132,132,134,135,134,131,128,128,128,129,130,127,126,125,128,127,125,122,122,121,121,121,118,119,119,117,118,120,117,114,112,111,109,110,111,110,110,110,109,104,105,106,104,105,104,103,101,101,99,97,98,98,97,96,96,92,255,253,181,222,237,177,170,167,167,164,142,131,134,140,141,144,147,149,152,154,161,173,181,188,194,197,199,202,203,202,202,201,200,200,199,198,198,198,195,194,194,195,195,197,199,199,199,197,196,198,197,198,135,110,112,111,107,105,102,101,101,98,95,91,90,86,84,81,80,81,83,84,84,85,86,87,88,89,91,92,92,93,97,96,98,98,100,100,101,100,103,102,103,103,104,103,102,103,103,102,104,105,106,106,106,107,107,107,109,109,107,108,109,117,194,220,209,226,251,246,245,240,234,229,229,228,224,216,203,194,178,162,156,158,163,169,178,193,180,153,137,121,98,86,93,106,117,130,140,141,142,142,144,140,134,136,134,137,162,200,206,177,148,133,134,135,133,134,135,135,135,138,138,138,139,139,139,139,139,138,139,140,141,139,138,139,141,142,142,141,139,138,140,141,142,140,139,137,136,137,134,132,135,136,133,132,131,132,133,131,131,129,128,128,128,128,127,127,125,124,125,123,122,122,120,120,123,120,118,116,117,116,114,113,112,111,112,112,111,110,108,107,104,104,103,104,103,102,102,101,98,99,97,95,96,94,255,234,178,250,225,172,173,168,169,160,135,132,137,141,141,145,150,150,154,155,165,177,185,193,195,198,204,207,207,206,201,199,199,199,198,198,198,197,196,198,199,197,198,201,200,199,198,196,197,197,199,194,126,111,112,109,106,106,102,100,101,96,92,91,88,84,84,82,82,84,84,83,84,85,88,89,90,92,91,92,94,95,96,97,100,100,101,101,101,102,104,104,103,104,105,103,104,106,107,106,105,105,105,104,107,109,109,108,108,108,110,113,106,158,223,229,249,246,250,246,244,241,236,232,233,227,223,215,200,190,175,163,160,169,181,185,177,170,156,138,127,122,112,95,91,103,116,127,138,143,142,143,143,142,140,136,134,133,143,178,203,208,182,136,138,137,138,137,138,138,140,140,141,140,140,141,142,141,142,141,143,142,142,142,143,143,143,142,144,140,141,139,141,143,141,139,139,141,141,142,139,137,139,138,137,137,137,138,137,134,135,134,129,131,131,130,130,129,127,128,126,127,126,123,123,122,122,122,122,121,118,118,119,116,112,114,115,113,111,110,110,109,107,106,107,107,105,105,102,103,102,102,97,96,95,95,255,208,195,255,213,172,172,169,168,151,131,133,138,140,143,147,150,151,152,158,171,181,186,192,195,201,205,206,207,207,204,200,199,198,200,200,198,198,200,201,200,201,203,202,201,198,197,198,199,198,202,185,120,112,111,109,107,104,105,104,101,97,93,92,88,86,83,82,83,84,85,86,85,86,88,90,93,92,91,93,95,95,97,98,100,100,100,103,102,103,102,103,102,104,106,106,105,105,106,107,107,105,104,107,108,110,110,109,108,108,110,111,106,168,195,196,247,242,248,244,243,241,238,234,232,227,222,214,199,185,168,166,175,183,185,175,169,160,144,128,131,135,121,99,91,95,105,116,131,140,139,141,141,141,139,138,139,134,137,165,199,167,157,141,137,139,138,139,140,142,143,140,143,142,141,140,141,141,142,143,143,145,145,144,147,146,144,143,145,143,143,144,144,144,143,140,141,142,140,141,141,142,141,140,140,139,139,138,138,138,139,135,134,133,130,131,131,129,130,128,128,127,126,126,126,124,122,124,123,123,121,120,119,119,117,117,115,111,111,112,111,110,110,109,108,106,105,105,105,104,103,102,100,100,96,94,255,192,226,255,200,173,169,169,166,146,132,135,137,140,145,149,150,152,154,162,175,180,185,191,198,202,204,207,209,209,204,202,204,204,202,201,201,200,200,200,201,203,203,201,200,201,200,200,199,198,204,174,113,113,111,110,105,104,105,105,102,100,95,92,88,86,83,83,85,84,84,85,86,87,88,91,93,94,95,94,95,96,98,100,101,101,101,102,104,104,102,102,105,107,106,106,106,107,107,107,107,107,108,109,110,110,109,109,108,109,110,112,108,160,205,207,235,235,248,242,243,239,240,237,232,226,218,213,199,181,174,179,180,179,174,169,166,163,151,126,127,135,134,108,96,91,93,101,112,129,139,140,142,139,138,139,139,137,136,160,197,170,163,142,138,141,141,140,141,142,144,143,145,146,146,146,146,145,146,147,145,146,149,149,147,147,148,147,146,146,146,147,148,146,146,144,145,146,145,144,143,142,144,141,138,140,140,141,139,137,138,139,137,134,132,132,131,130,131,131,130,129,129,128,128,127,124,123,119,119,121,121,121,120,119,115,114,114,114,114,114,113,110,109,109,108,108,106,106,106,103,102,101,100,97,95,243,192,252,247,191,172,170,168,163,140,134,137,139,142,144,149,151,153,155,165,177,183,187,195,200,200,201,207,211,209,206,206,207,207,203,202,203,203,203,203,203,204,203,202,200,199,200,201,200,198,205,161,112,113,111,110,106,105,105,103,101,99,94,92,89,88,87,84,85,85,86,86,88,89,92,94,95,96,94,94,97,98,98,100,101,101,101,102,103,102,102,104,107,107,105,106,106,107,107,108,107,111,111,110,109,110,111,110,109,110,110,112,109,162,203,211,226,236,248,241,243,238,239,238,232,224,217,210,194,184,187,
868176,174,173,168,173,180,176,169,150,141,141,138,126,113,106,96,94,97,109,130,140,140,140,140,141,141,142,135,157,196,175,164,143,142,142,143,142,142,141,144,145,145,146,147,148,149,150,148,148,150,148,148,149,149,150,149,148,149,149,149,147,147,148,146,147,148,148,147,148,145,143,147,145,141,143,143,142,139,140,141,139,137,135,135,134,130,132,134,134,131,130,131,131,131,129,127,126,122,121,121,121,123,123,122,118,114,115,115,114,115,115,114,109,109,110,109,108,106,107,106,102,100,100,100,98,220,208,255,234,181,173,171,169,160,136,135,138,139,145,147,148,152,151,157,169,180,186,192,198,201,201,203,207,208,207,208,208,208,207,204,204,205,205,205,205,204,204,203,200,199,199,199,200,201,199,203,145,112,114,111,109,108,107,107,104,102,98,97,94,89,88,87,84,84,86,85,87,91,91,91,93,94,94,93,95,97,97,100,101,103,103,101,103,104,105,104,106,105,106,107,107,108,107,108,108,110,112,110,111,110,111,111,111,112,112,113,113,109,165,202,220,226,242,246,243,245,238,237,237,231,223,217,208,190,189,187,163,165,173,186,197,175,159,157,151,144,137,132,122,119,117,106,96,99,98,111,135,139,138,141,146,145,146,138,158,195,171,160,143,142,143,145,144,143,145,146,146,146,147,147,147,146,149,149,148,150,151,150,149,150,151,152,149,149,151,150,149,150,148,148,149,152,150,147,148,146,147,149,151,150,149,145,142,143,142,141,138,138,140,139,137,134,135,137,136,135,133,131,130,132,130,130,130,128,129,125,123,125,123,122,123,119,117,116,118,114,113,115,114,110,110,109,111,107,105,108,105,104,102,102,101,205,232,255,216,180,173,170,170,153,133,136,138,140,145,150,150,152,151,158,172,184,188,193,200,204,207,211,211,213,214,211,209,209,207,204,205,207,204,205,205,205,204,202,201,199,199,199,200,200,199,198,135,115,114,112,110,108,107,107,104,101,99,95,94,90,88,87,86,86,84,85,88,91,91,92,94,94,92,96,97,98,99,102,102,103,103,105,104,105,105,106,106,106,107,109,109,108,109,109,109,109,111,112,111,112,114,112,112,111,113,115,112,111,167,206,229,217,244,246,240,242,237,237,236,230,224,219,206,189,185,170,148,157,188,188,157,154,147,133,118,107,109,113,113,109,111,113,107,105,100,102,128,140,139,142,145,146,143,143,161,194,170,156,144,143,145,145,145,147,148,148,149,148,149,149,149,149,151,152,151,151,153,152,151,151,152,153,153,150,152,152,151,149,150,151,152,151,152,152,152,152,152,152,152,150,150,149,146,144,142,140,138,140,141,142,142,141,140,139,136,136,137,136,134,134,133,132,132,130,129,129,127,127,127,126,122,121,119,119,119,116,115,117,114,114,111,111,109,110,109,109,111,107,105,105,102,207,253,253,206,177,172,170,168,145,134,137,140,142,148,151,152,154,155,163,174,185,191,197,207,211,214,211,214,216,216,210,207,206,207,207,207,207,208,207,207,206,204,205,203,200,199,199,202,200,200,189,128,118,114,112,110,108,109,106,104,102,101,97,94,90,88,88,86,85,85,87,90,91,92,93,94,93,93,95,97,99,101,101,103,104,104,106,106,106,106,107,107,108,107,106,109,110,109,109,108,108,110,113,114,112,114,115,114,112,112,113,114,111,159,220,205,197,246,246,239,237,238,239,236,229,224,221,204,184,172,149,134,146,164,147,164,188,178,160,144,133,131,122,113,102,95,102,109,108,103,98,113,134,138,137,145,150,142,146,166,187,166,155,146,143,145,146,146,147,148,147,148,149,152,152,151,153,152,153,153,153,153,153,152,153,153,150,151,152,153,152,152,154,152,153,153,152,152,153,153,154,154,155,153,152,150,151,151,145,145,144,144,141,142,142,142,142,141,141,140,140,139,137,137,135,135,136,136,133,130,131,131,130,128,126,124,123,120,119,118,117,117,116,116,116,112,113,111,110,111,108,109,108,108,107,105,225,255,244,196,174,170,169,164,139,134,137,140,143,150,151,153,154,156,165,177,189,197,206,209,214,217,210,209,213,213,208,205,206,207,208,209,208,208,209,209,206,204,203,204,203,202,202,203,201,203,176,118,118,113,113,110,109,108,105,103,103,102,97,93,90,88,87,85,85,86,90,91,92,92,93,94,95,95,96,99,99,102,103,105,104,104,106,107,107,105,108,108,108,108,108,110,110,110,110,111,110,111,113,113,113,113,114,114,114,114,115,115,114,130,220,199,204,243,246,242,240,238,238,236,230,224,222,199,166,146,137,115,111,142,187,215,205,192,169,158,155,148,136,127,119,101,88,89,95,102,103,106,126,135,136,142,150,149,149,173,182,156,161,144,145,146,146,147,148,148,149,149,151,151,152,153,153,154,154,154,156,156,155,155,154,154,152,153,154,155,155,154,154,156,153,153,154,153,154,154,154,155,155,155,153,152,151,152,150,148,147,146,146,144,143,143,139,140,143,144,142,139,137,136,135,134,136,135,133,131,131,132,132,130,128,126,124,123,121,119,118,119,117,116,115,115,114,112,109,108,110,109,107,107,108,104,248,255,235,188,171,170,168,159,137,135,136,139,143,149,152,153,155,157,170,183,193,200,205,212,219,218,214,211,213,216,211,205,206,210,207,208,209,209,210,209,208,207,203,201,203,205,203,203,202,207,164,114,118,114,112,111,110,107,105,103,102,100,98,95,90,89,87,84,87,90,90,91,92,92,95,94,94,96,97,98,100,101,103,105,106,105,106,106,107,106,107,108,108,109,110,110,110,110,110,111,112,112,112,113,115,115,115,114,114,114,114,117,117,113,188,237,225,238,245,239,241,241,236,237,231,224,222,193,153,135,133,145,179,215,224,209,194,179,157,145,138,133,133,134,129,121,109,88,87,102,107,105,126,134,134,138,146,150,152,177,180,177,173,144,147,146,148,148,149,150,151,153,154,154,153,154,155,156,156,156,155,156,157,156,155,156,156,156,156,157,157,155,154,156,156,153,154,155,156,155,157,156,154,156,154,154,152,152,152,150,148,149,152,147,147,147,144,142,144,145,142,141,138,139,139,137,137,136,135,135,133,132,132,132,130,128,127,125,122,120,120,118,118,116,
868116,115,116,115,113,110,112,109,108,110,108,107,253,255,224,181,172,170,166,149,135,137,138,140,143,148,152,154,154,160,177,188,194,203,209,219,222,219,218,217,218,216,210,206,208,214,210,207,211,210,207,206,205,207,205,201,202,205,204,203,203,209,152,112,117,112,110,109,109,107,105,104,101,98,98,94,91,91,87,86,88,90,91,92,94,92,92,95,96,97,97,99,102,104,104,105,105,106,106,106,108,109,107,108,109,110,111,110,109,109,110,111,113,114,114,115,114,115,116,116,115,114,114,116,116,116,168,238,219,234,246,239,243,245,235,236,231,224,217,195,165,144,157,191,210,213,210,198,184,166,143,120,114,114,116,122,120,122,123,112,104,110,111,112,131,131,135,140,140,147,158,174,188,231,172,145,149,149,150,150,150,151,151,153,154,155,155,156,156,157,158,156,157,156,156,158,157,155,155,157,154,157,157,157,157,156,157,156,156,157,157,158,158,158,156,156,156,155,153,153,153,152,150,149,149,149,149,146,147,147,144,142,146,145,140,139,139,137,137,137,136,137,135,130,131,132,130,133,130,128,126,124,121,119,120,117,117,116,119,119,114,111,111,111,110,109,107,106,255,252,209,174,171,168,165,142,136,137,140,142,144,148,153,153,155,163,182,189,196,207,214,220,218,213,213,218,220,217,212,209,210,215,216,215,214,208,206,205,205,204,205,202,201,202,203,204,205,206,141,114,115,112,111,109,111,108,104,103,101,98,96,96,92,89,87,88,88,89,91,91,91,93,94,93,97,98,99,101,102,104,105,106,107,107,108,105,107,109,108,108,110,111,109,111,110,110,112,114,115,114,115,115,115,116,117,116,116,115,116,117,118,116,181,241,214,227,247,243,249,247,238,233,233,224,211,194,172,165,185,201,206,206,202,192,180,162,144,119,109,108,113,127,125,124,125,122,117,115,115,122,134,133,135,136,138,141,157,175,184,220,182,149,153,151,150,151,152,153,153,154,155,155,156,156,158,157,158,158,157,156,156,156,157,158,157,158,157,156,158,159,157,158,158,158,159,159,159,158,157,159,159,157,157,157,155,154,155,154,152,149,148,150,149,148,149,147,145,146,148,145,146,142,141,140,139,137,138,137,136,136,133,130,132,132,131,130,129,126,122,123,123,120,117,118,118,117,117,114,112,113,110,109,108,107,255,245,197,172,167,167,159,139,137,138,142,143,148,153,154,155,156,167,185,192,197,206,213,213,215,223,223,225,220,220,219,214,215,215,216,212,209,208,209,208,206,205,206,206,206,206,206,206,207,197,130,116,114,112,112,111,110,108,105,103,100,99,96,95,93,89,89,89,87,89,90,92,93,95,96,95,98,98,97,100,101,102,106,106,106,106,107,108,109,108,110,110,111,112,112,112,110,112,112,114,115,115,115,115,117,117,116,115,115,116,118,119,120,116,175,223,186,209,248,247,251,247,239,231,231,225,213,195,175,181,197,206,205,202,195,184,174,161,138,117,110,112,120,130,130,128,127,126,123,122,122,125,134,136,133,131,139,145,156,175,179,209,201,149,150,151,151,151,153,154,155,154,155,157,156,157,158,157,158,159,159,157,158,157,158,159,160,159,157,156,158,159,158,159,160,159,160,160,159,159,159,158,159,158,157,158,156,155,155,154,153,152,149,149,148,150,152,148,146,147,148,148,147,146,144,144,144,141,139,138,137,137,136,134,133,131,130,130,130,129,127,125,125,122,121,121,118,117,118,118,117,116,115,110,107,107,255,235,185,169,167,166,151,134,136,139,143,145,151,154,155,156,158,168,186,196,200,204,211,213,227,237,231,221,213,219,219,217,215,214,215,212,210,211,211,207,205,206,206,209,210,211,211,208,209,187,123,119,116,113,111,111,110,107,105,103,101,97,96,91,92,90,89,90,89,89,90,91,94,97,96,97,97,97,98,100,103,103,105,106,107,108,107,108,108,109,111,111,111,112,112,113,112,112,112,113,114,116,116,116,115,115,115,116,116,117,118,119,121,119,123,139,135,180,249,251,251,248,241,231,227,226,216,196,182,188,200,208,204,200,193,176,167,163,148,136,132,118,115,123,130,129,126,125,123,123,124,126,134,136,133,131,132,145,154,171,172,162,177,152,150,151,152,153,154,154,156,157,155,155,158,159,159,160,159,160,162,159,159,159,160,160,160,160,159,158,160,161,160,159,162,162,161,160,161,161,160,159,160,160,159,159,158,157,155,156,155,155,153,148,147,150,151,150,147,148,149,145,146,146,147,145,146,144,140,140,139,137,137,137,136,131,129,131,132,129,130,127,125,125,124,123,121,119,120,118,117,117,115,113,109,108,254,220,174,168,167,164,146,134,138,141,143,147,150,153,156,156,158,170,187,197,200,207,213,218,228,228,220,217,218,216,215,218,222,220,217,217,217,216,209,207,208,210,210,209,209,211,211,207,211,176,117,120,118,115,112,110,109,107,106,103,101,98,97,92,91,89,87,90,89,88,90,91,90,95,96,97,97,98,99,101,103,103,105,106,107,108,108,109,109,111,112,111,112,112,113,111,111,113,113,116,115,115,116,116,116,115,115,116,118,117,118,119,120,119,119,122,119,158,242,251,252,248,244,231,226,226,217,196,188,193,204,208,203,201,196,187,184,185,173,161,145,125,112,115,120,124,123,123,122,123,124,125,135,135,133,133,131,138,151,165,169,151,153,152,151,153,154,154,155,156,156,157,159,158,158,159,161,161,160,
868162,162,161,162,161,161,161,162,163,162,161,161,162,159,159,161,161,163,162,164,163,162,162,162,161,159,158,158,158,156,156,156,155,155,151,152,153,152,151,149,148,148,147,148,146,147,147,145,145,146,145,144,141,141,137,135,135,131,132,132,131,130,130,129,128,126,125,124,122,122,120,115,115,115,116,111,111,248,200,169,168,167,162,142,135,138,139,142,148,149,153,154,156,160,175,188,195,201,205,213,221,220,215,211,214,209,213,217,216,219,220,217,216,218,219,213,209,209,210,209,207,208,210,209,204,211,161,115,119,117,114,112,110,109,108,105,103,99,98,96,92,91,88,87,89,89,89,91,91,92,95,96,97,98,101,101,102,102,104,106,106,108,109,110,110,110,111,112,113,113,112,113,112,111,114,111,114,114,115,114,116,117,116,116,118,118,117,118,120,120,120,121,124,122,145,234,249,250,247,243,232,228,225,215,202,199,197,200,205,210,212,203,196,195,186,166,154,145,131,119,112,111,115,119,121,122,123,125,126,131,132,132,132,130,138,149,157,167,160,153,152,152,153,153,155,155,155,157,158,159,159,158,159,159,161,161,163,162,163,164,163,162,163,163,164,163,163,162,160,163,162,162,162,162,163,162,162,163,161,159,160,160,160,160,160,158,157,158,157,156,154,152,153,153,153,152,149,149,151,150,148,146,148,147,149,148,145,142,142,143,139,138,137,136,134,133,132,129,130,129,128,127,128,125,124,123,122,121,119,117,116,115,112,240,185,168,169,166,156,138,135,137,140,145,148,151,154,154,155,165,182,188,197,209,216,223,222,220,220,219,227,222,221,216,214,215,218,213,210,209,216,220,212,208,210,208,205,206,206,204,202,205,145,115,119,116,112,112,111,109,107,103,102,98,97,97,92,90,87,86,88,90,90,91,92,93,96,96,97,99,99,102,102,102,104,107,107,108,109,110,111,111,111,112,111,112,112,113,113,112,113,105,113,113,113,116,119,118,117,117,117,118,118,120,120,121,121,123,124,125,133,223,250,246,245,241,235,229,222,214,206,205,200,199,207,218,216,210,197,188,175,158,151,147,134,126,116,108,110,115,118,120,122,124,126,129,133,130,130,131,136,144,152,161,153,152,152,153,153,153,156,158,157,156,157,157,157,158,160,160,161,161,162,163,163,162,164,164,163,164,165,163,162,162,162,164,164,164,163,164,163,162,162,163,163,161,161,160,158,160,160,158,158,157,158,157,157,155,154,155,154,154,153,150,152,151,150,147,147,147,148,149,146,143,143,142,141,140,139,138,138,134,130,131,132,133,131,129,128,126,125,122,122,122,120,118,117,115,113,223,176,169,169,165,151,136,137,139,143,147,149,151,153,153,154,169,186,193,200,214,218,231,224,220,226,231,235,228,220,220,223,221,218,215,211,211,216,220,215,208,205,206,205,206,205,202,206,200,134,116,117,114,113,112,110,109,107,104,102,99,96,97,93,90,89,87,88,89,90,92,93,94,96,95,97,98,100,101,102,104,105,107,108,108,109,110,110,109,111,112,112,113,113,112,114,113,112,107,115,114,115,114,101,108,116,117,116,119,120,120,121,121,122,124,125,127,126,205,250,244,243,240,234,229,222,216,216,213,209,214,217,221,213,207,199,186,169,153,144,140,133,124,117,107,103,110,116,118,121,125,127,130,132,131,129,129,134,141,146,160,155,153,153,152,154,157,157,158,158,158,159,160,159,159,160,161,162,160,161,162,162,162,162,162,163,164,165,166,163,163,163,163,164,163,164,163,162,164,162,162,164,163,162,161,159,160,160,159,160,159,157,157,157,157,158,157,154,155,156,151,151,150,148,147,147,148,150,149,148,146,144,143,141,141,140,139,138,137,133,131,133,134,132,130,129,129,125,125,123,122,119,118,118,114,114,203,169,170,169,163,142,135,139,143,145,146,148,149,149,152,158,173,188,195,205,211,210,219,220,225,231,235,233,223,225,232,229,226,218,215,217,221,213,211,208,205,204,206,208,206,205,204,209,191,122,117,118,114,114,111,109,107,106,104,102,98,97,95,93,90,88,88,89,89,91,93,93,94,95,95,96,99,101,102,102,104,105,107,106,108,110,108,110,110,111,111,113,113,114,113,112,113,105,102,115,114,113,95,79,110,116,116,118,119,119,121,122,122,123,124,124,128,123,183,249,241,242,236,234,231,221,219,221,219,219,225,225,222,216,207,199,178,158,145,132,130,128,125,117,104,99,104,113,117,118,124,128,130,130,130,129,129,132,134,140,159,155,154,154,154,156,157,157,158,159,160,160,158,158,161,162,162,162,164,164,164,163,163,162,161,163,165,167,166,164,164,164,165,164,164,164,164,164,164,165,162,163,164,163,162,163,161,159,160,159,159,160,159,158,158,158,158,156,156,158,155,153,149,151,150,150,152,151,149,150,147,146,143,142,144,144,140,140,138,136,132,134,133,131,130,130,129,128,127,124,122,121,119,119,118,115,188,167,169,169,160,139,137,139,141,145,146,147,147,150,154,161,176,190,195,205,215,212,218,231,238,239,236,225,216,221,220,219,220,213,220,224,223,221,210,207,207,208,210,208,206,207,209,217,179,117,117,118,116,
868113,112,107,106,105,103,101,100,96,93,92,92,89,89,88,91,92,92,93,94,93,98,100,100,100,102,102,104,107,107,107,108,110,110,112,111,109,112,113,113,112,113,113,113,87,98,115,105,96,92,112,118,116,115,118,119,119,122,122,123,122,125,126,129,124,162,233,232,240,237,233,228,220,218,219,220,220,226,230,219,210,202,189,166,149,136,122,122,126,125,118,105,102,102,107,114,117,122,129,130,129,128,127,127,130,130,137,158,151,154,154,156,157,157,157,158,159,159,160,161,161,162,163,163,164,165,165,165,165,164,166,164,163,164,166,168,166,164,164,163,163,163,164,163,164,163,164,164,163,165,163,162,162,161,160,160,161,161,160,159,158,157,157,158,159,156,157,156,155,153,153,150,150,150,150,149,149,150,150,145,143,142,142,141,140,139,137,135,133,134,133,132,129,130,128,126,123,124,122,122,119,118,115,175,168,169,168,154,136,137,140,142,145,148,147,148,154,156,166,179,189,194,200,215,225,227,235,237,239,236,228,219,216,213,215,218,222,227,226,225,230,224,217,212,207,210,208,210,215,215,219,165,116,119,118,116,113,110,108,108,105,103,101,100,96,94,93,91,87,89,88,89,91,92,93,93,94,98,100,99,99,100,103,105,106,107,108,108,108,111,111,110,110,112,113,114,112,113,111,103,93,104,106,92,90,108,113,115,117,117,117,120,121,122,123,123,124,124,127,128,125,146,226,231,233,233,230,225,220,218,216,216,219,221,222,216,200,192,164,151,140,124,116,121,127,123,114,106,104,101,102,106,112,122,127,128,128,127,127,124,128,126,134,158,152,154,154,156,157,158,156,157,159,160,161,163,163,164,163,164,165,164,165,165,165,166,166,165,164,164,165,166,166,165,165,163,163,164,163,162,164,165,166,165,165,164,163,164,162,161,161,160,159,161,160,
868159,157,158,158,157,157,156,157,157,156,153,155,153,153,150,149,150,151,151,149,147,146,143,140,141,141,138,135,135,135,135,133,131,129,130,130,127,125,125,124,121,121,118,116,170,169,169,165,145,135,139,141,142,145,148,148,151,154,158,170,182,188,194,202,210,230,236,237,240,242,241,239,236,230,224,226,234,235,225,223,227,230,229,221,215,217,217,213,216,220,218,218,153,114,119,119,115,114,111,109,108,106,104,101,99,95,94,92,89,87,89,89,89,90,92,94,94,96,98,98,99,99,99,103,105,105,107,108,108,108,110,111,112,111,113,114,112,112,114,108,83,84,111,98,77,102,111,111,114,116,117,119,120,120,122,123,124,124,125,125,127,128,133,217,241,230,230,228,223,218,215,214,216,216,215,213,207,198,178,154,138,126,118,116,119,120,118,110,103,103,102,102,105,107,120,129,128,128,126,126,124,125,119,139,159,152,155,156,156,156,158,158,158,159,161,161,161,163,164,164,164,164,164,165,164,163,164,165,166,164,164,165,164,164,165,166,165,165,164,165,165,164,164,165,166,164,163,164,163,163,164,162,161,160,161,161,159,158,160,158,158,158,158,159,157,157,156,154,152,153,150,148,150,152,149,148,148,146,145,142,141,142,141,137,136,135,135,134,132,132,131,130,129,126,125,122,123,123,119,117,169,169,169,163,141,137,141,143,144,147,150,152,153,156,160,171,182,189,201,224,228,232,238,236,240,243,245,244,242,237,226,233,236,231,221,222,226,227,222,212,216,220,219,219,220,220,220,213,140,116,119,117,116,115,111,109,106,105,103,100,99,96,92,93,89,87,88,88,90,91,90,94,93,96,97,98,98,99,100,103,103,105,106,105,109,110,110,112,111,112,113,113,113,113,114,112,101,87,117,81,85,114,111,112,114,117,118,120,120,121,124,124,125,126,126,127,129,130,127,197,246,234,231,228,222,215,212,210,212,213,211,207,202,190,166,147,126,116,115,115,115,112,109,108,104,104,103,103,107,104,119,129,127,127,125,123,121,121,117,144,160,152,154,155,157,155,156,158,159,159,161,161,162,163,163,164,164,164,165,165,165,165,165,164,165,165,168,166,165,165,166,167,166,165,165,164,166,165,163,164,167,166,165,164,165,167,164,162,162,163,163,163,162,160,160,159,158,159,157,157,159,159,156,155,151,154,153,150,149,150,150,149,148,146,145,144,143,143,143,142,138,134,136,136,133,133,132,131,129,128,127,123,122,122,121,117,169,169,169,157,137,140,140,144,146,147,152,154,155,156,161,175,183,194,209,227,236,237,239,240,243,245,244,242,241,233,219,223,223,223,225,232,230,227,222,218,219,219,217,219,221,219,218,203,127,118,117,117,117,113,109,110,106,105,101,100,98,95,92,91,87,87,89,90,92,92,92,93,93,95,98,99,98,100,101,102,102,105,105,108,108,111,112,112,113,112,113,112,114,114,114,114,114,94,97,78,95,107,111,116,117,116,118,120,121,122,123,124,126,127,126,127,128,131,126,177,249,238,233,230,223,213,209,209,209,208,205,198,191,186,163,131,115,111,114,118,117,103,100,99,100,100,103,103,107,106,117,128,128,126,123,120,119,120,119,149,158,153,153,155,157,157,155,158,159,160,160,161,163,162,163,164,165,165,165,165,165,165,167,164,164,164,166,167,165,165,167,167,166,166,166,165,165,166,165,165,165,165,164,164,164,167,165,162,163,163,164,164,163,163,161,159,159,159,159,157,157,159,156,156,157,159,155,152,150,151,150,148,149,148,146,146,145,141,141,143,141,136,136,136,135,132,133,131,128,129,127,125,123,122,122,118,169,168,169,150,137,141,141,144,147,149,150,154,157,156,164,175,187,200,209,219,235,239,241,242,246,246,242,241,241,235,230,229,231,235,235,237,235,233,233,228,220,217,218,220,219,214,215,188,119,119,118,117,116,112,110,108,105,103,100,98,96,95,94,90,87,89,89,89,90,93,91,93,92,97,98,98,99,99,100,101,101,104,106,107,109,110,112,111,111,112,113,113,113,114,114,113,115,92,60,68,101,114,116,115,116,118,118,119,121,123,123,124,124,124,124,126,128,131,128,159,243,239,238,234,229,218,210,210,208,207,207,203,192,185,164,137,121,121,123,128,124,109,108,106,104,102,105,107,112,111,113,124,126,125,120,119,118,118,122,152,156,153,154,153,156,156,157,157,158,159,159,161,161,162,163,163,162,164,165,164,165,166,165,164,165,164,163,166,165,165,166,164,165,166,166,166,167,167,165,166,165,165,165,163,163,163,164,163,162,163,163,163,163,163,163,162,160,158,158,158,158,158,157,157,158,157,155,155,152,149,150,150,148,148,148,147,145,145,147,144,141,138,137,136,135,133,132,130,129,127,128,126,122,121,121,118,169,169,166,145,138,142,143,145,148,149,150,155,158,156,166,180,193,205,217,233,238,238,240,241,245,245,242,242,242,243,242,241,240,238,236,235,235,236,235,228,221,220,225,223,214,215,218,171,118,118,117,117,117,114,111,106,106,102,100,98,97,96,93,91,88,88,89,90,90,91,93,93,93,96,97,99,100,100,101,100,101,104,105,106,107,109,112,110,111,112,113,112,112,113,113,113,114,94,81,81,104,114,114,114,115,116,118,119,121,124,124,124,123,124,125,125,127,130,131,146,235,246,237,237,234,228,218,216,216,215,210,207,201,187,173,157,145,144,142,142,138,132,128,121,115,111,110,108,112,116,119,124,123,123,122,118,118,116,
868128,154,154,153,153,155,156,156,156,157,159,159,159,160,161,162,163,162,163,164,164,164,164,165,165,165,165,164,164,164,164,166,166,164,164,165,165,165,167,167,166,166,166,165,165,165,164,162,162,163,162,162,163,164,163,163,162,162,159,159,159,159,159,157,156,158,156,157,156,154,151,151,150,149,150,149,147,145,145,146,147,144,143,137,135,136,134,133,130,130,130,126,127,126,121,120,120,118,170,170,160,142,140,142,143,145,149,150,153,157,158,158,168,185,198,210,228,238,240,238,235,233,240,244,241,241,241,241,242,241,240,239,238,237,237,236,228,222,220,225,228,222,217,215,217,158,117,119,116,116,116,114,110,106,103,100,99,98,96,92,90,89,88,87,88,89,91,91,92,93,94,95,97,98,98,99,100,101,102,104,105,107,108,110,111,111,111,111,112,112,112,114,113,112,113,109,107,88,107,113,112,113,115,116,119,121,122,125,124,124,125,124,125,126,128,131,134,141,225,250,239,239,239,234,228,221,218,219,212,205,199,192,183,167,156,154,149,148,144,140,137,131,121,118,115,115,117,120,125,126,124,123,120,118,117,116,136,158,154,154,153,154,155,157,157,158,158,159,160,161,161,163,161,162,163,164,164,164,164,165,165,165,165,164,164,164,165,166,166,166,165,165,165,165,165,167,167,166,166,166,166,166,164,163,162,163,164,161,161,164,165,164,162,162,161,160,159,159,159,157,157,156,155,155,155,155,154,153,151,149,152,150,150,147,145,145,146,144,143,142,138,135,133,133,131,132,131,129,129,128,126,123,120,121,169,170,156,140,140,142,145,146,152,152,151,157,158,160,173,188,198,213,229,238,241,242,237,233,237,241,242,242,241,242,240,235,233,235,237,235,232,228,224,222,215,216,220,218,218,218,214,145,117,118,116,115,117,112,110,106,100,100,99,97,127,122,95,93,91,91,89,88,88,89,91,92,95,96,95,97,98,98,99,102,102,104,105,106,108,109,111,112,111,110,111,112,110,111,112,112,112,105,105,88,104,114,113,112,116,116,118,121,123,123,123,125,124,125,126,127,130,131,134,135,217,255,242,238,238,239,235,225,221,220,215,206,202,199,187,175,166,157,148,149,143,140,135,131,124,121,120,119,120,121,126,126,126,123,120,120,117,120,145,157,154,154,154,154,154,157,157,158,158,159,160,160,161,161,161,164,164,162,164,164,164,165,165,166,165,164,164,164,164,165,164,166,166,165,164,163,165,166,166,165,166,165,165,165,164,163,163,162,163,161,161,162,163,164,163,161,160,
868160,159,159,158,159,158,157,156,155,155,155,154,155,154,152,152,150,149,151,148,146,146,144,143,144,141,137,133,133,133,132,130,129,127,129,128,126,123,121,169,169,151,139,142,142,145,148,151,152,151,157,157,161,177,193,202,215,230,234,236,241,238,231,229,230,234,238,239,241,236,233,231,230,230,229,228,226,224,222,219,220,218,215,215,220,207,132,118,116,115,115,116,114,107,102,100,100,100,97,158,147,122,125,129,135,134,129,123,112,102,91,93,96,95,97,96,97,99,101,102,103,104,106,108,109,110,110,109,110,111,111,110,111,111,111,106,103,102,90,100,114,111,112,116,116,119,120,122,122,123,124,125,126,127,127,129,131,133,133,214,255,244,238,237,241,239,231,223,222,220,215,207,201,188,178,170,165,152,148,144,139,133,130,129,124,119,122,122,123,127,125,124,121,120,120,119,123,151,156,153,152,153,155,155,157,157,157,156,158,160,160,160,160,161,162,163,163,163,163,164,164,164,165,165,164,164,163,163,164,166,165,164,164,166,165,165,165,165,165,166,165,165,164,164,164,164,163,163,163,162,163,163,164,163,161,162,161,159,159,158,158,157,157,156,155,156,156,154,153,154,153,151,151,147,148,147,147,146,142,143,143,141,138,137,134,133,131,131,129,128,128,127,124,123,121,170,164,144,141,143,143,146,150,153,152,152,157,156,163,181,197,210,225,231,230,231,240,242,237,229,230,235,239,239,239,238,238,237,232,230,229,227,222,218,227,235,231,225,229,229,223,195,123,117,116,114,114,115,113,106,102,101,100,98,98,153,138,146,143,139,142,152,155,158,159,155,128,98,94,95,96,97,97,100,101,102,103,104,106,108,108,109,109,109,110,109,109,109,112,108,82,87,96,100,93,96,113,111,112,115,116,118,120,120,121,122,124,126,125,127,128,129,131,133,132,211,255,246,238,237,240,240,237,229,222,220,214,211,206,189,177,171,166,157,147,141,139,133,128,128,129,124,124,125,126,128,126,122,121,119,120,120,131,157,155,153,154,153,153,154,155,157,157,157,157,159,159,161,161,160,161,162,162,162,163,163,164,164,165,165,164,163,163,163,164,166,165,164,165,165,165,164,164,164,165,165,164,165,164,166,166,164,163,162,163,163,163,162,164,164,162,161,159,160,158,158,158,158,157,156,155,155,155,154,153,153,152,152,150,150,150,147,147,146,143,144,142,140,138,138,134,132,132,132,131,130,127,128,127,124,122,169,157,140,142,142,144,148,151,152,152,153,156,158,170,186,201,215,229,232,233,237,239,241,242,241,241,242,240,240,240,240,239,239,241,231,224,227,228,231,235,236,230,228,230,231,228,180,119,119,117,116,114,115,112,107,101,99,100,97,103,143,141,147,144,158,162,159,150,149,152,154,156,147,94,93,94,95,97,98,100,100,102,104,105,107,108,108,107,109,109,108,108,108,112,93,57,74,65,68,77,92,111,112,111,114,116,117,120,118,121,121,124,125,125,127,128,130,130,133,132,210,255,248,239,236,239,239,238,234,225,222,217,214,207,191,179,173,167,160,154,144,138,137,131,127,126,127,129,127,127,127,124,122,120,121,121,119,131,159,156,153,156,154,153,154,156,157,157,158,157,158,159,159,160,160,161,163,163,162,162,163,163,163,163,164,165,164,164,164,164,165,164,164,163,164,165,164,163,164,164,163,164,164,164,166,165,162,162,162,163,164,165,163,164,163,161,160,
868159,159,159,157,158,157,157,158,156,154,154,154,154,153,152,153,150,148,148,147,147,147,145,143,142,142,141,140,137,134,132,132,132,129,130,129,128,125,122,169,151,139,142,142,146,149,153,153,154,154,156,161,175,188,203,215,228,235,241,242,242,242,241,241,240,241,240,241,244,242,240,241,240,233,236,240,236,234,235,235,236,235,232,232,231,165,118,121,118,117,115,114,108,104,94,98,96,95,109,133,136,130,133,132,131,133,139,140,147,150,156,156,117,90,92,93,96,97,96,98,101,103,105,105,107,109,106,107,109,108,108,109,112,77,53,68,70,120,72,75,98,109,111,114,114,117,119,119,120,124,125,124,125,126,128,130,131,134,133,212,255,248,237,235,238,239,239,236,226,222,220,214,210,199,186,176,168,160,157,146,135,133,133,129,124,129,130,129,127,126,124,123,122,120,119,119,129,157,157,151,154,153,152,152,155,156,156,157,157,157,158,159,160,160,160,161,162,160,160,163,162,163,163,164,164,165,163,163,163,163,165,163,162,162,164,165,164,163,162,162,162,163,164,165,165,161,162,163,162,162,163,163,162,163,160,160,160,159,158,157,158,158,158,158,157,156,157,155,156,154,154,152,153,150,147,148,147,145,144,142,140,140,143,140,138,138,132,129,131,131,129,128,127,125,121,166,145,139,142,143,147,152,153,154,156,155,155,163,180,193,205,217,229,240,246,249,247,244,243,242,244,245,241,242,244,242,241,240,239,239,239,238,233,232,234,235,234,233,236,237,231,153,118,121,117,117,116,114,108,101,88,95,96,95,115,130,142,158,162,155,151,150,162,158,146,152,158,156,140,99,89,93,95,94,98,99,101,104,106,106,106,107,108,105,105,107,108,109,112,78,42,68,96,114,78,81,148,132,109,114,115,117,118,118,118,122,125,125,125,125,128,130,131,133,134,215,255,248,237,235,238,239,240,236,231,226,221,217,212,203,192,182,173,164,157,151,141,137,133,131,128,129,129,129,126,124,125,121,121,121,121,120,128,157,159,152,151,152,151,152,153,155,156,156,157,158,157,159,159,160,161,161,160,161,161,162,162,162,163,162,163,164,163,162,162,164,165,162,162,163,163,163,164,162,163,162,162,163,163,164,163,161,161,162,161,161,162,161,161,162,162,160,159,160,159,158,158,159,158,158,157,156,157,156,156,155,153,153,153,150,146,147,147,147,145,145,144,142,142,142,139,136,135,133,130,132,131,130,128,128,123,160,140,141,143,143,148,153,155,156,156,156,157,166,182,194,207,224,236,245,248,248,246,246,241,239,247,246,242,241,244,242,240,241,240,240,240,239,235,233,234,237,235,230,229,231,220,138,119,118,115,114,114,113,105,96,75,93,96,97,115,130,133,151,155,155,162,162,161,156,146,151,158,154,142,116,92,92,92,93,98,97,99,102,104,103,102,101,103,102,101,105,108,108,111,119,112,108,109,100,95,106,146,128,109,112,116,119,117,118,119,120,123,125,126,127,128,129,132,133,134,218,255,247,239,237,237,238,236,237,237,232,224,220,213,205,194,184,177,167,159,155,146,140,138,134,130,129,129,128,126,124,124,121,119,120,118,118,130,157,159,152,151,151,152,153,154,153,156,156,156,157,157,157,158,159,159,159,160,160,160,161,161,161,162,163,162,163,163,162,162,164,164,161,161,162,162,162,163,163,163,161,162,161,163,164,162,161,161,160,161,161,161,161,160,160,161,162,161,159,159,158,159,158,158,158,157,156,157,156,155,154,153,153,151,150,147,147,147,146,146,144,144,142,141,141,139,136,135,133,132,130,130,131,129,128,127,155,138,143,144,145,147,154,157,156,157,159,161,172,184,198,211,227,238,245,247,246,246,248,239,232,244,243,240,240,242,241,241,241,241,238,240,237,228,228,229,232,233,230,228,233,206,128,120,117,114,115,112,109,103,88,66,83,93,97,113,93,110,123,112,181,129,126,137,138,142,151,158,154,139,127,101,89,92,92,95,95,94,97,98,99,97,95,96,99,101,103,99,119,127,153,170,128,130,125,119,114,107,108,110,106,103,106,116,120,121,120,124,125,125,125,126,129,131,131,137,224,255,245,239,237,234,234,234,236,238,232,226,221,214,204,194,185,176,167,159,153,146,143,141,136,131,130,127,126,125,124,124,120,119,117,118,120,130,156,157,150,152,152,152,152,153,155,154,155,157,156,156,157,158,158,159,160,160,159,159,161,160,
868161,162,161,162,161,161,161,163,164,162,162,161,160,161,162,162,162,161,160,161,161,161,161,162,163,162,159,159,160,160,160,159,160,158,160,160,159,158,158,159,158,158,157,156,156,157,156,155,154,153,153,152,149,146,147,147,147,145,144,143,142,140,141,140,138,133,133,133,131,130,130,130,127,127,148,139,144,146,146,149,154,157,155,156,160,164,177,187,199,215,226,235,243,247,248,249,248,243,241,241,240,236,235,238,239,240,241,241,239,238,232,229,234,229,225,227,232,231,229,191,122,120,115,115,113,110,106,101,80,56,61,82,101,103,59,73,77,92,165,84,93,137,136,140,151,160,153,137,129,113,89,90,92,93,95,94,92,91,90,90,93,95,100,103,104,102,114,116,135,150,118,115,111,106,102,98,100,101,103,103,99,95,116,121,119,122,124,125,124,126,128,131,128,142,235,255,246,236,233,234,236,234,232,232,231,228,219,213,205,196,186,175,167,158,152,145,143,139,135,132,126,123,123,124,123,123,121,121,119,119,118,127,154,157,148,150,151,151,153,153,154,154,156,155,155,156,157,157,158,157,158,159,160,160,160,158,159,161,160,161,161,159,159,162,162,163,161,160,
868161,160,161,160,161,161,159,159,160,160,159,161,160,160,159,160,159,159,159,160,160,160,160,159,159,159,159,158,157,158,158,156,154,156,155,154,155,154,152,153,150,148,147,146,145,146,145,144,142,140,139,140,137,134,133,134,133,132,129,127,127,127,143,140,143,145,146,152,156,155,154,157,159,166,178,189,201,217,230,239,243,248,250,250,247,241,240,240,241,240,236,234,237,240,241,239,237,232,231,233,236,233,233,235,235,234,225,173,117,118,115,114,112,107,106,99,72,51,51,68,106,81,36,40,40,56,57,45,80,131,133,139,152,160,151,135,128,122,95,86,90,89,91,90,90,89,90,91,95,99,103,105,107,100,124,162,159,159,137,142,138,134,135,137,110,105,102,93,91,97,117,119,116,120,123,123,124,124,127,128,126,147,242,253,243,234,231,232,234,232,233,230,228,227,220,213,206,198,185,176,167,155,150,144,138,138,136,130,123,122,123,122,123,123,120,120,119,118,118,128,151,158,148,148,149,150,153,153,152,153,154,154,154,155,156,157,157,156,157,158,159,159,158,158,159,160,160,158,159,159,160,162,161,160,160,160,160,159,160,160,160,160,160,160,160,160,160,159,158,159,159,159,159,159,159,159,159,161,160,
868159,158,158,158,157,157,157,157,157,155,155,154,154,155,153,151,150,151,150,148,147,145,145,144,142,142,141,139,139,136,134,131,132,130,130,130,128,126,125,141,143,145,146,149,155,157,156,156,158,158,170,183,194,205,223,236,240,242,247,250,250,247,243,244,245,247,246,244,241,240,240,240,237,231,225,228,232,230,234,236,236,234,236,224,155,116,117,115,114,110,105,105,95,65,49,49,70,107,75,65,123,104,120,135,51,79,122,122,136,153,158,150,132,126,123,97,81,84,85,84,84,86,86,88,91,94,101,104,105,106,110,166,196,169,150,133,177,180,171,174,181,123,114,113,109,99,104,118,117,119,121,124,124,126,127,129,130,122,159,251,253,243,236,229,228,228,228,229,229,227,223,218,211,208,199,185,173,166,156,147,140,137,137,132,127,124,121,121,122,121,122,120,120,118,119,118,125,146,158,149,148,147,148,149,151,152,153,154,153,153,155,155,156,156,155,157,158,157,157,157,158,158,159,158,158,158,158,160,161,160,159,159,159,159,159,160,160,158,158,159,159,159,160,159,159,159,158,159,159,159,158,159,159,159,159,158,157,157,157,158,157,157,158,158,155,155,155,155,154,153,152,152,150,151,149,149,148,144,144,146,143,142,140,140,138,135,131,131,131,131,130,126,127,126,125,141,141,145,149,153,156,158,156,159,159,160,172,187,199,206,223,235,238,244,245,248,251,250,250,251,251,250,248,246,242,241,240,237,235,236,233,228,229,227,230,233,231,232,236,217,142,119,118,116,114,109,106,100,90,58,44,46,72,99,71,89,150,113,159,158,70,95,120,120,135,151,157,147,130,124,121,91,75,79,79,79,82,85,87,88,90,94,101,103,107,107,107,168,204,180,153,138,179,198,181,174,165,117,109,109,106,108,113,110,109,110,110,112,117,117,111,112,114,142,215,252,252,244,239,229,225,226,227,227,228,223,220,215,209,207,200,185,173,163,157,146,139,136,132,130,127,123,121,120,122,121,120,119,117,116,118,117,119,139,164,145,146,148,149,149,151,151,151,153,153,152,154,154,154,156,156,157,156,156,157,158,158,158,159,158,158,157,157,159,158,159,160,159,158,159,159,159,159,158,158,158,158,159,159,159,159,157,158,158,159,158,157,158,159,158,158,158,157,157,157,157,156,157,158,156,154,154,154,154,153,155,154,152,151,150,149,147,147,146,143,143,142,142,141,139,138,136,133,133,132,130,129,129,126,124,126,142,142,145,151,154,153,156,157,158,160,164,176,189,200,214,231,239,242,247,249,250,251,251,252,252,253,251,247,241,237,241,243,238,239,241,239,231,228,231,231,227,227,231,234,205,130,119,117,116,111,107,105,97,84,52,41,44,76,86,62,94,146,107,160,133,69,100,122,125,141,153,155,144,127,123,116,88,78,80,79,78,77,77,80,81,86,94,100,103,105,104,106,150,172,147,118,113,122,122,114,111,105,99,97,98,102,103,103,101,98,95,92,101,108,102,121,156,183,219,229,252,251,244,238,231,226,226,227,226,223,220,218,215,212,206,196,184,173,161,151,142,138,135,129,127,126,123,121,120,120,120,118,117,117,115,116,116,118,133,183,173,145,145,145,149,150,150,151,151,152,151,153,153,153,155,155,156,155,156,158,158,156,155,158,158,157,157,158,157,156,158,159,160,159,159,160,158,157,158,158,157,158,158,159,160,159,156,157,158,157,158,159,157,157,158,158,157,157,157,158,157,156,157,156,155,156,154,153,154,154,154,152,151,149,151,149,147,147,147,145,142,142,140,139,139,137,138,135,133,132,131,130,129,124,126,126,142,142,146,152,155,155,157,158,158,159,169,183,193,208,230,239,246,249,252,252,252,252,252,251,251,251,251,248,243,243,245,244,241,240,240,239,237,236,234,229,229,232,232,233,193,123,119,115,110,106,106,100,93,82,47,40,43,77,85,60,102,145,106,163,111,74,109,124,128,144,157,155,141,128,128,119,104,105,106,109,111,108,103,104,106,99,97,100,101,101,102,104,101,94,89,89,92,92,93,96,95,95,96,93,93,100,101,99,95,84,81,79,85,106,167,208,217,255,228,230,254,249,244,236,230,226,223,224,222,219,216,216,212,209,201,195,183,172,161,146,138,133,129,127,127,125,123,120,117,117,118,117,117,118,116,115,115,117,138,173,214,216,189,174,149,145,149,150,151,150,151,152,152,152,154,153,154,156,155,155,156,156,156,156,156,156,157,158,157,158,158,158,157,158,159,159,159,158,157,157,157,158,158,158,159,157,156,157,157,156,157,158,157,157,158,158,157,157,157,155,155,156,156,156,154,157,154,154,155,153,154,152,152,151,151,151,148,146,145,145,142,143,141,140,138,138,138,135,134,131,131,130,130,124,123,126,144,142,146,152,155,156,158,158,158,160,171,188,199,215,235,241,246,252,252,253,254,252,251,251,251,250,250,250,248,246,245,242,241,239,238,239,240,240,239,236,237,235,232,230,177,118,117,113,111,108,104,89,77,70,43,37,45,77,80,58,104,140,111,168,94,76,75,84,125,142,153,150,127,117,133,146,148,157,157,162,166,170,169,152,131,111,103,102,100,101,103,101,94,89,87,87,85,87,88,89,89,89,93,93,93,82,82,83,102,118,120,152,189,192,219,210,240,255,219,235,251,248,245,236,228,223,224,220,218,217,215,213,209,203,201,194,183,172,157,143,136,130,129,127,126,126,122,119,117,117,116,116,117,117,117,115,114,116,139,165,198,232,223,219,210,165,144,143,145,149,151,152,151,152,152,153,154,154,155,153,154,156,156,153,155,154,156,157,157,157,157,157,156,157,158,158,158,157,155,156,157,158,157,158,157,155,156,157,156,156,157,156,156,156,157,156,156,155,156,155,155,155,155,155,155,156,154,153,154,152,152,154,153,149,150,149,149,148,146,144,143,141,140,139,139,139,137,134,133,132,131,130,126,124,126,125,144,144,149,153,155,156,157,157,159,161,174,189,204,218,233,240,246,252,252,253,253,252,252,251,251,251,250,249,245,244,243,240,240,240,239,240,240,240,241,241,241,235,227,231,163,114,116,114,111,110,105,77,56,51,40,36,47,80,77,60,112,137,116,159,84,66,26,74,131,140,151,151,97,112,136,152,99,54,71,81,104,115,110,99,94,97,97,89,88,89,88,86,84,85,83,82,81,80,80,83,85,83,79,81,85,119,154,190,213,222,231,246,218,202,214,218,252,255,222,236,250,244,242,234,226,223,223,218,217,215,212,209,204,200,196,190,182,169,156,144,137,132,127,126,125,125,122,117,116,117,116,116,117,118,117,115,114,116,136,159,188,222,220,197,224,211,191,181,163,148,146,147,148,150,151,151,153,153,152,152,153,154,154,154,155,155,155,155,156,154,153,154,156,157,157,157,156,156,156,157,156,157,157,157,156,155,155,155,155,156,156,156,156,156,155,155,156,155,155,155,156,154,154,155,155,154,153,153,153,152,154,153,151,149,148,149,149,145,143,143,143,143,140,140,139,137,137,134,132,132,129,130,126,125,126,124,144,147,151,153,155,156,157,158,159,164,178,191,205,222,236,243,248,252,252,253,252,252,251,251,251,251,250,249,246,244,240,240,239,239,241,241,240,240,241,241,239,236,229,228,151,115,115,114,110,109,101,70,49,43,38,34,51,82,74,62,125,129,127,151,74,82,93,113,131,143,154,149,93,117,139,149,130,94,97,99,105,101,97,95,94,93,93,86,86,84,81,81,82,82,82,79,79,79,75,69,74,89,123,164,196,222,223,221,224,228,237,219,194,205,217,228,252,25
8685,225,231,251,242,238,233,226,224,220,215,214,211,208,206,199,198,193,189,179,168,158,145,138,132,128,127,126,124,121,116,117,116,117,116,116,117,116,116,115,116,129,148,180,217,222,200,208,211,199,229,230,214,191,174,158,149,145,147,152,152,151,151,149,152,152,153,153,152,152,153,154,155,155,154,155,156,156,156,154,153,156,156,155,156,156,155,156,154,154,153,153,154,155,155,155,155,155,157,156,154,155,154,154,153,153,153,153,154,152,153,154,154,153,150,149,150,149,148,148,145,142,142,142,143,140,137,138,136,136,134,132,133,129,128,127,124,125,123,145,148,151,153,154,156,158,159,158,166,179,191,206,225,237,243,249,252,252,252,252,251,251,251,252,251,251,248,246,242,238,238,238,240,240,239,239,240,241,241,239,240,236,213,137,117,113,112,110,108,97,65,50,42,36,30,59,83,71,64,134,122,135,135,72,98,118,122,131,147,156,144,89,122,139,143,151,133,103,98,97,94,92,90,89,91,91,85,84,84,83,83,84,81,76,67,62,71,91,125,170,206,223,226,219,211,215,226,235,235,228,202,196,211,219,232,249,255,232,219,252,243,236,230,226,222,218,214,209,208,207,202,197,195,191,184,178,168,158,147,141,136,130,127,126,124,120,119,116,114,115,116,117,117,115,116,115,115,126,136,174,213,219,210,205,213,186,211,209,224,232,230,225,205,181,159,150,149,150,147,148,150,151,152,152,152,151,153,155,156,155,154,154,155,155,154,154,153,154,155,154,154,154,156,156,154,153,154,153,152,154,155,155,153,155,156,155,155,155,154,153,154,153,153,152,152,152,153,152,152,152,149,149,149,148,147,146,146,144,143,142,142,138,138,138,137,133,132,131,130,129,129,126,124,125,123,147,150,152,153,156,158,157,158,159,169,182,195,209,230,239,245,251,252,252,252,252,252,251,251,253,252,250,250,248,242,238,239,239,240,240,240,238,238,240,242,242,241,240,203,127,118,114,111,109,107,91,62,48,39,35,35,66,83,67,66,136,117,142,118,75,104,115,121,131,149,159,136,89,126,141,141,145,123,97,90,89,86,85,83,83,85,85,83,83,84,81,77,72,67,79,112,149,187,213,225,227,217,213,213,216,222,230,235,234,228,208,199,195,215,220,233,247,255,244,206,244,239,231,227,226,220,216,212,206,205,204,198,194,191,191,183,176,166,158,148,143,138,132,127,125,125,120,118,115,114,115,117,115,114,114,114,116,114,118,121,174,206,213,210,211,214,187,198,217,177,186,195,222,241,240,232,211,168,147,151,148,150,149,150,150,150,151,153,152,153,152,152,153,154,154,153,153,154,155,153,153,154,154,154,154,153,153,153,153,154,154,155,155,154,154,154,153,154,154,153,153,153,152,154,152,152,152,153,153,152,151,150,150,149,148,148,147,147,146,145,142,141,138,137,137,137,135,134,131,131,129,128,129,126,123,121,149,151,152,154,158,159,159,158,162,176,188,201,219,236,245,248,252,252,252,252,252,251,251,251,251,251,251,250,248,240,234,235,238,239,236,232,223,227,228,226,225,229,235,189,121,116,114,110,109,106,84,57,43,35,34,36,70,81,63,69,143,116,160,112,78,107,116,121,130,148,157,125,88,128,143,142,146,119,94,89,87,85,84,84,83,84,83,77,71,69,78,94,122,161,202,227,230,225,220,216,215,218,222,223,222,228,226,227,233,208,200,196,196,222,223,231,244,248,252,203,223,237,229,228,224,219,216,211,205,202,198,195,192,190,188,183,173,167,158,147,140,136,134,129,127,121,120,117,116,115,116,115,115,116,115,113,115,115,110,119,182,202,209,207,210,219,177,186,217,205,160,164,172,210,243,244,235,208,141,143,151,148,149,148,149,151,150,151,152,151,150,152,152,153,153,152,153,153,153,153,153,153,153,153,151,152,151,151,153,154,154,153,153,153,153,153,152,153,154,152,152,153,154,152,152,152,152,152,153,151,150,151,149,148,150,148,147,147,145,143,143,141,139,135,134,136,135,135,132,131,129,128,127,124,124,122,150,151,153,154,155,157,159,160,167,181,195,206,226,239,244,248,251,252,252,252,252,251,251,250,250,250,249,248,243,237,233,233,235,234,227,216,212,226,223,215,215,217,225,172,117,115,113,110,107,105,78,52,43,35,31,38,71,76,58,56,88,77,117,87,83,109,117,121,135,154,162,119,87,132,145,140,146,114,94,93,88,89,84,79,74,71,77,93,131,172,205,226,238,237,230,221,220,220,222,221,225,232,225,218,217,224,222,230,212,198,197,193,205,230,227,223,239,244,251,219,196,234,227,223,217,218,214,209,203,198,196,191,187,188,186,181,172,166,156,146,141,137,131,130,128,124,121,118,115,116,118,116,
868116,116,116,114,112,111,103,134,189,199,206,206,200,215,176,180,204,219,188,161,170,168,210,248,240,225,182,128,145,144,146,149,150,149,149,150,149,149,148,150,150,150,152,152,152,152,152,153,152,152,152,152,152,151,152,152,151,152,152,153,152,152,152,152,152,153,152,152,152,152,153,152,151,151,152,152,151,151,152,151,148,147,149,149,146,146,143,142,142,139,138,137,137,136,133,132,131,131,128,127,126,122,123,122,150,150,153,153,156,158,159,161,169,185,200,209,225,236,242,246,251,252,252,252,252,251,251,250,250,248,246,245,243,241,236,234,237,233,225,216,225,236,223,214,219,224,226,157,116,113,111,108,104,98,71,48,40,39,39,42,51,51,45,45,43,48,48,51,63,71,72,76,82,93,96,76,67,82,119,150,148,110,91,83,81,77,79,97,120,146,187,227,243,249,246,238,228,225,227,228,227,228,225,234,233,214,207,210,211,215,229,215,196,194,191,199,209,234,229,216,230,237,242,237,189,213,225,220,218,215,210,206,204,198,190,185,185,186,184,177,169,162,156,147,141,136,131,128,124,124,121,120,117,119,119,117,117,116,114,112,108,107,99,157,190,196,202,203,206,207,175,181,206,200,215,174,163,171,167,207,250,242,231,209,196,177,156,145,142,146,149,151,151,151,148,150,150,148,151,151,150,150,151,152,152,152,151,153,152,150,151,152,152,152,152,152,151,152,151,154,153,152,152,152,151,152,152,151,151,150,150,150,151,152,152,150,148,149,149,148,145,143,145,144,139,138,138,138,137,135,134,134,133,130,129,128,126,124,123,122,149,151,153,154,157,158,158,162,173,186,199,208,223,232,238,245,251,252,252,252,250,251,251,251,248,241,242,247,246,244,239,237,241,238,231,222,235,240,222,215,220,230,220,142,116,114,111,108,101,94,69,45,41,42,41,41,41,41,44,47,52,53,53,56,53,49,52,51,49,47,47,49,51,50,128,171,147,99,122,155,123,147,193,223,233,246,246,231,217,220,227,217,210,214,216,217,216,219,228,234,213,197,207,213,207,220,222,195,194,188,197,204,209,236,231,209,218,229,237,241,211,184,217,218,217,213,211,205,204,197,186,183,183,182,177,169,165,160,155,144,136,135,130,127,122,122,122,119,120,120,118,118,117,116,113,107,107,100,113,177,186,196,203,201,207,214,172,177,206,200,193,207,157,166,169,166,211,253,240,232,232,229,222,203,177,159,147,143,145,146,150,150,150,148,149,149,149,150,150,152,150,149,151,151,149,150,150,151,150,150,151,150,152,151,151,152,153,153,152,153,151,151,150,151,151,150,149,149,148,150,152,150,149,149,149,148,146,144,143,141,141,138,137,137,134,134,131,131,131,130,127,126,126,125,122,122,150,150,153,156,158,157,159,164,176,190,200,206,220,226,234,241,248,252,252,251,251,252,251,247,243,239,241,246,246,244,242,240,240,242,234,219,235,236,216,213,212,224,206,128,116,112,111,104,96,89,59,43,42,41,40,44,44,41,45,46,52,54,54,55,55,54,57,55,56,56,58,57,50,67,158,175,147,166,243,246,213,233,237,233,220,213,217,216,206,212,220,216,203,205,208,208,209,218,227,212,196,197,208,210,213,226,199,195,188,191,205,205,211,235,227,217,209,221,229,235,232,185,187,212,213,211,208,204,200,196,188,184,180,176,171,168,163,157,154,143,135,132,128,126,123,123,120,119,118,118,118,117,116,112,111,106,106,94,147,182,186,196,201,202,205,211,168,157,201,208,182,201,193,151,167,167,172,225,253,237,230,230,234,238,237,226,209,191,179,162,146,145,146,149,151,150,150,149,149,149,150,150,149,148,149,150,148,148,149,150,151,151,151,151,151,150,151,151,152,151,152,151,150,150,151,150,149,149,151,152,151,150,148,148,146,147,146,144,144,139,140,137,137,136,135,133,131,130,129,130,128,128,128,123,122,124,150,151,153,156,158,158,158,167,182,194,206,213,228,241,244,245,249,252,252,251,252,252,251,244,240,240,242,244,244,244,242,241,241,240,224,225,236,234,221,214,219,234,195,122,117,112,106,100,96,86,54,41,41,41,40,35,28,29,30,31,33,34,35,34,36,36,37,40,41,39,37,38,32,76,167,180,217,245,253,241,202,202,210,223,223,209,208,203,198,205,217,217,198,197,201,204,208,216,212,194,192,198,208,210,225,207,192,189,183,202,208,209,212,237,219,222,207,213,221,229,233,215,167,189,204,206,204,202,201,194,188,181,177,174,170,167,162,157,152,143,135,130,128,125,123,122,120,120,120,118,118,115,112,110,107,107,96,109,173,180,187,196,201,203,204,205,170,151,181,217,187,164,211,170,149,167,167,190,242,249,234,231,235,236,237,239,238,242,244,237,220,194,166,149,144,147,151,150,149,149,149,149,150,147,147,148,147,147,149,149,150,150,149,149,149,149,150,150,151,151,151,148,149,148,148,149,148,150,150,148,150,148,148,148,147,147,145,144,143,141,140,138,139,136,136,132,133,130,130,131,128,129,128,123,120,122,150,152,154,156,158,158,160,170,183,200,214,225,241,248,248,249,251,252,252,252,252,252,252,246,242,243,243,244,244,245,244,241,239,232,224,232,234,234,235,230,233,239,184,118,116,
868110,104,92,88,86,48,37,41,42,42,28,17,18,19,20,21,20,20,20,21,21,22,23,24,24,23,26,21,92,175,229,255,232,228,240,202,195,204,217,224,209,197,194,196,202,214,216,198,190,196,205,208,209,196,190,192,200,204,220,219,192,191,180,192,208,209,212,211,243,220,208,214,205,214,223,228,229,193,161,189,197,200,201,199,196,190,182,174,171,166,164,160,156,151,142,135,130,128,128,127,126,122,120,119,117,117,112,110,109,106,103,90,151,180,184,191,195,200,202,201,200,173,154,172,210,196,153,175,204,142,155,169,178,214,252,240,226,226,229,230,239,242,237,240,243,251,247,234,216,187,158,145,145,146,149,149,149,148,147,148,149,147,148,148,149,148,149,149,147,149,149,149,150,149,150,148,149,149,148,149,148,147,148,149,149,149,149,148,147,147,148,146,145,145,142,142,138,139,137,134,134,132,131,129,129,129,129,126,124,121,121,150,152,154,155,156,159,164,173,185,206,213,221,244,249,249,249,250,251,252,252,252,252,252,248,245,244,242,243,241,240,244,243,237,229,225,228,231,232,234,238,233,236,166,114,113,110,106,77,55,62,45,36,43,44,41,24,18,21,21,19,22,24,23,21,23,21,22,23,24,22,24,28,24,125,233,249,247,236,222,233,203,190,202,217,224,210,190,188,190,199,211,214,195,184,194,207,205,195,187,187,192,202,207,224,195,189,183,178,204,208,213,213,211,245,224,192,218,204,208,218,223,225,221,176,160,186,191,195,195,194,189,181,174,170,164,160,158,155,151,143,138,134,130,131,132,130,127,122,119,116,114,111,110,110,102,87,134,182,182,188,194,199,200,201,198,199,180,165,175,203,204,163,154,197,163,137,163,181,194,238,249,227,221,224,225,226,235,238,234,237,238,239,245,243,245,234,202,174,153,143,145,148,147,146,147,146,147,147,147,148,149,147,147,147,148,149,149,149,149,148,147,148,148,147,147,146,147,148,148,148,147,146,148,146,146,147,145,145,145,142,143,138,138,138,135,134,132,132,131,130,130,127,124,123,121,121,152,153,155,155,157,160,165,180,191,205,216,226,244,249,250,250,249,252,253,253,252,252,252,247,233,226,233,241,234,237,244,246,242,239,235,229,230,233,235,223,218,224,146,112,113,108,101,68,43,40,39,39,44,46,41,23,20,19,20,20,21,21,21,21,22,23,22,25,25,26,28,25,82,221,252,242,247,237,220,233,200,188,204,219,223,213,188,182,185,196,208,211,192,182,193,206,197,183,182,184,194,204,219,209,185,186,173,184,211,210,217,214,213,244,227,186,212,214,203,209,215,220,219,213,167,157,181,185,191,193,191,180,173,168,160,159,157,154,152,146,141,140,135,134,136,133,128,123,116,114,111,110,110,108,87,119,182,182,188,194,199,206,203,198,202,213,194,173,180,198,204,171,155,175,181,142,158,182,194,217,251,236,223,228,232,232,232,235,233,231,237,234,235,237,236,242,251,243,223,193,160,143,141,146,146,145,146,146,145,146,147,146,146,147,147,149,149,149,148,146,146,148,148,146,147,147,146,147,147,147,146,145,146,144,144,143,143,143,142,141,141,139,138,135,135,133,130,131,130,129,128,126,125,123,124,121,153,154,154,155,158,159,170,185,190,198,230,244,246,250,251,251,252,252,253,253,252,252,250,237,228,236,243,246,245,245,245,245,244,241,240,236,236,233,233,226,230,216,132,114,113,107,95,62,40,35,33,38,42,44,41,24,19,19,21,20,21,20,21,23,22,23,22,23,24,29,27,81,223,252,240,244,246,228,209,227,199,187,205,222,225,215,186,178,180,193,208,207,190,182,193,200,186,179,181,187,199,211,220,189,184,178,170,192,211,212,217,213,217,245,224,180,200,222,208,198,206,211,214,215,208,163,154,176,183,190,190,181,174,165,158,158,156,154,154,149,143,142,140,138,137,135,128,122,115,114,111,110,110,92,116,182,182,187,196,203,207,210,194,186,207,214,202,178,181,193,203,175,160,169,181,154,154,180,194,205,239,245,226,229,238,244,247,243,234,226,232,228,220,225,229,229,232,243,248,249,237,207,166,141,140,145,145,145,146,144,146,146,146,146,147,146,149,147,145,146,145,146,146,146,145,146,145,147,146,146,145,147,145,143,144,143,143,145,142,142,140,139,137,135,134,133,131,130,129,128,126,125,124,123,123,122,153,154,155,155,158,161,176,187,197,212,234,242,245,248,251,252,252,252,252,252,252,252,247,234,239,249,247,246,245,245,245,243,240,240,240,238,232,231,235,237,234,201,125,116,111,105,91,55,38,36,33,37,41,44,36,20,18,19,21,21,22,20,20,22,22,22,24,26,30,25,76,224,254,241,241,245,247,219,196,222,201,186,206,225,230,219,186,174,173,189,209,203,187,181,191,192,178,178,178,192,203,221,201,180,180,171,170,199,209,213,216,214,218,245,222,176,191,219,221,199,199,205,206,209,209,205,163,152,173,180,183,181,175,166,160,
868157,155,156,155,151,148,145,143,140,136,135,127,121,114,113,111,111,97,118,180,180,185,197,204,203,209,199,180,181,192,198,200,184,180,187,198,179,163,172,179,165,155,177,195,198,222,248,233,224,230,235,240,248,247,234,226,227,215,215,219,222,222,227,240,244,244,249,242,209,166,142,143,144,144,145,146,145,144,145,145,145,146,145,144,144,145,145,145,145,144,145,144,145,145,145,146,145,143,142,141,143,142,144,141,141,140,139,136,135,134,133,132,129,129,127,127,127,126,122,121,122,153,154,154,155,158,167,178,189,203,220,230,233,236,237,245,252,252,252,252,252,252,252,247,240,244,247,246,246,245,243,244,243,240,238,238,231,225,231,234,235,230,184,119,114,109,102,87,51,36,35,34,38,41,43,31,19,19,19,21,20,20,21,22,22,22,23,26,30,31,71,220,254,241,245,244,248,248,213,182,219,208,186,203,228,234,226,186,170,169,188,210,197,178,180,186,182,177,177,180,198,212,213,181,179,174,165,171,203,209,212,215,215,220,244,221,175,185,213,222,217,196,198,201,204,204,207,205,169,151,167,177,177,176,170,164,160,159,155,153,152,147,147,144,142,137,135,126,120,117,115,110,101,126,179,179,183,194,200,201,204,200,177,169,180,177,182,186,181,178,184,189,175,163,172,177,173,160,168,193,196,209,240,246,222,205,210,213,203,212,233,228,227,215,209,214,215,212,209,220,237,238,239,242,244,241,193,141,143,142,143,143,144,144,144,144,144,144,144,144,143,144,145,146,144,144,144,146,144,144,145,144,144,144,142,141,143,142,140,140,140,138,138,134,134,132,132,131,130,126,126,128,126,124,123,122,119,155,155,152,154,160,168,176,188,203,212,226,236,240,240,240,248,251,252,252,251,251,251,249,248,248,246,244,244,242,241,244,244,241,238,237,222,213,212,210,218,229,172,115,112,106,102,83,47,34,35,33,39,41,41,31,22,21,21,20,20,19,20,22,22,24,29,36,35,61,205,255,239,236,234,241,251,249,206,173,211,213,188,197,225,235,233,188,169,165,186,208,187,171,177,181,177,175,174,188,206,217,192,175,175,170,162,175,204,208,212,215,214,222,242,221,177,177,206,220,222,208,192,198,200,201,204,207,207,186,156,159,171,172,169,163,160,160,156,152,152,149,147,145,141,136,133,126,122,118,110,110,145,182,177,183,189,195,197,203,203,180,166,162,176,174,174,175,176,173,175,187,168,162,171,176,176,166,162,185,199,199,226,250,251,221,193,199,183,182,201,222,226,213,198,199,210,208,208,213,232,241,240,235,218,229,226,199,146,142,141,141,142,143,143,143,143,142,145,145,143,143,143,143,142,142,142,144,144,144,144,144,143,143,142,139,141,139,139,138,140,137,136,135,132,130,131,130,129,128,126,125,125,126,124,121,118,156,155,154,154,160,170,179,192,205,210,220,234,239,246,248,250,252,252,252,252,251,251,251,251,250,246,244,244,240,240,241,240,239,237,237,229,224,225,223,220,224,158,112,111,104,100,77,42,37,35,32,39,40,39,30,23,24,23,21,21,20,20,22,25,26,35,42,51,180,255,240,239,232,226,233,250,248,200,169,206,216,188,197,220,236,240,195,168,163,180,204,182,168,172,177,174,172,177,200,216,205,176,176,173,166,161,180,206,209,213,215,214,222,239,220,178,171,198,217,222,208,203,197,196,197,199,202,203,208,197,168,157,163,167,163,161,159,154,152,151,150,149,148,140,136,131,127,118,115,131,164,180,173,181,188,191,191,194,196,180,178,167,160,167,165,167,169,174,171,165,180,169,164,171,176,178,167,161,178,199,197,201,214,228,243,214,195,187,181,193,206,224,215,184,181,206,213,211,227,243,243,238,224,208,202,204,237,181,136,141,140,140,141,140,141,141,141,141,143,142,142,142,143,141,142,143,144,143,143,142,143,143,143,141,139,138,139,140,137,137,135,135,135,133,131,130,130,126,128,124,124,126,125,123,117,117,156,157,156,156,161,175,189,198,212,221,225,237,242,247,251,252,252,252,252,252,252,251,251,251,250,245,243,244,241,240,239,239,237,237,237,236,231,235,236,235,225,143,111,113,105,100,70,39,34,32,32,39,38,38,28,23,23,22,21,21,20,23,24,25,28,43,43,154,255,244,240,234,230,226,228,247,248,199,167,201,218,189,204,216,231,246,201,168,164,171,198,180,169,169,171,171,174,194,213,213,183,173,174,168,163,160,184,207,207,212,216,214,224,238,218,180,168,189,211,222,209,203,202,191,192,196,197,199,201,207,209,193,174,159,155,153,152,150,149,146,147,144,142,137,132,128,128,133,157,177,175,171,175,186,189,187,189,194,177,177,187,169,152,159,160,163,167,172,170,163,171,168,165,169,176,177,168,161,176,196,202,190,175,178,192,213,201,175,173,197,198,218,222,181,160,190,217,215,224,230,239,233,213,195,200,201,214,213,142,139,138,139,139,140,140,140,141,141,142,141,140,140,140,141,141,142,141,142,143,141,141,142,142,142,137,138,139,139,136,135,134,134,133,131,130,130,129,126,127,126,126,125,123,120,117,117,155,155,157,158,164,180,193,201,214,226,238,245,247,246,249,251,252,252,252,252,252,251,251,251,249,242,239,240,241,243,241,240,238,237,237,239,237,237,235,237,215,128,112,111,104,98,63,38,35,30,31,39,40,36,24,24,23,20,22,22,21,24,25,25,36,40,119,250,248,241,242,235,227,223,225,241,250,199,165,195,220,194,211,214,220,246,204,169,163,166,190,180,168,167,167,173,190,210,215,192,171,173,168,164,161,161,190,208,208,212,215,214,224,236,218,180,167,178,207,220,220,194,199,196,189,192,194,196,200,201,206,212,210,204,194,177,167,160,157,154,148,145,145,146,147,153,161,170,170,166,169,176,185,190,186,189,194,178,168,180,184,174,152,154,157,164,168,170,165,158,161,166,165,169,174,176,171,163,175,191,203,198,174,173,179,176,179,164,168,197,198,208,227,188,148,166,206,217,207,210,227,228,201,180,224,205,196,225,153,138,138,139,138,138,139,139,139,139,140,139,139,140,140,140,140,140,140,141,143,140,141,142,140,140,137,138,136,136,135,134,135,134,132,131,128,128,129,128,126,125,124,124,123,120,118,115,153,154,157,159,169,183,193,200,205,227,240,245,247,246,245,244,246,251,252,252,252,252,250,248,243,239,237,235,239,242,240,240,239,236,236,237,237,237,235,243,205,117,112,108,105,94,57,38,35,31,34,40,39,34,25,24,23,22,23,24,23,24,25,32,38,79,231,253,240,239,238,234,230,223,220,235,253,205,163,188,222,197,211,211,216,244,205,168,162,165,180,173,168,167,164,178,204,215,201,174,169,169,164,160,159,163,193,209,209,213,215,215,224,233,218,179,168,171,201,216,225,203,186,196,200,189,188,193,197,199,203,207,211,219,227,229,230,229,223,202,177,162,162,162,162,160,159,158,159,167,175,184,188,187,189,189,177,159,170,186,182,176,152,152,158,165,166,165,157,153,155,159,165,170,171,174,175,171,173,186,203,205,184,167,175,179,176,166,168,197,201,202,224,209,159,145,178,209,209,208,218,218,179,188,229,211,193,227,189,140,137,137,138,138,137,138,137,139,139,136,138,138,140,141,140,140,140,140,139,140,139,139,138,137,137,136,136,135,135,134,133,132,129,128,127,127,128,127,125,125,124,124,124,120,117,115,154,155,156,159,174,186,194,199,197,211,235,240,245,246,245,242,245,247,248,248,248,248,245,241,240,240,240,238,241,239,233,236,238,237,237,236,236,237,236,241,184,112,110,107,105,90,51,34,31,29,36,40,40,36,27,23,24,24,25,23,24,24,26,31,53,196,255,244,241,236,232,229,228,227,221,230,252,212,160,182,225,200,205,212,216,243,203,166,162,166,174,168,167,165,161,189,214,206,178,168,169,166,162,159,158,168,198,208,209,212,215,217,224,232,216,179,170,169,194,213,223,216,190,181,188,191,187,189,193,196,201,205,210,217,221,227,230,230,221,201,175,158,156,155,154,154,156,158,164,175,181,187,187,189,181,174,162,156,179,186,173,174,153,150,156,163,163,161,151,152,153,155,166,172,172,173,175,175,176,184,203,208,193,169,162,175,175,171,176,202,204,198,220,218,204,167,172,202,211,208,216,208,165,205,223,212,198,222,226,181,133,137,137,136,136,136,137,137,138,137,137,137,138,139,137,137,139,138,139,138,140,138,137,137,136,135,134,135,135,132,133,132,130,130,126,127,127,126,122,124,123,122,121,120,117,114,155,156,157,161,176,186,194,202,208,220,235,236,241,245,246,244,246,245,246,245,241,240,240,239,239,240,240,241,244,241,232,231,237,237,235,237,237,236,235,235,167,114,110,107,105,84,45,34,30,29,36,41,40,33,26,24,23,23,22,21,24,26,30,35,151,255,245,241,240,235,229,226,225,225,222,228,252,214,159,175,224,203,201,207,216,241,198,165,163,166,168,166,165,160,169,207,212,185,165,167,164,161,160,
868159,158,179,203,207,207,211,214,218,225,230,215,180,168,166,188,211,219,223,204,178,174,185,194,195,191,192,198,204,208,215,222,226,227,227,219,198,174,158,156,154,155,156,156,156,164,175,182,188,186,183,174,169,154,156,188,183,166,172,157,150,153,159,159,156,149,148,152,161,170,173,171,172,173,173,176,186,199,211,196,175,158,163,172,173,182,205,208,196,219,211,214,223,218,213,209,206,215,201,167,206,216,213,202,220,221,227,163,132,135,134,136,136,138,137,139,138,138,136,137,138,137,136,138,137,136,138,139,138,137,138,133,132,133,134,133,133,134,132,133,130,125,126,125,125,122,123,123,123,121,119,116,115,154,156,158,163,177,186,194,207,216,230,235,235,237,240,241,242,245,248,248,246,241,240,240,240,240,235,236,242,245,243,236,233,235,237,235,237,238,238,238,236,156,114,113,107,104,77,41,38,31,27,38,40,39,32,22,23,23,22,24,26,25,28,27,105,248,249,244,238,234,233,227,225,223,222,221,227,251,217,158,167,223,211,200,201,218,237,189,164,163,165,166,164,162,158,190,217,197,166,163,163,160,159,159,158,164,190,206,206,208,211,214,220,223,226,210,179,166,165,178,208,215,223,215,190,171,170,180,195,196,192,191,201,207,213,220,225,226,227,217,196,173,156,154,154,153,155,155,156,162,174,182,183,177,183,178,157,142,164,193,182,162,171,158,150,155,158,157,153,150,152,156,162,171,172,170,171,172,173,176,186,197,210,203,181,161,158,165,174,185,205,212,196,213,212,193,211,225,223,208,204,211,195,172,203,204,209,210,209,214,228,217,150,130,137,136,136,137,136,135,135,138,137,135,136,136,136,137,135,137,136,136,133,133,134,133,132,133,132,133,134,133,131,132,127,128,127,125,123,122,122,121,122,122,119,116,115,154,158,160,168,181,189,198,205,212,228,233,234,236,238,238,241,248,251,250,247,244,243,243,242,236,233,235,237,241,241,236,230,232,233,235,237,238,238,244,232,141,112,113,107,101,68,39,35,28,28,37,39,42,31,24,24,23,24,26,27,25,33,83,219,255,245,242,237,227,227,226,223,221,221,220,225,251,221,159,160,219,218,202,197,220,233,183,163,163,163,166,161,157,170,212,208,175,160,162,160,159,158,158,156,172,195,207,207,207,211,218,221,223,223,207,179,166,164,170,202,212,221,221,204,177,166,170,181,191,193,197,201,205,213,218,225,227,227,216,198,173,158,153,154,154,153,153,159,166,171,176,179,186,192,165,145,142,173,195,179,161,169,158,151,155,156,156,153,150,153,157,163,168,173,173,173,173,173,175,183,195,209,210,187,165,159,160,172,187,202,215,197,208,218,184,187,206,212,209,203,209,194,178,200,200,198,212,202,211,220,228,212,144,133,134,133,135,134,132,132,133,134,134,135,134,134,135,133,135,133,134,132,133,134,132,131,131,131,131,133,131,130,130,128,127,125,124,122,123,124,121,121,120,117,115,114,155,158,161,173,184,192,198,204,219,234,235,235,234,236,238,245,251,251,250,249,245,245,246,244,234,234,239,235,230,234,235,223,230,232,233,234,231,230,240,221,131,113,112,108,98,60,36,33,30,29,39,40,39,28,26,25,23,24,26,29,30,78,193,252,243,244,241,240,223,222,225,223,219,219,218,223,249,225,160,155,213,219,206,195,220,226,176,163,162,165,163,158,156,195,215,185,160,161,160,159,158,157,156,157,177,196,207,206,207,212,219,222,224,221,204,178,163,162,166,198,212,217,220,213,192,170,164,172,182,188,196,203,207,214,219,226,226,225,212,194,171,159,154,154,154,155,155,160,162,169,178,185,193,186,156,142,151,186,193,175,161,165,160,153,154,155,155,152,152,153,158,162,168,173,173,173,171,172,174,181,193,207,214,194,172,160,156,168,186,196,215,200,201,220,190,173,191,204,204,202,208,188,170,191,188,189,214,193,205,217,219,232,207,139,133,134,132,130,133,134,134,134,133,135,133,132,133,133,133,134,131,133,133,132,131,132,131,129,130,130,130,128,130,129,127,124,122,122,122,122,122,119,119,116,114,114,157,158,164,175,185,193,199,212,233,239,240,238,237,238,244,250,251,251,250,250,248,249,248,245,243,242,242,238,232,232,237,238,238,236,234,232,231,231,235,202,122,112,108,107,95,54,33,31,29,30,41,40,35,25,27,25,24,25,27,33,40,129,246,234,244,242,240,242,223,216,224,222,217,216,215,222,247,232,166,153,208,220,211,196,221,217,171,164,164,164,160,154,175,214,199,165,159,159,158,158,156,156,155,160,180,198,206,207,207,211,221,224,225,218,199,176,161,161,163,194,210,214,218,218,205,179,166,165,175,185,187,196,202,209,220,226,228,220,201,184,164,156,154,153,153,154,153,153,162,179,186,190,192,174,148,141,157,189,186,171,160,163,162,154,152,152,153,151,152,156,161,163,167,174,175,172,171,173,176,180,190,202,215,201,178,164,157,160,184,195,213,206,200,218,198,177,184,199,202,204,208,185,165,184,174,193,205,165,196,213,215,220,230,188,130,132,131,130,134,136,134,133,133,133,131,132,133,134,133,133,131,132,133,131,131,130,130,130,131,132,130,129,131,129,127,125,123,124,124,121,120,120,118,117,116,116,157,158,168,179,185,193,202,224,235,240,246,244,242,245,251,251,251,251,250,250,248,242,240,245,244,244,243,241,240,238,231,226,228,235,235,232,229,232,234,182,114,110,106,105,90,50,32,28,26,32,38,37,31,25,26,25,25,23,32,40,58,205,243,222,243,240,240,244,227,212,217,220,217,214,211,218,245,236,175,151,205,218,214,203,224,209,168,166,161,159,157,161,202,210,175,159,160,158,157,157,155,155,156,165,187,203,206,206,206,212,223,224,224,216,195,172,160,160,
868163,190,208,213,218,218,213,191,171,166,169,177,181,193,202,208,217,219,218,213,197,175,157,151,150,150,149,148,149,153,175,189,190,195,188,160,146,141,163,189,186,172,161,164,164,154,152,151,152,152,154,159,164,163,168,174,174,173,173,174,176,180,189,199,214,203,178,167,158,157,181,195,209,211,197,214,204,194,197,201,203,203,206,186,169,170,166,198,185,157,200,214,215,219,224,227,171,127,133,133,134,136,134,131,133,131,131,132,131,132,133,132,131,132,132,132,131,130,131,130,132,133,130,129,128,126,125,126,124,122,123,121,119,119,118,116,115,114,157,160,174,184,187,195,209,229,236,241,248,250,249,249,251,251,251,250,246,244,242,233,227,237,243,243,242,240,236,235,225,216,221,228,231,232,230,230,233,168,113,111,106,103,85,46,33,29,27,33,39,39,33,26,26,25,24,22,43,55,133,255,223,217,241,239,237,242,233,212,207,215,216,215,212,215,241,241,188,147,200,216,212,211,227,200,166,164,160,159,155,184,214,187,160,159,158,156,156,155,155,155,159,174,192,203,206,205,207,215,223,225,223,211,191,170,160,160,162,185,205,210,215,217,216,203,181,168,166,171,176,188,202,205,208,208,208,209,199,170,153,150,149,147,148,148,146,160,188,194,193,192,169,148,147,144,171,189,183,173,163,166,165,154,152,150,151,154,156,161,163,162,169,174,175,173,173,174,176,181,190,198,212,208,180,169,159,155,171,193,203,214,193,207,204,197,199,201,203,200,206,184,164,163,166,199,172,167,202,219,222,224,215,214,220,164,128,130,131,131,131,131,132,131,130,130,132,131,132,132,132,132,132,133,130,131,131,131,132,129,130,130,130,127,125,126,122,121,121,121,119,120,118,116,114,112,158,164,179,185,193,198,209,232,241,243,249,251,250,249,250,251,251,250,245,240,238,233,232,234,241,243,242,240,236,236,225,222,232,234,230,222,230,231,229,152,112,111,106,101,76,41,33,29,26,33,35,37,32,28,26,21,20,24,57,85,208,255,215,212,239,240,239,241,238,221,204,207,214,214,212,215,239,243,195,146,195,215,206,213,232,195,166,163,160,157,165,207,200,165,157,158,155,154,154,155,155,155,168,180,191,201,204,203,208,217,224,224,221,207,188,169,161,160,162,181,202,208,213,216,217,212,194,174,167,168,172,184,197,202,206,209,210,209,200,167,150,149,149,149,148,148,160,183,194,192,192,177,153,147,146,148,177,188,180,176,169,161,160,157,153,149,151,154,156,163,162,162,168,175,179,175,173,175,176,182,190,199,211,216,185,169,160,153,163,190,200,214,194,198,204,195,202,208,207,199,202,179,145,144,170,197,165,175,205,217,212,197,191,208,221,216,157,126,131,130,131,131,129,131,131,131,131,132,132,132,131,131,132,130,129,132,129,127,130,131,129,129,127,126,125,124,124,121,119,120,119,119,118,116,115,114,158,166,179,188,196,199,215,237,245,247,250,251,250,250,251,251,251,251,246,240,237,233,232,233,241,242,241,240,238,237,235,231,233,233,233,229,228,224,216,137,109,110,108,100,68,37,31,31,28,35,34,35,31,27,28,41,34,41,70,136,250,249,213,204,234,240,237,239,238,230,211,200,209,212,209,216,235,241,203,147,189,215,201,218,233,191,166,163,160,157,189,210,175,156,158,156,154,154,153,154,153,160,175,184,190,200,204,204,210,218,224,224,216,204,188,167,160,160,162,180,202,205,212,215,217,215,206,185,169,167,168,175,188,198,205,206,205,207,201,169,151,150,148,150,150,164,186,196,196,194,187,162,149,148,144,155,183,186,180,179,170,159,160,158,153,151,153,153,158,164,163,164,168,178,181,177,174,177,177,178,186,198,210,216,192,171,159,152,160,187,198,215,202,189,206,196,203,208,208,195,192,175,139,137,184,181,154,169,188,188,172,168,189,193,190,208,207,145,129,133,132,130,130,129,129,129,130,132,131,130,131,131,130,130,129,127,127,126,127,128,129,128,127,126,126,125,125,121,120,119,120,118,117,118,116,115,159,169,182,191,197,201,216,239,245,248,250,250,250,251,251,251,251,251,248,243,241,239,239,239,240,241,241,241,238,237,236,234,233,233,233,234,232,226,201,125,111,109,106,98,62,36,29,28,31,35,34,37,29,24,21,55,63,62,77,205,255,248,215,197,227,235,234,235,236,233,225,208,199,206,208,214,230,239,213,149,181,216,199,221,230,185,165,163,157,165,208,194,159,158,155,152,152,152,153,152,154,168,182,188,189,198,201,204,213,220,224,224,214,197,183,167,158,158,160,174,195,201,207,212,214,214,211,198,176,167,164,166,179,191,198,202,203,207,202,173,152,149,150,148,162,189,199,198,200,195,172,150,149,148,145,166,189,186,180,179,171,160,160,
868158,153,153,154,152,158,165,164,163,169,177,180,178,175,175,177,179,183,193,205,217,200,172,160,150,156,185,195,211,210,185,194,196,200,208,207,189,181,168,133,145,194,167,153,158,161,155,157,178,197,190,180,189,212,193,131,127,132,131,129,129,130,128,129,130,129,128,130,129,130,129,127,126,127,129,129,127,127,128,128,125,125,124,120,121,120,119,119,116,117,117,116,114,159,171,185,192,198,208,210,228,245,249,250,250,250,251,251,251,251,250,246,244,244,242,240,240,240,240,241,234,227,234,235,235,233,233,233,231,231,227,188,117,107,107,106,93,56,38,30,26,32,37,36,34,25,21,20,45,64,69,144,250,246,250,218,192,221,234,232,232,231,229,227,219,205,199,203,212,226,236,218,154,175,218,201,230,224,183,166,162,156,182,210,171,156,157,153,151,150,152,152,152,163,175,188,190,189,196,201,206,215,223,226,223,211,190,181,165,157,158,161,169,191,203,206,208,210,214,211,205,189,170,166,163,169,188,194,198,203,205,201,174,153,151,150,152,181,200,202,205,203,184,156,148,149,146,149,175,189,185,182,179,173,164,159,160,155,152,152,153,160,165,165,165,171,176,180,178,174,175,176,179,183,191,200,217,206,175,161,148,152,183,195,206,212,184,186,195,203,211,200,180,171,162,130,168,196,162,152,155,153,151,168,187,197,203,202,199,208,220,166,124,131,130,128,128,130,129,130,129,130,129,129,130,131,130,127,128,128,128,130,128,127,129,127,126,124,125,121,119,118,119,119,115,116,117,117,112,185,186,193,200,200,200,203,204,205,206,207,208,208,210,209,207,206,206,206,205,206,206,205,205,203,202,202,201,201,200,200,199,199,199,198,199,201,162,123,123,118,117,116,114,114,109,108,107,102,99,99,99,95,108,118,118,119,120,122,124,127,130,131,133,135,139,141,143,143,144,149,150,152,153,152,152,154,154,154,154,156,158,159,160,161,162,162,163,164,165,164,166,168,168,168,168,168,168,169,169,169,170,170,169,169,169,170,168,170,170,169,169,169,169,169,168,169,168,168,168,168,169,168,167,169,169,168,167,167,167,169,167,167,166,166,167,166,167,167,167,167,166,167,168,167,167,167,168,168,167,168,166,168,168,168,167,170,169,168,170,168,169,170,168,170,170,171,171,172,172,172,172,172,172,172,173,174,173,174,175,174,174,175,176,176,178,178,178,179,179,178,180,180,180,180,180,179,178,178,180,181,181,181,182,182,183,183,183,182,183,184,183,182,182,181,183,182,181,182,181,180,181,181,180,179,177,176,176,177,177,177,177,176,174,173,174,173,171,172,173,169,167,166,166,165,164,161,160,160,159,159,157,158,156,154,157,178,187,190,193,198,201,203,204,204,205,206,207,207,209,209,208,206,206,205,204,205,205,207,205,204,203,202,202,200,201,199,198,198,199,199,200,201,192,136,120,120,118,117,114,114,110,108,105,102,101,99,98,98,99,114,116,117,118,123,122,125,128,129,131,132,134,139,141,142,143,147,148,149,150,149,152,152,154,155,153,155,157,158,159,161,162,163,164,163,163,163,165,167,168,168,168,168,167,169,169,168,168,167,169,170,169,168,170,170,169,169,169,169,169,168,167,167,168,167,167,167,168,168,167,168,167,166,167,168,166,167,166,166,167,165,165,167,167,166,167,165,166,165,167,166,167,167,166,167,166,166,167,167,166,167,168,168,168,168,169,169,170,170,170,168,169,170,170,170,170,171,172,172,172,171,172,173,173,173,174,173,173,173,174,174,175,175,175,174,175,176,177,177,177,177,177,179,178,179,178,179,179,180,179,179,180,180,180,180,181,180,179,179,180,180,179,180,178,179,178,178,177,177,178,175,176,175,173,173,173,174,174,172,171,171,169,169,170,170,169,166,166,165,163,161,161,160,158,157,157,161,158,155,156,152,150,174,179,186,187,194,199,202,202,203,205,206,207,206,207,208,208,209,206,206,205,204,202,205,207,206,204,202,203,202,201,202,200,199,201,200,200,198,202,168,122,121,119,117,115,113,112,111,108,104,103,100,97,97,96,109,118,115,116,121,124,126,126,128,130,134,137,139,140,142,142,144,147,148,148,148,149,147,152,153,152,154,156,156,158,157,160,162,162,162,163,164,163,166,169,166,167,167,165,166,168,169,168,167,169,169,168,167,168,168,169,168,167,168,167,168,168,166,167,166,166,166,166,166,167,167,166,165,167,167,166,165,166,165,164,165,165,166,166,165,166,166,166,166,165,167,166,165,166,167,167,166,165,165,167,167,168,167,168,168,168,168,168,168,169,168,170,169,169,169,168,171,171,170,172,171,171,171,171,171,171,172,171,173,173,174,173,174,174,172,173,173,174,174,176,175,175,175,175,176,177,177,175,177,177,177,176,176,179,178,177,178,179,178,178,179,178,178,177,177,176,176,177,174,174,176,172,174,174,173,171,170,169,170,169,169,168,168,168,167,166,164,164,163,162,162,160,158,158,158,156,155,154,155,155,150,149,173,176,179,182,188,196,202,201,203,204,205,205,206,207,208,208,208,209,208,207,203,202,204,205,205,204,203,202,201,201,201,201,201,201,200,199,198,200,193,141,122,120,119,116,112,111,111,108,104,103,102,101,99,97,100,116,114,115,119,123,124,126,128,132,132,135,137,
868140,140,141,142,144,147,146,147,147,146,152,153,150,152,153,154,156,158,159,161,161,162,161,161,162,163,164,166,166,166,167,166,166,168,166,167,167,168,168,167,166,166,168,168,167,166,167,166,165,168,167,166,166,165,165,165,166,166,165,165,166,166,166,165,163,163,163,164,163,164,165,164,164,164,165,166,165,165,165,165,165,166,165,164,166,165,166,166,166,165,167,168,167,167,168,167,167,168,167,169,169,169,169,169,169,170,170,169,169,170,170,170,170,171,172,173,172,172,172,171,171,173,173,171,172,172,173,174,174,173,173,174,174,174,174,174,173,174,175,174,173,173,177,175,174,176,177,175,175,175,174,175,176,173,173,173,172,172,171,174,172,170,169,169,169,169,167,167,167,167,166,165,162,162,160,160,160,159,158,157,155,157,155,154,152,151,151,149,148,173,176,179,183,188,192,200,202,204,204,204,202,202,205,208,208,208,208,208,207,206,203,204,204,205,204,203,202,202,201,200,200,200,200,200,200,198,198,202,171,124,122,120,116,115,113,111,108,104,101,102,100,100,99,97,109,114,114,117,123,123,125,125,128,132,131,134,135,138,140,141,142,143,146,145,148,148,149,151,152,152,152,153,155,157,159,161,161,161,160,161,160,162,163,164,165,164,165,166,166,166,166,164,166,167,168,167,167,168,165,166,167,166,165,166,166,166,165,165,166,165,165,165,166,166,165,165,165,165,164,163,164,165,164,164,163,163,164,163,163,164,163,164,164,164,164,165,165,165,164,165,166,165,165,165,166,167,167,166,166,167,167,167,166,167,167,167,168,167,168,167,168,167,166,168,167,167,168,171,169,170,171,169,168,170,171,169,169,171,171,170,170,171,173,173,173,172,172,173,173,173,173,173,174,174,173,173,174,174,173,174,173,173,173,174,172,171,172,171,172,172,170,170,169,168,169,169,166,167,169,167,168,166,165,165,165,164,163,161,160,
868161,160,160,159,159,156,156,156,155,153,154,152,152,150,149,147,167,172,177,180,186,188,195,199,198,201,203,201,199,200,205,208,208,208,208,207,207,205,204,204,204,204,203,203,202,201,199,201,199,199,200,199,199,198,200,197,143,121,121,118,116,113,110,109,106,101,101,100,98,97,94,103,114,111,117,121,121,123,122,123,128,130,131,134,136,136,139,140,142,144,144,147,146,148,150,151,150,151,152,154,153,156,157,159,160,161,160,159,162,162,162,163,165,164,163,165,165,165,165,164,166,167,165,166,165,165,167,165,166,166,165,164,165,165,166,166,164,164,164,164,165,164,164,163,164,164,164,164,163,161,164,163,164,162,162,164,164,163,161,163,163,165,162,165,164,164,165,165,164,165,165,164,166,166,166,166,166,165,166,166,167,167,167,167,167,167,166,166,163,163,165,166,167,168,168,168,168,168,166,167,168,170,170,169,167,168,170,171,171,170,170,172,172,170,170,171,171,170,170,172,172,171,171,172,170,169,170,171,171,171,172,171,170,168,169,171,170,167,170,169,170,167,166,166,167,167,165,165,164,165,164,164,161,161,159,157,159,158,158,159,157,154,155,153,152,152,152,153,152,148,148,148,158,167,173,174,181,185,187,194,196,196,199,199,199,200,201,206,207,208,207,206,205,205,204,204,202,204,202,201,200,201,201,200,200,200,201,200,199,199,201,204,176,126,121,118,116,115,113,112,108,105,101,102,100,99,95,94,112,113,114,117,119,121,121,124,127,128,130,132,135,136,136,137,140,141,141,144,147,148,148,148,149,150,149,151,152,155,157,157,158,159,159,159,159,161,162,163,163,163,163,164,165,165,165,165,165,166,165,166,166,166,165,165,165,165,165,164,164,165,163,163,163,165,164,163,165,163,163,164,163,163,163,163,163,163,162,162,162,161,161,163,161,162,162,162,161,163,162,163,165,164,164,164,165,165,165,165,166,166,165,165,166,165,165,165,165,166,165,166,166,165,164,164,165,163,163,163,165,166,166,166,166,165,165,165,164,165,168,166,165,167,167,166,168,167,167,169,169,168,167,168,171,169,168,168,170,170,169,170,169,168,169,168,169,169,169,167,168,167,167,168,168,167,167,167,167,165,165,165,164,165,162,163,162,159,160,160,159,157,157,157,159,155,156,156,153,153,152,151,152,151,151,150,149,148,147,146,156,162,170,174,177,180,185,192,196,196,199,200,200,201,199,200,203,206,206,206,205,204,204,203,202,202,201,201,201,200,199,200,199,199,201,201,200,199,200,200,199,149,120,122,119,114,114,112,109,106,105,101,101,99,95,91,104,116,111,112,117,118,120,124,124,126,130,131,132,134,136,136,136,139,143,143,144,144,146,147,147,149,149,149,149,152,156,156,156,159,158,159,158,160,161,163,163,163,164,163,163,163,164,165,165,165,163,164,164,164,164,163,164,163,164,164,164,163,164,163,164,164,162,163,161,163,164,163,163,161,163,163,162,162,161,161,160,161,161,161,160,162,161,161,160,163,162,161,162,163,164,164,163,163,164,164,163,164,164,164,164,165,164,164,164,164,164,164,164,166,165,163,162,162,163,162,161,161,161,162,164,163,162,161,163,163,162,163,164,165,165,164,166,166,166,168,167,165,165,165,166,164,167,168,168,168,168,169,169,169,168,165,167,166,165,166,165,166,165,166,165,164,165,166,164,162,161,158,160,161,161,160,158,158,158,157,158,157,157,157,155,154,156,154,152,153,151,151,148,150,149,146,147,148,143,141,152,157,165,172,177,180,183,189,194,195,197,198,199,199,200,200,201,204,206,205,205,203,203,203,201,200,200,200,199,200,200,199,198,198,199,199,199,199,198,199,201,182,129,122,121,118,114,112,109,106,103,102,101,99,97,94,94,112,113,110,114,116,118,120,120,124,128,127,129,132,133,134,136,139,140,141,141,141,144,144,146,147,148,148,149,149,151,154,155,155,157,156,157,158,158,159,159,162,162,162,163,162,163,163,163,163,164,164,163,163,162,162,161,162,161,161,160,159,162,163,163,163,160,160,162,162,162,162,161,162,162,161,161,161,160,160,161,161,160,161,160,161,161,161,160,161,159,160,161,162,162,164,164,163,164,164,164,164,164,164,165,164,163,164,164,164,164,165,164,163,162,161,162,161,162,160,162,160,161,160,161,161,161,161,161,161,161,163,162,164,163,165,163,164,165,166,165,165,165,163,162,163,164,165,165,165,167,166,168,167,166,164,165,164,165,165,164,165,165,165,164,164,164,164,162,159,158,159,159,160,158,158,158,158,157,157,155,156,155,155,155,155,156,154,152,150,150,149,148,150,147,145,146,144,143,141,146,155,159,168,174,178,180,187,190,193,196,196,199,198,200,199,198,200,204,205,203,202,201,199,199,199,200,200,198,196,197,198,199,197,199,198,199,200,198,197,198,199,156,119,121,120,116,111,111,108,103,104,102,97,96,94,92,101,113,111,111,113,116,119,120,123,124,126,128,132,131,132,133,136,138,139,141,141,142,144,145,144,146,146,148,149,150,151,152,152,155,154,154,156,157,157,157,158,160,161,162,162,163,161,162,163,162,161,161,161,162,162,160,161,159,158,159,159,161,161,161,161,160,
868162,161,160,161,160,160,160,159,160,160,160,160,160,161,160,160,162,160,160,160,160,161,160,160,160,161,159,160,162,163,163,164,164,163,163,163,163,163,163,162,163,163,163,164,164,162,161,161,162,162,161,161,161,162,160,160,161,160,161,161,161,162,161,162,161,161,162,160,162,163,165,162,163,164,163,163,164,163,163,162,161,163,164,164,165,165,164,165,164,162,162,163,161,162,163,162,163,164,162,161,162,162,159,158,160,158,157,158,159,157,156,156,155,154,154,153,152,154,154,155,151,150,149,148,148,149,149,145,145,144,143,143,141,143,150,154,166,169,175,178,183,187,188,193,195,197,197,196,197,197,198,198,201,202,200,199,199,198,198,197,196,197,197,197,197,198,197,198,197,198,198,196,196,198,200,187,134,120,120,119,113,111,110,105,103,104,100,98,95,93,93,111,112,112,113,114,117,119,121,121,123,126,129,130,132,132,133,135,136,139,140,141,141,143,145,143,144,146,147,148,149,151,152,154,153,153,155,155,156,157,158,158,159,160,161,161,160,161,161,160,160,160,160,161,160,160,159,159,160,158,160,159,160,161,159,160,162,160,159,160,160,160,159,161,161,160,160,159,160,159,159,159,159,160,159,159,160,160,159,159,159,159,157,157,160,161,162,162,161,162,163,160,160,161,162,162,162,162,162,161,161,161,161,161,162,162,160,161,161,160,160,161,161,160,161,159,161,161,161,161,161,161,161,161,163,163,164,163,163,164,162,161,162,162,161,160,161,162,162,162,162,161,162,164,161,162,162,160,162,160,160,162,161,159,160,159,160,159,158,158,159,157,155,153,154,155,154,154,153,153,153,154,152,151,152,153,150,149,147,146,145,146,146,143,143,144,143,144,139,139,144,151,159,166,168,173,179,184,186,189,193,195,
868194,193,197,196,198,198,198,198,198,198,198,199,198,196,195,195,195,195,195,195,196,196,196,196,197,197,197,198,197,199,165,119,119,120,117,113,109,106,105,102,100,99,97,95,92,104,112,110,110,113,116,117,117,119,122,123,126,129,129,131,133,134,135,136,138,140,141,141,143,143,145,145,146,146,146,149,148,152,153,153,154,154,156,157,156,158,159,158,158,159,159,158,159,159,160,159,157,158,159,158,159,158,159,159,159,157,158,158,158,159,159,160,159,158,159,159,158,160,159,160,160,158,159,159,160,159,159,159,159,158,159,159,159,158,159,158,157,158,162,162,162,162,161,162,160,158,157,159,160,160,160,159,159,160,159,161,160,162,161,159,160,160,159,159,160,160,159,160,161,160,160,161,160,160,159,161,160,161,160,160,161,162,162,161,162,161,161,160,161,159,161,160,160,160,161,161,159,162,161,161,161,162,160,159,159,158,159,159,158,157,159,158,159,157,157,156,155,153,152,153,153,152,152,152,152,151,150,151,149,149,149,147,147,148,145,145,145,143,144,144,141,141,140,134,138,146,151,156,164,168,173,176,182,188,188,190,193,192,194,194,196,197,196,197,197,196,196,197,197,197,196,194,194,194,195,193,194,196,196,195,196,196,196,196,196,196,192,138,116,120,117,114,110,107,103,101,101,100,96,94,91,94,110,108,111,112,114,115,115,118,121,122,123,126,127,128,131,133,133,134,136,138,140,141,140,142,143,144,145,145,146,148,149,150,151,151,152,154,155,155,156,156,156,156,157,157,157,158,158,158,158,158,158,157,157,157,158,158,158,157,158,157,158,157,158,158,159,158,159,158,158,158,158,158,158,157,157,159,158,159,159,158,158,158,157,157,159,159,159,159,158,156,154,157,160,160,161,162,161,159,157,157,157,158,158,158,159,158,158,158,158,158,160,160,159,159,161,159,159,159,159,159,161,159,160,160,160,159,159,158,157,160,159,159,160,160,160,160,161,161,162,160,159,159,158,159,160,160,158,158,159,159,160,160,160,158,157,159,159,156,157,156,158,158,157,156,158,157,156,155,157,156,155,155,152,152,150,149,151,151,149,149,151,151,149,146,148,147,147,146,144,146,142,142,143,141,142,140,139,132,135,140,145,152,160,164,166,171,175,180,184,185,188,188,190,191,193,195,195,194,195,196,195,194,194,194,192,193,194,193,193,193,193,195,195,194,195,195,196,195,196,194,198,174,122,117,116,113,110,107,103,102,100,99,97,95,94,90,104,110,110,110,110,113,115,116,118,119,122,124,125,127,127,130,132,133,133,136,136,139,140,141,141,143,143,144,146,146,147,147,148,150,151,153,153,153,155,155,155,155,155,155,157,156,156,156,156,157,157,157,156,157,156,156,157,158,157,157,157,157,157,158,158,158,157,157,158,158,158,157,156,157,157,156,157,156,157,158,156,157,158,158,157,156,158,157,155,156,156,156,157,160,160,160,159,157,157,157,157,156,158,158,157,158,157,157,158,158,158,158,158,158,158,158,158,158,157,158,158,159,159,159,159,160,158,157,159,159,158,158,159,160,158,158,159,159,160,159,159,158,158,158,158,159,158,158,158,157,158,156,156,156,155,155,157,156,154,155,156,155,156,156,154,154,154,155,155,154,154,151,150,152,151,149,151,150,148,147,146,146,146,147,147,146,147,146,145,145,142,142,141,142,140,140,139,143,135,138,141,144,152,156,157,166,168,172,180,182,182,186,186,188,188,190,192,193,195,195,194,193,193,192,191,191,192,192,192,192,193,193,195,194,194,194,194,194,195,195,194,195,148,119,120,115,112,107,105,104,100,99,97,96,94,91,94,109,110,110,111,112,113,113,116,118,121,123,124,125,125,128,130,130,131,134,135,137,137,140,140,141,143,143,145,146,145,146,146,147,151,151,152,152,152,153,152,152,153,154,155,155,155,154,154,156,156,156,156,155,154,154,155,156,156,157,155,155,156,157,158,157,156,158,157,157,156,156,155,155,155,156,155,155,154,156,156,155,156,155,155,155,155,154,154,154,154,154,155,157,157,157,156,156,157,157,157,156,157,157,157,157,156,156,156,157,157,157,157,157,158,158,158,158,156,156,157,157,157,157,157,158,157,158,158,158,157,157,156,157,159,159,160,160,157,157,157,158,156,157,157,157,158,157,156,156,156,155,155,157,155,155,155,154,153,154,154,154,154,150,151,152,153,153,153,152,151,151,150,149,151,151,151,150,147,146,145,146,146,147,146,144,146,147,144,143,142,139,138,140,139,136,135,155,142,136,137,140,144,150,155,160,166,168,172,177,179,181,183,184,185,184,188,192,194,193,192,191,190,190,190,190,191,192,191,191,191,191,193,193,192,192,193,194,193,194,194,197,178,125,117,117,114,112,107,103,101,100,97,97,93,93,91,103,108,108,111,112,114,113,115,116,117,120,122,124,125,126,127,130,130,131,133,136,136,137,138,139,140,142,142,144,144,144,145,146,149,148,151,151,151,152,151,152,152,151,151,152,153,152,153,154,154,154,154,154,154,154,154,154,153,155,155,155,156,157,157,157,157,156,156,155,154,155,153,153,156,155,153,153,153,153,155,157,156,155,155,152,153,152,153,153,153,154,154,154,156,155,155,157,156,157,156,156,157,157,156,155,156,155,154,155,156,155,156,157,157,156,156,156,156,156,156,156,156,156,157,157,157,158,158,158,157,155,155,156,157,158,156,155,156,155,157,156,154,155,157,157,158,155,155,156,155,154,156,153,153,153,153,152,153,154,153,153,153,151,150,151,151,151,149,149,152,150,150,150,150,150,150,148,145,147,146,144,146,146,144,145,147,145,144,142,140,139,140,139,138,135,136,162,152,138,133,136,141,144,152,158,164,165,169,171,174,175,177,180,181,182,182,187,188,189,191,192,189,187,188,189,190,190,190,191,190,189,189,188,190,192,193,193,193,193,193,193,194,148,115,117,113,112,108,103,101,100,97,95,95,94,92,97,110,105,108,110,112,113,114,114,116,117,119,123,124,126,127,128,129,129,133,133,135,137,
868137,136,138,141,143,143,141,143,145,145,145,146,147,149,149,148,150,151,151,150,149,151,150,151,153,152,151,152,153,154,153,152,152,152,152,153,152,154,154,155,154,154,156,155,154,154,153,152,152,149,144,133,117,111,107,103,104,111,117,124,135,148,153,152,153,152,153,152,154,154,155,154,154,156,154,155,156,156,156,156,155,155,155,154,154,154,155,156,156,156,156,155,156,155,155,155,155,156,155,156,156,156,157,156,157,157,157,156,156,156,156,156,155,156,156,154,155,155,154,155,155,155,154,155,155,156,156,153,155,153,152,154,154,152,152,152,152,153,152,152,150,151,151,152,148,151,149,147,147,148,149,148,149,147,146,146,145,144,144,143,145,145,143,143,144,140,140,140,140,138,138,137,134,171,160,150,136,131,135,139,147,155,159,163,167,168,168,171,173,176,178,177,179,180,182,185,186,187,188,187,188,188,187,189,189,191,190,189,189,189,191,192,191,191,191,193,192,191,193,178,127,114,113,109,107,105,102,100,98,94,94,94,92,89,105,105,106,109,110,111,111,114,115,115,116,120,124,124,126,127,129,130,132,133,136,136,137,136,138,139,140,142,141,143,143,143,144,145,144,146,146,148,148,149,150,150,149,150,150,150,152,151,151,151,150,152,152,151,152,151,152,152,152,153,153,153,152,153,154,153,153,154,151,146,135,117,118,92,69,85,82,72,79,66,53,57,60,84,103,121,140,153,155,153,153,153,154,154,154,155,156,156,155,156,155,155,155,153,154,154,154,154,154,154,155,156,155,156,156,155,155,155,154,155,155,155,157,156,157,157,156,157,155,155,156,156,155,155,155,156,155,155,154,153,153,153,153,154,154,155,156,155,155,154,155,154,152,154,153,153,153,152,151,151,153,151,151,150,149,149,148,149,148,147,146,146,147,147,147,145,145,144,143,142,145,144,144,144,143,142,141,137,139,139,136,135,134,134,133,178,170,159,147,134,130,135,143,151,154,157,162,165,166,166,170,175,177,176,176,177,180,183,184,185,186,185,184,184,186,188,188,190,189,189,187,187,189,189,190,190,191,190,191,191,189,193,154,115,114,109,109,105,102,100,99,95,94,92,92,86,96,109,106,107,108,110,112,112,113,114,114,116,121,124,126,126,127,128,132,133,134,134,136,135,136,138,137,138,140,141,141,142,142,142,144,143,143,146,145,146,146,147,146,148,148,149,150,150,149,150,150,150,151,151,151,151,150,151,150,152,152,151,152,152,152,149,149,144,123,114,91,69,69,66,60,58,53,53,54,58,57,55,51,43,46,73,98,116,145,153,152,152,153,153,155,154,156,155,154,155,154,153,154,153,153,154,153,153,153,152,153,155,154,155,155,155,154,154,154,155,156,155,156,157,156,156,157,155,154,156,156,155,155,155,155,155,154,154,155,154,154,153,153,152,152,153,157,155,153,154,155,153,153,154,152,152,153,153,153,152,150,151,148,147,148,148,147,147,146,145,146,146,144,145,143,143,144,144,144,142,143,143,142,139,142,142,140,141,138,138,136,138,133,132,133,181,176,168,158,146,132,131,134,140,148,152,155,160,164,166,166,169,174,175,174,174,176,179,181,182,185,184,185,184,184,186,187,188,187,187,186,187,188,188,189,189,190,189,190,191,191,192,184,131,115,110,107,107,106,103,100,98,94,93,93,89,88,106,104,104,107,108,108,110,112,113,114,116,118,124,124,125,127,128,130,130,132,135,135,136,137,135,136,137,139,140,140,140,141,141,142,142,141,143,143,144,144,144,146,148,148,148,147,148,148,149,150,149,150,151,151,150,149,149,149,150,150,149,148,148,150,149,135,98,64,69,61,47,49,50,51,52,45,37,40,40,45,52,55,52,42,42,73,97,79,118,149,152,151,153,154,154,154,154,154,152,154,153,152,154,154,152,153,153,153,154,152,153,154,153,153,154,154,155,155,154,155,156,155,155,155,155,156,154,154,154,154,156,155,155,154,155,155,154,153,154,154,152,152,151,152,152,154,155,154,153,153,154,153,155,152,152,152,151,152,149,148,148,147,147,148,148,147,146,145,145,146,145,143,143,142,142,141,139,141,141,141,143,141,138,138,142,139,141,138,136,136,137,134,131,131,181,177,175,167,157,143,131,131,134,139,143,148,154,158,160,160,163,167,170,170,171,171,173,175,177,180,182,182,182,183,184,188,187,185,186,185,184,186,187,187,188,190,190,188,189,189,188,192,165,118,110,110,106,106,105,101,99,97,95,92,89,86,96,105,102,105,106,107,110,110,111,114,114,117,121,123,124,124,125,127,129,131,133,132,134,135,135,135,136,138,138,138,139,139,140,140,140,142,142,141,141,142,144,144,146,146,146,146,147,147,148,148,149,145,148,148,148,148,147,149,148,148,147,146,149,141,133,97,62,40,40,45,52,49,46,51,49,43,32,34,38,40,39,43,54,56,48,48,124,101,65,123,154,155,151,154,152,153,154,153,152,152,152,153,153,153,151,153,151,153,152,153,152,153,153,153,153,153,153,153,154,155,154,155,154,154,154,153,152,153,154,153,153,155,154,154,155,155,154,152,152,152,152,151,150,150,151,151,149,150,150,151,152,153,152,152,153,150,150,150,150,149,149,148,149,147,145,144,143,143,145,143,142,143,143,142,143,142,140,141,139,139,140,139,138,139,140,139,139,137,135,135,135,132,131,131,181,180,179,173,164,155,141,130,131,135,139,143,150,154,156,156,158,160,162,167,168,169,171,172,174,175,176,179,181,180,179,182,185,185,185,184,185,185,187,187,187,189,190,188,189,189,188,187,186,139,110,112,108,105,104,101,99,96,94,91,90,88,90,104,103,104,105,106,108,109,112,112,111,114,114,118,122,124,122,124,127,129,129,129,132,133,133,134,134,135,135,133,137,138,139,139,139,140,140,139,141,142,142,143,144,144,145,145,145,145,144,145,146,145,146,145,146,148,147,146,145,145,145,147,109,79,77,57,44,37,40,39,39,53,54,50,54,48,45,43,41,42,39,39,42,55,66,53,101,115,56,82,151,174,152,151,152,153,153,152,152,152,152,151,151,152,152,152,152,151,152,153,151,152,151,152,151,152,152,153,154,153,154,153,152,152,152,152,152,153,153,153,153,153,154,154,154,154,155,153,153,152,151,150,150,150,149,151,147,147,151,150,151,150,151,151,151,149,149,148,150,148,148,147,147,147,145,145,145,142,143,142,141,142,142,141,140,140,141,141,137,138,138,137,138,138,137,135,135,135,137,
868135,131,131,132,130,179,182,180,180,173,161,153,138,129,129,132,135,142,147,152,153,154,155,156,160,164,165,168,169,173,173,174,176,177,177,180,182,183,184,185,184,183,183,185,186,186,186,186,187,188,187,187,185,187,168,119,110,108,107,105,101,101,99,93,91,89,88,86,97,105,102,103,105,106,107,110,111,111,112,116,118,119,121,122,124,125,126,128,128,129,131,131,132,132,131,133,135,133,135,136,136,136,137,138,138,139,139,141,142,142,142,142,143,143,143,143,144,145,145,144,144,145,145,145,144,143,144,131,101,53,51,47,49,49,41,41,52,53,66,71,65,60,60,60,57,54,52,50,45,46,46,62,56,63,110,91,85,123,172,193,154,148,150,151,151,150,151,151,150,151,151,150,151,150,151,151,151,152,151,151,151,149,151,153,153,153,153,153,151,151,152,152,151,152,152,153,152,151,152,154,152,153,153,154,153,152,152,150,150,151,150,149,149,147,148,147,148,148,149,150,150,149,150,149,149,147,147,146,144,144,145,145,144,144,141,141,140,141,141,141,139,141,139,140,139,137,136,137,137,136,138,135,136,133,134,135,133,130,130,131,130,177,179,182,179,180,170,159,150,134,123,128,132,134,141,146,148,150,152,154,155,158,160,161,165,167,169,171,172,174,175,178,179,181,182,182,182,182,181,184,184,183,183,185,186,186,185,186,185,183,183,145,111,109,109,105,103,101,99,96,92,88,88,85,90,102,100,103,103,103,105,107,110,111,110,115,115,115,117,120,121,122,124,124,127,127,128,130,129,129,131,131,131,131,134,135,135,134,136,136,137,137,137,138,140,139,139,140,141,142,141,140,140,140,140,142,143,144,143,143,142,144,135,87,47,47,49,54,52,49,58,69,82,87,85,85,80,72,72,68,70,69,68,65,60,56,56,48,65,40,67,89,85,112,162,187,191,146,149,150,150,150,150,150,149,149,151,151,151,150,150,150,152,151,150,150,150,150,150,152,152,151,152,151,150,151,151,151,151,152,152,151,151,151,152,151,151,153,153,152,153,151,151,151,149,149,152,149,148,148,147,147,147,147,149,149,149,148,147,147,147,146,146,144,144,144,142,142,143,140,139,139,139,141,141,139,138,138,139,137,135,135,136,136,136,135,136,136,135,133,134,132,132,131,129,129,129,225,176,180,180,178,177,168,157,146,129,123,128,132,137,139,145,146,148,151,153,155,157,161,163,163,165,167,171,173,174,176,177,178,181,181,180,181,182,182,182,181,182,181,182,183,184,184,182,180,182,172,123,108,109,106,105,100,96,95,94,91,88,86,85,99,101,101,102,103,103,105,108,109,111,111,113,113,115,117,119,119,122,123,124,125,127,128,128,128,129,129,130,131,132,131,133,132,134,134,136,136,137,139,138,139,139,139,139,138,139,139,139,139,139,141,140,141,140,139,140,121,76,54,48,48,48,51,62,86,102,110,109,102,98,95,89,81,82,76,75,72,75,74,70,65,63,56,72,71,40,51,72,91,121,129,189,168,146,149,149,148,148,150,149,149,149,150,151,150,150,151,151,150,151,150,149,150,150,150,151,150,149,149,150,151,151,153,152,152,153,152,152,151,150,150,151,152,151,150,151,150,151,151,150,149,149,147,147,148,147,146,147,147,147,147,148,147,147,146,146,145,145,143,143,143,140,141,142,139,140,139,138,140,139,138,136,136,137,137,134,136,135,133,134,136,134,134,133,130,132,131,131,129,129,129,126,237,223,175,179,179,177,176,166,154,142,127,122,125,129,134,138,143,145,146,149,150,153,157,160,161,162,163,166,169,173,174,174,174,175,178,178,178,178,179,180,181,181,180,178,178,180,179,178,178,179,183,150,110,110,109,104,101,98,97,95,93,88,86,84,92,101,98,99,102,102,102,106,106,108,109,111,111,113,113,115,118,119,121,122,122,124,126,127,128,128,128,130,130,129,128,130,129,130,131,133,134,136,136,136,138,137,138,136,136,137,136,136,137,138,139,139,138,137,140,124,66,45,55,50,44,47,77,95,123,132,130,124,121,107,103,99,91,89,85,81,81,82,84,81,76,70,65,81,87,57,57,51,82,86,111,128,198,158,143,148,147,147,149,148,149,148,150,149,149,150,150,150,150,149,149,149,149,148,148,149,149,149,149,151,150,151,150,151,151,151,152,149,149,148,148,149,150,150,148,149,150,149,150,151,150,147,147,146,146,147,145,144,145,143,146,147,145,146,144,145,142,143,142,140,141,141,140,139,138,139,139,139,138,137,137,137,136,134,135,133,134,134,133,133,133,131,131,132,130,131,131,129,128,128,126,126,205,237,221,174,179,179,175,173,164,152,140,124,121,123,128,132,136,140,141,144,147,149,152,153,157,158,159,162,165,168,171,171,169,170,169,172,175,176,176,176,176,175,174,175,174,176,176,177,177,177,179,174,128,108,108,105,102,98,96,95,90,87,86,86,86,97,99,97,99,101,103,104,105,105,107,109,111,111,112,114,115,116,120,121,121,121,123,124,125,127,127,127,129,128,128,129,128,127,129,130,132,132,131,132,135,135,134,134,135,135,135,135,136,136,135,136,134,137,124,72,42,47,58,51,37,85,121,114,146,146,140,132,126,117,108,104,99,93,87,88,89,89,92,88,86,78,78,80,73,78,81,76,101,57,92,81,136,161,142,146,147,148,147,147,146,147,148,147,150,149,148,150,148,148,148,147,147,147,148,148,149,149,149,148,149,148,148,148,150,148,149,148,149,149,147,147,149,149,148,148,150,149,149,148,147,147,147,146,146,146,146,143,144,144,145,143,144,145,143,142,141,141,142,138,139,139,138,140,140,137,138,137,137,136,135,135,134,134,132,134,135,133,131,129,130,130,130,131,129,128,129,129,125,126,126,124,217,206,239,215,168,179,176,175,171,162,152,138,122,119,123,127,132,134,138,139,143,145,148,150,154,153,155,157,157,161,163,163,165,166,166,168,171,172,174,172,171,172,172,172,174,174,174,176,175,173,175,178,158,114,109,105,100,97,95,95,92,87,86,86,84,89,96,95,97,98,100,102,103,104,106,107,110,110,111,111,112,115,116,118,120,121,122,122,124,126,124,125,126,125,127,128,127,128,129,129,129,130,130,130,130,131,132,132,133,132,133,133,134,135,134,134,135,120,72,42,46,57,62,46,84,153,139,132,154,145,141,132,122,116,111,103,102,94,88,93,92,92,99,95,90,85,80,85,74,73,96,88,143,77,51,84,84,113,149,141,145,145,144,145,145,145,147,147,147,147,148,147,145,146,147,148,147,147,148,148,148,147,147,148,147,145,146,146,146,146,146,147,147,147,147,145,146,147,149,148,147,147,146,146,147,145,146,146,147,145,144,144,144,144,144,143,143,142,143,144,140,139,141,139,137,139,140,138,139,136,137,136,135,133,133,132,134,132,132,132,131,130,128,129,128,128,129,129,129,127,125,124,124,125,123,123,236,217,207,238,207,165,178,175,172,169,161,150,134,122,121,123,124,131,131,135,138,140,143,148,149,149,149,150,151,155,161,161,161,161,161,161,162,165,165,168,169,167,168,173,172,172,173,173,174,173,173,173,174,134,107,108,102,98,96,92,92,88,86,87,85,84,94,94,95,96,97,99,101,103,103,104,106,107,108,110,109,112,115,116,116,117,120,12
8681,122,123,122,123,125,122,125,126,127,128,127,126,127,130,129,128,128,128,130,128,129,131,130,132,132,133,132,132,115,72,47,52,60,68,67,86,158,157,159,149,151,144,140,135,129,118,112,104,99,97,93,94,95,97,100,99,92,86,83,84,75,70,91,85,125,105,115,57,69,71,168,147,141,144,143,144,145,143,144,145,144,144,146,146,146,147,145,148,147,147,147,148,148,147,145,144,144,144,145,144,145,146,147,147,146,146,146,146,147,147,147,146,144,145,145,146,146,146,146,147,145,144,143,143,141,141,142,143,141,141,142,144,140,140,139,138,139,138,139,137,135,136,135,136,136,135,133,132,133,131,132,129,129,126,126,127,128,128,128,126,126,125,125,124,124,123,122,122,228,234,216,208,236,201,164,177,174,173,167,157,147,129,114,115,118,124,128,129,134,134,138,140,140,144,145,146,148,151,155,158,157,158,158,157,159,161,162,165,164,163,164,168,167,170,171,170,172,173,171,171,171,159,115,107,106,97,95,94,89,88,87,86,86,84,89,95,92,93,96,97,97,100,104,103,105,106,107,109,111,111,112,114,117,116,116,118,120,120,121,122,122,123,123,125,125,127,127,126,126,127,127,126,126,126,128,129,129,129,130,130,130,129,130,129,94,52,49,60,73,80,88,155,170,166,170,161,154,150,144,139,138,128,119,108,100,99,98,97,97,101,100,100,96,90,88,86,77,72,90,82,120,105,147,75,53,62,137,167,137,142,142,142,142,141,142,143,143,144,145,144,145,145,144,144,144,145,144,145,145,144,145,144,144,144,144,144,145,143,145,145,145,144,144,146,147,147,145,144,145,145,143,145,146,145,145,143,141,143,142,144,139,138,140,140,141,142,141,138,139,136,136,136,137,137,137,135,135,132,134,134,134,133,131,131,131,130,130,129,127,126,129,127,125,127,126,125,125,124,123,121,122,121,122,121,228,225,232,213,207,234,195,165,175,172,170,164,155,139,119,109,113,118,121,124,129,130,130,134,136,136,137,139,141,145,146,149,153,155,155,156,156,157,159,161,161,161,163,163,165,167,169,168,170,171,171,171,168,169,138,106,105,101,97,95,91,90,87,85,86,84,80,91,93,92,92,94,97,97,101,99,101,104,105,107,110,109,110,112,113,115,116,116,116,118,119,120,121,121,122,123,123,123,125,124,123,124,125,124,124,124,125,127,128,127,127,127,127,126,128,114,66,47,54,65,82,92,140,174,173,178,171,163,164,161,152,144,142,131,122,117,109,104,104,99,102,102,101,101,101,99,97,95,88,86,101,88,112,128,168,114,52,62,86,159,139,137,140,139,140,140,140,141,140,142,143,143,143,143,144,143,143,142,142,142,144,143,144,142,143,143,142,142,144,142,143,145,143,142,142,143,142,144,143,143,143,143,142,143,143,143,140,141,140,140,140,141,139,137,137,136,134,136,136,137,136,135,135,137,136,136,132,132,133,129,131,132,131,130,128,129,127,128,126,125,125,125,126,125,123,125,125,122,122,120,120,120,120,120,121,116,232,224,221,227,208,207,234,191,164,176,169,168,160,148,134,114,108,113,116,121,123,127,129,130,132,135,134,136,138,137,141,144,146,148,151,154,156,156,155,157,159,160,161,162,164,164,164,165,167,166,165,168,168,167,159,116,103,103,100,94,91,90,88,86,84,82,79,84,92,90,91,93,94,96,96,97,100,102,102,102,106,108,108,110,111,113,115,114,115,115,115,118,118,119,122,122,121,121,121,121,122,121,120,121,122,123,124,124,124,125,126,125,124,123,127,111,54,50,55,61,97,131,169,175,185,182,174,173,173,165,155,148,139,130,125,119,115,110,106,100,107,109,107,107,105,104,103,100,95,98,110,101,111,122,165,126,66,59,58,108,141,135,138,138,138,138,138,138,136,137,137,138,141,141,141,141,141,142,141,140,141,141,141,142,141,141,142,140,140,141,139,141,141,141,140,141,140,141,142,142,141,140,141,139,138,138,138,137,137,136,138,137,135,136,135,132,132,131,132,135,134,134,136,133,132,132,129,129,128,129,130,131,132,131,128,127,127,129,126,124,125,125,123,122,123,123,123,119,121,118,118,121,119,116,116,116,238,236,235,234,237,207,208,235,169,156,174,167,165,155,145,125,107,111,116,120,123,126,129,129,131,135,134,135,135,136,140,142,145,146,151,153,155,156,156,157,159,158,160,161,163,163,164,164,165,165,164,164,164,162,166,139,102,101,99,96,90,90,88,85,84,82,80,81,89,88,88,91,92,94,97,96,97,99,101,102,106,106,106,107,111,112,112,112,113,115,113,115,115,117,117,116,117,119,119,119,118,118,118,119,120,122,123,122,122,123,123,122,122,122,125,103,58,63,48,59,119,162,177,186,191,188,181,178,175,168,151,144,139,130,126,120,117,114,109,107,107,110,116,114,111,106,103,102,100,100,106,118,155,159,137,104,110,64,59,75,129,134,135,135,133,135,136,134,135,135,134,136,135,135,136,135,135,138,138,138,138,138,141,140,139,139,141,138,139,138,138,138,138,139,142,141,139,139,140,140,140,139,140,137,134,135,136,134,134,135,135,134,133,131,132,132,133,132,132,131,129,132,129,128,130,131,128,127,127,127,127,125,126,127,125,124,125,121,125,123,123,123,122,122,122,122,121,119,118,118,117,115,116,115,116,116,241,241,241,240,240,241,203,211,176,127,159,171,164,161,152,135,114,114,118,120,124,127,128,129,131,132,134,134,137,139,140,142,145,148,150,151,152,154,157,156,158,160,161,162,164,165,166,166,167,169,169,169,170,171,175,158,107,100,99,97,93,90,90,87,84,82,80,79,82,89,87,88,90,93,93,94,96,97,99,101,103,103,104,105,107,107,111,111,110,112,114,112,113,115,114,115,115,118,118,116,
868116,118,117,117,117,118,120,119,119,119,120,119,119,119,121,93,61,62,50,89,151,180,186,188,189,183,181,177,171,160,148,144,136,132,126,120,119,118,111,112,108,115,120,114,112,107,103,104,104,103,112,137,162,181,161,140,172,106,62,64,133,134,131,132,133,133,131,131,132,132,132,134,134,131,133,134,134,137,136,135,135,136,136,136,138,137,137,136,138,136,137,138,139,137,136,136,137,137,140,138,138,135,134,133,134,133,132,133,132,132,132,131,130,129,128,129,129,129,128,128,129,128,127,129,128,128,125,126,124,125,123,121,123,124,123,120,118,120,119,121,121,119,119,120,119,120,117,117,115,115,113,114,114,113,113,110,243,243,244,244,243,246,248,199,148,167,134,157,167,161,158,141,114,113,119,122,125,128,127,130,132,132,135,135,137,142,143,144,146,151,153,154,157,159,160,159,162,165,164,167,169,170,171,172,171,173,174,174,174,174,177,153,106,103,99,96,94,92,88,87,85,83,80,79,79,86,85,86,88,89,91,93,94,96,97,97,97,100,101,103,104,104,108,107,108,109,109,110,110,111,111,113,112,113,113,112,113,114,114,115,115,115,117,117,117,117,116,115,115,114,117,89,56,61,70,120,172,202,193,187,185,177,174,160,148,145,135,126,118,116,114,114,117,120,115,110,109,116,117,114,108,102,102,103,106,105,113,145,167,178,181,173,187,188,110,82,130,136,127,129,130,128,127,128,127,129,129,129,130,131,132,132,132,131,131,132,132,132,131,132,133,134,131,133,133,133,134,134,132,132,132,134,134,135,135,135,135,135,132,131,131,130,129,130,130,130,130,129,127,126,128,127,127,129,126,125,128,126,126,126,125,126,123,123,125,124,124,123,122,121,118,118,119,118,115,115,115,117,117,118,116,118,115,116,114,114,113,112,111,110,110,108,241,242,242,244,242,247,255,212,157,185,145,157,168,162,160,140,112,119,123,125,127,129,130,135,136,137,139,143,145,150,151,152,153,154,158,158,162,163,164,165,166,169,170,172,171,171,174,173,174,173,174,175,175,175,177,144,104,102,99,95,95,92,89,86,84,83,80,79,76,79,87,87,90,92,94,96,97,99,99,100,101,105,105,106,107,108,109,110,112,111,110,112,111,112,112,112,112,112,114,112,114,114,114,115,114,113,115,114,116,114,115,114,114,114,117,85,50,60,93,138,187,211,202,190,185,169,154,141,129,121,115,109,107,109,108,111,117,119,118,109,106,116,114,111,103,96,93,91,92,94,106,133,184,209,213,197,175,205,189,87,115,143,123,127,127,125,126,127,125,126,127,126,128,129,127,127,127,127,127,129,127,127,129,129,128,128,129,130,129,129,129,128,128,129,128,129,129,129,129,129,130,130,129,128,128,131,128,127,126,127,126,127,125,124,124,123,125,125,122,121,123,123,121,123,124,123,122,123,122,119,117,118,121,119,117,116,116,114,113,113,114,115,116,115,113,112,112,112,114,114,109,109,109,109,108,107,238,237,236,236,237,251,255,193,198,196,156,173,166,165,161,137,118,126,128,129,132,136,139,142,143,145,147,148,151,154,154,155,155,156,159,161,163,163,165,166,167,170,170,172,171,172,174,174,174,175,175,175,176,177,175,132,102,102,99,96,93,91,89,86,84,83,79,78,76,73,79,81,81,83,83,85,87,88,89,91,94,96,97,100,102,104,104,104,105,107,108,108,108,109,110,110,110,112,113,113,114,115,114,114,116,117,119,119,117,117,117,117,119,120,122,87,45,65,106,149,199,219,205,194,183,166,153,139,120,108,105,106,108,109,110,113,119,120,118,108,107,112,110,105,99,92,83,76,77,72,79,98,123,185,216,218,185,181,198,122,95,122,123,124,125,123,123,124,122,120,121,122,124,123,124,123,123,123,122,124,122,123,124,124,124,123,123,123,124,123,124,124,124,125,123,125,125,123,124,123,123,124,123,121,122,123,121,123,123,121,119,122,120,119,120,120,119,119,118,117,117,116,116,116,114,117,118,117,116,116,115,116,115,117,114,116,114,111,113,112,111,113,115,112,111,111,110,107,108,109,106,106,106,106,106,105,249,250,249,250,252,255,245,175,209,201,167,174,167,167,159,132,124,130,133,136,140,141,144,145,145,145,147,149,154,154,154,156,156,159,162,164,164,165,166,166,167,168,169,170,173,174,173,174,175,176,176,177,178,178,172,122,103,102,98,96,92,91,89,86,85,83,80,78,77,74,72,71,72,73,74,74,75,77,77,77,78,79,80,81,82,83,83,83,85,85,85,87,86,87,88,86,86,88,87,87,89,89,89,89,91,91,91,92,92,92,92,93,94,93,96,80,44,68,122,170,214,220,205,196,181,170,158,139,123,119,114,111,109,108,111,113,123,130,126,110,105,106,103,97,92,86,84,76,74,70,73,75,85,116,178,213,209,187,199,153,113,125,132,132,133,133,134,135,135,134,132,132,131,131,131,132,134,131,129,130,131,133,133,133,132,132,133,133,133,132,131,131,131,132,131,130,131,130,131,131,129,128,128,127,127,128,127,127,127,124,124,125,123,121,121,120,120,120,119,120,120,117,118,119,117,115,115,113,114,114,115,115,113,113,111,111,109,110,111,110,109,108,108,107,106,107,105,105,105,106,105,104,104,104,100,100,251,251,252,252,252,25
8685,224,174,217,187,173,172,167,167,157,130,127,132,135,139,141,143,145,148,150,150,149,151,154,156,157,159,161,161,163,163,166,167,167,166,167,169,172,173,174,173,174,173,175,177,177,178,178,179,165,115,103,102,98,96,94,90,88,85,85,83,80,78,74,73,74,74,74,75,75,76,77,77,78,81,82,82,84,84,85,85,86,86,87,89,87,88,88,89,90,89,89,89,90,90,90,91,91,91,91,90,89,90,91,91,92,91,91,92,93,89,67,80,142,192,224,211,206,199,195,182,159,133,107,99,96,94,101,107,106,106,123,149,145,124,105,100,95,90,85,81,81,82,88,96,103,102,96,96,121,182,206,195,197,171,126,121,105,106,107,108,107,106,107,108,109,110,110,110,111,113,112,113,113,112,113,114,114,115,116,116,116,116,114,114,113,115,116,115,118,118,117,117,116,119,118,117,116,117,119,120,118,118,118,116,116,116,113,113,113,114,115,116,116,118,117,116,116,118,119,117,115,116,117,118,119,117,116,115,116,114,112,113,113,114,114,115,114,110,108,110,108,107,108,108,108,106,107,104,101,99,250,252,252,252,253,255,196,188,218,178,178,170,168,166,148,128,132,135,137,141,144,146,146,150,151,151,151,153,155,156,160,163,163,165,166,166,167,168,168,170,172,171,173,175,175,175,173,174,175,176,176,176,176,180,158,108,104,101,99,96,94,92,89,88,86,81,80,78,73,73,73,74,74,74,75,76,77,77,77,80,81,82,84,84,86,86,86,88,87,88,87,89,88,89,88,89,89,91,92,92,90,90,92,92,92,91,91,92,93,93,93,92,93,92,96,78,64,106,160,206,223,218,214,218,216,170,109,72,58,50,53,59,62,82,100,101,124,165,164,138,112,94,89,83,78,78,83,79,81,85,92,99,103,101,99,137,194,200,189,171,129,145,107,106,107,106,107,105,105,105,105,105,105,106,106,107,105,105,106,107,106,106,106,105,106,106,105,105,105,105,105,104,105,105,105,104,104,103,105,104,104,103,103,103,101,101,102,102,101,100,101,102,100,100,99,99,99,98,99,99,97,97,97,96,97,98,97,96,95,95,94,95,95,95,94,94,94,95,95,94,95,95,95,95,94,94,95,94,94,95,95,94,93,92,92,92,252,252,253,252,255,251,176,205,208,175,178,170,169,161,136,132,135,136,139,142,145,147,150,151,152,154,155,157,160,162,162,165,166,166,168,170,169,170,170,172,172,171,174,174,175,175,176,176,176,176,176,176,176,180,148,105,105,101,99,97,94,92,91,88,85,83,81,77,74,73,73,74,74,75,76,76,77,78,79,80,80,82,82,84,86,86,86,87,87,88,89,89,88,90,89,89,89,91,91,91,91,92,93,93,93,93,92,93,94,94,93,93,94,93,95,70,58,120,177,210,217,222,221,230,203,98,62,105,70,50,55,77,77,61,83,99,122,167,170,142,109,89,84,74,73,77,64,57,56,48,51,56,71,94,100,110,165,196,188,167,152,170,115,108,108,108,108,108,107,107,106,106,107,107,108,108,108,108,108,109,110,110,109,108,109,110,109,110,108,108,108,108,109,111,108,108,108,106,108,108,107,108,106,106,104,103,104,104,103,103,102,103,103,103,102,102,103,101,102,101,100,98,99,99,98,98,98,96,96,96,94,95,94,92,94,93,92,93,92,92,90,90,89,89,89,87,86,87,87,88,85,85,85,85,85,84,238,239,238,248,255,230,178,220,195,179,174,170,168,154,132,132,133,137,141,144,146,148,150,152,158,162,163,165,167,169,169,171,172,173,174,174,175,175,175,176,175,176,176,176,176,176,177,176,177,177,178,178,179,178,138,105,108,103,99,98,96,93,91,87,85,84,80,77,74,74,73,74,74,75,76,76,78,81,80,81,82,82,84,84,86,86,86,88,88,87,89,89,89,90,91,90,91,91,92,93,93,92,94,92,95,94,93,94,94,95,95,95,95,95,96,70,62,122,183,212,217,229,224,223,148,59,139,196,110,56,71,97,87,67,80,96,123,174,171,151,114,87,83,73,68,63,55,71,67,49,46,56,58,61,89,95,120,174,190,156,148,176,120,106,109,107,107,109,107,106,108,108,108,108,108,108,108,108,110,109,109,109,109,110,110,109,109,109,109,108,110,109,107,109,108,110,109,107,107,106,107,108,108,107,105,105,105,106,105,104,105,104,105,104,103,102,101,101,102,102,102,102,101,100,100,100,99,100,98,98,96,96,96,95,95,98,95,95,94,94,93,94,93,91,90,90,90,89,90,90,89,90,88,87,87,87,249,249,249,252,255,208,187,221,187,182,171,170,169,147,132,134,136,140,143,147,149,150,151,158,165,172,175,176,177,177,177,178,179,180,182,182,182,182,181,181,182,182,182,182,182,181,181,181,182,182,181,181,182,176,127,106,106,102,100,99,95,94,91,89,84,83,81,77,74,74,74,75,75,74,76,77,80,81,81,82,83,83,85,85,87,87,88,89,89,89,89,90,88,90,91,91,92,91,92,93,93,91,93,94,93,92,95,96,94,95,96,96,96,96,98,75,79,130,187,212,222,232,218,198,103,104,168,184,134,87,93,104,81,72,80,97,148,177,171,150,117,93,78,74,68,60,59,87,82,52,48,67,92,59,63,90,98,135,186,158,127,176,134,105,109,109,109,108,109,108,109,109,109,109,108,108,108,110,112,110,110,112,110,110,110,109,110,110,109,109,110,109,110,109,110,109,109,111,108,108,108,108,108,108,106,107,106,106,106,106,106,105,106,104,104,105,103,102,102,102,101,102,101,100,100,100,100,98,98,99,98,98,97,95,96,97,94,96,94,93,94,93,93,93,93,92,92,91,92,91,89,88,88,88,87,86,253,254,254,255,255,190,205,215,181,179,169,168,165,139,131,134,139,143,145,147,149,152,158,166,177,185,188,187,188,189,189,188,187,188,189,189,189,189,186,186,185,184,185,186,186,183,184,185,186,187,187,185,184,176,119,109,107,104,102,100,95,92,91,89,85,83,81,78,75,74,72,74,76,75,76,78,81,82,81,83,83,84,84,85,87,88,87,88,90,89,89,90,90,90,91,91,92,92,94,93,93,94,93,92,95,95,96,95,96,96,95,97,96,96,99,75,87,142,189,212,218,226,210,164,139,202,169,141,125,113,99,90,84,79,81,133,176,176,162,135,105,110,
868136,86,67,59,60,78,93,69,69,96,100,64,52,80,90,114,166,170,108,167,147,106,111,112,110,111,111,111,111,111,111,110,111,111,111,111,113,113,111,115,112,112,111,110,111,110,112,112,111,111,110,112,111,111,112,111,110,110,109,109,110,109,108,108,107,108,108,106,108,107,105,105,105,106,104,103,102,103,103,103,102,101,102,102,102,99,98,100,98,99,99,96,96,97,96,95,95,95,95,95,95,95,93,92,92,90,90,91,90,89,88,87,88,86,252,252,254,255,237,179,218,202,180,176,169,169,160,132,130,134,140,146,147,149,152,155,162,173,190,197,196,196,198,200,200,196,195,195,197,197,195,193,191,189,188,189,189,188,188,189,190,190,190,191,187,185,187,172,115,108,105,104,101,100,95,92,90,87,84,84,81,77,75,74,74,74,76,77,78,79,81,82,82,83,85,84,84,85,89,87,88,90,89,89,90,90,89,89,92,93,91,93,95,94,93,94,94,94,96,97,97,97,97,96,96,97,97,96,100,81,94,150,188,213,216,211,185,174,200,202,181,159,139,122,109,99,93,93,131,169,176,177,163,133,108,95,159,155,72,64,64,69,78,87,86,86,81,71,54,64,88,103,132,174,111,153,165,112,114,111,112,112,113,113,113,113,112,114,115,113,115,117,113,115,115,114,115,113,113,113,111,112,113,114,114,112,112,113,113,112,113,113,113,112,113,113,111,112,113,110,111,111,110,109,108,107,108,107,107,106,106,103,104,103,103,103,103,103,103,102,102,100,101,102,101,100,99,100,98,96,97,96,98,96,94,96,94,94,94,93,92,92,91,90,89,89,89,87,88,88,254,254,254,255,216,185,225,192,181,173,170,170,151,129,134,136,140,147,150,151,153,156,165,183,195,197,201,204,206,207,207,205,201,202,203,200,197,195,195,195,194,192,194,196,196,194,195,195,195,194,190,188,193,164,111,109,106,104,100,99,98,93,92,88,85,83,82,78,75,74,74,75,76,77,79,79,81,81,82,84,85,84,86,86,87,89,89,91,91,91,92,92,92,91,95,93,94,95,95,95,94,94,97,98,96,97,98,97,97,97,97,99,99,99,102,88,103,147,186,210,207,184,162,181,216,200,179,164,148,127,113,103,108,140,164,171,188,203,179,137,113,105,89,113,90,71,70,75,82,89,94,92,88,84,68,55,80,97,111,168,119,151,152,113,115,114,113,114,115,115,117,117,114,115,116,115,117,118,117,118,116,116,116,114,115,116,115,118,116,115,114,114,115,116,115,117,116,114,114,114,115,114,114,111,113,114,112,113,111,111,108,107,109,107,107,107,107,107,107,106,105,104,106,104,104,103,103,103,101,102,102,101,99,99,101,99,98,97,97,96,95,96,96,96,94,94,94,94,92,92,90,90,88,89,89,87,246,250,255,255,193,203,221,187,182,171,168,167,141,128,134,137,140,145,148,152,155,157,171,188,194,198,200,202,207,208,208,208,207,205,203,200,199,199,199,199,198,197,198,199,199,198,198,198,198,196,195,193,195,151,107,109,105,103,104,100,96,96,94,90,84,82,79,77,75,74,74,76,77,77,78,81,82,82,83,84,85,86,87,89,89,90,90,91,94,93,93,92,94,95,94,94,95,94,95,96,96,97,95,97,99,99,100,99,99,99,98,100,101,100,103,93,112,148,191,204,187,168,159,174,213,198,179,165,139,121,117,122,139,159,165,179,207,195,168,133,108,104,88,82,90,81,75,78,85,90,95,98,97,95,88,66,72,90,111,163,124,150,143,111,116,116,115,115,115,116,118,119,119,118,118,120,120,118,118,119,120,120,119,117,117,119,120,120,121,118,117,117,118,118,119,120,119,118,118,117,115,116,116,116,114,115,113,114,113,111,113,112,110,109,111,110,109,109,108,108,109,105,106,107,105,106,105,103,103,103,104,102,100,100,101,100,98,100,100,99,96,97,99,95,96,96,96,94,92,93,92,91,90,89,89,88,241,248,255,243,185,219,212,184,178,170,170,162,133,129,133,137,142,147,150,155,156,160,179,192,196,200,201,204,208,208,207,208,209,207,206,207,207,206,204,203,204,205,202,200,199,199,199,198,198,198,197,196,197,140,108,108,106,105,104,102,97,96,93,91,86,82,82,78,75,74,74,76,78,79,81,80,83,84,84,85,85,86,87,88,91,91,91,92,92,92,94,93,94,94,94,95,96,96,97,98,97,97,98,97,98,100,99,101,100,101,101,101,102,102,102,97,121,151,198,203,179,165,161,162,173,173,161,142,125,124,133,140,147,152,161,191,197,152,142,136,105,93,89,90,86,84,81,77,78,87,92,95,94,93,94,87,82,88,112,162,143,135,132,114,118,119,118,119,119,119,119,120,120,121,120,120,123,122,121,122,124,123,122,121,123,122,122,123,122,122,121,122,122,121,122,122,120,122,120,119,119,119,119,119,119,118,117,116,117,115,115,115,114,112,113,112,112,112,111,110,108,108,109,109,108,107,107,105,105,105,105,104,102,101,102,101,101,100,100,99,98,98,98,97,95,96,94,95,93,94,93,91,91,91,90,89,255,254,255,224,190,231,200,182,174,171,171,156,129,131,136,140,144,148,152,155,161,167,185,194,198,200,204,208,212,212,211,210,211,211,210,209,209,210,207,206,208,208,205,202,200,200,201,202,203,201,199,199,196,131,109,108,106,106,104,100,97,95,94,91,88,83,83,79,75,76,77,77,78,80,83,83,82,84,85,85,85,87,88,90,92,91,92,93,93,93,95,95,95,95,96,95,96,97,98,98,99,98,98,99,100,102,101,100,100,102,103,102,102,102,102,100,130,159,209,205,180,170,164,160,156,150,141,128,128,137,142,140,140,126,150,202,152,61,27,131,119,88,63,60,87,84,86,81,76,80,83,86,92,125,156,179,188,168,149,168,154,137,133,119,120,122,122,122,121,121,120,123,124,122,123,123,124,126,126,125,126,126,125,125,126,124,124,125,125,126,126,125,126,125,124,124,125,124,125,125,122,122,122,122,121,122,122,120,120,117,116,116,117,115,114,113,113,114,112,112,111,109,111,111,110,108,108,107,106,108,108,104,103,103,103,103,103,101,101,101,101,98,99,98,97,97,95,95,94,94,94,95,94,94,92,90,255,254,255,200,204,231,190,182,172,171,169,145,127,132,137,143,147,150,153,156,160,168,186,196,200,203,207,212,213,213,212,211,211,212,209,207,207,207,207,208,209,210,208,206,205,205,204,206,205,205,201,201,189,120,109,107,107,106,104,98,96,96,92,90,87,84,82,78,76,76,78,77,79,81,82,83,83,84,85,86,87,88,91,92,93,93,93,95,95,96,97,96,96,97,96,96,97,97,98,99,99,98,100,100,100,100,101,101,101,102,102,104,103,102,103,107,135,162,218,208,182,176,173,167,160,151,141,141,140,140,138,132,121,103,156,188,86,2,54,156,118,78,19,18,7
8685,85,86,84,82,82,81,84,88,123,192,240,254,238,179,168,162,141,134,121,121,122,122,123,125,126,126,125,126,127,128,127,126,126,127,129,127,126,129,130,130,129,128,127,127,128,128,127,128,128,129,128,127,126,126,125,127,126,124,125,124,123,122,122,121,119,120,120,120,118,118,117,117,116,115,116,116,112,111,112,111,110,112,111,109,110,109,107,106,104,103,102,101,102,103,102,102,101,101,100,99,99,100,98,96,96,95,95,94,94,92,91,254,255,249,189,223,225,186,178,170,171,164,137,130,134,138,142,148,152,155,158,159,173,191,197,202,206,210,212,212,213,213,212,212,211,208,207,208,207,208,211,210,211,211,210,208,207,207,207,206,205,203,205,178,114,111,110,108,106,101,98,100,98,91,90,86,86,82,78,77,76,77,79,80,81,82,83,84,85,86,87,88,90,89,92,93,93,93,97,97,96,96,97,96,97,97,99,98,99,100,99,101,100,100,101,101,102,103,103,104,103,103,104,105,106,104,111,130,164,224,208,190,187,186,175,161,155,153,150,142,135,130,119,108,92,154,157,67,30,127,148,107,79,31,22,70,85,80,86,84,86,92,88,85,84,107,157,186,199,197,173,169,149,132,123,126,126,126,128,126,127,128,128,129,128,128,130,130,128,129,130,131,130,132,130,131,132,130,131,132,130,130,132,133,132,132,131,133,130,129,128,130,130,126,126,128,126,125,124,125,125,123,122,121,120,120,121,121,119,116,120,119,117,116,116,114,117,114,112,111,110,110,110,107,104,104,105,102,103,103,104,102,104,102,100,100,100,99,100,98,97,96,96,96,94,93,92,254,255,231,190,243,215,183,175,171,169,158,132,132,134,138,142,148,152,157,158,162,180,193,198,205,209,212,211,211,212,212,212,210,208,207,208,209,210,211,210,209,209,209,210,208,208,208,208,206,203,201,206,166,109,112,111,108,105,103,100,99,96,93,90,86,84,82,78,76,77,78,80,82,82,83,85,85,86,86,87,88,90,90,92,95,94,96,99,99,98,97,98,98,97,98,98,98,100,100,101,102,101,103,102,102,103,103,104,104,103,104,106,106,105,106,109,130,172,224,208,202,201,193,174,166,163,165,139,131,132,120,107,102,91,134,136,83,119,144,138,107,78,65,50,73,76,69,86,88,89,100,104,91,87,84,91,118,153,181,181,170,143,127,127,127,129,129,130,130,130,132,132,131,132,132,131,133,131,133,133,134,133,132,134,134,135,136,135,137,135,133,133,134,134,137,135,135,135,134,132,131,132,132,129,131,129,127,127,126,126,126,126,123,123,123,122,123,120,121,120,120,119,118,118,119,116,116,115,114,112,110,110,111,109,108,108,109,106,105,104,104,104,104,103,103,101,100,100,100,98,98,98,96,95,95,93,254,255,209,208,254,205,181,172,170,168,148,130,132,135,140,142,147,152,157,158,166,183,194,201,207,212,212,211,212,215,218,216,215,214,212,211,211,213,211,210,210,210,209,209,209,209,209,207,207,206,204,207,154,109,112,112,107,104,102,101,99,96,94,89,86,84,81,79,76,79,80,82,82,83,83,85,86,87,87,90,91,91,92,93,95,96,96,99,99,99,99,100,100,100,100,99,100,101,101,102,102,102,103,105,103,104,105,105,105,105,107,107,107,106,106,121,144,180,224,211,211,205,192,178,173,170,171,146,138,129,115,103,98,98,108,107,98,140,142,127,100,72,59,58,62,60,68,83,90,91,94,103,99,89,88,88,92,115,154,175,172,139,125,130,130,130,131,132,132,133,133,134,135,137,136,136,136,137,138,138,138,137,137,138,139,138,138,138,138,140,137,134,135,137,138,138,137,136,137,137,133,132,135,135,134,132,129,128,128,130,130,127,126,125,128,127,125,122,121,121,120,121,119,120,120,119,120,120,117,114,112,112,112,112,112,110,111,110,109,104,105,106,105,105,104,103,101,101,99,98,99,98,99,99,99,94,255,253,191,233,248,192,180,170,170,167,142,129,133,140,142,147,150,153,157,160,170,187,198,205,210,213,215,218,220,219,218,217,217,217,216,213,213,213,209,208,209,210,210,210,211,211,210,208,209,209,206,205,139,110,112,110,107,104,101,100,100,96,93,89,88,85,82,79,78,79,82,82,83,83,85,85,87,86,88,90,90,91,94,94,96,96,98,98,99,99,102,100,101,101,102,101,100,101,101,102,103,104,104,105,104,105,105,105,107,107,107,107,108,114,177,191,178,197,224,216,211,202,193,181,176,173,167,159,143,128,113,101,97,99,103,109,121,138,125,100,86,74,57,47,50,61,74,84,90,91,92,94,95,92,88,89,87,90,116,161,173,160,142,130,131,132,133,133,135,135,135,138,137,138,138,139,138,139,138,138,138,140,140,139,138,138,141,142,142,141,139,138,141,142,142,140,140,138,138,140,136,134,135,135,134,133,132,132,133,130,131,128,128,128,128,129,128,126,125,124,125,123,123,124,122,121,123,120,118,116,
868117,117,115,115,115,114,112,112,111,111,108,107,105,106,104,104,103,102,102,101,99,99,98,99,98,96,255,237,190,255,231,185,179,171,170,163,135,131,137,140,143,147,153,155,158,160,174,193,202,209,212,215,221,224,224,223,218,216,216,216,215,215,213,212,211,212,212,212,213,215,213,211,208,208,209,208,209,200,128,112,112,110,107,105,101,99,99,95,91,90,86,83,82,80,79,79,81,82,82,84,86,86,87,88,89,90,92,93,94,95,97,99,99,99,100,100,102,102,102,102,103,102,102,104,105,104,103,104,104,104,105,107,107,106,107,107,108,111,104,143,179,185,220,219,223,216,209,204,194,186,185,175,167,158,140,125,111,101,100,111,125,130,124,117,104,89,78,74,69,57,52,63,75,82,90,92,91,93,94,93,92,90,88,87,97,135,168,178,163,132,135,134,136,137,138,138,139,139,141,140,140,141,141,141,142,141,142,142,142,142,143,143,142,142,143,140,141,139,141,143,142,141,141,143,144,143,141,139,139,138,137,137,137,137,137,134,135,135,131,130,131,130,130,130,127,128,126,127,126,125,124,121,122,122,122,121,118,118,118,118,115,116,115,113,112,112,111,109,107,107,107,107,105,106,103,103,102,102,98,99,98,98,255,215,205,255,218,184,176,173,171,155,131,132,137,141,146,149,153,155,156,163,180,195,202,208,211,218,221,223,224,224,221,217,216,216,217,217,213,213,214,215,214,216,217,216,213,211,209,210,211,210,214,191,121,112,112,109,107,104,103,102,99,95,92,90,87,84,81,81,79,80,82,84,84,84,87,87,88,88,90,91,93,93,95,96,99,99,99,101,101,101,101,101,101,103,105,105,104,104,105,105,105,104,104,105,106,108,108,107,108,109,108,109,105,145,121,123,221,214,222,212,207,205,199,191,186,178,167,156,139,124,107,104,118,131,134,123,117,108,92,79,81,85,73,60,54,57,66,75,85,91,90,92,92,92,91,91,92,87,92,120,160,117,116,137,135,136,137,138,139,140,141,140,143,141,140,140,141,141,142,142,143,146,144,144,147,146,144,143,144,142,142,144,144,144,143,142,143,144,143,142,142,142,140,140,140,139,139,138,138,140,140,136,135,134,132,131,131,129,130,128,128,127,126,126,126,125,123,124,123,123,121,120,119,120,118,118,116,
868114,113,113,111,110,110,109,108,106,105,105,106,104,103,102,100,102,98,97,255,200,231,255,207,183,174,172,169,148,131,134,137,142,147,151,154,157,158,168,185,195,203,209,215,219,220,223,226,226,221,219,221,221,219,216,216,215,215,213,215,218,217,215,214,214,214,214,213,211,216,179,114,113,112,110,106,104,104,103,100,98,93,90,87,84,82,80,81,82,83,83,85,86,86,88,89,90,91,92,93,94,96,99,99,99,99,101,102,102,100,101,103,105,104,104,105,105,106,105,105,106,108,107,108,108,107,108,108,110,110,111,107,139,127,130,208,203,221,209,208,205,204,196,187,178,165,154,139,124,118,126,130,130,124,117,114,110,98,75,75,81,81,64,58,54,56,63,72,84,91,91,93,92,92,91,93,92,91,115,155,106,116,139,136,137,140,141,141,141,142,142,143,143,143,145,146,145,146,147,145,146,148,148,147,147,147,146,145,145,146,147,148,145,146,144,146,146,147,146,145,142,144,142,140,140,139,141,141,141,140,138,136,136,135,134,132,130,131,131,130,129,129,128,128,127,124,124,122,122,122,120,121,120,119,116,116,116,115,114,114,113,110,109,109,108,108,107,107,106,104,103,101,100,100,97,245,199,254,248,199,180,175,170,165,140,131,135,139,145,147,151,155,158,161,172,188,199,206,214,218,217,218,224,227,225,223,223,224,223,218,216,218,217,217,218,218,219,218,216,215,214,215,215,215,212,215,163,111,114,112,110,107,105,103,101,99,97,92,91,88,87,85,81,81,80,83,84,86,86,88,89,91,92,91,92,95,96,97,99,99,100,100,101,103,101,101,103,105,104,104,105,105,106,105,106,106,109,109,108,108,109,109,108,109,111,111,111,108,141,123,129,178,200,221,210,209,202,202,199,189,176,163,152,137,129,134,125,125,123,117,120,126,120,110,91,84,84,82,74,69,66,59,57,60,71,86,92,92,92,92,96,96,98,92,112,152,111,127,140,139,139,141,142,142,141,142,143,144,145,145,145,147,149,148,148,149,147,148,150,148,150,148,148,149,149,149,147,147,147,146,147,148,148,147,147,147,144,147,145,142,143,145,144,142,141,141,140,137,136,136,136,133,134,133,133,131,130,131,131,131,129,127,127,124,123,121,120,123,123,123,120,117,118,116,114,115,115,114,109,109,110,109,108,106,108,106,101,100,101,101,98,224,213,255,236,192,180,175,171,161,135,133,137,139,147,149,150,156,158,163,177,192,204,211,217,219,218,220,225,225,225,226,225,226,223,219,219,220,220,220,220,219,219,217,215,214,214,214,215,215,212,213,145,111,114,111,109,109,106,105,103,100,96,94,92,87,86,84,80,81,83,83,84,87,86,87,88,90,91,91,93,95,95,98,100,101,101,102,104,103,103,103,104,104,104,105,105,106,106,107,107,108,110,108,109,109,109,109,110,110,110,112,112,110,143,119,140,173,207,219,213,213,202,200,199,189,175,165,152,134,135,136,116,117,122,134,143,118,99,95,90,85,79,75,69,71,73,67,58,61,60,72,91,92,92,95,102,102,102,95,113,151,108,125,141,140,141,144,144,143,144,146,145,147,147,146,146,146,148,148,148,150,150,150,149,150,151,151,148,149,151,150,149,150,148,148,149,151,150,147,147,147,148,149,150,149,149,146,145,145,141,142,141,141,141,138,137,137,137,137,136,135,133,131,130,132,130,130,130,129,128,125,123,125,123,122,123,121,119,118,118,116,
868114,115,114,111,111,110,112,110,108,108,104,103,102,103,101,210,235,255,220,189,178,174,171,153,133,133,137,142,148,152,153,157,158,165,183,199,208,212,218,223,225,228,228,230,230,228,226,225,224,221,221,221,219,219,220,220,218,217,215,214,214,214,215,214,211,207,135,113,115,112,110,107,106,105,103,99,96,93,91,88,86,84,82,82,83,84,85,87,87,88,90,91,91,93,95,97,97,100,100,102,102,104,103,104,103,104,104,105,105,107,108,106,107,107,107,108,110,109,109,110,112,110,111,111,112,114,113,111,141,124,156,163,208,219,210,211,201,198,197,189,175,168,151,135,135,122,104,109,134,132,99,92,86,74,61,52,53,59,62,62,67,71,68,67,62,63,86,93,91,96,102,104,101,100,118,150,112,123,142,142,144,145,144,147,147,146,148,147,148,148,149,149,151,151,151,150,152,152,151,151,151,153,153,150,152,152,150,149,151,151,151,151,151,152,152,152,151,151,151,150,150,150,148,147,144,141,141,142,144,143,142,142,140,138,136,136,137,136,134,134,133,132,132,130,129,129,127,128,127,126,122,123,122,121,119,118,116,117,115,116,112,112,111,112,109,109,111,107,105,105,102,212,255,254,213,185,177,173,170,144,133,137,140,145,152,154,156,159,162,170,189,204,210,217,226,230,233,230,231,233,231,227,224,223,224,224,222,222,222,222,222,221,218,219,217,215,214,214,216,214,211,195,127,117,114,112,110,107,106,104,102,100,98,94,92,88,87,84,81,83,84,85,86,87,88,88,90,91,91,93,95,97,100,99,100,102,102,104,104,104,104,105,105,106,105,104,107,108,108,108,108,110,109,111,112,110,112,113,113,113,112,114,113,111,137,152,133,131,210,220,209,204,201,201,196,187,176,169,150,131,125,103,87,97,109,88,103,126,111,96,84,76,74,67,62,55,52,60,69,70,66,60,74,90,92,91,102,108,100,104,124,145,114,126,144,143,145,146,146,146,148,147,148,149,151,151,151,152,152,153,152,153,153,152,152,152,153,151,151,153,152,152,152,153,153,153,153,152,152,153,153,153,155,154,152,152,151,151,151,147,147,146,146,143,144,145,142,141,141,141,140,140,139,137,137,135,135,136,136,133,130,131,131,130,128,126,124,124,123,121,120,119,119,117,116,118,113,113,112,111,111,109,109,108,108,108,105,230,255,246,205,182,176,173,166,139,133,136,142,148,154,154,158,160,162,174,195,208,216,224,229,234,236,230,228,229,229,225,222,222,224,223,223,223,222,223,223,220,218,218,218,217,217,217,217,215,215,181,118,119,113,113,110,108,106,103,102,101,98,93,91,88,86,83,81,82,84,86,87,88,88,89,92,92,92,94,97,98,100,101,102,103,102,104,106,105,103,106,106,107,107,106,108,108,108,108,110,111,110,110,111,111,111,112,113,114,114,115,115,114,121,175,128,136,207,219,213,209,204,202,197,189,179,172,145,116,101,92,66,60,86,129,159,147,125,103,94,93,88,80,74,69,57,48,50,56,65,66,68,84,91,92,100,108,106,107,132,140,110,141,144,145,146,145,146,148,148,148,149,150,151,152,153,152,153,154,153,155,156,155,154,154,155,154,152,154,154,154,153,154,155,152,153,153,152,154,153,153,154,155,155,153,152,151,152,151,151,149,147,147,146,145,144,141,140,143,144,142,139,137,136,136,135,135,135,133,131,131,132,132,130,128,126,124,124,123,121,121,121,119,116,117,117,115,114,112,111,112,110,107,108,109,104,249,255,238,198,179,176,173,161,136,134,136,141,147,152,155,159,161,164,181,200,211,218,223,231,239,237,233,229,232,233,227,221,223,227,222,223,224,224,224,224,222,221,218,216,218,220,218,216,217,220,169,114,118,113,112,111,109,105,103,101,100,96,94,93,88,86,84,83,85,86,86,87,88,89,91,91,92,94,95,96,98,99,102,103,105,103,105,104,104,105,106,106,106,107,109,108,108,109,110,112,111,111,111,112,113,113,114,114,114,114,115,117,117,113,161,189,176,201,217,209,211,209,200,197,190,180,173,139,104,90,87,95,126,160,172,155,136,118,95,85,80,78,80,83,80,76,66,50,49,64,70,67,85,89,90,94,105,108,110,137,139,137,157,143,146,146,147,147,148,149,151,152,153,153,153,154,154,155,156,155,155,155,156,155,154,155,156,156,156,156,156,154,154,155,156,152,153,154,155,155,156,157,154,156,154,154,152,152,151,151,151,151,153,149,148,148,147,144,145,146,142,140,138,139,139,137,137,136,135,135,133,131,132,131,130,128,127,125,124,122,122,120,121,118,118,117,116,116,114,112,114,112,110,110,109,107,254,255,230,191,178,175,172,152,135,136,137,142,146,151,155,158,160,167,188,203,212,222,229,238,240,238,237,237,238,235,226,223,224,230,227,224,226,224,221,221,220,221,219,215,217,219,219,217,216,221,156,113,117,112,111,110,108,105,104,102,99,95,95,92,88,87,83,83,86,87,88,87,89,89,90,92,94,95,95,97,100,102,102,103,103,104,105,105,106,107,105,107,107,108,109,109,108,110,110,112,112,112,112,112,113,113,114,114,115,115,114,117,116,115,147,196,169,193,219,210,213,214,199,198,192,181,168,139,112,97,108,136,156,162,158,142,127,110,88,70,65,65,67,75,75,77,79,72,66,71,73,73,89,89,91,98,99,105,116,134,150,206,159,144,149,148,149,150,150,151,151,152,154,155,155,155,155,156,157,155,157,156,156,158,156,155,155,156,156,157,156,156,156,156,156,156,155,156,156,157,158,158,156,156,156,155,153,152,152,153,152,152,151,151,150,147,149,149,146,145,146,144,140,140,139,137,138,136,136,137,135,131,132,133,130,132,130,128,127,125,123,122,121,120,119,117,118,118,115,113,114,114,113,111,108,108,255,253,218,185,177,175,171,143,135,137,
868140,144,146,150,156,158,160,171,194,204,215,229,233,239,238,233,231,237,239,236,229,226,227,231,232,232,229,222,220,220,220,219,218,215,215,216,217,219,218,216,144,115,115,112,111,109,109,106,102,102,99,96,94,91,88,86,84,86,87,86,87,87,88,90,91,91,95,96,97,100,100,102,103,104,105,105,106,105,107,107,106,107,109,108,107,109,109,110,111,112,113,113,113,113,114,114,115,115,116,115,116,117,117,115,158,193,154,178,219,214,220,215,201,195,194,181,161,139,117,113,130,148,154,154,146,133,124,108,90,70,61,59,67,81,80,81,81,79,77,75,75,82,92,91,91,93,96,99,115,135,143,187,168,147,152,151,149,150,151,152,152,154,154,155,155,155,157,157,158,157,156,156,155,156,156,157,157,159,158,157,158,158,156,157,157,157,158,158,159,157,157,159,158,155,156,156,154,154,154,153,151,151,151,152,151,150,149,148,147,148,147,145,145,142,141,140,138,137,138,137,136,136,134,132,132,132,130,130,129,127,123,124,123,121,119,120,118,117,117,114,114,115,113,112,110,109,255,247,205,180,174,175,167,138,135,138,142,146,150,154,157,159,164,178,198,208,218,227,232,233,233,242,242,243,238,239,238,232,231,232,232,229,225,223,223,222,221,220,221,220,221,220,221,221,221,208,132,116,116,113,112,111,109,106,103,101,99,96,93,92,91,87,86,86,85,87,88,87,89,90,91,93,96,96,95,98,100,101,103,104,105,105,105,106,107,107,108,109,109,110,111,111,111,111,111,113,113,113,113,113,115,114,115,115,115,116,118,119,119,115,155,176,126,162,219,219,222,214,201,192,191,182,163,141,120,126,141,153,153,147,136,127,118,106,87,69,63,66,74,85,87,85,83,82,80,80,81,83,91,92,89,87,97,103,115,135,138,171,181,146,150,150,151,151,153,153,154,154,155,156,155,156,158,157,157,158,158,157,158,157,157,158,159,159,158,158,158,158,158,158,160,159,159,159,159,159,159,157,159,157,156,158,156,155,154,154,152,152,151,151,150,151,150,148,149,148,148,148,148,146,143,144,144,141,139,138,137,137,136,134,133,132,132,129,129,129,127,125,125,122,123,124,120,117,118,118,117,116,115,112,110,110,255,238,195,177,174,175,158,134,136,139,144,147,152,156,159,161,167,183,202,215,221,225,230,231,244,253,249,240,232,237,239,237,233,232,232,229,227,226,226,221,220,221,221,223,224,225,226,223,222,196,122,117,115,113,111,110,108,104,103,101,99,94,93,90,90,86,85,86,87,87,88,88,90,92,93,95,95,95,97,98,101,101,103,104,105,106,105,106,106,108,109,109,109,110,111,112,112,111,110,112,112,114,114,114,114,116,115,116,116,118,118,119,121,120,119,125,119,158,220,223,222,215,202,192,188,185,167,142,128,134,146,154,150,144,134,120,112,108,95,87,84,73,72,80,86,85,83,82,80,80,80,82,91,92,89,88,91,103,113,131,131,119,152,151,150,151,151,153,154,153,156,156,155,155,157,158,158,159,158,159,161,158,158,159,159,159,159,160,160,160,159,160,160,159,161,161,160,160,161,161,159,158,159,159,158,158,157,156,155,155,155,155,154,150,149,150,151,150,150,150,149,148,149,147,147,145,146,144,140,140,139,137,138,137,136,133,132,132,132,129,130,127,125,125,124,124,122,119,119,118,118,117,116,113,110,110,254,227,185,177,175,172,149,134,137,141,144,150,154,157,160,162,167,187,204,215,221,227,231,237,246,246,238,235,237,236,234,237,241,239,236,235,234,232,226,222,223,224,224,224,224,225,226,221,224,182,117,118,116,112,110,108,107,105,104,101,98,96,95,90,89,86,85,86,86,86,88,89,88,92,94,94,95,96,97,99,101,101,103,104,105,106,107,107,107,109,110,109,110,110,111,110,111,112,111,114,113,113,114,114,115,116,116,116,118,117,119,119,120,120,120,123,121,148,215,223,222,215,207,191,188,184,169,143,134,139,150,154,149,146,139,130,129,130,118,106,95,80,71,74,79,81,80,80,79,79,80,81,92,92,89,89,89,98,112,126,134,115,135,152,150,152,153,153,154,155,156,157,158,158,157,158,160,160,160,162,161,160,162,161,160,160,161,162,161,161,161,162,160,161,161,161,164,163,164,162,162,162,162,160,158,157,158,157,155,156,156,155,154,152,152,152,152,151,150,149,149,148,149,146,146,147,145,145,146,145,144,141,140,137,135,136,133,134,134,131,130,130,129,128,126,125,124,122,122,120,117,116,116,116,111,110,250,210,179,175,175,166,141,134,137,141,144,152,154,158,160,162,169,190,204,213,222,224,232,241,239,234,229,232,229,232,235,235,238,239,236,234,236,236,230,225,226,226,223,222,223,224,223,218,222,166,115,119,115,112,110,109,107,106,103,101,97,96,93,90,90,87,86,87,87,88,89,90,90,93,94,94,96,99,99,100,101,102,104,105,106,107,107,109,109,109,110,111,111,111,111,111,111,112,109,114,113,113,112,114,115,116,117,118,117,118,119,120,120,120,120,124,123,140,210,221,221,214,206,192,189,183,168,151,145,143,145,151,158,159,146,138,138,129,111,100,94,83,75,72,71,75,78,79,79,80,82,82,87,89,88,89,89,98,111,119,141,152,151,151,151,153,153,154,155,155,157,158,159,159,159,159,160,161,161,162,162,163,163,163,161,163,163,164,163,163,163,162,165,164,165,164,165,164,163,163,163,162,161,161,159,160,159,159,157,157,157,157,155,154,154,154,153,153,152,150,150,150,149,148,147,149,147,149,148,145,142,142,142,138,137,137,136,136,135,133,130,130,129,128,127,128,125,125,123,122,122,121,117,116,116,113,244,196,176,175,173,159,137,134,136,142,148,152,155,158,160,162,176,197,205,217,228,234,242,240,239,238,237,244,240,239,235,232,233,237,232,227,226,233,235,229,225,225,223,219,221,221,218,216,218,150,115,117,115,111,110,109,107,105,101,100,96,95,95,90,88,85,85,87,89,88,89,90,91,93,94,96,97,98,100,100,100,102,106,106,107,107,108,109,109,109,111,110,110,111,111,111,112,112,103,112,114,113,115,117,117,117,118,118,118,119,120,121,121,121,123,124,125,131,201,221,215,211,203,196,189,181,168,156,152,145,145,154,169,166,156,142,132,120,105,98,95,85,81,74,69,71,75,76,78,80,82,82,85,89,87,86,88,96,107,115,139,148,150,151,153,153,153,156,157,156,157,158,158,158,160,161,161,161,162,162,163,162,162,164,164,163,164,165,164,164,164,164,166,
868166,165,165,166,166,165,164,163,163,163,162,160,159,159,159,158,158,157,157,156,157,156,154,155,154,154,152,150,152,151,151,149,149,148,148,149,146,145,143,142,141,139,139,138,138,136,133,134,132,133,131,129,128,126,125,122,122,122,121,119,117,116,113,229,186,176,174,172,153,135,136,139,144,149,153,156,158,159,163,183,203,211,221,232,237,249,242,238,243,247,251,244,238,239,240,237,235,232,227,227,233,236,231,224,220,220,220,221,220,216,220,213,138,117,116,112,112,111,108,107,105,102,100,97,94,94,91,89,87,86,86,88,88,90,91,91,92,93,95,95,98,99,100,103,104,105,106,107,108,109,108,109,109,110,110,111,111,111,112,112,111,105,113,113,114,112,97,105,116,117,117,119,120,120,121,121,122,124,125,127,125,185,219,213,209,203,196,188,177,171,169,165,158,165,168,176,166,155,147,131,116,102,92,90,85,79,75,69,66,73,76,76,79,82,83,87,89,87,86,87,93,102,109,139,152,152,152,154,154,156,157,157,158,158,159,159,160,161,163,162,162,162,163,163,163,164,164,163,163,164,165,165,165,165,166,165,166,165,166,165,164,166,165,164,164,163,161,162,161,161,159,159,159,159,157,156,156,156,157,157,155,154,155,152,151,151,150,149,149,148,150,149,148,147,145,144,143,141,140,138,138,139,135,133,133,134,132,130,129,129,125,125,123,122,119,118,118,114,114,214,178,175,174,170,145,134,138,142,146,149,152,154,156,159,167,189,206,214,226,232,231,237,238,242,247,249,249,239,241,248,245,242,235,231,233,238,229,228,225,220,218,220,224,221,220,218,224,203,127,118,116,112,112,109,108,106,104,102,100,96,94,94,91,89,87,86,87,88,88,89,91,92,93,93,94,96,99,100,100,103,103,105,105,106,108,107,108,110,110,110,111,111,112,111,112,112,102,99,114,113,110,90,72,108,116,118,119,119,120,122,122,122,123,123,124,128,124,169,217,208,207,199,193,189,176,174,176,173,173,180,182,180,172,158,147,126,108,96,83,83,82,79,74,65,61,66,75,76,77,82,84,87,87,86,87,88,92,95,103,141,153,152,153,154,156,156,157,158,158,159,159,158,160,161,162,163,163,163,164,164,164,165,164,163,164,165,166,166,166,165,166,167,166,165,166,166,166,166,167,164,164,164,163,162,163,163,160,159,159,159,159,158,157,157,158,158,155,156,157,155,152,150,152,151,150,151,151,149,150,147,147,146,144,144,143,140,140,139,139,135,136,135,131,130,130,129,128,127,124,122,121,120,119,118,115,199,176,174,173,165,140,136,139,143,148,149,152,152,156,163,172,193,209,215,226,235,232,236,248,251,250,249,242,233,237,236,235,237,231,236,240,239,236,226,224,223,222,226,225,223,221,222,231,189,120,118,117,114,112,110,107,106,103,101,99,98,94,91,90,89,87,88,87,89,90,89,91,92,92,95,98,99,99,100,100,103,105,106,105,106,108,108,110,110,109,111,111,112,112,111,111,112,82,94,113,102,91,86,110,119,117,117,118,119,119,122,122,123,123,125,126,128,125,152,203,198,206,198,192,184,174,172,174,173,175,185,190,178,166,155,139,115,101,86,75,76,80,79,74,66,64,64,69,75,76,81,85,86,86,85,84,86,91,91,102,145,151,154,154,155,156,156,157,158,158,158,159,161,162,162,163,163,163,164,165,164,165,165,166,164,165,166,166,167,167,166,166,165,165,165,166,165,165,165,166,166,166,165,165,163,163,162,162,162,161,160,160,159,158,157,157,158,158,156,156,155,155,152,152,151,150,149,149,149,149,149,150,148,145,143,143,142,140,140,139,136,136,136,133,132,129,129,128,126,123,124,122,122,120,118,115,187,175,173,172,158,137,136,140,144,148,149,150,152,160,163,175,195,208,215,221,235,243,245,249,249,250,249,244,236,233,229,231,234,239,243,242,242,247,241,234,229,224,227,225,225,229,229,231,172,118,119,116,114,112,109,108,106,103,102,99,97,94,92,91,89,86,87,87,88,90,91,92,91,92,96,99,98,97,97,100,104,104,105,107,105,107,109,109,108,109,110,111,111,111,113,110,100,88,102,105,87,83,106,113,115,117,117,117,120,121,123,123,123,124,126,127,127,126,139,200,198,197,195,188,180,174,171,168,168,173,180,182,175,155,142,114,103,93,77,71,75,81,79,70,65,65,63,65,69,72,80,85,85,85,84,83,82,89,86,102,151,151,153,155,155,157,158,158,158,158,160,161,161,162,163,163,164,164,164,165,165,165,166,165,165,165,166,166,167,168,167,167,165,165,165,165,165,165,167,169,167,166,166,166,165,163,164,163,162,162,161,160,162,158,158,157,156,156,156,157,157,156,155,154,152,153,151,150,151,151,151,149,148,148,145,142,143,142,141,138,137,138,137,134,131,129,130,130,126,125,125,124,124,123,118,116,
868181,174,173,170,148,135,138,141,145,148,150,151,156,160,164,179,199,206,215,223,230,247,250,249,251,250,250,250,249,246,240,242,249,249,241,239,243,247,246,237,231,233,233,230,232,236,233,230,158,115,119,116,114,112,108,107,106,104,102,98,97,92,92,90,87,85,86,87,88,88,90,92,92,94,96,96,97,97,98,101,103,103,105,107,106,107,108,109,110,109,112,112,110,110,113,107,78,77,109,96,69,97,109,110,114,117,117,119,121,120,122,124,124,124,125,125,127,129,130,194,208,195,191,186,177,171,167,166,168,170,170,169,163,151,128,105,91,78,71,71,74,75,75,67,62,62,62,64,69,69,80,87,85,84,83,83,82,85,79,109,153,153,156,156,156,156,158,158,158,159,160,161,161,163,163,163,164,164,164,164,165,165,164,164,166,165,165,167,166,166,167,167,167,168,166,166,166,166,166,167,166,166,166,166,165,164,165,164,163,162,162,162,161,159,159,158,158,158,158,158,156,156,157,155,152,153,152,151,152,152,151,150,149,148,147,144,143,144,143,140,139,137,137,137,132,132,131,130,129,126,125,123,124,123,119,117,177,173,172,167,143,137,141,144,147,152,154,155,157,162,167,184,201,208,221,243,246,247,250,249,250,250,251,251,251,250,242,249,250,247,238,238,242,243,238,228,232,236,235,236,236,237,236,224,143,116,118,115,114,113,110,108,104,103,101,98,97,94,89,91,87,85,86,86,89,90,89,91,91,93,96,96,96,98,98,101,102,104,104,103,106,108,108,110,109,110,111,112,111,111,112,110,98,82,115,73,77,112,109,110,114,118,117,119,120,121,124,124,126,125,125,127,129,130,127,179,212,199,192,187,178,167,163,162,164,167,165,163,160,144,117,100,79,70,70,70,69,67,66,66,63,62,64,63,70,67,79,85,84,84,82,81,80,81,77,118,156,152,155,156,157,156,157,158,159,159,160,161,161,162,163,164,164,164,164,164,166,165,164,165,167,166,167,167,167,166,167,167,167,168,167,166,168,167,165,166,167,166,167,166,167,167,165,164,164,163,163,162,162,161,160,161,158,158,157,157,158,158,156,157,153,155,154,152,152,152,152,151,150,149,147,145,143,143,143,143,141,136,138,138,135,134,132,131,129,128,126,124,122,122,122,119,176,173,173,161,138,139,141,146,149,151,156,158,159,161,171,190,202,212,227,246,251,250,250,250,251,252,251,250,250,246,236,239,239,240,241,247,246,244,239,234,235,236,234,235,237,235,233,213,130,119,118,116,115,113,109,107,104,103,99,97,96,93,89,89,85,85,87,88,89,90,90,91,91,93,96,97,97,99,99,100,101,103,103,105,106,109,110,110,111,110,111,110,112,112,112,112,113,91,91,67,86,104,109,114,116,116,118,120,121,122,124,124,125,126,128,129,130,131,126,164,215,201,195,190,180,166,161,161,161,162,161,158,151,141,114,84,68,66,69,73,72,58,57,55,57,58,62,64,70,69,79,86,85,83,80,78,78,79,78,126,156,154,155,157,157,157,157,159,159,159,159,161,162,162,163,163,164,164,164,165,165,165,167,166,166,166,167,167,167,167,167,167,167,168,168,167,167,168,166,166,166,166,166,166,165,166,165,164,165,163,163,164,162,162,161,160,160,159,158,156,157,159,156,156,157,158,155,154,152,153,152,151,151,149,149,148,145,143,142,143,143,138,139,139,137,134,133,131,128,129,127,125,123,124,124,121,174,172,173,153,136,140,142,147,150,154,155,158,161,162,175,193,207,217,227,238,249,251,251,250,252,252,250,250,251,247,244,245,247,249,249,250,250,249,249,244,236,234,235,236,235,230,229,195,121,120,118,116,114,112,110,107,103,101,98,96,94,93,91,88,86,87,87,87,88,91,89,91,90,95,96,96,97,97,98,101,102,102,104,105,107,108,111,109,109,110,111,111,111,112,112,111,113,87,48,55,94,112,115,115,116,118,118,119,121,123,123,125,125,126,127,129,129,131,129,148,212,202,200,196,188,172,161,161,162,162,162,161,152,140,114,88,73,73,75,79,76,64,65,63,62,61,65,68,74,73,73,82,84,82,77,78,77,77,84,136,155,154,156,155,157,157,158,158,159,159,160,160,161,161,162,163,162,164,164,164,165,165,166,166,167,167,166,167,166,167,167,165,167,168,168,168,169,169,167,168,167,167,167,165,165,165,165,165,165,164,163,163,163,163,164,161,161,160,160,158,157,157,157,157,158,157,154,154,153,152,151,153,151,150,151,149,147,147,146,144,143,141,139,139,137,135,133,129,129,127,127,125,124,124,123,120,173,173,170,147,138,141,143,147,151,154,156,159,162,164,178,197,212,221,235,248,250,249,250,251,252,252,250,250,251,251,252,251,250,250,249,248,249,249,249,244,237,236,240,238,231,231,232,178,119,118,115,116,114,111,109,104,104,100,97,96,95,94,91,89,86,86,88,87,88,90,91,91,91,94,95,97,98,98,99,100,102,103,103,104,106,107,111,109,109,110,111,110,110,111,110,111,113,87,68,67,99,115,113,114,115,116,118,119,121,124,124,125,125,127,127,127,129,130,132,139,206,209,200,201,195,187,173,171,171,171,16
8687,164,159,143,123,104,93,91,90,90,88,84,82,78,73,70,70,70,74,77,78,81,81,80,80,78,77,75,94,145,154,153,155,156,156,157,158,158,159,159,159,160,159,161,162,162,162,163,164,164,164,164,165,166,167,166,166,166,166,168,167,165,166,167,167,167,168,168,168,168,168,167,166,166,166,165,164,165,164,164,165,164,163,163,162,162,161,161,161,159,158,157,156,158,157,157,157,155,154,153,152,152,153,151,149,148,147,148,147,144,143,140,137,139,136,136,132,131,130,126,127,126,123,123,122,120,174,174,164,141,140,141,143,147,152,156,159,161,163,167,184,204,215,229,246,252,250,249,247,247,250,251,250,250,250,250,251,250,251,250,249,250,250,250,243,239,237,241,243,238,234,230,231,166,119,119,116,116,114,113,108,104,101,99,97,95,94,89,89,87,86,86,86,87,89,89,90,91,92,93,94,96,96,97,98,100,101,102,103,105,107,108,110,109,109,109,110,111,110,111,110,110,111,105,97,74,102,115,113,113,115,116,119,121,122,124,125,126,127,126,128,129,130,131,134,136,200,214,201,202,202,195,188,180,176,176,170,161,156,147,135,115,101,100,95,96,92,90,87,84,78,77,75,75,76,79,83,83,82,81,78,76,76,75,103,149,154,155,154,156,155,156,157,157,158,159,159,160,161,162,162,161,163,163,163,164,164,165,165,165,165,166,166,166,167,168,167,168,166,167,166,167,167,168,168,168,168,168,166,166,166,166,164,165,166,163,164,166,165,163,161,162,163,162,161,162,160,157,158,158,157,158,157,157,156,155,153,152,154,154,152,149,147,148,147,144,143,142,140,138,135,135,134,133,131,129,129,128,126,124,123,124,174,174,159,139,139,141,146,148,155,158,158,162,165,172,190,204,215,233,248,250,250,250,249,248,249,250,251,251,250,250,249,248,247,248,249,248,247,244,241,238,232,232,236,234,235,233,225,151,119,118,116,115,116,113,109,104,98,98,97,95,125,120,93,91,89,88,87,86,86,87,89,90,93,94,93,95,96,96,97,100,101,102,103,104,106,108,109,110,109,108,109,110,108,109,109,110,111,102,97,77,100,115,113,112,116,116,118,121,123,125,125,128,127,127,128,130,131,132,134,133,194,222,205,200,201,203,198,186,180,179,173,162,158,154,140,125,111,102,94,96,91,89,86,84,80,78,79,78,80,81,84,84,84,82,79,78,76,79,116,151,152,154,155,155,155,156,156,157,158,158,159,160,161,161,161,163,163,162,163,164,164,164,165,165,165,165,166,165,166,167,167,168,168,166,166,165,167,167,168,167,168,167,167,166,166,165,165,164,165,164,163,164,164,164,163,162,163,161,160,
868161,161,161,159,159,158,157,157,157,156,156,156,154,154,153,151,153,150,148,146,144,143,143,142,139,135,135,135,134,132,130,127,129,128,126,124,123,174,173,152,139,141,141,146,151,154,157,158,163,166,175,192,207,220,236,247,249,249,250,249,246,245,245,247,250,250,250,248,247,246,247,246,245,244,242,240,238,235,236,234,231,231,234,218,137,119,116,115,116,115,112,106,100,98,98,98,95,157,146,121,125,128,134,133,128,121,110,100,89,91,93,92,94,94,95,98,100,100,101,102,104,106,107,108,108,108,108,109,109,108,108,109,109,102,96,94,80,94,114,111,113,115,115,119,119,122,124,126,127,128,128,129,130,131,132,133,132,193,225,208,197,198,204,203,193,185,182,178,171,163,156,142,129,116,109,98,95,92,89,86,83,84,80,76,81,81,81,85,82,81,79,80,79,78,82,125,152,152,153,154,155,155,156,156,156,157,158,159,160,160,160,161,161,162,162,162,163,163,164,164,165,164,165,165,165,165,166,168,167,166,166,168,166,166,166,167,167,167,168,167,166,166,166,166,165,164,165,164,164,163,163,162,161,162,161,161,161,161,160,158,159,158,157,158,158,156,155,156,155,153,153,150,151,149,149,147,144,143,143,142,141,139,136,136,134,133,131,129,128,127,124,123,122,175,169,145,140,142,144,148,153,156,157,159,163,167,179,196,213,230,244,248,247,247,250,251,250,246,245,247,250,250,250,250,250,249,247,246,246,243,239,235,243,249,246,242,246,245,237,204,127,118,117,115,115,114,112,104,100,99,98,96,96,152,137,145,144,141,143,151,155,158,158,154,125,95,91,93,94,95,94,97,99,100,101,103,104,106,106,107,107,107,108,107,107,107,110,106,78,81,90,93,84,89,112,111,112,114,115,118,120,120,123,125,126,128,128,130,130,131,132,133,132,190,223,211,199,198,202,203,200,191,183,179,171,168,160,143,129,116,110,102,93,90,90,86,82,83,85,82,82,82,84,85,83,80,80,79,77,78,89,128,152,153,154,154,155,156,155,156,157,157,158,158,159,160,160,160,160,161,162,162,163,163,164,163,164,164,165,165,165,165,166,167,167,166,166,168,167,165,166,166,166,166,166,167,167,166,167,166,164,164,165,165,164,162,164,164,162,162,161,162,160,159,160,160,160,158,157,158,158,156,155,155,154,154,152,153,152,151,148,148,146,146,143,141,140,140,136,134,135,134,132,131,127,128,127,124,123,175,163,141,141,142,146,150,155,156,157,160,163,169,186,202,219,234,247,248,248,251,249,250,251,251,251,251,249,249,250,250,250,250,251,247,241,244,244,246,249,249,245,244,246,246,241,189,121,119,118,116,114,114,110,105,100,98,99,95,100,141,138,146,143,157,162,159,147,146,149,151,153,144,91,92,93,93,95,96,98,99,100,102,104,105,106,107,108,108,107,107,108,107,110,90,52,70,59,58,64,82,108,112,111,114,116,117,119,120,124,124,126,127,128,130,130,131,131,133,132,191,226,214,201,196,200,201,202,195,186,181,174,170,160,142,128,117,109,103,98,92,90,89,84,82,81,84,87,84,84,84,81,80,79,79,77,78,89,129,152,153,155,154,155,155,155,156,157,157,157,157,159,159,159,160,161,162,162,162,162,162,163,163,163,164,165,166,166,166,165,167,167,166,165,166,167,166,165,166,166,166,166,165,165,167,166,164,164,164,165,166,165,163,164,163,162,162,162,161,160,159,160,159,159,160,157,157,158,156,156,155,155,155,152,150,151,149,149,149,148,145,144,143,142,141,140,136,135,135,134,131,130,129,128,125,123,175,156,139,143,143,148,152,155,157,159,160,164,171,190,206,221,233,245,249,251,251,251,251,250,250,249,249,249,250,251,250,250,249,250,248,250,251,249,248,248,249,249,249,247,247,245,172,119,121,117,115,114,113,107,102,91,95,93,92,104,129,132,126,131,131,129,132,135,136,143,147,153,152,113,88,90,91,94,95,96,98,100,101,104,104,105,107,106,108,108,106,106,107,110,74,47,64,64,109,60,64,94,108,111,114,114,117,120,120,122,125,127,127,128,129,131,132,132,134,132,192,228,214,197,194,198,201,202,198,187,183,178,169,162,147,132,120,110,102,100,94,87,86,87,84,80,86,87,86,85,83,82,80,80,76,76,77,87,125,151,152,153,153,154,154,155,155,156,157,156,157,158,159,159,159,159,160,161,162,162,162,161,163,162,163,164,165,165,165,165,165,166,165,165,165,166,166,166,166,164,164,164,165,165,165,166,163,164,165,164,164,165,163,163,164,162,162,162,161,160,159,160,159,160,159,158,157,159,157,158,156,157,155,155,152,148,150,150,148,146,145,142,142,143,140,140,141,134,132,133,132,129,128,127,126,123,173,149,141,144,145,149,154,156,158,160,162,165,174,195,212,223,236,247,251,252,253,252,251,251,251,251,252,250,250,251,250,250,249,250,250,250,250,247,247,248,249,248,247,249,250,245,158,118,121,117,115,114,112,106,99,85,91,91,91,111,127,137,158,167,161,
868152,149,162,158,143,149,155,154,135,96,88,91,92,92,96,97,100,102,104,105,105,106,106,105,106,105,106,107,111,74,36,62,86,101,64,70,145,132,109,114,115,117,118,119,121,123,124,127,127,128,131,133,134,134,132,195,226,212,196,194,197,200,203,198,191,186,179,171,163,149,135,124,114,105,100,97,91,89,86,85,84,87,87,86,84,81,82,78,78,77,77,77,86,123,151,152,151,154,153,154,155,155,155,156,156,157,157,158,158,159,160,160,159,160,161,161,161,161,162,162,162,163,164,164,164,165,165,164,164,165,165,165,165,164,165,164,164,165,164,164,164,163,163,163,163,163,164,163,163,164,162,161,162,162,160,160,160,161,160,159,159,158,158,157,157,157,156,155,155,152,148,149,149,149,148,147,146,142,142,143,141,138,137,135,132,132,131,129,128,129,124,167,144,141,144,145,150,155,158,160,160,162,166,178,196,212,226,243,250,252,252,252,251,251,249,248,253,252,250,250,251,250,249,250,249,249,250,250,249,248,248,250,249,246,244,246,233,142,119,119,115,113,112,111,104,93,71,89,92,92,112,127,131,154,158,157,161,160,161,155,141,148,155,151,136,111,90,91,90,91,96,96,99,100,102,101,101,99,101,101,101,104,106,106,109,115,106,99,99,88,83,96,142,124,106,111,116,119,117,118,120,122,124,127,128,130,131,131,133,134,132,197,224,209,199,197,196,197,197,198,198,191,182,174,163,151,135,124,116,108,103,100,93,91,90,87,86,86,86,85,84,82,82,78,75,76,74,76,88,122,149,151,151,153,152,153,155,154,155,155,155,156,157,158,157,158,158,158,159,160,159,161,161,160,161,162,162,163,163,163,164,164,164,163,163,164,164,164,165,165,164,163,165,163,164,164,163,162,162,163,163,163,163,163,163,162,162,162,161,160,161,161,161,159,160,160,158,157,159,158,157,156,155,156,154,153,149,149,149,149,149,146,147,144,141,142,141,138,137,136,134,131,130,130,129,128,127,158,141,143,143,145,150,156,158,159,161,163,169,183,199,216,230,245,250,251,252,252,252,253,248,244,252,250,249,250,250,250,250,250,250,249,250,248,243,244,245,246,247,247,245,248,217,131,120,117,112,113,111,108,101,84,59,78,89,93,111,89,109,124,110,175,123,123,132,133,136,148,155,150,134,121,97,87,90,90,93,94,96,96,96,97,95,94,94,97,99,101,97,117,124,152,170,125,125,118,109,105,97,96,96,94,95,101,115,121,121,122,125,127,127,129,130,131,134,134,134,201,222,206,199,196,192,191,193,196,197,190,182,173,163,150,135,124,115,108,103,99,94,93,92,89,86,86,84,83,83,81,81,77,75,73,74,76,88,118,146,150,151,151,152,152,152,154,154,155,156,156,155,156,157,157,159,159,160,159,159,161,160,
868160,160,161,161,161,163,163,163,164,163,163,163,162,163,164,164,163,164,162,162,163,163,163,163,162,163,161,161,162,162,162,161,163,160,161,161,161,160,161,161,160,159,159,158,158,159,158,157,157,155,155,154,151,149,149,149,150,148,147,145,145,143,142,141,141,136,136,134,132,131,130,130,127,127,150,140,144,144,147,152,157,158,159,160,164,171,188,204,218,233,244,249,251,252,252,252,252,251,251,250,249,248,248,249,249,249,250,250,250,250,246,245,248,244,243,243,248,246,243,200,125,121,114,113,112,108,104,99,77,51,56,78,97,99,56,72,78,91,160,81,90,132,130,135,147,155,148,131,123,108,87,89,90,91,92,92,92,91,90,90,93,93,98,102,103,100,111,114,134,151,115,109,103,95,90,84,85,86,87,89,87,85,114,121,120,125,126,128,129,130,131,133,131,138,207,219,207,195,189,189,192,190,188,186,186,181,171,162,150,137,125,115,107,101,99,95,93,91,88,86,83,80,81,81,81,80,77,76,74,73,73,83,113,144,149,150,151,151,152,153,153,153,155,154,155,156,156,156,158,157,157,159,159,160,159,159,160,160,160,160,161,161,161,162,161,163,163,162,162,162,163,162,163,163,161,161,162,162,161,163,161,161,161,161,161,161,162,161,161,160,160,161,161,161,161,160,159,160,160,158,156,158,157,156,157,156,155,155,152,151,150,148,148,148,148,146,144,142,142,143,140,138,137,135,133,133,131,128,127,127,144,141,143,145,148,154,158,159,158,161,164,174,192,207,218,236,247,250,250,252,253,253,251,250,249,250,250,249,248,248,249,249,250,250,249,246,246,247,249,246,247,248,248,248,238,181,119,118,113,112,109,104,104,99,71,47,48,64,100,76,35,40,39,53,53,43,78,127,126,133,147,155,147,130,122,118,93,84,89,88,89,88,88,88,90,93,95,97,101,103,106,98,124,167,163,162,135,140,135,129,127,127,95,90,88,79,77,84,115,119,119,123,125,126,127,128,130,130,129,142,212,218,205,192,184,186,190,189,187,184,182,180,170,161,152,139,124,114,105,99,97,93,88,88,89,84,79,78,81,80,79,78,76,74,74,73,72,82,108,142,149,150,150,151,152,152,152,153,153,153,153,155,155,157,157,157,157,158,158,158,159,158,159,160,160,158,160,161,161,161,161,162,162,162,161,162,162,161,162,162,162,162,162,162,161,161,160,161,161,160,161,161,161,161,160,160,160,159,159,160,160,159,159,159,159,159,157,157,157,156,157,156,155,154,155,152,150,149,147,147,146,145,145,142,141,142,138,138,135,135,132,130,131,128,127,125,142,143,144,147,151,157,160,159,160,163,165,178,196,211,223,241,250,250,251,252,253,253,251,250,251,251,252,252,252,250,250,249,250,249,246,241,243,246,245,248,249,249,248,249,237,163,119,117,113,112,108,103,103,95,62,44,45,66,101,72,63,121,100,115,131,50,77,118,118,131,148,153,145,127,121,119,95,80,84,85,84,83,85,85,88,92,94,99,101,102,104,109,174,210,181,154,131,177,184,174,175,182,109,97,100,95,85,97,119,118,122,125,127,127,129,130,132,133,126,150,219,217,204,194,182,182,182,182,183,183,179,173,167,159,153,140,124,111,103,98,92,88,86,86,84,82,78,76,77,76,76,76,75,74,73,73,72,79,101,138,149,149,150,151,150,151,152,153,154,152,153,154,154,155,156,157,157,157,157,158,158,158,158,158,159,159,159,160,160,160,159,160,161,162,161,161,161,161,160,160,161,161,161,162,160,161,161,160,161,162,161,160,160,161,160,159,159,159,159,158,159,159,159,159,159,157,157,157,158,156,156,156,155,155,154,153,151,150,147,145,146,146,145,143,142,141,139,136,135,134,133,132,128,128,128,125,142,143,145,149,155,157,159,160,162,164,168,183,201,216,228,241,249,249,252,251,252,253,253,253,254,254,253,252,252,250,250,250,248,248,249,247,244,245,242,244,246,246,247,250,229,149,120,117,114,113,107,105,99,88,53,40,42,70,95,69,87,151,110,154,155,67,93,117,116,130,146,151,142,125,121,118,90,76,79,79,79,82,85,86,88,91,94,98,98,103,104,106,178,220,194,159,136,181,202,183,176,163,102,89,91,88,90,100,101,102,104,105,108,112,112,107,109,110,133,191,218,217,205,196,183,176,177,178,178,179,173,169,164,156,152,140,123,110,100,97,91,85,85,83,83,80,77,75,75,76,75,75,74,73,69,71,69,73,92,140,144,147,150,150,149,150,151,151,152,152,153,153,154,154,156,156,157,156,156,157,158,158,158,158,157,158,159,159,160,159,160,160,159,159,160,160,160,160,160,159,160,160,160,161,160,161,160,160,160,161,159,159,160,160,160,159,160,159,158,158,159,158,158,159,158,156,156,157,156,155,156,156,156,156,155,154,151,150,148,145,144,144,144,143,142,141,139,137,136,135,132,131,131,129,125,126,143,144,145,150,156,157,159,160,162,166,172,189,207,219,235,247,250,251,252,253,253,254,254,254,255,255,254,251,249,248,250,251,248,249,250,250,246,244,244,245,242,244,248,250,217,135,119,116,114,109,105,103,96,82,48,37,40,75,84,63,94,147,104,154,129,67,98,119,121,134,147,151,139,124,120,112,86,78,80,79,78,75,76,78,81,86,92,97,100,102,101,101,153,178,144,106,95,105,104,93,87,78,68,64,65,69,70,69,69,73,75,75,89,97,92,111,139,165,199,196,218,215,205,195,185,176,175,176,175,171,166,166,163,157,149,135,122,109,98,92,89,86,83,79,80,78,76,73,73,73,74,73,70,70,67,67,68,72,87,149,161,144,146,146,149,149,149,150,150,152,151,153,152,154,154,154,156,155,156,157,158,157,156,158,157,156,158,158,158,159,159,158,160,159,159,160,159,159,159,159,158,159,160,160,
868159,159,157,159,159,159,161,161,159,159,160,160,158,159,159,158,158,157,158,158,157,157,156,155,156,156,156,155,156,154,155,154,151,150,149,147,145,145,143,142,141,140,140,137,136,134,133,132,131,126,127,126,144,144,146,152,157,159,161,163,164,166,177,197,212,229,247,250,252,253,255,255,255,255,254,254,254,254,254,252,250,251,251,251,250,249,249,249,249,249,247,244,245,247,248,249,203,126,118,113,108,104,104,98,90,77,43,36,40,77,84,61,102,146,102,157,107,71,105,121,124,135,152,153,137,124,126,115,100,103,105,108,111,108,102,103,104,96,88,88,85,81,78,77,75,67,58,55,58,58,57,57,56,57,57,55,55,62,64,63,64,66,69,68,75,96,150,184,188,248,212,194,219,213,205,193,183,175,172,172,169,166,163,162,158,153,144,133,120,107,96,90,86,80,77,77,77,77,76,72,70,69,71,69,69,70,68,67,68,71,91,130,187,202,178,167,148,146,150,149,150,150,151,152,152,153,154,153,154,156,155,156,157,157,157,158,158,156,157,157,157,158,158,158,158,158,158,158,158,159,158,158,158,158,159,158,158,157,158,159,159,158,158,159,159,158,159,160,158,158,159,158,157,158,158,158,156,157,155,157,156,155,157,156,156,155,154,154,151,149,148,147,144,145,144,143,141,141,140,137,136,134,134,132,132,127,123,125,144,145,148,152,157,159,162,164,165,167,180,203,218,234,249,250,252,255,255,255,254,255,254,254,254,253,254,253,252,252,251,250,250,249,249,249,250,250,250,248,249,248,246,244,188,121,118,112,110,106,102,86,72,66,40,33,42,77,79,59,104,140,105,162,90,73,70,79,120,135,149,147,122,113,129,144,145,155,158,162,166,170,167,145,117,89,73,67,62,62,64,62,57,53,52,52,52,53,54,54,54,53,57,56,55,45,43,47,73,100,106,137,170,159,183,175,220,255,195,198,215,211,206,191,179,171,171,166,162,161,159,158,152,145,142,132,121,109,95,87,84,78,78,77,76,76,74,71,69,69,68,68,69,69,69,68,68,71,93,120,167,213,200,195,197,159,142,141,145,149,151,151,151,152,153,153,153,154,155,155,156,156,155,156,157,156,156,157,156,156,157,157,157,158,157,157,157,158,157,157,157,157,156,157,158,157,158,159,158,158,158,158,158,158,159,159,157,156,158,157,157,157,157,158,155,156,156,156,156,156,157,156,155,153,153,152,151,150,148,147,145,143,142,141,141,141,139,136,135,134,134,133,128,126,126,125,144,146,151,155,156,159,161,163,166,169,186,206,222,237,248,249,252,255,254,255,255,255,254,254,254,254,253,253,251,250,250,249,249,249,249,249,249,249,250,250,250,248,242,244,173,117,117,113,109,106,102,74,53,49,37,32,46,80,75,59,112,135,110,154,81,62,15,65,125,134,147,147,89,106,132,149,95,50,65,69,82,91,85,69,62,60,59,52,52,52,52,51,48,51,49,46,46,44,46,49,51,48,45,46,49,84,121,160,186,196,205,222,183,153,172,182,235,255,194,198,213,206,201,187,176,171,170,164,161,159,155,152,146,141,136,126,120,108,94,88,85,79,75,76,76,75,75,69,68,69,68,69,69,70,70,68,67,70,92,117,153,198,197,168,198,189,174,169,156,145,144,147,148,150,151,151,152,152,153,154,155,153,154,154,155,155,155,155,155,155,156,156,157,157,156,157,157,157,157,157,156,156,157,157,156,157,157,157,157,158,158,157,158,158,157,157,158,157,157,157,158,156,156,157,155,155,155,155,155,156,157,156,154,154,152,152,151,148,147,146,145,145,143,142,141,140,140,137,134,134,131,132,129,128,127,124,144,149,153,156,158,160,162,164,167,174,190,209,223,240,249,251,253,255,254,254,255,255,254,254,254,254,253,252,251,250,249,249,249,249,250,249,249,249,250,250,249,248,244,241,158,117,115,113,108,105,99,69,48,42,36,30,50,81,73,60,122,127,122,147,72,80,87,105,123,136,149,143,84,111,135,145,126,82,75,69,70,65,62,59,57,55,55,50,50,47,45,46,47,47,47,45,45,44,40,35,40,57,91,133,167,192,191,189,194,201,213,186,143,156,174,194,233,252,199,193,216,204,196,186,176,173,167,159,157,155,150,148,140,137,132,126,117,107,97,87,85,81,77,76,75,74,73,68,69,68,69,68,68,71,70,69,68,70,86,105,144,190,198,171,178,183,169,208,214,202,178,163,152,146,145,147,152,152,151,153,151,152,151,152,152,152,152,153,154,155,155,155,155,155,156,156,156,155,156,156,155,155,156,155,155,156,156,155,156,158,157,157,157,157,157,158,157,156,157,156,156,155,155,156,155,156,154,155,156,156,155,154,154,155,152,150,150,148,147,146,145,145,143,140,140,138,138,137,134,135,132,130,129,126,127,123,146,150,155,157,159,160,162,166,167,177,194,210,225,243,249,251,253,255,255,255,255,254,254,254,255,254,253,252,251,250,248,248,249,249,249,249,249,249,250,250,250,250,249,225,142,118,114,111,107,104,96,65,48,41,35,28,57,83,70,62,131,119,131,132,71,96,111,113,122,139,149,137,81,114,135,139,145,115,73,66,64,61,58,56,54,54,54,48,47,47,45,46,47,45,40,32,29,40,59,94,140,175,192,192,184,176,181,196,209,210,198,155,140,161,177,199,225,246,207,180,217,205,194,183,176,170,165,157,151,148,148,144,138,134,130,122,117,108,98,89,86,83,81,77,76,74,72,72,68,66,67,68,69,72,69,70,70,70,83,94,138,184,193,181,175,186,155,184,185,204,214,212,209,192,172,153,146,148,150,149,150,150,151,151,151,151,151,153,154,155,154,154,154,154,155,154,155,154,154,154,154,154,154,155,156,155,155,155,155,155,156,157,157,156,157,158,157,157,156,156,155,156,156,155,155,155,154,155,155,154,155,154,154,154,152,150,148,150,148,146,144,145,141,140,140,139,137,135,134,132,130,131,129,127,127,124,147,153,156,158,160,162,162,166,167,181,199,215,229,245,251,251,254,255,255,255,255,254,254,254,255,254,254,252,252,250,249,249,249,249,249,250,250,249,250,251,251,249,252,213,130,118,114,109,106,103,90,60,45,38,33,31,63,83,66,65,134,113,139,118,75,99,106,111,123,140,150,128,82,118,133,135,133,102,66,58,58,55,53,49,49,49,48,47,46,48,44,40,36,31,45,80,119,158,182,194,193,179,174,175,180,190,202,209,206,197,166,145,139,167,180,200,222,235,220,167,205,201,187,181,177,168,163,156,147,144,145,138,133,131,130,122,117,107,99,91,88,85,81,77,76,75,72,70,68,67,67,68,69,69,69,69,70,69,77,82,141,179,186,182,182,186,154,167,190,144,154,168,202,226,225,220,198,158,145,152,148,149,149,150,149,150,151,152,152,152,152,152,153,154,154,153,153,153,154,152,153,153,153,154,154,155,155,156,155,156,156,156,157,155,156,156,156,155,155,155,155,155,154,156,154,154,154,155,155,155,155,155,154,152,150,150,149,149,148,148,144,143,142,141,140,139,138,136,134,134,131,130,129,127,126,124,149,153,157,159,162,163,165,165,169,185,202,219,239,250,251,252,254,255,255,255,255,254,254,254,254,254,254,253,252,249,246,247,249,250,249,247,237,242,242,240,239,243,251,199,123,117,114,108,105,102,84,54,41,34,33,32,67,82,63,68,140,112,156,109,77,101,107,110,121,139,147,119,85,121,134,131,131,97,64,57,56,53,51,49,48,48,46,39,34,34,45,63,92,133,174,199,201,194,187,182,180,183,189,191,191,199,198,200,205,167,147,140,143,180,185,195,217,224,228,165,180,197,185,182,175,167,162,155,144,141,136,134,131,129,127,123,114,108,99,90,86,84,83,79,77,71,71,70,67,67,67,68,70,70,71,69,69,70,68,82,151,173,181,180,183,193,145,154,190,175,121,123,135,186,226,230,220,192,130,139,150,148,149,148,149,150,150,151,151,151,149,151,151,152,153,152,153,153,153,153,153,152,153,153,153,154,154,154,154,155,156,155,155,155,156,156,155,155,156,154,154,155,155,154,154,154,154,154,156,153,153,154,153,152,152,150,149,149,147,145,145,143,141,139,139,138,137,137,134,134,131,131,129,127,126,124,150,153,157,160,162,163,165,168,175,191,209,223,243,251,251,252,254,255,255,255,255,254,254,253,253,253,252,252,250,248,247,247,248,246,243,232,228,242,240,232,232,233,239,180,117,115,113,108,102,102,77,49,41,34,29,36,71,78,57,55,88,78,116,83,80,104,110,111,125,144,151,114,88,127,134,128,130,91,65,61,56,57,51,45,40,38,43,61,103,149,185,207,218,214,204,193,190,189,191,190,196,206,196,186,184,193,191,201,173,145,143,138,155,194,192,187,209,216,225,184,150,190,182,174,167,167,160,151,143,137,134,130,126,127,126,123,113,107,98,89,87,84,80,80,78,74,71,69,66,67,71,71,70,71,71,69,67,68,63,98,157,170,178,179,173,189,144,147,175,195,155,120,128,129,183,232,226,209,164,114,142,145,146,149,149,148,149,150,149,149,149,152,151,151,152,151,152,152,152,152,152,152,152,153,153,153,154,153,154,155,154,155,154,154,154,154,154,155,154,154,154,154,155,154,154,154,153,154,154,153,153,155,152,150,151,151,149,148,146,145,144,143,141,139,139,139,136,135,133,134,130,130,129,125,125,125,150,154,157,159,162,164,165,170,178,197,216,226,243,249,250,251,254,255,255,255,254,254,254,253,253,252,251,251,250,250,248,247,249,246,241,232,241,250,238,230,235,238,238,162,117,114,110,105,100,96,70,44,38,38,38,40,50,51,43,43,42,49,49,51,61,70,71,74,80,90,92,75,69,80,110,138,133,86,62,52,49,46,48,68,95,126,169,212,229,232,228,220,209,203,204,202,200,200,198,209,208,181,168,170,172,179,198,179,145,140,137,148,165,199,196,179,197,207,214,206,145,164,176,169,167,164,156,148,145,137,130,125,125,126,124,119,111,103,97,90,87,84,78,78,74,74,71,71,69,72,73,72,71,71,69,68,65,66,60,122,158,168,174,174,179,181,144,148,177,173,188,139,121,127,127,181,236,228,213,190,183,171,153,144,142,146,149,151,151,150,149,150,151,150,151,151,151,150,151,151,151,152,151,152,153,152,153,154,154,155,154,153,153,154,154,155,154,154,154,154,154,154,154,154,153,152,152,154,153,155,154,153,151,151,152,150,148,146,147,146,144,142,142,141,139,137,136,136,135,133,131,131,128,126,126,125,151,155,157,159,162,164,166,
868172,183,201,216,227,243,248,249,251,254,255,255,254,253,254,254,254,251,249,250,252,252,251,248,248,250,249,247,239,248,251,238,232,236,244,234,148,116,113,109,104,98,92,66,42,38,40,40,38,38,39,43,45,50,53,55,56,52,49,53,52,51,49,48,50,52,49,121,160,131,74,96,131,95,122,173,206,218,233,233,216,194,196,205,192,182,187,188,188,186,189,201,209,180,153,162,173,168,184,187,146,140,134,145,156,165,203,199,171,182,197,206,210,173,134,166,167,166,161,157,149,145,138,128,124,124,124,120,111,106,101,97,89,84,83,78,76,73,73,72,73,72,73,72,73,71,72,68,63,65,59,76,143,155,168,176,173,181,189,139,143,178,172,165,180,120,124,126,126,185,238,225,214,211,211,206,192,172,158,146,144,145,146,149,150,150,149,149,150,151,151,150,151,150,150,150,151,151,152,153,153,153,153,153,153,153,152,153,153,154,154,154,155,153,153,153,153,153,152,152,152,153,153,153,152,151,152,151,150,148,147,148,146,145,142,142,140,136,136,133,135,135,132,129,128,128,127,125,124,151,155,158,160,161,164,167,173,188,204,216,224,239,245,248,250,252,255,255,254,254,255,255,252,250,248,250,252,252,251,250,249,249,251,247,236,248,248,232,229,229,239,219,133,116,112,109,102,94,87,56,39,40,40,39,41,41,40,43,45,51,53,55,55,55,55,56,55,56,56,58,58,52,68,150,167,133,149,240,239,191,212,217,216,200,193,197,193,177,180,192,189,172,171,174,173,174,185,197,178,154,152,164,170,174,191,152,138,133,138,157,159,170,203,194,180,170,186,197,203,199,142,137,161,161,159,155,147,144,138,129,124,122,120,114,110,106,99,94,88,83,81,78,76,74,74,73,72,71,71,72,72,71,69,67,63,65,53,110,149,156,167,174,175,179,186,136,122,173,183,151,172,164,111,124,125,133,200,238,220,209,211,214,218,219,211,198,183,173,158,145,145,146,149,150,149,149,149,148,148,150,150,150,150,151,152,152,152,151,152,153,153,152,151,153,153,153,154,154,153,153,153,153,153,153,153,151,151,153,154,153,152,151,151,149,150,148,146,147,145,145,143,141,139,138,136,135,135,134,133,131,130,129,124,125,125,152,154,158,160,162,164,167,177,195,210,223,232,245,251,252,251,253,255,255,254,255,255,255,250,249,249,250,250,251,251,250,250,249,249,239,241,249,248,237,231,236,248,206,123,115,111,104,98,94,83,50,36,39,40,40,32,26,27,28,29,32,32,32,32,34,34,35,35,36,36,36,38,32,74,158,171,206,234,253,236,175,172,177,194,197,178,177,170,161,168,182,187,165,159,163,166,172,182,177,152,146,151,162,169,187,164,138,136,130,152,161,164,172,207,185,185,167,173,186,196,200,177,118,137,152,152,150,147,146,138,131,124,121,118,112,110,106,99,92,89,83,79,77,74,72,73,72,72,72,72,72,70,68,66,64,65,55,71,139,148,158,168,172,176,178,179,139,115,150,193,158,135,185,136,107,123,122,154,222,234,215,212,216,217,218,219,219,225,228,222,208,184,161,148,144,147,151,150,149,148,148,149,150,149,149,151,150,151,152,151,152,152,151,151,152,151,152,152,153,152,152,151,151,150,151,152,150,153,152,151,152,150,150,151,149,150,149,147,146,145,145,141,141,138,138,134,135,134,135,134,131,130,128,126,123,125,151,155,159,160,162,163,168,182,198,216,231,242,251,252,252,252,254,255,255,255,255,255,254,251,250,250,249,250,251,252,250,249,248,245,241,247,248,248,249,245,247,253,193,118,114,108,102,90,84,80,44,34,38,40,41,26,15,16,16,15,14,14,14,14,15,13,13,15,15,15,16,20,16,86,165,219,249,212,204,226,170,160,169,182,194,177,162,157,157,164,177,181,160,149,156,166,171,172,154,144,145,155,160,180,181,141,137,128,142,161,164,171,171,212,185,166,173,163,175,187,193,192,148,110,136,143,146,148,145,140,134,126,119,115,110,107,104,99,93,88,83,77,75,75,75,76,74,72,72,72,71,67,67,66,65,62,51,115,146,153,163,167,172,173,173,174,142,119,140,184,171,123,146,175,106,114,124,136,184,234,222,205,203,208,209,219,223,219,222,226,233,231,220,204,178,154,144,145,146,148,148,148,149,149,150,152,150,150,151,151,151,151,151,150,151,152,152,152,151,152,151,151,151,151,152,150,149,151,152,151,151,151,150,149,150,150,149,147,148,145,144,140,142,140,136,135,134,134,133,132,131,131,128,126,125,126,152,156,159,161,162,164,170,186,202,224,229,236,252,253,252,252,253,254,255,255,255,255,254,252,252,251,250,251,249,249,250,251,248,244,241,244,246,247,247,250,246,250,173,114,111,108,103,73,52,59,41,33,39,41,40,23,16,18,17,15,16,17,17,15,16,15,16,16,18,17,18,22,20,118,222,240,241,215,185,201,166,153,165,179,190,176,153,151,152,160,172,177,155,142,153,167,168,153,141,140,147,158,164,187,151,136,131,128,157,161,170,173,170,215,191,148,176,163,168,179,185,187,180,129,109,132,136,141,141,138,133,126,119,114,107,104,101,98,95,89,86,82,79,80,82,82,79,74,73,71,69,67,67,67,62,48,97,146,147,158,166,170,170,172,171,171,149,130,143,176,178,133,123,167,131,101,121,136,155,214,231,205,198,201,202,203,215,217,214,218,221,222,228,225,226,220,193,167,150,143,146,149,149,149,150,149,149,149,149,150,151,149,149,149,151,150,150,151,151,150,150,150,150,150,150,149,149,151,150,151,150,149,151,148,148,149,147,147,148,144,145,141,140,140,138,137,134,134,134,133,132,129,12
8686,125,126,126,154,157,161,161,163,165,172,194,210,224,232,241,252,253,253,253,252,255,255,255,255,255,255,252,244,240,244,250,246,248,252,252,251,249,249,245,247,248,249,237,234,239,152,112,110,106,100,66,42,37,35,36,41,42,39,21,17,17,17,16,17,16,16,16,15,17,15,17,18,20,21,20,74,212,242,229,236,214,179,196,160,147,164,180,189,177,149,144,147,157,169,172,151,139,152,166,156,138,136,138,150,159,179,169,135,134,125,137,165,164,175,173,174,215,193,140,169,173,162,169,176,181,180,172,123,107,127,131,136,136,134,125,119,113,105,104,102,98,97,92,89,87,84,84,86,85,81,76,71,70,67,67,67,65,47,82,146,147,156,164,170,176,173,169,174,186,165,139,146,170,178,142,122,143,149,107,118,135,148,184,231,216,200,205,209,210,211,214,212,211,217,215,215,217,216,224,235,229,210,184,156,144,144,149,148,147,148,148,148,149,149,149,148,149,148,149,149,149,149,149,149,149,150,149,149,149,148,149,149,149,149,150,149,146,146,145,147,146,145,144,143,141,141,138,137,136,133,133,134,132,131,130,127,125,126,125,156,160,161,162,164,164,177,199,209,216,245,253,251,253,254,254,254,255,254,255,255,255,253,247,244,248,251,252,252,252,251,251,251,250,249,249,249,247,247,241,246,231,138,113,111,106,97,62,39,34,31,34,39,41,38,21,18,17,17,16,16,16,16,16,16,16,16,17,17,21,19,73,215,243,226,231,233,202,167,191,159,145,165,185,193,180,147,138,140,154,169,168,148,140,150,161,143,133,134,141,155,169,182,142,132,129,123,146,165,168,176,173,177,215,191,135,157,182,167,158,167,173,175,175,168,120,106,125,129,134,134,126,120,111,104,103,101,100,100,96,91,89,89,88,86,87,82,77,71,70,68,66,67,50,78,146,147,153,164,172,176,179,165,157,179,188,174,145,147,164,177,146,127,135,147,116,114,134,145,165,215,226,203,205,216,224,227,222,213,205,211,209,199,204,208,209,213,227,232,233,223,198,164,143,143,148,147,147,148,147,149,149,149,148,149,147,149,148,148,148,147,149,149,149,147,148,148,149,148,148,148,150,147,147,147,146,147,147,144,144,143,141,140,138,137,135,133,134,132,131,128,128,127,125,125,125,156,159,160,162,164,167,184,202,216,230,248,250,251,252,253,254,255,255,255,255,255,255,252,246,250,253,252,252,251,252,251,251,249,249,249,249,247,247,248,249,248,213,130,114,108,104,93,55,37,34,31,33,38,40,32,18,16,17,17,16,17,16,16,16,16,15,18,19,21,18,69,217,248,231,226,233,235,189,153,185,161,144,164,189,199,184,145,134,132,150,170,162,145,138,150,150,133,131,132,147,160,181,160,131,131,124,123,153,164,168,174,172,178,215,188,131,147,179,182,158,158,165,166,169,170,163,119,105,123,127,128,128,123,114,107,105,102,103,102,99,96,93,93,89,87,87,82,77,72,70,68,68,54,78,144,143,149,161,172,173,177,168,151,151,164,169,172,153,145,156,171,150,130,136,141,125,114,133,146,153,191,228,211,199,207,212,218,227,226,214,205,206,193,193,197,200,201,207,223,226,226,231,228,201,162,143,146,147,146,147,147,147,147,148,147,147,149,149,147,146,148,147,147,147,146,147,147,148,148,148,149,148,145,147,146,146,146,147,144,143,143,142,139,139,136,135,134,132,132,130,129,129,129,125,124,124,157,159,160,162,165,173,189,203,221,238,246,247,248,248,251,254,255,255,255,255,255,255,251,249,251,251,251,252,251,250,251,250,249,249,249,245,242,246,248,248,243,193,123,114,108,103,87,48,35,33,30,35,40,40,28,17,17,17,17,16,16,17,17,15,16,16,18,22,21,62,215,250,231,232,231,241,241,180,136,179,167,145,161,192,202,192,146,130,128,148,169,155,135,137,143,138,130,129,135,155,172,175,137,130,126,119,125,157,163,167,172,171,180,213,186,130,139,171,183,177,154,156,160,163,164,164,163,126,105,118,125,126,124,117,112,108,106,103,101,100,96,96,94,92,89,87,82,77,72,71,66,57,86,141,142,147,158,164,168,171,166,145,137,149,146,151,156,148,143,151,159,145,129,136,138,133,120,126,145,148,171,219,226,196,172,176,182,172,182,209,208,206,191,183,189,191,189,186,199,217,218,219,224,228,227,185,142,146,145,145,146,146,145,146,146,148,147,146,146,145,146,147,148,147,146,146,148,147,146,148,146,146,146,145,146,146,146,146,144,142,141,140,138,137,134,134,134,133,131,130,131,129,126,126,125,123,157,158,160,162,167,175,188,202,220,232,243,250,250,250,250,253,254,255,255,254,254,253,253,253,252,251,251,251,249,250,251,250,249,248,249,238,229,227,225,233,242,182,118,113,107,102,80,42,33,32,29,35,40,39,27,19,18,17,17,16,16,16,17,16,17,21,27,27,52,200,253,229,217,212,223,247,245,172,123,169,173,146,156,190,205,202,149,129,124,145,168,145,128,134,138,133,129,128,144,164,178,149,129,128,124,117,131,160,162,167,171,171,182,210,186,132,132,161,180,183,166,
868149,155,157,159,162,164,164,143,110,111,122,123,118,112,108,108,103,100,100,98,96,94,91,88,87,83,79,72,67,67,104,143,139,145,152,159,161,169,169,148,135,130,143,142,141,142,142,139,141,155,137,127,134,137,136,124,120,139,150,157,199,230,231,192,154,160,143,143,166,197,206,190,171,171,185,184,184,190,211,221,219,216,201,214,209,190,145,144,143,144,144,145,144,145,146,145,146,146,145,145,146,146,145,145,144,146,147,145,147,147,146,145,146,144,145,144,145,143,143,139,139,138,135,133,133,132,131,131,130,128,127,129,127,124,123,157,158,161,163,168,178,191,207,221,228,238,248,248,252,253,253,254,255,255,255,254,253,254,254,252,251,251,251,249,249,249,249,249,249,248,244,241,242,239,235,237,168,115,111,104,101,74,39,34,32,29,38,39,37,26,20,19,18,17,17,16,17,17,18,20,28,35,44,175,255,232,221,206,197,206,243,244,164,118,161,177,146,155,183,205,210,158,127,122,139,164,140,125,129,134,131,128,133,156,174,164,130,129,125,122,118,136,160,163,168,172,171,183,207,183,133,125,154,175,182,166,159,153,152,153,157,160,160,166,154,123,108,112,115,111,109,107,102,100,99,98,98,98,91,89,87,83,76,71,89,124,141,134,142,151,153,155,157,160,145,148,138,128,135,132,133,135,139,136,132,147,134,128,133,138,138,125,119,133,151,152,162,185,203,221,184,157,149,141,154,171,202,192,156,150,178,190,188,205,225,225,220,205,188,181,182,221,175,137,142,142,142,143,143,144,144,144,144,144,144,144,145,145,144,145,146,146,145,145,144,145,146,145,144,144,143,145,145,142,142,139,138,136,136,134,133,132,129,130,129,128,128,127,125,122,122,157,158,161,165,168,184,203,215,228,237,242,249,250,252,254,254,255,255,255,255,254,254,254,254,253,250,250,250,250,249,249,248,248,249,248,249,246,249,250,250,239,150,113,112,104,100,69,37,33,28,31,38,37,36,24,20,19,18,17,16,16,18,18,19,20,35,36,148,255,240,228,209,201,195,198,234,244,160,115,155,177,146,161,177,198,218,166,127,121,130,160,139,126,126,128,129,131,150,171,172,140,126,126,122,119,118,140,161,162,168,173,171,184,203,180,135,123,144,167,183,169,158,158,147,148,152,155,157,159,164,165,148,126,109,103,100,99,98,97,94,94,93,92,89,86,82,84,91,117,137,136,131,136,147,149,147,150,156,140,142,157,140,122,126,129,130,133,137,134,128,137,133,128,131,138,139,127,119,132,147,155,146,135,138,156,183,168,136,131,156,160,192,201,153,129,159,191,192,201,209,219,213,193,172,176,175,190,202,141,139,140,142,142,143,143,143,143,144,145,143,143,143,142,143,144,144,143,144,146,143,143,144,144,145,141,143,144,144,141,140,139,139,138,135,135,133,132,129,130,128,128,128,126,123,122,122,157,157,162,166,171,190,208,217,230,242,250,252,252,251,252,253,255,255,255,255,255,254,254,254,253,249,249,249,250,250,250,249,248,249,249,250,250,249,248,251,228,134,113,110,103,97,62,36,31,26,30,38,39,35,21,20,19,17,18,18,17,18,19,20,29,33,113,249,246,232,225,208,194,186,188,222,244,161,112,148,177,150,169,174,183,218,168,125,120,125,151,139,126,124,124,131,146,167,174,150,126,126,122,120,118,120,147,161,162,167,171,172,184,199,179,135,122,134,163,179,180,151,155,152,145,148,150,154,158,159,164,168,167,159,148,129,119,109,107,103,97,97,99,101,104,111,120,129,131,127,131,138,145,150,146,148,154,140,132,146,152,145,120,121,125,130,136,136,131,124,126,130,126,130,135,136,131,121,131,145,156,154,135,135,139,136,140,125,126,155,159,178,207,163,117,134,178,191,179,181,204,207,178,155,203,178,166,208,149,138,139,141,141,140,142,142,142,141,143,141,141,143,143,143,142,142,142,143,145,143,144,144,143,143,142,143,141,141,140,139,140,138,137,136,133,131,131,131,128,127,127,126,126,123,122,120,157,158,162,166,176,194,207,217,223,242,251,251,252,251,250,250,252,254,254,255,255,254,253,252,250,248,247,247,249,250,249,249,249,248,247,249,249,249,247,255,218,122,112,109,103,92,53,34,31,28,31,37,38,32,21,20,19,18,18,18,17,18,19,24,32,75,230,252,232,221,211,204,196,186,181,207,245,170,110,138,180,153,168,169,175,215,168,124,120,125,140,131,125,124,121,135,160,173,158,129,124,124,120,119,117,124,152,163,164,168,169,172,182,194,178,134,122,127,156,173,186,162,142,151,155,144,144,150,155,158,161,164,169,177,186,189,190,188,179,156,132,121,121,122,123,121,120,119,120,128,136,144,148,147,150,149,138,123,135,150,150,146,121,119,125,130,132,131,122,119,121,124,128,132,131,133,135,130,129,140,156,161,145,127,135,139,135,126,126,155,162,169,203,188,132,114,147,180,180,178,190,194,154,163,206,185,161,205,179,139,139,140,140,140,139,140,139,141,141,139,140,141,141,142,143,142,142,143,142,142,142,142,142,142,142,142,141,139,140,139,138,137,135,134,132,131,130,130,127,127,126,126,127,123,121,120,159,161,162,165,179,197,209,217,217,230,248,249,251,251,250,250,251,252,252,252,252,252,250,249,249,249,250,248,249,248,246,248,249,249,249,248,248,249,248,254,197,116,111,107,103,87,47,32,29,26,32,36,37,31,22,19,19,18,18,17,19,19,20,25,48,195,255,242,228,210,200,195,192,189,181,197,241,179,110,134,183,155,160,166,174,211,165,122,119,125,133,125,124,122,119,146,172,165,133,122,124,122,118,118,117,127,155,162,164,167,170,172,182,192,176,134,124,123,150,169,183,175,147,137,145,148,143,145,150,154,160,162,169,176,182,189,191,191,180,156,132,117,113,114,114,115,116,117,125,136,142,147,147,149,143,135,126,121,142,150,140,144,123,117,123,128,129,126,118,119,120,120,129,133,131,132,133,133,133,138,154,162,152,131,123,135,134,127,132,160,164,162,198,198,181,139,142,172,181,177,186,180,139,180,201,188,166,198,209,173,134,139,139,139,138,138,139,139,139,139,140,139,140,141,139,140,141,141,141,141,142,141,141,142,141,139,139,140,140,137,138,138,134,133,131,131,130,129,125,126,125,125,124,122,120,119,161,162,163,168,183,198,209,220,227,238,249,247,249,251,251,250,252,251,251,251,249,248,249,248,248,249,249,250,251,250,246,246,249,248,247,248,248,248,247,249,177,116,109,106,103,81,41,32,28,28,34,37,36,28,21,20,19,19,18,18,20,20,25,31,149,255,246,233,220,206,196,190,186,186,181,192,237,182,110,128,183,159,156,162,174,206,157,121,120,123,125,123,122,119,127,164,171,142,119,121,121,118,117,116,116,136,157,161,161,166,169,174,182,189,173,135,122,121,143,166,177,181,160,136,133,143,150,152,147,149,156,162,167,174,181,186,189,187,176,152,130,116,115,115,115,116,116,117,125,136,142,147,147,143,136,132,119,121,150,146,134,141,124,117,120,126,126,122,115,116,119,126,133,133,131,131,132,132,134,140,151,163,155,138,121,125,130,129,137,162,167,158,194,189,189,198,191,185,178,173,183,172,141,181,193,189,171,195,202,215,158,134,138,136,137,137,138,137,139,138,139,138,139,141,139,139,141,139,139,141,141,141,141,141,138,137,138,138,138,137,137,136,135,132,129,129,128,127,125,126,125,125,123,122,118,117,161,
868162,164,172,188,202,211,225,234,246,249,248,248,249,249,250,251,252,252,251,250,249,250,249,249,246,247,250,252,251,248,247,248,249,248,249,250,249,250,249,164,115,110,105,102,75,37,35,29,26,36,37,35,27,18,19,19,17,18,20,19,22,22,100,248,251,241,221,205,202,193,188,184,182,181,188,233,185,110,121,179,167,155,155,175,201,147,121,120,121,122,121,119,116,148,173,153,122,119,119,117,116,116,114,121,144,159,160,162,166,169,175,181,186,167,135,123,122,133,162,170,181,172,147,130,129,139,151,152,148,147,158,164,172,178,184,187,187,174,150,127,116,114,115,114,115,115,117,123,135,142,143,137,143,141,122,109,128,154,144,128,139,125,118,121,125,124,120,115,117,122,127,132,133,130,131,132,131,134,141,149,163,161,144,124,119,125,131,140,161,172,157,183,188,163,184,199,196,176,168,176,164,145,176,177,181,181,182,193,214,206,148,132,137,137,137,137,139,137,136,137,138,138,139,139,138,139,138,140,139,139,138,138,137,137,137,137,137,138,138,136,134,134,130,130,130,128,125,125,125,124,124,122,121,118,117,161,163,165,176,194,208,215,223,231,245,248,248,249,249,248,250,252,254,253,252,250,250,250,250,246,247,247,247,250,249,247,244,246,247,247,249,250,248,252,241,148,112,111,106,100,68,35,31,26,27,36,38,39,26,20,21,19,19,19,20,20,26,67,212,255,244,236,219,195,193,189,184,181,179,177,184,230,190,111,114,175,173,156,150,176,197,140,120,120,120,122,118,115,128,168,164,131,11
8687,119,117,115,115,116,114,128,148,159,161,161,166,172,177,182,182,164,135,123,121,127,156,166,177,177,161,136,125,129,139,147,148,154,158,161,169,175,184,186,186,173,151,128,117,114,115,115,114,113,120,127,132,137,139,146,152,128,111,109,137,155,141,127,136,126,116,120,121,121,118,116,119,123,127,130,134,133,132,132,132,133,139,148,162,168,148,129,120,120,129,141,157,176,158,175,192,152,157,178,183,176,167,174,161,151,171,170,167,183,176,189,204,214,202,142,133,135,135,137,137,135,136,135,136,137,138,137,137,137,135,138,136,138,136,136,137,137,137,136,136,136,138,136,133,132,130,130,128,127,125,125,126,123,123,121,118,117,116,162,162,167,182,198,210,215,222,237,248,248,248,247,247,248,252,254,254,253,252,251,250,251,251,246,246,249,247,245,247,247,238,245,247,247,247,245,245,252,231,136,113,110,106,97,60,33,29,27,28,38,40,38,23,20,20,18,18,18,20,23,58,169,243,240,240,231,221,188,184,187,183,178,176,174,181,226,193,114,109,168,174,159,147,176,188,132,119,119,119,119,114,115,152,171,141,117,118,117,116,114,114,115,116,133,149,159,160,161,167,174,179,181,178,160,134,120,121,124,153,164,171,177,170,149,129,124,131,139,144,152,159,161,169,177,185,186,184,167,149,128,118,115,114,114,115,115,120,124,131,138,145,152,145,120,108,116,147,151,137,128,133,127,118,119,120,119,117,117,119,123,126,129,134,132,133,131,133,133,137,146,159,171,154,134,121,115,125,141,152,176,162,168,194,160,140,158,171,170,166,172,156,143,162,157,156,184,166,181,199,203,217,197,138,135,136,134,133,135,137,136,136,135,137,135,135,135,135,136,136,135,135,136,136,136,137,136,135,136,136,135,132,133,131,130,126,125,124,124,124,125,122,121,119,117,116,161,162,169,186,200,210,216,231,248,249,249,248,248,249,252,254,254,254,253,252,252,253,252,251,251,251,250,248,246,246,249,250,250,248,247,247,247,247,250,214,127,111,106,104,93,53,31,28,26,28,39,39,33,19,21,18,18,19,19,23,28,109,229,213,233,232,225,223,187,175,184,182,176,173,172,180,222,199,118,105,161,173,162,148,176,178,126,120,120,120,116,111,133,171,155,121,116,116,114,113,113,114,113,120,137,152,161,160,160,166,176,180,182,175,156,133,120,121,122,148,163,167,174,175,161,138,126,125,134,142,144,152,159,165,177,183,186,178,155,139,121,115,115,113,114,115,114,115,123,139,146,149,152,135,113,106,120,148,145,134,126,131,129,121,118,117,118,116,117,122,126,127,129,134,134,132,132,133,135,137,144,157,172,160,138,123,115,116,138,150,173,169,166,191,168,144,149,164,167,168,172,152,137,156,144,161,175,138,172,191,196,205,217,181,130,134,134,132,135,136,135,136,136,135,133,135,136,135,136,136,134,135,136,136,136,136,135,135,135,137,135,133,133,131,129,127,126,126,125,124,123,122,120,120,118,118,161,162,171,191,204,210,218,240,249,250,252,251,249,252,254,254,254,254,253,253,252,249,249,252,251,250,249,250,249,249,245,240,242,248,248,247,246,246,248,194,118,110,104,103,88,47,31,27,24,30,37,38,30,19,20,19,18,18,22,26,44,199,230,189,225,225,221,224,192,169,176,180,176,171,168,175,215,203,126,102,157,169,164,154,179,168,122,122,118,117,113,118,160,166,132,116,116,114,114,114,113,113,115,126,144,157,160,160,161,167,178,181,179,171,151,130,120,119,121,143,161,165,173,175,169,149,130,125,128,136,138,150,159,165,174,177,176,170,153,131,116,112,112,112,112,111,112,115,134,147,148,153,148,122,110,105,124,148,146,135,128,132,130,120,117,117,116,117,120,125,129,126,130,134,134,133,132,135,135,137,144,154,172,162,138,125,115,113,133,148,166,173,164,187,175,161,162,165,168,168,170,152,139,140,133,167,155,131,174,192,195,203,211,215,166,129,135,135,134,136,136,133,135,133,133,134,134,135,135,135,134,135,136,135,135,135,136,133,135,135,133,131,131,129,128,129,127,125,125,123,122,122,121,119,118,118,161,164,177,196,207,214,225,244,248,249,252,253,252,252,253,254,254,253,251,250,249,246,243,248,250,249,250,249,247,248,240,233,237,243,246,247,246,245,247,178,116,109,104,101,83,44,31,26,26,32,38,39,30,20,20,19,20,18,31,41,126,255,205,179,216,218,212,219,201,170,163,173,174,171,167,170,207,207,138,97,152,167,162,160,184,157,121,121,117,116,112,142,172,145,118,116,114,113,114,113,113,114,120,134,148,157,160,159,161,170,178,181,178,165,147,128,119,118,119,140,158,163,169,173,172,159,139,127,125,130,135,146,159,160,164,165,165,165,155,128,114,111,112,110,111,111,111,122,146,152,151,152,132,112,111,108,132,149,143,135,128,133,132,119,117,115,117,119,121,126,127,126,131,134,134,133,133,133,134,138,145,151,168,167,142,127,116,112,125,146,160,176,158,179,175,164,165,165,168,165,170,149,132,128,132,166,142,139,177,199,203,207,199,199,208,159,128,132,133,133,133,133,134,133,132,133,134,134,135,134,135,134,135,135,135,135,134,134,135,131,133,132,133,130,128,128,125,125,123,124,121,122,120,118,118,117,161,
868166,183,200,211,216,227,246,251,251,253,254,253,252,253,253,254,253,250,249,248,247,247,247,251,250,250,248,248,249,240,239,247,248,244,239,245,247,242,161,114,110,104,99,73,40,32,26,24,32,35,37,28,21,21,17,17,19,46,79,209,255,193,171,207,213,209,214,205,178,159,163,170,168,167,170,203,209,146,94,146,167,157,165,191,150,122,120,117,114,123,166,158,124,115,114,112,113,113,114,113,114,129,139,147,156,159,158,162,172,180,182,176,162,145,127,119,119,119,136,156,160,165,170,173,167,152,133,126,128,131,141,153,158,162,167,166,166,155,127,113,112,113,112,111,111,121,140,151,151,152,139,116,111,109,112,138,146,140,138,133,127,127,123,118,115,116,119,120,126,126,126,131,135,138,135,133,133,134,139,144,151,165,173,148,129,116,109,119,143,154,175,157,165,173,162,168,174,173,164,166,144,111,107,133,164,134,148,181,198,194,178,170,188,205,203,154,128,133,131,133,134,132,133,133,133,133,135,135,135,134,133,135,133,133,134,132,132,134,133,132,131,130,129,128,127,127,125,122,123,121,122,121,119,119,119,161,170,187,202,211,215,232,249,252,251,253,253,253,253,253,254,254,254,251,248,248,246,246,247,250,250,250,248,249,249,248,246,247,247,248,244,244,240,231,146,111,109,105,98,65,35,29,26,25,33,34,36,28,22,24,37,29,34,63,136,252,250,190,162,197,208,204,206,204,190,167,155,163,167,164,171,197,204,156,94,139,167,150,172,195,145,122,120,117,113,147,168,134,115,113,112,112,112,113,114,112,120,136,142,146,155,158,158,164,173,180,182,171,158,145,125,118,118,119,136,155,158,163,169,172,170,161,144,129,127,128,135,145,154,162,162,160,161,156,128,114,113,112,112,112,125,142,152,154,153,148,124,112,111,108,119,143,146,141,140,134,125,127,125,118,117,118,119,122,127,127,128,130,137,140,136,132,134,135,136,141,149,163,173,153,130,115,108,117,140,150,173,164,153,174,162,169,174,174,160,156,141,106,101,149,147,124,142,164,164,149,143,166,171,170,190,195,141,130,134,133,132,132,132,132,131,133,134,133,133,133,134,132,133,132,131,133,131,131,131,132,130,130,128,129,127,127,124,122,122,122,120,120,120,119,118,162,174,191,203,211,220,233,250,251,252,253,253,253,254,254,254,254,254,252,250,250,249,249,249,249,250,250,250,249,248,248,247,247,247,247,247,246,242,215,132,112,108,104,97,60,34,28,25,26,33,34,35,27,20,19,53,59,56,73,206,255,250,192,154,188,198,197,197,198,195,183,162,153,160,161,169,189,199,166,96,131,167,147,177,192,139,122,120,114,122,167,152,116,115,112,111,110,111,112,113,115,129,141,145,144,155,157,157,166,176,182,181,169,152,141,127,116,116,117,131,151,155,161,166,169,168,165,154,135,125,125,128,138,147,154,158,158,160,156,132,116,112,113,111,122,144,154,155,157,153,133,113,112,111,109,128,147,145,141,140,134,126,127,124,118,117,118,116,121,129,128,127,130,137,139,136,134,134,135,137,139,148,159,173,158,130,116,107,113,138,147,168,171,148,160,162,166,175,173,155,146,133,98,109,158,134,123,129,132,125,129,153,174,169,159,166,191,182,131,130,133,131,132,131,132,131,131,133,131,131,133,132,133,131,131,131,131,131,132,130,130,130,131,128,128,126,124,124,123,122,122,119,119,120,118,116,165,177,194,205,215,225,226,241,252,252,253,253,253,254,253,254,254,253,251,250,251,250,249,249,249,249,250,246,242,248,248,247,247,247,246,246,246,244,201,123,110,107,104,93,54,34,28,24,28,34,35,32,22,18,17,46,62,66,142,251,247,252,196,149,179,194,193,193,193,191,186,174,159,152,156,165,182,193,173,103,124,168,149,187,184,135,123,119,115,140,168,129,114,114,111,110,110,111,112,112,124,135,146,146,145,153,157,159,169,179,183,179,166,146,139,125,116,116,118,128,149,157,159,160,164,169,165,160,146,129,126,125,130,145,150,155,159,161,156,134,117,113,113,115,139,154,157,161,159,143,119,112,112,109,112,135,147,143,142,140,134,128,125,125,120,116,116,116,123,129,129,128,132,136,139,138,134,134,135,137,140,146,155,173,164,133,117,107,111,135,145,161,174,148,152,161,170,178,166,145,135,126,95,133,160,129,121,123,121,120,139,163,175,180,179,176,185,201,159,126,132,132,130,130,132,131,133,132,133,131,131,132,133,132,130,131,131,131,133,131,130,132,130,128,126,128,126,124,122,121,122,118,118,120,119,115,151,152,158,165,164,162,164,166,167,168,169,169,168,170,169,166,166,167,166,164,165,165,164,162,161,161,161,159,159,158,158,157,158,157,156,157,159,134,113,112,109,108,108,106,106,100,99,99,92,90,90,90,86,97,105,105,105,105,107,109,112,115,116,117,119,122,123,124,125,127,131,132,133,134,134,133,135,135,135,134,138,140,141,142,142,142,142,143,144,144,144,146,147,147,148,148,147,147,148,148,148,149,149,149,149,149,150,149,149,150,151,151,151,151,152,151,151,150,150,150,150,151,151,149,151,152,153,152,152,151,152,152,151,151,151,152,151,152,153,154,154,153,154,155,155,156,156,157,157,156,158,158,159,158,159,159,161,160,
868161,163,162,162,163,161,163,163,164,165,167,168,168,168,168,168,169,169,170,170,170,172,172,173,174,175,177,178,178,178,179,180,181,183,183,183,183,183,184,183,183,185,186,188,187,188,187,188,188,188,187,188,189,188,186,187,187,187,187,186,187,186,187,187,187,186,184,182,180,180,181,181,180,181,178,178,176,177,176,174,175,176,172,170,169,169,168,166,163,161,160,160,160,157,158,156,152,155,143,153,154,158,163,164,164,166,166,167,169,170,168,168,169,170,168,164,164,163,165,165,165,162,164,163,161,162,160,160,157,157,157,157,158,158,159,154,119,110,110,109,109,106,106,101,100,97,93,92,90,89,88,89,102,103,102,103,108,107,110,112,113,116,117,118,121,123,125,125,129,130,131,132,130,133,134,135,137,135,137,139,140,141,141,141,143,143,142,143,143,144,146,147,147,148,148,147,148,148,147,147,147,148,148,149,149,149,149,150,151,150,150,151,151,151,151,150,149,148,150,152,151,150,153,152,151,151,152,151,151,151,151,151,150,150,151,151,151,154,153,153,153,155,156,156,157,156,157,156,158,158,158,158,159,159,159,159,160,162,162,163,163,163,162,162,163,164,164,165,167,167,168,168,167,167,169,169,170,171,172,171,171,173,173,176,175,176,175,175,177,180,179,179,180,181,182,181,182,181,182,183,184,184,184,185,185,186,185,186,186,185,183,184,185,183,184,182,182,182,183,183,181,180,179,179,178,176,175,176,177,177,175,174,174,172,173,174,173,172,169,169,169,167,164,164,162,159,158,158,161,159,156,155,150,148,140,144,150,151,158,162,164,164,165,167,169,168,166,168,171,170,171,166,166,165,162,160,162,165,166,164,161,161,160,160,161,159,159,160,160,159,156,159,137,110,111,109,108,106,104,104,102,100,96,94,90,89,89,87,99,105,102,102,106,108,110,111,113,114,118,121,123,124,124,125,126,129,130,130,129,131,129,133,133,133,136,138,138,140,139,140,142,142,142,143,144,143,145,148,146,146,147,146,146,147,148,148,147,149,149,149,150,150,149,150,150,149,150,149,150,151,150,150,150,150,150,150,150,151,151,151,150,151,151,152,150,150,149,148,149,151,153,152,151,153,152,153,153,154,156,155,155,156,157,157,157,157,156,158,158,159,158,159,160,161,161,162,161,163,161,163,162,162,162,161,166,166,165,168,167,166,168,168,169,170,171,169,171,171,172,173,174,175,173,173,174,175,177,178,178,178,178,178,179,180,179,177,179,180,182,183,182,184,183,182,183,183,180,182,183,181,181,180,181,179,179,180,177,178,178,176,177,174,174,174,173,172,173,172,173,171,171,171,170,169,167,168,166,164,164,163,159,158,159,157,155,154,154,153,148,147,138,143,144,147,153,161,164,162,165,166,167,166,167,168,170,169,170,171,169,167,161,160,162,164,164,164,161,159,159,161,161,161,161,161,159,157,156,157,154,122,113,111,110,107,104,103,102,99,95,94,93,92,90,88,92,105,102,103,105,108,109,111,112,116,117,119,122,124,124,125,124,125,129,128,129,129,128,133,133,132,134,135,135,138,139,140,141,141,143,142,142,143,143,144,144,146,148,148,146,146,147,146,147,149,149,149,148,148,148,150,149,148,149,151,150,150,152,152,150,151,150,149,150,150,150,149,150,151,151,150,149,148,148,148,149,150,151,152,150,151,151,152,153,152,153,154,153,155,155,156,156,157,157,157,158,158,157,159,161,160,
868160,161,160,161,161,160,161,162,162,163,165,164,165,166,165,165,166,165,168,169,169,170,171,170,171,170,171,172,173,174,172,173,175,175,177,176,174,175,177,177,177,178,178,177,179,179,178,177,176,179,179,177,179,180,178,178,178,177,178,178,175,174,175,176,175,173,174,173,171,172,172,173,172,171,171,170,170,167,168,165,164,164,163,161,160,158,158,155,158,156,154,153,149,149,147,145,138,141,144,147,152,156,164,165,168,167,166,164,164,165,168,170,170,170,169,166,166,164,163,163,164,162,160,160,161,160,160,160,160,159,158,157,157,156,160,140,112,113,111,108,107,104,103,100,95,93,93,92,91,91,88,98,102,101,105,108,108,110,110,113,116,115,118,120,122,123,124,124,125,127,126,130,130,131,133,134,133,134,135,138,139,141,143,142,143,143,143,142,144,143,143,146,146,145,147,148,147,147,146,148,150,150,147,149,150,148,147,149,150,150,151,151,150,150,150,150,150,149,150,151,150,150,150,150,149,149,148,148,150,148,150,150,150,151,150,149,151,151,152,151,153,154,154,154,155,156,157,157,157,157,157,157,158,159,159,160,160,160,160,159,160,160,160,161,160,162,163,164,162,162,163,163,163,164,168,167,169,169,167,167,169,169,168,170,172,172,172,172,174,174,175,175,172,172,174,175,176,175,176,177,176,175,176,176,177,175,176,176,175,176,175,175,174,175,174,174,175,173,173,172,169,170,170,168,168,170,171,171,169,168,167,167,165,165,163,163,163,162,161,160,160,157,157,156,156,154,154,152,150,148,147,145,133,138,143,144,151,153,159,163,162,163,164,163,161,161,164,170,171,170,168,167,166,163,163,162,160,160,160,162,162,160,159,160,158,157,158,157,156,156,159,158,123,112,112,109,107,105,102,101,97,93,93,93,92,90,87,93,102,99,103,107,106,108,108,108,113,114,116,118,120,121,124,122,122,125,126,129,130,131,134,132,133,135,136,138,136,139,140,141,142,143,142,142,144,145,144,145,145,144,145,147,146,147,147,146,148,149,148,149,147,147,149,146,150,151,150,149,149,149,150,150,149,148,149,149,150,149,148,148,148,149,149,148,149,148,151,150,150,149,149,150,151,151,151,152,153,154,151,154,155,155,157,157,156,157,157,156,157,158,159,159,159,159,159,159,159,160,160,161,161,162,162,162,159,159,161,161,163,165,165,166,167,166,164,165,167,169,168,168,168,169,171,171,171,171,171,173,172,171,171,171,173,173,172,173,174,174,173,175,173,173,174,174,174,174,174,173,172,170,172,173,172,170,171,170,171,169,168,167,168,167,167,167,166,167,165,165,164,163,160,159,161,159,158,160,157,155,156,154,153,153,152,151,150,146,146,146,124,133,138,139,145,149,152,158,160,159,161,161,161,160,160,168,170,168,166,166,164,163,162,162,160,160,159,161,161,161,161,159,157,158,159,158,157,157,160,164,145,113,112,108,107,106,104,103,100,96,92,92,92,92,89,86,102,101,101,103,105,106,106,109,111,112,115,117,119,120,120,121,123,123,123,128,130,132,132,131,132,133,134,136,136,137,138,138,141,141,141,142,141,143,144,144,144,145,145,144,147,146,147,147,147,148,147,148,148,147,146,147,150,150,149,149,148,150,148,148,148,149,148,148,149,147,147,148,148,147,149,149,150,149,149,149,148,148,148,150,150,151,152,151,151,152,151,152,155,156,156,155,156,157,157,157,157,157,158,159,159,158,158,159,159,159,159,159,159,159,160,160,160,160,159,159,160,163,165,164,163,163,163,163,162,164,167,164,165,168,167,166,168,168,168,169,170,170,168,169,172,171,169,170,171,171,171,172,172,172,171,169,171,172,171,167,168,167,169,170,169,168,168,168,168,167,166,165,165,165,164,165,163,160,161,161,160,157,158,158,160,156,157,156,153,154,153,152,152,150,148,148,147,145,144,144,123,128,136,139,141,145,150,157,160,160,162,162,161,162,159,161,164,166,166,165,165,163,161,160,
868160,160,158,159,159,159,160,160,157,158,161,160,158,157,159,160,159,128,110,114,110,105,105,103,100,97,96,92,92,92,89,85,94,104,99,99,104,104,105,109,109,110,114,115,116,119,120,119,120,122,126,127,128,128,129,131,131,132,133,134,133,135,137,138,138,141,140,140,140,142,142,144,145,145,146,144,145,146,147,147,147,147,147,148,147,146,146,147,148,148,149,149,148,147,148,147,149,149,148,148,146,147,148,147,147,146,149,150,149,149,148,149,148,148,148,150,150,150,150,151,150,152,151,151,153,155,156,156,155,155,156,156,155,156,156,158,158,158,158,158,158,158,158,158,158,159,160,159,159,158,159,158,157,158,159,159,159,160,161,160,161,161,161,161,162,163,164,165,166,166,166,169,168,166,165,166,166,166,167,168,168,169,169,170,170,170,169,166,166,167,166,167,165,167,166,167,166,165,166,167,165,163,163,159,161,162,162,161,159,158,159,158,159,158,158,157,156,155,157,154,152,153,152,152,148,149,147,144,145,145,140,138,121,124,131,138,142,144,147,154,158,159,160,161,160,161,161,160,161,164,166,164,164,163,161,160,158,158,158,158,156,158,159,159,158,158,159,159,158,157,156,157,160,150,117,113,112,109,105,103,100,98,94,93,92,89,89,88,87,102,101,98,101,103,104,106,105,109,112,112,113,115,117,118,120,123,124,125,125,125,128,129,129,131,132,132,134,134,135,138,138,138,140,139,139,140,140,141,141,144,144,144,145,144,145,145,146,145,146,148,148,147,146,146,145,147,146,146,145,144,147,148,147,147,145,145,146,146,147,147,146,146,148,148,148,148,147,146,148,149,148,148,149,151,151,150,149,150,149,150,152,153,153,155,156,155,155,156,155,155,156,158,158,157,156,158,158,158,158,158,158,158,157,157,158,158,158,156,158,156,157,157,157,159,159,160,160,159,160,161,160,161,162,163,161,163,166,166,166,166,166,165,163,163,165,166,166,165,167,168,169,168,167,165,165,165,166,165,165,165,166,166,165,164,165,165,162,160,158,159,161,161,159,158,159,159,158,158,156,157,156,155,154,154,155,154,153,151,151,148,146,147,145,143,144,142,141,139,114,123,126,134,139,143,144,151,155,157,160,159,160,160,160,159,159,160,164,164,163,162,161,157,157,158,157,157,156,154,156,157,158,157,159,158,160,160,157,155,157,159,133,110,112,111,107,102,102,99,94,95,93,88,89,88,86,92,101,99,98,101,103,106,106,108,108,110,112,117,116,117,118,120,122,123,125,125,126,128,129,128,130,130,132,133,135,135,136,136,139,137,138,140,140,141,140,139,142,143,144,144,145,143,144,145,144,146,146,146,147,146,145,146,143,143,144,143,145,146,146,146,145,146,145,146,145,146,146,145,146,146,147,147,147,147,148,147,148,150,149,149,149,149,150,150,149,150,152,151,152,154,155,154,156,156,155,154,157,158,158,156,156,157,156,157,158,158,157,157,158,158,157,157,158,157,157,156,156,157,157,159,159,159,160,160,160,160,160,160,159,161,161,163,163,164,164,163,163,164,162,161,162,161,163,164,164,166,166,164,166,164,163,162,164,162,162,163,163,163,164,164,162,162,162,160,159,161,158,158,157,159,158,154,154,154,154,154,153,150,151,152,152,149,151,150,147,146,146,147,143,143,142,141,141,139,113,119,122,132,135,141,142,146,150,153,157,159,160,159,158,157,157,158,158,160,161,159,158,158,156,156,155,153,155,155,154,155,156,156,157,158,158,159,157,155,156,158,150,118,112,111,110,104,102,101,96,95,94,90,91,89,87,86,99,99,99,101,102,104,105,106,108,110,112,114,115,117,118,117,120,120,123,124,125,126,127,129,128,129,130,131,133,133,135,136,138,137,137,139,139,140,141,139,140,141,142,144,143,142,144,145,146,145,145,145,145,144,144,144,144,144,143,144,144,144,145,146,146,146,146,147,146,146,146,147,147,147,147,147,146,148,146,147,148,148,149,149,148,148,149,149,150,151,151,148,149,152,153,154,154,153,154,155,154,155,155,156,156,155,155,156,155,157,156,157,157,157,157,157,157,157,157,157,157,157,158,159,158,159,160,159,159,159,159,159,159,161,161,163,164,164,162,160,160,161,160,159,159,162,162,163,163,163,162,163,165,162,162,162,161,162,161,161,164,162,160,161,159,160,160,159,158,160,157,155,152,152,152,151,152,151,151,152,151,150,149,150,151,150,150,146,145,143,142,143,141,141,141,141,142,135,111,114,120,127,134,136,139,143,148,150,154,157,157,156,155,157,156,158,158,158,158,157,155,158,158,156,154,153,153,153,153,153,153,153,156,156,155,158,156,155,156,155,157,136,108,110,110,108,104,101,98,95,93,92,90,90,89,85,93,100,97,98,101,103,104,105,107,109,109,110,114,116,117,118,118,119,119,122,124,125,125,127,127,128,130,131,131,131,134,133,136,137,137,138,138,140,141,139,140,141,140,143,142,143,144,144,143,144,144,142,143,144,142,143,142,144,143,143,144,145,145,145,145,145,146,146,145,147,146,145,147,146,147,147,147,145,146,147,146,148,149,149,147,148,148,148,149,150,149,148,149,153,153,155,154,154,154,152,152,151,153,154,153,153,153,153,154,156,157,156,157,157,156,156,156,155,155,156,156,157,159,159,158,159,160,159,158,157,159,159,159,159,159,159,161,161,159,161,160,
868159,159,162,160,161,161,161,161,161,162,160,162,162,162,162,163,161,160,160,159,159,159,158,157,160,159,160,158,158,156,153,151,149,151,152,151,150,150,149,149,148,149,146,147,148,146,145,146,143,142,141,141,141,142,139,138,135,107,110,116,120,125,132,136,139,141,146,151,153,154,155,154,155,154,156,158,156,156,156,155,154,156,155,155,154,152,152,152,152,151,152,154,154,155,156,156,155,154,154,155,154,119,108,110,108,105,101,99,94,92,92,90,89,88,85,86,99,96,99,100,102,102,102,105,108,107,108,113,114,115,117,117,118,118,120,122,124,125,125,125,127,128,129,129,130,133,133,134,135,135,136,138,139,139,140,140,140,139,141,141,142,142,142,143,143,143,142,141,141,142,142,144,143,142,143,144,145,144,145,144,146,145,145,144,145,145,145,145,145,144,146,147,146,147,147,146,147,148,146,146,148,148,148,149,150,147,146,149,151,152,153,153,154,153,151,151,150,151,151,152,153,152,152,152,154,155,156,156,155,155,156,154,156,155,156,157,159,158,158,159,159,158,157,156,156,157,158,157,159,158,158,158,159,159,160,158,158,159,159,160,161,161,159,159,160,160,160,161,160,158,158,159,159,157,158,157,159,158,157,156,158,158,158,156,157,155,153,153,150,150,148,148,149,149,147,147,149,149,147,145,146,145,146,144,142,144,139,139,140,139,138,136,134,106,107,111,115,120,128,133,133,139,141,145,148,150,152,150,152,153,154,155,155,153,152,153,153,152,151,152,150,150,152,151,151,151,151,153,154,155,156,156,156,154,154,153,157,142,110,108,107,105,101,100,95,92,91,90,89,88,88,83,94,98,98,98,97,101,102,103,105,105,109,111,112,114,115,115,116,118,120,120,119,123,124,124,126,127,128,128,130,130,131,132,133,134,135,136,137,138,139,139,139,139,140,139,141,140,140,139,140,141,141,141,140,143,141,142,141,143,143,143,144,143,143,144,144,144,144,143,145,144,144,145,144,144,145,145,146,145,146,147,145,146,146,146,146,146,148,148,146,148,147,146,148,152,151,152,152,151,150,151,150,150,152,152,151,152,152,151,155,153,154,154,154,154,154,153,154,154,156,157,158,158,158,157,157,158,157,156,157,157,157,156,158,159,157,157,158,158,158,158,158,158,159,159,158,159,159,158,159,158,158,157,154,156,155,155,158,156,154,156,156,155,157,156,154,153,154,155,154,152,152,149,148,150,149,147,149,148,146,145,144,145,145,145,144,145,145,142,142,143,140,140,139,138,136,135,134,118,108,109,111,114,120,125,125,133,135,137,144,146,147,148,149,151,149,149,152,154,155,154,152,151,150,149,150,149,150,150,150,150,150,151,154,155,154,154,153,152,153,153,153,154,125,109,110,107,104,101,96,95,91,90,88,87,87,85,86,97,98,98,98,100,102,101,103,105,108,110,111,112,113,115,116,116,117,119,119,121,121,125,124,126,127,127,128,129,130,133,132,133,135,135,137,136,136,137,136,137,137,138,139,139,139,138,137,139,140,139,140,140,141,141,141,142,142,142,142,141,142,144,145,143,142,144,143,143,142,144,144,143,144,145,143,143,143,144,144,143,144,144,144,145,146,145,145,145,145,145,147,150,149,149,149,149,150,151,150,150,150,150,150,152,149,152,153,153,153,152,154,152,153,153,154,154,154,155,155,155,156,155,155,156,156,156,156,156,156,155,154,155,157,157,158,158,156,156,156,157,157,158,159,158,159,158,157,157,156,154,154,156,155,156,155,155,152,154,154,154,154,150,151,150,151,151,151,150,149,149,148,147,149,149,149,148,144,143,143,143,145,145,144,142,142,143,141,141,140,137,135,135,134,131,131,130,116,108,109,111,114,120,124,128,133,135,137,141,145,146,146,147,148,144,148,152,154,154,152,150,148,150,151,149,150,150,149,149,149,149,152,153,151,152,152,152,152,152,152,154,144,112,108,108,106,105,101,94,91,92,90,88,85,87,85,93,95,94,98,100,101,101,103,103,104,108,109,112,112,113,114,117,117,118,117,120,120,122,124,123,124,126,127,129,130,131,132,133,135,133,135,134,136,136,135,136,136,135,135,137,137,136,138,138,138,138,139,139,140,141,140,140,139,141,142,141,142,142,143,143,143,142,142,141,140,142,142,142,145,143,141,139,140,140,141,144,144,143,144,144,143,143,144,143,144,145,147,147,148,149,148,149,150,150,150,150,150,149,151,150,151,151,150,150,152,151,151,152,153,152,152,151,153,154,154,154,154,154,156,155,156,157,157,157,155,153,154,154,155,156,154,153,154,153,156,154,154,155,156,157,159,157,155,155,154,152,154,154,153,152,153,154,153,152,152,152,151,150,148,149,150,149,147,148,151,149,149,147,147,148,148,146,143,144,143,143,145,144,143,143,142,142,141,140,138,135,135,135,133,130,132,136,126,112,105,107,112,115,122,127,131,133,135,135,139,140,141,142,144,144,142,147,149,149,152,152,149,146,147,147,148,148,148,149,148,147,147,147,150,153,152,150,151,152,151,153,155,126,107,108,106,105,101,95,91,90,89,88,87,87,86,88,97,92,94,97,100,101,102,102,103,104,107,111,111,113,114,116,116,114,118,119,119,121,123,123,124,126,127,129,129,130,131,131,132,132,132,133,135,134,135,134,135,135,133,135,134,135,137,
868136,136,137,139,140,139,139,139,139,138,139,139,140,140,141,140,140,142,142,140,140,141,141,140,137,131,119,102,95,92,89,91,99,107,113,124,138,144,143,144,143,143,143,145,147,148,148,147,149,148,150,150,149,149,149,150,150,150,149,149,150,151,152,151,152,152,152,151,151,153,152,151,153,152,154,155,154,155,154,155,156,155,154,154,155,154,155,153,155,154,153,154,153,153,153,153,155,155,156,155,154,153,151,153,152,152,153,155,153,152,150,150,150,149,150,148,149,149,150,146,149,146,145,146,147,147,146,147,144,143,144,143,142,142,141,143,142,139,140,141,138,137,135,135,134,134,132,129,149,135,124,110,102,106,110,118,125,129,131,134,134,135,137,138,140,141,140,141,140,142,144,146,147,148,145,146,147,146,148,148,149,149,147,146,148,152,152,151,149,150,152,152,150,154,144,115,108,106,103,100,97,92,90,90,88,88,88,87,82,94,91,93,96,97,99,100,102,103,102,103,108,112,111,113,114,116,117,117,118,119,122,124,123,124,125,124,127,129,130,130,130,131,132,130,133,133,135,134,135,134,135,135,135,135,136,136,134,135,137,137,138,139,137,138,138,139,138,138,139,139,139,138,140,140,140,140,140,139,133,120,103,105,80,57,72,70,60,68,58,46,49,52,73,93,112,129,144,145,144,144,145,147,147,147,148,149,149,148,149,148,147,149,149,150,149,150,149,149,150,151,151,150,151,152,151,151,150,151,153,152,153,154,155,155,155,155,156,153,154,154,154,154,153,153,154,153,153,152,151,151,150,151,153,154,155,156,153,153,152,154,154,151,152,153,152,152,150,149,150,150,150,149,148,147,147,146,147,146,145,145,144,144,144,143,143,143,142,141,140,143,142,142,141,140,138,137,135,135,135,132,131,129,129,128,157,147,136,122,108,103,107,114,120,124,125,130,132,133,133,135,140,140,139,138,138,140,143,143,145,147,144,144,142,144,146,146,149,148,147,146,146,149,149,151,149,149,149,151,150,149,153,131,109,108,103,102,97,93,91,90,88,88,86,87,80,87,97,94,96,95,97,100,99,101,102,102,103,108,111,113,114,114,115,118,117,118,121,123,122,122,123,123,125,127,128,127,128,129,129,130,130,130,133,131,132,131,133,133,135,135,136,137,136,134,135,136,136,137,137,137,137,137,137,137,139,139,137,138,138,138,135,136,130,109,100,76,56,56,55,51,50,46,48,48,52,51,49,45,37,39,63,87,106,136,144,143,144,146,147,148,147,149,148,147,148,147,147,147,147,148,149,148,149,148,147,148,150,150,149,151,151,151,152,152,152,153,152,153,154,153,153,154,153,152,154,155,153,153,152,152,152,152,153,153,152,152,151,150,150,150,152,157,153,151,152,153,153,153,152,150,150,150,151,151,151,147,148,146,145,146,146,146,145,144,143,144,144,143,143,141,141,143,142,142,140,141,140,138,135,138,137,136,137,134,134,132,133,128,128,128,160,155,145,135,121,106,104,106,112,119,122,123,128,131,132,133,135,139,138,136,137,138,139,141,143,145,144,144,141,143,144,146,147,145,145,143,144,146,148,150,149,148,148,148,150,150,150,147,116,107,102,101,101,97,94,90,89,87,86,87,83,81,96,94,93,95,96,98,100,101,102,101,103,105,111,112,112,113,115,116,114,117,122,122,122,123,121,123,124,126,127,127,127,127,127,129,129,128,130,130,130,130,132,132,134,134,134,135,135,134,135,137,135,136,137,137,135,136,135,135,137,136,136,135,135,136,134,120,85,54,59,52,39,41,41,44,47,41,31,34,34,40,46,48,46,36,34,65,90,74,111,140,144,145,146,147,147,147,148,147,145,147,147,147,147,148,147,148,148,148,149,147,148,149,148,149,151,152,152,151,150,151,152,150,153,153,153,153,152,151,152,152,154,152,153,152,153,153,152,151,152,152,149,149,149,150,149,152,153,152,151,151,153,152,153,150,150,149,148,150,147,146,147,145,145,145,146,145,143,143,143,144,142,139,140,140,140,139,137,139,139,138,139,136,133,134,137,135,136,134,132,131,132,129,126,126,160,156,153,144,134,119,105,104,108,112,115,118,123,125,128,128,131,134,134,133,134,134,134,135,140,143,143,141,140,142,143,145,145,144,144,142,142,143,147,148,148,150,148,146,148,148,147,152,136,108,104,103,99,99,95,91,90,87,87,86,83,79,87,95,91,94,96,98,100,100,101,103,103,105,108,110,111,111,113,114,115,118,120,119,121,122,122,121,122,125,125,125,125,126,127,128,127,128,127,127,128,128,130,131,132,133,133,132,133,134,135,135,135,132,134,135,134,134,134,136,135,135,136,135,137,126,119,84,51,35,34,39,46,42,40,45,44,39,26,28,33,36,35,37,47,49,41,40,116,95,61,115,147,149,145,147,145,146,147,146,146,147,148,148,148,148,146,148,147,148,148,148,147,148,149,148,149,149,149,149,149,150,150,152,152,152,150,149,150,151,152,151,151,153,152,152,153,154,152,150,150,149,149,148,148,149,148,148,147,148,148,149,150,151,150,150,151,149,148,147,148,147,147,146,146,145,143,141,141,141,143,140,138,138,140,140,140,140,139,139,135,135,136,135,133,135,136,135,134,133,131,130,130,127,126,127,160,158,157,150,140,131,116,103,104,107,112,116,120,123,123,123,125,127,127,131,132,132,133,134,136,137,138,139,140,140,138,140,143,142,143,142,143,143,147,147,148,148,147,147,147,147,147,147,148,120,103,105,101,98,96,92,90,87,86,85,83,81,81,93,91,93,95,96,98,99,101,101,102,104,102,105,109,111,110,112,114,115,116,115,118,120,120,120,12
8681,121,122,119,124,125,125,126,127,127,126,126,128,128,129,129,130,131,132,131,132,132,131,132,132,132,133,132,133,134,134,135,133,133,134,135,95,66,64,48,38,31,33,32,33,46,47,44,48,44,40,39,37,37,35,36,36,47,59,47,93,106,52,77,145,167,146,144,145,145,146,146,147,146,145,146,147,148,148,147,148,146,147,149,147,148,147,147,147,147,148,149,149,149,151,151,150,149,148,149,149,150,151,151,150,151,152,152,152,151,152,151,150,149,148,148,148,148,148,149,146,145,148,147,149,147,148,149,148,147,147,146,147,146,145,145,143,144,144,143,142,140,140,138,136,138,139,139,137,138,138,137,133,134,134,133,133,134,132,131,131,130,132,130,127,126,127,125,157,159,158,157,150,139,130,114,102,103,105,108,114,118,121,121,121,123,122,126,129,129,130,132,135,135,134,136,138,138,140,140,141,142,142,142,141,141,145,147,146,145,145,147,147,145,146,145,147,136,108,104,102,100,97,92,91,89,86,83,83,82,80,87,94,91,92,94,96,97,99,100,101,101,105,106,106,107,109,111,112,112,114,115,117,118,117,118,119,118,120,121,122,124,125,124,123,125,127,126,125,126,128,129,128,128,130,129,129,129,130,131,131,130,131,131,131,131,133,130,131,133,119,89,42,40,38,41,42,35,35,46,46,58,61,57,52,52,52,50,45,42,42,39,39,38,55,52,60,102,85,79,117,163,183,147,142,143,144,145,144,144,145,145,146,146,145,146,146,146,147,147,147,147,147,146,145,147,148,148,149,149,151,149,149,149,150,149,150,150,150,149,149,150,152,150,151,150,151,151,149,149,147,148,148,148,148,147,145,146,145,146,146,146,147,147,148,147,147,146,145,145,144,143,143,143,142,141,141,139,138,137,136,136,139,137,136,135,136,137,133,132,133,132,132,133,130,132,129,129,131,128,126,127,126,124,153,157,159,157,157,148,136,127,111,98,101,105,107,114,116,118,119,119,121,120,123,126,127,128,130,131,132,133,134,136,138,139,139,140,141,142,141,140,142,144,143,142,144,146,146,146,146,145,143,144,122,104,103,102,99,96,92,89,87,84,82,82,79,82,91,89,91,92,93,95,97,100,101,100,105,105,105,106,107,108,109,111,112,114,115,115,117,115,116,117,117,119,120,122,122,121,121,124,126,127,125,125,126,127,126,126,127,127,128,127,128,129,129,129,129,129,129,131,130,129,133,125,74,34,36,37,43,42,40,48,58,71,77,75,73,68,61,60,56,58,56,55,52,51,48,48,42,60,39,65,83,80,105,152,175,181,140,143,143,143,143,144,145,144,144,146,146,146,146,146,145,146,146,146,146,146,146,146,148,147,147,150,148,148,149,149,149,149,149,149,148,149,148,150,149,149,150,151,150,151,149,148,148,147,147,150,147,145,145,145,144,145,144,146,146,146,146,144,145,145,143,144,141,142,141,140,139,138,137,136,136,135,136,136,134,135,134,134,133,133,131,132,131,131,131,131,131,130,129,129,128,127,126,125,124,125,196,153,157,158,157,155,146,134,123,105,96,101,104,110,110,116,117,116,118,120,120,123,127,126,127,128,129,131,132,134,137,138,139,139,140,141,140,140,140,139,139,141,142,142,144,144,145,143,140,142,138,109,102,103,100,98,92,87,87,87,85,82,80,78,88,90,90,91,92,93,95,97,99,101,100,102,103,105,107,107,106,111,113,112,112,114,115,116,115,116,116,119,120,121,119,119,119,121,123,124,124,126,125,126,126,126,125,125,124,125,127,128,128,128,130,129,129,128,129,129,110,65,42,37,37,37,41,51,75,88,95,96,90,86,83,77,68,70,66,66,62,66,67,62,57,56,51,67,67,41,47,67,86,114,120,179,161,140,142,141,142,143,145,144,145,145,145,146,146,146,146,146,145,146,145,145,148,147,146,147,148,148,147,147,149,149,151,149,149,150,150,150,149,148,148,148,149,149,148,150,148,149,149,148,147,147,145,144,146,144,143,144,144,145,144,145,144,144,144,143,143,142,141,141,140,138,138,138,134,135,135,134,135,135,134,133,133,133,133,130,131,131,129,129,131,129,129,128,126,128,126,127,125,124,124,121,205,194,151,157,157,155,153,144,131,120,102,96,98,103,106,109,114,115,114,116,117,118,122,125,125,125,126,129,131,133,135,133,135,135,138,139,139,139,137,138,138,140,141,140,139,141,140,139,140,141,145,126,103,103,102,97,93,89,88,87,87,81,80,78,84,90,87,88,91,91,92,96,95,98,100,101,101,103,103,105,108,108,109,112,112,114,115,117,116,115,115,118,119,118,117,118,117,119,121,121,121,125,123,123,125,124,125,123,122,124,123,124,126,126,128,127,126,125,128,113,55,34,44,38,33,35,65,83,107,114,112,108,105,93,90,85,79,77,73,71,72,74,76,74,69,64,60,75,82,54,53,46,78,82,104,119,188,152,137,141,142,142,144,144,145,143,145,144,145,145,145,145,145,145,144,145,147,146,146,147,147,147,147,148,147,148,148,148,148,148,149,147,147,146,146,146,148,148,146,148,148,147,147,148,148,145,145,143,144,145,143,141,143,141,143,144,143,144,142,143,140,140,140,138,138,136,135,135,134,134,135,134,134,133,134,134,131,131,131,129,131,130,129,129,129,127,127,128,125,126,126,125,124,123,120,120,177,207,193,150,155,157,152,150,142,130,11
8687,99,94,97,102,104,107,110,111,113,115,115,117,118,122,123,123,127,127,130,132,133,131,131,130,132,135,136,137,136,136,135,135,136,135,137,139,140,141,139,141,140,112,101,102,98,95,90,88,89,84,80,79,79,79,87,88,87,89,90,93,94,94,95,97,99,101,101,102,103,104,105,109,110,111,111,113,114,115,116,116,116,118,117,117,118,117,116,118,120,121,121,120,120,123,123,123,122,123,124,123,122,124,122,124,125,123,126,114,61,33,38,47,40,26,72,104,97,124,122,117,112,109,102,94,90,86,81,75,75,78,79,81,78,77,71,72,73,67,74,77,72,97,54,87,76,128,154,138,140,140,140,140,142,141,142,143,143,145,145,143,145,143,143,143,144,144,144,145,145,147,147,147,146,145,144,145,146,147,146,147,146,146,146,145,145,146,146,146,147,147,147,146,145,145,145,144,143,144,144,143,140,142,142,141,140,141,143,141,139,138,139,139,136,136,134,133,135,136,132,133,134,132,131,132,132,130,130,128,130,131,129,127,125,126,125,126,127,124,123,124,124,120,121,122,120,190,178,208,188,145,156,153,152,149,139,129,114,96,93,97,100,103,105,109,110,112,112,113,116,119,118,120,122,121,124,127,127,128,129,128,129,133,134,135,133,132,132,133,133,134,137,138,139,139,136,138,141,128,102,102,99,93,90,88,88,86,82,79,78,77,81,86,85,87,88,90,91,92,94,95,97,100,100,101,101,101,105,106,108,110,110,111,112,113,115,114,115,115,114,116,117,117,117,118,118,119,119,119,119,119,120,121,120,121,121,122,122,123,123,123,123,124,110,62,32,36,46,50,36,71,130,116,111,131,122,119,112,106,100,95,89,89,81,75,79,79,79,85,83,80,76,73,79,68,69,90,82,138,75,50,80,79,107,144,137,138,138,139,140,140,141,142,141,142,142,143,142,141,143,143,144,142,144,145,145,145,144,143,143,143,141,143,143,144,144,144,145,145,144,145,142,144,144,146,145,145,145,144,144,145,143,144,144,144,142,141,141,141,142,140,140,140,139,139,140,137,137,139,137,134,134,135,134,135,132,132,132,130,130,128,127,130,128,127,128,127,126,124,124,123,124,125,124,123,123,120,119,120,120,118,119,205,189,179,207,181,143,156,153,150,147,138,126,109,95,94,95,95,103,102,106,108,109,111,115,114,116,115,115,116,120,124,125,125,125,126,126,126,128,128,131,131,129,129,133,133,134,136,136,136,136,136,136,136,114,99,101,95,91,90,86,86,81,79,80,79,77,85,84,85,85,86,88,91,92,92,93,96,97,98,100,98,101,104,106,106,106,110,111,112,113,111,112,114,111,114,115,116,117,116,115,116,119,118,117,117,117,119,117,118,120,119,121,121,123,121,121,105,62,36,40,48,52,49,71,135,129,132,124,127,121,118,113,110,101,96,89,86,84,79,80,81,83,86,86,81,77,75,76,68,64,84,80,121,102,115,56,66,67,159,141,135,139,138,140,140,138,139,140,139,140,142,141,142,143,142,144,142,143,145,145,146,144,140,140,140,141,142,142,142,144,145,145,144,144,143,143,144,145,145,143,142,143,143,144,144,144,143,144,142,142,138,139,139,139,139,137,137,138,137,140,138,137,135,134,134,134,134,133,130,131,131,131,131,130,128,128,129,127,128,125,125,122,122,122,123,123,123,121,121,120,120,119,119,119,117,117,197,203,186,179,205,175,142,154,151,150,144,134,122,104,87,87,89,95,100,101,106,104,107,108,109,112,113,113,115,117,119,123,123,124,123,121,124,126,127,128,127,127,126,128,127,131,134,133,133,135,134,134,133,127,103,100,97,89,88,87,83,82,81,80,80,76,81,85,82,82,85,86,87,89,93,93,93,96,96,99,101,99,102,104,106,105,106,108,109,109,110,111,112,111,112,114,115,116,116,115,115,116,116,115,116,115,117,118,118,118,119,119,119,118,119,119,84,39,35,46,57,62,69,133,143,138,140,133,126,125,121,117,116,108,102,93,86,85,85,83,84,87,87,86,84,80,79,79,72,67,83,77,116,102,147,73,51,58,128,159,132,137,137,138,137,137,138,138,138,139,141,140,141,141,140,139,140,140,141,141,141,140,142,141,139,141,142,141,143,140,143,143,142,141,142,144,145,146,142,142,142,143,141,142,144,141,141,138,136,138,137,140,137,135,135,136,137,139,138,135,135,132,131,132,132,133,132,130,130,128,129,129,129,128,127,127,127,126,126,125,122,121,124,122,121,122,122,119,120,119,119,116,117,116,117,116,198,195,201,184,177,203,168,141,153,149,147,141,130,114,92,80,85,89,93,95,100,100,99,102,105,105,106,108,110,113,112,115,118,121,119,119,120,122,123,124,126,125,127,126,126,127,130,131,133,134,134,133,130,132,116,98,97,92,90,88,85,84,81,78,78,76,73,83,83,82,82,83,86,86,90,89,90,93,94,96,99,98,99,102,104,105,105,106,106,107,108,109,110,111,112,113,112,112,113,113,112,114,114,113,113,114,114,116,116,116,116,116,116,116,120,105,55,34,42,51,64,73,117,149,144,148,140,133,135,134,126,120,118,110,104,100,93,89,90,85,88,89,88,87,88,88,88,87,81,79,95,83,109,126,166,113,51,58,80,150,134,133,135,135,136,135,135,137,
868136,138,139,139,139,138,138,138,138,139,138,137,139,138,140,137,138,141,140,140,142,140,141,143,142,139,140,140,140,142,142,140,139,139,139,141,140,139,136,136,135,135,135,138,136,132,132,133,131,133,133,133,132,130,131,133,131,131,127,127,128,124,127,128,127,126,125,125,123,124,122,120,120,121,121,121,119,119,120,117,118,116,115,115,115,116,117,111,202,193,190,196,179,177,204,164,141,152,146,146,137,123,109,87,79,84,87,92,94,98,101,100,100,105,104,105,106,106,110,111,112,114,117,118,118,118,118,122,126,125,124,125,127,125,126,129,131,129,128,131,131,129,127,103,94,93,92,87,85,83,81,78,78,76,72,77,83,81,80,82,84,85,86,87,88,90,90,92,95,97,98,100,100,102,104,104,105,105,105,107,107,108,111,111,111,110,110,111,111,110,109,111,112,113,113,113,114,114,115,114,114,113,118,101,42,36,41,46,76,106,142,146,153,150,144,143,143,136,127,122,116,109,105,101,98,93,91,85,91,95,92,92,90,91,91,89,85,89,102,95,106,119,163,123,65,56,55,103,134,130,133,134,134,133,134,134,131,133,132,133,137,136,137,137,137,137,136,135,136,136,136,137,136,138,140,138,137,138,137,139,139,138,138,139,138,138,139,139,137,135,136,134,133,133,133,133,133,131,133,134,132,132,131,129,129,128,128,130,130,130,132,128,127,127,124,124,123,124,126,126,127,126,123,123,122,124,122,119,120,121,119,118,118,118,118,115,116,113,113,116,115,112,111,111,207,203,202,201,206,177,179,204,143,134,151,144,143,131,119,100,79,83,87,91,94,97,100,100,101,106,102,103,104,105,109,111,111,112,116,118,118,119,121,123,125,124,124,125,126,125,127,128,128,129,126,127,127,126,130,116,93,93,90,89,84,83,82,78,77,76,73,74,82,80,78,81,83,83,86,85,86,89,90,92,96,96,95,97,100,102,102,102,103,104,103,104,105,106,106,106,108,109,108,108,107,108,107,108,110,112,112,111,111,112,112,111,112,112,116,92,45,49,35,43,95,135,149,154,157,154,148,148,146,138,124,119,115,109,105,101,101,96,92,91,91,93,100,99,96,92,90,90,89,89,98,112,152,159,135,100,107,61,59,72,123,129,131,130,129,131,132,130,131,131,130,131,130,130,132,131,131,133,134,133,133,135,138,137,135,135,139,135,136,135,135,136,136,135,137,137,136,135,135,136,136,134,135,132,130,130,131,130,131,132,132,132,130,129,130,127,129,127,127,126,126,127,125,123,125,126,123,122,122,122,123,121,122,122,120,120,121,116,120,119,119,118,117,117,118,117,116,115,113,114,112,111,111,110,110,112,210,208,210,207,207,209,173,181,149,106,137,149,143,137,126,110,87,86,89,90,95,99,98,99,102,102,103,103,105,108,108,109,111,114,115,117,118,120,123,122,124,124,124,126,127,129,129,129,131,131,131,132,134,134,137,128,96,93,91,89,86,84,83,81,78,76,74,73,76,81,77,78,80,83,83,84,86,86,88,90,92,92,94,94,96,97,101,101,100,101,103,102,102,104,103,104,104,107,107,106,106,110,109,107,108,109,109,109,109,108,110,108,108,110,113,82,46,49,37,69,124,153,155,154,155,150,148,147,140,132,121,118,112,111,107,101,102,102,95,94,90,97,104,99,97,92,90,91,92,90,102,133,161,181,159,137,172,106,61,63,128,128,127,128,129,129,127,127,127,128,128,129,129,127,130,130,129,132,131,131,130,132,132,131,133,134,135,134,135,133,133,134,134,132,132,132,132,132,135,133,134,130,130,129,130,129,130,130,130,130,130,129,128,127,126,125,124,125,123,123,124,124,122,124,123,122,120,121,120,120,119,116,118,120,118,115,113,115,114,116,116,114,114,115,115,115,111,113,110,110,109,110,110,108,108,104,213,213,213,213,212,217,222,172,124,143,111,134,144,139,133,115,88,86,91,93,95,99,98,102,104,103,105,105,107,111,111,112,113,117,119,120,123,125,125,125,127,128,128,130,132,133,134,134,133,133,135,137,137,138,139,124,97,97,91,89,87,86,83,80,77,76,73,73,73,78,76,75,77,79,82,83,84,86,86,86,86,89,90,91,94,94,97,97,98,99,99,100,100,100,101,102,102,102,104,104,105,105,105,106,106,107,107,106,107,106,106,105,106,106,109,78,43,46,51,96,145,172,159,153,152,144,142,130,118,116,108,101,95,94,93,94,99,103,98,92,91,99,101,98,94,87,88,91,94,92,103,140,166,177,182,175,189,190,110,81,125,130,122,124,126,124,122,124,123,125,124,124,126,127,128,128,127,127,127,127,127,127,126,127,127,130,128,130,129,129,129,130,128,127,128,130,130,131,131,131,130,130,127,127,127,128,127,129,127,127,127,128,125,122,123,123,122,124,121,120,123,121,122,122,120,120,119,119,120,120,119,118,117,116,113,112,114,113,110,110,110,112,113,113,111,112,109,111,110,109,108,108,106,105,106,102,210,211,211,213,212,222,248,195,
868133,158,121,136,147,141,136,115,87,92,94,96,98,100,101,106,106,108,110,113,114,118,119,118,119,121,123,125,128,128,129,131,130,132,133,134,134,134,138,136,136,135,136,139,138,139,140,118,96,95,92,88,88,86,83,80,77,76,74,73,70,72,79,78,79,82,84,86,86,88,88,89,90,94,94,95,96,98,98,99,102,100,98,101,101,102,102,102,102,101,104,102,104,106,105,106,105,104,106,104,106,104,105,104,105,105,108,77,37,44,72,114,160,182,171,156,151,137,124,112,100,94,90,85,83,85,84,89,99,101,101,92,89,98,96,93,88,82,79,78,79,81,94,124,181,209,213,199,177,206,190,86,112,136,116,121,122,121,122,123,122,123,124,125,126,126,123,123,124,123,122,125,123,123,125,125,123,123,124,125,124,124,125,124,123,125,125,125,125,124,124,125,126,125,125,123,125,127,125,124,123,123,122,123,121,119,119,118,121,120,118,116,118,118,116,118,119,118,117,118,117,115,113,114,115,112,112,111,112,110,109,108,109,109,111,110,109,108,109,108,109,109,105,104,105,105,103,101,207,207,207,208,206,230,248,177,171,166,132,151,144,143,137,112,92,99,100,102,103,108,110,112,114,116,117,116,118,121,120,121,120,122,125,127,127,126,128,130,132,133,133,134,134,135,137,138,137,138,139,139,140,140,138,111,95,97,94,91,88,85,83,80,78,77,73,73,70,67,71,72,72,74,73,75,77,78,79,82,86,87,87,90,93,94,94,94,97,97,97,97,99,99,100,100,100,102,102,103,105,107,107,107,108,109,111,110,107,108,109,109,110,109,114,79,33,50,85,126,173,190,175,159,149,136,123,110,96,86,84,84,85,86,87,91,100,100,98,90,89,95,93,89,84,79,70,63,64,59,67,86,112,179,212,218,187,182,199,124,93,116,117,119,120,120,120,120,120,119,121,121,121,121,121,121,121,121,118,119,117,119,119,119,120,119,119,118,120,118,119,120,121,123,121,121,120,117,119,118,119,119,118,117,118,119,117,119,119,117,115,117,115,115,115,115,114,114,113,113,112,112,112,111,110,113,113,112,112,111,110,111,111,111,109,111,108,106,108,107,106,108,110,107,106,106,105,101,101,102,102,102,102,101,102,100,221,222,222,223,228,244,238,158,179,169,143,151,145,145,136,107,97,103,106,108,111,112,115,116,116,115,115,117,121,121,121,123,123,125,127,129,128,128,130,132,132,131,132,134,136,138,137,137,137,139,140,141,141,141,135,106,97,97,93,91,87,85,83,80,78,76,73,72,70,67,66,65,64,64,65,67,68,70,69,69,71,73,73,74,75,77,77,77,78,78,79,80,80,80,81,80,81,82,81,82,82,82,83,83,85,85,85,87,88,88,86,88,88,87,91,72,33,54,100,143,186,188,175,163,147,140,130,112,102,99,92,89,87,85,88,90,100,107,104,91,87,89,87,83,79,74,71,63,62,59,61,63,73,105,169,210,210,188,199,154,110,120,126,127,128,128,130,131,131,131,130,130,128,128,129,128,130,129,126,126,126,127,127,127,127,127,128,128,128,127,126,127,129,130,127,125,125,125,126,125,123,124,125,123,123,123,122,122,122,120,119,120,118,117,117,115,116,116,114,115,115,113,114,115,112,110,111,109,110,109,109,108,106,109,107,106,104,105,106,105,104,104,103,102,101,103,100,99,98,99,100,98,97,98,95,95,227,227,228,230,236,254,220,156,186,157,148,149,146,146,134,106,103,105,109,110,111,113,116,119,120,118,117,118,122,124,125,127,127,127,129,127,129,132,132,129,131,132,135,137,137,137,138,136,139,140,140,141,141,142,132,102,97,96,94,92,89,84,82,79,78,77,74,72,68,66,66,66,65,66,67,70,71,72,73,74,74,74,76,77,78,79,80,80,81,83,82,82,81,83,84,83,83,83,84,84,84,85,84,84,85,85,85,86,87,86,87,86,87,88,88,82,56,64,117,162,193,180,174,169,164,151,129,108,89,81,77,74,79,83,83,83,98,126,122,103,88,85,83,79,73,69,68,69,74,82,89,89,86,85,109,176,206,196,196,170,122,118,104,106,106,107,107,105,107,107,108,109,110,109,110,112,111,112,111,111,112,112,113,113,113,114,115,114,113,113,111,113,114,114,116,115,115,115,113,116,116,116,114,115,117,116,116,115,116,114,113,113,110,110,111,111,112,113,114,114,114,112,112,114,114,113,112,112,111,112,113,111,110,110,111,110,108,108,109,110,110,108,107,104,104,105,103,102,101,100,100,100,102,99,97,94,228,228,231,232,241,255,190,167,187,150,152,146,146,143,124,104,107,109,110,112,116,118,117,120,120,119,119,121,123,124,127,129,129,130,131,131,132,133,131,132,134,134,136,138,137,139,138,137,139,140,140,141,141,144,127,99,97,94,94,91,90,89,84,82,80,75,74,72,67,66,65,65,65,65,66,70,72,71,72,74,74,74,76,77,79,81,80,82,81,81,81,82,82,83,83,83,83,84,85,86,84,84,85,86,86,85,86,87,87,87,88,88,88,88,91,70,51,84,131,177,192,187,183,188,187,141,86,57,47,40,42,48,48,63,77,78,99,138,138,117,95,81,79,71,65,65,69,66,68,71,78,85,91,90,87,126,192,200,188,170,127,142,107,106,107,106,107,105,106,105,105,105,105,106,106,107,105,105,106,107,106,105,106,106,106,106,105,105,105,105,105,103,105,105,105,105,105,104,105,105,105,103,103,103,101,101,102,102,101,100,100,101,100,100,99,99,99,99,99,98,97,97,96,96,95,95,95,93,93,94,93,94,93,93,91,92,91,92,93,92,91,91,91,91,91,90,91,91,90,91,91,90,90,88,88,88,230,230,232,233,249,248,167,180,178,149,153,146,145,137,111,107,108,109,111,115,118,119,120,120,12
8681,123,123,126,129,130,128,130,131,131,131,133,133,133,132,135,134,134,138,138,140,140,141,139,140,141,140,141,142,145,123,99,98,95,94,92,90,89,86,82,79,76,74,71,67,65,65,65,65,67,70,70,72,71,73,74,74,75,76,77,79,80,80,80,81,81,82,82,82,84,83,84,84,85,86,85,84,85,87,87,87,87,86,86,87,89,89,89,89,88,90,63,45,95,144,179,186,191,192,199,175,77,48,92,61,42,46,65,64,48,66,77,99,141,142,119,93,77,73,62,60,65,52,46,48,43,44,49,62,83,89,98,158,194,187,165,147,165,115,107,108,108,108,108,107,107,106,106,107,107,108,108,108,108,108,108,109,110,109,108,109,110,109,109,108,108,108,108,108,110,108,107,108,106,108,108,107,108,106,106,104,103,104,104,103,103,102,102,102,103,102,102,103,101,102,101,100,98,99,99,97,96,96,95,95,95,94,95,93,93,92,90,89,91,89,89,88,88,87,87,87,85,83,84,85,86,83,83,83,83,83,82,212,214,212,231,255,227,163,190,166,154,151,146,145,130,108,107,106,110,114,117,118,118,119,122,128,131,131,131,132,133,134,135,137,137,136,136,137,137,138,137,138,140,141,141,140,140,141,140,142,143,143,144,144,144,119,99,100,97,94,93,91,90,87,82,78,77,74,71,67,65,64,65,65,68,71,71,73,74,74,75,75,75,77,77,80,79,80,81,82,81,83,82,82,84,85,85,85,85,87,87,87,86,87,86,88,88,88,88,90,90,89,89,89,89,90,62,50,98,154,181,185,199,194,193,122,44,123,177,96,47,58,83,73,52,64,75,101,148,143,127,96,76,73,61,57,52,43,60,61,46,43,52,52,51,78,84,109,169,189,152,142,168,119,106,108,107,107,109,107,106,107,107,108,108,108,108,108,108,111,109,109,109,109,110,110,109,108,108,108,108,110,109,107,109,108,109,109,108,107,106,107,108,108,106,105,105,105,106,104,103,104,104,105,104,103,102,101,101,102,102,102,101,100,99,99,98,97,98,95,96,96,96,93,94,94,95,92,92,92,91,90,91,90,88,88,87,85,85,85,86,86,87,86,83,84,84,229,230,232,245,255,204,168,191,159,157,148,146,146,123,108,110,111,114,116,120,121,120,121,128,135,140,141,141,141,141,142,142,143,144,144,144,146,145,144,144,145,146,144,145,144,145,146,145,147,147,147,147,147,144,114,100,99,97,96,95,91,89,88,85,78,76,75,70,67,66,65,66,67,69,71,71,73,73,73,75,76,77,78,78,80,81,82,83,83,83,83,84,82,84,84,85,86,85,85,87,87,85,86,88,89,88,90,91,90,91,90,90,89,89,90,66,64,105,159,182,191,203,188,168,83,88,147,163,117,74,80,91,68,56,64,79,125,150,144,128,100,82,69,64,57,49,47,77,75,49,47,63,86,51,53,79,86,125,182,154,123,168,132,105,109,109,109,108,109,108,109,109,109,109,108,108,108,110,112,110,110,112,110,110,110,109,110,110,109,109,110,109,109,108,110,109,109,110,108,108,108,108,108,107,106,107,106,106,105,103,103,104,105,104,104,104,102,102,102,102,101,102,100,99,99,98,98,96,96,97,96,97,94,93,93,94,92,93,91,90,91,90,90,90,89,88,87,87,87,86,84,85,85,85,84,84,243,244,247,253,254,181,181,186,155,156,145,145,142,116,108,110,114,116,117,119,121,124,129,136,145,153,152,151,152,151,151,149,149,153,154,154,154,153,151,150,149,149,150,150,149,145,148,151,151,152,152,151,150,146,107,104,102,99,97,95,91,88,87,85,80,77,74,72,69,67,66,68,70,69,71,73,74,74,74,76,76,77,78,79,80,81,81,82,83,83,83,84,84,83,85,85,85,85,87,87,87,87,87,88,91,91,91,91,92,92,90,91,90,90,93,65,71,115,160,182,185,194,177,132,115,174,140,117,107,98,87,80,72,65,67,116,151,148,137,113,90,99,130,80,58,49,51,70,85,63,65,91,93,56,42,68,77,103,160,165,106,161,144,106,111,112,110,111,111,111,111,111,111,110,111,111,112,111,113,113,111,115,112,112,111,110,111,110,111,111,110,110,110,111,111,111,111,110,110,110,109,109,110,109,108,108,107,108,108,105,106,104,103,102,104,105,104,102,102,103,103,101,101,101,99,100,100,97,96,97,96,97,96,94,94,95,93,93,93,93,92,93,92,90,88,87,87,86,85,87,86,86,86,85,86,84,243,244,249,255,234,165,192,174,155,154,146,147,138,111,107,109,114,118,119,122,124,127,134,144,157,161,163,163,162,163,163,159,157,159,160,160,158,157,155,154,153,154,154,154,153,153,155,155,155,155,151,149,152,143,105,104,101,99,97,96,90,88,86,84,78,77,75,71,69,67,68,68,69,71,72,73,74,75,75,75,79,78,77,79,83,82,82,83,83,83,84,84,83,84,86,86,85,86,88,87,86,87,88,89,91,92,93,92,93,91,91,91,92,92,94,70,76,121,159,182,183,178,150,140,169,169,147,129,115,103,93,86,83,80,114,146,150,151,138,110,92,83,153,151,65,55,56,61,68,77,77,79,73,63,44,53,74,89,123,169,110,148,160,113,114,111,112,112,113,113,113,113,112,114,115,113,115,117,113,115,115,114,115,113,113,113,111,112,113,114,113,111,111,113,113,112,111,112,113,112,113,113,111,112,113,110,111,111,110,110,106,105,105,104,105,106,106,103,104,103,102,103,103,101,101,100,99,98,99,100,99,97,96,97,95,94,95,94,96,94,91,94,91,92,91,88,87,87,87,86,85,85,86,85,86,86,246,247,251,255,213,169,196,164,157,152,146,148,130,107,111,111,114,119,122,123,125,128,136,153,160,162,169,171,171,171,171,169,164,164,165,163,159,158,159,158,158,156,157,159,159,158,159,159,158,156,153,153,157,136,103,104,101,99,96,94,94,89,88,84,78,76,75,72,68,67,67,69,71,71,73,73,74,75,75,77,78,77,79,79,81,83,83,85,85,84,85,86,85,85,88,87,88,90,89,90,89,89,91,92,92,93,93,92,92,92,93,94,94,95,96,77,82,116,156,178,175,150,127,147,184,166,143,130,120,104,94,87,93,121,140,144,160,176,153,111,96,91,79,105,82,63,61,67,71,78,83,80,78,76,57,45,67,83,100,162,119,147,149,113,115,114,113,114,115,115,117,117,114,115,116,115,116,116,117,118,116,
868115,116,114,115,116,115,117,116,114,114,114,114,116,115,117,115,114,114,114,115,114,114,111,113,114,112,113,111,111,107,106,107,105,106,108,107,107,107,106,104,102,103,101,101,101,100,101,100,99,100,98,97,96,99,96,97,95,95,93,92,93,93,93,92,88,89,89,87,87,85,85,85,87,86,85,234,242,253,255,190,185,192,159,157,149,146,145,119,106,110,112,114,118,120,124,126,130,143,157,161,165,167,169,173,174,174,174,172,167,165,162,160,160,162,162,161,161,161,160,160,162,162,162,161,159,158,158,159,126,102,105,101,99,98,95,92,91,89,86,78,75,73,71,68,67,68,70,71,72,72,75,75,75,76,77,78,79,81,83,83,83,84,85,87,87,87,86,87,88,88,88,90,90,91,91,92,92,91,92,95,95,95,95,95,94,94,95,96,96,98,83,91,117,160,174,154,134,125,142,180,163,142,131,112,99,95,102,119,135,139,152,179,167,141,108,89,88,73,70,79,71,65,68,75,79,83,87,85,84,78,57,61,78,100,157,122,147,141,111,116,116,115,115,115,116,118,119,119,118,118,119,120,118,117,119,120,120,119,117,117,119,120,120,120,117,117,117,118,118,119,120,118,118,118,116,115,116,116,116,114,115,113,114,113,111,113,112,110,109,111,110,109,109,108,107,108,105,105,105,103,103,103,101,102,101,102,100,98,98,99,97,96,100,99,95,94,95,96,93,93,92,90,88,87,88,88,87,87,88,87,86,225,241,255,243,177,198,186,158,156,149,149,140,111,107,110,112,116,120,122,127,128,131,148,159,163,164,167,171,174,174,172,173,174,170,167,167,168,166,164,165,165,167,166,163,162,162,162,163,163,161,160,
868160,159,120,104,103,103,101,99,96,93,91,89,87,81,75,76,72,68,69,69,70,72,73,74,74,75,77,77,78,79,80,81,82,85,85,84,86,86,86,87,87,88,88,88,90,91,92,92,92,93,92,93,93,94,96,95,97,96,98,97,96,98,99,98,90,102,121,168,174,145,131,130,131,141,137,127,114,102,102,111,117,124,128,135,165,170,124,115,111,85,75,71,75,74,73,71,68,69,77,81,84,83,83,87,81,75,80,104,155,141,134,130,114,119,119,119,120,119,119,119,120,120,121,120,120,122,122,121,122,124,124,122,121,123,122,122,122,121,121,120,121,121,121,121,121,119,121,120,119,119,119,119,119,119,118,117,116,117,115,115,115,114,112,113,112,112,112,111,110,108,107,109,108,107,106,104,104,106,105,104,102,100,99,100,98,98,99,100,97,96,95,95,94,93,93,90,90,88,88,88,87,88,87,87,87,254,254,255,223,178,209,178,158,152,149,150,134,107,109,113,115,118,121,124,126,132,138,153,161,165,167,171,175,179,179,177,175,175,174,173,171,172,172,168,166,169,170,167,166,165,164,164,165,166,165,163,163,161,114,105,103,102,101,99,95,91,91,89,87,83,76,76,73,69,70,71,71,73,74,76,76,75,77,78,79,79,81,82,83,86,85,86,87,87,87,88,89,89,88,91,91,91,92,92,93,95,94,93,95,96,97,97,96,96,98,99,98,98,98,98,94,109,129,180,175,147,136,133,129,126,120,113,105,105,113,117,115,115,105,126,177,127,44,17,108,96,69,48,45,74,74,76,72,67,72,73,75,83,117,152,181,191,168,145,165,153,137,133,119,121,122,123,124,123,122,122,124,124,121,123,123,123,127,127,125,126,126,125,125,126,124,124,125,124,125,125,124,125,125,124,123,124,124,125,125,122,123,122,122,121,122,121,121,121,117,116,116,117,115,114,113,112,113,112,112,111,109,111,111,109,108,108,107,106,108,108,104,100,101,101,101,101,99,99,98,98,96,97,96,95,94,92,92,91,90,89,90,89,88,88,88,254,254,255,198,190,208,167,161,151,150,147,124,105,110,114,118,120,121,125,127,132,139,155,163,167,169,173,178,180,179,178,175,175,177,174,169,170,171,171,172,173,173,172,169,168,168,168,169,169,167,164,165,155,108,104,103,103,102,99,93,91,91,87,86,82,78,75,73,70,70,71,72,73,74,75,76,76,77,79,80,80,82,84,85,86,86,87,88,88,89,90,89,89,91,92,92,93,93,93,95,95,94,95,97,96,96,97,96,97,98,98,100,99,98,98,100,113,132,188,176,148,142,140,137,131,121,114,115,116,115,113,107,100,85,134,163,66,0,42,131,94,61,12,13,62,72,75,73,72,74,72,74,79,117,189,241,255,241,180,166,161,142,136,123,124,124,125,125,127,128,127,126,128,130,130,128,128,129,130,131,127,126,129,131,130,129,129,127,126,127,129,128,128,127,128,128,126,125,125,126,127,127,126,127,126,123,123,123,122,119,119,119,120,120,118,116,116,115,114,115,115,112,111,112,111,110,112,110,108,109,109,107,105,103,103,101,101,100,100,100,100,99,99,97,97,97,98,96,93,93,91,90,90,89,89,89,254,255,249,184,205,202,163,158,150,149,143,116,108,112,113,117,122,126,128,130,131,144,159,164,169,173,176,179,179,179,178,177,177,176,173,171,171,170,172,175,174,174,174,173,171,171,171,171,171,168,164,167,147,106,108,105,104,101,96,93,96,94,87,85,81,80,76,72,71,69,70,73,74,75,75,76,77,79,79,81,82,84,84,87,88,86,87,90,89,89,89,90,90,92,92,93,93,95,96,95,97,96,96,96,97,99,99,99,100,99,99,99,101,102,100,104,109,134,192,175,156,152,153,144,132,127,123,122,117,111,106,98,90,75,132,133,51,20,108,123,86,64,24,16,55,70,68,75,74,76,82,78,75,75,100,156,187,200,198,172,169,150,135,126,129,128,128,130,128,129,130,131,131,131,130,132,133,130,131,132,132,132,134,133,133,134,133,133,132,131,132,134,133,132,132,131,132,130,130,129,131,132,129,128,130,128,126,124,125,126,123,121,122,121,120,121,121,119,115,119,118,116,115,116,114,117,114,111,111,110,110,109,106,105,104,105,102,103,101,102,100,102,101,100,99,97,97,97,95,95,93,93,91,89,90,89,254,255,230,182,223,194,162,157,152,149,137,111,110,111,113,117,121,126,128,129,136,151,161,165,172,175,178,178,177,178,176,176,174,174,173,173,174,174,175,173,172,172,172,172,172,171,172,171,169,167,165,169,140,103,108,106,104,101,99,96,95,91,89,86,82,78,75,72,70,70,72,74,75,76,76,78,78,80,79,81,83,86,86,87,89,87,90,92,91,92,92,92,93,93,93,94,94,96,96,96,97,96,98,98,98,99,99,100,100,99,100,102,102,101,102,103,112,142,192,174,167,166,159,143,136,135,136,113,108,109,99,89,85,73,112,114,67,100,122,116,88,65,54,40,59,62,57,74,76,78,90,94,81,77,76,83,112,149,181,182,168,145,130,130,130,132,132,132,132,133,134,135,134,134,134,134,135,134,135,136,137,136,135,136,137,137,138,137,140,138,135,135,135,134,136,135,135,134,135,135,133,134,134,132,132,131,128,127,127,128,126,126,123,125,124,122,123,120,121,119,119,119,118,118,119,116,115,116,114,112,110,110,110,109,108,108,109,106,105,105,104,104,103,102,101,99,97,98,97,96,96,96,93,93,92,90,254,255,208,200,237,186,161,155,151,149,129,109,109,112,115,117,121,124,128,132,138,153,162,168,174,178,178,177,178,180,182,181,178,177,176,175,175,178,175,172,172,172,172,172,172,172,172,171,170,170,168,170,132,103,107,106,102,100,99,97,94,91,90,85,83,79,74,73,70,72,74,76,76,76,76,78,80,81,82,84,85,87,88,88,89,89,90,92,94,93,91,93,96,96,96,95,96,96,97,97,97,98,99,100,99,100,101,101,101,101,103,103,103,102,101,110,122,150,191,176,176,170,159,147,142,141,142,119,115,108,96,86,80,79,89,89,83,118,119,105,82,60,48,47,51,49,57,71,78,79,83,92,90,80,78,79,83,106,148,175,171,140,129,133,135,135,135,135,134,135,135,136,137,139,140,139,138,139,141,141,139,140,139,140,141,140,141,141,140,142,138,137,136,136,137,138,136,136,136,138,136,135,138,137,136,135,131,128,128,131,132,129,127,127,130,129,127,124,123,123,121,121,120,120,119,119,119,120,117,114,112,112,111,112,111,110,111,110,109,104,105,106,104,103,103,102,99,98,97,95,96,95,96,96,95,91,255,253,189,227,238,176,162,154,151,148,122,109,112,116,116,121,12
8681,124,131,133,140,155,164,171,177,180,182,185,186,186,183,181,182,182,180,178,178,177,172,171,171,172,172,174,175,175,173,172,171,172,170,169,120,105,107,106,103,100,97,95,95,91,89,84,84,80,76,73,71,73,75,76,76,76,78,79,81,82,83,84,84,87,90,88,89,89,91,91,94,93,95,95,97,97,98,97,97,97,98,97,99,100,100,100,100,101,101,101,103,103,103,104,104,108,159,163,146,165,190,181,175,167,159,149,146,144,137,129,117,106,93,83,78,80,85,90,100,114,103,81,70,61,46,35,40,51,63,72,79,80,80,82,84,83,78,80,77,80,106,157,173,160,144,133,135,137,137,137,138,137,138,140,140,141,140,141,141,141,140,141,141,142,143,143,141,141,143,144,144,143,141,140,143,142,143,141,140,138,138,139,137,136,137,138,136,136,133,132,133,132,133,131,130,130,130,132,130,129,127,126,126,123,123,123,121,123,124,120,118,116,117,116,115,114,114,113,112,112,111,111,108,107,104,104,101,101,101,99,100,99,97,97,95,96,95,94,255,237,188,253,226,170,162,153,152,144,116,111,115,117,118,122,124,127,131,133,146,162,170,176,180,183,188,190,190,189,183,180,181,180,179,179,178,175,173,176,176,175,177,179,178,176,172,171,172,174,175,168,113,107,107,105,103,101,97,94,95,91,88,86,82,78,76,74,74,74,75,75,75,77,80,81,84,84,84,85,87,88,89,89,91,93,92,93,94,94,95,96,98,98,99,97,98,100,101,99,100,100,100,99,101,103,103,102,103,103,106,108,101,132,150,151,185,184,188,181,173,167,160,154,152,144,137,129,114,102,91,84,82,91,103,106,100,93,83,71,63,62,58,45,41,54,65,70,79,82,81,82,83,82,83,80,78,77,87,127,165,176,162,135,138,137,139,140,140,140,142,142,145,144,143,143,144,143,145,143,145,144,144,144,144,145,145,145,146,142,143,142,143,145,145,143,143,144,144,143,141,138,139,140,140,139,139,139,138,136,137,136,133,133,133,132,133,132,129,131,128,127,126,125,125,124,124,123,123,121,118,118,118,118,114,115,115,113,112,111,110,109,107,107,106,105,104,104,101,101,100,100,96,96,95,94,255,216,206,255,215,171,160,155,152,135,111,112,115,118,121,123,127,129,129,137,152,165,172,177,180,186,188,189,190,190,188,183,180,179,181,181,178,177,178,179,179,180,182,181,178,175,173,174,176,175,179,161,109,108,107,105,103,100,99,98,95,93,90,88,83,79,75,74,73,74,75,77,76,77,81,82,85,85,86,87,89,87,89,90,92,93,93,94,95,97,95,97,97,98,100,101,100,100,101,101,101,100,99,102,102,104,104,104,104,104,104,105,102,133,94,94,191,180,186,177,171,168,162,157,154,146,136,126,112,99,85,85,96,107,109,99,92,85,74,63,67,71,62,48,42,46,56,65,74,80,79,81,81,81,81,82,83,77,80,110,155,112,114,138,138,139,140,140,142,143,144,142,147,146,145,144,144,143,144,145,145,147,148,146,149,148,147,147,149,146,145,146,146,146,145,144,145,147,144,142,141,142,141,142,142,141,141,140,140,142,140,136,137,136,133,133,133,132,133,130,131,129,128,129,128,126,125,124,124,124,121,120,119,120,117,118,116,113,113,113,111,110,110,109,108,106,105,104,103,101,101,100,98,99,96,93,255,203,233,255,203,170,159,155,150,129,111,114,115,119,122,125,127,130,132,141,157,166,172,178,182,186,187,189,192,192,188,185,187,186,184,180,180,180,180,179,180,182,182,180,179,179,179,179,178,177,181,149,105,109,107,105,101,100,100,99,97,96,90,88,83,80,76,74,76,76,76,77,78,80,82,85,86,87,88,88,88,89,91,92,93,93,95,96,98,98,97,96,99,101,100,101,100,101,101,102,102,102,103,103,104,104,103,104,104,105,106,108,104,128,100,104,178,166,187,173,171,167,166,160,154,145,132,122,111,99,94,102,105,105,99,93,90,87,78,61,63,68,69,53,46,42,45,54,62,73,79,80,82,80,80,80,83,81,78,104,148,102,113,141,140,140,143,143,143,144,144,144,146,147,148,149,150,147,148,148,146,148,150,151,149,150,150,149,150,150,150,150,151,148,148,147,148,148,149,148,146,143,147,144,142,142,142,144,143,142,140,139,138,136,134,134,133,133,133,133,132,131,131,130,129,127,126,126,124,121,121,120,121,120,119,116,116,117,116,114,114,113,110,109,109,108,108,106,105,105,101,101,99,98,97,94,246,204,255,248,195,167,158,153,147,122,111,115,118,121,121,125,128,131,134,144,160,169,175,182,185,183,185,190,195,192,188,189,190,190,184,181,183,182,182,183,184,186,184,181,180,179,180,180,180,177,181,140,105,109,107,106,102,100,99,97,95,95,88,87,84,83,80,75,76,77,79,80,82,83,85,86,87,88,87,89,90,92,91,92,95,93,95,96,98,97,97,98,101,101,100,100,100,101,101,102,102,105,105,104,104,105,105,104,104,107,108,109,105,131,98,104,146,164,185,172,171,165,166,162,154,144,130,118,108,103,107,99,99,98,92,96,102,96,90,75,70,72,70,62,56,54,47,45,49,58,74,81,81,81,81,84,84,85,79,101,146,106,123,143,142,142,144,145,144,143,146,147,145,148,151,150,152,154,152,152,152,150,151,153,152,153,152,150,152,152,153,151,150,150,148,151,151,150,149,149,149,147,149,148,145,145,146,146,144,143,143,142,139,136,136,135,133,136,136,136,133,131,131,131,131,129,128,129,125,123,122,121,123,123,123,119,116,117,117,114,115,115,114,109,109,110,109,108,106,107,105,100,98,98,98,96,227,218,255,236,184,165,158,153,143,118,114,116,117,123,123,124,130,131,136,151,165,173,180,184,185,184,186,191,192,190,192,193,192,189,185,184,186,185,187,186,185,186,183,180,179,179,179,180,180,178,180,128,107,110,107,105,105,102,101,98,96,95,92,88,83,82,80,76,77,79,80,80,83,83,83,85,87,87,87,89,90,91,91,93,97,97,94,98,99,99,99,100,99,100,101,101,102,102,103,103,104,106,104,105,105,105,105,105,107,108,109,110,108,133,96,116,143,173,183,174,175,165,163,161,153,141,131,118,104,107,108,88,90,98,109,116,95,79,78,75,71,67,64,58,59,60,55,46,49,48,60,78,80,80,83,89,89,89,83,103,145,104,122,144,143,145,149,148,146,148,150,150,149,151,152,151,150,153,153,153,153,153,154,154,154,155,156,153,151,153,152,153,153,150,151,153,154,152,149,150,149,150,151,153,152,151,148,146,147,144,144,143,143,144,140,139,138,139,139,139,136,133,131,130,132,130,130,130,128,130,128,124,124,123,122,123,121,119,118,118,115,114,115,114,111,111,110,111,109,106,108,104,101,101,100,99,216,238,255,219,179,162,157,153,135,115,114,116,119,123,125,126,130,131,141,157,170,176,180,186,190,192,196,196,197,198,195,193,192,190,188,188,188,186,187,187,186,184,181,180,179,179,179,179,179,177,176,121,109,110,108,106,103,102,101,99,97,94,90,88,84,82,80,78,78,78,80,81,83,83,85,86,87,87,89,90,92,92,96,96,98,98,100,99,99,100,101,100,101,101,103,104,102,103,103,104,105,106,106,105,106,108,106,107,108,109,110,110,110,131,103,131,132,176,183,170,171,162,160,158,151,139,134,118,104,106,94,74,80,108,107,76,74,69,61,50,43,44,50,51,50,55,58,55,55,51,52,72,79,79,84,90,93,89,88,108,145,107,120,145,144,148,149,149,152,152,151,153,152,153,154,154,153,156,156,156,154,156,157,156,156,156,156,157,154,155,155,155,153,153,153,154,153,153,154,154,154,154,154,154,152,152,152,149,148,146,143,143,143,145,146,145,144,143,140,138,138,138,137,134,134,133,133,133,130,131,131,128,128,127,126,122,122,122,121,119,117,115,117,115,115,112,112,110,111,109,108,109,105,102,103,100,217,255,254,210,175,161,156,152,126,114,117,119,122,126,127,129,133,135,146,161,172,178,185,194,198,201,199,199,202,200,193,189,187,190,190,189,188,189,188,189,188,185,185,182,180,179,179,181,179,178,166,115,112,110,109,108,103,102,100,99,98,96,92,88,84,83,80,77,77,79,81,83,84,84,85,86,88,87,89,91,91,93,93,96,99,98,100,100,100,100,102,101,102,102,101,103,104,104,104,104,105,105,107,108,106,108,110,111,109,109,111,111,109,128,130,108,105,177,182,169,164,162,162,157,149,139,134,118,102,97,77,61,70,83,66,82,104,95,80,70,64,63,57,51,44,41,49,56,57,52,47,60,75,77,79,90,97,89,91,115,139,110,123,147,147,149,150,150,151,152,151,153,153,155,156,155,157,157,157,157,158,158,158,157,157,157,156,156,157,156,156,157,157,155,156,155,154,155,156,155,155,156,157,155,154,152,153,153,149,149,147,148,144,146,146,145,143,143,143,141,140,139,138,137,135,135,138,136,132,131,133,133,131,128,126,124,124,122,121,119,119,118,117,116,117,113,113,112,111,110,107,107,106,106,105,103,233,255,246,201,171,160,155,147,121,114,116,119,123,127,128,132,134,136,149,166,176,185,195,198,202,205,198,196,198,198,192,187,186,190,190,190,190,189,191,190,188,186,185,184,182,182,181,182,180,180,155,109,113,109,109,107,104,102,100,99,99,97,91,87,84,82,80,77,78,80,82,84,85,84,85,87,88,89,90,92,92,93,95,99,99,98,101,101,101,99,102,102,103,103,103,104,104,105,105,105,106,106,106,107,107,109,110,111,110,111,113,113,113,116,154,104,112,175,182,173,168,164,162,158,149,142,137,113,87,74,64,42,40,65,107,132,119,103,84,77,77,73,67,61,58,46,37,38,42,50,52,54,70,76,78,88,97,95,94,122,133,107,141,147,150,150,150,152,152,153,153,153,155,155,156,157,157,158,158,158,159,159,159,158,158,158,157,156,158,159,158,157,158,158,155,156,157,157,158,157,156,157,157,157,155,154,153,154,153,153,151,149,149,148,147,146,143,143,145,145,141,139,138,136,137,137,137,135,133,132,133,134,134,130,129,126,124,124,123,120,120,120,119,116,116,117,115,113,111,110,111,108,105,106,106,102,250,255,237,192,168,160,155,142,118,116,
868116,119,123,126,128,132,135,138,157,172,180,189,194,200,208,205,200,198,200,202,194,187,188,193,189,190,190,191,192,192,189,188,185,181,183,186,183,183,183,184,144,108,113,110,109,106,105,101,100,99,98,95,93,89,83,83,80,78,81,82,83,84,84,85,87,88,88,89,91,92,93,95,97,99,100,99,101,100,100,101,102,102,102,103,104,104,105,105,106,108,107,106,106,107,110,111,110,110,111,112,112,115,115,110,143,160,144,167,179,169,170,168,158,156,150,143,137,108,76,65,60,69,101,133,141,125,108,93,76,67,64,61,64,66,64,60,53,39,36,50,57,54,69,75,75,81,93,98,97,127,133,134,158,148,150,151,153,152,153,154,156,157,158,158,157,158,159,159,160,159,159,159,160,159,159,159,159,160,160,161,160,158,158,158,158,157,158,158,159,159,160,159,156,158,156,156,154,154,154,153,153,152,155,151,150,150,149,146,146,148,144,142,138,139,139,138,137,136,136,137,135,133,133,132,130,128,127,125,123,122,122,120,120,118,118,117,115,114,113,112,112,109,107,108,106,105,254,255,227,185,167,159,153,133,116,117,117,120,122,127,129,131,134,142,164,175,182,191,197,206,209,206,205,205,206,203,193,188,191,197,193,190,193,192,188,188,187,188,186,179,182,186,186,184,184,187,137,109,112,108,108,106,104,101,100,100,97,94,93,89,85,83,80,79,82,83,84,84,86,86,86,88,90,91,90,93,96,98,98,99,99,100,101,100,102,103,101,102,104,105,105,104,104,106,105,107,108,108,108,109,109,111,111,111,112,113,112,114,114,112,133,165,137,160,180,170,173,174,158,157,151,142,131,108,85,70,81,108,125,127,124,113,99,84,67,51,47,47,49,56,56,60,64,58,53,56,57,58,72,71,76,84,86,94,105,124,143,204,163,149,153,154,154,154,155,156,156,157,158,159,159,160,160,161,161,160,161,160,160,162,161,159,159,161,160,
868161,160,161,161,160,159,159,160,160,161,162,162,161,158,158,158,157,155,155,155,155,154,154,153,153,152,150,151,150,148,146,148,147,141,139,139,137,138,137,138,138,137,132,131,133,130,132,130,128,126,124,123,121,121,119,119,117,119,118,113,110,111,111,110,109,106,106,255,253,213,178,165,158,152,125,116,116,120,122,122,127,131,132,133,148,169,175,185,196,201,208,206,200,199,206,208,205,198,193,194,200,201,198,196,189,187,187,187,186,186,182,181,183,185,186,186,184,127,110,111,108,106,105,105,103,99,98,97,94,91,90,86,82,80,82,83,82,84,84,84,87,87,87,90,91,92,95,96,98,99,100,101,101,102,101,103,103,102,103,105,104,104,105,105,106,107,108,109,108,110,110,111,113,113,113,114,113,114,115,115,113,144,162,124,145,182,176,181,176,160,154,153,142,125,107,89,85,102,117,121,119,115,106,96,82,67,51,43,41,48,63,62,62,64,63,62,59,59,65,75,73,75,79,83,86,104,126,136,184,172,153,156,155,154,154,156,157,157,158,159,159,159,159,161,161,162,161,160,161,160,160,161,162,161,163,163,162,161,162,160,161,160,160,163,163,164,163,161,164,163,159,158,158,157,156,157,156,154,153,153,154,153,152,151,150,149,149,149,146,146,143,142,142,141,139,138,137,136,137,134,132,131,132,131,131,131,127,123,123,123,121,119,119,118,117,116,112,111,113,110,109,108,107,255,247,201,170,160,158,148,121,116,117,122,123,127,130,131,133,137,153,171,179,187,196,200,200,201,211,212,213,207,208,207,201,200,200,200,196,191,190,190,189,187,187,188,188,188,187,187,188,188,177,118,112,111,108,108,107,106,103,99,97,97,95,92,90,88,83,82,82,81,83,84,84,85,87,88,89,91,91,91,94,95,96,99,100,100,100,101,102,103,103,104,104,105,106,107,106,106,107,107,109,109,110,111,112,113,113,113,113,113,114,116,116,117,113,142,149,102,137,183,182,183,174,162,151,151,141,126,108,91,97,112,120,119,114,107,100,93,82,63,49,45,49,58,68,69,66,65,65,64,65,65,65,73,75,73,71,82,90,102,124,129,166,181,152,154,156,156,155,157,158,158,158,159,160,160,160,162,161,162,163,163,161,162,161,161,162,164,163,162,162,162,163,162,163,164,161,161,162,163,162,163,162,163,162,159,160,158,157,156,156,155,154,153,153,152,153,153,151,151,151,150,147,147,148,146,145,144,141,139,138,137,137,136,134,133,132,131,131,130,129,127,125,125,122,123,123,120,117,118,116,115,116,114,109,107,107,255,238,190,166,159,158,140,116,115,118,123,124,129,131,133,135,141,157,173,186,191,194,199,200,214,224,220,209,201,206,207,205,201,199,199,197,194,193,193,188,187,187,188,190,191,193,193,190,188,165,113,113,111,109,107,108,106,101,100,98,97,93,92,88,86,82,81,82,82,83,84,84,87,88,89,91,91,90,92,94,97,97,99,100,101,102,101,102,102,104,105,105,105,106,106,107,108,107,106,108,108,110,111,112,112,113,113,114,114,115,115,117,118,117,117,118,112,142,186,185,183,175,164,151,147,143,129,108,97,104,113,120,117,111,105,93,88,84,73,67,65,56,56,64,69,68,65,65,63,65,64,65,73,76,73,71,74,89,102,121,122,110,149,155,154,156,156,157,158,158,160,161,158,159,161,163,163,164,163,164,166,163,164,164,164,164,165,165,164,164,164,165,165,164,165,164,163,162,163,164,164,163,164,162,161,160,159,159,157,157,157,157,155,151,151,152,153,152,151,152,151,149,149,147,147,145,147,145,141,140,139,137,138,137,136,133,131,132,132,129,130,127,125,125,124,124,122,119,120,118,118,117,113,111,108,107,254,225,178,164,160,156,133,116,117,120,123,126,129,131,134,135,140,157,173,185,191,195,200,206,217,216,207,204,205,204,202,205,209,207,204,204,203,200,192,189,190,191,191,191,190,193,193,188,190,155,109,114,112,110,108,105,103,103,102,99,97,94,93,88,85,83,81,83,83,82,85,85,85,88,89,91,91,91,93,95,97,97,99,100,102,102,103,103,103,105,106,105,106,106,107,106,107,108,107,110,111,111,112,112,113,113,113,113,115,115,116,117,117,118,119,122,119,138,184,185,183,175,167,151,147,144,131,108,102,107,116,121,116,113,108,101,102,103,94,85,74,62,55,57,62,64,63,63,62,62,63,64,75,75,71,72,72,82,100,115,125,108,134,157,155,157,157,158,159,159,159,161,162,162,162,163,165,165,165,166,166,165,167,165,165,165,166,167,166,166,166,167,165,165,165,165,166,165,166,166,166,164,164,163,162,160,160,159,158,158,158,157,157,154,154,154,154,153,152,151,151,150,151,148,147,147,146,146,147,146,144,141,140,138,136,136,133,134,133,132,130,130,129,128,126,125,124,122,122,120,117,115,113,113,110,110,250,206,169,162,159,152,125,116,118,120,121,127,127,131,134,136,142,161,174,184,193,193,200,211,208,202,198,201,197,200,203,203,206,208,204,202,205,204,197,192,194,195,189,188,189,191,190,185,189,144,110,114,113,111,108,105,103,103,101,99,95,94,92,88,86,83,82,84,83,84,85,86,86,88,90,90,92,94,95,95,97,98,100,101,102,104,104,104,104,105,106,107,107,106,107,107,107,108,104,109,111,112,110,112,113,114,114,115,115,115,116,118,118,118,119,123,121,132,180,182,181,174,164,150,148,143,129,114,111,109,112,117,124,125,115,108,107,102,88,79,73,65,60,56,55,59,61,62,62,62,64,65,70,72,71,72,71,81,98,108,136,154,155,156,156,158,157,158,159,159,161,162,163,163,164,164,165,166,165,167,167,167,168,167,166,168,167,168,168,168,167,167,169,167,169,168,167,166,165,165,165,164,163,162,163,163,162,162,159,159,159,159,158,156,155,156,155,155,154,152,152,152,153,151,149,149,147,148,148,146,142,142,142,140,139,137,136,135,135,133,130,130,129,128,127,128,125,125,123,122,122,119,115,113,114,112,243,191,165,160,158,145,120,116,117,120,124,126,128,132,133,135,149,168,177,187,198,204,212,211,209,208,206,214,209,208,203,201,202,205,198,194,194,202,205,197,191,193,191,186,188,188,185,183,186,132,111,114,113,109,108,106,103,103,100,98,94,92,93,87,85,81,81,83,85,84,85,86,88,89,90,91,92,93,96,9
8686,96,98,101,102,103,104,105,105,105,105,107,106,106,107,108,107,108,108,100,109,112,111,113,115,115,115,115,115,116,117,118,118,119,120,123,124,124,126,173,181,176,170,159,152,147,138,127,118,117,112,111,120,135,133,124,111,103,94,82,78,75,67,64,59,53,55,59,60,61,63,64,64,67,72,69,69,70,80,92,103,134,153,155,157,158,157,157,159,161,160,161,163,163,162,165,166,165,165,166,167,167,167,167,169,169,168,168,169,169,168,168,169,170,170,170,167,167,167,166,166,165,165,165,164,163,162,162,162,160,161,161,160,158,159,158,156,157,156,156,155,152,154,153,153,151,150,148,148,149,146,144,143,142,141,140,140,138,138,136,132,133,132,133,131,129,128,126,125,122,122,122,121,117,115,113,110,227,180,164,159,157,138,118,118,118,121,125,127,130,132,132,136,156,175,183,191,201,207,220,213,209,214,218,222,214,206,207,209,207,204,199,195,195,201,206,201,191,186,187,187,188,187,183,187,181,123,113,114,111,110,109,105,103,101,101,98,95,91,93,87,85,83,82,82,84,85,86,87,87,89,89,91,91,93,94,96,99,100,100,102,102,103,105,104,104,105,106,106,107,107,106,108,108,107,101,111,111,112,109,93,102,114,115,114,117,118,118,119,120,121,124,125,126,122,165,181,173,166,158,150,145,134,127,127,125,121,128,134,142,134,124,117,104,91,80,72,70,67,62,60,53,50,56,61,60,62,64,64,67,72,70,68,69,78,88,96,135,156,157,157,158,159,160,160,162,162,163,163,164,164,165,167,167,167,166,167,167,167,168,168,168,168,168,170,170,169,169,170,170,170,169,170,169,166,168,166,166,167,166,163,165,164,163,162,161,162,163,160,159,158,158,160,159,157,157,157,154,153,153,152,151,151,149,150,149,148,147,145,144,143,141,142,139,139,138,135,133,133,134,132,131,129,129,125,125,123,122,120,117,115,112,113,209,170,161,159,155,130,118,119,122,123,125,127,130,130,133,142,161,177,185,196,201,199,206,208,214,219,223,221,209,211,219,215,211,204,201,202,207,198,197,193,187,186,188,190,188,187,186,191,172,114,114,114,110,110,108,105,102,100,100,98,94,92,92,88,85,83,82,83,84,84,86,87,88,89,89,90,92,94,96,96,98,99,101,101,102,104,103,104,106,105,106,107,107,107,107,108,108,99,95,110,109,106,86,66,103,114,115,116,117,118,119,121,122,123,123,124,128,122,153,180,165,163,154,147,145,132,129,131,130,132,142,147,144,139,128,118,100,83,75,64,63,63,62,58,50,45,50,59,60,59,63,65,68,69,68,67,70,77,82,90,137,157,158,158,159,159,160,161,162,163,164,164,163,164,166,167,167,168,168,169,168,169,169,168,167,169,170,171,171,170,170,170,171,170,170,170,171,170,168,169,166,167,166,165,165,165,164,162,162,162,162,162,160,159,159,160,159,157,158,159,157,155,152,154,152,153,153,151,149,150,148,147,145,143,144,144,142,142,141,139,134,135,134,131,132,132,129,128,127,124,122,122,118,118,116,
868114,195,165,160,158,149,125,119,120,122,124,125,127,128,132,138,146,164,179,185,197,204,201,206,219,226,226,223,213,202,207,206,205,206,197,205,210,209,206,196,191,190,189,193,192,189,190,192,199,160,111,114,114,112,110,109,104,101,100,99,98,96,92,89,88,87,83,84,83,85,86,86,86,87,88,91,93,94,94,95,95,99,101,102,101,102,104,104,105,106,105,107,107,107,108,107,108,107,77,89,109,98,86,81,106,116,114,114,117,118,118,120,121,124,123,125,126,128,124,142,168,155,161,153,147,139,130,128,129,131,133,148,154,144,133,123,111,91,76,65,53,56,61,60,57,50,48,48,53,59,58,61,66,67,66,65,64,66,74,76,89,143,154,158,158,160,160,160,161,163,163,163,164,166,166,167,168,168,168,170,169,169,169,170,170,169,169,170,170,172,172,170,170,170,170,170,170,170,170,170,169,167,168,168,166,167,167,166,163,163,163,163,162,161,160,159,159,160,160,158,158,158,157,155,155,153,152,152,151,151,152,152,150,147,145,144,144,143,142,141,139,136,135,136,133,132,131,131,128,126,123,124,122,122,120,118,115,181,161,157,155,141,121,119,121,123,124,126,126,128,136,138,149,167,178,185,191,206,214,216,223,225,228,224,214,206,202,198,200,203,208,214,212,212,218,210,204,198,191,196,194,194,199,199,200,149,111,114,113,111,109,106,104,102,100,100,98,96,91,89,90,86,81,84,83,84,86,86,88,87,88,92,94,93,93,93,97,99,100,101,102,102,103,105,105,104,105,106,107,107,107,107,105,95,82,97,100,80,78,102,110,113,115,115,117,118,119,121,122,124,124,125,127,127,126,133,169,157,153,149,143,134,127,125,124,124,131,140,144,139,120,111,88,77,68,53,47,53,62,59,52,48,49,47,48,53,56,61,65,64,64,63,62,62,70,70,90,150,155,158,159,160,160,162,162,163,164,165,166,167,167,168,168,168,169,168,170,170,170,171,170,170,170,171,171,171,172,171,171,170,170,170,170,169,170,172,172,169,168,168,167,168,168,168,165,164,163,163,162,163,160,161,160,159,159,158,159,159,158,156,157,155,155,153,151,153,153,152,149,148,148,147,144,145,144,140,137,137,137,137,135,134,131,130,130,126,125,125,124,123,122,118,115,172,159,157,153,131,118,120,121,122,124,127,127,131,136,141,156,172,177,185,193,200,219,225,226,229,231,230,227,224,218,210,213,220,221,211,208,214,219,217,207,201,202,202,199,201,205,203,200,139,109,114,112,109,110,107,105,102,100,99,97,96,91,90,89,84,81,82,83,84,84,86,88,88,90,91,91,92,93,93,97,99,99,101,103,104,103,104,105,106,105,107,108,106,106,109,102,72,72,105,89,62,92,107,109,112,114,115,117,118,118,121,121,122,124,125,125,127,128,126,169,167,151,144,140,130,125,122,121,123,126,128,128,124,115,98,78,63,54,46,45,49,52,53,48,44,45,45,47,51,51,59,64,62,61,60,60,62,64,60,98,155,157,160,160,160,160,161,162,163,164,165,165,166,167,168,168,169,168,169,170,169,169,169,170,170,170,170,171,170,170,172,172,172,172,171,171,171,171,171,171,170,168,168,168,167,167,168,166,167,166,164,164,163,161,162,161,160,160,160,161,159,158,158,157,154,155,154,153,154,154,150,150,150,149,148,145,145,144,142,140,139,137,137,136,134,133,131,130,129,126,125,123,124,123,118,114,167,158,157,151,126,118,121,123,124,127,130,131,133,137,145,161,172,178,191,213,218,222,227,225,229,233,233,233,231,225,212,220,222,217,207,208,213,214,208,197,201,205,204,205,205,206,206,194,126,111,114,111,110,110,108,105,101,101,99,96,95,92,87,89,84,81,82,82,84,86,85,87,87,89,91,91,92,93,94,97,97,100,101,102,105,104,104,106,105,106,107,108,107,107,108,108,94,77,110,67,70,109,108,109,112,115,115,117,118,119,121,122,123,124,125,127,129,129,125,159,176,157,146,140,129,120,117,116,118,122,121,120,118,107,87,70,54,44,43,44,43,43,43,44,43,43,45,44,50,46,55,61,60,59,58,58,59,61,56,108,158,157,159,159,161,160,
868162,163,164,164,165,166,166,167,168,168,169,169,169,169,170,170,169,169,171,170,172,171,171,171,171,172,171,172,171,171,172,172,169,170,172,170,169,168,169,169,167,166,168,167,167,165,164,163,162,162,160,161,159,160,161,160,158,158,156,157,156,154,153,153,151,151,152,151,149,147,145,144,145,145,141,136,137,138,135,136,132,131,129,128,126,124,122,123,121,116,167,158,156,145,121,120,120,124,126,127,131,134,135,137,148,165,173,183,197,216,226,227,229,229,232,234,233,231,230,221,206,209,210,209,211,218,217,213,208,204,204,205,203,204,206,204,202,183,116,114,114,112,111,108,107,106,102,101,97,95,95,91,88,87,81,80,84,85,85,86,86,87,87,89,92,92,92,93,95,96,97,101,102,103,104,105,106,106,106,106,107,106,108,108,109,110,109,83,84,61,81,102,108,112,114,115,118,119,119,120,121,122,124,125,127,128,130,130,125,150,181,162,151,143,133,119,114,114,115,116,116,113,109,102,81,55,42,38,41,45,46,34,33,32,34,36,40,42,46,45,53,59,59,58,55,55,56,58,59,118,158,158,159,160,162,162,161,164,164,164,164,165,167,166,167,168,169,170,169,170,169,170,171,170,171,171,172,172,171,171,172,172,172,172,172,172,172,173,171,171,171,170,168,168,167,169,167,166,168,168,167,167,165,165,164,162,162,161,160,159,159,161,158,158,159,160,157,156,154,153,152,150,151,151,150,149,148,144,145,146,144,138,138,138,137,135,133,131,128,129,127,125,123,123,121,119,163,157,158,138,119,120,122,124,126,130,130,134,137,137,150,166,178,188,195,209,225,230,232,232,234,235,232,231,230,223,218,217,218,222,222,224,223,220,221,215,205,203,204,205,204,199,199,169,111,115,113,112,110,108,107,105,100,99,97,94,92,91,89,85,81,82,84,85,84,87,86,87,86,90,91,91,92,93,93,96,97,100,102,103,105,105,106,106,105,106,107,107,108,109,110,110,109,78,37,45,89,110,113,113,115,118,118,118,119,121,121,123,125,125,126,128,129,129,127,139,179,162,157,151,141,125,114,115,115,116,118,116,109,101,79,57,45,46,47,52,50,39,40,38,36,35,41,43,48,46,46,55,57,56,53,56,56,56,68,133,159,158,159,159,161,161,162,163,164,163,165,165,166,166,167,168,167,168,169,168,169,170,170,170,171,171,170,172,171,171,172,169,171,173,172,172,173,173,171,172,172,172,170,167,167,167,167,167,167,168,167,167,166,165,165,164,163,162,162,161,160,159,159,159,160,159,156,157,155,153,151,152,150,150,150,149,149,149,148,147,145,141,139,138,137,137,134,129,130,129,128,125,123,123,122,119,159,158,156,131,119,121,122,125,127,129,130,135,138,139,152,169,183,192,204,223,229,229,230,232,234,235,232,232,232,233,232,229,227,225,223,222,223,224,222,214,206,206,212,209,199,201,202,155,111,113,112,112,110,108,107,102,100,96,95,94,93,92,89,87,82,84,85,84,85,86,87,87,87,90,91,92,93,94,94,95,97,99,101,103,103,103,106,105,105,106,107,107,107,108,109,110,110,76,55,56,94,113,112,115,115,116,117,117,119,122,123,124,125,126,127,127,128,128,130,132,177,170,157,157,150,139,127,125,125,126,121,118,114,102,87,72,62,61,61,61,59,55,53,50,47,44,43,42,47,50,52,55,54,55,56,55,55,54,80,145,159,157,159,160,160,160,161,163,164,164,163,165,165,166,167,167,167,169,168,168,168,169,170,171,171,170,170,170,170,172,172,170,170,171,171,172,173,173,172,172,172,172,170,169,168,166,166,167,166,166,167,168,166,166,164,164,163,162,163,161,161,159,158,160,159,159,159,157,155,154,151,152,152,150,149,147,147,148,147,146,145,142,139,139,137,137,134,131,130,128,128,126,123,122,122,119,161,159,150,125,120,121,123,125,128,131,134,137,138,142,158,174,186,199,218,231,232,229,224,223,229,233,231,232,232,232,232,230,228,226,224,224,225,224,214,207,206,211,215,209,202,199,201,144,112,114,111,111,110,109,106,103,99,96,95,93,92,87,87,86,84,84,85,85,87,87,88,89,89,89,90,92,92,93,93,96,96,98,100,103,104,104,105,105,105,105,108,108,107,110,109,108,110,96,78,61,97,112,111,114,115,116,117,118,120,122,122,125,126,126,127,128,128,128,132,130,174,176,159,158,157,150,140,132,129,130,125,116,111,105,96,80,70,68,64,65,63,60,59,56,50,51,47,49,50,52,56,56,55,55,54,54,54,54,91,150,158,158,158,159,159,160,161,162,162,164,164,164,165,167,166,167,167,168,168,168,169,169,170,170,169,170,170,170,172,172,172,172,171,171,171,171,171,172,172,172,172,173,171,171,169,168,166,167,168,165,166,167,167,167,165,164,165,164,163,164,162,158,159,159,158,159,158,157,155,154,152,151,154,152,152,149,147,147,147,146,145,144,142,140,137,137,135,133,131,129,129,128,126,123,122,123,162,160,143,122,121,121,124,126,131,133,134,136,138,145,163,177,186,203,222,231,233,233,227,223,227,231,231,232,230,23
8681,229,224,221,222,223,222,219,215,210,207,200,202,206,204,204,203,196,132,112,114,111,111,111,108,105,101,95,94,95,92,118,113,90,87,85,86,85,84,85,85,86,89,90,91,91,92,92,92,92,96,97,98,101,103,103,103,105,106,105,104,105,108,107,108,108,108,108,87,77,62,95,113,111,112,116,116,117,119,121,121,122,125,126,127,128,128,128,129,132,128,173,186,164,156,157,157,152,138,132,131,128,117,113,112,100,87,76,70,63,65,62,60,57,56,51,52,52,52,53,54,57,57,58,57,55,55,54,60,106,152,156,158,160,159,158,160,160,162,162,163,164,165,166,166,166,168,168,167,168,168,168,169,169,170,169,170,170,170,171,171,171,172,172,171,170,169,171,172,172,172,172,171,171,170,170,167,166,166,167,166,165,166,167,169,167,165,164,163,163,162,162,163,162,160,160,158,158,157,156,157,156,154,153,152,150,153,150,148,147,145,143,145,144,141,137,136,135,134,133,130,127,129,128,126,124,123,160,159,137,121,123,122,125,128,131,132,132,136,139,148,165,181,193,208,222,227,229,232,228,221,218,220,223,228,229,230,224,220,218,218,217,216,213,211,209,207,205,205,203,199,200,204,188,121,114,112,110,111,111,108,102,96,93,93,94,92,147,133,112,116,118,123,123,118,112,103,95,85,88,90,90,92,92,91,93,95,96,97,100,101,102,103,104,104,104,104,105,107,106,107,107,103,87,75,75,64,87,113,111,112,115,115,118,120,121,121,123,124,126,127,126,127,129,129,131,127,170,187,167,154,153,158,157,146,137,134,132,127,118,113,102,89,79,74,66,66,63,60,56,56,55,53,50,54,54,54,58,56,56,55,56,57,57,65,117,153,156,158,159,159,159,160,160,161,162,163,164,165,165,165,166,166,167,167,167,167,168,168,169,170,169,169,170,169,170,170,172,172,170,171,172,170,171,171,171,172,172,171,172,170,167,168,168,166,166,166,166,167,166,168,166,164,164,163,163,163,162,162,160,160,159,158,160,160,158,156,156,155,153,153,149,150,149,149,149,144,143,145,144,143,141,137,135,134,134,131,129,127,127,124,123,122,160,154,129,122,124,124,125,129,132,133,133,137,139,152,170,187,203,218,223,223,224,231,232,227,219,219,224,228,229,229,227,225,224,220,217,216,213,208,204,214,221,217,213,216,215,207,176,114,113,112,111,110,110,108,100,96,94,93,91,92,144,125,132,129,126,129,137,137,140,140,137,113,90,87,89,92,91,90,93,95,96,98,99,100,102,102,103,103,103,104,104,106,105,108,102,63,59,67,73,67,80,111,111,111,114,115,118,120,119,120,122,123,126,125,126,127,128,129,130,127,168,187,172,155,152,157,157,154,143,135,133,126,122,116,103,89,80,76,70,64,61,61,58,54,55,57,55,55,56,57,59,58,56,56,56,57,58,72,121,153,157,158,158,159,159,159,160,161,162,162,163,163,165,165,165,165,167,167,167,167,168,169,168,169,169,169,169,169,168,169,172,170,170,170,170,170,170,171,171,171,171,171,171,169,168,168,168,166,166,167,168,166,164,168,167,163,164,163,164,162,161,161,162,161,160,159,159,159,157,157,155,154,154,152,152,152,150,149,148,145,146,145,142,141,142,137,133,134,133,132,131,127,128,127,124,123,160,148,124,123,124,125,127,131,133,133,134,136,142,158,174,192,206,220,224,225,229,231,232,232,231,231,231,229,229,230,229,227,228,229,219,211,214,215,218,222,222,217,215,217,217,212,164,111,115,114,112,110,110,106,101,95,93,94,91,96,130,125,131,128,140,145,141,131,130,132,134,135,129,86,87,90,89,90,91,93,95,96,98,100,101,102,103,103,104,103,103,105,103,107,81,34,50,39,43,52,73,106,110,109,112,115,117,118,117,121,121,124,125,125,127,127,129,128,130,128,168,190,175,157,151,154,156,156,149,138,134,129,124,117,102,91,82,76,71,68,63,61,62,56,54,53,56,60,58,58,58,57,55,57,57,57,58,74,120,152,156,159,158,158,158,159,160,161,162,161,162,164,164,164,165,166,167,167,167,167,167,167,168,168,168,169,170,169,168,170,171,169,169,169,168,168,168,169,171,171,170,171,170,169,170,168,166,167,167,167,168,168,166,168,166,164,163,163,163,162,160,161,161,161,161,159,159,159,158,157,155,155,154,151,150,150,149,148,148,146,145,145,142,142,141,139,136,135,134,134,130,130,129,128,125,123,159,140,123,124,124,126,128,130,132,136,135,137,144,162,177,193,206,220,227,232,234,234,232,232,231,229,230,230,231,233,231,229,230,228,222,225,228,223,221,223,223,224,223,220,219,217,150,110,116,112,111,110,109,103,98,88,90,89,88,100,118,119,113,116,116,114,116,119,120,128,131,136,135,103,84,86,88,90,92,90,93,95,97,99,99,101,103,102,103,104,102,102,103,107,63,30,42,44,91,47,56,90,106,109,112,113,116,117,118,120,122,124,124,125,126,129,130,130,132,128,169,192,176,154,149,152,156,157,152,140,135,133,125,118,107,96,86,78,70,70,65,58,58,59,56,51,59,60,59,58,58,57,56,57,55,56,58,72,116,151,155,158,158,158,158,159,159,160,161,160,
868161,163,164,163,165,164,165,166,166,166,167,167,168,167,168,169,169,169,169,169,167,168,170,169,166,167,169,169,170,169,169,168,168,168,168,168,165,166,167,167,166,167,168,167,166,164,164,163,163,161,160,162,162,161,161,161,159,161,159,158,156,156,154,155,152,149,150,149,147,148,146,143,142,143,140,140,140,134,131,133,133,129,128,127,126,123,158,135,122,125,125,127,130,129,132,135,136,137,146,166,183,196,209,222,233,239,241,239,235,233,233,234,234,232,233,233,231,230,228,228,228,227,227,221,220,222,223,222,220,223,224,216,139,111,115,113,111,111,109,102,95,81,87,88,87,103,115,124,142,146,140,136,132,141,136,125,131,136,136,120,90,85,87,90,90,92,92,95,99,100,101,101,102,102,101,101,102,102,102,105,64,20,41,68,85,52,64,143,130,107,112,113,116,116,116,118,121,123,126,125,127,130,131,131,131,127,171,191,175,154,149,153,157,157,152,146,141,135,128,120,110,98,89,83,75,70,67,63,61,59,59,57,60,61,59,57,55,57,56,56,57,57,59,71,114,150,155,156,158,157,158,159,158,159,160,160,162,161,163,163,164,165,165,165,165,166,166,166,166,167,167,167,168,168,167,166,167,169,168,167,169,169,169,170,169,169,168,167,167,166,167,166,165,165,166,166,166,167,167,167,166,164,163,163,163,162,162,162,163,162,161,160,159,160,159,158,157,155,155,155,152,148,151,149,151,150,148,147,144,142,143,140,137,137,135,132,135,133,130,128,129,124,153,130,124,125,125,128,130,132,134,134,135,140,150,168,184,198,216,229,238,241,241,238,237,232,229,238,237,232,232,233,231,229,230,229,230,228,226,223,221,222,224,222,216,216,217,204,127,113,114,110,109,108,107,100,89,67,85,88,88,104,115,119,137,140,139,143,142,141,135,125,130,137,133,121,102,86,87,87,88,92,91,94,96,98,97,97,95,96,97,96,100,101,99,99,99,86,78,80,72,67,86,139,122,102,107,114,118,117,116,117,119,122,125,126,127,127,128,131,131,127,172,187,172,159,154,154,154,152,152,153,147,137,130,122,112,99,90,85,78,73,71,66,64,62,61,59,59,60,58,56,56,58,56,55,57,56,57,74,113,148,155,156,157,157,157,159,158,159,159,160,161,161,162,162,163,163,163,164,165,163,166,165,166,166,166,165,166,168,167,165,166,166,165,165,168,168,168,169,169,169,167,168,165,166,167,165,164,165,165,165,165,165,164,165,164,164,165,163,162,163,163,162,160,161,161,160,159,161,159,159,158,156,155,153,152,148,149,149,150,149,146,146,144,141,142,141,137,137,135,134,133,132,131,129,128,127,145,126,126,126,126,128,132,133,134,135,138,142,155,171,187,203,218,231,238,240,239,239,239,230,223,234,233,230,230,232,230,230,230,230,228,228,224,215,215,217,220,220,218,216,219,190,118,115,112,109,110,107,104,97,79,56,75,84,87,102,81,99,109,98,162,108,109,118,118,122,130,137,132,119,110,92,84,87,86,89,90,90,91,91,92,91,90,90,93,95,96,90,103,102,127,142,100,101,95,90,90,85,86,86,85,88,97,113,119,119,119,123,126,125,126,127,128,131,132,129,174,184,169,158,154,149,149,149,152,153,146,138,130,122,112,100,91,85,77,74,70,66,67,65,63,60,59,57,57,57,56,57,55,55,54,55,58,73,107,145,155,156,156,156,157,157,158,158,159,160,160,159,160,161,162,162,164,165,163,161,164,165,166,166,166,166,166,167,166,166,166,165,165,165,165,167,169,168,168,166,164,166,165,165,165,165,165,165,163,163,164,164,165,163,164,162,163,163,163,162,162,163,161,161,160,159,160,160,159,158,158,156,155,154,151,148,148,148,149,147,146,145,145,142,142,141,140,135,136,134,132,131,130,130,127,127,138,125,127,127,127,129,132,133,133,134,139,144,159,174,189,206,217,228,236,240,241,241,240,234,232,232,229,224,225,227,228,229,230,230,228,226,220,215,220,216,213,214,220,218,214,176,114,115,111,109,107,103,100,95,71,47,53,73,89,92,58,77,85,99,158,81,83,117,115,120,130,137,131,118,112,99,83,87,86,87,88,88,88,86,84,84,89,89,93,98,98,92,92,90,110,125,90,86,81,77,73,70,73,75,77,78,77,78,111,119,117,122,124,125,126,127,128,130,129,131,179,182,169,153,148,148,150,148,146,144,144,138,128,121,112,102,93,86,78,73,69,65,65,64,62,60,56,54,55,57,57,57,56,57,55,54,55,67,101,141,152,155,156,156,157,157,158,158,159,158,159,159,160,160,161,162,162,163,163,161,162,163,165,165,163,165,166,165,165,164,164,165,165,164,164,165,167,166,167,165,164,166,165,164,163,165,163,163,163,163,162,164,164,163,163,162,163,162,162,162,162,162,161,161,160,
868159,158,160,158,157,157,155,154,155,152,150,150,148,147,148,147,146,146,142,141,142,138,137,136,135,133,132,131,128,127,127,131,125,125,127,128,131,133,133,132,135,138,147,161,178,190,209,222,232,236,242,243,243,239,232,231,232,232,229,225,224,226,230,230,228,224,219,218,219,222,219,220,221,223,221,209,160,111,113,109,107,105,100,100,93,64,41,43,58,90,73,52,64,74,89,83,69,84,113,112,118,130,137,129,116,110,106,86,82,84,85,86,84,84,84,84,86,90,93,97,99,102,91,108,142,137,135,112,117,117,114,115,115,83,78,76,68,68,77,112,117,116,120,122,123,126,125,127,127,126,134,182,178,164,152,144,144,148,147,145,142,140,137,126,120,114,103,92,84,78,70,68,65,61,64,64,58,54,54,56,56,55,56,55,54,55,53,54,66,95,137,153,153,154,155,157,157,156,157,158,158,158,159,159,160,161,161,161,162,161,161,162,163,164,164,163,163,164,164,164,164,164,163,164,163,163,163,165,166,167,165,164,163,163,164,163,163,161,163,164,163,163,163,165,163,162,163,162,161,162,161,161,161,161,161,160,160,158,158,157,158,156,155,154,153,154,151,150,148,147,146,146,144,145,142,141,141,137,137,134,134,132,131,131,128,127,125,127,125,125,128,130,134,134,133,134,136,140,152,168,184,197,215,229,233,235,240,243,243,239,235,235,236,238,237,234,230,230,229,228,225,219,211,214,218,216,221,224,224,222,223,209,143,112,113,109,108,103,99,100,89,56,39,40,59,91,66,67,114,99,121,139,67,84,107,106,116,130,135,128,113,109,107,86,76,80,80,79,79,80,81,84,86,89,94,97,98,101,103,157,185,152,126,108,157,170,164,167,172,99,85,87,83,76,91,117,116,119,122,124,124,127,127,128,130,123,136,184,177,163,152,141,140,140,140,142,140,138,133,125,119,114,103,92,82,76,70,66,61,60,62,59,57,55,52,53,52,53,55,53,55,54,54,53,62,88,135,152,151,152,152,153,155,154,155,157,156,158,158,159,159,160,159,161,161,159,162,161,160,162,163,163,162,162,162,162,163,162,162,163,163,163,164,163,164,165,164,164,162,163,164,163,163,163,161,163,163,162,162,163,163,162,161,161,160,160,159,160,161,161,160,161,159,158,158,157,157,156,156,155,154,154,152,151,150,147,146,148,145,144,142,141,140,139,135,135,133,133,132,128,128,128,125,126,124,125,128,133,134,134,134,136,138,142,155,175,189,202,216,228,231,236,239,241,244,243,244,245,245,243,240,238,233,230,230,226,224,224,220,213,215,212,215,219,218,219,223,199,130,114,112,110,109,103,101,94,84,48,33,36,62,83,59,77,124,93,143,142,61,85,106,104,116,129,134,125,112,108,104,81,72,74,74,74,77,80,82,84,87,89,94,94,99,101,103,162,194,165,131,112,160,185,170,167,155,92,78,79,77,81,96,99,99,102,102,104,107,107,104,107,106,118,151,176,175,164,155,141,135,134,135,136,136,131,128,123,117,113,103,91,81,73,70,64,59,59,58,57,56,53,51,51,53,54,52,53,52,49,51,50,56,78,134,148,150,151,152,151,153,153,153,155,156,157,158,158,158,158,158,160,160,159,160,160,159,161,163,161,161,160,160,161,162,163,163,161,161,162,163,162,162,163,163,162,162,163,162,162,163,162,161,162,163,161,160,
868161,162,161,161,162,161,160,160,161,160,160,161,160,158,158,157,156,155,158,158,156,155,154,153,150,149,148,147,146,144,144,142,141,140,139,136,135,134,132,131,131,128,125,126,127,125,125,129,133,134,134,134,135,139,146,160,177,192,207,224,231,235,241,244,244,246,246,246,248,247,246,239,230,226,230,232,226,227,230,227,216,214,215,216,213,215,219,222,188,119,113,111,110,105,101,99,92,77,42,30,35,65,71,51,82,121,88,146,117,56,87,108,109,121,131,132,122,110,104,97,77,72,74,73,73,71,72,74,77,82,88,93,95,99,98,98,141,158,123,86,77,92,95,86,82,71,57,52,54,58,60,62,63,67,70,69,81,90,85,94,102,115,139,140,177,173,163,155,143,134,132,133,132,129,126,125,123,119,111,100,90,81,71,65,61,60,58,55,54,54,52,50,50,52,52,51,49,49,46,47,48,53,71,130,149,145,149,149,152,151,152,153,153,156,156,157,155,155,156,157,157,158,159,159,160,159,159,161,162,160,160,160,160,161,161,161,162,161,161,162,161,161,161,161,160,162,161,161,162,162,159,161,161,161,162,161,161,161,161,161,160,161,160,161,160,159,160,159,158,159,157,156,155,157,157,156,155,153,154,153,150,150,149,147,144,144,142,141,141,139,140,137,135,134,133,132,131,125,127,126,127,124,125,129,133,135,134,136,138,140,149,167,181,200,223,231,237,244,248,249,250,248,246,246,246,246,245,239,234,233,235,232,230,228,227,227,223,223,221,215,216,219,219,220,177,114,114,110,104,100,100,94,86,73,36,29,34,65,69,49,88,120,86,147,95,60,95,110,112,122,135,135,121,110,111,100,88,91,92,94,97,96,92,94,97,91,84,81,76,71,68,67,65,56,45,41,45,46,46,46,45,45,45,42,42,49,50,52,57,61,66,66,69,80,104,106,95,149,124,138,178,171,162,152,141,134,131,131,128,126,124,122,120,117,109,101,89,78,70,62,58,55,54,53,53,54,53,49,47,48,50,48,48,49,48,46,46,50,74,105,138,148,141,146,145,149,152,152,153,154,156,155,155,155,157,156,157,158,158,158,158,159,159,159,159,160,160,160,159,160,160,160,160,160,161,161,160,161,159,160,159,160,160,160,160,159,159,161,160,
868160,160,161,160,160,161,161,161,160,159,158,159,159,159,158,157,159,156,156,157,156,157,155,155,154,154,153,151,148,147,147,144,145,143,142,140,140,140,137,136,133,133,132,131,126,123,125,125,123,126,128,132,134,136,137,139,141,153,173,186,207,229,234,239,249,250,250,250,249,246,246,246,245,244,243,240,238,236,232,230,228,227,228,230,230,228,223,223,222,218,216,162,111,114,109,105,102,98,82,68,61,32,24,34,65,65,48,89,115,92,150,78,62,61,71,109,121,131,130,107,97,113,124,125,133,135,137,139,144,143,125,101,75,59,52,46,46,48,46,40,35,33,32,33,34,35,36,35,35,41,41,41,32,32,35,56,75,74,93,112,83,83,69,109,147,102,145,174,169,164,150,137,131,131,126,124,124,122,120,117,110,108,99,89,78,68,60,57,53,55,54,53,54,52,48,47,48,47,47,48,49,49,47,47,50,74,98,108,126,116,118,148,144,145,146,148,153,155,154,153,154,155,155,156,156,157,157,159,158,158,157,158,158,159,160,159,158,159,159,158,160,160,160,160,160,159,159,158,159,159,159,160,159,159,160,159,159,160,159,160,159,160,160,159,158,158,158,159,158,156,157,157,157,156,155,156,155,156,156,155,153,152,151,151,149,148,147,145,143,142,141,140,141,139,137,134,134,133,133,127,125,126,125,124,124,128,131,133,134,135,137,140,143,159,177,192,210,227,232,240,250,252,250,250,250,248,246,246,245,243,243,237,235,233,231,229,229,229,230,229,229,230,230,229,222,213,216,151,110,113,109,105,102,98,68,47,42,28,24,39,67,62,49,95,112,97,141,68,50,12,61,113,121,130,130,76,91,114,127,78,39,53,55,66,75,69,52,44,41,40,30,30,31,30,29,27,29,27,25,24,23,25,27,28,27,27,31,33,57,74,92,101,101,105,116,77,49,64,67,113,132,96,146,172,163,159,146,135,130,130,125,124,121,118,116,111,107,102,96,89,77,67,60,57,55,52,54,54,52,52,47,47,48,47,48,48,50,49,47,45,49,71,94,97,113,109,79,118,126,143,162,157,148,147,149,150,152,153,153,156,155,155,156,158,158,157,156,157,157,157,158,158,157,157,158,158,159,158,159,158,159,159,159,157,158,159,159,158,159,158,158,159,159,159,159,160,160,159,159,158,157,158,158,158,156,157,158,157,156,155,154,154,155,156,156,153,153,151,151,151,147,146,145,145,145,142,142,140,139,139,136,134,134,131,132,128,127,126,122,125,127,128,132,135,134,135,137,139,146,163,180,194,214,230,236,243,251,252,250,250,250,248,246,246,246,244,241,238,235,230,229,229,229,230,230,229,229,230,230,228,223,215,212,138,111,111,109,104,102,94,62,41,33,27,23,42,68,60,51,104,104,109,133,58,66,78,97,112,122,134,127,71,97,115,123,105,65,55,47,49,45,42,39,37,36,35,28,26,23,21,22,24,25,26,24,23,23,19,15,19,30,54,78,94,102,85,76,80,88,100,77,38,47,61,75,107,126,95,139,175,160,154,144,135,132,127,122,120,118,115,114,106,104,99,94,86,77,69,60,58,55,53,55,53,51,50,46,48,47,49,47,47,50,49,48,47,47,64,82,89,102,108,80,90,102,99,161,198,201,180,166,155,148,147,151,154,155,154,155,155,156,154,155,155,154,155,155,156,157,158,156,157,158,158,158,158,157,158,158,157,157,158,158,158,158,158,157,158,158,158,158,158,158,158,158,157,157,158,158,157,156,157,156,155,156,155,155,155,155,156,153,152,154,151,150,149,148,146,145,144,145,142,139,140,138,138,136,134,134,131,130,128,125,126,122,126,128,130,133,134,134,136,139,139,149,165,181,197,219,231,238,244,250,250,250,250,249,246,246,247,246,245,241,239,232,228,228,229,229,229,229,227,229,230,230,229,228,223,197,126,113,109,107,103,100,90,56,40,31,25,20,48,68,56,53,112,98,118,118,56,82,100,104,111,126,134,121,68,100,114,115,120,88,47,40,39,35,33,32,31,33,33,25,24,24,22,23,24,21,19,15,12,18,30,53,78,92,94,83,73,66,70,84,95,95,84,45,30,48,59,75,98,121,97,114,175,161,151,142,136,129,126,121,114,114,114,110,105,101,97,91,85,78,70,62,60,57,56,54,53,51,49,49,48,45,46,47,48,50,48,49,48,46,60,69,82,96,102,90,85,99,73,107,128,180,209,212,212,195,174,156,149,151,154,151,152,152,153,154,154,154,154,156,157,157,157,156,156,157,157,156,157,156,156,157,156,156,157,158,158,157,157,157,157,157,158,158,159,157,157,157,157,157,157,157,157,157,155,155,155,156,156,156,154,155,155,152,153,153,151,149,148,149,148,145,144,145,141,140,140,138,135,134,133,132,130,130,128,126,126,123,127,130,132,134,135,136,136,139,141,153,170,187,202,222,234,240,247,250,250,250,250,249,247,246,248,246,245,243,240,231,227,228,229,229,229,227,226,226,228,230,231,229,227,185,117,113,109,105,103,99,85,51,37,27,23,23,51,67,52,55,114,95,126,103,61,88,97,101,111,128,135,112,67,103,114,112,108,75,41,32,31,28,26,25,24,25,26,23,23,24,21,17,13,10,21,42,64,82,90,92,84,69,64,66,71,77,86,93,91,80,51,34,28,52,60,76,94,110,100,90,161,
868157,146,139,136,128,124,119,112,111,110,105,100,99,98,90,86,77,71,64,62,59,56,53,53,52,49,47,46,46,46,48,48,48,46,46,47,45,53,55,78,89,94,90,90,96,68,81,107,73,101,129,183,220,226,223,203,163,148,154,151,151,151,152,152,153,153,155,154,155,154,154,155,156,156,156,156,156,157,155,155,156,156,156,156,156,157,157,157,158,157,158,158,157,156,156,156,157,157,157,156,157,154,157,156,156,155,156,154,154,154,154,153,151,150,151,149,148,148,147,144,142,141,140,139,139,137,136,134,133,131,130,129,127,125,122,129,130,133,133,135,137,138,139,144,159,174,190,211,229,238,243,249,250,250,250,249,248,246,246,246,246,245,243,239,229,222,223,226,228,224,220,209,214,215,213,213,217,223,172,112,113,109,104,102,100,78,45,30,23,22,24,56,65,49,59,119,94,142,95,64,90,97,99,109,126,132,102,67,104,113,108,105,68,37,30,29,25,24,25,24,23,23,18,12,13,20,29,47,71,91,95,89,81,74,71,72,76,80,80,78,83,80,82,87,51,35,28,31,62,64,73,90,96,101,72,133,155,142,140,134,127,123,118,110,108,103,100,98,98,95,90,83,78,71,64,59,58,58,55,54,48,47,48,46,46,46,47,48,48,46,45,46,46,45,49,77,82,90,88,89,102,59,67,103,91,35,36,64,131,190,210,211,192,134,142,152,150,151,150,151,152,152,153,154,153,152,154,154,155,155,154,156,155,155,155,155,155,155,156,155,155,156,156,156,157,158,157,156,155,155,156,155,158,158,156,156,156,156,157,156,155,154,154,155,152,152,154,152,151,152,149,149,148,147,145,145,142,141,138,138,137,137,136,134,133,130,130,128,126,126,122,128,129,133,134,135,136,139,141,149,162,179,195,218,232,237,243,248,250,250,250,250,249,246,245,244,244,241,238,233,226,221,221,223,221,214,201,197,213,210,201,202,203,210,156,109,111,108,105,100,98,69,41,31,22,20,28,59,61,46,49,80,74,109,74,68,92,98,100,113,130,135,97,67,107,113,103,103,62,38,34,29,30,24,20,17,16,21,32,60,90,110,117,115,101,89,81,79,78,81,82,87,95,85,75,71,77,73,82,57,34,32,27,42,71,68,64,83,88,95,75,92,151,140,133,126,127,122,116,109,104,101,98,95,96,93,88,82,77,71,64,62,60,56,56,55,51,48,46,45,47,50,49,49,49,47,45,44,46,40,54,76,80,86,87,79,97,59,62,87,107,67,25,35,41,102,163,166,165,141,109,143,148,150,151,151,150,151,152,151,151,151,153,153,153,154,154,154,154,155,155,154,154,154,155,156,155,155,155,156,157,156,157,155,154,154,155,156,156,155,154,155,153,156,156,153,153,153,154,153,153,153,153,151,150,151,151,149,147,145,144,144,142,141,139,138,138,135,134,133,134,129,129,128,124,124,122,128,129,133,133,136,137,139,143,151,167,184,197,217,228,234,241,247,250,250,250,249,247,246,245,243,239,237,236,232,230,223,222,224,220,211,201,211,222,209,199,205,209,208,140,110,109,106,101,97,92,63,36,27,27,27,30,39,40,34,38,44,54,48,44,51,59,61,64,71,80,81,62,55,65,91,111,101,56,36,28,25,23,22,36,55,77,105,129,134,130,122,113,101,93,94,92,90,88,86,96,95,70,56,56,59,64,78,62,33,29,25,36,49,76,70,56,73,81,86,84,66,123,137,130,128,125,119,113,111,104,98,92,91,93,91,86,80,74,70,65,63,60,55,54,51,51,47,48,46,50,52,50,49,48,46,45,42,44,36,61,72,79,83,82,85,88,60,63,89,85,101,47,25,33,37,95,154,147,138,128,136,145,146,147,147,150,151,152,153,152,152,153,152,152,153,153,153,152,153,154,154,154,153,155,155,153,153,154,156,156,155,154,154,155,155,157,156,155,154,154,153,153,154,153,153,152,152,153,153,155,154,152,151,150,151,150,147,146,147,146,143,141,142,141,139,137,136,135,135,132,131,130,128,126,124,122,128,130,133,134,136,137,140,144,155,172,185,197,215,224,229,238,247,250,250,249,246,247,247,245,240,233,233,237,236,233,227,224,229,226,218,208,222,226,208,201,205,215,204,129,110,108,106,101,94,88,61,31,27,29,27,25,27,29,33,36,43,44,43,42,38,36,41,42,41,38,37,38,40,39,101,130,99,44,63,85,50,73,104,121,124,135,130,110,90,93,101,87,81,85,83,81,79,79,88,96,70,43,48,57,51,68,69,34,29,22,32,41,51,79,74,50,61,74,79,81,68,82,128,128,128,122,119,112,109,103,94,89,91,91,87,80,77,73,70,63,59,58,55,54,49,50,50,49,49,50,50,51,49,48,47,42,43,38,42,68,71,80,85,80,87,97,55,59,89,84,78,92,24,24,28,35,99,155,137,121,120,125,133,142,148,148,147,147,148,150,152,152,152,151,152,152,153,153,152,154,152,151,153,154,152,151,152,153,152,152,152,152,154,154,155,155,155,155,155,154,152,153,152,153,152,152,151,151,151,153,153,152,151,152,151,150,148,147,147,145,142,140,141,139,136,136,133,134,134,131,129,128,128,126,123,121,128,130,134,135,135,137,
868141,144,158,177,187,194,211,219,226,235,243,250,250,248,247,250,249,241,235,230,231,236,237,234,230,229,230,230,221,206,222,223,202,198,198,208,189,118,110,108,105,97,90,84,50,29,29,28,25,28,29,29,32,34,40,42,42,42,42,41,43,43,43,42,43,42,37,54,126,132,96,96,155,138,92,113,109,106,92,88,94,89,72,73,83,80,69,70,72,69,69,77,87,68,45,38,48,53,57,72,39,29,23,27,41,43,52,79,70,59,51,67,73,77,77,61,95,123,122,120,116,110,107,103,95,91,90,87,83,80,77,71,68,62,59,56,54,54,51,50,49,49,48,48,48,48,49,47,45,40,42,31,56,66,71,79,83,82,86,94,49,36,85,93,64,86,74,13,24,26,41,113,153,130,118,117,118,123,131,136,141,143,147,148,146,148,149,151,152,151,152,151,150,151,152,152,152,152,152,152,151,151,151,152,153,153,154,154,154,153,152,154,154,153,153,153,153,153,153,152,150,150,153,154,152,152,150,151,149,149,148,146,146,141,141,139,139,138,137,135,134,134,133,132,131,130,128,124,123,123,128,130,134,135,136,138,140,149,165,181,194,203,220,235,237,238,244,250,249,249,250,250,249,237,231,231,232,233,233,232,232,230,230,228,211,212,224,221,208,200,205,218,178,112,111,107,100,94,89,78,42,26,28,29,26,21,18,19,19,20,22,24,25,23,23,23,23,23,24,25,24,23,19,60,128,125,132,129,140,124,68,68,67,82,86,72,73,68,60,63,71,75,57,54,57,58,65,74,68,42,33,37,46,51,70,48,28,26,22,38,43,47,52,81,62,64,49,56,65,73,76,70,61,100,115,116,113,110,110,103,98,92,88,86,83,81,77,72,67,63,58,56,54,52,51,50,49,49,49,49,49,46,44,45,42,42,33,37,65,61,72,78,81,82,85,87,51,29,62,103,70,47,98,46,11,25,24,57,132,146,123,118,123,125,125,124,123,134,143,147,151,146,144,145,147,150,153,151,150,151,151,151,151,149,149,150,150,150,151,151,151,152,153,153,153,151,151,152,153,152,152,151,150,150,151,151,150,152,152,151,151,150,150,150,149,150,148,146,145,142,141,139,141,138,138,134,135,133,133,131,130,130,129,125,122,122,128,132,135,135,136,137,141,153,168,188,204,217,234,242,242,243,246,250,250,250,250,250,249,239,233,232,232,232,233,234,233,231,227,219,212,219,222,222,223,217,220,223,167,110,111,104,98,85,78,74,37,24,27,29,28,16,9,10,9,9,9,8,9,9,8,7,7,7,7,8,8,10,7,69,123,137,138,90,82,111,63,56,58,65,77,65,57,55,56,57,64,68,52,45,51,56,63,64,44,32,31,40,44,62,64,31,28,19,32,45,47,51,48,86,63,48,55,45,57,66,72,72,61,66,102,109,111,112,110,105,100,94,87,84,81,79,75,72,67,63,58,55,53,54,53,52,51,50,49,49,49,44,45,45,42,39,26,60,62,65,74,75,78,79,80,80,53,31,51,94,81,34,56,89,15,18,25,35,85,145,131,112,111,114,116,126,131,126,130,134,142,140,137,144,147,145,146,148,149,150,150,149,148,149,150,151,149,150,151,150,150,151,152,151,152,151,151,151,150,151,150,151,151,150,151,150,149,150,152,151,150,151,150,149,149,150,148,146,145,142,141,138,141,138,136,135,133,133,130,129,129,129,127,125,122,122,129,132,134,135,136,137,144,157,172,195,201,212,237,243,242,242,244,247,250,250,250,250,249,242,236,233,232,232,231,229,232,232,224,215,212,216,218,219,222,225,219,221,150,107,108,104,97,67,45,50,32,22,26,28,27,13,10,12,11,10,9,9,10,10,11,10,10,9,11,9,9,12,8,81,140,124,120,89,54,78,61,49,53,61,70,61,49,48,49,53,59,64,46,40,50,57,55,43,32,28,32,42,48,68,39,28,23,20,42,43,50,53,48,87,67,32,58,43,49,60,64,65,66,55,70,99,102,106,106,103,99,93,86,84,80,75,73,72,69,64,61,58,55,57,57,57,56,51,52,49,47,45,45,45,39,27,52,65,59,68,74,76,76,77,77,78,58,39,52,85,89,43,30,80,43,9,25,33,52,118,142,112,103,105,105,107,120,124,120,125,130,131,135,132,140,150,148,146,146,146,147,149,149,150,150,148,148,149,149,150,151,151,151,149,150,150,150,150,150,149,150,151,149,149,149,148,148,150,150,150,149,148,148,147,148,148,146,145,144,141,143,138,137,137,136,136,134,134,132,130,130,127,126,124,124,122,130,134,135,134,136,139,145,164,179,194,205,218,237,243,245,243,242,248,250,250,250,250,249,239,223,215,222,230,222,225,234,236,232,228,223,217,218,221,221,208,204,208,133,107,106,101,93,58,32,26,23,22,28,29,25,11,11,11,10,9,9,10,10,10,10,10,8,10,11,10,11,7,40,128,124,103,109,84,49,73,53,42,51,60,65,59,44,42,45,50,54,57,42,36,47,55,44,30,26,27,38,42,60,52,27,25,15,26,46,44,54,53,50,86,69,25,53,55,44,51,56,60,61,64,54,71,95,97,101,102,100,92,86,84,77,76,74,70,71,66,65,63,59,60,63,61,57,53,48,47,46,45,45,44,28,46,67,55,63,70,73,80,79,73,79,93,71,44,51,79,90,52,25,52,60,14,22,30,39,82,139,123,105,109,112,112,115,119,116,115,124,121,123,125,123,130,146,149,146,146,144,143,146,150,150,148,148,148,147,148,149,149,148,148,148,149,149,149,149,148,149,151,150,148,149,149,148,149,149,149,148,148,147,146,146,145,146,143,142,140,140,138,139,135,134,135,133,132,131,129,128,127,126,125,124,122,133,135,135,135,137,
868138,149,169,180,187,220,235,240,245,246,247,248,250,250,250,250,249,244,228,218,226,233,235,235,234,236,235,233,232,228,223,223,220,219,212,217,202,122,108,107,100,89,52,28,21,18,22,26,28,25,12,11,11,10,8,9,10,10,10,11,8,8,9,9,11,6,38,130,125,101,102,104,74,39,68,50,38,52,61,66,60,41,37,40,47,50,50,38,34,43,50,34,24,25,31,40,50,63,31,24,21,15,31,45,44,53,52,54,86,67,23,43,62,48,40,50,54,57,58,62,52,69,91,96,101,100,93,89,83,77,77,74,71,72,69,66,65,64,65,64,63,59,54,49,47,46,44,45,33,46,69,52,58,65,72,78,83,69,62,84,95,80,47,49,71,88,57,30,38,54,20,15,28,32,58,119,132,108,108,118,126,132,128,118,109,117,115,106,111,115,116,123,137,140,143,148,149,145,143,146,148,146,147,147,146,148,148,148,147,148,147,149,148,147,148,147,149,148,148,146,148,147,149,148,148,148,148,147,146,146,145,147,146,141,141,140,139,137,136,134,134,133,131,129,128,126,125,124,122,123,123,133,135,135,136,138,141,156,171,186,202,225,233,238,242,246,248,250,250,250,250,250,249,240,225,229,239,237,237,237,236,235,232,230,230,229,226,220,219,222,224,220,186,116,109,105,99,84,46,25,21,18,21,25,27,20,10,10,10,10,10,12,10,8,9,8,8,10,10,12,7,36,132,129,106,97,103,106,65,33,68,51,36,50,64,70,61,39,34,33,42,51,46,37,32,43,41,27,23,25,36,42,60,44,21,23,19,17,37,42,45,52,52,54,85,65,21,37,59,60,42,42,49,50,53,55,58,51,68,90,93,96,95,91,84,79,78,74,74,73,71,69,68,68,65,63,63,58,55,50,48,46,46,36,47,68,48,52,60,68,69,78,70,55,59,72,76,79,57,46,61,81,61,33,34,41,23,14,23,30,43,92,135,115,101,108,115,124,133,133,120,112,113,100,101,105,109,110,116,131,134,132,138,149,151,144,142,145,146,146,146,147,146,146,147,146,146,148,148,147,145,147,147,146,146,146,146,147,148,147,146,149,147,144,145,145,145,145,144,140,140,140,138,136,135,134,133,131,129,129,127,126,127,127,122,121,123,133,135,136,136,139,146,159,172,190,209,220,224,228,229,238,247,250,250,250,250,249,247,239,231,234,237,236,237,234,232,233,232,229,227,226,219,212,218,221,222,215,168,111,108,104,99,79,39,22,20,18,22,26,27,16,8,10,10,11,9,9,9,9,9,9,9,10,11,9,31,131,130,105,105,103,110,110,60,22,65,54,34,46,65,72,64,36,31,28,42,52,43,30,31,37,32,23,21,28,40,51,55,25,22,20,17,21,42,40,44,49,49,56,83,64,22,32,53,61,57,38,42,46,49,51,54,58,53,66,85,91,92,92,88,84,79,77,74,72,71,68,69,69,67,64,62,58,55,50,48,45,37,50,67,46,49,56,61,64,67,65,48,44,56,54,60,64,53,42,55,68,55,32,31,33,26,15,18,28,35,69,124,133,100,75,79,87,77,88,116,114,114,101,94,98,100,99,96,107,120,121,124,132,140,154,145,136,146,144,144,145,146,147,147,146,147,146,146,146,145,146,147,147,147,146,146,148,146,145,146,146,146,146,144,143,143,142,142,141,139,139,138,135,134,132,131,130,130,127,127,128,126,124,123,123,120,134,135,135,136,140,148,158,171,189,201,216,228,232,231,233,242,249,250,250,248,247,246,244,242,240,237,233,234,230,230,233,232,230,226,223,209,200,199,197,204,213,158,109,107,104,100,74,32,20,19,18,23,27,26,15,10,10,10,10,9,8,8,9,8,10,12,15,13,24,122,132,101,87,82,92,115,117,51,10,55,57,34,38,61,73,71,37,29,23,40,53,36,23,28,33,27,21,21,36,47,58,36,22,22,20,14,25,42,40,44,48,49,58,81,62,25,24,46,58,61,47,34,41,45,47,52,54,56,59,61,77,89,90,87,83,79,79,75,72,73,71,69,70,67,63,62,58,55,50,46,43,55,62,42,45,49,56,58,66,66,49,41,36,51,49,49,48,45,40,44,64,45,28,31,32,30,18,15,26,35,49,100,138,139,96,54,63,44,38,65,104,115,100,82,82,93,91,93,99,114,122,122,122,113,127,126,143,138,144,143,144,146,146,145,144,145,144,146,146,145,144,145,145,144,144,144,146,146,145,146,145,145,145,144,141,142,141,141,140,141,139,137,135,132,131,131,131,130,129,127,125,125,126,124,121,119,134,135,136,136,141,151,163,176,190,198,209,225,231,239,242,245,249,250,250,250,247,246,246,246,242,236,233,232,230,229,230,230,228,226,223,217,212,212,209,206,209,145,106,105,101,98,66,28,24,21,18,25,26,24,15,11,11,10,9,9,9,9,9,11,11,14,18,16,103,140,104,91,78,69,78,112,116,39,6,47,58,34,38,55,74,78,43,27,22,36,52,33,21,23,30,23,20,28,45,56,48,24,24,20,17,15,26,38,38,44,47,47,58,77,61,27,18,40,53,60,47,45,39,40,42,45,49,49,54,58,55,67,83,87,83,80,77,74,73,72,71,71,73,66,63,61,58,52,48,52,57,48,34,40,46,48,50,53,57,43,49,43,35,42,38,37,37,41,37,34,57,42,28,29,33,35,20,13,24,35,39,56,88,113,129,88,57,47,32,43,72,111,103,71,63,86,97,95,107,125,129,123,114,104,97,95,138,138,137,141,142,143,143,142,143,143,143,143,144,144,144,144,145,143,144,145,145,145,144,144,143,142,142,142,142,140,140,141,141,141,137,135,134,133,133,132,132,128,128,126,125,125,124,123,119,119,134,135,136,137,142,157,173,183,199,209,216,228,234,241,246,248,250,250,250,250,249,246,246,246,243,235,232,232,230,229,229,227,225,226,224,223,219,223,225,223,210,131,106,107,100,96,58,26,22,18,19,24,24,23,13,11,11,10,9,8,8,10,10,11,10,19,12,88,145,111,98,81,71,65,68,105,112,34,6,42,57,33,42,50,68,85,46,26,24,29,50,31,22,20,22,21,25,41,53,54,30,22,21,18,15,15,29,36,36,42,47,47,58,74,58,28,18,34,48,60,48,46,47,33,35,42,44,45,47,51,55,56,66,72,74,74,73,72,71,69,68,68,68,65,61,58,58,55,57,50,35,28,32,41,43,40,41,49,31,37,58,45,26,30,32,31,33,41,37,31,45,40,27,26,34,34,21,13,23,29,39,36,35,42,63,89,71,36,26,42,53,98,112,70,43,67,97,97,103,110,121,118,105,89,92,88,102,138,132,139,139,141,141,142,142,142,142,143,144,143,142,142,142,143,143,144,143,144,145,143,142,142,142,142,139,139,140,142,140,139,136,135,134,131,133,133,131,127,127,126,125,125,123,120,118,118,133,134,138,139,144,162,177,186,201,216,229,237,239,240,243,245,249,250,250,250,250,246,246,246,241,232,227,227,230,230,230,228,226,226,226,227,226,226,224,226,201,118,108,105,99,92,52,25,21,16,18,24,25,21,11,12,11,9,10,10,8,10,11,10,15,13,66,148,118,101,93,77,64,54,56,92,112,38,6,37,57,32,44,46,53,85,46,25,24,25,45,33,22,20,18,27,37,48,55,38,21,21,18,17,17,17,33,36,36,42,45,46,58,70,56,27,18,27,46,55,57,37,45,43,33,37,38,40,45,47,51,52,54,63,71,71,70,65,65,64,61,61,
86863,64,63,61,57,47,33,24,27,31,37,42,37,38,45,30,21,38,50,49,24,21,25,33,38,39,34,27,31,35,25,25,30,30,23,14,22,26,37,40,27,29,36,35,38,21,20,40,46,78,116,78,32,42,81,95,80,82,105,113,92,73,113,87,74,130,127,137,139,141,140,140,141,141,141,141,142,141,140,142,142,142,141,143,142,143,144,142,143,142,139,142,140,139,139,140,139,138,137,135,134,133,130,131,131,128,125,125,124,124,123,120,118,117,134,135,137,140,149,164,177,186,194,216,232,237,239,239,238,235,240,247,247,249,250,247,245,241,234,227,224,223,228,230,229,229,227,224,224,226,226,226,225,232,192,109,107,104,99,87,43,21,20,17,20,24,25,20,12,12,11,10,10,10,10,11,11,14,16,41,141,128,100,89,80,74,65,52,47,75,112,46,5,30,56,32,43,42,45,81,47,22,21,25,40,29,21,20,17,30,45,53,44,24,19,21,18,16,16,21,33,38,40,43,44,46,57,67,55,28,19,23,41,50,61,45,31,42,47,32,30,37,42,45,49,51,53,56,61,68,72,71,68,61,47,42,44,45,45,35,27,22,21,26,31,36,39,38,39,41,30,16,26,42,46,49,26,21,26,32,34,33,25,22,23,26,26,26,24,24,26,20,19,23,36,44,34,22,30,34,30,20,19,40,48,65,110,97,45,26,51,81,78,74,88,98,69,77,113,92,66,115,129,131,137,139,140,140,139,140,139,141,141,138,140,140,141,141,142,142,142,142,141,142,140,139,140,140,139,139,139,138,139,137,134,133,131,130,131,131,129,127,126,127,125,123,124,120,117,117,134,136,138,141,152,166,178,186,187,202,226,231,237,239,237,234,236,240,240,242,242,241,236,231,229,228,228,226,229,228,221,224,227,226,226,224,225,226,225,229,173,105,106,102,100,81,36,19,18,16,21,24,24,20,13,11,11,11,11,9,11,11,11,13,22,121,141,111,95,79,71,66,62,58,47,65,107,52,5,28,57,34,37,40,45,79,46,21,20,27,34,23,20,18,16,37,52,48,27,20,21,21,19,17,17,24,36,36,39,43,45,46,55,65,51,27,22,21,35,47,58,53,38,31,38,37,28,31,37,41,45,47,51,54,57,61,64,61,52,42,32,23,20,20,21,21,20,20,27,34,34,39,38,39,32,25,19,17,33,41,39,48,27,19,24,30,30,29,19,20,21,20,25,27,22,22,23,23,22,23,33,45,41,27,18,31,29,22,24,43,49,54,102,103,88,49,46,70,78,72,82,82,55,91,106,94,71,104,129,134,130,138,138,138,137,138,139,139,139,139,140,139,139,141,139,139,140,139,140,141,140,138,138,138,138,138,138,139,138,134,135,133,131,131,130,130,127,126,124,126,124,122,121,119,117,116,134,135,138,143,154,166,178,190,198,211,225,226,232,238,238,235,237,238,239,238,231,229,229,228,229,229,227,229,233,231,220,218,225,225,224,225,224,225,223,222,155,107,105,102,99,74,30,20,17,16,21,24,23,17,13,12,11,10,10,9,12,11,13,12,90,151,119,102,88,76,67,61,56,56,48,60,103,53,4,23,58,38,36,40,47,77,42,21,21,25,26,21,20,15,23,48,49,31,19,21,22,18,18,16,16,29,37,36,36,41,43,48,56,62,48,27,20,19,33,43,53,57,45,31,28,36,40,40,34,35,40,45,49,52,56,61,64,61,51,39,30,22,20,19,19,21,21,21,26,31,34,40,37,34,26,24,17,19,40,39,34,45,30,20,21,26,26,24,16,16,21,25,27,26,21,20,21,21,22,23,29,44,42,35,17,19,24,22,26,43,50,47,94,93,92,100,90,84,74,66,77,71,52,88,98,95,77,100,114,139,129,133,136,136,137,136,138,137,139,138,139,138,139,140,139,138,141,139,139,140,138,138,138,138,137,136,137,136,134,134,134,133,132,130,127,128,127,126,123,125,124,123,120,119,116,115,134,135,138,145,157,169,181,195,205,221,226,224,228,231,233,234,237,240,241,239,233,230,231,229,228,222,222,230,234,231,224,221,223,225,224,226,228,226,226,221,143,106,106,101,97,65,26,24,19,17,24,23,22,17,10,11,11,9,10,12,11,12,7,57,150,128,111,88,75,72,64,59,53,50,49,56,98,54,4,16,57,44,35,35,50,74,33,20,20,22,23,20,17,14,38,53,37,20,20,20,18,16,17,15,20,33,38,37,38,42,43,49,55,58,41,28,21,20,28,40,45,57,50,39,28,24,33,42,40,35,32,39,43,48,53,57,60,59,47,37,29,22,19,19,19,22,22,21,24,30,35,35,26,34,32,21,14,25,41,36,30,44,31,21,24,27,25,20,16,18,22,23,25,24,19,20,21,21,22,23,27,43,45,39,22,14,19,24,29,41,53,42,80,92,72,87,100,97,73,60,66,61,55,84,83,88,88,88,103,128,139,130,131,135,137,137,137,137,137,136,137,138,137,138,138,136,138,137,139,137,137,135,135,135,136,135,136,135,134,135,133,131,131,128,128,127,125,124,124,124,122,121,120,118,116,115,135,136,138,148,162,174,184,193,202,219,224,224,226,228,229,233,240,245,244,240,236,233,233,232,224,221,222,225,229,229,224,218,219,220,223,226,227,226,232,215,129,106,107,101,93,58,26,20,16,17,23,24,26,15,12,12,11,11,11,11,10,11,30,126,136,116,104,87,67,67,63,56,51,48,45,53,94,60,5,14,56,46,32,25,53,72,26,19,19,20,23,17,14,25,53,46,23,18,22,19,17,16,17,15,24,34,39,38,36,40,45,48,55,53,39,29,22,19,23,37,39,53,53,43,32,21,24,32,38,37,38,38,37,42,48,58,61,59,47,38,29,21,18,20,20,20,19,23,26,26,28,29,35,40,22,16,14,27,39,30,29,42,31,20,24,25,25,20,16,20,21,22,22,26,22,22,21,21,21,24,27,42,48,40,28,16,15,22,28,40,58,43,71,96,60,62,79,86,74,57,60,56,61,81,78,75,89,82,95,112,128,142,127,132,135,135,137,
868136,134,135,135,135,137,137,135,135,135,135,136,135,137,136,135,134,134,133,134,133,133,134,133,130,129,128,127,125,124,124,124,125,121,121,119,116,115,114,133,135,139,151,168,178,185,193,209,225,226,226,225,226,228,238,245,246,245,241,237,236,237,234,223,222,227,222,217,222,222,209,217,220,222,222,218,218,226,206,120,108,106,101,89,51,23,18,17,16,24,26,24,13,12,12,11,11,10,11,11,24,97,127,110,108,99,89,63,58,61,56,46,44,44,50,90,63,7,10,50,46,31,18,53,66,22,19,18,20,21,13,16,44,52,32,19,20,20,19,16,14,15,16,27,33,37,38,37,42,46,50,52,50,39,28,20,18,19,32,36,45,51,46,38,24,17,25,33,35,38,41,37,44,50,58,60,58,45,35,26,22,18,20,21,20,20,23,22,24,27,34,40,34,19,12,17,33,35,27,29,39,34,22,22,23,24,20,18,20,21,22,23,26,24,23,19,21,22,23,26,39,51,42,34,18,11,19,27,35,60,50,63,96,64,41,57,67,64,55,58,53,54,72,67,66,89,74,89,104,112,132,140,126,134,135,134,132,133,134,135,136,135,136,135,134,136,135,133,134,133,134,133,132,133,134,133,131,132,132,131,129,130,128,127,123,124,124,122,121,122,119,119,116,114,114,133,134,140,154,170,179,186,202,223,230,231,230,229,229,236,245,246,246,244,242,240,241,240,237,234,231,230,225,218,220,223,224,224,223,222,219,219,218,222,187,114,107,102,99,86,44,21,17,16,17,25,25,20,12,13,10,10,12,10,13,10,59,131,87,102,101,92,91,60,48,57,54,44,41,40,50,85,66,9,7,44,47,34,14,49,56,20,20,20,21,17,13,31,54,41,22,19,19,17,16,14,16,15,20,30,35,37,37,38,43,47,49,51,48,40,27,18,19,19,32,34,38,48,48,42,29,19,19,29,36,36,36,37,42,52,56,59,54,37,29,21,18,19,18,18,19,17,17,22,28,31,36,39,28,16,10,21,34,29,26,26,36,38,27,21,19,22,18,18,21,23,22,22,27,26,21,19,21,24,25,27,38,52,44,36,22,12,15,25,33,57,56,60,94,71,42,46,55,56,55,59,51,49,67,54,70,81,51,82,97,102,114,131,132,126,134,133,132,133,134,135,135,135,135,133,134,134,134,133,134,132,132,133,132,132,132,132,132,133,134,131,130,130,128,126,124,124,124,122,121,120,119,117,117,115,115,132,133,142,158,172,180,188,211,226,233,239,237,234,238,245,246,246,246,244,243,240,233,230,236,234,233,231,230,228,226,219,212,214,221,223,220,217,219,220,169,108,106,100,99,82,40,20,16,15,19,23,24,17,12,12,11,11,10,13,13,17,127,117,60,92,92,87,90,63,45,49,52,47,41,38,47,79,67,14,4,40,41,34,18,49,48,18,21,17,15,12,19,48,48,26,19,19,17,15,15,13,13,16,24,31,34,36,35,36,43,49,51,48,44,39,25,18,17,20,34,34,37,46,49,43,34,22,19,22,30,32,36,38,44,52,52,51,48,35,24,18,15,17,16,15,13,13,17,27,32,34,38,34,19,15,12,21,32,30,24,27,36,41,27,19,18,18,18,20,24,26,21,23,27,24,22,21,23,23,24,28,36,51,46,37,26,12,12,25,30,49,57,55,90,78,59,57,56,57,55,57,51,53,53,46,73,63,46,83,98,102,110,121,133,128,127,134,134,134,136,135,133,135,132,132,132,131,131,132,132,131,132,133,132,132,132,132,130,132,132,130,129,128,126,125,126,124,122,122,120,119,119,118,116,115,115,133,136,148,164,175,182,194,217,226,234,241,244,243,242,246,246,246,245,239,235,232,221,215,224,232,232,232,230,225,224,211,202,207,215,218,219,217,216,218,155,107,105,100,97,76,34,20,16,16,20,24,25,17,11,12,11,11,10,17,20,76,162,84,53,85,84,77,84,69,47,40,47,47,43,38,45,72,71,23,1,37,38,32,28,53,36,17,20,16,14,13,35,53,31,19,20,17,16,16,14,15,15,20,26,33,36,37,34,36,44,48,51,45,40,35,24,18,16,18,31,35,37,43,49,46,39,29,21,19,24,29,34,39,40,41,42,44,43,35,22,15,15,16,14,15,13,12,21,33,37,38,37,24,14,16,14,25,33,29,23,25,39,42,28,20,16,17,19,21,24,24,20,24,26,25,22,20,23,22,24,28,33,47,48,36,28,15,12,22,30,42,58,46,79,77,61,59,57,58,52,57,50,47,43,44,71,51,50,84,104,109,112,107,108,130,128,128,131,133,133,133,132,133,131,130,130,132,131,132,131,132,131,132,132,132,132,131,131,132,129,130,129,130,127,125,125,122,122,120,121,118,120,117,115,115,113,135,139,152,168,178,183,196,219,231,235,243,246,245,242,244,246,246,244,237,230,226,220,219,221,231,232,231,229,225,224,211,208,219,222,216,208,216,218,213,139,105,104,99,94,66,29,21,17,16,21,21,24,16,11,12,9,10,10,29,46,133,147,67,47,77,79,74,78,71,51,38,39,44,42,41,45,67,69,27,0,34,35,24,35,61,24,16,19,16,12,22,52,41,20,19,17,15,15,15,16,16,18,24,26,34,37,36,34,38,44,48,51,45,41,34,24,18,17,18,29,34,36,40,46,49,43,36,26,20,21,25,32,36,37,39,45,45,44,34,18,14,15,16,16,15,16,22,31,35,36,38,30,17,15,14,15,29,30,24,24,29,30,34,29,21,16,16,20,18,24,22,20,24,28,31,25,21,20,21,26,28,31,44,52,36,28,17,10,18,29,35,55,44,62,74,58,64,67,64,54,56,44,24,19,42,67,42,56,87,102,99,85,79,98,117,133,128,125,132,131,132,133,131,130,131,130,131,132,132,132,131,131,132,130,130,132,130,128,131,130,129,129,127,126,125,124,124,121,119,120,118,119,118,116,
868116,116,136,140,153,170,178,183,202,226,235,239,244,246,244,244,245,246,246,246,239,230,226,220,219,220,230,232,231,229,227,226,223,218,218,220,219,216,215,211,200,126,104,103,101,93,59,25,18,18,16,21,20,23,16,13,14,24,16,22,41,86,156,135,64,40,69,73,68,70,68,57,43,32,39,41,37,46,63,66,33,3,32,37,22,44,64,21,16,19,15,12,39,52,26,17,17,15,15,15,15,16,15,21,25,27,32,37,38,36,41,43,48,52,44,41,33,23,16,16,19,28,34,35,40,45,50,48,41,32,23,21,22,27,32,35,40,40,39,40,33,19,15,16,16,16,17,25,32,35,37,37,34,21,15,14,12,19,30,30,24,25,27,25,32,30,20,18,19,19,20,25,23,22,24,31,34,28,20,21,22,23,25,31,40,52,37,27,16,10,15,23,30,50,45,46,74,59,64,66,66,53,49,39,17,12,53,51,32,50,72,72,59,56,75,80,80,103,129,123,128,131,132,131,130,128,129,129,130,131,131,130,131,131,130,130,129,128,129,128,127,128,129,128,127,126,126,124,124,121,120,119,120,118,117,118,116,115,136,143,157,173,181,187,203,227,236,241,244,245,243,246,246,246,246,246,241,234,231,228,227,228,229,231,232,229,226,225,223,221,220,219,219,219,217,211,184,116,106,101,98,91,53,23,17,16,18,22,20,22,15,11,10,36,40,38,46,134,149,134,65,32,61,64,63,64,65,61,51,39,31,38,38,45,58,64,40,3,28,41,20,50,63,20,17,18,12,19,51,38,16,19,16,13,14,15,16,16,17,24,28,31,30,38,37,35,41,45,49,47,42,39,33,22,15,15,16,26,32,34,39,45,48,47,44,37,28,21,18,22,29,33,35,36,36,40,34,21,16,15,17,16,23,32,35,36,40,38,26,16,16,14,13,22,29,28,23,24,24,24,31,28,19,19,20,17,20,25,23,22,23,30,33,27,21,21,21,24,25,31,37,51,40,25,16,8,11,20,25,44,47,36,57,59,60,69,66,50,40,32,12,21,57,38,31,39,42,35,40,64,81,76,66,75,104,124,121,128,130,130,129,128,129,128,128,130,128,128,130,129,130,128,127,128,128,128,129,127,127,127,128,125,125,123,121,121,120,119,119,116,117,117,115,113,136,147,161,174,183,194,196,215,235,242,243,243,244,246,246,246,246,245,239,234,232,232,230,229,229,231,231,223,214,222,222,222,222,220,218,218,217,213,171,110,103,100,97,86,45,22,18,15,18,22,21,18,13,11,10,29,43,44,95,156,134,133,67,26,52,60,61,59,57,55,50,45,37,31,36,43,53,61,44,4,24,44,20,58,54,17,18,17,13,31,50,23,17,18,15,13,14,16,16,16,22,26,36,33,30,37,37,38,42,48,51,45,39,35,30,21,16,15,18,25,33,39,40,38,42,48,44,39,32,24,21,19,23,33,34,35,38,40,35,22,17,17,18,18,29,35,37,42,41,32,20,16,17,13,14,21,25,23,23,24,24,25,28,29,23,18,18,18,21,24,24,22,23,26,31,29,21,21,22,26,28,31,35,51,44,26,17,9,12,20,23,39,49,34,46,59,65,72,61,43,34,29,8,39,57,34,27,32,29,28,48,69,81,88,87,84,93,114,119,124,129,129,127,127,130,129,130,129,130,129,128,129,130,129,127,128,128,128,130,127,127,129,127,125,123,124,123,121,119,118,119,115,115,117,116,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
868,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
868,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
868,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
868,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r4=new Float32Array([536928535439074e-18,.0017767149256542325,9868113556876779e-19,4148837469983846e-19,38715670234523714e-20,34275383222848177e-20,34977475297637284e-20,3137863823212683e-19,29159875703044236e-20,2416582137811929e-19,21568386000581086e-20,17512166232336313e-20,17735701112542301e-20,15572068514302373e-20,1421236083842814e-19,16028177924454212e-20,17744307115208358e-20,21048536291345954e-20,17439229122828692e-20,15518222062382847e-20,13968673010822386e-20,13290249626152217e-20,12934464029967785e-20,14697012375108898e-20,1622126583242789e-19,17886908608488739e-20,15683964011259377e-20,12287561548873782e-20,10268668120261282e-20,10395971912657842e-20,97988813649863e-18,13123275130055845e-20,15440068091265857e-20,18537168216425925e-20,164005410624668e-18,2839989901985973e-19,34258468076586723e-20,6513576372526586e-19,7505434332415462e-19,1534155016997829e-19,11581366561586037e-20,872337186592631e-19,11644428741419688e-20,18694651953410357e-20,22342687589116395e-20,28259187820367515e-20,20482135005295277e-20,1850201515480876e-19,17657794523984194e-20,1810411922633648e-19,1456546742701903e-19,15448970953002572e-20,1620558905415237e-19,21289577125571668e-20,16718915139790624e-20,12038395652780309e-20,7837751036277041e-20,8299196633743122e-20,7789656956447288e-20,8797163900453597e-20,5915130896028131e-20,7427381933666766e-20,51360369980102405e-21,8004291885299608e-20,5950460763415322e-20,6680756632704288e-20,4476982576306909e-20,6387109169736505e-20,3956858563469723e-20,6656121695414186e-20,378702134185005e-19,674959082971327e-19,378702134185005e-19,6911329546710476e-20,378702134185005e-19,6468706123996526e-20,378702134185005e-19,6731506437063217e-20,378702134185005e-19,7
86855444125388749e-19,378702134185005e-19,6671189476037398e-20,378702134185005e-19,6601470522582531e-20,378702134185005e-19,6793086504330859e-20,378702134185005e-19,7529163121944293e-20,378702134185005e-19,6586812378372997e-20,378702134185005e-19,6708688306389377e-20,378702134185005e-19,6625907553825527e-20,378702134185005e-19,7355388515861705e-20,378702134185005e-19,6270153971854597e-20,378702134185005e-19,6377520185196772e-20,378702134185005e-19,6541324546560645e-20,378702134185005e-19,7200805703178048e-20,378702134185005e-19,613461816101335e-19,378702134185005e-19,6198653136380017e-20,378702134185005e-19,6759064854122698e-20,378702134185005e-19,7073972665239125e-20,378702134185005e-19,6147802923806012e-20,378702134185005e-19,59680638514691964e-21,378702134185005e-19,6909282819833606e-20,378702134185005e-19,7303652091650292e-20,378702134185005e-19,6069418668630533e-20,378702134185005e-19,5935583612881601e-20,378702134185005e-19,6536566070280969e-20,378702134185005e-19,6798787217121571e-20,378702134185005e-19,60338097682688385e-21,378702134185005e-19,5820321530336514e-20,378702134185005e-19,6361419946188107e-20,378702134185005e-19,6989201938267797e-20,378702134185005e-19,6694323383271694e-20,378702134185005e-19,6732574547640979e-20,378702134185005e-19,6391911301761866e-20,378702134185005e-19,6736563227605075e-20,378702134185005e-19,6430066423490644e-20,378702134185005e-19,6404649320757017e-20,378702134185005e-19,6488242070190609e-20,378702134185005e-19,6884110189275816e-20,378702134185005e-19,6323253910522908e-20,378702134185005e-19,6564436625922099e-20,378702134185005e-19,6015909093548544e-20,378702134185005e-19,6525005301227793e-20,378702134185005e-19,6223585660336539e-20,378702134185005e-19,6404094892786816e-20,378702134185005e-19,60932674387004226e-21,378702134185005e-19,6988296809140593e-20,378702134185005e-19,6400975689757615e-20,378702134185005e-19,6556687731062993e-20,378702134185005e-19,6369999755406752e-20,378702134185005e-19,6680801016045734e-20,378702134185005e-19,6450073851738125e-20,378702134185005e-19,6445914186770096e-20,378702134185005e-19,6755706272087991e-20,378702134185005e-19,7528928836109117e-20,378702134185005e-19,6260302325244993e-20,378702134185005e-19,6453847890952602e-20,378702134185005e-19,6990925612626597e-20,378702134185005e-19,720836833352223e-19,378702134185005e-19,6671652954537421e-20,3816438402282074e-20,6620767817366868e-20,378702134185005e-19,6865066097816452e-20,378702134185005e-19,7090099097695202e-20,38143876736285165e-21,6648268754361197e-20,38437352486653253e-21,6482720345957205e-20,378702134185005e-19,6998346361797303e-20,378702134185005e-19,7176325743785128e-20,378702134185005e-19,6557068991241977e-20,3805359665420838e-20,63246043282561e-18,378702134185005e-19,6883226888021454e-20,378702134185005e-19,7173745689215139e-20,378702134185005e-19,6763306009816006e-20,38562917325180024e-21,6777026283089072e-20,378702134185005e-19,6861486326670274e-20,378702134185005e-19,7337881834246218e-20,3867715713568032e-20,6957154255360365e-20,4006885501439683e-20,6557285814778879e-20,39085618482204154e-21,6984879291849211e-20,3823662700597197e-20,7527440902777016e-20,38954334740992635e-21,6883696187287569e-20,40272811020258814e-21,6932966789463535e-20,393734808312729e-19,7006274245213717e-20,3918687434634194e-20,7512420415878296e-20,4023242217954248e-20,6805801240261644e-20,41385173972230405e-21,6993185525061563e-20,4026003443868831e-20,7280352292582393e-20,40282953705172986e-21,7248943438753486e-20,40758161048870534e-21,7786218338878825e-20,4654816439142451e-20,9992012201109901e-20,1109405275201425e-19,4651627968996763e-19,5849948502145708e-19,404266087571159e-18,.0011950468178838491,.0020880606025457382,.00149253336712718,6921478779986501e-19,6993686547502875e-19,6566383526660502e-19,6611646967940032e-19,578276114538312e-18,44783117482438684e-20,3520578902680427e-19,2931186754722148e-19,22900682233739644e-20,19907117530237883e-20,16307455371133983e-20,11424933472881094e-20,11276031727902591e-20,10903055226663128e-20,15026095206849277e-20,13589902664534748e-20,13384316116571426e-20,11569607158889994e-20,12119645543862134e-20,11731818085536361e-20,13763933384325355e-20,1331848616246134e-19,16090334975160658e-20,13978045899420977e-2
8680,10663252032827586e-20,854818572406657e-19,6166059756651521e-20,5585511098615825e-20,6366051820805296e-20,60634913097601384e-21,8539681584807113e-20,7102506060618907e-20,15965249622240663e-20,23189531930256635e-20,38761054747737944e-20,4347136418800801e-19,18656191241461784e-20,11783123773057014e-20,6467402272392064e-20,10473030124558136e-20,20294071873649955e-20,2594724646769464e-19,3132489509880543e-19,26483816327527165e-20,23303850321099162e-20,2676101867109537e-19,26582623831927776e-20,16919415793381631e-20,15923655882943422e-20,1634525542613119e-19,2128960331901908e-19,16333635721821338e-20,10374574776506051e-20,8066870213951916e-20,5548053013626486e-20,8045857248362154e-20,8589622302679345e-20,7776050188113004e-20,4509781865635887e-20,5315498128766194e-20,4672214708989486e-20,50697341066552326e-21,4022912617074326e-20,4050548159284517e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3799633850576356e-20,378702134185005e-19,5793434684164822e-20,6242001836653799e-20,3015154507011175e-19,33186879591085017e-20,.0020610534120351076,6224187673069537e-19,8871190948411822e-19,6643353262916207e-19,3365503216627985e-19,41703556780703366e-20,5127839394845068e-19,4998862859793007e-19,3956254804506898e-19,30222401255741715e-20,26230240473523736e-20,2096649695886299e-19,18612224084790796e-20,16970562865026295e-20,1256099931197241e-19,8186006743926555e-20,48401099775219336e-21,45210377720650285e-21,584913905186113e-19,6134236900834367e-20,688614891259931e-19,7241390994749963e-20,7756317791063339e-20,9398022666573524e-20,9258917270926759e-20,8246946526924148e-20,9288535511586815e-20,9672262240201235e-20,7652508793398738e-20,7001839549047872e-20,40174727473640814e-21,378702134185005e-19,39722439396427944e-21,378702134185005e-19,4550957601168193e-20,378702134185005e-19,56098240747815e-18,4483109660213813e-20,11559898848645389e-20,1801957841962576e-19,18166241352446377e-20,8865483687259257e-20,57885732530849054e-21,9649115236243233e-20,15519360022153705e-20,19200296082999557e-20,2497693058103323e-19,22897428425494581e-20,2826581767294556e-19,3221900260541588e-19,2664400381036103e-19,15860739222262055e-20,1080415677279234e-19,11262632324360311e-20,12
868133239215472713e-20,8697532757651061e-20,6438572745537385e-20,5783222150057554e-20,5119536945130676e-20,9704229887574911e-20,12153642455814406e-20,10903336078627035e-20,6233256863197312e-20,6831035716459155e-20,4476961839827709e-20,4689256093115546e-20,378702134185005e-19,3951599865104072e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3805847518378869e-20,378702134185005e-19,4079902282683179e-20,378702134185005e-19,379183329641819e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,45528082409873605e-21,378702134185005e-19,9756504732649773e-20,7331278902711347e-20,4170906904619187e-19,6843241862952709e-19,6857337430119514e-19,5047173472121358e-19,33729549613781273e-20,496222113724798e-18,7800726452842355e-19,6787474267184734e-19,4775327688548714e-19,3211756411474198e-19,3079602029174566e-19,2703036880120635e-19,2689340035431087e-19,24906941689550877e-20,1849493564805016e-19,11955849913647398e-20,4963404717273079e-20,50929294957313687e-21,3852505687973462e-20,55901353334775195e-21,6257108907448128e-20,8207282371586189e-20,8974094816949219e-20,10714757081586868e-20,112126072053797
86854e-20,10394081618869677e-20,9227130067301914e-20,10646554437698796e-20,9284742554882541e-20,8419214282184839e-20,4524074756773189e-20,3903617471223697e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,43588359403656796e-21,6224614480743185e-20,13056052557658404e-20,1222504797624424e-19,6708843284286559e-20,9201573993777856e-20,14036899665370584e-20,14573035878129303e-20,1947233104147017e-19,2029416646109894e-19,31133752781897783e-20,40498259477317333e-20,31368437339551747e-20,19739540584851056e-20,10671776544768363e-20,13156695058569312e-20,1128286894527264e-19,10194501373916864e-20,6540295726154e-17,7574937626486644e-20,7241472485475242e-20,13542147644329816e-20,22981021902523935e-20,16514075105078518e-20,11575565440580249e-20,10159273369936273e-20,652674789307639e-19,6532453699037433e-20,3875105903716758e-20,42676103475969285e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,388603875762783e-19,378702134185005e-19,4168360464973375e-20,378702134185005e-19,4518742935033515e-20,4235962114762515e-20,4502788215177134e-20,378702134185005e-19,42977819248335436e-21,378702134185005e-19,41120722016785294e-21,378702134185005e-19,39788610592950135e-21,45192089601187035e-21,4078855999978259e-20,15512612299062312e-20,8149192435666919e-19,9365980513393879e-19,47689303755760193e-20,3027193306479603e-19,5341620417311788e-19,7697839755564928e-19,5125370807945728e-19,3217340854462236e-19,23257569409906864e-20,21699193166568875e-20,19885302754119039e-20,20831373694818467e-20,18779118545353413e-20,14046487922314554e-20,7663021824555472e-20,408111882279627e-19,385645980713889e-19,4264401286491193e-20,40565471863374114e-21,5130428326083347e-20,5668262019753456e-20,6950567330932245e-20,6886544724693522e-20,7809169619577006e-20,6747534644091502e-20,7157575601013377e-20,7017518510110676e-20,60999249399174005e-21,4667186294682324e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4014152000308968e-20,378702134185005e-19,9935132402461022e-20,7046793325571343e-20,5162411252968013e-20,4854874714510515e-20,7268191984621808e-20,7329180516535416e-20,11973579239565879e-20,13938745541963726e-20,18495119002182037e-20,2480529365129769e-19,20109595789108425e-20,1231466158060357e-19,899478473002091e-19,10264704906148836e-20,10813701373990625e-20,704311896697618e-19,51682640332728624e-21,44524847908178344e-21,6939926242921501e-20,9967638470698148e-20,13805351045448333e-20,9166439122054726e-2
8680,6239795038709417e-20,483516305394005e-19,47594719944754615e-21,378702134185005e-19,41670355130918324e-21,378702134185005e-19,38116129871923476e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4264914241502993e-20,378702134185005e-19,4229971455060877e-2
8680,378702134185005e-19,4105801053810865e-20,378702134185005e-19,41931380110327154e-21,378702134185005e-19,4042432556161657e-20,378702134185005e-19,3835443567368202e-20,378702134185005e-19,6220357317943126e-20,39457896491512656e-21,17625238979235291e-20,.0010513921733945608,.0011609335197135806,6101343897171319e-19,3304645069874823e-19,46386822941713035e-20,615605094935745e-18,3274587506894022e-19,17255442799068987e-20,1354266714770347e-19,12303092807997018e-20,11218478175578639e-20,10272842337144539e-20,9416994726052508e-20,7315217953873798e-20,6198747723829001e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42409461457282305e-21,4075077595189214e-20,5500371480593458e-20,4393185008666478e-20,531340810994152e-19,42779414798133075e-21,59582765970844775e-21,4501222792896442e-20,4467115650186315e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7217626989586279e-20,411600194638595e-19,4352584801381454e-20,378702134185005e-19,43540756450966e-18,6577288877451792e-20,8991206414066255e-20,11572543735383078e-20,11457678920123726e-20,10327647760277614e-20,121567994938232e-18,7661451672902331e-20,956650183070451e-19,8150868234224617e-20,7495258614653721e-20,378702134185005e-19,41354440327268094e-21,43534797441679984e-21,5298978430801071e-20,57414203183725476e-21,55554177379235625e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3801864659180865e-20,378702134185005e-19,3869572174153291e-20,4997636278858408e-20,44505486584967e-18,22070463455747813e-20,.0010926929535344243,.00157852319534868,8822804084047675e-19,5414351471699774e-19,5601313896477222e-19,48175521078519523e-20,2620293525978923e-19,14026465942151845e-20,8802783122519031e-20,7052883302094415e-20,6447290070354939e-20,54221894970396534e-21,41888884879881516e-21,44204090954735875e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,3830355854006484e-20,378702134185005e-19,38426631363108754e-21,378702134185005e-19,46415862016147e-18,378702134185005e-19,43102059862576425e-21,378702134185005e-19,4762684693560004e-20,378702134185005e-19,3790690243477002e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,496071224915795e-19,38265476177912205e-21,4231979255564511e-20,378702134185005e-19,4709948188974522e-20,378702134185005e-19,6122351624071598e-20,4519943831837736e-20,6304035923676565e-20,51050497859250754e-21,7030304550426081e-20,7699002890149131e-20,6497567665064707e-20,632532755844295e-19,4600049942382611e-20,38453923480119556e-21,51349201385164633e-21,378702134185005e-19,43629028368741274e-21,378702134185005e-19,47023673687363043e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4062676089233719e-20,38361435144906864e-21,4252840517438017e-20,6381247658282518e-20,5491423871717416e-20,2535354869905859e-19,.0010785367339849472,.0017220546724274755,.0013169263256713748,7931996951811016e-19,6013435777276754e-19,3736794169526547e-19,20875269547104836e-20,10770146764116362e-20,8974735101219267e-20,4845670628128573e-20,6126869993750006e-20,40403490856988356e-21,386202118534129
8681e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40591839933767915e-21,5477974264067598e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4145951243117452e-20,4172313492745161e-20,53295774705475196e-21,4524661198956892e-20,8230887760873884e-20,6986832886468619e-20,848196359584108e-19,4682959115598351e-20,39890997868496925e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38817976019345224e-21,378702134185005e-19,43882220779778436e-21,456118505098857e-19,5976737156743184e-20,7184607966337353e-20,56811695685610175e-21,25360670406371355e-20,924020423553884e-18,.0016560540534555912,.0012167212553322315,6993534043431282e-19,5911983316764235e-19,3611082211136818e-19,20308051898609847e-20,10398748418083414e-20,682012178003788e-19,42708725231932476e-21,4717307456303388e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4726359111373313e-20,5876060458831489e-20,378702134185005e-19,378702134185005e-19,4158378942520358e-20,378702134185005e-19,4260893183527514e-20,50456532335374504e-21,55773361964384094e-21,847059054649435e-19,8255241846200079e-20,7263557927217335e-20,4051244104630314e-20,378702134185005e-19,40661445382284e-18,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4164686470176093e-20,378702134185005e-19,4577621803036891e
868-20,455258232250344e-19,7749706855975091e-20,6120769830886275e-20,261327950283885e-18,7113979081623256e-19,.0013564755208790302,.0012096109567210078,6834915257059038e-19,5342011572793126e-19,3521151375025511e-19,21150329848751426e-20,11780062777688727e-20,10371009557275102e-20,4846266529057175e-20,6860533903818578e-20,461707531940192e-19,4181601616437547e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3844187449431047e-20,378702134185005e-19,38811893318779767e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6996912270551547e-20,54892650950932875e-21,5007162690162659e-20,378702134185005e-19,43140425987076014e-21,51546678150771186e-21,7498538616346195e-20,7533558527939022e-20,12195357703603804e-20,11508606257848442e-20,12038219574606046e-20,575125050090719e-19,41995288484031335e-21,378702134185005e-19,38692396628903225e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41633265936980024e-21,38874288293300197e-21,5301115379552357e-20,7233507494674996e-20,57756162277655676e-21,24944517645053566e-20,479604525025934e-18,8348128176294267e-19,8189623476937413e-19,5445033311843872e-19,4511337319854647e-19,3227878187317401e-19,21143174672033638e-20,14147533511277288e-20,10787772771436721e-20,6649503484368324e-20,8542995055904612e-20,6145864608697593e-20,55936179705895483e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,381268109777011e-19,378702134185005e-19,4139789962209761e-20,38820337067591026e-21,4026003443868831e-20,378702134185005e-19,3847273546853103e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,47551166062476113e-21,4030407581012696e-20,621706058154814e-19,462733514723368e-19,4360161256045103e-20,5200912710279226e-20,6506954377982765e-20,8348731353180483e-20,10419725731480867e-20,15582972264382988e-20,1593721826793626e-19,13020529877394438e-20,6771658081561327e-20,3946423385059461e-20,3829928391496651e-20,378702134185005e-19,3857775664073415e-20,3795098018599674e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38177677197381854e-21,378702134185005e-19,378702134185005e-19,4186449950793758e-20,45458105887519196e-21,4638798054656945e-20,5308545951265842e-20,7519494101870805e-20,6023974492563866e-20,2490328624844551e-19,3860727301798761e-19,5915726069360971e-19,5911952466703951e-19,4529107827693224e-19,4008962423540652e-19,277382496278733e-18,17014295735862106e-20,1385077484883368e-19,11873216863023117e-20,8730525587452576e-20,9448068158235401e-20,6746879080310464e-20,6280607340158895e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3944089257856831e-20,378702134185005e-19,3932437175535597e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5059171962784603e-20,7900886703282595e-20,4750131120090373e-20,6406923057511449e-20,6432808004319668e-20,8487034210702404e-20,10683725122362375e-20,15409404295496643e-20,1933788589667529e-19,14967189054004848e-20,7830377580830827e-20,48756694013718516e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,4114038165425882e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3941707109333947e-20,378702134185005e-19,3914182525477372e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4386800719657913e-20,52188130212016404e-21,6445653707487509e-20,6408367335097864e-20,5205521665629931e-20,21467145415954292e-20,26104296557605267e-20,43689776794053614e-20,4211975901853293e-19,3313700435683131e-19,28348274645395577e-20,1902616349980235e-19,11170059588039294e-20,8343903755303472e-20,7212595664896071e-20,6453139940276742e-20,5238218727754429e-20,4458634430193342e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3950531390728429e-20,378702134185005e-19,394881353713572e-19,378702134185005e-19,4013539000879973e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19
868,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49958296585828066e-21,52625367970904335e-21,43271054892102256e-21,3833674418274313e-20,5952002538833767e-20,42830688471440226e-21,7741674198769033e-20,10438199387863278e-20,12311649334151298e-20,855897887959145e-19,41203165892511606e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,4658470061258413e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5306963430484757e-20,56402499467367306e-21,8030985190998763e-20,6471028609666973e-20,7561360689578578e-20,5376190529204905e-20,47010900743771344e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4020362757728435e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4258984336047433e-20,378702134185005e-19,4780979361385107e-2
8680,4214807631797157e-20,6517682049889117e-20,4798449299414642e-20,20362724899314344e-20,26537777739576995e-20,34635394695214927e-20,33807315048761666e-20,25128721608780324e-20,19081434584222734e-20,11180437286384404e-20,8704405627213418e-20,44738739234162495e-21,53671970817958936e-21,3977354208473116e-20,5020024400437251e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,48961290303850546e-21,3988965545431711e-20,50918326451210305e-21,378702134185005e-19,3846676190732978e-20,4481678479351103e-20,7761979941278696e-20,8229342347476631e-20,7281935540959239e-20,3886716876877472e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,787702520028688e-19,11369521234882995e-20,18285626720171422e-20,32372321584261954e-20,36772925523109734e-20,3517956065479666e-19,3325814031995833e-19,2705163205973804e-19,2132056833943352e-19,8761035860516131e-20,1011450367514044e-19,4355025521363132e-20,6680752267129719e-20,42987165215890855e-21,6833759107394144e-20,3881540760630742e-20,38832960854051635e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3803697109105997e-20,378702134185005e-19,4669608824769966e-20,5510288247023709e-20,48392881581094116e-21,19374345720279962e-20,22593123139813542e-20,29947623261250556e-20,2900380059145391e-19,18283077224623412e-20,1471201831009239e-19,8487358718411997e-20,5065878212917596e-20,43695410568034276e-21,378702134185005e-19,46685901907039806e-21,3800618287641555e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4395
868767246023752e-20,378702134185005e-19,5324943776940927e-20,42917490645777434e-21,378702134185005e-19,378702134185005e-19,5889125168323517e-20,5178351420909166e-20,60273800045251846e-21,4135386552661657e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3810330599662848e-20,5905403304495849e-20,12058359425282106e-20,23825855168979615e-20,39053495856933296e-20,6124487845227122e-19,8550854399800301e-19,9850220521911979e-19,8782636723481119e-19,8901956025511026e-19,7702772854827344e-19,63710828544572e-17,42671835399232805e-20,35885791294276714e-20,2739170449785888e-19,21896802354604006e-20,14562858268618584e-20,2639559388626367e-19,22146089759189636e-20,1328089856542647e-19,5470324686029926e-20,4509466089075431e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39121805457398295e-21,3893242683261633e-20,4133642869419418e-20,46921024477342144e-21,6780387047911063e-20,517876869707834e-19,21727952116634697e-20,336836208589375e-18,3581119526643306e-19,28467184165492654e-20,17518347885925323e-20,16265605518128723e-20,8489294850733131e-20,6770739855710417e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,401427096221596e-19,8103161962935701e-20,3814811134361662e-20,39628997910767794e-21,38157799281179905e-21,43723870476242155e-21,507996192027349e-19,46584267693106085e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7076900510583073e-20,15149037062656134e-20,23075149510987103e-20,3867831255774945e-19,6803117576055229e-19,.001695851911790669,.0029966477304697037,.0063943443819880486,.009333916008472443,.012726608663797379,.011387108825147152,.013316349126398563,.01078934594988823,.010811164043843746,.007651610765606165,.006699749734252691,.006068220362067223,.004927091300487518,.0024234033189713955,.0023591576609760523,.002120567951351404,.0012207685504108667,42577405110932887e-20,29385744710452855e-20,7438004104187712e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3945108619518578e-20,435353176726494e-19,5908570165047422e-20,6553468119818717e-2
8680,53163519623922184e-21,20737772865686566e-20,339708843966946e-18,5277544260025024e-19,3310806641820818e-19,17219669825863093e-20,19139115465804935e-20,1102355308830738e-19,6754085916327313e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,51520924898795784e-21,674822658766061e-19,44021846406394616e-21,3889500294462778e-20,41351813706569374e-21,378702134185005e-19,39575519622303545e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3867224950226955e-20,9635183232603595e-20,2425111160846427e-19,48436663928441703e-20,8904350106604397e-19,.0019290284253656864,.005407792516052723,.01598401367664337,.04619608446955681,.12893781065940857,.2705218195915222,.3627456724643707,.4297485947608948,.4688397943973541,.5022249221801758,.5069723725318909,.43984463810920715,.34128186106681824,.23530621826648712,.14802207052707672,.056514181196689606,.02356983721256256,.011911014094948769,.0058011626824736595,.0028653237968683243,.0014672948746010661,38933116593398154e-20,4612524207914248e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3846106483251788e-20,378702134185005e-19,4853905920754187e-20,4150558015680872e-20,6646335532423109e-20,4989892477169633e-20,1966414856724441e-19,30801843968220055e-20,6311696488410234e-19,5573477246798575e-19,2456064394209534e-19,23449381114915013e-20,1670944766374305e-19,10812035907292739e-20,3975341314799152e-20,3969275712734088e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5194913683226332e-20,59841928305104375e-21,7483160152332857e-20,378702134185005e-19,41781644540606067e
868-21,378702134185005e-19,38632260839222e-18,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3920404924429022e-20,378702134185005e-19,3872302477248013e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4971794260200113e-20,13605505228042603e-20,4636944504454732e-19,.0015011506620794535,.004833060782402754,.011279105208814144,.03350215032696724,.11236218363046646,.3025941252708435,.600701093673706,.848121166229248,.9482294917106628,.9692589044570923,.9788205027580261,.9824017882347107,.9855062961578369,.9867559671401978,.9814791679382324,.9655404686927795,.9240359663963318,.8473776578903198,.6128456592559814,.34337571263313293,.1339625120162964,.055366192013025284,.023296505212783813,.010356554761528969,.0025981487706303596,521516369190067e-18,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,47046276449691504e-21,614203090663068e-19,5131401485414244e-20,18662110960576683e-20,21462848235387355e-20,43017641291953623e-20,43293353519402444e-20,29767912928946316e-20,2348562702536583e-19,13145360571797937e-20,1018796028802
8681713e-20,4008127871202305e-20,4203783828415908e-20,378702134185005e-19,384017221222166e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38609749026363716e-21,378702134185005e-19,7495407044189051e-20,6795992521801963e-20,378702134185005e-19,3937735891668126e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,39393940824083984e-21,378702134185005e-19,4437174357008189e-20,378702134185005e-19,39852282498031855e-21,378702134185005e-19,3989197648479603e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3907115387846716e-20,8133485243888572e-20,15435987734235823e-20,5192575044929981e-19,.0019531024154275656,.011904468759894371,.07185861468315125,.2833905816078186,.5767180323600769,.849399209022522,.9452376961708069,.980428159236908,.9945660829544067,.9978920817375183,.9986547827720642,.99893718957901,.999058187007904,.999247670173645,.9993323087692261,.9989736080169678,.9981706142425537,.9961460828781128,.9934316277503967,.978377103805542,.9413254857063293,.818746030330658,.5775551795959473,.24015556275844574,.07927820831537247,.015573163516819477,.0020886599086225033,2899352984968573e-19,995137233985588e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3816518801613711e-20,3907177233486436e-20,403793019359e-16,50476082833483815e-21,7378718146355823e-20,56032760767266154e-21,2089423214783892e-19,2007254952332005e-19,23505876015406102e-20,3093999403063208e-19,2914648503065109e-19,34248846350237727e-20,15822250861674547e-20,1043319862219505e-19,4525549229583703e-20,5372659506974742e-20,38047131965868175e-21,493999250466004e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4100780643057078e-20,8424269617535174e-20,4846718002227135e-20,51212526159361005e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,38821926864329726e-21,38960901292739436e-21,55766093282727525e-2
8681,39782193198334426e-21,41427352698519826e-21,378702134185005e-19,40810973587213084e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6460010627051815e-20,1796353462850675e-19,4720139841083437e-19,.0013819774612784386,.005796492099761963,.03316217288374901,.22065716981887817,.7165389657020569,.9529639482498169,.9875410199165344,.9969050288200378,.9986176490783691,.9993937015533447,.9997374415397644,.9998729228973389,.9998989105224609,.9999237060546875,.9999356269836426,.9999499320983887,.9999556541442871,.9999312162399292,.9998871088027954,.999777615070343,.9996851682662964,.9992126822471619,.9977104663848877,.9912814497947693,.9701959490776062,.8566587567329407,.5446135997772217,.15037930011749268,.02307010442018509,.003670699195936322,.0011063682613894343,16902851348277181e-20,6814547668909654e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38320376916090026e-21,378702134185005e-19,3854897659039125e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4109795190743171e-20,4492469088290818e-20,6639893399551511e-20,7789430674165487e-20,58030924265040085e-21,20237643911968917e-20,13355040573514998e-20,15171492123045027e-20,1737403217703104e-19,17242935427930206e-20,2333493612241e-16,14452703180722892e-20,6563191709574312e-20,4113002069061622e-20,3949173697037622e-20,44638480176217854e-21,3883470708387904e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4739583164337091e-20,39860664401203394e-21,424698882852681e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4254021041560918e-20,378702134185005e-19,4691314825322479e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4052794974995777e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38500744267366827e-21,7894945156294852e-20,33862184500321746e-20,7820583996362984e-19,.003556963987648487,.02151944860816002,.13095752894878387,.5237500667572021,.9168384671211243,.9879811406135559,.9979602098464966,.9994299411773682,.9997633099555969,.9998630285263062,.9999133348464966,.999943733215332,.999968409538269,.999968409538269,.99997878074646,.9999837875366211,.9999887943267822,.9999903440475464,.9999892711639404,.9999815225601196,.9999754428863525,.99994957447052,.9998769760131836,.9997092485427856,.9990022778511047,.9970484375953674,.9896723031997681,.9536241292953491,.7358858585357666,.23635300993919373,.036172766238451004,.006358238868415356,.0012567390222102404,3756838559638709e-19,4337021891842596e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38247824704740196e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3965195355704054e-20,378702134185005e-19,4947210618411191e-20,4757477290695533e-20,7530864968430251e-20,52158367907395586e-21,19199319649487734e-20,1674768136581406e-19,12385031732264906e-20,12369986507110298e-20,8644055196782574e-20,10603420378174633e-20,911316747078672e-19,8283166971523315e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4077192716067657e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38074176700320095e-21,42121864680666476e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,654305040370673e-19,30823671841062605e-2
8680,.0023284433409571648,.010737833566963673,.0599006786942482,.4073288142681122,.8830074667930603,.9783416986465454,.9976716637611389,.999544620513916,.9998859167098999,.9999376535415649,.9999610185623169,.9999634027481079,.999971866607666,.9999785423278809,.9999874830245972,.9999889135360718,.9999918937683105,.9999934434890747,.9999951124191284,.9999951124191284,.9999954700469971,.9999943971633911,.9999942779541016,.999991774559021,.9999793767929077,.9999585151672363,.9998760223388672,.9996750354766846,.9990022778511047,.9961534142494202,.9685969352722168,.7647151350975037,.259315550327301,.06095372885465622,.014095430262386799,.0031481722835451365,3280025557614863e-19,10319343709852546e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41417795728193596e-21,3801278944592923e-20,56731536460574716e-21,7289264613064006e-20,5677035733242519e-20,18363184062764049e-20,14471505710389465e-20,10244472650811076e-20,11725958029273897e-20,58273046306567267e-21,6214082532096654e-20,5656655412167311e-20,5297318421071395e-20,378702134185005e-19,378702134185005e-19,39282935176743194e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40707109292270616e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6756550283171237e-20,3127672243863344e-19,.0015652647707611322,.014882456511259079,.09332150220870972,.5354728102684021,.9541880488395691,.9963294863700867,.9993122816085815,.9998650550842285,.9999645948410034,.9999829530715942,.999983549118042,.9999847412109375,.9999849796295166,.9999886751174927,.9999933242797852,.9999963045120239,.9999967813491821,.9999972581863403,.9999974966049194,.9999974966049194,.9999973773956299,.9999970197677612,.9999971389770508,.9999973773956299,.9999972581863403,.999995231628418,.9999910593032837,.9999815225601196,.9999501705169678,.9997385144233704,.999218225479126,.992313802242279,.947953999042511,.7480447292327881,.42841601371765137,.12970784306526184,.01262542512267828,941207748837769e-18,2888646849896759e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3793299765675329e-20,378702134185005e-19,378702134185005e-19,40377646655542776e-21,46943703637225553e-21,5137534026289359e-20,60847512941109017e-21,8514875662513077e-20,6220074283191934e-20,2054394135484472e-19,22608120343647897e-20,15314803749788553e-20,14265807112678885e-20,7160963286878541e-20,7229515904327855e-20,4528218414634466e-20,4929228452965617e-20,378702134185005e-19,43578329496085644e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,47051315050339326e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4399717727210373e-20,11468664888525382e-20,46218829811550677e-20,.0031614729668945074,.02349114418029785,.212600439786911,.7339221835136414,.9777266383171082,.9984273910522461,.9998450875282288,.9999265670776367,.9999759197235107,.9999886751174927,.9999934434890747,.9999933242797852,.999993085861206,.9999946355819702,.9999961853027344,.999997615814209,.9999986886978149,.9999988079071045,.9999988079071045,.9999988079071045,.9999986886978149,.9999983310699463,.9999980926513672,.9999980926513672,.9999984502792358,.9999983310699463,.9999978542327881,.9999973773956299,.9999966621398926,.9999935626983643,.9999556541442871,.999837338924408,.9985173344612122,.991865336894989,.9619122743606567,.8885321617126465,.5899755358695984,.11031054705381393,.006492501124739647,.0013698212569579482,1265809260075912e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4050955249113031e-20,4050124698551372e-20,42886866140179336e-21,378702134185005e-19,4818878005607985e-20,5783089000033215e-20,7906790415290743e-20,9065782796824351e-20,6563174247276038e-20,2063792198896408e-19,16839404997881502e-20,2459558309055865e-19,14293583808466792e-20,50694390665739775e-21,8859099034452811e-20,47599121899111196e-21,38529615267179906e-21,4084929605596699e-20,41313807741971686e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3828457556664944e-20,39795791963115335e-2
8681,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4424700455274433e-20,12736645294353366e-20,7123732357285917e-19,.004133723210543394,.041147056967020035,.3105306029319763,.862207293510437,.9885519742965698,.9989621639251709,.9998685121536255,.9999663829803467,.9999563694000244,.9999648332595825,.9999855756759644,.9999929666519165,.9999951124191284,.9999973773956299,.9999980926513672,.999998927116394,.9999991655349731,.9999994039535522,.9999992847442627,.9999992847442627,.9999991655349731,.9999990463256836,.9999988079071045,.9999985694885254,.9999984502792358,.9999984502792358,.9999979734420776,.9999978542327881,.9999978542327881,.999997615814209,.9999957084655762,.9999818801879883,.9999361038208008,.9996776580810547,.998524010181427,.9931052327156067,.9799647331237793,.8988038301467896,.5148210525512695,.08617931604385376,.00598894851282239,46993469004519284e-20,6690227019134909e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,392438487324398e-19,378702134185005e-19,3888803257723339e-20,378702134185005e-19,4438218820723705e-20,378702134185005e-19,5413794860942289e-20,51709597755689174e-21,8077888196567073e-20,6027810013620183e-20,20169492927379906e-20,16864620556589216e-20,18471958173904568e-20,2757438051048666e-19,9540857718093321e-20,10719382407842204e-20,7700249989284202e-20,45415727072395384e-21,378702134185005e-19,3909791848855093e-20,3939568705391139e-20,45551951188826934e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4125546547584236e-20,5835202682646923e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3955292049795389e-20,3789262336795218e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,12614912702701986e-20,663429731503129e-18,.006159854121506214,.054970014840364456,.42531782388687134,.9124976396560669,.9946483969688416,.999247670173645,.999884843826294,.9999455213546753,.9999775886535645,.9999731779098511,.9999666213989258,.999987006187439,.9999947547912598,.9999969005584717,.9999986886978149,.9999991655349731,.9999995231628418,.9999995231628418,.9999995231628418,.9999994039535522,.9999994039535522,.9999992847442627,.9999991655349731,.9999988079071045,.9999984502792358,.9999983310699463,.9999980926513672,.9999971389770508,.9999971389770508,.9999979734420776,.9999977350234985,.9999959468841553,.9999880790710449,.9999768733978271,.9999147653579712,.9997381567955017,.9986577033996582,.9951632618904114,.9719498157501221,.8359779119491577,.3715687692165375,.045277684926986694,.0023641055449843407,40787062607705593e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38628226320724934e-21,378702134185005e-19,5087791942059994e-20,6689912697765976e-20,5735013837693259e-20,1890316780190915e-19,13318168930709362e-20,12850647908635437e-20,18751350580714643e-20,17679069424048066e-20,11736541637219489e-20,5273428905638866e-20,4313284080126323e-20,378702134185005e-19,378702134185005e-19,43089439714094624e-21,413096604461316e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4580939275911078e-20,43200892832828686e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4366353459772654e-20,3900808223988861e-20,4008459291071631e-20,4165319842286408e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4961367812938988e-20,616391989751719e-19,5211695097386837e-19,.003341587260365486,.028878506273031235,.26411065459251404,.85200
86879851150513,.9935461282730103,.9995287656784058,.9998724460601807,.999943733215332,.9999430179595947,.999956488609314,.9999829530715942,.9999923706054688,.9999974966049194,.9999992847442627,.9999994039535522,.9999996423721313,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999995231628418,.9999990463256836,.9999988079071045,.9999988079071045,.9999985694885254,.999997615814209,.9999973773956299,.9999984502792358,.9999985694885254,.9999973773956299,.9999943971633911,.9999892711639404,.9999687671661377,.999897837638855,.9994800686836243,.998474657535553,.9895877838134766,.9462896585464478,.6543589234352112,.1902950257062912,.019113941118121147,9247823036275804e-19,44361891923472285e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3827071122941561e-20,3796829332713969e-20,43246265704510733e-21,4266507312422618e-20,672218666295521e-19,5330307249096222e-20,19575946498662233e-20,17618332640267909e-20,13338694407138973e-20,14012855535838753e-20,18888694467023015e-2
8680,3054445842280984e-19,8520032133674249e-20,50091392040485516e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,392003967135679e-19,378702134185005e-19,3906534402631223e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39512211515102535e-21,378702134185005e-19,3965087671531364e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,388627995562274e-19,4298031853977591e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,59813057305291295e-21,17660734010860324e-20,.0029853207524865866,.03275712952017784,.25383102893829346,.813231348991394,.9880833029747009,.999110758304596,.9999020099639893,.9999303817749023,.9999510049819946,.9999537467956543,.9999581575393677,.9999877214431763,.9999973773956299,.9999991655349731,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999994039535522,.9999990463256836,.9999986886978149,.9999985694885254,.9999984502792358,.999997615814209,.9999969005584717,.9999979734420776,.9999985694885254,.9999979734420776,.9999961853027344,.9999933242797852,.9999834299087524,.9999637603759766,.9998311400413513,.9995145797729492,.9971958994865417,.9885536432266235,.9086868762969971,.45927107334136963,.08020893484354019,.00629740534350276,21305185509845614e-20,5828533539897762e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38806301745353267e-21,3828302942565642e-20,52587467507692054e-21,56283213780261576e-21,5294825677992776e-20,18518567958381027e-20,14224201731849462e-20,1769998634699732e-19,19622850231826305e-20,15871351934038103e-20,22279740369413048e-20,1138518491643481e-19,3833973460132256e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,44594358769245446e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,44765271013602614e-21,378702134185005e-19,44667198380921036e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,12525093916337937e-20,3567934618331492e-19,.00722578214481473,.13118886947631836,.7113847136497498,.984322726726532,.9988343119621277,.9997407793998718,.9999077320098877,.9998917579650879,.9999017715454102,.9999662637710571,.9999903440475464,.9999969005584717,.9999994039535522,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999995231628418,.9999991655349731,.999998927116394,.9999986886978149,.9999985694885254,.9999974966049194,.9999970197677612,.9999979734420776,.9999985694885254,.9999982118606567,.9999969005584717,.999992847442627,.9999821186065674,.9999691247940063,.9998672008514404,.9996696710586548,.9989354
868014396667,.9972463846206665,.9707968831062317,.7002268433570862,.1766725778579712,.015255156904459,9690499282442033e-19,10118762293132022e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4761831587529741e-20,3945388016290963e-20,6246190605452284e-20,52307903388282284e-21,19934106967411935e-20,20222629245836288e-20,13071733701508492e-20,20621833391487598e-20,13999395014252514e-20,13001782645005733e-20,11264820204814896e-20,11068776075262576e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3966786607634276e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,12625915405806154e-20,.001729604322463274,.041612908244132996,.44746479392051697,.9408321380615234,.9968536496162415,.9997174143791199,.9998210072517395,.9998846054077148,.9998760223388672,.9998748302459717,.9999761581420898,.9999963045120239,.999998927116394,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999995231628418,.9999991655349731,.9999988079071045,.9999986886978149,.9999985694885254,.9999978542327881,.9999973773956299,.9999980926513672,.9999985694885254,.9999978542327881,.9999960660934448,.9999934434890747,.9999841451644897,.9999737739562988,.9998952150344849,.9997648596763611,.9994016885757446,.9990435838699341,.9913181066513062,.8673046827316284,.3501299321651459,.042497485876083374,.0019684263970702887,32556368387304246e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4161703327554278e-20,57442030083
86862092e-20,5615203917841427e-20,20868204592261463e-20,15878654085099697e-20,15111816173885018e-20,10665014997357503e-20,8895660721464083e-20,10094459867104888e-20,7731692312518135e-20,7961672963574529e-20,39013215427985415e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,23051508469507098e-20,.0055523947812616825,.12915273010730743,.7785918116569519,.9832358956336975,.998647153377533,.9997808337211609,.9998154044151306,.9998381733894348,.9999114274978638,.9999716281890869,.9999955892562866,.9999995231628418,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999996423721313,.9999994039535522,.9999994039535522,.9999994039535522,.9999990463256836,.9999988079071045,.9999990463256836,.999998927116394,.9999977350234985,.9999954700469971,.9999939203262329,.9999876022338867,.9999783039093018,.9999163150787354,.999815046787262,.9995964169502258,.9994279146194458,.9948807954788208,.94569993019104,.5304408073425293,.06334169954061508,.0029367089737206697,249423406785354e-18,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3923995609511621e-20,4059798447997309e-20,6243586540222168e-20,58259374782210216e-21,22463517962023616e-20,16623538977000862e-20,1496839540777728e-19,1461656065657735e-19,54412255849456415e-21,12592786515597254e-20,8236808207584545e-20,6836569082224742e-20,4106297637918033e-20,5545962631003931e-2
8680,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,43410022044554353e-20,.014642719179391861,.295306533575058,.8977242112159729,.9934335947036743,.9988526105880737,.9997469782829285,.9997828602790833,.9997953772544861,.9999377727508545,.9999896287918091,.9999983310699463,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999995231628418,.9999996423721313,.9999996423721313,.9999995231628418,.9999994039535522,.9999994039535522,.999998927116394,.9999973773956299,.9999946355819702,.999994158744812,.9999881982803345,.9999792575836182,.9999278783798218,.9998704195022583,.9997478127479553,.9996912479400635,.997666597366333,.981261134147644,.7654414772987366,.137533500790596,.006814137101173401,7691166247241199e-19,4035269739688374e-20,4061816798639484e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,37988200347172096e-21,3795266093220562e-20,5111908103572205e-20,5542371582123451e-20,55646058171987534e-21,211924736504443e-18,11141465074615553e-20,10935604223050177e-20,129222622490488e-18,7435536099364981e-20,1143574554589577e-19,12376283120829612e-20,54363470553653315e-21,45320244680624455e-21,4351313691586256e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3918039510608651e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5449204472824931e-19,.01838383451104164,.3521987497806549,.9425172805786133,.9958829879760742,.9987942576408386,.999491810798645,.9997014999389648,.9998906850814819,.9999829530715942,.999997615814209,.9999991655349731,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999998807907104,.9999997615814209,.9999996423721313,.9999995231628418,.9999991655349731,.9999977350234985,.9999949932098389,.9999940395355225,.9999877214431763,.9999790191650391,.9999475479125977,.999909520149231,.9997984766960144,.999708890914917,.9983166456222534,.9896609783172607,.8825758695602417,.30670446157455444,.026450252160429955,.0018220936181023717,1209797992487438e-19,8186585182556883e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,47635287046432495e-21,383380611310713e-19,6517978908959776e-20,5630274608847685e-20,21035531244706362e-20,14390431169886142e-20,9356210648547858e-20,12847446487285197e-20,11985591117991135e-20,19471507403068244e-20,1283366436837241e-19,6151794514153153e-20,378702134185005e-19,4678188270190731e-20,37928559322608635e-21,38560778193641454e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5147027695784345e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8226549252867699e-19,.021779963746666908,.3958272933959961,.9485020637512207,.996695876121521,.9986239671707153,.9992106556892395,.9996874332427979,.9999287128448486,.9999916553497314,.999998927116394,.9999992847442627,.9999996423721313,.9999996423721313,.9999996423721313,.9999996423721313,.9999997615814209,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999995231628418,.9999991655349731,.9999982118606567,.9999953508377075,.9999916553497314,.9999812841415405,.9999727010726929,.9999428987503052,.9999300241470337,.9998540878295898,.9997534155845642,.9987007975578308,.9943159222602844,.9416046738624573,.531322181224823,.0760192945
868599556,.0075964611023664474,47826688387431204e-20,19644170242827386e-20,4299210922908969e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3841180296149105e-20,52460811275523156e-21,5445644274004735e-20,20324983051978052e-20,10671268682926893e-20,7778363942634314e-20,11596807598834857e-20,10734320676419884e-20,217946115299128e-18,16084221715573221e-20,4625399742508307e-20,378702134185005e-19,378702134185005e-19,38472149753943086e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,44133201299700886e-21,3950003883801401e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,498877780046314e-19,3916328205377795e-20,9488956420682371e-19,.026795322075486183,.4229377508163452,.9554060101509094,.9966064691543579,.9986398816108704,.9995187520980835,.9998753070831299,.999980092048645,.9999967813491821,.9999992847442627,.9999992847442627,.9999994039535522,.9999994039535522,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999996423721313,.9999994039535522,.9999985694885254,.9999958276748657,.9999904632568359,.9999743700027466,.9999608993530273,.9999384880065918,.9999333620071411,.9999016523361206,.9998443722724915,.9992045760154724,.996150016784668,.9559085369110107,.610052227973938,.12835466861724854,.01232878491282463,.0012082093162462115,24791821488179266e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38412483263527974e-21,378702134185005e-19,6452875095419586e-20,53820254834135994e-21,20701087487395853e-20,13886064698453993e-20,7210340845631436e-20,9648751438362524e-20,8624599286122248e-20,14459497469943017e-20,17734518041834235e-20,8452553447568789e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,3865566395688802e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,46864457544870675e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4678586992667988e-20,694437330821529e-19,.0013714408269152045,.02479168027639389,.3901342749595642,.9299638867378235,.9944626092910767,.9981503486633301,.9995511770248413,.9999246597290039,.9999910593032837,.9999966621398926,.999998927116394,.9999990463256836,.999998927116394,.999998927116394,.999998927116394,.9999991655349731,.9999994039535522,.9999995231628418,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999995231628418,.9999992847442627,.9999984502792358,.9999947547912598,.9999878406524658,.999962329864502,.9999315738677979,.9998950958251953,.9999128580093384,.999885082244873,.9998645782470703,.999439537525177,.9972482919692993,.9677955508232117,.6370242238044739,.13073107600212097,.021482523530721664,.00262575875967741,728827842976898e-18,5535993477678858e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3799033584073186e-20,4767440987052396e-20,5311680070008151e-20,19897792662959546e-20,9087398939300328e-20,570295742363669e-19,6356548692565411e-20,5965657692286186e-20,12407505710143596e-20,10785348422359675e-20,6220616342034191e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38292346289381385e-21,3878499046550132e-20,378702134185005e-19,378702134185005e-19,4203041680739261e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4082826490048319e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5804013562737964e-20,11753418220905587e-20,.0017206961056217551,.02647666446864605,.3456803262233734,.9069576263427734,.9917314648628235,.9979817271232605,.999697208404541,.9999643564224243,.9999934434890747,.9999948740005493,.9999970197677612,.9999983310699463,.9999988079071045,.9999988079071045,.999998927116394,.9999992847442627,.9999995231628418,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999994039535522,.999998927116394,.9999979734420776,.9999945163726807,.9999890327453613,.999964714050293,.9999113082885742,.9998385310173035,.9998648166656494,.9998819828033447,.9998733997344971,.9995445013046265,.9982653260231018,.9736384749412537,.6318104863166809,.12031763792037964,.02112634666264057,.0034723146818578243,8071475313045084e-19,7271877984749153e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005
868e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41076225897995755e-21,378702134185005e-19,6378046964528039e-20,5882040932192467e-20,23125392908696085e-20,12937336578033864e-20,6604857480851933e-20,9118994057644159e-20,481926035718061e-19,9526219218969345e-20,9282815153710544e-20,6037639832356945e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3880725125782192e-20,4334752156864852e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6135104922577739e-20,21144587663002312e-20,.0027686727698892355,.026915499940514565,.2866618037223816,.831177294254303,.983876645565033,.9974563717842102,.9997358918190002,.9999759197235107,.999995231628418,.9999912977218628,.9999920129776001,.9999963045120239,.9999978542327881,.9999983310699463,.9999986886978149,.999998927116394,.9999992847442627,.9999995231628418,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.999998927116394,.9999979734420776,.9999949932098389,.9999920129776001,.999972939491272,.9999344348907471,.9998522996902466,.9998273253440857,.9998569488525391,.9999254941940308,.9997677206993103,.9991440773010254,.9857571125030518,.7351236939430237,.16693241894245148,.04437746852636337,.007165172602981329,.0014556021196767688,14458598161581904e-20,5727581446990371e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5253295603324659e-20,6709322769893333e-20,2666438522282988e-19,10716463293647394e-20,6442348239943385e-20,9163397044176236e-20,6059052611817606e-20,7110298611223698e-20,5083431824459694e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,390550667361822e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42619212763383985e-21,12727431021630764e-20,46884792391210794e-20,.004091083072125912,.0340937040746212,.25702062249183655,.7737075090408325,.9753374457359314,.9977509379386902,.9998460412025452,.9999889135360718,.9999972581863403,.9999927282333374,.9999897480010986,.9999949932098389,.9999974966049194,.9999985694885254,.9999990463256836,.999998927116394,.9999992847442627,.9999995231628418,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999997615814209,.9999996423721313,.999998927116394,.9999969005584717,.9999945163726807,.9999891519546509,.999980092048645,.9999521970748901,.9999152421951294,.9999206066131592,.9999659061431885,.9999176263809204,.9997273087501526,.9950608015060425,.8797844052314758,.37191420793533325,.12261275947093964,.023688217625021935,.002446591155603528,21241047943476588e-20,67816821683
86866387e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3870306318276562e-20,6361891428241506e-20,8832198363961652e-20,2911635674536228e-19,1594860659679398e-19,8898371743271127e-20,12469214561861008e-20,736275251256302e-19,9140700421994552e-20,5264756691758521e-20,3991518678958528e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4309285941417329e-20,42403069528518245e-21,4233904473949224e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41772476834012195e-21,16011133266147226e-20,6134813884273171e-19,.004453345201909542,.032311178743839264,.2423919141292572,.7160016298294067,.9654293656349182,.9977090358734131,.9998854398727417,.9999895095825195,.9999974966049194,.9999929666519165,.9999861717224121,.9999927282333374,.9999964237213135,.9999985694885254,.9999990463256836,.9999991655349731,.9999992847442627,.9999995231628418,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999997615814209,.9999998807907104,.9999998807907104,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999996423721313,.9999995231628418,.9999990463256836,.999996542930603,.9999933242797852,.9999901056289673,.9999902248382568,.9999794960021973,.999961256980896,.9999611377716064,.9999796152114868,.999953031539917,.9998712539672852,.998111367225647,.9614463448524475,.6451863050460815,.24371908605098724,.04796217381954193,.0036911917850375175,147466
86875151400268e-20,6871085497550666e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,37927984521957114e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3913908585673198e-20,378702134185005e-19,4029874617117457e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38240719732129946e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3904154073097743e-20,385335624741856e-19,6292707985267043e-20,6908456271048635e-20,9056607814272866e-20,2761460782494396e-19,1364406489301473e-19,9440751455258578e-20,13322781887836754e-20,9115926513914019e-20,6610566197196022e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41161925764754415e-21,4757175702252425e-20,3975454092142172e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3835364987025969e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,55785156291676685e-21,378702134185005e-19,11410279694246128e-20,28957301401533186e-20,.002705642022192478,.028441131114959717,.26201358437538147,.7566797733306885,.9755183458328247,.9988595247268677,.9999388456344604,.9999935626983643,.9999980926513672,.9999929666519165,.9999886751174927,.9999948740005493,.9999978542327881,.9999990463256836,.9999995231628418,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999996423721313,.9999991655349731,.9999982118606567,.9999955892562866,.9999914169311523,.9999874830245972,.9999892711639404,.9999866485595703,.9999836683273315,.9999818801879883,.9999829530715942,.9999498128890991,.999894738
8681973267,.9992179870605469,.9848102927207947,.8345557451248169,.3333192467689514,.025325143709778786,8892414043657482e-19,4352636824478395e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3880366057273932e-20,378702134185005e-19,3821926293312572e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3829829438473098e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3877278868458234e-20,378702134185005e-19,3910293526132591e-20,378702134185005e-19,3983937494922429e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39365644624922425e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3809320696745999e-20,378702134185005e-19,3883016324834898e-20,378702134185005e-19,4859543332713656e-20,5571584188146517e-20,8045772119658068e-20,10023849608842283e-20,24300104996655136e-20,14388292038347572e-20,11028931476175785e-20,16007397789508104e-20,11452182661741972e-20,8456408977508545e-20,38299662264762446e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4006771632703021e-20,7445416849805042e-20,54472136980621144e-21,3819832636509091e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6361277337418869e-20,21054309036117047e-20,.002260519890114665,.026715755462646484,.27268266677856445,.7703436613082886,.980962336063385,.9991501569747925,.9999567270278931,.9999909400939941,.9999972581863403,.9999924898147583,.9999896287918091,.9999964237213135,.9999986886978149,.9999990463256836,.9999996423721313,.9999997615814209,.9999998807907104,.9999997615814209,.9999998807907104,.9999998807907104,1,.9999998807907104,.9999998807907104,1,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999996423721313,.999998927116394,.9999973773956299,.9999949932098389,.9999927282333374,.9999873638153076,.9999864101409912,.9999852180480957,.9999910593032837,.9999904632568359,.9999828338623047,.9999390840530396,.9998805522918701,.9993882179260254,.9944168329238892,.9376060366630554,.537421703338623,.0317765437066555,.0010341003071516752,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4151935354457237e-20,40597606130177155e-21,655290496069938e-19,8307462121592835e-20,9358561510453e-17,20693660189863294e-20,9793054050533101e-20,7464881491614506e-20,17833354650065303e-20,10392331023467705e-20,7050953718135133e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5060513649368659e-20,6606564420508221e-20,4268210977897979e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,9122979099629447e-20,24743517860770226e-20,.0025950262788683176,.02679198794066906,.26672661304473877,.8046291470527649,.9882376790046692,.9995730519294739,.9999735355377197,.9999923706054688,.9999963045120239,.9999932050704956,.9999943971633911,.9999988079071045,.9999996423721313,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999995231628418,.9999982118606567,.9999958276748657,.9999943971633911,.9999887943267822,.9999868869781494,.9999891519546509,.9999945163726807,.9999949932098389,.9999899864196777,.9999489784240723,.9998899698257446,.9994363188743591,.996432900428772,.9602147340774536,.6407851576805115,.05907193571329117,9740563691593707e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4235550295561552e-20,378702134185005e-19,4577815343509428e-20,4910158895654604e-20,7678090332774445e-20,834980164654553e-19,21641234343405813e-20,1620670227566734e-19,7454551086993888e-20,15070283552631736e-20,10042412031907588e-20,7020891644060612e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38431888242485e-18,5805290857097134e-20,9382350981468335e-20,5515568409464322e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7
868564340194221586e-20,3048219077754766e-19,.0028410651721060276,.023660944774746895,.23389409482479095,.7872459888458252,.9890944361686707,.9995604157447815,.9999749660491943,.9999892711639404,.9999938011169434,.9999938011169434,.9999957084655762,.9999986886978149,.9999996423721313,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,.9999998807907104,.9999998807907104,.9999996423721313,.9999986886978149,.9999959468841553,.9999947547912598,.9999895095825195,.9999854564666748,.999988317489624,.9999943971633911,.9999954700469971,.9999926090240479,.9999569654464722,.999864935874939,.9993671774864197,.9970672726631165,.9666324257850647,.6546071767807007,.07869844883680344,.002527248580008745,6110416870797053e-20,4176441507297568e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5102418799651787e-20,6000603025313467e-20,6419700366677716e-20,18436135724186897e-20,12328701268415898e-20,8656238787807524e-20,1255675742868334e-19,4432214700500481e-20,4040063140564598e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,622841325821355e-19,7147500582505018e-20,3905416451743804e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8003852417459711e-20,33900243579410017e-2
8680,.0027527976781129837,.02165893279016018,.21076646447181702,.7837010622024536,.989046037197113,.9995996356010437,.999963641166687,.999983549118042,.9999926090240479,.9999957084655762,.9999978542327881,.9999988079071045,.9999995231628418,.9999995231628418,.9999996423721313,.9999997615814209,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,1,.9999998807907104,.9999997615814209,.9999988079071045,.9999958276748657,.9999958276748657,.9999938011169434,.9999890327453613,.9999890327453613,.9999929666519165,.9999924898147583,.9999904632568359,.9999535083770752,.9998340010643005,.9991439580917358,.9960960745811462,.955967366695404,.5930275917053223,.08623450994491577,.0029617545660585165,13091204164084047e-20,6189240957610309e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4811337930732407e-20,378702134185005e-19,666423948132433e-19,57613411627244204e-21,17968440079130232e-20,1433242578059435e-19,9134697029367089e-20,11898701632162556e-20,4513856038101949e-20,3791928247665055e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39285972889047116e-21,6123687489889562e-20,8534303196938708e-20,4400439138407819e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,9159945329884067e-20,33044940209947526e-20,.0025630411691963673,.01914447359740734,.1856577843427658,.7373283505439758,.9862849712371826,.9994239807128906,.9999469518661499,.9999715089797974,.9999892711639404,.9999964237213135,.9999985694885254,.9999988079071045,.9999994039535522,.9999995231628418,.9999995231628418,.9999997615814209,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999996423721313,.9999996423721313,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999991655349731,.9999964237213135,.999996542930603,.9999958276748657,.9999933242797852,.9999911785125732,.9999895095825195,.999983549118042,.9999779462814331,.9999071359634399,.999731719493866,.9986487030982971,.99330389499
86866431,.9309389591217041,.5320276618003845,.07765587419271469,.004310718271881342,2264071663375944e-19,1287246122956276e-19,378702134185005e-19,38201105780899525e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,47703349991934374e-21,51823164540110156e-21,16884171054698527e-20,934774216148071e-19,6761107215425e-17,738014277885668e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3911815656465478e-20,6188647239468992e-20,5705551666324027e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,9294940537074581e-20,2956926473416388e-19,.002317913109436631,.017774797976017,.16901201009750366,.7263303399085999,.984017550945282,.9994620680809021,.9999535083770752,.9999803304672241,.9999947547912598,.9999984502792358,.9999995231628418,.9999995231628418,.9999996423721313,.9999996423721313,.9999997615814209,.9999998807907104,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999996423721313,.9999985694885254,.9999985694885254,.9999983310699463,.999996542930603,.9999910593032837,.9999856948852539,.9999618530273438,.9999383687973022,.999792754650116,.9995410442352295,.9981624484062195,.9904700517654419,.9080581068992615,.4302600622177124,.056311048567295074,.0026237531565129757,18278944480698556e-20,9457039413973689e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,384832892450504e-19,378702134185005e-19,6067922367947176e-20,5339891868061386e-20,17613012460060418e-20,14382197696249932e-20,10204518912360072e-20,10157084761885926e-20,3818138793576509e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39387483411701396e-21,423342025897e-16,6156260496936738e-20,5703492934117094e-20,5915252404520288e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3811381247942336e-20,9807298192754388e-20,31505589140579104e-20,.0022991164587438107,.017156187444925308,.15550731122493744,.6781938076019287,.9791349172592163,.9991675615310669,.9999418258666992,.9999796152114868,.9999954700469971,.9999986886978149,.9999996423721313,.9999996423721313,.9999996423721313,.9999997615814209,.9999998807907104,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999997615814209,.9999992847442627,.9999990463256836,.999998927116394,.9999979734420776,.9999914169311523,.9999701976776123,.9998877048492432,.9998345971107483,.9995658993721008,.9993284940719604,.9974983334541321,.9857412576675415,.8689880967140198,.34616735577583313,.03921690583229065,.003385834861546755,25832970277406275e-20,14761312922928482e-20,39320500945905223e-21,50315153202973306e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,398694392060861e-19,5082242569187656e-20,53189738537184894e-21,1653020444791764e-19,14716015721205622e-20,12249166320543736e-20,1121056848205626e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3839890632661991e-20,378702134185005e-19,50677139370236546e-21,673022514092736e-19,641562364762649e-19,4655219163396396e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4412658017827198e-20,3930069942725822e-20,11621200246736407e-20,3758214006666094e-19,.002289397642016411,.017719237133860588,.14760833978652954,.6822375059127808,.9789292216300964,.9993044137954712,.9999521970748901,.9999861717224121,.9999972581863403,.9999990463256836,.9999996423721313,.9999995231628418,.9999995231628418,.9999997615814209,.9999998807907104,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,.9999998807907104,.9999996423721313,.9999995231628418,.9999991655349731,.9999980926513672,.9999899864196777,.9999542236328125,.9998530149459839,.9998303055763245,.9997196793556213,.9994489550590515,.9978501796722412,.9857656955718994,.8435317277908325,.265889972448349,.035264283418655396,.003888289676979184,4589080053847283e-19,17975637456402183e-20,4277989864931442e-20,5526154563995078e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42464638681849465e-21,378702134185005e-19,6058371582184918e-20,5154249083716422e-20,159068
86867338344455e-20,2083514555124566e-19,15879525744821876e-20,14310370897874236e-20,43103598727611825e-21,3879609357682057e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,389346168958582e-19,50122653192374855e-21,9512528049526736e-20,776620872784406e-19,6483491597464308e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4098360659554601e-20,50744074542308226e-21,16453827265650034e-20,5550796631723642e-19,.003382817842066288,.022079670801758766,.16694633662700653,.6730038523674011,.9759296178817749,.999011218547821,.9999409914016724,.9999865293502808,.9999977350234985,.9999991655349731,.9999995231628418,.9999994039535522,.9999995231628418,.9999997615814209,.9999998807907104,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,.9999998807907104,.9999997615814209,.9999997615814209,.9999992847442627,.9999977350234985,.9999849796295166,.9999260902404785,.9997395873069763,.9997368454933167,.9996649026870728,.999542236328125,.9982641339302063,.9859293103218079,.8034763336181641,.2088908702135086,.02561342529952526,.004585276823490858,6452235975302756e-19,26942373369820416e-20,4964720574207604e-20,6626266986131668e-20,393017653550487e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3936543726013042e-20,5345870886230841e-20,55139567848527804e-21,15901138249319047e-20,141136406455189e-18,9615511953597888e-20,9331549517810345e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4114125113119371e-20,38172733184183016e-21,5586319821304642e-20,794181032688357e-19,516190666530747e-19,4621560947271064e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,513225604663603e-19,4199040631647222e-20,1828402018873021e-19,7914507295936346e-19,.005669422447681427,.03641017526388168,.22433911263942719,.7466336488723755,.980309784412384,.9992491006851196,.9999550580978394,.9999912977218628,.9999985694885254,.9999995231628418,.9999997615814209,.9999997615814209,.9999997615814209,.9999998807907104,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999996423721313,.9999988079071045,.999991774559021,.9999558925628662,.9998681545257568,.9998366236686707,.9997363686561584,.9997708201408386,.9989140033721924,.9873896837234497,.7779603600502014,.15258657932281494,.017896011471748352,.0025993979070335627,3460885782260448e-19,166563011
86858946007e-20,47535104386042804e-21,446625635959208e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3789500260609202e-20,4290353899705224e-20,654896066407673e-19,631930524832569e-19,1834561990108341e-19,20854335161857307e-20,12690403673332185e-20,9922708704834804e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38524423871422186e-21,52196483011357486e-21,9858792327577248e-20,5261945625534281e-20,4855943552684039e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4022298162453808e-20,6294217746471986e-20,2455668291077018e-19,.0016627046279609203,.014595877379179,.09981916844844818,.4583330750465393,.8625308275222778,.9885562062263489,.999313473701477,.9999562501907349,.999990701675415,.9999983310699463,.9999992847442627,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999997615814209,.9999992847442627,.9999959468841553,.9999854564666748,.9999580383300781,.9999436140060425,.9998764991760254,.999830424785614,.999127209186554,.9844844341278076,.7038900852203369,.14356863498687744,.016971644014120102,.0029186687897890806,3144398215226829e-19,16405679343733937e-20,4047807306051254e-20,5284381768433377e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5244808562565595e-20,6690399459330365e-20,6547111843246967e-20,18643176008481532e-20,1645550219109282e-19,1126409915741533e-19,8803824312053621e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49401685828343034e-21,6111548282206059e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6529474921990186e-20,7124694820959121e-20,38779652095399797e-20,.0038105719722807407,.04787874221801758,.3440752923488617,.8154415488243103,.9708234667778015,.9968107342720032,.9997445940971375,.9999700784683228,.9999924898147583,.9999978542327881,.9999990463256836,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999995231628418,.9999978542327881,.9999949932098389,.9999891519546509,.999982476234436,.9999467134475708,.9998887777328491,.9990400075912476,.9775335192680359,.681026816368103,.13577456772327423,.015792014077305794,.002611036878079176,35259712603874505e-20,1377993612550199e-19,3885807382175699e-20,4236017775838263e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4821108086616732e-20,38169931940501556e-21,6757014489267021e-20,60504280554596335e-21,1967753778444603e-19,18602557247504592e-20,13019687321502715e-20,9153039718512446e-20,4144520789850503e-20,41699975554365665e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6168982508825138e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5787050031358376e-20,1186989902635105e-19,7448617834597826e-19,.010
86852606850862503,.16905178129673004,.724666953086853,.9586651921272278,.9924004077911377,.9990361928939819,.9998655319213867,.999977707862854,.9999911785125732,.9999967813491821,.9999983310699463,.9999992847442627,.9999996423721313,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999996423721313,.9999984502792358,.9999971389770508,.9999945163726807,.9999911785125732,.9999699592590332,.9999042749404907,.9989223480224609,.9821861982345581,.7528296113014221,.2513278126716614,.024249577894806862,.002671633381396532,35445994581095874e-20,19289992633275688e-20,4301343142287806e-20,497618384542875e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4024149166070856e-20,5567170228459872e-20,56495031458325684e-21,19676354713737965e-20,15728008293081075e-20,10963888780679554e-20,7879649638198316e-20,3936437133233994e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42387320718262345e-21,3993321297457442e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6669725553365424e-20,13703506556339562e-20,.0012292892206460238,.02335434779524803,.3412051200866699,.9014450907707214,.9870293140411377,.9972442388534546,.999664306640625,.9999439716339111,.9999856948852539,.9999933242797852,.9999971389770508,.9999986886978149,.9999995231628418,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999997615814209,.9999991655349731,.9999983310699463,.9999967813491821,.9999959468841553,.9999843835830688,.9999376535415649,.9993951320648193,.9932682514190674,.9056406617164612,.4357728064060211,.045414213091135025,.0024224494118243456,23890090233180672e-20,14175762771628797e-20,41740404412848875e-21,4060155333718285e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40076931327348575e-21,4148349762544967e-20,6637010665144771e-20,6466278136940673e-20,21073632524348795e-20,2174585242755711e-19,14392324374057353e-20,12615071318577975e-20,5037115988670848e-20,4600904503604397e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4629617615137249e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7418682798743248e-20,17630051297601312e-20,.0016849389066919684,.040660303086042404,.5398620367050171,.9429622292518616,.9944605827331543,.9980236291885376,.9997361302375793,.9999531507492065,.9999872446060181,.9999932050704956,.9999970197677612,.9999983310699463,.9999994039535522,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999998807907104,.9999998807907104,1,1,.9999998807907104,.9999997615814209,.9999995231628418,.9999990463256836,.9999978542327881,.9999973773956299,.999990701675415,.9999485015869141,.9994879364967346,.9975200891494751,.9692175388336182,.6491994857788086,.07417896389961243,.004
868018985666334629,23810462153051049e-20,1708414638414979e-19,4680476922658272e-20,5649603917845525e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,554707003175281e-19,685452832840383e-19,645352847641334e-19,20622719603125006e-20,198854468180798e-18,16859314928296953e-20,12851836800109595e-20,4607627488439903e-20,4177308073849417e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38605434383498505e-21,4275880928616971e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8121113205561414e-20,16035490261856467e-20,.0015652243746444583,.041112083941698074,.5781679749488831,.9642331004142761,.995690643787384,.9980553388595581,.9995747208595276,.9999489784240723,.9999911785125732,.9999959468841553,.9999982118606567,.9999985694885254,.9999991655349731,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999992847442627,.9999984502792358,.9999982118606567,.999992847442627,.9999586343765259,.999664306640625,.9987964034080505,.9878180027008057,.7883580923080444,.10444040596485138,.0034992052242159843,2225038333563134e-19,1458845508750528e-19,4471869033295661e-20,48058391257654876e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4801942850463092e-20,421317781729158e-19,7128924335120246e-20,637873454252258e-19,20087599114049226e-20,21743121033068746e-20,1868490653578192e-19,16498933837283403e-20,571636701351963e-19,5572453301283531e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4817371518583968e-20,5193557444727048e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7634633220732212e-20,1879314804682508e-19,.0016298339469358325,.036349669098854065,.5636308789253235,.9681650400161743,.9968001246452332,.9978031516075134,.9993477463722229,.9999135732650757,.9999886751174927,.9999955892562866,.9999982118606567,.9999983310699463,.9999988079071045,.9999991655349731,.9999995231628418,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999998807907104,.9999997615814209,.9999994039535522,.9999986886978149,.9999983310699463,.999993085861206,.9999558925628662,.9996627569198608,.9990468621253967,.9912616014480591,.8460450768470764,.13262444734573364,.0053503243252635,2858151274267584e-19,1842875499278307e-19,5609327490674332e-20,595966303080786e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4314507532399148e-20,6677507190033793e-20,59689868066925555e-21,18619396723806858e-20,16004298231564462e-20,17019321967381984e-20,10400198516435921e-20,4236440872773528e-20,385260755138
86800606e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3789322727243416e-20,4787513171322644e-20,3912775355274789e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8362776134163141e-20,19095589232165366e-20,.0020116427913308144,.04571707174181938,.6238865852355957,.9800403118133545,.9976450800895691,.9983639121055603,.9994705319404602,.9999386072158813,.9999911785125732,.9999957084655762,.9999979734420776,.9999984502792358,.9999988079071045,.9999990463256836,.9999995231628418,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999995231628418,.9999994039535522,.9999996423721313,.9999998807907104,.9999998807907104,.9999996423721313,.9999990463256836,.9999984502792358,.9999922513961792,.9999510049819946,.9995716214179993,.9988125562667847,.9888889193534851,.8191468715667725,.12816324830055237,.004617107100784779,26667185011319816e-20,163293065270409e-18,5043945930083282e-20,43483723857207224e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39770362491253763e-21,41112652979791164e-21,6766207661712542e-20,5670881364494562e-20,19103364320471883e-20,1474326418247074e-19,1578375231474638e-19,11691279360093176e-20,4187507147435099e-20,3963693598052487e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4141147292102687e-20,454866312793456e-19,416334587498568e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8166825864464045e-20,1869523257482797e-19,.0019512362778186798,.04669909179210663,.6451869010925293,.9805070161819458,.9978197813034058,.9981961846351624,.9992819428443909,.9999037981033325,.9999879598617554,.9999942779541016,.9999971389770508,.9999980926513672,.9999985694885254,.9999985694885254,.9999992847442627,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999991655349731,.9999988079071045,.9999992847442627,.9999997615814209,.9999998807907104,.9999996423721313,.999998927116394,.9999982118606567,.9999903440475464,.9999475479125977,.9994824528694153,.9979985952377319,.9821367859840393,.7922666072845459,.12748269736766815,.007134814281016588,3691320598591119e-19,20293575653340667e-20,55377939133904874e-21,5957930625299923e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49298996600555256e-21,57006924180313945e-21,5276417505228892e-20,17409712017979473e-20,8430363232037053e-20,9101140312850475e-20,7000983168836683e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7645920413779095e-20,13551073789130896e-20,.001350118312984705,.04305760934948921,.6083868741989136,.9816343188285828,.9976414442062378,.9979236721992493,.9990394115447998,.9998847246170044,.9999843835830688,.9999939203262329,.9999973773956299,.9999982118606567,.9999986886978149,.9999986886978149,.9999991655349731,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999994039535522,.9999990463256836,.9999992847442627,.9999997615814209,.9999997615814209,.9999995231628418,.9999986886978149,.9999977350234985,.9999877214431763,.9999444484710693,.999446451663971,.99676644802
86809351,.966673731803894,.6835653781890869,.11467983573675156,.006410256493836641,5241773324087262e-19,23643307213205844e-20,598854931013193e-19,518605847901199e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4882206485490315e-20,38367314118659124e-21,6253188621485606e-20,48308535042451695e-21,1685714378254488e-19,11627063213381916e-20,8306522795464844e-20,9545260400045663e-20,42273186409147456e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,55505141062894836e-21,10933696466963738e-20,.0010394452838227153,.023471970111131668,.41412442922592163,.9565483927726746,.996479332447052,.9972546696662903,.9987136125564575,.9998165965080261,.9999761581420898,.9999899864196777,.9999960660934448,.9999977350234985,.9999984502792358,.9999984502792358,.9999988079071045,.9999994039535522,.9999996423721313,.9999997615814209,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999995231628418,.9999994039535522,.9999994039535522,.9999990463256836,.999998927116394,.9999991655349731,.9999995231628418,.9999996423721313,.9999992847442627,.9999980926513672,.999996542930603,.999981164932251,.9999316930770874,.9994021654129028,.9955101013183594,.9396823048591614,.5482101440429688,.08336316794157028,.0061661419458687305,5347640835680068e-19,2777906775008887e-19,692648536642082e-19,66222513851244e-18,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3863139500026591e-20,5535093441721983e-20,52092007535975426e-21,16511522699147463e-20,9571549162501469e-20,6431668589357287e-20,8482754492433742e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6598242180189118e-20,8532396896043792e-20,6139963516034186e-19,.011220256797969341,.22480793297290802,.8924345374107361,.9919403195381165,.9962055087089539,.9988248944282532,.9998411536216
868736,.9999774694442749,.9999897480010986,.9999960660934448,.9999980926513672,.999998927116394,.9999986886978149,.9999988079071045,.9999994039535522,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999994039535522,.9999991655349731,.999998927116394,.9999985694885254,.999998927116394,.9999994039535522,.9999995231628418,.9999991655349731,.9999982118606567,.9999959468841553,.9999797344207764,.9999418258666992,.9995428323745728,.9959642291069031,.9373739361763,.4664418697357178,.05433988943696022,.002985551254823804,280703796306625e-18,17267957446165383e-20,5444542694021948e-20,47315606934716925e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3795662269112654e-20,616617762716487e-19,4975068804924376e-20,17767401004675776e-20,18148409435525537e-20,8760167111176997e-20,10283997835358605e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4196229565422982e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4473864828469232e-20,8531664207112044e-20,5374776083044708e-19,.005640600807964802,.1143152192234993,.7508097887039185,.9797797799110413,.9931209087371826,.9983999133110046,.9997783303260803,.9999717473983765,.9999856948852539,.9999942779541016,.9999973773956299,.9999985694885254,.9999984502792358,.9999985694885254,.9999990463256836,.9999996423721313,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.9999990463256836,.9999986886978149,.9999985694885254,.9999980926513672,.9999979734420776,.9999982118606567,.999998927116394,.9999991655349731,.9999988079071045,.9999977350234985,.9999947547912598,.9999744892120361,.9999377727508545,.9995521903038025,.9959800243377686,.9398009777069092,.49157842993736267,.04817377030849457,.0031634296756237745,23627685732208192e-20,16622000839561224e-20,6202099757501855e-20,7079436181811616e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4483536395127885e-20,53739808208774775e-21,5231813702266663e-20,17711383407004178e-20,15981729666236788e-20,10806606587721035e-20,7676846871618181e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,37939767935313284e-21,378702134185005e-19,4964178879163228e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,59147052525077015e-21,10449595720274374e-20,6714524351991713e-19,.007065562065690756,.11727070808410645,.6928242444992065,.9604055881500244,.9910195469856262,.9985135197639465,.9998164772987366,.9999724626541138,.9999860525131226,.9999934434890747,.9999969005584717,.9999984502792358,.9999984502792358,.9999988079071045,.9999991655349731,.9999996423721313,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999998807907104,.9999998807907104,.9999996423721313,.9999996423721313,.9999997615814209,.9999996423721313,.999998927116394,.9999980926513672,.9999979734420776,.999997615814209,.9999977350234985,.9999980926513672,.9999988079071045,.9999990463256836,.9999988079071045,.9999977350234985,.9999947547912598,.9999741315841675,.9999376535415649,.9996757507324219,.9971672892570496,.957217812538147,.5342824459075928,.05834951251745224,.00338112679310143,3509995876811445e-19,19249774049967527e-20,697448558639735e-19,757005691411905e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4537045242614113e-20,378702134185005e-19,602471518504899e-19,50092417950509116e-21,18065047333948314e-20,17332800780422986e-20,14140961866360158e-20,9537156438454986e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,423937090090476e-19,39040020055836067e-21,43180167267564684e-21,418166491726879e-19,632399387541227e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38548416341654956e-21,378702134185005e-19,38922236853977665e-21,378702134185005e-19,41448744013905525e-21,378702134185005e-19,4583332338370383e-20,3845343962893821e-20,39015718357404694e-21,51538161642383784e-21,10500957432668656e-20,8068432216532528e-19,.005464338231831789,.07940729707479477,.4429951012134552,.8580752611160278,.9670079350471497,.9962989687919617,.99966
86872868728638,.999957799911499,.9999816417694092,.9999916553497314,.9999953508377075,.999997615814209,.9999978542327881,.9999984502792358,.9999988079071045,.9999994039535522,.9999997615814209,.9999997615814209,.9999996423721313,.9999997615814209,.9999998807907104,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999996423721313,.9999995231628418,.9999988079071045,.9999974966049194,.9999972581863403,.9999966621398926,.999996542930603,.9999969005584717,.9999978542327881,.9999983310699463,.9999983310699463,.9999971389770508,.9999929666519165,.9999628067016602,.9999054670333862,.9996002316474915,.9970184564590454,.9514170289039612,.5172210931777954,.05690963938832283,.003964635077863932,40285836439579725e-20,24480055435560644e-20,7706374890403822e-20,7573740731459111e-20,38472888263640925e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39218539313878864e-21,5713601422030479e-20,51877177611459047e-21,17355108866468072e-20,1048395861289464e-19,9568417590344325e-20,6053596007404849e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3930015373043716e-20,41686802433105186e-21,42385920096421614e-21,41943050746340305e-21,4728959174826741e-20,4483551310840994e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4008610267192125e-20,3827683030976914e-20,378702134185005e-19,40243139665108174e-21,3954141720896587e-20,5027918450650759e-20,3914055923814885e-20,4871017881669104e-20,38111189496703446e-21,378702134185005e-19,5831812813994475e-20,9072760440176353e-20,48367524868808687e-20,.0029339424800127745,.02533874660730362,.13207656145095825,.5049785375595093,.8380916118621826,.9839422106742859,.9993020296096802,.9999456405639648,.9999833106994629,.9999938011169434,.999996542930603,.9999979734420776,.9999978542327881,.9999980926513672,.9999983310699463,.9999992847442627,.9999997615814209,.9999998807907104,.9999998807907104,.9999998807907104,1,1,1,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.9999994039535522,.999998927116394,.9999984502792358,.9999978542327881,.9999967813491821,.9999959468841553,.9999959468841553,.9999972581863403,.9999978542327881,.9999980926513672,.999996542930603,.9999911785125732,.9999586343765259,.9998962879180908,.9993676543235779,.9938145875930786,.913918137550354,.3936886787414551,.04180489480495453,.0020631509833037853,170354382134974e-18,14948591706342995e-20,5594220419880003e-20,4238875044393353e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3854133319691755e-20,399
8681431731265038e-20,6491536623798311e-20,5161637091077864e-20,17756648594513535e-20,1218380275531672e-19,9025526378536597e-20,6509647209895775e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3945283606299199e-20,48896472435444593e-21,48384976253146306e-21,53683641453972086e-21,5442247129394673e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3971136538893916e-20,379599368898198e-19,5792197771370411e-20,4358245132607408e-20,6941532046766952e-20,6305157148744911e-20,9025270264828578e-20,628268753644079e-19,7070756691973656e-20,4161214019404724e-20,38156384107423946e-21,442349846707657e-19,52591356507036835e-21,22206225548870862e-20,6833267398178577e-19,.005173216108232737,.024308601394295692,.14681492745876312,.4949144423007965,.913577675819397,.9966776371002197,.9998618364334106,.999976634979248,.9999934434890747,.9999949932098389,.9999969005584717,.9999967813491821,.9999967813491821,.9999966621398926,.9999984502792358,.9999996423721313,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999996423721313,.9999995231628418,.9999995231628418,.9999995231628418,.9999995231628418,.9999992847442627,.9999990463256836,.9999985694885254,.9999982118606567,.9999978542327881,.9999963045120239,.9999947547912598,.9999942779541016,.9999953508377075,.9999960660934448,.999996542930603,.999994158744812,.9999872446060181,.9999467134475708,.9998312592506409,.998609721660614,.9812317490577698,.7628665566444397,.2646511197090149,.029602274298667908,.0021941144950687885,10812943219207227e-20,8999547571875155e-20,39946149627212435e-21,39418868254870176e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4101010927115567e-20,53446874517248943e-21,4763283141073771e-20,15262856322806329e-20,9070937812794e-17,6205495446920395e-20,4080284998053685e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40470687963534147e-21,378702134185005e-19,4166630606050603e-20,38500846130773425e-21,4312876262702048e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4613033524947241e-20,50224603910464793e-21,7317456766031682e-20,771106788306497e-19,9354157373309135e-20,11396937770769e-17,11653167894110084e-20,8539342525182292e-20,6132428825367242e-20,378702134185005e-19,378702134185005e-19,55303313274635e-18,378702134185005e-19,9256793418899179e-20,18178275786340237e-20,.0013566788984462619,.008412026800215244,.05461769178509712,.20176683366298676,.7515147924423218,.9918408393859863,.9997649788856506,.9999761581420898,.9999942779541016,.9999947547912598,.9999961853027344,.9999964237213135,.9999963045120239,.9999954700469971,.9999978542327881,.9999996423721313,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999998807907104,.9999997615814209,.9999996423721313,.9999995231628418,.9999994039535522,.9999994039535522,.9999994039535522,.9999994039535522,.9999992847442627,.999998927116394,.9999984502792358,.9999978542327881,.9999977350234985,.9999969005584717,.9999955892562866,.9999945163726807,.9999943971633911,.9999935626983643,.9999945163726807,.9999923706054688,.9999866485595703,.9999264478683472,.9997032880783081,.9960622191429138,.9368613958358765,.516386866569519,.1173853650689125,.015225222334265709,.0012720340164378285,7229171751532704e-20,5052335109212436e-20,3807060420513153e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4284116221242584e-20,378702134185005e-19,5943596625002101e-20,3822401413344778e-20,1371876714983955e-19,14986857422627509e-20,8055999933276325e-20,56413722631987184e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38507187127834186e-21,39055608795024455e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,50674188969423994e-21,453218053735327e-19,8567282930016518e-20,10458834731252864e-20,1509161
8685205165e-17,22436975268647075e-20,2743456861935556e-19,35507578286342323e-20,33513284870423377e-20,1736511185299605e-19,10611525794956833e-20,4051918949699029e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,4046811955049634e-20,54083619033917785e-21,3714548656716943e-19,.0025534993037581444,.018286753445863724,.06757364422082901,.4546026885509491,.970930814743042,.9993570446968079,.9999483823776245,.9999915361404419,.9999911785125732,.999993085861206,.9999935626983643,.9999936819076538,.999993085861206,.999996542930603,.9999991655349731,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999992847442627,.9999992847442627,.9999991655349731,.9999990463256836,.9999990463256836,.9999991655349731,.9999988079071045,.9999980926513672,.9999971389770508,.9999970197677612,.9999964237213135,.9999957084655762,.9999940395355225,.9999922513961792,.9999892711639404,.9999896287918091,.9999871253967285,.9999849796295166,.9999136924743652,.9993391633033752,.9885091185569763,.8327735066413879,.257833331823349,.0485304556787014,.00696273148059845,.001167168258689344,7489577546948567e-20,50688999181147665e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3984885915997438e-20,3831181311397813e-20,1251507201232016e-19,15588101814500988e-20,9375501394970343e-20,56763085012789816e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,48137171688722447e-21,7333615212701261e-20,1072544910130091e-19,13672908244188875e
868-20,25889798416756094e-20,3344300203025341e-19,4420295008458197e-19,7884489023126662e-19,.0010985123226419091,982647412456572e-18,4055313183926046e-19,1242591388290748e-19,408064661314711e-19,46964341890998185e-21,378702134185005e-19,3818091136054136e-20,44406424422049895e-21,38027894333936274e-21,23538644018117338e-20,.001416328945197165,.01066953781992197,.046329185366630554,.3796946108341217,.9477699995040894,.9982537627220154,.9999165534973145,.9999874830245972,.9999872446060181,.9999889135360718,.9999898672103882,.9999915361404419,.999992847442627,.9999964237213135,.9999986886978149,.9999995231628418,.9999996423721313,.9999997615814209,.9999997615814209,.9999998807907104,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.9999995231628418,.9999992847442627,.9999992847442627,.9999992847442627,.999998927116394,.9999983310699463,.999997615814209,.9999974966049194,.9999969005584717,.9999961853027344,.9999947547912598,.9999921321868896,.9999876022338867,.9999868869781494,.9999831914901733,.9999840259552002,.9999028444290161,.9991006851196289,.9835341572761536,.7398496270179749,.18024611473083496,.018434960395097733,.0023340443149209023,6475491099990904e-19,5800956205348484e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5286632222123444e-20,378702134185005e-19,13721658615395427e-20,21552284306380898e-20,13702745491173118e-20,8818337664706632e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40398175769951195e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6771250627934933e-20,13412105909083039e-20,28913034475408494e-20,3593714500311762e-19,6186036043800414e-19,.001020951895043254,.0010629096068441868,.001268761232495308,.0019568027928471565,.0016654939390718937,6798324757255614e-19,19407845684327185e-20,43246265704510733e-21,5262150807539001e-20,38938323996262625e-21,4463836376089603e-20,378702134185005e-19,388888074667193e-19,13126744306646287e-20,7085343240760267e-19,.005357116460800171,.026689279824495316,.26652878522872925,.8899374604225159,.9956
868527352333069,.999758780002594,.999972939491272,.9999780654907227,.9999815225601196,.9999815225601196,.9999858140945435,.999991774559021,.9999960660934448,.999997615814209,.9999988079071045,.9999991655349731,.9999995231628418,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999996423721313,.9999994039535522,.9999994039535522,.9999995231628418,.9999995231628418,.9999995231628418,.9999992847442627,.9999990463256836,.9999991655349731,.999998927116394,.9999982118606567,.9999974966049194,.9999970197677612,.9999963045120239,.9999954700469971,.9999938011169434,.9999910593032837,.9999845027923584,.9999804496765137,.9999721050262451,.9999767541885376,.9998761415481567,.9983963370323181,.9658166170120239,.6131250858306885,.11215007305145264,.01201983168721199,.0012130339164286852,5022118566557765e-19,664278632029891e-19,4017212268081494e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,417923329223413e-19,3821332938969135e-20,13286648027133197e-20,16868779493961483e-20,12018805864499882e-20,7220137194963172e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41037335904547945e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40799426642479375e-21,4152020483161323e-20,11823199747595936e-20,28605113038793206e-20,4892481956630945e-19,5448560114018619e-19,7479047053493559e-19,.0014101802371442318,.0014788918197154999,.0011535288067534566,.0011749218683689833,9619932970963418e-19,3648099082056433e-19,10152164759347215e-20,4078095662407577e-20,378702134185005e-19,42560743167996407e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,11518310202518478e-20,4146154678892344e-19,.0023955104406923056,.012892535887658596,.1859414428472519,.813901960849762,.9917358756065369,.9996554851531982,.9999631643295288,.9999750852584839,.999981164932251,.9999827146530151,.9999889135360718,.9999943971633911,.9999969005584717,.9999977350234985,.9999985694885254,.9999991655349731,.9999995231628418,.9999997615814209,.9999997615814209,.9999997615814209,.9999996423721313,.9999995231628418,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999995231628418,.9999992847442627,.9999991655349731,.9999992847442627,.9999990463256836,.9999986886978149,.9999980926513672,.9999972581863403,.9999960660934448,.9999958276748657,.9999948740005493,.9999921321868896,.999984860420227,.9999792575836182,.9999735355377197,.9999793767929077,.9998692274093628,.9978858828544617,.94915413856
86850635,.5000999569892883,.07998719066381454,.00606371508911252,6217689951881766e-19,33665663795545697e-20,5355441680876538e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5479520041262731e-20,378702134185005e-19,11898537195520476e-20,19919015176128596e-20,15109240484889597e-20,11438837100286037e-20,378702134185005e-19,3901450691046193e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5542869621422142e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4739677387988195e-20,15508448996115476e-20,36861893022432923e-20,6933212280273438e-19,7467095856554806e-19,8735691080801189e-19,.0011390417348593473,.001319080707617104,.0011530405608937144,9485096670687199e-19,5576685070991516e-19,1730661024339497e-19,8574516687076539e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6902567838551477e-20,17480147653259337e-20,9297027136199176e-19,.004447079263627529,.08242245763540268,.6087154150009155,.9765125513076782,.9989091157913208,.9999158382415771,.999963641166687,.999977707862854,.9999818801879883,.9999899864196777,.9999953508377075,.9999972581863403,.9999970197677612,.9999977350234985,.9999988079071045,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999994039535522,.9999992847442627,.9999994039535522,.9999995231628418,.9999996423721313,.9999995231628418,.9999992847442627,.9999990463256836,.999998927116394,.9999990463256836,.999998927116394,.9999985694885254,.9999980926513672,.9999969005584717,.9999945163726807,.9999939203262329,.9999929666519165,.9999905824661255,.9999812841415405,.9999707937240601,.9999630451202393,.9999752044677734,.999854326248169,.9970138072967529,.912929892539978,.3855434060096741,.04968278482556343,.004041621927171946,30129990773275495e-20,16433688870165497e-20,4752744280267507e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38348072848748416e-21,378702134185005e-19,9947091166395694e-20,1403541537001729e-19,11269698734395206e-20,11596056720009074e-20,4124357656110078e-20,3925788405467756e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41026651160791516e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42446987208677456e-21,4098192948731594e-20,15926540072541684e-20,3258820215705782e-19,460177194327116e-18,5891720065847039e-19,6353497738018632e-19,8272005943581462e-19,9381989948451519e-19,.0010396635625511408,8791347499936819e-19,35158550599589944e-20,6789150211261585e-20,4254572559148073e-20,40657148929312825e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6177183968247846e-20,9115245484281331e-20,45669503742828965e-20,.001984247239306569,.04232914000749588,.3762378394603729,.9303787350654602,.9976726174354553,.999839723110199,.9999510049819946,.9999796152114868,.999987006187439,.9999936819076538,.9999970197677612,.9999980926513672,.9999971389770508,.9999977350234985,.9999990463256836,.9999994039535522,.9999995231628418,.9999995231628418,.9999996423721313,.9999996423721313,.9999996423721313,.9999996423721313,.9999997615814209,.9999997615814209,.9999995231628418,.9999990463256836,.9999990463256836,.9999991655349731,.9999992847442627,.9999991655349731,.9999988079071045,.9999980926513672,.9999967813491821,.9999932050704956,.9999923706054688,.999990820884704
8686,.9999890327453613,.9999786615371704,.9999682903289795,.999962329864502,.9999768733978271,.9998459219932556,.9962300062179565,.8793216347694397,.2783268988132477,.028335360810160637,.0017219898290932178,11311264825053513e-20,7404926145682111e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49904072511708364e-21,378702134185005e-19,10164781997445971e-20,1648688776185736e-19,11969693878199905e-20,12893552775494754e-20,56933720770757645e-21,5795131073682569e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4509442442213185e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5774349483544938e-20,1822004996938631e-19,4525930853560567e-19,5265636718831956e-19,6201162468641996e-19,6368944887071848e-19,8017125655896962e-19,8687200024724007e-19,9016491239890456e-19,780711357947439e-18,2346440451219678e-19,49971346015809104e-21,39648624806432053e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,39240192563738674e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,5771124779130332e-20,22731543867848814e-20,7791226380504668e-19,.014070888049900532,.165657177567482,.7914440631866455,.9918866157531738,.9996007084846497,.9999047517776489,.999970555305481,.9999823570251465,.9999918937683105,.9999961853027344,.999997615814209,.9999969005584717,.9999973773956299,.9999986886978149,.9999992847442627,.9999992847442627,.9999991655349731,.9999991655349731,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999995231628418,.9999991655349731,.9999986886978149,.9999988079071045,.999998927116394,.9999990463256836,.999998927116394,.9999985694885254,.999997615814209,.9999959468841553,.999990701675415,.9999877214431763,.999984622001648,.9999839067459106,.999970555305481,.9999573230743408,.9999486207962036,.9999614953994751,.9997648596763611,.9944102168083191,.8118675351142883,.2179342806339264,.020124265924096107,.0017364785308018327,8041848195716739e-20,7294070383068174e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8075581718003377e-20,10572950122877955e-20,7772242679493502e-20,8256240835180506e-20,38034759199945256e-21,399
8681888297605328e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,37888366932747886e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49987695092568174e-21,6755242065992206e-20,23258000146597624e-20,4902639193460345e-19,6924420013092458e-19,7995782070793211e-19,9177452884614468e-19,.0011340872151777148,.0010878960601985455,8270918624475598e-19,42066056630574167e-20,11879723751917481e-20,378702134185005e-19,378702134185005e-19,38184516597539186e-21,378702134185005e-19,378702134185005e-19,38321693864418194e-21,378702134185005e-19,378702134185005e-19,45640139433089644e-21,5462671833811328e-20,14766922686249018e-20,37948924000374973e-20,.004802997224032879,.07031048834323883,.6536871790885925,.985066294670105,.9993349313735962,.9998704195022583,.999956488609314,.9999725818634033,.999987006187439,.9999954700469971,.9999978542327881,.9999972581863403,.9999978542327881,.9999988079071045,.9999991655349731,.9999990463256836,.9999986886978149,.9999988079071045,.999998927116394,.9999994039535522,.9999995231628418,.9999991655349731,.9999991655349731,.999998927116394,.9999985694885254,.9999985694885254,.9999986886978149,.9999988079071045,.9999985694885254,.9999980926513672,.9999969005584717,.9999949932098389,.9999891519546509,.999982476234436,.999976396560669,.9999771118164063,.9999630451202393,.9999526739120483,.999942421913147,.9999418258666992,.9995191097259521,.9887996912002563,.7393344044685364,.15713433921337128,.017162708565592766,.0014789962442591786,857132108649239e-19,6155011942610145e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,445694568043109e-19,378702134185005e-19,8327572868438438e-20,14584029850084335e-20,9237540507456288e-20,9708412108011544e-20,4176281072432175e-20,45152675738791004e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3929469676222652e-20,494865671498701e-19,1017824761220254e-19,3509274683892727e-19,5422886461019516e-19,7754235411994159e-19,9951058309525251e-19,.0011407057754695415,.0012606446398422122,.0011805181857198477,6226342520676553e-19,20815833704546094e-20,12301628885325044e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38951809983700514e-21,378702134185005e-19,3796412784140557e-20,39658716559642926e-21,4817081571673043e-20,8396401244681329e-20,11246756912441924e-20,.001353217288851738,.019100090488791466,.35062375664711,.9576733708381653,.9985674023628235,.9997679591178894,.9999303817749023,.9999463558197021,.9999721050262451,.9999903440475464,.9999966621398926,.9999970197677612,.9999977350234985,.9999985694885254,.9999988079071045,.9999985694885254,.9999979734420776,.9999980926513672,.9999980926513672,.9999985694885254,.9999990463256836,.9999986886978149,.9999984502792358,.9999984502792358,.9999980926513672,.9999979734420776,.9999979734420776,.9999980926513672,.999997615814209,.9999971389770508,.9999955892562866,.9999927282333374,.999984622001648,.9999760389328003,.9999641180038452,.9999649524688721,.9999455213546753,.9999260902404785,.9999024868011475,.9998555183410645,.998619556427002,.9706919193267822,.5360159873962402,.08421984314918518,.009265303611755371,.0015245639951899648,10292416118318215e-20,7934616587
868590426e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7583829574286938e-20,11394407192710787e-20,8621601591585204e-20,7560851372545585e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42732757719932124e-21,408940359193366e-19,7268426998052746e-20,16609975136816502e-20,41001534555107355e-20,5802654195576906e-19,8132249931804836e-19,9336702059954405e-19,.0010471364948898554,9092736290767789e-19,5494269425980747e-19,27111786766909063e-20,9908297215588391e-20,9479463187744841e-20,3850983193842694e-20,378702134185005e-19,3819410994765349e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,3843613376375288e-20,378702134185005e-19,4042814907734282e-20,378702134185005e-19,6489172665169463e-20,5911085463594645e-20,7539182552136481e-19,.00930854119360447,.22507113218307495,.9242123961448669,.9971093535423279,.9997251629829407,.9999222755432129,.9999297857284546,.9999628067016602,.9999867677688599,.9999951124191284,.9999967813491821,.9999979734420776,.9999985694885254,.9999988079071045,.9999984502792358,.9999979734420776,.9999982118606567,.9999984502792358,.9999988079071045,.9999990463256836,.999998927116394,.9999988079071045,.9999985694885254,.9999980926513672,.9999978542327881,.9999979734420776,.9999979734420776,.999997615814209,.999997615814209,.9999966621398926,.9999935626983643,.9999864101409912,.999980092048645,.999970555305481,.999968409538269,.9999347925186157,.9999140501022339,.9998341202735901,.9996922016143799,.9969839453697205,.917663037776947,.28606662154197693,.02335355617105961,.0026670051738619804,7100749062374234e-19,821431603981182e-19,58157529565505683e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,43079355236841366e-21,378702134185005e-19,911
8687029549088329e-20,17172741354443133e-20,12156285083619878e-20,11161033035023138e-20,42054791265400127e-21,38739945011911914e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3855170507449657e-20,6431787915062159e-20,135790032800287e-18,25790531071834266e-20,5119157140143216e-19,5120726418681443e-19,6555760628543794e-19,888235226739198e-18,.001059622154571116,9272738825529814e-19,42897320236079395e-20,17940411635208875e-20,52862127631669864e-21,7510816067224368e-20,5101268834550865e-20,4496705514611676e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42723975639091805e-21,38455097819678485e-20,.004189828876405954,.12246909737586975,.8736925721168518,.9953955411911011,.9995485544204712,.9999
868001026153564,.9999030828475952,.9999427795410156,.9999772310256958,.9999909400939941,.9999945163726807,.9999971389770508,.9999979734420776,.9999983310699463,.9999982118606567,.9999974966049194,.9999979734420776,.9999983310699463,.999998927116394,.9999991655349731,.999998927116394,.9999986886978149,.9999982118606567,.9999974966049194,.999997615814209,.9999977350234985,.999997615814209,.9999972581863403,.9999974966049194,.9999967813491821,.9999936819076538,.9999858140945435,.9999806880950928,.9999713897705078,.9999680519104004,.9999234676361084,.9998732805252075,.9996891021728516,.9989344477653503,.9892151951789856,.8252236843109131,.14549769461154938,.011680085211992264,.0012197083560749888,5626727943308651e-19,9156615851679817e-20,8004863047972322e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8546141179976985e-20,15436946705449373e-20,13650127220898867e-20,10410555842099711e-20,38645161112071946e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38945941923884675e-21,45650369429495186e-21,9092422260437161e-20,224197210627608e-18,36611303221434355e-20,5497006932273507e-19,5729912081733346e-19,6984987994655967e-19,9509896626695991e-19,.0011914392234757543,9121107286773622e-19,34716189838945866e-20,12260815128684044e-20,47648198233218864e-21,54864933190401644e-21,4230200647725724e-20,4200758849037811e-20,378702134185005e-19,39781432860763744e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3429276112001389e-19,.0034957171883434057,.11255580186843872,.8679069876670837,.9944714307785034,.9996320009231567,.9999253749847412,.9999200105667114,.9999470710754395,.9999756813049316,.9999890327453613,.9999939203262329,.9999969005584717,.9999978542327881,.9999982118606567,.9999984502792358,.9999983310699463,.9999984502792358,.999998927116394,.9999994039535522,.9999995231628418,.9999992847442627,.9999990463256836,.9999985694885254,.9999982118606567,.9999983310699463,.9999985694885254,.9999984502792358,.9999982118606567,.9999980926513672,.9999973773956299,.9999945163726807,.9999881982803345,.9999828338623047,.9999761581420898,.9999738931655884,.999941349029541,.9999055862426758,.9996827840805054,.9983291029930115,.9790878295898438,.7055251598358154,.09814586490392685,.006529780104756355,9088947554118931e-19,5149248754605651e-19,11914552305825055e-20,7945716788526624e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,44385473302099854e-21,378702134185005e-19,9010630310513079e-20,2043957938440144e-19,16610788588877767e-20,1530214649392292e-19,4498004636843689e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3803591607720591e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3818219556706026e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5438596781459637e-20,378702134185005e-19,3911397288902663e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5582891026278958e-20,792969367466867e-19,13846610090695322e-20,3575860755518079e-19,551213975995779e-18,7230271585285664e-19,598016893491149e-18,6749277235940099e-19,8318197797052562e-19,.0010346529306843877,882825406
8687339003e-19,3276598290540278e-19,13976448099128902e-20,38795758882770315e-21,5860978126293048e-20,5441926987259649e-20,7034269947325811e-20,4466911559575237e-20,6874815153423697e-20,46128290705382824e-21,49167101678904146e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4098902354598977e-20,29043658287264407e-20,.0031419177539646626,.10155915468931198,.8404175043106079,.9930009841918945,.9994014501571655,.9999094009399414,.9999295473098755,.9999524354934692,.999974250793457,.9999871253967285,.9999924898147583,.9999960660934448,.999997615814209,.9999980926513672,.9999982118606567,.9999982118606567,.9999984502792358,.9999988079071045,.9999995231628418,.9999996423721313,.9999994039535522,.9999990463256836,.9999984502792358,.9999982118606567,.9999985694885254,.9999986886978149,.9999986886978149,.9999983310699463,.9999980926513672,.9999971389770508,.9999939203262329,.9999868869781494,.9999827146530151,.9999758005142212,.9999734163284302,.9999394416809082,.9998934268951416,.9995924830436707,.9971299767494202,.9585833549499512,.6092424392700195,.06875421851873398,.004897747654467821,6462482851929963e-19,4802818293683231e-19,13777440472040325e-20,9843985753832385e-20,3814773299382068e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,7889415428508073e-20,15903777966741472e-20,13493034930434078e-20,11044389248127118e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38364272768376395e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4738186180475168e-20,620362552581355e-19,4454515874385834e-20,41455648897681385e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3984651266364381e-20,378702134185005e-19,4267836266080849e-20,540375549462
8686239e-20,10371785174356773e-20,22475382138509303e-20,4671163624152541e-19,7297387928701937e-19,7626388105563819e-19,5495852092280984e-19,44897868065163493e-20,5434076301753521e-19,6926606874912977e-19,5666633369401097e-19,2413399488432333e-19,8636619168100879e-20,4473740409594029e-20,4766379061038606e-20,57938596000894904e-21,8162907761288807e-20,8661545143695548e-20,8608032658230513e-20,5457167935674079e-20,4716921102954075e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,432997549069114e-19,38380760088330135e-21,322783540468663e-18,.0034710478503257036,.10186247527599335,.8404802680015564,.9912201762199402,.9993622899055481,.9999126195907593,.9999504089355469,.9999755620956421,.9999849796295166,.9999912977218628,.9999940395355225,.9999967813491821,.9999984502792358,.999998927116394,.9999985694885254,.9999980926513672,.9999984502792358,.9999990463256836,.9999996423721313,.9999997615814209,.9999995231628418,.9999992847442627,.999998927116394,.9999986886978149,.9999990463256836,.9999991655349731,.9999990463256836,.9999986886978149,.9999985694885254,.999997615814209,.9999945163726807,.9999887943267822,.9999862909317017,.9999805688858032,.9999779462814331,.9999433755874634,.9999027252197266,.999560534954071,.9968125224113464,.9580718278884888,.5615466237068176,.05608462169766426,.002757956273853779,3627279947977513e-19,3599839110393077e-19,1323221658822149e-19,6750875763827935e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4640917177312076e-20,378702134185005e-19,9026439511217177e-20,21577239385806024e-20,1232363429153338e-19,10348803334636614e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49139744078274816e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4096074917470105e-20,1092527381842956e-19,7843228377168998e-20,7691113569308072e-20,378702134185005e-19,3852640656987205e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3949335587094538e-20,378702134185005e-19,4056241596117616e-20,378702134185005e-19,5745117596234195e-20,5944249278400093e-20,9165669325739145e-20,16010306717362255e-20,3307819424662739e-19,7176465587690473e-19,.0011163608869537711,.0011044522980228066,6055273697711527e-19,3747127193491906e-19,31845399644225836e-20,3719431406352669e-19,4292037046980113e-19,22233260096982121e-20,14160593855194747e-20,416854236391373e-19,7778497092658654e-20,8855726628098637e-20,1239159028045833e-19,18750681192614138e-20,17499751993454993e-20,9949208470061421e-20,968276581261307e-19,4184081626590341e-20,39682236092630774e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,46018772991374135e-21,3437834093347192e-19,.0037280109245330095,.10209977626800537,.8126158118247986,.9892550706863403,.9988598823547363,.9998588562011719,.9999456405639648,.9999798536300659,.9999873638153076,.9999920129776001,.9999934434890747,.9999960660934448,.9999982118606567,.9999988079071045,.9999984502792358,.9999977350234985,.9999979734420776,.9999986886978149,.9999995231628418,.9999996423721313,.9999995231628418,.9999991655349731,.9999986886978149,.9999984502792358,.9999988079071045,.9999990463256836,.999998927116394,.9999985694885254,.9999982118606567,.9999973773956299,.9999946355819702,.9999890327453613,.9999877214431763,.9999819993972778,.9999781847000122,.9999421834945679,.9998944997787476,.9995019435882568,.995864748954773,.9475044012069702,.5798043012619019,.05871620774269104,.0036060663405805826,34951369161717594e-20,313681666739285e-18,138
86862267951481044e-20,9825848246691748e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8241699106292799e-20,15624842490069568e-20,9263219544664025e-20,4834996798308566e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5457636871142313e-20,8840292866807431e-20,1363277988275513e-19,6265555566642433e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,45013388444203883e-21,3814627416431904e-20,6225647666724399e-20,5957949906587601e-20,883324901224114e-19,10828771337401122e-20,1228513428941369e-19,2594688849058002e-19,5182655877433717e-19,.0012511592358350754,.0018191973213106394,.00148041732609272,7539805374108255e-19,28535330784507096e-20,2548742340877652e-19,316334335366264e-18,37814630195498466e-20,2407012361800298e-19,17659287550486624e-20,887264177436009e-19,12401529238559306e-20,17929707246366888e-20,1806286018108949e-19,24858792312443256e-20,2735438465606421e-19,16993560711853206e-20,13760676665697247e-20,7595428178319708e-20,4533210812951438e-20,378702134185005e-19,39800634112907574e-21,3811227361438796e-20,4586823706631549e-20,3653003368526697e-19,.004065212327986956,.10852821916341782,.8402143120765686,.9889984726905823,.998725950717926,.9998340010643005,.9999513626098633,.9999854564666748,.9999904632568359,.9999932050704956,.9999940395355225,.9999961853027344,.9999980926513672,.9999988079071045,.9999984502792358,.9999978542327881,.9999978542327881,.9999983310699463,.9999994039535522,.9999995231628418,.9999992847442627,.999998927116394,.9999985694885254,.9999980926513672,.9999985694885254,.999998927116394,.9999988079071045,.9999985694885254,.9999982118606567,.9999974966049194,.9999949932098389,.9999903440475464,.9999892711639404,.9999847412109375,.9999817609786987,.9999579191207886,.9999239444732666,.9996156096458435,.9962379336357117,.9549041986465454,.6241020560264587,.08712739497423172,.004809912759810686,5496102967299521e-19,4729790089186281e-19,18116614955943078e-20,9448361379327253e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,44894677557749674e-21,378702134185005e-19,8796012843959033e-20,22939582413528115e-2
8680,1275521208299324e-19,7421724149025977e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4140796954743564e-20,5881508332095109e-20,12644864909816533e-20,13456164742819965e-20,4365476343082264e-20,3948403536924161e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,3962389018852264e-20,378702134185005e-19,5485565270646475e-20,46868699428159744e-21,7990394078660756e-20,7819422899046913e-20,11687053483910859e-20,17903254774864763e-20,21200053743086755e-20,28038231539539993e-20,28513313736766577e-20,449029408628121e-18,8222991018556058e-19,.0020058704540133476,.0030365714337676764,.0022776778787374496,.0011561944847926497,3747298032976687e-19,3384511510375887e-19,44506980339065194e-20,6119388272054493e-19,4437686875462532e-19,38039631908759475e-20,28910915716551244e-20,3527089720591903e-19,40051841642707586e-20,45435340143740177e-20,489165133330971e-18,35662163281813264e-20,23987579334061593e-20,16890511324163526e-20,10232122440356761e-20,742584525141865e-19,3798661782639101e-20,5616762791760266e-20,5882328696316108e-20,887497590156272e-19,4615910875145346e-19,.004901062231510878,.11972226947546005,.8327614068984985,.9884951114654541,.9981485605239868,.9997645020484924,.9999426603317261,.9999858140945435,.9999899864196777,.9999922513961792,.9999920129776001,.9999946355819702,.9999973773956299,.9999982118606567,.9999982118606567,.999997615814209,.999997615814209,.9999979734420776,.999998927116394,.9999992847442627,.9999991655349731,.9999988079071045,.9999984502792358,.9999979734420776,.9999982118606567,.9999986886978149,.9999988079071045,.9999985694885254,.9999983310699463,.999997615814209,.999995231628418,.9999899864196777,.9999885559082031,.9999834299087524,.9999796152114868,.999955415725708,.9999229907989502,.999630331993103,.9965125918388367,.9573900699615479,.6875406503677368,.12206830084323883,.009134438820183277,8700613398104906e-19,6052754470147192e-19,21186438971199095e-20,11562230065464973e-20,3895855479640886e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8050326141528785e-20,20028793369419873e-20,14355871826410294e-20,6613136065425351e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49135844164993614e-21,3991713674622588e-20,12492088717408478e-20,12130704999435693e-20,7139955414459109e-20,42067887989
86810566e-20,378702134185005e-19,4387981243780814e-20,42570365621941164e-21,46602319343946874e-21,4200037074042484e-20,6236735498532653e-20,8146199252223596e-20,10707414912758395e-20,1333263935521245e-19,19853943376801908e-20,34398864954710007e-20,5040218238718808e-19,57707738596946e-17,5671678227372468e-19,7049321429803967e-19,.0012555315624922514,.0023718951269984245,.0028219677042216063,.0025465853977948427,.0014835847541689873,7570801535621285e-19,6829422782175243e-19,934096984565258e-18,.0013323456514626741,.0011152829974889755,930639507714659e-18,8981194696389139e-19,7488013943657279e-19,8069391478784382e-19,9764315327629447e-19,8384964312426746e-19,47623401042073965e-20,17381200450472534e-20,15435884415637702e-20,8290988625958562e-20,57394889154238626e-21,4124750194023363e-20,4847967647947371e-20,8099391561700031e-20,10860633483389392e-20,6756620132364333e-19,.007270849775522947,.14941680431365967,.8750079870223999,.991529107093811,.9986202716827393,.9998185038566589,.9999594688415527,.9999887943267822,.9999916553497314,.9999926090240479,.9999916553497314,.999994158744812,.9999972581863403,.9999983310699463,.9999983310699463,.9999980926513672,.9999983310699463,.9999985694885254,.9999991655349731,.9999994039535522,.9999992847442627,.9999991655349731,.999998927116394,.9999986886978149,.999998927116394,.9999992847442627,.9999992847442627,.9999991655349731,.9999990463256836,.9999985694885254,.999996542930603,.9999922513961792,.9999908208847046,.9999860525131226,.9999818801879883,.9999600648880005,.999934196472168,.9996708631515503,.997118353843689,.9673022031784058,.7305892705917358,.13423648476600647,.008857376873493195,9924093028530478e-19,5596978007815778e-19,18413558427710086e-20,7804871711414307e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4544010880636051e-20,378702134185005e-19,9508203220320866e-20,2639650192577392e-19,203384886845015e-18,1021007847157307e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3999177351943217e-20,992472268990241e-19,14381531218532473e-20,12908542703371495e-20,1101088200812228e-19,378702134185005e-19,5599103678832762e-20,8103129221126437e-20,9040494478540495e-20,625205211690627e-19,11254118726355955e-20,18674250168260187e-20,2422562538413331e-19,30570747912861407e-20,3950006503146142e-19,6248197751119733e-19,9626713581383228e-19,.0010891933925449848,.0010084204841405153,.0011150753125548363,.0016345400363206863,.0027808600
868571006536,.002443023258820176,.0024150502867996693,.0019768790807574987,.0012927810894325376,.0014784709783270955,.0019141772063449025,.002580374013632536,.0023493298795074224,.0020685747731477022,.002185181714594364,.0016397121362388134,.0015903973253443837,.0024576170835644007,.0021128144580870867,.0010367847280576825,28182330424897373e-20,17461742390878499e-20,8236961002694443e-20,7250122143886983e-20,42843712435569614e-21,7421286863973364e-20,11280847684247419e-20,17729371029417962e-20,.0010933324228972197,.009153573773801327,.16049951314926147,.8675931692123413,.9921180605888367,.9987762570381165,.9998418688774109,.9999635219573975,.9999901056289673,.9999914169311523,.9999918937683105,.9999911785125732,.9999933242797852,.9999963045120239,.9999977350234985,.9999979734420776,.9999979734420776,.9999984502792358,.9999986886978149,.9999991655349731,.9999992847442627,.9999991655349731,.9999990463256836,.999998927116394,.9999986886978149,.9999990463256836,.9999994039535522,.9999994039535522,.9999992847442627,.9999991655349731,.9999988079071045,.9999971389770508,.9999933242797852,.9999915361404419,.9999858140945435,.9999812841415405,.9999600648880005,.9999396800994873,.9997130632400513,.9976515173912048,.9742490649223328,.7853306531906128,.16008193790912628,.014279532246291637,.0015728190774098039,8161479490809143e-19,2249256067443639e-19,12257906200829893e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,9189727279590443e-20,2163552853744477e-19,1775952405296266e-19,8102042193058878e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4071997318533249e-20,46796420065220445e-21,11746086966013536e-20,16930713900364935e-20,16833172412589192e-20,987010498647578e-19,45697703171754256e-21,50082122470485047e-21,7467970863217488e-20,824187882244587e-19,1048192207235843e-19,16778679855633527e-20,34733765642158687e-20,4890526761300862e-19,5278890603221953e-19,5882918485440314e-19,7051472784951329e-19,.001191528863273561,.0013177089858800173,.0012054023100063205,.0014554657973349094,.0021855002269148827,.0029693793039768934,.0026562660932540894,.0022384286858141422,.0018855404341593385,.0016581525560468435,.0017190494108945131,.002500973641872406,.0037899387534707785,.003577101742848754,.0036188745871186256,.00277056428
86860382795,.001936627202667296,.001800013706088066,.0031303572468459606,.003633940825238824,.0016565786208957434,5459045642055571e-19,22486601665150374e-20,7195334183052182e-20,6277672946453094e-20,60300659242784604e-21,8818419883027673e-20,13212073827162385e-20,2531008794903755e-19,.0013125995174050331,.010823896154761314,.17374885082244873,.9024757742881775,.9946343898773193,.9992840886116028,.9999134540557861,.9999806880950928,.9999939203262329,.9999940395355225,.9999945163726807,.9999939203262329,.9999951124191284,.9999966621398926,.9999974966049194,.9999980926513672,.9999983310699463,.9999986886978149,.9999990463256836,.9999994039535522,.9999994039535522,.9999992847442627,.9999990463256836,.999998927116394,.9999990463256836,.9999992847442627,.9999995231628418,.9999995231628418,.9999994039535522,.9999992847442627,.9999990463256836,.9999979734420776,.9999955892562866,.9999932050704956,.9999877214431763,.9999840259552002,.9999673366546631,.9999561309814453,.9998103976249695,.9983841180801392,.9815370440483093,.8243961334228516,.22354237735271454,.025065241381525993,.0036473090294748545,.0013689633924514055,37916740984655917e-20,13299818965606391e-20,38617581594735384e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4785073542734608e-20,378702134185005e-19,9810728079173714e-20,27535867411643267e-20,23471275926567614e-20,1271404471481219e-19,378702134185005e-19,4207645179121755e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38067559216869995e-21,378702134185005e-19,378702134185005e-19,39415455830749124e-21,56634795328136533e-21,13868059613741934e-20,15230216376949102e-20,1667064061621204e-19,1882451178971678e-19,7252317300299183e-20,8857793000061065e-20,8536831592209637e-20,11520023690536618e-20,16069089178927243e-20,30293266172520816e-20,587667222134769e-18,8593254024162889e-19,.0010406
868781220808625,.0013598762452602386,.0013807218056172132,.0016908891266211867,.001924498938024044,.0023692718241363764,.0029666798654943705,.003127926029264927,.003354391548782587,.0028169869910925627,.0022698063403367996,.0019470903789624572,.0021995524875819683,.0023233401589095592,.0031372711528092623,.0044673774391412735,.004244180396199226,.005417858250439167,.00448590749874711,.0028535702731460333,.0026525857392698526,.004671049304306507,.006157454568892717,.003948522731661797,.0014041842659935355,7232899079099298e-19,2652741386555135e-19,222465765546076e-18,20182773005217314e-20,32809856929816306e-20,4033418372273445e-19,7607153966091573e-19,.0036764186806976795,.02159414440393448,.26921582221984863,.9447897672653198,.9973624348640442,.9994600415229797,.9999252557754517,.999983549118042,.9999951124191284,.9999945163726807,.9999947547912598,.9999947547912598,.9999954700469971,.999996542930603,.9999971389770508,.9999977350234985,.9999982118606567,.9999985694885254,.9999990463256836,.9999994039535522,.9999995231628418,.9999992847442627,.999998927116394,.9999988079071045,.9999990463256836,.9999994039535522,.9999995231628418,.9999995231628418,.9999994039535522,.9999992847442627,.999998927116394,.9999978542327881,.9999953508377075,.9999929666519165,.9999867677688599,.999983549118042,.9999657869338989,.9999535083770752,.9998342394828796,.99898362159729,.9886149168014526,.8855809569358826,.32062476873397827,.044138845056295395,.006326506845653057,.003026641672477126,.0011290491092950106,3993590362370014e-19,73504306783434e-18,57148899941239506e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,881763844517991e-19,2352782030357048e-19,19772365340031683e-20,12818336836062372e-20,3995018778368831e-20,430535692430567e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,386381107091438e-19,4442991848918609e-20,378702134185005e-19,378702134185005e-19,4753673783852719e-20,4385676220408641e-20,9104726632358506e-20,10994068725267425e-20,22196921054273844e-20,21551316604018211e-20,11976136011071503e-20,10127540735993534e-20,8173003152478486e-20,1281780278077349e-19,1767343928804621e-19,3461473388597369e-19,7014303118921816e-19,.001090683275833726,.0017023023683577776,.002669052453711629,.0031890033278614283,.0030501356814056635,.00394327
8685660276413,.006298423279076815,.005732646677643061,.003544119419530034,.0023663612082600594,.001995889935642481,.0019285408779978752,.00201720860786736,.0015675690956413746,.0014863291289657354,.0014172783121466637,.0018773636547848582,.0037256889045238495,.005167891271412373,.0068597253412008286,.004970756825059652,.00444028852507472,.008817048743367195,.01002208050340414,.007599367294460535,.0033261922653764486,.0019693642389029264,.0011016896460205317,6202342337928712e-19,7176038925535977e-19,.0010271123610436916,.0015357439406216145,.0034367572516202927,.015714328736066818,.08003230392932892,.6096147894859314,.9897274374961853,.9993529915809631,.9997469782829285,.9999439716339111,.9999899864196777,.9999970197677612,.9999963045120239,.9999963045120239,.9999960660934448,.9999966621398926,.999997615814209,.9999982118606567,.9999984502792358,.9999985694885254,.9999988079071045,.9999991655349731,.9999995231628418,.9999996423721313,.9999995231628418,.9999994039535522,.9999992847442627,.9999994039535522,.9999996423721313,.9999997615814209,.9999996423721313,.9999995231628418,.9999994039535522,.9999991655349731,.9999978542327881,.9999947547912598,.9999929666519165,.9999874830245972,.999984622001648,.999970555305481,.9999610185623169,.9998801946640015,.9994068145751953,.994175374507904,.9377018809318542,.4178462624549866,.04942614585161209,.00878271646797657,.0059122359380126,.003023796947672963,8976403041742742e-19,16286666505038738e-20,8397539932047948e-20,378702134185005e-19,4103326500626281e-20,378702134185005e-19,38766738725826144e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4659754267777316e-20,378702134185005e-19,980956683633849e-19,2547980984672904e-19,21099454897921532e-20,14656095299869776e-20,47272464144043624e-21,4911405630991794e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3877568451571278e-20,38647765904897824e-21,6164698424981907e-20,5156259430805221e-20,4260527202859521e-20,378702134185005e-19,5477702143252827e-20,7573515176773071e-20,11305465886835009e-20,27504912577569485e-20,5919678951613605e-19,3878618881572038e-19,2967905020341277e-19,18595416622702032e-20,2574579557403922e-19,31178511562757194e-20,5172363016754389e-19,.0011534967925399542,.002218401525169611,.0039392923936247826,.008121052756905556,.011746038682758808,.012663118541240692,.0166598092764616,.02614867128431797,.02054373174905777,.008108222857117653,.0037897389847785234,.003634747816249728,.003852370660752058,.004674016032367945,.0026604547165334225,.0017521522240713239,.0013868026435375214,.0014937457162886858,.0037377928383648396,.00900165643543005,.013962666504085064,.011944693513214588,.009602045640349388,.014970185235142708,.01780630834400654,.01620890013873577,.008493953384459019,.006598055828362703,.005088348872959614,.004764629062265158,.006101821083575487,.013207347132265568,.022390345111489296,.06450808793306351,.21429774165153503,.48773035407066345,.929958701133728,.9975469708442688,.9997842907905579,.9998257756233215,.9999395608901978,.9999889135360718,.9999970197677612,.9999966621398926,.999996542930603,.9999960660934448,.9999964237213135,.9999974966049194,.9999982118606567,.9999984502792358,.9999984502792358,.9999984502792358,.999998927116394,.9999994039535522,.9999996423721313,.9999995231628418,.9999994039535522,.9999994039535522,.9999994039535522,.9999996423721313,.9999996423721313,.9999996423721313,.9999994039535522,.9999992847442627,.9999990463256836,.9999978542327881,.9999943971633911,.9999927282333374,.9999866485595703,.9999829530715942,.9999693632125854,.999962568283081,.9999034404754639,.9997380375862122,.9980212450027466,.9803668260574341,.6831493377685547,.175895556807518,.037761520594358444,.0235785860568285,.010699845850467682,.002853953978046775,6364831351675093e-19,4383745545055717e-19,1525183324702084e-19,15860445273574442e-20,7146636198740453e-20,850221622386016e-19,52578536269720644e-21,5995820902171545e-20,378702134185005e-19,39730293792672455e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,9115384455071762e-20,1901589275803417e-19,14220376033335924e-20,930748283280991e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4127030115341768e-20,378702134185005e-19,47354809794342145e-21,5623289689538069e-20,42765423131641e-18,389423621527385e-19,48259960749419406e-21,5061470073997043e-20,8528755279257894e-20,11535894009284675e-20,37624058313667774e-20,996882445178926e-18,9565261425450444e-19,6501711322925985e-19,4905140376649797e-19,5530049675144255e-19,8014420745894313e-19,.001260346733033657,.0027629858814179897,.006237357389181852,.012810531072318554,.03492765128612518,.06764990836381912,.07761824131011963,.09203685075044632,.10346166789531708,.06442338228225708,.024166546761989594,.013289768248796463,.014367347583174706,.016715949401259422,.01750200241804123,.014372830279171467,.007193036377429962,.006708205211907625,.005211572628468275,.009327622130513191,.017321016639471054,.0257553830742836,.018450314179062843,.017302215099334717,.022382423281669617,.027877550572156906,.03328722342848778,.02315340004861355,.024490484967827797,.030756328254938126,.047141943126916885,.11553777754306793,.25641974806785583,.5392379760742188,.7981752753257751,.9331945776939392,.9699076414108276,.9945973753929138,.9995846152305603,.999922513961792,.9998824596405029,.9999418258666992,.999990820884704
8686,.9999974966049194,.9999973773956299,.9999974966049194,.9999969005584717,.9999971389770508,.9999979734420776,.9999984502792358,.9999985694885254,.9999984502792358,.9999982118606567,.9999984502792358,.9999992847442627,.9999994039535522,.9999994039535522,.9999992847442627,.9999992847442627,.9999994039535522,.9999995231628418,.9999996423721313,.9999995231628418,.9999994039535522,.9999992847442627,.9999991655349731,.9999980926513672,.9999955892562866,.9999939203262329,.9999896287918091,.9999850988388062,.9999737739562988,.9999692440032959,.9999486207962036,.9999059438705444,.9994643330574036,.9949341416358948,.9415102601051331,.693260908126831,.3256797194480896,.1347188949584961,.03753473982214928,.007599404081702232,.0021440142299979925,.0016957948682829738,.0011776518076658249,7544403779320419e-19,3563801583368331e-19,1684535964159295e-19,9053411486092955e-20,9144313662545756e-20,48495796363567933e-21,6131536792963743e-20,41869036067510024e-21,49530615797266364e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4739862197311595e-20,378702134185005e-19,10230749467154965e-20,2572477387730032e-19,16118733037728816e-20,10688358452171087e-20,3790126720559783e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40683655242901295e-21,6693902832921594e-20,5218285514274612e-20,5837305070599541e-20,41142910049529746e-21,7630007166881114e-20,11486833682283759e-20,1545118575450033e-19,5034766509197652e-19,.001668103039264679,.002450130181387067,.0021441371645778418,.0015516625717282295,.0017001043306663632,.002722058678045869,.005696495529264212,.011849834583699703,.02790324203670025,.06041235476732254,.12003922462463379,.22353196144104004,.24094602465629578,.2551690638065338,.2299090027809143,.13980348408222198,.06923464685678482,.039744388312101364,.03674331679940224,.03805780038237572,.0294688381254673,.02961837127804756,.018090561032295227,.015127420425415039,.011227020993828773,.015378429554402828,.016617178916931152,.021806087344884872,.021116942167282104,.023844949901103973,.04532531648874283,.07017189264297485,.1280743032693863,.12704502046108246,.18245172500610352,.26626747846603394,.45113927125930786,.7722252011299133,.9284417033195496,.9822733998298645,.9934939742088318,.9974956512451172,.9982738494873047,.9993062019348145,.999792754650116,.999935507774353,.9999182224273682,.9999475479125977,.9999892711639404,.9999972581863403,.9999974966049194,.9999977350234985,.9999973773956299,.9999974966049194,.9999982118606567,.9999985694885254,.9999984502792358,.9999982118606567,.9999979734420776,.9999979734420776,.9999986886978149,.9999990463256836,.9999990463256836,.9999990463256836,.9999991655349731,.9999992847442627,.9999994039535522,.9999995231628418,.9999995231628418,.9999994039535522,.9999992847442627,.9999990463256836,.9999982118606567,.9999959468841553,.9999945163726807,.9999910593032837,.9999880790710449,.9999774694442749,.9999744892120361,.9999669790267944,.9999637603759766,.999836266040802,.9987347722053528,.9897684454917908,.9689838290214539,.8817220330238342,.6612146496772766,.2527581751346588,.0772038996219635,.020873164758086205,.010968238115310669,.00569638516753912,.0025865708012133837,.001317682908847928,9683385724201798e-19,4993267357349396e-19,3998734464403242e-19,24298949574586004e-20,23534259526059031e-20,16376364510506392e-20,16644383140373975e-20,8951049676397815e-20,9580911137163639e-20,396363357140217e-19,4048315531690605e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3799462865572423e-20,378702134185005e-19,10485829989193007e-20,2385226107435301e-19,17068663146346807e-20,8678186713950709e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6277154170675203e-20,4432284913491458e-20,3902843309333548e-20,5169773430679925e-20,5478260209201835e-20,9260306251235306e-20,1549927837913856e-19,18862982688006014e-20,828970514703542e-18,.003867980558425188,.006957776844501495,.0065846070647239685,.0064912112429738045,.006615281105041504,.010657720267772675,.021570652723312378,.04728022590279579,.12920743227005005,.206650510430336,.3030868172645569,.3502727150917053,.334183007478714,.2999359667301178,.3115718960762024,.27359676361083984,.19369833171367645,.13229742646217346,.08645498007535934,.06771137565374374,.03907964006066322,.02525140531361103,.01498807966709137,.009505686350166798,.008336939848959446,.00741511071100831,.007596014998853207,.008219696581363678,.011149834841489792,.020035142078995705,.0489795058965683,.12658323347568512,.32636117935180664,.5760944485664368,.7187851071357727,.8737983107566833,.9482043385505676,.9873088002204895,.997092068195343,.9989169836044312,.9993339776992798,.9996317625045776,.9996930360794067,.9997950196266174,.9998888969421387,.9999417066574097,.9999456405639648,.9999724626541138,.9999942779541016,.9999982118606567,.9999984502792358,.9999988079071045,.9999985694885254,.9999985694885254,.999998927116394,.9999990463256836,.9999988079071045,.9999984502792358,.9999984502792358,.9999985694885254,.9999988079071045,.9999990463256836,.9999991655349731,.9999992847442627,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.9999994039535522,.9999992847442627,.9999985694885254,.9999971389770508,.999996542930603,.9999949932098389,.9999923706054688,.9999872446060181,.999984860420227,.9999814033508301,.9999803304672241,.9999285936355591,.9995655417442322,.9975252747535706,.9953225255012512,.9862836599349976,.9742299914360046,.915404736995697,.7069360613822937,.28312554955482483,.06950152665376663,.015094035305082798,.004984620492905378,.0025782890152186155,.0025964570231735706,.002152821747586131,.0013222349807620049,7851914269849658e-19,7995064370334148e-19,7589953602291644e-19,4919502534903586e-19,2529064367990941e-19,18428679322823882e-20,8068192983046174e-20,4633943899534643e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4927586633129977e-20,378702134185005e-19,11801751679740846e-20,3793280338868499e-19,26343035278841853e-20,140164396725595e-18,378702134185005e-19,38494355976581573e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38386900996556506e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3817835749941878e-20,4556541534839198e-20,41239731217501685e-21,6198592018336058e-20,6990685506025329e-20,1167514783446677e-19,18915391410700977e-20,2559624845162034e-19,.001267779152840376,.007232552394270897,.016625121235847473,.01952633634209633,.028376514092087746,.04242081195116043,.06630343198776245,.10590095818042755,.1969180554151535,.37056347727775574,.46483203768730164,.4556584358215332,.43982818722724915,.37701931595802307,.3032298684120178,.255745530128479,.2416253387928009,.20940130949020386,.1515195518732071,.07311752438545227,.054525721818208694,.03736124187707901,.021419936791062355,.016539879143238068,.01292419247329235,.019425392150878906,.018745362758636475,.023525698110461235,.02785556949675083,.05747947469353676,.13391007483005524,.37431415915489197,.6658976674079895,.8714511394500732,.956862
8686284599304,.9761632680892944,.9920684099197388,.9972879886627197,.9992988109588623,.9997829794883728,.9999001026153564,.9999223947525024,.9999352693557739,.9999147653579712,.9999160766601563,.9999164342880249,.9999419450759888,.9999616146087646,.9999830722808838,.9999949932098389,.9999982118606567,.9999984502792358,.999998927116394,.999998927116394,.999998927116394,.999998927116394,.999998927116394,.9999988079071045,.9999984502792358,.9999984502792358,.9999985694885254,.9999986886978149,.9999986886978149,.999998927116394,.9999991655349731,.9999994039535522,.9999995231628418,.9999995231628418,.9999996423721313,.9999996423721313,.9999995231628418,.9999994039535522,.9999990463256836,.9999985694885254,.9999973773956299,.9999970197677612,.9999960660934448,.9999940395355225,.9999905824661255,.9999903440475464,.9999885559082031,.9999896287918091,.9999709129333496,.9998830556869507,.9994613528251648,.9993326663970947,.9986013770103455,.9972645044326782,.993187427520752,.984289824962616,.9148439764976501,.5681189298629761,.12324407696723938,.043231088668107986,.019551169127225876,.020202985033392906,.01825890503823757,.01131108496338129,.004781919065862894,.0027572689577937126,.0024048013146966696,.002374418079853058,.001374169485643506,.0011062492849305272,39850943721830845e-20,18336140783503652e-20,40458893636241555e-21,42610368836903945e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,396931754949037e-19,378702134185005e-19,12511093518696725e-20,43596059549599886e-20,33975508995354176e-20,13167464931029826e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3790602568187751e-20,378702134185005e-19,3900034789694473e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3831503272522241e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4267867188900709e-20,4056734906043857e-20,4720975994132459e-20,44489457650342956e-21,6924045010237023e-20,10038138134405017e-20,21187798120081425e-20,3497134894132614e-19,.001585937337949872,.00906463898718357,.02942783199250698,.05930893123149872,.11111097037792206,.1894809603691101,.29906919598579407,.35417017340660095,.4321097135543823,.5327668190002441,.5273082256317139,.46143269538879395,.4105859696865082,.3512882590293884,.22426357865333557,.16696783900260925,.12315516918897629,.10969189554452896,.06965170055627823,.029683569446206093,.017032204195857048,.015213063918054104,.015488219447433949,.02070319466292858,.03713167831301689,.09231504052877426,.24050046503543854,.44838619232177734,.7002918720245361,.8508219122886658,.9479056000709534,.9808027744293213,.9926816821098328,.995051920413971,.9969893097877502,.9971194267272949,.9987188577651978,.9995966553688049,.9998940229415894,.9999595880508423,.9999769926071167,.9999779462814331,.999976634979248,.99995
86879191207886,.9999322891235352,.9999415874481201,.9999681711196899,.9999775886535645,.9999904632568359,.9999967813491821,.9999986886978149,.9999986886978149,.9999990463256836,.9999991655349731,.9999991655349731,.9999991655349731,.9999990463256836,.9999990463256836,.999998927116394,.999998927116394,.999998927116394,.9999988079071045,.9999988079071045,.9999990463256836,.9999992847442627,.9999995231628418,.9999996423721313,.9999996423721313,.9999997615814209,.9999997615814209,.9999996423721313,.9999994039535522,.9999990463256836,.9999985694885254,.9999978542327881,.9999974966049194,.9999966621398926,.9999948740005493,.9999914169311523,.9999910593032837,.9999903440475464,.9999921321868896,.9999825954437256,.9999163150787354,.9997294545173645,.9997584223747253,.9995061159133911,.9989870190620422,.998608410358429,.9984346032142639,.9963746070861816,.9746336340904236,.8650763630867004,.6513245701789856,.4463292956352234,.3268349766731262,.2211967259645462,.11371667683124542,.03234333172440529,.010164893232285976,.006440171971917152,.009087433107197285,.00842042826116085,.006428911350667477,.0032125357538461685,5815848708152771e-19,975714938249439e-19,5693717685062438e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5239801976131275e-20,378702134185005e-19,13353028043638915e-20,4731680965051055e-19,3724581329151988e-19,1747392088873312e-19,3943747651646845e-20,41604933358030394e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,43276148062432185e-21,4111974703846499e-20,5410714584286325e-20,3921340248780325e-20,3884531179210171e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40317077946383506e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3889765139319934e-20,486867138533853e-19,378702134185005e-19,4734248068416491e-20,7700076821492985e-20,14117716636974365e-20,3328162129037082e-19,6428826600313187e-19,.002289785770699382,.011035499162971973,.043393585830926895,.10549736768007278,.22476786375045776,.27023980021476746,.3990086615085602,.41217222809791565,.4333413541316986,.42983368039131165,.3929579257965088,.37741854786872864,.3429184854030609,.2832111120223999,.15430332720279694,.10123959928750992,.07290279120206833,.08116131275892258,.06548284739255905,.060530561953783035,.04064369946718216,.05257352441549301,.07483654469251633,.17440836131572723,.3573031723499298,.6414276361465454,.8820982575416565,.9585288166999817,.9868940114974976,.9931555986404419,.9975180625915527,.9987239837646484,.9994367957115173,.9994171857833862,.9995383024215698,.9996397495269775,.9997933506965637,.9999455213546753,.999984622001648,.9999889135360718,.9999921321868896,.9999889135360718,.9999855756759644,.9999734163284302,.9999340772628784,.9999294281005859,.9999657869338989,.9999827146530151,.9999922513961792,.9999963045120239,.9999983310699463,.9999984502792358,.9999988079071045,.9999991655349731,.9999992847442627,.9999991655349731,.9999990463256836,.9999990463256836,.9999990463256836,.9999990463256836,.9999990463256836,.9999988079071045,.9999985694885254,.999998927116394,.9999992847442627,.9999994039535522,.9999996423721313,.9999996423721313,.9999996423721313,.9999997615814209,.9999995231628418,.9999992847442627,.9999988079071045,.9999984502792358,.999997615814209,.9999974966049194,.9999966621398926,.9999947547912598,.9999905824661255,.9999901056289673,.9999896287918091,.9999926090240479,.9999871253967285,.999943733215332,.9998210072517395,.9999092817306519,.9998546838760376,.9997145533561707,.9997186064720154,.9998090863227844,.9997307658195496,.9987820982933044,.9948429465293884,.9854305982589722,.9625923037528992,.9256923198699951,.8438938856124878,.7231965065002441,.3550652861595154,.14103735983371735,.06816046684980392,.06747528165578842,.055517081171274
868185,.024414267390966415,.009696793742477894,.002840521978214383,5431402241811156e-19,2967728360090405e-19,7293409726116806e-20,7350319356191903e-20,378702134185005e-19,4227922545396723e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4266955875209533e-20,378702134185005e-19,1360831956844777e-19,31336717074736953e-20,21778803784400225e-20,10147246939595789e-20,378702134185005e-19,3923142503481358e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3895999907399528e-20,4003073263447732e-20,39113350794650614e-21,488852929265704e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3943375122616999e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39457787352148443e-21,378702134185005e-19,4323786197346635e-20,38100533856777474e-21,5400559530244209e-20,3861025834339671e-20,9912856330629438e-20,17820017819758505e-20,584021327085793e-18,.0011003424879163504,.0046087452210485935,.023901065811514854,.0843043178319931,.2111155390739441,.2883201241493225,.25206658244132996,.22716882824897766,.24883157014846802,.20863471925258636,.19740940630435944,.1698651760816574,.20797055959701538,.19029603898525238,.14520080387592316,.08844111114740372,.07012050598859787,.07791894674301147,.10652981698513031,.1815277338027954,.330891877412796,.5852877497673035,.7572473287582397,.8785387873649597,.925508975982666,.9637237191200256,.980368435382843,.9906987547874451,.994618833065033,.9966676831245422,.9979410767555237,.9988980889320374,.9995243549346924,.9997047185897827,.9996875524520874,.9997459053993225,.9998888969421387,.9999579191207886,.9999927282333374,.9999978542327881,.9999977350234985,.9999973773956299,.9999943971633911,.9999867677688599,.9999798536300659,.9999430179595947,.9999430179595947,.999966025352478,.9999873638153076,.9999953508377075,.9999969005584717,.9999983310699463,.9999985694885254,.9999990463256836,.9999994039535522,.9999995231628418,.9999995231628418,.9999995231628418,.9999994039535522,.9999994039535522,.9999994039535522,.9999994039535522,.9999990463256836,.999998927116394,.9999992847442627,.9999995231628418,.9999996423721313,.9999996423721313,.9999996423721313,.9999997615814209,.9999997615814209,.9999996423721313,.9999994039535522,.9999992847442627,.9999986886978149,.9999978542327881,.9999978542327881,.9999971389770508,.9999951124191284,.9999918937683105,.9999920129776001,.9999927282333374,.9999951124191284,.9999903440475464,.9999440908432007,.9998559951782227,.9999560117721558,.9999635219573975,.9999564886093
86814,.9999747276306152,.9999686479568481,.9999504089355469,.9998494386672974,.9994897246360779,.9988391995429993,.9973345994949341,.9946150183677673,.9879634380340576,.9803708791732788,.9383428692817688,.8728266954421997,.7158886194229126,.5593392252922058,.21711374819278717,.048320092260837555,.01283776294440031,.0056904954835772514,.002138500101864338,9840130805969238e-19,38700143340975046e-20,15659724886063486e-20,5967330434941687e-20,6685837433906272e-20,3924182237824425e-20,4383252962725237e-20,378702134185005e-19,42110870708711445e-21,378702134185005e-19,3896015550708398e-20,378702134185005e-19,40123613871401176e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,53344734624261037e-21,378702134185005e-19,1386657531838864e-19,30276275356300175e-20,19359176803845912e-20,9722514369059354e-20,378702134185005e-19,388439730159007e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4182046541245654e-20,4110102236154489e-20,497812798130326e-19,3832518996205181e-20,3866900078719482e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4366902066976763e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4013827856397256e-20,378702134185005e-19,6528810627060011e-20,13299827696755528e-20,4009277909062803e-19,.0011601587757468224,.002046559238806367,.010016558691859245,.06221884861588478,.19399802386760712,.3242408335208893,.3621973693370819,.22514714300632477,.14108069241046906,.15088100731372833,.12428834289312363,.12131574004888535,.11117994040250778,.20581139624118805,.23119103908538818,.24866582453250885,.19542278349399567,.2610020935535431,.3767704963684082,.5654940009117126,.7722153067588806,.9086261987686157,.9742951393127441,.987978458404541,.994805634021759,.9955961108207703,.9974254369735718,.9981545805931091,.9988353848457336,.9992333650588989,.9993963241577148,.999497652053833,.9996683597564697,.9998384118080139,.9998995065689087,.9998972415924072,.9999099969863892,.9999698400497437,.9999915361404419,.9999973773956299,.9999991655349731,.9999991655349731,.999998927116394,.9999974966049194,.9999912977218628,.9999850988388062,.9999607801437378,.9999513626098633,.9999624490737915,.9999804496765137,.9999938011169434,.9999961853027344,.999997615814209,.9999979734420776,.9999986886978149,.9999992847442627,.9999995231628418,.9999995231628418,.9999994039535522,.9999995231628418,.9999994039535522,.9999994039535522,.9999992847442627,.999998927116394,.9999988079071045,.9999991655349731,.9999994039535522,.9999995231628418,.9999996423721313,.9999996423721313,.9999996423721313,.9999996423721313,.9999995231628418,.9999994039535522,.9999992847442627,.9999988079071045,.9999978542327881,.9999977350234985,.9999970197677612,.9999958276748657,.9999934434890747,.9999934434890747,.9999936819076538,.9999953508377075,.9999910593032837,.9999529123306274,.9998779296875,.9999701976776123,.9999823570251465,.9999878406524658,.9999955892562866,.9999929666519165,.9999871253967285,.9999797344207764,.9999494552612305,.9999023675918579,.9998059868812561,.9996171593666077,.9991445541381836,.999061644077301,.9976964592933655,.9942368865013123,.9802342057228088,.9520993232727051,.737683117389679,.24309822916984558,.054655399173498154,.026975756511092186,.01061630342155695,.004527929704636335,.0020432122983038425,.0010946058901026845,3736860817298293e-19,31318271066993475e-20,16794056864455342e-20,16803215839900076e-20,8759802585700527e-20,11258047015871853e-20,7267634646268561e-20,9117812442127615e-20,5087183308205567e-20,7332528912229463e-20,49842063162941486e-21,5568576307268813e-20,378702134185005e-19,3881715383613482e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4015290323877707e-20,378702134185005e-19,1317780843237415e-19,2487713354639709e-19,15040900325402617e-20,562530112802051e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3797579847741872e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4368460940895602e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40324910514755175e-21,378702134185005e-19,3905103949364275e-20,378702134185005e-19,4861574052483775e-20,6975439464440569e-20,22215252101887017e-2
8680,688420666847378e-18,.002194285159930587,.0038559543900191784,.0167306549847126,.10553111881017685,.21465027332305908,.3160824477672577,.25596633553504944,.12397419661283493,.07690330594778061,.10655705630779266,.12405747920274734,.1414722055196762,.20547053217887878,.4030713438987732,.6851477026939392,.83128422498703,.912760853767395,.9513612389564514,.9764747023582458,.9873833060264587,.9927256107330322,.9953475594520569,.9972336888313293,.9975353479385376,.9983040690422058,.9983955025672913,.9987356066703796,.9990411996841431,.9993942975997925,.9996839761734009,.9998090863227844,.9998101592063904,.9998718500137329,.9999268054962158,.9999488592147827,.999955415725708,.9999706745147705,.9999929666519165,.999997615814209,.9999983310699463,.9999991655349731,.9999992847442627,.9999994039535522,.9999982118606567,.9999938011169434,.9999892711639404,.9999760389328003,.9999642372131348,.9999675750732422,.9999799728393555,.9999915361404419,.9999951124191284,.9999967813491821,.9999972581863403,.9999982118606567,.9999990463256836,.9999994039535522,.9999992847442627,.9999994039535522,.9999995231628418,.9999994039535522,.9999991655349731,.999998927116394,.9999988079071045,.9999988079071045,.9999991655349731,.9999994039535522,.9999995231628418,.9999995231628418,.9999995231628418,.9999995231628418,.9999996423721313,.9999995231628418,.9999994039535522,.9999991655349731,.999998927116394,.9999982118606567,.9999980926513672,.9999978542327881,.9999972581863403,.9999958276748657,.999995231628418,.9999945163726807,.9999951124191284,.9999899864196777,.9999499320983887,.9998903274536133,.9999750852584839,.9999879598617554,.9999940395355225,.999997615814209,.9999940395355225,.9999884366989136,.9999889135360718,.9999874830245972,.9999723434448242,.9999370574951172,.9998552799224854,.999792754650116,.9998340010643005,.9996377229690552,.9989966750144958,.9976508021354675,.9952227473258972,.9793397188186646,.8401534557342529,.44771355390548706,.2084244340658188,.06368687003850937,.019133739173412323,.009419578127563,.005541060119867325,.0026549685280770063,.0014522988349199295,9379401453770697e-19,6275533232837915e-19,39932687650434673e-20,27457583928480744e-20,19219798559788615e-20,15110059757716954e-20,8816519402898848e-20,983423669822514e-19,7002080383244902e-20,6508800288429484e-20,3797351382672787e-20,40870603697840124e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,51217706641182303e-21,378702134185005e-19,1323973119724542e-19,2809038560371846e-19,17903443949762732e-20,7738343992969021e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3825727981165983e-20,378702134185005e-19,3827361797448248e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4650836854125373e-20,6933314580237493e-20,31395044061355293e-20,.0012024802854284644,.004990775138139725,.011207247152924538,.04191306605935097,.1749982386827469,.30396804213523865,.454165518283844,.3764207661151886,.28374361991882324,.19752517342567444,.3177809417247772,.42605945467948914,.5708692669868469,.7299
868115657806396,.8861458897590637,.9654197096824646,.9884617328643799,.9956126809120178,.9978359341621399,.9990114569664001,.9992687106132507,.9994392991065979,.9994633793830872,.9995917677879333,.9995487928390503,.9995633959770203,.9995251893997192,.9995191097259521,.9995889067649841,.9997242093086243,.9998624324798584,.9999291896820068,.9999330043792725,.999945878982544,.9999587535858154,.9999668598175049,.9999740123748779,.9999871253967285,.9999959468841553,.9999983310699463,.9999982118606567,.9999988079071045,.9999992847442627,.9999994039535522,.9999985694885254,.999995231628418,.9999924898147583,.9999843835830688,.9999736547470093,.9999752044677734,.9999803304672241,.9999889135360718,.9999924898147583,.9999948740005493,.9999960660934448,.9999973773956299,.9999983310699463,.9999988079071045,.999998927116394,.9999992847442627,.9999994039535522,.9999992847442627,.9999988079071045,.9999982118606567,.9999984502792358,.9999985694885254,.9999988079071045,.9999990463256836,.9999991655349731,.9999992847442627,.9999992847442627,.9999992847442627,.9999992847442627,.9999991655349731,.9999991655349731,.9999990463256836,.9999985694885254,.9999977350234985,.9999977350234985,.9999978542327881,.999997615814209,.9999961853027344,.999995231628418,.9999942779541016,.999994158744812,.9999873638153076,.9999499320983887,.9998918771743774,.9999686479568481,.9999865293502808,.9999929666519165,.9999969005584717,.9999902248382568,.9999797344207764,.9999865293502808,.9999914169311523,.9999856948852539,.9999654293060303,.9999029636383057,.9998795986175537,.9999464750289917,.999909520149231,.9997732043266296,.9996171593666077,.9993487000465393,.9976537823677063,.989048182964325,.9295933842658997,.8291072845458984,.5149179697036743,.24353806674480438,.11674778908491135,.07426484674215317,.034424398094415665,.017211375758051872,.008367246016860008,.0037437693681567907,.0018555907299742103,.0014370431890711188,9273491450585425e-19,7796683348715305e-19,42527663754299283e-20,3579127660486847e-19,21687737898901105e-20,17141229182016104e-20,7522387022618204e-20,853117962833494e-19,4467632243176922e-20,6245125405257568e-20,3901589661836624e-20,454848850495182e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3974014180130325e-20,378702134185005e-19,12612728460226208e-20,24901164579205215e-20,15204347437247634e-20,586646274314262e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39471982745453715e-21,378702134185005e-19,5798568236059509e-20,8775246533332393e-20,606539542786777e-18,.002451791660860181,.011064394377171993,.023600570857524872,.07726060599088
868669,.28360676765441895,.532020628452301,.7625009417533875,.880827009677887,.8843450546264648,.9060795903205872,.9524016380310059,.9768078327178955,.9848529100418091,.9919497966766357,.9955486059188843,.9977220892906189,.9987508058547974,.9993467926979065,.9995986819267273,.9997708201408386,.9998243451118469,.9998437762260437,.9998799562454224,.9999055862426758,.9998986721038818,.9998853206634521,.9998769760131836,.9998637437820435,.9998865127563477,.9999022483825684,.9999618530273438,.9999796152114868,.9999765157699585,.9999737739562988,.9999740123748779,.9999734163284302,.9999885559082031,.9999954700469971,.9999971389770508,.9999985694885254,.9999984502792358,.9999990463256836,.9999994039535522,.9999995231628418,.9999990463256836,.9999977350234985,.9999963045120239,.9999934434890747,.9999889135360718,.9999828338623047,.9999887943267822,.9999912977218628,.999992847442627,.9999957084655762,.9999966621398926,.9999977350234985,.9999982118606567,.9999986886978149,.9999990463256836,.9999994039535522,.9999994039535522,.9999992847442627,.9999986886978149,.9999982118606567,.9999985694885254,.9999986886978149,.9999988079071045,.999998927116394,.9999990463256836,.9999991655349731,.9999991655349731,.9999991655349731,.9999991655349731,.9999990463256836,.9999990463256836,.999998927116394,.9999984502792358,.9999978542327881,.9999980926513672,.9999982118606567,.9999977350234985,.9999966621398926,.9999964237213135,.9999960660934448,.9999957084655762,.9999874830245972,.9999463558197021,.9999133348464966,.999977707862854,.9999902248382568,.9999904632568359,.9999922513961792,.9999779462814331,.9999679327011108,.9999836683273315,.9999899864196777,.9999827146530151,.9999580383300781,.9999141693115234,.9998998641967773,.9999704360961914,.9999724626541138,.9999390840530396,.9998656511306763,.9997531771659851,.9991288781166077,.9980242252349854,.9960771203041077,.9941626191139221,.9841341376304626,.9606366753578186,.8802121877670288,.7475911378860474,.4691699147224426,.2450539618730545,.07971636950969696,.021222984418272972,.00711606303229928,.004623307380825281,.0031987132970243692,.002473778324201703,.0013217105297371745,9331658366136253e-19,6738068768754601e-19,36909838672727346e-20,14865682169329375e-20,11109894694527611e-20,6292683247011155e-20,7105750410119072e-20,43561165512073785e-21,5100193084217608e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,50496571930125356e-21,378702134185005e-19,13283321459311992e-20,34376478288322687e-20,2126090694218874e-19,9337799565400928e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4387882654555142e-20,8350276038981974e-20,8662592736072838e-19,.005530285183340311,.024595845490694046,.08407527953386307,.2536802291870117,.6093587279319763,.8484609723091125,.9581401348114014,.9876864552497864,.9913641214370728,.9949546456336975,.9974349141120911,.9987531900405884,.999073326587677,.9994577765464783,.9996164441108704,.9997636675834656,.9998530149459839,.9999203681945801,.999941349029541,.9999569654464722,.9999662637710571,.9999682903289795,.9999699592590332,.9999750852584839,.9999715089797974,.999966025352478,.9999630451202393,.999958872795105,.9999644756317139,.9999676942825317,.9999821186065674,.9999898672103882,.9999872446060181,.999984622001648,.9999797344207764,.999976396560669,.9999903440475464,.9999963045120239,.9999969005584717,.9999980926513672,.9999984502792358,.999998927116394,.9999992847442627,.9999994039535522,.9999991655349731,.9999985694885254,.9999980926513672,.9999966621398926,.9999954700469971,.9999901056289673,.9999878406524658,.9999887943267822,.9999895095825195,.9999940395355225,.9999963045120239,.9999973773956299,.999997615814209,.9999980926513672,.9999986886978149,.9999991655349731,.9999992847442627,.9999990463256836,.9999983310699463,.9999978542327881,.9999983310699463,.9999984502792358,.9999984502792358,.9999985694885254,.9999986886978149,.9999988079071045,.9999988079071045,.9999988079071045,.9999988079071045,.9999985694885254,.9999986886978149,.9999985694885254,.9999982118606567,.999997615814209,.9999979734420776,.9999980926513672,.9999979734420776,.9999972581863403,.9999972581863403,.9999966621398926,.9999945163726807,.999980092048645,.9999417066574097,.9999089241027832,.9999721050262451,.9999899864196777,.9999866485595703,.9999839067459106,.9999556541442871,.9999405145645142,.999974250793457,.9999856948852539,.9999774694442749,.9999529123306274,.9999423027038574,.9999428987503052,.9999722242355347,.9999840259552002,.9999860525131226,.9999688863754272,.9999216794967651,.9997665286064148,.999659538269043,.9996359348297119,.9996738433837891,.9993290901184082,.9984872937202454,.9957009553909302,.9893804788589478,.9652327299
868118042,.9112547039985657,.6588695049285889,.33649498224258423,.12074516713619232,.072845958173275,.040974684059619904,.025683054700493813,.009731285274028778,.00407067034393549,.0021928499918431044,.001431948971003294,580575258936733e-18,4124745319131762e-19,22306731261778623e-20,18836036906577647e-20,8683149644639343e-20,7916621689219028e-20,4094637552043423e-20,3896741691278294e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39308702980633825e-21,378702134185005e-19,1361090107820928e-19,34264603164047003e-20,22698892280459404e-20,8491090557072312e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4059208004036918e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8000298112165183e-20,9471133671468124e-20,8652459946461022e-19,.006540254224091768,.04023035988211632,.27261510491371155,.724409818649292,.9390195608139038,.9864271283149719,.995257556438446,.9978733062744141,.9984629154205322,.9990453124046326,.9995119571685791,.9997404217720032,.9997552037239075,.9998295903205872,.9998911619186401,.9999347925186157,.9999673366546631,.9999827146530151,.9999837875366211,.9999876022338867,.9999898672103882,.9999891519546509,.9999852180480957,.9999852180480957,.9999808073043823,.9999778270721436,.9999749660491943,.9999719858169556,.9999830722808838,.9999889135360718,.9999910593032837,.9999935626983643,.9999908208847046,.9999885559082031,.999985933303833,.9999861717224121,.9999933242797852,.9999970197677612,.9999972581863403,.9999982118606567,.9999985694885254,.999998927116394,.9999991655349731,.9999994039535522,.9999994039535522,.9999994039535522,.999998927116394,.9999978542327881,.9999973773956299,.9999947547912598,.999990701675415,.9999902248382568,.9999918937683105,.9999955892562866,.9999970197677612,.9999979734420776,.9999979734420776,.9999982118606567,.9999985694885254,.999998927116394,.9999991655349731,.9999990463256836,.9999984502792358,.9999982118606567,.9999985694885254,.9999985694885254,.9999984502792358,.9999984502792358,.9999986886978149,.999998927116394,.999998927116394,.999998927116394,.999998927116394,.9999988079071045,.9999988079071045,.9999988079071045,.9999986886978149,.9999983310699463,.9999983310699463,.9999985694885254,.9999986886978149,.9999983310699463,.9999980926513672,.9999957084655762,.99998939037323,.9999624490737915,.9999396800994873,.9999455213546753,.9999839067459106,.9999938011169434,.9999899864196777,.9999834299087524,.999948263168335,.999919056892395,.9999659061431885,.9999759197235107,.9999665021896362,.9999537467956543,.9999545812606812,.9999547004699707,.9999641180038452,.9999779462814331,.9999897480010986,.9999890327453613,.9999675750732422,.9998980760574341,.9998460412025452,.9998078942298889,.9997820258140564,.9996708631515503,.9994511008262634,.999
8681781115531921,.9987635612487793,.9976527094841003,.9952067136764526,.9909886717796326,.9779858589172363,.9487138986587524,.8676424026489258,.6604459881782532,.3643933832645416,.10292225331068039,.022313978523015976,.00857231393456459,.0048911236226558685,.002293742960318923,.0013705195160582662,8237907313741744e-19,5450425087474287e-19,18152415577787906e-20,7916621689219028e-20,378702134185005e-19,3824615487246774e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5277428499539383e-20,378702134185005e-19,1423576904926449e-19,3949690726585686e-19,27716608019545674e-20,12839467672165483e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4793202970176935e-20,43668729631463066e-21,5567726111621596e-20,4209882172290236e-20,4074434036738239e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39512964576715603e-21,7914559682831168e-20,2796099870465696e-19,.0020716474391520023,.01568305864930153,.1365746408700943,.7727084755897522,.9678435921669006,.9944159984588623,.9989268779754639,.9993727803230286,.9996618032455444,.9997608065605164,.9998390078544617,.9999140501022339,.9999508857727051,.9999349117279053,.99993896484375,.9999656677246094,.9999796152114868,.9999864101409912,.999991774559021,.9999896287918091,.9999909400939941,.9999920129776001,.9999904632568359,.9999840259552002,.999981164932251,.999977707862854,.9999761581420898,.9999772310256958,.999975323677063,.9999831914901733,.9999901056289673,.9999910593032837,.9999929666519165,.9999909400939941,.9999864101409912,.99998939037323,.9999904632568359,.9999927282333374,.9999964237213135,.9999970197677612,.9999980926513672,.9999982118606567,.9999983310699463,.9999985694885254,.9999990463256836,.9999994039535522,.9999996423721313,.9999992847442627,.9999984502792358,.999997615814209,.9999951124191284,.9999908208847046,.9999889135360718,.9999908208847046,.9999948740005493,.9999963045120239,.9999977350234985,.9999980926513672,.9999980926513672,.9999983310699463,.9999985694885254,.999998927116394,.9999988079071045,.9999984502792358,.9999982118606567,.9999984502792358,.9999984502792358,.9999982118606567,.9999980926513672,.9999984502792358,.9999985694885254,.9999988079071045,.9999986886978149,.9999986886978149,.9999985694885254,.9999986886978149,.9999986886978149,.9999985694885254,.9999984502792358,.9999984502792358,.9999986886978149,.999998927116394,.9999985694885254,.9999978542327881,.9999927282333374,.9999704360961914,.9999126195907593,.9999513626098633,.9999676942825317,.9999854564666748,.9999934434890747,.999990820884704
8686,.9999831914901733,.999946117401123,.999894380569458,.9999420642852783,.9999551773071289,.9999439716339111,.9999382495880127,.9999512434005737,.9999462366104126,.9999518394470215,.999964714050293,.9999845027923584,.9999886751174927,.999983549118042,.9999475479125977,.9998738765716553,.9998156428337097,.9998223185539246,.9997910857200623,.999788224697113,.9997684359550476,.9997230172157288,.9995953440666199,.9993335008621216,.9993128776550293,.9991573095321655,.9983702301979065,.9947729706764221,.9786762595176697,.9347479343414307,.6918854117393494,.31428438425064087,.11103922128677368,.06705909967422485,.028009584173560143,.014418917708098888,.006207582540810108,.002372259506955743,7172067416831851e-19,5183446919545531e-19,15122727199923247e-20,13986410340294242e-20,4363168409327045e-20,4016461025457829e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4252235885360278e-20,378702134185005e-19,13918979675509036e-20,30625282670371234e-20,19440220785327256e-20,9014568786369637e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4301155058783479e-20,5229075759416446e-20,5870081440662034e-20,490512466058135e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3953169652959332e-20,378702134185005e-19,6024615140631795e-20,47208981413859874e-21,12442843581084162e-20,4943127278238535e-19,.004254759289324284,.05040695145726204,.5761200785636902,.9718194007873535,.9976740479469299,.9995586276054382,.9998799562454224,.9999024868011475,.9999289512634277,.9999526739120483,.9999724626541138,.999984860420227,.9999873638153076,.9999786615371704,.9999783039093018,.9999901056289673,.9999935626983643,.9999936819076538,.999992847442627,.9999911785125732,.9999896287918091,.9999901056289673,.9999842643737793,.9999784231185913,.999975323677063,.9999706745147705,.9999697208404541,.9999814033508301,.9999849796295166,.9999865293502808,.9999895095825195,.9999902248382568,.9999908208847046,.999988317489624,.9999853372573853,.9999938011169434,.9999961853027344,.9999954700469971,.9999970197677612,.9999979734420776,.9999985694885254,.9999979734420776,.999997615814209,.9999983310699463,.9999991655349731,.9999996423721313,.9999997615814209,.9999996423721313,.9999990463256836,.9999980926513672,.9999957084655762,.9999923706054688,.9999901056289673,.9999926090240479,.9999948740005493,.9999967813491821,.9999977350234985,.9999984502792358,.9999986886978149,.9999986886978149,.9999988079071045,.9999991655349731,.9999991655349731,.999998927116394,.999998927116394,.999998927116394,.9999986886978149,.9999984502792358,.9999983310699463,.9999984502792358,.9999985694885254,.9999988079071045,.9999986886978149,.9999986886978149,.9999986886978149,.999998927116394,.999998927116394,.999998927116394,.9999988079071045,.9999988079071045,.999998927116394,.9999990463256836,.9999980926513672,.9999969005584717,.9999852180480957,.9999493360519409,.9999499320983887,.9999814033508301,.9999921321868896,.9999910593032837,.999990701675415,.9999921321868896,.9999885559082031,.9999566078186035,.9999117851257324,.9999392032623291,.9999402761459351,.9999374151229858,.9999328851699829,.9999339580535889,.999940037727356,.9999585151672363,.9999626874923706,.9999709129333496,.9999785423278809,.9999823570251465,.9999618530273438,.9998760223388672,.9997702240943909,.9998655319213867,.9998952150344849,.9998944997787476,.9998773336410522,.9998393654823303,.9997581839561462,.9997153878211975,.9996770620346069,.9997124671936035,.9993610978126526,.9989088773727417,.9974268674850464,.9957296252250671,.9890719652175903,.9637529850006104,.8987911939620972,.780184805393219,.4883301258087158,.21785318851470947,.05680825561285019,.010288018733263016,.002823569579049945,.0027013146318495274,.001588345505297184,7356952992267907e-19,2226023789262399e-19,777451932663098e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5149934077053331e-20,378702134185005e-19,13542523083742708e-20,34846828202717006e-20,21676991309504956e-20,10647617455106229e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,39790873415768147e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,4731545050162822e-20,720236639608629e-19,6757738447049633e-20,378702134185005e-19,38542275433428586e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4538250868790783e-20,8012888429220766e-20,36733411252498627e-20,.002288172021508217,.02767997421324253,.36872556805610657,.9516531229019165,.9972794651985168,.9997665286064148,.9999167919158936,.999970555305481,.9999768733978271,.9999825954437256,.9999854564666748,.9999911785125732,.9999947547912598,.9999948740005493,.9999891519546509,.9999881982803345,.9999946355819702,.999996542930603,.9999955892562866,.9999933242797852,.999990701675415,.9999884366989136,.9999872446060181,.9999767541885376,.999966025352478,.9999653100967407,.999964714050293,.999962568283081,.9999788999557495,.999985933303833,.9999860525131226,.999987006187439,.999987006187439,.9999867677688599,.9999837875366211,.9999833106994629,.9999911785125732,.9999958276748657,.9999960660934448,.9999967813491821,.9999977350234985,.9999983310699463,.9999969005584717,.9999955892562866,.9999972581863403,.999998927116394,.9999996423721313,.9999997615814209,.9999996423721313,.9999991655349731,.9999985694885254,.9999967813491821,.9999949932098389,.9999924898147583,.9999926090240479,.9999942779541016,.9999953508377075,.9999963045120239,.9999973773956299,.9999983310699463,.9999985694885254,.9999986886978149,.9999988079071045,.9999988079071045,.9999986886978149,.9999986886978149,.9999988079071045,.9999985694885254,.9999979734420776,.9999977350234985,.9999980926513672,.9999979734420776,.9999982118606567,.9999982118606567,.9999984502792358,.9999983310699463,.9999984502792358,.9999986886978149,.9999988079071045,.9999986886978149,.9999986886978149,.9999988079071045,.9999988079071045,.9999970197677612,.9999926090240479,.9999610185623169,.9999405145645142,.9999607801437378,.9999868869781494,.9999953508377075,.9999922513961792,.9999864101409912,.9999880790710449,.9999862909317017,.9999613761901855,.9999171495437622,.9999275207519531,.9999129772186279,.9999133348464966,.9999121427536011,.999910831451416,.999925971031189,.9999661445617676,.9999693632125854,.9999517202377319,.9999581575393677,.9999831914901733,.9999765157699585,.9999178647994995,.9998124241828918,.9998838901519775,.999930739402771,.9999462366104126,.9999426603317261,.9999316930770874,.9999054670333862,.9999098777770996,.999901294708252,.9999
86803678894043,.9998005032539368,.9996944665908813,.9995462894439697,.9994957447052002,.9992460012435913,.9984884858131409,.9963440299034119,.9917582869529724,.9713162779808044,.9101464748382568,.6040858030319214,.20661486685276031,.05276281014084816,.03532598540186882,.01484641432762146,.0036213588900864124,.0011012881295755506,6562064518220723e-19,10530859435675666e-20,605718232691288e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3904574623447843e-20,378702134185005e-19,12531552056316286e-20,3013552923221141e-19,18730518058873713e-20,7675319648114964e-20,378702134185005e-19,378702134185005e-19,3811915303231217e-20,3838664633804001e-20,378702134185005e-19,378702134185005e-19,3990999175584875e-20,3791299241129309e-20,4560199158731848e-20,4247395554557443e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,393518312193919e-19,378702134185005e-19,52479750593192875e-21,17509331519249827e-20,.0015351551119238138,.021693790331482887,.35509127378463745,.9361667037010193,.9971432685852051,.999708890914917,.9999392032623291,.9999555349349976,.9999773502349854,.9999887943267822,.9999943971633911,.9999924898147583,.9999934434890747,.9999954700469971,.9999948740005493,.9999901056289673,.9999901056289673,.9999947547912598,.9999957084655762,.9999945163726807,.9999922513961792,.9999895095825195,.9999867677688599,.9999853372573853,.999977707862854,.9999600648880005,.9999549388885498,.9999631643295288,.9999617338180542,.9999802112579346,.9999876022338867,.9999840259552002,.9999799728393555,.9999812841415405,.9999792575836182,.9999843835830688,.9999878406524658,.99998939037323,.9999934434890747,.9999958276748657,.9999969005584717,.999997615814209,.999997615814209,.9999953508377075,.9999942779541016,.9999973773956299,.9999988079071045,.9999996423721313,.9999997615814209,.9999996423721313,.9999994039535522,.9999991655349731,.9999982118606567,.9999971389770508,.9999953508377075,.9999934434890747,.999991774559021,.999993085861206,.9999951124191284,.9999966621398926,.9999980926513672,.9999984502792358,.9999986886978149,.9999983310699463,.9999978542327881,.9999979734420776,.9999982118606567,.9999985694885254,.9999982118606567,.9999974966049194,.9999970197677612,.999997615814209,.9999974966049194,.999997615814209,.9999978542327881,.9999982118606567,.9999980926513672,.9999979734420776,.9999978542327881,.9999985694885254,.9999985694885254,.9999983310699463,.9999979734420776,.9999979734420776,.9999932050704956,.9999815225601196,.9999678134918213,.9999725818634033,.999983549118042,.9999911785125732,.9999935626983643,.9999889135360718,.9999817609786987,.9999853372573853,.999984622001648,.9999626874923706,.9999239444732666,.9999200105667114,.9999085664749146,.9999200105667114,.999916672706604,.9999145269393921,.9999380111694336,.9999784231185913,.9999805688858032,.9999580383300781,.9999593496322632,.9999871253967285,.999985933303833,.9999384880065918,.9998515844345093,.9999003410339355,.9999338388442993,.9999455213546753,.9999459981918335,.999945878982544,.9999278783798218,.9999209642410278,.9999229907989502,.9999145269393921,.9998701810836792,.9998193383216858,.9997813105583191,.9997492432594299,.9996203780174255,.9995001554489136,.9993188381195068,.9992594122886658,.9986705780029297,.9969050288200378,.9915071129798889,.9631602168083191,.800103485584259,.4339175224304199,.10029008984565735,.012284272350370884,.003700877306982875,.0034996825270354748,.0017339811893180013,17995300004258752e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,51705530495382845e-21,378702134185005e-19,1317754649790004e-19,3548128588590771e-19,2212496765423566e-19,9788562601897866e-20,378702134185005e-19,3970070611103438e-20,38770765968365595e-21,4373265983304009e-20,378702134185005e-19,3889731669914909e-20,378702134185005e-19,3955122156185098e-20,41920433432096615e-21,4541317684925161e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,56448221585014835e-21,23556761152576655e-20,.00130959611851722,.016749626025557518,.2862793505191803,.9267736077308655,.9959028363227844,.9997170567512512,.9999322891235352,.9999728202819824,.9999520778656006,.9999653100967407,.9999877214431763,.999995231628418,.9999932050704956,.9999923706054688,.9999943971633911,.9999935626983643,.9999876022338867,.9999872446060181,.9999927282333374,.9999934434890747,.9999918937683105,.99998939037323,.9999878406524658,.9999837875366211,.9999819993972778,.999977707862854,.9999724626541138,.9999637603759766,.9999692440032959,.9999678134918213,.9999760389328003,.9999856948852539,.9999868869781494,.9999822378158569,.9999778270721436,.999970555305481,.9999849796295166,.9999903440475464,.9999889135360718,.999990701675415,.9999947547912598,.9999967813491821,.9999971389770508,.9999969005584717,.9999940395355225,.9999926090240479,.9999966621398926,.9999984502792358,.9999992847442627,.9999995231628418,.9999995231628418,.9999994039535522,.9999991655349731,.9999984502792358,.9999974966049194,.9999959468841553,.9999947547912598,.9999901056289673,.9999868869781494,.9999904632568359,.9999936819076538,.9999961853027344,.9999970197677612,.999997615814209,.9999973773956299,.9999963045120239,.9999966621398926,.9999971389770508,.9999977350234985,.9999974966049194,.9999969005584717,.9999960660934448,.9999964237213135,.9999961853027344,.9999963045120239,.999996542930603,.9999973773956299,.9999970197677612,.999996542930603,.9999960660934448,.9999974966049194,.9999978542327881,.9999970197677612,.9999951124191284,.9999932050704956,.999976634979248,.9999698400497437,.9999728202819824,.9999872446060181,.9999935626983643,.9999905824661255,.9999887943267822,.999984860420227,.9999761581420898,.9999804496765137,.9999828338623047,.9999721050262451,.99993896484375,.9999289512634277,.9999189376831055,.9999390840530396,.9999359846115112,.9999247789382935,.9999386072158813,.9999794960021973,.9999839067459106,.9999675750732422,.9999624490737915,.9999839067459106,.999984860420227,.9999619722366333,.9999
868021291732788,.9999041557312012,.9999243021011353,.9999408721923828,.9999411106109619,.9999455213546753,.9999315738677979,.9999250173568726,.9999313354492188,.9999289512634277,.9999027252197266,.9999231100082397,.9999295473098755,.9999371767044067,.9999097585678101,.9998962879180908,.9998804330825806,.9998863935470581,.9998637437820435,.9997443556785583,.9995394945144653,.9989908337593079,.9938619136810303,.9508593082427979,.6124188303947449,.17319737374782562,.04532601684331894,.02603154629468918,.011187438853085041,.001836757524870336,13135258632246405e-20,8100060949800536e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4211468331050128e-20,3938855297747068e-20,1476781180826947e-19,3292575420346111e-19,20159843552391976e-20,676517011015676e-19,378702134185005e-19,41811428673099726e-21,45867902372265235e-21,42503754229983315e-21,378702134185005e-19,39230646507348865e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6210620631463826e-20,110401633719448e-18,.0013465757947415113,.012761934660375118,.19494056701660156,.8605997562408447,.9939683675765991,.9996104836463928,.9999539852142334,.9999771118164063,.9999779462814331,.9999480247497559,.9999451637268066,.9999860525131226,.9999946355819702,.9999912977218628,.999990701675415,.9999942779541016,.9999942779541016,.9999855756759644,.9999828338623047,.999991774559021,.9999933242797852,.9999923706054688,.9999916553497314,.9999905824661255,.9999892711639404,.999988317489624,.9999886751174927,.9999873638153076,.9999874830245972,.9999884366989136,.9999861717224121,.9999861717224121,.9999892711639404,.9999929666519165,.9999912977218628,.999985933303833,.9999854564666748,.9999933242797852,.9999948740005493,.9999927282333374,.999993085861206,.9999964237213135,.9999978542327881,.9999980926513672,.9999978542327881,.9999955892562866,.9999942779541016,.9999970197677612,.9999983310699463,.9999990463256836,.9999995231628418,.9999995231628418,.9999994039535522,.9999991655349731,.9999985694885254,.9999978542327881,.9999969005584717,.9999969005584717,.9999948740005493,.9999902248382568,.9999885559082031,.9999908208847046,.9999923706054688,.999995231628418,.999996542930603,.999996542930603,.9999958276748657,.999996542930603,.9999970197677612,.9999974966049194,.9999972581863403,.9999970197677612,.9999964237213135,.9999963045120239,.9999954700469971,.9999953508377075,.999995231628418,.9999960660934448,.9999949932098389,.9999945163726807,.9999947547912598,.9999969005584717,.9999959468841553,.999994158744812,.999984622001648,.9999805688858032,.9999790191650391,.9999849796295166,.9999926090240479,.999996542930603,.9999973773956299,.9999926090240479,.999985933303833,.9999865293502808,.9999823570251465,.9999864101409912,.9999881982803345,.9999819993972778,.9999692440032959,.9999650716781616,.9999638795852661,.9999700784683228,.9999649524688721,.999955415725708,.9999630451202393,.9999862909317017,.9999903440475464,.9999828338623047,.9999803304672241,.9999865293502808,.9999853372573853,.9999779462814331,.9999573230743408,.999942421913147,.9999297857284546,.9999500513076782,.9999610185623169,.9999574422836304,.9999508857727051,.9999573230743408,.999955415725708,.9999568462371826,.9999512434005737,.9999704360961914,.999983549118042,.9999861717224121,.9999842643737793,.9999830722808838,.9999778270721436,.9999663829803467,.9999392032623291,.9999103546142578,.9998486042022705,.9998365044593811,.9994275569915771,.997783362865448,.9869475364685059,.9255314469337463,.5995348691940308,.21686793863773346,.038213253021240234,.006402185652405024,98150793928653e-17,18902456213254482e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5357502232072875e-2
8680,42122981540160254e-21,17275800928473473e-20,450582621851936e-18,27180620236322284e-20,10256261157337576e-20,378702134185005e-19,4697629628935829e-20,6869446224300191e-20,6639305502176285e-20,3803048457484692e-20,4510581129579805e-20,38953821785980836e-21,4888248076895252e-20,3887127968482673e-20,3869047941407189e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,8018398511921987e-20,6400257698260248e-19,.013224788010120392,.19860142469406128,.8484379649162292,.98912513256073,.9993036985397339,.9999192953109741,.9999864101409912,.9999843835830688,.9999790191650391,.9999561309814453,.9999334812164307,.9999779462814331,.9999927282333374,.9999892711639404,.9999871253967285,.9999914169311523,.9999926090240479,.9999829530715942,.9999754428863525,.9999877214431763,.9999911785125732,.9999905824661255,.9999903440475464,.9999879598617554,.9999862909317017,.9999885559082031,.9999911785125732,.9999927282333374,.9999939203262329,.9999934434890747,.9999904632568359,.9999911785125732,.9999926090240479,.9999940395355225,.9999918937683105,.9999891519546509,.9999910593032837,.9999953508377075,.9999960660934448,.9999940395355225,.9999938011169434,.999996542930603,.9999978542327881,.9999980926513672,.9999978542327881,.9999961853027344,.9999947547912598,.9999963045120239,.999997615814209,.9999986886978149,.9999991655349731,.9999991655349731,.9999991655349731,.9999988079071045,.9999983310699463,.9999984502792358,.9999978542327881,.9999973773956299,.9999960660934448,.999993085861206,.9999881982803345,.9999886751174927,.99998939037323,.9999897480010986,.9999921321868896,.9999939203262329,.9999938011169434,.9999943971633911,.9999948740005493,.9999958276748657,.9999957084655762,.9999953508377075,.9999942779541016,.9999943971633911,.999992847442627,.9999922513961792,.9999916553497314,.9999929666519165,.9999901056289673,.9999892711639404,.999990701675415,.9999943971633911,.9999909400939941,.9999842643737793,.9999575614929199,.9999591112136841,.9999752044677734,.9999897480010986,.999996542930603,.9999971389770508,.9999972581863403,.9999938011169434,.9999861717224121,.9999872446060181,.9999858140945435,.9999899864196777,.9999912977218628,.9999864101409912,.9999802112579346,.9999809265136719,.9999798536300659,.9999819993972778,.9999769926071167,.9999668598175049,.9999700784683228,.9999874830245972,.9999916553497314,.9999880790710449,.9999865293502808,.9999858140945435,.9999816417694092,.9999839067459106,.9999762773513794,.9999629259109497,.9999402761459351,.9999417066574097,.999955415725708,.9999634027481079,.9999626874923706,.9999761581420898,.9999738931655884,.999970555305481,.9999727010726929,.9999822378158569,.9999915361404419,.9999948740005493,.9999954700469971,.9999963045120239,.9999958276748657,.9999929666519165,.9999847412109375,.9999794960021973,.9999653100967407,.9999651908874512,.9999219179153442,.9997714161872864,.9992086291313171,.9979854822158813,.9812169075012207,.742171049118042,.16149696707725525,.020900918170809746,.002988961059600115,8658829028718174e-19,9827654139371589e-20,5524463631445542e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5078662798041478e-20,54115014791022986e-21,21887020557187498e-20,447489001089707e-18,2837136562447995e-19,8493380300933495e-20,3868047861033119e-20,4477450420381501e-20,7254134106915444e-20,6426803156500682e-20,3866611223202199e-20,4113584145670757e-20,39286387618631124e-21,5494789729709737e-20,437591152
8681492526e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4037652615807019e-20,5731239798478782e-20,3834367962554097e-19,.004566599614918232,.09832531213760376,.7512953877449036,.9858853816986084,.9988272786140442,.9998743534088135,.9999722242355347,.999990701675415,.999988317489624,.9999830722808838,.9999682903289795,.9999586343765259,.9999874830245972,.9999953508377075,.9999921321868896,.9999896287918091,.9999922513961792,.999991774559021,.9999808073043823,.999976396560669,.9999886751174927,.9999923706054688,.9999918937683105,.9999902248382568,.999984622001648,.9999808073043823,.9999880790710449,.9999929666519165,.9999954700469971,.9999953508377075,.9999926090240479,.9999897480010986,.9999927282333374,.9999938011169434,.9999929666519165,.9999895095825195,.9999923706054688,.9999957084655762,.9999961853027344,.9999958276748657,.9999949932098389,.9999953508377075,.9999971389770508,.9999980926513672,.9999980926513672,.9999979734420776,.9999967813491821,.9999954700469971,.999996542930603,.9999974966049194,.9999986886978149,.9999992847442627,.9999991655349731,.9999990463256836,.9999986886978149,.9999984502792358,.9999990463256836,.9999990463256836,.9999979734420776,.9999958276748657,.9999945163726807,.9999927282333374,.9999932050704956,.9999914169311523,.9999853372573853,.9999833106994629,.9999895095825195,.9999905824661255,.9999903440475464,.999991774559021,.9999929666519165,.9999915361404419,.9999908208847046,.9999896287918091,.9999897480010986,.9999881982803345,.9999865293502808,.9999840259552002,.9999866485595703,.9999817609786987,.9999803304672241,.9999775886535645,.9999849796295166,.999981164932251,.9999762773513794,.999977707862854,.9999818801879883,.9999902248382568,.9999958276748657,.9999974966049194,.9999953508377075,.9999932050704956,.999993085861206,.9999905824661255,.9999911785125732,.9999921321868896,.9999942779541016,.999995231628418,.9999915361404419,.9999876022338867,.99998939037323,.9999902248382568,.9999891519546509,.9999841451644897,.999976396560669,.999976396560669,.9999902248382568,.9999933242797852,.9999899864196777,.9999871253967285,.9999836683273315,.999975323677063,.9999833106994629,.9999823570251465,.9999693632125854,.9999585151672363,.9999463558197021,.999942421913147,.999950647354126,.9999581575393677,.9999793767929077,.9999847412109375,.9999833106994629,.999983549118042,.9999843835830688,.999988317489624,.9999948740005493,.9999971389770508,.9999982118606567,.9999983310699463,.9999967813491821,.9999921321868896,.9999902248382568,.9999871253967285,.9999805688858032,.9999456405639648,.9998539686203003,.9997131824493408,.9997098445892334,.9983288645744324,.9589537382125854,.4883543848991394,.05953757464885712,.006563046481460333,.0016159777296707034,26114736101590097e-20,8958140097092837e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,6852421938674524e-20,7152188481995836e-20,26954375789500773e-20,5486459704115987e-19,3815879172179848e-19,1430599222658202e-19,378702134185005e-19,54434633057098836e-21,8080889529082924e-20,8110947965178639e-20,4743284807773307e-20,5629552833852358e-20,42331066651968285e-21,737100635888055e-19,6914888945175335e-20,5226314897299744e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3807372195296921e-20,4002279456472024e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,49563852371647954e-21,17076628864742815e-20,.0031220961827784777,.061111342161893845,.6481074094772339,.9764003753662109,.998677134513855,.9997588992118835,.9999618530273438,.9999785423278809,.9999898672103882,.9999892711639404,.9999833106994629,.9999691247940063,.9999583959579468,.9999855756759644,.9999949932098389,.9999921321868896,.9999885559082031,.9999905824661255,.9999892711639404,.9999760389328003,.9999696016311646,.9999845027923584,.9999898672103882,.9999916553497314,.9999903440475464,.9999804496765137,.9999704360961914,.9999854564666748,.999993085861206,.9999955892562866,.9999949932098389,.9999898672103882,.9999855756759644,.9999916553497314,.9999926090240479,.9999895095825195,.999984622001648,.9999924898147583,.999996542930603,.9999951124191284,.9999929666519165,.9999936819076538,.9999947547912598,.9999963045120239,.9999974966049194,.9999977350234985,.9999973773956299,.9999961853027344,.9999942779541016,.9999942779541016,.9999954700469971,.9999977350234985,.999998927116394,.9999986886978149,.9999983310699463,.9999979734420776,.9999977350234985,.9999988079071045,.9999991655349731,.9999985694885254,.9999959468841553,.9999943971633911,.9999935626983643,.9999935626983643,.9999901056289673,.9999796152114868,.9999727010726929,.9999818801879883,.999981164932251,.9999765157699585,.9999805688858032,.9999854564666748,.9999804496765137,.9999747276306152,.9999728202819824,.9999765157699585,.9999734163284302,.9999706745147705,.9999624490737915,.9999668598175049,.99995
86870846557617,.9999595880508423,.9999459981918335,.9999573230743408,.9999580383300781,.9999665021896362,.9999775886535645,.9999896287918091,.999995231628418,.9999964237213135,.9999971389770508,.9999939203262329,.9999887943267822,.9999916553497314,.9999908208847046,.9999901056289673,.9999910593032837,.999994158744812,.9999958276748657,.999994158744812,.9999908208847046,.9999908208847046,.9999921321868896,.9999916553497314,.9999864101409912,.9999802112579346,.9999772310256958,.9999879598617554,.9999918937683105,.9999904632568359,.9999868869781494,.9999799728393555,.9999651908874512,.9999784231185913,.9999817609786987,.9999741315841675,.999966025352478,.9999579191207886,.9999415874481201,.9999502897262573,.9999536275863647,.9999740123748779,.9999825954437256,.9999850988388062,.999985933303833,.9999812841415405,.9999794960021973,.9999902248382568,.9999959468841553,.9999972581863403,.9999977350234985,.9999963045120239,.9999910593032837,.9999916553497314,.9999923706054688,.9999890327453613,.9999629259109497,.9999101161956787,.9998579025268555,.9999114274978638,.9997180104255676,.9946686029434204,.8493104577064514,.2429787516593933,.02354043908417225,.004557595122605562,8332484285347164e-19,4438686592038721e-19,6176673923619092e-20,391220128221903e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39016904338495806e-21,7630880281794816e-20,8520567644154653e-20,307562411762774e-18,4901570500805974e-19,33082414302043617e-20,12219675409141928e-20,43429659854155034e-21,5454297206597403e-20,8095944940578192e-20,7051321881590411e-20,5500052066054195e-20,5902245902689174e-20,48124227760126814e-21,7489751442335546e-20,6674846372334287e-20,501262657053303e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42066938476637006e-21,4410541077959351e-20,186232864507474e-18,9228177950717509e-19,.017358049750328064,.4020422399044037,.9555097818374634,.9983518123626709,.9998236298561096,.999942421913147,.9999772310256958,.999984860420227,.9999912977218628,.9999910593032837,.9999829530715942,.9999679327011108,.9999605417251587,.9999872446060181,.9999951124191284,.9999923706054688,.9999889135360718,.9999903440475464,.9999879598617554,.9999743700027466,.9999674558639526,.9999804496765137,.9999879598617554,.9999926090240479,.9999915361404419,.9999792575836182,.9999701976776123,.9999872446060181,.999992847442627,.9999954700469971,.9999946355819702,.9999903440475464,.9999867677688599,.9999904632568359,.9999899864196777,.9999896287918091,.9999914169311523,.9999958276748657,.9999971389770508,.9999935626983643,.9999877214431763,.9999920129776001,.9999945163726807,.9999959468841553,.9999970197677612,.9999973773956299,.9999967813491821,.9999951124191284,.9999916553497314,.9999905824661255,.9999933242797852,.9999973773956299,.9999986886978149,.9999983310699463,.9999972581863403,.9999967813491821,.9999974966049194,.999998927116394,.9999992847442627,.9999986886978149,.9999973773956299,.9999963045120239,.9999947547912598,.9999940395355225,.9999904632568359,.9999856948852539,.999981164932251,.9999852180480957,.9999822378158569,.9999737739562988,.9999710321426392,.999976634979248,.999967098236084,.9999529123306274,.9999473094940186,.9999532699584961,.9999494552612305,.9999390840530396,.9999346733093262,.9999405145645142,.9999408721923828,.9999444484710693,.9999561309814453,.9999645948410034,.9999723434448242,.999975323677063,.999985933303833,.9999946355819702,.9999971389770508,.9999963045120239,.9999957084655762,.9999929666519165,.9999885559082031,.9999920129776001,.9999918937683105,.9999885559082031,.9999899864196777,.999994158744812,.9999959468841553,.9999955892562866,.9999938011169434,.9999932050704956,.9999935626983643,.9999926090240479,.9999881982803345,.9999847412109375,.9999825954437256,.9999891519546509,.9999914169311523,.9999921321868896,.9999895095825195,.999982476234436,.9999743700027466,.9999858140945435,.9999891519546509,.9999836683273315,.9999772310256958,.9999760389328003,.9999725818634033,.9999754428863525,.9999771118164063,.9999802112579346,.9999817609786987,.9999852180480957,.9999842643737793,.9999738931655884,.9999693632125854,.9999847412109375,.9999903440475464,.9999916553497314,.9999920129776001,.9999904632568359,.9999899864196777,.9999940395355225,.9999951124191284,.9999926090240479,.9999762773513794,.9999513626098633,.999929666519165,.999958872795105,.9998775720596313,.998840868473053,.9712718725204468,.6468797326087952,.09202517569065094,.010614619590342045,.0021499963477253914,.0010692649520933628,32257093698717654e-20,7423323404509574e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4408594031701796e-20,37916001019766554e-21,8479110692860559e-20,8969202463049442e-20,3017215640284121e-19,5760439671576023e-19,41061913361772895e-20,18210092093795538e-20,4389373498270288e-20,7786866626702249e-20,9049798245541751e-20,7988842116901651e-20,6144381768535823e-20,8229788363678381e-2
8680,6910945376148447e-20,9702554962132126e-20,825738170533441e-19,6853427476016805e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38707668863935396e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4131711466470733e-20,8569332567276433e-20,.0010315972613170743,.013174091465771198,.23549912869930267,.8949413299560547,.9958762526512146,.9996376037597656,.9999599456787109,.9999716281890869,.9999821186065674,.9999860525131226,.9999911785125732,.9999904632568359,.9999797344207764,.9999598264694214,.9999475479125977,.9999785423278809,.9999924898147583,.9999896287918091,.9999853372573853,.9999881982803345,.999984622001648,.9999719858169556,.9999639987945557,.9999688863754272,.9999790191650391,.9999903440475464,.9999902248382568,.9999768733978271,.9999672174453735,.9999879598617554,.9999929666519165,.9999927282333374,.9999911785125732,.9999905824661255,.9999881982803345,.9999854564666748,.999981164932251,.9999877214431763,.9999927282333374,.9999954700469971,.9999964237213135,.9999903440475464,.9999772310256958,.9999861717224121,.9999914169311523,.999994158744812,.9999955892562866,.9999957084655762,.9999945163726807,.9999922513961792,.9999862909317017,.9999816417694092,.9999861717224121,.9999954700469971,.9999977350234985,.9999964237213135,.9999932050704956,.9999927282333374,.9999948740005493,.9999977350234985,.9999985694885254,.9999979734420776,.9999966621398926,.9999963045120239,.9999940395355225,.9999920129776001,.9999879598617554,.9999858140945435,.9999816417694092,.9999796152114868,.9999746084213257,.9999690055847168,.9999604225158691,.9999656677246094,.9999532699584961,.9999405145645142,.9999219179153442,.9999022483825684,.9998836517333984,.9998786449432373,.9998735189437866,.9998914003372192,.9998886585235596,.9999054670333862,.9999407529830933,.9999638795852661,.9999743700027466,.9999765157699585,.9999847412109375,.9999935626983643,.999996542930603,.9999940395355225,.9999921321868896,.9999910593032837,.9999855756759644,.9999876022338867,.9999885559082031,.9999849796295166,.9999867677688599,.9999926090240479,.9999948740005493,.9999945163726807,.999993085861206,.9999920129776001,.9999923706054688,.9999921321868896,.9999878406524658,.9999856948852539,.9999840259552002,.9999871253967285,.9999885559082031,.9999901056289673,.9999880790710449,.9999816417694092,.9999737739562988,.9999845027923584,.9999889135360718,.9999852180480957,.9999758005142212,.9999676942825317,.9999686479568481,.9999845027923584,.999987006187439,.9999830722808838,.9999761581420898,.9999767541885376,.999971866607666,.9999535083770752,.9999425411224365,.999968409538269,.9999736547470093,.9999715089797974,.9999730587005615,.9999808073043823,.9999878406524658,.9999949932098389,.9999964237213135,.9999934434890747,.9999822378158569,.9999749660491943,.999969482421875,.9999796152114868,.9999426603317261,.9997566342353821,.9959878325462341,.9328725337982178,.417094349861145,.034304630011320114,.0049475496634840965,.004547187127172947,.00169036362785846,3603928198572248e-19,38396796298911795e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38973237678874284e-21,8418346260441467e-20,8032052573980764e-20,28358507552184165e-20,5126921460032463e-19,39747043047100306e-20,17356588796246797e-20,5821430022479035e-20,8769622218096629e-20,9319123637396842e-20,6086070789024234e-20,5147126648807898e-20,6560931797139347e-20,8717602759134024e-20,7697857654420659e-20,6111834954936057e-20,4873819852946326e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3860109791276045e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,983810459729284e-19,154569061123766e-18,.003537640441209078,.09920413792133331,.7653297185897827,.9888876080513,.9989882111549377,.999868631362915,.999974250793457,.9999806880950928,.999988317489624,.9999897480010986,.99999153614
86804419,.9999891519546509,.9999737739562988,.999948263168335,.9999358654022217,.9999721050262451,.9999879598617554,.9999868869781494,.9999834299087524,.9999891519546509,.9999879598617554,.9999775886535645,.9999643564224243,.9999611377716064,.9999641180038452,.9999873638153076,.999990701675415,.9999762773513794,.9999747276306152,.9999908208847046,.9999927282333374,.9999902248382568,.9999890327453613,.9999921321868896,.9999901056289673,.9999819993972778,.9999760389328003,.9999901056289673,.9999948740005493,.9999943971633911,.9999926090240479,.9999854564666748,.9999738931655884,.9999825954437256,.9999891519546509,.9999932050704956,.9999940395355225,.9999936819076538,.9999921321868896,.9999899864196777,.9999833106994629,.9999752044677734,.9999799728393555,.9999940395355225,.9999959468841553,.9999923706054688,.9999861717224121,.9999864101409912,.9999881982803345,.9999946355819702,.9999964237213135,.9999955892562866,.9999942779541016,.9999935626983643,.9999921321868896,.9999901056289673,.9999861717224121,.9999853372573853,.9999797344207764,.9999780654907227,.9999707937240601,.9999713897705078,.9999738931655884,.9999772310256958,.9999805688858032,.9999696016311646,.9999558925628662,.9999281167984009,.9999101161956787,.9999139308929443,.9999127388000488,.9999241828918457,.9999319314956665,.9999417066574097,.9999542236328125,.999974250793457,.9999780654907227,.9999761581420898,.9999840259552002,.9999914169311523,.9999940395355225,.9999899864196777,.9999864101409912,.9999898672103882,.9999866485595703,.999985933303833,.999987006187439,.9999837875366211,.9999856948852539,.9999910593032837,.9999926090240479,.9999923706054688,.999990701675415,.9999889135360718,.9999887943267822,.999990701675415,.9999881982803345,.9999858140945435,.9999833106994629,.9999850988388062,.9999850988388062,.9999874830245972,.9999865293502808,.9999798536300659,.999974250793457,.9999810457229614,.9999830722808838,.9999809265136719,.9999667406082153,.9999476671218872,.9999587535858154,.9999887943267822,.9999920129776001,.9999818801879883,.9999635219573975,.9999624490737915,.9999552965164185,.9999268054962158,.9999219179153442,.9999500513076782,.9999529123306274,.9999501705169678,.9999618530273438,.9999799728393555,.9999885559082031,.9999938011169434,.9999939203262329,.999990701675415,.9999833106994629,.9999784231185913,.9999788999557495,.999981164932251,.999950647354126,.9998914003372192,.9993960857391357,.9910991787910461,.8197482824325562,.14110206067562103,.01870117336511612,.018897853791713715,.00801303330808878,6253086612559855e-19,55356598750222474e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,41821349441306666e-21,378702134185005e-19,8731985144549981e-20,9115739521803334e-20,30426765442825854e-20,5613535176962614e-19,4892188007943332e-19,2518018882256001e-19,8990071364678442e-20,11602045560721308e-20,10992761235684156e-20,8356593025382608e-20,3975385698140599e-20,6157856114441529e-20,759096146794036e-19,8904331480152905e-20,6593611760763451e-20,59871676057809964e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,51513194193830714e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39031478081597015e-21,1196532030007802e-19,.0016475154552608728,.03996250405907631,.5978837609291077,.9787595868110657,.9975098967552185,.9996993541717529,.9999203681945801,.9999769926071167,.9999806880950928,.9999876022338867,.9999881982803345,.9999881982803345,.9999830722808838,.9999587535858154,.9999358654022217,.9999237060546875,.9999629259109497,.999983549118042,.9999850988388062,.9999825954437256,.9999877214431763,.9999880790710449,.9999808073043823,.9999659061431885,.9999483823776245,.999936223
8680300903,.9999754428863525,.9999865293502808,.999977707862854,.9999767541885376,.9999892711639404,.99998939037323,.9999856948852539,.9999861717224121,.9999911785125732,.9999878406524658,.9999793767929077,.9999730587005615,.9999879598617554,.9999943971633911,.999993085861206,.9999872446060181,.9999747276306152,.9999581575393677,.9999728202819824,.9999828338623047,.9999898672103882,.9999904632568359,.9999873638153076,.9999839067459106,.9999841451644897,.9999761581420898,.9999579191207886,.9999581575393677,.9999879598617554,.9999922513961792,.9999829530715942,.9999688863754272,.9999748468399048,.9999737739562988,.9999783039093018,.9999855756759644,.9999897480010986,.9999892711639404,.9999864101409912,.9999854564666748,.9999877214431763,.9999840259552002,.9999822378158569,.999974250793457,.9999715089797974,.9999585151672363,.9999525547027588,.9999611377716064,.9999682903289795,.9999786615371704,.999972939491272,.9999562501907349,.9999322891235352,.9999213218688965,.9999403953552246,.999937891960144,.9999312162399292,.9999384880065918,.999954104423523,.999955415725708,.9999667406082153,.9999717473983765,.9999643564224243,.9999736547470093,.999982476234436,.9999860525131226,.9999816417694092,.9999746084213257,.9999791383743286,.9999784231185913,.9999814033508301,.9999833106994629,.9999808073043823,.9999816417694092,.9999854564666748,.9999868869781494,.999988317489624,.9999872446060181,.999985933303833,.9999836683273315,.9999855756759644,.9999842643737793,.9999827146530151,.9999781847000122,.99997878074646,.9999773502349854,.9999809265136719,.9999803304672241,.9999756813049316,.9999706745147705,.9999754428863525,.999974250793457,.9999728202819824,.9999520778656006,.9999083280563354,.9999231100082397,.9999837875366211,.999991774559021,.9999778270721436,.9999399185180664,.9999279975891113,.9999105930328369,.9998785257339478,.9998760223388672,.9999244213104248,.9999275207519531,.9999312162399292,.9999415874481201,.9999634027481079,.9999796152114868,.9999901056289673,.9999897480010986,.9999865293502808,.9999803304672241,.9999796152114868,.9999827146530151,.9999791383743286,.999945878982544,.9999356269836426,.9998440146446228,.9990805387496948,.9768309593200684,.5877436995506287,.11532792448997498,.04561981186270714,.015498297289013863,.0027360788080841303,24139403831213713e-20,10614387429086491e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,39515187381766737e-21,7993337203515694e-20,8870846795616671e-20,31026601209305227e-20,5165266338735819e-19,4892291035503149e-19,27569790836423635e-20,11810469004558399e-20,12502967729233205e-20,10953588207485154e-20,7781186286592856e-20,46478340664179996e-21,608081063546706e-19,6228380516404286e-20,6531136750709265e-20,44453947339206934e-21,43213716708123684e-21,378702134185005e-19,3911647945642471e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4158230512985028e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,52512648835545406e-2
8681,11365507816663012e-20,929802714381367e-18,.019079653546214104,.34143561124801636,.9532805681228638,.9969136118888855,.99945467710495,.9999120235443115,.9999668598175049,.9999837875366211,.9999840259552002,.9999860525131226,.9999840259552002,.9999804496765137,.999971866607666,.9999476671218872,.9999322891235352,.9999405145645142,.9999703168869019,.9999854564666748,.9999889135360718,.9999872446060181,.9999904632568359,.9999892711639404,.999982476234436,.9999691247940063,.9999525547027588,.9999485015869141,.9999796152114868,.9999885559082031,.999982476234436,.999977707862854,.9999867677688599,.9999865293502808,.9999860525131226,.9999867677688599,.9999884366989136,.999983549118042,.9999855756759644,.9999899864196777,.9999918937683105,.9999939203262329,.9999929666519165,.9999840259552002,.9999673366546631,.9999544620513916,.9999686479568481,.9999812841415405,.9999879598617554,.9999860525131226,.9999819993972778,.9999799728393555,.9999810457229614,.9999709129333496,.9999356269836426,.9999402761459351,.9999850988388062,.9999901056289673,.9999750852584839,.9999566078186035,.9999693632125854,.9999626874923706,.9999520778656006,.9999648332595825,.9999854564666748,.9999896287918091,.9999827146530151,.9999805688858032,.9999852180480957,.9999831914901733,.999981164932251,.9999754428863525,.9999731779098511,.999961256980896,.9999525547027588,.9999555349349976,.9999638795852661,.9999630451202393,.999957799911499,.9999344348907471,.9999270439147949,.9999310970306396,.9999560117721558,.9999619722366333,.9999366998672485,.9999308586120605,.9999536275863647,.9999586343765259,.9999667406082153,.9999631643295288,.9999579191207886,.9999562501907349,.9999630451202393,.9999638795852661,.9999638795852661,.9999562501907349,.9999629259109497,.9999710321426392,.9999829530715942,.9999868869781494,.9999819993972778,.9999803304672241,.9999822378158569,.9999854564666748,.9999884366989136,.9999879598617554,.9999865293502808,.9999855756759644,.999984860420227,.9999821186065674,.9999809265136719,.999977707862854,.9999781847000122,.9999758005142212,.9999812841415405,.9999833106994629,.9999773502349854,.9999707937240601,.9999743700027466,.9999709129333496,.999970555305481,.9999469518661499,.9998692274093628,.9999064207077026,.9999814033508301,.9999898672103882,.9999788999557495,.9999477863311768,.9999309778213501,.9999052286148071,.9998611211776733,.9998617172241211,.9999274015426636,.9999408721923828,.9999465942382813,.9999358654022217,.9999359846115112,.9999619722366333,.9999866485595703,.9999908208847046,.9999898672103882,.9999885559082031,.9999861717224121,.9999837875366211,.999981164932251,.9999651908874512,.9999659061431885,.9999436140060425,.9997989535331726,.9972203969955444,.938592791557312,.4555474817752838,.08510395139455795,.01399577409029007,.006490047555416822,.001816128147765994,1933853782247752e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,43249980080872774e-21,378702134185005e-19,8196488488465548e-20,9024512837640941e-20,31137230689637363e-20,7534547476097941e-19,7265470339916646e-19,4032469296362251e-19,1771617098711431e-19,166091529536061e-18,1332814572378993e-19,10769121581688523e-20,6310619210125878e-20,9257932106265798e-20,7302324229385704e-20,6779105751775205e-20,4004460060968995e-20,42998221033485606e-21,378702134185005e-19,46027842472540215e-21,4277466723578982e-20,5434360355138779e-20,378702134185005e-19,4521456139627844e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,52521532779792324e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3813459989032708e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,850380674819462e-19,651508686132729e-18,.013539601117372513,.20426300168037415,.8885080814361572,.9950125217437744,.9994578957557678,.9997556805610657,.9999340772628784,.9999747276306152,.9999852180480957,.9999794960021973,.9999784231185913,.9999737739562988,.9999653100967407,.9999538660049438,.9999232292175293,.99991250038
86814697,.9999291896820068,.9999686479568481,.999984860420227,.9999879598617554,.999985933303833,.9999889135360718,.9999871253967285,.9999808073043823,.999966025352478,.9999492168426514,.9999485015869141,.9999804496765137,.99998939037323,.999985933303833,.9999794960021973,.9999796152114868,.9999775886535645,.9999864101409912,.999987006187439,.9999821186065674,.9999725818634033,.9999831914901733,.999991774559021,.9999927282333374,.9999926090240479,.9999911785125732,.9999785423278809,.9999483823776245,.9999266862869263,.9999583959579468,.9999767541885376,.9999822378158569,.9999750852584839,.9999667406082153,.9999656677246094,.9999722242355347,.999958872795105,.9999034404754639,.9998990297317505,.9999749660491943,.999984860420227,.9999622106552124,.9999303817749023,.9999525547027588,.9999446868896484,.9999227523803711,.9999282360076904,.9999678134918213,.9999825954437256,.9999804496765137,.9999775886535645,.9999786615371704,.9999750852584839,.9999771118164063,.9999738931655884,.9999728202819824,.9999610185623169,.9999516010284424,.999951958656311,.9999607801437378,.9999529123306274,.9999338388442993,.9999021291732788,.999907374382019,.9999171495437622,.9999366998672485,.9999527931213379,.9999308586120605,.9999092817306519,.9999393224716187,.9999533891677856,.999961256980896,.9999496936798096,.9999444484710693,.9999350309371948,.9999202489852905,.9999144077301025,.9999369382858276,.99992835521698,.9999328851699829,.9999499320983887,.9999769926071167,.999984860420227,.9999778270721436,.9999723434448242,.9999747276306152,.9999798536300659,.9999861717224121,.9999855756759644,.9999821186065674,.999981164932251,.9999816417694092,.9999758005142212,.9999741315841675,.9999707937240601,.9999728202819824,.9999675750732422,.999974250793457,.9999803304672241,.9999767541885376,.9999662637710571,.9999674558639526,.9999617338180542,.9999600648880005,.9999285936355591,.9998422265052795,.999876856803894,.9999738931655884,.9999856948852539,.9999756813049316,.9999474287033081,.9999197721481323,.9998791217803955,.9998600482940674,.9998608827590942,.9999157190322876,.9999362230300903,.9999430179595947,.9999203681945801,.9998949766159058,.9999295473098755,.9999804496765137,.9999899864196777,.9999896287918091,.9999897480010986,.9999903440475464,.9999862909317017,.9999819993972778,.999974250793457,.999982476234436,.999976396560669,.9999492168426514,.9996164441108704,.996485710144043,.9199146032333374,.38315972685813904,.04737507924437523,.012642382644116879,.0035932138562202454,.0013683715369552374,13402455078903586e-20,870147196110338e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4219535185256973e-20,7700152491452172e-20,8758175681577995e-20,32526906579732895e-20,8556170505471528e-19,.0011144313029944897,5477557424455881e-19,22647675359621644e-20,21178150200285017e-20,1624809083295986e-19,10456305608386174e-20,7966847624629736e-20,10077453771373257e-20,8237162546720356e-20,5126983523950912e-20,378702134185005e-19,378702134185005e-19,3834558810922317e-20,3937832298106514e-20,4206073936074972e-20,56882257922552526e-21,4326273483457044e-20,5483299173647538e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,40352166251977906e-21,4395677024149336e-20,378702134185005e-19,378702134185005e-19,3807780012721196e-20,378702134185005e-19,42658590245991945e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4809805250260979e-20,432754895882681e-19,3120155888609588e-19,.003339150920510292,.06309286504983902,.699120044708252,.9855288863182068,.9992876648902893,.9998762607574463,.9998481273651123,.9999164342880249,.999976634979248,.9999862909317017,.9999781847000122,.9999740123748779,.9999691247940063,.9999574422836304,.9999502897262573,.999911904335022,.9998804330825806,.9999120235443115,.9999685287475586,.9999828338623047,.9999841451644897,.9999809265136719,.9999860525131226,.999984622001648,.9999784231185913,.9999638795852661,.999953031539917,.9999610185623169,.9999856948852539,.999991774559021,.999988317489624,.9999791383743286,.9999771118164063,.9999779462814331,.9999880790710449,.9999864101409912,.9999817609786987,.9999778270721436,.9999861717224121,.9999933242797852,.9999927282333374,.9999914169311523,.9999911785125732,.9999772310256958,.9999444484710693,.999932050704956,.9999651908874512,.9999786615371704,.9999794960021973,.9999673366546631,.9999635219573975,.9999680519104004,.9999730587005615,.9999579191207886,.9999021291732788,.9998968839645386,.9999743700027466,.9999827146530151,.9999518394470215,.9999192953109741,.999950647354126,.9999490976333618,.9999396800994873,.9999486207962036,.999964714050293,.9999768733978271,.9999842643737793,.9999843835830688,.9999761581420898,.9999655485153198,.9999768733978271,.9999780654907227,.9999731779098511,.9999582767486572,.9999481439590454,.9999498128890991,.9999570846557617,.9999485015869141,.9999260902404785,.9998869895935059,.9998934268951416,.9998984336853027,.9999148845672607,.9999325275421143,.9998939037322998,.9998797178268433,.9999291896820068,.9999372959136963,.9999451637268066,.9999309778213501,.999940037727356,.9999390840530396,.9999068975448608,.999894738
8681973267,.9999417066574097,.9999487400054932,.9999423027038574,.9999581575393677,.9999793767929077,.999983549118042,.99997878074646,.9999760389328003,.9999783039093018,.9999836683273315,.9999881982803345,.999987006187439,.999983549118042,.9999808073043823,.9999809265136719,.9999752044677734,.9999721050262451,.9999678134918213,.9999691247940063,.9999665021896362,.9999760389328003,.9999804496765137,.9999768733978271,.999966025352478,.9999690055847168,.9999638795852661,.9999606609344482,.9999327659606934,.9998654127120972,.9998996257781982,.9999734163284302,.9999836683273315,.9999746084213257,.999947190284729,.9999173879623413,.9998886585235596,.9998946189880371,.999900221824646,.9999376535415649,.9999359846115112,.9999351501464844,.9999133348464966,.9999091625213623,.9999504089355469,.9999856948852539,.9999912977218628,.9999887943267822,.9999868869781494,.9999905824661255,.9999901056289673,.9999852180480957,.9999810457229614,.9999874830245972,.9999827146530151,.9999737739562988,.999893069267273,.9995516538619995,.994456946849823,.9014787673950195,.27600646018981934,.02045510523021221,.003865029662847519,.005264854058623314,.0032793753780424595,23870758013799787e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4075263495906256e-20,43536496377782896e-21,10046767420135438e-20,11958853428950533e-20,36326507688499987e-20,.0010184987913817167,.0014102297136560082,8605748880654573e-19,35416564787738025e-20,2946767199318856e-19,233173617743887e-18,16527133993804455e-20,13125651457812637e-20,16123484238050878e-20,14942891721148044e-20,12178265023976564e-20,4117128628422506e-20,5823327592224814e-20,4168145824223757e-20,6730852328473702e-20,6027933341101743e-20,9708187280921265e-20,852427983772941e-19,10418018064228818e-20,6345700967358425e-20,6197657785378397e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,38557511288672686e-21,378702134185005e-19,383575534215197e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3854385795420967e-20,6836926331743598e-20,664590043015778e-19,38092552131274715e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,54674357670592144e-21,3965035284636542e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5359528586268425e-20,12128035450587049e-20,.0019055192824453115,.026295840740203857,.41081005334854126,.9490352272987366,.9977297186851501,.9997751116752625,.9999514818191528,.9998795986175537,.9998862743377686,.9999641180038452,.9999812841415405,.9999773502349854,.9999736547470093,.9999661445617676,.9999476671218872,.9999402761459351,.9998962879180908,.9998480081558228,.9998838901519775,.9999637603759766,.999980092048645,.9999793767929077,.9999743700027466,.9999837875366211,.999983549118042,.999977707862854,.9999608993530273,.9999556541442871,.9999661445617676,.9999868869781494,.999992847442627,.9999878406524658,.999971866607666,.9999699592590332,.999976634979248,.9999840259552002,.99997878074646,.9999808073043823,.9999823570251465,.9999867677688599,.9999929666519165,.9999918937683105,.9999887943267822,.9999871253967285,.999967098236084,.9999406337738037,.999935507774353,.9999675750732422,.9999775886535645,.9999703168869019,.9999463558197021,.9999525547027588,.9999642372131348,.9999685287475586,.9999486207962036,.9998916387557983,.999871015548706,.9999628067016602,.9999774694442749,.9999406337738037,.9998868703842163,.9999343156814575,.9999401569366455,.999936580657959,.9999475479125977,.9999521970748901,.9999585151672363,.9999738931655884,.9999791383743286,.9999707937240601,.9999529123306274,.9999679327011108,.9999724626541138,.999969482421875,.9999514818191528,.9999406337738037,.9999408721923828,.9999468326568604,.9999337196350098,.9999091625213623,.9998502731323242,.9998669624328613,.9998767375946045,.9998840093612671,.9999016523361206,.9998624324798584,.9998424649238586,.9999089241027832,.9999117851257324,.9999138116836548,.999896764755249,.9999129772186279,.9999200105667114,.9998992681503296,.9998670816421509,.9999310970306396,.9999505281448364,.9999451637268066,.9999570846557617,.9999750852584839,.9999774694442749,.9999727010726929,.9999721050262451,.9999750852584839,.9999805688858032,.999987006187439,.9999867677688599,.9999839067459106,.9999792575836182,.9999762773513794,.9999676942825317,.9999659061431885,.9999592304229736,.9999630451202393,.999962329864502,.9999762773513794,.9999809265136719,.9999749660491943,.9999613761901855,.9999644756317139,.9999582767486572,.99995
86874422836304,.9999332427978516,.9998875856399536,.9999061822891235,.9999649524688721,.9999774694442749,.9999728202819824,.9999439716339111,.9999219179153442,.9999092817306519,.9999282360076904,.9999285936355591,.9999432563781738,.9999315738677979,.9999133348464966,.9998843669891357,.9999110698699951,.9999557733535767,.9999845027923584,.9999898672103882,.999984860420227,.9999775886535645,.9999828338623047,.9999866485595703,.999985933303833,.9999834299087524,.9999884366989136,.9999822378158569,.9999797344207764,.999947190284729,.9998843669891357,.9992578625679016,.9927279949188232,.8159419894218445,.11311762034893036,.011655334383249283,.011176441796123981,.007770661264657974,.0015467536868527532,10520611249376088e-20,7221296982606873e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,385605962947011e-19,378702134185005e-19,3895008558174595e-20,378702134185005e-19,6126327207311988e-20,1286673650611192e-19,1492069714004174e-19,423147197579965e-18,9886154439300299e-19,.0015523325419053435,.0010045362869277596,5176715203560889e-19,42820037924684584e-20,33518002601340413e-20,2056210214504972e-19,2197450667154044e-19,2598240680526942e-19,23351226991508156e-20,1721857552183792e-19,8728344255359843e-20,12789266475010663e-20,11551382340257987e-20,11904129496542737e-20,13783815666101873e-20,14382568770088255e-20,14596064283978194e-20,13223780842963606e-20,9102469630306587e-20,7616100629093125e-20,3926032513845712e-20,41820989281404763e-21,378702134185005e-19,4695360257755965e-20,4232505307300016e-20,6099791789893061e-20,40124301449395716e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,448494465672411e-19,40964132494991645e-21,13290057540871203e-20,5481472908286378e-20,378702134185005e-19,378702134185005e-19,4681959399022162e-20,378702134185005e-19,41076713387155905e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,873299504746683e-19,35293580731377006e-20,.006485614459961653,.1260412186384201,.8340031504631042,.9931806325912476,.9994415640830994,.9999144077301025,.9999635219573975,.9998989105224609,.9998743534088135,.9999549388885498,.9999754428863525,.9999830722808838,.999982476234436,.9999693632125854,.999945878982544,.9999417066574097,.999904990196228,.9998592138290405,.9999016523361206,.9999711513519287,.999982476234436,.9999814033508301,.9999808073043823,.9999878406524658,.9999867677688599,.9999816417694092,.9999680519104004,.9999680519104004,.9999806880950928,.9999921321868896,.9999926090240479,.9999853372573853,.9999697208404541,.9999768733978271,.9999786615371704,.9999781847000122,.9999788999557495,.9999902248382568,.999994158744812,.9999927282333374,.9999927282333374,.9999910593032837,.9999821186065674,.9999785423278809,.9999604225158691,.9999511241912842,.9999556541442871,.9999765157699585,.9999783039093018,.9999626874923706,.9999357461929321,.9999557733535767,.9999657869338989,.9999678134918213,.9999407529830933,.9998760223388672,.9998776912689209,.9999679327011108,.9999765157699585,.9999281167984009,.9998736381530762,.9999344348907471,.9999436140060425,.999944806098938,.9999330043792725,.99992835521698,.9999281167984009,.9999527931213379,.9999688863754272,.9999678134918213,.9999604225158691,.9999674558639526,.9999698400497437,.9999725818634033,.9999598264694214,.9999549388885498,.9999446868896484,.9999521970748901,.9999363422393799,.9999
868080896377563,.9998772144317627,.9999047517776489,.9999196529388428,.9999172687530518,.9999210834503174,.9998750686645508,.9998258948326111,.9998947381973267,.9998944997787476,.9999110698699951,.9999011754989624,.9998980760574341,.9998900890350342,.9998953342437744,.9998849630355835,.9999514818191528,.9999703168869019,.9999580383300781,.9999576807022095,.9999703168869019,.999972939491272,.9999738931655884,.9999721050262451,.9999736547470093,.9999790191650391,.9999881982803345,.9999890327453613,.9999873638153076,.999982476234436,.9999769926071167,.999966025352478,.9999624490737915,.9999586343765259,.9999645948410034,.9999691247940063,.9999810457229614,.9999827146530151,.9999775886535645,.9999635219573975,.9999657869338989,.9999634027481079,.9999673366546631,.9999507665634155,.9999207258224487,.999924898147583,.999966025352478,.9999713897705078,.9999662637710571,.9999488592147827,.9999401569366455,.9999346733093262,.9999498128890991,.999944806098938,.9999516010284424,.9999269247055054,.9999053478240967,.9998955726623535,.9999266862869263,.9999629259109497,.9999852180480957,.9999858140945435,.9999772310256958,.9999634027481079,.9999717473983765,.9999786615371704,.9999837875366211,.9999839067459106,.9999854564666748,.9999769926071167,.9999741315841675,.9999432563781738,.9999136924743652,.9997325539588928,.9988260865211487,.9784498810768127,.6261019110679626,.07903845608234406,.01658623293042183,.0047119683586061,.002519667847082019,6656220066361129e-19,13943867816124111e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,50359474698780105e-21,5786342444480397e-20,1519598881714046e-19,15980156604200602e-20,4148505977354944e-19,.0011865743435919285,.0018304663244634867,.0011420894879847765,6148219690658152e-19,456206122180447e-18,3714332415256649e-19,2787183620966971e-19,3613956505432725e-19,4219591792207211e-19,4009274998679757e-19,302477361401543e-18,22465834626927972e-20,2542354923207313e-19,26294265990145504e-20,20954124920535833e-20,20786980167031288e-20,22997657652013004e-20,23927523579914123e-20,22491253912448883e-20,17522180860396475e
868-20,14487515727523714e-20,7022446516202763e-20,796813765191473e-19,4772637112182565e-20,7290214125532657e-20,7119605288608e-17,989327163551934e-19,8241775503847748e-20,706493083271198e-19,378702134185005e-19,38394031435018405e-21,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4000422632088885e-20,5661604518536478e-20,18150400137528777e-20,10316663247067481e-20,4542139868135564e-20,378702134185005e-19,378702134185005e-19,379116645490285e-19,4389980313135311e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,42184976337011904e-21,631820730632171e-19,378702134185005e-19,6724404374836013e-20,22733314835932106e-20,.002310789655894041,.0437171533703804,.5165575742721558,.9733458757400513,.9978575110435486,.9998072981834412,.9999133348464966,.9999450445175171,.9999141693115234,.9998843669891357,.9999289512634277,.999957799911499,.99997878074646,.9999825954437256,.999964714050293,.9999309778213501,.9999409914016724,.9999138116836548,.999882698059082,.9999138116836548,.9999676942825317,.9999783039093018,.9999831914901733,.9999853372573853,.9999901056289673,.9999881982803345,.9999822378158569,.9999667406082153,.9999743700027466,.999987006187439,.9999935626983643,.999991774559021,.9999808073043823,.9999648332595825,.9999806880950928,.9999762773513794,.9999700784683228,.9999756813049316,.9999915361404419,.9999959468841553,.9999943971633911,.9999920129776001,.99998939037323,.9999755620956421,.9999682903289795,.9999524354934692,.9999619722366333,.9999651908874512,.9999736547470093,.9999738931655884,.9999592304229736,.999929666519165,.9999595880508423,.9999691247940063,.999964714050293,.999930739402771,.9998875856399536,.999893307685852,.9999655485153198,.9999728202819824,.9999208450317383,.9998546838760376,.999933123588562,.9999465942382813,.9999524354934692,.9999306201934814,.9998914003372192,.9998711347579956,.9999005794525146,.9999361038208008,.9999618530273438,.9999632835388184,.999963641166687,.9999631643295288,.9999712705612183,.999962568283081,.9999582767486572,.9999414682388306,.9999418258666992,.9999260902404785,.9999022483825684,.9998732805252075,.9999181032180786,.9999349117279053,.9999263286590576,.9999270439147949,.99989914894104,.9998365044593811,.9998811483383179,.9998797178268433,.9999185800552368,.9999105930328369,.9998947381973267,.9998723268508911,.9998860359191895,.9998831748962402,.99993896484375,.9999662637710571,.9999668598175049,.9999628067016602,.9999667406082153,.9999676942825317,.9999730587005615,.9999712705612183,.9999700784683228,.9999758005142212,.9999860525131226,.999987006187439,.9999854564666748,.9999799728393555,.9999732971191406,.9999593496322632,.9999595880508423,.9999574422836304,.999966025352478,.9999710321426392,.9999815225601196,.9999818801879883,.9999790191650391,.9999678134918213,.9999692440032959,.9999679327011108,.9999723434448242,.9999579191207886,.9999402761459351,.9999412298202515,.9999622106552124,.9999607801437378,.9999566078186035,.9999462366104126,.9999521970748901,.9999450445175171,.9999520778656006,.9999480247497559,.9999527931213379,.9999222755432129,.9998998641967773,.9999017715454102,.9999372959136963,.9999653100967407,.999982476234436,.9999802112579346,.9999691247940063,.9999512434005737,.9999595880508423,.9999644756317139,.9999779462814331,.999983549118042,.9999805688858032,.9999703168869019,.9999728202819824,.9999432563781738,.9999402761459351,.9998989105224609,.9998082518577576,.9980621933937073,.968768298625946,.5515084266662598,.07357143610715866,.008807259611785412,.0043062265031039715,.0017042120452970266,7290849462151527e-19,1079962239600718e-19,7784320041537285e-20,37899088056292385e-21,476286732009612e-19,378702134185005e-19,3948849916923791e-20,378702134185005e-19,3919702794519253e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,3799327168962918e-20,378702134185005e-19,39458911487599835e-21,378702134185005e-19,402789592044428e-19,378702134185005e-19,4402670674608089e-20,3860474316752516e-20,4967671702615917e-20,3822055441560224e-20,4907287802780047e-20,3864459722535685e-20,4821480979444459e-20,4243946386850439e-20,8509473991580307e-20,2109018387272954e-19,19852658442687243e-20,47425704542547464e-20,.001435352023690939,.0022528308909386396,.0010935324244201183,41038342169485986e-20,37375299143604934e-20,3262750688008964e-19,3123906208202243e-19,4698890261352062e-19,5370666040107608e-19,4361187166068703e-19,3733057528734207e-19,25072554126381874e-20,2733868022914976e-19,2325987588847056e-19,20101583504583687e-20,20727291121147573e-20,27005604351870716e-20,3324284916743636e-19,3082744078710675e-19,2976509858854115e-19,18935291154775769e-20,10531923908274621e-20,98303375125397e-18,6355989899020642e-20,7223387365229428e-20,7594560156576335e-20,9814359509618953e-20,10042930080089718e-20,903265827219002e-19,46594399464083835e-21,5210716335568577e-20,3840743374894373e-20,5030664033256471e-20,4090714719495736e-20,4114938201382756e-20,378702134185005e-19,378702134185005e-19,5536238313652575e-20,6759753159713e-17,2771468716673553e-19,11781208013417199e-20,5714220606023446e-20,378702134185005e-19,4037551116198301e-20,3913181717507541e-20,4078219717484899e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,5078108733869158e-20,1134591075242497e-19,10571014718152583e-20,1912372827064246e-19,.0011499157408252358,.012467405758798122,.18875716626644135,.8633940815925598,.9921437501907349,.9991323351860046,.9998385310173035,.9998711347
868579956,.9998971223831177,.9998960494995117,.9998782873153687,.9999076128005981,.9999288320541382,.9999703168869019,.9999767541885376,.9999533891677856,.9999256134033203,.9999475479125977,.999940037727356,.9999220371246338,.9999210834503174,.9999692440032959,.9999769926071167,.9999865293502808,.9999905824661255,.9999918937683105,.9999866485595703,.9999790191650391,.9999655485153198,.9999792575836182,.999988317489624,.9999922513961792,.9999885559082031,.9999786615371704,.9999693632125854,.9999796152114868,.9999747276306152,.999977707862854,.999984622001648,.9999923706054688,.999994158744812,.9999924898147583,.9999889135360718,.9999873638153076,.9999781847000122,.9999730587005615,.9999663829803467,.9999700784683228,.9999668598175049,.9999737739562988,.9999696016311646,.9999628067016602,.9999479055404663,.9999715089797974,.999974250793457,.999969482421875,.9999500513076782,.9999278783798218,.9999321699142456,.9999715089797974,.9999681711196899,.9999186992645264,.9998716115951538,.9999451637268066,.9999556541442871,.9999654293060303,.9999489784240723,.9999148845672607,.9998601675033569,.9998618364334106,.9998947381973267,.9999558925628662,.9999662637710571,.9999580383300781,.9999532699584961,.9999661445617676,.9999538660049438,.9999537467956543,.999948263168335,.9999488592147827,.9999327659606934,.999913215637207,.9998748302459717,.9999321699142456,.9999457597732544,.999931812286377,.999922513961792,.9999055862426758,.9998677968978882,.9999041557312012,.9999232292175293,.9999432563781738,.9999310970306396,.9999125003814697,.9998823404312134,.999911904335022,.9999091625213623,.9999330043792725,.9999560117721558,.9999712705612183,.9999721050262451,.9999750852584839,.9999722242355347,.999974250793457,.9999716281890869,.9999743700027466,.9999756813049316,.999984622001648,.9999831914901733,.9999828338623047,.9999781847000122,.9999732971191406,.9999662637710571,.9999686479568481,.9999649524688721,.9999728202819824,.9999703168869019,.9999803304672241,.9999829530715942,.999982476234436,.9999772310256958,.9999788999557495,.9999730587005615,.9999740123748779,.9999628067016602,.9999560117721558,.999953031539917,.9999666213989258,.9999604225158691,.999957799911499,.9999425411224365,.9999445676803589,.999936580657959,.9999504089355469,.9999510049819946,.9999548196792603,.9999382495880127,.9999285936355591,.9999319314956665,.9999531507492065,.9999605417251587,.9999816417694092,.9999797344207764,.9999704360961914,.9999539852142334,.9999574422836304,.9999643564224243,.9999784231185913,.999984622001648,.9999799728393555,.9999663829803467,.9999676942825317,.9999488592147827,.999954104423523,.999940037727356,.9999239444732666,.9996060729026794,.9968932271003723,.9344824552536011,.4410254657268524,.051226530224084854,.007959536276757717,.0024574550334364176,.0017918322701007128,698072137311101e-18,1444884401280433e-19,4174261266598478e-20,52534276619553566e-21,378702134185005e-19,41210274503100663e-21,378702134185005e-19,4283281305106357e-20,378702134185005e-19,4079980499227531e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,38865007809363306e-21,378702134185005e-19,406737053708639e-19,378702134185005e-19,4506211917032488e-20,3897115311701782e-20,45473192585632205e-21,378702134185005e-19,5207672074902803e-20,42968415073119104e-21,6031780139892362e-20,4472779619391076e-20,578134240640793e-19,42363200918771327e-21,6077013676986098e-20,6843997834948823e-20,13013544958084822e-20,39729420677758753e-20,357472657924518e-18,6220713839866221e-19,.0024226282257586718,.003544147592037916,.0019996038172394037,6812381907366216e-19,5412681493908167e-19,5158452549949288e-19,6127515225671232e-19,.0010420754551887512,.0010639277752488852,8521357085555792e-19,7849819376133382e-19,48260806943289936e-20,461833318695426e-18,37885888013988733e-20,32877945341169834e-20,33043939038179815e-20,4216186353005469e-19,5814111791551113e-19,6042178720235825e-19,6346064037643373e-19,5501501145772636e-19,3209309943486005e-19,241149275097996e-18,19216927466914058e-20,1975248451344669e-19,1631176855880767e-19,22306937898974866e-20,26481697568669915e-20,22827545762993395e-20,16180725651793182e-20,15272684686351568e-20,10406400542706251e-20,12223819794598967e-20,8850044832797721e-20,9483116446062922e-20,46947116061346605e-21,5500193947227672e-20,4846570664085448e-20,1321572344750166e-19,6254499312490225e-19,334876065608114e-18,1141924221883528e-19,7313767855521291e-20,378702134185005e-19,7
868540418300777674e-20,766430384828709e-19,5442559995572083e-20,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,378702134185005e-19,4668784458772279e-20,9439840505365282e-20,22342080774251372e-20,5021740216761827e-19,9427591576240957e-19,.006274628918617964,.06405093520879745,.5876448154449463,.9605716466903687,.9967013001441956,.9994712471961975,.999852180480957,.9998593330383301,.9998912811279297,.9999284744262695,.9999133348464966,.9998983144760132,.9998965263366699,.9999386072158813,.9999525547027588,.9999452829360962,.9999309778213501,.9999505281448364,.9999480247497559,.9999456405639648,.9999306201934814,.9999451637268066,.999953031539917,.9999821186065674,.9999903440475464,.9999886751174927,.9999774694442749,.9999651908874512,.9999439716339111,.9999734163284302,.9999856948852539,.9999860525131226,.9999781847000122,.9999748468399048,.9999700784683228,.9999656677246094,.9999606609344482,.999976634979248,.999984622001648,.9999872446060181,.9999868869781494,.9999839067459106,.9999778270721436,.9999743700027466,.9999628067016602,.9999649524688721,.9999606609344482,.9999669790267944,.9999624490737915,.999968409538269,.9999628067016602,.9999618530273438,.9999529123306274,.9999669790267944,.9999663829803467,.9999524354934692,.9999301433563232,.9999258518218994,.9999300241470337,.9999604225158691,.9999531507492065,.9999077320098877,.9998623132705688,.9999376535415649,.9999514818191528,.9999608993530273,.9999459981918335,.9999232292175293,.999862551689148,.9998204112052917,.9998324513435364,.9999247789382935,.9999504089355469,.9999393224716187,.9999245405197144,.9999463558197021,.9999270439147949,.9999268054962158,.9999333620071411,.9999477863311768,.9999315738677979,.9998952150344849,.9998272061347961,.9999130964279175,.9999439716339111,.9999244213104248,.9998987913131714,.9998704195022583,.9998213648796082,.999879002571106,.9999123811721802,.9999297857284546,.9999148845672607,.9998950958251953,.9998441338539124,.9999009370803833,.9999133348464966,.9999061822891235,.9999281167984009,.9999659061431885,.999971866607666,.9999728202819824,.9999685287475586,.9999690055847168,.9999651908874512,.9999737739562988,.999974250793457,.9999760389328003,.9999712705612183,.9999724626541138,.9999672174453735,.9999657869338989,.9999629259109497,.9999692440032959,.9999638795852661,.9999681711196899,.9999616146087646,.9999657869338989,.9999717473983765,.9999784231185913,.9999749660491943,.9999744892120361,.9999643564224243,.999962568283081,.9999536275863647,.9999603033065796,.9999567270278931,.9999570846557617,.9999474287033081,.9999445676803589,.9999170303344727,.9999138116836548,.9999059438705444,.9999339580535889,.9999396800994873,.9999512434005737,.9999446868896484,.9999470710754395,.999947190284729,.9999583959579468,.9999537467956543,.9999668598175049,.999966025352478,.9999599456787109,.9999366998672485,.9999227523803711,.999940037727356,.9999687671661377,.999976396560669,.999962568283081,.9999343156814575,.9999310970306396,.9999151229858398,.999951958656311,.9999513626098633,.9999462366104126,.9998449683189392,.9994606375694275,.9921781420707703,.8880457878112793,.3296102285385132,.03408025577664375,.005968388170003891,.0054670474492013454,.0024807339068502188,6298871012404561e-19,10617938096402213e-20,12553844135254622e-20,7088280835887417e-20,874011020641774e-19,5280296682030894e-20,8464299753541127e-20,6144536746433005e-20,7392015686491504e-20,45321470679482445e-21,6400683923857287e-20,4311881275498308e-20,5854604751220904e-20,4334442564868368e-20,7066332182148471e-20,51878003432648256e-21,7037604518700391e-20,5565039464272559e-20,8133958181133494e-20,632532755844295e-19,8029324089875445e-20,6406575994333252e-20,9136593143921345e-20,837722109281458e-19,10279146226821467e-20,8936767699196935e-20,1062088631442748e-19,7948731945361942e-20,10746275074779987e-20,148695835378021e-18,24858233518898487e-20,6219300557859242e-19,6090575479902327e-19,829717144370079e-18,.0031912336125969887,.004069257061928511,.0029025559779256582,.001460730331018567,9528177324682474e-19,.0010695763630792499,.001453451463021338,.0019883369095623493,.0019609499722719193,.001564547885209322,.0012788840103894472,.0010565095581114292,8606857154518366e-19,7926414255052805e-19,649188703391701e-18,6911724922247231e-19,7755582919344306e-19,9082874748855829e-19,.001034244429320097,.0010619176318868995,8969001937657595e-19,661397585645318e-18,5023456178605556e-19,4173126071691513e-19,3971553815063089e-19,43131003621965647e-20,5624988116323948e-19,7462530629709363e-19,6806502351537347e-19,60368882259354e-17,5076355300843716e-19,39109401404857635e-20,3121787158306688e-19,2469286264386028e-19,1699031563475728e-19,9397115354659036e-20,8014890772756189e-20,1447663235012442e-19,4464529
868629331082e-19,.0010815620189532638,644020619802177e-18,19754731329157948e-20,8376678306376562e-20,5609502113657072e-20,10856958397198468e-20,10428276436869055e-20,5302724093780853e-20,378702134185005e-19,3858066338580102e-20,378702134185005e-19,3940841997973621e-20,4282228110241704e-20,5972230792394839e-20,1838652533479035e-19,5160286673344672e-19,.0014290388207882643,.0032097515650093555,.02308240719139576,.19503247737884521,.8000569343566895,.9855356812477112,.9979844689369202,.9996309280395508,.9999004602432251,.9999350309371948,.9999545812606812,.9999669790267944,.9999573230743408,.9999276399612427,.999871015548706,.9998836517333984,.9998984336853027,.9999375343322754,.9999349117279053,.9999444484710693,.9999347925186157,.9999333620071411,.9998887777328491,.9998807907104492,.999882698059082,.9999659061431885,.9999821186065674,.9999719858169556,.9999368190765381,.9999113082885742,.9998906850814819,.9999555349349976,.9999755620956421,.9999721050262451,.9999630451202393,.9999669790267944,.9999573230743408,.9999417066574097,.9999251365661621,.9999655485153198,.9999743700027466,.9999663829803467,.9999532699584961,.9999529123306274,.9999351501464844,.9999275207519531,.9999006986618042,.9999145269393921,.9999200105667114,.9999325275421143,.9999332427978516,.9999456405639648,.999950647354126,.9999516010284424,.9999431371688843,.9999438524246216,.9999215602874756,.9998857975006104,.9998250603675842,.9998270869255066,.999858021736145,.9999181032180786,.9999138116836548,.999843418598175,.9998136162757874,.9999080896377563,.9999206066131592,.9999339580535889,.9999217987060547,.9999123811721802,.9998593330383301,.9998123049736023,.9998061060905457,.9998984336853027,.999904990196228,.9998869895935059,.9998512268066406,.9998940229415894,.9998719692230225,.999882698059082,.9998993873596191,.9999251365661621,.9998801946640015,.9997850060462952,.9997442364692688,.9998964071273804,.9999281167984009,.9999023675918579,.9998294711112976,.9997751116752625,.9997246861457825,.999806821346283,.9998252987861633,.9998337626457214,.9997597336769104,.9997408986091614,.999727189540863,.9998579025268555,.999882698059082,.9998398423194885,.9998685121536255,.9999456405639648,.9999557733535767,.9999585151672363,.9999520778656006,.9999504089355469,.9999457597732544,.9999661445617676,.9999659061431885,.9999608993530273,.9999419450759888,.9999443292617798,.9999351501464844,.999942421913147,.9999368190765381,.9999488592147827,.9999420642852783,.9999463558197021,.9999256134033203,.9999287128448486,.9999285936355591,.999950647354126,.9999405145645142,.9999362230300903,.9999200105667114,.9999245405197144,.9999233484268188,.9999420642852783,.9999387264251709,.9999353885650635,.9999063014984131,.9998883008956909,.9998325705528259,.9998390078544617,.9998544454574585,.9998970031738281,.9999104738235474,.9999376535415649,.9999338388442993,.9999449253082275,.9999375343322754,.999943733215332,.9999262094497681,.9999415874481201,.9999260902404785,.9999213218688965,.9998873472213745,.999829113483429,.9998443722724915,.9999254941940308,.9999129772186279,.9998593330383301,.9997674822807312,.9997629523277283,.9998273253440857,.9999091625213623,.9999256134033203,.9999178647994995,.9997851252555847,.9996064305305481,.9981628060340881,.9834631085395813,.7914474606513977,.18446074426174164,.0187468770891428,.010605630464851856,.0035745908971875906,7839648169465363e-19,27086713816970587e-20,22884205100126565e-20,1475687458878383e-19,12698072532657534e-20,10969136201310903e-20,11730787082342431e-20,9812361531658098e-20,8674700075061992e-20,6628733535762876e-20,7837823068257421e-20,5722918649553321e-20,6438810669351369e-20,6276440399233252e-20,8875879575498402e-20,774026193539612e-19,7945422839839011e-20,7984496915014461e-20,8958969556260854e-20,8725303632672876e-20,8592229278292507e-20,9218844206770882e-20,10286676842952147e-20,12063318717991933e-20,11843542597489432e-20,1304784818785265e-19,11794374586315826e-20,11747445387300104e-20,1293644745601341e-19,17720702453516424e-20,262838409980759e-18,4853472928516567e-19,9133494459092617e-19,8523704018443823e-19,.010608328506350517,.003196349600329995,.003532708389684558,.001586815807968378,.0012270285515114665,.0010764236794784665,.00142506358679384,.0020498207304626703,.0024638106115162373,.0026138925459235907,.0023661707527935505,.002156265079975128,.002083620522171259,.0014228969812393188,.001282694167457521,.001238470897078514,.001332635059952736,.0012158217141404748,.0011845602421090007,.0012726479908451438,.0011360755888745189,9372651111334562e-19,797
8685016487762332e-19,6251513259485364e-19,6566387601196766e-19,7701059221290052e-19,969560060184449e-18,.0010639530373737216,.0010510748252272606,8382289670407772e-19,6651305593550205e-19,47282432205975056e-20,4123676917515695e-19,3012493543792516e-19,2469122991897166e-19,13011229748371989e-20,14935655053704977e-20,1441605854779482e-19,5151024670340121e-19,.0013908384134992957,.0011852220632135868,31727159512229264e-20,23365368542727083e-20,7915689639048651e-20,182642848812975e-18,15634078590665013e-20,1332230749540031e-19,38130441680550575e-21,7418722088914365e-20,55771921324776486e-21,8266993245342746e-20,4946929766447283e-20,10120682418346405e-20,3184619708918035e-19,9603701764717698e-19,.00563112972304225,.015628134831786156,.17654013633728027,.48612332344055176,.8939449191093445,.9640969038009644,.9950929880142212,.9979915618896484,.9995715022087097,.9996973276138306,.9997991919517517,.9997711777687073,.9997643828392029,.999638557434082,.9993459582328796,.999133288860321,.9992955923080444,.9995808005332947,.9996622800827026,.9995737671852112,.9995191097259521,.9994478821754456,.9992141127586365,.998950183391571,.9992382526397705,.9996193051338196,.9997887015342712,.9996682405471802,.9992817044258118,.9989530444145203,.999224066734314,.9996672868728638,.9998144507408142,.9997521042823792,.9997081756591797,.9997153878211975,.9996585845947266,.9996449947357178,.9995647072792053,.9996694326400757,.9997976422309875,.9996737241744995,.9995531439781189,.9995403289794922,.9994311332702637,.9991900324821472,.9990050196647644,.9989957213401794,.9992949962615967,.9993164539337158,.9993996620178223,.9994152784347534,.9995689988136292,.9995293617248535,.9994932413101196,.9993897676467896,.9991788268089294,.9988824725151062,.9986525177955627,.9986581802368164,.9991276860237122,.9993932247161865,.9994828104972839,.9991744756698608,.9990935325622559,.999320387840271,.9994707703590393,.9994487166404724,.9994798302650452,.9994774460792542,.9993436932563782,.9991054534912109,.9991864562034607,.9994009733200073,.9994458556175232,.999305248260498,.9991700649261475,.9991525411605835,.999122679233551,.9991403222084045,.9993459582328796,.9993988275527954,.9991551637649536,.9984307289123535,.9988666772842407,.9995014667510986,.9996576309204102,.9994480013847351,.9990094304084778,.998465895652771,.9984179735183716,.998656690120697,.9989325404167175,.9987660646438599,.9982744455337524,.998155415058136,.9987612962722778,.99922776222229,.9993962049484253,.9990293979644775,.9991743564605713,.9994879364967346,.9996787309646606,.999665379524231,.999679684638977,.9996622800827026,.9996874332427979,.999737560749054,.9997933506965637,.9997288584709167,.9996335506439209,.999588668346405,.9996077418327332,.9995823502540588,.9995952248573303,.9996034502983093,.9996346235275269,.9996179938316345,.9994934797286987,.9994053840637207,.9994804263114929,.999541163444519,.9995033740997314,.9993928670883179,.9993550181388855,.9993780255317688,.9994388222694397,.9994848370552063,.9995740056037903,.9994813799858093,.9994358420372009,.9992907643318176,.9991509914398193,.9990304708480835,.9991703033447266,.9992908835411072,.9994567036628723,.9995697140693665,.9996138215065002,.9996125102043152,.9996311664581299,.9995781779289246,.9994743466377258,.9994625449180603,.9993875026702881,.9993140697479248,.9992200136184692,.9991945624351501,.9990227222442627,.9990463852882385,.9989905953407288,.9987175464630127,.9982703924179077,.9983481168746948,.9991661310195923,.9994086027145386,.9995088577270508,.9994242191314697,.9989338517189026,.9983806610107422,.9961832761764526,.9892168045043945,.9239900708198547,.5252639651298523,.06619906425476074,.019363921135663986,.0034799103159457445,.0011581183644011617,3618659102357924e-19,41232738294638693e-20,22784018074162304e-20,215402091271244e-18,15687549603171647e-20,18627778626978397e-20,13806518109049648e-20,15358056407421827e-20,923069819691591e-19,13544457033276558e-20,9405958553543314e-20,12469312059693038e-20,8648061339044943e-20,13785592454951257e-20,10925064270850271e-20,1357089204248041e-19,9372743079438806e-20,13819857849739492e-20,10319262219127268e-20,1376909203827381e-19,10498826304683462e-20,1527105923742056e-19,13862864580005407e-20,16818050062283874e-20,13977501657791436e-20,1725480251479894e-19,1286832703044638e-19,17719532479532063e-20,2155971887987107e
868-19,29267193167470396e-20,44699932914227247e-20,43285515857860446e-20,.003138786880299449]),ne=n(6903);function nt(t,r,n){return r=nn(r),function(t,r){if(r&&("object"==na(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t,nr()?Reflect.construct(r,n||[],nn(t).constructor):r.apply(t,n))}function nr(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(nr=function(){return!!t})()}function nn(t){return(nn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ni(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&no(t,r)}function no(t,r){return(no=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}function na(t){return(na="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ns(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}function nu(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=na(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=na(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==na(r)?r:r+""}(i.key),i)}}function nl(t,r,n){return r&&nu(t.prototype,r),n&&nu(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}(n_=r2||(r2={})).SPEED="speed",n_.BALANCED="balanced",n_.QUALITY="quality",n_.LIGHTNING="lightning";var nh=nl(function t(r){ns(this,t),this.sdkOptions=r,this.landscapeSize={height:144,width:256},this.portraitSize={height:192,width:192}},[{key:"getModelSize",value:function(){return this.sdkOptions.width/this.sdkOptions.height>1?this.landscapeSize:this.portraitSize}},{key:"getURL",value:function(){var t=this.sdkOptions.width/this.sdkOptions.height>1?"PRESETS":"PRESETS_PORTRAIT",r=w.y[t][this.preset];return r?w.y.getPresetUrl(r):w.y.MODEL_URL}
868}]),nc=function(t){function r(t){var n;return ns(this,r),(n=nt(this,r,[t])).preset=r2.QUALITY,n}return ni(r,t),nl(r)}(nh),nf=function(t){function r(t){var n;return ns(this,r),(n=nt(this,r,[t])).preset=r2.BALANCED,n.landscapeSize={height:128,width:256},n}return ni(r,t),nl(r)}(nh),nd=function(t){function r(t){var n;return ns(this,r),(n=nt(this,r,[t])).preset=r2.SPEED,n.landscapeSize={height:160,width:256},n}return ni(r,t),nl(r)}(nh),np=function(t){function r(t){var n;return ns(this,r),(n=nt(this,r,[t])).preset=r2.LIGHTNING,n}return ni(r,t),nl(r)}(nh),ny=nl(function t(r){ns(this,t),this.modelMap=new Map,this.modelMap.set(r2.BALANCED,new nf(r)),this.modelMap.set(r2.QUALITY,new nc(r)),this.modelMap.set(r2.SPEED,new nd(r)),this.modelMap.set(r2.LIGHTNING,new np(r))},[{key:"getModelSize",value:function(t){var r,n;return null!=(n=null==(r=this.getModel(t))?void 0:r.getModelSize())?n:{height:144,width:256}}},{key:"getModelURL",value:function(t){var r,n;return null!=(n=null==(r=this.getModel(t))?void 0:r.getURL())?n:""}},{key:"getModel",value:function(t){return this.modelMap.has(t)?this.modelMap.get(t):(s.bv.notify({emitter:s.JK.PRESET_INIT,type:s.By.ERROR,code:s.O4.PRESET_ISSUE,message:"Can't find preset ".concat(t)}),null)}}]),nm=n(5862);function ng(t){return(ng="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nv(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ng(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ng(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ng(r)?r:r+""}(i.key),i)}}function nb(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(nb=function(){return!!t})()}function nw(t){return(nw=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function nx(t,r){return(nx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var n_,nT,nS=function(t){var r,n;function i(t,r,n){var o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(a=nw(a=i),o=function(t,r){if(r&&("object"==ng(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,nb()?Reflect.construct(a,[],nw(this).constructor):a.apply(this,void 0))).filters={blur:{}},o.sdkOptions=t,o.type="origin",o.options=Object.assign({},i.defaultOptions,n),o.frame=r,o.filters.blur=new rC({blur:5,quality:5}),o.backgroundTrack=new nm.D,o.backgroundTrack.on("ended",o.clearBackground,o),o.backgroundTrack.on("update",o.calculateBackgroundSize,o),o.sdkOptions.on("update",o.onOptionsUpdate,o),o}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&nx(t,r)}(i,t),r=[{key:"destroy",value:function(){this.backgroundTrack.off("ended",this.clearBackground,this),this.backgroundTrack.off("update",this.calculateBackgroundSize,this),this.sdkOptions.off("update",this.onOptionsUpdate,this)}},{key:"onOptionsUpdate",value:function(t){this.frame.resize(t.width,t.height),this.calculateBackgroundSize()}},{key:"render",value:function(){this.backgroundTrack.update(),document.hidden&&this.frame.sprite.texture.baseTexture.resource&&this.frame.sprite.texture.baseTexture.resource.source instanceof HTMLVideoElement&&this.frame.sprite.texture.baseTexture.update()}},{key:"set",value:function(t){this.backgroundTrack.stop(),this.applyBackgroun
868d(t)}},{key:"applyBlur",value:function(t){this.frame.sprite.filters=[],this.filters.blur.disableMask(),t&&(this.filters.blur.blur=+t,this.frame.sprite.filters.push(this.filters.blur),"origin"==this.frame.active&&this.filters.blur.enableMask())}},{key:"setMask",value:function(t){this.filters.blur.blur&&this.filters.blur.setMask(t)}},{key:"applyBackground",value:function(t){var r,n,i,o,a=this;if(this.frame.sprite.tint="color"==t?this.options.color:0xffffff,this.options.source!=t){if(this.options.source=t,null==t)return this.type="origin",this.frame.active!==this.type&&(this.frame.activateTexture(this.type),this.calculateBackgroundSize(),(null==(o=this.frame.sprite.filters)?void 0:o.length)&&"origin"==this.frame.active?this.filters.blur.enableMask():this.filters.blur.disableMask()),void this.emit("success",this);switch(t.constructor){case String:"color"==t?(this.type="color",r=d.Texture.WHITE):(r=t,this.type="url");break;case MediaStream:this.backgroundTrack.set(t),(n=document.createElement("video")).srcObject=t,r=n,this.type="media_stream";break;case CanvasCaptureMediaStreamTrack:case BrowserCaptureMediaStreamTrack:case MediaStreamTrack:i=new MediaStream([t]),this.backgroundTrack.set(i),(n=document.createElement("video")).srcObject=i,r=n,this.type="media_stream_track";break;case HTMLVideoElement:r=t,this.type="video"}if(r&&r instanceof d.Texture)this.texture=r;else{if(t.constructor==String)return void d.Texture.fromURL(r).then(function(t){a.texture=t,a.onBackgroundLoaded()});this.texture=d.Texture.from(r)}this.texture.baseTexture.valid?this.onBackgroundLoaded():this.texture.baseTexture.once("loaded",function(){return a.onBackgroundLoaded()})}else this.emit("success",this)}},{key:"onBackgroundLoaded",value:function(){this.texture.baseTexture&&(this.emit
868("success",this),this.frame.addTexture("swap",this.texture),this.switchBackground(),this.calculateBackgroundSize(),this.loopAndRestart())}},{key:"loopAndRestart",value:function(){this.frame.sprite.texture.baseTexture.resource.source instanceof HTMLVideoElement&&(this.frame.sprite.texture.baseTexture.resource.source.loop=!0,this.frame.sprite.texture.baseTexture.resource.source.currentTime=0,this.frame.sprite.texture.baseTexture.resource.source.muted=!0)}},{key:"setColor",value:function(t){this.options.color=t,this.frame.sprite.tint=this.options.color}},{key:"switchBackground",value:function(){var t;this.frame.activateTexture("swap"),"color"==this.type&&(this.frame.sprite.tint=this.options.color),(null==(t=this.frame.sprite.filters)?void 0:t.length)&&"origin"==this.frame.active?this.filters.blur.enableMask():this.filters.blur.disableMask(),this.emit("update",this)}},{key:"clearBackground",value:function(){this.backgroundTrack.stop(),this.applyBackground(null),this.emit("clear",this)}},{key:"updateBackgroundSize",value:function(t,r,n,i){this.frame.sprite.width=n,this.frame.sprite.height=i,this.frame.sprite.x=t,this.frame.sprite.y=r}},{key:"setFitMode",value:function(t){this.options.fit_mode=t,this.calculateBackgroundSize()}},{key:"calculateBackgroundSize",value:function(){var t=this.sdkOptions.width,r=this.sdkOptions.height;if("color"!=this.type&&"origin"!=this.type){if(!(this.frame.sprite.texture.baseTexture.width<20)){var n=this.frame.sprite.texture.baseTexture.width/this.frame.sprite.texture.baseTexture.height;"fill"==this.options.fit_mode?t/n>
868=r?this.updateBackgroundSize(0,-Math.abs(r-t/n)/2,t,t/n):this.updateBackgroundSize(-Math.abs(t-r*n)/2,0,r*n,r):t/n<=r?this.updateBackgroundSize(0,Math.abs(r-t/n)/2,t,t/n):this.updateBackgroundSize(Math.abs(t-r*n)/2,0,r*n,r)}}else this.updateBackgroundSize(0,0,t,r)}}],nv(i.prototype,r),n&&nv(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(r$.b);function nE(t){return(nE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nO(){nO=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==nE(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(nE(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
868h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function nA(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function nI(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){nA(a,i,o,s,u,"next",t)}function u(t){nA(a,i,o,s,u,"throw",t)}s(void 0)})}}function nP(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=nE(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=nE(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==nE(r)?r:r+""}(i.key),i)}}function nk(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(nk=function(){return!!t})()}function nC(){return(nC="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=n$(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function n$(t){return(n$=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function nR(t,r){return(nR=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}nS.defaultOptions={source:null,fit_mode:"fill",color:0xffffff},(nD=nT||(nT={})).SEGMENTATION="segmentation",nD.FULL="full",nD.HIDE="hide",nD.TRANSPARENT="transparent",nD.CIRCLE="circle";var nD,nM,nL=function(t){var r,n,i,o,a,u,l,h,c,f;function p(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,p),(n=p,i=[t],n=n$(n),r=function(t,r){if(r&&("object"==nE(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,nk()?Reflect.construct(n,i||[],n$(this).constructor):n.apply(this,i))).name=nM.VIRTUAL_BACKGROUND,r.priority=20,r.requireNextFrame=!0,r.pixels=[],r.filters={blurMask:{},show:{},mlScreen:{},chromaKey:{},beautification:{},nchw:{},mirror:{}},r.skip_frames_counter=0,r.customLayoutOptions={width:1280,height:720,xOffset:0,yOffset:0},r.customLayoutOptions.width=t.width,r.customLayoutOptions.height=t.height,r.presetManager=new ny(r.sdkOptions),r.inferenceTimer=new ra.S,r.drawTimer=new ra.S,r.settings={boundary_level:0,boundary_mode:"strong",beautification:!1,beautification_level:.48,beautification_highpass:!0,beautification_radius:7,beautification_blur_type:r9.boxBilateral,blur:0,layout:"center",preset:w.y.PRESET,skip_frames:!1,layout_mode:nT.SEGMENTATION,green_screen:!1,chroma_key_settings:{keyColor:65280,threshold:.4,softness:.08,detint:.1}},r.model=new r7,r.model.on("update",r.updateModelSize,r),r.is_running=!1,r.isNewPreset=!1,r.enable(),r.gpuErrorHandler=r.gpuErrorHandler.bind(r),s.bv.subscribe(r.gpuErrorHandler),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&nR(t,r)}(p,t),r=[{key:"dbg_drawFloat32ToCanvas",value:function(t,r,n){this.dbgCanvas||(this.dbgCanvas=document.createElement("canvas"),document.body.appendChild(this.dbgCanvas));var i=this.dbgCanvas.getContext("2d");this.dbgCanvas.width=r,this.dbgCanvas.height=n;var o=new ImageData(new Uint8ClampedArray(t),r,n);i.putImageData(o,0,0)}},{key:"gpuErrorHandler",value:(f=nI(nO().mark(function t(r){return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!r.code||![s.O4.GPU_DEVICE_LOST,s.O4.GPU_UNCAPTUREDERROR,s.O4.GPU_INFERENCE_INCONSISTENCY].includes(r.code)){t.next=16;break}if(s.bv.notify({message:r.code==s.O4.GPU_INFERENCE_INCONSISTENCY?"Encountered a WebGPU inference inconsistency, falling back to CPU WASM":"Encountered a WebGPU error, falling back to CPU WASM",type:s.By.INFO,code:s.O4.CPU_FALLBACK,emitter:s.JK.EFFECT_VIRTUAL_BACKGROUND}),!this.onProcessPromise||!this.onProcessPromise.isPending()){t.next=5;break}return t.next=5,this.onProcessPromise.promise;case 5:return this.onProcessPromise=new ne.c,this.inference.sessionManager.releaseSession(this.modelConfig.modelPath),this.modelConfig.backend="wasm",t.prev=8,t.next=11,this.inference.sessionManager.init(this.modelConfig);case 11:t.next=15;break;case 13:t.prev=13,t.t0=t.catch(8);case 15:this.onProcessPromise.resolve();case 16:case"end":return t.stop()}},t,this,[[8,13]])})),function(t){return f.apply(this,arguments)})},{key:"onOptionsUpdate",value:function(){this.mask.resize(this.sdkOptions.width,this.sdkOptions.height),this.backgroundTexture.resize(this.sdkOptions.width,this.sdkOptions.height),this.background.frame.resize(this.sdkOptions.width,this.sdkOptions.height),this.container.height=this.sdkOptions.height,this.container.width=this.sdkOptions.width,this.applyLayout(),this.setPreset(this.settings.preset),this.background.calculateBackgroun
868dSize()}},{key:"onSuccess",value:function(t){this.onSuccessFunction="function"==typeof t?t:void 0}},{key:"emitSuccess",value:function(){"function"==typeof this.onSuccessFunction&&this.onSuccessFunction()}},{key:"clearBuffers",value:function(){this.pixels=[]}},{key:"testInference",value:(c=nI(nO().mark(function t(){var r,n,i,o,a,u,l;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("custom"!=this.inference.getType()){t.next=2;break}return t.abrupt("return");case 2:if("balanced"==this.settings.preset){t.next=4;break}return t.abrupt("return");case 4:if(w.y.TEST_INFERENCE_CONSISTENCY){t.next=6;break}return t.abrupt("return");case 6:return t.next=8,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 8:if((o=t.sent)&&o.isGPU){t.next=11;break}return t.abrupt("return");case 11:return t.prev=11,a={seg:{data:new Float32Array(32768),dims:[1,1,128,256]}},t.next=15,this.inference.run(o,new Float32Array(r8),256,128,4,a);case 15:(l=function(t){for(var r=0,n=0;n<t.length;n++)r+=Math.abs(t[n]-r4[n]);return r/t.length}(null!=(i=null!=(n=null==(r=(u=t.sent).seg)?void 0:r.data)?n:u.seg)?i:u))>51e-6&&s.bv.notify({message:"GPU inference inconsistency, error rate: ".concat(l),code:s.O4.GPU_INFERENCE_INCONSISTENCY,type:s.By.ERROR,emitter:s.JK.EFFECT_VIRTUAL_BACKGROUND}),t.next=24;break;case 22:t.prev=22,t.t0=t.catch(11);case 24:case"end":return t.stop()}},t,this,[[11,22]])})),function(){return c.apply(this,arguments)})},{key:"nextFrame",value:function(t){if(this.isActive()&&!(this.pixels.length>1)){this.modelTexture=this.resources.texturePool.get(this.model.width,this.model.height),t.sprite.width=this.model.width,t.sprite.height=this.model.height,t.sprite.filters=[this.filters.nchw],this.resources.renderer.renderTo(t.sprite,this.modelTexture),t.sprite.width=this.sdkOptions.width,t.sprite.height=this.sdkOptions.height,t.sprite.filters=[];var r=this.resources.renderer.pixelsAsync(this.modelTexture,{pool:this.resources.bufferPool,texturePool:this.resources.texturePool});this.pixels.push(r)}}},{key:"init",value:(h=nI(nO().mark(function t(r){var n,i,o;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.modelConfig||(this.modelConfig={modelPath:this.presetManager.getModelURL(this.settings.preset),backend:"webgpu",nchw:!0,data:{preset:this.settings.preset}}),i=(n=this.presetManager.getModelSize(this.settings.preset)).width,o=n.height,this.model.set(this.settings.preset,i,o),t.next=5,(function(t,r,n){var i=nC(n$(t.prototype),r,n);return"function"==typeof i?function(t){return i.apply(n,t)}:i})(p,"init",this)([r]);case 5:return t.next=7,this.testInference();case 7:case"end":return t.stop()}},t,this)})),function(t){return h.apply(this,arguments)})},{key:"setPreset",value:(l=nI(nO().mark(function t(r){var n,i,o;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.modelConfig.modelPath!=this.presetManager.getModelURL(r)){t.next=2;break}return t.abrupt("return");case 2:if(!this.onProcessPromise||!this.onProcessPromise.isPending()){t.next=5;break}return t.next=5,this.onProcessPromise.promise;case 5:if(this.onProcessPromise=new ne.c,this.inference.sessionManager.releaseSession(this.modelConfig.modelPath),this.isNewPreset=!0,this.settings.preset=r,this.modelConfig.data.preset=this.settings.preset,this.modelConfig.modelPath=this.presetManager.getModelURL(this.settings.preset),i=(n=this.presetManager.getModelSize(r)).width,o=n.height,"custom"!=this.inference.getType()){t.next=17;break}return t.next=15,this.inference.sessionManager.setPreset(this.settings.preset);case 15:case 20:t.next=24;break;case 17:return t.prev=17,t.next=20,this.inference.sessionManager.init(this.modelConfig);case 22:t.prev=22,t.t0=t.catch(17);case 24:this.model.set(r,i,o),this.onProcessPromise.resolve();case 26:case"end":return t.stop()}},t,this,[[17,22]])})),function(t){return l.apply(this,arguments)})},{key:"isPresetSupported",value:(u=nI(nO().mark(function t(r){var n;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 2:if(!(null==(n=t.sent)?void 0:n.isGPU)||![r2.SPEED,r2.LIGHTNING].includes(r)){t.next=6;break}return t.abrupt("return",!1);case 6:return t.abrupt("return",!0);case 7:case"end":return t.stop()}},t,this)})),function(t){return u.apply(this,arguments)})},{key:"updateModelSize",value:(a=nI(nO().mark(function t(){var r,n;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:this.pixelBuffer=new Uint8Array(this.model.width*this.model.height*4).fill(255),this.model.previous=new Float32Array(this.model.size/4),this.clearBuffers(),null==(r=this.maskTexture)||r.resize(this.model.width,this.model.height),null==(n=this.mask)||n.resize(this.model.width,this.model.height),this.filters.nchw=new eg(this.model.width,this.model.height),this.filters.nchw.setSize(this.model.width,this.model.height),this.mask&&this.applyLayout();case 8:case"end":return t.stop()}},t,this)})),function(){return a.apply(this,arguments)})}
868,{key:"successBackgroundLoad",value:function(){this.emitSuccess()}},{key:"prepare",value:function(){var t=this.model.width,r=this.model.height;this.container=new d.Container,this.container.height=this.sdkOptions.height,this.container.width=this.sdkOptions.width,this.backgroundTexture||(this.backgroundTexture=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height)),this.background=new nS(this.sdkOptions,new to.w(this.backgroundTexture,{width:this.sdkOptions.width,height:this.sdkOptions.height})),this.background.on("success",this.successBackgroundLoad,this),this.maskTexture=this.resources.texturePool.get(t,r),this.mask=new to.w(this.maskTexture,{width:t,height:r}),this.pixelBuffer=new Uint8Array(this.model.width*this.model.height*4).fill(255),this.prepareFilters(),this.applyBlur(),this.updateModelSize(),this.sdkOptions.on("update",this.onOptionsUpdate,this)}},{key:"prepareFilters",value:function(){var t={uIsBoundaryStrong:"strong"===this.settings.boundary_mode,uOriginFrame:this.backgroundTexture,useMask:!0,distColor:1};this.filters.blurMask=new rC({blur:.1,quality:4,clamp:!0}),this.filters.mlScreen=new rv(t,this.sdkOptions,this.mask.sprite),this.filters.chromaKey=new rS(t,this.sdkOptions,this.mask.sprite),this.filters.chromaKey.setThreshold(this.settings.chroma_key_settings.threshold),this.filters.chromaKey.setSoftness(this.settings.chroma_key_settings.softness),this.filters.chromaKey.setDetint(this.settings.chroma_key_settings.detint),this.filters.chromaKey.setKeyColor(this.settings.chroma_key_settings.keyColor),this.filters.show=this.filters.mlScreen,this.filters.nchw=new eg(this.model.width,this.model.height),this.updateBeautyFilter(),this.mask.sprite.filters=[this.filters.show]}},{key:"updateBeautyFilter",value:function(){this.filters.beautification=new rf({uBeautificationLevel:this.settings.beautification_level,uWidth:this.mask.sprite.width,uHeight:this.mask.sprite.height,radius:this.settings.beautification_radius,highpassEnabled:this.settings.beautification_highpass,sigma:this.settings.beautification_sigma,blurType:this.settings.beautification_blur_type})}},{key:"updateMaskFilters",value:function(){this.mask.sprite.filters=[this.filters.show],this.settings.beautification&&this.mask.sprite.filters.push(this.filters.beautification)}},{key:"clearBackground",value:function(){this.background.clearBackground()}},{key:"process",value:(o=nI(nO().mark(function t(r){var n,i,o,a=this;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:if(this.isActive()){t.next=4;break}return t.abrupt("return");case 4:if(!this.onProcessPromise||!this.onProcessPromise.isPending()){t.next=7;break}return t.next=7,this.onProcessPromise.promise;case 7:if(this.onProcessPromise=new ne.c,this.drawTimer.start(),this.inference&&this.inference.isReady(this.modelConfig.modelPath)){t.next=12;break}return this.onProcessPromise.resolve(),t.abrupt("return");case 12:if(t.prev=12,!this.shouldSegmentationRun()){t.next=18;break}return t.next=16,this.prepareSegmentationMask();case 16:t.next=25;break;case 18:t.prev=18,null==(n=this.pixels.shift())||n.then(function(t){a.resources.bufferPool.returnBuffer(t)}),t.next=25;break;case 22:return t.prev=22,t.t0=t.catch(18),t.abrupt("return");case 25:t.next=31;break;case 27:t.prev=27,t.t1=t.catch(12),this.disable(),t.t1&&s.bv.notify({message:"Prepare segmentation mask. "+(null!=(i=t.t1.message)?i:t.t1),type:s.By.ERROR,emitter:s.JK.EFFECT_VIRTUAL_BACKGROUND,cause:t.t1});case 31:this.skip_frames_counter=+!this.skip_frames_counter,this.resources.renderer.renderTo(r.sprite,this.backgroundTexture),this.settings.layout_mode!=nT.TRANSPARENT&&(this.container.addChild(this.background.frame.sprite),this.background.render()),this.container.addChild(this.mask.sprite),o=this.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height),this.resources.renderer.renderTo(this.container,o),this.resources.texturePool.put(r.update(o)),this.container.removeChildren(),this.drawTimer.finish(),this.resources.renderer.updateStatistics("frame_time",this.drawTimer.getFrameTime()),this.resources.renderer.updateStatistics("inference_time",this.inferenceTimer.getFrameTime()),this.onProcessPromise.resolve();case 43:case"end":return t.stop()}},t,this,[[12,27],[18,22]])})),function(t){return o.apply(this,arguments)})},{key:"isActive",value:function(){return null!==this.background.options.source||"center"!==this.settings.layout||!!this.settings.blur||!!this.settings.beautification}},{key:"enableChromaKey",value:function(){this.settings.green_screen=!0,this.filters.show=this.filters.chromaKey,this.updateMaskFilters()}},{key:"disableChromaKey",value:function(){this.settings.green_screen=!1,this.filters.show=this.filters.mlScreen,this.updateMaskFilters()}},{key:"setChromaKeySettings",value:function(t){t.threshold&&(this.filters.chromaKey.setThreshold(t.threshold),this.settings.chroma_key_settings.threshold=t.threshold),t.softness&&(this.filters.chromaKey.setSoftness(t.softness),this.settings.chroma_key_settings.softness=t.softness),t.detint&&(this.filters.chromaKey.setDetint(t.detint),this.settings.chroma_key_settings.detint=t.detint),t.keyColor&&(this.filters.chromaKey.setKeyColor(t.keyColor),this.settings.chroma_key_settings.keyColor=t.keyColor)}},{key:"shouldSegmentationRun",value:function(){return(!this.settings.skip_frames||!this.skip_frames_counter)&&(this.settings.layout_mode===nT.SEGMENTATION||this.settings.layout_mode===nT.TRANSPARENT)&&!this.settings.green_screen&&this.isActive()}},{key:"setBoundaryMode",value:function(t){this.settings.boundary_mode=t,this.filters.show.setIsBoundaryStrong("strong"===t)}},{key:"setBoundaryLevel",value:function(t){s.bv.notify({message:"Boundary level was deprecated and will not show any effect.",type:s.By.INFO,emitter:s.JK.EFFECT_VIRTUAL_BACKGROUND})}},{key:"setBeautificationLevel",value:function(t){t=.34+.34*(t=1-Math.min(Math.max(Number(t),0),1)),this.filters.beautification.setBeautificationLevel(t)}},{key:"enableFrameSkipping",value:function(){this.settings.skip_frames=!0}},{key:"disableFrameSkipping",value:function(){this.settings.skip_frames=!1}},{key:"enableBeautification",value:function(){this.settings.beautification||(this.mask.sprite.filters.push(this.filters.beautification),this.settings.beautification=!0)}},{key:"disableBeautification",value:function(){this.settings.beautification&&(this.mask.sprite.filters.pop(),this.settings.beautification=!1)}},{key:"getPreset",value:function(){return this.settings.preset}},{key:"setLayout",value:function(t){this.settings.layout=t,this.applyLayout()}},{key:"setLayoutMode",value:function(t){this.settings.layout_mode=t,this.filters.show.setLayoutMode(t)}},{key:"setCustomLayout",value:function(t){var r=this;Object.keys(t).forEach(function(n){r.customLayoutOptions[n]=t[n]}),this.updateMaskPosition(this.customLayoutOptions.width,this.customLayoutOptions.height,this.customLayoutOptions.xOffset,this.customLayoutOptions.yOffset)}},{key:"applyLayout",value:function(){switch(this.settings.layout){case"left":this.updateMaskPosition(this.sdkOptions.width,this.sdkOptions.height,-this.sdkOptions.width/4,0);break;case"right":this.updateMaskPosition(this.sdkOptions.width,this.sdkOptions.height,this.sdkOptions.width/4,0);break;case"left-bottom":this.updateMaskPosition(this.sdkOptions.width/2,this.sdkOptions.height/2,0,this.sdkOptions.height/2);break;case"right-bottom":this.updateMaskPosition(this.sdkOptions.width/2,this.sdkOptions.height/2,this.sdkOptions.width/2,this.sdkOptions.height/2);break;case"center":this.updateMaskPosition(this.sdkOptions.width,this.sdkOptions.height,0,0)}}},{key:"updateMaskPosition",value:function(t,r,n,i){this.mask.sprite.width=t,this.mask.sprite.height=r,this.mask.sprite.position.x=n,this.mask.sprite.position.y=i,this.filters.show.setLayout()}}
868,{key:"setBackground",value:function(t){this.background.set(t)}},{key:"setBackgroundFitMode",value:function(t){this.background.setFitMode(t)}},{key:"setBackgroundColor",value:function(t){this.background.setColor(t)}},{key:"setBlur",value:function(t){this.settings.blur=t,this.applyBlur()}},{key:"clearBlur",value:function(){this.settings.blur=0,this.applyBlur()}},{key:"applyBlur",value:function(){this.background.applyBlur(this.settings.blur),this.emitSuccess()}},{key:"prepareSegmentationMask",value:(i=nI(nO().mark(function t(){var r,n,i,o,a,u,l,h=this;return nO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.enabled){t.next=2;break}return t.abrupt("return");case 2:if(r=this.model.width,n=this.model.height,this.pixels.length){t.next=6;break}return t.abrupt("return");case 6:return t.prev=6,t.next=9,this.pixels.shift();case 9:i=t.sent,t.next=15;break;case 12:return t.prev=12,t.t0=t.catch(6),t.abrupt("return");case 15:if((null==i?void 0:i.length)==4*r*n){t.next=17;break}return t.abrupt("return");case 17:return o=3*r*n,(a=this.resources.bufferPool.getBuffer("f32",4*r*n)).set(i.subarray(0,o)),a.set(this.model.previous,o),this.resources.bufferPool.returnBuffer(i),this.inferenceTimer.start(),u={seg:{data:this.resources.bufferPool.getBuffer("f32",r*n),dims:[1,1,n,r]}},t.next=26,this.inference.sessionManager.getSession(this.modelConfig.modelPath);case 26:if(l=t.sent){t.next=29;break}return t.abrupt("return");case 29:return t.abrupt("return",this.inference.run(l,a,r,n,4,u).then(function(t){var i,o,a,s;if(h.inferenceTimer.finish(),h.isNewPreset)h.isNewPreset=!1;else{h.resources.bufferPool.returnBuffer(null!=(i=t.inputBack.data)?i:t.inputBack);var u=null!=(s=null!=(a=null==(o=t.seg)?void 0:o.data)?a:t.seg)?s:t;h.model.previous&&h.resources.bufferPool.returnBuffer(h.model.previous),h.model.previous=u;for(var l=0;l<h.model.previous.length;l++)h.pixelBuffer[4*l+3]=255*u[l];var c=h.resources.renderer.createTextureFromBuffer(h.pixelBuffer,r,n),f=new to.w(c,{width:r,height:n});f.sprite.filters=[h.filters.blurMask],h.resources.renderer.renderTo(f.sprite,h.maskTexture),c.destroy(!0),h.background.setMask(h.maskTexture)}}).catch(function(t){var r;s.bv.notify({message:null!=(r=t.message)?r:t,type:s.By.ERROR,code:s.O4.INFERENCE_RUN_ISSUE,emitter:s.JK.EFFECT_VIRTUAL_BACKGROUND,cause:t})}));case 30:case"end":return t.stop()}},t,this,[[6,12]])})),function(){return i.apply(this,arguments)})},{key:"setBeauty",value:function(t){this.settings.beautification_radius=t.rad||this.settings.beautification_radius,null!==t.highpass&&void 0!==t.highpass&&(this.settings.beautification_highpass=t.highpass),this.settings.beautification_sigma=t.sigma||this.settings.beautification_sigma,t.blur&&(this.settings.beautification_blur_type=t.blur),this.updateBeautyFilter(),this.settings.beautification&&this.updateMaskFilters()}},{key:"destroy",value:function(){this.disable(),this.clearBuffers(),this.sdkOptions.off("update",this.onOptionsUpdate,this),this.model.off("update",this.updateModelSize,this),this.background.off("update",this.successBackgroundLoad,this),this.inference.sessionManager.releaseSession(this.modelConfig.modelPath),this.background.destroy()}}],nP(p.prototype,r),n&&nP(p,n),Object.defineProperty(p,"prototype",{writable:!1}),p}(f);function nB(t){return(nB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}(a=nM||(nM={})).COLOR_CORRECION="color_correction",a.COLOR_FILTERS="color_filters",a.CUSTOM_RESOLUTION="custom_resolution",a.EYE_CONTACT="eye_contact",a.FILTER_DRAW="filter_draw",a.FINAL_DRAW="final_draw",a.LOW_LIGHT="low_light",a.MIRRORING="mirroring",a.SHARPNESS="sharpness",a.SMART_ZOOM="smart_zoom",a.VIRTUAL_BACKGROUND="virtual_background";var nN={};nN[nM.COLOR_CORRECION]=C,nN[nM.COLOR_FILTERS]=en,nN[nM.CUSTOM_RESOLUTION]=ec,nN[nM.EYE_CONTACT]=eA,nN[nM.FILTER_DRAW]=eM,nN[nM.FINAL_DRAW]=eG,nN[nM.LOW_LIGHT]=tb,nN[nM.MIRRORING]=tR,nN[nM.SHARPNESS]=tY,nN[nM.SMART_ZOOM]=ro,nN[nM.VIRTUAL_BACKGROUND]=nL;var nF=(function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=nB(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=nB(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
868(t,"string");return"symbol"==nB(r)?r:r+""}(i.key),i)}}(o=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},[{key:"getEffect",value:function(t,r){return new nN[t](r)}}]),Object.defineProperty(o,"prototype",{writable:!1}),o)},9380:(t,r,n)=>{n.d(r,{w:()=>f});var i=n(4486),o=n(5034),a=n(2546);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=s(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=s(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==s(r)?r:r+""}(i.key),i)}}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(l=function(){return!!t})()}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,r){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var f=function(t){var r,n;function i(t,r){var n,u;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(u=h(u=i),n=function(t,r){if(r&&("object"==s(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,l()?Reflect.construct(u,[],h(this).constructor):u.apply(this,void 0))).active="origin",n.textures=new Map,n.buffers=new Map,t instanceof a.g?(n.sprite=new o.Sprite(t.get()),n.textures.set("origin",t.get()),t.on("replace",n.onReplace,n)):(n.sprite=new o.Sprite(t),n.textures.set("origin",t)),n.sprite.width=r.width,n.sprite.height=r.height,n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&c(t,r)}(i,t),r=[{key:"onReplace",value:function(t){t instanceof a.g&&(t=t.get()),this.textures.set("origin",t),"origin"==this.active&&(this.sprite.texture=t)}},{key:"update",value:function(t){var r=this.sprite.texture;return t instanceof o.Texture?this.sprite.texture=t:this.sprite.texture=t.texture,r instanceof o.RenderTexture?r:(r.destroy(!0),null)}},{key:"addTexture",value:function(t,r){var n,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.textures.has(t)&&(i&&(null==(n=this.textures.get(t))||n.destroy(!0)),this.textures.delete(t)),this.textures.set(t,r),!0}},{key:"getTexture",value:function(t){if(this.textures.has(t))return this.textures.get(t);throw Error("There is no such texture")}},{key:"addBuffer",value:function(t){var r,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.buffers.has(t)&&(n&&(null==(r=this.buffers.get(t))||r.destroy(!0)),this.buffers.delete(t)),this.buffers.set(t,o.RenderTexture.create({width:this.sprite.width,height:this.sprite.height})),!0}},{key:"getBuffer",value:function(t){if(this.buffers.has(t))return this.buffers.get(t);throw Error("There is no such buffer")}},{key:"resize",value:function(t,r){this.sprite.width=t,this.sprite.height=r,this.buffers.forEach(function(n,i){n.resize(t,r)})}},{key:"activateBuffer",value:function(t){this.buffers.has(t)&&(this.sprite.texture=this.buffers.get(t),this.active=t)}},{key:"activateTexture",value:function(t){this.textures.has(t)&&(this.sprite.texture=this.textures.get(t),this.active=t)}}],u(i.prototype,r),n&&u(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(i.b);f.defaultOptions={width:100,height:100}}
868,8592:(t,r,n)=>{n.d(r,{O:()=>h});var i,o,a,s=n(5034);function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=u(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=u(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==u(r)?r:r+""}(i.key),i)}}var h=(i=function t(){!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.textures=new Map},o=[{key:"get",value:function(t,r){var n=t.toString()+"x"+r.toString();if(this.textures.has(n)){var i=this.textures.get(n);if(null==i?void 0:i.length)return i.shift()}return s.RenderTexture.create({width:t,height:r})}},{key:"put",value:function(t){var r;if(t){var n=t.width.toString()+"x"+t.height.toString();this.textures.has(n)?null==(r=this.textures.get(n))||r.push(t):this.textures.set(n,[t])}}},{key:"destroy",value:function(){this.textures.forEach(function(t){t.forEach(function(t){t.destroy(!0)})}),this.textures=new Map}}],l(i.prototype,o),a&&l(i,a),Object.defineProperty(i,"prototype",{writable:!1}),i)},2546:(t,r,n)=>{n.d(r,{g:()=>f});var i=n(4486),o=n(5034);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=a(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=a(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==a(r)?r:r+""}(i.key),i)}}function u(t,r){if(r&&("object"==a(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(l=function(){return!!t})()}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,r){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var f=function(t){var r,n;function i(t){var r,n,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),n=h(n=i),(r=u(this,l()?Reflect.construct(n,a||[],h(this).constructor):n.apply(this,a))).shouldBeDestroed=!0,t?(t instanceof o.Texture?r.texture=t:r.texture=o.Texture.from(t),r):(r.texture=new o.Texture(new o.BaseTexture),u(r))}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&c(t,r)}(i,t),r=[{key:"get",value:function(){return this.texture}},{key:"update",value:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t?(this.texture&&this.shouldBeDestroed&&this.texture.destroy(!0),t instanceof o.Texture?this.texture=t:this.texture=o.Texture.from(t),this.shouldBeDestroed=r,this.emit("replace",this)):(this.texture.update(),this.emit("update",this))}},{key:"destroy",value:function(){this.texture&&this.texture.destroy(!0),this.removeAllListeners()}}],s(i.prototype,r),n&&s(i,n),Object.defineProperty(i,"prototype",{writable:!1}),i}(i.b)},8380:(t,r,n)=>{n.d(r,{y:()=>h});var i=n(4509);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=o(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=o(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
868(t,"string");return"symbol"==o(r)?r:r+""}(i.key),i)}}function s(t,r,n){return r&&a(t.prototype,r),n&&a(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function u(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}var l=s(function t(){u(this,t)});l.APP_ENV="web",l.API_URL="https://effectssdk.ai/sdk/session/",l.STATS_URL="https://effectssdk.ai/sdk/stats/",l.BASE_URL="https://effectssdk.ai/",l.SDK_URL=l.BASE_URL+"sdk/",l.VB_MODEL=l.SDK_URL+"models/model-1.2.1.0.tsvb",l.PRESET="balanced",l.DEMO_IMAGE=l.SDK_URL+"100.jpg",l.DEMO_VIDEO=l.SDK_URL+"video-background.mp4";var h=function(){function t(){u(this,t)}return s(t,null,[{key:"getModelUrl",value:function(r){return t.SDK_URL+r}},{key:"getPresetUrl",value:function(r){return t.SDK_URL+r}},{key:"setVersion",value:function(){t.VERSION="3.5.8"}}])}();h.EFFECTS=[i.U.SMART_ZOOM,i.U.VIRTUAL_BACKGROUND,i.U.LOW_LIGHT,i.U.COLOR_CORRECION],h.VERSION="0.0.0",h.CUSTOMER_ID="",h.APP_ENV=l.APP_ENV,h.API_URL=l.API_URL,h.STATS_URL=l.STATS_URL,h.MODEL_URL=l.SDK_URL+"models/model-1.2.1.tsvb",h.PRESET=l.PRESET,h.SDK_URL=l.SDK_URL,h.MODELS={colorcorrector:"models/model-cc-1.0.0.tsvb",facedetector:"models/model-fd-1.1.0.tsvb",lowlighter:"models/model-ll-1.2.0.tsvb"},h.PROXY=!0,h.STATS=!1,h.CACHE_MODELS=!0,h.PRELOAD_AUTH=!0,h.TEST_INFERENCE_CONSISTENCY=!1,h.PROVIDER="webgpu",h.WASM_PATHS={},h.PRESETS={quality:"models/model-1.0.1.tsvb",balanced:"models/model-5.5.0.tsvb",speed:"models/model-3.1.1.tsvb",lightning:"models/model-4.0.1.tsvb"},h.PRESETS_PORTRAIT={quality:"models/m-model-1.0.1.tsvb",balanced:"models/m-model-5.5.0.tsvb",speed:"models/m-model-3.1.1.tsvb",lightning:"models/m-model-4.0.1.tsvb"},h.STATES_PRESET={overlay:!1,overlay_attrs:{url:"https://effectssdk.ai/assets/videos/overlay/esdk.mp4"},lowerthird:!1,lowerthird_type:"lowerthird_3",lowerthird_text:{text:{title:"Max Troshin",subtitle:"CEO at Effects SDK / effectssdk.com"}},lowerthird_color:{color:{primary:161271}},lowerthird_offset:{offset:{x:15/1280,y:75/720}},emoji_duration:{duration:3500},emoji_size:{size:.3},emoji_position:{position:{placement:"top-left"}},giphy_duration:{duration:3500},giphy_size:{size:.3},giphy_position:{position:{placement:"top-left"}},seg_mode:"balanced",background:"none",layout:"center",layout_custom:void 0,blur:!0,blur_power:.6,beautification:!0,beauty_power:.68,boundary:0,frameskipping:!1,sz_switch:!0,sz_facearea:.
8681,sz_drawface:!1,sz_drawprefaces:!1,sz_accuracy:.75,sz_smoothing:.2,sz_period:100,cc_switch:!1,cc_power:1,cc_part:1,cc_period:1e3,cf_switch:!1,cf_lut:{lut:"none"},cf_part:{part:1},cf_power:{power:1},cf_capacity:{capacity:5},sh_switch:!1,sh_power:.5}},5862:(t,r,n)=>{n.d(r,{D:()=>y});var i=n(4486);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(){a=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,s=Object.defineProperty||function(t,r,n){t[r]=n.value},u="function"==typeof Symbol?Symbol:{},l=u.iterator||"@@iterator",h=u.asyncIterator||"@@asyncIterator",c=u.toStringTag||"@@toStringTag";function f(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{f({},"")}catch(t){f=function(t,r,n){return t[r]=n}}function d(r,n,i,o){var a,u,l,h,c=Object.create((n&&n.prototype instanceof b?n:b).prototype);return s(c,"_invoke",{value:(a=r,u=i,l=new k(o||[]),h=y,function(r,n){if(h===m)throw Error("Generator is already running");if(h===g){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),v;var s=p(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,v;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,v):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,v)}(i,l);if(o){if(o===v)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===y)throw h=g,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=m;var s=p(a,u,l);if("normal"===s.type){if(h=l.done?g:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:l.done}}"throw"===s.type&&(h=g,l.method="throw",l.arg=s.arg)}})}),c}function p(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=d;var y="suspendedStart",m="executing",g="completed",v={};function b(){}function w(){}function x(){}var _={};f(_,l,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(C([])));S&&S!==n&&i.call(S,l)&&(_=S);var E=x.prototype=b.prototype=Object.create(_);function O(t){["next","throw","return"].forEach(function(r){f(t,r,function(t){return this._invoke(r,t)})})}function A(t,r){var n;s(this,"_invoke",{value:function(a,s){function u(){return new r(function(n,u){!function n(a,s,u,l){var h=p(t[a],t,s);if("throw"!==h.type){var c=h.arg,f=c.value;return f&&"object"==o(f)&&i.call(f,"__await")?r.resolve(f.__await).then(function(t){n("next",t,u,l)},function(t){n("throw",t,u,l)}):r.resolve(f).then(function(t){c.value=t,u(c)},function(t){return n("throw",t,u,l)})}l(h.arg)}(a,s,n,u)})}return n=n?n.then(u,u):u()}})}function I(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function P(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function C(r){if(r||""===r){var n=r[l];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var a=-1,s=function n(){for(;++a<r.length;)if(i.call(r,a))return n.value=r[a],n.done=!1,n;return n.value=t,n.done=!0,n};return s.next=s}}throw TypeError(o(r)+" is not iterable")}return w.prototype=x,s(E,"constructor",{value:x,configurable:!0}),s(x,"constructor",{value:w,configurable:!0}),w.displayName=f(x,c,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===w||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,f(t,c,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},O(A.prototype),f(A.prototype,h,function(){return this}),r.AsyncIterator=A,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new A(d(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},O(E),f(E,c,"Generator"),f(E,l,function(){return this}),f(E,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=C,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
868h(P),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),v},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),v}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;P(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:C(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),v}},r}function s(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function u(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=o(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=o(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==o(r)?r:r+""}(i.key),i)}}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(l=function(){return!!t})()}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,r){return(c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var f,d=function(t,r,n,i,o){if("m"===i)throw TypeError("Private method is not writable");if("a"===i&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!o:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(t,n):o?o.value=n:r.set(t,n),n},p=function(t,r,n,i){if("a"===n&&!i)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!i:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:r.get(t)},y=function(t){var r,n,i,y;function m(){var t,r;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,m),r=h(r=m),t=function(t,r){if(r&&("object"==o(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,l()?Reflect.construct(r,[],h(this).constructor):r.apply(this,void 0)),f.set(t,void 0),t.width=0,t.height=0,t}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&c(t,r)}(m,t),r=[{key:"setSdkOptions",value:function(t){this.sdkOptions=t}},{key:"set",value:function(t){var r=this;t instanceof MediaStream?d(this,f,t.getVideoTracks()[0],"f"):d(this,f,t,"f"),null!=p(this,f,"f").get
868Settings().width&&(this.width=p(this,f,"f").getSettings().width),null!=p(this,f,"f").getSettings().height&&(this.height=p(this,f,"f").getSettings().height),p(this,f,"f").onended&&(p(this,f,"f").onended=function(){return r.emit("ended",r)})}},{key:"stop",value:function(){p(this,f,"f")&&p(this,f,"f").stop()}},{key:"update",value:function(t,r){if(p(this,f,"f")){var n=!1;t||r||(t=p(this,f,"f").getSettings().width,r=p(this,f,"f").getSettings().height),this.width!=t&&(n=!0,this.width=t),this.height!=r&&(n=!0,this.height=r),n&&this.emit("update",this)}}},{key:"getSettings",value:function(t){return p(this,f,"f"),t||(t={width:this.sdkOptions?this.sdkOptions.width:this.width,height:this.sdkOptions?this.sdkOptions.height:this.height,aspectRatio:this.sdkOptions?this.sdkOptions.width/this.sdkOptions.height:this.width/this.height}),Object.assign(p(this,f,"f").getSettings(),t)}},{key:"getConstraints",value:function(t){return p(this,f,"f"),t||(t={width:this.sdkOptions?this.sdkOptions.width:this.width,height:this.sdkOptions?this.sdkOptions.height:this.height}),Object.assign(p(this,f,"f").getConstraints(),t)}},{key:"getCapabilities",value:function(t){return p(this,f,"f"),Object.assign(p(this,f,"f").getCapabilities(),t)}},{key:"applyConstraints",value:(i=a().mark(function t(r){return a().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(p(this,f,"f")){t.next=2;break}return t.abrupt("return");case 2:p(this,f,"f").applyConstraints(r);case 3:case"end":return t.stop()}},t,this)}),y=function(){var t=this,r=arguments;return new Promise(function(n,o){var a=i.apply(t,r);function u(t){s(a,n,o,u,l,"next",t)}function l(t){s(a,n,o,u,l,"throw",t)}u(void 0)})},function(t){return y.apply(this,arguments)})}],u(m.prototype,r),n&&u(m,n),Object.defineProperty(m,"prototype",{writable:!1}),m}(i.b);f=new WeakMap},6903:(t,r,n)=>{function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=i(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=i(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==i(r)?r:r+""}(o.key),o)}}n.d(r,{c:()=>l});var a,s,u,l=(a=function t(){var r=this;!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.state="pending",this.fate="unresolved",this.promise=new Promise(function(t,n){r._resolve=t,r._reject=n}),this.promise.then(function(){return r.state="fulfilled"},function(){return r.state="rejected"})},s=[{key:"resolve",value:function(t){if("resolved"===this.fate)throw"Deferred cannot be resolved twice";this.fate="resolved",this._resolve(t)}},{key:"reject",value:function(t){if("resolved"===this.fate)throw"Deferred cannot be resolved twice";this.fate="resolved",this._reject(t)}},{key:"isResolved",value:function(){return"resolved"===this.fate}},{key:"isPending",value:function(){return"pending"===this.state}},{key:"isFulfilled",value:function(){return"fulfilled"===this.state}},{key:"isRejected",value:function(){return"rejected"===this.state}}],o(a.prototype,s),u&&o(a,u),Object.defineProperty(a,"prototype",{writable:!1}),a)},9672:(t,r,n)=>{function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=i(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=i(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
868(t,"string");return"symbol"==i(r)?r:r+""}(o.key),o)}}n.d(r,{By:()=>h,JK:()=>c,O4:()=>l,bv:()=>f});var a,s,u,l,h,c,f=(function(){var t,r;function n(){!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,n),this.messageLog=[],this.subscribers=[]}return r=[{key:"getInstance",value:function(){return n._instance||(n._instance=new n),n._instance}}],t=[{key:"subscribe",value:function(t){"function"==typeof t&&this.subscribers.push(t)}},{key:"unsubscribe",value:function(t){this.subscribers=this.subscribers.filter(function(r){return r!==t})}},{key:"notify",value:function(t){for(t.emitter&&(t.message="[ ".concat(t.emitter," ]: ").concat(t.message)),t.type||(t.type=h.ERROR),this.subscribers.forEach(function(r){return r(t)});this.messageLog.length>20;)this.messageLog.shift();this.messageLog.push(t)}}],o(n.prototype,t),r&&o(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n})().getInstance();(a=l||(l={}))[a.GPU_DEVICE_LOST=1001]="GPU_DEVICE_LOST",a[a.APP_CREATION_ISSUE=1002]="APP_CREATION_ISSUE",a[a.GPU_UNCAPTUREDERROR=1010]="GPU_UNCAPTUREDERROR",a[a.GPU_INFERENCE_INCONSISTENCY=1011]="GPU_INFERENCE_INCONSISTENCY",a[a.SESSION_INITIALIZATION_FAILED=1020]="SESSION_INITIALIZATION_FAILED",a[a.SESSION_INITIALIZATION_ISSUE=1021]="SESSION_INITIALIZATION_ISSUE",a[a.LOADER_ISSUE=1023]="LOADER_ISSUE",a[a.PRESET_ISSUE=1024]="PRESET_ISSUE",a[a.SESSION_INITIALIZATION_SUCCESS=3020]="SESSION_INITIALIZATION_SUCCESS",a[a.MODEL_INITIALIZATION_ISSUE=1022]="MODEL_INITIALIZATION_ISSUE",a[a.EFFECT_INITIALIZATION_ISSUE=1025]="EFFECT_INITIALIZATION_ISSUE",a[a.EFFECT_INITIALIZATION_SUCCESS=3021]="EFFECT_INITIALIZATION_SUCCESS",a[a.NO_VIDEO_TRACK=1030]="NO_VIDEO_TRACK",a[a.INFERENCE_RUN_ISSUE=1040]="INFERENCE_RUN_ISSUE",a[a.RENDERING_ISSUE=1050]="RENDERING_ISSUE",a[a.ENQUEUE_FRAME_ISSUE=1060]="ENQUEUE_FRAME_ISSUE",a[a.READABLE_STREAM_ISSUE=1061]="READABLE_STREAM_ISSUE",a[a.CPU_FALLBACK=3001]="CPU_FALLBACK",(s=h||(h={})).INFO="info",s.WARNING="warning",s.ERROR="error",(u=c||(c={})).TSVB="tsvb",u.EMULATOR="emulator",u.COMPONENTS_SYSTEM="components_system",u.SRTEAM_PROCESSOR="stream_processor",u.ML_INFERENCE="ml_inference",u.SESSION_MANAGER="session_manager",u.SESSION_RUNNER="session_runner",u.PRESET_INIT="preset_init",u.RENDERER="renderer",u.RECORDER="recorder",u.WORKER_TIMERS="worker_timers",u.ABSTRACT_EFFECT="effects_loader",u.EFFECT_VIRTUAL_BACKGROUND="effect_virtual_background",u.EFFECT_COLOR_CORRECTION="effect_color_correction",u.EFFECT_COLOR_FILTER="effect_color_filter",u.EFFECT_SMART_ZOOM="effect_smart_zoom",u.EFFECT_LOW_LIGHT="effect_low_light"},7036:(t,r,n)=>{function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=i(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=i(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==i(r)?r:r+""}(o.key),o)}}n.d(r,{P:()=>l});var a,s,u,l=(a=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},s=[{key:"createPromise",value:function(){var t=this;return this._promise=new Promise(function(r,n){t.resolver=r,t.rejecter=n}),this._promise}},{key:"promise",get:function(){return this._promise}},{key:"resolve",value:function(t){if("function"!=typeof this.resolver)return!1;this.resolver(t),this.resolver=void 0}},{key:"reject",value:function(t){if("function"!=typeof this.rejecter)return!1;this.rejecter(t),this.rejecter=void 0,this._promise=void 0}}],o(a.prototype,s),u&&o(a,u),Object.defineProperty(a,"prototype",{writable:!1}),a)},6739:(t,r,n)=>{function i(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""}n.d(r,{Y:()=>C,kc:()=>v,Uz:()=>g});var o,a,s,u,l=n(8380),h=n(7815),c=n(2505),f=n.n(c);function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function p(t){return function(t){if(Array.isArray(t))return y(t)}(t)||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t){if(t){if("string"==typeof t)return y(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(t,void 0):void 0}}(t)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
869In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function y(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function m(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=d(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=d(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
869(t,"string");return"symbol"==d(r)?r:r+""}(i.key),i)}}var g=(a=function t(){!function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),this.data=[],this.delay=5e3,this.isRunning=!1,this.deferred=new Map},u=[{key:"Instance",get:function(){return this._instance||(this._instance=new this)}}],s=[{key:"setCustomerID",value:function(t){this.customer_id=t}},{key:"push",value:function(t,r){var n=this;l.y.STATS&&(this.checkRunning(t),this.isRunning?(clearTimeout(this.timer),this.data.push({feature:t,user_id:h.W.getInstance().getUID(this.customer_id),data:r}),this.timer=setTimeout(function(){return n.send()},this.delay)):this.deferred.set(t,r))}},{key:"send",value:function(){var t=this,r=p(this.data);this.data=[];var n=l.y.STATS_URL+this.customer_id,i={"Tsvb-Version":l.y.VERSION};f().post(n,r,{headers:i}).catch(function(n){return t.data=[].concat(p(r),p(t.data)),n})}},{key:"checkRunning",value:function(t){var r=this,n=h.W.getInstance().getUID(this.customer_id);"run"===t&&(this.isRunning=!0,this.deferred.forEach(function(t,i){r.data.push({feature:i,user_id:n,data:t})}),this.deferred.clear())}}],m(a.prototype,s),u&&m(a,u),Object.defineProperty(a,"prototype",{writable:!1}),a);function v(t){return function(r,n,o){var a=o.value;o.value=function(){var r=n+i(t);g.Instance.push(r);for(var o=arguments.length,s=Array(o),u=0;u<o;u++)s[u]=arguments[u];return a.apply(this,s)}}}function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var w=(function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=b(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=b(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==b(r)?r:r+""}(i.key),i)}}(o=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},[{key:"isStattable",value:function(t,r){var n;return(null!=(n=this.FEATURES[t])?n:[]).includes(r)}}]),Object.defineProperty(o,"prototype",{writable:!1}),o);function x(t){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _(){_=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new k(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var T=Object.getPrototypeOf,S=T&&T(T(C([])));S&&S!==n&&i.call(S,s)&&(w=S);var E=b.prototype=g.prototype=Object.create(w);function O(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function A(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==x(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function I(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function P(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function C(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(x(r)+" is not iterable")}return v.prototype=b,o(E,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(E),t},r.awrap=function(t){return{__await:t}},O(A.prototype),h(A.prototype,u,function(){return this}),r.AsyncIterator=A,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new A(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},O(E),h(E,l,"Generator"),h(E,s,function(){return this}),h(E,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=C,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
869h(P),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;P(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:C(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}w.FEATURES={recorder:["start","stop","pause","resume"],tsvb:["run","stop","enableBeautification","disableBeautification","setBlur","clearBlur","setBackground","clearBackground","enableSmartZoom","disableSmartZoom","enableColorCorrector","disableColorCorrector","enableFrameSkipping","disableFrameSkipping","setLayout","enableColorFilter","disableColorFilter","setSegmentationPreset","enableLowLightEffect","disableLowLightEffect","enableSharpnessEffect","disableSharpnessEffect"]},w.SDK_RUNNING_INTERVALS=[{feature:"run5",delay_ms:3e5},{feature:"run10",delay_ms:3e5},{feature:"run15",delay_ms:3e5},{feature:"run20",delay_ms:3e5}];var T=_().mark(E);function S(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function E(t){var r,n,i;return _().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:r=function(t){var r="u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t){if(t){if("string"==typeof t)return S(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(t,void 0):void 0}}(t))){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
870In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(t),o.prev=1,r.s();case 3:if((n=r.n()).done){o.next=9;break}return i=n.value,o.next=7,i;case 7:o.next=3;break;case 9:o.next=14;break;case 11:o.prev=11,o.t0=o.catch(1),r.e(o.t0);case 14:return o.prev=14,r.f(),o.finish(14);case 17:case"end":return o.stop()}},T,null,[[1,11,14,17]])}function O(t){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function A(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=O(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=O(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
870(t,"string");return"symbol"==O(r)?r:r+""}(i.key),i)}}var I=(function(){var t,r;function n(){if(!(this instanceof n))throw TypeError("Cannot call a class as a function")}return r=[{key:"getInstance",value:function(){return n._instance||(n._instance=new n),n._instance}}],t=[{key:"setFeatureData",value:function(t,r){this.feature=r,this.type=t}},{key:"handle",value:function(){this.isDisableToPush()||(this.pushStat(),this.isSdkRunFeature()&&(clearTimeout(this.sdkRunningTimer),this.intervalIterator=E(w.SDK_RUNNING_INTERVALS),this.handleSdkRunningInterval()),this.isSdkStopFeature()&&clearTimeout(this.sdkRunningTimer))}},{key:"isDisableToPush",value:function(){return!w.isStattable(this.type,this.feature)||!!this.isEqualLastPushedFeature()}},{key:"pushStat",value:function(){var t=this.getFeatureName();g.Instance.push(t),this.lastPushedFeature=t}},{key:"getFeatureName",value:function(){var t="tsvb"!==this.type?i(this.type):"";return this.feature+t}},{key:"isSdkRunFeature",value:function(){return"tsvb"===this.type&&"run"===this.feature}},{key:"isSdkStopFeature",value:function(){return"tsvb"===this.type&&"stop"===this.feature}},{key:"isEqualLastPushedFeature",value:function(){return this.lastPushedFeature===this.getFeatureName()}},{key:"handleSdkRunningInterval",value:function(){var t=this.intervalIterator.next(),r=t.value;t.done||this.startSdkRunningTimer(r.feature,r.delay_ms)}},{key:"startSdkRunningTimer",value:function(t,r){var n=this;this.sdkRunningTimer=setTimeout(function(){g.Instance.push(t),n.handleSdkRunningInterval()},r)}}],A(n.prototype,t),r&&A(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n})().getInstance();function P(t){return(P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function k(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function C(t){return function(r){var n,i=function(t){var r="u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t){if(t){if("string"==typeof t)return k(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(t,void 0):void 0}}(t))){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
871In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(Object.getOwnPropertyNames(r.prototype));try{for(i.s();!(n=i.n()).done;)!function(){var i=n.value,o=Object.getOwnPropertyDescriptor(r.prototype,i);if(o){var a=o.value;a instanceof Function&&(o.value=function(){I.setFeatureData(t,i),I.handle();for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];var s=a.apply(this,n);if(s){if("object"===P(s)&&"function"==typeof s.then){var u=s.then(function(){});"function"==typeof u.catch&&u.catch(function(t){return t})}return s}},Object.defineProperty(r.prototype,i,o))}}()}catch(t){i.e(t)}finally{i.f()}}}},7815:(t,r,n)=>{function i(t){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var i in n)t[i]=n[i]}return t}n.d(r,{W:()=>l});var o=function t(r,n){function o(t,o,a){if("u">typeof document){"number"==typeof(a=i({},n,a)).expires&&(a.expires=new Date(Date.now()+864e5*a.expires)),a.expires&&(a.expires=a.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var s="";for(var u in a)a[u]&&(s+="; "+u,!0!==a[u]&&(s+="="+a[u].split(";")[0]));return document.cookie=t+"="+r.write(o,t)+s}}return Object.create({set:o,get:function(t){if("u">typeof document&&(!arguments.length||t)){for(var n=document.cookie?document.cookie.split("; "):[],i={},o=0;o<n.length;o++){var a=n[o].split("="),s=a.slice(1).join("=");try{var u=decodeURIComponent(a[0]);if(i[u]=r.read(s,u),t===u)break}catch(t){}}return t?i[t]:i}},remove:function(t,r){o(t,"",i({},r,{expires:-1}))},withAttributes:function(r){return t(this.converter,i({},this.attributes,r))},withConverter:function(r){return t(i({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(r)}})}({read:function(t){return'"'===t[0]&&(t=t.slice(1,-1)),t.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(t){return encodeURIComponent(t).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decode
871URIComponent)}},{path:"/"}),a=n(2302);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=s(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=s(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==s(r)?r:r+""}(i.key),i)}}var l=function(){var t,r;function n(){if(!(this instanceof n))throw TypeError("Cannot call a class as a function")}return r=[{key:"getInstance",value:function(){return n.instance||(n.instance=new n),n.instance}}],t=[{key:"getUID",value:function(t){if(this._uid)return this._uid;var r=o.get("TSVB_UID");return r||(r=(0,a.A)(),o.set("TSVB_UID",r)),r}},{key:"setUID",value:function(t){this._uid=t}}],u(n.prototype,t),r&&u(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n}()},8699:(t,r,n)=>{function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}function a(t,r){for(var n=0;n<r.length;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=i(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=i(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==i(r)?r:r+""}(o.key),o)}}function s(t,r,n){return r&&a(t.prototype,r),n&&a(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}n.d(r,{S:()=>u,z:()=>l});var u=s(function t(){o(this,t),this.frame_count=30,this.frames=[]},[{key:"start",value:function(){this.t0=performance.now()}},{key:"finish",value:function(){if(this.t0){var t=performance.now()-this.t0;this.frames.push(t),this.frames.length>this.frame_count&&this.frames.shift()}}},{key:"getFrameFps",value:function(){var t=this.frames.reduce(function(t,r){return t+r},0);return 0==t||isNaN(t)?1:Math.round(1e3/(t/this.frames.length))}},{key:"getFrameDuration",value:function(){return Math.round(1e6/this.getFrameFps())}},{key:"getFrameTime",value:function(){return Math.round(this.frames.reduce(function(t,r){return t+r},0)/this.frame_count)}}]),l=s(function t(){o(this,t),this.pattern=`Output FPS: {{output_fps}}
872Frame Draw Time: {{frame_time}}ms
873Inference Time: {{inference_time}}ms`,this.stats=new Map},[{key:"updateStats",value:function(t,r){return this.stats.set(t,r),!0}},{key:"getText",value:function(){var t=this.pattern;
873return this.stats.forEach(function(r,n){t=t.replaceAll("{{"+n+"}}",r.toString())}),t}}])},7526:(t,r)=>{r.byteLength=function(t){var r=u(t),n=r[0],i=r[1];return 3*(n+i)/4-i},r.toByteArray=function(t){var r,n,a=u(t),s=a[0],l=a[1],h=new o(3*(s+l)/4-l),c=0,f=l>0?s-4:s;for(n=0;n<f;n+=4)r=i[t.charCodeAt(n)]<<18|i[t.charCodeAt(n+1)]<<12|i[t.charCodeAt(n+2)]<<6|i[t.charCodeAt(n+3)],h[c++]=r>>16&255,h[c++]=r>>8&255,h[c++]=255&r;return 2===l&&(r=i[t.charCodeAt(n)]<<2|i[t.charCodeAt(n+1)]>>4,h[c++]=255&r),1===l&&(r=i[t.charCodeAt(n)]<<10|i[t.charCodeAt(n+1)]<<4|i[t.charCodeAt(n+2)]>>2,h[c++]=r>>8&255,h[c++]=255&r),h},r.fromByteArray=function(t){for(var r,i=t.length,o=i%3,a=[],s=0,u=i-o;s<u;s+=16383)a.push(function(t,r,i){for(var o,a=[],s=r;s<i;s+=3)a.push(n[(o=(t[s]<<16&0xff0000)+(t[s+1]<<8&65280)+(255&t[s+2]))>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}(t,s,s+16383>u?u:s+16383));return 1===o?a.push(n[(r=t[i-1])>>2]+n[r<<4&63]+"=="):2===o&&a.push(n[(r=(t[i-2]<<8)+t[i-1])>>10]+n[r>>4&63]+n[r<<2&63]+"="),a.join("")};for(var n=[],i=[],o="u">typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function u(t){var r=t.length;if(r%4>0)throw Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return -1===n&&(n=r),[n,n===r?0:4-n%4]}i[45]=62,i[95]=63},8287:(t,r,n)=>{var i=n(7526),o=n(251),a=n(4634);function s(){return l.TYPED_ARRAY_SUPPORT?0x7fffffff:0x3fffffff}function u(t,r){if(s()<r)throw RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(r)).__proto__=l.prototype:(null===t&&(t=new l(r)),t.length=r),t}function l(t,r,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(t,r,n);if("number"==typeof t){if("string"==typeof r)throw Error("If encoding is specified then the first argument must be a string");return f(this,t)}return h(this,t,r,n)}function h(t,r,n,i){if("number"==typeof r)throw TypeError('"value" argument must not be a number');return"u">typeof ArrayBuffer&&r instanceof ArrayBuffer?function(t,r,n,i){if(r.byteLength,n<0||r.byteLength<n)throw RangeError("'offset' is out of bounds");if(r.byteLength<n+(i||0))throw RangeError("'length' is out of bounds");return r=void 0===n&&void 0===i?new Uint8Array(r):void 0===i?new Uint8Array(r,n):new Uint8Array(r,n,i),l.TYPED_ARRAY_SUPPORT?(t=r).__proto__=l.prototype:t=d(t,r),t}(t,r,n,i):"string"==typeof r?function(t,r,n){if("string"==typeof n&&""!==n||(n="utf8"),!l.isEncoding(n))throw TypeError('"encoding" must be a valid string encoding');var i=0|y(r,n),o=(t=u(t,i)).write(r,n);return o!==i&&(t=t.slice(0,o)),t}(t,r,n):function(t,r){if(l.isBuffer(r)){var n,i=0|p(r.length);return 0===(t=u(t,i)).length||r.copy(t,0,0,i),t}if(r){if("u">typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!=typeof r.length||(n=r.length)!=n?u(t,0):d(t,r);if("Buffer"===r.type&&a(r.data))return d(t,r.data)}throw TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,r)}function c(t){if("number"!=typeof t)throw TypeError('"size" argument must be a number');if(t<0)throw RangeError('"size" argument must not be negative')}function f(t,r){if(c(r),t=u(t,r<0?0:0|p(r)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<r;++n)t[n]=0;return t}function d(t,r){var n=r.length<0?0:0|p(r.length);t=u(t,n);for(var i=0;i<n;i+=1)t[i]=255&r[i];return t}function p(t){if(t>=s())throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function y(t,r){if(l.isBuffer(t))return t.length;if("u">typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return C(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return $(t).length;default:if(i)return C(t).length;r=(""+r).toLowerCase(),i=!0}}function m(t,r,n){var o,a,s,u=!1;if((void 0===r||r<0)&&(r=0),r>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0)||(n>>>=0)<=(r>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,r,n){var i,o=t.length;(!r||r<0)&&(r=0),(!n||n<0||n>o)&&(n=o);for(var a="",s=r;s<n;++s){a+=(i=t[s])<16?"0"+i.toString(16):i.toString(16)}return a}(this,r,n);case"utf8":case"utf-8":return x(this,r,n);case"ascii":return function(t,r,n){var i="";n=Math.min(t.length,n);for(var o=r;o<n;++o)i+=String.fromCharCode(127&t[o]);return i}(this,r,n);case"latin1":case"binary":return function(t,r,n){var i="";n=Math.min(t.length,n);for(var o=r;o<n;++o)i+=String.fromCharCode(t[o]);return i}(this,r,n);case"base64":return o=this,a=r,s=n,0===a&&s===o.length?i.fromByteArray(o):i.fromByteArray(o.slice(a,s));case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return function(t,r,n){for(var i=t.slice(r,n),o="",a=0;a<i.length;a+=2)o+=String.fromCharCode(i[a]+256*i[a+1]);return o}(this,r,n);default:if(u)throw TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),u=!0}}function g(t,r,n){var i=t[r];t[r]=t[n],t[n]=i}function v(t,r,n,i,o){if(0===t.length)return -1;if("string"==typeof n?(i=n,n=0):n>0x7fffffff?n=0x7fffffff:n<-0x80000000&&(n=-0x80000000),isNaN(n*=1)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return -1;n=t.length-1}else if(n<0){if(!o)return -1;n=0}if("string"==typeof r&&(r=l.from(r,i)),l.isBuffer(r))return 0===r.length?-1:b(t,r,n,i,o);if("number"==typeof r)return r&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):b(t,[r],n,i,o);throw TypeError("val must be string, number or Buffer")}function b(t,r,n,i,o){var a,s=1,u=t.length,l=r.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||r.length<2)return -1;
vendor: 13,848 bytes, line 873
873s=2,u/=2,l/=2,n/=2}function h(t,r){return 1===s?t[r]:t.readUInt16BE(r*s)}if(o){var c=-1;for(a=n;a<u;a++)if(h(t,a)===h(r,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*s}else -1!==c&&(a-=a-c),c=-1}else for(n+l>u&&(n=u-l),a=n;a>=0;a--){for(var f=!0,d=0;d<l;d++)if(h(t,a+d)!==h(r,d)){f=!1;break}if(f)return a}return -1}function w(t,r,n,i){return R(function(t){for(var r=[],n=0;n<t.length;++n)r.push(255&t.charCodeAt(n));return r}(r),t,n,i)}function x(t,r,n){n=Math.min(t.length,n);for(var i=[],o=r;o<n;){var a,s,u,l,h=t[o],c=null,f=h>239?4:h>223?3:h>191?2:1;if(o+f<=n)switch(f){case 1:h<128&&(c=h);break;case 2:128==(192&(a=t[o+1]))&&(l=(31&h)<<6|63&a)>127&&(c=l);break;case 3:a=t[o+1],s=t[o+2],128==(192&a)&&128==(192&s)&&(l=(15&h)<<12|(63&a)<<6|63&s)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[o+1],s=t[o+2],u=t[o+3],128==(192&a)&&128==(192&s)&&128==(192&u)&&(l=(15&h)<<18|(63&a)<<12|(63&s)<<6|63&u)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),o+=f}var d=i.length;if(d<=_)return String.fromCharCode.apply(String,i);for(var p="",y=0;y<d;)p+=String.fromCharCode.apply(String,i.slice(y,y+=_));return p}r.hp=l,r.IS=50,l.TYPED_ARRAY_SUPPORT=void 0!==n.g.TYPED_ARRAY_SUPPORT?n.g.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),s(),l.poolSize=8192,l._augment=function(t){return t.__proto__=l.prototype,t},l.from=function(t,r,n){return h(null,t,r,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"u">typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(t,r,n){return c(t),t<=0?u(null,t):void 0!==r?"string"==typeof n?u(null,t).fill(r,n):u(null,t).fill(r):u(null,t)},l.allocUnsafe=function(t){return f(null,t)},l.allocUnsafeSlow=function(t){return f(null,t)},l.isBuffer=function(t){return!(null==t||!t._isBuffer)},l.compare=function(t,r){if(!l.isBuffer(t)||!l.isBuffer(r))throw TypeError("Arguments must be Buffers");if(t===r)return 0;for(var n=t.length,i=r.length,o=0,a=Math.min(n,i);o<a;++o)if(t[o]!==r[o]){n=t[o],i=r[o];break}return n<i?-1:+(i<n)},l.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(t,r){if(!a(t))throw TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return l.alloc(0);if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var n,i=l.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){var s=t[n];if(!l.isBuffer(s))throw TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i},l.byteLength=y,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)g(this,r,r+1);return this},l.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)g(this,r,r+3),g(this,r+1,r+2);return this},l.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)g(this,r,r+7),g(this,r+1,r+6),g(this,r+2,r+5),g(this,r+3,r+4);return this},l.prototype.toString=function(){var t=0|this.length;return 0===t?"":0==arguments.length?x(this,0,t):m.apply(this,arguments)},l.prototype.equals=function(t){if(!l.isBuffer(t))throw TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",n=r.IS;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},l.prototype.compare=function(t,r,n,i,o){if(!l.isBuffer(t))throw TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>t.length||i<0||o>this.length)throw RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return -1;if(r>=n)return 1;if(this===t)return 0;for(var a=(o>>>=0)-(i>>>=0),s=(n>>>=0)-(r>>>=0),u=Math.min(a,s),h=this.slice(i,o),c=t.slice(r,n),f=0;f<u;++f)if(h[f]!==c[f]){a=h[f],s=c[f];break}return a<s?-1:+(s<a)},l.prototype.includes=function(t,r,n){return -1!==this.indexOf(t,r,n)},l.prototype.indexOf=function(t,r,n){return v(this,t,r,n,!0)},l.prototype.lastIndexOf=function(t,r,n){return v(this,t,r,n,!1)},l.prototype.write=function(t,r,n,i){if(void 0===r)i="utf8",n=this.length,r=0;else if(void 0===n&&"string"==typeof r)i=r,n=this.length,r=0;else{if(!isFinite(r))throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");r|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var o,a,s,u,l,h,c=this.length-r;if((void 0===n||n>c)&&(n=c),t.length>0&&(n<0||r<0)||r>this.length)throw RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var f=!1;;)switch(i){case"hex":return function(t,r,n,i){n=Number(n)||0;var o=t.length-n;i?(i=Number(i))>o&&(i=o):i=o;var a=r.length;if(a%2!=0)throw TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var s=0;s<i;++s){var u=parseInt(r.substr(2*s,2),16);if(isNaN(u))break;t[n+s]=u}return s}(this,t,r,n);case"utf8":case"utf-8":return o=r,a=n,R(C(t,this.length-o),this,o,a);case"ascii":case"latin1":case"binary":return w(this,t,r,n);case"base64":return s=r,u=n,R($(t),this,s,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return l=r,h=n,R(function(t,r){for(var n,i,o=[],a=0;a<t.length&&!((r-=2)<0);++a)i=(n=t.charCodeAt(a))>>8,o.push(n%256),o.push(i);return o}(t,this.length-l),this,l,h);default:if(f)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),f=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _=4096;function T(t,r,n){if(t%1!=0||t<0)throw RangeError("offset is not uint");if(t+r>n)throw RangeError("Trying to access beyond buffer length")}function S(t,r,n,i,o,a){if(!l.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(r>o||r<a)throw RangeError('"value" argument is out of bounds');if(n+i>t.length)throw RangeError("Index out of range")}function E(t,r,n,i){r<0&&(r=65535+r+1);for(var o=0,a=Math.min(t.length-n,2);o<a;++o)t[n+o]=(r&255<<8*(i?o:1-o))>>>8*(i?o:1-o)}function O(t,r,n,i){r<0&&(r=0xffffffff+r+1);for(var o=0,a=Math.min(t.length-n,4);o<a;++o)t[n+o]=r>>>8*(i?o:3-o)&255}function A(t,r,n,i,o,a){if(n+i>t.length||n<0)throw RangeError("Index out of range")}function I(t,r,n,i,a){return a||A(t,0,n,4),o.write(t,r,n,i,23,4),n+4}function P(t,r,n,i,a){return a||A(t,0,n,8),o.write(t,r,n,i,52,8),n+8}l.prototype.slice=function(t,r){var n,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(r=void 0===r?i:~~r)<0?(r+=i)<0&&(r=0):r>i&&(r=i),r<t&&(r=t),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,r)).__proto__=l.prototype;else{var o=r-t;n=new l(o,void 0);for(var a=0;a<o;++a)n[a]=this[a+t]}return n},l.prototype.readUIntLE=function(t,r,n){t|=0,r|=0,n||T(t,r,this.length);for(var i=this[t],o=1,a=0;++a<r&&(o*=256);)i+=this[t+a]*o;return i},l.prototype.readUIntBE=function(t,r,n){t|=0,r|=0,n||T(t,r,this.length);for(var i=this[t+--r],o=1;r>0&&(o*=256);)i+=this[t+--r]*o;return i},l.prototype.readUInt8=function(t,r){return r||T(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,r){return r||T(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,r){return r||T(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,r){return r||T(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+0x1000000*this[t+3]},l.prototype.readUInt32BE=function(t,r){return r||T(t,4,this.length),0x1000000*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,r,n){t|=0,r|=0,n||T(t,r,this.length);for(var i=this[t],o=1,a=0;++a<r&&(o*=256);)i+=this[t+a]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*r)),i},l.prototype.readIntBE=function(t,r,n){t|=0,r|=0,n||T(t,r,this.length);for(var i=r,o=1,a=this[t+--i];i>0&&(o*=256);)a+=this[t+--i]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*r)),a},l.prototype.readInt8=function(t,r){return r||T(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,r){r||T(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt16BE=function(t,r){r||T(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?0xffff0000|n:n},l.prototype.readInt32LE=function(t,r){return r||T(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,r){return r||T(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,r){return r||T(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,r){return r||T(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,r){return r||T(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,r){return r||T(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,r,n,i){t*=1,r|=0,n|=0,i||S(this,t,r,n,Math.pow(2,8*n)-1,0);var o=1,a=0;for(this[r]=255&t;++a<n&&(o*=256);)this[r+a]=t/o&255;return r+n},l.prototype.writeUIntBE=function(t,r,n,i){t*=1,r|=0,n|=0,i||S(this,t,r,n,Math.pow(2,8*n)-1,0);var o=n-1,a=1;for(this[r+o]=255&t;--o>=0&&(a*=256);)this[r+o]=t/a&255;return r+n},l.prototype.writeUInt8=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,1,255,0),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},l.prototype.writeUInt16LE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):E(this,t,r,!0),r+2},l.prototype.writeUInt16BE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):E(this,t,r,!1),r+2},l.prototype.writeUInt32LE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):O(this,t,r,!0),r+4},l.prototype.writeUInt32BE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,4,0xffffffff,0),l.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):O(this,t,r,!1),r+4},l.prototype.writeIntLE=function(t,r,n,i){if(t*=1,r|=0,!i){var o=Math.pow(2,8*n-1);S(this,t,r,n,o-1,-o)}var a=0,s=1,u=0;for(this[r]=255&t;++a<n&&(s*=256);)t<0&&0===u&&0!==this[r+a-1]&&(u=1),this[r+a]=(t/s|0)-u&255;return r+n},l.prototype.writeIntBE=function(t,r,n,i){if(t*=1,r|=0,!i){var o=Math.pow(2,8*n-1);S(this,t,r,n,o-1,-o)}var a=n-1,s=1,u=0;for(this[r+a]=255&t;--a>=0&&(s*=256);)t<0&&0===u&&0!==this[r+a+1]&&(u=1),this[r+a]=(t/s|0)-u&255;return r+n},l.prototype.writeInt8=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,1,127,-128),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},l.prototype.writeInt16LE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):E(this,t,r,!0),r+2},l.prototype.writeInt16BE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):E(this,t,r,!1),r+2},l.prototype.writeInt32LE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,4,0x7fffffff,-0x80000000),l.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):O(this,t,r,!0),r+4},l.prototype.writeInt32BE=function(t,r,n){return t*=1,r|=0,n||S(this,t,r,4,0x7fffffff,-0x80000000),t<0&&(t=0xffffffff+t+1),l.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):O(this,t,r,!1),r+4},l.prototype.writeFloatLE=function(t,r,n){return I(this,t,r,!0,n)},l.prototype.writeFloatBE=function(t,r,n){return I(this,t,r,!1,n)},l.prototype.writeDoubleLE=function(t,r,n){return P(this,t,r,!0,n)},l.prototype.writeDoubleBE=function(t,r,n){return P(this,t,r,!1,n)},l.prototype.copy=function(t,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||0===t.length||0===this.length)return 0;if(r<0)throw RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw RangeError("sourceStart out of bounds");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);var o,a=i-n;if(this===t&&n<r&&r<i)for(o=a-1;o>=0;--o)t[o+r]=this[o+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+a),r);return a},l.prototype.fill=function(t,r,n,i){if("string"==typeof t){if("string"==typeof r?(i=r,r=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===t.length){var o,a=t.charCodeAt(0);a<256&&(t=a)}if(void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(r<0||this.length<r||this.length<n)throw RangeError("Out of range index");if(n<=r)return this;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=l.isBuffer(t)?t:C(new l(t,i).toString()),u=s.length;for(o=0;o<n-r;++o)this[o+r]=s[o%u]}return this};var k=/[^+\/0-9A-Za-z-_]/g;function C(t,r){var n;r=r||1/0;for(var i=t.length,o=null,a=[],s=0;s<i;++s){if((n=t.charCodeAt(s))>55295&&n<57344){if(!o){if(n>56319||s+1===i){(r-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(r-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(r-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((r-=1)<0)break;a.push(n)}else if(n<2048){if((r-=2)<0)break;a.push(n>>6|192,63&n|128)}
873else if(n<65536){if((r-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw Error("Invalid code point");if((r-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function $(t){return i.toByteArray(function(t){var r;if((t=((r=t).trim?r.trim():r.replace(/^\s+|\s+$/g,"")).replace(k,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function R(t,r,n,i){for(var o=0;o<i&&!(o+n>=r.length||o>=t.length);++o)r[o+n]=t[o];return o}},3144:(t,r,n)=>{var i=n(6743),o=n(1002),a=n(76);t.exports=n(7119)||i.call(a,o)},1002:t=>{t.exports=Function.prototype.apply},76:t=>{t.exports=Function.prototype.call},3126:(t,r,n)=>{var i=n(6743),o=n(9675),a=n(76),s=n(3144);t.exports=function(t){if(t.length<1||"function"!=typeof t[0])throw new o("a function is required");return s(i,a,t)}},7119:t=>{t.exports="u">typeof Reflect&&Reflect&&Reflect.apply},6556:(t,r,n)=>{var i=n(453),o=n(3126),a=o([i("%String.prototype.indexOf%")]);t.exports=function(t,r){var n=i(t,!!r);return"function"==typeof n&&a(t,".prototype.")>-1?o([n]):n}},7176:(t,r,n)=>{var i,o=n(3126),a=n(5795);try{i=[].__proto__===Array.prototype}catch(t){if(!t||"object"!=typeof t||!("code"in t)||"ERR_PROTO_ACCESS"!==t.code)throw t}var s=!!i&&a&&a(Object.prototype,"__proto__"),u=Object,l=u.getPrototypeOf;t.exports=s&&"function"==typeof s.get?o([s.get]):"function"==typeof l&&function(t){return l(null==t?t:u(t))}},6570:t=>{function r(t,r,c){c=c||2;var f,y,g,v,b,w,x,_=r&&r.length,T=_?r[0]*c:t.length,S=n(t,0,T,c,!0),E=[];if(!S||S.next===S.prev)return E;if(_&&(S=function(t,r,a,l){var h,c,f,y=[];for(h=0,c=r.length;h<c;h++)(f=n(t,r[h]*l,h<c-1?r[h+1]*l:t.length,l,!1))===f.next&&(f.steiner=!0),y.push(function(t){var r=t,n=t;do(r.x<n.x||r.x===n.x&&r.y<n.y)&&(n=r),r=r.next;while(r!==t)return n}(f));for(y.sort(o),h=0;h<y.length;h++)a=function(t,r){var n=function(t,r){var n,i,o,a=r,l=t.x,h=t.y,c=-1/0;do{if(h<=a.y&&h>=a.next.y&&a.next.y!==a.y){var f=a.x+(h-a.y)*(a.next.x-a.x)/(a.next.y-a.y);if(f<=l&&f>c&&(c=f,o=a.x<a.next.x?a:a.next,f===l))return o}a=a.next}while(a!==r)if(!o)return null;var p,y=o,m=o.x,g=o.y,v=1/0;a=o;do{l>=a.x&&a.x>=m&&l!==a.x&&s(h<g?l:c,h,m,g,h<g?c:l,h,a.x,a.y)&&(p=Math.abs(h-a.y)/(l-a.x),d(a,t)&&(p<v||p===v&&(a.x>o.x||a.x===o.x&&(n=o,i=a,0>u(n.prev,n,i.prev)&&0>u(i.next,n,n.next))))&&(o=a,v=p)),a=a.next}while(a!==y)return o}(t,r);if(!n)return r;var o=p(n,t);return i(o,o.next),i(n,n.next)}(y[h],a);return a}(t,r,S,c)),t.length>80*c){f=g=t[0],y=v=t[1];for(var O=c;O<T;O+=c)(b=t[O])<f&&(f=b),(w=t[O+1])<y&&(y=w),b>g&&(g=b),w>v&&(v=w);x=0!==(x=Math.max(g-f,v-y))?32767/x:0}return function t(r,n,o,c,f,y,g){if(r){!g&&y&&function(t,r,n,i){var o=t;do 0===o.z&&(o.z=a(o.x,o.y,r,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==t)o.prevZ.nextZ=null,o.prevZ=null,function(t){var r,n,i,o,a,s,u,l,h=1;do{for(n=t,t=null,a=null,s=0;n;){for(s++,i=n,u=0,r=0;r<h&&(u++,i=i.nextZ);r++);for(l=h;u>0||l>0&&i;)0!==u&&(0===l||!i||n.z<=i.z)?(o=n,n=n.nextZ,u--):(o=i,i=i.nextZ,l--),a?a.nextZ=o:t=o,o.prevZ=a,a=o;n=i}a.nextZ=null,h*=2}while(s>1)}(o)}(r,c,f,y);for(var v,b,w=r;r.prev!==r.next;)if(v=r.prev,b=r.next,y?function(t,r,n,i){var o=t.prev,l=t.next;if(u(o,t,l)>=0)return!1;for(var h=o.x,c=t.x,f=l.x,d=o.y,p=t.y,y=l.y,m=h<c?h<f?h:f:c<f?c:f,g=d<p?d<y?d:y:p<y?p:y,v=h>c?h>f?h:f:c>f?c:f,b=d>p?d>y?d:y:p>y?p:y,w=a(m,g,r,n,i),x=a(v,b,r,n,i),_=t.prevZ,T=t.nextZ;_&&_.z>=w&&T&&T.z<=x;){if(_.x>=m&&_.x<=v&&_.y>=g&&_.y<=b&&_!==o&&_!==l&&s(h,d,c,p,f,y,_.x,_.y)&&u(_.prev,_,_.next)>=0||(_=_.prevZ,T.x>=m&&T.x<=v&&T.y>=g&&T.y<=b&&T!==o&&T!==l&&s(h,d,c,p,f,y,T.x,T.y)&&u(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;_&&_.z>=w;){if(_.x>=m&&_.x<=v&&_.y>=g&&_.y<=b&&_!==o&&_!==l&&s(h,d,c,p,f,y,_.x,_.y)&&u(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;T&&T.z<=x;){if(T.x>=m&&T.x<=v&&T.y>=g&&T.y<=b&&T!==o&&T!==l&&s(h,d,c,p,f,y,T.x,T.y)&&u(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}(r,c,f,y):function(t){var r=t.prev,n=t.next;if(u(r,t,n)>=0)return!1;for(var i=r.x,o=t.x,a=n.x,l=r.y,h=t.y,c=n.y,f=i<o?i<a?i:a:o<a?o:a,d=l<h?l<c?l:c:h<c?h:c,p=i>o?i>a?i:a:o>a?o:a,y=l>h?l>c?l:c:h>c?h:c,m=n.next;m!==r;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=y&&s(i,l,o,h,a,c,m.x,m.y)&&u(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}(r))n.push(v.i/o|0),n.push(r.i/o|0),n.push(b.i/o|0),m(r),r=b.next,w=b.next;else if((r=b)===w){g?1===g?t(r=function(t,r,n){var o=t;do{var a=o.prev,s=o.next.next;
873!l(a,s)&&h(a,o,o.next,s)&&d(a,s)&&d(s,a)&&(r.push(a.i/n|0),r.push(o.i/n|0),r.push(s.i/n|0),m(o),m(o.next),o=t=s),o=o.next}while(o!==t)return i(o)}(i(r),n,o),n,o,c,f,y,2):2===g&&function(r,n,o,a,s,c){var f=r;do{for(var y,m,g=f.next.next;g!==f.prev;){if(f.i!==g.i&&(y=f,m=g,y.next.i!==m.i&&y.prev.i!==m.i&&!function(t,r){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==r.i&&n.next.i!==r.i&&h(n,n.next,t,r))return!0;n=n.next}while(n!==t)return!1}(y,m)&&(d(y,m)&&d(m,y)&&function(t,r){var n=t,i=!1,o=(t.x+r.x)/2,a=(t.y+r.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&o<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==t)return i}(y,m)&&(u(y.prev,y,m.prev)||u(y,m.prev,m))||l(y,m)&&u(y.prev,y,y.next)>0&&u(m.prev,m,m.next)>0))){var v=p(f,g);return f=i(f,f.next),v=i(v,v.next),t(f,n,o,a,s,c,0),void t(v,n,o,a,s,c,0)}g=g.next}f=f.next}while(f!==r)}(r,n,o,c,f,y):t(i(r),n,o,c,f,y,1);break}}}(S,E,c,f,y,x,0),E}function n(t,r,n,i,o){var a,s;if(o===v(t,r,n,i)>0)for(a=r;a<n;a+=i)s=y(a,t[a],t[a+1],s);else for(a=n-i;a>=r;a-=i)s=y(a,t[a],t[a+1],s);return s&&l(s,s.next)&&(m(s),s=s.next),s}function i(t,r){if(!t)return t;r||(r=t);var n,i=t;do if(n=!1,i.steiner||!l(i,i.next)&&0!==u(i.prev,i,i.next))i=i.next;else{if(m(i),(i=r=i.prev)===i.next)break;n=!0}while(n||i!==r)return r}function o(t,r){return t.x-r.x}function a(t,r,n,i,o){return(t=0x55555555&((t=0x33333333&((t=0xf0f0f0f&((t=0xff00ff&((t=(t-n)*o|0)|t<<8))|t<<4))|t<<2))|t<<1))|(r=0x55555555&((r=0x33333333&((r=0xf0f0f0f&((r=0xff00ff&((r=(r-i)*o|0)|r<<8))|r<<4))|r<<2))|r<<1))<<1}function s(t,r,n,i,o,a,s,u){return(o-s)*(r-u)>=(t-s)*(a-u)&&(t-s)*(i-u)>=(n-s)*(r-u)&&(n-s)*(a-u)>=(o-s)*(i-u)}function u(t,r,n){return(r.y-t.y)*(n.x-r.x)-(r.x-t.x)*(n.y-r.y)}function l(t,r){return t.x===r.x&&t.y===r.y}function h(t,r,n,i){var o=f(u(t,r,n)),a=f(u(t,r,i)),s=f(u(n,i,t)),l=f(u(n,i,r));return o!==a&&s!==l||!(0!==o||!c(t,n,r))||!(0!==a||!c(t,i,r))||!(0!==s||!c(n,t,i))||!(0!==l||!c(n,r,i))}function c(t,r,n){return r.x<=Math.max(t.x,n.x)&&r.x>=Math.min(t.x,n.x)&&r.y<=Math.max(t.y,n.y)&&r.y>=Math.min(t.y,n.y)}function f(t){return t>0?1:t<0?-1:0}function d(t,r){return 0>u(t.prev,t,t.next)?u(t,r,t.next)>=0&&u(t,t.prev,r)>=0:0>u(t,r,t.prev)||0>u(t,t.next,r)}function p(t,r){var n=new g(t.i,t.x,t.y),i=new g(r.i,r.x,r.y),o=t.next,a=r.prev;return t.next=r,r.prev=t,n.next=o,o.prev=n,i.next=n,n.prev=i,a.next=i,i.prev=a,i}function y(t,r,n,i){var o=new g(t,r,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function m(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function g(t,r,n){this.i=t,this.x=r,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function v(t,r,n,i){for(var o=0,a=r,s=n-i;a<n;a+=i)o+=(t[s]-t[a])*(t[a+1]+t[s+1]),s=a;return o}t.exports=r,t.exports.default=r,r.deviation=function(t,r,n,i){var o=r&&r.length,a=o?r[0]*n:t.length,s=Math.abs(v(t,0,a,n));if(o)for(var u=0,l=r.length;u<l;u++){var h=r[u]*n,c=u<l-1?r[u+1]*n:t.length;s-=Math.abs(v(t,h,c,n))}var f=0;for(u=0;u<i.length;u+=3){var d=i[u]*n,p=i[u+1]*n,y=i[u+2]*n;f+=Math.abs((t[d]-t[y])*(t[p+1]-t[d+1])-(t[d]-t[p])*(t[y+1]-t[d+1]))}return 0===s&&0===f?0:Math.abs((f-s)/s)},r.flatten=function(t){for(var r=t[0][0].length,n={vertices:[],holes:[],dimensions:r},i=0,o=0;o<t.length;o++){for(var a=0;a<t[o].length;a++)for(var s=0;s<r;s++)n.vertices.push(t[o][a][s]);o>0&&(i+=t[o-1].length,n.holes.push(i))}return n}},655:t=>{var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch(t){r=!1}t.exports=r},1237:t=>{t.exports=EvalError},9383:t=>{t.exports=Error},9290:t=>{t.exports=RangeError},9538:t=>{t.exports=ReferenceError},8068:t=>{t.exports=SyntaxError},9675:t=>{t.exports=TypeError},5345:t=>{t.exports=URIError},9612:t=>{t.exports=Object},228:t=>{var r=Object.prototype.hasOwnProperty,n="~";function i(){}function o(t,r,n){this.fn=t,this.context=r,this.once=n||!1}function a(t,r,i,a,s){if("function"!=typeof i)throw TypeError("The listener must be a function");var u=new o(i,a||t,s),l=n?n+r:r;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],u]:t._events[l].push(u):(t._events[l]=u,t._eventsCount++),t}function s(t,r){0==--t._eventsCount?t._events=new i:delete t._events[r]}function u(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(n=!1)),u.prototype.eventNames=function(){var t,i,o=[];if(0===this._eventsCount)return o;for(i in t=this._events)r.call(t,i)&&o.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},u.prototype.listeners=function(t){var r=n?n+t:t,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,a=i.length,s=Array(a);o<a;o++)s[o]=i[o].fn;return s},u.prototype.listenerCount=function(t){var r=n?n+t:t,i=this._events[r];return i?i.fn?1:i.length:0},u.prototype.emit=function(t,r,i,o,a,s){var u=n?n+t:t;if(!this._events[u])return!1;var l,h,c=this._events[u],f=arguments.length;
873if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),f){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,i),!0;case 4:return c.fn.call(c.context,r,i,o),!0;case 5:return c.fn.call(c.context,r,i,o,a),!0;case 6:return c.fn.call(c.context,r,i,o,a,s),!0}for(h=1,l=Array(f-1);h<f;h++)l[h-1]=arguments[h];c.fn.apply(c.context,l)}else{var d,p=c.length;for(h=0;h<p;h++)switch(c[h].once&&this.removeListener(t,c[h].fn,void 0,!0),f){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,r);break;case 3:c[h].fn.call(c[h].context,r,i);break;case 4:c[h].fn.call(c[h].context,r,i,o);break;default:if(!l)for(d=1,l=Array(f-1);d<f;d++)l[d-1]=arguments[d];c[h].fn.apply(c[h].context,l)}}return!0},u.prototype.on=function(t,r,n){return a(this,t,r,n,!1)},u.prototype.once=function(t,r,n){return a(this,t,r,n,!0)},u.prototype.removeListener=function(t,r,i,o){var a=n?n+t:t;if(!this._events[a])return this;if(!r)return s(this,a),this;var u=this._events[a];if(u.fn)u.fn!==r||o&&!u.once||i&&u.context!==i||s(this,a);else{for(var l=0,h=[],c=u.length;l<c;l++)(u[l].fn!==r||o&&!u[l].once||i&&u[l].context!==i)&&h.push(u[l]);h.length?this._events[a]=1===h.length?h[0]:h:s(this,a)}return this},u.prototype.removeAllListeners=function(t){var r;return t?(r=n?n+t:t,this._events[r]&&s(this,r)):(this._events=new i,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=n,u.EventEmitter=u,t.exports=u},8389:function(t,r){var n,i,o,a,s,u;a=void 0===Number.MAX_SAFE_INTEGER?0x1fffffffffffff:Number.MAX_SAFE_INTEGER,n=s=new WeakMap,i=function(t,r){return n.set(t,r),r},o=u=function(t){var r=s.get(t),n=void 0===r?t.size:r<0x40000000?r+1:0;if(!t.has(n))return i(t,n);if(t.size<0x20000000){for(;t.has(n);)n=Math.floor(0x40000000*Math.random());return i(t,n)}if(t.size>a)throw Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;t.has(n);)n=Math.floor(Math.random()*a);return i(t,n)},r.addUniqueNumber=function(t){var r=o(t);return t.add(r),r},r.generateUniqueNumber=u},1707:(t,r,n)=>{var i,o;void 0===(o="function"==typeof(i=function(){var t={0xa45dfa3:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},0xb538667:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},0x8538067:{name:"Segment",type:"Container"},0x14d9b74:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},0x549a966:{name:"Info",type:"Container"},13220:{name:"SegmentUID",type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},0x654ae6b:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"}
873,209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},0xc53bb6b:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},0x941a469:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"}
873,9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},0x254c367:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}};function r(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t}function n(t,r){this.name=t||"Unknown",this.type=r||"Unknown"}function i(t,r){n.call(this,t,r||"Uint")}function o(t){return t.length%2==1?"0"+t:t}function a(t,r){n.call(this,t,r||"Float")}function s(t,r){n.call(this,t,r||"Container")}function u(t){s.call(this,"File","File"),this.setSource(t)}function l(t,r,n,i){if("object"==typeof n&&(i=n,n=void 0),!n)return new Promise(function(n){l(t,r,n,i)});try{var o=new FileReader;o.onloadend=function(){try{var a=new u(new Uint8Array(o.result));a.fixDuration(r,i)&&(t=a.toBlob(t.type))}catch(t){}n(t)},o.readAsArrayBuffer(t)}catch(r){n(t)}}return n.prototype.updateBySource=function(){},n.prototype.setSource=function(t){this.source=t,this.updateBySource()},n.prototype.updateByData=function(){},n.prototype.setData=function(t){this.data=t,this.updateByData()},r(i,n),i.prototype.updateBySource=function(){this.data="";for(var t=0;t<this.source.length;t++){var r=this.source[t].toString(16);this.data+=o(r)}},i.prototype.updateByData=function(){var t=this.data.length/2;this.source=new Uint8Array(t);for(var r=0;r<t;r++){var n=this.data.substr(2*r,2);this.source[r]=parseInt(n,16)}},i.prototype.getValue=function(){return parseInt(this.data,16)},i.prototype.setValue=function(t){this.setData(o(t.toString(16)))},r(a,n),a.prototype.getFloatArrayType=function(){return this.source&&4===this.source.length?Float32Array:Float64Array},a.prototype.updateBySource=function(){var t=this.source.reverse(),r=new(this.getFloatArrayType())(t.buffer);this.data=r[0]},a.prototype.updateByData=function(){var t=new Uint8Array(new(this.getFloatArrayType())([this.data]).buffer);this.source=t.reverse()},a.prototype.getValue=function(){return this.data},a.prototype.setValue=function(t){this.setData(t)},r(s,n),s.prototype.readByte=function(){return this.source[this.offset++]},s.prototype.readUint=function(){for(var t=this.readByte(),r=8-t.toString(2).length,n=t-(1<<7-r),i=0;i<r;i++)n*=256,n+=this.readByte();return n},s.prototype.updateBySource=function(){for(this.data=[],this.offset=0;this.offset<this.source.length;this.offset=u){var r=this.readUint(),o=this.readUint(),u=Math.min(this.offset+o,this.source.length),l=this.source.slice(this.offset,u),h=t[r]||{name:"Unknown",type:"Unknown"},c=n;switch(h.type){case"Container":c=s;break;case"Uint":c=i;break;case"Float":c=a}var f=new c(h.name,h.type);f.setSource(l),this.data.push({id:r,idHex:r.toString(16),data:f})}},s.prototype.writeUint=function(t,r){for(var n=1,i=128;t>=i&&n<8;n++,i*=128);if(!r)for(var o=i+t,a=n-1;a>=0;a--){var s=o%256;this.source[this.offset+a]=s,o=(o-s)/256}this.offset+=n},s.prototype.writeSections=function(t){this.offset=0;for(var r=0;r<this.data.length;r++){var n=this.data[r],i=n.data.source,o=i.length;this.writeUint(n.id,t),this.writeUint(o,t),t||this.source.set(i,this.offset),this.offset+=o}return this.offset},s.prototype.updateByData=function(){var t=this.writeSections("draft");this.source=new Uint8Array(t),this.writeSections()},s.prototype.getSectionById=function(t){for(var r=0;r<this.data.length;r++){var n=this.data[r];if(n.id===t)return n.data}return null},r(u,s),u.prototype.fixDuration=function(t,r){var n=r&&r.logger;void 0===n?n=function(t){console.log(t)}:n||(n=function(){});var i=this.getSectionById(0x8538067);if(!i)return n("[fix-webm-duration] Segment section is missing"),!1;var o=i.getSectionById(0x549a966);if(!o)return n("[fix-webm-duration] Info section is missing"),!1;var s=o.getSectionById(710577);if(!s)return n("[fix-webm-duration] TimecodeScale section is missing"),!1;var u=o.getSectionById(1161);if(u){if(!(0>=u.getValue()))return n(`[fix-webm-duration] Duration section is present, and the value is ${u.getValue()}`),!1;n(`[fix-webm-duration] Duration section is present, but the value is ${u.getValue()}`),u.setValue(t)}else n("[fix-webm-duration] Duration section is missing"),(u=new a("Duration","Float")).setValue(t),o.data.push({id:1161,data:u});return s.setValue(1e6),o.updateByData(),i.updateByData(),this.updateByData(),!0},u.prototype.toBlob=function(t){return new Blob([this.source.buffer],{type:t||"video/webm"})},l.default=l,l})?i.call(r,n,r,t):i)||(t.exports=o)},9353:t=>{var r=Object.prototype.toString,n=Math.max,i=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var o=0;o<r.length;o+=1)n[o+t.length]=r[o];return n};t.exports=function(t){var o=this;if("function"!=typeof o||"[object Function]"!==r.apply(o))throw TypeError("Function.prototype.bind called on incompatible "+o);for(var a,s=function(t){for(var r=[],n=1,i=0;n<t.length;n+=1,i+=1)r[i]=t[n];return r}(arguments),u=n(0,o.length-s.length),l=[],h=0;h<u;h++)l[h]="$"+h;if(a=Function("binder","return function ("+function(t){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=",");return r}(l)+"){ return binder.apply(this,arguments); }")(function(){if(this instanceof a){var r=o.apply(this,i(s,arguments));return Object(r)===r?r:this}return o.apply(t,i(s,arguments))}),o.prototype){var c=function(){};c.prototype=o.prototype,a.prototype=new c,c.prototype=null}return a}},6743:(t,r,n)=>{var i=n(9353);t.exports=Function.prototype.bind||i},453:(t,r,n)=>{var i,o=n(9612),a=n(9383),s=n(1237),u=n(9290),l=n(9538),h=n(8068),c=n(9675),f=n(5345),d=n(1514),p=n(8968),y=n(6188),m=n(8002),g=n(5880),v=n(414),b=n(3093),w=Function,x=function(t){try{return w('"use strict"; return ('+t+").constructor;")()}catch(t){}},_=n(5795),T=n(655),S=function(){throw new c},E=_?function(){try{return S}catch(t){try{return _(arguments,"callee").get}catch(t){return S}}}():S,O=n(4039)(),A=n(3628),I=n(1064),P=n(8648),k=n(1002),C=n(76),$={},R="u">typeof Uint8Array&&A?A(Uint8Array):i,D={__proto__:null,"%AggregateError%":"u"<typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"u"<typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":O&&A?A([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":$,"%AsyncGenerator%":$,"%AsyncGeneratorFunction%":$,"%AsyncIteratorPrototype%":$,"%Atomics%":"u"<typeof Atomics?i:Atomics,"%BigInt%":"u"<typeof BigInt?i:BigInt,"%BigInt64Array%":"u"<typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"u"<typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"u"<typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":a,"%eval%":eval,"%EvalError%":s,"%Float32Array%":"u"<typeof Float32Array?i:Float32Array,"%Float64Array%":"u"<typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"u"<typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":w,"%GeneratorFunction%":$,"%Int8Array%":"u"<typeof Int8Array?i:Int8Array,"%Int16Array%":"u"<typeof Int16Array?i:Int16Array,"%Int32Array%":"u"<typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%
873IteratorPrototype%":O&&A?A(A([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"u"<typeof Map?i:Map,"%MapIteratorPrototype%":"u">typeof Map&&O&&A?A(new Map()[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":o,"%Object.getOwnPropertyDescriptor%":_,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"u"<typeof Promise?i:Promise,"%Proxy%":"u"<typeof Proxy?i:Proxy,"%RangeError%":u,"%ReferenceError%":l,"%Reflect%":"u"<typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"u"<typeof Set?i:Set,"%SetIteratorPrototype%":"u">typeof Set&&O&&A?A(new Set()[Symbol.iterator]()):i,"%SharedArrayBuffer%":"u"<typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":O&&A?A(""[Symbol.iterator]()):i,"%Symbol%":O?Symbol:i,"%SyntaxError%":h,"%ThrowTypeError%":E,"%TypedArray%":R,"%TypeError%":c,"%Uint8Array%":"u"<typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"u"<typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"u"<typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"u"<typeof Uint32Array?i:Uint32Array,"%URIError%":f,"%WeakMap%":"u"<typeof WeakMap?i:WeakMap,"%WeakRef%":"u"<typeof WeakRef?i:WeakRef,"%WeakSet%":"u"<typeof WeakSet?i:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":k,"%Object.defineProperty%":T,"%Object.getPrototypeOf%":I,"%Math.abs%":d,"%Math.floor%":p,"%Math.max%":y,"%Math.min%":m,"%Math.pow%":g,"%Math.round%":v,"%Math.sign%":b,"%Reflect.getPrototypeOf%":P};if(A)try{null.error}catch(t){var M=A(A(t));D["%Error.prototype%"]=M}var L=function t(r){var n;if("%AsyncFunction%"===r)n=x("async function () {}");else if("%GeneratorFunction%"===r)n=x("function* () {}");else if("%AsyncGeneratorFunction%"===r)n=x("async function* () {}");else if("%AsyncGenerator%"===r){var i=t("%AsyncGeneratorFunction%");i&&(n=i.prototype)}else if("%AsyncIteratorPrototype%"===r){var o=t("%AsyncGenerator%");o&&A&&(n=A(o.prototype))}return D[r]=n,n},B={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},N=n(6743),F=n(9957),U=N.call(C,Array.prototype.concat),j=N.call(k,Array.prototype.splice),z=N.call(C,String.prototype.replace),G=N.call(C,String.prototype.slice),V=N.call(C,RegExp.prototype.exec),W=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,H=/\\(\\)?/g,q=function(t,r){var n,i=t;if(F(B,i)&&(i="%"+(n=B[i])[0]+"%"),F(D,i)){var o=D[i];if(o===$&&(o=L(i)),void 0===o&&!r)throw new c("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:o}}throw new h("intrinsic "+t+" does not exist!")};t.exports=function(t,r){if("string"!=typeof t||0===t.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof r)throw new c('"allowMissing" argument must be a boolean');if(null===V(/^%?[^%]*%?$/,t))throw new h("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(t){var r=G(t,0,1),n=G(t,-1);if("%"===r&&"%"!==n)throw new h("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==r)throw new h("invalid intrinsic syntax, expected opening `%`");var i=[];return z(t,W,function(t,r,n,o){i[i.length]=n?z(o,H,"$1"):r||t}),i}(t),i=n.length>0?n[0]:"",o=q("%"+i+"%",r),a=o.name,s=o.value,u=!1,l=o.alias;l&&(i=l[0],j(n,U([0,1],l)));for(var f=1,d=!0;f<n.length;f+=1){var p=n[f],y=G(p,0,1),m=G(p,-1);if(('"'===y||"'"===y||"`"===y||'"'===m||"'"===m||"`"===m)&&y!==m)throw new h("property names with quotes must have matching quotes");if("constructor"!==p&&d||(u=!0),F(D,a="%"+(i+="."+p)+"%"))s=D[a];else if(null!=s){if(!(p in s)){if(!r)throw new c("base intrinsic for "+t+" exists, but the property is not available.");return}if(_&&f+1>=n.length){var g=_(s,p);s=(d=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:s[p]}else d=F(s,p),s=s[p];d&&!u&&(D[a]=s)}}return s}},1064:(t,r,n)=>{t.exports=n(9612).getPrototypeOf||null},8648:t=>{t.exports="u">typeof Reflect&&Reflect.getPrototypeOf||null},3628:(t,r,n)=>{var i=n(8648),o=n(1064),a=n(7176);t.exports=i?function(t){return i(t)}:o?function(t){if(!t||"object"!=typeof t&&"function"!=typeof t)throw TypeError("getProto: not an object");return o(t)}:a?function(t){return a(t)}:null},6549:t=>{t.exports=Object.getOwnPropertyDescriptor},5795:(t,r,n)=>{var i=n(6549);if(i)try{i([],"length")}catch(t){i=null}t.exports=i},4039:(t,r,n)=>{var i="u">typeof Symbol&&Symbol,o=n(1333);t.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"==typeof i("foo")&&"symbol"==typeof Symbol("bar")&&o()}},1333:t=>{t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},r=Symbol("test"),n=Object(r);if("string"==typeof r||"[object Symbol]"!==Object.prototype.toString.call(r)||"[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(var i in t[r]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var o=Object.getOwnPropertySymbols(t);if(1!==o.length||o[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(t,r);
873if(42!==a.value||!0!==a.enumerable)return!1}return!0}},9957:(t,r,n)=>{var i=Function.prototype.call,o=Object.prototype.hasOwnProperty;t.exports=n(6743).call(i,o)},251:(t,r)=>{r.read=function(t,r,n,i,o){var a,s,u=8*o-i-1,l=(1<<u)-1,h=l>>1,c=-7,f=n?o-1:0,d=n?-1:1,p=t[r+f];for(f+=d,a=p&(1<<-c)-1,p>>=-c,c+=u;c>0;a=256*a+t[r+f],f+=d,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=i;c>0;s=256*s+t[r+f],f+=d,c-=8);if(0===a)a=1-h;else{if(a===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,i),a-=h}return(p?-1:1)*s*Math.pow(2,a-i)},r.write=function(t,r,n,i,o,a){var s,u,l,h=8*a-o-1,c=(1<<h)-1,f=c>>1,d=5960464477539062e-23*(23===o),p=i?0:a-1,y=i?1:-1,m=+(r<0||0===r&&1/r<0);for(isNaN(r=Math.abs(r))||r===1/0?(u=+!!isNaN(r),s=c):(s=Math.floor(Math.log(r)/Math.LN2),r*(l=Math.pow(2,-s))<1&&(s--,l*=2),(r+=s+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(s++,l/=2),s+f>=c?(u=0,s=c):s+f>=1?(u=(r*l-1)*Math.pow(2,o),s+=f):(u=r*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;t[n+p]=255&u,p+=y,u/=256,o-=8);for(s=s<<o|u,h+=o;h>0;t[n+p]=255&s,p+=y,s/=256,h-=8);t[n+p-y]|=128*m}},4634:t=>{var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},1514:t=>{t.exports=Math.abs},8968:t=>{t.exports=Math.floor},4459:t=>{t.exports=Number.isNaN||function(t){return t!=t}},6188:t=>{t.exports=Math.max},8002:t=>{t.exports=Math.min},5880:t=>{t.exports=Math.pow},414:t=>{t.exports=Math.round},3093:(t,r,n)=>{var i=n(4459);t.exports=function(t){return i(t)||0===t?t:t<0?-1:1}},8859:(t,r,n)=>{var i="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,a=i&&o&&"function"==typeof o.get?o.get:null,s=i&&Map.prototype.forEach,u="function"==typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,h=u&&l&&"function"==typeof l.get?l.get:null,c=u&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,p="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,y=Boolean.prototype.valueOf,m=Object.prototype.toString,g=Function.prototype.toString,v=String.prototype.match,b=String.prototype.slice,w=String.prototype.replace,x=String.prototype.toUpperCase,_=String.prototype.toLowerCase,T=RegExp.prototype.test,S=Array.prototype.concat,E=Array.prototype.join,O=Array.prototype.slice,A=Math.floor,I="function"==typeof BigInt?BigInt.prototype.valueOf:null,P=Object.getOwnPropertySymbols,k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,C="function"==typeof Symbol&&"object"==typeof Symbol.iterator,$="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===C||1)?Symbol.toStringTag:null,R=Object.prototype.propertyIsEnumerable,D=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function M(t,r){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||T.call(/e/,r))return r;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var i=t<0?-A(-t):A(t);if(i!==t){var o=String(i),a=b.call(r,o.length+1);return w.call(o,n,"$&_")+"."+w.call(w.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return w.call(r,n,"$&_")}var L=n(2634),B=L.custom,N=V(B)?B:null,F={__proto__:null,double:'"',single:"'"},U={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function j(t,r,n){var i=F[n.quoteStyle||r];return i+t+i}function z(t){return!("[object Array]"!==q(t)||$&&"object"==typeof t&&$ in t)}function G(t){return!("[object RegExp]"!==q(t)||$&&"object"==typeof t&&$ in t)}function V(t){if(C)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!k)return!1;try{return k.call(t),!0}catch(t){}return!1}t.exports=function t(r,i,o,u){var l=i||{};if(H(l,"quoteStyle")&&!H(F,l.quoteStyle))throw TypeError('option "quoteStyle" must be "single" or "double"');if(H(l,"maxStringLength")&&("number"==typeof l.maxStringLength?l.maxStringLength<0&&l.maxStringLength!==1/0:null!==l.maxStringLength))throw TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var m=!H(l,"customInspect")||l.customInspect;if("boolean"!=typeof m&&"symbol"!==m)throw TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
873if(H(l,"indent")&&null!==l.indent&&"	"!==l.indent&&!(parseInt(l.indent,10)===l.indent&&l.indent>0))throw TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(H(l,"numericSeparator")&&"boolean"!=typeof l.numericSeparator)throw TypeError('option "numericSeparator", if provided, must be `true` or `false`');var x=l.numericSeparator;if(void 0===r)return"undefined";if(null===r)return"null";if("boolean"==typeof r)return r?"true":"false";if("string"==typeof r)return function t(r,n){if(r.length>n.maxStringLength){var i=r.length-n.maxStringLength;return t(b.call(r,0,n.maxStringLength),n)+("... "+i)+" more character"+(i>1?"s":"")}var o=U[n.quoteStyle||"single"];return o.lastIndex=0,j(w.call(w.call(r,o,"\\$1"),/[\x00-\x1f]/g,X),"single",n)}(r,l);if("number"==typeof r){if(0===r)return 1/0/r>0?"0":"-0";var T=String(r);return x?M(r,T):T}if("bigint"==typeof r){var A=String(r)+"n";return x?M(r,A):A}var P=void 0===l.depth?5:l.depth;if(void 0===o&&(o=0),o>=P&&P>0&&"object"==typeof r)return z(r)?"[Array]":"[Object]";var B=function(t,r){var n;if("	"===t.indent)n="	";else{if(!("number"==typeof t.indent&&t.indent>0))return null;n=E.call(Array(t.indent+1)," ")}return{base:n,prev:E.call(Array(r+1),n)}}(l,o);if(void 0===u)u=[];else if(Y(u,r)>=0)return"[Circular]";function W(r,n,i){if(n&&(u=O.call(u)).push(n),i){var a={depth:l.depth};return H(l,"quoteStyle")&&(a.quoteStyle=l.quoteStyle),t(r,a,o+1,u)}return t(r,l,o+1,u)}if("function"==typeof r&&!G(r)){var et=function(t){if(t.name)return t.name;var r=v.call(g.call(t),/^function\s*([\w$]+)/);return r?r[1]:null}(r),er=ee(r,W);return"[Function"+(et?": "+et:" (anonymous)")+"]"+(er.length>0?" { "+E.call(er,", ")+" }":"")}if(V(r)){var en=C?w.call(String(r),/^(Symbol\(.*\))_[^)]*$/,"$1"):k.call(r);return"object"!=typeof r||C?en:K(en)}if(r&&"object"==typeof r&&("u">typeof HTMLElement&&r instanceof HTMLElement||"string"==typeof r.nodeName&&"function"==typeof r.getAttribute)){for(var ei,eo="<"+_.call(String(r.nodeName)),ea=r.attributes||[],es=0;es<ea.length;es++)eo+=" "+ea[es].name+"="+j((ei=ea[es].value,w.call(String(ei),/"/g,"&quot;")),"double",l);return eo+=">",r.childNodes&&r.childNodes.length&&(eo+="..."),eo+="</"+_.call(String(r.nodeName))+">"}if(z(r)){if(0===r.length)return"[]";var eu=ee(r,W);return B&&!function(t){for(var r=0;r<t.length;r++)if(Y(t[r],`
874`)>=0)return!1;return!0}(eu)?"["+Q(eu,B)+"]":"[ "+E.call(eu,", ")+" ]"}if(!("[object Error]"!==q(r)||$&&"object"==typeof r&&$ in r)){var el=ee(r,W);return"cause"in Error.prototype||!("cause"in r)||R.call(r,"cause")?0===el.length?"["+String(r)+"]":"{ ["+String(r)+"] "+E.call(el,", ")+" }":"{ ["+String(r)+"] "+E.call(S.call("[cause]: "+W(r.cause),el),", ")+" }"}if("object"==typeof r&&m){if(N&&"function"==typeof r[N]&&L)return L(r,{depth:P-o});if("symbol"!==m&&"function"==typeof r.inspect)return r.inspect()}if(function(t){if(!a||!t||"object"!=typeof t)return!1;try{a.call(t);try{h.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(r)){var eh=[];return s&&s.call(r,function(t,n){eh.push(W(n,r,!0)+" => "+W(t,r))}),J("Map",a.call(r),eh,B)}if(function(t){if(!h||!t||"object"!=typeof t)return!1;try{h.call(t);try{a.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(r)){var ec=[];return c&&c.call(r,function(t){ec.push(W(t,r))}),J("Set",h.call(r),ec,B)}if(function(t){if(!f||!t||"object"!=typeof t)return!1;try{f.call(t,f);try{d.call(t,d)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(r))return Z("WeakMap");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{d.call(t,d);try{f.call(t,f)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(r))return Z("WeakSet");if(function(t){if(!p||!t||"object"!=typeof t)return!1;try{return p.call(t),!0}catch(t){}return!1}(r))return Z("WeakRef");if(!("[object Number]"!==q(r)||$&&"object"==typeof r&&$ in r))return K(W(Number(r)));if(function(t){if(!t||"object"!=typeof t||!I)return!1;try{return I.call(t),!0}catch(t){}return!1}(r))return K(W(I.call(r)));if(!("[object Boolean]"!==q(r)||$&&"object"==typeof r&&$ in r))return K(y.call(r));if(!("[object String]"!==q(r)||$&&"object"==typeof r&&$ in r))return K(W(String(r)));if("u">typeof window&&r===window)return"{ [object Window] }";if("u">typeof globalThis&&r===globalThis||void 0!==n.g&&r===n.g)return"{ [object globalThis] }";if(("[object Date]"!==q(r)||$&&"object"==typeof r&&$ in r)&&!G(r)){var ef=ee(r,W),ed=D?D(r)===Object.prototype:r instanceof Object||r.constructor===Object,ep=r instanceof Object?"":"null prototype",ey=!ed&&$&&Object(r)===r&&$ in r?b.call(q(r),8,-1):ep?"Object":"",em=(ed||"function"!=typeof r.constructor?"":r.constructor.name?r.constructor.name+" ":"")+(ey||ep?"["+E.call(S.call([],ey||[],ep||[]),": ")+"] ":"");return 0===ef.length?em+"{}":B?em+"{"+Q(ef,B)+"}":em+"{ "+E.call(ef,", ")+" }"}return String(r)};var W=Object.prototype.hasOwnProperty||function(t){return t in this};function H(t,r){return W.call(t,r)}function q(t){return m.call(t)}function Y(t,r){if(t.indexOf)return t.indexOf(r);for(var n=0,i=t.length;n<i;n++)if(t[n]===r)return n;return -1}function X(t){var r=t.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[r];return n?"\\"+n:"\\x"+(r<16?"0":"")+x.call(r.toString(16))}function K(t){return"Object("+t+")"}function Z(t){return t+" { ? }"}function J(t,r,n,i){return t+" ("+r+") {"+(i?Q(n,i):E.call(n,", "))+"}"}function Q(t,r){if(0===t.length)return"";var n=`
875`+r.prev+r.base;return n+E.call(t,","+n)+`
876`+r.prev}function ee(t,r){var n=z(t),i=[];if(n){i.length=t.length;for(var o=0;o<t.length;o++)i[o]=H(t,o)?r(t[o],t):""}var a,s="function"==typeof P?P(t):[];if(C){a={};for(var u=0;u<s.length;u++)a["$"+s[u]]=s[u]}for(var l in t)H(t,l)&&(n&&String(Number(l))===l&&l<t.length||C&&a["$"+l]instanceof Symbol||(T.call(/[^\w$]/,l)?i.push(r
876(l,t)+": "+r(t[l],t)):i.push(l+": "+r(t[l],t))));if("function"==typeof P)for(var h=0;h<s.length;h++)R.call(t,s[h])&&i.push("["+r(s[h])+"]: "+r(t[s[h]],t));return i}},5606:t=>{var r,n,i=t.exports={};function o(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function s(t){if(r===setTimeout)return setTimeout(t,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(n){try{return r.call(null,t,0)}catch(n){return r.call(this,t,0)}}}try{r="function"==typeof setTimeout?setTimeout:o}catch(t){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(t){n=a}var u,l=[],h=!1,c=-1;function f(){h&&u&&(h=!1,u.length?l=u.concat(l):c=-1,l.length&&d())}function d(){if(!h){var t=s(f);h=!0;for(var r=l.length;r;){for(u=l,l=[];++c<r;)u&&u[c].run();c=-1,r=l.length}u=null,h=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(r){try{return n.call(null,t)}catch(r){return n.call(this,t)}}}(t)}}function p(t,r){this.fun=t,this.array=r}function y(){}i.nextTick=function(t){var r=Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)r[n-1]=arguments[n];l.push(new p(t,r)),1!==l.length||h||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=y,i.addListener=y,i.once=y,i.off=y,i.removeListener=y,i.removeAllListeners=y,i.emit=y,i.prependListener=y,i.prependOnceListener=y,i.listeners=function(t){return[]},i.binding=function(t){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw Error("process.chdir is not supported")},i.umask=function(){return 0}},9655:function(t,r,n){var i;t=n.nmd(t),function(){r&&r.nodeType,t&&t.nodeType;var o="object"==typeof n.g&&n.g;o.global!==o&&o.window!==o&&o.self;var a,s=/^xn--/,u=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=Math.floor,f=String.fromCharCode;function d(t){throw RangeError(h[t])}function p(t,r){for(var n=t.length,i=[];n--;)i[n]=r(t[n]);return i}function y(t,r){var n=t.split("@"),i="";return n.length>1&&(i=n[0]+"@",t=n[1]),i+p((t=t.replace(l,".")).split("."),r).join(".")}function m(t){for(var r,n,i=[],o=0,a=t.length;o<a;)(r=t.charCodeAt(o++))>=55296&&r<=56319&&o<a?56320==(64512&(n=t.charCodeAt(o++)))?i.push(((1023&r)<<10)+(1023&n)+65536):(i.push(r),o--):i.push(r);return i}function g(t){return p(t,function(t){var r="";return t>65535&&(r+=f((t-=65536)>>>10&1023|55296),t=56320|1023&t),r+=f(t)}).join("")}function v(t,r){return t+22+75*(t<26)-((0!=r)<<5)}function b(t,r,n){var i=0;for(t=n?c(t/700):t>>1,t+=c(t/r);t>455;i+=36)t=c(t/35);return c(i+36*t/(t+38))}function w(t){var r,n,i,o,a,s,u,l,h,f,p,y=[],m=t.length,v=0,w=128,x=72;for((n=t.lastIndexOf("-"))<0&&(n=0),i=0;i<n;++i)t.charCodeAt(i)>=128&&d("not-basic"),y.push(t.charCodeAt(i));for(o=n>0?n+1:0;o<m;){for(a=v,s=1,u=36;o>=m&&d("invalid-input"),((l=(p=t.charCodeAt(o++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||l>c((0x7fffffff-v)/s))&&d("overflow"),v+=l*s,!(l<(h=u<=x?1:u>=x+26?26:u-x));u+=36)s>c(0x7fffffff/(f=36-h))&&d("overflow"),s*=f;x=b(v-a,r=y.length+1,0==a),c(v/r)>0x7fffffff-w&&d("overflow"),w+=c(v/r),v%=r,y.splice(v++,0,w)}return g(y)}function x(t){var r,n,i,o,a,s,u,l,h,p,y,g,w,x,_,T=[];for(g=(t=m(t)).length,r=128,n=0,a=72,s=0;s<g;++s)(y=t[s])<128&&T.push(f(y));for(i=o=T.length,o&&T.push("-");i<g;){for(u=0x7fffffff,s=0;s<g;++s)(y=t[s])>=r&&y<u&&(u=y);for(u-r>c((0x7fffffff-n)/(w=i+1))&&d("overflow"),n+=(u-r)*w,r=u,s=0;s<g;++s)if((y=t[s])<r&&++n>0x7fffffff&&d("overflow"),y==r){for(l=n,h=36;!(l<(p=h<=a?1:h>=a+26?26:h-a));h+=36)_=l-p,x=36-p,T.push(f(v(p+_%x,0))),l=c(_/x);T.push(f(v(l,0))),a=b(n,w,i==o),n=0,++i}++n,++r}return T.join("")}a={version:"1.4.1",ucs2:{decode:m,encode:g},decode:w,encode:x,toASCII:function(t){return y(t,function(t){return u.test(t)?"xn--"+x(t):t})},toUnicode:function(t){return y(t,function(t){return s.test(t)?w(t.slice(4).toLowerCase()):t})}},void 0===(i=(function(){return a}).call(r,n,r,t))||(t.exports=i)}()},4765:t=>{var r=String.prototype.replace,n=/%20/g,i="RFC3986";t.exports={default:i,formatters:{RFC1738:function(t){return r.call(t,n,"+")}
876,RFC3986:function(t){return String(t)}},RFC1738:"RFC1738",RFC3986:i}},5373:(t,r,n)=>{var i=n(8636),o=n(2642);t.exports={formats:n(4765),parse:o,stringify:i}},2642:(t,r,n)=>{var i=n(7720),o=Object.prototype.hasOwnProperty,a=Array.isArray,s={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:i.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},u=function(t,r,n){if(t&&"string"==typeof t&&r.comma&&t.indexOf(",")>-1)return t.split(",");if(r.throwOnLimitExceeded&&n>=r.arrayLimit)throw RangeError("Array limit exceeded. Only "+r.arrayLimit+" element"+(1===r.arrayLimit?"":"s")+" allowed in an array.");return t},l=function(t,r,n,a){if(t){var s=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,l=/(\[[^[\]]*])/g,h=n.depth>0&&/(\[[^[\]]*])/.exec(s),c=h?s.slice(0,h.index):s,f=[];if(c){if(!n.plainObjects&&o.call(Object.prototype,c)&&!n.allowPrototypes)return;f.push(c)}for(var d=0;n.depth>0&&null!==(h=l.exec(s))&&d<n.depth;){if(d+=1,!n.plainObjects&&o.call(Object.prototype,h[1].slice(1,-1))&&!n.allowPrototypes)return;f.push(h[1])}if(h){if(!0===n.strictDepth)throw RangeError("Input depth exceeded depth option of "+n.depth+" and strictDepth is true");f.push("["+s.slice(h.index)+"]")}return function(t,r,n,o){var a=0;if(t.length>0&&"[]"===t[t.length-1]){var s=t.slice(0,-1).join("");a=Array.isArray(r)&&r[s]?r[s].length:0}for(var l=o?r:u(r,n,a),h=t.length-1;h>=0;--h){var c,f=t[h];if("[]"===f&&n.parseArrays)c=n.allowEmptyArrays&&(""===l||n.strictNullHandling&&null===l)?[]:i.combine([],l);else{c=n.plainObjects?{__proto__:null}:{};var d="["===f.charAt(0)&&"]"===f.charAt(f.length-1)?f.slice(1,-1):f,p=n.decodeDotInKeys?d.replace(/%2E/g,"."):d,y=parseInt(p,10);n.parseArrays||""!==p?!isNaN(y)&&f!==p&&String(y)===p&&y>=0&&n.parseArrays&&y<=n.arrayLimit?(c=[])[y]=l:"__proto__"!==p&&(c[p]=l):c={0:l}}l=c}return l}(f,r,n,a)}};t.exports=function(t,r){var n=function(t){if(!t)return s;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.decodeDotInKeys&&"boolean"!=typeof t.decodeDotInKeys)throw TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.decoder&&void 0!==t.decoder&&"function"!=typeof t.decoder)throw TypeError("Decoder has to be a function.");if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(void 0!==t.throwOnLimitExceeded&&"boolean"!=typeof t.throwOnLimitExceeded)throw TypeError("`throwOnLimitExceeded` option must be a boolean");var r=void 0===t.charset?s.charset:t.charset,n=void 0===t.duplicates?s.duplicates:t.duplicates;if("combine"!==n&&"first"!==n&&"last"!==n)throw TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===t.allowDots?!0===t.decodeDotInKeys||s.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:s.allowEmptyArrays,allowPrototypes:"boolean"==typeof t.allowPrototypes?t.allowPrototypes:s.allowPrototypes,allowSparse:"boolean"==typeof t.allowSparse?t.allowSparse:s.allowSparse,arrayLimit:"number"==typeof t.arrayLimit?t.arrayLimit:s.arrayLimit,charset:r,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:s.charsetSentinel,comma:"boolean"==typeof t.comma?t.comma:s.comma,decodeDotInKeys:"boolean"==typeof t.decodeDotInKeys?t.decodeDotInKeys:s.decodeDotInKeys,decoder:"function"==typeof t.decoder?t.decoder:s.decoder,delimiter:"string"==typeof t.delimiter||i.isRegExp(t.delimiter)?t.delimiter:s.delimiter,depth:"number"==typeof t.depth||!1===t.depth?+t.depth:s.depth,duplicates:n,ignoreQueryPrefix:!0===t.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof t.interpretNumericEntities?t.interpretNumericEntities:s.interpretNumericEntities,parameterLimit:"number"==typeof t.parameterLimit?t.parameterLimit:s.parameterLimit,parseArrays:!1!==t.parseArrays,plainObjects:"boolean"==typeof t.plainObjects?t.plainObjects:s.plainObjects,strictDepth:"boolean"==typeof t.strictDepth?!!t.strictDepth:s.strictDepth,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:s.strictNullHandling,throwOnLimitExceeded:"boolean"==typeof t.throwOnLimitExceeded&&t.throwOnLimitExceeded}}(r);if(""===t||null==t)return n.plainObjects?{__proto__:null}:{};for(var h="string"==typeof t?function(t,r){var n={__proto__:null},l=r.ignoreQueryPrefix?t.replace(/^\?/,""):t;l=l.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var h=r.parameterLimit===1/0?void 0:r.parameterLimit,c=l.split(r.delimiter,r.throwOnLimitExceeded?h+1:h);if(r.throwOnLimitExceeded&&c.length>h)throw RangeError("Parameter limit exceeded. Only "+h+" parameter"+(1===
vendor: 5,690 bytes, line 876
876h?"":"s")+" allowed.");var f,d=-1,p=r.charset;if(r.charsetSentinel)for(f=0;f<c.length;++f)0===c[f].indexOf("utf8=")&&("utf8=%E2%9C%93"===c[f]?p="utf-8":"utf8=%26%2310003%3B"===c[f]&&(p="iso-8859-1"),d=f,f=c.length);for(f=0;f<c.length;++f)if(f!==d){var y,m,g=c[f],v=g.indexOf("]="),b=-1===v?g.indexOf("="):v+1;-1===b?(y=r.decoder(g,s.decoder,p,"key"),m=r.strictNullHandling?null:""):(y=r.decoder(g.slice(0,b),s.decoder,p,"key"),m=i.maybeMap(u(g.slice(b+1),r,a(n[y])?n[y].length:0),function(t){return r.decoder(t,s.decoder,p,"value")})),m&&r.interpretNumericEntities&&"iso-8859-1"===p&&(m=String(m).replace(/&#(\d+);/g,function(t,r){return String.fromCharCode(parseInt(r,10))})),g.indexOf("[]=")>-1&&(m=a(m)?[m]:m);var w=o.call(n,y);w&&"combine"===r.duplicates?n[y]=i.combine(n[y],m):w&&"last"!==r.duplicates||(n[y]=m)}return n}(t,n):t,c=n.plainObjects?{__proto__:null}:{},f=Object.keys(h),d=0;d<f.length;++d){var p=f[d],y=l(p,h[p],n,"string"==typeof t);c=i.merge(c,y,n)}return!0===n.allowSparse?c:i.compact(c)}},8636:(t,r,n)=>{var i=n(920),o=n(7720),a=n(4765),s=Object.prototype.hasOwnProperty,u={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,r){return t+"["+r+"]"},repeat:function(t){return t}},l=Array.isArray,h=Array.prototype.push,c=function(t,r){h.apply(t,l(r)?r:[r])},f=Date.prototype.toISOString,d=a.default,p={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:o.encode,encodeValuesOnly:!1,filter:void 0,format:d,formatter:a.formatters[d],indices:!1,serializeDate:function(t){return f.call(t)},skipNulls:!1,strictNullHandling:!1},y={},m=function t(r,n,a,s,u,h,f,d,m,g,v,b,w,x,_,T,S,E){for(var O,A=r,I=E,P=0,k=!1;void 0!==(I=I.get(y))&&!k;){var C=I.get(r);if(P+=1,void 0!==C){if(C===P)throw RangeError("Cyclic object value");k=!0}void 0===I.get(y)&&(P=0)}if("function"==typeof g?A=g(n,A):A instanceof Date?A=w(A):"comma"===a&&l(A)&&(A=o.maybeMap(A,function(t){return t instanceof Date?w(t):t})),null===A){if(h)return m&&!T?m(n,p.encoder,S,"key",x):n;A=""}if("string"==typeof(O=A)||"number"==typeof O||"boolean"==typeof O||"symbol"==typeof O||"bigint"==typeof O||o.isBuffer(A))return m?[_(T?n:m(n,p.encoder,S,"key",x))+"="+_(m(A,p.encoder,S,"value",x))]:[_(n)+"="+_(String(A))];var $,R=[];if(void 0===A)return R;if("comma"===a&&l(A))T&&m&&(A=o.maybeMap(A,m)),$=[{value:A.length>0?A.join(",")||null:void 0}];else if(l(g))$=g;else{var D=Object.keys(A);$=v?D.sort(v):D}var M=d?String(n).replace(/\./g,"%2E"):String(n),L=s&&l(A)&&1===A.length?M+"[]":M;if(u&&l(A)&&0===A.length)return L+"[]";for(var B=0;B<$.length;++B){var N=$[B],F="object"==typeof N&&N&&void 0!==N.value?N.value:A[N];if(!f||null!==F){var U=b&&d?String(N).replace(/\./g,"%2E"):String(N),j=l(A)?"function"==typeof a?a(L,U):L:L+(b?"."+U:"["+U+"]");E.set(r,P);var z=i();z.set(y,E),c(R,t(F,j,a,s,u,h,f,d,"comma"===a&&T&&l(A)?null:m,g,v,b,w,x,_,T,S,z))}}return R};t.exports=function(t,r){var n,o=t,h=function(t){if(!t)return p;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.encodeDotInKeys&&"boolean"!=typeof t.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==t.encoder&&void 0!==t.encoder&&"function"!=typeof t.encoder)throw TypeError("Encoder has to be a function.");var r=t.charset||p.charset;if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=a.default;if(void 0!==t.format){if(!s.call(a.formatters,t.format))throw TypeError("Unknown format option provided.");n=t.format}var i,o=a.formatters[n],h=p.filter;if(("function"==typeof t.filter||l(t.filter))&&(h=t.filter),i=t.arrayFormat in u?t.arrayFormat:"indices"in t?t.indices?"indices":"repeat":p.arrayFormat,"commaRoundTrip"in t&&"boolean"!=typeof t.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");var c=void 0===t.allowDots?!0===t.encodeDotInKeys||p.allowDots:!!t.allowDots;return{addQueryPrefix:"boolean"==typeof t.addQueryPrefix?t.addQueryPrefix:p.addQueryPrefix,allowDots:c,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:p.allowEmptyArrays,arrayFormat:i,charset:r,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:p.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:void 0===t.delimiter?p.delimiter:t.delimiter,encode:"boolean"==typeof t.encode?t.encode:p.encode,encodeDotInKeys:"boolean"==typeof t.encodeDotInKeys?t.encodeDotInKeys:p.encodeDotInKeys,encoder:"function"==typeof t.encoder?t.encoder:p.encoder,encodeValuesOnly:"boolean"==typeof t.encodeValuesOnly?t.encodeValuesOnly:p.encodeValuesOnly,filter:h,format:n,formatter:o,serializeDate:"function"==typeof t.serializeDate?t.serializeDate:p.serializeDate,skipNulls:"boolean"==typeof t.skipNulls?t.skipNulls:p.skipNulls,sort:"function"==typeof t.sort?t.sort:null,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:p.strictNullHandling}}(r);"function"==typeof h.filter?o=(0,h.filter)("",o):l(h.filter)&&(n=h.filter);var f=[];if("object"!=typeof o||null===o)return"";var d=u[h.arrayFormat],y="comma"===d&&h.commaRoundTrip;n||(n=Object.keys(o)),h.sort&&n.sort(h.sort);for(var g=i(),v=0;v<n.length;++v){var b=n[v],w=o[b];h.skipNulls&&null===w||c(f,m(w,b,d,y,h.allowEmptyArrays,h.strictNullHandling,h.skipNulls,h.encodeDotInKeys,h.encode?h.encoder:null,h.filter,h.sort,h.allowDots,h.serializeDate,h.format,h.formatter,h.encodeValuesOnly,h.charset,g))}
876var x=f.join(h.delimiter),_=!0===h.addQueryPrefix?"?":"";return h.charsetSentinel&&("iso-8859-1"===h.charset?_+="utf8=%26%2310003%3B&":_+="utf8=%E2%9C%93&"),x.length>0?_+x:""}},7720:(t,r,n)=>{var i=n(4765),o=Object.prototype.hasOwnProperty,a=Array.isArray,s=function(){for(var t=[],r=0;r<256;++r)t.push("%"+((r<16?"0":"")+r.toString(16)).toUpperCase());return t}(),u=function(t,r){for(var n=r&&r.plainObjects?{__proto__:null}:{},i=0;i<t.length;++i)void 0!==t[i]&&(n[i]=t[i]);return n};t.exports={arrayToObject:u,assign:function(t,r){return Object.keys(r).reduce(function(t,n){return t[n]=r[n],t},t)},combine:function(t,r){return[].concat(t,r)},compact:function(t){for(var r=[{obj:{o:t},prop:"o"}],n=[],i=0;i<r.length;++i)for(var o=r[i],s=o.obj[o.prop],u=Object.keys(s),l=0;l<u.length;++l){var h=u[l],c=s[h];"object"==typeof c&&null!==c&&-1===n.indexOf(c)&&(r.push({obj:s,prop:h}),n.push(c))}return function(t){for(;t.length>1;){var r=t.pop(),n=r.obj[r.prop];if(a(n)){for(var i=[],o=0;o<n.length;++o)void 0!==n[o]&&i.push(n[o]);r.obj[r.prop]=i}}}(r),t},decode:function(t,r,n){var i=t.replace(/\+/g," ");if("iso-8859-1"===n)return i.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(i)}catch(t){return i}},encode:function(t,r,n,o,a){if(0===t.length)return t;var u=t;if("symbol"==typeof t?u=Symbol.prototype.toString.call(t):"string"!=typeof t&&(u=String(t)),"iso-8859-1"===n)return escape(u).replace(/%u[0-9a-f]{4}/gi,function(t){return"%26%23"+parseInt(t.slice(2),16)+"%3B"});for(var l="",h=0;h<u.length;h+=1024){for(var c=u.length>=1024?u.slice(h,h+1024):u,f=[],d=0;d<c.length;++d){var p=c.charCodeAt(d);45===p||46===p||95===p||126===p||p>=48&&p<=57||p>=65&&p<=90||p>=97&&p<=122||a===i.RFC1738&&(40===p||41===p)?f[f.length]=c.charAt(d):p<128?f[f.length]=s[p]:p<2048?f[f.length]=s[192|p>>6]+s[128|63&p]:p<55296||p>=57344?f[f.length]=s[224|p>>12]+s[128|p>>6&63]+s[128|63&p]:(d+=1,p=65536+((1023&p)<<10|1023&c.charCodeAt(d)),f[f.length]=s[240|p>>18]+s[128|p>>12&63]+s[128|p>>6&63]+s[128|63&p])}l+=f.join("")}return l},isBuffer:function(t){return!(!t||"object"!=typeof t)&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))},isRegExp:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},maybeMap:function(t,r){if(a(t)){for(var n=[],i=0;i<t.length;i+=1)n.push(r(t[i]));return n}return r(t)},merge:function t(r,n,i){if(!n)return r;if("object"!=typeof n&&"function"!=typeof n){if(a(r))r.push(n);else{if(!r||"object"!=typeof r)return[r,n];(i&&(i.plainObjects||i.allowPrototypes)||!o.call(Object.prototype,n))&&(r[n]=!0)}return r}if(!r||"object"!=typeof r)return[r].concat(n);var s=r;return a(r)&&!a(n)&&(s=u(r,i)),a(r)&&a(n)?(n.forEach(function(n,a){if(o.c
876all(r,a)){var s=r[a];s&&"object"==typeof s&&n&&"object"==typeof n?r[a]=t(s,n,i):r.push(n)}else r[a]=n}),r):Object.keys(n).reduce(function(r,a){var s=n[a];return o.call(r,a)?r[a]=t(r[a],s,i):r[a]=s,r},s)}}},4803:(t,r,n)=>{var i=n(8859),o=n(9675),a=function(t,r,n){for(var i,o=t;null!=(i=o.next);o=i)if(i.key===r)return o.next=i.next,n||(i.next=t.next,t.next=i),i};t.exports=function(){var t,r={assert:function(t){if(!r.has(t))throw new o("Side channel does not contain "+i(t))},delete:function(r){var n=t&&t.next,i=function(t,r){if(t)return a(t,r,!0)}(t,r);return i&&n&&n===i&&(t=void 0),!!i},get:function(r){var n=t;if(n){var i=a(n,r);return i&&i.value}},has:function(r){var n;return!!(n=t)&&!!a(n,r)},set:function(r,n){var i,o;t||(t={next:void 0}),(o=a(i=t,r))?o.value=n:i.next={key:r,next:i.next,value:n}}};return r}},507:(t,r,n)=>{var i=n(453),o=n(6556),a=n(8859),s=n(9675),u=i("%Map%",!0),l=o("Map.prototype.get",!0),h=o("Map.prototype.set",!0),c=o("Map.prototype.has",!0),f=o("Map.prototype.delete",!0),d=o("Map.prototype.size",!0);t.exports=!!u&&function(){var t,r={assert:function(t){if(!r.has(t))throw new s("Side channel does not contain "+a(t))},delete:function(r){if(t){var n=f(t,r);return 0===d(t)&&(t=void 0),n}return!1},get:function(r){if(t)return l(t,r)},has:function(r){return!!t&&c(t,r)},set:function(r,n){t||(t=new u),h(t,r,n)}};return r}},2271:(t,r,n)=>{var i=n(453),o=n(6556),a=n(8859),s=n(507),u=n(9675),l=i("%WeakMap%",!0),h=o("WeakMap.prototype.get",!0),c=o("WeakMap.prototype.set",!0),f=o("WeakMap.prototype.has",!0),d=o("WeakMap.prototype.delete",!0);t.exports=l?function(){var t,r,n={assert:function(t){if(!n.has(t))throw new u("Side channel does not contain "+a(t))},delete:function(n){if(l&&n&&("object"==typeof n||"function"==typeof n)){if(t)return d(t,n)}else if(s&&r)return r.delete(n);return!1},get:function(n){return l&&n&&("object"==typeof n||"function"==typeof n)&&t?h(t,n):r&&r.get(n)},has:function(n){return l&&n&&("object"==typeof n||"function"==typeof n)&&t?f(t,n):!!r&&r.has(n)},set:function(n,i){l&&n&&("object"==typeof n||"function"==typeof n)?(t||(t=new l),c(t,n,i)):s&&(r||(r=s()),r.set(n,i))}};return n}:s},920:(t,r,n)=>{var i=n(9675),o=n(8859),a=n(4803),s=n(507),u=n(2271)||s||a;t.exports=function(){var t,r={assert:function(t){if(!r.has(t))throw new i("Side channel does not contain "+o(t))},delete:function(r){return!!t&&t.delete(r)},get:function(r){return t&&t.get(r)},has:function(r){return!!t&&t.has(r)},set:function(r,n){t||(t=u()),t.set(r,n)}};return r}},8835:(t,r,n)=>{var i=n(9655);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,l=["'"].concat(["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ",`\r`,`
877`,"	"])),h=["%","/","?",";","#"].concat(l),c=["/","?","#"],f=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,p={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},m={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},g=n(5373);function v(t,r,n){if(t&&"object"==typeof t&&t instanceof o)return t;var i=new o;return i.parse(t,r,n),i}o.prototype.parse=function(t,r,n){if("string"!=typeof t)throw TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o<t.indexOf("#")?"?":"#",v=t.split(s);v[0]=v[0].replace(/\\/g,"/");var b=t=v.join(s);if(b=b.trim(),!n&&1===t.split("#").length){var w=u.exec(b);if(w)return this.path=b,this.href=b,this.pathname=w[1],w[2]?(this.search=w[2],this.query=r?g.parse(this.search.substr(1)):this.search.substr(1)):r&&(this.search="",this.query={}),this}var x=a.exec(b);if(x){var _=(x=x[0]).toLowerCase();this.protocol=_,b=b.substr(x.length)}if(n||x||b.match(/^\/\/[^@/]+@[^@/]+/)){var T="//"===b.substr(0,2);!T||x&&y[x]||(b=b.substr(2),this.slashes=!0)}if(!y[x]&&(T||x&&!m[x])){for(var S,E,O,A=-1,I=0;I<c.length;I++)-1!==(S=b.indexOf(c[I]))&&(-1===A||S<A)&&(A=S);for(-1!==(O=-1===A?b.lastIndexOf("@"):b.lastIndexOf("@",A))&&(E=b.slice(0,O),b=b.slice(O+1),this.auth=decodeURIComponent(E)),A=-1,I=0;I<h.length;
vendor: 2,623 bytes, line 877
877I++)-1!==(S=b.indexOf(h[I]))&&(-1===A||S<A)&&(A=S);-1===A&&(A=b.length),this.host=b.slice(0,A),b=b.slice(A),this.parseHost(),this.hostname=this.hostname||"";var P="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!P)for(var k=this.hostname.split(/\./),C=(I=0,k.length);I<C;I++){var $=k[I];if($&&!$.match(f)){for(var R="",D=0,M=$.length;D<M;D++)$.charCodeAt(D)>127?R+="x":R+=$[D];if(!R.match(f)){var L=k.slice(0,I),B=k.slice(I+1),N=$.match(d);N&&(L.push(N[1]),B.unshift(N[2])),B.length&&(b="/"+B.join(".")+b),this.hostname=L.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=i.toASCII(this.hostname));var F=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+F,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!p[_])for(I=0,C=l.length;I<C;I++){var j=l[I];if(-1!==b.indexOf(j)){var z=encodeURIComponent(j);z===j&&(z=escape(j)),b=b.split(j).join(z)}}var G=b.indexOf("#");-1!==G&&(this.hash=b.substr(G),b=b.slice(0,G));var V=b.indexOf("?");if(-1!==V?(this.search=b.substr(V),this.query=b.substr(V+1),r&&(this.query=g.parse(this.query)),b=b.slice(0,V)):r&&(this.search="",this.query={}),b&&(this.pathname=b),m[_]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){F=this.pathname||"";var W=this.search||"";this.path=F+W}return this.href=this.format(),this},o.prototype.format=function(){var t=this.auth||"";t&&(t=(t=encodeURIComponent(t)).replace(/%3A/i,":")+"@");var r=this.protocol||"",n=this.pathname||"",i=this.hash||"",o=!1,a="";this.host?o=t+this.host:this.hostname&&(o=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&"object"==typeof this.query&&Object.keys(this.query).length&&(a=g.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var s=this.search||a&&"?"+a||"";return r&&":"!==r.substr(-1)&&(r+=":"),this.slashes||(!r||m[r])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),i&&"#"!==i.charAt(0)&&(i="#"+i),s&&"?"!==s.charAt(0)&&(s="?"+s),r+o+(n=n.replace(/[?#]/g,function(t){return encodeURIComponent(t)}))+(s=s.replace("#","%23"))+i},o.prototype.resolve=function(t){return this.resolveObject(v(t,!1,!0)).format()},o.prototype.resolveObject=function(t){if("string"==typeof t){var r=new o;r.parse(t,!1,!0),t=r}for(var n=new o,i=Object.keys(this),a=0;a<i.length;a++){var s=i[a];n[s]=this[s]}if(n.hash=t.hash,""===t.href)return n.href=n.format(),n;if(t.slashes&&!t.protocol){for(var u=Object.keys(t),l=0;l<u.length;l++){var h=u[l];
877"protocol"!==h&&(n[h]=t[h])}return m[n.protocol]&&n.hostname&&!n.pathname&&(n.pathname="/",n.path=n.pathname),n.href=n.format(),n}if(t.protocol&&t.protocol!==n.protocol){if(!m[t.protocol]){for(var c=Object.keys(t),f=0;f<c.length;f++){var d=c[f];n[d]=t[d]}return n.href=n.format(),n}if(n.protocol=t.protocol,t.host||y[t.protocol])n.pathname=t.pathname;else{for(var p=(t.pathname||"").split("/");p.length&&!(t.host=p.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}if(n.search=t.search,n.query=t.query,n.host=t.host||"",n.auth=t.auth,n.hostname=t.hostname||t.host,n.port=t.port,n.pathname||n.search){var g=n.pathname||"",v=n.search||"";n.path=g+v}return n.slashes=n.slashes||t.slashes,n.href=n.format(),n}var b=n.pathname&&"/"===n.pathname.charAt(0),w=t.host||t.pathname&&"/"===t.pathname.charAt(0),x=w||b||n.host&&t.pathname,_=x,T=n.pathname&&n.pathname.split("/")||[],S=(p=t.pathname&&t.pathname.split("/")||[],n.protocol&&!m[n.protocol]);if(S&&(n.hostname="",n.port=null,n.host&&(""===T[0]?T[0]=n.host:T.unshift(n.host)),n.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===p[0]?p[0]=t.host:p.unshift(t.host)),t.host=null),x=x&&(""===p[0]||""===T[0])),w)n.host=t.host||""===t.host?t.host:n.host,n.hostname=t.hostname||""===t.hostname?t.hostname:n.hostname,n.search=t.search,n.query=t.query,T=p;else if(p.length)T||(T=[]),T.pop(),T=T.concat(p),n.search=t.search,n.query=t.query;else if(null!=t.search)return S&&(n.host=T.shift(),n.hostname=n.host,(P=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=P.shift(),n.hostname=P.shift(),n.host=n.hostname)),n.search=t.search,n.query=t.query,null===n.pathname&&null===n.search||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!T.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=T.slice(-1)[0],O=(n.host||t.host||T.length>1)&&("."===E||".."===E)||""===E,A=0,I=T.length;I>=0;I--)"."===(E=T[I])?T.splice(I,1):".."===E?(T.splice(I,1),A++):A&&(T.splice(I,1),A--);if(!x&&!_)for(;A--;)T.unshift("..");!x||""===T[0]||T[0]&&"/"===T[0].charAt(0)||T.unshift(""),O&&"/"!==T.join("/").substr(-1)&&T.push("");var P,k=""===T[0]||T[0]&&"/"===T[0].charAt(0);return S&&(n.hostname=k?"":T.length?T.shift():"",n.host=n.hostname,(P=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=P.shift(),n.hostname=P.shift(),n.host=n.hostname)),(x=x||n.host&&T.length)&&!k&&T.unshift(""),T.length>0?n.pathname=T.join("/"):(n.pathname=null,n.path=null),null===n.pathname&&null===n.search||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,r=s.exec(t);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),t=t.substr(0,t.length-r.length)),t&&(this.hostname=t)},r.qg=v,r.hd=function(t,r){return v(t,!1,!0).resolve(r)},r.GP=function(t){return"string"==typeof t&&(t=v(t)),t instanceof o?t.format():o.prototype.format.call(t)}},2302:(t,r,n)=>{let i;n.d(r,{A:()=>u});let o={randomUUID:"u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},a=new Uint8Array(16),s=[];for(let t=0;t<256;++t)s.push((t+256).toString(16).slice(1));let u=function(t,r,n){if(o.randomUUID&&!r&&!t)return o.randomUUID();let u=(t=t||{}).random||(t.rng||function(){if(!i&&!(i="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return i(a)})();if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,r){n=n||0;for(let t=0;t<16;++t)r[n+t]=u[t];return r}return function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return s[t[r+0]]+s[t[r+1]]+s[t[r+2]]+s[t[r+3]]+"-"+s[t[r+4]]+s[t[r+5]]+"-"+s[t[r+6]]+s[t[r+7]]+"-"+s[t[r+8]]+s[t[r+9]]+"-"+s[t[r+10]]+s[t[r+11]]+s[t[r+12]]+s[t[r+13]]+s[t[r+14]]+s[t[r+15]]}(u)}},2634:()=>{},9203:(t,r,n)=>{let i,o,a,s,u,l,h,c,f,d,p,y,m,g,v,b,w,x,_,T,S,E,O,A,I,P;n.d(r,{Gk:()=>G,CI:()=>ie,aV:()=>it,nW:()=>tK,B9:()=>D,wn:()=>R,yw:()=>K,sN:()=>rz,jH:()=>rY,LE:()=>rq,t5:()=>tH,hq:()=>tq,JH:()=>t3,ch:()=>rF,LQ:()=>rM,A6:()=>rG,cc:()=>rL,OF:()=>Z,hp:()=>tX,dZ:()=>tG,yn:()=>n2,fr:()=>V,Eq:()=>Y,Bu:()=>ir,jl:()=>re,Q1:()=>e5,bD:()=>rW,WQ:()=>io,Td:()=>t9,_4:()=>M,Km:()=>C,Pp:()=>rt,Ag:()=>tC,hR:()=>
877L,dJ:()=>rj,OO:()=>r5,u9:()=>r7,GW:()=>rH,nj:()=>ne,OS:()=>W,pq:()=>r8,_H:()=>nT,Ru:()=>nW,yI:()=>nv,V2:()=>t0,kb:()=>nr,n1:()=>n_,Ln:()=>tF,di:()=>ia,Gj:()=>rX,vg:()=>q,E8:()=>z,he:()=>X,XN:()=>na,iW:()=>ns,uq:()=>ri,DT:()=>n5,Pt:()=>rB,IH:()=>n7,oA:()=>rd,TO:()=>t6,Pk:()=>H,$o:()=>np,bR:()=>t7,tS:()=>rr,BP:()=>rC,hk:()=>ny,kO:()=>r3,X1:()=>r6,bO:()=>t5,h3:()=>$,M_:()=>t4,Y7:()=>r1,O1:()=>r0,Bw:()=>nx,A4:()=>n4,FW:()=>tz,TE:()=>rn,by:()=>tj,XZ:()=>F,M6:()=>U,HY:()=>t2,$f:()=>iu,s9:()=>nf,Mt:()=>rD,$P:()=>nN,ah:()=>no,fE:()=>nF,Uw:()=>tN,D8:()=>nj,iH:()=>nd,zi:()=>nz,dW:()=>B,QE:()=>N,gP:()=>rQ,lB:()=>nV,NW:()=>ni,vB:()=>nH,OE:()=>rK,Rv:()=>nJ,y:()=>nQ,dL:()=>ry,wF:()=>ic,vT:()=>nq,dQ:()=>nX,k2:()=>rR,xv:()=>id,A5:()=>ih,vr:()=>nY,u3:()=>tM,uR:()=>j,q5:()=>n0,Nc:()=>tU,uC:()=>tB,_J:()=>n$,Eo:()=>n6,MT:()=>n3,XO:()=>tD,CF:()=>nI,He:()=>nD,WD:()=>r_,RO:()=>nR,ER:()=>rf,Fr:()=>em,W0:()=>J,$Z:()=>rm,ff:()=>nM,Wp:()=>k});var k={};n.r(k),n.d(k,{BaseTextureCache:()=>tw,BoundingBox:()=>tg,CanvasRenderTarget:()=>tT,DATA_URI:()=>ti,EventEmitter:()=>eg,ProgramCache:()=>tv,TextureCache:()=>tb,clearTextureCache:()=>t_,correctBlendMode:()=>te,createIndicesForQuads:()=>to,decomposeDataUri:()=>tI,deprecation:()=>ex,destroyTextureCache:()=>tx,detectVideoAlphaMode:()=>eO,determineCrossOrigin:()=>tP,earcut:()=>ev,getBufferType:()=>ta,getCanvasBoundingBox:()=>tO,getResolutionOfUrl:()=>tk,hex2rgb:()=>e9,hex2string:()=>e2,interleaveTypedArrays:()=>tu,isMobile:()=>em,isPow2:()=>th,isWebGLSupported:()=>eP,log2:()=>tc,nextPow2:()=>tl,path:()=>eE,premultiplyBlendMode:()=>e4,premultiplyRgba:()=>tt,premultiplyTint:()=>tr,premultiplyTintToRgba:()=>tn,removeItems:()=>tf,rgb2hex:()=>e8,sayHello:()=>eI,sign:()=>td,skipHello:()=>eA,string2hex:()=>e7,trimCanvas:()=>tA,uid:()=>ty,url:()=>e_});var C=((s=C||{})[s.WEBGL_LEGACY=0]="WEBGL_LEGACY",s[s.WEBGL=1]="WEBGL",s[s.WEBGL2=2]="WEBGL2",s),$=((u=$||{})[u.UNKNOWN=0]="UNKNOWN",u[u.WEBGL=1]="WEBGL",u[u.CANVAS=2]="CANVAS",u),R=((l=R||{})[l.COLOR=16384]="COLOR",l[l.DEPTH=256]="DEPTH",l[l.STENCIL=1024]="STENCIL",l),D=((h=D||{})[h.NORMAL=0]="NORMAL",h[h.ADD=1]="ADD",h[h.MULTIPLY=2]="MULTIPLY",h[h.SCREEN=3]="SCREEN",h[h.OVERLAY=4]="OVERLAY",h[h.DARKEN=5]="DARKEN",h[h.LIGHTEN=6]="LIGHTEN",h[h.COLOR_DODGE=7]="COLOR_DODGE",h[h.COLOR_BURN=8]="COLOR_BURN",h[h.HARD_LIGHT=9]="HARD_LIGHT",h[h.SOFT_LIGHT=10]="SOFT_LIGHT",h[h.DIFFERENCE=11]="DIFFERENCE",h[h.EXCLUSION=12]="EXCLUSION",h[h.HUE=13]="HUE",h[h.SATURATION=14]="SATURATION",h[h.COLOR=15]="COLOR",h[h.LUMINOSITY=16]="LUMINOSITY",h[h.NORMAL_NPM=17]="NORMAL_NPM",h[h.ADD_NPM=18]="ADD_NPM",h[h.SCREEN_NPM=19]="SCREEN_NPM",h[h.NONE=20]="NONE",h[h.SRC_OVER=0]="SRC_OVER",h[h.SRC_IN=21]="SRC_IN",h[h.SRC_OUT=22]="SRC_OUT",h[h.SRC_ATOP=23]="SRC_ATOP",h[h.DST_OVER=24]="DST_OVER",h[h.DST_IN=25]="DST_IN",h[h.DST_OUT=26]="DST_OUT",h[h.DST_ATOP=27]="DST_ATOP",h[h.ERASE=26]="ERASE",h[h.SUBTRACT=28]="SUBTRACT",h[h.XOR=29]="XOR",h),M=((c=M||{})[c.POINTS=0]="POINTS",c[c.LINES=1]="LINES",c[c.LINE_LOOP=2]="LINE_LOOP",c[c.LINE_STRIP=3]="LINE_STRIP",c[c.TRIANGLES=4]="TRIANGLES",c[c.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",c[c.TRIANGLE_FAN=6]="TRIANGLE_FAN",c),L=((f=L||{})[f.RGBA=6408]="RGBA",f[f.RGB=6407]="RGB",f[f.RG=33319]="RG",f[f.RED=6403]="RED",f[f.RGBA_INTEGER=36249]="RGBA_INTEGER",f[f.RGB_INTEGER=36248]="RGB_INTEGER",f[f.RG_INTEGER=33320]="RG_INTEGER",f[f.RED_INTEGER=36244]="RED_INTEGER",f[f.ALPHA=6406]="ALPHA",f[f.LUMINANCE=6409]="LUMINANCE",f[f.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",f[f.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",f[f.DEPTH_STENCIL=34041]="DEPTH_STENCIL",f),B=((d=B||{})[d.TEXTURE_2D=3553]="TEXTURE_2D",d[d.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",d[d.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",d[d.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",d[d.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",d[d.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",d[d.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",d[d.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",d[d.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",d),N=((p=N||{})[p.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",p[p.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",p[p.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",p[p.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",p[p.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",p[p.UNSIGNED_INT=5125]="UNSIGNED_INT",p[p.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",p[p.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",p[p.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",p[p.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",p[p.BYTE=5120]="BYTE",p[p.SHORT=5122]="SHORT",p[p.INT=5124]="INT",p[p.FLOAT=5126]="FLOAT",p[p.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",p[p.HALF_FLOAT=36193]="HALF_FLOAT",p),F=((y=F||{})[y.FLOAT=0]="FLOAT",y[y.INT=1]="INT",y[y.UINT=2]="UINT",y),U=((m=U||{})[m.NEAREST=0]="NEAREST",m[m.LINEAR=1]="LINEAR",m),j=((g=j||{})[g.CLAMP=33071]="CLAMP",g[g.REPEAT=10497]="REPEAT",g[g.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",g),z=((v=z||{})[v.OFF=0]="OFF",v[v.POW2=1]="POW2",v[v.ON=2]="ON",v[v.ON_MANUAL=3]="ON_MANUAL",v),G=((b=G||{})[b.NPM=0]="NPM",b[b.UNPACK=1]="UNPACK",b[b.PMA=2]="PMA",b[b.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",b[b.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",b[b.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA",b),V=((w=V||{})[w.NO=0]="NO",w[w.YES=1]="YES",w[w.AUTO=2]="AUTO",w[w.BLEND=0]="BLEND",w[w.CLEAR=1]="CLEAR",w[w.BLIT=2]="BLIT",w),W=((x=W||{}
877)[x.AUTO=0]="AUTO",x[x.MANUAL=1]="MANUAL",x),H=((_=H||{}).LOW="lowp",_.MEDIUM="mediump",_.HIGH="highp",_),q=((T=q||{})[T.NONE=0]="NONE",T[T.SCISSOR=1]="SCISSOR",T[T.STENCIL=2]="STENCIL",T[T.SPRITE=3]="SPRITE",T[T.COLOR=4]="COLOR",T),Y=((S=Y||{})[S.RED=1]="RED",S[S.GREEN=2]="GREEN",S[S.BLUE=4]="BLUE",S[S.ALPHA=8]="ALPHA",S),X=((E=X||{})[E.NONE=0]="NONE",E[E.LOW=2]="LOW",E[E.MEDIUM=4]="MEDIUM",E[E.HIGH=8]="HIGH",E),K=((O=K||{})[O.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",O[O.ARRAY_BUFFER=34962]="ARRAY_BUFFER",O[O.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",O);let Z={createCanvas:(t,r)=>{let n=document.createElement("canvas");return n.width=t,n.height=r,n},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(t,r)=>fetch(t,r),parseXML:t=>new DOMParser().parseFromString(t,"text/xml")},J={ADAPTER:Z,RESOLUTION:1,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1};var Q=/iPhone/i,ee=/iPod/i,et=/iPad/i,er=/\biOS-universal(?:.+)Mac\b/i,en=/\bAndroid(?:.+)Mobile\b/i,ei=/Android/i,eo=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,ea=/Silk/i,es=/Windows Phone/i,eu=/\bWindows(?:.+)ARM\b/i,el=/BlackBerry/i,eh=/BB10/i,ec=/Opera Mini/i,ef=/\b(CriOS|Chrome)(?:.+)Mobile/i,ed=/Mobile(?:.+)Firefox\b/i,ep=function(t){return void 0!==t&&"MacIntel"===t.platform&&"number"==typeof t.maxTouchPoints&&t.maxTouchPoints>1&&"u"<typeof MSStream};function ey(t){var r,n={userAgent:"",platform:"",maxTouchPoints:0};t||"u"<typeof navigator?"string"==typeof t?n.userAgent=t:t&&t.userAgent&&(n={userAgent:t.userAgent,platform:t.platform,maxTouchPoints:t.maxTouchPoints||0}):n={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};var i=n.userAgent,o=i.split("[FBAN");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split("Twitter"))[1]&&(i=o[0]);var a=(r=i,function(t){return t.test(r)}),s={apple:{phone:a(Q)&&!a(es),ipod:a(ee),tablet:!a(Q)&&(a(et)||ep(n))&&!a(es),universal:a(er),device:(a(Q)||a(ee)||a(et)||a(er)||ep(n))&&!a(es)},amazon:{phone:a(eo),tablet:!a(eo)&&a(ea),device:a(eo)||a(ea)},android:{phone:!a(es)&&a(eo)||!a(es)&&a(en),tablet:!a(es)&&!a(eo)&&!a(en)&&(a(ea)||a(ei)),device:!a(es)&&(a(eo)||a(ea)||a(en)||a(ei))||a(/\bokhttp\b/i)},windows:{phone:a(es),tablet:a(eu),device:a(es)||a(eu)},other:{blackberry:a(el),blackberry10:a(eh),opera:a(ec),firefox:a(ed),chrome:a(ef),device:a(el)||a(eh)||a(ec)||a(ed)||a(ef)},any:!1,phone:!1,tablet:!1};return s.any=s.apple.device||s.android.device||s.windows.device||s.other.device,s.phone=s.apple.phone||s.android.phone||s.windows.phone,s.tablet=s.apple.tablet||s.android.tablet||s.windows.tablet,s}let em=(ey.default??ey)(globalThis.navigator);J.RETINA_PREFIX=/@([0-9\.]+)x/,J.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var eg=n(9452),ev=n(6570),eb=n(8835);let ew={};function ex(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3;if(ew[r])return;let i=Error().stack;typeof i>"u"?console.warn("PixiJS Deprecation Warning: ",`${r}
878Deprecated since v${t}`):(i=i.split(`
879`).splice(n).join(`
880`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${r}
881Deprecated since v${t}`),console.warn(i),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${r}
882Deprecated since v${t}`),console.warn(i))),ew[r]=!0}let e_={get parse(){return ex("7.3.0","utils.url.parse is deprecated, use native URL API instead."),eb.qg},get format(){return ex("7.3.0","utils.url.format is deprecated, use native URL API instead."),eb.GP},get resolve(){return ex("7.3.0","utils.url.resolve is deprecated, use native URL API instead."),eb.hd}};function eT(t){if("string"!=typeof t)throw TypeError(`Path must be a string. Received ${JSON.stringify(t)}`)}function eS(t){return t.split("?")[0].split("#")[0]}let eE={toPosix:t=>t.replace(RegExp("\\".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),"/"),isUrl(t){return/^https?:/.test(this.toPosix(t))},isDataUrl:t=>/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(t),isBlobUrl:t=>
882t.startsWith("blob:"),hasProtocol(t){return/^[^/:]+:/.test(this.toPosix(t))},getProtocol(t){eT(t),t=this.toPosix(t);let r=/^file:\/\/\//.exec(t);if(r)return r[0];let n=/^[^/:]+:\/{0,2}/.exec(t);return n?n[0]:""},toAbsolute(t,r,n){if(eT(t),this.isDataUrl(t)||this.isBlobUrl(t))return t;let i=eS(this.toPosix(r??J.ADAPTER.getBaseUrl())),o=eS(this.toPosix(n??this.rootname(i)));return(t=this.toPosix(t)).startsWith("/")?eE.join(o,t.slice(1)):this.isAbsolute(t)?t:this.join(i,t)},normalize(t){if(eT(t),0===t.length)return".";if(this.isDataUrl(t)||this.isBlobUrl(t))return t;let r="",n=(t=this.toPosix(t)).startsWith("/");this.hasProtocol(t)&&(r=this.rootname(t),t=t.slice(r.length));let i=t.endsWith("/");return(t=function(t,r){let n="",i=0,o=-1,a=0,s=-1;for(let u=0;u<=t.length;++u){if(u<t.length)s=t.charCodeAt(u);else{if(47===s)break;s=47}if(47===s){if(o!==u-1&&1!==a)if(o!==u-1&&2===a){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){let t=n.lastIndexOf("/");if(t!==n.length-1){-1===t?(n="",i=0):i=(n=n.slice(0,t)).length-1-n.lastIndexOf("/"),o=u,a=0;continue}}else if(2===n.length||1===n.length){n="",i=0,o=u,a=0;continue}}r&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+=`/${t.slice(o+1,u)}`:n=t.slice(o+1,u),i=u-o-1;o=u,a=0}else 46===s&&-1!==a?++a:a=-1}return n}(t,!1)).length>0&&i&&(t+="/"),n?`/${t}`:r+t},isAbsolute(t){return eT(t),t=this.toPosix(t),!!this.hasProtocol(t)||t.startsWith("/")},join(){let t;if(0==arguments.length)return".";for(let r=0;r<arguments.length;++r){let n=r<0||arguments.length<=r?void 0:arguments[r];if(eT(n),n.length>0)if(void 0===t)t=n;else{let i=(r-1<0||arguments.length<=r-1?void 0:arguments[r-1])??"";this.joinExtensions.includes(this.extname(i).toLowerCase())?t+=`/../${n}`:t+=`/${n}`}}return void 0===t?".":this.normalize(t)},dirname(t){if(eT(t),0===t.length)return".";let r=(t=this.toPosix(t)).charCodeAt(0),n=47===r,i=-1,o=!0,a=this.getProtocol(t),s=t;for(let n=(t=t.slice(a.length)).length-1;n>=1;--n)if(47===(r=t.charCodeAt(n))){if(!o){i=n;break}}else o=!1;return -1===i?n?"/":this.isUrl(s)?a+t:a:n&&1===i?"//":a+t.slice(0,i)},rootname(t){eT(t);let r="";if(r=(t=this.toPosix(t)).startsWith("/")?"/":this.getProtocol(t),this.isUrl(t)){let n=t.indexOf("/",r.length);(r=-1!==n?t.slice(0,n):t).endsWith("/")||(r+="/")}return r},basename(t,r){eT(t),r&&eT(r),t=eS(this.toPosix(t));let n,i=0,o=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return"";let s=r.length-1,u=-1;for(n=t.length-1;n>=0;--n){let l=t.charCodeAt(n);if(47===l){if(!a){i=n+1;break}}else -1===u&&(a=!1,u=n+1),s>=0&&(l===r.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u))}return i===o?o=u:-1===o&&(o=t.length),t.slice(i,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){i=n+1;break}}else -1===o&&(a=!1,o=n+1);return -1===o?"":t.slice(i,o)},extname(t){eT(t);let r=-1,n=0,i=-1,o=!0,a=0;for(let s=(t=eS(this.toPosix(t))).length-1;s>=0;--s){let u=t.charCodeAt(s);if(47!==u)-1===i&&(o=!1,i=s+1),46===u?-1===r?r=s:1!==a&&(a=1):-1!==r&&(a=-1);else if(!o){n=s+1;break}}return -1===r||-1===i||0===a||1===a&&r===i-1&&r===n+1?"":t.slice(r,i)},parse(t){let r;eT(t);let n={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return n;let i=(t=eS(this.toPosix(t))).charCodeAt(0),o=this.isAbsolute(t);n.root=this.rootname(t),r=o||this.hasProtocol(t)?1:0;let a=-1,s=0,u=-1,l=!0,h=t.length-1,c=0;for(;h>=r;--h)if(47!==(i=t.charCodeAt(h)))-1===u&&(l=!1,u=h+1),46===i?-1===a?a=h:1!==c&&(c=1):-1!==a&&(c=-1);else if(!l){s=h+1;break}return -1===a||-1===u||0===c||1===c&&a===u-1&&a===s+1?-1!==u&&(n.base=n.name=0===s&&o?t.slice(1,u):t.slice(s,u)):(0===s&&o?(n.name=t.slice(1,a),n.base=t.slice(1,u)):(n.name=t.slice(s,a),n.base=t.slice(s,u)),n.ext=t.slice(a,u)),n.dir=this.dirname(t),n},sep:"/",delimiter:":",joinExtensions:[".html"]};async function eO(){return i??(i=(async()=>{let t=document.createElement("canvas").getContext("webgl");if(!t)return G.UNPACK;let r=await new Promise(t=>{let r=document.createElement("video");r.onloadeddata=()=>t(r),r.onerror=()=>t(null),r.autoplay=!1,r.crossOrigin="anonymous",r.preload="auto",r.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",r.load()});if(!r)return G.UNPACK;let n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n);let i=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,i),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r);let o=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,o),t.deleteFramebuffer(i),t.deleteTexture(n),t.getExtension("WEBGL_lose_context")?.loseContext(),o[0]<=o[3]?G.PMA:G.UNPACK})()),i}function eA(){ex("7.0.0","skipHello is deprecated, please use settings.RENDER_OPTIONS.hello")}function eI(){ex("7.0.0",'sayHello is deprecated, please use Renderer\'s "hello" option')}function eP(){return typeof o>"u"&&(o=function(){let t={stencil:!0,failIfMajorPerformanceCaveat:J.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!J.ADAPTER.getWebGLRenderingContext())return!1;let r=J.ADAPTER.createCanvas(),n=r.getContext("webgl",t)||r.getContext("experimental-webgl",t),i=!!n?.getContextAttributes()?.stencil;if(n){let t=n.getExtension("WEBGL_lose_context");t&&t.loseContext()}return n=null,i}catch{return!1}}()),o}var ek={grad:.9,turn:360,rad:360/(2*Math.PI)},eC=function(t){return"string"==typeof t?t.length>0:"number"==typeof t},e$=function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=Math.pow(10,r)),Math.round(n*t)/n+0},eR=function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=1),t>n?n:t>r?t:r},eD=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},eM=function(t){return{r:eR(t.r,0,255),g:eR(t.g,0,255),b:eR(t.b,0,255),a:eR(t.a)}},eL=function(t){return{r:e$(t.r),g:e$(t.g),b:e$(t.b),a:e$(t.a,3)}},eB=/^#([0-9a-f]{3,8})$/i,eN=function(t){var r=t.toString(16);return r.length<2?"0"+r:r},eF=function(t){var r=t.r,n=t.g,i=t.b,o=t.a,a=Math.max(r,n,i),s=a-Math.min(r,n,i),u=s?a===r?(n-i)/s:a===n?2+(i-r)/s:4+(r-n)/s:0;return{h:60*(u<0?u+6:u),s:a?s/a*100:0,v:a/255*100,a:o}},eU=function(t){var r=t.h,n=t.s,i=t.v,o=t.a;r=r/360*6,n/=100,i/=100;
882var a=Math.floor(r),s=i*(1-n),u=i*(1-(r-a)*n),l=i*(1-(1-r+a)*n),h=a%6;return{r:255*[i,u,s,s,l,i][h],g:255*[l,i,i,u,s,s][h],b:255*[s,s,l,i,i,u][h],a:o}},ej=function(t){return{h:eD(t.h),s:eR(t.s,0,100),l:eR(t.l,0,100),a:eR(t.a)}},ez=function(t){return{h:e$(t.h),s:e$(t.s),l:e$(t.l),a:e$(t.a,3)}},eG=function(t){var r,n;return eU((r=t.s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}))},eV=function(t){var r,n,i,o;return{h:(r=eF(t)).h,s:(o=(200-(n=r.s))*(i=r.v)/100)>0&&o<200?n*i/100/(o<=100?o:200-o)*100:0,l:o/2,a:r.a}},eW=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,eH=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,eq=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,eY=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,eX={string:[[function(t){var r=eB.exec(t);return r?(t=r[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?e$(parseInt(t[3]+t[3],16)/255,2):1}:6===t.length||8===t.length?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:8===t.length?e$(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var r=eq.exec(t)||eY.exec(t);return r?r[2]!==r[4]||r[4]!==r[6]?null:eM({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):null},"rgb"],[function(t){var r,n,i=eW.exec(t)||eH.exec(t);return i?eG(ej({h:(r=i[1],void 0===(n=i[2])&&(n="deg"),Number(r)*(ek[n]||1)),s:Number(i[3]),l:Number(i[4]),a:void 0===i[5]?1:Number(i[5])/(i[6]?100:1)})):null},"hsl"]],object:[[function(t){var r=t.r,n=t.g,i=t.b,o=t.a;
882return eC(r)&&eC(n)&&eC(i)?eM({r:Number(r),g:Number(n),b:Number(i),a:Number(void 0===o?1:o)}):null},"rgb"],[function(t){var r=t.h,n=t.s,i=t.l,o=t.a;return eC(r)&&eC(n)&&eC(i)?eG(ej({h:Number(r),s:Number(n),l:Number(i),a:Number(void 0===o?1:o)})):null},"hsl"],[function(t){var r,n=t.h,i=t.s,o=t.v,a=t.a;return eC(n)&&eC(i)&&eC(o)?eU({h:eD((r={h:Number(n),s:Number(i),v:Number(o),a:Number(void 0===a?1:a)}).h),s:eR(r.s,0,100),v:eR(r.v,0,100),a:eR(r.a)}):null},"hsv"]]},eK=function(t,r){for(var n=0;n<r.length;n++){var i=r[n][0](t);if(i)return[i,r[n][1]]}return[null,void 0]},eZ=function(t,r){var n=eV(t);return{h:n.h,s:eR(n.s+100*r,0,100),l:n.l,a:n.a}},eJ=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},eQ=function(t,r){var n=eV(t);return{h:n.h,s:n.s,l:eR(n.l+100*r,0,100),a:n.a}},e1=function(){function t(t){this.parsed=("string"==typeof t?eK(t.trim(),eX.string):"object"==typeof t&&null!==t?eK(t,eX.object):[null,void 0])[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return null!==this.parsed},t.prototype.brightness=function(){return e$(eJ(this.rgba),2)},t.prototype.isDark=function(){return .5>eJ(this.rgba)},t.prototype.isLight=function(){return eJ(this.rgba)>=.5},t.prototype.toHex=function(){var t,r,n,i,o,a;return r=(t=eL(this.rgba)).r,n=t.g,i=t.b,a=(o=t.a)<1?eN(e$(255*o)):"","#"+eN(r)+eN(n)+eN(i)+a},t.prototype.toRgb=function(){return eL(this.rgba)},t.prototype.toRgbString=function(){var t,r,n,i,o;return r=(t=eL(this.rgba)).r,n=t.g,i=t.b,(o=t.a)<1?"rgba("+r+", "+n+", "+i+", "+o+")":"rgb("+r+", "+n+", "+i+")"},t.prototype.toHsl=function(){return ez(eV(this.rgba))},t.prototype.toHslString=function(){var t,r,n,i,o;return r=(t=ez(eV(this.rgba))).h,n=t.s,i=t.l,(o=t.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+o+")":"hsl("+r+", "+n+"%, "+i+"%)"},t.prototype.toHsv=function(){var t;return{h:e$((t=eF(this.rgba)).h),s:e$(t.s),v:e$(t.v),a:e$(t.a,3)}},t.prototype.invert=function(){var t;return e0({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a})},t.prototype.saturate=function(t){return void 0===t&&(t=.1),e0(eZ(this.rgba,t))},t.prototype.desaturate=function(t){return void 0===t&&(t=.1),e0(eZ(this.rgba,-t))},t.prototype.grayscale=function(){return e0(eZ(this.rgba,-1))},t.prototype.lighten=function(t){return void 0===t&&(t=.1),e0(eQ(this.rgba,t))},t.prototype.darken=function(t){return void 0===t&&(t=.1),e0(eQ(this.rgba,-t))},t.prototype.rotate=function(t){return void 0===t&&(t=15),this.hue(this.hue()+t)},t.prototype.alpha=function(t){var r;return"number"==typeof t?e0({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):e$(this.rgba.a,3)},t.prototype.hue=function(t){var r=eV(this.rgba);return"number"==typeof t?e0({h:t,s:r.s,l:r.l,a:r.a}):e$(r.h)},t.prototype.isEqual=function(t){return this.toHex()===e0(t).toHex()},t}(),e0=function(t){return t instanceof e1?t:new e1(t)},e3=[];[function(t,r){var n={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",s
882andybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var o in n)i[n[o]]=o;var a={};t.prototype.toName=function(r){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var o,s=i[this.toHex()];if(s)return s;if(null==r?void 0:r.closest){var u=this.toRgb(),l=1/0,h="black";if(!a.length)for(var c in n)a[c]=new t(n[c]).toRgb();for(var f in n){var d=(o=a[f],Math.pow(u.r-o.r,2)+Math.pow(u.g-o.g,2)+Math.pow(u.b-o.b,2));d<l&&(l=d,h=f)}return h}},r.string.push([function(r){var i=r.toLowerCase(),o="transparent"===i?"#0000":n[i];return o?new t(o).toRgb():null},"name"])}].forEach(function(t){0>e3.indexOf(t)&&(t(e1,eX),e3.push(t))});let e6=class t{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0xffffff;this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=0xffffff,this.value=t}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(r){if(r instanceof t)this._value=this.cloneSource(r._value),this._int=r._int,this._components.set(r._components);else{if(null===r)throw Error("Cannot set PIXI.Color#value to null");null!==this._value&&this.isSourceEqual(this._value,r)||(this.normalize(r),this._value=this.cloneSource(r))}}get value(){return this._value}cloneSource(t){return"string"==typeof t||"number"==typeof t||t instanceof Number||null===t?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):"object"==typeof t&&null!==t?{...t}:t}isSourceEqual(t,r){let n=typeof t;if(n!==typeof r)return!1;if("number"===n||"string"===n||t instanceof Number)return t===r;if(Array.isArray(t)&&Array.isArray(r)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(r))return t.length===r.length&&t.every((t,n)=>t===r[n]);if(null!==t&&null!==r){let n=Object.keys(t),i=Object.keys(r);return n.length===i.length&&n.every(n=>t[n]===r[n])}return t===r}toRgba(){let[t,r,n,i]=this._components;return{r:t,g:r,b:n,a:i}}toRgb(){let[t,r,n]=this._components;return{r:t,g:r,b:n}}toRgbaString(){let[t,r,n]=this.toUint8RgbArray();return`rgba(${t},${r},${n},${this.alpha})`}toUint8RgbArray(t){let[r,n,i]=this._components;return(t=t??[])[0]=Math.round(255*r),t[1]=Math.round(255*n),t[2]=Math.round(255*i),t}toRgbArray(t){t=t??[];let[r,n,i]=this._components;return t[0]=r,t[1]=n,t[2]=i,t}toNumber(){return this._int}toLittleEndianNumber(){let t=this._int;return(t>>16)+(65280&t)+((255&t)<<16)}multiply(r){let[n,i,o,a]=t.temp.setValue(r)._components;return this._components[0]*=n,this._components[1]*=i,this._components[2]*=o,this._components[3]*=a,this.refreshInt(),this._value=null,this}premultiply(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return r&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this.refreshInt(),this._value=null,this}toPremultiplied(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(1===t)return -0x1000000+this._int;if(0===t)return r?0:this._int;let n=this._int>>16&255,i=this._int>>8&255,o=255&this._int;return r&&(n=n*t+.5|0,i=i*t+.5|0,o=o*t+.5|0),(255*t<<24)+(n<<16)+(i<<8)+o}toHex(){let t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){let t=Math.round(255*this._components[3]).toString(16);return this.toHex()+"00".substring(0,2-t.length)+t}setAlpha(t){return this._components[3]=this._clamp(t),this}round(t){let[r,n,i]=this._components;return this._components[0]=Math.round(r*t)/t,this._components[1]=Math.round(n*t)/t,this._components[2]=Math.round(i*t)/t,this.refreshInt(),this._value=null,this}toArray(t){t=t??[];let[r,n,i,o]=this._components;return t[0]=r,t[1]=n,t[2]=i,t[3]=o,t}normalize(r){let n,i,o,a;if(("number"==typeof r||r instanceof Number)&&r>=0&&r<=0xffffff)n=(r>>16&255)/255,i=(r>>8&255)/255,o=(255&r)/255,a=1;else if((Array.isArray(r)||r instanceof Float32Array)&&r.length>=3&&r.length<=4)r=this._clamp(r),[n,i,o,a=1]=r;else if((r instanceof Uint8Array||r instanceof Uint8ClampedArray)&&r.length>=3&&r.length<=4)r=this._clamp(r,0,255),[n,i,o,a=255]=r,n/=255,i/=255,o/=255,a/=255;else if("string"==typeof r||"object"==typeof r){if("string"==typeof r){let n=t.HEX_PATTERN.exec(r);n&&(r=`#${n[2]}`)}let s=e0(r);s.isValid()&&({r:n,g:i,b:o,a:a}=s.rgba,n/=255,i/=255,o/=255)}if(void 0===n)throw Error(`Unable to convert color ${r}`);this._components[0]=n,this._components[1]=i,this._components[2]=o,this._components[3]=a,this.refreshInt()}refreshInt(){this._clamp(this._components);let[t,r,n]=this._components;this._int=(255*t<<16)+(255*r<<8)+(255*n|0)}_clamp(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return"number"==typeof t?Math.min(Math.max(t,r),n):(t.forEach((i,o)=>{t[o]=Math.min(Math.max(i,r),n)}),t)}};e6.shared=new e6,e6.temp=new e6,e6.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let e5=e6;function e9(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return ex("7.2.0","utils.hex2rgb is deprecated, use Color#toRgbArray instead"),e5.shared.setValue(t).toRgbArray(r)}function e2(t){return ex("7.2.0","utils.hex2string is deprecated, use Color#toHex instead"),e5.shared.setValue(t).toHex()}function e7(t){return ex("7.2.0","utils.string2hex is deprecated, use Color#toNumber instead"),e5.shared.setValue(t).toNumber()}function e8(t){return ex("7.2.0","utils.rgb2hex is deprecated, use Color#toNumber instead"),e5.shared.setValue(t).toNumber()}let e4=function(){let t=[],r=[];for(let n=0;n<32;n++)t[n]=n,r[n]=n;t[D.NORMAL_NPM]=D.NORMAL,t[D.ADD_NPM]=D.ADD,t[D.SCREEN_NPM]=D.SCREEN,r[D.NORMAL]=D.NORMAL_NPM,r[D.ADD]=D.ADD_NPM,r[D.SCREEN]=D.SCREEN_NPM;let n=[];return n.push(r),n.push(t),n}();function te(t,r){return e4[+!!r][t]}function tt(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];return ex("7.2.0","utils.premultiplyRgba has moved to Color.premultiply"),e5.shared.setValue(t).premultiply(r,i).toArray(n??new Float32Array(4))}function tr(t,r){return ex("7.2.0","utils.premultiplyTint has moved to Color.toPremultiplied"),e5.shared.setValue(t).toPremultiplied(r)}function tn(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];return ex("7.2.0","utils.premultiplyTintToRgba has moved to Color.premultiply"),e5.shared.setValue(t).premultiply(r,i).toArray(n??new Float32Array(4))}let ti=/^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i;function to(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=6*t;if((r=r||new Uint16Array(n)).length!==n)throw Error(`Out buffer length is incorrect, got ${r.length} and expected ${n}`);for(let t=0,i=0;t<n;t+=6,i+=4)r[t+0]=i+0,r[t+1]=i+1,r[t+2]=i+2,r[t+3]=i+0,r[t+4]=i+2,r[t+5]=i+3;return r}function ta(t){if(4===t.BYTES_PER_ELEMENT)return t instanceof Float32Array?"Float32Array":t instanceof Uint32Array?"Uint32Array":"Int32Array";if(2===t.BYTES_PER_ELEMENT){if(t instanceof Uint16Array)return"Uint16Array"}else if(1===t.BYTES_PER_ELEMENT&&t instanceof Uint8Array)return"Uint8Array";return null}let ts={Float32Array,Uint32Array,Int32Array,Uint8Array};function tu(t,r){let n=0,i=0,o={};for(let o=0;o<t.length;o++)i+=r[o],n+=t[o].length;let a=new ArrayBuffer(4*n),s=null,u=0;for(let n=0;n<t.length;n++){let l=r[n],h=t[n],c=ta(h);o[c]||(o[c]=new ts[c](a)),s=o[c];for(let t=0;t<h.length;t++)s[(t/l|0)*i+u+t%l]=h[t];u+=l}return new Float32Array(a)}function tl(t){return t+=+(0===t),--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}function th(t){return!(t&t-1||!t)}function tc(t){let r=(t>65535)<<4,n=((t>>>=r)>255)<<3;return r|=n,r|=n=((t>>
882>=n)>15)<<2,(r|=n=((t>>>=n)>3)<<1)|(t>>>=n)>>1}function tf(t,r,n){let i,o=t.length;if(r>=o||0===n)return;let a=o-(n=r+n>o?o-r:n);for(i=r;i<a;++i)t[i]=t[i+n];t.length=a}function td(t){return 0===t?0:t<0?-1:1}let tp=0;function ty(){return++tp}let tm=class{constructor(t,r,n,i){this.left=t,this.top=r,this.right=n,this.bottom=i}get width(){return this.right-this.left}get height(){return this.bottom-this.top}isEmpty(){return this.left===this.right||this.top===this.bottom}};tm.EMPTY=new tm(0,0,0,0);let tg=tm,tv={},tb=Object.create(null),tw=Object.create(null);function tx(){let t;for(t in tb)tb[t].destroy();for(t in tw)tw[t].destroy()}function t_(){let t;for(t in tb)delete tb[t];for(t in tw)delete tw[t]}class tT{constructor(t,r,n){this._canvas=J.ADAPTER.createCanvas(),this._context=this._canvas.getContext("2d"),this.resolution=n||J.RESOLUTION,this.resize(t,r)}clear(){this._checkDestroyed(),this._context.setTransform(1,0,0,1,0,0),this._context.clearRect(0,0,this._canvas.width,this._canvas.height)}resize(t,r){this._checkDestroyed(),this._canvas.width=Math.round(t*this.resolution),this._canvas.height=Math.round(r*this.resolution)}destroy(){this._context=null,this._canvas=null}get width(){return this._checkDestroyed(),this._canvas.width}set width(t){this._checkDestroyed(),this._canvas.width=Math.round(t)}get height(){return this._checkDestroyed(),this._canvas.height}set height(t){this._checkDestroyed(),this._canvas.height=Math.round(t)}get canvas(){return this._checkDestroyed(),this._canvas}get context(){return this._checkDestroyed(),this._context}_checkDestroyed(){if(null===this._canvas)throw TypeError("The CanvasRenderTarget has already been destroyed")}}function tS(t,r,n){for(let i=0,o=4*n*r;i<r;++i,o+=4)if(0!==t[o+3])return!1;return!0}function tE(t,r,n,i,o){let a=4*r;for(let r=i,s=i*a+4*n;r<=o;++r,s+=a)if(0!==t[s+3])return!1;return!0}function tO(t){let{width:r,height:n}=t,i=t.getContext("2d",{willReadFrequently:!0});if(null===i)throw TypeError("Failed to get canvas 2D context");let o=i.getImageData(0,0,r,n).data,a=0,s=0,u=r-1,l=n-1;for(;s<n&&tS(o,r,s);)++s;if(s===n)return tg.EMPTY;for(;tS(o,r,l);)--l;for(;tE(o,r,a,s,l);)++a;for(;tE(o,r,u,s,l);)--u;return new tg(a,s,++u,++l)}function tA(t){let r=tO(t),{width:n,height:i}=r,o=null;if(!r.isEmpty()){let a=t.getContext("2d");if(null===a)throw TypeError("Failed to get canvas 2D context");o=a.getImageData(r.left,r.top,n,i)}return{width:n,height:i,data:o}}function tI(t){let r=ti.exec(t);if(r)return{mediaType:r[1]?r[1].toLowerCase():void 0,subType:r[2]?r[2].toLowerCase():void 0,charset:r[3]?r[3].toLowerCase():void 0,encoding:r[4]?r[4].toLowerCase():void 0,data:r[5]}}function tP(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis.location;if(t.startsWith("data:"))return"";r=r||globalThis.location;let n=new URL(t,document.baseURI);return n.hostname!==r.hostname||n.port!==r.port||n.protocol!==r.protocol?"anonymous":""}function tk(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=J.RETINA_PREFIX?.exec(t);return n?parseFloat(n[1]):r}var tC=((A=tC||{}).Renderer="renderer",A.Application="application",A.RendererSystem="renderer-webgl-system",A.RendererPlugin="renderer-webgl-plugin",A.CanvasRendererSystem="renderer-canvas-system",A.CanvasRendererPlugin="renderer-canvas-plugin",A.Asset="asset",A.Loa
882dParser="load-parser",A.ResolveParser="resolve-parser",A.CacheParser="cache-parser",A.DetectionParser="detection-parser",A);let t$=t=>{if("function"==typeof t||"object"==typeof t&&t.extension){if(!t.extension)throw Error("Extension class must have an extension object");t={..."object"!=typeof t.extension?{type:t.extension}:t.extension,ref:t}}if("object"!=typeof t)throw Error("Invalid extension type");return"string"==typeof(t={...t}).type&&(t.type=[t.type]),t},tR=(t,r)=>t$(t).priority??r,tD={_addHandlers:{},_removeHandlers:{},_queue:{},remove(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.map(t$).forEach(t=>{t.type.forEach(r=>this._removeHandlers[r]?.(t))}),this},add(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.map(t$).forEach(t=>{t.type.forEach(r=>{let n=this._addHandlers,i=this._queue;n[r]?n[r]?.(t):(i[r]=i[r]||[],i[r]?.push(t))})}),this},handle(t,r,n){let i=this._addHandlers,o=this._removeHandlers;if(i[t]||o[t])throw Error(`Extension type ${t} already has a handler`);i[t]=r,o[t]=n;let a=this._queue;return a[t]&&(a[t]?.forEach(t=>r(t)),delete a[t]),this},handleByMap(t,r){return this.handle(t,t=>{t.name&&(r[t.name]=t.ref)},t=>{t.name&&delete r[t.name]})},handleByList(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;return this.handle(t,t=>{r.includes(t.ref)||(r.push(t.ref),r.sort((t,r)=>tR(r,n)-tR(t,n)))},t=>{let n=r.indexOf(t.ref);-1!==n&&r.splice(n,1)})}};class tM{constructor(t){"number"==typeof t?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get uint16View(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw Error(`${t} isn't a valid view type`)}}}let tL=`precision mediump float;
883void main(void){
884float test = 0.1;
885%forloop%
886gl_FragColor = vec4(0.0);
887}`;function tB(t,r){if(0===t)throw Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let n=r.createShader(r.FRAGMENT_SHADER);for(;;){let i=tL.replace(/%forloop%/gi,function(t){let r="";for(let n=0;n<t;++n)n>0&&(r+=`
888else `),n<t-1&&(r+=`if(test == ${n}.0){}`);return r}(t));if(r.shaderSource(n,i),r.compileShader(n),r.getShaderParameter(n,r.COMPILE_STATUS))break;t=t/2|0}return t}class tN{constructor(){this.data=0,this.blendMode=D.NORMAL,this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(1&this.data)}set blend(t){!!(1&this.data)!==t&&(this.data^=1)}get offsets(){return!!(2&this.data)}set offsets(t){!!(2&this.data)!==t&&(this.data^=2)}get culling(){return!!(4&this.data)}set culling(t){!!(4&this.data)!==t&&(this.data^=4)}get depthTest(){return!!(8&this.data)}set depthTest(t){!!(8&this.data)!==t&&(this.data^=8)}get depthMask(){return!!(32&this.data)}set depthMask(t){!!(32&this.data)!==t&&(this.data^=32)}get clockwiseFrontFace(){return!!(16&this.data)}set clockwiseFrontFace(t){!!(16&this.data)!==t&&(this.data^=16)}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!==D.NONE,this._blendMode=t}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t}static for2d(){let t=new tN;return t.depthTest=!1,t.blend=!0,t}}tN.prototype.toString=function(){return`[@pixi/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`};let tF=[];function tU(t,r){if(!t)return null;let n="";if("string"==typeof t){let r=/\.(\w{3,4})(?:$|\?|#)/i.exec(t);r&&(n=r[1].toLowerCase())}for(let i=tF.length-1;i>=0;--i){let o=tF[i];if(o.test&&o.test(t,n))return new o(t,r)}throw Error("Unrecognized source type to auto-detect Resource")}class tj{constructor(t){this.items=[],this._name=t,this._aliasCount=0}emit(t,r,n,i,o,a,s,u){if(arguments.length>8)throw Error("max arguments reached");let{name:l,items:h}=this;this._aliasCount++;for(let c=0,f=h.length;c<f;c++)h[c][l](t,r,n,i,o,a,s,u);return h===this.items&&this._aliasCount--,this}ensureNonAliasedItems(){this._aliasCount>0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))}add(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this}remove(t){let r=this.items.indexOf(t);return -1!==r&&(this.ensureNonAliasedItems(),this.items.splice(r,1)),this}contains(t){return this.items.includes(t)}removeAll(){return this.ensureNonAliasedItems(),this.items.length=0,this}destroy(){this.removeAll(),this.items.length=0,this._name=""}get empty(){return 0===this.items.length}get name(){return this._name}}Object.defineProperties(tj.prototype,{dispatch:{value:tj.prototype.emit},run:{value:tj.prototype.emit}});class tz{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this._width=t,this._height=r,this.destroyed=!1,this.internal=!1,this.onResize=new tj("setRealSize"),this.onUpdate=new tj("update"),this.onError=ne
888w tj("onError")}bind(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)}unbind(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)}resize(t,r){(t!==this._width||r!==this._height)&&(this._width=t,this._height=r,this.onResize.emit(t,r))}get valid(){return!!this._width&&!!this._height}update(){this.destroyed||this.onUpdate.emit()}load(){return Promise.resolve(this)}get width(){return this._width}get height(){return this._height}style(t,r,n){return!1}dispose(){}destroy(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)}static test(t,r){return!1}}class tG extends tz{constructor(t,r){const{width:n,height:i}=r||{};if(!n||!i)throw Error("BufferResource width or height invalid");super(n,i),this.data=t,this.unpackAlignment=r.unpackAlignment??4}upload(t,r,n){let i=t.gl;i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===G.UNPACK);let o=r.realWidth,a=r.realHeight;return n.width===o&&n.height===a?i.texSubImage2D(r.target,0,0,0,o,a,r.format,n.type,this.data):(n.width=o,n.height=a,i.texImage2D(r.target,0,n.internalFormat,o,a,0,r.format,n.type,this.data)),!0}dispose(){this.data=null}static test(t){return null===t||t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}let tV={scaleMode:U.NEAREST,alphaMode:G.NPM},tW=class t extends eg{constructor(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super();const{alphaMode:i,mipmap:o,anisotropicLevel:a,scaleMode:s,width:u,height:l,wrapMode:h,format:c,type:f,target:d,resolution:p,resourceOptions:y}=n=Object.assign({},t.defaultOptions,n);!r||r instanceof tz||((r=tU(r,y)).internal=!0),this.resolution=p||J.RESOLUTION,this.width=Math.round((u||0)*this.resolution)/this.resolution,this.height=Math.round((l||0)*this.resolution)/this.resolution,this._mipmap=o,this.anisotropicLevel=a,this._wrapMode=h,this._scaleMode=s,this.format=c,this.type=f,this.target=d,this.alphaMode=i,this.uid=ty(),this.touched=0,this.isPowerOfTwo=!1,this._refreshPOT(),this._glTextures={},this.dirtyId=0,this.dirtyStyleId=0,this.cacheId=null,this.valid=u>0&&l>0,this.textureCacheIds=[],this.destroyed=!1,this.resource=null,this._batchEnabled=0,this._batchLocation=0,this.parentTextureArray=null,this.setResource(r)}get realWidth(){return Math.round(this.width*this.resolution)}get realHeight(){return Math.round(this.height*this.resolution)}get mipmap(){return this._mipmap}set mipmap(t){this._mipmap!==t&&(this._mipmap=t,this.dirtyStyleId++)}get scaleMode(){return this._scaleMode}set scaleMode(t){this._scaleMode!==t&&(this._scaleMode=t,this.dirtyStyleId++)}get wrapMode(){return this._wrapMode}set wrapMode(t){this._wrapMode!==t&&(this._wrapMode=t,this.dirtyStyleId++)}setStyle(t,r){let n;return void 0!==t&&t!==this.scaleMode&&(this.scaleMode=t,n=!0),void 0!==r&&r!==this.mipmap&&(this.mipmap=r,n=!0),n&&this.dirtyStyleId++,this}setSize(t,r,n){return n=n||this.resolution,this.setRealSize(t*n,r*n,n)}setRealSize(t,r,n){return this.resolution=n||this.resolution,this.width=Math.round(t)/this.resolution,this.height=Math.round(r)/this.resolution,this._refreshPOT(),this.update(),this}_refreshPOT(){this.isPowerOfTwo=th(this.realWidth)&&th(this.realHeight)}setResolution(t){let r=this.resolution;return r===t||(this.resolution=t,this.valid&&(this.width=Math.round(this.width*r)/t,this.height=Math.round(this.height*r)/t,this.emit("update",this)),this._refreshPOT()),this}setResource(t){if(this.resource===t)return this;if(this.resource)throw Error("Resource can be set only once");return t.bind(this),this.resource=t,this}update(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>
8880&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))}onError(t){this.emit("error",this,t)}destroy(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete tw[this.cacheId],delete tb[this.cacheId],this.cacheId=null),this.valid=!1,this.dispose(),t.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0,this.emit("destroyed",this),this.removeAllListeners()}dispose(){this.emit("dispose",this)}castToBaseTexture(){return this}static from(r,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:J.STRICT_TEXTURE_CACHE,o="string"==typeof r,a=null;if(o)a=r;else{if(!r._pixiId){let t=n?.pixiIdPrefix||"pixiid";r._pixiId=`${t}_${ty()}`}a=r._pixiId}let s=tw[a];if(o&&i&&!s)throw Error(`The cacheId "${a}" does not exist in BaseTextureCache.`);return s||((s=new t(r,n)).cacheId=a,t.addToCache(s,a)),s}static fromBuffer(r,n,i,o){let a,s,u=new tG(r=r||new Float32Array(n*i*4),{width:n,height:i,...o?.resourceOptions});return r instanceof Float32Array?(a=L.RGBA,s=N.FLOAT):r instanceof Int32Array?(a=L.RGBA_INTEGER,s=N.INT):r instanceof Uint32Array?(a=L.RGBA_INTEGER,s=N.UNSIGNED_INT):r instanceof Int16Array?(a=L.RGBA_INTEGER,s=N.SHORT):r instanceof Uint16Array?(a=L.RGBA_INTEGER,s=N.UNSIGNED_SHORT):r instanceof Int8Array?(a=L.RGBA,s=N.BYTE):(a=L.RGBA,s=N.UNSIGNED_BYTE),u.internal=!0,new t(u,Object.assign({},tV,{type:s,format:a},o))}static addToCache(t,r){r&&(t.textureCacheIds.includes(r)||t.textureCacheIds.push(r),tw[r]&&tw[r]!==t&&console.warn(`BaseTexture added to the cache with an id [${r}] that already had an entry`),tw[r]=t)}static removeFromCache(t){if("string"==typeof t){let r=tw[t];if(r){let n=r.textureCacheIds.indexOf(t);return n>-1&&r.textureCacheIds.splice(n,1),delete tw[t],r}}else if(t?.textureCacheIds){for(let r=0;r<t.textureCacheIds.length;++r)delete tw[t.textureCacheIds[r]];return t.textureCacheIds.length=0,t}return null}};tW.defaultOptions={mipmap:z.POW2,anisotropicLevel:0,scaleMode:U.LINEAR,wrapMode:j.CLAMP,alphaMode:G.UNPACK,target:B.TEXTURE_2D,format:L.RGBA,type:N.UNSIGNED_BYTE},tW._globalBatch=0;let tH=tW;class tq{constructor(){this.texArray=null,this.blend=0,this.type=M.TRIANGLES,this.start=0,this.size=0,this.data=null}}let tY=0;class tX{constructor(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.data=t||new Float32Array(1),this._glBuffers={},this._updateID=0,this.index=n,this.static=r,this.id=tY++,this.disposeRunner=new tj("disposeBuffer")}update(t){t instanceof Array&&(t=new Float32Array(t)),this.data=t||this.data,this._updateID++}dispose(){this.disposeRunner.emit(this,!1)}destroy(){this.dispose(),this.data=null}set index(t){this.type=t?K.ELEMENT_ARRAY_BUFFER:K.ARRAY_BUFFER}get index(){return this.type===K.ELEMENT_ARRAY_BUFFER}static from(t){return t instanceof Array&&(t=new Float32Array(t)),new tX(t)}}class tK{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:N.FLOAT,o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1;this.buffer=t,this.size=r,this.normalized=n,this.type=i,this.stride=o,this.start=a,this.instance=s,this.divisor=u}destroy(){this.buffer=null}static from(t,r,n,i,o){return new tK(t,r,n,i,o)}}let tZ={Float32Array,Uint32Array,Int32Array,Uint8Array},tJ={5126:4,5123:2,5121:1},tQ=0,t1={Float32Array,Uint32Array,Int32Array,Uint8Array,Uint16Array};class t0{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.buffers=t,this.indexBuffer=null,this.attributes=r,this.glVertexArrayObjects={},this.id=tQ++,this.instanced=!1,this.instanceCount=1,this.disposeRunner=new tj("disposeGeometry"),this.refCount=0}addAttribute(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(!r)throw Error("You must pass a buffer when creating an attribute");r instanceof tX||(r instanceof Array&&(r=new Float32Array(r)),r=new tX(r));let l=t.split("|");if(l.length>1){for(let t=0;t<l.length;t++)this.addAttribute(l[t],r,n,i,o);return this}let h=this.buffers.indexOf(r);return -1===h&&(this.buffers.push(r),h=this.buffers.length-1),this.attributes[t]=new tK(h,n,i,o,a,s,u),this.instanced=this.instanced||u,this}getAttribute(t){return this.attributes[t]}getBuffer(t){return this.buffers[this.getAttribute(t).buffer]}addIndex(t){return t instanceof tX||(t instanceof Array&&(t=new Uint16Array(t)),t=new tX(t)),t.type=K.ELEMENT_ARRAY_BUFFER,this.indexBuffer=t,this.buffers.includes(t)||this.buffers.push(t),this}getIndex(){return this.indexBuffer}interleave(){let t;if(1===this.buffers.length||2===this.buffers.length&&this.indexBuffer)return this;let r=[],n=[],i=new tX;for(t in this.attributes){let i=this.attributes[t],o=this.buffers[i.buffer];r.push(o.data),n.push(i.size*tJ[i.type]/4),i.buffer=0}for(i.data=function(t,r){let n=0,i=0,o={};for(let o=0;o<t.length;o++)i+=r[o],n+=t[o].length;let a=new ArrayBuffer(4*n),s=null,u=0;for(let n=0;n<t.length;n++){let l=r[n],h=t[n],c=ta(h);o[c]||(o[c]=new tZ[c](a)),s=o[c];for(let t=0;t<h.length;t++)s[(t/l|0)*i+u+t%l]=h[t];u+=l}return new Float32Array(a)}(r,n),t=0;t<this.buffers.length;t++)this.buffers[t]!==this.indexBuffer&&this.buffers[t].destroy();return this.buffers=[i],this.indexBuffer&&this.buffers.push(this.indexBuffer),this}getSize(){for(let t in this.attributes){let r=this.attributes[t];return this.buffers[r.buffer].data.length/(r.stride/4||r.size)}return 0}dispose(){this.disposeRunner.emit(this,!1)}destroy(){this.dispose(),this.buffers=null,this.indexBuffer=null,this.attributes=null}clone(){let t=new t0;for(let r=0;r<this.buffers.length;r++)t.buffers[r]=new tX(this.buffers[r].data.slice(0));for(let r in this.attributes){let n=this.attributes[r];t.attributes[r]=new tK(n.buffer,n.size,n.normalized,n.type,n.stride,n.start,n.instance)}return this.indexBuffer&&(t.indexBuffer=t.buffers[this.buffers.indexOf(this.indexBuffer)],t.indexBuffer.type=K.ELEMENT_ARRAY_BUFFER),t}static merge(t){let r,n=new t0,i=[],o=[],a=[];for(let n=0;n<t.length;n++){r=t[n];for(let t=0;t<r.buffers.length;t++)o[t]=o[t]||0,o[t]+=r.buffers[t].data.length,a[t]=0}for(let t=0;t<r.buffers.length;t++)i[t]=new t1[ta(r.buffers[t].data)](o[t]),n.buffers[t]=new tX(i[t]);for(let n=0;n<t.length;n++){r=t[n];for(let t=0;t<r.buffers.length;t++)i[t].set(r.buffers[t].data,a[t]),a[t]+=r.buffers[t].data.length}if(n.attributes=r.attributes,r.indexBuffer){n.indexBuffer=n.buffers[r.buffers.indexOf(r.indexBuffer)],n.indexBuffer.type=K.ELEMENT_ARRAY_BUFFER;let i=0,o=0,a=0,s=0;for(let t=0;t<r.buffers.length;t++)if(r.buffers[t]!==r.indexBuffer){s=t;break}for(let t in r.attributes){let n=r.attributes[t];(0|n.buffer)===s&&(o+=n.size*tJ[n.type]/4)}for(let r=0;r<t.length;r++){let u=t[r].indexBuffer.data;for(let t=0;t<u.length;t++)n.indexBuffer.data[t+a]+=i;i+=t[r].buffers[s].data.length/o,a+=u.length}}return n}}class t3 extends t0{constructor(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),this._buffer=new tX(null,t,!1),this._indexBuffer=new tX(null,t,!0),this.addAttribute("aVertexPosition",this._buffer,2,!1,N.FLOAT).addAttribute("aTextureCoord",this._buffer,2,!1,N.FLOAT).addAttribute("aColor",this._buffer,4,!0,N.UNSIGNED_BYTE).addAttribute("aTextureId",this._buffer,1,!0,N.FLOAT).addIndex(this._indexBuffer)}}let t6=2*Math.PI,t5=180/Math.PI,t9=Math.PI/180;var t2=((I=t2||{})[I.POLY=0]="POLY",I[I.RECT=1]="RECT",I[I.CIRC=2]="CIRC",I[I.ELIP=3]="ELIP",I[I.RREC=4]="RREC",I);class t7{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.x=0,this.y=0,this.x=t,this.y=r}clone(){return new t7(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.x=t,this.y=r,this}}t7.prototype.toString=function(){return`[@pixi/math:Point x=${this.x} y=${this.y}]`};let t8=[new t7,new t7,new t7,new t7];class t4{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.x=Number(t),this.y=Number(r),this.width=Number(n),this.height=Number(i),this.type=t2.RECT}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}static get EMPTY(){return new t4(0,0,0,0)}clone(){return new t4(this.x,this.y,this.width,this.height)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}contains(t,r){return!(this.width<=0||this.height<=0)&&t>=this.x&&t<this.x+this.width&&r>=this.y&&r<this.y+this.height}intersects(t,r){if(!r){let r=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=r)return!1;let n=this.y<t.y?t.y:this.y;return(this.bottom>t.bottom?t.bottom:this.bottom)>n}let n=this.left,i=this.right,o=this.top,a=this.bottom;if(i<=n||a<=o)return!1;let s=t8[0].set(t.left,t.top),u=t8[1].set(t.left,t.bottom),l=t8[2].set(t.right,t.top),h=t8[3].set(t.right,t.bottom);if(l.x<=s.x||u.y<=s.y)return!1;let c=Math.sign(r.a*r.d-r.b*r.c);if(0===c||(r.apply(s,s),r.apply(u,u),r.apply(l,l),r.apply(h,h),Math.max(s.x,u.x,l.x,h.x)<=n||Math.min(s.x,u.x,l.x,h.x)>=i||Math.max(s.y,u.y,l.y,h.y)<=o||Math.min(s.y,u.y,l.y,h.y)>=a))return!1;let f=c*(u.y-s.y),d=c*(s.x-u.x),p=f*n+d*o,y=f*i+d*o,m=f*n+d*a,g=f*i+d*a;if(Math.max(p,y,m,g)<=f*s.x+d*s.y||Math.min(p,y,m,g)>=f*h.x+d*h.y)return!1;let v=c*(s.y-l.y),b=c*(l.x-s.x),w=v*n+b*o,x=v*i+b*o,_=v*n+b*a,T=v*i+b*a;return!(Math.max(w,x,_,T)<=v*s.x+b*s.y||Math.min(w,x,_,T)>=v*h.x+b*h.y)}pad(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.x-=t,this.y-=r,this.width+=2*t,this.height+=2*r,this}fit(t){let r=Math.max(this.x,t.x),n=Math.min(this.x+this.width,t.x+t.width),i=Math.max(this.y,t.y),o=Math.min(this.y+this.height,t.y+t.height);return this.x=r,this.width=Math.max(n-r,0),this.y=i,this.height=Math.max(o-i,0),this}ceil(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.001,n=Math.ceil((this.x+this.width-r)*t)/t,i=Math.ceil((this.y+this.height-r)*t)/t;return this.x=Math.floor((this.x+r)*t)/t,this.y=Math.floor((this.y+r)*t)/t,this.width=n-this.x,this.height=i-this.y,this}enlarge(t){let r=Math.min(this.x,t.x),n=Math.max(this.x+this.width,t.x+t.width),i=Math.min(this.y,t.y),o=Math.max(this.y+this.height,t.y+t.height);return this.x=r,this.width=n-r,this.y=i,this.height=o-i,this}}t4.prototype.toString=function(){return`[@pixi/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`};class re{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.x=t,this.y=r,this.radius=n,this.type=t2.CIRC}clone(){return new re(this.x,this.y,this.radius)}contains(t,r){if(this.radius<=0)return!1;let n=this.radius*this.radius,i=this.x-t,o=this.y-r;return i*=i,o*=o,i+o<=n}getBounds(){return new t4(this.x-this.radius,this.y-this.radius,2*this.radius,2*this.radius)}}re.prototype.toString=function(){return`[@pixi/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`};class rt{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.x=t,this.y=r,this.width=n,this.height=i,this.type=t2.ELIP}clone(){return new rt(this.x,this.y,this.width,this.height)}contains(t,r){if(this.width<=0||this.height<=0)return!1;let n=(t-this.x)/this.width,i=(r-this.y)/this.height;return n*=n,i*=i,n+i<=1}getBounds(){return new t4(this.x-this.width,this.y-this.height,this.width,this.height)}}rt.prototype.toString=function(){return`[@pixi/math:Ellipse x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`};class rr{constructor(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let i=Array.isArray(r[0])?r[0]:r;if("number"!=typeof i[0]){const t=[];for(let r=0,n=i.length;r<n;r++)t.push(i[r].x,i[r].y);i=t}this.points=i,this.type=t2.POLY,this.closeStroke=!0}clone(){let t=new rr(this.points.slice());return t.closeStroke=this.closeStroke,t}contains(t,r){let n=!1,i=this.points.length/2;for(let o=0,a=i-1;o<i;a=o++){let i=this.points[2*o],s=this.points[2*o+1],u=this.points[2*a],l=this.points[2*a+1];s>r!=l>r&&t<(r-s)/(l-s)*(u-i)+i&&(n=!n)}return n}}rr.prototype.toString=function(){return`[@pixi/math:PolygoncloseStroke=${this.closeStroke}points=${this.points.reduce((t,r)=>`${t}, ${r}`,"")}]`};class rn{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:20;this.x=t,this.y=r,this.width=n,this.height=i,this.radius=o,this.type=t2.RREC}clone(){return new rn(this.x,this.y,this.width,this.height,this.radius)}contains(t,r){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&r>=this.y&&r<=this.y+this.height){let n=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(r>=this.y+n&&r<=this.y+this.height-n||t>=this.x+n&&t<=this.x+this.width-n)return!0;let i=t-(this.x+n),o=r-(this.y+n),a=n*n;if(i*i+o*o<=a||(i=t-(this.x+this.width-n))*i+o*o<=a||i*i+(o=r-(this.y+this.height-n))*o<=a||(i=t-(this.x+n))*i+o*o<=a)return!0}return!1}}rn.prototype.toString=function(){return`[@pixi/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`};class ri{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.array=null,this.a=t,this.b=r,this.c=n,this.d=i,this.tx=o,this.ty=a}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,r,n,i,o,a){return this.a=t,this.b=r,this.c=n,this.d=i,this.tx=o,this.ty=a,this}toArray(t,r){this.array||(this.array=new Float32Array(9));let n=r||this.array;return t?(n[0]=this.a,n[1]=this.b,n[2]=0,n[3]=this.c,n[4]=this.d,n[5]=0,n[6]=this.tx,n[7]=this.ty):(n[0]=this.a,n[1]=this.c,n[2]=this.tx,n[3]=this.b,n[4]=this.d,n[5]=this.ty,n[6]=0,n[7]=0),n[8]=1,n}apply(t,r){r=r||new t7;let n=t.x,i=t.y;return r.x=this.a*n+this.c*i+this.tx,r.y=this.b*n+this.d*i+this.ty,r}applyInverse(t,r){r=r||new t7;let n=1/(this.a*this.d+-(this.c*this.b)),i=t.x,o=t.y;return r.x=this.d*n*i+-this.c*n*o+(this.ty*this.c-this.tx*this.d)*n,r.y=this.a*n*o+-this.b*n*i+(-this.ty*this.a+this.tx*this.b)*n,r}translate(t,r){return this.tx+=t,this.ty+=r,this}scale(t,r){return this.a*=t,this.d*=r,this.c*=t,this.b*=r,this.tx*=t,this.ty*=r,this}rotate(t){let r=Math.cos(t),n=Math.sin(t),i=this.a,o=this.c,a=this.tx;return this.a=i*r-this.b*n,this.b=i*n+this.b*r,this.c=o*r-this.d*n,this.d=o*n+this.d*r,this.tx=a*r-this.ty*n,this.ty=a*n+this.ty*r,this}append(t){let r=this.a,n=this.b,i=this.c,o=this.d;
888return this.a=t.a*r+t.b*i,this.b=t.a*n+t.b*o,this.c=t.c*r+t.d*i,this.d=t.c*n+t.d*o,this.tx=t.tx*r+t.ty*i+this.tx,this.ty=t.tx*n+t.ty*o+this.ty,this}setTransform(t,r,n,i,o,a,s,u,l){return this.a=Math.cos(s+l)*o,this.b=Math.sin(s+l)*o,this.c=-Math.sin(s-u)*a,this.d=Math.cos(s-u)*a,this.tx=t-(n*this.a+i*this.c),this.ty=r-(n*this.b+i*this.d),this}prepend(t){let r=this.tx;if(1!==t.a||0!==t.b||0!==t.c||1!==t.d){let r=this.a,n=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=n*t.a+this.d*t.c,this.d=n*t.b+this.d*t.d}return this.tx=r*t.a+this.ty*t.c+t.tx,this.ty=r*t.b+this.ty*t.d+t.ty,this}decompose(t){let r=this.a,n=this.b,i=this.c,o=this.d,a=t.pivot,s=-Math.atan2(-i,o),u=Math.atan2(n,r),l=Math.abs(s+u);return l<1e-5||1e-5>Math.abs(t6-l)?(t.rotation=u,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=s,t.skew.y=u),t.scale.x=Math.sqrt(r*r+n*n),t.scale.y=Math.sqrt(i*i+o*o),t.position.x=this.tx+(a.x*r+a.y*i),t.position.y=this.ty+(a.x*n+a.y*o),t}invert(){let t=this.a,r=this.b,n=this.c,i=this.d,o=this.tx,a=t*i-r*n;return this.a=i/a,this.b=-r/a,this.c=-n/a,this.d=t/a,this.tx=(n*this.ty-i*o)/a,this.ty=-(t*this.ty-r*o)/a,this}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let t=new ri;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}static get IDENTITY(){return new ri}static get TEMP_MATRIX(){return new ri}}ri.prototype.toString=function(){return`[@pixi/math:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`};let ro=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],ra=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],rs=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],ru=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],rl=[],rh=[],rc=Math.sign;!function(){for(let t=0;t<16;t++){let r=[];rl.push(r);for(let n=0;n<16;n++){let i=rc(ro[t]*ro[n]+rs[t]*ra[n]),o=rc(ra[t]*ro[n]+ru[t]*ra[n]),a=rc(ro[t]*rs[n]+rs[t]*ru[n]),s=rc(ra[t]*rs[n]+ru[t]*ru[n]);for(let t=0;t<16;t++)if(ro[t]===i&&ra[t]===o&&rs[t]===a&&ru[t]===s){r.push(t);break}}}for(let t=0;t<16;t++){let r=new ri;r.set(ro[t],ra[t],rs[t],ru[t],0,0),rh.push(r)}}();let rf={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:t=>ro[t],uY:t=>ra[t],vX:t=>rs[t],vY:t=>ru[t],inv:t=>8&t?15&t:7&-t,add:(t,r)=>rl[t][r],sub:(t,r)=>rl[t][rf.inv(r)],rotate180:t=>4^t,isVertical:t=>2==(3&t),byDirection:(t,r)=>2*Math.abs(t)<=Math.abs(r)?r>=0?rf.S:rf.N:2*Math.abs(r)<=Math.abs(t)?t>0?rf.E:rf.W:r>0?t>0?rf.SE:rf.SW:t>0?rf.NE:rf.NW,matrixAppendRotationInv:function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=rh[rf.inv(r)];o.tx=n,o.ty=i,t.append(o)}};class rd{constructor(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this._x=n,this._y=i,this.cb=t,this.scope=r}clone(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.cb,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.scope;return new rd(t,r,this._x,this._y)}set(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return(this._x!==t||this._y!==r)&&(this._x=t,this._y=r,this.cb.call(this.scope)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))}}rd.prototype.toString=function(){return`[@pixi/math:ObservablePoint x=${this.x} y=${this.y} scope=${this.scope}]`};let rp=class{constructor(){this.worldTransform=new ri,this.localTransform=new ri,this.position=new rd(this.onChange,this,0,0),this.scale=new rd(this.onChange,this,1,1),this.pivot=new rd(this.onChange,this,0,0),this.skew=new rd(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}onChange(){this._localID++}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++}updateLocalTransform(){let t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)}updateTransform(t){let r=this.localTransform;if(this._localID!==this._currentLocalID&&(r.a=this._cx*this.scale.x,r.b=this._sx*this.scale.x,r.c=this._cy*this.scale.y,r.d=this._sy*this.scale.y,r.tx=this.position.x-(this.pivot.x*r.a+this.pivot.y*r.c),r.ty=this.position.y-(this.pivot.x*r.b+this.pivot.y*r.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){let n=t.worldTransform,i=this.worldTransform;i.a=r.a*n.a+r.b*n.c,i.b=r.a*n.b+r.b*n.d,i.c=r.c*n.a+r.d*n.c,i.d=r.c*n.b+r.d*n.d,i.tx=r.tx*n.a+r.ty*n.c+n.tx,i.ty=r.tx*n.b+r.ty*n.d+n.ty,this._parentID=t._worldID,this._worldID++}}setFromMatrix(t){t.decompose(this),this._localID++}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())}};rp.IDENTITY=new rp;let ry=rp;ry.prototype.toString=function(){return`[@pixi/math:Transform position=(${this.position.x}, ${this.position.y}) rotation=${this.rotation} scale=(${this.scale.x}, ${this.scale.y}) skew=(${this.skew.x}, ${this.skew.y}) ]`};let rm=[{test:t=>"float"===t.type&&1===t.size&&!t.isArray,code:t=>`
889            if(uv["${t}"] !== ud["${t}"].value)
890            {
891                ud["${t}"].value = uv["${t}"]
892                gl.uniform1f(ud["${t}"].location, uv["${t}"])
893            }
894            `},{test:(t,r)=>!("sampler2D"!==t.type&&"samplerCube"!==t.type&&"sampler2DArray"!==t.type||1!==t.size||t.isArray||null!=r&&void 0===r.castToBaseTexture),code:t=>`t = syncData.textureCount++;
895
896            renderer.texture.bind(uv["${t}"], t);
897
898            if(ud["${t}"].value !== t)
899            {
900                ud["${t}"].value = t;
901                gl.uniform1i(ud["${t}"].location, t);
902; // eslint-disable-line max-len
903            }`},{test:(t,r)=>"mat3"===t.type&&1===t.size&&!t.isArray&&void 0!==r.a,code:t=>`
904            gl.uniformMatrix3fv(ud["${t}"].location, false, uv["${t}"].toArray(true));
905            `,codeUbo:t=>`
906                var ${t}_matrix = uv.${t}.toArray(true);
907
908                data[offset] = ${t}_matrix[0];
909                data[offset+1] = ${t}_matrix[1];
910                data[offset+2] = ${t}_matrix[2];
911        
912                data[offset + 4] = ${t}_matrix[3];
913                data[offset + 5] = ${t}_matrix[4];
914                data[offset + 6] = ${t}_matrix[5];
915        
916                data[offset + 8] = ${t}_matrix[6];
917                data[offset + 9] = ${t}_matrix[7];
918                data[offset + 10] = ${t}_matrix[8];
919            `},{test:(t,r)=>"vec2"===t.type&&1===t.size&&!t.isArray&&void 0!==r.x,code:t=>`
920                cv = ud["${t}"].value;
921                v = uv["${t}"];
922
923                if(cv[0] !== v.x || cv[1] !== v.y)
924                {
925                    cv[0] = v.x;
926                    cv[1] = v.y;
927                    gl.uniform2f(ud["${t}"].location, v.x, v.y);
928                }`,codeUbo:t=>`
929                v = uv.${t};
930
931                data[offset] = v.x;
932                data[offset+1] = v.y;
933            `},{test:t=>"vec2"===t.type&&1===t.size&&!t.isArray,code:t=>`
934                cv = ud["${t}"].value;
935                v = uv["${t}"];
936
937                if(cv[0] !== v[0] || cv[1] !== v[1])
938                {
939                    cv[0] = v[0];
940                    cv[1] = v[1];
941                    gl.uniform2f(ud["${t}"].location, v[0], v[1]);
942                }
943            `},{test:(t,r)=>"vec4"===t.type&&1===t.size&&!t.isArray&&void 0!==r.width,code:t=>`
944                cv = ud["${t}"].value;
945                v = uv["${t}"];
946
947                if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)
948                {
949                    cv[0] = v.x;
950                    cv[1] = v.y;
951                    cv[2] = v.width;
952                    cv[3] = v.height;
953                    gl.uniform4f(ud["${t}"].location, v.x, v.y, v.width, v.height)
954                }`,codeUbo:t=>`
955                    v = uv.${t};
956
957                    data[offset] = v.x;
958                    data[offset+1] = v.y;
959                    data[offset+2] = v.width;
960                    data[offset+3] = v.height;
961                `},{test:(t,r)=>"vec4"===t.type&&1===t.size&&!t.isArray&&void 0!==r.red,code:t=>`
962                cv = ud["${t}"].value;
963                v = uv["${t}"];
964
965                if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha)
966                {
967                    cv[0] = v.red;
968                    cv[1] = v.green;
969                    cv[2] = v.blue;
970                    cv[3] = v.alpha;
971                    gl.uniform4f(ud["${t}"].location, v.red, v.green, v.blue, v.alpha)
972                }`,codeUbo:t=>`
973                    v = uv.${t};
974
975                    data[offset] = v.red;
976                    data[offset+1] = v.green;
977                    data[offset+2] = v.blue;
978                    data[offset+3] = v.alpha;
979                `},{test:(t,r)=>"vec3"===t.type&&1===t.size&&!t.isArray&&void 0!==r.red,code:t=>`
980                cv = ud["${t}"].value;
981                v = uv["${t}"];
982
983                if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.a)
984                {
985                    cv[0] = v.red;
986                    cv[1] = v.green;
987                    cv[2] = v.blue;
988    
989                    gl.uniform3f(ud["${t}"].location, v.red, v.green, v.blue)
990                }`,codeUbo:t=>`
991                    v = uv.${t};
992
993                    data[offset] = v.red;
994                    data[offset+1] = v.green;
995                    data[offset+2] = v.blue;
996                `},{test:t=>"vec4"===t.type&&1===t.size&&!t.isArray,code:t=>`
997                cv = ud["${t}"].value;
998                v = uv["${t}"];
999
1000                if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
1001                {
1002                    cv[0] = v[0];
1003                    cv[1] = v[1];
1004                    cv[2] = v[2];
1005                    cv[3] = v[3];
1006
1007                    gl.uniform4f(ud["${t}"].location, v[0], v[1], v[2], v[3])
1008                }`}],rg={float:`
1009    if (cv !== v)
1010    {
1011        cu.value = v;
1012        gl.uniform1f(location, v);
1013    }`,vec2:`
1014    if (cv[0] !== v[0] || cv[1] !== v[1])
1015    {
1016        cv[0] = v[0];
1017        cv[1] = v[1];
1018
1019        gl.uniform2f(location, v[0], v[1])
1020    }`,vec3:`
1021    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
1022    {
1023        cv[0] = v[0];
1024        cv[1] = v[1];
1025        cv[2] = v[2];
1026
1027        gl.uniform3f(location, v[0], v[1], v[2])
1028    }`,vec4:`
1029    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
1030    {
1031        cv[0] = v[0];
1032        cv[1] = v[1];
1033        cv[2] = v[2];
1034        cv[3] = v[3];
1035
1036        gl.uniform4f(location, v[0], v[1], v[2], v[3]);
1037    }`,int:`
1038    if (cv !== v)
1039    {
1040        cu.value = v;
1041
1042        gl.uniform1i(location, v);
1043    }`,ivec2:`
1044    if (cv[0] !== v[0] || cv[1] !== v[1])
1045    {
1046        cv[0] = v[0];
1047        cv[1] = v[1];
1048
1049        gl.uniform2i(location, v[0], v[1]);
1050    }`,ivec3:`
1051    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
1052    {
1053        cv[0] = v[0];
1054        cv[1] = v[1];
1055        cv[2] = v[2];
1056
1057        gl.uniform3i(location, v[0], v[1], v[2]);
1058    }`,ivec4:`
1059    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
1060    {
1061        cv[0] = v[0];
1062        cv[1] = v[1];
1063        cv[2] = v[2];
1064        cv[3] = v[3];
1065
1066        gl.uniform4i(location, v[0], v[1], v[2], v[3]);
1067    }`,uint:`
1068    if (cv !== v)
1069    {
1070        cu.value = v;
1071
1072        gl.uniform1ui(location, v);
1073    }`,uvec2:`
1074    if (cv[0] !== v[0] || cv[1] !== v[1])
1075    {
1076        cv[0] = v[0];
1077        cv[1] = v[1];
1078
1079        gl.uniform2ui(location, v[0], v[1]);
1080    }`,uvec3:`
1081    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
1082    {
1083        cv[0] = v[0];
1084        cv[1] = v[1];
1085        cv[2] = v[2];
1086
1087        gl.uniform3ui(location, v[0], v[1], v[2]);
1088    }`,uvec4:`
1089    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
1090    {
1091        cv[0] = v[0];
1092        cv[1] = v[1];
1093        cv[2] = v[2];
1094        cv[3] = v[3];
1095
1096        gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
1097    }`,bool:`
1098    if (cv !== v)
1099    {
1100        cu.value = v;
1101        gl.uniform1i(location, v);
1102    }`,bvec2:`
1103    if (cv[0] != v[0] || cv[1] != v[1])
1104    {
1105        cv[0] = v[0];
1106        cv[1] = v[1];
1107
1108        gl.uniform2i(location, v[0], v[1]);
1109    }`,bvec3:`
1110    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
1111    {
1112        cv[0] = v[0];
1113        cv[1] = v[1];
1114        cv[2] = v[2];
1115
1116        gl.uniform3i(location, v[0], v[1], v[2]);
1117    }`,bvec4:`
1118    if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
1119    {
1120        cv[0] = v[0];
1121        cv[1] = v[1];
1122        cv[2] = v[2];
1123        cv[3] = v[3];
1124
1125        gl.uniform4i(location, v[0], v[1], v[2], v[3]);
1126    }`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:`
1127    if (cv !== v)
1128    {
1129        cu.value = v;
1130
1131        gl.uniform1i(location, v);
1132    }`,samplerCube:`
1133    if (cv !== v)
1134    {
1135        cu.value = v;
1136
1137        gl.uniform1i(location, v);
1138    }`,sampler2DArray:`
1139    if (cv !== v)
1140    {
1141        cu.value = v;
1142
1143        gl.uniform1i(location, v);
1144    }`},rv={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"},rb={},rw,rx=rb;function r_(){if(rx===rb||rx?.isContextLost()){let t,r=J.ADAPTER.createCanvas();J.PREFER_ENV>=C.WEBGL2&&(t=r.getContext("webgl2",{})),t||((t=r.getContext("webgl",{})||r.getContext("experimental-webgl",{}))?t.getExtension("WEBGL_draw_buffers"):t=null),rx=t}return rx}let rT={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1},rS=null,rE={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function rO(t,r){if(!rS){let r=Object.keys(rE);
1144rS={};for(let n=0;n<r.length;++n){let i=r[n];rS[t[i]]=rE[i]}}return rS[r]}function rA(t,r,n){if("precision"!==t.substring(0,9)){let i=r;return r===H.HIGH&&n!==H.HIGH&&(i=H.MEDIUM),`precision ${i} float;
1145${t}`}return n!==H.HIGH&&"precision highp"===t.substring(0,15)?t.replace("precision highp","precision mediump"):t}let rI=0,rP={},rk=class t{constructor(r,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"pixi-shader",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.extra={},this.id=rI++,this.vertexSrc=r||t.defaultVertexSrc,this.fragmentSrc=n||t.defaultFragmentSrc,this.vertexSrc=this.vertexSrc.trim(),this.fragmentSrc=this.fragmentSrc.trim(),this.extra=o,"#version"!==this.vertexSrc.substring(0,8)&&(rP[i=i.replace(/\s+/g,"-")]?(rP[i]++,i+=`-${rP[i]}`):rP[i]=1,this.vertexSrc=`#define SHADER_NAME ${i}
1146${this.vertexSrc}`,this.fragmentSrc=`#define SHADER_NAME ${i}
1147${this.fragmentSrc}`,this.vertexSrc=rA(this.vertexSrc,t.defaultVertexPrecision,H.HIGH),this.fragmentSrc=rA(this.fragmentSrc,t.defaultFragmentPrecision,function(){if(!rw){rw=H.MEDIUM;let t=r_();if(t&&t.getShaderPrecisionFormat){let r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT);r&&(rw=r.precision?H.HIGH:H.MEDIUM)}}return rw}())),this.glPrograms={},this.syncUniforms=null}static get defaultVertexSrc(){return`attribute vec2 aVertexPosition;
1148attribute vec2 aTextureCoord;
1149
1150uniform mat3 projectionMatrix;
1151
1152varying vec2 vTextureCoord;
1153
1154void main(void){
1155   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0
1155)).xy, 0.0, 1.0);
1156   vTextureCoord = aTextureCoord;
1157}
1158`}static get defaultFragmentSrc(){return`varying vec2 vTextureCoord;
1159
1160uniform sampler2D uSampler;
1161
1162void main(void){
1163   gl_FragColor *= texture2D(uSampler, vTextureCoord);
1164}`}static from(r,n,i){let o=r+n,a=tv[o];return a||(tv[o]=a=new t(r,n,i)),a}};rk.defaultVertexPrecision=H.HIGH,rk.defaultFragmentPrecision=em.apple.device?H.HIGH:H.MEDIUM;let rC=rk,r$=0;class rR{constructor(t,r,n){this.group=!0,this.syncUniforms={},this.dirtyId=0,this.id=r$++,this.static=!!r,this.ubo=!!n,t instanceof tX?(this.buffer=t,this.buffer.type=K.UNIFORM_BUFFER,this.autoManage=!1,this.ubo=!0):(this.uniforms=t,this.ubo&&(this.buffer=new tX(new Float32Array(1)),this.buffer.type=K.UNIFORM_BUFFER,this.autoManage=!0))}update(){this.dirtyId++,!this.autoManage&&this.buffer&&this.buffer.update()}add(t,r,n){if(this.ubo)throw Error("[UniformGroup] uniform groups in ubo mode cannot be modified, or have uniform groups nested in them");this.uniforms[t]=new rR(r,n)}static from(t,r,n){return new rR(t,r,n)}static uboFrom(t,r){return new rR(t,r??!0,!0)}}class rD{constructor(t,r){this.uniformBindCount=0,this.program=t,this.uniformGroup=r?r instanceof rR?r:new rR(r):new rR({}),this.disposeRunner=new tj("disposeShader")}checkUniformExists(t,r){if(r.uniforms[t])return!0;for(let n in r.uniforms){let i=r.uniforms[n];if(!0===i.group&&this.checkUniformExists(t,i))return!0}return!1}destroy(){this.uniformGroup=null,this.disposeRunner.emit(this),this.disposeRunner.destroy()}get uniforms(){return this.uniformGroup.uniforms}static from(t,r,n){return new rD(rC.from(t,r),n)}}class rM{constructor(t,r){if(this.vertexSrc=t,this.fragTemplate=r,this.programCache={},this.defaultGroupCache={},!r.includes("%count%"))throw Error('Fragment template must contain "%count%".');if(!r.includes("%forloop%"))throw Error('Fragment template must contain "%forloop%".')}generateShader(t){if(!this.programCache[t]){let r=new Int32Array(t);for(let n=0;n<t;n++)r[n]=n;this.defaultGroupCache[t]=rR.from({uSamplers:r},!0);let n=this.fragTemplate;n=(n=n.replace(/%count%/gi,`${t}`)).replace(/%forloop%/gi,this.generateSampleSrc(t)),this.programCache[t]=new rC(this.vertexSrc,n)}let r={tint:new Float32Array([1,1,1,1]),translationMatrix:new ri,default:this.defaultGroupCache[t]};return new rD(this.programCache[t],r)}generateSampleSrc(t){let r="";r+=`
1165
1166`;for(let n=0;n<t;n++)n>0&&(r+=`
1167else `),n<t-1&&(r+=`if(vTextureId < ${n}.5)`),r+=`
1168{
1169	color = texture2D(uSamplers[${n}], vTextureCoord);
1170}`;return r+`
1171
1172`}}class rL{constructor(){this.elements=[],this.ids=[],this.count=0}clear(){for(let t=0;t<this.count;t++)this.elements[t]=null;this.count=0}}class rB{constructor(t){this.renderer=t}flush(){}destroy(){this.renderer=null}start(){}stop(){this.flush()}render(t){}}let rN=class t extends rB{constructor(r){super(r),this.setShaderGenerator(),this.geometryClass=t3,this.vertexSize=6,this.state=tN.for2d(),this.size=4*t.defaultBatchSize,this._vertexCount=0,this._indexCount=0,this._bufferedElements=[],this._bufferedTextures=[],this._bufferSize=0,this._shader=null,this._packedGeometries=[],this._packedGeometryPoolSize=2,this._flushId=0,this._aBuffers={},this._iBuffers={},this.maxTextures=1,this.renderer.on("prerender",this.onPrerender,this),r.runners.contextChange.add(this),this._dcIndex=0,this._aIndex=0,this._iIndex=0,this._attributeBuffer=null,this._indexBuffer=null,this._tempBoundTextures=[]}static get defaultMaxTextures(){return this._defaultMaxTextures=this._defaultMaxTextures??function(){let t=!0,r=J.ADAPTER.getNavigator();if(em.tablet||em.phone){if(em.apple.device){let n=r.userAgent.match(/OS (\d+)_(\d+)?/);n&&11>parseInt(n[1],10)&&(t=!1)}if(em.android.device){let n=r.userAgent.match(/Android\s([0-9.]*)/);n&&7>parseInt(n[1],10)&&(t=!1)}}return t?32:4}(),this._defaultMaxTextures}static set defaultMaxTextures(t){this._defaultMaxTextures=t}static get canUploadSameBuffer(){return this._canUploadSameBuffer=this._canUploadSameBuffer??!em.apple.device,this._canUploadSameBuffer}static set canUploadSameBuffer(t){this._canUploadSameBuffer=t}get MAX_TEXTURES(){return ex("7.1.0","BatchRenderer#MAX_TEXTURES renamed to BatchRenderer#maxTextures"),this.maxTextures}static get defaultVertexSrc(){return`precision highp float;
1173attribute vec2 aVertexPosition;
1174attribute vec2 aTextureCoord;
1175attribute vec4 aColor;
1176attribute float aTextureId;
1177
1178uniform mat3 projectionMatrix;
1179uniform mat3 translationMatrix;
1180uniform vec4 tint;
1181
1182varying vec2 vTextureCoord;
1183varying vec4 vColor;
1184varying float vTextureId;
1185
1186void main(void){
1187    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0
1187)).xy, 0.0, 1.0);
1188
1189    vTextureCoord = aTextureCoord;
1190    vTextureId = aTextureId;
1191    vColor = aColor * tint;
1192}
1193`}static get defaultFragmentTemplate(){return`varying vec2 vTextureCoord;
1194varying vec4 vColor;
1195varying float vTextureId;
1196uniform sampler2D uSamplers[%count%];
1197
1198void main(void){
1199    vec4 color;
1200    %forloop%
1201    gl_FragColor = color * vColor;
1202}
1203`}setShaderGenerator(){let{vertex:r=t.defaultVertexSrc,fragment:n=t.defaultFragmentTemplate}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.shaderGenerator=new rM(r,n)}contextChange(){let r=this.renderer.gl;J.PREFER_ENV===C.WEBGL_LEGACY?this.maxTextures=1:(this.maxTextures=Math.min(r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),t.defaultMaxTextures),this.maxTextures=tB(this.maxTextures,r)),this._shader=this.shaderGenerator.generateShader(this.maxTextures);for(let t=0;t<this._packedGeometryPoolSize;t++)this._packedGeometries[t]=new this.geometryClass;this.initFlushBuffers()}initFlushBuffers(){let{_drawCallPool:r,_textureArrayPool:n}=t,i=this.size/4,o=Math.floor(i/this.maxTextures)+1;for(;r.length<i;)r.push(new tq);for(;n.length<o;)n.push(new rL);for(let t=0;t<this.maxTextures;t++)this._tempBoundTextures[t]=null}onPrerender(){this._flushId=0}render(t){t._texture.valid&&(this._vertexCount+t.vertexData.length/2>this.size&&this.flush(),this._vertexCount+=t.vertexData.length/2,this._indexCount+=t.indices.length,this._bufferedTextures[this._bufferSize]=t._texture.baseTexture,this._bufferedElements[this._bufferSize++]=t)}buildTexturesAndDrawCalls(){let{_bufferedTextures:r,maxTextures:n}=this,i=t._textureArrayPool,o=this.renderer.batch,a=this._tempBoundTextures,s=this.renderer.textureGC.count,u=++tH._globalBatch,l=0,h=i[0],c=0;o.copyBoundTextures(a,n);for(let t=0;t<this._bufferSize;++t){let f=r[t];r[t]=null,f._batchEnabled!==u&&(h.count>=n&&(o.boundArray(h,a,u,n),this.buildDrawCalls(h,c,t),c=t,h=i[++l],++u),f._batchEnabled=u,f.touched=s,h.elements[h.count++]=f)}h.count>0&&(o.boundArray(h,a,u,n),this.buildDrawCalls(h,c,this._bufferSize),++l,++u);for(let t=0;t<a.length;t++)a[t]=null;tH._globalBatch=u}buildDrawCalls(r,n,i){let{_bufferedElements:o,_attributeBuffer:a,_indexBuffer:s,vertexSize:u}=this,l=t._drawCallPool,h=this._dcIndex,c=this._aIndex,f=this._iIndex,d=l[h];d.start=this._iIndex,d.texArray=r;for(let t=n;t<i;++t){let i=o[t],p=e4[+!!i._texture.baseTexture.alphaMode][i.blendMode];o[t]=null,n<t&&d.blend!==p&&(d.size=f-d.start,n=t,(d=l[++h]).texArray=r,d.start=f),this.packInterleavedGeometry(i,a,s,c,f),c+=i.vertexData.length/2*u,f+=i.indices.length,d.blend=p}n<i&&(d.size=f-d.start,++h),this._dcIndex=h,this._aIndex=c,this._iIndex=f}bindAndClearTexArray(t){let r=this.renderer.texture;for(let n=0;n<t.count;n++)r.bind(t.elements[n],t.ids[n]),t.elements[n]=null;t.count=0}updateGeometry(){let{_packedGeometries:r,_attributeBuffer:n,_indexBuffer:i}=this;t.canUploadSameBuffer?(r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(i),this.renderer.geometry.updateBuffers()):(this._packedGeometryPoolSize<=this._flushId&&(this._packedGeometryPoolSize++,r[this._flushId]=new this.geometryClass),r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(i),this.renderer.geometry.bind(r[this._flushId]),this.renderer.geometry.updateBuffers(),this._flushId++)}drawBatches(){let r=this._dcIndex,{gl:n,state:i}=this.renderer,o=t._drawCallPool,a=null;for(let t=0;t<r;t++){let{texArray:r,type:s,size:u,start:l,blend:h}=o[t];a!==r&&(a=r,this.bindAndClearTexArray(r)),this.state.blendMode=h,i.set(this.state),n.drawElements(s,u,n.UNSIGNED_SHORT,2*l)}}flush(){0!==this._vertexCount&&(this._attributeBuffer=this.getAttributeBuffer(this._vertexCount),this._indexBuffer=this.getIndexBuffer(this._indexCount),this._aIndex=0,this._iIndex=0,this._dcIndex=0,this.buildTexturesAndDrawCalls(),this.updateGeometry(),this.drawBatches(),this._bufferSize=0,this._vertexCount=0,this._indexCount=0)}start(){this.renderer.state.set(this.state),this.renderer.texture.ensureSamplerType(this.maxTextures),this.renderer.shader.bind(this._shader),t.canUploadSameBuffer&&this.renderer.geometry.bind(this._packedGeometries[this._flushId])}stop(){this.flush()}destroy(){for(let t=0;t<this._packedGeometryPoolSize;t++)this._packedGeometries[t]&&this._packedGeometries[t].destroy();this.renderer.off("prerender",this.onPrerender,this),this._aBuffers=null,this._iBuffers=null,this._packedGeometries=null,this._attributeBuffer=null,this._indexBuffer=null,this._shader&&(this._shader.destroy(),this._shader=null),super.destroy()}getAttributeBuffer(t){let r=tl(Math.ceil(t/8)),n=tc(r),i=8*r;this._aBuffers.length<=n&&(this._iBuffers.length=n+1);let o=this._aBuffers[i];return o||(this._aBuffers[i]=o=new tM(i*this.vertexSize*4)),o}getIndexBuffer(t){let r=tl(Math.ceil(t/12)),n=tc(r);this._iBuffers.length<=n&&(this._iBuffers.length=n+1);let i=this._iBuffers[n];
1203return i||(this._iBuffers[n]=i=new Uint16Array(12*r)),i}packInterleavedGeometry(t,r,n,i,o){let{uint32View:a,float32View:s}=r,u=i/this.vertexSize,l=t.uvs,h=t.indices,c=t.vertexData,f=t._texture.baseTexture._batchLocation,d=Math.min(t.worldAlpha,1),p=e5.shared.setValue(t._tintRGB).toPremultiplied(d,t._texture.baseTexture.alphaMode>0);for(let t=0;t<c.length;t+=2)s[i++]=c[t],s[i++]=c[t+1],s[i++]=l[t],s[i++]=l[t+1],a[i++]=p,s[i++]=f;for(let t=0;t<h.length;t++)n[o++]=u+h[t]}};rN.defaultBatchSize=4096,rN.extension={name:"batch",type:tC.RendererPlugin},rN._drawCallPool=[],rN._textureArrayPool=[];let rF=rN;tD.add(rF);let rU=class t extends rD{constructor(r,n,i){super(rC.from(r||t.defaultVertexSrc,n||t.defaultFragmentSrc),i),this.padding=0,this.resolution=t.defaultResolution,this.multisample=t.defaultMultisample,this.enabled=!0,this.autoFit=!0,this.state=new tN}apply(t,r,n,i,o){t.applyFilter(this,r,n,i)}get blendMode(){return this.state.blendMode}set blendMode(t){this.state.blendMode=t}get resolution(){return this._resolution}set resolution(t){this._resolution=t}static get defaultVertexSrc(){return`attribute vec2 aVertexPosition;
1204
1205uniform mat3 projectionMatrix;
1206
1207varying vec2 vTextureCoord;
1208
1209uniform vec4 inputSize;
1210uniform vec4 outputFrame;
1211
1212vec4 filterVertexPosition( void )
1213{
1214    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
1215
1216    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
1217}
1218
1219vec2 filterTextureCoord( void )
1220{
1221    return aVertexPosition * (outputFrame.zw * inputSize.zw);
1222}
1223
1224void main(void)
1225{
1226    gl_Position = filterVertexPosition();
1227    vTextureCoord = filterTextureCoord();
1228}
1229`}static get defaultFragmentSrc(){return`varying vec2 vTextureCoord;
1230
1231uniform sampler2D uSampler;
1232
1233void main(void){
1234   gl_FragColor = texture2D(uSampler, vTextureCoord);
1235}
1236`}};rU.defaultResolution=1,rU.defaultMultisample=X.NONE;let rj=rU;class rz{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new e5(0),this.alpha=1}init(t){this.clearBeforeRender=t.clearBeforeRender;let{backgroundColor:r,background:n,backgroundAlpha:i}=t,o=n??r;void 0!==o&&(this.color=o),this.alpha=i}get color(){return this._backgroundColor.value}set color(t){this._backgroundColor.setValue(t)}get alpha(){return this._backgroundColor.alpha}set alpha(t){this._backgroundColor.setAlpha(t)}get backgroundColor(){return this._backgroundColor}destroy(){}}rz.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0},rz.extension={type:[tC.RendererSystem,tC.CanvasRendererSystem],name:"background"},tD.add(rz);class rG{constructor(t){this.renderer=t,this.emptyRenderer=new rB(t),this.currentRenderer=this.emptyRenderer}setObjectRenderer(t){this.currentRenderer!==t&&(this.currentRenderer.stop(),this.currentRenderer=t,this.currentRenderer.start())}flush(){this.setObjectRenderer(this.emptyRenderer)}reset(){this.setObjectRenderer(this.emptyRenderer)}copyBoundTextures(t,r){let{boundTextures:n}=this.renderer.texture;for(let i=r-1;i>=0;--i)t[i]=n[i]||null,t[i]&&(t[i]._batchLocation=i)}boundArray(t,r,n,i){let{elements:o,ids:a,count:s}=t,u=0;for(let t=0;t<s;t++){let s=o[t],l=s._batchLocation;if(l>=0&&l<i&&r[l]===s)a[t]=l;else for(;u<i;){let i=r[u];if(!i||i._batchEnabled!==n||i._batchLocation!==u){a[t]=u,s._batchLocation=u,r[u]=s;break}u++}}}destroy(){this.renderer=null}}rG.extension={type:tC.RendererSystem,name:"batch"},tD.add(rG);let rV=0;class rW{constructor(t){this.renderer=t,this.webGLVersion=1,this.extensions={},this.supports={uint32Indices:!1},this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(t){this.gl=t,this.renderer.gl=t,this.renderer.CONTEXT_UID=rV++}init(t){if(t.context)this.initFromContext(t.context);else{let r=this.renderer.background.alpha<1,n=t.premultipliedAlpha;this.preserveDrawingBuffer=t.preserveDrawingBuffer,this.useContextAlpha=t.useContextAlpha,this.powerPreference=t.powerPreference,this.initFromOptions({alpha:r,premultipliedAlpha:n,antialias:t.antialias,stencil:!0,preserveDrawingBuffer:t.preserveDrawingBuffer,powerPreference:t.powerPreference})}}initFromContext(t){this.gl=t,this.validateContext(t),this.renderer.gl=t,this.renderer.CONTEXT_UID=rV++,this.renderer.runners.contextChange.emit(t);let r=this.renderer.view;void 0!==r.addEventListener&&(r.addEventListener("webglcontextlost",this.handleContextLost,!1),r.addEventListener("webglcontextrestored",this.handleContextRestored,!1))}initFromOptions(t){let r=this.createContext(this.renderer.view,t);this.initFromContext(r)}createContext(t,r){let n;if(J.PREFER_ENV>=C.WEBGL2&&(n=t.getContext("webgl2",r)),n)this.webGLVersion=2;else if(this.webGLVersion=1,!(n=t.getContext("webgl",r)||t.getContext("experimental-webgl",r)))throw Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=n,this.getExtensions(),this.gl}getExtensions(){let{gl:t}=this,r={loseContext:t.getExtension("WEBGL_lose_context"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),s3tc:t.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:t.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:t.getExtension("WEBGL_compressed_texture_etc"),etc1:t.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:t.getExtension("WEBGL_compressed_texture_atc"),astc:t.getExtension("WEBGL_compressed_texture_astc"),bptc:t.getExtension("EXT_texture_compression_bptc")};1===this.webGLVersion?Object.assign(this.extensions,r,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):2===this.webGLVersion&&Object.assign(this.extensions,r,{colorBufferFloat:t.getExtension("EXT_color_buffer_float")})}handleContextLost(t){t.preventDefault(),setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext&&this.extensions.loseContext.restoreContext()},0)}handleContextRestored(){this.renderer.runners.contextChange.emit(this.gl)}destroy(){let t=this.renderer.view;this.renderer=null,void 0!==t.removeEventListener&&(t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored)),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()}postrender(){this.renderer.objectRenderer.renderingToScreen&&this.gl.flush()}validateContext(t){let r=t.getContextAttributes(),n="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext;n&&(this.webGLVersion=2),r&&!r.stencil&&console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");let i=n||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=i,i||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")}}rW.defaultOptions={context:null,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default"},rW.extension={type:tC.RendererSystem,name:"context"},tD.add(rW);class rH{constructor(t,r){if(this.width=Math.round(t),this.height=Math.round(r),!this.width||!this.height)throw Error("Framebuffer width or height is zero");this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new tj("disposeFramebuffer"),this.multisample=X.NONE}get colorTexture(){return this.colorTextures[0]}addColorTexture(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return this.colorTextures[t]=r||new tH(null,{scaleMode:U.NEAREST,resolution:1,mipmap:z.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this}addDepthTexture(t){return this.depthTexture=t||new tH(null,{scaleMode:U.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:z.OFF,format:L.DEPTH_COMPONENT,type:N.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this}enableDepth(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this}enableStencil(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this}resize(t,r){if(t=Math.round(t),r=Math.round(r),!t||!r)throw Error("Framebuffer width and height must not be zero");if(t!==this.width||r!==this.height){this.width=t,this.height=r,this.dirtyId++,this.dirtySize++;for(let n=0;n<this.colorTextures.length;n++){let i=this.colorTextures[n],o=i.resolution;i.setSize(t/o,r/o)}if(this.depthTexture){let n=this.depthTexture.resolution;this.depthTexture.setSize(t/n,r/n)}}}dispose(){this.disposeRunner.emit(this,!1)}destroyDepthTexture(){this.depthTexture&&(this.depthTexture.destroy(),this.depthTexture=null,++this.dirtyId,++this.dirtyFormat)}}class rq extends tH{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"number"==typeof t&&(t={width:arguments[0],height:arguments[1],scaleMode:arguments[2],resolution:arguments[3]}),t.width=t.width??100,t.height=t.height??100,t.multisample??(t.multisample=X.NONE),super(null,t),this.mipmap=z.OFF,this.valid=!0,this._clear=new e5([0,0,0,0]),this.framebuffer=new rH(this.realWidth,this.realHeight).addColorTexture(0,this),this.framebuffer.multisample=t.multisample,this.maskStack=[],this.filterStack=[{}]}set clearColor(t){this._clear.setValue(t)}get clearColor(){return this._clear.value}get clear(){return this._clear}get multisample(){return this.framebuffer.multisample}set multisample(t){this.framebuffer.multisample=t}resize(t,r){this.framebuffer.resize(t*this.resolution,r*this.resolution),this.setRealSize(this.framebuffer.width,this.framebuffer.he
1236ight)}dispose(){this.framebuffer.dispose(),super.dispose()}destroy(){super.destroy(),this.framebuffer.destroyDepthTexture(),this.framebuffer=null}}class rY extends tz{constructor(t){super(t.naturalWidth||t.videoWidth||t.displayWidth||t.width,t.naturalHeight||t.videoHeight||t.displayHeight||t.height),this.source=t,this.noSubImage=!1}static crossOrigin(t,r,n){void 0!==n||r.startsWith("data:")?!1!==n&&(t.crossOrigin="string"==typeof n?n:"anonymous"):t.crossOrigin=tP(r)}upload(t,r,n,i){let o=t.gl,a=r.realWidth,s=r.realHeight;if(i=i||this.source,"u">typeof HTMLImageElement&&i instanceof HTMLImageElement){if(!i.complete||0===i.naturalWidth)return!1}else if("u">typeof HTMLVideoElement&&i instanceof HTMLVideoElement&&i.readyState<=1)return!1;return o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===G.UNPACK),this.noSubImage||r.target!==o.TEXTURE_2D||n.width!==a||n.height!==s?(n.width=a,n.height=s,o.texImage2D(r.target,0,n.internalFormat,r.format,n.type,i)):o.texSubImage2D(o.TEXTURE_2D,0,0,0,r.format,n.type,i),!0}update(){if(this.destroyed)return;let t=this.source,r=t.naturalWidth||t.videoWidth||t.width,n=t.naturalHeight||t.videoHeight||t.height;this.resize(r,n),super.update()}dispose(){this.source=null}}class rX extends rY{constructor(t,r){if(r=r||{},"string"==typeof t){const n=new Image;rY.crossOrigin(n,t,r.crossorigin),n.src=t,t=n}super(t),!t.complete&&this._width&&this._height&&(this._width=0,this._height=0),this.url=t.src,this._process=null,this.preserveBitmap=!1,this.createBitmap=(r.createBitmap??J.CREATE_IMAGE_BITMAP)&&!!globalThis.createImageBitmap,this.alphaMode="number"==typeof r.alphaMode?r.alphaMode:null,this.bitmap=null,this._load=null,!1!==r.autoLoad&&this.load()}load(t){return this._load||(void 0!==t&&(this.createBitmap=t),this._load=new Promise((t,r)=>{let n=this.source;this.url=n.src;let i=()=>{this.destroyed||(n.onload=null,n.onerror=null,this.update(),this._load=null,this.createBitmap?t(this.process()):t(this))};n.complete&&n.src?i():(n.onload=i,n.onerror=t=>{r(t),this.onError.emit(t)})})),this._load}process(){let t=this.source;if(null!==this._process)return this._process;if(null!==this.bitmap||!globalThis.createImageBitmap)return Promise.resolve(this);let r=globalThis.createImageBitmap,n=!t.crossOrigin||"anonymous"===t.crossOrigin;return this._process=fetch(t.src,{mode:n?"cors":"no-cors"}).then(t=>t.blob()).then(n=>r(n,0,0,t.width,t.height,{premultiplyAlpha:null===this.alphaMode||this.alphaMode===G.UNPACK?"premultiply":"none"})).then(t=>this.destroyed?Promise.reject():(this.bitmap=t,this.update(),this._process=null,Promise.resolve(this))),this._process}upload(t,r,n){if("number"==typeof this.alphaMode&&(r.alphaMode=this.alphaMode),!this.createBitmap)return super.upload(t,r,n);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(super.upload(t,r,n,this.bitmap),!this.preserveBitmap){let t=!0,i=r._glTextures;for(let o in i){let a=i[o];if(a!==n&&a.dirtyId!==r.dirtyId){t=!1;break}}t&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0}dispose(){this.source.onload=null,this.source.onerror=null,super.dispose(),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null}static test(t){return"u">typeof HTMLImageElement&&("string"==typeof t||t instanceof HTMLImageElement)}}class rK{constructor(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}set(t,r,n){let i=r.width,o=r.height;if(n){let r=t.width/2/i,a=t.height/2/o,s=t.x/i+r,u=t.y/o+a;n=rf.add(n,rf.NW),this.x0=s+r*rf.uX(n),this.y0=u+a*rf.uY(n),n=rf.add(n,2),this.x1=s+r*rf.uX(n),this.y1=u+a*rf.uY(n),n=rf.add(n,2),this.x2=s+r*rf.uX(n),this.y2=u+a*rf.uY(n),n=rf.add(n,2),this.x3=s+r*rf.uX(n),this.y3=u+a*rf.uY(n)}else this.x0=t.x/i,this.y0=t.y/o,this.x1=(t.x+t.width)/i,this.y1=t.y/o,this.x2=(t.x+t.width)/i,this.y2=(t.y+t.height)/o,this.x3=t.x/i,this.y3=(t.y+t.height)/o;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3}}rK.prototype.toString=function(){return`[@pixi/core:TextureUvs x0=${this.x0} y0=${this.y0} x1=${this.x1} y1=${this.y1} x2=${this.x2} y2=${this.y2} x3=${this.x3} y3=${this.y3}]`};let rZ=new rK;function rJ(t){t.destroy=function(){},t.on=function(){},t.once=function(){},t.emit=function(){}}
1236class rQ extends eg{constructor(t,r,n,i,o,a,s){if(super(),this.noFrame=!1,r||(this.noFrame=!0,r=new t4(0,0,1,1)),t instanceof rQ&&(t=t.baseTexture),this.baseTexture=t,this._frame=r,this.trim=i,this.valid=!1,this.destroyed=!1,this._uvs=rZ,this.uvMatrix=null,this.orig=n||r,this._rotate=Number(o||0),!0===o)this._rotate=2;else if(this._rotate%2!=0)throw Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");this.defaultAnchor=a?new t7(a.x,a.y):new t7(0,0),this.defaultBorders=s,this._updateID=0,this.textureCacheIds=[],t.valid?this.noFrame?t.valid&&this.onBaseTextureUpdated(t):this.frame=r:t.once("loaded",this.onBaseTextureUpdated,this),this.noFrame&&t.on("update",this.onBaseTextureUpdated,this)}update(){this.baseTexture.resource&&this.baseTexture.resource.update()}onBaseTextureUpdated(t){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=t.width,this._frame.height=t.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)}destroy(t){if(this.baseTexture){if(t){let{resource:t}=this.baseTexture;t?.url&&tb[t.url]&&rQ.removeFromCache(t.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,rQ.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0,this.emit("destroyed",this),this.removeAllListeners()}clone(){let t=this._frame.clone(),r=this._frame===this.orig?t:this.orig.clone(),n=new rQ(this.baseTexture,!this.noFrame&&t,r,this.trim?.clone(),this.rotate,this.defaultAnchor,this.defaultBorders);return this.noFrame&&(n._frame=t),n}updateUvs(){this._uvs===rZ&&(this._uvs=new rK),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++}static from(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:J.STRICT_TEXTURE_CACHE,i="string"==typeof t,o=null;if(i)o=t;else if(t instanceof tH){if(!t.cacheId){let n=r?.pixiIdPrefix||"pixiid";t.cacheId=`${n}-${ty()}`,tH.addToCache(t,t.cacheId)}o=t.cacheId}else{if(!t._pixiId){let n=r?.pixiIdPrefix||"pixiid";t._pixiId=`${n}_${ty()}`}o=t._pixiId}let a=tb[o];if(i&&n&&!a)throw Error(`The cacheId "${o}" does not exist in TextureCache.`);return a||t instanceof tH?!a&&t instanceof tH&&(a=new rQ(t),rQ.addToCache(a,o)):(r.resolution||(r.resolution=tk(t)),(a=new rQ(new tH(t,r))).baseTexture.cacheId=o,tH.addToCache(a.baseTexture,o),rQ.addToCache(a,o)),a}static fromURL(t,r){let n=Object.assign({autoLoad:!1},r?.resourceOptions),i=rQ.from(t,Object.assign({resourceOptions:n},r),!1),o=i.baseTexture.resource;return i.baseTexture.valid?Promise.resolve(i):o.load().then(()=>Promise.resolve(i))}static fromBuffer(t,r,n,i){return new rQ(tH.fromBuffer(t,r,n,i))}static fromLoader(t,r,n,i){let o=new tH(t,Object.assign({scaleMode:tH.defaultOptions.scaleMode,resolution:tk(r)},i)),{resource:a}=o;a instanceof rX&&(a.url=r);let s=new rQ(o);return n||(n=r),tH.addToCache(s.baseTexture,n),rQ.addToCache(s,n),n!==r&&(tH.addToCache(s.baseTexture,r),rQ.addToCache(s,r)),s.baseTexture.valid?Promise.resolve(s):new Promise(t=>{s.baseTexture.once("loaded",()=>t(s))})}static addToCache(t,r){r&&(t.textureCacheIds.includes(r)||t.textureCacheIds.push(r),tb[r]&&tb[r]!==t&&console.warn(`Texture added to the cache with an id [${r}] that already had an entry`),tb[r]=t)}static removeFromCache(t){if("string"==typeof t){let r=tb[t];if(r){let n=r.textureCacheIds.indexOf(t);return n>-1&&r.textureCacheIds.splice(n,1),delete tb[t],r}}else if(t?.textureCacheIds){for(let r=0;r<t.textureCacheIds.length;++r)tb[t.textureCacheIds[r]]===t&&delete tb[t.textureCacheIds[r]];return t.textureCacheIds.length=0,t}return null}get resolution(){return this.baseTexture.resolution}get frame(){return this._frame}set frame(t){this._frame=t,this.noFrame=!1;let{x:r,y:n,width:i,height:o}=t,a=r+i>this.baseTexture.width,s=n+o>this.baseTexture.height;if(a||s){let t=`X: ${r} + ${i} = ${r+i} > ${this.baseTexture.width}`,u=`Y: ${n} + ${o} = ${n+o} > ${this.baseTexture.height}`;throw Error(`Texture Error: frame does not fit inside the base Texture dimensions: ${t} ${a&&s?"and":"or"} ${u}`)}this.valid=i&&o&&this.baseTexture.valid,this.trim||this.rotate||(this.orig=t),this.valid&&this.updateUvs()}get rotate(){return this._rotate}set rotate(t){this._rotate=t,this.valid&&this.updateUvs()}get width(){return this.orig.width}get height(){return this.orig.height}castToBaseTexture(){return this.baseTexture}
1236static get EMPTY(){return rQ._EMPTY||(rQ._EMPTY=new rQ(new tH),rJ(rQ._EMPTY),rJ(rQ._EMPTY.baseTexture)),rQ._EMPTY}static get WHITE(){if(!rQ._WHITE){let t=J.ADAPTER.createCanvas(16,16),r=t.getContext("2d");t.width=16,t.height=16,r.fillStyle="white",r.fillRect(0,0,16,16),rQ._WHITE=new rQ(tH.from(t)),rJ(rQ._WHITE),rJ(rQ._WHITE.baseTexture)}return rQ._WHITE}}class r1 extends rQ{constructor(t,r){super(t,r),this.valid=!0,this.filterFrame=null,this.filterPoolKey=null,this.updateUvs()}get framebuffer(){return this.baseTexture.framebuffer}get multisample(){return this.framebuffer.multisample}set multisample(t){this.framebuffer.multisample=t}resize(t,r){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],i=this.baseTexture.resolution,o=Math.round(t*i)/i,a=Math.round(r*i)/i;this.valid=o>0&&a>0,this._frame.width=this.orig.width=o,this._frame.height=this.orig.height=a,n&&this.baseTexture.resize(o,a),this.updateUvs()}setResolution(t){let{baseTexture:r}=this;r.resolution!==t&&(r.setResolution(t),this.resize(r.width,r.height,!1))}static create(t){return new r1(new rq(t))}}class r0{constructor(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}createTexture(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:X.NONE;return new r1(new rq(Object.assign({width:t,height:r,resolution:1,multisample:n},this.textureOptions)))}getOptimalTexture(t,r){let n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:X.NONE;t=Math.max(Math.ceil(t*i-1e-6),1),r=Math.max(Math.ceil(r*i-1e-6),1),this.enableFullScreen&&t===this._pixelsWidth&&r===this._pixelsHeight?n=o>1?-o:-1:(n=((65535&(t=tl(t)))<<16|65535&(r=tl(r)))>>>0,o>1&&(n+=0x100000000*o)),this.texturePool[n]||(this.texturePool[n]=[]);let a=this.texturePool[n].pop();return a||(a=this.createTexture(t,r,o)),a.filterPoolKey=n,a.setResolution(i),a}getFilterTexture(t,r,n){let i=this.getOptimalTexture(t.width,t.height,r||t.resolution,n||X.NONE);return i.filterFrame=t.filterFrame,i}returnTexture(t){let r=t.filterPoolKey;t.filterFrame=null,this.texturePool[r].push(t)}returnFilterTexture(t){this.returnTexture(t)}clear(t){if(t=!1!==t)for(let t in this.texturePool){let r=this.texturePool[t];if(r)for(let t=0;t<r.length;t++)r[t].destroy(!0)}this.texturePool={}}setScreenSize(t){if(t.width!==this._pixelsWidth||t.height!==this._pixelsHeight){for(let r in this.enableFullScreen=t.width>0&&t.height>0,this.texturePool){if(!(0>Number(r)))continue;let t=this.texturePool[r];if(t)for(let r=0;r<t.length;r++)t[r].destroy(!0);this.texturePool[r]=[]}this._pixelsWidth=t.width,this._pixelsHeight=t.height}}}r0.SCREEN_KEY=-1;class r3 extends t0{constructor(){super(),this.addAttribute("aVertexPosition",new Float32Array([0,0,1,0,1,1,0,1])).addIndex([0,1,3,2])}}class r6 extends t0{constructor(){super(),this.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,1]),this.uvs=new Float32Array([0,0,1,0,1,1,0,1]),this.vertexBuffer=new tX(this.vertices),this.uvBuffer=new tX(this.uvs),this.addAttribute("aVertexPosition",this.vertexBuffer).addAttribute("aTextureCoord",this.uvBuffer).addIndex([0,1,2,0,2,3])}map(t,r){let n=0,i=0;return this.uvs[0]=n,this.uvs[1]=i,this.uvs[2]=n+r.width/t.width,this.uvs[3]=i,this.uvs[4]=n+r.width/t.width,this.uvs[5]=i+r.height/t.height,this.uvs[6]=n,this.uvs[7]=i+r.height/t.height,n=r.x,i=r.y,this.vertices[0]=n,this.vertices[1]=i,this.vertices[2]=n+r.width,this.vertices[3]=i,this.vertices[4]=n+r.width,this.vertices[5]=i+r.height,this.vertices[6]=n,this.vertices[7]=i+r.height,this.invalidate(),this}invalidate(){return this.vertexBuffer._updateID++,this.uvBuffer._updateID++,this}}class r5{constructor(){this.renderTexture=null,this.target=null,this.legacy=!1,this.resolution=1,this.multisample=X.NONE,this.sourceFrame=new t4,this.destinationFrame=new t4,this.bindingSourceFrame=new t4,this.bindingDestinationFrame=new t4,this.filters=[],this.transform=null}clear(){this.target=null,this.filters=null,this.renderTexture=null}}let r9=[new t7,new t7,new t7,new t7],r2=new ri;class r7{constructor(t){this.renderer=t,this.defaultFilterStack=[{}],this.texturePool=new r0,this.statePool=[],this.quad=new r3,this.quadUv=new r6,this.tempRect=new t4,this.activeState={},this.globalUniforms=new rR({outputFrame:new t4,inputSize:new Float32Array(4),inputPixel:new Float32Array(4),inputClamp:new Float32Array(4),resolution:1,filterArea:new Float32Array(4),filterClamp:new Float32Array(4)},!0),this.forceClear=!1,this.useMaxPadding=!1}
1236init(){this.texturePool.setScreenSize(this.renderer.view)}push(t,r){let n,i,o=this.renderer,a=this.defaultFilterStack,s=this.statePool.pop()||new r5,u=o.renderTexture;if(u.current){let t=u.current;n=t.resolution,i=t.multisample}else n=o.resolution,i=o.multisample;let l=r[0].resolution||n,h=r[0].multisample??i,c=r[0].padding,f=r[0].autoFit,d=r[0].legacy??!0;for(let t=1;t<r.length;t++){let o=r[t];l=Math.min(l,o.resolution||n),h=Math.min(h,o.multisample??i),c=this.useMaxPadding?Math.max(c,o.padding):c+o.padding,f=f&&o.autoFit,d=d||(o.legacy??!0)}1===a.length&&(this.defaultFilterStack[0].renderTexture=u.current),a.push(s),s.resolution=l,s.multisample=h,s.legacy=d,s.target=t,s.sourceFrame.copyFrom(t.filterArea||t.getBounds(!0)),s.sourceFrame.pad(c);let p=this.tempRect.copyFrom(u.sourceFrame);o.projection.transform&&this.transformAABB(r2.copyFrom(o.projection.transform).invert(),p),f?(s.sourceFrame.fit(p),(s.sourceFrame.width<=0||s.sourceFrame.height<=0)&&(s.sourceFrame.width=0,s.sourceFrame.height=0)):s.sourceFrame.intersects(p)||(s.sourceFrame.width=0,s.sourceFrame.height=0),this.roundFrame(s.sourceFrame,u.current?u.current.resolution:o.resolution,u.sourceFrame,u.destinationFrame,o.projection.transform),s.renderTexture=this.getOptimalFilterTexture(s.sourceFrame.width,s.sourceFrame.height,l,h),s.filters=r,s.destinationFrame.width=s.renderTexture.width,s.destinationFrame.height=s.renderTexture.height;let y=this.tempRect;y.x=0,y.y=0,y.width=s.sourceFrame.width,y.height=s.sourceFrame.height,s.renderTexture.filterFrame=s.sourceFrame,s.bindingSourceFrame.copyFrom(u.sourceFrame),s.bindingDestinationFrame.copyFrom(u.destinationFrame),s.transform=o.projection.transform,o.projection.transform=null,u.bind(s.renderTexture,s.sourceFrame,y),o.framebuffer.clear(0,0,0,0)}pop(){let t=this.defaultFilterStack,r=t.pop(),n=r.filters;this.activeState=r;let i=this.globalUniforms.uniforms;i.outputFrame=r.sourceFrame,i.resolution=r.resolution;let o=i.inputSize,a=i.inputPixel,s=i.inputClamp;if(o[0]=r.destinationFrame.width,o[1]=r.destinationFrame.height,o[2]=1/o[0],o[3]=1/o[1],a[0]=Math.round(o[0]*r.resolution),a[1]=Math.round(o[1]*r.resolution),a[2]=1/a[0],a[3]=1/a[1],s[0]=.5*a[2],s[1]=.5*a[3],s[2]=r.sourceFrame.width*o[2]-.5*a[2],s[3]=r.sourceFrame.height*o[3]-.5*a[3],r.legacy){let t=i.filterArea;t[0]=r.destinationFrame.width,t[1]=r.destinationFrame.height,t[2]=r.sourceFrame.x,t[3]=r.sourceFrame.y,i.filterClamp=i.inputClamp}this.globalUniforms.update();let u=t[t.length-1];if(this.renderer.framebuffer.blit(),1===n.length)n[0].apply(this,r.renderTexture,u.renderTexture,V.BLEND,r),this.returnFilterTexture(r.renderTexture);else{let t=r.renderTexture,i=this.getOptimalFilterTexture(t.width,t.height,r.resolution);i.filterFrame=t.filterFrame;let o=0;for(o=0;o<n.length-1;++o){1===o&&r.multisample>1&&((i=this.getOptimalFilterTexture(t.width,t.height,r.resolution)).filterFrame=t.filterFrame),n[o].apply(this,t,i,V.CLEAR,r);let a=t;t=i,i=a}n[o].apply(this,t,u.renderTexture,V.BLEND,r),o>1&&r.multisample>1&&this.returnFilterTexture(r.renderTexture),this.returnFilterTexture(t),this.returnFilterTexture(i)}r.clear(),this.statePool.push(r)}bindAndClear(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:V.CLEAR,{renderTexture:n,state:i}=this.renderer;if(t===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,t?.filterFrame){let r=this.tempRect;r.x=0,r.y=0,r.width=t.filterFrame.width,r.height=t.filterFrame.height,n.bind(t,t.filterFrame,r)}else t!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?n.bind(t):this.renderer.renderTexture.bind(t,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);let o=1&i.stateId||this.forceClear;(r===V.CLEAR||r===V.BLIT&&o)&&this.renderer.framebuffer.clear(0,0,0,0)}applyFilter(t,r,n,i){let o=this.renderer;o.state.set(t.state),this.bindAndClear(n,i),t.uniforms.uSampler=r,t.uniforms.filterGlobals=this.globalUniforms,o.shader.bind(t),t.legacy=!!t.program.attributeData.aTextureCoord,t.legacy?(this.quadUv.map(r._frame,r.filterFrame),o.geometry.bind(this.quadUv),o.geometry.draw(M.TRIANGLES)):(o.geometry.bind(this.quad),o.geometry.draw(M.TRIANGLE_STRIP))}calculateSpriteMatrix(t,r){let{sourceFrame:n,destinationFrame:i}=this.activeState,{orig:o}=r._texture,a=t.set(i.width,0,0,i.height,n.x,n.y),s=r.worldTransform.copyTo(ri.TEMP_MATRIX);return s.invert(),a.prepend(s),a.scale(1/o.width,1/o.height),a.translate(r.anchor.x,r.anchor.y),a}destroy(){this.renderer=null,this.texturePool.clear(!1)}getOptimalFilterTexture(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:X.NONE;return this.texturePool.getOptimalTexture(t,r,n,i)}getFilterTexture(t,r,n){if("number"==typeof t){let n=t;t=r,r=n}t=t||this.activeState.renderTexture;let i=this.texturePool.getOptimalTexture(t.width,t.height,r||t.resolution,n||X.NONE);return i.filterFrame=t.filterFrame,i}returnFilterTexture(t){this.texturePool.returnTexture(t)}emptyPool(){this.texturePool.clear(!0)}
1236resize(){this.texturePool.setScreenSize(this.renderer.view)}transformAABB(t,r){let n=r9[0],i=r9[1],o=r9[2],a=r9[3];n.set(r.left,r.top),i.set(r.left,r.bottom),o.set(r.right,r.top),a.set(r.right,r.bottom),t.apply(n,n),t.apply(i,i),t.apply(o,o),t.apply(a,a);let s=Math.min(n.x,i.x,o.x,a.x),u=Math.min(n.y,i.y,o.y,a.y),l=Math.max(n.x,i.x,o.x,a.x),h=Math.max(n.y,i.y,o.y,a.y);r.x=s,r.y=u,r.width=l-s,r.height=h-u}roundFrame(t,r,n,i,o){if(!(t.width<=0||t.height<=0||n.width<=0||n.height<=0)){if(o){let{a:t,b:r,c:n,d:i}=o;if((Math.abs(r)>1e-4||Math.abs(n)>1e-4)&&(Math.abs(t)>1e-4||Math.abs(i)>1e-4))return}(o=o?r2.copyFrom(o):r2.identity()).translate(-n.x,-n.y).scale(i.width/n.width,i.height/n.height).translate(i.x,i.y),this.transformAABB(o,t),t.ceil(r),this.transformAABB(o.invert(),t)}}}r7.extension={type:tC.RendererSystem,name:"filter"},tD.add(r7);class r8{constructor(t){this.framebuffer=t,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=X.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}}let r4=new t4;class ne{constructor(t){this.renderer=t,this.managedFramebuffers=[],this.unknownFramebuffer=new rH(10,10),this.msaaSamples=null}contextChange(){this.disposeAll(!0);let t=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new t4,this.hasMRT=!0,this.writeDepthTexture=!0,1===this.renderer.context.webGLVersion){let r=this.renderer.context.extensions.drawBuffers,n=this.renderer.context.extensions.depthTexture;J.PREFER_ENV===C.WEBGL_LEGACY&&(r=null,n=null),r?t.drawBuffers=t=>r.drawBuffersWEBGL(t):(this.hasMRT=!1,t.drawBuffers=()=>{}),n||(this.writeDepthTexture=!1)}else this.msaaSamples=t.getInternalformatParameter(t.RENDERBUFFER,t.RGBA8,t.SAMPLES)}bind(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,{gl:i}=this;if(t){let o=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,i.bindFramebuffer(i.FRAMEBUFFER,o.framebuffer)),o.mipLevel!==n&&(t.dirtyId++,t.dirtyFormat++,o.mipLevel=n),o.dirtyId!==t.dirtyId&&(o.dirtyId=t.dirtyId,o.dirtyFormat!==t.dirtyFormat?(o.dirtyFormat=t.dirtyFormat,o.dirtySize=t.dirtySize,this.updateFramebuffer(t,n)):o.dirtySize!==t.dirtySize&&(o.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(let r=0;r<t.colorTextures.length;r++){let n=t.colorTextures[r];this.renderer.texture.unbind(n.parentTextureArray||n)}if(t.depthTexture&&this.renderer.texture.unbind(t.depthTexture),r){let t=r.width>>n,i=r.height>>n,o=t/r.width;this.setViewport(r.x*o,r.y*o,t,i)}else{let r=t.width>>n,i=t.height>>n;this.setViewport(0,0,r,i)}}else this.current&&(this.current=null,i.bindFramebuffer(i.FRAMEBUFFER,null)),r?this.setViewport(r.x,r.y,r.width,r.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)}setViewport(t,r,n,i){let o=this.viewport;t=Math.round(t),r=Math.round(r),n=Math.round(n),i=Math.round(i),(o.width!==n||o.height!==i||o.x!==t||o.y!==r)&&(o.x=t,o.y=r,o.width=n,o.height=i,this.gl.viewport(t,r,n,i))}get size(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}clear(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:R.COLOR|R.DEPTH,{gl:a}=this;a.clearColor(t,r,n,i),a.clear(o)}initFramebuffer(t){let{gl:r}=this,n=new r8(r.createFramebuffer());return n.multisample=this.detectSamples(t.multisample),t.glFramebuffers[this.CONTEXT_UID]=n,this.managedFramebuffers.push(t),t.disposeRunner.add(this),n}resizeFramebuffer(t){let{gl:r}=this,n=t.glFramebuffers[this.CONTEXT_UID];if(n.stencil){let i;r.bindRenderbuffer(r.RENDERBUFFER,n.stencil),i=1===this.renderer.context.webGLVersion?r.DEPTH_STENCIL:t.depth&&t.stencil?r.DEPTH24_STENCIL8:t.depth?r.DEPTH_COMPONENT24:r.STENCIL_INDEX8,n.msaaBuffer?r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,i,t.width,t.height):r.renderbufferStorage(r.RENDERBUFFER,i,t.width,t.height)}let i=t.colorTextures,o=i.length;r.drawBuffers||(o=Math.min(o,1));for(let a=0;a<o;a++){let o=i[a],s=o.parentTextureArray||o;this.renderer.texture.bind(s,0),0===a&&n.msaaBuffer&&(r.bindRenderbuffer(r.RENDERBUFFER,n.msaaBuffer),r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,s._glTextures[this.CONTEXT_UID].internalFormat,t.width,t.height))}t.depthTexture&&this.writeDepthTexture&&this.renderer.texture.bind(t.depthTexture,0)}updateFramebuffer(t,r){let{gl:n}=this,i=t.glFramebuffers[this.CONTEXT_UID],o=t.colorTextures,a=o.length;n.drawBuffers||(a=Math.min(a,1)),i.multisample>
12361&&this.canMultisampleFramebuffer(t)?i.msaaBuffer=i.msaaBuffer||n.createRenderbuffer():i.msaaBuffer&&(n.deleteRenderbuffer(i.msaaBuffer),i.msaaBuffer=null,i.blitFramebuffer&&(i.blitFramebuffer.dispose(),i.blitFramebuffer=null));let s=[];for(let u=0;u<a;u++){let a=o[u],l=a.parentTextureArray||a;this.renderer.texture.bind(l,0),0===u&&i.msaaBuffer?(n.bindRenderbuffer(n.RENDERBUFFER,i.msaaBuffer),n.renderbufferStorageMultisample(n.RENDERBUFFER,i.multisample,l._glTextures[this.CONTEXT_UID].internalFormat,t.width,t.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,i.msaaBuffer)):(n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+u,a.target,l._glTextures[this.CONTEXT_UID].texture,r),s.push(n.COLOR_ATTACHMENT0+u))}if(s.length>1&&n.drawBuffers(s),t.depthTexture&&this.writeDepthTexture){let i=t.depthTexture;this.renderer.texture.bind(i,0),n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,i._glTextures[this.CONTEXT_UID].texture,r)}if(!t.stencil&&!t.depth||t.depthTexture&&this.writeDepthTexture)i.stencil&&(n.deleteRenderbuffer(i.stencil),i.stencil=null);else{let r,o;i.stencil=i.stencil||n.createRenderbuffer(),1===this.renderer.context.webGLVersion?(r=n.DEPTH_STENCIL_ATTACHMENT,o=n.DEPTH_STENCIL):t.depth&&t.stencil?(r=n.DEPTH_STENCIL_ATTACHMENT,o=n.DEPTH24_STENCIL8):t.depth?(r=n.DEPTH_ATTACHMENT,o=n.DEPTH_COMPONENT24):(r=n.STENCIL_ATTACHMENT,o=n.STENCIL_INDEX8),n.bindRenderbuffer(n.RENDERBUFFER,i.stencil),i.msaaBuffer?n.renderbufferStorageMultisample(n.RENDERBUFFER,i.multisample,o,t.width,t.height):n.renderbufferStorage(n.RENDERBUFFER,o,t.width,t.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,r,n.RENDERBUFFER,i.stencil)}}canMultisampleFramebuffer(t){return 1!==this.renderer.context.webGLVersion&&t.colorTextures.length<=1&&!t.depthTexture}detectSamples(t){let{msaaSamples:r}=this,n=X.NONE;if(t<=1||null===r)return n;for(let i=0;i<r.length;i++)if(r[i]<=t){n=r[i];break}return 1===n&&(n=X.NONE),n}blit(t,r,n){let{current:i,renderer:o,gl:a,CONTEXT_UID:s}=this;if(2!==o.context.webGLVersion||!i)return;let u=i.glFramebuffers[s];if(!u)return;if(!t){if(!u.msaaBuffer)return;let r=i.colorTextures[0];if(!r)return;u.blitFramebuffer||(u.blitFramebuffer=new rH(i.width,i.height),u.blitFramebuffer.addColorTexture(0,r)),(t=u.blitFramebuffer).colorTextures[0]!==r&&(t.colorTextures[0]=r,t.dirtyId++,t.dirtyFormat++),(t.width!==i.width||t.height!==i.height)&&(t.width=i.width,t.height=i.height,t.dirtyId++,t.dirtySize++)}r||((r=r4).width=i.width,r.height=i.height),n||(n=r);let l=r.width===n.width&&r.height===n.height;this.bind(t),a.bindFramebuffer(a.READ_FRAMEBUFFER,u.framebuffer),a.blitFramebuffer(r.left,r.top,r.right,r.bottom,n.left,n.top,n.right,n.bottom,a.COLOR_BUFFER_BIT,l?a.NEAREST:a.LINEAR),a.bindFramebuffer(a.READ_FRAMEBUFFER,t.glFramebuffers[this.CONTEXT_UID].framebuffer)}disposeFramebuffer(t,r){let n=t.glFramebuffers[this.CONTEXT_UID],i=this.gl;if(!n)return;delete t.glFramebuffers[this.CONTEXT_UID];let o=this.managedFramebuffers.indexOf(t);o>=0&&this.managedFramebuffers.splice(o,1),t.disposeRunner.remove(this),r||(i.deleteFramebuffer(n.framebuffer),n.msaaBuffer&&i.deleteRenderbuffer(n.msaaBuffer),n.stencil&&i.deleteRenderbuffer(n.stencil)),n.blitFramebuffer&&this.disposeFramebuffer(n.blitFramebuffer,r)}disposeAll(t){let r=this.managedFramebuffers;this.managedFramebuffers=[];for(let n=0;n<r.length;n++)this.disposeFramebuffer(r[n],t)}forceStencil(){let t,r,n=this.current;if(!n)return;let i=n.glFramebuffers[this.CONTEXT_UID];if(!i||i.stencil&&n.stencil)return;n.stencil=!0;let o=n.width,a=n.height,s=this.gl,u=i.stencil=s.createRenderbuffer();s.bindRenderbuffer(s.RENDERBUFFER,u),1===this.renderer.context.webGLVersion?(t=s.DEPTH_STENCIL_ATTACHMENT,r=s.DEPTH_STENCIL):n.depth?(t=s.DEPTH_STENCIL_ATTACHMENT,r=s.DEPTH24_STENCIL8):(t=s.STENCIL_ATTACHMENT,r=s.STENCIL_INDEX8),i.msaaBuffer?s.renderbufferStorageMultisample(s.RENDERBUFFER,i.multisample,r,o,a):s.renderbufferStorage(s.RENDERBUFFER,r,o,a),s.framebufferRenderbuffer(s.FRAMEBUFFER,t,s.RENDERBUFFER,u)}reset(){this.current=this.unknownFramebuffer,this.viewport=new t4}destroy(){this.renderer=null}}ne.extension={type:tC.RendererSystem,name:"framebuffer"},tD.add(ne);let nt={5126:4,5123:2,5121:1};
1236class nr{constructor(t){this.renderer=t,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this.canUseUInt32ElementIndex=!1,this.managedGeometries={}}contextChange(){this.disposeAll(!0);let t=this.gl=this.renderer.gl,r=this.renderer.context;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,2!==r.webGLVersion){let r=this.renderer.context.extensions.vertexArrayObject;J.PREFER_ENV===C.WEBGL_LEGACY&&(r=null),r?(t.createVertexArray=()=>r.createVertexArrayOES(),t.bindVertexArray=t=>r.bindVertexArrayOES(t),t.deleteVertexArray=t=>r.deleteVertexArrayOES(t)):(this.hasVao=!1,t.createVertexArray=()=>null,t.bindVertexArray=()=>null,t.deleteVertexArray=()=>null)}if(2!==r.webGLVersion){let r=t.getExtension("ANGLE_instanced_arrays");r?(t.vertexAttribDivisor=(t,n)=>r.vertexAttribDivisorANGLE(t,n),t.drawElementsInstanced=(t,n,i,o,a)=>r.drawElementsInstancedANGLE(t,n,i,o,a),t.drawArraysInstanced=(t,n,i,o)=>r.drawArraysInstancedANGLE(t,n,i,o)):this.hasInstance=!1}this.canUseUInt32ElementIndex=2===r.webGLVersion||!!r.extensions.uint32ElementIndex}bind(t,r){r=r||this.renderer.shader.shader;let{gl:n}=this,i=t.glVertexArrayObjects[this.CONTEXT_UID],o=!1;i||(this.managedGeometries[t.id]=t,t.disposeRunner.add(this),t.glVertexArrayObjects[this.CONTEXT_UID]=i={},o=!0);let a=i[r.program.id]||this.initGeometryVao(t,r,o);this._activeGeometry=t,this._activeVao!==a&&(this._activeVao=a,this.hasVao?n.bindVertexArray(a):this.activateVao(t,r.program)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){let t=this._activeGeometry,r=this.renderer.buffer;for(let n=0;n<t.buffers.length;n++){let i=t.buffers[n];r.update(i)}}checkCompatibility(t,r){let n=t.attributes,i=r.attributeData;for(let t in i)if(!n[t])throw Error(`shader and geometry incompatible, geometry missing the "${t}" attribute`)}getSignature(t,r){let n=t.attributes,i=r.attributeData,o=["g",t.id];for(let t in n)i[t]&&o.push(t,i[t].location);return o.join("-")}initGeometryVao(t,r){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],i=this.gl,o=this.CONTEXT_UID,a=this.renderer.buffer,s=r.program;s.glPrograms[o]||this.renderer.shader.generateProgram(r),this.checkCompatibility(t,s);let u=this.getSignature(t,s),l=t.glVertexArrayObjects[this.CONTEXT_UID],h=l[u];if(h)return l[s.id]=h,h;let c=t.buffers,f=t.attributes,d={},p={};for(let t in c)d[t]=0,p[t]=0;for(let t in f)!f[t].size&&s.attributeData[t]?f[t].size=s.attributeData[t].size:f[t].size||console.warn(`PIXI Geometry attribute '${t}' size cannot be determined (likely the bound shader does not have the attribute)`),d[f[t].buffer]+=f[t].size*nt[f[t].type];for(let t in f){let r=f[t],n=r.size;void 0===r.stride&&(d[r.buffer]===n*nt[r.type]?r.stride=0:r.stride=d[r.buffer]),void 0===r.start&&(r.start=p[r.buffer],p[r.buffer]+=n*nt[r.type])}h=i.createVertexArray(),i.bindVertexArray(h);for(let t=0;t<c.length;t++){let r=c[t];a.bind(r),n&&r._glBuffers[o].refCount++}return this.activateVao(t,s),l[s.id]=h,l[u]=h,i.bindVertexArray(null),a.unbind(K.ARRAY_BUFFER),h}disposeGeometry(t,r){if(!this.managedGeometries[t.id])return;delete this.managedGeometries[t.id];let n=t.glVertexArrayObjects[this.CONTEXT_UID],i=this.gl,o=t.buffers,a=this.renderer?.buffer;if(t.disposeRunner.remove(this),n){if(a)for(let t=0;t<o.length;t++){let n=o[t]._glBuffers[this.CONTEXT_UID];n&&(n.refCount--,0!==n.refCount||r||a.dispose(o[t],r))}if(!r){for(let t in n)if("g"===t[0]){let r=n[t];this._activeVao===r&&this.unbind(),i.deleteVertexArray(r)}}delete t.glVertexArrayObjects[this.CONTEXT_UID]}}disposeAll(t){let r=Object.keys(this.managedGeometries);for(let n=0;n<r.length;n++)this.disposeGeometry(this.managedGeometries[r[n]],t)}activateVao(t,r){let n=this.gl,i=this.CONTEXT_UID,o=this.renderer.buffer,a=t.buffers,s=t.attributes;t.indexBuffer&&o.bind(t.indexBuffer);let u=null;for(let t in s){let l=s[t],h=a[l.buffer],c=h._glBuffers[i];if(r.attributeData[t]){u!==c&&(o.bind(h),u=c);let i=r.attributeData[t].location;if(n.enableVertexAttribArray(i),n.vertexAttribPointer(i,l.size,l.type||n.FLOAT,l.normalized,l.stride,l.start),l.instance){if(!this.hasInstance)throw Error("geometry error, GPU Instancing is not supported on this device");n.vertexAttribDivisor(i,l.divisor)}}}}draw(t,r,n,i){let{gl:o}=this,a=this._activeGeometry;if(a.indexBuffer){let s=a.indexBuffer.data.BYTES_PER_ELEMENT,u=2===s?o.UNSIGNED_SHORT:o.UNSIGNED_INT;2===s||4===s&&this.canUseUInt32ElementIndex?a.instanced?o.drawElementsInstanced(t,r||a.indexBuffer.data.length,u,(n||0)*s,i||1):o.drawElements(t,r||a.indexBuffer.data.length,u,(n||0)*s):console.warn("unsupported index buffer type: uint32")}else a.instanced?o.drawArraysInstanced(t,n,r||a.getSize(),i||1):o.drawArrays(t,n,r||a.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this.renderer=null}}nr.extension={type:tC.RendererSystem,name:"geometry"},tD.add(nr);let nn=new ri;
1236class ni{constructor(t,r){this._texture=t,this.mapCoord=new ri,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,this.clampMargin=typeof r>"u"?.5:r,this.isSimple=!1}get texture(){return this._texture}set texture(t){this._texture=t,this._textureID=-1}multiplyUvs(t,r){void 0===r&&(r=t);let n=this.mapCoord;for(let i=0;i<t.length;i+=2){let o=t[i],a=t[i+1];r[i]=o*n.a+a*n.c+n.tx,r[i+1]=o*n.b+a*n.d+n.ty}return r}update(t){let r=this._texture;if(!r||!r.valid||!t&&this._textureID===r._updateID)return!1;this._textureID=r._updateID,this._updateID++;let n=r._uvs;this.mapCoord.set(n.x1-n.x0,n.y1-n.y0,n.x3-n.x0,n.y3-n.y0,n.x0,n.y0);let i=r.orig,o=r.trim;o&&(nn.set(i.width/o.width,0,0,i.height/o.height,-o.x/o.width,-o.y/o.height),this.mapCoord.append(nn));let a=r.baseTexture,s=this.uClampFrame,u=this.clampMargin/a.resolution,l=this.clampOffset;return s[0]=(r._frame.x+u+l)/a.width,s[1]=(r._frame.y+u+l)/a.height,s[2]=(r._frame.x+r._frame.width-u+l)/a.width,s[3]=(r._frame.y+r._frame.height-u+l)/a.height,this.uClampOffset[0]=l/a.realWidth,this.uClampOffset[1]=l/a.realHeight,this.isSimple=r._frame.width===a.width&&r._frame.height===a.height&&0===r.rotate,!0}}class no extends rj{constructor(t,r,n){let i=null;"string"!=typeof t&&void 0===r&&void 0===n&&(i=t,t=void 0,r=void 0,n=void 0),super(t||`attribute vec2 aVertexPosition;
1237attribute vec2 aTextureCoord;
1238
1239uniform mat3 projectionMatrix;
1240uniform mat3 otherMatrix;
1241
1242varying vec2 vMaskCoord;
1243varying vec2 vTextureCoord;
1244
1245void main(void)
1246{
1247    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0
1247)).xy, 0.0, 1.0);
1248
1249    vTextureCoord = aTextureCoord;
1250    vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0)  ).xy;
1251}
1252`,r||`varying vec2 vMaskCoord;
1253varying vec2 vTextureCoord;
1254
1255uniform sampler2D uSampler;
1256uniform sampler2D mask;
1257uniform float alpha;
1258uniform float npmAlpha;
1259uniform vec4 maskClamp;
1260
1261void main(void)
1262{
1263    float clip = step(3.5,
1264        step(maskClamp.x, vMaskCoord.x) +
1265        step(maskClamp.y, vMaskCoord.y) +
1266        step(vMaskCoord.x, maskClamp.z) +
1267        step(vMaskCoord.y, maskClamp.w));
1268
1269    vec4 original = texture2D(uSampler, vTextureCoord);
1270    vec4 masky = texture2D(mask, vMaskCoord);
1271    float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
1272
1273    original *= (alphaMul * masky.r * alpha * clip);
1274
1275    gl_FragColor = original;
1276}
1277`,n),this.maskSprite=i,this.maskMatrix=new ri}get maskSprite(){return this._maskSprite}set maskSprite(t){this._maskSprite=t,this._maskSprite&&(this._maskSprite.renderable=!1)}apply(t,r,n,i){let o=this._maskSprite,a=o._texture;a.valid&&(a.uvMatrix||(a.uvMatrix=new ni(a,0)),a.uvMatrix.update(),this.uniforms.npmAlpha=+!a.baseTexture.alphaMode,this.uniforms.mask=a,this.uniforms.otherMatrix=t.calculateSpriteMatrix(this.maskMatrix,o).prepend(a.uvMatrix.mapCoord),this.uniforms.alpha=o.worldAlpha,this.uniforms.maskClamp=a.uvMatrix.uClampFrame,t.applyFilter(this,r,n,i))}}class na{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.type=q.NONE,this.autoDetect=!0,this.maskObject=t||null,this.pooled=!1,this.isMaskData=!0,this.resolution=null,this.multisample=rj.defaultMultisample,this.enabled=!0,this.colorMask=15,this._filters=null,this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null,this._scissorRectLocal=null,this._colorMask=15,this._target=null}get filter(){return this._filters?this._filters[0]:null}set filter(t){t?this._filters?this._filters[0]=t:this._filters=[t]:this._filters=null}reset(){this.pooled&&(this.maskObject=null,this.type=q.NONE,this.autoDetect=!0),this._target=null,this._scissorRectLocal=null}copyCountersOrReset(t){t?(this._stencilCounter=t._stencilCounter,this._scissorCounter=t._scissorCounter,this._scissorRect=t._scissorRect):(this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null)}}class ns{constructor(t){this.renderer=t,this.enableScissor=!0,this.alphaMaskPool=[],this.maskDataPool=[],this.maskStack=[],this.alphaMaskIndex=0}setMaskStack(t){this.maskStack=t,this.renderer.scissor.setMaskStack(t),this.renderer.stencil.setMaskStack(t)}push(t,r){let n=r;if(!n.isMaskData){let t=this.maskDataPool.pop()||new na;t.pooled=!0,t.maskObject=r,n=t}let i=0!==this.maskStack.length?this.maskStack[this.maskStack.length-1]:null;if(n.copyCountersOrReset(i),n._colorMask=i?i._colorMask:15,n.autoDetect&&this.detect(n),n._target=t,n.type!==q.SPRITE&&this.maskStack.push(n),n.enabled)switch(n.type){case q.SCISSOR:this.renderer.scissor.push(n);break;case q.STENCIL:this.renderer.stencil.push(n);break;case q.SPRITE:n.copyCountersOrReset(null),this.pushSpriteMask(n);break;case q.COLOR:this.pushColorMask(n)}n.type===q.SPRITE&&this.maskStack.push(n)}pop(t){let r=this.maskStack.pop();if(r&&r._target===t){if(r.enabled)switch(r.type){case q.SCISSOR:this.renderer.scissor.pop(r);break;case q.STENCIL:this.renderer.stencil.pop(r.maskObject);break;case q.SPRITE:this.popSpriteMask(r);break;case q.COLOR:this.popColorMask(r)}if(r.reset(),r.pooled&&this.maskDataPool.push(r),0!==this.maskStack.length){let t=this.maskStack[this.maskStack.length-1];t.type===q.SPRITE&&t._filters&&(t._filters[0].maskSprite=t.maskObject)}}}detect(t){let r=t.maskObject;r?r.isSprite?t.type=q.SPRITE:this.enableScissor&&this.renderer.scissor.testScissor(t)?t.type=q.SCISSOR:t.type=q.STENCIL:t.type=q.COLOR}pushSpriteMask(t){let{maskObject:r}=t,n=t._target,i=t._filters;i||(i=this.alphaMaskPool[this.alphaMaskIndex])||(i=this.alphaMaskPool[this.alphaMaskIndex]=[new no]),i[0].resolution=t.resolution,i[0].multisample=t.multisample,i[0].maskSprite=r;let o=n.filterArea;n.filterArea=r.getBounds(!0),this.renderer.filter.push(n,i),n.filterArea=o,t._filters||this.alphaMaskIndex++}
1277popSpriteMask(t){this.renderer.filter.pop(),t._filters?t._filters[0].maskSprite=null:(this.alphaMaskIndex--,this.alphaMaskPool[this.alphaMaskIndex][0].maskSprite=null)}pushColorMask(t){let r=t._colorMask,n=t._colorMask=r&t.colorMask;n!==r&&this.renderer.gl.colorMask(!!(1&n),!!(2&n),!!(4&n),!!(8&n))}popColorMask(t){let r=t._colorMask,n=this.maskStack.length>0?this.maskStack[this.maskStack.length-1]._colorMask:15;n!==r&&this.renderer.gl.colorMask(!!(1&n),!!(2&n),!!(4&n),!!(8&n))}destroy(){this.renderer=null}}ns.extension={type:tC.RendererSystem,name:"mask"},tD.add(ns);class nu{constructor(t){this.renderer=t,this.maskStack=[],this.glConst=0}getStackLength(){return this.maskStack.length}setMaskStack(t){let{gl:r}=this.renderer,n=this.getStackLength();this.maskStack=t;let i=this.getStackLength();i!==n&&(0===i?r.disable(this.glConst):(r.enable(this.glConst),this._useCurrent()))}_useCurrent(){}destroy(){this.renderer=null,this.maskStack=null}}let nl=new ri,nh=[],nc=class t extends nu{constructor(t){super(t),this.glConst=J.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST}getStackLength(){let t=this.maskStack[this.maskStack.length-1];return t?t._scissorCounter:0}calcScissorRect(t){if(t._scissorRectLocal)return;let r=t._scissorRect,{maskObject:n}=t,{renderer:i}=this,o=i.renderTexture,a=n.getBounds(!0,nh.pop()??new t4);this.roundFrameToPixels(a,o.current?o.current.resolution:i.resolution,o.sourceFrame,o.destinationFrame,i.projection.transform),r&&a.fit(r),t._scissorRectLocal=a}static isMatrixRotated(t){if(!t)return!1;let{a:r,b:n,c:i,d:o}=t;return(Math.abs(n)>1e-4||Math.abs(i)>1e-4)&&(Math.abs(r)>1e-4||Math.abs(o)>1e-4)}testScissor(r){let{maskObject:n}=r;if(!n.isFastRect||!n.isFastRect()||t.isMatrixRotated(n.worldTransform)||t.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(r);let i=r._scissorRectLocal;return i.width>0&&i.height>0}roundFrameToPixels(r,n,i,o,a){t.isMatrixRotated(a)||((a=a?nl.copyFrom(a):nl.identity()).translate(-i.x,-i.y).scale(o.width/i.width,o.height/i.height).translate(o.x,o.y),this.renderer.filter.transformAABB(a,r),r.fit(o),r.x=Math.round(r.x*n),r.y=Math.round(r.y*n),r.width=Math.round(r.width*n),r.height=Math.round(r.height*n))}push(t){t._scissorRectLocal||this.calcScissorRect(t);let{gl:r}=this.renderer;t._scissorRect||r.enable(r.SCISSOR_TEST),t._scissorCounter++,t._scissorRect=t._scissorRectLocal,this._useCurrent()}pop(t){let{gl:r}=this.renderer;t&&nh.push(t._scissorRectLocal),this.getStackLength()>0?this._useCurrent():r.disable(r.SCISSOR_TEST)}_useCurrent(){let t,r=this.maskStack[this.maskStack.length-1]._scissorRect;t=this.renderer.renderTexture.current?r.y:this.renderer.height-r.height-r.y,this.renderer.gl.scissor(r.x,t,r.width,r.height)}};nc.extension={type:tC.RendererSystem,name:"scissor"};let nf=nc;tD.add(nf);class nd extends nu{constructor(t){super(t),this.glConst=J.ADAPTER.getWebGLRenderingContext().STENCIL_TEST}getStackLength(){let t=this.maskStack[this.maskStack.length-1];return t?t._stencilCounter:0}push(t){let r=t.maskObject,{gl:n}=this.renderer,i=t._stencilCounter;0===i&&(this.renderer.framebuffer.forceStencil(),n.clearStencil(0),n.clear(n.STENCIL_BUFFER_BIT),n.enable(n.STENCIL_TEST)),t._stencilCounter++;let o=t._colorMask;0!==o&&(t._colorMask=0,n.colorMask(!1,!1,!1,!1)),n.stencilFunc(n.EQUAL,i,0xffffffff),n.stencilOp(n.KEEP,n.KEEP,n.INCR),r.renderable=!0,r.render(this.renderer),this.renderer.batch.flush(),r.renderable=!1,0!==o&&(t._colorMask=o,n.colorMask(!!(1&o),!!(2&o),!!(4&o),!!(8&o))),this._useCurrent()}pop(t){let r=this.renderer.gl;if(0===this.getStackLength())r.disable(r.STENCIL_TEST);else{let n=0!==this.maskStack.length?this.maskStack[this.maskStack.length-1]:null,i=n?n._colorMask:15;0!==i&&(n._colorMask=0,r.colorMask(!1,!1,!1,!1)),r.stencilOp(r.KEEP,r.KEEP,r.DECR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,0!==i&&(n._colorMask=i,r.colorMask(!!(1&i),!!(2&i),!!(4&i),!!(8&i))),this._useCurrent()}}_useCurrent(){let t=this.renderer.gl;t.stencilFunc(t.EQUAL,this.getStackLength(),0xffffffff),t.stencilOp(t.KEEP,t.KEEP,t.KEEP)}}nd.extension={type:tC.RendererSystem,name:"stencil"},tD.add(nd);
1277class np{constructor(t){this.renderer=t,this.plugins={},Object.defineProperties(this.plugins,{extract:{enumerable:!1,get:()=>(ex("7.0.0","renderer.plugins.extract has moved to renderer.extract"),t.extract)},prepare:{enumerable:!1,get:()=>(ex("7.0.0","renderer.plugins.prepare has moved to renderer.prepare"),t.prepare)},interaction:{enumerable:!1,get:()=>(ex("7.0.0","renderer.plugins.interaction has been deprecated, use renderer.events"),t.events)}})}init(){let t=this.rendererPlugins;for(let r in t)this.plugins[r]=new t[r](this.renderer)}destroy(){for(let t in this.plugins)this.plugins[t].destroy(),this.plugins[t]=null}}np.extension={type:[tC.RendererSystem,tC.CanvasRendererSystem],name:"_plugin"},tD.add(np);class ny{constructor(t){this.renderer=t,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new ri,this.transform=null}update(t,r,n,i){this.destinationFrame=t||this.destinationFrame||this.defaultFrame,this.sourceFrame=r||this.sourceFrame||t,this.calculateProjection(this.destinationFrame,this.sourceFrame,n,i),this.transform&&this.projectionMatrix.append(this.transform);let o=this.renderer;o.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,o.globalUniforms.update(),o.shader.shader&&o.shader.syncUniformGroup(o.shader.shader.uniforms.globals)}calculateProjection(t,r,n,i){let o=this.projectionMatrix,a=i?-1:1;o.identity(),o.a=1/r.width*2,o.d=a*(1/r.height*2),o.tx=-1-r.x*o.a,o.ty=-a-r.y*o.d}setTransform(t){}destroy(){this.renderer=null}}ny.extension={type:tC.RendererSystem,name:"projection"},tD.add(ny);let nm=new ry,ng=new t4;class nv{constructor(t){this.renderer=t,this._tempMatrix=new ri}generateTexture(t,r){let{region:n,...i}=r||{},o=n?.copyTo(ng)||t.getLocalBounds(ng,!0),a=i.resolution||this.renderer.resolution;o.width=Math.max(o.width,1/a),o.height=Math.max(o.height,1/a),i.width=o.width,i.height=o.height,i.resolution=a,i.multisample??(i.multisample=this.renderer.multisample);let s=r1.create(i);this._tempMatrix.tx=-o.x,this._tempMatrix.ty=-o.y;let u=t.transform;return t.transform=nm,this.renderer.render(t,{renderTexture:s,transform:this._tempMatrix,skipUpdateTransform:!!t.parent,blit:!0}),t.transform=u,s}destroy(){}}nv.extension={type:[tC.RendererSystem,tC.CanvasRendererSystem],name:"textureGenerator"},tD.add(nv);let nb=new t4,nw=new t4;class nx{constructor(t){this.renderer=t,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new t4,this.destinationFrame=new t4,this.viewportFrame=new t4}contextChange(){let t=this.renderer?.gl.getContextAttributes();this._rendererPremultipliedAlpha=!!(t&&t.alpha&&t.premultipliedAlpha)}bind(){let t,r,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,s=this.renderer;this.current=i,i?(n=(t=i.baseTexture).resolution,o||(nb.width=i.frame.width,nb.height=i.frame.height,o=nb),a||(nw.x=i.frame.x,nw.y=i.frame.y,nw.width=o.width,nw.height=o.height,a=nw),r=t.framebuffer):(n=s.resolution,o||(nb.width=s._view.screen.width,nb.height=s._view.screen.height,o=nb),a||((a=nb).width=o.width,a.height=o.height));let u=this.viewportFrame;u.x=a.x*n,u.y=a.y*n,u.width=a.width*n,u.height=a.height*n,i||(u.y=s.view.height-(u.y+u.height)),u.ceil(),this.renderer.framebuffer.bind(r,u),this.renderer.projection.update(a,o,n,!r),i?this.renderer.mask.setMaskStack(t.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(o),this.destinationFrame.copyFrom(a)}clear(t,r){let n=this.current?this.current.baseTexture.clear:this.renderer.background.backgroundColor,i=e5.shared.setValue(t||n);(this.current&&this.current.baseTexture.alphaMode>0||!this.current&&this._rendererPremultipliedAlpha)&&i.premultiply(i.alpha);let o=this.destinationFrame,a=this.current?this.current.baseTexture:this.renderer._view.screen,s=o.width!==a.width||o.height!==a.height;if(s){let{x:t,y:r,width:n,height:i}=this.viewportFrame;t=Math.round(t),r=Math.round(r),n=Math.round(n),i=Math.round(i),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(t,r,n,i)}this.renderer.framebuffer.clear(i.red,i.green,i.blue,i.alpha,r),s&&this.renderer.scissor.pop()}resize(){this.bind(null)}reset(){this.bind(null)}destroy(){this.renderer=null}}nx.extension={type:tC.RendererSystem,name:"renderTexture"},tD.add(nx);
1277class n_{}class nT{constructor(t,r){this.program=t,this.uniformData=r,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null}}function nS(t,r,n){let i=t.createShader(r);return t.shaderSource(i,n),t.compileShader(i),i}function nE(t){let r=Array(t);for(let t=0;t<r.length;t++)r[t]=!1;return r}function nO(t,r){switch(t){case"float":case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"vec2":return new Float32Array(2*r);case"vec3":return new Float32Array(3*r);case"vec4":return new Float32Array(4*r);case"ivec2":return new Int32Array(2*r);case"ivec3":return new Int32Array(3*r);case"ivec4":return new Int32Array(4*r);case"uvec2":return new Uint32Array(2*r);case"uvec3":return new Uint32Array(3*r);case"uvec4":return new Uint32Array(4*r);case"bool":return!1;case"bvec2":return nE(2*r);case"bvec3":return nE(3*r);case"bvec4":return nE(4*r);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}function nA(t,r){let n=t.getShaderSource(r).split(`
1278`).map((t,r)=>`${r}: ${t}`),i=t.getShaderInfoLog(r),o=i.split(`
1279`),a={},s=o.map(t=>parseFloat(t.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(t=>!(!t||a[t])&&(a[t]=!0,!0)),u=[""];s.forEach(t=>{n[t-1]=`%c${n[t-1]}%c`,u.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});let l=n.join(`
1280`);u[0]=l,console.error(i),console.groupCollapsed("click to view full shader code"),console.warn(...u),console.groupEnd()}function nI(t,r){let n=nS(t,t.VERTEX_SHADER,r.vertexSrc),i=nS(t,t.FRAGMENT_SHADER,r.fragmentSrc),o=t.createProgram();t.attachShader(o,n),t.attachShader(o,i);let a=r.extra?.transformFeedbackVaryings;if(a&&("function"!=typeof t.transformFeedbackVaryings?console.warn("TransformFeedback is not supported but TransformFeedbackVaryings are given."):t.transformFeedbackVaryings(o,a.names,"separate"===a.bufferMode?t.SEPARATE_ATTRIBS:t.INTERLEAVED_ATTRIBS)),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)||t.getProgramParameter(o,t.LINK_STATUS)||(t.getShaderParameter(n,t.COMPILE_STATUS)||nA(t,n),t.getShaderParameter(i,t.COMPILE_STATUS)||nA(t,i),console.error("PixiJS Error: Could not initialize shader."),""!==t.getProgramInfoLog(o)&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",t.getProgramInfoLog(o))),r.attributeData=function(t,r){let n={},i=r.getProgramParameter(t,r.ACTIVE_ATTRIBUTES);for(let o=0;o<i;o++){let i=r.getActiveAttrib(t,o);if(i.name.startsWith("gl_"))continue;let a=rO(r,i.type),s={type:a,name:i.name,size:rT[a],location:r.getAttribLocation(t,i.name)};n[i.name]=s}return n}(o,t),r.uniformData=function(t,r){let n={},i=r.getProgramParameter(t,r.ACTIVE_UNIFORMS);for(let o=0;o<i;o++){let i=r.getActiveUniform(t,o),a=i.name.replace(/\[.*?\]$/,""),s=!!i.name.match(/\[.*?\]$/),u=rO(r,i.type);n[a]={name:a,index:o,type:u,size:i.size,isArray:s,value:nO(u,i.size)}}return n}(o,t),!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(r.vertexSrc)){let n=Object.keys(r.attributeData);n.sort((t,r)=>t>r?1:-1);for(let i=0;i<n.length;i++)r.attributeData[n[i]].location=i,t.bindAttribLocation(o,i,n[i]);t.linkProgram(o)}t.deleteShader(n),t.deleteShader(i);let s={};for(let n in r.uniformData){let i=r.uniformData[n];s[n]={location:t.getUniformLocation(o,n),value:nO(i.type,i.size)}}return new nT(o,s)}function nP(t,r,n,i,o){n.buffer.update(o)}let nk={float:`
1281        data[offset] = v;
1282    `,vec2:`
1283        data[offset] = v[0];
1284        data[offset+1] = v[1];
1285    `,vec3:`
1286        data[offset] = v[0];
1287        data[offset+1] = v[1];
1288        data[offset+2] = v[2];
1289
1290    `,vec4:`
1291        data[offset] = v[0];
1292        data[offset+1] = v[1];
1293        data[offset+2] = v[2];
1294        data[offset+3] = v[3];
1295    `,mat2:`
1296        data[offset] = v[0];
1297        data[offset+1] = v[1];
1298
1299        data[offset+4] = v[2];
1300        data[offset+5] = v[3];
1301    `,mat3:`
1302        data[offset] = v[0];
1303        data[offset+1] = v[1];
1304        data[offset+2] = v[2];
1305
1306        data[offset + 4] = v[3];
1307        data[offset + 5] = v[4];
1308        data[offset + 6] = v[5];
1309
1310        data[offset + 8] = v[6];
1311        data[offset + 9] = v[7];
1312        data[offset + 10] = v[8];
1313    `,mat4:`
1314        for(var i = 0; i < 16; i++)
1315        {
1316            data[offset + i] = v[i];
1317        }
1318    `},nC={float:4,vec2:8,vec3:12,vec4:16,int:4,ivec2:8,ivec3:12,ivec4:16,uint:4,uvec2:8,uvec3:12,uvec4:16,bool:4,bvec2:8,bvec3:12,bvec4:16,mat2:32,mat3:48,mat4:64};function n$(t){let r=t.map(t=>({data:t,offset:0,dataLen:0,dirty:0})),n=0,i=0,o=0;for(let t=0;t<r.length;t++){let a=r[t];if(n=nC[a.data.type],a.data.size>1&&(n=Math.max(n,16)*a.data.size),a.dataLen=n,i%n!=0&&i<16){let t=i%n%16;i+=t,o+=t}i+n>16?(a.offset=o=16*Math.ceil(o/16),o+=n,i=n):(a.offset=o,i+=n,o+=n)}return{uboElements:r,size:o=16*Math.ceil(o/16)}}function nR(t,r){let n=[];for(let i in t)r[i]&&n.push(r[i]);return n.sort((t,r)=>t.index-r.index),n}function nD(t,r){if(!t.autoManage)return{size:0,syncFunc:nP};let{uboElements:n,size:i}=n$(nR(t.uniforms,r)),o=[`
1319    var v = null;
1320    var v2 = null;
1321    var cv = null;
1322    var t = 0;
1323    var gl = renderer.gl
1324    var index = 0;
1325    var data = buffer.data;
1326    `];for(let r=0;r<n.length;r++){let i=n[r],a=t.uniforms[i.data.name],s=i.data.name,u=!1;for(let t=0;t<rm.length;t++){let r=rm[t];if(r.codeUbo&&r.test(i.data,a)){o.push(`offset = ${i.offset/4};`,rm[t].codeUbo(i.data.name,a)),u=!0;break}}if(!u)if(i.data.size>1){let t=rT[i.data.type],r=Math.max(nC[i.data.type]/16,1),n=t/r,a=(4-n%4)%4;o.push(`
1327                cv = ud.${s}.value;
1328                v = uv.${s};
1329                offset = ${i.offset/4};
1330
1331                t = 0;
1332
1333                for(var i=0; i < ${i.data.size*r}; i++)
1334                {
1335                    for(var j = 0; j < ${n}; j++)
1336                    {
1337                        data[offset++] = v[t++];
1338                    }
1339                    offset += ${a};
1340                }
1341
1342                `)}else{let t=nk[i.data.type];o.push(`
1343                cv = ud.${s}.value;
1344                v = uv.${s};
1345                offset = ${i.offset/4};
1346                ${t};
1347                `)}}return o.push(`
1348       renderer.buffer.update(buffer);
1349    `),{size:i,syncFunc:Function("ud","uv","renderer","syncData","buffer",o.join(`
1350`))}}function nM(){if("boolean"==typeof a)return a;try{a=!0===Function("param1","param2","param3","return param1[param2] === param3;")({a:"b"},"a","b")}catch{a=!1}return a}let nL=0,nB={textureCount:0,uboCount:0};
1350class nN{constructor(t){this.destroyed=!1,this.renderer=t,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=nL++}systemCheck(){if(!nM())throw Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")}contextChange(t){this.gl=t,this.reset()}bind(t,r){t.disposeRunner.add(this),t.uniforms.globals=this.renderer.globalUniforms;let n=t.program,i=n.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(t);return this.shader=t,this.program!==n&&(this.program=n,this.gl.useProgram(i.program)),r||(nB.textureCount=0,nB.uboCount=0,this.syncUniformGroup(t.uniformGroup,nB)),i}setUniforms(t){let r=this.shader.program,n=r.glPrograms[this.renderer.CONTEXT_UID];r.syncUniforms(n.uniformData,t,this.renderer)}syncUniformGroup(t,r){let n=this.getGlProgram();t.static&&t.dirtyId===n.uniformDirtyGroups[t.id]||(n.uniformDirtyGroups[t.id]=t.dirtyId,this.syncUniforms(t,n,r))}syncUniforms(t,r,n){(t.syncUniforms[this.shader.program.id]||this.createSyncGroups(t))(r.uniformData,t.uniforms,this.renderer,n)}createSyncGroups(t){let r=this.getSignature(t,this.shader.program.uniformData,"u");return this.cache[r]||(this.cache[r]=function(t,r){let n=[`
1351        var v = null;
1352        var cv = null;
1353        var cu = null;
1354        var t = 0;
1355        var gl = renderer.gl;
1356    `];for(let i in t.uniforms){let o=r[i];if(!o){!0===t.uniforms[i]?.group&&(t.uniforms[i].ubo?n.push(`
1357                        renderer.shader.syncUniformBufferGroup(uv.${i}, '${i}');
1358                    `):n.push(`
1359                        renderer.shader.syncUniformGroup(uv.${i}, syncData);
1360                    `));continue}let a=t.uniforms[i],s=!1;for(let t=0;t<rm.length;t++)if(rm[t].test(o,a)){n.push(rm[t].code(i,a)),s=!0;break}if(!s){let t=(1!==o.size||o.isArray?rv:rg)[o.type].replace("location",`ud["${i}"].location`);n.push(`
1361            cu = ud["${i}"];
1362            cv = cu.value;
1363            v = uv["${i}"];
1364            ${t};`)}}return Function("ud","uv","renderer","syncData",n.join(`
1365`))}(t,this.shader.program.uniformData)),t.syncUniforms[this.shader.program.id]=this.cache[r],t.syncUniforms[this.shader.program.id]}syncUniformBufferGroup(t,r){let n=this.getGlProgram();if(!t.static||0!==t.dirtyId||!n.uniformGroups[t.id]){t.dirtyId=0;let i=n.uniformGroups[t.id]||this.createSyncBufferGroup(t,n,r);t.buffer.update(),i(n.uniformData,t.uniforms,this.renderer,nB,t.buffer)}this.renderer.buffer.bindBufferBase(t.buffer,n.uniformBufferBindings[r])}createSyncBufferGroup(t,r,n){let{gl:i}=this.renderer;this.renderer.buffer.bind(t.buffer);let o=this.gl.getUniformBlockIndex(r.program,n);r.uniformBufferBindings[n]=this.shader.uniformBindCount,i.uniformBlockBinding(r.program,o,this.shader.uniformBindCount),this.shader.uniformBindCount++;let a=this.getSignature(t,this.shader.program.uniformData,"ubo"),s=this._uboCache[a];if(s||(s=this._uboCache[a]=nD(t,this.shader.program.uniformData)),t.autoManage){let r=new Float32Array(s.size/4);t.buffer.update(r)}return r.uniformGroups[t.id]=s.syncFunc,r.uniformGroups[t.id]}getSignature(t,r,n){let i=t.uniforms,o=[`${n}-`];for(let t in i)o.push(t),r[t]&&o.push(r[t].type);return o.join("-")}getGlProgram(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null}generateProgram(t){let r=this.gl,n=t.program,i=nI(r,n);return n.glPrograms[this.renderer.CONTEXT_UID]=i,i}reset(){this.program=null,this.shader=null}disposeShader(t){this.shader===t&&(this.shader=null)}destroy(){this.renderer=null,this.destroyed=!0}}nN.extension={type:tC.RendererSystem,name:"shader"},tD.add(nN);class nF{constructor(t){this.renderer=t}run(t){let{renderer:r}=this;r.runners.init.emit(r.options),t.hello&&console.log(`PixiJS 7.4.2 - ${r.rendererLogId} - https://pixijs.com`),r.resize(r.screen.width,r.screen.height)}destroy(){}}nF.defaultOptions={hello:!1},nF.extension={type:[tC.RendererSystem,tC.CanvasRendererSystem],name:"startup"},tD.add(nF);let nU=class t{constructor(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=D.NONE,this._blendEq=!1,this.map=[],this.map[0]=this.setBlend,this.map[1]=this.setOffset,this.map[2]=this.setCullFace,this.map[3]=this.setDepthTest,this.map[4]=this.setFrontFace,this.map[5]=this.setDepthMask,this.checks=[],this.defaultState=new tN,this.defaultState.blend=!0}contextChange(t){this.gl=t,this.blendModes=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return r[D.NORMAL]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.ADD]=[t.ONE,t.ONE],r[D.MULTIPLY]=[t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.SCREEN]=[t.ONE,t.ONE_MINUS_SRC_COLOR,t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.OVERLAY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.DARKEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.LIGHTEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.COLOR_DODGE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.COLOR_BURN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.HARD_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.SOFT_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.DIFFERENCE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.EXCLUSION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.HUE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.SATURATION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.COLOR]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.LUMINOSITY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.NONE]=[0,0],r[D.NORMAL_NPM]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.ADD_NPM]=[t.SRC_ALPHA,t.ONE,t.ONE,t.ONE],r[D.SCREEN_NPM]=[t.SRC_ALPHA,t.ONE_MINUS_SRC_COLOR,t.ONE,t.ONE_MINUS_SRC_ALPHA],r[D.SRC_IN]=[t.DST_ALPHA,t.ZERO],r[D.SRC_OUT]=[t.ONE_MINUS_DST_ALPHA,t.ZERO],r[D.SRC_ATOP]=[t.DST_ALPHA,t.ONE_MINUS_SRC_ALPHA],r[D.DST_OVER]=[t.ONE_MINUS_DST_ALPHA,t.ONE],r[D.DST_IN]=[t.ZERO,t.SRC_ALPHA],r[D.DST_OUT]=[t.ZERO,t.ONE_MINUS_SRC_ALPHA],r[D.DST_ATOP]=[t.ONE_MINUS_DST_ALPHA,t.SRC_ALPHA],r[D.XOR]=[t.ONE_MINUS_DST_ALPHA,t.ONE_MINUS_SRC_ALPHA],r[D.SUBTRACT]=[t.ONE,t.ONE,t.ONE,t.ONE,t.FUNC_REVERSE_SUBTRACT,t.FUNC_ADD],r}(t),this.set(this.defaultState),this.reset()}set(t){if(t=t||this.defaultState,this.stateId!==t.data){let r=this.stateId^t.data,n=0;for(;r;)1&r&&this.map[n].call(this,!!(t.data&1<<n)),r>>=1,n++;this.stateId=t.data}for(let r=0;r<this.checks.length;r++)this.checks[r](this,t)}forceState(t){t=t||this.defaultState;for(let r=0;r<this.map.length;r++)this.map[r].call(this,!!(t.data&1<<r));for(let r=0;r<this.checks.length;r++)this.checks[r](this,t);this.stateId=t.data}setBlend(r){this.updateCheck(t.checkBlendMode,r),this.gl[r?"enable":"disable"](this.gl.BLEND)}setOffset(r){this.updateCheck(t.checkPolygonOffset,r),this.gl[r?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)}setDepthTest(t){this.gl[t?"enable":"disable"](this.gl.DEPTH_TEST)}setDepthMask(t){this.gl.depthMask(t)}setCullFace(t){this.gl[t?"enable":"disable"](this.gl.CULL_FACE)}setFrontFace(t){this.gl.frontFace(this.gl[t?"CW":"CCW"])}setBlendMode(t){if(t===this.blendMode)return;this.blendMode=t;let r=this.blendModes[t],n=this.gl;2===r.length?n.blendFunc(r[0],r[1]):n.blendFuncSeparate(r[0],r[1],r[2],r[3]),6===r.length?(this._blendEq=!0,n.blendEquationSeparate(r[4],r[5])):this._blendEq&&(this._blendEq=!1,n.blendEquationSeparate(n.FUNC_ADD,n.FUNC_ADD))}setPolygonOffset(t,r){this.gl.polygonOffset(t,r)}reset(){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode=-1,this.setBlendMode(0)}updateCheck(t,r){let n=this.checks.indexOf(t);r&&-1===n?this.checks.push(t):r||-1===n||this.checks.splice(n,1)}static checkBlendMode(t,r){t.setBlendMode(r.blendMode)}static checkPolygonOffset(t,r){t.setPolygonOffset(1,r.polygonOffset)}destroy(){this.gl=null}};nU.extension={type:tC.RendererSystem,name:"state"};let nj=nU;tD.add(nj);
1365class nz extends eg{constructor(){super(...arguments),this.runners={},this._systemsHash={}}setup(t){this.addRunners(...t.runners);let r=(t.priority??[]).filter(r=>t.systems[r]);for(let n of[...r,...Object.keys(t.systems).filter(t=>!r.includes(t))])this.addSystem(t.systems[n],n)}addRunners(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];r.forEach(t=>{this.runners[t]=new tj(t)})}addSystem(t,r){let n=new t(this);if(this[r])throw Error(`Whoops! The name "${r}" is already in use`);for(let t in this[r]=n,this._systemsHash[r]=n,this.runners)this.runners[t].add(n);return this}emitWithCustomOptions(t,r){let n=Object.keys(this._systemsHash);t.items.forEach(i=>{let o=n.find(t=>this._systemsHash[t]===i);i[t.name](r[o])})}destroy(){Object.values(this.runners).forEach(t=>{t.destroy()}),this._systemsHash={}}}let nG=class t{constructor(r){this.renderer=r,this.count=0,this.checkCount=0,this.maxIdle=t.defaultMaxIdle,this.checkCountMax=t.defaultCheckCountMax,this.mode=t.defaultMode}postrender(){this.renderer.objectRenderer.renderingToScreen&&(this.count++,this.mode!==W.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){let t=this.renderer.texture,r=t.managedTextures,n=!1;for(let i=0;i<r.length;i++){let o=r[i];o.resource&&this.count-o.touched>
1365this.maxIdle&&(t.destroyTexture(o,!0),r[i]=null,n=!0)}if(n){let t=0;for(let n=0;n<r.length;n++)null!==r[n]&&(r[t++]=r[n]);r.length=t}}unload(t){let r=this.renderer.texture,n=t._texture;n&&!n.framebuffer&&r.destroyTexture(n);for(let r=t.children.length-1;r>=0;r--)this.unload(t.children[r])}destroy(){this.renderer=null}};nG.defaultMode=W.AUTO,nG.defaultMaxIdle=3600,nG.defaultCheckCountMax=600,nG.extension={type:tC.RendererSystem,name:"textureGC"};let nV=nG;tD.add(nV);class nW{constructor(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=N.UNSIGNED_BYTE,this.internalFormat=L.RGBA,this.samplerType=0}}class nH{constructor(t){this.renderer=t,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new tH,this.hasIntegerTextures=!1}contextChange(){let t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext?{[N.UNSIGNED_BYTE]:{[L.RGBA]:t.RGBA8,[L.RGB]:t.RGB8,[L.RG]:t.RG8,[L.RED]:t.R8,[L.RGBA_INTEGER]:t.RGBA8UI,[L.RGB_INTEGER]:t.RGB8UI,[L.RG_INTEGER]:t.RG8UI,[L.RED_INTEGER]:t.R8UI,[L.ALPHA]:t.ALPHA,[L.LUMINANCE]:t.LUMINANCE,[L.LUMINANCE_ALPHA]:t.LUMINANCE_ALPHA},[N.BYTE]:{[L.RGBA]:t.RGBA8_SNORM,[L.RGB]:t.RGB8_SNORM,[L.RG]:t.RG8_SNORM,[L.RED]:t.R8_SNORM,[L.RGBA_INTEGER]:t.RGBA8I,[L.RGB_INTEGER]:t.RGB8I,[L.RG_INTEGER]:t.RG8I,[L.RED_INTEGER]:t.R8I},[N.UNSIGNED_SHORT]:{[L.RGBA_INTEGER]:t.RGBA16UI,[L.RGB_INTEGER]:t.RGB16UI,[L.RG_INTEGER]:t.RG16UI,[L.RED_INTEGER]:t.R16UI,[L.DEPTH_COMPONENT]:t.DEPTH_COMPONENT16},[N.SHORT]:{[L.RGBA_INTEGER]:t.RGBA16I,[L.RGB_INTEGER]:t.RGB16I,[L.RG_INTEGER]:t.RG16I,[L.RED_INTEGER]:t.R16I},[N.UNSIGNED_INT]:{[L.RGBA_INTEGER]:t.RGBA32UI,[L.RGB_INTEGER]:t.RGB32UI,[L.RG_INTEGER]:t.RG32UI,[L.RED_INTEGER]:t.R32UI,[L.DEPTH_COMPONENT]:t.DEPTH_COMPONENT24},[N.INT]:{[L.RGBA_INTEGER]:t.RGBA32I,[L.RGB_INTEGER]:t.RGB32I,[L.RG_INTEGER]:t.RG32I,[L.RED_INTEGER]:t.R32I},[N.FLOAT]:{[L.RGBA]:t.RGBA32F,[L.RGB]:t.RGB32F,[L.RG]:t.RG32F,[L.RED]:t.R32F,[L.DEPTH_COMPONENT]:t.DEPTH_COMPONENT32F},[N.HALF_FLOAT]:{[L.RGBA]:t.RGBA16F,[L.RGB]:t.RGB16F,[L.RG]:t.RG16F,[L.RED]:t.R16F},[N.UNSIGNED_SHORT_5_6_5]:{[L.RGB]:t.RGB565},[N.UNSIGNED_SHORT_4_4_4_4]:{[L.RGBA]:t.RGBA4},[N.UNSIGNED_SHORT_5_5_5_1]:{[L.RGBA]:t.RGB5_A1},[N.UNSIGNED_INT_2_10_10_10_REV]:{[L.RGBA]:t.RGB10_A2,[L.RGBA_INTEGER]:t.RGB10_A2UI},[N.UNSIGNED_INT_10F_11F_11F_REV]:{[L.RGB]:t.R11F_G11F_B10F},[N.UNSIGNED_INT_5_9_9_9_REV]:{[L.RGB]:t.RGB9_E5},[N.UNSIGNED_INT_24_8]:{[L.DEPTH_STENCIL]:t.DEPTH24_STENCIL8},[N.FLOAT_32_UNSIGNED_INT_24_8_REV]:{[L.DEPTH_STENCIL]:t.DEPTH32F_STENCIL8}}:{[N.UNSIGNED_BYTE]:{[L.RGBA]:t.RGBA,[L.RGB]:t.RGB,[L.ALPHA]:t.ALPHA,[L.LUMINANCE]:t.LUMINANCE,[L.LUMINANCE_ALPHA]:t.LUMINANCE_ALPHA},[N.UNSIGNED_SHORT_5_6_5]:{[L.RGB]:t.RGB},[N.UNSIGNED_SHORT_4_4_4_4]:{[L.RGBA]:t.RGBA},[N.UNSIGNED_SHORT_5_5_5_1]:{[L.RGBA]:t.RGBA}},this.samplerTypes="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext?{[t.RGB]:F.FLOAT,[t.RGBA]:F.FLOAT,[t.ALPHA]:F.FLOAT,[t.LUMINANCE]:F.FLOAT,[t.LUMINANCE_ALPHA]:F.FLOAT,[t.R8]:F.FLOAT,[t.R8_SNORM]:F.FLOAT,[t.RG8]:F.FLOAT,[t.RG8_SNORM]:F.FLOAT,[t.RGB8]:F.FLOAT,[t.RGB8_SNORM]:F.FLOAT,[t.RGB565]:F.FLOAT,[t.RGBA4]:F.FLOAT,[t.RGB5_A1]:F.FLOAT,[t.RGBA8]:F.FLOAT,[t.RGBA8_SNORM]:F.FLOAT,[t.RGB10_A2]:F.FLOAT,[t.RGB10_A2UI]:F.FLOAT,[t.SRGB8]:F.FLOAT,[t.SRGB8_ALPHA8]:F.FLOAT,[t.R16F]:F.FLOAT,[t.RG16F]:F.FLOAT,[t.RGB16F]:F.FLOAT,[t.RGBA16F]:F.FLOAT,[t.R32F]:F.FLOAT,[t.RG32F]:F.FLOAT,[t.RGB32F]:F.FLOAT,[t.RGBA32F]:F.FLOAT,[t.R11F_G11F_B10F]:F.FLOAT,[t.RGB9_E5]:F.FLOAT,[t.R8I]:F.INT,[t.R8UI]:F.UINT,[t.R16I]:F.INT,[t.R16UI]:F.UINT,[t.R32I]:F.INT,[t.R32UI]:F.UINT,[t.RG8I]:F.INT,[t.RG8UI]:F.UINT,[t.RG16I]:F.INT,[t.RG16UI]:F.UINT,[t.RG32I]:F.INT,[t.RG32UI]:F.UINT,[t.RGB8I]:F.INT,[t.RGB8UI]:F.UINT,[t.RGB16I]:F.INT,[t.RGB16UI]:F.UINT,[t.RGB32I]:F.INT,[t.RGB32UI]:F.UINT,[t.RGBA8I]:F.INT,[t.RGBA8UI]:F.UINT,[t.RGBA16I]:F.INT,[t.RGBA16UI]:F.UINT,[t.RGBA32I]:F.INT,[t.RGBA32UI]:F.UINT,[t.DEPTH_COMPONENT16]:F.FLOAT,[t.DEPTH_COMPONENT24]:F.FLOAT,[t.DEPTH_COMPONENT32F]:F.FLOAT,[t.DEPTH_STENCIL]:F.FLOAT,[t.DEPTH24_STENCIL8]:F.FLOAT,[t.DEPTH32F_STENCIL8]:F.FLOAT}:{[t.RGB]:F.FLOAT,[t.RGBA]:F.FLOAT,[t.ALPHA]:F.FLOAT,[t.LUMINANCE]:F.FLOAT,[t.LUMINANCE_ALPHA]:F.FLOAT,[t.DEPTH_STENCIL]:F.FLOAT};let r=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=r;for(let t=0;t<r;t++)this.boundTextures[t]=null;this.emptyTextures={};let n=new nW(t.createTexture());t.bindTexture(t.TEXTURE_2D,n.texture),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(4)),this.emptyTextures[t.TEXTURE_2D]=n,this.emptyTextures[t.TEXTURE_CUBE_MAP]=new nW(t.createTexture()),t.bindTexture(t.TEXTURE_CUBE_MAP,this.emptyTextures[t.TEXTURE_CUBE_MAP].texture);for(let r=0;r<6;r++)t.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null);t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,t.LINEAR);for(let t=0;t<this.boundTextures.length;t++)this.bind(null,t)}bind(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,{gl:n}=this;if(t=t?.castToBaseTexture(),t?.valid&&!t.parentTextureArray){t.touched=this.renderer.textureGC.count;let i=t._glTextures[this.CONTEXT_UID]||this.initTexture(t);this.boundTextures[r]!==t&&(this.currentLocation!==r&&(this.currentLocation=r,n.activeTexture(n.TEXTURE0+r)),n.bindTexture(t.target,i.texture)),i.dirtyId!==t.dirtyId?(this.currentLocation!==r&&(this.currentLocation=r,n.activeTexture(n.TEXTURE0+r)),this.updateTexture(t)):i.dirtyStyleId!==t.dirtyStyleId&&this.updateTextureStyle(t),this.boundTextures[r]=t}else this.currentLocation!==r&&(this.currentLocation=r,n.activeTexture(n.TEXTURE0+r)),n.bindTexture(n.TEXTURE_2D,this.emptyTextures[n.TEXTURE_2D].texture),this.boundTextures[r]=null}reset(){this._unknownBoundTextures=!0,this.hasIntegerTextures=!1,this.currentLocation=-1;for(let t=0;t<this.boundTextures.length;t++)this.boundTextures[t]=this.unknownTexture}
1365unbind(t){let{gl:r,boundTextures:n}=this;if(this._unknownBoundTextures){this._unknownBoundTextures=!1;for(let t=0;t<n.length;t++)n[t]===this.unknownTexture&&this.bind(null,t)}for(let i=0;i<n.length;i++)n[i]===t&&(this.currentLocation!==i&&(r.activeTexture(r.TEXTURE0+i),this.currentLocation=i),r.bindTexture(t.target,this.emptyTextures[t.target].texture),n[i]=null)}ensureSamplerType(t){let{boundTextures:r,hasIntegerTextures:n,CONTEXT_UID:i}=this;if(n)for(let n=t-1;n>=0;--n){let t=r[n];t&&t._glTextures[i].samplerType!==F.FLOAT&&this.renderer.texture.unbind(t)}}initTexture(t){let r=new nW(this.gl.createTexture());return r.dirtyId=-1,t._glTextures[this.CONTEXT_UID]=r,this.managedTextures.push(t),t.on("dispose",this.destroyTexture,this),r}initTextureType(t,r){r.internalFormat=this.internalFormats[t.type]?.[t.format]??t.format,r.samplerType=this.samplerTypes[r.internalFormat]??F.FLOAT,2===this.webGLVersion&&t.type===N.HALF_FLOAT?r.type=this.gl.HALF_FLOAT:r.type=t.type}updateTexture(t){let r=t._glTextures[this.CONTEXT_UID];if(!r)return;let n=this.renderer;if(this.initTextureType(t,r),t.resource?.upload(n,t,r))r.samplerType!==F.FLOAT&&(this.hasIntegerTextures=!0);else{let i=t.realWidth,o=t.realHeight,a=n.gl;(r.width!==i||r.height!==o||r.dirtyId<0)&&(r.width=i,r.height=o,a.texImage2D(t.target,0,r.internalFormat,i,o,0,t.format,r.type,null))}t.dirtyStyleId!==r.dirtyStyleId&&this.updateTextureStyle(t),r.dirtyId=t.dirtyId}destroyTexture(t,r){let{gl:n}=this;if((t=t.castToBaseTexture())._glTextures[this.CONTEXT_UID]&&(this.unbind(t),n.deleteTexture(t._glTextures[this.CONTEXT_UID].texture),t.off("dispose",this.destroyTexture,this),delete t._glTextures[this.CONTEXT_UID],!r)){let r=this.managedTextures.indexOf(t);-1!==r&&tf(this.managedTextures,r,1)}}updateTextureStyle(t){let r=t._glTextures[this.CONTEXT_UID];r&&(t.mipmap!==z.POW2&&2===this.webGLVersion||t.isPowerOfTwo?r.mipmap=t.mipmap>=1:r.mipmap=!1,2===this.webGLVersion||t.isPowerOfTwo?r.wrapMode=t.wrapMode:r.wrapMode=j.CLAMP,t.resource?.style(this.renderer,t,r)||this.setStyle(t,r),r.dirtyStyleId=t.dirtyStyleId)}setStyle(t,r){let n=this.gl;if(r.mipmap&&t.mipmap!==z.ON_MANUAL&&n.generateMipmap(t.target),n.texParameteri(t.target,n.TEXTURE_WRAP_S,r.wrapMode),n.texParameteri(t.target,n.TEXTURE_WRAP_T,r.wrapMode),r.mipmap){n.texParameteri(t.target,n.TEXTURE_MIN_FILTER,t.scaleMode===U.LINEAR?n.LINEAR_MIPMAP_LINEAR:n.NEAREST_MIPMAP_NEAREST);let r=this.renderer.context.extensions.anisotropicFiltering;if(r&&t.anisotropicLevel>0&&t.scaleMode===U.LINEAR){let i=Math.min(t.anisotropicLevel,n.getParameter(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT));n.texParameterf(t.target,r.TEXTURE_MAX_ANISOTROPY_EXT,i)}}else n.texParameteri(t.target,n.TEXTURE_MIN_FILTER,t.scaleMode===U.LINEAR?n.LINEAR:n.NEAREST);n.texParameteri(t.target,n.TEXTURE_MAG_FILTER,t.scaleMode===U.LINEAR?n.LINEAR:n.NEAREST)}destroy(){this.renderer=null}}nH.extension={type:tC.RendererSystem,name:"texture"},tD.add(nH);class nq{constructor(t){this.renderer=t}contextChange(){this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){let{gl:r,CONTEXT_UID:n}=this,i=t._glTransformFeedbacks[n]||this.createGLTransformFeedback(t);r.bindTransformFeedback(r.TRANSFORM_FEEDBACK,i)}unbind(){let{gl:t}=this;t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null)}beginTransformFeedback(t,r){let{gl:n,renderer:i}=this;r&&i.shader.bind(r),n.beginTransformFeedback(t)}endTransformFeedback(){let{gl:t}=this;t.endTransformFeedback()}createGLTransformFeedback(t){let{gl:r,renderer:n,CONTEXT_UID:i}=this,o=r.createTransformFeedback();t._glTransformFeedbacks[i]=o,r.bindTransformFeedback(r.TRANSFORM_FEEDBACK,o);for(let o=0;o<t.buffers.length;o++){let a=t.buffers[o];a&&(n.buffer.update(a),a._glBuffers[i].refCount++,r.bindBufferBase(r.TRANSFORM_FEEDBACK_BUFFER,o,a._glBuffers[i].buffer||null))}return r.bindTransformFeedback(r.TRANSFORM_FEEDBACK,null),t.disposeRunner.add(this),o}disposeTransformFeedback(t,r){let n=t._glTransformFeedbacks[this.CONTEXT_UID],i=this.gl;t.disposeRunner.remove(this);let o=this.renderer.buffer;if(o)for(let n=0;n<t.buffers.length;n++){let i=t.buffers[n];if(!i)continue;let a=i._glBuffers[this.CONTEXT_UID];a&&(a.refCount--,0!==a.refCount||r||o.dispose(i,r))}n&&(r||i.deleteTransformFeedback(n),delete t._glTransformFeedbacks[this.CONTEXT_UID])}destroy(){this.renderer=null}}nq.extension={type:tC.RendererSystem,name:"transformFeedback"},tD.add(nq);class nY{constructor(t){this.renderer=t}init(t){this.screen=new t4(0,0,t.width,t.height),this.element=t.view||J.ADAPTER.createCanvas(),this.resolution=t.resolution||J.RESOLUTION,this.autoDensity=!!t.autoDensity}resizeView(t,r){this.element.width=Math.round(t*this.resolution),this.element.height=Math.round(r*this.resolution);let n=this.element.width/this.resolution,i=this.element.height/this.resolution;this.screen.width=n,this.screen.height=i,this.autoDensity&&(this.element.style.width=`${n}px`,this.element.style.height=`${i}px`),this.renderer.emit("resize",n,i),this.renderer.runners.resize.emit(this.screen.width,this.screen.height)}destroy(t){t&&this.element.parentNode?.removeChild(this.element),this.renderer=null,this.element=null,this.screen=null}}nY.defaultOptions={width:800,height:600,resolution:void 0,autoDensity:!1},nY.extension={type:[tC.RendererSystem,tC.CanvasRendererSystem],name:"_view"},tD.add(nY),J.PREFER_ENV=C.WEBGL2,J.STRICT_TEXTURE_CACHE=!1,J.RENDER_OPTIONS={...rW.defaultOptions,...rz.defaultOptions,...nY.defaultOptions,...nF.defaultOptions},Object.defineProperties(J,{WRAP_MODE:{get:()=>tH.defaultOptions.wrapMode,set(t){ex("7.1.0","settings.WRAP_MODE is deprecated, use BaseTexture.defaultOptions.wrapMode"),tH.defaultOptions.wrapMode=t}},SCALE_MODE:{get:()=>tH.defaultOptions.scaleMode,set(t){ex("7.1.0","settings.SCALE_MODE is deprecated, use BaseTexture.defaultOptions.scaleMode"),tH.defaultOptions.scaleMode=t}},MIPMAP_TEXTURES:{get:()=>tH.defaultOptions.mipmap,set(t){ex("7.1.0","settings.MIPMAP_TEXTURES is deprecated, use BaseTexture.defaultOptions.mipmap"),tH.defaultOptions.mipmap=t}},ANISOTROPIC_LEVEL:{get:()=>tH.defaultOptions.anisotropicLevel,set(t){ex("7.1.0","settings.ANISOTROPIC_LEVEL is deprecated, use BaseTexture.defaultOptions.anisotropicLevel"),tH.defaultOptions.anisotropicLevel=t}},FILTER_RESOLUTION:{get:()=>(ex("7.1.0","settings.FILTER_RESOLUTION is deprecated, use Filter.defaultResolution"),rj.defaultResolution),set(t){rj.defaultResolution=t}},FILTER_MULTISAMPLE:{get:()=>(ex("7.1.0","settings.FILTER_MULTISAMPLE is deprecated, use Filter.defaultMultisample"),rj.defaultMultisample),set(t){rj.defaultMultisample=t}},SPRITE_MAX_TEXTURES:{get:()=>rF.defaultMaxTextures,set(t){ex("7.1.0","settings.SPRITE_MAX_TEXTURES is deprecated, use BatchRenderer.defaultMaxTextures"),rF.defaultMaxTextures=t}},SPRITE_BATCH_SIZE:{get:()=>rF.defaultBatchSize,set(t){ex("7.1.0","settings.SPRITE_BATCH_SIZE is deprecated, use BatchRenderer.defaultBatchSize"),rF.defaultBatchSize=t}},CAN_UPLOAD_SAME_BUFFER:{get:()=>
1365rF.canUploadSameBuffer,set(t){ex("7.1.0","settings.CAN_UPLOAD_SAME_BUFFER is deprecated, use BatchRenderer.canUploadSameBuffer"),rF.canUploadSameBuffer=t}},GC_MODE:{get:()=>nV.defaultMode,set(t){ex("7.1.0","settings.GC_MODE is deprecated, use TextureGCSystem.defaultMode"),nV.defaultMode=t}},GC_MAX_IDLE:{get:()=>nV.defaultMaxIdle,set(t){ex("7.1.0","settings.GC_MAX_IDLE is deprecated, use TextureGCSystem.defaultMaxIdle"),nV.defaultMaxIdle=t}},GC_MAX_CHECK_COUNT:{get:()=>nV.defaultCheckCountMax,set(t){ex("7.1.0","settings.GC_MAX_CHECK_COUNT is deprecated, use TextureGCSystem.defaultCheckCountMax"),nV.defaultCheckCountMax=t}},PRECISION_VERTEX:{get:()=>rC.defaultVertexPrecision,set(t){ex("7.1.0","settings.PRECISION_VERTEX is deprecated, use Program.defaultVertexPrecision"),rC.defaultVertexPrecision=t}},PRECISION_FRAGMENT:{get:()=>rC.defaultFragmentPrecision,set(t){ex("7.1.0","settings.PRECISION_FRAGMENT is deprecated, use Program.defaultFragmentPrecision"),rC.defaultFragmentPrecision=t}}});var nX=((P=nX||{})[P.INTERACTION=50]="INTERACTION",P[P.HIGH=25]="HIGH",P[P.NORMAL=0]="NORMAL",P[P.LOW=-25]="LOW",P[P.UTILITY=-50]="UTILITY",P);class nK{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.next=null,this.previous=null,this._destroyed=!1,this.fn=t,this.context=r,this.priority=n,this.once=i}match(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.fn===t&&this.context===r}emit(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));let r=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),r}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let r=this.next;return this.next=t?null:r,this.previous=null,r}}let nZ=class t{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new nK(null,null,1/0),this.deltaMS=1/t.targetFPMS,this.elapsedMS=1/t.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&null===this._requestId&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){null===this._requestId&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){null!==this._requestId&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:nX.NORMAL;return this._addListener(new nK(t,r,n))}addOnce(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:nX.NORMAL;return this._addListener(new nK(t,r,n,!0))}_addListener(t){let r=this._head.next,n=this._head;if(r){for(;r;){if(t.priority>r.priority){t.connect(n);break}n=r,r=r.next}t.previous||t.connect(n)}else t.connect(n);return this._startIfPossible(),this}remove(t,r){let n=this._head.next;for(;n;)n=n.match(t,r)?n.destroy():n.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,r=this._head;for(;r=r.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(){let r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:performance.now();if(n>this.lastTime){if((r=this.elapsedMS=n-this.lastTime)>this._maxElapsedMS&&(r=this._maxElapsedMS),r*=this.speed,this._minElapsedMS){let t=n-this._lastFrame|0;if(t<this._minElapsedMS)return;this._lastFrame=n-t%this._minElapsedMS}this.deltaMS=r,this.deltaTime=this.deltaMS*t.targetFPMS;let i=this._head,o=i.next;for(;o;)o=o.emit(this.deltaTime);i.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=n}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(r){let n=Math.min(Math.max(0,Math.min(this.maxFPS,r))/1e3,t.targetFPMS);this._maxElapsedMS=1/n}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}
1365set maxFPS(t){if(0===t)this._minElapsedMS=0;else{let r=Math.max(this.minFPS,t);this._minElapsedMS=1/(r/1e3)}}static get shared(){if(!t._shared){let r=t._shared=new t;r.autoStart=!0,r._protected=!0}return t._shared}static get system(){if(!t._system){let r=t._system=new t;r.autoStart=!0,r._protected=!0}return t._system}};nZ.targetFPMS=.06;let nJ=nZ;Object.defineProperties(J,{TARGET_FPMS:{get:()=>nJ.targetFPMS,set(t){ex("7.1.0","settings.TARGET_FPMS is deprecated, use Ticker.targetFPMS"),nJ.targetFPMS=t}}});class nQ{static init(t){t=Object.assign({autoStart:!0,sharedTicker:!1},t),Object.defineProperty(this,"ticker",{set(t){this._ticker&&this._ticker.remove(this.render,this),this._ticker=t,t&&t.add(this.render,this,nX.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?nJ.shared:new nJ,t.autoStart&&this.start()}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy()}}}nQ.extension=tC.Application,tD.add(nQ);let n1=[];function n0(t){for(let r of n1)if(r.test(t))return new r(t);throw Error("Unable to auto-detect a suitable renderer.")}tD.handleByList(tC.Renderer,n1);let n3=`attribute vec2 aVertexPosition;
1366attribute vec2 aTextureCoord;
1367
1368uniform mat3 projectionMatrix;
1369
1370varying vec2 vTextureCoord;
1371
1372void main(void)
1373{
1374    gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0
1374)).xy, 0.0, 1.0);
1375    vTextureCoord = aTextureCoord;
1376}`,n6=`attribute vec2 aVertexPosition;
1377
1378uniform mat3 projectionMatrix;
1379
1380varying vec2 vTextureCoord;
1381
1382uniform vec4 inputSize;
1383uniform vec4 outputFrame;
1384
1385vec4 filterVertexPosition( void )
1386{
1387    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
1388
1389    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
1390}
1391
1392vec2 filterTextureCoord( void )
1393{
1394    return aVertexPosition * (outputFrame.zw * inputSize.zw);
1395}
1396
1397void main(void)
1398{
1399    gl_Position = filterVertexPosition();
1400    vTextureCoord = filterTextureCoord();
1401}
1402`;class n5{constructor(t){this.renderer=t}contextChange(t){let r;if(1===this.renderer.context.webGLVersion){let n=t.getParameter(t.FRAMEBUFFER_BINDING);t.bindFramebuffer(t.FRAMEBUFFER,null),r=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.FRAMEBUFFER,n)}else{let n=t.getParameter(t.DRAW_FRAMEBUFFER_BINDING);t.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),r=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,n)}r>=X.HIGH?this.multisample=X.HIGH:r>=X.MEDIUM?this.multisample=X.MEDIUM:r>=X.LOW?this.multisample=X.LOW:this.multisample=X.NONE}destroy(){}}n5.extension={type:tC.RendererSystem,name:"_multisample"},tD.add(n5);class n9{constructor(t){this.buffer=t||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}}class n2{constructor(t){this.renderer=t,this.managedBuffers={},this.boundBufferBases={}}destroy(){this.renderer=null}contextChange(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){let{gl:r,CONTEXT_UID:n}=this,i=t._glBuffers[n]||this.createGLBuffer(t);r.bindBuffer(t.type,i.buffer)}unbind(t){let{gl:r}=this;r.bindBuffer(t,null)}bindBufferBase(t,r){let{gl:n,CONTEXT_UID:i}=this;if(this.boundBufferBases[r]!==t){let o=t._glBuffers[i]||this.createGLBuffer(t);this.boundBufferBases[r]=t,n.bindBufferBase(n.UNIFORM_BUFFER,r,o.buffer)}}bindBufferRange(t,r,n){let{gl:i,CONTEXT_UID:o}=this;n=n||0;let a=t._glBuffers[o]||this.createGLBuffer(t);i.bindBufferRange(i.UNIFORM_BUFFER,r||0,a.buffer,256*n,256)}update(t){let{gl:r,CONTEXT_UID:n}=this,i=t._glBuffers[n]||this.createGLBuffer(t);if(t._updateID!==i.updateID)if(i.updateID=t._updateID,r.bindBuffer(t.type,i.buffer),i.byteLength>=t.data.byteLength)r.bufferSubData(t.type,0,t.data);else{let n=t.static?r.STATIC_DRAW:r.DYNAMIC_DRAW;i.byteLength=t.data.byteLength,r.bufferData(t.type,t.data,n)}}dispose(t,r){if(!this.managedBuffers[t.id])return;delete this.managedBuffers[t.id];let n=t._glBuffers[this.CONTEXT_UID],i=this.gl;t.disposeRunner.remove(this),n&&(r||i.deleteBuffer(n.buffer),delete t._glBuffers[this.CONTEXT_UID])}disposeAll(t){let r=Object.keys(this.managedBuffers);for(let n=0;n<r.length;n++)this.dispose(this.managedBuffers[r[n]],t)}createGLBuffer(t){let{CONTEXT_UID:r,gl:n}=this;return t._glBuffers[r]=new n9(n.createBuffer()),this.managedBuffers[t.id]=t,t.disposeRunner.add(this),t._glBuffers[r]}}n2.extension={type:tC.RendererSystem,name:"buffer"},tD.add(n2);class n7{constructor(t){this.renderer=t}render(t,r){let n,i,o,a,s=this.renderer;if(r&&(n=r.renderTexture,i=r.clear,o=r.transform,a=r.skipUpdateTransform),this.renderingToScreen=!n,s.runners.prerender.emit(),s.emit("prerender"),s.projection.transform=o,!s.context.isLost){if(n||(this.lastObjectRendered=t),!a){let r=t.enableTempParent();t.updateTransform(),t.disableTempParent(r)}s.renderTexture.bind(n),s.batch.currentRenderer.start(),(i??s.background.clearBeforeRender)&&s.renderTexture.clear(),t.render(s),s.batch.currentRenderer.flush(),n&&(r.blit&&s.framebuffer.blit(),n.baseTexture.update()),s.runners.postrender.emit(),s.projection.transform=null,s.emit("postrender")}}destroy(){this.renderer=null,this.lastObjectRendered=null}}n7.extension={type:tC.RendererSystem,name:"objectRenderer"},tD.add(n7);let n8=class t extends nz{constructor(r){super(),this.type=$.WEBGL,r=Object.assign({},J.RENDER_OPTIONS,r),this.gl=null,this.CONTEXT_UID=0,this.globalUniforms=new rR({projectionMatrix:new ri},!0);const n={runners:["init","destroy","contextChange","resolutionChange","reset","update","postrender","prerender","resize"],systems:t.__systems,priority:["_view","textureGenerator","background","_plugin","startup","context","state","texture","buffer","geometry","framebuffer","transformFeedback","mask","scissor","stencil","projection","textureGC","filter","renderTexture","batch","objectRenderer","_multisample"]};
1402this.setup(n),"useContextAlpha"in r&&(ex("7.0.0","options.useContextAlpha is deprecated, use options.premultipliedAlpha and options.backgroundAlpha instead"),r.premultipliedAlpha=r.useContextAlpha&&"notMultiplied"!==r.useContextAlpha,r.backgroundAlpha=!1===r.useContextAlpha?1:r.backgroundAlpha),this._plugin.rendererPlugins=t.__plugins,this.options=r,this.startup.run(this.options)}static test(t){return!t?.forceCanvas&&eP()}render(t,r){this.objectRenderer.render(t,r)}resize(t,r){this._view.resizeView(t,r)}reset(){return this.runners.reset.emit(),this}clear(){this.renderTexture.bind(),this.renderTexture.clear()}destroy(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.runners.destroy.items.reverse(),this.emitWithCustomOptions(this.runners.destroy,{_view:t}),super.destroy()}get plugins(){return this._plugin.plugins}get multisample(){return this._multisample.multisample}get width(){return this._view.element.width}get height(){return this._view.element.height}get resolution(){return this._view.resolution}set resolution(t){this._view.resolution=t,this.runners.resolutionChange.emit(t)}get autoDensity(){return this._view.autoDensity}get view(){return this._view.element}get screen(){return this._view.screen}get lastObjectRendered(){return this.objectRenderer.lastObjectRendered}get renderingToScreen(){return this.objectRenderer.renderingToScreen}get rendererLogId(){return`WebGL ${this.context.webGLVersion}`}get clearBeforeRender(){return ex("7.0.0","renderer.clearBeforeRender has been deprecated, please use renderer.background.clearBeforeRender instead."),this.background.clearBeforeRender}get useContextAlpha(){return ex("7.0.0","renderer.useContextAlpha has been deprecated, please use renderer.context.premultipliedAlpha instead."),this.context.useContextAlpha}get preserveDrawingBuffer(){return ex("7.0.0","renderer.preserveDrawingBuffer has been deprecated, we cannot truly know this unless pixi created the context"),this.context.preserveDrawingBuffer}get backgroundColor(){return ex("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color}set backgroundColor(t){ex("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color=t}get backgroundAlpha(){return ex("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha}set backgroundAlpha(t){ex("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha=t}get powerPreference(){return ex("7.0.0","renderer.powerPreference has been deprecated, we can only know this if pixi creates the context"),this.context.powerPreference}generateTexture(t,r){return this.textureGenerator.generateTexture(t,r)}};n8.extension={type:tC.Renderer,priority:1},n8.__plugins={},n8.__systems={};let n4=n8;tD.handleByMap(tC.RendererPlugin,n4.__plugins),tD.handleByMap(tC.RendererSystem,n4.__systems),tD.add(n4);class ie extends tz{constructor(t,r){const{width:n,height:i}=r||{};super(n,i),this.items=[],this.itemDirtyIds=[];for(let r=0;r<t;r++){const t=new tH;this.items.push(t),this.itemDirtyIds.push(-2)}this.length=t,this._load=null,this.baseTexture=null}initFromArray(t,r){for(let n=0;n<this.length;n++)t[n]&&(t[n].castToBaseTexture?this.addBaseTextureAt(t[n].castToBaseTexture(),n):t[n]instanceof tz?this.addResourceAt(t[n],n):this.addResourceAt(tU(t[n],r),n))}dispose(){for(let t=0,r=this.length;t<r;t++)this.items[t].destroy();this.items=null,this.itemDirtyIds=null,this._load=null}addResourceAt(t,r){if(!this.items[r])throw Error(`Index ${r} is out of bounds`);return t.valid&&!this.valid&&this.resize(t.width,t.height),this.items[r].setResource(t),this}bind(t){if(null!==this.baseTexture)throw Error("Only one base texture per TextureArray is allowed");super.bind(t);for(let r=0;r<this.length;r++)this.items[r].parentTextureArray=t,this.items[r].on("update",t.update,t)}unbind(t){super.unbind(t);for(let r=0;r<this.length;r++)this.items[r].parentTextureArray=null,this.items[r].off("update",t.update,t)}load(){if(this._load)return this._load;let t=this.items.map(t=>t.resource).filter(t=>t).map(t=>t.load());return this._load=Promise.all(t).then(()=>{let{realWidth:t,realHeight:r}=this.items[0];return this.resize(t,r),this.update(),Promise.resolve(this)}),this._load}}class it extends ie{constructor(t,r){let n,i;const{width:o,height:a}=r||{};Array.isArray(t)?(n=t,i=t.length):i=t,super(i,{width:o,height:a}),n&&this.initFromArray(n,r)}
1402addBaseTextureAt(t,r){if(!t.resource)throw Error("ArrayResource does not support RenderTexture");return this.addResourceAt(t.resource,r),this}bind(t){super.bind(t),t.target=B.TEXTURE_2D_ARRAY}upload(t,r,n){let{length:i,itemDirtyIds:o,items:a}=this,{gl:s}=t;n.dirtyId<0&&s.texImage3D(s.TEXTURE_2D_ARRAY,0,n.internalFormat,this._width,this._height,i,0,r.format,n.type,null);for(let t=0;t<i;t++){let i=a[t];o[t]<i.dirtyId&&(o[t]=i.dirtyId,i.valid&&s.texSubImage3D(s.TEXTURE_2D_ARRAY,0,0,0,t,i.resource.width,i.resource.height,1,r.format,n.type,i.resource.source))}return!0}}class ir extends rY{constructor(t){super(t)}static test(t){let{OffscreenCanvas:r}=globalThis;return!!(r&&t instanceof r)||globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement}}let ii=class t extends ie{constructor(r,n){const{width:i,height:o,autoLoad:a,linkBaseTexture:s}=n||{};if(r&&r.length!==t.SIDES)throw Error(`Invalid length. Got ${r.length}, expected 6`);super(6,{width:i,height:o});for(let r=0;r<t.SIDES;r++)this.items[r].target=B.TEXTURE_CUBE_MAP_POSITIVE_X+r;this.linkBaseTexture=!1!==s,r&&this.initFromArray(r,n),!1!==a&&this.load()}bind(t){super.bind(t),t.target=B.TEXTURE_CUBE_MAP}addBaseTextureAt(t,r,n){if(void 0===n&&(n=this.linkBaseTexture),!this.items[r])throw Error(`Index ${r} is out of bounds`);if(!this.linkBaseTexture||t.parentTextureArray||Object.keys(t._glTextures).length>0){if(!t.resource)throw Error("CubeResource does not support copying of renderTexture.");this.addResourceAt(t.resource,r)}else t.target=B.TEXTURE_CUBE_MAP_POSITIVE_X+r,t.parentTextureArray=this.baseTexture,this.items[r]=t;return t.valid&&!this.valid&&this.resize(t.realWidth,t.realHeight),this.items[r]=t,this}upload(r,n,i){let o=this.itemDirtyIds;for(let a=0;a<t.SIDES;a++){let t=this.items[a];(o[a]<t.dirtyId||i.dirtyId<n.dirtyId)&&(t.valid&&t.resource?(t.resource.upload(r,t,i),o[a]=t.dirtyId):o[a]<-1&&(r.gl.texImage2D(t.target,0,i.internalFormat,n.realWidth,n.realHeight,0,n.format,i.type,null),o[a]=-1))}return!0}static test(r){return Array.isArray(r)&&r.length===t.SIDES}};ii.SIDES=6;let io=ii;class ia extends rY{constructor(t,r){let n,i,o;r=r||{},"string"==typeof t?(n=ia.EMPTY,i=t,o=!0):(n=t,i=null,o=!1),super(n),this.url=i,this.crossOrigin=r.crossOrigin??!0,this.alphaMode="number"==typeof r.alphaMode?r.alphaMode:null,this.ownsImageBitmap=r.ownsImageBitmap??o,this._load=null,!1!==r.autoLoad&&this.load()}load(){return this._load||(this._load=new Promise(async(t,r)=>{if(null!==this.url)try{let r=await J.ADAPTER.fetch(this.url,{mode:this.crossOrigin?"cors":"no-cors"});if(this.destroyed)return;let n=await r.blob();if(this.destroyed)return;let i=await createImageBitmap(n,{premultiplyAlpha:null===this.alphaMode||this.alphaMode===G.UNPACK?"premultiply":"none"});if(this.destroyed)return void i.close();this.source=i,this.update(),t(this)}catch(t){if(this.destroyed)return;r(t),this.onError.emit(t)}else t(this)})),this._load}upload(t,r,n){return this.source instanceof ImageBitmap?("number"==typeof this.alphaMode&&(r.alphaMode=this.alphaMode),super.upload(t,r,n)):(this.load(),!1)}dispose(){this.ownsImageBitmap&&this.source instanceof ImageBitmap&&this.source.close(),super.dispose(),this._load=null}static test(t){return!!globalThis.createImageBitmap&&"u">typeof ImageBitmap&&("string"==typeof t||t instanceof ImageBitmap)}static get EMPTY(){return ia._EMPTY=ia._EMPTY??J.ADAPTER.createCanvas(0,0),ia._EMPTY}}let is=class t extends rY{constructor(t,r){r=r||{},super(J.ADAPTER.createCanvas()),this._width=0,this._height=0,this.svg=t,this.scale=r.scale||1,this._overrideWidth=r.width,this._overrideHeight=r.height,this._resolve=null,this._crossorigin=r.crossorigin,this._load=null,!1!==r.autoLoad&&this.load()}load(){return this._load||(this._load=new Promise(r=>{if(this._resolve=()=>{this.update(),r(this)},t.SVG_XML.test(this.svg.trim())){if(!btoa)throw Error("Your browser doesn't support base64 conversions.");this.svg=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(this.svg)))}`}this._loadSvg()})),this._load}_loadSvg(){let t=new Image;rY.crossOrigin(t,this.svg,this._crossorigin),t.src=this.svg,t.onerror=r=>{this._resolve&&(t.onerror=null,this.onError.emit(r))},t.onload=()=>
1402{if(!this._resolve)return;let r=t.width,n=t.height;if(!r||!n)throw Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");let i=r*this.scale,o=n*this.scale;(this._overrideWidth||this._overrideHeight)&&(i=this._overrideWidth||this._overrideHeight/n*r,o=this._overrideHeight||this._overrideWidth/r*n),i=Math.round(i),o=Math.round(o);let a=this.source;a.width=i,a.height=o,a._pixiId=`canvas_${ty()}`,a.getContext("2d").drawImage(t,0,0,r,n,0,0,i,o),this._resolve(),this._resolve=null}}static getSize(r){let n=t.SVG_SIZE.exec(r),i={};return n&&(i[n[1]]=Math.round(parseFloat(n[3])),i[n[5]]=Math.round(parseFloat(n[7]))),i}dispose(){super.dispose(),this._resolve=null,this._crossorigin=null}static test(r,n){return"svg"===n||"string"==typeof r&&r.startsWith("data:image/svg+xml")||"string"==typeof r&&t.SVG_XML.test(r)}};is.SVG_XML=/^(<\?xml[^?]+\?>)?\s*(<!--[^(-->)]*-->)?\s*\<svg/m,is.SVG_SIZE=/<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;let iu=is,il=class t extends rY{constructor(r,n){if(n=n||{},!(r instanceof HTMLVideoElement)){const i=document.createElement("video");!1!==n.autoLoad&&i.setAttribute("preload","auto"),!1!==n.playsinline&&(i.setAttribute("webkit-playsinline",""),i.setAttribute("playsinline","")),!0===n.muted&&(i.setAttribute("muted",""),i.muted=!0),!0===n.loop&&i.setAttribute("loop",""),!1!==n.autoPlay&&i.setAttribute("autoplay",""),"string"==typeof r&&(r=[r]);const o=r[0].src||r[0];rY.crossOrigin(i,o,n.crossorigin);for(let n=0;n<r.length;++n){const o=document.createElement("source");let{src:a,mime:s}=r[n];if((a=a||r[n]).startsWith("data:"))s=a.slice(5,a.indexOf(";"));else if(!a.startsWith("blob:")){const r=a.split("?").shift().toLowerCase(),n=r.slice(r.lastIndexOf(".")+1);s=s||t.MIME_TYPES[n]||`video/${n}`}o.src=a,s&&(o.type=s),i.appendChild(o)}r=i}super(r),this.noSubImage=!0,this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=n.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=!1!==n.autoPlay,this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),!1!==n.autoLoad&&this.load()}update(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0],!this.destroyed){if(this._updateFPS){let t=nJ.shared.elapsedMS*this.source.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t)}(!this._updateFPS||this._msToNextUpdate<=0)&&(super.update(),this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0)}}_videoFrameRequestCallback(){this.update(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback)}load(){if(this._load)return this._load;let t=this.source;return(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._onCanPlay():(t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlay),t.addEventListener("error",this._onError,!0)),this._load=new Promise((r,n)=>{this.valid?r(this):(this._resolve=r,this._reject=n,t.load())}),this._load}_onError(t){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){let t=this.source;return!t.paused&&!t.ended}_isSourceReady(){return this.source.readyState>2}_onPlayStart(){this.valid||this._onCanPlay(),this._configureAutoUpdate()}_onPlayStop(){this._configureAutoUpdate()}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.update(),this._msToNextUpdate=0)}_onCanPlay(){let t=this.source;t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay);let r=this.valid;this._msToNextUpdate=0,this.update(),this._msToNextUpdate=0,!r&&this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&t.play()}dispose(){this._configureAutoUpdate();let t=this.source;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.dispose()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.source.requestVideoFrameCallback?(this._isConnectedToTicker&&(nJ.shared.remove(this.update,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0),null===this._videoFrameRequestCallbackHandle&&(this._videoFrameRequestCallbackHandle=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback))):(null!==this._videoFrameRequestCallbackHandle&&(this.source.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(nJ.shared.add(this.update,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(null!==this._videoFrameRequestCallbackHandle&&(this.source.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(nJ.shared.remove(this.update,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(r,n){return globalThis.HTMLVideoElement&&r instanceof HTMLVideoElement||t.TYPES.includes(n)}};il.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],il.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let ih=il;tF.push(ia,rX,ir,ih,class extends rY{constructor(t){super(t)}static test(t){return!!globalThis.VideoFrame&&t instanceof globalThis.VideoFrame}},iu,tG,io,it);class ic{constructor(){this._glTransformFeedbacks={},this.buffers=[],this.disposeRunner=new tj("disposeTransformFeedback")}bindBuffer(t,r){this.buffers[t]=r}destroy(){this.disposeRunner.emit(this,!1)}}let id="7.4.2"},4486:(t,r,n)=>{n.d(r,{b:()=>i});var i=n(228)},7734:(t,r,n)=>{n.d(r,{_K:()=>c,qY:()=>O,wV:()=>$});var i,o,a,s,u,l,h,c,f,d,p,y,m,g,v,b,w,x,_,T,S,E,O,A,I,P,k,C,$,R,D,M=n(5606),L=n(8287).hp,B=Object.create,N=Object.defineProperty,F=Object.getOwnPropertyDescriptor,U=Object.getOwnPropertyNames,j=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty,G=(t,r)=>()=>(t&&(r=t(t=0)),r),V=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),W=(t,r)=>{for(var n in r)N(t,n,{get:r[n],enumerable:!0})},H=(t,r,n,i)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let o of U(r))z.call(t,o)||o===n||N(t,o,{get:()=>r[o],enumerable:!(i=F(r,o))||i.enumerable});return t},q=(t,r,n)=>(n=null!=t?B(j(t)):{},H(!r&&t&&t.__esModule?n:N(n,"default",{value:t,enumerable:!0}),t)),Y=t=>H(N({},"__esModule",{value:!0}),t),X=G(()=>{i=new Map,o=[],a=(t,r,n)=>{if(!r||"function"!=typeof r.init||"function"!=typeof r.createInferenceSessionHandler)throw TypeError("not a valid backend");{let a=i.get(t);if(void 0===a)i.set(t,{backend:r,priority:n});else{if(a.priority>n)return;if(a.priority===n&&a.backend!==r)throw Error(`cannot register backend "${t}" using priority ${n}`)}if(n>=0){let r=o.indexOf(t);-1!==r&&o.splice(r,1);for(let r=0;r<o.length;r++)if(i.get(o[r]).priority<=n)return void o.splice(r,0,t);o.push(t)}}},s=async t=>{let r=0===t.length?o:t,n=[];for(let t of r){let r=i.get(t);if(r){if(r.initialized)return r.backend;if(r.aborted)continue;let i=!!r.initPromise;
1402try{return i||(r.initPromise=r.backend.init(t)),await r.initPromise,r.initialized=!0,r.backend}catch(o){i||n.push({name:t,err:o}),r.aborted=!0}finally{delete r.initPromise}}}throw Error(`no available backend found. ERR: ${n.map(t=>`[${t.name}] ${t.err}`).join(", ")}`)}}),K=G(()=>{X()}),Z=G(()=>{u="1.17.0"}),J=G(()=>{Z(),l="warning",Object.defineProperty(h={wasm:{},webgl:{},webgpu:{},versions:{common:u},set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw Error(`Unsupported logging level: ${e}`);l=e}},get logLevel(){return l}},"logLevel",{enumerable:!0})}),Q=G(()=>{J(),c=h}),ee=G(()=>{f=(t,r)=>{let n="u">typeof document?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=t.dims[3],n.height=t.dims[2];let i=n.getContext("2d");if(null!=i){let o,a;void 0!==r?.tensorLayout&&"NHWC"===r.tensorLayout?(o=t.dims[2],a=t.dims[3]):(o=t.dims[3],a=t.dims[2]);let s,u,l=void 0!==r?.format?r.format:"RGB",h=r?.norm;void 0===h||void 0===h.mean?s=[255,255,255,255]:"number"==typeof h.mean?s=[h.mean,h.mean,h.mean,h.mean]:(s=[h.mean[0],h.mean[1],h.mean[2],0],void 0!==h.mean[3]&&(s[3]=h.mean[3])),void 0===h||void 0===h.bias?u=[0,0,0,0]:"number"==typeof h.bias?u=[h.bias,h.bias,h.bias,h.bias]:(u=[h.bias[0],h.bias[1],h.bias[2],0],void 0!==h.bias[3]&&(u[3]=h.bias[3]));let c=a*o,f=0,d=c,p=2*c,y=-1;"RGBA"===l?(f=0,d=c,p=2*c,y=3*c):"RGB"===l?(f=0,d=c,p=2*c):"RBG"===l&&(f=0,p=c,d=2*c);for(let r=0;r<a;r++)for(let n=0;n<o;n++)i.fillStyle="rgba("+(t.data[f++]-u[0])*s[0]+","+(t.data[d++]-u[1])*s[1]+","+(t.data[p++]-u[2])*s[2]+","+(-1===y?255:(t.data[y++]-u[3])*s[3])+")",i.fillRect(n,r,1,1);if("toDataURL"in n)return n.toDataURL();throw Error("toDataURL is not supported")}throw Error("Can not access image data")},d=(t,r)=>{let n,i="u">typeof document?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(null==i)throw Error("Can not access image data");{let o,a,s;void 0!==r?.tensorLayout&&"NHWC"===r.tensorLayout?(o=t.dims[2],a=t.dims[1],s=t.dims[3]):(o=t.dims[3],a=t.dims[2],s=t.dims[1]);let u,l,h=void 0!==r&&void 0!==r.format?r.format:"RGB",c=r?.norm;void 0===c||void 0===c.mean?u=[255,255,255,255]:"number"==typeof c.mean?u=[c.mean,c.mean,c.mean,c.mean]:(u=[c.mean[0],c.mean[1],c.mean[2],255],void 0!==c.mean[3]&&(u[3]=c.mean[3])),void 0===c||void 0===c.bias?l=[0,0,0,0]:"number"==typeof c.bias?l=[c.bias,c.bias,c.bias,c.bias]:(l=[c.bias[0],c.bias[1],c.bias[2],0],void 0!==c.bias[3]&&(l[3]=c.bias[3]));let f=a*o;if(void 0!==r&&(void 0!==r.format&&4===s&&"RGBA"!==r.format||3===s&&"RGB"!==r.format&&"BGR"!==r.format))throw Error("Tensor format doesn't match input tensor dims");let d=0,p=1,y=2,m=3,g=0,v=f,b=2*f,w=-1;"RGBA"===h?(g=0,v=f,b=2*f,w=3*f):"RGB"===h?(g=0,v=f,b=2*f):"RBG"===h&&(g=0,b=f,v=2*f),n=i.createImageData(o,a);for(let r=0;r<a*o;d+=4,p+=4,y+=4,m+=4,r++)n.data[d]=(t.data[g++]-l[0])*u[0],n.data[p]=(t.data[v++]-l[1])*u[1],n.data[y]=(t.data[b++]-l[2])*u[2],n.data[m]=-1===w?255:(t.data[w++]-l[3])*u[3]}return n}}),et=G(()=>{ei(),p=(t,r)=>{if(void 0===t)throw Error("Image buffer must be defined");if(void 0===r.height||void 0===r.width)throw Error("Image height and width must be defined");if("NHWC"===r.tensorLayout)throw Error("NHWC Tensor layout is not supported yet");let n,i,{height:o,width:a}=r,s=r.norm??{mean:255,bias:0};n="number"==typeof s.mean?[s.mean,s.mean,s.mean,s.mean]:[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],i="number"==typeof s.bias?[s.bias,s.bias,s.bias,s.bias]:[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let u=void 0!==r.format?r.format:"RGBA",l=void 0!==r.tensorFormat&&void 0!==r.tensorFormat?r.tensorFormat:"RGB",h=o*a,c=new Float32Array("RGBA"===l?4*h:3*h),f=4,d=0,p=1,y=2,m=3,g=0,v=h,b=2*h,w=-1;"RGB"===u&&(f=3,d=0,p=1,y=2,m=-1),"RGBA"===l?w=3*h:"RBG"===l?(g=0,b=h,v=2*h):"BGR"===l&&(b=0,v=h,g=2*h);for(let r=0;r<h;r++,d+=f,y+=f,p+=f,m+=f)c[g++]=(t[d]+i[0])/n[0],c[v++]=(t[p]+i[1])/n[1],c[b++]=(t[y]+i[2])/n[2],-1!==w&&-1!==m&&(c[w++]=(t[m]+i[3])/n[3]);return new E("float32",c,"RGBA"===l?[1,4,o,a]:[1,3,o,a])},y=async(t,r)=>{let n,i="u">typeof HTMLImageElement&&t instanceof HTMLImageElement,o="u">typeof ImageData&&t instanceof ImageData,a="u">typeof ImageBitmap&&t instanceof ImageBitmap,s="string"==typeof t,u=r??{},l=()=>{if("u">typeof document)return document.createElement("canvas");if("u">typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},h=t=>t instanceof HTMLCanvasElement||t instanceof OffscreenCanvas?t.getContext("2d"):null;if(i){let i=l();i.width=t.width,i.height=t.height;let o=h(i);if(null==o)throw Error("Can not access image data");{let i=t.height,a=t.width;if(void 0!==r&&void 0!==r.resizedHeight&&void 0!==r.resizedWidth&&(i=r.resizedHeight,a=r.resizedWidth),void 0!==r){if(u=r,void 0!==r.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");
1402u.tensorFormat="RGBA",u.height=i,u.width=a}else u.tensorFormat="RGBA",u.height=i,u.width=a;o.drawImage(t,0,0),n=o.getImageData(0,0,a,i).data}}else{if(!o){if(a){if(void 0===r)throw Error("Please provide image config with format for Imagebitmap");let i=l();i.width=t.width,i.height=t.height;let o=h(i);if(null!=o){let r=t.height,i=t.width;return o.drawImage(t,0,0,i,r),n=o.getImageData(0,0,i,r).data,u.height=r,u.width=i,p(n,u)}throw Error("Can not access image data")}if(s)return new Promise((r,n)=>{let i=l(),o=h(i);if(!t||!o)return n();let a=new Image;a.crossOrigin="Anonymous",a.src=t,a.onload=()=>{i.width=a.width,i.height=a.height,o.drawImage(a,0,0,i.width,i.height);let t=o.getImageData(0,0,i.width,i.height);u.height=i.height,u.width=i.width,r(p(t.data,u))}});throw Error("Input data provided is not supported - aborted tensor creation")}{let i,o;if(void 0!==r&&void 0!==r.resizedWidth&&void 0!==r.resizedHeight?(i=r.resizedHeight,o=r.resizedWidth):(i=t.height,o=t.width),void 0!==r&&(u=r),u.format="RGBA",u.height=i,u.width=o,void 0!==r){let r=l();r.width=o,r.height=i;let a=h(r);if(null==a)throw Error("Can not access image data");a.putImageData(t,0,0),n=a.getImageData(0,0,o,i).data}else n=t.data}}if(void 0!==n)return p(n,u);throw Error("Input data provided is not supported - aborted tensor creation")},m=(t,r)=>{let{width:n,height:i,download:o,dispose:a}=r;return new E({location:"texture",type:"float32",texture:t,dims:[1,i,n,4],download:o,dispose:a})},g=(t,r)=>{let{dataType:n,dims:i,download:o,dispose:a}=r;return new E({location:"gpu-buffer",type:n??"float32",gpuBuffer:t,dims:i,download:o,dispose:a})},v=(t,r,n)=>new E({location:"cpu-pinned",type:t,data:r,dims:n??[r.length]})}),er=G(()=>{b=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["float16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),w=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),x=!1,_=()=>{if(!x){x=!0;let t="u">typeof BigInt64Array&&"function"==typeof BigInt64Array.from,r="u">typeof BigUint64Array&&"function"==typeof BigUint64Array.from;t&&(b.set("int64",BigInt64Array),w.set(BigInt64Array,"int64")),r&&(b.set("uint64",BigUint64Array),w.set(BigUint64Array,"uint64"))}}}),en=G(()=>{ei(),T=t=>{let r=1;for(let n=0;n<t.length;n++){let i=t[n];if("number"!=typeof i||!Number.isSafeInteger(i))throw TypeError(`dims[${n}] must be an integer, got: ${i}`);if(i<0)throw RangeError(`dims[${n}] must be a non-negative integer, got: ${i}`);r*=i}return r},S=(t,r)=>{switch(t.location){case"cpu":return new E(t.type,t.data,r);case"cpu-pinned":return new E({location:"cpu-pinned",data:t.data,type:t.type,dims:r});case"texture":return new E({location:"texture",texture:t.texture,type:t.type,dims:r});case"gpu-buffer":return new E({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:r});default:throw Error(`tensorReshape: tensor location ${t.location} is not supported`)}}}),ei=G(()=>{ee(),et(),er(),en(),E=class{constructor(t,r,n){let i,o;if(_(),"object"==typeof t&&"location"in t)switch(this.dataLocation=t.location,i=t.type,o=t.dims,t.location){case"cpu-pinned":{let r=b.get(i);if(!r)throw TypeError(`unsupported type "${i}" to create tensor from pinned buffer`);if(!(t.data instanceof r))throw TypeError(`buffer should be of type ${r.name}`);this.cpuData=t.data;break}case"texture":if("float32"!==i)throw TypeError(`unsupported type "${i}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break;case"gpu-buffer":if("float32"!==i&&"float16"!==i&&"int32"!==i&&"int64"!==i&&"uint32"!==i&&"bool"!==i)throw TypeError(`unsupported type "${i}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,s;if("string"==typeof t)if(i=t,s=n,"string"===t){if(!Array.isArray(r))throw TypeError("A string tensor's data must be a string array.");a=r}else{let n=b.get(t);if(void 0===n)throw TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if("float16"===t)throw TypeError("Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.");a="uint64"===t||"int64"===t?n.from(r,BigInt):n.from(r)}else{if(!(r instanceof n))throw TypeError(`A ${i} tensor's data must be type of ${n}`);a=r}}else if(s=r,Array.isArray(t)){if(0===t.length)throw TypeError("Tensor type cannot be inferred from an empty array.");let r=typeof t[0];
1402if("string"===r)i="string",a=t;else{if("boolean"!==r)throw TypeError(`Invalid element type of data array: ${r}.`);i="bool",a=Uint8Array.from(t)}}else{let r=w.get(t.constructor);if(void 0===r)throw TypeError(`Unsupported type for tensor data: ${t.constructor}.`);i=r,a=t}if(void 0===s)s=[a.length];else if(!Array.isArray(s))throw TypeError("A tensor's dims must be a number array");o=s,this.cpuData=a,this.dataLocation="cpu"}let a=T(o);if(this.cpuData&&a!==this.cpuData.length)throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=i,this.dims=o,this.size=a}static async fromImage(t,r){return y(t,r)}static fromTexture(t,r){return m(t,r)}static fromGpuBuffer(t,r){return g(t,r)}static fromPinnedBuffer(t,r,n){return v(t,r,n)}toDataURL(t){return f(this,t)}toImageData(t){return d(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if("none"===this.dataLocation)throw Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return S(this,t)}}}),eo=G(()=>{ei(),O=E}),ea=G(()=>{J(),A=(t,r)=>{h.wasm.trace&&console.timeStamp(`${t}::ORT::${r}`)},I=(t,r)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],i=!1;for(let o=0;o<n.length;o++){if(i&&!n[o].includes("TRACE_FUNC")){let i=`FUNC_${t}::${n[o].trim().split(" ")[1]}`;return r&&(i+=`::${r}`),void A("CPU",i)}n[o].includes("TRACE_FUNC")&&(i=!0)}},P=t=>{h.wasm.trace&&I("BEGIN",t)},k=t=>{h.wasm.trace&&I("END",t)}}),es=G(()=>{X(),eo(),ea(),C=class t{constructor(t){this.handler=t}async run(t,r,n){P();let i={},o={};if("object"!=typeof t||null===t||t instanceof O||Array.isArray(t))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if("object"==typeof r){if(null===r)throw TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof O)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(0===r.length)throw TypeError("'fetches' cannot be an empty array.");for(let t of(a=!1,r)){if("string"!=typeof t)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(t))throw RangeError(`'fetches' contains invalid output name: ${t}.`);i[t]=null}if("object"==typeof n&&null!==n)o=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else{let t=!1,s=Object.getOwnPropertyNames(r);for(let n of this.outputNames)if(-1!==s.indexOf(n)){let o=r[n];(null===o||o instanceof O)&&(t=!0,a=!1,i[n]=o)}if(t){if("object"==typeof n&&null!==n)o=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else o=r}}else if("u">typeof r)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let r of this.inputNames)if(typeof t[r]>"u")throw Error(`input '${r}' is missing in 'feeds'.`);if(a)for(let t of this.outputNames)i[t]=null;let s=await this.handler.run(t,i,o),u={};for(let t in s)if(Object.hasOwnProperty.call(s,t)){let r=s[t];u[t]=r instanceof O?r:new O(r.type,r.data,r.dims)}return k(),u}async release(){return this.handler.dispose()}async configure(t){return await this.handler.configure(t)}async auth(t){return await this.handler.auth(t)}static async create(r,n,i,o){P();let a,u={};if("string"==typeof r){if(a=r,"object"==typeof n&&null!==n)u=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else if(r instanceof Uint8Array){if(a=r,"object"==typeof n&&null!==n)u=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else{if(!(r instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer))throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let t=0,s=r.byteLength;if("object"==typeof n&&null!==n)u=n;else if("number"==typeof n){if(!Number.isSafeInteger(t=n))throw RangeError("'byteOffset' must be an integer.");if(t<0||t>=r.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${r.byteLength}).`);if(s=r.byteLength-t,"number"==typeof i){if(!Number.isSafeInteger(s=i))throw RangeError("'byteLength' must be an integer.");if(s<=0||t+s>r.byteLength)throw RangeError(`'byteLength' is out of range (0, ${r.byteLength-t}].`);if("object"==typeof o&&null!==o)u=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else if("u">typeof i)throw TypeError("'byteLength' must be a number.")}else if("u">typeof n)throw TypeError("'options' must be an object.");a=new Uint8Array(r,t,s)}}let l=(u.executionProviders||[]).map(t=>"string"==typeof t?t:t.name),h=await (await s(l)).createInferenceSessionHandler(a,u);return k(),new t(h)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}
1402get outputNames(){return this.handler.outputNames}}}),eu=G(()=>{es(),$=C}),el=G(()=>{}),eh=G(()=>{X(),eo(),R=class t{constructor(t,r,n){this.handler=t,this.hasOptimizerModel=r,this.hasEvalModel=n}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw Error("This training session has no evalModel loaded.")}static async create(r,n){let i=r.evalModel||"",o=r.optimizerModel||"",a=n||{},u=(a.executionProviders||[]).map(t=>"string"==typeof t?t:t.name),l=await s(u);if(l.createTrainingSessionHandler)return new t(await l.createTrainingSessionHandler(r.checkpointState,r.trainModel,i,o,a),!!r.optimizerModel,!!r.evalModel);throw Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(t,r,n,i,o){let a={},s={};if("object"!=typeof n||null===n||n instanceof O||Array.isArray(n))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let u=!0;if("object"==typeof i){if(null===i)throw TypeError("Unexpected argument[1]: cannot be null.");if(i instanceof O)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(i)){if(0===i.length)throw TypeError("'fetches' cannot be an empty array.");for(let t of(u=!1,i)){if("string"!=typeof t)throw TypeError("'fetches' must be a string array or an object.");if(-1===r.indexOf(t))throw RangeError(`'fetches' contains invalid output name: ${t}.`);a[t]=null}if("object"==typeof o&&null!==o)s=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else{let t=!1,n=Object.getOwnPropertyNames(i);for(let o of r)if(-1!==n.indexOf(o)){let r=i[o];(null===r||r instanceof O)&&(t=!0,u=!1,a[o]=r)}if(t){if("object"==typeof o&&null!==o)s=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else s=i}}else if("u">typeof i)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let r of t)if(typeof n[r]>"u")throw Error(`input '${r}' is missing in 'feeds'.`);if(u)for(let t of r)a[t]=null;return[a,s]}convertHandlerReturnTypeToMapOfTensors(t){let r={};for(let n in t)if(Object.hasOwnProperty.call(t,n)){let i=t[n];r[n]=i instanceof O?i:new O(i.type,i.data,i.dims)}return r}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(t,r,n){let[i,o]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,t,r,n),a=await this.handler.runTrainStep(t,i,o);return this.convertHandlerReturnTypeToMapOfTensors(a)}async runOptimizerStep(t){if(!this.hasOptimizerModel)throw Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(t||{})}async runEvalStep(t,r,n){if(this.hasEvalModel){let[i,o]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,t,r,n),a=await this.handler.runEvalStep(t,i,o);return this.convertHandlerReturnTypeToMapOfTensors(a)}throw Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(){let t=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.handler.getParametersSize(t)}async loadParametersBuffer(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=await this.getParametersSize(r);if(t.length!==4*n)throw Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(t,r)}async getContiguousParameters(){let t=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.handler.getContiguousParameters(t)}async release(){return this.handler.dispose()}}}),ec=G(()=>{eh(),D=R});W({},{InferenceSession:()=>$,TRACE:()=>A,TRACE_FUNC_BEGIN:()=>P,TRACE_FUNC_END:()=>k,Tensor:()=>O,TrainingSession:()=>D,env:()=>c,registerBackend:()=>a});var ef=G(()=>{K(),Q(),eu(),eo(),ea(),el(),ec()});function ed(t,r,n,i){if(void 0===r){var o;
1402return o=t,{verbose:ed.verbose.bind(null,o),info:ed.info.bind(null,o),warning:ed.warning.bind(null,o),error:ed.error.bind(null,o),fatal:ed.fatal.bind(null,o)}}if(void 0===n)ep(t,r,1);else if("number"==typeof n&&void 0===i)ep(t,r,n);else if("string"==typeof n&&void 0===i)ep(t,n,1,r);else{if("string"!=typeof n||"number"!=typeof i)throw TypeError("input is valid");ep(t,n,i,r)}}function ep(t,r,n,i){let o=ew[i||""]||ew[""];eg[t]<eg[o.minimalSeverity]||(o.logDateTime&&(r=`${new Date().toISOString()}|${r}`),o.logSourceLocation,ev[o.provider].log(t,r,i))}var ey,em,eg,ev,eb,ew,ex,e_,eT,eS,eE,eO=G(()=>{ey=class{log(t,r,n){}},em=class{log(t,r,n){console.log(`${this.color(t)} ${n?"\x1b[35m"+n+"\x1b[0m ":""}${r}`)}color(t){switch(t){case"verbose":return"\x1b[34;40mv\x1b[0m";case"info":return"\x1b[32mi\x1b[0m";case"warning":return"\x1b[30;43mw\x1b[0m";case"error":return"\x1b[31;40me\x1b[0m";case"fatal":return"\x1b[101mf\x1b[0m";default:throw Error(`unsupported severity: ${t}`)}}},eg={verbose:1e3,info:2e3,warning:4e3,error:5e3,fatal:6e3},ev={none:new ey,console:new em},ew={"":eb={provider:"console",minimalSeverity:"warning",logDateTime:!0,logSourceLocation:!1}},(t=>{function r(t){ew={},n("",t||{})}function n(t,n){if("*"===t)r(n);else{let r=ew[t]||eb;ew[t]={provider:n.provider||r.provider,minimalSeverity:n.minimalSeverity||r.minimalSeverity,logDateTime:void 0===n.logDateTime?r.logDateTime:n.logDateTime,logSourceLocation:void 0===n.logSourceLocation?r.logSourceLocation:n.logSourceLocation}}}t.verbose=function(r,n){t("verbose",r,n)},t.info=function(r,n){t("info",r,n)},t.warning=function(r,n){t("warning",r,n)},t.error=function(r,n){t("error",r,n)},t.fatal=function(r,n){t("fatal",r,n)},t.reset=r,t.set=n,t.setWithEnv=function(t){let r={};t.logLevel&&(r.minimalSeverity=t.logLevel),n("",r)}})(ed||={}),ex=ed,e_=class{constructor(t,r,n,i,o,a){this.category=t,this.name=r,this.startTime=n,this.endCallback=i,this.timer=o,this.ctx=a}async end(){return this.endCallback(this)}async checkTimer(){if(void 0===this.ctx||void 0===this.timer)throw Error("No webgl timer found");return this.ctx.endTimer(),this.ctx.waitForQueryAndGetTime(this.timer)}},eT=class{constructor(t,r,n,i){this.category=t,this.name=r,this.startTime=n,this.endTime=i}},eS=class{constructor(t,r,n){this._started=!1,this._flushPointer=0,this._started=!1,this._maxNumberEvents=void 0===t?1e4:t,this._flushBatchSize=void 0===r?10:r,this._flushIntervalInMilliseconds=void 0===n?5e3:n}static create(t){return void 0===t?new this:new this(t.maxNumberEvents,t.flushBatchSize,t.flushIntervalInMilliseconds)}start(){this._started=!0,this._timingEvents=[],this._flushTime=eE(),this._flushPointer=0}stop(){for(this._started=!1;this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer])}event(t,r,n,i){let o=this._started?this.begin(t,r,i):void 0,a=!1,s=n();if(s&&"function"==typeof s.then)return a=!0,new Promise((t,r)=>{s.then(async r=>{o&&await o.end(),t(r)},async t=>{o&&await o.end(),r(t)})});if(!a&&o){let t=o.end();if(t&&"function"==typeof t.then)return new Promise((r,n)=>{t.then(()=>{r(s)},t=>{n(t)})})}return s}begin(t,r,n){if(!this._started)throw Error("profiler is not started yet");if(void 0===n){let n=eE();return this.flush(n),new e_(t,r,n,t=>this.endSync(t))}return new e_(t,r,0,async t=>this.end(t),n.beginTimer(),n)}async end(t){let r=await t.checkTimer();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new eT(t.category,t.name,t.startTime,r)),this.flush(r))}endSync(t){let r=eE();this._timingEvents.length<this._maxNumberEvents&&(this._timingEvents.push(new eT(t.category,t.name,t.startTime,r)),this.flush(r))}logOneEvent(t){ex.verbose(`Profiler.${t.category}`,`${(t.endTime-t.startTime).toFixed(2)}ms on event '${t.name}' at ${t.endTime.toFixed(2)}`)}flush(t){if(this._timingEvents.length-this._flushPointer>=this._flushBatchSize||t-this._flushTime>=this._flushIntervalInMilliseconds){for(let t=this._flushPointer;this._flushPointer<t+this._flushBatchSize&&this._flushPointer<this._timingEvents.length;this._flushPointer++)this.logOneEvent(this._timingEvents[this._flushPointer]);this._flushTime=eE()}}get started(){return this._started}},eE="u">typeof performance&&performance.now?()=>performance.now():Date.now}),eA=G(()=>{}),eI=V(t=>{t.__esModule=!0,t.Guid=function(){function t(r){if(!r)throw TypeError("Invalid argument; `value` has no value.");this.value=t.EMPTY,r&&t.isGuid(r)&&(this.value=r)}return t.isGuid=function(r){var n=r.toString();return r&&(r instanceof t||t.validator.test(n))},t.create=function(){return new t([t.gen(2),t.gen(1),t.gen(1),t.gen(1),t.gen(3)].join("-"))},t.createEmpty=function(){return new t("emptyguid")},t.parse=function(r){return new t(r)},t.raw=function(){return[t.gen(2),t.gen(1),t.gen(1),t.gen(1),t.gen(3)].join("-")},t.gen=function(t){for(var r="",n=0;n<t;n++)r+=(65536*(1+Math.random())|0).toString(16).substring(1);return r},t.prototype.equals=function(r){return t.isGuid(r)&&this.value===r.toString()},t.prototype.isEmpty=function(){return this.value===t.EMPTY},t.prototype.toString=function(){return this.value},t.prototype.toJSON=function(){return{value:this.value}},t.validator=RegExp("^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$","i"),t.EMPTY="00000000-0000-0000-0000-000000000000",t}()});function eP(t,r,n){this.low=0|t,this.high=0|r,this.unsigned=!!n}function ek(t){return!0===(t&&t.__isLong__)}function eC(t){var r=Math.clz32(t&-t);return t?31-r:r}function e$(t,r){var n,i,o;return r?(o=0<=(t>>>=0)&&t<256)&&(i=eF[t])?i:(n=eD(t,0,!0),o&&(eF[t]=n),n):(o=-128<=(t|=0)&&t<128)&&(i=eN[t])?i:(n=eD(t,t<0?-1:0,!1),o&&(eN[t]=n),n)}function eR(t,r){if(isNaN(t))return r?eH:eW;if(r){if(t<0)return eH;if(t>=ez)return eZ}
1402else{if(t<=-eG)return eJ;if(t+1>=eG)return eK}return t<0?eR(-t,r).neg():eD(t%ej|0,t/ej|0,r)}function eD(t,r,n){return new eP(t,r,n)}function eM(t,r,n){if(0===t.length)throw Error("empty string");if("number"==typeof r?(n=r,r=!1):r=!!r,"NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return r?eH:eW;if((n=n||10)<2||36<n)throw RangeError("radix");if((i=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===i)return eM(t.substring(1),r,n).neg();for(var i,o=eR(eU(n,8)),a=eW,s=0;s<t.length;s+=8){var u=Math.min(8,t.length-s),l=parseInt(t.substring(s,s+u),n);if(u<8){var h=eR(eU(n,u));a=a.mul(h).add(eR(l))}else a=(a=a.mul(o)).add(eR(l))}return a.unsigned=r,a}function eL(t,r){return"number"==typeof t?eR(t,r):"string"==typeof t?eM(t,r):eD(t.low,t.high,"boolean"==typeof r?r:t.unsigned)}var eB,eN,eF,eU,ej,ez,eG,eV,eW,eH,eq,eY,eX,eK,eZ,eJ,eQ,e1,e0,e3,e6=G(()=>{eB=null;try{eB=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{}eP.prototype.__isLong__,Object.defineProperty(eP.prototype,"__isLong__",{value:!0}),eP.isLong=ek,eN={},eF={},eP.fromInt=e$,eP.fromNumber=eR,eP.fromBits=eD,eU=Math.pow,eP.fromString=eM,eP.fromValue=eL,eG=(ez=(ej=0x100000000)*ej)/2,eV=e$(0x1000000),eP.ZERO=eW=e$(0),eP.UZERO=eH=e$(0,!0),eP.ONE=eq=e$(1),eP.UONE=eY=e$(1,!0),eP.NEG_ONE=eX=e$(-1),eP.MAX_VALUE=eK=eD(-1,0x7fffffff,!1),eP.MAX_UNSIGNED_VALUE=eZ=eD(-1,-1,!0),eP.MIN_VALUE=eJ=eD(0,-0x80000000,!1),(eQ=eP.prototype).toInt=function(){return this.unsigned?this.low>>>0:this.low},eQ.toNumber=function(){return this.unsigned?(this.high>>>0)*ej+(this.low>>>0):this.high*ej+(this.low>>>0)},eQ.toString=function(t){if((t=t||10)<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(eJ)){var r=eR(t),n=this.div(r),i=n.mul(r).sub(this);return n.toString(t)+i.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var o=eR(eU(t,6),this.unsigned),a=this,s="";;){var u=a.div(o),l=(a.sub(u.mul(o)).toInt()>>>0).toString(t);if((a=u).isZero())return l+s;for(;l.length<6;)l="0"+l;s=""+l+s}},eQ.getHighBits=function(){return this.high},eQ.getHighBitsUnsigned=function(){return this.high>>>0},eQ.getLowBits=function(){return this.low},eQ.getLowBitsUnsigned=function(){return this.low>>>0},eQ.getNumBitsAbs=function(){if(this.isNegative())return this.eq(eJ)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,r=31;r>0&&!(t&1<<r);r--);return 0!=this.high?r+33:r+1},eQ.isZero=function(){return 0===this.high&&0===this.low},eQ.eqz=eQ.isZero,eQ.isNegative=function(){return!this.unsigned&&this.high<0},eQ.isPositive=function(){return this.unsigned||this.high>=0},eQ.isOdd=function(){return!(1&~this.low)},eQ.isEven=function(){return!(1&this.low)},eQ.equals=function(t){return ek(t)||(t=eL(t)),(this.unsigned===t.unsigned||this.high>>>31!=1||t.high>>>31!=1)&&this.high===t.high&&this.low===t.low},eQ.eq=eQ.equals,eQ.notEquals=function(t){return!this.eq(t)},eQ.neq=eQ.notEquals,eQ.ne=eQ.notEquals,eQ.lessThan=function(t){return 0>this.comp(t)},eQ.lt=eQ.lessThan,eQ.lessThanOrEqual=function(t){return 0>=this.comp(t)},eQ.lte=eQ.lessThanOrEqual,eQ.le=eQ.lessThanOrEqual,eQ.greaterThan=function(t){return this.comp(t)>0},eQ.gt=eQ.greaterThan,eQ.greaterThanOrEqual=function(t){return this.comp(t)>=0},eQ.gte=eQ.greaterThanOrEqual,eQ.ge=eQ.greaterThanOrEqual,eQ.compare=function(t){if(ek(t)||(t=eL(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},eQ.comp=eQ.compare,eQ.negate=function(){return!this.unsigned&&this.eq(eJ)?eJ:this.not().add(eq)},eQ.neg=eQ.negate,eQ.add=function(t){ek(t)||(t=eL(t));var r,n,i,o=this.high>>>16,a=65535&this.high,s=this.low>>>16,u=65535&this.low,l=t.high>>>16,h=65535&t.high,c=t.low>>>16,f=0;
1402return i=0+((r=0+((n=0+(u+(65535&t.low)))>>>16)+(s+c))>>>16),f+=(i+=a+h)>>>16,f+=o+l,eD((r&=65535)<<16|(n&=65535),(f&=65535)<<16|(i&=65535),this.unsigned)},eQ.subtract=function(t){return ek(t)||(t=eL(t)),this.add(t.neg())},eQ.sub=eQ.subtract,eQ.multiply=function(t){if(this.isZero())return this;if(ek(t)||(t=eL(t)),eB)return eD(eB.mul(this.low,this.high,t.low,t.high),eB.get_high(),this.unsigned);if(t.isZero())return this.unsigned?eH:eW;if(this.eq(eJ))return t.isOdd()?eJ:eW;if(t.eq(eJ))return this.isOdd()?eJ:eW;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(eV)&&t.lt(eV))return eR(this.toNumber()*t.toNumber(),this.unsigned);var r,n,i,o=this.high>>>16,a=65535&this.high,s=this.low>>>16,u=65535&this.low,l=t.high>>>16,h=65535&t.high,c=t.low>>>16,f=65535&t.low,d=0;return i=0+((r=0+((n=0+u*f)>>>16)+s*f)>>>16),r&=65535,i+=(r+=u*c)>>>16,d+=(i+=a*f)>>>16,i&=65535,d+=(i+=s*c)>>>16,i&=65535,d+=(i+=u*h)>>>16,d+=o*f+a*c+s*h+u*l,eD((r&=65535)<<16|(n&=65535),(d&=65535)<<16|(i&=65535),this.unsigned)},eQ.mul=eQ.multiply,eQ.divide=function(t){if(ek(t)||(t=eL(t)),t.isZero())throw Error("division by zero");if(eB)return this.unsigned||-0x80000000!==this.high||-1!==t.low||-1!==t.high?eD((this.unsigned?eB.div_u:eB.div_s)(this.low,this.high,t.low,t.high),eB.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?eH:eW;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return eH;if(t.gt(this.shru(1)))return eY;i=eH}else{if(this.eq(eJ))return t.eq(eq)||t.eq(eX)?eJ:t.eq(eJ)?eq:(r=this.shr(1).div(t).shl(1)).eq(eW)?t.isNegative()?eq:eX:(n=this.sub(t.mul(r)),i=r.add(n.div(t)));if(t.eq(eJ))return this.unsigned?eH:eW;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();i=eW}for(n=this;n.gte(t);){r=Math.max(1,Math.floor(n.toNumber()/t.toNumber()));for(var r,n,i,o=Math.ceil(Math.log(r)/Math.LN2),a=o<=48?1:eU(2,o-48),s=eR(r),u=s.mul(t);u.isNegative()||u.gt(n);)u=(s=eR(r-=a,this.unsigned)).mul(t);s.isZero()&&(s=eq),i=i.add(s),n=n.sub(u)}return i},eQ.div=eQ.divide,eQ.modulo=function(t){return ek(t)||(t=eL(t)),eB?eD((this.unsigned?eB.rem_u:eB.rem_s)(this.low,this.high,t.low,t.high),eB.get_high(),this.unsigned):this.sub(this.div(t).mul(t))},eQ.mod=eQ.modulo,eQ.rem=eQ.modulo,eQ.not=function(){return eD(~this.low,~this.high,this.unsigned)},eQ.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},eQ.clz=eQ.countLeadingZeros,eQ.countTrailingZeros=function(){return this.low?eC(this.low):eC(this.high)+32},eQ.ctz=eQ.countTrailingZeros,eQ.and=function(t){return ek(t)||(t=eL(t)),eD(this.low&t.low,this.high&t.high,this.unsigned)},eQ.or=function(t){return ek(t)||(t=eL(t)),eD(this.low|t.low,this.high|t.high,this.unsigned)},eQ.xor=function(t){return ek(t)||(t=eL(t)),eD(this.low^t.low,this.high^t.high,this.unsigned)},eQ.shiftLeft=function(t){return ek(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?eD(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):eD(0,this.low<<t-32,this.unsigned)},eQ.shl=eQ.shiftLeft,eQ.shiftRight=function(t){return ek(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?eD(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):eD(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},eQ.shr=eQ.shiftRight,eQ.shiftRightUnsigned=function(t){return ek(t)&&(t=t.toInt()),0==(t&=63)?this:t<32?eD(this.low>>>t|this.high<<32-t,this.high>>>t,this.unsigned):eD(32===t?this.high:this.high>>>t-32,0,this.unsigned)},eQ.shru=eQ.shiftRightUnsigned,eQ.shr_u=eQ.shiftRightUnsigned,eQ.rotateLeft=function(t){var r;return ek(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?eD(this.high,this.low,this.unsigned):t<32?(r=32-t,eD(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned)):(r=32-(t-=32),eD(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned))},eQ.rotl=eQ.rotateLeft,eQ.rotateRight=function(t){var r;return ek(t)&&(t=t.toInt()),0==(t&=63)?this:32===t?eD(this.high,this.low,this.unsigned):t<32?(r=32-t,eD(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned)):(r=32-(t-=32),eD(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned))},eQ.rotr=eQ.rotateRight,eQ.toSigned=function(){return this.unsigned?eD(this.low,this.high,!1):this},eQ.toUnsigned=function(){return this.unsigned?this:eD(this.low,this.high,!0)},eQ.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},eQ.toBytesLE=function(){var t=this.high,r=this.low;return[255&r,r>>>8&255,r>>>16&255,r>>>24,255&t,t>>>8&255,t>>>16&255,t>>>24]},eQ.toBytesBE=function(){var t=this.high,r=this.low;return[t>>>24,t>>>16&255,t>>>8&255,255&t,r>>>24,r>>>16&255,r>>>8&255,255&r]},eP.fromBytes=function(t,r,n){return n?eP.fromBytesLE(t,r):eP.fromBytesBE(t,r)},eP.fromBytesLE=function(t,r){return new eP(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24,r)},eP.fromBytesBE=function(t,r){return new eP(t[4]<<24|t[5]<<16|t[6]<<8|t[7],t[0]<<24|t[1]<<16|t[2]<<8|t[3],r)},e1=eP}),e5=G(()=>{(e0={}).Table,e0.SIZEOF_SHORT=2,e0.SIZEOF_INT=4,e0.FILE_IDENTIFIER_LENGTH=4,e0.SIZE_PREFIX_LENGTH=4,e0.Encoding={UTF8_BYTES:1,UTF16_STRING:2},e0.int32=new Int32Array(2),e0.float32=new Float32Array(e0.int32.buffer),e0.float64=new Float64Array(e0.int32.buffer),e0.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0],e0.Long=function(t,r){this.low=0|t,this.high=0|r},e0.Long.create=function(t,r){return 0==t&&0==r?e0.Long.ZERO:new e0.Long(t,r)},e0.Long.prototype.toFloat64=function(){return(this.low>>>0)+0x100000000*this.high},e0.Long.prototype.equals=function(t){return this.low==t.low&&this.high==t.high},e0.Long.ZERO=new e0.Long(0,0),e0.Builder=function(t){if(t)var r=t;else r=1024;this.bb=e0.ByteBuffer.allocate(r),this.space=r,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},e0.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1},e0.Builder.prototype.forceDefaults=function(t){this.force_defaults=t},e0.Builder.prototype.dataBuffer=function(){return this.bb},e0.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},e0.Builder.prototype.prep=function(t,r){t>this.minalign&&(this.minalign=t);for(var n=1+~(this.bb.capacity()-this.space+r)&t-1;this.space<n+t+r;){var i=this.bb.capacity();this.bb=e0.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(n)},e0.Builder.prototype.pad=function(t){for(var r=0;r<t;r++)this.bb.writeInt8(--this.space,0)},e0.Builder.prototype.writeInt8=function(t){this.bb.writeInt8(this.space-=1,t)},e0.Builder.prototype.writeInt16=function(t){this.bb.writeInt16(this.space-=2,t)},e0.Builder.prototype.writeInt32=function(t){this.bb.writeInt32(this.space-=4,t)},e0.Builder.prototype.writeInt64=function(t){this.bb.writeInt64(this.space-=8,t)},e0.Builder.prototype.writeFloat32=function(t){this.bb.writeFloat32(this.space-=4,t)},e0.Builder.prototype.writeFloat64=function(t){this.bb.writeFloat64(this.space-=8,t)},e0.Builder.prototype.addInt8=function(t){this.prep(1,0),this.writeInt8(t)},e0.Builder.prototype.addInt16=function(t){this.prep(2,0),this.writeInt16(t)},e0.Builder.prototype.addInt32=function(t){this.prep(4,0),this.writeInt32(t)},e0.Builder.prototype.addInt64=function(t){this.prep(8,0),this.writeInt64(t)},e0.Builder.prototype.addFloat32=function(t){this.prep(4,0),this.writeFloat32(t)},e0.Builder.prototype.addFloat64=function(t){this.prep(8,0),this.writeFloat64(t)},e0.Builder.prototype.addFieldInt8=function(t,r,n){(this.force_defaults||r!=n)&&(this.addInt8(r),this.slot(t))},e0.Builder.prototype.addFieldInt16=function(t,r,n){(this.force_defaults||r!=n)&&(this.addInt16(r),this.slot(t))},e0.Builder.prototype.addFieldInt32=function(t,r,n){(this.force_defaults||r!=n)&&(this.addInt32(r),this.slot(t))},e0.Builder.prototype.addFieldInt64=function(t,r,n){(this.force_defaults||!r.equals(n))&&(this.addInt64(r),this.slot(t))},e0.Builder.prototype.addFieldFloat32=function(t,r,n){(this.force_defaults||r!=n)&&(this.addFloat32(r),this.slot(t))},e0.Builder.prototype.addFieldFloat64=function(t,r,n){(this.force_defaults||r!=n)&&(this.addFloat64(r),this.slot(t))},e0.Builder.prototype.addFieldOffset=function(t,r,n){(this.force_defaults||r!=n)&&(this.addOffset(r),this.slot(t))},e0.Builder.prototype.addFieldStruct=function(t,r,n){r!=n&&(this.nested(r),this.slot(t))},e0.Builder.prototype.nested=function(t){if(t!=this.offset())throw Error("FlatBuffers: struct must be serialized inline.")},e0.Builder.prototype.notNested=function(){if(this.isNested)throw Error("FlatBuffers: object serialization must not be nested.")},e0.Builder.prototype.slot=function(t){this.vtable[t]=this.offset()},e0.Builder.prototype.offset=function(){return this.bb.capacity()-this.space},e0.Builder.growByteBuffer=function(t){var r=t.capacity();if(0xc0000000&r)throw Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");
vendor: 8,444 bytes, line 1402
1402var n=r<<1,i=e0.ByteBuffer.allocate(n);return i.setPosition(n-r),i.bytes().set(t.bytes(),n-r),i},e0.Builder.prototype.addOffset=function(t){this.prep(e0.SIZEOF_INT,0),this.writeInt32(this.offset()-t+e0.SIZEOF_INT)},e0.Builder.prototype.startObject=function(t){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=t;for(var r=0;r<t;r++)this.vtable[r]=0;this.isNested=!0,this.object_start=this.offset()},e0.Builder.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw Error("FlatBuffers: endObject called without startObject");this.addInt32(0);for(var t=this.offset(),r=this.vtable_in_use-1;r>=0&&0==this.vtable[r];r--);for(var n=r+1;r>=0;r--)this.addInt16(0!=this.vtable[r]?t-this.vtable[r]:0);this.addInt16(t-this.object_start);var i=(n+2)*e0.SIZEOF_SHORT;this.addInt16(i);var o=0,a=this.space;e:for(r=0;r<this.vtables.length;r++){var s=this.bb.capacity()-this.vtables[r];if(i==this.bb.readInt16(s)){for(var u=e0.SIZEOF_SHORT;u<i;u+=e0.SIZEOF_SHORT)if(this.bb.readInt16(a+u)!=this.bb.readInt16(s+u))continue e;o=this.vtables[r];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t},e0.Builder.prototype.finish=function(t,r,n){var i=n?e0.SIZE_PREFIX_LENGTH:0;if(r){if(this.prep(this.minalign,e0.SIZEOF_INT+e0.FILE_IDENTIFIER_LENGTH+i),r.length!=e0.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: file identifier must be length "+e0.FILE_IDENTIFIER_LENGTH);for(var o=e0.FILE_IDENTIFIER_LENGTH-1;o>=0;o--)this.writeInt8(r.charCodeAt(o))}this.prep(this.minalign,e0.SIZEOF_INT+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},e0.Builder.prototype.finishSizePrefixed=function(t,r){this.finish(t,r,!0)},e0.Builder.prototype.requiredField=function(t,r){var n=this.bb.capacity()-t,i=n-this.bb.readInt32(n);if(0==this.bb.readInt16(i+r))throw Error("FlatBuffers: field "+r+" must be set")},e0.Builder.prototype.startVector=function(t,r,n){this.notNested(),this.vector_num_elems=r,this.prep(e0.SIZEOF_INT,t*r),this.prep(n,t*r)},e0.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},e0.Builder.prototype.createString=function(t){if(t instanceof Uint8Array)var r=t;else{r=[];for(var n=0;n<t.length;){var i,o=t.charCodeAt(n++);(i=o<55296||o>=56320?o:(o<<10)+t.charCodeAt(n++)+-0x35fdc00)<128?r.push(i):(i<2048?r.push(i>>6&31|192):(i<65536?r.push(i>>12&15|224):r.push(i>>18&7|240,i>>12&63|128),r.push(i>>6&63|128)),r.push(63&i|128))}}this.addInt8(0),this.startVector(1,r.length,1),this.bb.setPosition(this.space-=r.length),n=0;for(var a=this.space,s=this.bb.bytes();n<r.length;n++)s[a++]=r[n];return this.endVector()},e0.Builder.prototype.createLong=function(t,r){return e0.Long.create(t,r)},e0.ByteBuffer=function(t){this.bytes_=t,this.position_=0},e0.ByteBuffer.allocate=function(t){return new e0.ByteBuffer(new Uint8Array(t))},e0.ByteBuffer.prototype.clear=function(){this.position_=0},e0.ByteBuffer.prototype.bytes=function(){return this.bytes_},e0.ByteBuffer.prototype.position=function(){return this.position_},e0.ByteBuffer.prototype.setPosition=function(t){this.position_=t},e0.ByteBuffer.prototype.capacity=function(){return this.bytes_.length},e0.ByteBuffer.prototype.readInt8=function(t){return this.readUint8(t)<<24>>24},e0.ByteBuffer.prototype.readUint8=function(t){return this.bytes_[t]},e0.ByteBuffer.prototype.readInt16=function(t){return this.readUint16(t)<<16>>16},e0.ByteBuffer.prototype.readUint16=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8},e0.ByteBuffer.prototype.readInt32=function(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24},e0.ByteBuffer.prototype.readUint32=function(t){return this.readInt32(t)>>>0},e0.ByteBuffer.prototype.readInt64=function(t){return new e0.Long(this.readInt32(t),this.readInt32(t+4))},e0.ByteBuffer.prototype.readUint64=function(t){return new e0.Long(this.readUint32(t),this.readUint32(t+4))},e0.ByteBuffer.prototype.readFloat32=function(t){return e0.int32[0]=this.readInt32(t),e0.float32[0]},e0.ByteBuffer.prototype.readFloat64=function(t){return e0.int32[+!e0.isLittleEndian]=this.readInt32(t),e0.int32[+!!e0.isLittleEndian]=this.readInt32(t+4),e0.float64[0]},e0.ByteBuffer.prototype.writeInt8=function(t,r){this.bytes_[t]=r},e0.ByteBuffer.prototype.writeUint8=function(t,r){this.bytes_[t]=r},e0.ByteBuffer.prototype.writeInt16=function(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8},e0.ByteBuffer.prototype.writeUint16=function(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8},e0.ByteBuffer.prototype.writeInt32=function(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24},e0.ByteBuffer.prototype.writeUint32=function(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24},e0.ByteBuffer.prototype.writeInt64=function(t,r){this.writeInt32(t,r.low),this.writeInt32(t+4,r.high)},e0.ByteBuffer.prototype.writeUint64=function(t,r){this.writeUint32(t,r.low),this.writeUint32(t+4,r.high)},e0.ByteBuffer.prototype.writeFloat32=function(t,r){e0.float32[0]=r,this.writeInt32(t,e0.int32[0])},e0.ByteBuffer.prototype.writeFloat64=function(t,r){e0.float64[0]=r,this.writeInt32(t,e0.int32[+!e0.isLittleEndian]),this.writeInt32(t+4,e0.int32[+!!e0.isLittleEndian])},e0.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+e0.SIZEOF_INT+e0.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");for(var t="",r=0;r<e0.FILE_IDENTIFIER_LENGTH;r++)t+=String.fromCharCode(this.readInt8(this.position_+e0.SIZEOF_INT+r));return t},e0.ByteBuffer.prototype.__offset=function(t,r){var n=t-this.readInt32(t);return r<this.readInt16(n)?this.readInt16(n+r):0},e0.ByteBuffer.prototype.__union=function(t,r){return t.bb_pos=r+this.readInt32(r),t.bb=this,t},e0.ByteBuffer.prototype.__string=function(t,r){t+=this.readInt32(t);var n=this.readInt32(t),i="",o=0;if(t+=e0.SIZEOF_INT,r===e0.Encoding.UTF8_BYTES)return this.bytes_.subarray(t,t+n);for(;o<n;){var a,s=this.readUint8(t+o++);if(s<192)a=s;else{var u=this.readUint8(t+o++);if(s<224)a=(31&s)<<6|63&u;else{var l=this.readUint8(t+o++);a=s<240?(15&s)<<12|(63&u)<<6|63&l:(7&s)<<18|(63&u)<<12|(63&l)<<6|63&this.readUint8(t+o++)}}a<65536?i+=String.fromCharCode(a):(a-=65536,i+=String.fromCharCode(55296+(a>>10),56320+(1023&a)))}return i},e0.ByteBuffer.prototype.__indirect=function(t){return t+this.readInt32(t)},e0.ByteBuffer.prototype.__vector=function(t){return t+this.readInt32(t)+e0.SIZEOF_INT},e0.ByteBuffer.prototype.__vector_len=function(t){return this.readInt32(t+this.readInt32(t))},e0.ByteBuffer.prototype.__has_identifier=function(t){if(t.length!=e0.FILE_IDENTIFIER_LENGTH)throw Error("FlatBuffers: file identifier must be length "+e0.FILE_IDENTIFIER_LENGTH);for(var r=0;r<e0.FILE_IDENTIFIER_LENGTH;r++)if(t.charCodeAt(r)!=this.readInt8(this.position_+e0.SIZEOF_INT+r))return!1;return!0},e0.ByteBuffer.prototype.createLong=function(t,r){return e0.Long.create(t,r)}}),e9=G(()=>{var t,r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g,v,b,w,x,_,T,S,E,O,A,I,P,k,C,$,R,D,M,L,B,N,F,U,j,z;e5(),t=e3||={},r=t.experimental||={},n=r.fbs||={},(i=n.AttributeType||={})[i.UNDEFINED=0]="UNDEFINED",i[i.FLOAT=1]="FLOAT",i[i.INT=2]="INT",i[i.STRING=3]="STRING",i[i.TENSOR=4]="TENSOR",i[i.GRAPH=5]="GRAPH",i[i.FLOATS=6]="FLOATS",i[i.INTS=7]="INTS",i[i.STRINGS=8]="STRINGS",i[i.TENSORS=9]="TENSORS",i[i.GRAPHS=10]="GRAPHS",i[i.SPARSE_TENSOR=11]="SPARSE_TENSOR",i[i.SPARSE_TENSORS=12]="SPARSE_TENSORS",o=e3||={},a=o.experimental||={},s=a.fbs||={},(u=s.DimensionValueType||={})[u.UNKNOWN=0]="UNKNOWN",u[u.VALUE=1]="VALUE",u[u.PARAM=2]="PARAM",l=e3||={},h=l.experimental||={},c=h.fbs||={},(f=c.TensorDataType||={})[f.UNDEFINED=0]="UNDEFINED",f[f.FLOAT=1]="FLOAT",f[f.UINT8=2]="UINT8",f[f.INT8=3]="INT8",f[f.UINT16=4]="UINT16",f[f.INT16=5]="INT16",f[f.INT32=6]="INT32",f[f.INT64=7]="INT64",f[f.STRING=8]="STRING",f[f.BOOL=9]="BOOL",f[f.FLOAT16=10]="FLOAT16",f[f.DOUBLE=11]="DOUBLE",f[f.UINT32=12]="UINT32",f[f.UINT64=13]="UINT64",f[f.COMPLEX64=14]="COMPLEX64",f[f.COMPLEX128=15]="COMPLEX128",f[f.BFLOAT16=16]="BFLOAT16",f[f.FLOAT8E4M3FN=17]="FLOAT8E4M3FN",f[f.FLOAT8E4M3FNUZ=18]="FLOAT8E4M3FNUZ",f[f.FLOAT8E5M2=19]="FLOAT8E5M2",f[f.FLOAT8E5M2FNUZ=20]="FLOAT8E5M2FNUZ",d=e3||={},p=d.experimental||={},y=p.fbs||={},(m=y.NodeType||={}
1402)[m.Primitive=0]="Primitive",m[m.Fused=1]="Fused",g=e3||={},v=g.experimental||={},b=v.fbs||={},(w=b.TypeInfoValue||={})[w.NONE=0]="NONE",w[w.tensor_type=1]="tensor_type",w[w.sequence_type=2]="sequence_type",w[w.map_type=3]="map_type",x=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsShape(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsShape(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}dim(t,r){let n=this.bb.__offset(this.bb_pos,4);return n?(r||new x.experimental.fbs.Dimension).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}dimLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}static startShape(t){t.startObject(1)}static addDim(t,r){t.addFieldOffset(0,r,0)}static createDimVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startDimVector(t,r){t.startVector(4,r,4)}static endShape(t){return t.endObject()}static createShape(t,r){return n.startShape(t),n.addDim(t,r),n.endShape(t)}}r.Shape=n})(x.experimental||={}),_=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsDimension(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDimension(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}value(t){let r=this.bb.__offset(this.bb_pos,4);return r?(t||new _.experimental.fbs.DimensionValue).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}denotation(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.__string(this.bb_pos+r,t):null}static startDimension(t){t.startObject(2)}static addValue(t,r){t.addFieldOffset(0,r,0)}static addDenotation(t,r){t.addFieldOffset(1,r,0)}static endDimension(t){return t.endObject()}static createDimension(t,r,i){return n.startDimension(t),n.addValue(t,r),n.addDenotation(t,i),n.endDimension(t)}}r.Dimension=n})(_.experimental||={}),T=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsDimensionValue(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDimensionValue(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}dimType(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):0}dimValue(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}dimParam(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__string(this.bb_pos+r,t):null}static startDimensionValue(t){t.startObject(3)}static addDimType(t,r){t.addFieldInt8(0,r,0)}static addDimValue(t,r){t.addFieldInt64(1,r,t.createLong(0,0))}static addDimParam(t,r){t.addFieldOffset(2,r,0)}static endDimensionValue(t){return t.endObject()}static createDimensionValue(t,r,i,o){return n.startDimensionValue(t),n.addDimType(t,r),n.addDimValue(t,i),n.addDimParam(t,o),n.endDimensionValue(t)}}r.DimensionValue=n})(T.experimental||={}),S=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsTensorTypeAndShape(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTensorTypeAndShape(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}elemType(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}shape(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new S.experimental.fbs.Shape).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startTensorTypeAndShape(t){t.startObject(2)}static addElemType(t,r){t.addFieldInt32(0,r,0)}static addShape(t,r){t.addFieldOffset(1,r,0)}static endTensorTypeAndShape(t){return t.endObject()}static createTensorTypeAndShape(t,r,i){return n.startTensorTypeAndShape(t),n.addElemType(t,r),n.addShape(t,i),n.endTensorTypeAndShape(t)}}r.TensorTypeAndShape=n})(S.experimental||={}),E=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMapType(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMapType(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}keyType(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}valueType(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new E.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startMapType(t){t.startObject(2)}static addKeyType(t,r){t.addFieldInt32(0,r,0)}static addValueType(t,r){t.addFieldOffset(1,r,0)}static endMapType(t){return t.endObject()}static createMapType(t,r,i){return n.startMapType(t),n.addKeyType(t,r),n.addValueType(t,i),n.endMapType(t)}}r.MapType=n})(E.experimental||={}),O=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSequenceType(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSequenceType(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}elemType(t){let r=this.bb.__offset(this.bb_pos,4);return r?(t||new O.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startSequenceType(t){t.startObject(1)}static addElemType(t,r){t.addFieldOffset(0,r,0)}static endSequenceType(t){return t.endObject()}static createSequenceType(t,r){return n.startSequenceType(t),n.addElemType(t,r),n.endSequenceType(t)}}r.SequenceType=n})(O.experimental||={}),A=e3||={},I=A.experimental||={},(I.fbs||={}).EdgeEnd=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}nodeIndex(){return this.bb.readUint32(this.bb_pos)}srcArgIndex(){return this.bb.readInt32(this.bb_pos+4)}dstArgIndex(){return this.bb.readInt32(this.bb_pos+8)}static createEdgeEnd(t,r,n,i){return t.prep(4,12),t.writeInt32(i),t.writeInt32(n),t.writeInt32(r),t.offset()}},P=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsNodeEdge(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNodeEdge(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}nodeIndex(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb_pos+t):0}inputEdges(t,r){let n=this.bb.__offset(this.bb_pos,6);return n?(r||new P.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+n)+12*t,this.bb):null}inputEdgesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}outputEdges(t,r){let n=this.bb.__offset(this.bb_pos,8);return n?(r||new P.experimental.fbs.EdgeEnd).__init(this.bb.__vector(this.bb_pos+n)+12*t,this.bb):null}outputEdgesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNodeEdge(t){t.startObject(3)}static addNodeIndex(t,r){t.addFieldInt32(0,r,0)}static addInputEdges(t,r){t.addFieldOffset(1,r,0)}static startInputEdgesVector(t,r){t.startVector(12,r,4)}
vendor: 31,105 bytes, line 1402
1402static addOutputEdges(t,r){t.addFieldOffset(2,r,0)}static startOutputEdgesVector(t,r){t.startVector(12,r,4)}static endNodeEdge(t){return t.endObject()}static createNodeEdge(t,r,i,o){return n.startNodeEdge(t),n.addNodeIndex(t,r),n.addInputEdges(t,i),n.addOutputEdges(t,o),n.endNodeEdge(t)}}r.NodeEdge=n})(P.experimental||={}),k=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsNode(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNode(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}docString(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.__string(this.bb_pos+r,t):null}domain(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__string(this.bb_pos+r,t):null}sinceVersion(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt32(this.bb_pos+t):0}index(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readUint32(this.bb_pos+t):0}opType(t){let r=this.bb.__offset(this.bb_pos,14);return r?this.bb.__string(this.bb_pos+r,t):null}type(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt32(this.bb_pos+t):0}executionProviderType(t){let r=this.bb.__offset(this.bb_pos,18);return r?this.bb.__string(this.bb_pos+r,t):null}inputs(t,r){let n=this.bb.__offset(this.bb_pos,20);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}inputsLength(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}outputs(t,r){let n=this.bb.__offset(this.bb_pos,22);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}outputsLength(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}attributes(t,r){let n=this.bb.__offset(this.bb_pos,24);return n?(r||new k.experimental.fbs.Attribute).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}attributesLength(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}inputArgCounts(t){let r=this.bb.__offset(this.bb_pos,26);return r?this.bb.readInt32(this.bb.__vector(this.bb_pos+r)+4*t):0}inputArgCountsLength(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}inputArgCountsArray(){let t=this.bb.__offset(this.bb_pos,26);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}implicitInputs(t,r){let n=this.bb.__offset(this.bb_pos,28);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}implicitInputsLength(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}static startNode(t){t.startObject(13)}static addName(t,r){t.addFieldOffset(0,r,0)}static addDocString(t,r){t.addFieldOffset(1,r,0)}static addDomain(t,r){t.addFieldOffset(2,r,0)}static addSinceVersion(t,r){t.addFieldInt32(3,r,0)}static addIndex(t,r){t.addFieldInt32(4,r,0)}static addOpType(t,r){t.addFieldOffset(5,r,0)}static addType(t,r){t.addFieldInt32(6,r,0)}static addExecutionProviderType(t,r){t.addFieldOffset(7,r,0)}static addInputs(t,r){t.addFieldOffset(8,r,0)}static createInputsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startInputsVector(t,r){t.startVector(4,r,4)}static addOutputs(t,r){t.addFieldOffset(9,r,0)}static createOutputsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startOutputsVector(t,r){t.startVector(4,r,4)}static addAttributes(t,r){t.addFieldOffset(10,r,0)}static createAttributesVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startAttributesVector(t,r){t.startVector(4,r,4)}static addInputArgCounts(t,r){t.addFieldOffset(11,r,0)}static createInputArgCountsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addInt32(r[n]);return t.endVector()}static startInputArgCountsVector(t,r){t.startVector(4,r,4)}static addImplicitInputs(t,r){t.addFieldOffset(12,r,0)}static createImplicitInputsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startImplicitInputsVector(t,r){t.startVector(4,r,4)}static endNode(t){return t.endObject()}static createNode(t,r,i,o,a,s,u,l,h,c,f,d,p,y){return n.startNode(t),n.addName(t,r),n.addDocString(t,i),n.addDomain(t,o),n.addSinceVersion(t,a),n.addIndex(t,s),n.addOpType(t,u),n.addType(t,l),n.addExecutionProviderType(t,h),n.addInputs(t,c),n.addOutputs(t,f),n.addAttributes(t,d),n.addInputArgCounts(t,p),n.addImplicitInputs(t,y),n.endNode(t)}}r.Node=n})(k.experimental||={}),C=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsValueInfo(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsValueInfo(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}docString(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.__string(this.bb_pos+r,t):null}type(t){let r=this.bb.__offset(this.bb_pos,8);return r?(t||new C.experimental.fbs.TypeInfo).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startValueInfo(t){t.startObject(3)}static addName(t,r){t.addFieldOffset(0,r,0)}static addDocString(t,r){t.addFieldOffset(1,r,0)}static addType(t,r){t.addFieldOffset(2,r,0)}static endValueInfo(t){return t.endObject()}static createValueInfo(t,r,i,o){return n.startValueInfo(t),n.addName(t,r),n.addDocString(t,i),n.addType(t,o),n.endValueInfo(t)}}r.ValueInfo=n})(C.experimental||={}),$=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsTypeInfo(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTypeInfo(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}denotation(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}valueType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):0}value(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}static startTypeInfo(t){t.startObject(3)}static addDenotation(t,r){t.addFieldOffset(0,r,0)}static addValueType(t,r){t.addFieldInt8(1,r,0)}static addValue(t,r){t.addFieldOffset(2,r,0)}static endTypeInfo(t){return t.endObject()}static createTypeInfo(t,r,i,o){return n.startTypeInfo(t),n.addDenotation(t,r),n.addValueType(t,i),n.addValue(t,o),n.endTypeInfo(t)}}r.TypeInfo=n})($.experimental||={}),R=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsOperatorSetId(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsOperatorSetId(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}domain(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}version(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}static startOperatorSetId(t){t.startObject(2)}static addDomain(t,r){t.addFieldOffset(0,r,0)}static addVersion(t,r){t.addFieldInt64(1,r,t.createLong(0,0))}static endOperatorSetId(t){return t.endObject()}static createOperatorSetId(t,r,i){return n.startOperatorSetId(t),n.addDomain(t,r),n.addVersion(t,i),n.endOperatorSetId(t)}}r.OperatorSetId=n})(R.experimental||={}),D=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsTensor(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTensor(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}docString(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.__string(this.bb_pos+r,t):null}dims(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+8*t):this.bb.createLong(0,0)}dimsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}dataType(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt32(this.bb_pos+t):0}rawData(t){let r=this.bb.__offset(this.bb_pos,12);return r?this.bb.readUint8(this.bb.__vector(this.bb_pos+r)+t):0}rawDataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}rawDataArray(){let t=this.bb.__offset(this.bb_pos,12);return t?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}stringData(t,r){let n=this.bb.__offset(this.bb_pos,14);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}stringDataLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}static startTensor(t){t.startObject(6)}static addName(t,r){t.addFieldOffset(0,r,0)}static addDocString(t,r){t.addFieldOffset(1,r,0)}static addDims(t,r){t.addFieldOffset(2,r,0)}static createDimsVector(t,r){t.startVector(8,r.length,8);for(let n=r.length-1;n>=0;n--)t.addInt64(r[n]);return t.endVector()}static startDimsVector(t,r){t.startVector(8,r,8)}static addDataType(t,r){t.addFieldInt32(3,r,0)}static addRawData(t,r){t.addFieldOffset(4,r,0)}static createRawDataVector(t,r){t.startVector(1,r.length,1);for(let n=r.length-1;n>=0;n--)t.addInt8(r[n]);return t.endVector()}static startRawDataVector(t,r){t.startVector(1,r,1)}static addStringData(t,r){t.addFieldOffset(5,r,0)}static createStringDataVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startStringDataVector(t,r){t.startVector(4,r,4)}static endTensor(t){return t.endObject()}static createTensor(t,r,i,o,a,s,u){return n.startTensor(t),n.addName(t,r),n.addDocString(t,i),n.addDims(t,o),n.addDataType(t,a),n.addRawData(t,s),n.addStringData(t,u),n.endTensor(t)}}r.Tensor=n})(D.experimental||={}),M=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSparseTensor(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSparseTensor(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}values(t){let r=this.bb.__offset(this.bb_pos,4);return r?(t||new M.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}indices(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new M.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dims(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+8*t):this.bb.createLong(0,0)}dimsLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSparseTensor(t){t.startObject(3)}static addValues(t,r){t.addFieldOffset(0,r,0)}static addIndices(t,r){t.addFieldOffset(1,r,0)}static addDims(t,r){t.addFieldOffset(2,r,0)}static createDimsVector(t,r){t.startVector(8,r.length,8);for(let n=r.length-1;n>=0;n--)t.addInt64(r[n]);return t.endVector()}static startDimsVector(t,r){t.startVector(8,r,8)}static endSparseTensor(t){return t.endObject()}static createSparseTensor(t,r,i,o){return n.startSparseTensor(t),n.addValues(t,r),n.addIndices(t,i),n.addDims(t,o),n.endSparseTensor(t)}}r.SparseTensor=n})(M.experimental||={}),L=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsAttribute(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsAttribute(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}docString(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.__string(this.bb_pos+r,t):null}type(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):0}f(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readFloat32(this.bb_pos+t):0}i(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}s(t){let r=this.bb.__offset(this.bb_pos,14);return r?this.bb.__string(this.bb_pos+r,t):null}t(t){let r=this.bb.__offset(this.bb_pos,16);return r?(t||new L.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}g(t){let r=this.bb.__offset(this.bb_pos,18);return r?(t||new L.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}floats(t){let r=this.bb.__offset(this.bb_pos,20);return r?this.bb.readFloat32(this.bb.__vector(this.bb_pos+r)+4*t):0}floatsLength(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.__vector_len(this.bb_pos+t):0}floatsArray(){let t=this.bb.__offset(this.bb_pos,20);return t?new Float32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}ints(t){let r=this.bb.__offset(this.bb_pos,22);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+8*t):this.bb.createLong(0,0)}intsLength(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.__vector_len(this.bb_pos+t):0}strings(t,r){let n=this.bb.__offset(this.bb_pos,24);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}stringsLength(){let t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__vector_len(this.bb_pos+t):0}tensors(t,r){let n=this.bb.__offset(this.bb_pos,26);return n?(r||new L.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}tensorsLength(){let t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__vector_len(this.bb_pos+t):0}graphs(t,r){let n=this.bb.__offset(this.bb_pos,28);return n?(r||new L.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}graphsLength(){let t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__vector_len(this.bb_pos+t):0}static startAttribute(t){t.startObject(13)}static addName(t,r){t.addFieldOffset(0,r,0)}static addDocString(t,r){t.addFieldOffset(1,r,0)}static addType(t,r){t.addFieldInt32(2,r,0)}static addF(t,r){t.addFieldFloat32(3,r,0)}static addI(t,r){t.addFieldInt64(4,r,t.createLong(0,0))}static addS(t,r){t.addFieldOffset(5,r,0)}static addT(t,r){t.addFieldOffset(6,r,0)}static addG(t,r){t.addFieldOffset(7,r,0)}static addFloats(t,r){t.addFieldOffset(8,r,0)}static createFloatsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addFloat32(r[n]);return t.endVector()}static startFloatsVector(t,r){t.startVector(4,r,4)}static addInts(t,r){t.addFieldOffset(9,r,0)}static createIntsVector(t,r){t.startVector(8,r.length,8);for(let n=r.length-1;n>=0;n--)t.addInt64(r[n]);return t.endVector()}static startIntsVector(t,r){t.startVector(8,r,8)}static addStrings(t,r){t.addFieldOffset(10,r,0)}static createStringsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startStringsVector(t,r){t.startVector(4,r,4)}static addTensors(t,r){t.addFieldOffset(11,r,0)}static createTensorsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startTensorsVector(t,r){t.startVector(4,r,4)}static addGraphs(t,r){t.addFieldOffset(12,r,0)}static createGraphsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startGraphsVector(t,r){t.startVector(4,r,4)}static endAttribute(t){return t.endObject()}static createAttribute(t,r,i,o,a,s,u,l,h,c,f,d,p,y){return n.startAttribute(t),n.addName(t,r),n.addDocString(t,i),n.addType(t,o),n.addF(t,a),n.addI(t,s),n.addS(t,u),n.addT(t,l),n.addG(t,h),n.addFloats(t,c),n.addInts(t,f),n.addStrings(t,d),n.addTensors(t,p),n.addGraphs(t,y),n.endAttribute(t)}}r.Attribute=n})(L.experimental||={}),B=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsGraph(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsGraph(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}initializers(t,r){let n=this.bb.__offset(this.bb_pos,4);return n?(r||new B.experimental.fbs.Tensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}initializersLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}nodeArgs(t,r){let n=this.bb.__offset(this.bb_pos,6);return n?(r||new B.experimental.fbs.ValueInfo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}nodeArgsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}nodes(t,r){let n=this.bb.__offset(this.bb_pos,8);return n?(r||new B.experimental.fbs.Node).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}maxNodeIndex(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readUint32(this.bb_pos+t):0}nodeEdges(t,r){let n=this.bb.__offset(this.bb_pos,12);return n?(r||new B.experimental.fbs.NodeEdge).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}nodeEdgesLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}inputs(t,r){let n=this.bb.__offset(this.bb_pos,14);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}inputsLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}outputs(t,r){let n=this.bb.__offset(this.bb_pos,16);return n?this.bb.__string(this.bb.__vector(this.bb_pos+n)+4*t,r):null}outputsLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}sparseInitializers(t,r){let n=this.bb.__offset(this.bb_pos,18);return n?(r||new B.experimental.fbs.SparseTensor).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}sparseInitializersLength(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}static startGraph(t){t.startObject(8)}static addInitializers(t,r){t.addFieldOffset(0,r,0)}static createInitializersVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startInitializersVector(t,r){t.startVector(4,r,4)}static addNodeArgs(t,r){t.addFieldOffset(1,r,0)}static createNodeArgsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startNodeArgsVector(t,r){t.startVector(4,r,4)}static addNodes(t,r){t.addFieldOffset(2,r,0)}static createNodesVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startNodesVector(t,r){t.startVector(4,r,4)}static addMaxNodeIndex(t,r){t.addFieldInt32(3,r,0)}static addNodeEdges(t,r){t.addFieldOffset(4,r,0)}static createNodeEdgesVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startNodeEdgesVector(t,r){t.startVector(4,r,4)}static addInputs(t,r){t.addFieldOffset(5,r,0)}static createInputsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startInputsVector(t,r){t.startVector(4,r,4)}static addOutputs(t,r){t.addFieldOffset(6,r,0)}static createOutputsVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startOutputsVector(t,r){t.startVector(4,r,4)}static addSparseInitializers(t,r){t.addFieldOffset(7,r,0)}static createSparseInitializersVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startSparseInitializersVector(t,r){t.startVector(4,r,4)}static endGraph(t){return t.endObject()}static createGraph(t,r,i,o,a,s,u,l,h){return n.startGraph(t),n.addInitializers(t,r),n.addNodeArgs(t,i),n.addNodes(t,o),n.addMaxNodeIndex(t,a),n.addNodeEdges(t,s),n.addInputs(t,u),n.addOutputs(t,l),n.addSparseInitializers(t,h),n.endGraph(t)}}r.Graph=n})(B.experimental||={}),N=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsModel(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsModel(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}irVersion(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}opsetImport(t,r){let n=this.bb.__offset(this.bb_pos,6);return n?(r||new N.experimental.fbs.OperatorSetId).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}opsetImportLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}producerName(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__string(this.bb_pos+r,t):null}producerVersion(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__string(this.bb_pos+r,t):null}domain(t){let r=this.bb.__offset(this.bb_pos,12);return r?this.bb.__string(this.bb_pos+r,t):null}modelVersion(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt64(this.bb_pos+t):this.bb.createLong(0,0)}docString(t){let r=this.bb.__offset(this.bb_pos,16);return r?this.bb.__string(this.bb_pos+r,t):null}graph(t){let r=this.bb.__offset(this.bb_pos,18);return r?(t||new N.experimental.fbs.Graph).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}graphDocString(t){let r=this.bb.__offset(this.bb_pos,20);return r?this.bb.__string(this.bb_pos+r,t):null}static startModel(t){t.startObject(9)}static addIrVersion(t,r){t.addFieldInt64(0,r,t.createLong(0,0))}static addOpsetImport(t,r){t.addFieldOffset(1,r,0)}static createOpsetImportVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startOpsetImportVector(t,r){t.startVector(4,r,4)}static addProducerName(t,r){t.addFieldOffset(2,r,0)}static addProducerVersion(t,r){t.addFieldOffset(3,r,0)}static addDomain(t,r){t.addFieldOffset(4,r,0)}static addModelVersion(t,r){t.addFieldInt64(5,r,t.createLong(0,0))}static addDocString(t,r){t.addFieldOffset(6,r,0)}static addGraph(t,r){t.addFieldOffset(7,r,0)}static addGraphDocString(t,r){t.addFieldOffset(8,r,0)}static endModel(t){return t.endObject()}static createModel(t,r,i,o,a,s,u,l,h,c){return n.startModel(t),n.addIrVersion(t,r),n.addOpsetImport(t,i),n.addProducerName(t,o),n.addProducerVersion(t,a),n.addDomain(t,s),n.addModelVersion(t,u),n.addDocString(t,l),n.addGraph(t,h),n.addGraphDocString(t,c),n.endModel(t)}}r.Model=n})(N.experimental||={}),F=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsKernelCreateInfos(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKernelCreateInfos(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}nodeIndices(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.readUint32(this.bb.__vector(this.bb_pos+r)+4*t):0}nodeIndicesLength(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__vector_len(this.bb_pos+t):0}nodeIndicesArray(){let t=this.bb.__offset(this.bb_pos,4);return t?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}kernelDefHashes(t){let r=this.bb.__offset(this.bb_pos,6);return r?this.bb.readUint64(this.bb.__vector(this.bb_pos+r)+8*t):this.bb.createLong(0,0)}kernelDefHashesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startKernelCreateInfos(t){t.startObject(2)}static addNodeIndices(t,r){t.addFieldOffset(0,r,0)}static createNodeIndicesVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addInt32(r[n]);return t.endVector()}static startNodeIndicesVector(t,r){t.startVector(4,r,4)}static addKernelDefHashes(t,r){t.addFieldOffset(1,r,0)}static createKernelDefHashesVector(t,r){t.startVector(8,r.length,8);for(let n=r.length-1;n>=0;n--)t.addInt64(r[n]);return t.endVector()}static startKernelDefHashesVector(t,r){t.startVector(8,r,8)}static endKernelCreateInfos(t){return t.endObject()}static createKernelCreateInfos(t,r,i){return n.startKernelCreateInfos(t),n.addNodeIndices(t,r),n.addKernelDefHashes(t,i),n.endKernelCreateInfos(t)}}r.KernelCreateInfos=n})(F.experimental||={}),U=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSubGraphSessionState(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSubGraphSessionState(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}graphId(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}sessionState(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new U.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startSubGraphSessionState(t){t.startObject(2)}static addGraphId(t,r){t.addFieldOffset(0,r,0)}static addSessionState(t,r){t.addFieldOffset(1,r,0)}static endSubGraphSessionState(t){let r=t.endObject();return t.requiredField(r,4),r}static createSubGraphSessionState(t,r,i){return n.startSubGraphSessionState(t),n.addGraphId(t,r),n.addSessionState(t,i),n.endSubGraphSessionState(t)}}r.SubGraphSessionState=n})(U.experimental||={}),j=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSessionState(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSessionState(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}kernels(t){let r=this.bb.__offset(this.bb_pos,4);return r?(t||new j.experimental.fbs.KernelCreateInfos).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}subGraphSessionStates(t,r){let n=this.bb.__offset(this.bb_pos,6);return n?(r||new j.experimental.fbs.SubGraphSessionState).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+4*t),this.bb):null}subGraphSessionStatesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSessionState(t){t.startObject(2)}static addKernels(t,r){t.addFieldOffset(0,r,0)}static addSubGraphSessionStates(t,r){t.addFieldOffset(1,r,0)}static createSubGraphSessionStatesVector(t,r){t.startVector(4,r.length,4);for(let n=r.length-1;n>=0;n--)t.addOffset(r[n]);return t.endVector()}static startSubGraphSessionStatesVector(t,r){t.startVector(4,r,4)}static endSessionState(t){return t.endObject()}static createSessionState(t,r,i){return n.startSessionState(t),n.addKernels(t,r),n.addSubGraphSessionStates(t,i),n.endSessionState(t)}}r.SessionState=n})(j.experimental||={}),z=e3||={},(t=>{var r=t.fbs||={};class n{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsInferenceSession(t,r){return(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInferenceSession(t,r){return t.setPosition(t.position()+e0.SIZE_PREFIX_LENGTH),(r||new n).__init(t.readInt32(t.position())+t.position(),t)}static bufferHasIdentifier(t){return t.__has_identifier("ORTM")}ortVersion(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}model(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new z.experimental.fbs.Model).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}sessionState(t){let r=this.bb.__offset(this.bb_pos,8);return r?(t||new z.experimental.fbs.SessionState).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}static startInferenceSession(t){t.startObject(3)}static addOrtVersion(t,r){t.addFieldOffset(0,r,0)}static addModel(t,r){t.addFieldOffset(1,r,0)}static addSessionState(t,r){t.addFieldOffset(2,r,0)}static endInferenceSession(t){return t.endObject()}static finishInferenceSessionBuffer(t,r){t.finish(r,"ORTM")}static finishSizePrefixedInferenceSessionBuffer(t,r){t.finish(r,"ORTM",!0)}static createInferenceSession(t,r,i,o){return n.startInferenceSession(t),n.addOrtVersion(t,r),n.addModel(t,i),n.addSessionState(t,o),n.endInferenceSession(t)}}r.InferenceSession=n})(z.experimental||={})}),e2=V((t,r)=>{r.exports=function(t,r){for(var n=Array(arguments.length-1),i=0,o=2,a=!0;o<arguments.length;)n[i++]=arguments[o++];return new Promise(function(o,s){n[i]=function(t){if(a)if(a=!1,t)s(t);else{for(var r=Array(arguments.length-1),n=0;n<r.length;)r[n++]=arguments[n];o.apply(null,r)}};try{t.apply(r||null,n)}catch(t){a&&(a=!1,s(t))}})}}),e7=V(t=>{t.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&"="===t.charAt(r);)++n;return Math.ceil(3*t.length)/4-n};var r,n=Array(64),i=Array(123);for(r=0;r<64;)i[n[r]=r<26?r+65:r<52?r+71:r<62?r-4:r-59|43]=r++;t.encode=function(t,r,i){for(var o,a=null,s=[],u=0,l=0;r<i;){var h=t[r++];switch(l){case 0:s[u++]=n[h>>2],o=(3&h)<<4,l=1;break;case 1:s[u++]=n[o|h>>4],o=(15&h)<<2,l=2;break;case 2:s[u++]=n[o|h>>6],s[u++]=n[63&h],l=0}u>8191&&((a||(a=[])).push(String.fromCharCode.apply(String,s)),u=0)}return l&&(s[u++]=n[o],s[u++]=61,1===l&&(s[u++]=61)),a?(u&&a.push(String.fromCharCode.apply(String,s.slice(0,u))),a.join("")):String.fromCharCode.apply(String,s.slice(0,u))};var o="invalid encoding";t.decode=function(t,r,n){for(var a,s=n,u=0,l=0;l<t.length;){var h=t.charCodeAt(l++);if(61===h&&u>1)break;if(void 0===(h=i[h]))throw Error(o);switch(u){case 0:a=h,u=1;break;case 1:r[n++]=a<<2|(48&h)>>4,a=h,u=2;break;case 2:r[n++]=(15&a)<<4|(60&h)>>2,a=h,u=3;break;case 3:r[n++]=(3&a)<<6|h,u=0}}if(1===u)throw Error(o);return n-s},t.test=function(t){return/^(?:[A-Za-z0-9+/]{4}
1402)*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}}),e8=V((t,r)=>{function n(){this._listeners={}}r.exports=n,n.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this},n.prototype.off=function(t,r){if(void 0===t)this._listeners={};else if(void 0===r)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this},n.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}}),e4=V((t,r)=>{function n(t){return"u">typeof Float32Array?function(){var r=new Float32Array([-0]),n=new Uint8Array(r.buffer),i=128===n[3];function o(t,i,o){r[0]=t,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3]}function a(t,i,o){r[0]=t,i[o]=n[3],i[o+1]=n[2],i[o+2]=n[1],i[o+3]=n[0]}function s(t,i){return n[0]=t[i],n[1]=t[i+1],n[2]=t[i+2],n[3]=t[i+3],r[0]}function u(t,i){return n[3]=t[i],n[2]=t[i+1],n[1]=t[i+2],n[0]=t[i+3],r[0]}t.writeFloatLE=i?o:a,t.writeFloatBE=i?a:o,t.readFloatLE=i?s:u,t.readFloatBE=i?u:s}():function(){function r(t,r,n,i){var o=+(r<0);if(o&&(r=-r),0===r)t(1/r>0?0:0x80000000,n,i);else if(isNaN(r))t(0x7fc00000,n,i);else if(r>34028234663852886e22)t((o<<31|0x7f800000)>>>0,n,i);else if(r<11754943508222875e-54)t((o<<31|Math.round(r/1401298464324817e-60))>>>0,n,i);else{var a=Math.floor(Math.log(r)/Math.LN2);t((o<<31|a+127<<23|8388607&Math.round(r*Math.pow(2,-a)*8388608))>>>0,n,i)}}function n(t,r,n){var i=t(r,n),o=2*(i>>31)+1,a=i>>>23&255,s=8388607&i;return 255===a?s?NaN:1/0*o:0===a?1401298464324817e-60*o*s:o*Math.pow(2,a-150)*(s+8388608)}t.writeFloatLE=r.bind(null,i),t.writeFloatBE=r.bind(null,o),t.readFloatLE=n.bind(null,a),t.readFloatBE=n.bind(null,s)}(),"u">typeof Float64Array?function(){var r=new Float64Array([-0]),n=new Uint8Array(r.buffer),i=128===n[7];function o(t,i,o){r[0]=t,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3],i[o+4]=n[4],i[o+5]=n[5],i[o+6]=n[6],i[o+7]=n[7]}function a(t,i,o){r[0]=t,i[o]=n[7],i[o+1]=n[6],i[o+2]=n[5],i[o+3]=n[4],i[o+4]=n[3],i[o+5]=n[2],i[o+6]=n[1],i[o+7]=n[0]}function s(t,i){return n[0]=t[i],n[1]=t[i+1],n[2]=t[i+2],n[3]=t[i+3],n[4]=t[i+4],n[5]=t[i+5],n[6]=t[i+6],n[7]=t[i+7],r[0]}function u(t,i){return n[7]=t[i],n[6]=t[i+1],n[5]=t[i+2],n[4]=t[i+3],n[3]=t[i+4],n[2]=t[i+5],n[1]=t[i+6],n[0]=t[i+7],r[0]}t.writeDoubleLE=i?o:a,t.writeDoubleBE=i?a:o,t.readDoubleLE=i?s:u,t.readDoubleBE=i?u:s}():function(){function r(t,r,n,i,o,a){var s,u=+(i<0);if(u&&(i=-i),0===i)t(0,o,a+r),t(1/i>0?0:0x80000000,o,a+n);else if(isNaN(i))t(0,o,a+r),t(0x7ff80000,o,a+n);else if(i>17976931348623157e292)t(0,o,a+r),t((u<<31|0x7ff00000)>>>0,o,a+n);else if(i<22250738585072014e-324)t((s=i/5e-324)>>>0,o,a+r),t((u<<31|s/0x100000000)>>>0,o,a+n);else{var l=Math.floor(Math.log(i)/Math.LN2);1024===l&&(l=1023),t(0x10000000000000*(s=i*Math.pow(2,-l))>>>0,o,a+r),t((u<<31|l+1023<<20|1048576*s&1048575)>>>0,o,a+n)}}function n(t,r,n,i,o){var a=t(i,o+r),s=t(i,o+n),u=2*(s>>31)+1,l=s>>>20&2047,h=0x100000000*(1048575&s)+a;return 2047===l?h?NaN:1/0*u:0===l?5e-324*u*h:u*Math.pow(2,l-1075)*(h+0x10000000000000)}t.writeDoubleLE=r.bind(null,i,0,4),t.writeDoubleBE=r.bind(null,o,4,0),t.readDoubleLE=n.bind(null,a,0,4),t.readDoubleBE=n.bind(null,s,4,0)}(),t}function i(t,r,n){r[n]=255&t,r[n+1]=t>>>8&255,r[n+2]=t>>>16&255,r[n+3]=t>>>24}function o(t,r,n){r[n]=t>>>24,r[n+1]=t>>>16&255,r[n+2]=t>>>8&255,r[n+3]=255&t}function a(t,r){return(t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24)>>>0}function s(t,r){return(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3])>>>0}r.exports=n(n)}),te=V((t,r)=>{r.exports=function(t){try{var r=void 0;if(r&&(r.length||Object.keys(r).length))return r}catch(t){}return null}}),tt=V(t=>{t.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)(n=t.charCodeAt(i))<128?r+=1:n<2048?r+=2:55296==(64512&n)&&56320==(64512&t.charCodeAt(i+1))?(++i,r+=4):r+=3;return r},t.read=function(t,r,n){if(n-r<1)return"";for(var i,o=null,a=[],s=0;r<n;)(i=t[r++])<128?a[s++]=i:i>191&&i<224?a[s++]=(31&i)<<6|63&t[r++]:i>239&&i<365?(i=((7&i)<<18|(63&t[r++])<<12|(63&t[r++])<<6|63&t[r++])-65536,a[s++]=55296+(i>>
vendor: 14,060 bytes, line 1402
140210),a[s++]=56320+(1023&i)):a[s++]=(15&i)<<12|(63&t[r++])<<6|63&t[r++],s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0);return o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join("")):String.fromCharCode.apply(String,a.slice(0,s))},t.write=function(t,r,n){for(var i,o,a=n,s=0;s<t.length;++s)(i=t.charCodeAt(s))<128?r[n++]=i:(i<2048?r[n++]=i>>6|192:(55296==(64512&i)&&56320==(64512&(o=t.charCodeAt(s+1)))?(i=65536+((1023&i)<<10)+(1023&o),++s,r[n++]=i>>18|240,r[n++]=i>>12&63|128):r[n++]=i>>12|224,r[n++]=i>>6&63|128),r[n++]=63&i|128);return n-a}}),tr=V((t,r)=>{r.exports=function(t,r,n){var i=n||8192,o=i>>>1,a=null,s=i;return function(n){if(n<1||n>o)return t(n);s+n>i&&(a=t(i),s=0);var u=r.call(a,s,s+=n);return 7&s&&(s=1+(7|s)),u}}}),tn=V((t,r)=>{r.exports=i;var n=ti();function i(t,r){this.lo=t>>>0,this.hi=r>>>0}var o=i.zero=new i(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var a=i.zeroHash="\0\0\0\0\0\0\0\0";i.fromNumber=function(t){if(0===t)return o;var r=t<0;r&&(t=-t);var n=t>>>0,a=(t-n)/0x100000000>>>0;return r&&(a=~a>>>0,n=~n>>>0,++n>0xffffffff&&(n=0,++a>0xffffffff&&(a=0))),new i(n,a)},i.from=function(t){if("number"==typeof t)return i.fromNumber(t);if(n.isString(t)){if(!n.Long)return i.fromNumber(parseInt(t,10));t=n.Long.fromString(t)}return t.low||t.high?new i(t.low>>>0,t.high>>>0):o},i.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=1+~this.lo>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+0x100000000*n)}return this.lo+0x100000000*this.hi},i.prototype.toLong=function(t){return n.Long?new n.Long(0|this.lo,0|this.hi,!!t):{low:0|this.lo,high:0|this.hi,unsigned:!!t}};var s=String.prototype.charCodeAt;i.fromHash=function(t){return t===a?o:new i((s.call(t,0)|s.call(t,1)<<8|s.call(t,2)<<16|s.call(t,3)<<24)>>>0,(s.call(t,4)|s.call(t,5)<<8|s.call(t,6)<<16|s.call(t,7)<<24)>>>0)},i.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},i.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},i.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},i.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===r?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}}),ti=V(t=>{function r(t,r,n){for(var i=Object.keys(r),o=0;o<i.length;++o)void 0!==t[i[o]]&&n||(t[i[o]]=r[i[o]]);return t}function n(t){function n(t,i){if(!(this instanceof n))return new n(t,i);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,n):Object.defineProperty(this,"stack",{value:Error().stack||""}),i&&r(this,i)}return n.prototype=Object.create(Error.prototype,{constructor:{value:n,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),n}t.asPromise=e2(),t.base64=e7(),t.EventEmitter=e8(),t.float=e4(),t.inquire=te(),t.utf8=tt(),t.pool=tr(),t.LongBits=tn(),t.isNode=!!("u">typeof global&&global&&global.process&&global.process.versions&&global.process.versions.node),t.global=t.isNode&&global||"u">typeof window&&window||"u">typeof self&&self||t,t.emptyArray=Object.freeze?Object.freeze([]):[],t.emptyObject=Object.freeze?Object.freeze({}):{},t.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},t.isString=function(t){return"string"==typeof t||t instanceof String},t.isObject=function(t){return t&&"object"==typeof t},t.isset=t.isSet=function(t,r){var n=t[r];return!(null==n||!t.hasOwnProperty(r))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},t.Buffer=function(){try{var r=t.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}(),t._Buffer_from=null,t._Buffer_allocUnsafe=null,t.newBuffer=function(r){return"number"==typeof r?t.Buffer?t._Buffer_allocUnsafe(r):new t.Array(r):t.Buffer?t._Buffer_from(r):typeof Uint8Array>"u"?r:new Uint8Array(r)},t.Array="u">typeof Uint8Array?Uint8Array:Array,t.Long=t.global.dcodeIO&&t.global.dcodeIO.Long||t.global.Long||t.inquire("long"),t.key2Re=/^true|false|0|1$/,t.key32Re=/^-?(?:0|[1-9][0-9]*)$/,t.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,t.longToHash=function(r){return r?t.LongBits.from(r).toHash():t.LongBits.zeroHash},t.longFromHash=function(r,n){var i=t.LongBits.fromHash(r);return t.Long?t.Long.fromBits(i.lo,i.hi,n):i.toNumber(!!n)},t.merge=r,t.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},t.newError=n,t.ProtocolError=n("ProtocolError"),t.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===r[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},t.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}},t.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},t._configure=function(){var r=t.Buffer;r?(t._Buffer_from=r.from!==Uint8Array.from&&r.from||function(t,n){return new r(t,n)},t._Buffer_allocUnsafe=r.allocUnsafe||function(t){return new r(t)}):t._Buffer_from=t._Buffer_allocUnsafe=null}}),to=V((t,r)=>{r.exports=c;var n,i=ti(),o=i.LongBits,a=i.base64,s=i.utf8;function u(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}function l(){}function h(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function c(){this.len=0,this.head=new u(l,0,0),this.tail=this.head,this.states=null}var f=function(){return i.Buffer?function(){return(c.create=function(){return new n})()}:function(){return new c}};function d(t,r,n){r[n]=255&t}function p(t,r){this.len=t,this.next=void 0,this.val=r}function y(t,r,n){for(;t.hi;)r[n++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)r[n++]=127&t.lo|128,t.lo=t.lo>>>7;r[n++]=t.lo}function m(t,r,n){r[n]=255&t,r[n+1]=t>>>8&255,r[n+2]=t>>>16&255,r[n+3]=t>>>24}c.create=f(),c.alloc=function(t){return new i.Array(t)},i.Array!==Array&&(c.alloc=i.pool(c.alloc,i.Array.prototype.subarray)),c.prototype._push=function(t,r,n){return this.tail=this.tail.next=new u(t,r,n),this.len+=r,this},p.prototype=Object.create(u.prototype),p.prototype.fn=function(t,r,n){for(;t>127;)r[n++]=127&t|128,t>>>=7;r[n]=t},c.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new p((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<0x10000000?4:5,t)).len,this},c.prototype.int32=function(t){return t<0?this._push(y,10,o.fromNumber(t)):this.uint32(t)},c.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},c.prototype.uint64=function(t){var r=o.from(t);return this._push(y,r.length(),r)},c.prototype.int64=c.prototype.uint64,c.prototype.sint64=function(t){var r=o.from(t).zzEncode();return this._push(y,r.length(),r)},c.prototype.bool=function(t){return this._push(d,1,+!!t)},c.prototype.fixed32=function(t){return this._push(m,4,t>>>0)},c.prototype.sfixed32=c.prototype.fixed32,c.prototype.fixed64=function(t){var r=o.from(t);return this._push(m,4,r.lo)._push(m,4,r.hi)},c.prototype.sfixed64=c.prototype.fixed64,c.prototype.float=function(t){return this._push(i.float.writeFloatLE,4,t)},c.prototype.double=function(t){return this._push(i.float.writeDoubleLE,8,t)};var g=i.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};c.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(d,1,0);if(i.isString(t)){var n=c.alloc(r=a.length(t));a.decode(t,n,0),t=n}return this.uint32(r)._push(g,r,t)},c.prototype.string=function(t){var r=s.length(t);return r?this.uint32(r)._push(s.write,r,t):this._push(d,1,0)},c.prototype.fork=function(){return this.states=new h(this),this.head=this.tail=new u(l,0,0),this.len=0,this},c.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new u(l,0,0),this.len=0),this},c.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this},c.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r},c._configure=function(t){n=t,c.create=f(),n._configure()}}),ta=V((t,r)=>{r.exports=o;var n=to();(o.prototype=Object.create(n.prototype)).constructor=o;var i=ti();function o(){n.call(this)}function a(t,r,n){t.length<40?i.utf8.write(t,r,n):r.utf8Write?r.utf8Write(t,n):r.write(t,n)}o._configure=function(){o.alloc=i._Buffer_allocUnsafe,o.writeBytesBuffer=i.Buffer&&i.Buffer.prototype instanceof Uint8Array&&"set"===i.Buffer.prototype.set.name?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}},o.prototype.bytes=function(t){i.isString(t)&&(t=i._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(o.writeBytesBuffer,r,t),this},o.prototype.string=function(t){var r=i.Buffer.byteLength(t);return this.uint32(r),r&&this._push(a,r,t),this},o._configure()}),ts=V((t,r)=>{r.exports=u;var n,i=ti(),o=i.LongBits,a=i.utf8;function s(t,r){return RangeError("index out of range: "+t.pos+" + "+(r||1)+" > "+t.len)}function u(t){this.buf=t,this.pos=0,this.len=t.length}var l,h="u">typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new u(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new u(t);throw Error("illegal buffer")},c=function(){return i.Buffer?function(t){return(u.create=function(t){return i.Buffer.isBuffer(t)?new n(t):h(t)})(t)}:h};function f(){var t=new o(0,0),r=0;if(!(this.len-this.pos>4)){for(;r<3;++r){if(this.pos>=this.len)throw s(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*r)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*r)>>>0,t}for(;r<4;++r)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*r)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(r=0,this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*r+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw s(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*r+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function d(t,r){return(t[r-4]|t[r-3]<<8|t[r-2]<<16|t[r-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw s(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}u.create=c(),u.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,u.prototype.uint32=(l=0xffffffff,function(){if(l=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128||(l=(l|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)||(l=(l|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)||(l=(l|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)||(l=(l|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128))return l;if((this.pos+=5)>this.len)throw this.pos=this.len,s(this,10);return l}),u.prototype.int32=function(){return 0|this.uint32()},u.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)},u.prototype.bool=function(){return 0!==this.uint32()},u.prototype.fixed32=function(){if(this.pos+4>this.len)throw s(this,4);return d(this.buf,this.pos+=4)},u.prototype.sfixed32=function(){if(this.pos+4>this.len)throw s(this,4);return 0|d(this.buf,this.pos+=4)},u.prototype.float=function(){if(this.pos+4>this.len)throw s(this,4);var t=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},u.prototype.double=function(){if(this.pos+8>this.len)throw s(this,4);var t=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},u.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw s(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)},u.prototype.string=function(){var t=this.bytes();return a.read(t,0,t.length)},u.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw s(this,t);this.pos+=t}else do if(this.pos>=this.len)throw s(this);while(128&this.buf[this.pos++])return this},u.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},u._configure=function(t){n=t,u.create=c(),n._configure();var r=i.Long?"toLong":"toNumber";i.merge(u.prototype,{int64:function(){return f.call(this)[r](!1)},uint64:function(){return f.call(this)[r](!0)},sint64:function(){return f.call(this).zzDecode()[r](!1)},fixed64:function(){return p.call(this)[r](!0)},sfixed64:function(){return p.call(this)[r](!1)}})}}),tu=V((t,r)=>{r.exports=o;var n=ts();(o.prototype=Object.create(n.prototype)).constructor=o;var i=ti();function o(t){n.call(this,t)}o._configure=function(){i.Buffer&&(o.prototype._slice=i.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()}),tl=V((t,r)=>{r.exports=i;var n=ti();function i(t,r,i){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!r,this.responseDelimited=!!i}(i.prototype=Object.create(n.EventEmitter.prototype)).constructor=i,i.prototype.rpcCall=function t(r,i,o,a,s){if
1402(!a)throw TypeError("request must be specified");var u=this;if(!s)return n.asPromise(t,u,r,i,o,a);if(u.rpcImpl)try{return u.rpcImpl(r,i[u.requestDelimited?"encodeDelimited":"encode"](a).finish(),function(t,n){if(t)return u.emit("error",t,r),s(t);if(null!==n){if(!(n instanceof o))try{n=o[u.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return u.emit("error",t,r),s(t)}return u.emit("data",n,r),s(null,n)}u.end(!0)})}catch(t){return u.emit("error",t,r),void setTimeout(function(){s(t)},0)}setTimeout(function(){s(Error("already ended"))},0)},i.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}}),th=V(t=>{t.Service=tl()}),tc=V((t,r)=>{r.exports={}}),tf=V(t=>{function r(){t.util._configure(),t.Writer._configure(t.BufferWriter),t.Reader._configure(t.BufferReader)}t.build="minimal",t.Writer=to(),t.BufferWriter=ta(),t.Reader=ts(),t.BufferReader=tu(),t.util=ti(),t.rpc=th(),t.roots=tc(),t.configure=r,r()}),td=V((t,r)=>{r.exports=tf()}),tp=V((t,r)=>{var n,i,o,a,s,u=td(),l=u.Reader,h=u.Writer,c=u.util,f=u.roots.default||(u.roots.default={});(s={}).Version=((a=Object.create(o={}))[o[0]="_START_VERSION"]=0,a[o[1]="IR_VERSION_2017_10_10"]=1,a[o[2]="IR_VERSION_2017_10_30"]=2,a[o[3]="IR_VERSION_2017_11_3"]=3,a[o[4]="IR_VERSION_2019_1_22"]=4,a[o[5]="IR_VERSION_2019_3_18"]=5,a[o[6]="IR_VERSION_2019_9_19"]=6,a[o[7]="IR_VERSION_2020_5_8"]=7,a[o[8]="IR_VERSION_2021_7_30"]=8,a[o[9]="IR_VERSION"]=9,a),s.AttributeProto=function(){var t,r;function n(t){if(this.floats=[],this.ints=[],this.strings=[],this.tensors=[],this.graphs=[],this.sparseTensors=[],this.typeProtos=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return n.prototype.name="",n.prototype.refAttrName="",n.prototype.docString="",n.prototype.type=0,n.prototype.f=0,n.prototype.i=c.Long?c.Long.fromBits(0,0,!1):0,n.prototype.s=c.newBuffer([]),n.prototype.t=null,n.prototype.g=null,n.prototype.sparseTensor=null,n.prototype.tp=null,n.prototype.floats=c.emptyArray,n.prototype.ints=c.emptyArray,n.prototype.strings=c.emptyArray,n.prototype.tensors=c.emptyArray,n.prototype.graphs=c.emptyArray,n.prototype.sparseTensors=c.emptyArray,n.prototype.typeProtos=c.emptyArray,n.create=function(t){return new n(t)},n.encode=function(t,r){if(r||(r=h.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(10).string(t.name),null!=t.f&&Object.hasOwnProperty.call(t,"f")&&r.uint32(21).float(t.f),null!=t.i&&Object.hasOwnProperty.call(t,"i")&&r.uint32(24).int64(t.i),null!=t.s&&Object.hasOwnProperty.call(t,"s")&&r.uint32(34).bytes(t.s),null!=t.t&&Object.hasOwnProperty.call(t,"t")&&f.onnx.TensorProto.encode(t.t,r.uint32(42).fork()).ldelim(),null!=t.g&&Object.hasOwnProperty.call(t,"g")&&f.onnx.GraphProto.encode(t.g,r.uint32(50).fork()).ldelim(),null!=t.floats&&t.floats.length){r.uint32(58).fork();for(var n=0;n<t.floats.length;++n)r.float(t.floats[n]);r.ldelim()}if(null!=t.ints&&t.ints.length){for(r.uint32(66).fork(),n=0;n<t.ints.length;++n)r.int64(t.ints[n]);r.ldelim()}if(null!=t.strings&&t.strings.length)for(n=0;n<t.strings.length;++n)r.uint32(74).bytes(t.strings[n]);if(null!=t.tensors&&t.tensors.length)for(n=0;n<t.tensors.length;++n)f.onnx.TensorProto.encode(t.tensors[n],r.uint32(82).fork()).ldelim();if(null!=t.graphs&&t.graphs.length)for(n=0;n<t.graphs.length;++n)f.onnx.GraphProto.encode(t.graphs[n],r.uint32(90).fork()).ldelim();if(null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(106).string(t.docString),null!=t.tp&&Object.hasOwnProperty.call(t,"tp")&&f.onnx.TypeProto.encode(t.tp,r.uint32(114).fork()).ldelim(),null!=t.typeProtos&&t.typeProtos.length)for(n=0;n<t.typeProtos.length;++n)f.onnx.TypeProto.encode(t.typeProtos[n],r.uint32(122).fork()).ldelim();if(null!=t.type&&Object.hasOwnProperty.call(t,"type")&&r.uint32(160).int32(t.type),null!=t.refAttrName&&Object.hasOwnProperty.call(t,"refAttrName")&&r.uint32(170).string(t.refAttrName),null!=t.sparseTensor&&Object.hasOwnProperty.call(t,"sparseTensor")&&f.onnx.SparseTensorProto.encode(t.sparseTensor,r.uint32(178).fork()).ldelim(),null!=t.sparseTensors&&t.sparseTensors.length)for(n=0;n<t.sparseTensors.length;++n)f.onnx.SparseTensorProto.encode(t.sparseTensors[n],r.uint32(186).fork()).ldelim();return r},n.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},n.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.AttributeProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.name=t.string();break;case 21:i.refAttrName=t.string();break;case 13:i.docString=t.string();break;case 20:i.type=t.int32();break;case 2:i.f=t.float();break;case 3:i.i=t.int64();break;case 4:i.s=t.bytes();break;case 5:i.t=f.onnx.TensorProto.decode(t,t.uint32());break;case 6:i.g=f.onnx.GraphProto.decode(t,t.uint32());break;case 22:i.sparseTensor=f.onnx.SparseTensorProto.decode(t,t.uint32());break;case 14:i.tp=f.onnx.TypeProto.decode(t,t.uint32());break;case 7:if(i.floats&&i.floats.length||(i.floats=[]),2==(7&o))for(var a=t.uint32()+t.pos;t.pos<a;)i.floats.push(t.float());else i.floats.push(t.float());break;case 8:if(i.ints&&i.ints.length||(i.ints=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.ints.push(t.int64());else i.ints.push(t.int64());break;case 9:i.strings&&i.strings.length||(i.strings=[]),i.strings.push(t.bytes());break;case 10:i.tensors&&i.tensors.length||(i.tensors=[]),i.tensors.push(f.onnx.TensorProto.decode(t,t.uint32()));break;case 11:i.graphs&&i.graphs.length||(i.graphs=[]),i.graphs.push(f.onnx.GraphProto.decode(t,t.uint32()));break;case 23:i.sparseTensors&&i.sparseTensors.length||(i.sparseTensors=[]),i.sparseTensors.push(f.onnx.SparseTensorProto.decode(t,t.uint32()));break;case 15:i.typeProtos&&i.typeProtos.length||(i.typeProtos=[]),i.typeProtos.push(f.onnx.TypeProto.decode(t,t.uint32()));break;default:t.skipType(7&o)}}return i},n.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},n.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.refAttrName&&t.hasOwnProperty("refAttrName")&&!c.isString(t.refAttrName))return"refAttrName: string expected";if(null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString))return"docString: string expected";if(null!=t.type&&t.hasOwnProperty("type"))switch(t.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 11:case 13:case 6:case 7:case 8:case 9:case 10:case 12:case 14:}if(null!=t.f&&t.hasOwnProperty("f")&&"number"!=typeof t.f)return"f: number expected";if(null!=t.i&&t.hasOwnProperty("i")&&!c.isInteger(t.i)&&!(t.i&&c.isInteger(t.i.low)&&c.isInteger(t.i.high)))return"i: integer|Long expected";if(null!=t.s&&t.hasOwnProperty("s")&&!(t.s&&"number"==typeof t.s.length||c.isString(t.s)))return"s: buffer expected";if(null!=t.t&&t.hasOwnProperty("t")&&(r=f.onnx.TensorProto.verify(t.t)))return"t."+r;if(null!=t.g&&t.hasOwnProperty("g")&&(r=f.onnx.GraphProto.verify(t.g)))return"g."+r;if(null!=t.sparseTensor&&t.hasOwnProperty("sparseTensor")&&(r=f.onnx.SparseTensorProto.verify(t.sparseTensor)))return"sparseTensor."+r;if(null!=t.tp&&t.hasOwnProperty("tp")&&(r=f.onnx.TypeProto.verify(t.tp)))return"tp."+r;if(null!=t.floats&&t.hasOwnProperty("floats")){if(!Array.isArray(t.floats))return"floats: array expected";for(var r,n=0;n<t.floats.length;++n)if("number"!=typeof t.floats[n])return"floats: number[] expected"}if(null!=t.ints&&t.hasOwnProperty("ints")){if(!Array.isArray(t.ints))return"ints: array expected";for(n=0;n<t.ints.length;++n)if(!(c.isInteger(t.ints[n])||t.ints[n]&&c.isInteger(t.ints[n].low)&&c.isInteger(t.ints[n].high)))return"ints: integer|Long[] expected"}
vendor: 72,663 bytes, line 1402
1402if(null!=t.strings&&t.hasOwnProperty("strings")){if(!Array.isArray(t.strings))return"strings: array expected";for(n=0;n<t.strings.length;++n)if(!(t.strings[n]&&"number"==typeof t.strings[n].length||c.isString(t.strings[n])))return"strings: buffer[] expected"}if(null!=t.tensors&&t.hasOwnProperty("tensors")){if(!Array.isArray(t.tensors))return"tensors: array expected";for(n=0;n<t.tensors.length;++n)if(r=f.onnx.TensorProto.verify(t.tensors[n]))return"tensors."+r}if(null!=t.graphs&&t.hasOwnProperty("graphs")){if(!Array.isArray(t.graphs))return"graphs: array expected";for(n=0;n<t.graphs.length;++n)if(r=f.onnx.GraphProto.verify(t.graphs[n]))return"graphs."+r}if(null!=t.sparseTensors&&t.hasOwnProperty("sparseTensors")){if(!Array.isArray(t.sparseTensors))return"sparseTensors: array expected";for(n=0;n<t.sparseTensors.length;++n)if(r=f.onnx.SparseTensorProto.verify(t.sparseTensors[n]))return"sparseTensors."+r}if(null!=t.typeProtos&&t.hasOwnProperty("typeProtos")){if(!Array.isArray(t.typeProtos))return"typeProtos: array expected";for(n=0;n<t.typeProtos.length;++n)if(r=f.onnx.TypeProto.verify(t.typeProtos[n]))return"typeProtos."+r}return null},n.fromObject=function(t){if(t instanceof f.onnx.AttributeProto)return t;var r=new f.onnx.AttributeProto;switch(null!=t.name&&(r.name=String(t.name)),null!=t.refAttrName&&(r.refAttrName=String(t.refAttrName)),null!=t.docString&&(r.docString=String(t.docString)),t.type){default:"number"==typeof t.type&&(r.type=t.type);break;case"UNDEFINED":case 0:r.type=0;break;case"FLOAT":case 1:r.type=1;break;case"INT":case 2:r.type=2;break;case"STRING":case 3:r.type=3;break;case"TENSOR":case 4:r.type=4;break;case"GRAPH":case 5:r.type=5;break;case"SPARSE_TENSOR":case 11:r.type=11;break;case"TYPE_PROTO":case 13:r.type=13;break;case"FLOATS":case 6:r.type=6;break;case"INTS":case 7:r.type=7;break;case"STRINGS":case 8:r.type=8;break;case"TENSORS":case 9:r.type=9;break;case"GRAPHS":case 10:r.type=10;break;case"SPARSE_TENSORS":case 12:r.type=12;break;case"TYPE_PROTOS":case 14:r.type=14}if(null!=t.f&&(r.f=Number(t.f)),null!=t.i&&(c.Long?(r.i=c.Long.fromValue(t.i)).unsigned=!1:"string"==typeof t.i?r.i=parseInt(t.i,10):"number"==typeof t.i?r.i=t.i:"object"==typeof t.i&&(r.i=new c.LongBits(t.i.low>>>0,t.i.high>>>0).toNumber())),null!=t.s&&("string"==typeof t.s?c.base64.decode(t.s,r.s=c.newBuffer(c.base64.length(t.s)),0):t.s.length>=0&&(r.s=t.s)),null!=t.t){if("object"!=typeof t.t)throw TypeError(".onnx.AttributeProto.t: object expected");r.t=f.onnx.TensorProto.fromObject(t.t)}if(null!=t.g){if("object"!=typeof t.g)throw TypeError(".onnx.AttributeProto.g: object expected");r.g=f.onnx.GraphProto.fromObject(t.g)}if(null!=t.sparseTensor){if("object"!=typeof t.sparseTensor)throw TypeError(".onnx.AttributeProto.sparseTensor: object expected");r.sparseTensor=f.onnx.SparseTensorProto.fromObject(t.sparseTensor)}if(null!=t.tp){if("object"!=typeof t.tp)throw TypeError(".onnx.AttributeProto.tp: object expected");r.tp=f.onnx.TypeProto.fromObject(t.tp)}if(t.floats){if(!Array.isArray(t.floats))throw TypeError(".onnx.AttributeProto.floats: array expected");r.floats=[];for(var n=0;n<t.floats.length;++n)r.floats[n]=Number(t.floats[n])}if(t.ints){if(!Array.isArray(t.ints))throw TypeError(".onnx.AttributeProto.ints: array expected");for(r.ints=[],n=0;n<t.ints.length;++n)c.Long?(r.ints[n]=c.Long.fromValue(t.ints[n])).unsigned=!1:"string"==typeof t.ints[n]?r.ints[n]=parseInt(t.ints[n],10):"number"==typeof t.ints[n]?r.ints[n]=t.ints[n]:"object"==typeof t.ints[n]&&(r.ints[n]=new c.LongBits(t.ints[n].low>>>0,t.ints[n].high>>>0).toNumber())}if(t.strings){if(!Array.isArray(t.strings))throw TypeError(".onnx.AttributeProto.strings: array expected");for(r.strings=[],n=0;n<t.strings.length;++n)"string"==typeof t.strings[n]?c.base64.decode(t.strings[n],r.strings[n]=c.newBuffer(c.base64.length(t.strings[n])),0):t.strings[n].length>=0&&(r.strings[n]=t.strings[n])}if(t.tensors){if(!Array.isArray(t.tensors))throw TypeError(".onnx.AttributeProto.tensors: array expected");for(r.tensors=[],n=0;n<t.tensors.length;++n){if("object"!=typeof t.tensors[n])throw TypeError(".onnx.AttributeProto.tensors: object expected");r.tensors[n]=f.onnx.TensorProto.fromObject(t.tensors[n])}}if(t.graphs){if(!Array.isArray(t.graphs))throw TypeError(".onnx.AttributeProto.graphs: array expected");for(r.graphs=[],n=0;n<t.graphs.length;++n){if("object"!=typeof t.graphs[n])throw TypeError(".onnx.AttributeProto.graphs: object expected");r.graphs[n]=f.onnx.GraphProto.fromObject(t.graphs[n])}}if(t.sparseTensors){if(!Array.isArray(t.sparseTensors))throw TypeError(".onnx.AttributeProto.sparseTensors: array expected");for(r.sparseTensors=[],n=0;n<t.sparseTensors.length;++n){if("object"!=typeof t.sparseTensors[n])throw TypeError(".onnx.AttributeProto.sparseTensors: object expected");r.sparseTensors[n]=f.onnx.SparseTensorProto.fromObject(t.sparseTensors[n])}}if(t.typeProtos){if(!Array.isArray(t.typeProtos))throw TypeError(".onnx.AttributeProto.typeProtos: array expected");for(r.typeProtos=[],n=0;n<t.typeProtos.length;++n){if("object"!=typeof t.typeProtos[n])throw TypeError(".onnx.AttributeProto.typeProtos: object expected");r.typeProtos[n]=f.onnx.TypeProto.fromObject(t.typeProtos[n])}}return r},n.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.floats=[],n.ints=[],n.strings=[],n.tensors=[],n.graphs=[],n.typeProtos=[],n.sparseTensors=[]),r.defaults){if(n.name="",n.f=0,c.Long){var i=new c.Long(0,0,!1);n.i=r.longs===String?i.toString():r.longs===Number?i.toNumber():i}else n.i=r.longs===String?"0":0;r.bytes===String?n.s="":(n.s=[],r.bytes!==Array&&(n.s=c.newBuffer(n.s))),n.t=null,n.g=null,n.docString="",n.tp=null,n.type=r.enums===String?"UNDEFINED":0,n.refAttrName="",n.sparseTensor=null}if(null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.f&&t.hasOwnProperty("f")&&(n.f=r.json&&!isFinite(t.f)?String(t.f):t.f),null!=t.i&&t.hasOwnProperty("i")&&("number"==typeof t.i?n.i=r.longs===String?String(t.i):t.i:n.i=r.longs===String?c.Long.prototype.toString.call(t.i):r.longs===Number?new c.LongBits(t.i.low>>>0,t.i.high>>>0).toNumber():t.i),null!=t.s&&t.hasOwnProperty("s")&&(n.s=r.bytes===String?c.base64.encode(t.s,0,t.s.length):r.bytes===Array?Array.prototype.slice.call(t.s):t.s),null!=t.t&&t.hasOwnProperty("t")&&(n.t=f.onnx.TensorProto.toObject(t.t,r)),null!=t.g&&t.hasOwnProperty("g")&&(n.g=f.onnx.GraphProto.toObject(t.g,r)),t.floats&&t.floats.length){n.floats=[];for(var o=0;o<t.floats.length;++o)n.floats[o]=r.json&&!isFinite(t.floats[o])?String(t.floats[o]):t.floats[o]}if(t.ints&&t.ints.length)for(n.ints=[],o=0;o<t.ints.length;++o)"number"==typeof t.ints[o]?n.ints[o]=r.longs===String?String(t.ints[o]):t.ints[o]:n.ints[o]=r.longs===String?c.Long.prototype.toString.call(t.ints[o]):r.longs===Number?new c.LongBits(t.ints[o].low>>>0,t.ints[o].high>>>0).toNumber():t.ints[o];if(t.strings&&t.strings.length)for(n.strings=[],o=0;o<t.strings.length;++o)n.strings[o]=r.bytes===String?c.base64.encode(t.strings[o],0,t.strings[o].length):r.bytes===Array?Array.prototype.slice.call(t.strings[o]):t.strings[o];if(t.tensors&&t.tensors.length)for(n.tensors=[],o=0;o<t.tensors.length;++o)n.tensors[o]=f.onnx.TensorProto.toObject(t.tensors[o],r);if(t.graphs&&t.graphs.length)for(n.graphs=[],o=0;o<t.graphs.length;++o)n.graphs[o]=f.onnx.GraphProto.toObject(t.graphs[o],r);if(null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),null!=t.tp&&t.hasOwnProperty("tp")&&(n.tp=f.onnx.TypeProto.toObject(t.tp,r)),t.typeProtos&&t.typeProtos.length)for(n.typeProtos=[],o=0;o<t.typeProtos.length;++o)n.typeProtos[o]=f.onnx.TypeProto.toObject(t.typeProtos[o],r);if(null!=t.type&&t.hasOwnProperty("type")&&(n.type=r.enums===String?void 0===f.onnx.AttributeProto.AttributeType[t.type]?t.type:f.onnx.AttributeProto.AttributeType[t.type]:t.type),null!=t.refAttrName&&t.hasOwnProperty("refAttrName")&&(n.refAttrName=t.refAttrName),null!=t.sparseTensor&&t.hasOwnProperty("sparseTensor")&&(n.sparseTensor=f.onnx.SparseTensorProto.toObject(t.sparseTensor,r)),t.sparseTensors&&t.sparseTensors.length)for(n.sparseTensors=[],o=0;o<t.sparseTensors.length;++o)n.sparseTensors[o]=f.onnx.SparseTensorProto.toObject(t.sparseTensors[o],r);return n},n.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},n.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.AttributeProto"},(r=Object.create(t={}))[t[0]="UNDEFINED"]=0,r[t[1]="FLOAT"]=1,r[t[2]="INT"]=2,r[t[3]="STRING"]=3,r[t[4]="TENSOR"]=4,r[t[5]="GRAPH"]=5,r[t[11]="SPARSE_TENSOR"]=11,r[t[13]="TYPE_PROTO"]=13,r[t[6]="FLOATS"]=6,r[t[7]="INTS"]=7,r[t[8]="STRINGS"]=8,r[t[9]="TENSORS"]=9,r[t[10]="GRAPHS"]=10,r[t[12]="SPARSE_TENSORS"]=12,r[t[14]="TYPE_PROTOS"]=14,n.AttributeType=r,n}(),s.ValueInfoProto=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.name="",t.prototype.type=null,t.prototype.docString="",t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(10).string(t.name),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&f.onnx.TypeProto.encode(t.type,r.uint32(18).fork()).ldelim(),null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(26).string(t.docString),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.ValueInfoProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.name=t.string();break;case 2:i.type=f.onnx.TypeProto.decode(t,t.uint32());break;case 3:i.docString=t.string();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.type&&t.hasOwnProperty("type")){var r=f.onnx.TypeProto.verify(t.type);if(r)return"type."+r}return null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString)?"docString: string expected":null},t.fromObject=function(t){if(t instanceof f.onnx.ValueInfoProto)return t;var r=new f.onnx.ValueInfoProto;if(null!=t.name&&(r.name=String(t.name)),null!=t.type){if("object"!=typeof t.type)throw TypeError(".onnx.ValueInfoProto.type: object expected");r.type=f.onnx.TypeProto.fromObject(t.type)}return null!=t.docString&&(r.docString=String(t.docString)),r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.name="",n.type=null,n.docString=""),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.type&&t.hasOwnProperty("type")&&(n.type=f.onnx.TypeProto.toObject(t.type,r)),null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.ValueInfoProto"},t}(),s.NodeProto=function(){function t(t){if(this.input=[],this.output=[],this.attribute=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.input=c.emptyArray,t.prototype.output=c.emptyArray,t.prototype.name="",t.prototype.opType="",t.prototype.domain="",t.prototype.attribute=c.emptyArray,t.prototype.docString="",t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.input&&t.input.length)for(var n=0;n<t.input.length;++n)r.uint32(10).string(t.input[n]);if(null!=t.output&&t.output.length)for(n=0;n<t.output.length;++n)r.uint32(18).string(t.output[n]);if(null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(26).string(t.name),null!=t.opType&&Object.hasOwnProperty.call(t,"opType")&&r.uint32(34).string(t.opType),null!=t.attribute&&t.attribute.length)for(n=0;n<t.attribute.length;++n)f.onnx.AttributeProto.encode(t.attribute[n],r.uint32(42).fork()).ldelim();return null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(50).string(t.docString),null!=t.domain&&Object.hasOwnProperty.call(t,"domain")&&r.uint32(58).string(t.domain),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.NodeProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.input&&i.input.length||(i.input=[]),i.input.push(t.string());break;case 2:i.output&&i.output.length||(i.output=[]),i.output.push(t.string());break;case 3:i.name=t.string();break;case 4:i.opType=t.string();break;case 7:i.domain=t.string();break;case 5:i.attribute&&i.attribute.length||(i.attribute=[]),i.attribute.push(f.onnx.AttributeProto.decode(t,t.uint32()));break;case 6:i.docString=t.string();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.input&&t.hasOwnProperty("input")){if(!Array.isArray(t.input))return"input: array expected";for(var r=0;r<t.input.length;++r)if(!c.isString(t.input[r]))return"input: string[] expected"}if(null!=t.output&&t.hasOwnProperty("output")){if(!Array.isArray(t.output))return"output: array expected";for(r=0;r<t.output.length;++r)if(!c.isString(t.output[r]))return"output: string[] expected"}if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.opType&&t.hasOwnProperty("opType")&&!c.isString(t.opType))return"opType: string expected";if(null!=t.domain&&t.hasOwnProperty("domain")&&!c.isString(t.domain))return"domain: string expected";if(null!=t.attribute&&t.hasOwnProperty("attribute")){if(!Array.isArray(t.attribute))return"attribute: array expected";for(r=0;r<t.attribute.length;++r){var n=f.onnx.AttributeProto.verify(t.attribute[r]);if(n)return"attribute."+n}}return null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString)?"docString: string expected":null},t.fromObject=function(t){if(t instanceof f.onnx.NodeProto)return t;var r=new f.onnx.NodeProto;if(t.input){if(!Array.isArray(t.input))throw TypeError(".onnx.NodeProto.input: array expected");r.input=[];for(var n=0;n<t.input.length;++n)r.input[n]=String(t.input[n])}if(t.output){if(!Array.isArray(t.output))throw TypeError(".onnx.NodeProto.output: array expected");for(r.output=[],n=0;n<t.output.length;++n)r.output[n]=String(t.output[n])}if(null!=t.name&&(r.name=String(t.name)),null!=t.opType&&(r.opType=String(t.opType)),null!=t.domain&&(r.domain=String(t.domain)),t.attribute){if(!Array.isArray(t.attribute))throw TypeError(".onnx.NodeProto.attribute: array expected");for(r.attribute=[],n=0;n<t.attribute.length;++n){if("object"!=typeof t.attribute[n])throw TypeError(".onnx.NodeProto.attribute: object expected");r.attribute[n]=f.onnx.AttributeProto.fromObject(t.attribute[n])}}return null!=t.docString&&(r.docString=String(t.docString)),r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.input=[],n.output=[],n.attribute=[]),r.defaults&&(n.name="",n.opType="",n.docString="",n.domain=""),t.input&&t.input.length){n.input=[];for(var i=0;i<t.input.length;++i)n.input[i]=t.input[i]}if(t.output&&t.output.length)for(n.output=[],i=0;i<t.output.length;++i)n.output[i]=t.output[i];if(null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.opType&&t.hasOwnProperty("opType")&&(n.opType=t.opType),t.attribute&&t.attribute.length)for(n.attribute=[],i=0;i<t.attribute.length;++i)n.attribute[i]=f.onnx.AttributeProto.toObject(t.attribute[i],r);return null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),null!=t.domain&&t.hasOwnProperty("domain")&&(n.domain=t.domain),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.NodeProto"},t}(),s.TrainingInfoProto=function(){function t(t){if(this.initializationBinding=[],this.updateBinding=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.initialization=null,t.prototype.algorithm=null,t.prototype.initializationBinding=c.emptyArray,t.prototype.updateBinding=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.initialization&&Object.hasOwnProperty.call(t,"initialization")&&f.onnx.GraphProto.encode(t.initialization,r.uint32(10).fork()).ldelim(),null!=t.algorithm&&Object.hasOwnProperty.call(t,"algorithm")&&f.onnx.GraphProto.encode(t.algorithm,r.uint32(18).fork()).ldelim(),null!=t.initializationBinding&&t.initializationBinding.length)for(var n=0;n<t.initializationBinding.length;++n)f.onnx.StringStringEntryProto.encode(t.initializationBinding[n],r.uint32(26).fork()).ldelim();if(null!=t.updateBinding&&t.updateBinding.length)for(n=0;n<t.updateBinding.length;++n)f.onnx.StringStringEntryProto.encode(t.updateBinding[n],r.uint32(34).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TrainingInfoProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.initialization=f.onnx.GraphProto.decode(t,t.uint32());break;case 2:i.algorithm=f.onnx.GraphProto.decode(t,t.uint32());break;case 3:i.initializationBinding&&i.initializationBinding.length||(i.initializationBinding=[]),i.initializationBinding.push(f.onnx.StringStringEntryProto.decode(t,t.uint32()));break;case 4:i.updateBinding&&i.updateBinding.length||(i.updateBinding=[]),i.updateBinding.push(f.onnx.StringStringEntryProto.decode(t,t.uint32()));break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.initialization&&t.hasOwnProperty("initialization")&&(r=f.onnx.GraphProto.verify(t.initialization)))return"initialization."+r;if(null!=t.algorithm&&t.hasOwnProperty("algorithm")&&(r=f.onnx.GraphProto.verify(t.algorithm)))return"algorithm."+r;if(null!=t.initializationBinding&&t.hasOwnProperty("initializationBinding")){if(!Array.isArray(t.initializationBinding))return"initializationBinding: array expected";for(var r,n=0;n<t.initializationBinding.length;++n)if(r=f.onnx.StringStringEntryProto.verify(t.initializationBinding[n]))return"initializationBinding."+r}if(null!=t.updateBinding&&t.hasOwnProperty("updateBinding")){if(!Array.isArray(t.updateBinding))return"updateBinding: array expected";for(n=0;n<t.updateBinding.length;++n)if(r=f.onnx.StringStringEntryProto.verify(t.updateBinding[n]))return"updateBinding."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TrainingInfoProto)return t;var r=new f.onnx.TrainingInfoProto;if(null!=t.initialization){if("object"!=typeof t.initialization)throw TypeError(".onnx.TrainingInfoProto.initialization: object expected");r.initialization=f.onnx.GraphProto.fromObject(t.initialization)}if(null!=t.algorithm){if("object"!=typeof t.algorithm)throw TypeError(".onnx.TrainingInfoProto.algorithm: object expected");r.algorithm=f.onnx.GraphProto.fromObject(t.algorithm)}if(t.initializationBinding){if(!Array.isArray(t.initializationBinding))throw TypeError(".onnx.TrainingInfoProto.initializationBinding: array expected");r.initializationBinding=[];for(var n=0;n<t.initializationBinding.length;++n){if("object"!=typeof t.initializationBinding[n])throw TypeError(".onnx.TrainingInfoProto.initializationBinding: object expected");r.initializationBinding[n]=f.onnx.StringStringEntryProto.fromObject(t.initializationBinding[n])}}if(t.updateBinding){if(!Array.isArray(t.updateBinding))throw TypeError(".onnx.TrainingInfoProto.updateBinding: array expected");for(r.updateBinding=[],n=0;n<t.updateBinding.length;++n){if("object"!=typeof t.updateBinding[n])throw TypeError(".onnx.TrainingInfoProto.updateBinding: object expected");r.updateBinding[n]=f.onnx.StringStringEntryProto.fromObject(t.updateBinding[n])}}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.initializationBinding=[],n.updateBinding=[]),r.defaults&&(n.initialization=null,n.algorithm=null),null!=t.initialization&&t.hasOwnProperty("initialization")&&(n.initialization=f.onnx.GraphProto.toObject(t.initialization,r)),null!=t.algorithm&&t.hasOwnProperty("algorithm")&&(n.algorithm=f.onnx.GraphProto.toObject(t.algorithm,r)),t.initializationBinding&&t.initializationBinding.length){n.initializationBinding=[];for(var i=0;i<t.initializationBinding.length;++i)n.initializationBinding[i]=f.onnx.StringStringEntryProto.toObject(t.initializationBinding[i],r)}if(t.updateBinding&&t.updateBinding.length)for(n.updateBinding=[],i=0;i<t.updateBinding.length;++i)n.updateBinding[i]=f.onnx.StringStringEntryProto.toObject(t.updateBinding[i],r);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TrainingInfoProto"},t}(),s.ModelProto=function(){function t(t){if(this.opsetImport=[],this.metadataProps=[],this.trainingInfo=[],this.functions=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.irVersion=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.opsetImport=c.emptyArray,t.prototype.producerName="",t.prototype.producerVersion="",t.prototype.domain="",t.prototype.modelVersion=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.docString="",t.prototype.graph=null,t.prototype.metadataProps=c.emptyArray,t.prototype.trainingInfo=c.emptyArray,t.prototype.functions=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.irVersion&&Object.hasOwnProperty.call(t,"irVersion")&&r.uint32(8).int64(t.irVersion),null!=t.producerName&&Object.hasOwnProperty.call(t,"producerName")&&r.uint32(18).string(t.producerName),null!=t.producerVersion&&Object.hasOwnProperty.call(t,"producerVersion")&&r.uint32(26).string(t.producerVersion),null!=t.domain&&Object.hasOwnProperty.call(t,"domain")&&r.uint32(34).string(t.domain),null!=t.modelVersion&&Object.hasOwnProperty.call(t,"modelVersion")&&r.uint32(40).int64(t.modelVersion),null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(50).string(t.docString),null!=t.graph&&Object.hasOwnProperty.call(t,"graph")&&f.onnx.GraphProto.encode(t.graph,r.uint32(58).fork()).ldelim(),null!=t.opsetImport&&t.opsetImport.length)for(var n=0;n<t.opsetImport.length;++n)f.onnx.OperatorSetIdProto.encode(t.opsetImport[n],r.uint32(66).fork()).ldelim();if(null!=t.metadataProps&&t.metadataProps.length)for(n=0;n<t.metadataProps.length;++n)f.onnx.StringStringEntryProto.encode(t.metadataProps[n],r.uint32(114).fork()).ldelim();if(null!=t.trainingInfo&&t.trainingInfo.length)for(n=0;n<t.trainingInfo.length;++n)f.onnx.TrainingInfoProto.encode(t.trainingInfo[n],r.uint32(162).fork()).ldelim();if(null!=t.functions&&t.functions.length)for(n=0;n<t.functions.length;++n)f.onnx.FunctionProto.encode(t.functions[n],r.uint32(202).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.ModelProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.irVersion=t.int64();break;case 8:i.opsetImport&&i.opsetImport.length||(i.opsetImport=[]),i.opsetImport.push(f.onnx.OperatorSetIdProto.decode(t,t.uint32()));break;case 2:i.producerName=t.string();break;case 3:i.producerVersion=t.string();break;case 4:i.domain=t.string();break;case 5:i.modelVersion=t.int64();break;case 6:i.docString=t.string();break;case 7:i.graph=f.onnx.GraphProto.decode(t,t.uint32());break;case 14:i.metadataProps&&i.metadataProps.length||(i.metadataProps=[]),i.metadataProps.push(f.onnx.StringStringEntryProto.decode(t,t.uint32()));break;case 20:i.trainingInfo&&i.trainingInfo.length||(i.trainingInfo=[]),i.trainingInfo.push(f.onnx.TrainingInfoProto.decode(t,t.uint32()));break;case 25:i.functions&&i.functions.length||(i.functions=[]),i.functions.push(f.onnx.FunctionProto.decode(t,t.uint32()));break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.irVersion&&t.hasOwnProperty("irVersion")&&!c.isInteger(t.irVersion)&&!(t.irVersion&&c.isInteger(t.irVersion.low)&&c.isInteger(t.irVersion.high)))return"irVersion: integer|Long expected";if(null!=t.opsetImport&&t.hasOwnProperty("opsetImport")){if(!Array.isArray(t.opsetImport))return"opsetImport: array expected";for(var r,n=0;n<t.opsetImport.length;++n)if(r=f.onnx.OperatorSetIdProto.verify(t.opsetImport[n]))return"opsetImport."+r}if(null!=t.producerName&&t.hasOwnProperty("producerName")&&!c.isString(t.producerName))return"producerName: string expected";if(null!=t.producerVersion&&t.hasOwnProperty("producerVersion")&&!c.isString(t.producerVersion))return"producerVersion: string expected";if(null!=t.domain&&t.hasOwnProperty("domain")&&!c.isString(t.domain))return"domain: string expected";if(null!=t.modelVersion&&t.hasOwnProperty("modelVersion")&&!c.isInteger(t.modelVersion)&&!(t.modelVersion&&c.isInteger(t.modelVersion.low)&&c.isInteger(t.modelVersion.high)))return"modelVersion: integer|Long expected";if(null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString))return"docString: string expected";if(null!=t.graph&&t.hasOwnProperty("graph")&&(r=f.onnx.GraphProto.verify(t.graph)))return"graph."+r;if(null!=t.metadataProps&&t.hasOwnProperty("metadataProps")){if(!Array.isArray(t.metadataProps))return"metadataProps: array expected";for(n=0;n<t.metadataProps.length;++n)if(r=f.onnx.StringStringEntryProto.verify(t.metadataProps[n]))return"metadataProps."+r}if(null!=t.trainingInfo&&t.hasOwnProperty("trainingInfo")){if(!Array.isArray(t.trainingInfo))return"trainingInfo: array expected";for(n=0;n<t.trainingInfo.length;++n)if(r=f.onnx.TrainingInfoProto.verify(t.trainingInfo[n]))return"trainingInfo."+r}if(null!=t.functions&&t.hasOwnProperty("functions")){if(!Array.isArray(t.functions))return"functions: array expected";for(n=0;n<t.functions.length;++n)if(r=f.onnx.FunctionProto.verify(t.functions[n]))return"functions."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.ModelProto)return t;var r=new f.onnx.ModelProto;if(null!=t.irVersion&&(c.Long?(r.irVersion=c.Long.fromValue(t.irVersion)).unsigned=!1:"string"==typeof t.irVersion?r.irVersion=parseInt(t.irVersion,10):"number"==typeof t.irVersion?r.irVersion=t.irVersion:"object"==typeof t.irVersion&&(r.irVersion=new c.LongBits(t.irVersion.low>>>0,t.irVersion.high>>>0).toNumber())),t.opsetImport){if(!Array.isArray(t.opsetImport))throw TypeError(".onnx.ModelProto.opsetImport: array expected");r.opsetImport=[];for(var n=0;n<t.opsetImport.length;++n){if("object"!=typeof t.opsetImport[n])throw TypeError(".onnx.ModelProto.opsetImport: object expected");r.opsetImport[n]=f.onnx.OperatorSetIdProto.fromObject(t.opsetImport[n])}}if(null!=t.producerName&&(r.producerName=String(t.producerName)),null!=t.producerVersion&&(r.producerVersion=String(t.producerVersion)),null!=t.domain&&(r.domain=String(t.domain)),null!=t.modelVersion&&(c.Long?(r.modelVersion=c.Long.fromValue(t.modelVersion)).unsigned=!1:"string"==typeof t.modelVersion?r.modelVersion=parseInt(t.modelVersion,10):"number"==typeof t.modelVersion?r.modelVersion=t.modelVersion:"object"==typeof t.modelVersion&&(r.modelVersion=new c.LongBits(t.modelVersion.low>>>0,t.modelVersion.high>>>0).toNumber())),null!=t.docString&&(r.docString=String(t.docString)),null!=t.graph){if("object"!=typeof t.graph)throw TypeError(".onnx.ModelProto.graph: object expected");r.graph=f.onnx.GraphProto.fromObject(t.graph)}if(t.metadataProps){if(!Array.isArray(t.metadataProps))throw TypeError(".onnx.ModelProto.metadataProps: array expected");for(r.metadataProps=[],n=0;n<t.metadataProps.length;++n){if("object"!=typeof t.metadataProps[n])throw TypeError(".onnx.ModelProto.metadataProps: object expected");r.metadataProps[n]=f.onnx.StringStringEntryProto.fromObject(t.metadataProps[n])}}if(t.trainingInfo){if(!Array.isArray(t.trainingInfo))throw TypeError(".onnx.ModelProto.trainingInfo: array expected");for(r.trainingInfo=[],n=0;n<t.trainingInfo.length;++n){if("object"!=typeof t.trainingInfo[n])throw TypeError(".onnx.ModelProto.trainingInfo: object expected");r.trainingInfo[n]=f.onnx.TrainingInfoProto.fromObject(t.trainingInfo[n])}}if(t.functions){if(!Array.isArray(t.functions))throw TypeError(".onnx.ModelProto.functions: array expected");for(r.functions=[],n=0;n<t.functions.length;++n){if("object"!=typeof t.functions[n])throw TypeError(".onnx.ModelProto.functions: object expected");r.functions[n]=f.onnx.FunctionProto.fromObject(t.functions[n])}}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.opsetImport=[],n.metadataProps=[],n.trainingInfo=[],n.functions=[]),r.defaults){if(c.Long){var i=new c.Long(0,0,!1);n.irVersion=r.longs===String?i.toString():r.longs===Number?i.toNumber():i}else n.irVersion=r.longs===String?"0":0;n.producerName="",n.producerVersion="",n.domain="",c.Long?(i=new c.Long(0,0,!1),n.modelVersion=r.longs===String?i.toString():r.longs===Number?i.toNumber():i):n.modelVersion=r.longs===String?"0":0,n.docString="",n.graph=null}if(null!=t.irVersion&&t.hasOwnProperty("irVersion")&&("number"==typeof t.irVersion?n.irVersion=r.longs===String?String(t.irVersion):t.irVersion:n.irVersion=r.longs===String?c.Long.prototype.toString.call(t.irVersion):r.longs===Number?new c.LongBits(t.irVersion.low>>>0,t.irVersion.high>>>0).toNumber():t.irVersion),null!=t.producerName&&t.hasOwnProperty("producerName")&&(n.producerName=t.producerName),null!=t.producerVersion&&t.hasOwnProperty("producerVersion")&&(n.producerVersion=t.producerVersion),null!=t.domain&&t.hasOwnProperty("domain")&&(n.domain=t.domain),null!=t.modelVersion&&t.hasOwnProperty("modelVersion")&&("number"==typeof t.modelVersion?n.modelVersion=r.longs===String?String(t.modelVersion):t.modelVersion:n.modelVersion=r.longs===String?c.Long.prototype.toString.call(t.modelVersion):r.longs===Number?new c.LongBits(t.modelVersion.low>>>0,t.modelVersion.high>>>0).toNumber():t.modelVersion),null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),null!=t.graph&&t.hasOwnProperty("graph")&&(n.graph=f.onnx.GraphProto.toObject(t.graph,r)),t.opsetImport&&t.opsetImport.length){n.opsetImport=[];for(var o=0;o<t.opsetImport.length;++o)n.opsetImport[o]=f.onnx.OperatorSetIdProto.toObject(t.opsetImport[o],r)}if(t.metadataProps&&t.metadataProps.length)for(n.metadataProps=[],o=0;o<t.metadataProps.length;++o)n.metadataProps[o]=f.onnx.StringStringEntryProto.toObject(t.metadataProps[o],r);if(t.trainingInfo&&t.trainingInfo.length)for(n.trainingInfo=[],o=0;o<t.trainingInfo.length;++o)n.trainingInfo[o]=f.onnx.TrainingInfoProto.toObject(t.trainingInfo[o],r);if(t.functions&&t.functions.length)for(n.functions=[],o=0;o<t.functions.length;++o)n.functions[o]=f.onnx.FunctionProto.toObject(t.functions[o],r);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.ModelProto"},t}(),s.StringStringEntryProto=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.key="",t.prototype.value="",t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&r.uint32(10).string(t.key),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&r.uint32(18).string(t.value),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.StringStringEntryProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.key=t.string();break;case 2:i.value=t.string();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.key&&t.hasOwnProperty("key")&&!c.isString(t.key)?"key: string expected":null!=t.value&&t.hasOwnProperty("value")&&!c.isString(t.value)?"value: string expected":null},t.fromObject=function(t){if(t instanceof f.onnx.StringStringEntryProto)return t;var r=new f.onnx.StringStringEntryProto;return null!=t.key&&(r.key=String(t.key)),null!=t.value&&(r.value=String(t.value)),r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.key="",n.value=""),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.value&&t.hasOwnProperty("value")&&(n.value=t.value),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.StringStringEntryProto"},t}(),s.TensorAnnotation=function(){function t(t){if(this.quantParameterTensorNames=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.tensorName="",t.prototype.quantParameterTensorNames=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.tensorName&&Object.hasOwnProperty.call(t,"tensorName")&&r.uint32(10).string(t.tensorName),null!=t.quantParameterTensorNames&&t.quantParameterTensorNames.length)for(var n=0;n<t.quantParameterTensorNames.length;++n)f.onnx.StringStringEntryProto.encode(t.quantParameterTensorNames[n],r.uint32(18).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TensorAnnotation;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.tensorName=t.string();break;case 2:i.quantParameterTensorNames&&i.quantParameterTensorNames.length||(i.quantParameterTensorNames=[]),i.quantParameterTensorNames.push(f.onnx.StringStringEntryProto.decode(t,t.uint32()));break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.tensorName&&t.hasOwnProperty("tensorName")&&!c.isString(t.tensorName))return"tensorName: string expected";if(null!=t.quantParameterTensorNames&&t.hasOwnProperty("quantParameterTensorNames")){if(!Array.isArray(t.quantParameterTensorNames))return"quantParameterTensorNames: array expected";for(var r=0;r<t.quantParameterTensorNames.length;++r){var n=f.onnx.StringStringEntryProto.verify(t.quantParameterTensorNames[r]);if(n)return"quantParameterTensorNames."+n}}return null},t.fromObject=function(t){if(t instanceof f.onnx.TensorAnnotation)return t;var r=new f.onnx.TensorAnnotation;if(null!=t.tensorName&&(r.tensorName=String(t.tensorName)),t.quantParameterTensorNames){if(!Array.isArray(t.quantParameterTensorNames))throw TypeError(".onnx.TensorAnnotation.quantParameterTensorNames: array expected");r.quantParameterTensorNames=[];for(var n=0;n<t.quantParameterTensorNames.length;++n){if("object"!=typeof t.quantParameterTensorNames[n])throw TypeError(".onnx.TensorAnnotation.quantParameterTensorNames: object expected");r.quantParameterTensorNames[n]=f.onnx.StringStringEntryProto.fromObject(t.quantParameterTensorNames[n])}}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.quantParameterTensorNames=[]),r.defaults&&(n.tensorName=""),null!=t.tensorName&&t.hasOwnProperty("tensorName")&&(n.tensorName=t.tensorName),t.quantParameterTensorNames&&t.quantParameterTensorNames.length){n.quantParameterTensorNames=[];for(var i=0;i<t.quantParameterTensorNames.length;++i)n.quantParameterTensorNames[i]=f.onnx.StringStringEntryProto.toObject(t.quantParameterTensorNames[i],r)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TensorAnnotation"},t}(),s.GraphProto=function(){function t(t){if(this.node=[],this.initializer=[],this.sparseInitializer=[],this.input=[],this.output=[],this.valueInfo=[],this.quantizationAnnotation=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.node=c.emptyArray,t.prototype.name="",t.prototype.initializer=c.emptyArray,t.prototype.sparseInitializer=c.emptyArray,t.prototype.docString="",t.prototype.input=c.emptyArray,t.prototype.output=c.emptyArray,t.prototype.valueInfo=c.emptyArray,t.prototype.quantizationAnnotation=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.node&&t.node.length)for(var n=0;n<t.node.length;++n)f.onnx.NodeProto.encode(t.node[n],r.uint32(10).fork()).ldelim();if(null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(18).string(t.name),null!=t.initializer&&t.initializer.length)for(n=0;n<t.initializer.length;++n)f.onnx.TensorProto.encode(t.initializer[n],r.uint32(42).fork()).ldelim();if(null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(82).string(t.docString),null!=t.input&&t.input.length)for(n=0;n<t.input.length;++n)f.onnx.ValueInfoProto.encode(t.input[n],r.uint32(90).fork()).ldelim();if(null!=t.output&&t.output.length)for(n=0;n<t.output.length;++n)f.onnx.ValueInfoProto.encode(t.output[n],r.uint32(98).fork()).ldelim();if(null!=t.valueInfo&&t.valueInfo.length)for(n=0;n<t.valueInfo.length;++n)f.onnx.ValueInfoProto.encode(t.valueInfo[n],r.uint32(106).fork()).ldelim();if(null!=t.quantizationAnnotation&&t.quantizationAnnotation.length)for(n=0;n<t.quantizationAnnotation.length;++n)f.onnx.TensorAnnotation.encode(t.quantizationAnnotation[n],r.uint32(114).fork()).ldelim();if(null!=t.sparseInitializer&&t.sparseInitializer.length)for(n=0;n<t.sparseInitializer.length;++n)f.onnx.SparseTensorProto.encode(t.sparseInitializer[n],r.uint32(122).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.GraphProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.node&&i.node.length||(i.node=[]),i.node.push(f.onnx.NodeProto.decode(t,t.uint32()));break;case 2:i.name=t.string();break;case 5:i.initializer&&i.initializer.length||(i.initializer=[]),i.initializer.push(f.onnx.TensorProto.decode(t,t.uint32()));break;case 15:i.sparseInitializer&&i.sparseInitializer.length||(i.sparseInitializer=[]),i.sparseInitializer.push(f.onnx.SparseTensorProto.decode(t,t.uint32()));break;case 10:i.docString=t.string();break;case 11:i.input&&i.input.length||(i.input=[]),i.input.push(f.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 12:i.output&&i.output.length||(i.output=[]),i.output.push(f.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 13:i.valueInfo&&i.valueInfo.length||(i.valueInfo=[]),i.valueInfo.push(f.onnx.ValueInfoProto.decode(t,t.uint32()));break;case 14:i.quantizationAnnotation&&i.quantizationAnnotation.length||(i.quantizationAnnotation=[]),i.quantizationAnnotation.push(f.onnx.TensorAnnotation.decode(t,t.uint32()));break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.node&&t.hasOwnProperty("node")){if(!Array.isArray(t.node))return"node: array expected";for(var r,n=0;n<t.node.length;++n)if(r=f.onnx.NodeProto.verify(t.node[n]))return"node."+r}if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.initializer&&t.hasOwnProperty("initializer")){if(!Array.isArray(t.initializer))return"initializer: array expected";for(n=0;n<t.initializer.length;++n)if(r=f.onnx.TensorProto.verify(t.initializer[n]))return"initializer."+r}if(null!=t.sparseInitializer&&t.hasOwnProperty("sparseInitializer")){if(!Array.isArray(t.sparseInitializer))return"sparseInitializer: array expected";for(n=0;n<t.sparseInitializer.length;++n)if(r=f.onnx.SparseTensorProto.verify(t.sparseInitializer[n]))return"sparseInitializer."+r}if(null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString))return"docString: string expected";if(null!=t.input&&t.hasOwnProperty("input")){if(!Array.isArray(t.input))return"input: array expected";for(n=0;n<t.input.length;++n)if(r=f.onnx.ValueInfoProto.verify(t.input[n]))return"input."+r}if(null!=t.output&&t.hasOwnProperty("output")){if(!Array.isArray(t.output))return"output: array expected";for(n=0;n<t.output.length;++n)if(r=f.onnx.ValueInfoProto.verify(t.output[n]))return"output."+r}if(null!=t.valueInfo&&t.hasOwnProperty("valueInfo")){if(!Array.isArray(t.valueInfo))return"valueInfo: array expected";for(n=0;n<t.valueInfo.length;++n)if(r=f.onnx.ValueInfoProto.verify(t.valueInfo[n]))return"valueInfo."+r}if(null!=t.quantizationAnnotation&&t.hasOwnProperty("quantizationAnnotation")){if(!Array.isArray(t.quantizationAnnotation))return"quantizationAnnotation: array expected";for(n=0;n<t.quantizationAnnotation.length;++n)if(r=f.onnx.TensorAnnotation.verify(t.quantizationAnnotation[n]))return"quantizationAnnotation."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.GraphProto)return t;var r=new f.onnx.GraphProto;if(t.node){if(!Array.isArray(t.node))throw TypeError(".onnx.GraphProto.node: array expected");r.node=[];for(var n=0;n<t.node.length;++n){if("object"!=typeof t.node[n])throw TypeError(".onnx.GraphProto.node: object expected");r.node[n]=f.onnx.NodeProto.fromObject(t.node[n])}}if(null!=t.name&&(r.name=String(t.name)),t.initializer){if(!Array.isArray(t.initializer))throw TypeError(".onnx.GraphProto.initializer: array expected");for(r.initializer=[],n=0;n<t.initializer.length;++n){if("object"!=typeof t.initializer[n])throw TypeError(".onnx.GraphProto.initializer: object expected");r.initializer[n]=f.onnx.TensorProto.fromObject(t.initializer[n])}}if(t.sparseInitializer){if(!Array.isArray(t.sparseInitializer))throw TypeError(".onnx.GraphProto.sparseInitializer: array expected");for(r.sparseInitializer=[],n=0;n<t.sparseInitializer.length;++n){if("object"!=typeof t.sparseInitializer[n])throw TypeError(".onnx.GraphProto.sparseInitializer: object expected");r.sparseInitializer[n]=f.onnx.SparseTensorProto.fromObject(t.sparseInitializer[n])}}if(null!=t.docString&&(r.docString=String(t.docString)),t.input){if(!Array.isArray(t.input))throw TypeError(".onnx.GraphProto.input: array expected");for(r.input=[],n=0;n<t.input.length;++n){if("object"!=typeof t.input[n])throw TypeError(".onnx.GraphProto.input: object expected");r.input[n]=f.onnx.ValueInfoProto.fromObject(t.input[n])}}if(t.output){if(!Array.isArray(t.output))throw TypeError(".onnx.GraphProto.output: array expected");for(r.output=[],n=0;n<t.output.length;++n){if("object"!=typeof t.output[n])throw TypeError(".onnx.GraphProto.output: object expected");r.output[n]=f.onnx.ValueInfoProto.fromObject(t.output[n])}}if(t.valueInfo){if(!Array.isArray(t.valueInfo))throw TypeError(".onnx.GraphProto.valueInfo: array expected");for(r.valueInfo=[],n=0;n<t.valueInfo.length;++n){if("object"!=typeof t.valueInfo[n])throw TypeError(".onnx.GraphProto.valueInfo: object expected");r.valueInfo[n]=f.onnx.ValueInfoProto.fromObject(t.valueInfo[n])}}if(t.quantizationAnnotation){if(!Array.isArray(t.quantizationAnnotation))throw TypeError(".onnx.GraphProto.quantizationAnnotation: array expected");for(r.quantizationAnnotation=[],n=0;n<t.quantizationAnnotation.length;++n){if("object"!=typeof t.quantizationAnnotation[n])throw TypeError(".onnx.GraphProto.quantizationAnnotation: object expected");r.quantizationAnnotation[n]=f.onnx.TensorAnnotation.fromObject(t.quantizationAnnotation[n])}}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.node=[],n.initializer=[],n.input=[],n.output=[],n.valueInfo=[],n.quantizationAnnotation=[],n.sparseInitializer=[]),r.defaults&&(n.name="",n.docString=""),t.node&&t.node.length){n.node=[];for(var i=0;i<t.node.length;++i)n.node[i]=f.onnx.NodeProto.toObject(t.node[i],r)}if(null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),t.initializer&&t.initializer.length)for(n.initializer=[],i=0;i<t.initializer.length;++i)n.initializer[i]=f.onnx.TensorProto.toObject(t.initializer[i],r);if(null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),t.input&&t.input.length)for(n.input=[],i=0;i<t.input.length;++i)n.input[i]=f.onnx.ValueInfoProto.toObject(t.input[i],r);if(t.output&&t.output.length)for(n.output=[],i=0;i<t.output.length;++i)n.output[i]=f.onnx.ValueInfoProto.toObject(t.output[i],r);if(t.valueInfo&&t.valueInfo.length)for(n.valueInfo=[],i=0;i<t.valueInfo.length;++i)n.valueInfo[i]=f.onnx.ValueInfoProto.toObject(t.valueInfo[i],r);if(t.quantizationAnnotation&&t.quantizationAnnotation.length)for(n.quantizationAnnotation=[],i=0;i<t.quantizationAnnotation.length;++i)n.quantizationAnnotation[i]=f.onnx.TensorAnnotation.toObject(t.quantizationAnnotation[i],r);if(t.sparseInitializer&&t.sparseInitializer.length)for(n.sparseInitializer=[],i=0;i<t.sparseInitializer.length;++i)n.sparseInitializer[i]=f.onnx.SparseTensorProto.toObject(t.sparseInitializer[i],r);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.GraphProto"},t}(),s.TensorProto=function(){var t,r,n,i;function o(t){if(this.dims=[],this.floatData=[],this.int32Data=[],this.stringData=[],this.int64Data=[],this.externalData=[],this.doubleData=[],this.uint64Data=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return o.prototype.dims=c.emptyArray,o.prototype.dataType=0,o.prototype.segment=null,o.prototype.floatData=c.emptyArray,o.prototype.int32Data=c.emptyArray,o.prototype.stringData=c.emptyArray,o.prototype.int64Data=c.emptyArray,o.prototype.name="",o.prototype.docString="",o.prototype.rawData=c.newBuffer([]),o.prototype.externalData=c.emptyArray,o.prototype.dataLocation=0,o.prototype.doubleData=c.emptyArray,o.prototype.uint64Data=c.emptyArray,o.create=function(t){return new o(t)},o.encode=function(t,r){if(r||(r=h.create()),null!=t.dims&&t.dims.length){r.uint32(10).fork();for(var n=0;n<t.dims.length;++n)r.int64(t.dims[n]);r.ldelim()}if(null!=t.dataType&&Object.hasOwnProperty.call(t,"dataType")&&r.uint32(16).int32(t.dataType),null!=t.segment&&Object.hasOwnProperty.call(t,"segment")&&f.onnx.TensorProto.Segment.encode(t.segment,r.uint32(26).fork()).ldelim(),null!=t.floatData&&t.floatData.length){for(r.uint32(34).fork(),n=0;n<t.floatData.length;++n)r.float(t.floatData[n]);r.ldelim()}if(null!=t.int32Data&&t.int32Data.length){for(r.uint32(42).fork(),n=0;n<t.int32Data.length;++n)r.int32(t.int32Data[n]);r.ldelim()}if(null!=t.stringData&&t.stringData.length)for(n=0;n<t.stringData.length;++n)r.uint32(50).bytes(t.stringData[n]);if(null!=t.int64Data&&t.int64Data.length){for(r.uint32(58).fork(),n=0;n<t.int64Data.length;++n)r.int64(t.int64Data[n]);r.ldelim()}if(null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(66).string(t.name),null!=t.rawData&&Object.hasOwnProperty.call(t,"rawData")&&r.uint32(74).bytes(t.rawData),null!=t.doubleData&&t.doubleData.length){for(r.uint32(82).fork(),n=0;n<t.doubleData.length;++n)r.double(t.doubleData[n]);r.ldelim()}if(null!=t.uint64Data&&t.uint64Data.length){for(r.uint32(90).fork(),n=0;n<t.uint64Data.length;++n)r.uint64(t.uint64Data[n]);r.ldelim()}if(null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(98).string(t.docString),null!=t.externalData&&t.externalData.length)for(n=0;n<t.externalData.length;++n)f.onnx.StringStringEntryProto.encode(t.externalData[n],r.uint32(106).fork()).ldelim();return null!=t.dataLocation&&Object.hasOwnProperty.call(t,"dataLocation")&&r.uint32(112).int32(t.dataLocation),r},o.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},o.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TensorProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(i.dims&&i.dims.length||(i.dims=[]),2==(7&o))for(var a=t.uint32()+t.pos;t.pos<a;)i.dims.push(t.int64());else i.dims.push(t.int64());break;case 2:i.dataType=t.int32();break;case 3:i.segment=f.onnx.TensorProto.Segment.decode(t,t.uint32());break;case 4:if(i.floatData&&i.floatData.length||(i.floatData=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.floatData.push(t.float());else i.floatData.push(t.float());break;case 5:if(i.int32Data&&i.int32Data.length||(i.int32Data=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.int32Data.push(t.int32());else i.int32Data.push(t.int32());break;case 6:i.stringData&&i.stringData.length||(i.stringData=[]),i.stringData.push(t.bytes());break;case 7:if(i.int64Data&&i.int64Data.length||(i.int64Data=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.int64Data.push(t.int64());else i.int64Data.push(t.int64());break;case 8:i.name=t.string();break;case 12:i.docString=t.string();break;case 9:i.rawData=t.bytes();break;case 13:i.externalData&&i.externalData.length||(i.externalData=[]),i.externalData.push(f.onnx.StringStringEntryProto.decode(t,t.uint32()));break;case 14:i.dataLocation=t.int32();break;case 10:if(i.doubleData&&i.doubleData.length||(i.doubleData=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.doubleData.push(t.double());else i.doubleData.push(t.double());break;case 11:if(i.uint64Data&&i.uint64Data.length||(i.uint64Data=[]),2==(7&o))for(a=t.uint32()+t.pos;t.pos<a;)i.uint64Data.push(t.uint64());else i.uint64Data.push(t.uint64());break;default:t.skipType(7&o)}}return i},o.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},o.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.dims&&t.hasOwnProperty("dims")){if(!Array.isArray(t.dims))return"dims: array expected";for(var r,n=0;n<t.dims.length;++n)if(!(c.isInteger(t.dims[n])||t.dims[n]&&c.isInteger(t.dims[n].low)&&c.isInteger(t.dims[n].high)))return"dims: integer|Long[] expected"}if(null!=t.dataType&&t.hasOwnProperty("dataType")&&!c.isInteger(t.dataType))return"dataType: integer expected";if(null!=t.segment&&t.hasOwnProperty("segment")&&(r=f.onnx.TensorProto.Segment.verify(t.segment)))return"segment."+r;if(null!=t.floatData&&t.hasOwnProperty("floatData")){if(!Array.isArray(t.floatData))return"floatData: array expected";for(n=0;n<t.floatData.length;++n)if("number"!=typeof t.floatData[n])return"floatData: number[] expected"}if(null!=t.int32Data&&t.hasOwnProperty("int32Data")){if(!Array.isArray(t.int32Data))return"int32Data: array expected";for(n=0;n<t.int32Data.length;++n)if(!c.isInteger(t.int32Data[n]))return"int32Data: integer[] expected"}if(null!=t.stringData&&t.hasOwnProperty("stringData")){if(!Array.isArray(t.stringData))return"stringData: array expected";for(n=0;n<t.stringData.length;++n)if(!(t.stringData[n]&&"number"==typeof t.stringData[n].length||c.isString(t.stringData[n])))return"stringData: buffer[] expected"}if(null!=t.int64Data&&t.hasOwnProperty("int64Data")){if(!Array.isArray(t.int64Data))return"int64Data: array expected";for(n=0;n<t.int64Data.length;++n)if(!(c.isInteger(t.int64Data[n])||t.int64Data[n]&&c.isInteger(t.int64Data[n].low)&&c.isInteger(t.int64Data[n].high)))return"int64Data: integer|Long[] expected"}if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString))return"docString: string expected";if(null!=t.rawData&&t.hasOwnProperty("rawData")&&!(t.rawData&&"number"==typeof t.rawData.length||c.isString(t.rawData)))return"rawData: buffer expected";if(null!=t.externalData&&t.hasOwnProperty("externalData")){if(!Array.isArray(t.externalData))return"externalData: array expected";for(n=0;n<t.externalData.length;++n)if(r=f.onnx.StringStringEntryProto.verify(t.externalData[n]))return"externalData."+r}if(null!=t.dataLocation&&t.hasOwnProperty("dataLocation"))switch(t.dataLocation){default:return"dataLocation: enum value expected";case 0:case 1:}if(null!=t.doubleData&&t.hasOwnProperty("doubleData")){if(!Array.isArray(t.doubleData))return"doubleData: array expected";for(n=0;n<t.doubleData.length;++n)if("number"!=typeof t.doubleData[n])return"doubleData: number[] expected"}if(null!=t.uint64Data&&t.hasOwnProperty("uint64Data")){if(!Array.isArray(t.uint64Data))return"uint64Data: array expected";for(n=0;n<t.uint64Data.length;++n)if(!(c.isInteger(t.uint64Data[n])||t.uint64Data[n]&&c.isInteger(t.uint64Data[n].low)&&c.isInteger(t.uint64Data[n].high)))return"uint64Data: integer|Long[] expected"}return null},o.fromObject=function(t){if(t instanceof f.onnx.TensorProto)return t;var r=new f.onnx.TensorProto;if(t.dims){if(!Array.isArray(t.dims))throw TypeError(".onnx.TensorProto.dims: array expected");r.dims=[];for(var n=0;n<t.dims.length;++n)c.Long?(r.dims[n]=c.Long.fromValue(t.dims[n])).unsigned=!1:"string"==typeof t.dims[n]?r.dims[n]=parseInt(t.dims[n],10):"number"==typeof t.dims[n]?r.dims[n]=t.dims[n]:"object"==typeof t.dims[n]&&(r.dims[n]=new c.LongBits(t.dims[n].low>>>0,t.dims[n].high>>>0).toNumber())}if(null!=t.dataType&&(r.dataType=0|t.dataType),null!=t.segment){if("object"!=typeof t.segment)throw TypeError(".onnx.TensorProto.segment: object expected");r.segment=f.onnx.TensorProto.Segment.fromObject(t.segment)}if(t.floatData){if(!Array.isArray(t.floatData))throw TypeError(".onnx.TensorProto.floatData: array expected");for(r.floatData=[],n=0;n<t.floatData.length;++n)r.floatData[n]=Number(t.floatData[n])}if(t.int32Data){if(!Array.isArray(t.int32Data))throw TypeError(".onnx.TensorProto.int32Data: array expected");for(r.int32Data=[],n=0;n<t.int32Data.length;++n)r.int32Data[n]=0|t.int32Data[n]}if(t.stringData){if(!Array.isArray(t.stringData))throw TypeError(".onnx.TensorProto.stringData: array expected");for(r.stringData=[],n=0;n<t.stringData.length;++n)"string"==typeof t.stringData[n]?c.base64.decode(t.stringData[n],r.stringData[n]=c.newBuffer(c.base64.length(t.stringData[n])),0):t.stringData[n].length>=0&&(r.stringData[n]=t.stringData[n])}if(t.int64Data){if(!Array.isArray(t.int64Data))throw TypeError(".onnx.TensorProto.int64Data: array expected");for(r.int64Data=[],n=0;n<t.int64Data.length;++n)c.Long?(r.int64Data[n]=c.Long.fromValue(t.int64Data[n])).unsigned=!1:"string"==typeof t.int64Data[n]?r.int64Data[n]=parseInt(t.int64Data[n],10):"number"==typeof t.int64Data[n]?r.int64Data[n]=t.int64Data[n]:"object"==typeof t.int64Data[n]&&(r.int64Data[n]=new c.LongBits(t.int64Data[n].low>>>0,t.int64Data[n].high>>>0).toNumber())}if(null!=t.name&&(r.name=String(t.name)),null!=t.docString&&(r.docString=String(t.docString)),null!=t.rawData&&("string"==typeof t.rawData?c.base64.decode(t.rawData,r.rawData=c.newBuffer(c.base64.length(t.rawData)),0):t.rawData.length>=0&&(r.rawData=t.rawData)),t.externalData){if(!Array.isArray(t.externalData))throw TypeError(".onnx.TensorProto.externalData: array expected");for(r.externalData=[],n=0;n<t.externalData.length;++n){if("object"!=typeof t.externalData[n])throw TypeError(".onnx.TensorProto.externalData: object expected");r.externalData[n]=f.onnx.StringStringEntryProto.fromObject(t.externalData[n])}}switch(t.dataLocation){default:"number"==typeof t.dataLocation&&(r.dataLocation=t.dataLocation);break;case"DEFAULT":case 0:r.dataLocation=0;break;case"EXTERNAL":case 1:r.dataLocation=1}if(t.doubleData){if(!Array.isArray(t.doubleData))throw TypeError(".onnx.TensorProto.doubleData: array expected");for(r.doubleData=[],n=0;n<t.doubleData.length;++n)r.doubleData[n]=Number(t.doubleData[n])}if(t.uint64Data){if(!Array.isArray(t.uint64Data))throw TypeError(".onnx.TensorProto.uint64Data: array expected");for(r.uint64Data=[],n=0;n<t.uint64Data.length;++n)c.Long?(r.uint64Data[n]=c.Long.fromValue(t.uint64Data[n])).unsigned=!0:"string"==typeof t.uint64Data[n]?r.uint64Data[n]=parseInt(t.uint64Data[n],10):"number"==typeof t.uint64Data[n]?r.uint64Data[n]=t.uint64Data[n]:"object"==typeof t.uint64Data[n]&&(r.uint64Data[n]=new c.LongBits(t.uint64Data[n].low>>>0,t.uint64Data[n].high>>>0).toNumber(!0))}return r},o.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.dims=[],n.floatData=[],n.int32Data=[],n.stringData=[],n.int64Data=[],n.doubleData=[],n.uint64Data=[],n.externalData=[]),r.defaults&&(n.dataType=0,n.segment=null,n.name="",r.bytes===String?n.rawData="":(n.rawData=[],r.bytes!==Array&&(n.rawData=c.newBuffer(n.rawData))),n.docString="",n.dataLocation=r.enums===String?"DEFAULT":0),t.dims&&t.dims.length){n.dims=[];for(var i=0;i<t.dims.length;++i)"number"==typeof t.dims[i]?n.dims[i]=r.longs===String?String(t.dims[i]):t.dims[i]:n.dims[i]=r.longs===String?c.Long.prototype.toString.call(t.dims[i]):r.longs===Number?new c.LongBits(t.dims[i].low>>>0,t.dims[i].high>>>0).toNumber():t.dims[i]}if(null!=t.dataType&&t.hasOwnProperty("dataType")&&(n.dataType=t.dataType),null!=t.segment&&t.hasOwnProperty("segment")&&(n.segment=f.onnx.TensorProto.Segment.toObject(t.segment,r)),t.floatData&&t.floatData.length)for(n.floatData=[],i=0;i<t.floatData.length;++i)n.floatData[i]=r.json&&!isFinite(t.floatData[i])?String(t.floatData[i]):t.floatData[i];if(t.int32Data&&t.int32Data.length)for(n.int32Data=[],i=0;i<t.int32Data.length;++i)n.int32Data[i]=t.int32Data[i];if(t.stringData&&t.stringData.length)for(n.stringData=[],i=0;i<t.stringData.length;++i)n.stringData[i]=r.bytes===String?c.base64.encode(t.stringData[i],0,t.stringData[i].length):r.bytes===Array?Array.prototype.slice.call(t.stringData[i]):t.stringData[i];if(t.int64Data&&t.int64Data.length)for(n.int64Data=[],i=0;i<t.int64Data.length;++i)"number"==typeof t.int64Data[i]?n.int64Data[i]=r.longs===String?String(t.int64Data[i]):t.int64Data[i]:n.int64Data[i]=r.longs===String?c.Long.prototype.toString.call(t.int64Data[i]):r.longs===Number?new c.LongBits(t.int64Data[i].low>>>0,t.int64Data[i].high>>>0).toNumber():t.int64Data[i];if(null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.rawData&&t.hasOwnProperty("rawData")&&(n.rawData=r.bytes===String?c.base64.encode(t.rawData,0,t.rawData.length):r.bytes===Array?Array.prototype.slice.call(t.rawData):t.rawData),t.doubleData&&t.doubleData.length)for(n.doubleData=[],i=0;i<t.doubleData.length;++i)n.doubleData[i]=r.json&&!isFinite(t.doubleData[i])?String(t.doubleData[i]):t.doubleData[i];if(t.uint64Data&&t.uint64Data.length)for(n.uint64Data=[],i=0;i<t.uint64Data.length;++i)"number"==typeof t.uint64Data[i]?n.uint64Data[i]=r.longs===String?String(t.uint64Data[i]):t.uint64Data[i]:n.uint64Data[i]=r.longs===String?c.Long.prototype.toString.call(t.uint64Data[i]):r.longs===Number?new c.LongBits(t.uint64Data[i].low>>>0,t.uint64Data[i].high>>>0).toNumber(!0):t.uint64Data[i];if(null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),t.externalData&&t.externalData.length)for(n.externalData=[],i=0;i<t.externalData.length;++i)n.externalData[i]=f.onnx.StringStringEntryProto.toObject(t.externalData[i],r);return null!=t.dataLocation&&t.hasOwnProperty("dataLocation")&&(n.dataLocation=r.enums===String?void 0===f.onnx.TensorProto.DataLocation[t.dataLocation]?t.dataLocation:f.onnx.TensorProto.DataLocation[t.dataLocation]:t.dataLocation),n},o.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},o.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TensorProto"},(r=Object.create(t={}))[t[0]="UNDEFINED"]=0,r[t[1]="FLOAT"]=1,r[t[2]="UINT8"]=2,r[t[3]="INT8"]=3,r[t[4]="UINT16"]=4,r[t[5]="INT16"]=5,r[t[6]="INT32"]=6,r[t[7]="INT64"]=7,r[t[8]="STRING"]=8,r[t[9]="BOOL"]=9,r[t[10]="FLOAT16"]=10,r[t[11]="DOUBLE"]=11,r[t[12]="UINT32"]=12,r[t[13]="UINT64"]=13,r[t[14]="COMPLEX64"]=14,r[t[15]="COMPLEX128"]=15,r[t[16]="BFLOAT16"]=16,r[t[17]="FLOAT8E4M3FN"]=17,r[t[18]="FLOAT8E4M3FNUZ"]=18,r[t[19]="FLOAT8E5M2"]=19,r[t[20]="FLOAT8E5M2FNUZ"]=20,o.DataType=r,o.Segment=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.begin=c.Long?c.Long.fromBits(0,0,!1):0,t.prototype.end=c.Long?c.Long.fromBits(0,0,!1):0,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.begin&&Object.hasOwnProperty.call(t,"begin")&&r.uint32(8).int64(t.begin),null!=t.end&&Object.hasOwnProperty.call(t,"end")&&r.uint32(16).int64(t.end),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TensorProto.Segment;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.begin=t.int64();break;case 2:i.end=t.int64();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null==t.begin||!t.hasOwnProperty("begin")||c.isInteger(t.begin)||t.begin&&c.isInteger(t.begin.low)&&c.isInteger(t.begin.high)?null==t.end||!t.hasOwnProperty("end")||c.isInteger(t.end)||t.end&&c.isInteger(t.end.low)&&c.isInteger(t.end.high)?null:"end: integer|Long expected":"begin: integer|Long expected"},t.fromObject=function(t){if(t instanceof f.onnx.TensorProto.Segment)return t;var r=new f.onnx.TensorProto.Segment;return null!=t.begin&&(c.Long?(r.begin=c.Long.fromValue(t.begin)).unsigned=!1:"string"==typeof t.begin?r.begin=parseInt(t.begin,10):"number"==typeof t.begin?r.begin=t.begin:"object"==typeof t.begin&&(r.begin=new c.LongBits(t.begin.low>>>0,t.begin.high>>>0).toNumber())),null!=t.end&&(c.Long?(r.end=c.Long.fromValue(t.end)).unsigned=!1:"string"==typeof t.end?r.end=parseInt(t.end,10):"number"==typeof t.end?r.end=t.end:"object"==typeof t.end&&(r.end=new c.LongBits(t.end.low>>>0,t.end.high>>>0).toNumber())),r},t.toObject=function(t,r){r||(r={});var n={};if(r.defaults){if(c.Long){var i=new c.Long(0,0,!1);n.begin=r.longs===String?i.toString():r.longs===Number?i.toNumber():i}else n.begin=r.longs===String?"0":0;c.Long?(i=new c.Long(0,0,!1),n.end=r.longs===String?i.toString():r.longs===Number?i.toNumber():i):n.end=r.longs===String?"0":0}return null!=t.begin&&t.hasOwnProperty("begin")&&("number"==typeof t.begin?n.begin=r.longs===String?String(t.begin):t.begin:n.begin=r.longs===String?c.Long.prototype.toString.call(t.begin):r.longs===Number?new c.LongBits(t.begin.low>>>0,t.begin.high>>>0).toNumber():t.begin),null!=t.end&&t.hasOwnProperty("end")&&("number"==typeof t.end?n.end=r.longs===String?String(t.end):t.end:n.end=r.longs===String?c.Long.prototype.toString.call(t.end):r.longs===Number?new c.LongBits(t.end.low>>>0,t.end.high>>>0).toNumber():t.end),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TensorProto.Segment"},t}(),(i=Object.create(n={}))[n[0]="DEFAULT"]=0,i[n[1]="EXTERNAL"]=1,o.DataLocation=i,o}(),s.SparseTensorProto=function(){function t(t){if(this.dims=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.values=null,t.prototype.indices=null,t.prototype.dims=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.values&&Object.hasOwnProperty.call(t,"values")&&f.onnx.TensorProto.encode(t.values,r.uint32(10).fork()).ldelim(),null!=t.indices&&Object.hasOwnProperty.call(t,"indices")&&f.onnx.TensorProto.encode(t.indices,r.uint32(18).fork()).ldelim(),null!=t.dims&&t.dims.length){r.uint32(26).fork();for(var n=0;n<t.dims.length;++n)r.int64(t.dims[n]);r.ldelim()}return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.SparseTensorProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.values=f.onnx.TensorProto.decode(t,t.uint32());break;case 2:i.indices=f.onnx.TensorProto.decode(t,t.uint32());break;case 3:if(i.dims&&i.dims.length||(i.dims=[]),2==(7&o))for(var a=t.uint32()+t.pos;t.pos<a;)i.dims.push(t.int64());else i.dims.push(t.int64());break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.values&&t.hasOwnProperty("values")&&(r=f.onnx.TensorProto.verify(t.values)))return"values."+r;if(null!=t.indices&&t.hasOwnProperty("indices")&&(r=f.onnx.TensorProto.verify(t.indices)))return"indices."+r;if(null!=t.dims&&t.hasOwnProperty("dims")){if(!Array.isArray(t.dims))return"dims: array expected";for(var r,n=0;n<t.dims.length;++n)if(!(c.isInteger(t.dims[n])||t.dims[n]&&c.isInteger(t.dims[n].low)&&c.isInteger(t.dims[n].high)))return"dims: integer|Long[] expected"}return null},t.fromObject=function(t){if(t instanceof f.onnx.SparseTensorProto)return t;var r=new f.onnx.SparseTensorProto;if(null!=t.values){if("object"!=typeof t.values)throw TypeError(".onnx.SparseTensorProto.values: object expected");r.values=f.onnx.TensorProto.fromObject(t.values)}if(null!=t.indices){if("object"!=typeof t.indices)throw TypeError(".onnx.SparseTensorProto.indices: object expected");r.indices=f.onnx.TensorProto.fromObject(t.indices)}if(t.dims){if(!Array.isArray(t.dims))throw TypeError(".onnx.SparseTensorProto.dims: array expected");r.dims=[];for(var n=0;n<t.dims.length;++n)c.Long?(r.dims[n]=c.Long.fromValue(t.dims[n])).unsigned=!1:"string"==typeof t.dims[n]?r.dims[n]=parseInt(t.dims[n],10):"number"==typeof t.dims[n]?r.dims[n]=t.dims[n]:"object"==typeof t.dims[n]&&(r.dims[n]=new c.LongBits(t.dims[n].low>>>0,t.dims[n].high>>>0).toNumber())}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.dims=[]),r.defaults&&(n.values=null,n.indices=null),null!=t.values&&t.hasOwnProperty("values")&&(n.values=f.onnx.TensorProto.toObject(t.values,r)),null!=t.indices&&t.hasOwnProperty("indices")&&(n.indices=f.onnx.TensorProto.toObject(t.indices,r)),t.dims&&t.dims.length){n.dims=[];for(var i=0;i<t.dims.length;++i)"number"==typeof t.dims[i]?n.dims[i]=r.longs===String?String(t.dims[i]):t.dims[i]:n.dims[i]=r.longs===String?c.Long.prototype.toString.call(t.dims[i]):r.longs===Number?new c.LongBits(t.dims[i].low>>>0,t.dims[i].high>>>0).toNumber():t.dims[i]}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.SparseTensorProto"},t}(),s.TensorShapeProto=function(){function t(t){if(this.dim=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.dim=c.emptyArray,t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.dim&&t.dim.length)for(var n=0;n<t.dim.length;++n)f.onnx.TensorShapeProto.Dimension.encode(t.dim[n],r.uint32(10).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TensorShapeProto;t.pos<n;){var o=t.uint32();o>>>3==1?(i.dim&&i.dim.length||(i.dim=[]),i.dim.push(f.onnx.TensorShapeProto.Dimension.decode(t,t.uint32()))):t.skipType(7&o)}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.dim&&t.hasOwnProperty("dim")){if(!Array.isArray(t.dim))return"dim: array expected";for(var r=0;r<t.dim.length;++r){var n=f.onnx.TensorShapeProto.Dimension.verify(t.dim[r]);if(n)return"dim."+n}}return null},t.fromObject=function(t){if(t instanceof f.onnx.TensorShapeProto)return t;var r=new f.onnx.TensorShapeProto;if(t.dim){if(!Array.isArray(t.dim))throw TypeError(".onnx.TensorShapeProto.dim: array expected");r.dim=[];for(var n=0;n<t.dim.length;++n){if("object"!=typeof t.dim[n])throw TypeError(".onnx.TensorShapeProto.dim: object expected");r.dim[n]=f.onnx.TensorShapeProto.Dimension.fromObject(t.dim[n])}}return r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.dim=[]),t.dim&&t.dim.length){n.dim=[];for(var i=0;i<t.dim.length;++i)n.dim[i]=f.onnx.TensorShapeProto.Dimension.toObject(t.dim[i],r)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TensorShapeProto"},t.Dimension=function(){var t;function r(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return r.prototype.dimValue=null,r.prototype.dimParam=null,r.prototype.denotation="",Object.defineProperty(r.prototype,"value",{get:c.oneOfGetter(t=["dimValue","dimParam"]),set:c.oneOfSetter(t)}),r.create=function(t){return new r(t)},r.encode=function(t,r){return r||(r=h.create()),null!=t.dimValue&&Object.hasOwnProperty.call(t,"dimValue")&&r.uint32(8).int64(t.dimValue),null!=t.dimParam&&Object.hasOwnProperty.call(t,"dimParam")&&r.uint32(18).string(t.dimParam),null!=t.denotation&&Object.hasOwnProperty.call(t,"denotation")&&r.uint32(26).string(t.denotation),r},r.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},r.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TensorShapeProto.Dimension;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.dimValue=t.int64();break;case 2:i.dimParam=t.string();break;case 3:i.denotation=t.string();break;default:t.skipType(7&o)}}return i},r.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},r.verify=function(t){if("object"!=typeof t||null===t)return"object expected";var r={};if(null!=t.dimValue&&t.hasOwnProperty("dimValue")&&(r.value=1,!(c.isInteger(t.dimValue)||t.dimValue&&c.isInteger(t.dimValue.low)&&c.isInteger(t.dimValue.high))))return"dimValue: integer|Long expected";if(null!=t.dimParam&&t.hasOwnProperty("dimParam")){if(1===r.value)return"value: multiple values";if(r.value=1,!c.isString(t.dimParam))return"dimParam: string expected"}return null!=t.denotation&&t.hasOwnProperty("denotation")&&!c.isString(t.denotation)?"denotation: string expected":null},r.fromObject=function(t){if(t instanceof f.onnx.TensorShapeProto.Dimension)return t;var r=new f.onnx.TensorShapeProto.Dimension;return null!=t.dimValue&&(c.Long?(r.dimValue=c.Long.fromValue(t.dimValue)).unsigned=!1:"string"==typeof t.dimValue?r.dimValue=parseInt(t.dimValue,10):"number"==typeof t.dimValue?r.dimValue=t.dimValue:"object"==typeof t.dimValue&&(r.dimValue=new c.LongBits(t.dimValue.low>>>0,t.dimValue.high>>>0).toNumber())),null!=t.dimParam&&(r.dimParam=String(t.dimParam)),null!=t.denotation&&(r.denotation=String(t.denotation)),r},r.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.denotation=""),null!=t.dimValue&&t.hasOwnProperty("dimValue")&&("number"==typeof t.dimValue?n.dimValue=r.longs===String?String(t.dimValue):t.dimValue:n.dimValue=r.longs===String?c.Long.prototype.toString.call(t.dimValue):r.longs===Number?new c.LongBits(t.dimValue.low>>>0,t.dimValue.high>>>0).toNumber():t.dimValue,r.oneofs&&(n.value="dimValue")),null!=t.dimParam&&t.hasOwnProperty("dimParam")&&(n.dimParam=t.dimParam,r.oneofs&&(n.value="dimParam")),null!=t.denotation&&t.hasOwnProperty("denotation")&&(n.denotation=t.denotation),n},r.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},r.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TensorShapeProto.Dimension"},r}(),t}(),s.TypeProto=function(){var t;function r(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return r.prototype.tensorType=null,r.prototype.sequenceType=null,r.prototype.mapType=null,r.prototype.optionalType=null,r.prototype.sparseTensorType=null,r.prototype.denotation="",Object.defineProperty(r.prototype,"value",{get:c.oneOfGetter(t=["tensorType","sequenceType","mapType","optionalType","sparseTensorType"]),set:c.oneOfSetter(t)}),r.create=function(t){return new r(t)},r.encode=function(t,r){return r||(r=h.create()),null!=t.tensorType&&Object.hasOwnProperty.call(t,"tensorType")&&f.onnx.TypeProto.Tensor.encode(t.tensorType,r.uint32(10).fork()).ldelim(),null!=t.sequenceType&&Object.hasOwnProperty.call(t,"sequenceType")&&f.onnx.TypeProto.Sequence.encode(t.sequenceType,r.uint32(34).fork()).ldelim(),null!=t.mapType&&Object.hasOwnProperty.call(t,"mapT
1402ype")&&f.onnx.TypeProto.Map.encode(t.mapType,r.uint32(42).fork()).ldelim(),null!=t.denotation&&Object.hasOwnProperty.call(t,"denotation")&&r.uint32(50).string(t.denotation),null!=t.sparseTensorType&&Object.hasOwnProperty.call(t,"sparseTensorType")&&f.onnx.TypeProto.SparseTensor.encode(t.sparseTensorType,r.uint32(66).fork()).ldelim(),null!=t.optionalType&&Object.hasOwnProperty.call(t,"optionalType")&&f.onnx.TypeProto.Optional.encode(t.optionalType,r.uint32(74).fork()).ldelim(),r},r.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},r.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.tensorType=f.onnx.TypeProto.Tensor.decode(t,t.uint32());break;case 4:i.sequenceType=f.onnx.TypeProto.Sequence.decode(t,t.uint32());break;case 5:i.mapType=f.onnx.TypeProto.Map.decode(t,t.uint32());break;case 9:i.optionalType=f.onnx.TypeProto.Optional.decode(t,t.uint32());break;case 8:i.sparseTensorType=f.onnx.TypeProto.SparseTensor.decode(t,t.uint32());break;case 6:i.denotation=t.string();break;default:t.skipType(7&o)}}return i},r.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},r.verify=function(t){if("object"!=typeof t||null===t)return"object expected";var r,n={};if(null!=t.tensorType&&t.hasOwnProperty("tensorType")&&(n.value=1,r=f.onnx.TypeProto.Tensor.verify(t.tensorType)))return"tensorType."+r;if(null!=t.sequenceType&&t.hasOwnProperty("sequenceType")){if(1===n.value)return"value: multiple values";if(n.value=1,r=f.onnx.TypeProto.Sequence.verify(t.sequenceType))return"sequenceType."+r}if(null!=t.mapType&&t.hasOwnProperty("mapType")){if(1===n.value)return"value: multiple values";if(n.value=1,r=f.onnx.TypeProto.Map.verify(t.mapType))return"mapType."+r}if(null!=t.optionalType&&t.hasOwnProperty("optionalType")){if(1===n.value)return"value: multiple values";if(n.value=1,r=f.onnx.TypeProto.Optional.verify(t.optionalType))return"optionalType."+r}if(null!=t.sparseTensorType&&t.hasOwnProperty("sparseTensorType")){if(1===n.value)return"value: multiple values";if(n.value=1,r=f.onnx.TypeProto.SparseTensor.verify(t.sparseTensorType))return"sparseTensorType."+r}return null!=t.denotation&&t.hasOwnProperty("denotation")&&!c.isString(t.denotation)?"denotation: string expected":null},r.fromObject=function(t){if(t instanceof f.onnx.TypeProto)return t;var r=new f.onnx.TypeProto;if(null!=t.tensorType){if("object"!=typeof t.tensorType)throw TypeError(".onnx.TypeProto.tensorType: object expected");r.tensorType=f.onnx.TypeProto.Tensor.fromObject(t.tensorType)}if(null!=t.sequenceType){if("object"!=typeof t.sequenceType)throw TypeError(".onnx.TypeProto.sequenceType: object expected");r.sequenceType=f.onnx.TypeProto.Sequence.fromObject(t.sequenceType)}if(null!=t.mapType){if("object"!=typeof t.mapType)throw TypeError(".onnx.TypeProto.mapType: object expected");r.mapType=f.onnx.TypeProto.Map.fromObject(t.mapType)}if(null!=t.optionalType){if("object"!=typeof t.optionalType)throw TypeError(".onnx.TypeProto.optionalType: object expected");r.optionalType=f.onnx.TypeProto.Optional.fromObject(t.optionalType)}if(null!=t.sparseTensorType){if("object"!=typeof t.sparseTensorType)throw TypeError(".onnx.TypeProto.sparseTensorType: object expected");r.sparseTensorType=f.onnx.TypeProto.SparseTensor.fromObject(t.sparseTensorType)}return null!=t.denotation&&(r.denotation=String(t.denotation)),r},r.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.denotation=""),null!=t.tensorType&&t.hasOwnProperty("tensorType")&&(n.tensorType=f.onnx.TypeProto.Tensor.toObject(t.tensorType,r),r.oneofs&&(n.value="tensorType")),null!=t.sequenceType&&t.hasOwnProperty("sequenceType")&&(n.sequenceType=f.onnx.TypeProto.Sequence.toObject(t.sequenceType,r),r.oneofs&&(n.value="sequenceType")),null!=t.mapType&&t.hasOwnProperty("mapType")&&(n.mapType=f.onnx.TypeProto.Map.toObject(t.mapType,r),r.oneofs&&(n.value="mapType")),null!=t.denotation&&t.hasOwnProperty("denotation")&&(n.denotation=t.denotation),null!=t.sparseTensorType&&t.hasOwnProperty("sparseTensorType")&&(n.sparseTensorType=f.onnx.TypeProto.SparseTensor.toObject(t.sparseTensorType,r),r.oneofs&&(n.value="sparseTensorType")),null!=t.optionalType&&t.hasOwnProperty("optionalType")&&(n.optionalType=f.onnx.TypeProto.Optional.toObject(t.optionalType,r),r.oneofs&&(n.value="optionalType")),n},r.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},r.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto"},r.Tensor=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.elemType=0,t.prototype.shape=null,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.elemType&&Object.hasOwnProperty.call(t,"elemType")&&r.uint32(8).int32(t.elemType),null!=t.shape&&Object.hasOwnProperty.call(t,"shape")&&f.onnx.TensorShapeProto.encode(t.shape,r.uint32(18).fork()).ldelim(),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto.Tensor;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.elemType=t.int32();break;case 2:i.shape=f.onnx.TensorShapeProto.decode(t,t.uint32());break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.elemType&&t.hasOwnProperty("elemType")&&!c.isInteger(t.elemType))return"elemType: integer expected";if(null!=t.shape&&t.hasOwnProperty("shape")){var r=f.onnx.TensorShapeProto.verify(t.shape);if(r)return"shape."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TypeProto.Tensor)return t;var r=new f.onnx.TypeProto.Tensor;if(null!=t.elemType&&(r.elemType=0|t.elemType),null!=t.shape){if("object"!=typeof t.shape)throw TypeError(".onnx.TypeProto.Tensor.shape: object expected");r.shape=f.onnx.TensorShapeProto.fromObject(t.shape)}return r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.elemType=0,n.shape=null),null!=t.elemType&&t.hasOwnProperty("elemType")&&(n.elemType=t.elemType),null!=t.shape&&t.hasOwnProperty("shape")&&(n.shape=f.onnx.TensorShapeProto.toObject(t.shape,r)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto.Tensor"},t}(),r.Sequence=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.elemType=null,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.elemType&&Object.hasOwnProperty.call(t,"elemType")&&f.onnx.TypeProto.encode(t.elemType,r.uint32(10).fork()).ldelim(),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto.Sequence;t.pos<n;){var o=t.uint32();o>>>3==1?i.elemType=f.onnx.TypeProto.decode(t,t.uint32()):t.skipType(7&o)}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.elemType&&t.hasOwnProperty("elemType")){var r=f.onnx.TypeProto.verify(t.elemType);if(r)return"elemType."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TypeProto.Sequence)return t;var r=new f.onnx.TypeProto.Sequence;if(null!=t.elemType){if("object"!=typeof t.elemType)throw TypeError(".onnx.TypeProto.Sequence.elemType: object expected");r.elemType=f.onnx.TypeProto.fromObject(t.elemType)}return r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.elemType=null),null!=t.elemType&&t.hasOwnProperty("elemType")&&(n.elemType=f.onnx.TypeProto.toObject(t.elemType,r)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto.Sequence"},t}(),r.Map=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.keyType=0,t.prototype.valueType=null,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.keyType&&Object.hasOwnProperty.call(t,"keyType")&&r.uint32(8).int32(t.keyType),null!=t.valueType&&Object.hasOwnProperty.call(t,"valueType")&&f.onnx.TypeProto.encode(t.valueType,r.uint32(18).fork()).ldelim(),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto.Map;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.keyType=t.int32();break;case 2:i.valueType=f.onnx.TypeProto.decode(t,t.uint32());break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.keyType&&t.hasOwnProperty("keyType")&&!c.isInteger(t.keyType))return"keyType: integer expected";if(null!=t.valueType&&t.hasOwnProperty("valueType")){var r=f.onnx.TypeProto.verify(t.valueType);if(r)return"valueType."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TypeProto.Map)return t;var r=new f.onnx.TypeProto.Map;if(null!=t.keyType&&(r.keyType=0|t.keyType),null!=t.valueType){if("object"!=typeof t.valueType)throw TypeError(".onnx.TypeProto.Map.valueType: object expected");r.valueType=f.onnx.TypeProto.fromObject(t.valueType)}return r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.keyType=0,n.valueType=null),null!=t.keyType&&t.hasOwnProperty("keyType")&&(n.keyType=t.keyType),null!=t.valueType&&t.hasOwnProperty("valueType")&&(n.valueType=f.onnx.TypeProto.toObject(t.valueType,r)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto.Map"},t}(),r.Optional=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.elemType=null,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.elemType&&Object.hasOwnProperty.call(t,"elemType")&&f.onnx.TypeProto.encode(t.elemType,r.uint32(10).fork()).ldelim(),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto.Optional;t.pos<n;){var o=t.uint32();o>>>3==1?i.elemType=f.onnx.TypeProto.decode(t,t.uint32()):t.skipType(7&o)}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.elemType&&t.hasOwnProperty("elemType")){var r=f.onnx.TypeProto.verify(t.elemType);if(r)return"elemType."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TypeProto.Optional)return t;var r=new f.onnx.TypeProto.Optional;if(null!=t.elemType){if("object"!=typeof t.elemType)throw TypeError(".onnx.TypeProto.Optional.elemType: object expected");r.elemType=f.onnx.TypeProto.fromObject(t.elemType)}return r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.elemType=null),null!=t.elemType&&t.hasOwnProperty("elemType")&&(n.elemType=f.onnx.TypeProto.toObject(t.elemType,r)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto.Optional"},t}(),r.SparseTensor=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.elemType=0,t.prototype.shape=null,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.elemType&&Object.hasOwnProperty.call(t,"elemType")&&r.uint32(8).int32(t.elemType),null!=t.shape&&Object.hasOwnProperty.call(t,"shape")&&f.onnx.TensorShapeProto.encode(t.shape,r.uint32(18).fork()).ldelim(),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.TypeProto.SparseTensor;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.elemType=t.int32();break;case 2:i.shape=f.onnx.TensorShapeProto.decode(t,t.uint32());break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.elemType&&t.hasOwnProperty("elemType")&&!c.isInteger(t.elemType))return"elemType: integer expected";if(null!=t.shape&&t.hasOwnProperty("shape")){var r=f.onnx.TensorShapeProto.verify(t.shape);if(r)return"shape."+r}return null},t.fromObject=function(t){if(t instanceof f.onnx.TypeProto.SparseTensor)return t;var r=new f.onnx.TypeProto.SparseTensor;if(null!=t.elemType&&(r.elemType=0|t.elemType),null!=t.shape){if("object"!=typeof t.shape)throw TypeError(".onnx.TypeProto.SparseTensor.shape: object expected");r.shape=f.onnx.TensorShapeProto.fromObject(t.shape)}return r},t.toObject=function(t,r){r||(r={});var n={};return r.defaults&&(n.elemType=0,n.shape=null),null!=t.elemType&&t.hasOwnProperty("elemType")&&(n.elemType=t.elemType),null!=t.shape&&t.hasOwnProperty("shape")&&(n.shape=f.onnx.TensorShapeProto.toObject(t.shape,r)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.TypeProto.SparseTensor"},t}(),r}(),s.OperatorSetIdProto=function(){function t(t){if(t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.domain="",t.prototype.version=c.Long?c.Long.fromBits(0,0,!1):0,t.create=function(r){return new t(r)},t.encode=function(t,r){return r||(r=h.create()),null!=t.domain&&Object.hasOwnProperty.call(t,"domain")&&r.uint32(10).string(t.domain),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&r.uint32(16).int64(t.version),r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.OperatorSetIdProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.domain=t.string();break;case 2:i.version=t.int64();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.domain&&t.hasOwnProperty("domain")&&!c.isString(t.domain)?"domain: string expected":null==t.ver
vendor: 6,139 bytes, line 1402
1402sion||!t.hasOwnProperty("version")||c.isInteger(t.version)||t.version&&c.isInteger(t.version.low)&&c.isInteger(t.version.high)?null:"version: integer|Long expected"},t.fromObject=function(t){if(t instanceof f.onnx.OperatorSetIdProto)return t;var r=new f.onnx.OperatorSetIdProto;return null!=t.domain&&(r.domain=String(t.domain)),null!=t.version&&(c.Long?(r.version=c.Long.fromValue(t.version)).unsigned=!1:"string"==typeof t.version?r.version=parseInt(t.version,10):"number"==typeof t.version?r.version=t.version:"object"==typeof t.version&&(r.version=new c.LongBits(t.version.low>>>0,t.version.high>>>0).toNumber())),r},t.toObject=function(t,r){r||(r={});var n={};if(r.defaults)if(n.domain="",c.Long){var i=new c.Long(0,0,!1);n.version=r.longs===String?i.toString():r.longs===Number?i.toNumber():i}else n.version=r.longs===String?"0":0;return null!=t.domain&&t.hasOwnProperty("domain")&&(n.domain=t.domain),null!=t.version&&t.hasOwnProperty("version")&&("number"==typeof t.version?n.version=r.longs===String?String(t.version):t.version:n.version=r.longs===String?c.Long.prototype.toString.call(t.version):r.longs===Number?new c.LongBits(t.version.low>>>0,t.version.high>>>0).toNumber():t.version),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.OperatorSetIdProto"},t}(),(i=Object.create(n={}))[n[0]="EXPERIMENTAL"]=0,i[n[1]="STABLE"]=1,s.OperatorStatus=i,s.FunctionProto=function(){function t(t){if(this.input=[],this.output=[],this.attribute=[],this.attributeProto=[],this.node=[],this.opsetImport=[],t)for(var r=Object.keys(t),n=0;n<r.length;++n)null!=t[r[n]]&&(this[r[n]]=t[r[n]])}return t.prototype.name="",t.prototype.input=c.emptyArray,t.prototype.output=c.emptyArray,t.prototype.attribute=c.emptyArray,t.prototype.attributeProto=c.emptyArray,t.prototype.node=c.emptyArray,t.prototype.docString="",t.prototype.opsetImport=c.emptyArray,t.prototype.domain="",t.create=function(r){return new t(r)},t.encode=function(t,r){if(r||(r=h.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&r.uint32(10).string(t.name),null!=t.input&&t.input.length)for(var n=0;n<t.input.length;++n)r.uint32(34).string(t.input[n]);if(null!=t.output&&t.output.length)for(n=0;n<t.output.length;++n)r.uint32(42).string(t.output[n]);if(null!=t.attribute&&t.attribute.length)for(n=0;n<t.attribute.length;++n)r.uint32(50).string(t.attribute[n]);if(null!=t.node&&t.node.length)for(n=0;n<t.node.length;++n)f.onnx.NodeProto.encode(t.node[n],r.uint32(58).fork()).ldelim();if(null!=t.docString&&Object.hasOwnProperty.call(t,"docString")&&r.uint32(66).string(t.docString),null!=t.opsetImport&&t.opsetImport.length)for(n=0;n<t.opsetImport.length;++n)f.onnx.OperatorSetIdProto.encode(t.opsetImport[n],r.uint32(74).fork()).ldelim();if(null!=t.domain&&Object.hasOwnProperty.call(t,"domain")&&r.uint32(82).string(t.domain),null!=t.attributeProto&&t.attributeProto.length)for(n=0;n<t.attributeProto.length;++n)f.onnx.AttributeProto.encode(t.attributeProto[n],r.uint32(90).fork()).ldelim();return r},t.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},t.decode=function(t,r){t instanceof l||(t=l.create(t));for(var n=void 0===r?t.len:t.pos+r,i=new f.onnx.FunctionProto;t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:i.name=t.string();break;case 4:i.input&&i.input.length||(i.input=[]),i.input.push(t.string());break;case 5:i.output&&i.output.length||(i.output=[]),i.output.push(t.string());break;case 6:i.attribute&&i.attribute.length||(i.attribute=[]),i.attribute.push(t.string());break;case 11:i.attributeProto&&i.attributeProto.length||(i.attributeProto=[]),i.attributeProto.push(f.onnx.AttributeProto.decode(t,t.uint32()));break;case 7:i.node&&i.node.length||(i.node=[]),i.node.push(f.onnx.NodeProto.decode(t,t.uint32()));break;case 8:i.docString=t.string();break;case 9:i.opsetImport&&i.opsetImport.length||(i.opsetImport=[]),i.opsetImport.push(f.onnx.OperatorSetIdProto.decode(t,t.uint32()));break;case 10:i.domain=t.string();break;default:t.skipType(7&o)}}return i},t.decodeDelimited=function(t){return t instanceof l||(t=new l(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.name&&t.hasOwnProperty("name")&&!c.isString(t.name))return"name: string expected";if(null!=t.input&&t.hasOwnProperty("input")){if(!Array.isArray(t.input))return"input: array expected";for(var r,n=0;n<t.input.length;++n)if(!c.isString(t.input[n]))return"input: string[] expected"}if(null!=t.output&&t.hasOwnProperty("output")){if(!Array.isArray(t.output))return"output: array expected";for(n=0;n<t.output.length;++n)if(!c.isString(t.output[n]))return"output: string[] expected"}if(null!=t.attribute&&t.hasOwnProperty("attribute")){if(!Array.isArray(t.attribute))return"attribute: array expected";for(n=0;n<t.attribute.length;++n)if(!c.isString(t.attribute[n]))return"attribute: string[] expected"}if(null!=t.attributeProto&&t.hasOwnProperty("attributeProto")){if(!Array.isArray(t.attributeProto))return"attributeProto: array expected";for(n=0;n<t.attributeProto.length;++n)if(r=f.onnx.AttributeProto.verify(t.attributeProto[n]))return"attributeProto."+r}if(null!=t.node&&t.hasOwnProperty("node")){if(!Array.isArray(t.node))return"node: array expected";for(n=0;n<t.node.length;++n)if(r=f.onnx.NodeProto.verify(t.node[n]))return"node."+r}if(null!=t.docString&&t.hasOwnProperty("docString")&&!c.isString(t.docString))return"docString: string expected";if(null!=t.opsetImport&&t.hasOwnProperty("opsetImport")){if(!Array.isArray(t.opsetImport))return"opsetImport: array expected";for(n=0;n<t.opsetImport.length;++n)if(r=f.onnx.OperatorSetIdProto.verify(t.opsetImport[n]))return"opsetImport."+r}return null!=t.domain&&t.hasOwnProperty("domain")&&!c.isString(t.domain)?"domain: string expected":null},t.fromObject=function(t){if(t instanceof f.onnx.FunctionProto)return t;var r=new f.onnx.FunctionProto;if(null!=t.name&&(r.name=String(t.name)),t.input){if(!Array.isArray(t.input))throw TypeError(".onnx.FunctionProto.input: array expected");r.input=[];for(var n=0;n<t.input.length;
1402++n)r.input[n]=String(t.input[n])}if(t.output){if(!Array.isArray(t.output))throw TypeError(".onnx.FunctionProto.output: array expected");for(r.output=[],n=0;n<t.output.length;++n)r.output[n]=String(t.output[n])}if(t.attribute){if(!Array.isArray(t.attribute))throw TypeError(".onnx.FunctionProto.attribute: array expected");for(r.attribute=[],n=0;n<t.attribute.length;++n)r.attribute[n]=String(t.attribute[n])}if(t.attributeProto){if(!Array.isArray(t.attributeProto))throw TypeError(".onnx.FunctionProto.attributeProto: array expected");for(r.attributeProto=[],n=0;n<t.attributeProto.length;++n){if("object"!=typeof t.attributeProto[n])throw TypeError(".onnx.FunctionProto.attributeProto: object expected");r.attributeProto[n]=f.onnx.AttributeProto.fromObject(t.attributeProto[n])}}if(t.node){if(!Array.isArray(t.node))throw TypeError(".onnx.FunctionProto.node: array expected");for(r.node=[],n=0;n<t.node.length;++n){if("object"!=typeof t.node[n])throw TypeError(".onnx.FunctionProto.node: object expected");r.node[n]=f.onnx.NodeProto.fromObject(t.node[n])}}if(null!=t.docString&&(r.docString=String(t.docString)),t.opsetImport){if(!Array.isArray(t.opsetImport))throw TypeError(".onnx.FunctionProto.opsetImport: array expected");for(r.opsetImport=[],n=0;n<t.opsetImport.length;++n){if("object"!=typeof t.opsetImport[n])throw TypeError(".onnx.FunctionProto.opsetImport: object expected");r.opsetImport[n]=f.onnx.OperatorSetIdProto.fromObject(t.opsetImport[n])}}return null!=t.domain&&(r.domain=String(t.domain)),r},t.toObject=function(t,r){r||(r={});var n={};if((r.arrays||r.defaults)&&(n.input=[],n.output=[],n.attribute=[],n.node=[],n.opsetImport=[],n.attributeProto=[]),r.defaults&&(n.name="",n.docString="",n.domain=""),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),t.input&&t.input.length){n.input=[];for(var i=0;i<t.input.length;++i)n.input[i]=t.input[i]}if(t.output&&t.output.length)for(n.output=[],i=0;i<t.output.length;++i)n.output[i]=t.output[i];if(t.attribute&&t.attribute.length)for(n.attribute=[],i=0;i<t.attribute.length;++i)n.attribute[i]=t.attribute[i];if(t.node&&t.node.length)for(n.node=[],i=0;i<t.node.length;++i)n.node[i]=f.onnx.NodeProto.toObject(t.node[i],r);if(null!=t.docString&&t.hasOwnProperty("docString")&&(n.docString=t.docString),t.opsetImport&&t.opsetImport.length)for(n.opsetImport=[],i=0;i<t.opsetImport.length;++i)n.opsetImport[i]=f.onnx.OperatorSetIdProto.toObject(t.opsetImport[i],r);if(null!=t.domain&&t.hasOwnProperty("domain")&&(n.domain=t.domain),t.attributeProto&&t.attributeProto.length)for(n.attributeProto=[],i=0;i<t.attributeProto.length;++i)n.attributeProto[i]=f.onnx.AttributeProto.toObject(t.attributeProto[i],r);return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/onnx.FunctionProto"},t}(),f.onnx=s,r.exports=f});function ty(t,r){if(!t)throw Error("string"==typeof r?r:r())}function tm(t){return new TextDecoder().decode(t)}var tg,tv,tb,tw,tx,t_,tT,tS,tE,tO,tA,tI,tP=G(()=>{e5(),e6(),tg=q(tp()),tN(),tv=class{static arraysEqual(t,r){if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n])return!1;return!0}},tb=class{static preprocessInputShapes(t,r){return[1===t.length?[1,t[0]]:t,1===r.length?[r[0],1]:r]}static postprocessOutputShape(t,r,n){1===r&&t.splice(t.length-2,1),1===n&&t.pop()}static calcMatMulShape(t,r){return t[1]!==r[0]?void 0:[t[0],r[1]]}},tw=class t{static calcShape(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=t.length,o=r.length;if(0===i)return r;if(0===o)return t;let a=Math.max(t.length,r.length),s=Array(a);if(n){if(i<2||o<2)return;let n=tb.calcMatMulShape([t[i-2],t[i-1]],[r[o-2],r[o-1]]);if(void 0===n)return;[s[a-2],s[a-1]]=n}for(let u=n?3:1;u<=a;u++){let n=i-u<0?1:t[i-u],l=o-u<0?1:r[o-u];if(n!==l&&n>1&&l>1)return;s[a-u]=Math.max(n,l)}return s}static index(r,n){let i=Array(n.length);return t.fillIndex(r,n,i),i}static fillIndex(t,r,n){let i=t.length-r.length;for(let o=0;o<r.length;o++)n[o]=t[i+o]%r[o]}static calc(r,n,i,o,a){let s=t.calcShape(r.dims,n.dims);if(s){if(o&&!tS.areEqual(s,r.dims))return;let u=tS.size(s),l=o?r:new tB(s,a||r.type);
1402if(0===s.length)l.set([],i(r.get([]),n.get([])));else{let o,a=Array(s.length),h=Array(r.dims.length),c=Array(n.dims.length),f=0,d=0,p=!1,y=!1;0===r.dims.length&&(f=r.get([]),p=!0),0===n.dims.length&&(d=n.get([]),y=!0);for(let m=0;m<u;m++){o=m;for(let t=s.length-1;t>=0;t--)a[t]=o%s[t],o=Math.floor(o/s[t]);p||(t.fillIndex(a,r.dims,h),f=r.get(h)),y||(t.fillIndex(a,n.dims,c),d=n.get(c)),l.set(a,i(f,d))}}return l}}static isValidBroadcast(t,r){let n=t.length,i=r.length;if(n>i)return!1;for(let o=1;o<=n;o++)if(1!==t[n-o]&&t[n-o]!==r[i-o])return!1;return!0}static getBroadcastDims(t,r){let n=t.length,i=[];for(let o=0;o<n;o++){let a=n-1-o,s=t[a]||1;(r[r.length-1-o]||1)>1&&1===s&&i.unshift(a)}return i}},tx=class{static getShapeOfGemmResult(t,r,n,i,o){let a,s,u;if(2!==t.length||2!==n.length)throw Error("shape need to be of size 2");r?(a=t[1],s=t[0]):(a=t[0],s=t[1]);let l=-1;if(i?(u=n[0],l=1):(u=n[1],l=0),n[l]!==s)throw Error("dimension mismatch");if(a<=0||u<=0||s<=0)throw Error("invalid shape specified");if(o&&!tw.isValidBroadcast(o,[a,u]))throw Error("gemm: invalid bias shape for broadcast");return[a,u,s]}},t_=class t{static tensorDataTypeFromProto(t){switch(t){case tg.onnx.TensorProto.DataType.INT8:return"int8";case tg.onnx.TensorProto.DataType.UINT8:return"uint8";case tg.onnx.TensorProto.DataType.BOOL:return"bool";case tg.onnx.TensorProto.DataType.INT16:return"int16";case tg.onnx.TensorProto.DataType.UINT16:return"uint16";case tg.onnx.TensorProto.DataType.INT32:return"int32";case tg.onnx.TensorProto.DataType.UINT32:return"uint32";case tg.onnx.TensorProto.DataType.FLOAT:return"float32";case tg.onnx.TensorProto.DataType.DOUBLE:return"float64";case tg.onnx.TensorProto.DataType.STRING:return"string";case tg.onnx.TensorProto.DataType.INT64:return"int32";case tg.onnx.TensorProto.DataType.UINT64:return"uint32";default:throw Error(`unsupported data type: ${tg.onnx.TensorProto.DataType[t]}`)}}static tensorDataTypeStringToEnum(t){switch(t){case"int8":return tg.onnx.TensorProto.DataType.INT8;case"uint8":return tg.onnx.TensorProto.DataType.UINT8;case"bool":return tg.onnx.TensorProto.DataType.BOOL;case"int16":return tg.onnx.TensorProto.DataType.INT16;case"uint16":return tg.onnx.TensorProto.DataType.UINT16;case"int32":return tg.onnx.TensorProto.DataType.INT32;case"uint32":return tg.onnx.TensorProto.DataType.UINT32;case"float32":return tg.onnx.TensorProto.DataType.FLOAT;case"float64":return tg.onnx.TensorProto.DataType.DOUBLE;case"string":return tg.onnx.TensorProto.DataType.STRING;case"int64":return tg.onnx.TensorProto.DataType.INT64;case"uint64":return tg.onnx.TensorProto.DataType.UINT64;default:throw Error(`unsupported data type: ${t}`)}}static tensorDimsFromProto(t){return t.map(t=>e1.isLong(t)?t.toNumber():t)}static tensorValueTypeFromProto(r){return{tensorType:t.tensorDataTypeFromProto(r.elemType),shape:{dims:t.tensorDimsFromProto(r.shape.dim.map(t=>t.dimValue))}}}static tensorDimsFromORTFormat(t){let r=[];for(let n=0;n<t.dimsLength();n++)r.push(tT.longToNumber(t.dims(n)));return r}static tensorAttributesFromORTFormat(t){let r=[];for(let n=0;n<t.attributesLength();n++)r.push(t.attributes(n));return r}},tT=class{static longToNumber(t,r){return e1.isLong(t)?t.toNumber():t instanceof e0.Long?e1.fromValue({low:t.low,high:t.high,unsigned:r??!1}).toNumber():t}static isLong(t){return e1.isLong(t)||t instanceof e0.Long}},tS=class t{static size(r){return t.getSizeFromDimensionRange(r,0,r.length)}static sizeFromDimension(r,n){if(n<0||n>r.length)throw Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${r.length} dimensions.`);return t.getSizeFromDimensionRange(r,n,r.length)}static sizeToDimension(r,n){if(n<0||n>r.length)throw Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${r.length} dimensions.`);return t.getSizeFromDimensionRange(r,0,n)}static getSizeFromDimensionRange(t,r,n){let i=1;for(let o=r;o<n;o++){if(t[o]<=0)throw Error("cannot get valid size from specified dimension range. Most likely the range contains 0 or negative values in them.");i*=t[o]}return i}static computeStrides(t){let r=t.length;if(0===r)return[];if(1===r)return[1];let n=Array(r);n[r-1]=1,n[r-2]=t[r-1];for(let i=r-3;i>=0;--i)n[i]=n[i+1]*t[i+1];return n}static transpose(t){return t.slice().reverse()}static indicesToOffset(t,r,n){void 0===n&&(n=t.length);let i=0;for(let o=0;o<n;++o)i+=r[o]*t[o];return i}static offsetToIndices(t,r){let n=r.length;if(0===n)return[];if(1===n)return[t*r[0]];let i=Array(r.length);for(let n=0;n<i.length-1;++n)i[n]=Math.floor(t/r[n]),t-=i[n]*r[n];return i[i.length-1]=t,i}static normalizeAxis(t,r){if(t<-r&&t>=r)throw Error("unsupported axis for this operation.");return t<0?t+r:t}static normalizeAxes(t,r){return t.map(t=>this.normalizeAxis(t,r))}static incrementIndex(t,r,n){if(0===r.length||0===t.length)throw Error("Index incrementing unsupported for scalar Tensor");if(void 0===n)n=r.length;else if(n<=0||n>r.length)throw Error("Incorrect axis to increment on");for(let i=n-1;i>=0&&(t[i]++,!(t[i]<r[i]));--i)t[i]=0}static calculateReshapedDims(r,n){if(0===n.length){if(0===r.length||1===t.size(r))return[];throw Error("cannot reshape to a scalar Tensor")}let i=n.length,o=Array(i),a=-1,s=1;for(let t=0;t<i;t++){if(n[t]<-1)throw Error("a dimension in shape hints cannot be less than -1");if(-1===n[t]){if(-1!==a)throw Error("at most one dimension in shape hints can be -1");a=t}else{if(0===n[t]){if(t>=r.length)throw Error("the dimension with value zero exceeds the dimension size of the input tensor");o[t]=r[t]}else o[t]=n[t];s*=o[t]}}let u=t.size(r);if(-1!==a){if(u%s!=0)throw Error(`the input tensor cannot be reshaped to the requested shape. Input shape: [${r}] Output shape: [${n}]`);o[a]=u/s}else if(s!==u)throw Error("reshapedDims and originalDims don't have matching sizes");return o}static sortBasedOnPerm(t,r){return r?r.map(r=>t[r]):t.slice().reverse()}static padShape(t,r){let n=t.length;return t.map((t,i)=>t+r[i]+r[i+n])}static areEqual(t,r){return t.length===r.length&&t.every((t,n)=>t===r[n])}static validateDimsAndCalcSize(t){if(t.length>6)throw TypeError("Only rank 0 to 6 is supported for tensor shape.");let r=1;for(let n of t){if(!Number.isInteger(n))throw TypeError(`Invalid shape: ${n} is not an integer`);if(n<0||n>0x7fffffff)throw TypeError(`Invalid shape: length ${n} is not allowed`);r*=n}return r}
1402static flattenShape(t,r){r<0&&(r+=t.length);let n=t.reduce((t,r)=>t*r,1),i=t.slice(r).reduce((t,r)=>t*r,1);return[n/i,i]}static squeezeShape(r,n){let i=[];n=t.normalizeAxes(n,r.length);for(let t=0;t<r.length;t++){let o=n.indexOf(t)>=0;if(o&&1!==r[t])throw Error("squeeze an axis of size different than 1");(0===n.length&&r[t]>1||n.length>0&&!o)&&i.push(r[t])}return i}static unsqueezeShape(r,n){let i=Array(r.length+n.length);i.fill(0);for(let r=0;r<n.length;r++){let o=t.normalizeAxis(n[r],i.length);if(o>=i.length)throw Error("'axes' has an out of range axis");if(0!==i[o])throw Error("'axes' has a duplicate axis");i[o]=1}let o=0;for(let t=0;t<i.length;t++)0===i[t]&&(i[t]=r[o++]);if(o!==r.length)throw Error("the unsqueezed dimension could not be established");return i}},tE=class t{static splitShape(r,n,i,o){if(0===i.length){if(!o)throw Error("need to know number of outputs when the 'split' attribute is not specified");t.determineSplit(r[n],o,i)}let a=[],s=[0];for(let t=0;t<i.length;++t){0!==t&&s.push(s[t-1]+i[t-1]);let o=r.slice();o[n]=i[t],a.push(o)}return[a,s]}static determineSplit(t,r,n){if(t%r!=0)throw Error("cannot split tensor to equal sized parts");for(let i=0;i<r;++i)n.push(t/r)}},tO=class t{static adjustPoolAttributes(t,r,n,i,o,a){if(!t&&n.length!==r.length-2)throw Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(t)for(let t=0;t<r.length-2;t++)t>=n.length?n.push(r[t+2]):n[t]=r[t+2];for(let t=0;t<n.length;t++)if(t<i.length){if(i[t]<0)throw Error("strides should be greater than or equal to 1")}else i.push(1);for(let t=0;t<n.length;t++)if(t<o.length){if(o[t]<0)throw Error("dilations should be greater than or equal to 1")}else o.push(1);for(let t=0;t<2*n.length;t++)if(t<a.length){if(a[t]<0)throw Error("pad should be greater than or equal to 1")}else a.push(0);for(let t=0;t<n.length;t++){if(n[t]<=0)throw Error("kernel shapes need to be greater than 0");if(a[t]>=n[t]||a[t+n.length]>=n[t])throw Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(r,n,i,o,a,s){if(s){if(a.length!==2*(r.length-2))throw Error("length of pads should be twice the length of data dimensions");if(n.length!==r.length-2)throw Error("length of strides should be the length of data dimensions");if(o.length!==r.length-2)throw Error("length of kernel shapes should be the length of data dimensions");for(let u=0;u<r.length-2;u++)t.adjustPadAndReturnShape(r[u+2],n[u],i[u],o[u],a,u,u+r.length-2,s)}}static computePoolOutputShape(r,n,i,o,a,s,u){if(n.length<=0)throw Error("input shape must be of size greater than 0");let l=[n[0],n[1]];return t.computeShapeHelper(r,n,l,i,o,a,s,u),l}static computeConvOutputShape(r,n,i,o,a,s,u){if(r.length<=0||n.length<=0)throw Error("invalid input tensor dims or invalid filter tensor dims");let l=[r[0],n[0]];return t.computeShapeHelper(!1,r,l,i,o,a,s,u),l}static computeShapeHelper(r,n,i,o,a,s,u,l){if(r)for(let t=0;t<n.length-2;t++)i.push(1);else for(let r=0;r<n.length-2;r++)i.push(t.adjustPadAndReturnShape(n[r+2],o[r],a[r],s[r],u,r,r+n.length-2,l))}static adjustPadAndReturnShape(t,r,n,i,o,a,s,u){let l=n*(i-1)+1;if(!u||"NOTSET"===u)return Math.floor((t+o[a]+o[s]-l)/r+1);switch(u){case"VALID":return o[a]=0,o[s]=0,Math.floor((t-l)/r+1);case"SAME_LOWER":case"SAME_UPPER":if(1!==n)throw Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let n=((t+r-1)/r-1)*r+i-t;return o[a]=Math.floor("SAME_LOWER"===u?(n+1)/2:n/2),o[s]=n-o[a],Math.floor((t+n-i)/r+1)}default:throw Error("Unsupported AutoPad type")}}},tA=-34028234663852886e22,tI=34028234663852886e22});function tk(t){switch(t){case tM.onnx.TensorProto.DataType.UINT8:case tM.onnx.TensorProto.DataType.INT8:case tM.onnx.TensorProto.DataType.BOOL:return 1;case tM.onnx.TensorProto.DataType.UINT16:case tM.onnx.TensorProto.DataType.INT16:return 2;case tM.onnx.TensorProto.DataType.FLOAT:case tM.onnx.TensorProto.DataType.INT32:case tM.onnx.TensorProto.DataType.UINT32:return 4;case tM.onnx.TensorProto.DataType.INT64:case tM.onnx.TensorProto.DataType.DOUBLE:case tM.onnx.TensorProto.DataType.UINT64:return 8;default:throw Error(`cannot calculate sizeof() on type ${tM.onnx.TensorProto.DataType[t]}`)}}function tC(t){switch(t){case"bool":case"uint8":return Uint8Array;case"int8":return Int8Array;case"int16":return Int16Array;case"uint16":return Uint16Array;case"int32":return Int32Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"float32":return Float32Array;case"float64":return Float64Array;default:throw Error("unspecified error")}}function t$(t,r){if(r===tM.onnx.TensorProto.DataType.INT64||r===tL.TensorDataType.INT64){if(t.greaterThanOrEqual(0x80000000)||t.lessThan(-0x80000000))throw TypeError("int64 is not supported")}else{if(r!==tM.onnx.TensorProto.DataType.UINT32&&r!==tL.TensorDataType.UINT32&&r!==tM.onnx.TensorProto.DataType.UINT64&&r!==tL.TensorDataType.UINT64)throw TypeError(`not a LONG type: ${tM.onnx.TensorProto.DataType[r]}`);if(t.greaterThanOrEqual(0x100000000)||t.lessThan(0))throw TypeError("uint64 is not supported")}return t.toNumber()}function tR(t,r,n){switch(r){case tM.onnx.TensorProto.DataType.BOOL:case tM.onnx.TensorProto.DataType.UINT8:return t.getUint8(n);case tM.onnx.TensorProto.DataType.INT8:return t.getInt8(n);case tM.onnx.TensorProto.DataType.UINT16:return t.getUint16(n,!0);case tM.onnx.TensorProto.DataType.INT16:return t.getInt16(n,!0);case tM.onnx.TensorProto.DataType.FLOAT:return t.getFloat32(n,!0);case tM.onnx.TensorProto.DataType.INT32:return t.getInt32(n,!0);case tM.onnx.TensorProto.DataType.UINT32:return t.getUint32(n,!0);case tM.onnx.TensorProto.DataType.INT64:return t$(e1.fromBits(t.getUint32(n,!0),t.getUint32(n+4,!0),!1),r);case tM.onnx.TensorProto.DataType.DOUBLE:return t.getFloat64(n,!0);case tM.onnx.TensorProto.DataType.UINT64:return t$(e1.fromBits(t.getUint32(n,!0),t.getUint32(n+4,!0),!0),r);default:throw Error(`cannot read from DataView for type ${tM.onnx.TensorProto.DataType[r]}`)}}var tD,tM,tL,tB,tN=G(()=>{tD=q(eI()),e6(),e9(),tM=q(tp()),tP(),tL=e3.experimental.fbs,tB=class t{constructor(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:tD.Guid.create();this.dims=t,this.type=r,this.dataProvider=n,this.asyncDataProvider=i,this.cache=o,this.dataId=a,this.size=tS.val
1402idateDimsAndCalcSize(t);let s=this.size,u=void 0===n&&void 0===i&&void 0===o;if(void 0!==o&&o.length!==s)throw RangeError("Input dims doesn't match data length.");if("string"===r){if(!(void 0===o||Array.isArray(o)&&o.every(t=>"string"==typeof t)))throw TypeError("cache should be a string array");u&&(this.cache=Array(s))}else{if(void 0!==o){let t=tC(r);if(!(o instanceof t))throw TypeError(`cache should be type ${t.name}`)}if(u){let t=new ArrayBuffer(s*function(t){switch(t){case"bool":case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;case"float64":return 8;default:throw Error(`cannot calculate sizeof() on type ${t}`)}}(r));this.cache=function(t,r){return new(tC(r))(t)}(t,r)}}}get data(){if(void 0===this.cache){let t=this.dataProvider(this.dataId);if(t.length!==this.size)throw Error("Length of data provided by the Data Provider is inconsistent with the dims of this Tensor.");this.cache=t}return this.cache}get stringData(){if("string"!==this.type)throw TypeError("data type is not string");return this.data}get integerData(){switch(this.type){case"uint8":case"int8":case"uint16":case"int16":case"int32":case"uint32":case"bool":return this.data;default:throw TypeError("data type is not integer (uint8, int8, uint16, int16, int32, uint32, bool)")}}get floatData(){switch(this.type){case"float32":case"float64":return this.data;default:throw TypeError("data type is not float (float32, float64)")}}get numberData(){if("string"!==this.type)return this.data;throw TypeError("type cannot be non-number (string)")}get(t){return this.data[tS.indicesToOffset(t,this.strides)]}set(t,r){this.data[tS.indicesToOffset(t,this.strides)]=r}async getData(){return void 0===this.cache&&(this.cache=await this.asyncDataProvider(this.dataId)),this.cache}get strides(){return this._strides||(this._strides=tS.computeStrides(this.dims)),this._strides}static fromProto(r){if(!r)throw Error("cannot construct Value from an empty tensor");let n=t_.tensorDataTypeFromProto(r.dataType),i=new t(t_.tensorDimsFromProto(r.dims),n);if("string"===n)r.stringData.forEach((t,r)=>{i.data[r]=tm(t)});else if(r.rawData&&"number"==typeof r.rawData.byteLength&&r.rawData.byteLength>0){let t=i.data,n=new DataView(r.rawData.buffer,r.rawData.byteOffset,r.rawData.byteLength),o=tk(r.dataType),a=r.rawData.byteLength/o;if(r.rawData.byteLength%o!=0)throw Error("invalid buffer length");if(t.length!==a)throw Error("buffer length mismatch");for(let i=0;i<a;i++){let a=tR(n,r.dataType,i*o);t[i]=a}}else{let t;switch(r.dataType){case tM.onnx.TensorProto.DataType.FLOAT:t=r.floatData;break;case tM.onnx.TensorProto.DataType.INT32:case tM.onnx.TensorProto.DataType.INT16:case tM.onnx.TensorProto.DataType.UINT16:case tM.onnx.TensorProto.DataType.INT8:case tM.onnx.TensorProto.DataType.UINT8:case tM.onnx.TensorProto.DataType.BOOL:t=r.int32Data;break;case tM.onnx.TensorProto.DataType.INT64:t=r.int64Data;break;case tM.onnx.TensorProto.DataType.DOUBLE:t=r.doubleData;break;case tM.onnx.TensorProto.DataType.UINT32:case tM.onnx.TensorProto.DataType.UINT64:t=r.uint64Data;break;default:throw Error("unspecific error")}if(null==t)throw Error("failed to populate data from a tensorproto value");let n=i.data;if(n.length!==t.length)throw Error("array length mismatch");for(let i=0;i<t.length;i++){let o=t[i];e1.isLong(o)?n[i]=t$(o,r.dataType):n[i]=o}}return i}static fromData(r,n,i){return new t(n,i,void 0,void 0,r)}static fromOrtTensor(r){if(!r)throw Error("cannot construct Value from an empty tensor");let n=t_.tensorDimsFromORTFormat(r),i=t_.tensorDataTypeFromProto(r.dataType()),o=new t(n,i);if("string"===i)for(let t=0;t<r.stringDataLength();t++)o.data[t]=r.stringData(t);else if(r.rawDataArray()&&"number"==typeof r.rawDataLength()&&r.rawDataLength()>0){let t=o.data,n=new DataView(r.rawDataArray().buffer,r.rawDataArray().byteOffset,r.rawDataLength()),i=tk(r.dataType()),a=r.rawDataLength()/i;if(r.rawDataLength()%i!=0)throw Error("invalid buffer length");if(t.length!==a)throw Error("buffer length mismatch");for(let o=0;o<a;o++){let a=tR(n,r.dataType(),o*i);t[o]=a}}return o}}});function tF(t){return 1===t?tU:tj}var tU,tj,tz=G(()=>{tU={version:"",attribute:"attribute",varyingVertex:"varying",varyingFrag:"varying",texture2D:"texture2D",output:"gl_FragColor",outputDeclaration:""},tj={version:"#version 300 es",attribute:"in",varyingVertex:"out",varyingFrag:"in",texture2D:"texture",output:"outputColor",outputDeclaration:"out vec4 outputColor;"}}),tG=G(()=>{});async function tV(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t=>0,n=arguments.length>2?arguments[2]:void 0;return new Promise((i,o)=>{let a=0,s=()=>
1402{if(t())return void i();let u=r(++a);null!=n&&a>=n?o():setTimeout(s,u)};s()})}function tW(t){return ty("u">typeof t&&0!==t.length,()=>"empty string found for sampler name"),"get"+t.charAt(0).toUpperCase()+t.slice(1)}function tH(t,r){return JSON.parse(JSON.stringify(t)),r}function tq(t,r){return r.map(r=>t[r]).join(", ")}function tY(t){if(t<=1)return"int";if(2===t)return"ivec2";if(3===t)return"ivec3";if(4===t)return"ivec4";if(5===t)return"ivec5";if(6===t)return"ivec6";throw Error(`GPU for rank ${t} is not yet supported`)}function tX(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6;return["x","y","z","w","u","v"].slice(0,t)}var tK=G(()=>{tP()});function tZ(t,r){return 1===r?[t]:tX(r).map(r=>`${t}.${r}`)}function tJ(){return`
1403    float getChannel(vec4 frag, int dim) {
1404      int modCoord = imod(dim, 2);
1405      return modCoord == 0 ? frag.r : frag.g;
1406    }
1407
1408    float getChannel(vec4 frag, vec2 innerDims) {
1409      vec2 modCoord = mod(innerDims, 2.);
1410      return modCoord.x == 0. ?
1411        (modCoord.y == 0. ? frag.r : frag.g) :
1412        (modCoord.y == 0. ? frag.b : frag.a);
1413    }
1414  `}var tQ,t1,t0=G(()=>{tK()}),t3=G(()=>{tz(),tG(),tK(),t0(),tQ={name:"pack",inputNames:["A"],inputTypes:[1]},t1=(t,r)=>({...tQ,get:()=>((t,r)=>{var n,i;let o,a=tF(t.session.backend.glContext.version),s=r.dims,u=s.length,l=r.dims.length,h=tY(l),c=tZ("rc",l),f=(n=s[s.length-2],i=s[s.length-1],0===l||1===l?"":`
1415    int r = ${c[l-2]};
1416    int c = ${c[l-1]};
1417    int rp1 = ${c[l-2]} + 1;
1418    int cp1 = ${c[l-1]} + 1;
1419    bool rEdge = rp1 >= ${i};
1420    bool cEdge = cp1 >= ${n};
1421    `);o=0===u?[1,1]:1===u?[s[0],1]:[s[l-1],s[l-2]];let d=function(t,r,n){if(0===t)return"false";if(1===t)return`rc > ${r[0]}`;let i="";for(let o=t-2;o<t;o++)i+=`${n[o]} >= ${r[o-t+2]}`,o<t-1&&(i+="||");return i}(l,o,c),p=function(t,r){let n=t.length;if(0===n)return"getA(), 0, 0, 0";if(1===n)return`getA(rc),
1422            rc + 1 >= ${t[0]} ? 0. : getA(rc + 1),
1423            0, 0`;let i="";if(n>2)for(let t=0;t<n-2;++t)i+=`${r[t]},`;return`getA(${i}r, c),
1424          rEdge ? 0. : getA(${i}rp1, c),
1425          cEdge ? 0. : getA(${i}r, cp1),
1426          rEdge || cEdge ? 0. : getA(${i}rp1, cp1)`}(s,c),y=`
1427        void main() {
1428          ${h} rc = getOutputCoords();
1429
1430          if(${d}) {
1431            ${a.output} = vec4(0);
1432          } else {
1433            ${f}
1434
1435            ${a.output} = vec4(${p});
1436          }
1437        }
1438      `;return{...tQ,hasMain:!0,output:{dims:r.dims,type:r.type,textureType:2},shaderSource:y}})(t,r)})});function t6(t){if(0===t.length)return[1,1,1];let r=1;for(let n=0;n<t.length-2;++n)r*=t[n];return[r,t.length>1?t[t.length-2]:1,t[t.length-1]]}var t5,t9,t2,t7,t8,t4,re,rt,rr,rn,ri,ro,ra,rs,ru,rl,rh,rc,rf,rd,rp,ry,rm,rg,rv,rb,rw,rx,r_,rT,rS,rE,rO,rA,rI,rP,rk,rC,r$,rR,rD,rM,rL,rB,rN,rF,rU,rj,rz,rG,rV=G(()=>{tP(),tz(),tG(),t0(),t5=(t,r,n)=>{let i,o=(i=n,{name:"Reshape (packed)",inputTypes:[2],inputNames:["A"],cacheHint:`${i}`});return{...o,get:()=>((t,r,n,i)=>{let o,a,s,u,l=r.dims,h="";for(let t=0;t<4;t++){let r="";switch(t){case 0:r="outputCoords = rc;";break;case 1:r="outputCoords = ivec3(rc.x, rc.y+1, rc.z);";break;case 2:r="outputCoords = ivec3(rc.x, rc.y, rc.z+1);";break;case 3:r="outputCoords = ivec3(rc.x, rc.y+1, rc.z+1);";break;default:throw Error()}h+=`
1439        ${r}
1440        ${t>0?"if(outputCoords.y < rows && outputCoords.z < cols){":""}
1441          int flattenedIndex = getFlattenedIndex(outputCoords);
1442
1443          ivec3 inputRC = inputCoordsFromReshapedOutCoords(flattenedIndex);
1444          vec2 innerDims = vec2(float(inputRC.y),float(inputRC.z));
1445
1446          result[${t}] = getChannel(getA(inputRC.x, inputRC.y, inputRC.z), innerDims);
1447
1448        ${t>0?"}":""}
1449      `}let c=tF(t.session.backend.glContext.version),f=`
1450      ${(o=tS.computeStrides(l),a=["b","r","c"],s="index",`
1451    ivec3 inputCoordsFromReshapedOutCoords(int index) {
1452      ${o.map((t,r)=>`int ${a[r]} = ${s} / ${t}; ${r===o.length-1?`int ${a[r+1]} = ${s} - ${a[r]} * ${t}`:`index -= ${a[r]} * ${t}`};`).join("")}
1453      return ivec3(b, r, c);
1454    }
1455  `)}
1456      ${(u=tS.computeStrides(i),`
1457  int getFlattenedIndex(ivec3 coords) {
1458    // reverse y, z order
1459    return coords.x * ${u[0]} + coords.z * ${u[1]} + coords.y;
1460  }
1461`)}
1462      ${tJ()}
1463
1464      void main() {
1465        ivec3 rc = getOutputCoords();
1466
1467        vec4 result = vec4(0.0);
1468
1469        ivec3 outputCoords;
1470        int rows = ${i[2]};
1471        int cols = ${i[1]};
1472
1473        ${h}
1474        ${c.output} = result;
1475      }
1476    `;return{...n,output:{dims:i,type:r.type,textureType:2},shaderSource:f,hasMain:!0}})(t,r,o,n)}}}),rW=G(()=>{tz(),tG(),t9=(t,r)=>{let n=r.shape,i=tF(t.session.backend.glContext.version),o=`
1477    const float FLOAT_MAX = 1.70141184e38;
1478    const float FLOAT_MIN = 1.17549435e-38;
1479
1480    bool isNaN(float val) {
1481      return (val < 1.0 || 0.0 < val || val == 0.0) ? false : true;
1482    }
1483
1484    highp vec4 encodeAsUint8(highp float v) {
1485      if (isNaN(v)) {
1486        return vec4(255, 255, 255, 255);
1487      }
1488
1489      highp float av = abs(v);
1490
1491      if(av < FLOAT_MIN) {
1492        return vec4(0.0, 0.0, 0.0, 0.0);
1493      } else if(v > FLOAT_MAX) {
1494        return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;
1495      } else if(v < -FLOAT_MAX) {
1496        return vec4(0.0, 0.0,  128.0, 255.0) / 255.0;
1497      }
1498
1499      highp vec4 c = vec4(0,0,0,0);
1500
1501      highp float e = floor(log2(av));
1502      highp float m = exp2(fract(log2(av))) - 1.0;
1503
1504      c[2] = floor(128.0 * m);
1505      m -= c[2] / 128.0;
1506      c[1] = floor(32768.0 * m);
1507      m -= c[1] / 32768.0;
1508      c[0] = floor(8388608.0 * m);
1509
1510      highp float ebias = e + 127.0;
1511      c[3] = floor(ebias / 2.0);
1512      ebias -= c[3] * 2.0;
1513      c[2] += floor(ebias) * 128.0;
1514
1515      c[3] += 128.0 * step(0.0, -v);
1516
1517      return c / 255.0;
1518    }
1519
1520    void main() {
1521      float value = ${i.texture2D}(X,TexCoords).r;
1522      ${i.output} = encodeAsUint8(value);
1523    }`,a={name:"Uint8Encode",inputTypes:[0],inputNames:["X"],output:{dims:n,type:r.tensor.type,textureType:3},shaderSource:o,hasMain:!0};return t.executeProgram(a,[r.tensor])}}),rH=G(()=>{tz(),tG(),tK(),t0(),t2={name:"unpack",inputNames:["A"],inputTypes:[2]},t7=(t,r)=>({...t2,get:()=>{var n,i;let o,a,s,u,l,h,c,f;return n=t,s=(a=tZ("rc",o=(i=r).dims.length)).slice(-2),u=tY(o),l=tJ(),h=0===i.dims.length?"":function(t,r){if(1===t)return"rc";let n="";for(let i=0;i<t;i++)n+=r[i],i<t-1&&(n+=",");return n}(o,a),c=o<=1?"rc":`vec2(${s.join(",")})`,f=`
1524    ${l}
1525    void main() {
1526      ${u} rc = getOutputCoords();
1527
1528       // Sample the texture with the coords to get the rgba channel value.
1529       vec4 packedInput = getA(${h});
1530
1531       ${tF(n.session.backend.glContext.version).output} = vec4(getChannel(packedInput, ${c}), 0, 0, 0);
1532     }
1533   `,{...t2,hasMain:!0,output:{dims:i.dims,type:i.type,textureType:0},shaderSource:f}}})}),rq=G(()=>{eO(),t8=class{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(1===r)this.internalFormat=t.R32F,this.format=t.RED,this.textureType=t.FLOAT,this.channelSize=r;else{if(4!==r)throw Error(`Invalid number of channels: ${r}`);this.internalFormat=t.RGBA32F,this.format=t.RGBA,this.textureType=t.FLOAT,this.channelSize=r}}encode(t,r){let n,i;return t.constructor!==Float32Array&&(ex.warning("Encoder","data was not of type Float32; creating new Float32Array"),i=new Float32Array(t)),r*this.channelSize>t.length?(ex.warning("Encoder","Source data too small. Allocating larger array"),i=t,n=this.allocate(r*this.channelSize),i.forEach((t,r)=>n[r]=t)):n=i=t,n}allocate(t){return new Float32Array(4*t)}decode(t,r){return 1===this.channelSize?t.filter((t,r)=>r%4==0).subarray(0,r):t.subarray(0,r)}},t4=class{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2?arguments[2]:void 0;if(1!==r&&4!==r)throw Error(`Invalid number of channels: ${r}`);this.internalFormat=t.RGBA,this.format=t.RGBA,this.channelSize=r,this.textureType=n||t.FLOAT}encode(t,r){let n=t;return 1===this.channelSize&&(ex.verbose("Encoder","Exploding into a larger array"),n=this.allocate(r),t.forEach((t,r)=>n[4*r]=t)),n}allocate(t){return new Float32Array(4*t)}decode(t,r){return 1===this.channelSize?t.filter((t,r)=>r%4==0).subarray(0,r):t.subarray(0,r)}},re=class{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this.channelSize=4,1===r)this.internalFormat=t.ALPHA,this.format=t.ALPHA,this.textureType=t.UNSIGNED_BYTE,this.channelSize=r;else{if(4!==r)throw Error(`Invalid number of channels: ${r}`);this.internalFormat=t.RGBA,this.format=t.RGBA,this.textureType=t.UNSIGNED_BYTE,this.channelSize=r}}encode(t,r){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}allocate(t){return new Uint8Array(t*this.channelSize)}decode(t,r){if(t instanceof Uint8Array)return t.subarray(0,r);throw Error(`Invalid array type: ${t.constructor}`)}}}),rY=G(()=>{tP(),tG(),rt=(t,r,n)=>{let i=4===n?r.length-1:void 0,o=4===n?r.map((t,n)=>n===r.length-1?4*t:t):void 0;return rn(t,r,0===n||1===n?1:4,o,{isPacked:2===n,reverseWH:1===n||2===n,breakAxis:i})},rr=(t,r,n)=>{let i=rt(t,r,n);return[i.width,i.height]},rn=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,a=!(!o||!o.isPacked),[s,u]=t.computeTextureWH(a&&i||r,o),l=r.length,h=r.slice(0);if(0===l&&(h=[1]),1===n)i=r;else if(a){if(4!==n)throw Error("a packed texture must be 4-channel");i=r,l>0&&(h[l-1]=Math.ceil(h[l-1]/2)),l>1&&(h[l-2]=Math.ceil(h[l-2]/2))}else if(!i)throw Error("Unpacked shape is needed when using channels > 1");
1533return{width:s,height:u,channels:n,isPacked:a,shape:h,strides:tS.computeStrides(h),unpackedShape:i,reversedWH:o&&o.reverseWH}}}),rX=G(()=>{eO(),tN(),tP(),t3(),rV(),rW(),rH(),rq(),rY(),tG(),ri=class{constructor(t){this.session=t,this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map}calculateTextureWidthAndHeight(t,r){return rr(this.session.layoutStrategy,t,r)}executeProgram(t,r){var n;let i,o;if(r.length<t.inputNames.length)throw Error(`Input size mustn't be less than ${t.inputNames.length}.`);if(t.inputNames.length!==t.inputTypes.length)throw Error("input names size does not match input types");let a=[];for(let n=0;n<t.inputNames.length;++n)a[n]=this.getOrCreateTextureData(r[n],t.inputTypes[n]);let s=(n=t,i=a.map(t=>`${t.unpackedShape.join(",")};${t.width}x${t.height}`).join("_"),o=n.name,n.cacheHint&&(o+="["+n.cacheHint+"]"),o+=":"+i),u=this.session.programManager.getArtifact(s),l=u?u.programInfo:"function"==typeof t.get?t.get():t,h=rt(this.session.layoutStrategy,l.output.dims,l.output.textureType),c=this.createTextureData(h,l.output.type);return u||(u=this.session.programManager.build(l,a,c),this.session.programManager.setArtifact(s,u)),this.runProgram(u,a,c),c}run(t,r){return this.executeProgram(t,r).tensor}runProgram(t,r,n){for(let n=0;n<r.length;++n)if(!!r[n].isPacked!=(2===t.programInfo.inputTypes[n]))throw Error(`input[${n}] property packed inconsistent`);if(!!n.isPacked!=(2===t.programInfo.output.textureType))throw Error("output property packed inconsistent");this.session.programManager.run(t,r,n)}getOrCreateTextureData(t,r){let n=this.getTextureData(t.dataId,2===r);if(!n&&(n=this.getTextureData(t.dataId,2!==r)))return 2===r?this.pack(n):this.unpack(n);if(!n){let i=rt(this.session.layoutStrategy,t.dims,r);if(4===r){let n=t.dims;if(4===n.length){let i=[n[0],Math.ceil(n[1]*n[2]*n[3]/4)],o=rt(this.session.layoutStrategy,i,r),a=t.numberData;if(n[1]*n[2]*n[3]%4!=0){let r=n[0],i=n[1]*n[2]*n[3],o=4*Math.ceil(i/4);a=new Float32Array(r*o);for(let n=0;n<r;++n){let r=n*i,s=n*o+n%1*i;a.set(t.numberData.subarray(r,r+i),s)}}return this.createTextureData(o,t.type,a,t,1)}}if(2===r){let r=rn(this.session.layoutStrategy,t.dims,1,[],{reverseWH:!0}),i=this.createTextureData(r,t.type,t.numberData,t,1);n=this.pack(i)}else n=this.createTextureData(i,t.type,t.numberData,t,1)}return n}createTextureDataFromLayoutBindTensor(t,r,n,i){return this.createTextureData(t,r,n,i,1)}createTextureData(t,r,n,i,o){ex.verbose("InferenceHandler",`Creating TextureData: layout:[${JSON.stringify(t)}]`);let a=this.session.textureManager.createTextureFromLayout(r,t,n,o);return this.createTextureDataFromTexture(t,r,a,i)}reshapeUnpacked(t,r){let n=this.getOrCreateTextureData(t,0),i={channels:n.channels,height:n.height,width:n.width,shape:0!==r.length?r:[1],str
1533ides:tS.computeStrides(r),unpackedShape:r};return this.createTextureDataFromTexture(i,t.type,n.texture).tensor}reshapePacked(t,r){var n;let i=this.getOrCreateTextureData(t,2);if(n=t.dims,0===n.length||0===r.length||(n.length<2||r.length<2?n[n.length-1]===r[r.length-1]:n[n.length-1]===r[r.length-1]&&n[n.length-2]===r[r.length-2])){let n={channels:i.channels,height:i.height,width:i.width,shape:0!==r.length?r:[1],strides:tS.computeStrides(r),unpackedShape:r,isPacked:!0};return this.createTextureDataFromTexture(n,t.type,i.texture).tensor}let o=t6(t.dims),a=t6(r),s=this.reshapePacked(t,o),u=this.run(t5(this,s,a),[s]);return this.reshapePacked(u,r)}cast(t,r){let n=this.getOrCreateTextureData(t,0);return this.createTextureDataFromTexture(n,r,n.texture).tensor}createTextureDataFromTexture(t,r,n,i,o){let a={...t,tensor:i||new tB(t.unpackedShape,r,t=>this.readTexture(a),async t=>this.readTextureAsync(a),void 0,o),texture:n};return this.setTextureData(a.tensor.dataId,a,t.isPacked),a}getTextureData(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.session.isInitializer(t)?this.session.getTextureData(t,r):r?this.packedTextureDataCache.get(t):this.unpackedTextureDataCache.get(t)}setTextureData(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.session.isInitializer(t)?this.session.setTextureData(t,r,n):(n?this.packedTextureDataCache:this.unpackedTextureDataCache).set(t,r)}isTextureLayoutCached(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!!this.getTextureData(t.dataId,r)}dispose(){this.session.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach(t=>this.session.textureManager.releaseTexture(t)),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach(t=>this.session.textureManager.releaseTexture(t)),this.unpackedTextureDataCache=new Map}readTexture(t){return t.isPacked?this.readTexture(this.unpack(t)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTexture(t,t.tensor.type,t.channels):this.session.textureManager.readUint8TextureAsFloat(t9(this,t))}async readTextureAsync(t){return t.isPacked?this.readTextureAsync(this.unpack(t)):this.session.backend.glContext.isFloat32DownloadSupported?this.session.textureManager.readTextureAsync(t,t.tensor.type,t.channels):this.session.textureManager.readUint8TextureAsFloat(t9(this,t))}pack(t){return this.executeProgram(t1(this,t.tensor),[t.tensor])}unpack(t){return this.executeProgram(t7(this,t.tensor),[t.tensor])}}}),rK=G(()=>{ro=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(";")),this.key}},ra=t=>new ro(t)}),rZ=G(()=>{rK(),tz(),tG(),rs={name:"BatchNormalization",inputNames:["A","Scale","B","Mean","Variance"],inputTypes:[0,0,0,0,0]},ru=(t,r,n)=>(rc(r),[t.run({...rs,cacheHint:n.cacheKey,get:()=>rh(t,r,n)},r)]),rl=t=>{let r=t.attributes.getFloat("epsilon",1e-5),n=t.attributes.getFloat("momentum",.9),i=t.attributes.getInt("spatial",1);return ra({epsilon:r,momentum:n,spatial:i})},rh=(t,r,n)=>{let i=tF(t.session.backend.glContext.version),o=r[0].dims.length,[a,s]=t.calculateTextureWidthAndHeight(r[1].dims,0),u=`
1534  float process(int[${o}] indices) {
1535    vec2 position = offsetToCoords(indices[1], ${a}, ${s});
1536    float scale = getColorAsFloat(${i.texture2D}(Scale, position));
1537    float mean = getColorAsFloat(${i.texture2D}(Mean, position));
1538    float variance = getColorAsFloat(${i.texture2D}(Variance, position));
1539    float b = getColorAsFloat(${i.texture2D}(B, position));
1540
1541    return scale * ( (_A(indices) - mean) / sqrt(variance + float(${n.epsilon})) ) + b;
1542  }`;return{...rs,output:{dims:r[0].dims,type:r[0].type,textureType:0},shaderSource:u}},rc=t=>{if(!t||5!==t.length)throw Error("BatchNormalization requires 5 inputs.");let r=t[0],n=t[1],i=t[2],o=t[3],a=t[4];if(r.dims.length<3||1!==n.dims.length||1!==i.dims.length||1!==o.dims.length||1!==a.dims.length||n.dims[0]!==r.dims[1]||i.dims[0]!==r.dims[1]||o.dims[
15420]!==r.dims[1]||a.dims[0]!==r.dims[1])throw Error("invalid input shape.");if("float32"!==r.type&&"float64"!==r.type||"float32"!==n.type&&"float64"!==n.type||"float32"!==i.type&&"float64"!==i.type||"float32"!==o.type&&"float64"!==o.type||"float32"!==a.type&&"float64"!==a.type)throw Error("invalid input tensor types.")}}),rJ=G(()=>{rf=class{constructor(t,r,n,i){this.glContext=t,this.programInfo=r,this.inputTextureLayouts=n,this.outputTextureLayout=i}},rd=class{constructor(t){this.context=t}},rp=class{constructor(t,r){this.routineBody=t,this.dependencies=r}},ry=class{constructor(t,r,n){this.name=t,this.dependencies=n||[],r&&(this.routineBody=r)}addDependency(t){t&&this.dependencies.push(t)}},rm=class{static returnOrderedNodes(t){if(!t||0===t.length)return[];if(1===t.length)return t;let r=new Set,n=new Set,i=[];return this.createOrderedNodes(t,r,n,i),i}static createOrderedNodes(t,r,n,i){for(let o=0;o<t.length;++o)this.dfsTraverse(t[o],r,n,i)}static dfsTraverse(t,r,n,i){if(!t||n.has(t.name))return;if(r.has(t.name))throw Error("Cyclic dependency detected. Can't topologically sort routines needed for shader.");r.add(t.name);let o=t.dependencies;if(o&&o.length>0)for(let t=0;t<o.length;++t)this.dfsTraverse(o[t],r,n,i);i.push(t),n.add(t.name),r.delete(t.name)}}}),rQ=G(()=>{tP(),rJ(),tz(),tG(),rg=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r[0].type,o=arguments.length>4?arguments[4]:void 0,a=2*!!t.session.pack;return{name:n.name,inputNames:["A","B"],inputTypes:[a,a],cacheHint:o,get:()=>rv(t,r,n,i)}},rv=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:r[0].type,o=2*!!t.session.pack,a=!tS.areEqual(r[0].dims,r[1].dims),s=r[0].dims,u=t.session.pack;if(a){let a=tw.calcShape(r[0].dims,r[1].dims,!1);if(!a)throw Error("Can't perform binary op on the given tensors");let l=(s=a).length,h=0!==r[0].dims.length?r[0].dims.length:1,c=0!==r[1].dims.length?r[1].dims.length:1,f=0!==r[0].dims.length?"bcastIndices_A(indices, aindices);":"aindices[0] = 0;",d=0!==r[1].dims.length?"bcastIndices_B(indices, bindices);":"bindices[0] = 0;",p=tF(t.session.backend.glContext.version),y=u?`
1543      ${n.body}
1544      void main() {
1545        vec4 a = getAAtOutCoords();
1546        vec4 b = getBAtOutCoords();
1547        vec4 result = ${n.name}(a, b);
1548        ${p.output} = result;
1549      }`:`
1550      ${n.body}
1551      float process(int indices[${l}]) {
1552        int aindices[${h}];
1553        int bindices[${c}];
1554        ${f}
1555        ${d}
1556        return ${n.name}(_A(aindices), _B(bindices));
1557      }`;return{name:n.name,inputNames:["A","B"],inputTypes:[o,o],output:{dims:s,type:i,textureType:o},shaderSource:y,hasMain:u}}let l=tF(t.session.backend.glContext.version),h=`
1558    ${n.body}
1559    void main() {
1560      vec4 v1 = ${l.texture2D}(A, TexCoords);
1561      vec4 v2 = ${l.texture2D}(B, TexCoords);
1562      vec4 result = ${n.name}(v1, v2);
1563      ${l.output} = result;
1564    }
1565    `;return{name:n.name,inputNames:["A","B"],inputTypes:[o,o],output:{dims:r[0].dims,type:i,textureType:o},shaderSource:h,hasMain:!0}},rb=(t,r)=>{let n;return[t.run(rg(t,r,(n="add_",{body:`
1566  float ${n}(float a, float b) {
1567    return a + b;
1568  }
1569  vec4 ${n}(vec4 v1, vec4 v2) {
1570    return v1 + v2;
1571  }
1572  `,name:n,type:0})),r)]},rw=(t,r)=>{let n;return[t.run(rg(t,r,(n="and_",{body:`
1573  float ${n}(float a, float b) {
1574    return float( bool(a) && bool(b) );
1575  }
1576  vec4 ${n}(vec4 v1, vec4 v2) {
1577    bvec4 b1 = bvec4(v1);
1578    bvec4 b2 = bvec4(v2);
1579    return vec4( b1.r && b2.r ,
1580                b1.g && b2.g,
1581                b1.b && b2.b,
1582                b1.a && b2.a );
1583  }
1584  `,name:n,type:0}),"bool"),r)]},rx=(t,r)=>{let n;return[t.run(rg(t,r,(n="div_",{body:`
1585  float ${n}(float a, float b) {
1586    return a / b;
1587  }
1588  vec4 ${n}(vec4 v1, vec4 v2) {
1589    return v1 / v2;
1590  }
1591  `,name:n,type:0})),r)]},r_=(t,r)=>{let n;return[t.run(rg(t,r,(n="equal_",{body:`
1592  float ${n}(float a, float b) {
1593    return float(a == b);
1594  }
1595  vec4 ${n}(vec4 v1, vec4 v2) {
1596    return vec4(equal(v1, v2));
1597  }
1598  `,name:n,type:0}),"bool"),r)]},rT=(t,r)=>{let n;return[t.run(rg(t,r,(n="greater_",{body:`
1599  float ${n}(float a, float b) {
1600    return float(a > b);
1601  }
1602  vec4 ${n}(vec4 v1, vec4 v2) {
1603    return vec4( v1.r > v2.r ,
1604      v1.g > v2.g,
1605      v1.b > v2.b,
1606      v1.a > v2.a );
1607  }
1608  `,name:n,type:0}),"bool"),r)]},rS=(t,r)=>{let n;return[t.run(rg(t,r,(n="less_",{body:`
1609  float ${n}(float a, float b) {
1610    return float(a < b);
1611  }
1612  vec4 ${n}(vec4 v1, vec4 v2) {
1613    return vec4( v1.r < v2.r ,
1614                v1.g < v2.g,
1615                v1.b < v2.b,
1616                v1.a < v2.a );
1617  }
1618  `,name:n,type:0}),"bool"),r)]},rE=(t,r)=>{let n;return[t.run(rg(t,r,(n="mul_",{body:`
1619  float ${n}(float a, float b) {
1620    return a * b;
1621  }
1622  vec4 ${n}(vec4 v1, vec4 v2) {
1623    return v1 * v2;
1624  }
1625  `,name:n,type:0})),r)]},rO=(t,r)=>[t.run(rg(t,r,{body:`
1626  float or_(float a, float b) {
1627    return float( bool(a) || bool(b) );
1628  }
1629  vec4 or_(vec4 v1, vec4 v2) {
1630    bvec4 b1 = bvec4(v1);
1631    bvec4 b2 = bvec4(v2);
1632    return vec4( b1.r || b2.r ,
1633                b1.g || b2.g,
1634                b1.b || b2.b,
1635                b1.a || b2.a );
1636  }
1637  `,name:"or_",type:0},"bool"),r)],rA=(t,r)=>{let n;return[t.run(rg(t,r,(n="pow_",{body:`
1638  float ${n}(float a, float b) {
1639    return pow(a, b);
1640  }
1641  vec4 ${n}(vec4 v1, vec4 v2) {
1642    return pow(v1, v2);
1643  }
1644  `,name:n,type:0})),r)]},rI=(t,r)=>{let n;return[t.run(rg(t,r,(n="prelu_",{body:`
1645  float ${n}(float a, float b) {
1646    return a < 0.0 ? a * b: a;
1647  }
1648  vec4 ${n}(vec4 v1, vec4 v2) {
1649    return vec4(
1650      v1.r < 0.0 ? v1.r * v2.r: v1.r,
1651      v1.g < 0.0 ? v1.g * v2.g: v1.g,
1652      v1.b < 0.0 ? v1.b * v2.b: v1.b,
1653      v1.a < 0.0 ? v1.a * v2.a: v1.a
1654      );
1655  }
1656  `,name:n,type:0})),r)]},rP=(t,r)=>{let n;return[t.run(rg(t,r,(n="sub_",{body:`
1657  float ${n}(float a, float b) {
1658    return a - b;
1659  }
1660  vec4 ${n}(vec4 v1, vec4 v2) {
1661    return v1 - v2;
1662  }
1663  `,name:n,type:0})),r)]},rk=(t,r)=>{let n;return[t.run(rg(t,r,(n="xor_",{body:`
1664  float ${n}(float a, float b) {
1665    return float( bool(a) ^^ bool(b) );
1666  }
1667  vec4 ${n}(vec4 v1, vec4 v2) {
1668    bvec4 b1 = bvec4(v1);
1669    bvec4 b2 = bvec4(v2);
1670    return vec4( b1.r ^^ b2.r ,
1671                b1.g ^^ b2.g,
1672                b1.b ^^ b2.b,
1673                b1.a ^^ b2.a );
1674  }
1675  `,name:n,type:0}),"bool"),r)]}}),r1=G(()=>{tP(),rC=(t,r,n)=>(rR(r),[t.cast(r[0],n)]),r$=t=>t_.tensorDataTypeFromProto(t.attributes.getInt("to")),rR=t=>{if(!t||1!==t.length)throw Error("Cast requires 1 input.");if("string"===t[0].type)throw Error("Invalid input type.")}}),r0=G(()=>{tz(),tG(),tK(),t0(),rD=(t,r,n)=>{let i,o,a=(i=r.length,o=n.cacheKey,{name:"Concat (packed)",inputNames:Array.from({length:i},(t,r)=>`X${r}`),inputTypes:Array(i).fill(2),cacheHint:o});return{...a,get:()=>((t,r,n,i)=>{let o=n[0].dims.slice();if(i>
1675=o.length||i<-1*o.length)throw Error("axis specified for concat doesn't match input dimensionality");i<0&&(i=o.length+i);let a=o.slice(0);for(let t=1;t<n.length;t++){let r=n[t].dims.slice();for(let t=0;t<o.length;t++)if(t===i)a[i]+=r[t];else if(o[t]!==r[t])throw Error("non concat dimensions must match")}let s=a.length,u=tZ("coords",s),l=tY(s),h=tJ(),c=n.map(t=>t.dims),f=tX(s),d=Array(c.length-1);d[0]=c[0][i];for(let t=1;t<d.length;t++)d[t]=d[t-1]+c[t][i];let p=f[i],y=f.slice(-2),m=f.join(),g=`if (${p} < ${d[0]}) {
1676        return getChannel(
1677            getX0(${m}), vec2(${y.join()}));
1678        }`;for(let t=1;t<d.length;t++){let r=d[t-1];g+=`
1679            if (${p} < ${d[t]}  && ${p} >= ${d[t-1]}) {
1680              return getChannel(
1681                getX${t}(${rM(f,p,r)}),
1682                vec2(${rM(y,p,r)}));
1683            }`}let v=d.length,b=d[d.length-1];g+=`
1684            return getChannel(
1685              getX${v}(${rM(f,p,b)}),
1686              vec2(${rM(y,p,b)}));`;let w=tF(t.session.backend.glContext.version),x=`
1687          ${h}
1688          float getValue(${f.map(t=>"int "+t)}) {
1689            ${g}
1690          }
1691
1692          void main() {
1693            ${l} coords = getOutputCoords();
1694            int lastDim = coords.${f[s-1]};
1695            coords.${f[s-1]} = coords.${f[s-2]};
1696            coords.${f[s-2]} = lastDim;
1697
1698            vec4 result = vec4(getValue(${u}), 0., 0., 0.);
1699
1700            ${u[s-1]} = ${u[s-1]} + 1;
1701            if (${u[s-1]} < ${a[s-1]}) {
1702              result.g = getValue(${u});
1703            }
1704
1705            ${u[s-2]} = ${u[s-2]} + 1;
1706            if (${u[s-2]} < ${a[s-2]}) {
1707              result.a = getValue(${u});
1708            }
1709
1710            ${u[s-1]} = ${u[s-1]} - 1;
1711            if (${u[s-2]} < ${a[s-2]} &&
1712                ${u[s-1]} < ${a[s-1]}) {
1713              result.b = getValue(${u});
1714            }
1715            ${w.output} = result;
1716          }
1717        `;return{...r,output:{dims:a,type:n[0].type,textureType:2},shaderSource:x,hasMain:!0}})(t,a,r,n.axis)}},rM=(t,r,n)=>{let i=t.indexOf(r);return t.map((t,r)=>r===i?`${t} - ${n}`:t).join()}}),r3=G(()=>{rK(),tG(),r0(),rL=(t,r,n)=>(rG(r),t.session.pack&&r[0].dims.length>1?[t.run(rD(t,r,n),r)]:[t.run(rB(t,r,n),r)]),rB=(t,r,n)=>{let i,o,a=(i=r.length,o=n.cacheKey,{name:"Concat",inputNames:Array.from({length:i},(t,r)=>`X${r}`),inputTypes:Array(i).fill(0),cacheHint:o});return{...a,get:()=>((t,r,n,i)=>{let o=n[0].dims.slice();if(i>=o.length||i<-1*o.length)throw Error("axis specified for concat doesn't match input dimensionality");i<0&&(i=o.length+i);let a=o.slice(0);for(let t=1;t<n.length;t++){let r=n[t].dims.slice();for(let t=0;t<o.length;t++)if(t===i)a[i]+=r[t];else if(o[t]!==r[t])throw Error("non concat dimensions must match")}let s=a.length,u=Array(n.length),l=0;for(let t=0;t<u.length;++t)l+=n[t].dims[i],u[t]=l;let h="";h=n.length<5?rN(u):rF(u);let c=`
1718        ${rU(n.length,s)}
1719        ${rj(u)}
1720        ${h}
1721        float process(int indices[${s}]) {
1722          int textureIndex = getTextureWhereDataResides (indices[${i}]);
1723
1724          if(textureIndex != 0) {
1725            indices[${i}] = indices[${i}] - int(getSizeInConcatAxisValueFromIndex(textureIndex-int(1)));
1726          }
1727
1728          return fetchDataFromCorrectTexture(textureIndex, indices);
1729        }`;return{...r,output:{dims:a,type:n[0].type,textureType:0},shaderSource:c}})(0,a,r,n.axis)}},rN=t=>`int getTextureWhereDataResides(int index) {
1730      ${t.map((t,r)=>`if(index<${t}) {return ${r};}
1731`).join("")}
1732    }`,rF=t=>rN(t),rU=(t,r)=>{let n=[`float fetchDataFromCorrectTexture(int textureIndex, int indices[${r}]) {`];for(let r=0;r<t;++r)0===r?n.push(`	if (textureIndex == ${r}) { return _X${r}(indices); }`):r===t-1?n.push(`	else { return _X${r}(indices); }`):n.push(`	else if (textureIndex == ${r}) { return _X${r}(indices); }`);return n.push("	}"),n.join(`
1733`)},rj=t=>{let r=["int getSizeInConcatAxisValueFromIndex(int index) {"];for(let n=0;n<t.length;++n)0===n?r.push(`	if (index == ${n}) { return ${t[n]}; }`):n===t.length-1?r.push(`	else { return ${t[n]}; }`):r.push(`	else if (index == ${n}) { return ${t[n]}; }`);return r.push("	}"),r.join(`
1734`)},rz=t=>ra({axis:t.attributes.getInt("axis")}),rG=t=>{if(!t||t.length<1)throw Error("too few inputs");let r=t[0].type,n=t[0].dims.length;if("string"===r)throw Error("string tensor is not supported yet");for(let i of t){if(i.type!==r)throw Error("input tensors should be one type");if(i.dims.length!==n)throw Error("input tensors should have the same shape")}}});function r6(t,r){let n="clip";return{body:`
1735  const float min = float(${t});
1736  const float max = float(${r});
1737
1738  float ${n}_(float a) {
1739    return clamp(a, min, max);
1740  }
1741  vec4 ${n}_(vec4 v) {
1742    return clamp(v, min, max);
1743  }
1744  `,name:n,type:0}}function r5(){let t="relu";return{body:`
1745  float ${t}_(float a) {
1746    return max( a, 0.0 );
1747  }
1748  vec4 ${t}_(vec4 v) {
1749    return max( v, 0.0 );
1750  }
1751  `,name:t,type:0}}function r9(){let t="sigmoid";return{body:`
1752  float ${t}_(float a) {
1753    return 1.0 / (1.0 + exp(-a));
1754  }
1755  vec4 ${t}_(vec4 v) {
1756    return 1.0 / (1.0 + exp(-v));
1757  }
1758  `,name:t,type:0}}function r2(t){return{body:`
1759  float ${t}_(float a) {
1760    return ${t}(a);
1761  }
1762  vec4 ${t}_(vec4 v) {
1763    return ${t}(v);
1764  }
1765  `,name:t,type:0}}
1765var r7,r8,r4,ne,nt,nr,nn,ni,no,na,ns,nu,nl,nh,nc,nf,nd,np,ny,nm,ng,nv,nb,nw,nx,n_,nT,nS=G(()=>{rK(),tP(),rJ(),tz(),tG(),r7=(t,r,n,i)=>{let o=2*!!t.session.pack,a={name:n.name,inputTypes:[o],inputNames:["A"],cacheHint:i};return{...a,get:()=>{var i,o,s,u;let l,h;return i=t,o=a,s=r,u=n,l=2*!!i.session.pack,h=tF(i.session.backend.glContext.version),{...o,output:{dims:s.dims,type:s.type,textureType:l},shaderSource:`
1766     ${u.body}
1767     void main() {
1768       vec4 v = ${h.texture2D}(A, TexCoords);
1769       v = ${u.name}_(v);
1770       ${h.output} = v;
1771     }
1772     `,hasMain:!0}}}},r8=(t,r)=>[t.run(r7(t,r[0],r2("abs")),r)],r4=(t,r)=>[t.run(r7(t,r[0],r2("acos")),r)],ne=(t,r)=>[t.run(r7(t,r[0],r2("asin")),r)],nt=(t,r)=>[t.run(r7(t,r[0],r2("atan")),r)],nr=(t,r,n)=>[t.run(r7(t,r[0],r6(n.min,n.max),n.cacheKey),r)],nn=t=>ra({min:t.attributes.getFloat("min",tA),max:t.attributes.getFloat("max",tI)}),ni=(t,r)=>{let n=no(t,r);return nr(t,[r[0]],n)},no=(t,r)=>{if(r.length>=3&&(!t.session.isInitializer(r[1].dataId)||!t.session.isInitializer(r[2].dataId)))throw Error("dynamic clip attributes are not allowed");let n=r.length>=3?r[1].numberData[0]:tA,i=r.length>=3?r[2].numberData[0]:tI;return ra({min:n,max:i})},na=(t,r)=>[t.run(r7(t,r[0],r2("ceil")),r)],ns=(t,r)=>[t.run(r7(t,r[0],r2("cos")),r)],nu=(t,r,n)=>{var i;return[t.run(r7(t,r[0],(i=n.alpha,{body:`
1773  const float alpha = float(${i});
1774
1775  float elu_(float a) {
1776    return a >= 0.0 ? a: (exp(a) - 1.0) * alpha;
1777  }
1778  vec4 elu_(vec4 v) {
1779    return vec4(elu_(v.x), elu_(v.y), elu_(v.z), elu_(v.w));
1780  }
1781  `,name:"elu",type:0}),n.cacheKey),r)]},nl=t=>ra({alpha:t.attributes.getFloat("alpha",1)}),nh=(t,r)=>[t.run(r7(t,r[0],r2("exp")),r)],nc=(t,r)=>[t.run(r7(t,r[0],r2("floor")),r)],nf=(t,r)=>{let n;return[t.run(r7(t,r[0],(n="indentity",{body:`
1782  float ${n}_(float a) {
1783    return a;
1784  }
1785  vec4 ${n}_(vec4 v) {
1786    return v;
1787  }
1788  `,name:n,type:0})),r)]},nd=(t,r,n)=>{var i;let o;return[t.run(r7(t,r[0],(i=n.alpha,o="leakyRelu",{body:`
1789  const float alpha = float(${i});
1790
1791  float ${o}_(float a) {
1792    return a < 0.0 ? a * alpha : a;
1793  }
1794  vec4 ${o}_(vec4 v) {
1795    return vec4(${o}_(v.x), ${o}_(v.y), ${o}_(v.z), ${o}_(v.w));
1796  }
1797  `,name:o,type:0}),n.cacheKey),r)]},np=t=>ra({alpha:t.attributes.getFloat("alpha",.01)}),ny=(t,r)=>[t.run(r7(t,r[0],r2("log")),r)],nm=(t,r)=>[t.run(r7(t,r[0],{body:`
1798  float neg_(float a) {
1799    return -a;
1800  }
1801  vec4 neg_(vec4 v) {
1802    return -v;
1803  }
1804  `,name:"neg",type:0}),r)],ng=(t,r)=>[t.run(r7(t,r[0],{body:`
1805  float not_(float a) {
1806    return float( ! bool(a) );
1807  }
1808  bool not_(bool a) {
1809    return !a;
1810  }
1811  vec4 not_(vec4 v) {
1812    return vec4(!bool(v.x), !bool(v.y), !bool(v.z), !bool(v.w));
1813  }
1814  bvec4 not_(bvec4 v) {
1815    return bvec4(!v.x, !v.y, !v.z, !v.w);
1816  }
1817  `,name:"not",type:0}),r)],nv=(t,r)=>[t.run(r7(t,r[0],r5()),r)],nb=(t,r)=>[t.run(r7(t,r[0],r9()),r)],nw=(t,r)=>[t.run(r7(t,r[0],r2("sin")),r)],nx=(t,r)=>[t.run(r7(t,r[0],r2("sqrt")),r)],n_=(t,r)=>[t.run(r7(t,r[0],r2("tan")),r)],nT=(t,r)=>{let n;return[t.run(r7(t,r[0],(n="tanh",{body:`
1818  float ${n}_(float a) {
1819    a = clamp(a, -10., 10.);
1820    a = exp(2.*a);
1821    return (a - 1.) / (a + 1.);
1822  }
1823  vec4 ${n}_(vec4 v) {
1824    v = clamp(v, -10., 10.);
1825    v = exp(2.*v);
1826    return (v - 1.) / (v + 1.);
1827  }
1828  `,name:n,type:0})),r)]}});function nE(t){let r;switch(t.activation){case"Relu":r=r5();break;case"Sigmoid":r=r9();break;case"Clip":r=r6(t.clipMin,t.clipMax);break;default:return{activationFunction:"",applyActivation:""}}let n=r.name;return{activationFunction:r.body,applyActivation:`value = ${n}_(value);`}}var nO,nA,nI,nP=G(()=>{tP(),nS(),nO=t=>{let r=t.getString("activation","");if("Clip"===r){let[n,i]=t.getFloats("activation_params",[tA,tI]);return{activation:r,clipMax:i,clipMin:n,activationCacheKey:`${r}:${n},${i}`}}return{activation:r,activationCacheKey:r}}}),nk=G(()=>{eO(),tz(),tG(),a_(),nP(),nA=(t,r,n)=>{let i,o=(i=r.length>2,{name:"GroupedConv",inputNames:i?["X","W","Bias"]:["X","W"],inputTypes:i?[0,0,0]:[0,0],cacheHint:n.cacheKey});return{...o,get:()=>((t,r,n,i)=>{let o=r.length>2?"value += getBias(output_channel);":"",a=r[0].dims.slice(),s=r[1].dims.slice(),u=s[0]/i.group;ex.verbose("GroupedConv",`autpPad:${i.autoPad}, dilations:${i.dilations}, group:${i.group}, kernelShape:${i.kernelShape}, pads:${i.pads}, strides:${i.strides}`);let l=nG(a,s,i.dilations,i.pads,i.strides),h=tF(t.session.backend.glContext.version),{activationFunction:c,applyActivation:f}=nE(i),d=`
1829  const ivec2 strides = ivec2(${i.strides[0]}, ${i.strides[1]});
1830  const ivec2 pads = ivec2(${i.pads[0]}, ${i.pads[1]});
1831  ${c}
1832  void main() {
1833    ivec4 coords = getOutputCoords();
1834    int batch = coords.x;
1835    int output_channel = coords.y;
1836    ivec2 xRCCorner = coords.zw * strides - pads;
1837    int group_id = output_channel / ${u};
1838
1839    float value = 0.0;
1840    for (int wInChannel = 0; wInChannel < ${s[1]}; wInChannel++) {
1841      int input_channel = group_id * ${s[1]} + wInChannel;
1842      for (int wHeight = 0; wHeight < ${s[2]}; wHeight++) {
1843        int xHeight = xRCCorner.x + wHeight * ${i.dilations[0]};
1844
1845        if (xHeight < 0 || xHeight >= ${a[2]}) {
1846          continue;
1847        }
1848
1849        for (int wWidth = 0; wWidth < ${s[3]}; wWidth++) {
1850          int xWidth = xRCCorner.y + wWidth * ${i.dilations[1]};
1851          if (xWidth < 0 || xWidth >= ${a[3]}) {
1852            continue;
1853          }
1854
1855          float xVal = getX(batch, input_channel, xWidth, xHeight);
1856          float wVal = getW(output_channel, wInChannel, wWidth, wHeight);
1857          value += xVal*wVal;
1858        }
1859      }
1860    }
1861    ${o}
1862    ${f}
1863    ${h.output} = vec4(value, .0, .0, .0);
1864  }
1865`;return{...n,output:{dims:l,type:r[0].type,textureType:0},shaderSource:d,hasMain:!0}})(t,r,o,n)}}}),nC=G(()=>{tz(),tG(),t0(),nI=(t,r,n,i,o)=>{let a={name:"Im2Col (packed)",inputNames:["A"],inputTypes:[2],cacheHint:o.cacheKey};return{...a,get:()=>((t,r,n,i,o,a)=>{let s=n.dims,u=i.dims,l=o.length,h=[u[1]*u[2]*u[3],o[2]*o[3]],c=u[2]*u[3],f=tJ(),d=tF(t.session.backend.glContext.version),p="";for(let t=0;t<=1;t++)for(let r=0;r<=1;r++)p+=`
1866            blockIndex = rc.x + ${r};
1867            pos = rc.y + ${t};
1868
1869            if(blockIndex < ${h[1]} && pos < ${h[0]}) {
1870              offsetY = int(blockIndex / (${o[l-1]})) * ${a.strides[0]} -
1871                ${a.pads[0]};
1872              d0 = offsetY + ${a.dilations[0]} * (imod(pos, ${c}) / ${u[2]});
1873
1874              if(d0 < ${s[2]} && d0 >= 0) {
1875                offsetX = imod(blockIndex, ${o[l-1]}) * ${a.strides[1]} -
1876                  ${a.pads[1]};
1877                d1 = offsetX + ${a.dilations[1]} * imod(imod(pos, ${c}), ${u[2]});
1878
1879                if(d1 < ${s[3]} && d1 >= 0) {
1880
1881                  ch = int(float(pos)/ ${c}.);
1882                    innerDims = vec2(d0, d1);
1883                    result[${2*t+r}] = getChannel(
1884                      getA(0, ch, int(innerDims.x),
1885                      int(innerDims.y)), innerDims);
1886                }
1887              }
1888            }
1889
1890          `;let y=`
1891      ${f}
1892
1893      void main() {
1894        ivec2 rc = getOutputCoords();
1895          vec4 result = vec4(0.0);
1896          int blockIndex, pos, offsetY, d0, offsetX, d1, ch;
1897          vec2 innerDims;
1898          ${p}
1899          ${d.output} = result;
1900      }
1901            `;return{...r,output:{dims:h,type:n.type,textureType:2},shaderSource:y,hasMain:!0}})(t,a,r,n,i,o)}}});function n$(t,r){let n=nL(t.length>2,r.activationCacheKey);return{...n,get:()=>(function(t,r,n){let i=r[0].dims,o=r[1].dims,a=tw.calcShape(i,o,!0);if(!a)throw Error("Can't use matmul on the given tensors");let s=tY(a.length),u=tX(),{activationFunction:l,applyActivation:h}=nE(n),c=r.length>2,f=c?`${nR(s,u,r[2].dims,a,!1)}`:"",d=a.length,p=i.length,y=o.length,m=`
1902    ${l}
1903    ${f}
1904    float process(int indices[${d}]) {
1905        int a[${p}];
1906        int b[${y}];
1907        bcastMatmulIndices_A(indices, a);
1908        bcastMatmulIndices_B(indices, b);
1909
1910        float value;
1911        for (int k=0; k<${i[i.length-1]}; ++k) {
1912            a[${p-1}] = k;
1913            b[${y-2}] = k;
1914            value += _A(a) * _B(b);
1915        }
1916        ${c?"value += getBiasForMatmul();":""}
1917        ${h}
1918        return value;
1919    }`;return{...t,output:{dims:a,type:r[0].type,textureType:0},shaderSource:m}})(n,t,r)}}function nR(t,r,n,i,o){let a="",s=n.length,u=i.length,l=u-s;a=u<2&&s>0?"coords":n.map((t,n)=>`coords.${r[n+l]}`).join(", ");let h=tw.getBroadcastDims(n,i).map(t=>`coords.${r[t+l]} = 0;`).join(`
1920`),c="vec4(outputValue.xx, outputValue.yy)";return 1===tS.size(n)&&(c="vec4(outputValue.x)"),o?`
1921vec4 getBiasForMatmul() {
1922  ${t} coords = getOutputCoords();
1923  ${h}
1924  vec4 outputValue = getBias(${a});
1925  return ${c};
1926}`:`
1927float getBiasForMatmul() {
1928  ${t} coords = getOutputCoords();
1929  ${h}
1930  return getBias(coords.x);
1931}`}var nD,nM,nL,nB,nN,nF,nU,nj,nz,nG,nV,nW,nH,nq,nY,nX,nK,nZ,nJ,nQ,n1,n0,n3,n6,n5,n9,n2,n7,n8,n4,ie,it,ir,ii,io,ia,is,iu,il,ih,ic,id,ip,iy,im,ig,iv,ib,iw,ix,i_,iT,iS,iE,iO,iA,iI,iP,ik,iC,i$,iR,iD,iM,iL,iB,iN,iF,iU,ij,iz,iG,iV,iW,iH,iq,iY,iX,iK,iZ,iJ,iQ,i1,i0,i3,i6,i5,i9,i2,i7,i8,i4,oe,ot,or,on,oi,oo,oa,os,ou,ol,oh,oc,of,od,op,oy,om,og,ov,ob,ow,ox,o_,oT,oS,oE,oO,oA,oI,oP,ok,oC,o$,oR,oD,oM,oL,oB,oN,oF,oU,oj,oz,oG,oV,oW,oH,oq,oY,oX,oK,oZ,oJ,oQ,o1,o0,o3,o6,o5,o9,o2,o7,o8,o4,ae,at,ar,an,ai,ao,aa,as,au,al,ah,ac,af,ad,ap,ay,am,ag=G(()=>{tP(),tG(),tK(),nP(),av(),nD=(t,r,n)=>(nB(r),t.session.pack?[t.run(nN(t,r,n),r)]:[t.run(n$(r,n),r)]),nM=t=>nO(t.attributes),nL=(t,r)=>({name:"MatMul",inputNames:t?["A","B","Bias"]:["A","B"],inputTypes:t?[0,0,0]:[0,0],cacheHint:r}),nB=t=>{if(!t||2!==t.length)throw Error("MatMul requires 2 inputs.");if(t[0].dims[t[0].dims.length-1]!==t[1].dims[t[1].dims.length-2])throw Error("shared dimension does not match.");if("float32"!==t[0].type&&"float64"!==t[0].type||"float32"!==t[1].type&&"float64"!==t[1].type)throw Error("inputs should be float type");if(t[0].type!==t[1].type)throw Error("inputs types should match")}}),av=G(()=>{tP(),tz(),tG(),tK(),nP(),ag(),nN=(t,r,n)=>{let i,o=(i=r.length>2,{name:"MatMul (packed)",inputNames:i?["A","B","Bias"]:["A","B"],inputTypes:i?[2,2,2]:[2,2],cacheHint:n.activationCacheKey});return{...o,get:()=>((t,r,n,i)=>{let o,a,s,u,l,h,c,f,d,p,y,m,g,v,b=n.length>2,w=n[0].dims,x=n[1].dims,_=tw.calcShape(w,x,!0),T=!tS.areEqual(n[0].dims,n[1].dims);if(!_)throw Error("Can't use matmul on the given tensors");let S=Math.ceil(w[w.length-1]/2),E=w.length,O=x.length,A=tF(t.session.backend.glContext.version),I=tY(_.length),P=_.length,k=tX(),{activationFunction:C,applyActivation:$}=nE(i),R=b?`${nR(I,k,n[2].dims,_,!0)}`:"",D=T?`${o=[],a=[],s=n[0].dims,u=n[1].dims,l=s.length,h=u.length,f=(c=_.length)-l,d=c-h,(o=s.map((t,r)=>`coords.${k[r+f]}`))[l-1]="i*2",o.join(", "),(a=u.map((t,r)=>`coords.${k[r+d]}`))[h-2]="i*2",a.join(", "),p=tw.getBroadcastDims(s,_),y=tw.getBroadcastDims(u,_),m=p.map(t=>`coords.${k[t+f]} = 0;`).join(`
1932`),g=y.map(t=>`coords.${k[t+d]} = 0;`).join(`
1933`),v=`int lastDim = coords.${k[c-1]};
1934  coords.${k[c-1]} = coords.${k[c-2]};
1935  coords.${k[c-2]} = lastDim;`,`
1936vec4 getAAtOutCoordsMatmul(int i) {
1937  ${I} coords = getOutputCoords();
1938  ${v}
1939  ${m}
1940  vec4 outputValue = getA(${o});
1941  return outputValue;
1942}
1943
1944vec4 getBAtOutCoordsMatmul(int i) {
1945  ${I} coords = getOutputCoords();
1946  ${v}
1947  ${g}
1948  vec4 outputValue = getB(${a});
1949  return outputValue;
1950}`}`:"",M=T?"getAAtOutCoordsMatmul(i)":`getA(${function(t,r){let n="";for(let i=0;i<r-2;i++)n+=`rc.${t[i]}, `;return n+`rc.${t[r-2]}, i*2`}(k,E)})`,L=T?"getBAtOutCoordsMatmul(i)":`getB(${function(t,r){let n="";for(let i=0;i<r-2;i++)n+=`rc.${t[i]}, `;return n+`i*2, rc.${t[r-1]}`}(k,O)})`,B=`
1951            ${D}
1952            ${R}
1953            ${C}
1954            void main() {
1955              ${T?"":`${I} rc =
1956          getOutputCoords(); int lastDim = rc.${k[P-1]}; rc.${k[P-1]} =
1957          rc.${k[P-2]}; rc.${k[P-2]} = lastDim;
1958      `}
1959
1960              vec4 value = vec4(0);
1961              for (int i = 0; i < ${S}; i++) {
1962                vec4 a = ${M};
1963                vec4 b = ${L};
1964
1965                value += (a.rrbb * b.rgrg);
1966                value += (a.ggaa * b.baba);
1967              }
1968              ${b?"value += getBiasForMatmul();":""}
1969              ${$}
1970              ${A.output} = value;
1971            }`;return{...r,output:{dims:_,type:n[0].type,textureType:2},shaderSource:B,hasMain:!0}})(t,o,r,n)}}}),ab=G(()=>{a_(),nC(),av(),nF=(t,r,n)=>{let i=r[0].dims,o=r[1].dims,a=nG(i,o,n.dilations,n.pads,n.strides),s=t.run(nI(t,r[0],r[1],a,n),[r[0]]),u=t.reshapePacked(r[1],[o[0],o[1]*o[2]*o[3]]),l=3===r.length?[u,s,r[2]]:[u,s],h=t.run(nN(t,l,n),l);return t.reshapePacked(h,a)}}),aw=G(()=>{tG(),nU=(t,r,n,i,o)=>
1971{let a={name:"Im2Col",inputNames:["X"],inputTypes:[0],cacheHint:o.cacheKey};return{...a,get:()=>{var t,s,u,l,h,c;let f,d,p,y,m;return t=0,s=a,u=r,l=n,h=i,c=o,f=u.dims,d=l.dims,p=h.length,y=nj(f,d,h,4),m=`
1972        const int XC = ${f[1]};
1973        const int XH = ${f[2]};
1974        const int XW = ${f[3]};
1975        const int KH = ${c.kernelShape[0]};
1976        const int KW = ${c.kernelShape[1]};
1977        const int dilationH = ${c.dilations[0]};
1978        const int dilationW = ${c.dilations[1]};
1979        const int strideH = ${c.strides[0]};
1980        const int strideW = ${c.strides[1]};
1981        const int padH = ${c.pads[0]};
1982        const int padW = ${c.pads[1]};
1983        const int KHKW = KH*KW;
1984        const int XCKHKW = XC * KHKW;
1985        const int outputChannels = 4;
1986        vec4 process(int indices[${p}]) {
1987          int b  = indices[0]; // batch size
1988          int oh = indices[1] * strideH - padH; //output height
1989          int ow = indices[2] * strideW - padW; //output width
1990          int p = indices[3] * outputChannels; //patch
1991          vec4 value = vec4(0.0);
1992          for(int i=0; i < outputChannels; ++i) {
1993            if(p < XCKHKW) {
1994              int patchC = p / KHKW;
1995              int patchH = (p - patchC*KHKW) / KW;
1996              int patchW = (p - patchC*KHKW) - patchH * KW;
1997              int xh2 = oh + patchH * dilationH;
1998              int xw2 = ow + patchW * dilationW;
1999              int x[${f.length}];
2000              x[0] = b;
2001              x[1] = patchC;
2002              x[2] = xh2;
2003              x[3] = xw2;
2004              if(xh2 >= 0 &&
2005                  xh2 < XH &&
2006                  xw2 >= 0 &&
2007                  xw2 < XW) {
2008                value[i] = _X(x);
2009              }
2010            }
2011            ++p;
2012          }
2013          return value;
2014        }
2015        `,{...s,output:{dims:y,type:u.type,textureType:4},shaderSource:m}}}},nj=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4;return[n[0],n[2],n[3],Math.ceil(t[1]*r[2]*r[3]/i)]}}),ax=G(()=>{tP(),tz(),tG(),nP(),aw(),nz=(t,r,n,i)=>{let o,a=(o=r.length>2,{name:"ConvDotProduct",inputNames:o?["Im2Col","K","B"]:["Im2Col","K"],inputTypes:o?[0,4,0]:[0,4],cacheKey:i.activationCacheKey});return{...a,get:()=>((t,r,n,i,o)=>{let a=n[0].dims,s=n[1].dims,u=[s[0],Math.ceil(a[1]*s[2]*s[3]/4)],l=nj(a,s,i),[h,c]=t.calculateTextureWidthAndHeight(u,4),f=tS.computeStrides(l),[d,p]=t.calculateTextureWidthAndHeight(l,4),y=i.length,m=n.length<3?"0.0":"_B(b)",g=Math.ceil(a[1]*s[2]*s[3]/4),{activationFunction:v,applyActivation:b}=nE(o),w=tF(t.session.backend.glContext.version),x=`
2016${v}
2017float process(int indices[${y}]) {
2018  int b[1];
2019  b[0] = indices[1];
2020  int im2col[4];
2021  im2col[0] = indices[0];
2022  im2col[1] = indices[2];
2023  im2col[2] = indices[3];
2024  int im2colOffset = im2col[0] * ${f[0]} + im2col[1] * ${f[1]} + im2col[2] * ${f[2]};
2025  int kernelOffset = indices[1] * ${u[1]};
2026  float value = ${m};
2027  for (int i = 0; i < ${g}; ++i) {
2028    vec2 im2colCoords = offsetToCoords(im2colOffset, ${d}, ${p});
2029    vec2 kernelCoords = offsetToCoords(kernelOffset, ${h}, ${c});
2030    value += dot(${w.texture2D}(Im2Col, im2colCoords), ${w.texture2D}(K, kernelCoords));
2031    ++im2colOffset;
2032    ++kernelOffset;
2033  }
2034  ${b}
2035  return value;
2036}`;return{...r,output:{dims:i,type:n[0].type,textureType:0},shaderSource:x}})(t,a,r,n,i)}}}),a_=G(()=>{rK(),tP(),nk(),ab(),ax(),nP(),aw(),ag(),nG=(t,r,n,i,o)=>{let a=t[0],s=t.slice(2),u=s.length,l=r[0],h=r.slice(2).map((t,r)=>t+(t-1)*(n[r]-1));return[a,l].concat(...s.map((t,r)=>t+i[r]+i[r+u]).map((t,r)=>Math.floor((t-h[r]+o[r])/o[r])))},nV=(t,r,n)=>(nK(r,n),nW(t,r,n)),nW=(t,r,n)=>{let i=nY(n,r),o=t.session.pack,a=1===i.kernelShape[0]&&1===i.kernelShape[1];return i.group>1?[t.run(nA(t,r,i),r)]:a&&o?[nH(t,r,i)]:o&&4===r[0].dims.length&&1===r[0].dims[0]&&!a?[nF(t,r,i)]:[nq(t,r,i)]},nH=(t,r,n)=>{let i=r[0].dims,o=r[1].dims,a=nG(i,o,n.dilations,n.pads,n.strides),s=t.reshapeUnpacked(r[0],[i[1],i[2]*i[3]]),u=t.reshapeUnpacked(r[1],[o[0],o[1]]),l=r.length>2?[u,s,r[2]]:[u,s],h=t.run(n$(l,n),l);return t.reshapeUnpacked(h,a)},nq=(t,r,n)=>{let i=r[0].dims,o=r[1].dims,a=nG(i,o,n.dilations,n.pads,n.strides),s=t.run(nU(t,r[0],r[1],a,n),[r[0]]),u=3===r.length?[s,r[1],r[2]]:[s,r[1]];return t.run(nz(t,r,a,n),u)},nY=(t,r)=>{let n=t.kernelShape.slice();if(0===t.kernelShape.length)for(let t=2;t<r[1].dims.length;++t)n.push(r[1].dims[t]);let i=t.pads.slice();tO.adjustPadsBasedOnAutoPad(r[0].dims,t.strides,t.dilations,n,i,t.autoPad);let o=Object.assign({},t);return Object.assign(o,{kernelShape:n,pads:i,cacheKey:t.cacheKey}),o},nX=t=>{let r=t.attributes,n=nO(r),i=r.getString("auto_pad","NOTSET"),o=r.getInts("dilations",[1,1]),a=r.getInt("group",1),s=r.getInts("kernel_shape",[]),u=r.getInts("pads",[0,0,0,0]),l=r.getInts("strides",[1,1]);return ra({autoPad:i,dilations:o,group:a,kernelShape:s,pads:u,strides:l,...n})},nK=(t,r)=>{if(!t||2!==t.length&&3!==t.length)throw Error("Conv requires 2 or 3 inputs");if(4!==t[0].dims.length||4!==t[1].dims.length)throw Error("currently only support 2-dimensional conv");if(t[0].dims[1]!==t[1].dims[1]*r.group)throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(3===t.length&&(1!==t[2].dims.length||t[1].dims[0]!==t[2].dims[
20360]))throw Error("invalid bias");let n=t[0].dims.length-2;if(r.dilations.length!==n)throw Error(`dilations should be ${n}D`);if(r.strides.length!==n)throw Error(`strides should be ${n}D`);if(r.pads.length!==2*n)throw Error(`pads should be ${2*n}D`);if(0!==r.kernelShape.length&&r.kernelShape.length!==t[1].dims.length-2)throw Error("invalid kernel shape");if("float32"!==t[0].type||"float32"!==t[1].type)throw Error("Conv input(X,W) should be float tensor");if(3===t.length&&"float32"!==t[2].type)throw Error("Conv input(bias) should be float tensor")}}),aT=G(()=>{rK(),tz(),tG(),nP(),nZ=(t,r,n,i,o,a)=>(t-1)*r+n+(i-1)*o+1-a,nJ=(t,r,n,i,o)=>{let a=Math.floor(t/2);"SAME_UPPER"===r?(n[i]=a,n[o]=t-a):"SAME_LOWER"===r&&(n[i]=t-a,n[o]=a)},nQ=(t,r,n)=>(n5(r,n),n1(t,r,n)),n1=(t,r,n)=>{let i=n3(n,r);return[n0(t,r,i)]},n0=(t,r,n)=>{var i,o,a;let s,u;return t.run((i=t,o=r,a=n,{...u=(s=o.length>2,{name:"ConvTranspose",inputNames:s?["X","W","B"]:["X","W"],inputTypes:s?[0,0,0]:[0,0],cacheHint:a.cacheKey}),get:()=>((t,r,n,i)=>{let o=r.length>2?"getB(output_channel)":"0.0",a=r[0].dims,s=r[1].dims,u=s[1],l=s[0]/i.group,h=[r[0].dims[0],r[1].dims[1]*i.group,...i.outputShape],c=tF(t.session.backend.glContext.version),{activationFunction:f,applyActivation:d}=nE(i),p=`
2037  const ivec2 strides = ivec2(${i.strides[0]}, ${i.strides[1]});
2038  const ivec2 pads = ivec2(${i.pads[0]}, ${i.pads[1]});
2039  ${f}
2040  void main() {
2041    ivec4 coords = getOutputCoords();
2042    int batch = coords.x;
2043    int output_channel = coords.y;
2044
2045    ivec2 loc = coords.zw + pads;
2046
2047    int group_id = output_channel / ${u};
2048    int wOutChannel = output_channel - group_id * ${u};
2049
2050    float value = ${o};
2051    for (int inChannelOffset = 0; inChannelOffset < ${l}; inChannelOffset++) {
2052      int input_channel = group_id * ${l} + inChannelOffset;
2053      for (int wWOff = 0; wWOff < ${s[2]}; wWOff++) {
2054        for (int wHOff = 0; wHOff < ${s[3]}; wHOff++) {
2055          ivec2 wOff = ivec2(wWOff * ${i.dilations[0]}, wHOff * ${i.dilations[1]});
2056          ivec2 wLoc = loc - wOff;
2057          ivec2 wLocIn = wLoc / strides;
2058          if (
2059            wLocIn * strides == wLoc &&
2060            wLocIn.x >= 0 && wLocIn.x < ${a[2]} &&
2061            wLocIn.y >= 0 && wLocIn.y < ${a[3]}
2062          ) {
2063            float xVal = getX(batch, input_channel, wLocIn.y, wLocIn.x);
2064            float wVal = getW(input_channel, wOutChannel, wHOff, wWOff);
2065            value += xVal * wVal;
2066          }
2067        }
2068      }
2069    }
2070    ${d}
2071    ${c.output} = vec4(value, .0, .0, .0);
2072  }
2073`;return{...n,output:{dims:h,type:r[0].type,textureType:0},shaderSource:p,hasMain:!0}})(i,o,u,a)}),r)},n3=(t,r)=>{let n=t.kernelShape.slice();if(0===t.kernelShape.length)for(let t=2;t<r[1].dims.length;++t)n.push(r[1].dims[t]);let i=t.pads.slice(),o=t.outputShape.slice();((t,r,n,i,o,a,s,u)=>{let l=t.length-2,h=0===u.length;for(let c=0;c<l;++c){let f=h?t[c+2]*a[c]:u[c];nJ(nZ(t[c+2],a[c],o[c],r[c],n[c],f),i,o,c,c+l),h&&u.push(a[c]*(t[c+2]-1)+s[c]+(r[c]-1)*n[c]+1-o[c]-o[c+l])}})(r[0].dims,n,t.dilations,t.autoPad,i,t.strides,t.outputPadding,o);let a=Object.assign({},t);return Object.assign(a,{kernelShape:n,pads:i,outputShape:o,cacheKey:t.cacheKey}),a},n6=t=>{let r=t.attributes,n=nO(r),i=r.getString("auto_pad","NOTSET"),o=r.getInts("dilations",[1,1]),a=r.getInt("group",1),s=r.getInts("kernel_shape",[]),u=r.getInts("output_padding",[0,0]),l=r.getInts("output_shape",[]),h=r.getInts("pads",[0,0,0,0]),c=r.getInts("strides",[1,1]);return ra({autoPad:i,dilations:o,group:a,kernelShape:s,outputPadding:u,outputShape:l,pads:h,strides:c,...n})},n5=(t,r)=>{if(!t||2!==t.length&&3!==t.length)throw Error("Conv requires 2 or 3 inputs");if(4!==t[0].dims.length||4!==t[1].dims.length)throw Error("currently only support 2-dimensional conv");if(t[0].dims[1]!==t[1].dims[0])throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let n=t[1].dims[1]*r.group;if(3===t.length&&(1!==t[2].dims.length||t[2].dims[0]!==n))throw Error("invalid bias");let i=t[0].dims.length-2;if(r.dilations.length!==i)throw Error(`dilations should be ${i}D`);if(r.strides.length!==i)throw Error(`strides should be ${i}D`);if(r.pads.length!==2*i)throw Error(`pads should be ${2*i}D`);
2073if(r.outputPadding.length!==i)throw Error(`output_padding should be ${i}D`);if(0!==r.kernelShape.length&&r.kernelShape.length!==t[1].dims.length-2)throw Error("invalid kernel shape");if(0!==r.outputShape.length&&r.outputShape.length!==t[0].dims.length-2)throw Error("invalid output shape");if("float32"!==t[0].type||"float32"!==t[1].type)throw Error("ConvTranspose input(X,W) should be float tensor");if(3===t.length&&"float32"!==t[2].type)throw Error("ConvTranspose input(bias) should be float tensor")}}),aS=G(()=>{rK(),tP(),tG(),n9={name:"Transpose",inputNames:["A"],inputTypes:[0]},n2=(t,r,n)=>(ir(r),[t.run({...n9,cacheHint:n.cacheKey,get:()=>n8(t,r[0],n.perm)},r)]),n7=t=>ra({perm:t.attributes.getInts("perm",[])}),n8=(t,r,n)=>{let i=r.dims;n=n4(i,n);let o=ie(i,n),a=i.length,s=`
2074      ${it("perm",n,a)}
2075      float process(int indices[${a}]) {
2076        int a[${a}];
2077        perm(a, indices);
2078        return _A(a);
2079      }`;return{...n9,output:{dims:o,type:r.type,textureType:0},shaderSource:s}},n4=(t,r)=>(r&&r.length!==t.length&&(r=[...t.keys()].reverse()),r),ie=(t,r)=>(r=n4(t,r),tS.sortBasedOnPerm(t,r)),it=(t,r,n)=>{let i=[];i.push(`void ${t}(out int a[${n}], int src[${n}]) {`);for(let t=0;t<n;++t)i.push(`	a[${r[t]}]=src[${t}];`);return i.push("	}"),i.join(`
2080`)},ir=t=>{if(!t||1!==t.length)throw Error("Transpose requires 1 input.");if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("input should be float tensor")}}),aE=G(()=>{aS(),ii=(t,r,n)=>{ia(r);let i=n.blocksize,o=i*i,a="DCR"===n.mode?[0,3,4,1,5,2]:[0,1,4,2,5,3],s="DCR"===n.mode?[r[0].dims[0],i,i,r[0].dims[1]/o,r[0].dims[2],r[0].dims[3]]:[r[0].dims[0],r[0].dims[1]/o,i,i,r[0].dims[2],r[0].dims[3]],u=t.reshapeUnpacked(r[0],s),l={perm:a,cacheKey:`${a}`},[h]=n2(t,[u],l),c=[r[0].dims[0],r[0].dims[1]/o,r[0].dims[2]*i,r[0].dims[3]*i];return[t.reshapeUnpacked(h,c)]},io=t=>{let r=t.attributes.getInt("blocksize");if(r<1)throw Error(`blocksize must be >= 1, but got : ${r} for DepthToSpace`);let n=t.attributes.getString("mode","DCR");if("DCR"!==n&&"CRD"!==n)throw Error(`unrecognized mode: ${n} for DepthToSpace`);return{mode:n,blocksize:r}},ia=t=>{if(1!==t.length)throw Error(`DepthToSpace expect 1 inputs, but got ${t.length}`);if("string"===t[0].type||4!==t[0].dims.length)throw TypeError("DepthToSpace input should be a 4-D numeric tensor")}}),aO=G(()=>{tP(),is=(t,r,n)=>{il(r,n);let i=tS.flattenShape(r[0].dims,n);return[t.reshapeUnpacked(r[0],i)]},iu=t=>t.attributes.getInt("axis",1),il=(t,r)=>{if(!t||1!==t.length)throw Error("Flatten requires 1 input.");let n=t[0].dims.length;if(0===n)throw Error("scalar tensor is not supported.");if(r<-n||r>n)throw Error("Invalid axis");if("string"===t[0].type)throw Error("string tensor is not supported.")}}),aA=G(()=>{ih=["float32","float64","int32","int16","int8","uint16","uint32","uint8"]}),aI=G(()=>{rK(),aA(),tP(),tG(),ic=(t,r,n)=>(im(r,n.axis),[t.run(iy(t,r,n),r)]),id=t=>ra({axis:t.attributes.getInt("axis",0)}),ip={name:"Gather",inputNames:["A","B"],inputTypes:[0,0]},iy=(t,r,n)=>{let i={...ip,cacheHint:n.cacheKey};return{...i,get:()=>((t,r,n,i)=>{let o=n[0].dims.slice(),a=n[1].dims.slice(),s=Array(o.length+a.length-1);i=tS.normalizeAxis(i,o.length);let u=[];for(let t=0;t<s.length;t++)t<i?(s[t]=o[t],u.push(`inputIdx[${t}] = outputIdx[${t}];`)):t<i+a.length?(s[t]=a[t-i],u.push(`indexDataIdx[${t-i}] = outputIdx[${t}];`)):(s[t]=o[t-a.length+1],u.push(`inputIdx[${t-a.length+1}] = outputIdx[${t}];`));let l=`
2081      float process(int outputIdx[${s.length||1}]) {
2082        int inputIdx[${o.length}];
2083        int indexDataIdx[${a.length||1}];
2084        indexDataIdx[0] = 0;
2085        ${u.join(`
2086        `)}
2087        int idx = int(_B(indexDataIdx));
2088        inputIdx[${i}] = idx < 0 ? idx + ${o[i]} : idx;
2089        return _A(inputIdx);
2090      }`;return{...r,output:{dims:s,type:n[0].type,textureType:0},shaderSource:l}})(0,i,r,n.axis)}},im=(t,r)=>{if(!t||2!==t.length)throw Error("Gather requires 2 inputs.");let n=t[0].dims.length;if(n<1)throw Error("Invalid input shape.");if(r<-n||r>n-1)throw Error("Invalid axis.");if(-1===ih.indexOf(t[0].type)||"int32"!==t[1].type&&"int16"!==t[1].type)throw Error("Invaid input type.")}}),aP=G(()=>{rK(),tP(),tG(),ig=(t,r,n)=>(iT(r,n),[t.run(ix(r,n),r)]),iv=(t,r)=>{let n=0!==t.attributes.getInt("transA",0),i=0!==t.attributes.getInt("transB",0),o=t.attributes.getFloat("alpha",1),a=t.attributes.getFloat("beta",1);return ra({transA:n,transB:i,alpha:o,beta:a,isOptionalC:r})},ib=t=>iv(t,!1),iw=t=>iv(t,!0),ix=(t,r)=>{let n={name:"Gemm",inputNames:3===t.length?["A","B","C"]:["A","B"],inputTypes:3===t.length?[0,0,0]:[0,0],key:r.cacheKey};return{...n,get:()=>i_(n,t,r)}},i_=(t,r,n)=>{let i=r[0].dims.slice(),o=r[1].dims.slice(),[a,s]=tx.getShapeOfGemmResult(i,n.transA,o,n.transB,3===r.length?r[2].dims:void 0),u=[a,s];if(!u)throw Error("Can't use gemm on the given tensors");let l=i[i.length-1],h="";n.transA&&(l=i[0]),n.transA&&n.transB?h="value += _A_T(a) * _B_T(b);":n.transA&&!n.transB?h="value += _A_T(a) * _B(b);":!n.transA&&n.transB?h="value += _A(a) * _B_T(b);":n.transA||n.transB||(h="value += _A(a) * _B(b);");let c=u.length,f=`
2091      float process(int indices[${c}]) {
2092          int a[${c}];
2093          int b[${c}];
2094          ${3===r.length?`int c[${r[2].dims.length}];`:""}
2095
2096          copyVec(indices, a);
2097          copyVec(indices, b);
2098          ${3===r.length?"bcastIndices_C(indices, c);":""}
2099
2100          float value = 0.0;
2101          for (int k=0; k<${l}; ++k) {
2102              a[${c-1}] = k;
2103              b[${c-2}] = k;
2104              ${h}
2105          }
2106
2107          value = value * alpha;
2108          ${3===r.length?"value += beta * _C(c);":""}
2109          return value;
2110      }`;return{...t,output:{dims:u,type:r[0].type,textureType:0},variables:[{name:"alpha",type:"float",data:n.alpha},{name:"beta",type:"float",data:n.beta}],shaderSource:f}},iT=(t,r)=>{if(!t)throw Error("Input is missing");if(r.isOptionalC&&(t.length<2||t.length>3))throw Error("Invaid input shape.");if(!r.isOptionalC&&3!==t.length)throw Error("Gemm requires 3 inputs");if(3===t.length&&1!==t[2].dims.length&&2!==t[2].dims.length)throw Error("Invalid input shape of C");if("float32"!==t[0].type&&"float64"!==t[0].type||"float32"!==t[1].type&&"float64"!==t[1].type||3===t.length&&"float32"!==t[2].type&&"float64"!==t[2].type)throw Error("Invalid input type.");if(t[0].type!==t[1].type||3===t.length&&t[0].type!==t[2].type)throw Error("Input types are mismatched")}}),ak=G(()=>{rK(),tG(),iS=(t,r,n)=>(iP(r),[t.run(iA(t,r,n),r)]),iE=t=>{let r=t.attributes.getFloat("scale"),n=t.attributes.getFloats("bias");return ra({scale:r,bias:n})},iO={name:"ImageScaler",inputNames:["X"],inputTypes:[0]},iA=(t,r,n)=>{let i={...iO,cacheHint:n.cacheKey};return{...i,get:()=>{var t,o,a,s;let u,l,h;return t=0,o=i,a=r,s=n,l=(u=a[0].dims.slice()).length,h=`
2111      ${iI(s.bias.length)}
2112      float process(int indices[${l}]) {
2113        return _X(indices) * scale + getBias(bias, indices[1]);
2114      }`,{...o,output:{dims:u,type:a[0].type,textureType:0},variables:[{name:"bias",type:"float",arrayLength:s.bias.length,data:s.bias},{name:"scale",type:"float",data:s.scale}],shaderSource:h}}}},iI=t=>{let r=[`float getBias(float bias[${t}], int channel) {`];for(let n=0;n<t;++n)0===n?r.push(`	if (channel == ${n}) { return bias[${n}]; }`):n===t-1?r.push(`	else { return bias[${n}]; }`):r.push(`	else if (channel == ${n}) { return bias[${n}]; }`);return r.push("	}"),r.join(`
2115`)},iP=t=>{if(!t||1!==t.length)throw Error("ImageScaler requires 1 input.");if(4!==t[0].dims.length)throw Error("Invalid input shape.");if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("Invalid input type.")}}),aC=G(()=>{tz(),tG(),ik=(t,r,n)=>{iL(r);let i=t.run(iR(r[0]),r);return[t.run(iM(t,r[0],n,i.dims),[r[0],i,r[1],r[2]])]},iC=t=>t.attributes.getFloat("epsilon",1e-5),i$={name:"InstanceNormalization_MeanAndVariance",inputNames:["X"],inputTypes:[0]},iR=t=>({...i$,get:()=>{var r,n;let i,o,a,s,u;return r=i$,o=(i=(n=t).dims.slice())[1],a=i[2]*i[3],s=[i[0],o],u=`
2116      vec4 process(int[2] indices) {
2117        vec4 v = vec4(0.0);
2118        int a[4];
2119        a[0] = indices[0];
2120        a[1] = indices[1];
2121        float temp = 0.0;
2122        for(int a2=0; a2<${i[2]}; a2++) {
2123          a[2] = a2;
2124          for(int a3=0; a3<${i[3]}; a3++) {
2125            a[3] = a3;
2126            float x = _X(a);
2127            temp += x;
2128          }
2129        }
2130        float mean = temp / float(${a});
2131        temp = 0.0;
2132        for(int a2=0; a2<${i[2]}; a2++) {
2133          a[2] = a2;
2134          for(int a3=0; a3<${i[3]}; a3++) {
2135            a[3] = a3;
2136            float x = _X(a);
2137            temp += (x - mean) * (x - mean);
2138          }
2139        }
2140        v.r = mean;
2141        v.g = temp / float(${a});
2142
2143        return v;
2144      }`,{...r,output:{dims:s,type:n.type,textureType:4},shaderSource:u}}}),iD={name:"InstanceNormalization_ComputeOutput",inputNames:["X","MeanAndVariance","Scale","B"],inputTypes:[0,4,0,0]},iM=(t,r,n,i)=>{let o={...iD,cacheHint:`${n}`};return{...o,get:()=>((t,r,n,i,o)=>{let a=tF(t.session.backend.glContext.version),[s,u]=t.calculateTextureWidthAndHeight(o,4),[l,h]=[s/4,u],c=`
2145      vec4 get_MeanAndVariance(int[2] mv) {
2146        int offset = indicesToOffset_MeanAndVariance(mv);
2147        vec2 coords = offsetToCoords(offset, ${l}, ${h});
2148        return ${a.texture2D}(MeanAndVariance, coords);
2149      }
2150
2151      float process(int[4] indices) {
2152        int mv[2];
2153        mv[0] = indices[0];
2154        mv[1] = indices[1];
2155        vec4 mean_and_variance = get_MeanAndVariance(mv);
2156        float mean = mean_and_variance.r;
2157        float variance = mean_and_variance.g;
2158
2159        int sb[1];
2160        sb[0] = indices[1];
2161        float scale = _Scale(sb);
2162        float b = _B(sb);
2163
2164        return scale * (_X(indices) - mean) / sqrt(variance + epsilon) + b;
2165      }`;return{...r,output:{dims:n.dims,type:n.type,textureType:0},variables:[{name:"epsilon",type:"float",data:i}],shaderSource:c}})(t,o,r,n,i)}},iL=t=>{if(!t||3!==t.length)throw Error("InstanceNormalization requires 3 inputs.");let r=t[0],n=t[1],i=t[2];if(r.dims.length<3||1!==n.dims.length||1!==i.dims.length)throw Error("Invalid input shape.");
2165if(n.dims[0]!==r.dims[1]||i.dims[0]!==r.dims[1])throw Error("Input shapes are mismatched.");if("float32"!==r.type&&"float64"!==r.type||"float32"!==n.type&&"float64"!==n.type||"float32"!==i.type&&"float64"!==i.type)throw Error("Invalid input type.");if(4!==t[0].dims.length)throw Error("Only support 4-D input shape.")}}),a$=G(()=>{rK(),tG(),iB=(t,r,n)=>(iU(r),[t.run({...iF,cacheHint:n.cacheKey,get:()=>{let t,i,o,a,s,u;return t=r[0].dims[1],i=r[0].dims.length,o=-Math.floor((n.size-1)/2),a=Math.ceil((n.size-1)/2),s=`float(${n.alpha}) / float(${n.size})`,u=`
2166    float process(int indices[${i}]) {
2167        int c = indices[1];
2168        float x = _X(indices);
2169        float square_sum = 0.0;
2170
2171        for (int i = ${o}; i <= ${a}; i++) {
2172          int idx = c + i;
2173          if (c >= 0 && c < ${t}) {
2174            indices[1] = idx;
2175            float j = _X(indices);
2176            square_sum += j * j;
2177          }
2178        }
2179        return x / pow(float(${n.bias}) + ${s} * square_sum, float(${n.beta}));
2180    }`,{...iF,cacheHint:n.cacheKey,output:{dims:r[0].dims,type:r[0].type,textureType:0},shaderSource:u}}},r)]),iN=t=>{let r=t.attributes.getFloat("alpha",1e-4),n=t.attributes.getFloat("beta",.75),i=t.attributes.getFloat("bias",1),o=t.attributes.getInt("size");return ra({alpha:r,beta:n,bias:i,size:o})},iF={name:"LRN",inputNames:["X"],inputTypes:[0]},iU=t=>{if(!t||1!==t.length)throw Error("LRN requires 1 input.");if(4!==t[0].dims.length)throw Error('currently only support LRN for input with "NCHW" format');if("float32"!==t[0].type)throw Error("input should be float type")}}),aR=G(()=>{rK(),tP(),tz(),tG(),ij={name:"Pad",inputNames:["A"],inputTypes:[0]},iz=(t,r,n)=>(iY(r),[t.run({...ij,cacheHint:n.cacheKey,get:()=>iq(t,r[0],n)},r)]),iG=t=>{let r=t.attributes.getString("mode","constant"),n=t.attributes.getFloat("value",0),i=t.attributes.getInts("pads");return ra({mode:r,value:n,pads:i})},iV=(t,r,n)=>{iX(r);let i=iH(t,r,n);return iz(t,[r[0]],i)},iW=t=>t.attributes.getString("mode","constant"),iH=(t,r,n)=>{if(!t.session.isInitializer(r[1].dataId)||r.length>=3&&!t.session.isInitializer(r[2].dataId))throw Error("dynamic pad attributes are not allowed");let i=Array.from(r[1].integerData),o=r.length>=3?r[2].floatData[0]:0;return ra({mode:n,pads:i,value:o})},iq=(t,r,n)=>{let i=tS.padShape(r.dims.slice(),n.pads),o=i.length,a=`
2181      ${iK(t,r,n)}
2182      float process(int[${o}] indices) {
2183          return padA(indices);
2184      }`;return{name:"Pad",inputNames:["A"],inputTypes:[0],output:{dims:i,type:r.type,textureType:0},shaderSource:a}},iY=t=>{if(!t||1!==t.length)throw Error("Pad requires 1 input");if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("Invalid input type.")},iX=t=>{if(!t||2!==t.length&&3!==t.length)throw Error("Pad requires 2 or 3 inputs");if("int32"!==t[1].type||t.length>=3&&"string"===t[2].type)throw Error("Invalid input type.")},iK=(t,r,n)=>{let i=tF(t.session.backend.glContext.version),[o,a]=t.calculateTextureWidthAndHeight(r.dims,0),s=tS.computeStrides(r.dims);switch(n.mode){case"constant":return iZ(i,r.dims,s,o,a,n.pads,n.value);case"reflect":return iJ(i,r.dims,s,o,a,n.pads);case"edge":return iQ(i,r.dims,s,o,a,n.pads);default:throw Error("Invalid mode")}},iZ=(t,r,n,i,o,a,s)=>{let u=r.length,l="";for(let t=u-1;t>=0;--t)l+=`
2185        k = m[${t}] - ${a[t]};
2186        if (k < 0)  return constant;
2187        if (k >= ${r[t]}) return constant;
2188        offset += k * ${n[t]};
2189        `;return`
2190      float padA(int m[${u}]) {
2191        const float constant = float(${s});
2192        int offset = 0;
2193        int k = 0;
2194        ${l}
2195        vec2 coords = offsetToCoords(offset, ${i}, ${o});
2196        float value = getColorAsFloat(${t.texture2D}(A, coords));
2197        return value;
2198      }
2199      `},iJ=(t,r,n,i,o,a)=>{let s=r.length,u="";for(let t=s-1;t>=0;--t)u+=`
2200        k = m[${t}] - ${a[t]};
2201        if (k < 0) { k = -k; }
2202        {
2203          const int _2n_1 = ${2*(r[t]-1)};
2204          k = int( mod( float(k), float(_2n_1) ) ) ;
2205          if(k >= ${r[t]}) { k = _2n_1 - k; }
2206        }
2207        offset += k * ${n[t]};
2208        `;return`
2209      float padA(int m[${s}]) {
2210        int offset = 0;
2211        int k = 0;
2212        ${u}
2213        vec2 coords = offsetToCoords(offset, ${i}, ${o});
2214        float value = getColorAsFloat(${t.texture2D}(A, coords));
2215        return value;
2216      }
2217      `},iQ=(t,r,n,i,o,a)=>{let s=r.length,u="";for(let t=s-1;t>=0;--t)u+=`
2218        k = m[${t}] - ${a[t]};
2219        if (k < 0)  k = 0;
2220        if (k >= ${r[t]}) k = ${r[t]-1};
2221        offset += k * ${n[t]};
2222      `;return`
2223      float padA(int m[${s}]) {
2224        int offset = 0;
2225        int k = 0;
2226        ${u}
2227        vec2 coords = offsetToCoords(offset, ${i}, ${o});
2228        float value = getColorAsFloat(${t.texture2D}(A, coords));
2229        return value;
2230      }
2231      `}}),aD=G(()=>{rK(),tP(),tG(),i1=(t,r,n)=>{or(r);
2231let i={name:"AveragePool",inputNames:["X"],inputTypes:[0],cacheHint:n.cacheKey};return[t.run({...i,get:()=>i3(r,i,!1,n)},r)]},i0=t=>{let r=t.attributes.getString("auto_pad","NOTSET"),n=t.attributes.getInt("ceil_mode",0),i=0!==t.attributes.getInt("count_include_pad",0),o=t.attributes.getInts("kernel_shape"),a=t.attributes.getInts("strides",[]),s=t.attributes.getInts("pads",[]);if(0!==n)throw Error("using ceil() in shape computation is not yet supported for AveragePool");return ra({autoPad:r,ceilMode:n,countIncludePad:i,kernelShape:o,strides:a,pads:s})},i3=(t,r,n,i)=>{let[o,a]=i8(t,i,n),s=tS.size(o.kernelShape),u="";o.countIncludePad?u+=`value /= float(${s});`:u+=`value /= float(${s} - pad);`;let l=`
2232        ${on(t[0].dims,o,"value += _X(x);",u,"0.0")}
2233      `;return{...r,output:{dims:a,type:t[0].type,textureType:0},shaderSource:l}},i6=(t,r,n)=>{or(r);let i={name:"GlobalAveragePool",inputNames:["X"],inputTypes:[0],cacheHint:`${n.countIncludePad}`};return[t.run({...i,get:()=>i3(r,i,!0,n)},r)]},i5=t=>{let r=0!==t.attributes.getInt("count_include_pad",0);return ra({autoPad:"",ceilMode:0,countIncludePad:r,kernelShape:[],strides:[],pads:[]})},i9=(t,r,n)=>{or(r);let i={name:"MaxPool",inputNames:["X"],inputTypes:[0],cacheHint:n.cacheKey};return[t.run({...i,get:()=>i7(r,i,!1,n)},r)]},i2=t=>{let r=t.attributes.getString("auto_pad","NOTSET"),n=t.attributes.getInt("ceil_mode",0),i=t.attributes.getInts("kernel_shape"),o=t.attributes.getInts("strides",[]),a=t.attributes.getInts("pads",[]),s=t.attributes.getInt("storage_order",0),u=t.attributes.getInts("dilations",[]);if(0!==s)throw Error("column major storage order is not yet supported for MaxPool");if(0!==n)throw Error("using ceil() in shape computation is not yet supported for MaxPool");return ra({autoPad:r,ceilMode:n,countIncludePad:!1,kernelShape:i,strides:o,pads:a,storageOrder:s,dilations:u})},i7=(t,r,n,i)=>{let[o,a]=i8(t,i,n),s=`
2234      ${on(t[0].dims,o,`
2235      value = max(_X(x), value);
2236    `,"","-1e5")}
2237    `;return{...r,output:{dims:a,type:t[0].type,textureType:0},shaderSource:s}},i8=(t,r,n)=>{let i=t[0].dims.slice(),o=Object.hasOwnProperty.call(r,"dilations"),a=r.kernelShape.slice(),s=r.strides.slice(),u=o?r.dilations.slice():[],l=r.pads.slice();tO.adjustPoolAttributes(n,i,a,s,u,l);let h=tO.computePoolOutputShape(n,i,s,u,a,l,r.autoPad),c=Object.assign({},r);return o?Object.assign(c,{kernelShape:a,strides:s,pads:l,dilations:u,cacheKey:r.cacheKey}):Object.assign(c,{kernelShape:a,strides:s,pads:l,cacheKey:r.cacheKey}),[c,h]},i4={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[],cacheKey:""},oe={name:"GlobalMaxPool",inputNames:["X"],inputTypes:[0]},ot=(t,r)=>(or(r),[t.run({...oe,get:()=>i7(r,oe,!0,i4)},r)]),or=t=>{if(!t||1!==t.length)throw Error("Pool ops requires 1 input.");if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("Invalid input type.")},on=(t,r,n,i,o)=>{let a=t.length;if(r.kernelShape.length<=2){let s=r.kernelShape[r.kernelShape.length-1],u=r.strides[r.strides.length-1],l=r.pads[r.pads.length/2-1],h=r.pads[r.pads.length-1],c=t[a-1],f="",d="",p="";if(f=l+h!==0?`
2238          for (int i = 0; i < ${s}; i++) {
2239            x[${a} - 1] = indices[${a} - 1] * ${u} - ${l} + i;
2240            if (x[${a} - 1] < 0 || x[${a} - 1] >= ${c}) {
2241              pad++;
2242              continue;
2243            }
2244            ${n}
2245          }`:`
2246          for (int i = 0; i < ${s}; i++) {
2247            x[${a} - 1] = indices[${a} - 1] * ${u} - ${l} + i;
2248            ${n}
2249          }`,2===r.kernelShape.length){let n=r.kernelShape[r.kernelShape.length-2],i=r.strides[r.strides.length-2],o=r.pads[r.pads.length/2-2],u=r.pads[r.pads.length-2],l=t[a-2];d=o+u!==0?`
2250            for (int j = 0; j < ${n}; j++) {
2251              x[${a} - 2] = indices[${a} - 2] * ${i} - ${o} + j;
2252              if (x[${a} - 2] < 0 || x[${a} - 2] >= ${l}) {
2253                pad+= ${s};
2254                continue;
2255              }
2256          `:`
2257            for (int j = 0; j < ${n}; j++) {
2258              x[${a} - 2] = indices[${a} - 2] * ${i} - ${o} + j;
2259            `,p=`
2260          }
2261        `}return`
2262        float process(int indices[${a}]) {
2263          int x[${a}];
2264          copyVec(indices, x);
2265
2266          float value = ${o};
2267          int pad = 0;
2268          ${d}
2269          ${f}
2270          ${p}
2271          ${i}
2272          return value;
2273        }
2274      `}{let s=tS.size(r.kernelShape),u=tS.computeStrides(r.kernelShape),l=u.length,h=r.pads.length,c=oo(l),f=oi(t,"inputDims"),d=oi(r.pads,"pads"),p=oi(u,"kernelStrides"),y=oi(r.strides,"strides"),m="";return m=r.pads.reduce((t,r)=>t+r)?`
2275            if (x[j] >= inputDims[j] || x[j] < 0) {
2276              pad++;
2277              isPad = true;
2278              break;
2279            }
2280          }
2281          if (!isPad) {
2282            ${n}
2283          }`:`
2284          }
2285          ${n}
2286        `,`
2287        ${c}
2288        float process(int indices[${a}]) {
2289          int x[${a}];
2290          copyVec(indices, x);
2291          int offset[${l}];
2292          int pads[${h}];
2293          int inputDims[${a}];
2294          int kernelStrides[${l}];
2295          int strides[${l}];
2296          ${d}
2297          ${f}
2298          ${y}
2299          ${p}
2300
2301          float value = ${o};
2302          int pad = 0;
2303          bool isPad = false;
2304          for (int i = 0; i < ${s}; i++) {
2305            offsetToIndices(i, kernelStrides, offset);
2306            isPad = false;
2307            for (int j = ${a} - ${l}; j < ${a}; j++) {
2308              x[j] = indices[j] * strides[j - ${a} + ${l}]
2309                + offset[j - ${a} + ${l}] - pads[j - 2];
2310              ${m}
2311          }
2312          ${i}
2313
2314          return value;
2315        }
2316      `}},oi=(t,r)=>{let n="";for(let i=0;i<t.length;i++)n+=`
2317      ${r}[${i}] = ${t[i]};
2318    `;return n},oo=t=>`
2319  void offsetToIndices(int offset, int[${t}] strides, out int[${t}] indices) {
2320    if (${t} == 0) {
2321      return;
2322    }
2323    for (int i = 0; i < ${t} - 1; ++i) {
2324      indices[i] = offset / strides[i];
2325      offset -= indices[i] * strides[i];
2326    }
2327    indices[${t} - 1] = offset;
2328  }`}),aM=G(()=>{rK(),aA(),tP(),tG(),oa=(t,r,n,i,o)=>{ol(r);let a={name:i,inputNames:["A"],inputTypes:[0]};return[t.run({...a,cacheHint:n.cacheKey,get:()=>ou(t,r,n,i,o,a)},r)]},os=t=>{let r=t.attributes.getInts("axes",[]),n=1===t.attributes.getInt("keepdims",1);return ra({axes:r,keepDims:n})},ou=(t,r,n,i,o,a)=>{let s=[],u=r[0].dims.length||1,l=[],h=tS.normalizeAxes(n.axes,r[0].dims.length),c=o(r,h),f=c[1];for(let t=0;t<r[0].dims.length;t++)h.indexOf(t)>=0||0===h.length?(n.keepDims&&s.push(1),f=`
2329          for(int j${t} = 0; j${t} < ${r[0].dims[t]}; j${t}++) {
2330            inputIdx[${t}] = j${t};
2331            ${f}
2332          }`):(l.push(`inputIdx[${t}] = outputIdx[${s.length}];`),s.push(r[0].dims[t]));let d=`
2333      float process(int outputIdx[${s.length||1}]) {
2334        float value;                 // final result
2335        int inputIdx[${u}];      // addressing input data
2336        ${l.join(`
2337`)}
2338        ${c[0]}       // init ops for reduce max/min
2339        ${f}
2340        ${c[2]}       // final computation for reduce mean
2341        return value;
2342      }`;return{...a,output:{dims:s,type:r[0].type,textureType:0},shaderSource:d}},ol=t=>{if(!t||1!==t.length)throw Error("Reduce op requires 1 input.");if(-1===ih.indexOf(t[0].type))throw Error("Invalid input type.")},oh=(t,r,n)=>oa(t,r,n,"ReduceSum",()=>["value = 0.0;","value += _A(inputIdx);",""]),oc=(t,r,n)=>oa(t,r,n,"ReduceMean",(t,r)=>{let n=1;for(let i=0;i<t[0].dims.length;i++)(r.indexOf(i)>=0||0===r.length)&&(n*=t[0].dims[i]);return["value = 0.0;","value += _A(inputIdx);",`value /= ${n}.;`]}),of=(t,r,n)=>oa(t,r,n,"ReduceMax",(t,r)=>{let n=[];for(let i=0;i<t[0].dims.length;i++)(r.indexOf(i)>=0||0===r.length)&&n.push(`inputIdx[${i}] = 0;`);return[`${n.join(`
2343`)}
2344value = _A(inputIdx);`,"value = max(value, _A(inputIdx));",""]}),od=(t,r,n)=>oa(t,r,n,"ReduceMin",(t,r)=>{let n=[];for(let i=0;i<t[0].dims.length;i++)(r.indexOf(i)>=0||0===r.length)&&n.push(`inputIdx[${i}] = 0;`);return[`${n.join(`
2345`)}
2346value = _A(inputIdx);`,"value = min(value, _A(inputIdx));",""]}),op=(t,r,n)=>oa(t,r,n,"ReduceProd",()=>["value = 1.0;","value *= _A(inputIdx);",""]),oy=(t,r,n)=>oa(t,r,n,"ReduceLogSum",()=>["value = 0.0;","value += _A(inputIdx);","value = log(value);"]),om=(t,r,n)=>oa(t,r,n,"ReduceLogSumSquare",()=>["float t; value = 0.0;","t = _A(inputIdx); value += t * t;",""])}),aL=G(()=>{tP(),og=(t,r)=>{let n=tS.calculateReshapedDims(r[0].dims,r[1].integerData);return t.session.pack?[t.reshapePacked(r[0],n)]:[t.reshapeUnpacked(r[0],n)]}}),aB=G(()=>{rK(),tz(),tG(),ov={name:"Upsample",inputNames:["X"],inputTypes:[0]},ob=(t,r,n)=>(oS(r,n),[t.run({...ov,cacheHint:n.cacheKey,get:()=>oT(t,r,n)},r)]),ow=t=>o_(t,7),ox=t=>o_(t,9),o_=(t,r)=>{let n=r>=10,i=t.attributes.getString("mode","nearest");
2346if("nearest"!==i&&"linear"!==i&&(r<11||"cubic"!==i))throw Error(`unrecognized mode: ${i}`);let o=[];r<9&&(o=t.attributes.getFloats("scales"),oE(o,i,n));let a=t.attributes.getFloat("extrapolation_value",0),s=r>10?t.attributes.getString("coordinate_transformation_mode","half_pixel"):"asymmetric";if(-1===["asymmetric","pytorch_half_pixel","tf_half_pixel_for_nn","align_corners","tf_crop_and_resize","half_pixel"].indexOf(s))throw Error(`coordinate_transform_mode '${s}' is not supported`);let u="tf_crop_and_resize"===s,l="nearest"===i&&r>=11?t.attributes.getString("nearest_mode","round_prefer_floor"):"";if(-1===["round_prefer_floor","round_prefer_ceil","floor","ceil",""].indexOf(l))throw Error(`nearest_mode '${l}' is not supported`);let h=t.attributes.getFloat("cubic_coeff_a",-.75),c=0!==t.attributes.getInt("exclude_outside",0);if(c&&"cubic"!==i)throw Error("exclude_outside can be set to 1 only when mode is CUBIC.");let f=r<11||"nearest"===i&&"asymmetric"===s&&"floor"===l,d=0,p=0,y=0;return r>10?t.inputs.length>2?(d=1,p=2,y=3):(p=1,y=2):9===r&&(p=1),ra({opset:r,isResize:n,mode:i,scales:o,extrapolationValue:a,coordinateTransformMode:s,useExtrapolation:u,needRoiInput:u,nearestMode:l,cubicCoefficientA:h,excludeOutside:c,useNearest2xOptimization:f,roiInputIdx:d,scalesInputIdx:p,sizesInputIdx:y})},oT=(t,r,n)=>{let i=tF(t.session.backend.glContext.version),[o,a]=t.calculateTextureWidthAndHeight(r[0].dims,0),s=r[0].dims.map((t,r)=>Math.floor(t*n.scales[r])),[u,l]=t.calculateTextureWidthAndHeight(s,0),h=s.length,c=Array(h),f=Array(h),d=`
2347      int output_pitches[${h}];
2348      int input_pitches[${h}];
2349      `;for(let t=h-1;t>=0;t--)c[t]=t===h-1?1:c[t+1]*s[t+1],f[t]=t===h-1?1:f[t+1]*r[0].dims[t+1],d+=`
2350        output_pitches[${t}] = ${c[t]};
2351        input_pitches[${t}] = ${f[t]};
2352        `;let p=`
2353      float getInputFloat(int index) {
2354        vec2 coords = offsetToCoords(index, ${o}, ${a});
2355        float value = getColorAsFloat(${i.texture2D}(X, coords));
2356        return value;
2357      }
2358      `,y="nearest"===n.mode?`
2359    ${p}
2360    float process(int indices[${h}]) {
2361      int input_index = 0;
2362      int output_index = coordsToOffset(TexCoords, ${u}, ${l});
2363
2364      ${d}
2365
2366      int d, m;
2367      for (int dim = 0; dim < ${h}; ++dim) {
2368        d = output_index / output_pitches[dim];
2369        m = output_index - d * output_pitches[dim];
2370        output_index = m;
2371
2372        if (scales[dim] != 1 && d > 0) {
2373          int d2 = d / scales[dim];
2374          m = d - d2 * scales[dim];
2375          d = d2;
2376        }
2377        input_index += input_pitches[dim] * d;
2378      }
2379
2380      return getInputFloat(input_index);
2381    }`:4===h?`
2382    ${p}
2383    float process(int indices[4]) {
2384      int input_index = 0;
2385      int output_index = coordsToOffset(TexCoords, ${u}, ${l});
2386
2387      ${d}
2388
2389      int m;
2390      int index_of_dim0, index_of_dim1, index_of_dim2, index_of_dim3;
2391      index_of_dim0 = output_index / output_pitches[0];
2392      m = output_index - index_of_dim0 * output_pitches[0];
2393      index_of_dim1 = m / output_pitches[1];
2394      m = m - index_of_dim1 * output_pitches[1];
2395      index_of_dim2 = m / output_pitches[2];
2396      m = m - index_of_dim2 * output_pitches[2];
2397      index_of_dim3 = m;
2398
2399      int index_of_input_dim2, index_of_input_dim3, x_offset, y_offset;
2400      index_of_input_dim2 = index_of_dim2 / scales[2];
2401      y_offset = index_of_dim2 - index_of_input_dim2 * scales[2];
2402      index_of_input_dim3 = index_of_dim3 / scales[3];
2403      x_offset = index_of_dim3 - index_of_input_dim3 * scales[3];
2404
2405      input_index = index_of_dim0 * input_pitches[0] +
2406            index_of_dim1 * input_pitches[1] +
2407            index_of_input_dim2 * input_pitches[2] +
2408            index_of_input_dim3;
2409
2410      float x00 = getInputFloat(input_index);
2411      float x10, x01, x11;
2412
2413      bool end_of_dim2 = false;
2414      if (index_of_input_dim2 == (${r[0].dims[2]} - 1)) {
2415        // It's the end in dimension 2
2416        x01 = x00;
2417        end_of_dim2 = true;
2418      } else {
2419        x01 = getInputFloat(input_index + input_pitches[2]);
2420      }
2421
2422      if (index_of_input_dim3 == (input_pitches[2] - 1)) {
2423        // It's the end in dimension 3
2424        x10 = x00;
2425        x11 = x01;
2426      }
2427      else {
2428        x10 = getInputFloat(input_index + 1);
2429        x11 = end_of_dim2 ? x10 : getInputFloat(input_index + input_pitches[2] + 1);
2430      }
2431
2432      float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[2]);
2433      float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[2]);
2434      return y0 + float(x_offset) * (y1 - y0) / float(scales[3]);
2435    }`:`
2436    ${p}
2437    float process(int indices[2]) {
2438      int input_index = 0;
2439      int output_index = coordsToOffset(TexCoords, ${u}, ${l});
2440
2441      ${d}
2442
2443      int m;
2444      int index_of_dim0, index_of_dim1;
2445      index_of_dim0 = output_index / output_pitches[0];
2446      m = output_index - index_of_dim0 * output_pitches[0];
2447      index_of_dim1 = m;
2448
2449      int index_of_input_dim0, index_of_input_dim1, x_offset, y_offset;
2450      index_of_input_dim0 = index_of_dim0 / scales[0];
2451      y_offset = index_of_dim0 - index_of_input_dim0 * scales[0];
2452      index_of_input_dim1 = index_of_dim1 / scales[1];
2453      x_offset = index_of_dim1 - index_of_input_dim1 * scales[1];
2454
2455      input_index = index_of_input_dim0 * input_pitches[0] + index_of_input_dim1;
2456
2457      float x00 = getInputFloat(input_index);
2458      float x10, x01, x11;
2459
2460      bool end_of_dim0 = false;
2461      if (index_of_input_dim0 == (${r[0].dims[0]} - 1)) {
2462        // It's the end in dimension 0
2463        x01 = x00;
2464        end_of_dim0 = true;
2465      } else {
2466        x01 = getInputFloat(input_index + input_pitches[0]);
2467      }
2468
2469      if (index_of_input_dim1 == (input_pitches[0] - 1)) {
2470        // It's the end in dimension 1
2471        x10 = x00;
2472        x11 = x01;
2473      }
2474      else {
2475        x10 = getInputFloat(input_index + 1);
2476        x11 = end_of_dim0 ? x10 : getInputFloat(input_index + input_pitches[0] + 1);
2477      }
2478
2479      float y0 = x00 + float(y_offset) * (x01 - x00) / float(scales[0]);
2480      float y1 = x10 + float(y_offset) * (x11 - x10) / float(scales[0]);
2481      return y0 + float(x_offset) * (y1 - y0) / float(scales[1]);
2482    }`;return{...ov,output:{dims:s,type:r[0].type,textureType:0},shaderSource:y,variables:[{name:"scales",type:"int",arrayLength:n.scales.length,data:n.scales.map(t=>Math.ceil(t))}]}},oS=(t,r)=>{if(!t||r.opset<9&&1!==t.length||r.opset>=9&&r.opset<11&&2!==t.length||r.opset>=11&&t.length<2)throw Error("invalid inputs.");if(r.scales.length>0&&t[0].dims.length!==r.scales.length)throw Error("Invalid input shape.");if("string"===t[0].type)throw Error("Invalid input tensor types.")},oE=(t,r,n)=>{if(n){for(let r of t)if(r<=0)throw Error("Scale value should be greater than 0.")}else for(let r of t)if(r<1)throw Error("Scale value should be greater than or equal to 1.");if(("linear"===r||"cubic"===r)&&2!==t.length&&(4!==t.length||1!==t[0]||1!==t[1]))throw Error(`'Linear' mode and 'Cubic' mode only support 2-D inputs ('Bilinear', 'Bicubic')         or 4-D inputs with the corresponding outermost 2 scale values being 1         in the ${n?"Resize":"Upsample"} opeartor.`)}}),aN=G(()=>{tz(),tG(),tK(),t0(),aB(),oO={name:"Resize",inputNames:["A"],inputTypes:[2]},oA=(t,r,n)=>(oS(r,n),[t.run({...oO,cacheHint:n.cacheKey,get:()=>ok(t,r,n)},r)]),oI=t=>o_(t,10),oP=t=>o_(t,11),ok=(t,r,n)=>{let i=tF(t.session.backend.glContext.version),[o,a]=oC(r,n);if(o.every(t=>1===t)&&"tf_crop_and_resize"!==n.coordinateTransformMode)return{...oO,output:{dims:a,type:r[0].type,textureType:2},hasMain:!0,shaderSource:`void main() {
2483                    vec4 v = ${i.texture2D}(X, TexCoords);
2484                    ${i.output} = v;
2485                }`};let s=a.length;if(s<2)throw Error(`output dimension should be at least 2, but got ${s}`);let u=a[s-2],l=a[s-1],h=r[0].dims;if(s!==h.length)throw Error(`output dimension should match input ${h.length}, but got ${s}`);let c=h[s-2],f=h[s-1],d=o[s-2],p=o[s-1],y="";if("linear"!==n.mode)throw Error(`resize (packed) does not support mode: '${n.mode}'`);switch(n.coordinateTransformMode){case"asymmetric":y=`
2486                    vec4 getSourceFracIndex(ivec4 coords) {
2487                        return vec4(coords) / scaleWHWH;
2488                    }
2489                `;break;case"half_pixel":y=`
2490                    vec4 getSourceFracIndex(ivec4 coords) {
2491                        return (vec4(coords) + 0.5) / scaleWHWH - 0.5;
2492                    }
2493                `;break;case"pytorch_half_pixel":y=`
2494                    vec4 getSourceFracIndex(ivec4 coords) {
2495                        vec4 fcoords = vec4(coords);
2496                        return vec4(
2497                            ${l}.0 > 1.0 ? (fcoords.x + 0.5) / scaleWHWH.x - 0.5 : 0.0,
2498                            ${u}.0 > 1.0 ? (fcoords.y + 0.5) / scaleWHWH.y - 0.5 : 0.0,
2499                            ${l}.0 > 1.0 ? (fcoords.z + 0.5) / scaleWHWH.z - 0.5 : 0.0,
2500                            ${u}.0 > 1.0 ? (fcoords.w + 0.5) / scaleWHWH.w - 0.5 : 0.0
2501                          );
2502                    }
2503                `;break;case"align_corners":y=`
2504                    vec4 getSourceFracIndex(ivec4 coords) {
2505                        vec4 resized = vec4(${l}.0 - 1.0, ${u}.0 - 1.0, ${l}.0 - 1.0,
2506                            ${u}.0 - 1.0);
2507                        vec4 original = vec4(${f}.0 - 1.0, ${c}.0 - 1.0, ${f}.0 - 1.0,
2508                            ${c}.0 - 1.0);
2509                        vec4 new_scale = original / resized;
2510                        return vec4(coords) * new_scale;
2511                    }
2512                `;break;default:throw Error(`resize (packed) does not support coordinateTransformMode:                                 '${n.coordinateTransformMode}'`)}let m=tY(s),g=`
2513            const vec2 inputWH = vec2(${c}.0, ${f}.0);
2514            const vec4 scaleWHWH = vec4(float(${d}), float(${p}), float(${d}), float(${p}));
2515            ${tJ()}
2516            ${y}
2517            float getAValue(int x10, int r, int c, int d) {
2518                return getChannel(getA(x10, r, c, d), vec2(c, d));
2519            }
2520            void main() {
2521                ${m
vendor: 3,192 bytes, lines 2521-2577
2521} rc = getOutputCoords();
2522
2523                int batch = rc[0];
2524                int depth = rc[1];
2525
2526                // retrieve the 4 coordinates that is used in the 4 packed output values.
2527                ivec4 coords = ivec4(rc.wz, rc.w + 1, rc.z + 1);
2528
2529                // calculate the source index in fraction
2530                vec4 sourceFrac = getSourceFracIndex(coords);
2531
2532                // get the lower and upper bound of the 4 values that will be packed into one texel.
2533                ivec4 x00 = ivec4(max(sourceFrac.xy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xy)));
2534                ivec4 x01 = ivec4(max(sourceFrac.xw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.xw)));
2535                ivec4 x10 = ivec4(max(sourceFrac.zy, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zy)));
2536                ivec4 x11 = ivec4(max(sourceFrac.zw, vec2(0.0)), min(inputWH - 1.0, ceil(sourceFrac.zw)));
2537
2538                bool hasNextRow = rc.w < ${u-1};
2539                bool hasNextCol = rc.z < ${l-1};
2540
2541                // pack x00, x01, x10, x11's top-left corner into one vec4 structure
2542                vec4 topLeft = vec4(
2543                    getAValue(batch, depth, x00.x, x00.y),
2544                    hasNextCol ? getAValue(batch, depth, x01.x, x01.y) : 0.0,
2545                    hasNextRow ? getAValue(batch, depth, x10.x, x10.y) : 0.0,
2546                    (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.y) : 0.0);
2547
2548                // pack x00, x01, x10, x11's top-right corner into one vec4 structure
2549                vec4 topRight = vec4(
2550                    getAValue(batch, depth, x00.x, x00.w),
2551                    hasNextCol ? getAValue(batch, depth, x01.x, x01.w) : 0.0,
2552                    hasNextRow ? getAValue(batch, depth, x10.x, x10.w) : 0.0,
2553                    (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.x, x11.w) : 0.0);
2554
2555                // pack x00, x01, x10, x11's bottom-left corner into one vec4 structure
2556                vec4 bottomLeft = vec4(
2557                    getAValue(batch, depth, x00.z, x00.y),
2558                    hasNextCol ? getAValue(batch, depth, x01.z, x01.y) : 0.0,
2559                    hasNextRow ? getAValue(batch, depth, x10.z, x10.y) : 0.0,
2560                    (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.y) : 0.0);
2561
2562                // pack x00, x01, x10, x11's bottom-right corner into one vec4 structure
2563                vec4 bottomRight = vec4(
2564                    getAValue(batch, depth, x00.z, x00.w),
2565                    hasNextCol ? getAValue(batch, depth, x01.z, x01.w) : 0.0,
2566                    hasNextRow ? getAValue(batch, depth, x10.z, x10.w) : 0.0,
2567                    (hasNextRow && hasNextCol) ? getAValue(batch, depth, x11.z, x11.w) : 0.0);
2568
2569                // calculate the interpolation fraction on u and v direction
2570                vec4 frac = vec4(sourceFrac) - floor(sourceFrac);
2571                vec4 clampFrac = clamp(frac, vec4(0.0), vec4(1.0));
2572
2573                vec4 top = mix(topLeft, topRight, clampFrac.ywyw);
2574                vec4 bottom = mix(bottomLeft, bottomRight, clampFrac.ywyw);
2575                vec4 newValue = mix(top, bottom, clampFrac.xxzz);
2576
2577                ${
2577i.output} = vec4(newValue);
2578            }
2579        `;return{...oO,output:{dims:a,type:r[0].type,textureType:2},hasMain:!0,shaderSource:g}},oC=(t,r)=>{let n,i=t[0].dims,o=r.scales;if(0===o.length){let a=t[r.scalesInputIdx];if(a&&0!==a.size){if(t[r.sizesInputIdx])throw Error("Only one of scales or sizes must be provided as input.");o=o$(a,r.mode,r.isResize)}else{let a=t[r.sizesInputIdx];if(!a||0===a.size)throw Error("Either scales or sizes MUST be provided as input.");n=Array.from(a.integerData),o=oR(n,i,r.mode,r.isResize)}}else if(t[r.sizesInputIdx])throw Error("Only one of scales or sizes must be provided as input.");let a=n||i.map((t,r)=>Math.floor(t*o[r]));return[o,a]},o$=(t,r,n)=>{let i=Array.from(t.floatData);return oE(i,r,n),i},oR=(t,r,n,i)=>{let o=r.length,a=Array(o);for(let n=0;n<o;n++)if(0===r[n]){if(0!==t[n])throw Error("Input dim is zero but required output dim is non-zero.");a[n]=1}else a[n]=t[n]/r[n];return oE(a,n,i),a}}),aF=G(()=>{tN(),oD=(t,r)=>(oM(r),[new tB([r[0].dims.length],"int32",void 0,void 0,new Int32Array(r[0].dims))]),oM=t=>{if(!t||1!==t.length)throw Error("Shape requires 1 input.")}}),aU=G(()=>{rK(),aA(),tP(),tG(),oL={name:"Slice",inputNames:["A"],inputTypes:[0]},oB=(t,r,n)=>(oU(r),[t.run({...oL,cacheHint:n.cacheKey,get:()=>oF(t,r[0],n)},r)]),oN=t=>{let r=t.attributes.getInts("starts"),n=t.attributes.getInts("ends"),i=t.attributes.getInts("axes",[]);return ra({starts:r,ends:n,axes:i})},oF=(t,r,n)=>{let i=0===n.axes.length?r.dims.slice(0).map((t,r)=>r):n.axes,o=tS.normalizeAxes(i,r.dims.length),a=n.starts.map((t,n)=>t>r.dims[o[n]]-1?r.dims[o[n]]:tS.normalizeAxis(t,r.dims[o[n]])),s=n.ends.map((t,n)=>t>r.dims[o[n]]-1?r.dims[o[n]]:tS.normalizeAxis(t,r.dims[o[n]])),u=r.dims.slice(),l=[];for(let t=0;t<o.length;t++)u[o[t]]=s[t]-a[t],a[t]>0&&l.push(`outputIdx[${o[t]}] += ${a[t]};`);let h=`
2580      float process(int outputIdx[${u.length}]) {
2581        ${l.join(`
2582      `)}
2583        return _A(outputIdx);
2584      }`;return{...oL,output:{dims:u,type:r.type,textureType:0},shaderSource:h}},oU=t=>{if(!t||1!==t.length)throw Error("Slice requires 1 input.");if(-1===ih.indexOf(t[0].type))throw Error("Invalid input type.")},oj=(t,r)=>{oG(r);let n=oz(t,r);return[t.run({...oL,cacheHint:n.cacheKey,get:()=>oF(t,r[0],n)},[r[0]])]},oz=(t,r)=>{if(!t.session.isInitializer(r[1].dataId)||!t.session.isInitializer(r[2].dataId)||r.length>=4&&!t.session.isInitializer(r[3].dataId)||r.length>=5&&!t.session.isInitializer(r[4].dataId))throw Error("dynamic slice attributes are not allowed");if(r.length>=5&&r[4].integerData.some(t=>1!==t))throw Error("currently non-1 steps is not supported for Slice");let n=Array.from(r[1].integerData),i=Array.from(r[2].integerData),o=r.length>=4?Array.from(r[3].integerData):[];return{starts:n,ends:i,axes:o,cacheKey:`${o};${n};${i}`}},oG=t=>{if(!t||t.length<3||t.length>5)throw Error("Invalid input number.");if("int32"!==t[1].type||1!==t[1].dims.length||"int32"!==t[2].type||1!==t[2].dims.length||t.length>=4&&("int32"!==t[3].type||1!==t[3].dims.length)||t.length>=5&&("int32"!==t[4].type||1!==t[4].dims.length))throw Error("Invalid input type.")}}),aj=G(()=>{rK(),tP(),tz(),tG(),aS(),oV={name:"SoftmaxComputeMax",inputNames:["A"],inputTypes:[0]},oW={name:"SoftmaxComputeScale",inputNames:["A","Max"],inputTypes:[0,0]},oH={name:"SoftMax",inputNames:["A","Max","Norm"],inputTypes:[0,0,0]},oq=(t,r,n)=>{o0(r);let i=r[0].dims.slice(),o=tS.normalizeAxis(n.axis,i.length),a=tS.sizeToDimension(i,o),s=tS.sizeFromDimension(i,o);return oZ(t,r,n,a,s)},oY=t=>ra({axis:t.attributes.getInt("axis",1)}),oX=t=>ra({axis:t.attributes.getInt("axis",-1)}),oK=(t,r,n)=>{o0(r);let i,o=r[0].dims.slice(),a=tS.normalizeAxis(n.axis,o.length),s=o.length,u=a!==s-1,l=[],h=[],c=[];u&&((h=Array.from({length:s}).map((t,r)=>r))[a]=s-1,h[s-1]=a,h.map(t=>l.push(o[t])),i=ra({perm:h}),c=n2(t,r,i));let f=u?tS.sizeToDimension(l,s-1):tS.sizeToDimension(o,s-1),d=u?tS.sizeFromDimension(l,s-1):tS.sizeFromDimension(o,s-1),p=oZ(t,u?c:r,n,f,d);return u?n2(t,p,i):p},oZ=(t,r,n,i,o)=>{let a=oJ(t,r[0],i,o,[i]),s=t.run({...oV,cacheHint:n.cacheKey,get:()=>a},r),u=oQ(t,r[0],i,o,a.output.dims,[i]),l=t.run({...oW,cacheHint:n.cacheKey,get:()=>u},[r[0],s]),h=o1(t,r[0],i,o,a.output.dims,u.output.dims);return[t.run({...oH,cacheHint:n.cacheKey,get:()=>h},[r[0],s,l])]},oJ=(t,r,n,i,o)=>{let[a,s]=t.calculateTextureWidthAndHeight(r.dims,0),u=o.length;if(n<1||i<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==o.length)throw Error("Dimensionality of the output should be 1");if(o[0]!==n)throw Error("Shape of the output should be equal to logical row count");let l=tF(t.session.backend.glContext.version),h=`
2585      float process(int[${u}] indices) {
2586        int logical_row_start_offset = indices[0] * ${i};
2587
2588        float max = getColorAsFloat(${l.texture2D}(A, offsetToCoords(logical_row_start_offset, ${a},
2589        ${s} )));
2590        for(int i=1; i<${i}; ++i)
2591        {
2592          float current = getColorAsFloat(${l.texture2D}(A, offsetToCoords(logical_row_start_offset + i,
2593            ${a}, ${s})));
2594          if(current > max)
2595          max = current;
2596        }
2597
2598        return max;
2599      }`;return{...oV,output:{dims:o,type:r.type,textureType:0},shaderSource:h}},oQ=(t,r,n,i,o,a)=>{let[s,u]=t.calculateTextureWidthAndHeight(r.dims,0),l=a.length;if(n<1||i<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==a.length)throw Error("Dimensionality of the output should be 1");if(a[0]!==n)throw Error("Shape of the output should be equal to logical row count");if(1!==o.length)throw Error("Dimensionality of the intermediate results should be 1");if(o[0]!==n)throw Error("Shape of the intermediate results should be equal to logical row count");let h=`
2600      float process(int[${l}] indices) {
2601        int logical_row_start_offset = indices[0] * ${i};
2602
2603        float norm_factor = 0.0;
2604        float max = _Max(indices);
2605        for(int i=0; i<${i}; ++i)
2606        {
2607          norm_factor += exp(getColorAsFloat(${tF(t.session.backend.glContext.version).texture2D}(A, offsetToCoords(logical_row_start_offset + i,
2608            ${s}, ${u}))) - max);
2609        }
2610
2611        return norm_factor;
2612      }`;return{...oW,output:{dims:a,type:r.type,textureType:0},shaderSource:h}},o1=(t,r,n,i,o,a)=>{let[s,u]=t.calculateTextureWidthAndHeight(r.dims,0),l=r.dims.length;if(n<1||i<1)throw Error("Logical row count N and feature count D must be greater than or equal to 1");if(1!==o.length||1!==a.length)throw Error("Dimensionality of the intermediate results should be 1");if(o[0]!==n||a[0]!==n)throw Error("Shape of the intermediate results should be equal to logical row count");let h=`
2613      float process(int[${l}] indices) {
2614
2615      // get offset of current logical tensor index from the 2-D texture coordinates (TexCoords)
2616      int offset = coordsToOffset(TexCoords, ${s}, ${u});
2617
2618      //determine the logical row for this index
2619      int logical_row_index[1];
2620      logical_row_index[0] = offset / ${i};
2621
2622      float norm_factor = _Norm(logical_row_index);
2623
2624      // avoid possible division by 0
2625      // if norm_facor is 0, all elements are zero
2626      // if so, return 0
2627      if(norm_factor == 0.0)
2628        return 0.0;
2629
2630      return exp(_A(indices) - _Max(logical_row_index)) / norm_factor;
2631    }`;return{...oH,output:{dims:r.dims,type:r.type,textureType:0},shaderSource:h}},o0=t=>{if(!t||1!==t.length)throw Error("Softmax requires 1 input.");if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("Invalid input type")}}),az=G(()=>{rK(),tP(),tG(),o3={name:"Split",inputNames:["A"],inputTypes:[0]},o6=(t,r,n)=>{o7(r);let i=tS.normalizeAxis(n.axis,r[0].dims.length),o=o9(t,r,i,n),a=[];for(let s=0;s<o;++s)a.push(t.run({...o3,cacheHint:`${n.cacheKey};${s}`,get:()=>o2(t,r[0],n,i,s)},r));return a},o5=t=>{let r=t.attributes.getInt("axis",0),n=t.attributes.getInts("split",[]),i=t.outputs.length;return ra({axis:r,split:n,numOutputs:i})},o9=(t,r,n,i)=>{let[,o]=tE.splitShape(r[0].dims,n,i.split,i.numOutputs);return o.length},o2=(t,r,n,i,o)=>{let[a,s]=tE.splitShape(r.dims,i,n.split,n.numOutputs),u=s[o],l=a[o],h=`
2632      float process(int indices[${l.length}]) {
2633        indices[${i}] += ${u};
2634        return _A(indices);
2635      }
2636    `;return{...o3,cacheHint:`${n.cacheKey}:${o}`,output:{dims:l,type:r.type,textureType:0},shaderSource:h}},o7=t=>{if(!t||1!==t.length)throw Error("Split requires one input.");if("int8"!==t[0].type&&"uint8"!==t[0].type&&"int16"!==t[0].type&&"uint16"!==t[0].type&&"int32"!==t[0].type&&"uint32"!==t[0].type&&"float32"!==t[0].type&&"float64"!==t[0].type&&"bool"!==t[0].type)throw Error("Invalid input type.")}}),aG=G(()=>{tP(),o8=(t,r,n)=>{at(r);let i=tS.squeezeShape(r[0].dims,n);return[t.reshapeUnpacked(r[0],i)]},o4=(t,r)=>(ar(r),o8(t,[r[0]],Array.from(r[1].integerData))),ae=t=>t.attributes.getInts("axes"),at=t=>{if(!t||1!==t.length)throw Error("Squeeze requires 1 input.");if("string"===t[0].type)throw Error("invalid input tensor types.")},ar=t=>{if(!t||2!==t.length)throw Error("Squeeze requires 2 inputs.");if("int32"!==t[1].type)throw Error("Invalid input type.")}}),aV=G(()=>{tz(),tG(),an=(t,r)=>{ao(r);let n={name:"Sum",inputNames:r.map((t,r)=>`X${r}`),inputTypes:Array(r.length).fill(0)};return[t.run({...n,get:()=>ai(t,r,n)},r)]},ai=(t,r,n)=>{let i=tF(t.session.backend.glContext.version),o=r[0].dims.slice(),a=`
2637      void main() {
2638        vec4 result = ${r.map((t,r)=>`${i.texture2D}(X${r},TexCoords)`).join(" + ")};
2639        ${i.output} = result;
2640      }
2641    `;return{...n,output:{dims:o,type:r[0].type,textureType:0},hasMain:!0,shaderSource:a}},ao=t=>{if(!t||0===t.length)throw Error("Sum requires inputs.");let r=t[0].dims.length;for(let n=1;n<t.length;n++){if(r!==t[n].dims.length)throw Error("Input shapes are mismatched.");for(let i=0;i<r;i++)if(t[0].dims[i]!==t[n].dims[i])throw Error("Input shapes are not matched.")}if("float32"!==t[0].type&&"float64"!==t[0].type)throw Error("Invalid input type.");for(let r=1;r<t.length;r++)if(t[0].type!==t[r].type)throw Error("Input types are not matched.")}}),aW=G(()=>{aA(),tG(),aa=(t,r)=>{au(r);let n={name:"Tile",inputNames:["A"],inputTypes:[0]};return[t.run({...n,get:()=>as(t,r,n)},r)]},as=(t,r,n)=>{let i=r[0].dims.slice(),o=Array(i.length),a=[];for(let t=0;t<i.length;t++)o[t]=i[t]*r[1].numberData[t],a.push(`inputIdx[${t}] = int(mod(float(outputIdx[${t}]), ${i[t]}.));`);let s=o.length,u=`
2642      float process(int outputIdx[${s}]) {
2643        int inputIdx[${s}];
2644        ${a.join(`
2645`)}
2646        return _A(inputIdx);
2647      }
2648    `;return{...n,output:{dims:o,type:r[0].type,textureType:0},shaderSource:u}},au=t=>{if(!t||2!==t.length)throw Error("Tile requires 2 input.");if(1!==t[1].dims.length)throw Error("The second input shape must 1 dimension.");
2648if(t[1].dims[0]!==t[0].dims.length)throw Error("Invalid input shape.");if(-1===ih.indexOf(t[0].type))throw Error("Invalid input type.");if("int32"!==t[1].type&&"int16"!==t[1].type)throw Error("Invalid repeat type.")}}),aH=G(()=>{tP(),al=(t,r,n)=>{af(r);let i=tS.unsqueezeShape(r[0].dims,n);return[t.reshapeUnpacked(r[0],i)]},ah=(t,r)=>(ad(r),al(t,[r[0]],Array.from(r[1].integerData))),ac=t=>t.attributes.getInts("axes"),af=t=>{if(!t||1!==t.length)throw Error("Unsqueeze requires 1 input.");if("string"===t[0].type)throw Error("invalid input tensor types.")},ad=t=>{if(!t||2!==t.length)throw Error("Unsqueeze requires 2 inputs.");if("int32"!==t[1].type)throw Error("Invalid input type.")}}),aq=G(()=>{rZ(),rQ(),r1(),r3(),a_(),aT(),aE(),aO(),aI(),aP(),ak(),aC(),a$(),ag(),aR(),aD(),aM(),aL(),aN(),aF(),aU(),aj(),az(),aG(),aV(),aW(),aS(),nS(),aH(),aB(),ap=[["Abs","","6+",r8],["Acos","","7+",r4],["Add","","7+",rb],["And","","7+",rw],["Asin","","7+",ne],["Atan","","7+",nt],["AveragePool","","7+",i1,i0],["BatchNormalization","","7+",ru,rl],["Cast","","6+",rC,r$],["Ceil","","6+",na],["Clip","","6-10",nr,nn],["Clip","","11+",ni],["Concat","","4+",rL,rz],["Conv","","1+",nV,nX],["ConvTranspose","","1+",nQ,n6],["Cos","","7+",ns],["Div","","7+",rx],["Dropout","","7+",nf],["DepthToSpace","","1+",ii,io],["Equal","","7+",r_],["Elu","","6+",nu,nl],["Exp","","6+",nh],["Flatten","","1+",is,iu],["Floor","","6+",nc],["FusedConv","com.microsoft","1+",nV,nX],["Gather","","1+",ic,id],["Gemm","","7-10",ig,ib],["Gemm","","11+",ig,iw],["GlobalAveragePool","","1+",i6,i5],["GlobalMaxPool","","1+",ot],["Greater","","7+",rT],["Identity","","1+",nf],["ImageScaler","","1+",iS,iE],["InstanceNormalization","","6+",ik,iC],["LeakyRelu","","6+",nd,np],["Less","","7+",rS],["LRN","","1+",iB,iN],["Log","","6+",ny],["MatMul","","1+",nD,nM],["MaxPool","","1+",i9,i2],["Mul","","7+",rE],["Neg","","6+",nm],["Not","","1+",ng],["Or","","7+",rO],["Pad","","2-10",iz,iG],["Pad","","11+",iV,iW],["Pow","","7+",rA],["PRelu","","7+",rI],["ReduceLogSum","","1+",oy,os],["ReduceMax","","1+",of,os],["ReduceMean","","1+",oc,os],["ReduceMin","","1+",od,os],["ReduceProd","","1+",op,os],["ReduceSum","","1-12",oh,os],["ReduceSumSquare","","1+",om,os],["Relu","","6+",nv],["Reshape","","5+",og],["Resize","","10",oA,oI],["Resize","","11+",oA,oP],["Shape","","1+",oD],["Sigmoid","","6+",nb],["Sin","","7+",nw],["Slice","","10+",oj],["Slice","","1-9",oB,oN],["Softmax","","1-12",oq,oY],["Softmax","","13+",oK,oX],["Split","","2-12",o6,o5],["Sqrt","","6+",nx],["Squeeze","","1-12",o8,ae],["Squeeze","","13+",o4],["Sub","","7+",rP],["Sum","","6+",an],["Tan","","7+",n_],["Tanh","","6+",nT],["Tile","","6+",aa],["Transpose","","1+",n2,n7],["Upsample","","7-8",ob,ow],["Upsample","","9",ob,ox],["Unsqueeze","","1-12",al,ac],["Unsqueeze","","13+",ah],["Xor","","7+",rk]]}),aY=G(()=>{ay=/@inline[\s\n\r]+(\w+)[\s\n\r]+([0-9a-zA-Z_]+)\s*\(([^)]*)\)\s*{(([^}]|[\n\r])*)}/gm,am="(\\w+)?\\s+([_0-9a-zA-Z]+)\\s+=\\s+__FUNC__\\((.*)\\)\\s*;"});function aX(t,r){var n,i;let o,a=[],s=[],u=null!=r&&Array.isArray(r)&&0===r.length,l=null==r||u?null:(n=r,o=(i=t).length,ty((n=null==n?i.map((t,r)=>r):[].concat(n)).every(t=>t>=-o&&t<o),()=>`All values in axis param must be in range [-${o}, ${o}) but got axis ${n}`),ty(n.every(aK),()=>`All values in axis param must be integers but got axis ${n}`),n.map(t=>t<0?o+t:t)).sort(),h=0;for(let r=0;r<t.length;++r){if(null!=l){if(l[h]===r&&1!==t[r])throw Error(`Can't squeeze axis ${r} since its dim '${t[r]}' is not 1`);(null==l[h]||l[h]>r)&&1===t[r]&&(a.push(t[r]),s.push(r)),l[h]<=r&&h++}1!==t[r]&&(a.push(t[r]),s.push(r))}return{newShape:a,keptDims:s}}function aK(t){return t%1==0}function aZ(t){let r=Math.ceil(Math.sqrt(t));return[r,Math.ceil(t/r)]}var aJ,aQ,a1,a0,a3,a6,a5,a9,a2,a7,a8,a4,se=G(()=>{eO(),tP(),aJ=class{constructor(t){this.maxTextureSize=t}computeTextureWH(t,r){let n=this.computeTexture(t,r);return r&&r.isPacked&&(n[0]/=2,n[1]/=2),r&&r.reverseWH?[n[1],n[0]]:n}computeTexture(t,r){let n=r&&r.isPacked;if(0===t.length)return n?[2,2]:[1,1];let i=this.maxTextureSize;if(r&&void 0!==r.breakAxis){let n=r.breakAxis>=t.length?1:t.slice(r.breakAxis).reduce((t,r)=>t*r),o=r.breakAxis<=0?1:t.slice(0,r.breakAxis).reduce((t,r)=>t*r);if(!(n>i||o>i))return[n,o];ex.verbose("TextureLayout",`Given width/height preferences were unattainable: shape:${t}, breakAxis:${r.breakAxis}`)}let o=t.slice(0);n&&(i*=2,1===(o=o.map((t,r)=>r>=o.length-2?o[r]%2==0?o[r]:o[r]+1:o[r])).length&&(o=[2,o[0]])),2!==o.length&&(o=aX(o).newShape);let a=function(t){if(0===t.length)return 1;let r=t[0];for(let n=1;n<t.length;n++)r*=t[n];return r}(o);return o.length<=1&&a<=i?[1,a]:2===o.length&&o[0]<=i&&o[1]<=i?o:3===o.length&&o[0]*o[1]<=i&&o[2]<=i?[o[0]*o[1],o[2]]:3===o.length&&o[0]<=i&&o[1]*o[2]<=i?[o[0],o[1]*o[2]]:4===o.length&&o[0]*o[1]*o[2]<=i&&o[3]<=i?[o[0]*o[1]*o[2],o[3]]:4===o.length&&o[0]<=i&&o[1]*o[2]*o[3]<=i?[o[0],o[1]*o[2]*o[3]]:n?aZ(a/4).map(t=>2*t):aZ(a)}}}),st=G(()=>{tP(),rJ(),tz(),se(),tK(),aQ=class extends rd{constructor(t){super(t)}getFunctions(){return{...this.offsetToCoords(),...this.coordsToOffset(),...this.toVec(),...this.valueFrom(),...this.getCommonUtilFuncs(),...this.getInputsSampl
2648ingSnippets(),...this.getOutputSamplingSnippet()}}getCustomTypes(){return{}}offsetToCoords(){return{offsetToCoords:new rp(`
2649      vec2 offsetToCoords(int offset, int width, int height) {
2650        int t = offset / width;
2651        int s = offset - t*width;
2652        vec2 coords = (vec2(s,t) + vec2(0.5,0.5)) / vec2(width, height);
2653        return coords;
2654      }
2655      `)}}coordsToOffset(){return{coordsToOffset:new rp(`
2656      int coordsToOffset(vec2 coords, int width, int height) {
2657        float s = coords.s * float(width);
2658        float t = coords.t * float(height);
2659        int offset = int(t) * width + int(s);
2660        return offset;
2661      }
2662      `)}}getOutputSamplingSnippet(){let t=this.context.outputTextureLayout;return t.isPacked?this.getPackedOutputSamplingSnippet(t):this.getUnpackedOutputSamplingSnippet(t)}getPackedOutputSamplingSnippet(t){let r=t.unpackedShape,n=[t.width,t.height],i={},o="getOutputCoords";switch(r.length){case 0:i[o]=this.getOutputScalarCoords();break;case 1:i[o]=this.getOutputPacked1DCoords(r,n);break;case 2:i[o]=this.getOutputPacked2DCoords(r,n);break;case 3:i[o]=this.getOutputPacked3DCoords(r,n);break;default:i[o]=this.getOutputPackedNDCoords(r,n)}let a=`
2663      void setOutput(vec4 val) {
2664        ${tF(this.context.glContext.version).output} = val;
2665      }
2666    `;return i.floatTextureSetRGBA=new rp(a),i}getUnpackedOutputSamplingSnippet(t){let r=t.unpackedShape,n=[t.width,t.height],i={},o="getOutputCoords";switch(r.length){case 0:i[o]=this.getOutputScalarCoords();break;case 1:i[o]=this.getOutputUnpacked1DCoords(r,n);break;case 2:i[o]=this.getOutputUnpacked2DCoords(r,n);break;case 3:i[o]=this.getOutputUnpacked3DCoords(r,n);break;case 4:i[o]=this.getOutputUnpacked4DCoords(r,n);break;case 5:i[o]=this.getOutputUnpacked5DCoords(r,n);break;case 6:i[o]=this.getOutputUnpacked6DCoords(r,n);break;default:throw Error(`Unsupported output dimensionality: ${r.length}`)}let a=`
2667        void setOutput(float val) {
2668          ${tF(this.context.glContext.version).output} = vec4(val, 0, 0, 0);
2669        }
2670    `;return i.floatTextureSetR=new rp(a),i}getOutputScalarCoords(){return new rp(`
2671      int getOutputCoords() {
2672        return 0;
2673      }
2674    `)}getOutputPacked1DCoords(t,r){let n="";return n=1===r[0]?`
2675          int getOutputCoords() {
2676            return 2 * int(TexCoords.y * ${r[1]}.0);
2677          }
2678        `:1===r[1]?`
2679          int getOutputCoords() {
2680            return 2 * int(TexCoords.x * ${r[0]}.0);
2681          }
2682        `:`
2683        int getOutputCoords() {
2684          ivec2 resTexRC = ivec2(TexCoords.xy *
2685                                 vec2(${r[0]}, ${r[1]}));
2686          return 2 * (resTexRC.y * ${r[0]} + resTexRC.x);
2687        }
2688      `,new rp(n)}getOutputPacked2DCoords(t,r){let n="";if(tv.arraysEqual(t,r))return n=`
2689        ivec2 getOutputCoords() {
2690          return 2 * ivec2(TexCoords.xy * vec2(${r[0]}, ${r[1]}));
2691        }
2692      `,new rp(n);let i=Math.ceil(t[1]/2);return n=`
2693        ivec2 getOutputCoords() {
2694          ivec2 resTexRC = ivec2(TexCoords.xy *
2695                                vec2(${r[0]}, ${r[1]}));
2696
2697          int index = resTexRC.y * ${r[0]} + resTexRC.x;
2698
2699          // reverse r and c order for packed texture
2700          int r = imod(index, ${i}) * 2;
2701          int c = 2 * (index / ${i});
2702
2703          return ivec2(r, c);
2704        }
2705      `,new rp(n)}getOutputPacked3DCoords(t,r){let n=[r[0],r[1]],i=Math.ceil(t[2]/2),o=i*Math.ceil(t[1]/2);return new rp(`
2706        ivec3 getOutputCoords() {
2707          ivec2 resTexRC = ivec2(TexCoords.xy *
2708                                vec2(${n[0]}, ${n[1]}));
2709          int index = resTexRC.y * ${n[0]} + resTexRC.x;
2710
2711          int b = index / ${o};
2712          index -= b * ${o};
2713
2714          // reverse r and c order for packed texture
2715          int r = imod(index, ${i}) * 2;
2716          int c = 2 * (index / ${i});
2717
2718          return ivec3(b, r, c);
2719        }
2720      `)}getOutputPackedNDCoords(t,r){let n=[r[0],r[1]],i=Math.ceil(t[t.length-1]/2),o=i*Math.ceil(t[t.length-2]/2),a=o,s="",u="b, r, c";for(let r=2;r<t.length-1;r++)a*=t[t.length-r-1],s=`
2721      int b${r} = index / ${a};
2722      index -= b${r} * ${a};
2723    `+s,u=`b${r}, `+u;let l=`
2724      ivec${t.length} getOutputCoords() {
2725        ivec2 resTexRC = ivec2(TexCoords.xy *
2726                              vec2(${n[0]}, ${n[1]}));
2727        int index = resTexRC.y * ${n[0]} + resTexRC.x;
2728
2729        ${s}
2730
2731        int b = index / ${o};
2732        index -= b * ${o};
2733
2734        // reverse r and c order for packed texture
2735        int r = imod(index, ${i}) * 2;
2736        int c = 2 * (index / ${i});
2737
2738        return ivec${t.length}(${u});
2739      }
2740    `;return new rp(l)}getOutputUnpacked1DCoords(t,r){let n=`
2741        int getOutputCoords() {
2742          ivec2 resTexRC = ivec2(TexCoords.xy *
2743                                vec2(${r[0]}, ${r[1]}));
2744          return resTexRC.y * ${r[0]} + resTexRC.x;
2745        }
2746      `;return new rp(n)}getOutputUnpacked2DCoords(t,r){let n=`
2747        ivec2 getOutputCoords() {
2748          ivec2 resTexRC = ivec2(TexCoords.xy *
2749                                vec2(${r[0]}, ${r[1]}));
2750          int index = resTexRC.y * ${r[0]} + resTexRC.x;
2751          int r = index / ${t[1]};
2752          int c = index - r * ${t[1]};
2753          return ivec2(r, c);
2754        }
2755      `;return new rp(n)}getOutputUnpacked3DCoords(t,r){let n="",i=t.length,o=null;i<2&&(o=[]),(o=Array(i-1))[i-2]=t[i-1];for(let r=i-3;r>=0;--r)o[r]=o[r+1]*t[r+1];let a=["r","c","d"],s=o.map((t,r)=>`int ${a[r]} = index / ${t}; ${r===o.length-1?`int ${a[r+1]} = index - ${a[r]} * ${t}`:`index -= ${a[r]} * ${t}`};`).join("");return n=`
2756        ivec3 getOutputCoords() {
2757          ivec2 resTexRC = ivec2(TexCoords.xy *
2758                                vec2(${r[0]}, ${r[1]}));
2759          int index = resTexRC.y * ${r[0]} + resTexRC.x;
2760          ${s}
2761          return ivec3(r, c, d);
2762        }
2763      `,new rp(n)}getOutputUnpacked4DCoords(t,r){let n="",i=t.length,o=null;i<2&&(o=[]),(o=Array(i-1))[i-2]=t[i-1];for(let r=i-3;r>=0;--r)o[r]=o[r+1]*t[r+1];let a=["r","c","d","d2"],s=o.map((t,r)=>`int ${a[r]} = index / ${t}; ${r===o.length-1?`int ${a[r+1]} = index - ${a[r]} * ${t}`:`index -= ${a[r]} * ${t}`};`).join("");return n=`
2764      ivec4 getOutputCoords() {
2765          ivec2 resTexRC = ivec2(TexCoords.xy *
2766                                vec2(${r[0]}, ${r[1]}));
2767          int index = resTexRC.y * ${r[0]} + resTexRC.x;
2768          ${s}
2769          return ivec4(r, c, d, d2);
2770        }
2771      `,new rp(n)}getOutputUnpacked5DCoords(t,r){let n="",i=t.length,o=null;i<2&&(o=[]),(o=Array(i-1))[i-2]=t[i-1];for(let r=i-3;r>=0;--r)o[r]=o[r+1]*t[r+1];let a=["r","c","d","d2","d3"],s=o.map((t,r)=>`int ${a[r]} = index / ${t}; ${r===o.length-1?`int ${a[r+1]} = index - ${a[r]} * ${t}`:`index -= ${a[r]} * ${t}`};`).join("");return n=`
2772      ivec5 getOutputCoords() {
2773          ivec2 resTexRC = ivec2(TexCoords.xy *
2774                                vec2(${r[0]}, ${r[1]}));
2775          int index = resTexRC.y * ${r[0]} + resTexRC.x;
2776          ${s}
2777          return ivec5(r, c, d, d2, d3);
2778        }
2779      `,new rp(n)}getOutputUnpacked6DCoords(t,r){let n="",i=t.length,o=null;i<2&&(o=[]),(o=Array(i-1))[i-2]=t[i-1];for(let r=i-3;r>=0;--r)o[r]=o[r+1]*t[r+1];let a=["r","c","d","d2","d3","d4"],s=o.map((t,r)=>`int ${a[r]} = index / ${t}; ${r===o.length-1?`int ${a[r+1]} = index - ${a[r]} * ${t}`:`index -= ${a[r]} * ${t}`};`).join("");return n=`
2780     ivec6 getOutputCoords() {
2781         ivec2 resTexRC = ivec2(TexCoords.xy *
2782                               vec2(${r[0]}, ${r[1]}));
2783         int index = resTexRC.y * ${r[0]} + resTexRC.x;
2784         ${s}
2785         return ivec6(r, c, d, d2, d3, d4);
2786       }
2787     `,new rp(n)}getCommonUtilFuncs(){let t={},r="uvFromFlat";t[r]=new rp(`
2788    vec2 uvFromFlat(int texNumR, int texNumC, int index) {
2789      int texC = index / texNumR;
2790      int texR = index - texC * texNumR;
2791      // TODO: swap texR, texC order in following function so row is corresponding to u and column is corresponding to
2792      //       v.
2793      return (vec2(texR, texC) + halfCR) / vec2(texNumR, texNumC);
2794    }
2795    `),t[r="packedUVfrom1D"]=new rp(`
2796      vec2 packedUVfrom1D(int texNumR, int texNumC, int index) {
2797        int texelIndex = index / 2;
2798        int texR = texelIndex / texNumC;
2799        int texC = texelIndex - texR * texNumC;
2800        return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);
2801      }
2802      `),t[r="packedUVfrom2D"]=new rp(`
2803      vec2 packedUVfrom2D(int texNumR, int texNumC, int texelsInLogicalRow, int row, int col) {
2804        int texelIndex = (row / 2) * texelsInLogicalRow + (col / 2);
2805        int texR = texelIndex / texNumC;
2806        int texC = texelIndex - texR * texNumC;
2807        return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);
2808      }
2809      `),t[r="packedUVfrom3D"]=new rp(`
2810      vec2 packedUVfrom3D(int texNumR, int texNumC,
2811          int texelsInBatch, int texelsInLogicalRow, int b,
2812          int row, int col) {
2813        int index = b * texelsInBatch + (row / 2) * texelsInLogicalRow + (col / 2);
2814        int texR = index / texNumC;
2815        int texC = index - texR * texNumC;
2816        return (vec2(texC, texR) + halfCR) / vec2(texNumC, texNumR);
2817      }
2818      `),r="sampleTexture";let n=tF(this.context.glContext.version);return t[r]=new rp(`
2819        float sampleTexture(sampler2D textureSampler, vec2 uv) {
2820            return ${n.texture2D}(textureSampler, uv).r;
2821        }`),t}
2821getInputsSamplingSnippets(){let t={},r=this.context.outputTextureLayout;return this.context.programInfo.inputNames.forEach((n,i)=>{let o=this.context.inputTextureLayouts[i],a=tW(n);o.isPacked?t[a]=this.getPackedSamplerFromInput(a,n,o):t[a]=this.getUnpackedSamplerFromInput(a,n,o);let s=(ty("u">typeof n&&0!==n.length,()=>"empty string found for sampler name"),"get"+n.charAt(0).toUpperCase()+n.slice(1)+"AtOutCoords");o.unpackedShape.length<=r.unpackedShape.length&&(o.isPacked?t[s]=this.getPackedSamplerAtOutputCoords(s,o,r,n):t[s]=this.getUnpackedSamplerAtOutputCoords(s,o,r,n))}),t}getPackedSamplerAtOutputCoords(t,r,n,i){let o,a=r.unpackedShape,s=n.unpackedShape,u=tW(i),l=a.length,h=s.length,c=tw.getBroadcastDims(a,s),f=tY(h),d=h-l,p=tX();o=0===l?"":h<2&&c.length>=1?"coords = 0;":c.map(t=>`coords.${p[t+d]} = 0;`).join(`
2822`);let y="";y=h<2&&l>0?"coords":a.map((t,r)=>`coords.${p[r+d]}`).join(", ");let m="return outputValue;",g=1===tS.size(a),v=1===tS.size(s);if(1!==l||g||v){if(g&&!v)m=1===h?`
2823          return vec4(outputValue.x, outputValue.x, 0., 0.);
2824        `:`
2825          return vec4(outputValue.x);
2826        `;else if(c.length){let t=l-2,r=l-1;c.indexOf(t)>-1&&c.indexOf(r)>-1?m="return vec4(outputValue.x);":c.indexOf(t)>-1?m="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":c.indexOf(r)>-1&&(m="return vec4(outputValue.xx, outputValue.zz);")}}else m=`
2827        return vec4(outputValue.xy, outputValue.xy);
2828      `;let b=`
2829        int lastDim = coords.${p[h-1]};
2830        coords.${p[h-1]}
2830 = coords.${p[h-2]};
2831        coords.${p[h-2]} = lastDim;
2832      `;return new rp(`
2833      vec4 ${t}() {
2834        ${f} coords = getOutputCoords();
2835        ${b}
2836        ${o}
2837        vec4 outputValue = ${u}(${y});
2838        ${m}
2839      }
2840    `,["coordinates.getOutputCoords"])}getUnpackedSamplerAtOutputCoords(t,r,n,i){let o=[n.width,n.height],a=[r.width,r.height],s=r.unpackedShape.length,u=n.unpackedShape.length,l=r.unpackedShape,h=n.unpackedShape,c=tW(i);if(s===u&&tv.arraysEqual(a,o))return new rp(`
2841          float ${t}() {
2842            return sampleTexture(${i}, TexCoords);
2843          }
2844        `,["coordinates.sampleTexture"]);let f,d=tY(u),p=tw.getBroadcastDims(l,h),y=u-s,m=tX();f=0===s?"":u<2&&p.length>=1?"coords = 0;":p.map(t=>`coords.${m[t+y]} = 0;`).join(`
2845`);let g="";return g=u<2&&s>0?"coords":r.unpackedShape.map((t,r)=>`coords.${m[r+y]}`).join(", "),new rp(`
2846        float ${t}() {
2847          ${d} coords = getOutputCoords();
2848          ${f}
2849          return ${c}(${g});
2850        }
2851      `,["coordinates.getOutputCoords"])}getPackedSamplerFromInput(t,r,n){switch(n.unpackedShape.length){case 0:return this.getPackedSamplerScalar(t,r);case 1:return this.getPackedSampler1D(t,r,n);case 2:return this.getPackedSampler2D(t,r,n);case 3:return this.getPackedSampler3D(t,r,n);default:return this.getPackedSamplerND(t,r,n)}}getUnpackedSamplerFromInput(t,r,n){let i=n.unpackedShape;switch(i.length){case 0:return this.getUnpackedSamplerScalar(t,r,n);case 1:return this.getUnpackedSampler1D(t,r,n);case 2:return this.getUnpackedSampler2D(t,r,n);case 3:return this.getUnpackedSampler3D(t,r,n);case 4:return this.getUnpackedSampler4D(t,r,n);case 5:return this.getUnpackedSampler5D(t,r,n);case 6:return this.getUnpackedSampler6D(t,r,n);default:throw Error(`Unsupported dimension ${i.length}-D`)}}getPackedSamplerScalar(t,r){let n=`
2852          vec4 ${t}() {
2853            return ${tF(this.context.glContext.version).texture2D}(${r}, halfCR);
2854          }
2855        `;return new rp(n)}getPackedSampler1D(t,r,n){let i=[n.width,n.height],o=[i[1],i[0]],a=tF(this.context.glContext.version),s=`vec4 ${t}(int index) {
2856      vec2 uv = packedUVfrom1D(
2857      ${o[0]}, ${o[1]}, index);
2858      return ${a.texture2D}(${r}, uv);
2859    }`;return new rp(s,["coordinates.packedUVfrom1D"])}getPackedSampler2D(t,r,n){let i=n.unpackedShape,o=[n.width,n.height],a=tF(this.context.glContext.version),s=o[0],u=o[1];if(null!=o&&tv.arraysEqual(i,o)){let n=`vec4 ${t}(int row, int col) {
2860        vec2 uv = (vec2(col, row) + halfCR) / vec2(${u}.0, ${s}.0);
2861        return ${a.texture2D}(${r}, uv);
2862      }`;return new rp(n)}let l=Math.ceil(i[1]/2),h=`vec4 ${t}(int row, int col) {
2863      vec2 uv = packedUVfrom2D(${o[1]}, ${o[0]}, ${l}, row, col);
2864      return ${a.texture2D}(${r}, uv);
2865    }`;return new rp(h,["coordinates.packedUVfrom2D"])}getPackedSampler3D(t,r,n){let i=n.unpackedShape,o=[n.width,n.height],a=[o[0],o[1]],s=tF(this.context.glContext.version);if(1===i[0]){let o=i.slice(1),a=tH(i,o),s=JSON.parse(JSON.stringify(n));s.unpackedShape=a;let u=this.getPackedSamplerFromInput(t,r,s),l=`${u.routineBody}
2866      vec4 ${t}(int b, int row, int col) {
2867        return ${t}(${tq(["b","row","col"],[1,2])});
2868      } `;return new rp(l,u.dependencies)}let u=a[0],l=a[1],h=Math.ceil(i[2]/2),c=`vec4 ${t}(int b, int row, int col) {
2869      vec2 uv = packedUVfrom3D(
2870        ${l}, ${u}, ${h*Math.ceil(i[1]/2)}, ${h}, b, row, col);
2871      return ${s.texture2D}(${r}, uv);}`;return new rp(c,["coordinates.packedUVfrom3D"])}getPackedSamplerND(t,r,n){let i=n.unpackedShape,o=i.length,a=[n.width,n.height],s=tF(this.context.glContext.version),u=[a[0],a[1]],l=u[1],h=u[0],c=Math.ceil(i[o-1]/2),f=c*Math.ceil(i[o-2]/2),d="int b, int row, int col",p=`b * ${f} + (row / 2) * ${c} + (col / 2)`;for(let t=2;t<o-1;t++)d=`int b${t}, `+d,f*=i[o-t-1],p=`b${t} * ${f} + `+p;let y=`vec4 ${t}(${d}) {
2872      int index = ${p};
2873      int texR = index / ${h};
2874      int texC = index - texR * ${h};
2875      vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${h}, ${l});
2876      return ${s.texture2D}(${r}, uv);
2877    }`;return new rp(y)}getUnpackedSamplerScalar(t,r,n){let[i,o]=[n.width,n.height];return 1===i&&1===o?new rp(`
2878          float ${t}() {
2879            return sampleTexture(${r}, halfCR);
2880          }
2881        `,["coordinates.sampleTexture"]):new rp(`
2882        float ${t}() {
2883          int offset_${r} = coordsToOffset(TexCoords, ${i}, ${o});
2884          vec2 uv = uvFromFlat(${i}, ${o}, offset_${r});
2885          return sampleTexture(${r}, uv);
2886        }
2887      `,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler1D(t,r,n){let i=n.width,o=n.height;return 1===o&&1===i?new rp(`
2888        float ${t}(int index) {
2889          return sampleTexture(${r}, halfCR);
2890        }
2891      `,["coordinates.sampleTexture"]):1===o?new rp(`
2892          float ${t}(int index) {
2893            vec2 uv = vec2((float(index) + 0.5) / ${i}.0, 0.5);
2894            return sampleTexture(${r}, uv);
2895          }
2896        `,["coordinates.sampleTexture"]):1===i?new rp(`
2897          float ${t}(int index) {
2898            vec2 uv = vec2(0.5, (float(index) + 0.5) / ${o}.0);
2899            return sampleTexture(${r}, uv);
2900          }
2901        `,["coordinates.sampleTexture"]):new rp(`
2902        float ${t}(int index) {
2903          vec2 uv = uvFromFlat(${i}, ${o}, index);
2904          return sampleTexture(${r}, uv);
2905        }
2906      `,["coordinates.uvFromFlat","coordinates.sampleTexture"])}getUnpackedSampler2D(t,r,n){let i=n.unpackedShape,o=[n.height,n.width];if(null!=o&&tv.arraysEqual(i,o))return new rp(`
2907          float ${t}(int row, int col) {
2908            vec2 uv = (vec2(row, col) + halfCR) / vec2(${o[1]}.0, ${o[0]}.0);
2909            return sampleTexture(${r}, uv);
2910          }
2911        `,["coordinates.sampleTexture"]);let{newShape:a,keptDims:s}=aX(i);if(a.length<i.length){let o=tH(i,a),u=JSON.parse(JSON.stringify(n));u.unpackedShape=o;let l=`
2912          ${this.getUnpackedSamplerFromInput(t,r,u).routineBody}
2913          float ${t}(int row, int col) {
2914            return ${t}(${tq(["col","row"],s)});
2915          }
2916        `;return new rp(l,["coordinates.sampleTexture"])}let u=o[1],l=o[0];if(1===l){let n=`
2917          float ${t}(int row, int col) {
2918            int offset_${r} = coordsToOffset(TexCoords, ${u}, ${l});
2919            float index = dot(vec3(row, col, offset_${r}), vec3(${i[1]}, 1, 1));
2920            vec2 uv = vec2(0.5, (index + 0.5) / ${u}.0);
2921            return sampleTexture(${r}, uv);
2922          }
2923        `;return new rp(n,["coordinates.sampleTexture","coordinates.coordsToOffset"])}if(1===u){let n=`
2924          float ${t}(int row, int col) {
2925            int offset_${r} = coordsToOffset(TexCoords, ${u}, ${l});
2926            float index = dot(vec3(row, col, offset_${r}), vec3(${i[1]}, 1, 1));
2927            vec2 uv = vec2((index + 0.5) / ${l}.0, 0.5);
2928            return sampleTexture(${r}, uv);
2929          }
2930        `;return new rp(n,["coordinates.sampleTexture","coordinates.coordsToOffset"])}let h=`
2931        float ${t}(int row, int col) {
2932          int index = col * ${i[1]} + row;
2933          vec2 uv = uvFromFlat(${u}, ${l}, index);
2934          return sampleTexture(${r}, uv);
2935        }
2936      `;return new rp(h,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler3D(t,r,n){let i=n.unpackedShape,o=i[1]*i[2],a=i[2],{newShape:s,keptDims:u}=aX(i);if(s.length<i.length){let o=tH(i,s),a=JSON.parse(JSON.stringify(n));a.unpackedShape=o;let l=this.getUnpackedSamplerFromInput(t,r,a),h=u.reverse(),c=`
2937          ${l.routineBody}
2938          float ${t}(int batch, int row, int col) {
2939            return ${t}(${tq(["batch","col","row"],h)});
2940          }
2941        `;return new rp(c,l.dependencies)}let l=n.width,h=n.height;return new rp(`
2942          float ${t}(int depth, int row, int col) {
2943            // Explicitly use integer operations as dot() only works on floats.
2944            int index = depth * ${o} + col * ${a} + row;
2945            vec2 uv = uvFromFlat(${l}, ${h}, index);
2946            return sampleTexture(${r}, uv);
2947          }
2948      `,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}getUnpackedSampler4D(t,r,n){let i=n.unpackedShape,o=i[3],a=i[2]*o,s=i[1]*a,u=n.width,l=n.height;return new rp(`
2949        float ${t}(int row, int col, int depth, int depth2) {
2950          int index = row * ${s} + col * ${a} +
2951              depth2 * ${o} + depth;
2952          vec2 uv = uvFromFlat(${u}, ${l}, index);
2953          return sampleTexture(${r}, uv);
2954        }
2955      `,["coordinates.uvFromFlat","coordinates.sampleTexture"])}getUnpackedSampler5D(t,r,n){let i=n.unpackedShape,o=i[4],a=i[3]*o,s=i[2]*a,u=i[1]*s,{newShape:l,keptDims:h}=aX(i);if(l.length<i.length){let o=tH(i,l),a=JSON.parse(JSON.stringify(n));a.unpackedShape=o;let s=`
2956          ${this.getUnpackedSamplerFromInput(t,r,a).routineBody}
2957          float ${t}(int row, int col, int depth, int depth2, int depth3) {
2958            return ${t}(${tq(["row","col","depth","depth2","depth3"],h)});
2959          }
2960        `;return new rp(s,["coordinates.sampleTexture","coordinates.uvFromFlat"])}let c=n.width,f=n.height;return new rp(`
2961        float ${t}(int row, int col, int depth, int depth2, int depth3) {
2962          int index = row * ${u} + col * ${s} + depth * ${a} +
2963          depth3 * ${o} + depth2;
2964          vec2 uv = uvFromFlat(${c}, ${f}, index);
2965          return sampleTexture(${r}, uv);
2966        }
2967      `,["coordinates.sampleTexture","coordinates.uvFromFlat"])}getUnpackedSampler6D(t,r,n){let i=n.unpackedShape,o=i[5],a=i[4]*o,s=i[3]*a,u=i[2]*s,l=i[1]*u,{newShape:h,keptDims:c}=aX(i);if(h.length<i.length){let o=tH(i,h),a=JSON.parse(JSON.stringify(n));a.unpackedShape=o;let s=`
2968            ${this.getUnpackedSamplerFromInput(t,r,a).routineBody}
2969            float ${t}(int row, int col, int depth,
2970              int depth2, int depth3, int depth4) {
2971              return ${t}(${tq(["row","col","depth","depth2","depth3","depth4"],c)});
2972            }
2973          `;return new rp(s,["coordinates.sampleTexture","coordinates.uvFromFlat"])}let f=n.width,d=n.height;return new rp(`
2974          float ${t}(int row, int col, int depth,
2975            int depth2, int depth3, int depth4) {
2976            int index = row * ${l} + col * ${u} + depth * ${s} +
2977            depth2 * ${a} + depth3 * ${o} + depth4;
2978            vec2 uv = uvFromFlat(${f}, ${d}, index);
2979            return sampleTexture(${r}, uv);
2980          }
2981        `,["coordinates.uvFromFlat","coordinates.sampleTexture","coordinates.coordsToOffset"])}toVec(){let t=this.context.outputTextureLayout,r=t.shape.length,n=t.strides,i=t.width,o=t.height,a=[];for(let t=0;t<r-1;++t)a.push(`
2982        c[${t}] = offset / ${n[t]};`),a.push(`
2983        offset -= c[${t}] * ${n[t]};`);a.push(`
2984        c[${r-1}] = offset;`);let s=`
2985      void toVec(vec2 texCoords, out int c[${r}]) {
2986        int offset = coordsToOffset(texCoords, ${i}, ${o});
2987        ${a.join("")}
2988      }
2989      void toVec(int offset, out int c[${r}]) {
2990        ${a.join("")}
2991      }
2992    `;return{toVec:new rp(s,["coordinates.coordsToOffset"])}}valueFrom(){let t={};return this.context.programInfo.inputNames.forEach((r,n)=>{let i=this.context.inputTextureLayouts[n],o=(i.unpackedShape.length>0?i.unpackedShape:i.shape).length,a=`_${r}`;t[a]=new rp(this.getValueFromSingle(r,o,i.width,i.height,!1),[`shapeUtils.indicesToOffset${a}`,"coordinates.offsetToCoords","fragcolor.getColorAsFloat"]),t[a+="_T"]=new rp(this.getValueFromSingle(r,o,i.width,i.height,!0),[`shapeUtils.indicesToOffset${a}`,"coordinates.offsetToCoords","fragcolor.getColorAsFloat"])}),t}getValueFromSingle(t,r,n,i,o){let a=`_${t}`;return o&&(a+="_T"),`
2993        float ${a}(int m[${r}]) {
2994          int offset = indicesToOffset${a}(m);
2995          vec2 coords = offsetToCoords(offset, ${n}, ${i});
2996          float value = getColorAsFloat(${tF(this.context.glContext.version).texture2D}(${t}, coords));
2997          return value;
2998        }
2999        `}getPackedValueFrom(t,r,n,i,o){let a=`_${t}_Pack`;return o&&(a+="_T"),`
3000        vec4 ${a}(int m[${r}]) {
3001          int offset = indicesToOffset_${t}(m);
3002          vec2 coords = offsetToCoords(offset, ${n}, ${i});
3003          return ${tF(this.context.glContext.version).texture2D}(${t}, coords);
3004        }
3005        `}}}),sr=G(()=>{rJ(),a1=class t extends rd{constructor(t){super(t)}getFunctions(){return{...this.encodeFloat32(),...this.decodeFloat32()}}getCustomTypes(){return{}}encodeFloat32(){return{encode:new rp(`highp vec4 encode(highp float f) {
3006        return vec4(f, 0.0, 0.0, 0.0);
3007      }
3008        `)}}decodeFloat32(){return{decode:new rp(`highp float decode(highp vec4 rgba) {
3009        return rgba.r;
3010      }
3011        `)}}encodeUint8(){let r=t.isLittleEndian()?"rgba.rgba=rgba.abgr;":"";return{encode:new rp(`
3012      highp vec4 encode(highp float f) {
3013        highp float F = abs(f);
3014        highp float Sign = step(0.0,-f);
3015        highp float Exponent = floor(log2(F));
3016        highp float Mantissa = (exp2(- Exponent) * F);
3017        Exponent = floor(log2(F) + 127.0) + floor(log2(Mantissa));
3018        highp vec4 rgba;
3019        rgba[0] = 128.0 * Sign  + floor(Exponent*exp2(-1.0));
3020        rgba[1] = 128.0 * mod(Exponent,2.0) + mod(floor(Mantissa*128.0),128.0);
3021        rgba[2] = floor(mod(floor(Mantissa*exp2(23.0 -8.0)),exp2(8.0)));
3022        rgba[3] = floor(exp2(23.0)*mod(Mantissa,exp2(-15.0)));
3023        ${r}
3024        rgba = rgba / 255.0; // values need to be normalized to [0,1]
3025        return rgba;
3026    }
3027        `)}}decodeUint8(){let r=t.isLittleEndian()?"rgba.rgba=rgba.abgr;":"";return{decode:new rp(`
3028        highp float decode(highp vec4 rgba) {
3029          rgba = rgba * 255.0; // values need to be de-normalized from [0,1] to [0,255]
3030          ${r}
3031          highp float Sign = 1.0 - step(128.0,rgba[0])*2.0;
3032          highp float Exponent = 2.0 * mod(rgba[0],128.0) + step(128.0,rgba[1]) 
3032- 127.0;
3033          highp float Mantissa = mod(rgba[1],128.0)*65536.0 + rgba[2]*256.0 +rgba[3] + float(0x800000);
3034          highp float Result =  Sign * exp2(Exponent) * (Mantissa * exp2(-23.0 ));
3035          return Result;
3036      }
3037        `)}}static isLittleEndian(){let t=new ArrayBuffer(4),r=new Uint32Array(t),n=new Uint8Array(t);if(r[0]=0xdeadbeef,239===n[0])return!0;if(222===n[0])return!1;throw Error("unknown endianness")}}}),sn=G(()=>{rJ(),tz(),a0=class extends rd{constructor(t){super(t)}getFunctions(){return{...this.setFragColor(),...this.getColorAsFloat()}}getCustomTypes(){return{}}setFragColor(){let t=tF(this.context.glContext.version);return{setFragColor:new rp(`
3038        void setFragColor(float value) {
3039            ${t.output} = encode(value);
3040        }
3041        `,["encoding.encode"])}}getColorAsFloat(){return{getColorAsFloat:new rp(`
3042        float getColorAsFloat(vec4 color) {
3043            return decode(color);
3044        }
3045        `,["encoding.decode"])}}}}),si=G(()=>{rJ(),a3=class t extends rd{constructor(t){super(t)}getFunctions(){return{...this.bcastIndex(),...this.bcastMatmulIndex(),...this.offsetToIndices(),...this.indicesToOffset(),...this.incrementIndices()}}getCustomTypes(){return{}}bcastIndex(){let t=this.context.outputTextureLayout.shape.length,r={};return this.context.programInfo.inputNames.forEach((n,i)=>{let o=this.context.inputTextureLayouts[i].unpackedShape;if(o.length<=t){let i=o.length,a=t-i,s=`bcastIndices_${n}`,u="";for(let t=0;t<i;++t)u+=`
3046          realIndices[${t}] = int( mod(float(bcastedIndices[${a+t}]), ${o[t]}.0) );
3047          `;let l=`
3048        void ${s} (int bcastedIndices[${t}], out int realIndices[${i}]) {
3049          ${u}
3050        }
3051        `;r[s]=new rp(l)}}),r}bcastMatmulIndex(){let t=this.context.outputTextureLayout.shape.length,r={};return this.context.programInfo.inputNames.forEach((n,i)=>{let o=this.context.inputTextureLayouts[i].shape;if(!(o.length<2||o.length>t)){let i=o.length,a=t-i,s=`bcastMatmulIndices_${n}`,u="";for(let t=0;t<i-2;++t)u+=`
3052          realIndices[${t}] = int( mod(float(bcastedIndices[${a+t}]), ${o[t]}.0) );
3053          `;let l=`
3054        void ${s}(int bcastedIndices[${t}], out int realIndices[${i}]) {
3055          ${u}
3056          realIndices[${i-1}] = bcastedIndices[${t-1}];
3057          realIndices[${i-2}] = bcastedIndices[${t-2}];
3058        }
3059        `;r[s]=new rp(l)}}),r}indicesToOffset(){let r={};return this.context.programInfo.inputNames.forEach((n,i)=>{let o=this.context.inputTextureLayouts[i].shape,a=this.context.inputTextureLayouts[i].strides,s=o.length,u=`indicesToOffset_${n}`;r[u]=new rp(t.indexToOffsetSingle(u,s,a)),r[u=`indicesToOffset_${n}_T`]=new rp(t.indexToOffsetSingle(u,s,a.slice().reverse()))}),r}static indexToOffsetSingle(t,r,n){let i="";for(let t=r-1;t>=0;--t)i+=`
3060        offset += indices[${t}] * ${n[t]};
3061        `;return`
3062      int ${t}(int indices[${r}]) {
3063        int offset = 0;
3064        ${i}
3065        return offset;
3066      }
3067      `}offsetToIndices(){let r={};return this.context.programInfo.inputNames.forEach((n,i)=>{let o=this.context.inputTextureLayouts[i].shape,a=this.context.inputTextureLayouts[i].strides,s=o.length,u=`offsetToIndices_${n}`;r[u]=new rp(t.offsetToIndicesSingle(u,s,a)),r[u=`offsetToIndices_${n}_T`]=new rp(t.offsetToIndicesSingle(u,s,a.slice().reverse()))}),r}static offsetToIndicesSingle(t,r,n){let i=[];for(let t=0;t<r-1;++t)i.push(`
3068      indices[${t}] = offset / ${n[t]};`),i.push(`
3069        offset -= indices[${t}] * ${n[t]};`);return i.push(`
3070      indices[${r-1}] = offset;`),`
3071      void ${t}(int offset, out int indices[${r}]) {
3072        ${i.join("")}
3073      }
3074      `}incrementIndices(){let t={};return this.context.programInfo.inputNames.forEach((r,n)=>{let i=this.context.inputTextureLayouts[n].shape,o=i.length,a=`incrementIndices_${r}`,s="";for(let t=0;t<o;++t)s+=`
3075        shape[${t}] = ${i[t]};`;let u=`
3076        void ${a}(int axis, out int indices[${o}]) {
3077          int shape[${o}];
3078          ${s};
3079          for(int i = ${o} -1 ; i >= 0; --i) {
3080            if(i > axis) continue;
3081            indices[i] += 1;
3082            if(indices[i] < shape[i]) {
3083              break;
3084            }
3085            indices[i] = 0;
3086          }
3087        }
3088        `;t[a]=new rp(u)}),t}}}),so=G(()=>{rJ(),a6=class extends rd{constructor(t){super(t)}getCustomTypes(){return{}}getFunctions(){return{...this.binaryVecFunctions(),...this.copyVec(),...this.setVecItem(),...this.getVecItem()}}binaryVecFunctions(){let t=this.context.outputTextureLayout.shape.length,r={add:"+=",
3088sub:"-=",mul:"*=",div:"/="},n={};for(let i in r){let o=`${i}Vec`,a="";for(let n=0;n<t;++n)a+=`
3089          dest[${n}] ${r[i]} src[${n}];
3090          `;let s=`
3091        void ${o}(int src[${t}], out int dest[${t}]) {
3092          ${a}
3093        }
3094        `;n[o]=new rp(s)}return n}copyVec(){let t=this.context.outputTextureLayout.shape.length,r="";for(let n=0;n<t;++n)r+=`
3095        dest[${n}] = src[${n}];
3096        `;return{copyVec:new rp(`
3097      void copyVec(int src[${t}], out int dest[${t}]) {
3098        ${r}
3099      }
3100      `)}}setVecItem(){let t=this.context.outputTextureLayout.shape.length,r=`
3101        if(index < 0)
3102            index =${t} + index;
3103        if (index == 0)
3104            m[0] = value;
3105        `;for(let n=1;n<t-1;++n)r+=`
3106        else if (index == ${n})
3107            m[${n}] = value;
3108            `;return r+=`
3109        else
3110            m[${t-1}] = value;
3111        `,{setVecItem:new rp(`
3112      void setVecItem(out int m[${t}], int index, int value) {
3113        ${r}
3114      }
3115        `)}}getVecItem(){let t=this.context.outputTextureLayout.shape.length,r=`
3116        if(index < 0)
3117            index = ${t} + index;
3118        if (index == 0)
3119            return m[0];
3120      `;for(let n=1;n<t-1;++n)r+=`
3121        else if (index == ${n})
3122            return m[${n}];
3123      `;return r+=`
3124        else
3125            return m[${t-1}];
3126        `,{getVecItem:new rp(`
3127      int getVecItem(int m[${t}], int index) {
3128        ${r}
3129      }
3130    `)}}}}),sa=G(()=>{st(),sr(),sn(),si(),so(),a5={encoding:a1,fragcolor:a0,vec:a6,shapeUtils:a3,coordinates:aQ}}),ss=G(()=>{rJ(),aY(),sa(),tz(),a9=class{constructor(t,r,n,i){this.libs={},this.glslLibRoutineDependencyGraph={},this.context=new rf(t,r,n,i),Object.keys(a5).forEach(t=>{let r=new a5[t](this.context);this.libs[t]=r});let o=this.glslLibRoutineDependencyGraph;for(let t in this.libs){let r=this.libs[t].getFunctions();for(let n in r){let i,a=t+"."+n;o[a]?(i=o[a]).routineBody=r[n].routineBody:(i=new ry(a,r[n].routineBody),o[a]=i);let s=r[n].dependencies;if(s)for(let t=0;t<s.length;++t)if(o[s[t]])i.addDependency(o[s[t]]);else{let r=new ry(s[t]);o[s[t]]=r,i.addDependency(r)}}}}preprocess(){var t,r;let n,i=this.context.programInfo,o=i.shaderSource;return this.context.programInfo.hasMain||(o=`${o}
3131      ${t=this.context.glContext.version,r=this.context.outputTextureLayout.shape.length,`
3132  void main() {
3133    int indices[${r}];
3134    toVec(TexCoords, indices);
3135    vec4 result = vec4(process(indices));
3136    ${tF(t).output} = result;
3137  }
3138  `}`),o=function(t){let r,n={};for(;null!==(r=ay.exec(t));){let t=r[3].split(",").map(t=>{let r=t.trim().split(" ");return r&&2===r.length?{type:r[0],name:r[1]}:null}).filter(t=>null!==t);n[r[2]]={params:t,body:r[4]}}for(let i in n){let o=RegExp(am.replace("__FUNC__",i),"gm");for(;null!==(r=o.exec(t));){let o=r[1],a=r[2],s=r[3].split(","),u=o?`${o} ${a};`:"",l=n[i].body,h="";n[i].params.forEach((t,r)=>{t&&(h+=`${t.type} ${t.name} = ${s[r]};
3139`)}),l=(l=`${h}
3140 ${l}`).replace("return",`${a} = `);let c=`
3141      ${u}
3142      {
3143        ${l}
3144      }
3145      `;t=t.replace(r[0],c)}}return t.replace(ay,"")}(o),`${n=tF(this.context.glContext.version),`${n.version}
3146    precision highp float;
3147    precision highp int;
3148    precision highp sampler2D;
3149    ${n.varyingFrag} vec2 TexCoords;
3150    ${n.outputDeclaration}
3151    const vec2 halfCR = vec2(0.5, 0.5);
3152
3153    // Custom vector types to handle higher dimenalities.
3154    struct ivec5
3155    {
3156      int x;
3157      int y;
3158      int z;
3159      int w;
3160      int u;
3161    };
3162
3163    struct ivec6
3164    {
3165      int x;
3166      int y;
3167      int z;
3168      int w;
3169      int u;
3170      int v;
3171    };
3172
3173    int imod(int x, int y) {
3174      return x - y * (x / y);
3175    }
3176
3177    `}
3178    ${this.getUniforms(i.inputNames,i.variables)}
3179    ${this.getImports(o)}
3180    ${o}`}getImports(t){let r=this.selectGlslLibRoutinesToBeIncluded(t);if(0===r.length)return"";let n="";for(let t=0;t<r.length;++t){if(!r[t].routineBody)throw Error(`Missing body for the Glsl Library routine: ${r[t].name}`);n+=r[t].routineBody+`
3181`}return n}selectGlslLibRoutinesToBeIncluded(t){let r=[];return Object.keys(this.glslLibRoutineDependencyGraph).forEach(n=>{let i=n.split(".")[1];
3181-1!==t.indexOf(i)&&r.push(this.glslLibRoutineDependencyGraph[n])}),rm.returnOrderedNodes(r)}getUniforms(t,r){let n=[];if(t)for(let r of t)n.push(`uniform sampler2D ${r};`);if(r)for(let t of r)n.push(`uniform ${t.type} ${t.name}${t.arrayLength?`[${t.arrayLength}]`:""};`);return n.join(`
3182`)}}}),su=G(()=>{ef(),eO(),ss(),tz(),a2=class{constructor(t,r,n){this.profiler=t,this.glContext=r,this.textureLayoutStrategy=n,this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,r){this.repo.set(t,r)}run(t,r,n){this.profiler.event("op",`ProgramManager.run ${t.programInfo.name??"unknown kernel"}`,()=>{let i=this.glContext.gl,o=t.program;i.useProgram(o);try{this.bindOutput(n),this.attributesBound||this.bindAttributes(t.attribLocations),this.bindUniforms(t.uniformLocations,t.programInfo.variables??[],r)}catch(r){throw ex.error("ProgramManager",t.programInfo.shaderSource),r}this.profiler.event("backend","GlContext.draw()",()=>{this.glContext.draw()})},this.glContext)}dispose(){this.vertexShader&&this.glContext.deleteShader(this.vertexShader),this.repo.forEac
3182h(t=>this.glContext.deleteProgram(t.program))}build(t,r,n){return this.profiler.event("backend","ProgramManager.build",()=>{let i=new a9(this.glContext,t,r,n),o=i.preprocess(),a=this.compile(o);return{programInfo:t,program:a,uniformLocations:this.getUniformLocations(a,i.context.programInfo.inputNames,i.context.programInfo.variables),attribLocations:this.getAttribLocations(a)}})}compile(t){if(!this.vertexShader){let t;ex.verbose("ProrgramManager","Compiling and caching Vertex shader for the first time");let r=(t=tF(this.glContext.version),`${t.version}
3183      precision highp float;
3184      ${t.attribute} vec3 position;
3185      ${t.attribute} vec2 textureCoord;
3186
3187      ${t.varyingVertex} vec2 TexCoords;
3188
3189      void main()
3190      {
3191          gl_Position = vec4(position, 1.0);
3192          TexCoords = textureCoord;
3193      }`);this.vertexShader=this.glContext.compileShader(r,this.glContext.gl.VERTEX_SHADER)}c.debug&&ex.verbose("ProrgramManager",`FragShader:
3194${t}
3195`);let r=this.glContext.compileShader(t,this.glContext.gl.FRAGMENT_SHADER),n=this.glContext.createProgram(this.vertexShader,r);return this.glContext.deleteShader(r),n}bindOutput(t){let r=t.width,n=t.height;ex.verbose("ProrgramManager",`Binding output texture to Framebuffer: w/h=${r}/${n}, shape=${t.shape}, type=${t.tensor.type}`),this.glContext.attachFramebuffer(t.texture,r,n)}bindAttributes(t){let r=t.position,n=t.textureCoord;this.glContext.setVertexAttributes(r,n),this.attributesBound=!0}bindUniforms(t,r,n){let i=this.glContext.gl,o=0;for(let{name:a,type:s,location:u,arrayLength:l}of t){let t=r.find(t=>t.name===a)?.data;if("sampler2D"!==s&&!t)throw Error(`variable '${a}' does not have data defined in program info`);switch(s){case"sampler2D":this.bindTexture(n[o],u,o),o++;break;case"float":l?i.uniform1fv(u,t):i.uniform1f(u,t);break;case"int":l?i.uniform1iv(u,t):i.uniform1i(u,t);break;default:throw Error(`Uniform not implemented: ${s}`)}}}bindTexture(t,r,n){this.glContext.bindTextureToUniform(t.texture,n,r)}getAttribLocations(t){return{position:this.getAttribLocation(t,"position"),textureCoord:this.getAttribLocation(t,"textureCoord")}}getUniformLocations(t,r,n){let i=[];if(r)for(let n of r)i.push({name:n,type:"sampler2D",location:this.getUniformLocation(t,n)});if(n)for(let r of n)i.push({...r,location:this.getUniformLocation(t,r.name)});return i}getUniformLocation(t,r){let n=this.glContext.gl.getUniformLocation(t,r);if(null===n)throw Error(`Uniform ${r} not found.`);return n}getAttribLocation(t,r){return this.glContext.gl.getAttribLocation(t,r)}}}),sl=G(()=>{eO(),rq(),a7=class{constructor(t,r,n,i){this.glContext=t,this.layoutStrategy=r,this.profiler=n,this.config=i,this.pendingRead=new Map,i.reuseTextures&&(this.inUseTextures=new Map,this.idleTextures=new Map,this.textureLookup=new Map)}createTextureFromLayout(t,r,n,i){let o=this.toEncoderType(t),a=this.glContext.getEncoder(o,r.channels||1,i);if(r.isPacked&&1===i)throw Error("not implemented");let s,u,l=r.width,h=r.height;if(this.config.reuseTextures){s=`${l}x${h}_${a.format}_${a.internalFormat}_${a.textureType}`,(u=this.inUseTextures.get(s))||(u=[],this.inUseTextures.set(s,u));let r=this.idleTextures.get(s);if(r&&r.length>0){let o=r.pop();return u.push(o),1===i&&this.glContext.updateTexture(o,l,h,a,this.toTextureData(t,n)),o}}ex.verbose("TextureManager",`Creating new texture of size ${r.width}x${r.height}`);let c=this.glContext.allocateTexture(l,h,a,this.toTextureData(t,n));return this.config.reuseTextures&&(u.push(c),this.textureLookup.set(c,s)),c}readTexture(t,r,n){return n||(n=1),this.profiler.event("backend","TextureManager.readTexture",()=>{let i=t.shape.reduce((t,r)=>t*r)*n,o=this.glContext.readTexture(t.texture,t.width,t.height,i,this.toEncoderType(r),n);return this.toTensorData(r,o)})}async readTextureAsync(t,r,n){let i=t.tensor.dataId;if(n||(n=1),this.pendingRead.has(i)){let t=this.pendingRead.get(i);return new Promise(r=>t?.push(r))}return this.profiler.event("backend","TextureManager.readTextureAsync",async()=>{this.pendingRead.set(i,[]);let o=t.shape.reduce((t,r)=>t*r)*n;await this.glContext.createAndWaitForFence();let a=this.glContext.readTexture(t.texture,t.width,t.height,o,this.toEncoderType(r),n),s=this.toTensorData(r,a),u=this.pendingRead.get(i);return this.pendingRead.delete(i),u?.forEach(t=>t(s)),s})}
3195readUint8TextureAsFloat(t){return this.profiler.event("backend","TextureManager.readUint8TextureAsFloat",()=>{let r=t.shape.reduce((t,r)=>t*r),n=this.glContext.readTexture(t.texture,t.width,t.height,4*r,"byte",4);return new Float32Array(n.buffer,n.byteOffset,r)})}releaseTexture(t,r){let n;if(this.config.reuseTextures&&(n=this.textureLookup.get(t.texture))){r&&this.textureLookup.delete(n);let i=this.inUseTextures.get(n);if(i){let r=i.indexOf(t.texture);if(-1!==r){i.splice(r,1);let o=this.idleTextures.get(n);o||(o=[],this.idleTextures.set(n,o)),o.push(t.texture)}}}(!n||r)&&(ex.verbose("TextureManager",`Deleting texture of size ${t.width}x${t.height}`),this.glContext.deleteTexture(t.texture))}toTensorData(t,r){switch(t){case"int16":return r instanceof Int16Array?r:Int16Array.from(r);case"int32":return r instanceof Int32Array?r:Int32Array.from(r);case"int8":return r instanceof Int8Array?r:Int8Array.from(r);case"uint16":return r instanceof Uint16Array?r:Uint16Array.from(r);case"uint32":return r instanceof Uint32Array?r:Uint32Array.from(r);case"uint8":case"bool":return r instanceof Uint8Array?r:Uint8Array.from(r);case"float32":return r instanceof Float32Array?r:Float32Array.from(r);case"float64":return r instanceof Float64Array?r:Float64Array.from(r);default:throw Error(`TensorData type ${t} is not supported`)}}toTextureData(t,r){if(r)return r instanceof Float32Array?r:new Float32Array(r)}toEncoderType(t){return"float"}clearActiveTextures(){this.glContext.clearActiveTextures()}}}),sh=G(()=>{eO(),eA(),rX(),aq(),su(),se(),sl(),a8=class{constructor(t,r){this.backend=t,this.context=r,this.layoutStrategy=new aJ(t.glContext.maxTextureSize),this.programManager=new a2(this.context.profiler,t.glContext,this.layoutStrategy),this.textureManager=new a7(t.glContext,this.layoutStrategy,this.context.profiler,{reuseTextures:"full"===t.textureCacheMode}),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache=new Map,this.pack=t.pack,this.pack2unpackMap=new Map,this.unpack2packMap=new Map}createInferenceHandler(){return new ri(this)}onGraphInitialized(t){let r=t.getValues().filter(t=>-1===t.from&&t.tensor).map(t=>t.tensor.dataId);this.initializers=new Set(r)}isInitializer(t){return!!this.initializers&&this.initializers.has(t)}addInitializer(t){this.initializers.add(t)}getTextureData(t,r){return r?this.packedTextureDataCache.get(t):this.unpackedTextureDataCache.get(t)}setTextureData(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];ex.verbose("WebGLSessionHandler","Storing Texture data in cache"),n?this.packedTextureDataCache.set(t,r):this.unpackedTextureDataCache.set(t,r)}dispose(){this.programManager.dispose(),this.textureManager.clearActiveTextures(),this.packedTextureDataCache.forEach(t=>this.textureManager.releaseTexture(t,!0)),this.packedTextureDataCache=new Map,this.unpackedTextureDataCache.forEach(t=>this.textureManager.releaseTexture(t,!0)),this.unpackedTextureDataCache=new Map}resolve(t,r,n){let i=function(t,r,n){for(let i of n){let n=i[0],o=i[1],a=i[2],s=i[3],u=i[4];if(t.opType===n){for(let t of r)if((t.domain===o||"ai.onnx"===t.domain&&""===o)&&function(t,r){if(r.endsWith("+")){let n=Number.parseInt(r.substring(0,r.length-1),10);return!isNaN(n)&&n<=t}if(2===r.split("-").length){let n=r.split("-"),i=Number.parseInt(n[0],10),o=Number.parseInt(n[1],10);return!isNaN(i)&&!isNaN(o)&&i<=t&&t<=o}return Number.parseInt(r,10)===t}(t.version,a))return{opImpl:s,opInit:u}}}throw TypeError(`cannot resolve operator '${t.opType}' with opsets: ${r.map(t=>`${t.domain||"ai.onnx"} v${t.version}`).join(", ")}`)}(t,r,ap);return{impl:i.opImpl,context:i.opInit?i.opInit(t,n):t}}}}),sc=G(()=>{ef(),rq(),rq(),tK(),a4=class{constructor(t,r){this.frameBufferBound=!1,this.itemsToPoll=[],this.gl=t,this.version=r,this.getExtensions(),this.vertexbuffer=this.createVertexbuffer(),this.framebuffer=this.createFramebuffer(),this.queryVitalParameters()}allocateTexture(t,r,n,i){let o=this.gl,a=o.createTexture();o.bindTexture(o.TEXTURE_2D,a),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.NEAREST),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.NEAREST),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE);let s=i?n.encode(i,t*r):null;return o.texImage2D(o.TEXTURE_2D,0,n.internalFormat,t,r,0,n.format,n.textureType,s),this.checkError(),a}updateTexture(t,r,n,i,o){let a=this.gl;a.bindTexture(a.TEXTURE_2D,t);let s=i.encode(o,r*n);a.texSubImage2D(a.TEXTURE_2D,0,0,0,r,n,i.format,i.textureType,s),this.checkError()}attachFramebuffer(t,r,n){let i=this.gl;i.bindTexture(i.TEXTURE_2D,t),i.bindFramebuffer(i.FRAMEBUFFER,this.framebuffer),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,t,0),this.checkError(),i.viewport(0,0,r,n),i.scissor(0,0,r,n)}readTexture(t,r,n,i,o,a){let s=this.gl;a||(a=1),this.frameBufferBound||this.attachFramebuffer(t,r,n);let u=this.getEncoder(o,a),l=u.allocate(r*n);return s.bindTexture(s.TEXTURE_2D,t),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,t,0),s.readPixels(0,0,r,n,s.RGBA,u.textureType,l),this.checkError(),u.decode(l,i)}isFramebufferReady(){return!0}getActiveTexture(){let t=this.gl;return"TEXTURE"+(t.getParameter(this.gl.ACTIVE_TEXTURE)-t.TEXTURE0)}getTextureBinding(){return this.gl.getParameter(this.gl.TEXTURE_BINDING_2D)}getFramebufferBinding(){return this.gl.getParameter(this.gl.FRAMEBUFFER_BINDING)}setVertexAttributes(t,r){let n=this.gl;n.vertexAttribPointer(t,3,n.FLOAT,!1,20,0),n.enableVertexAttribArray(t),-1!==r&&(n.vertexAttribPointer(r,2,n.FLOAT,!1,20,12),n.enableVertexAttribArray(r)),this.checkError()}createProgram(t,r){let n=this.gl,i=n.createProgram();return n.attachShader(i,t),n.attachShader(i,r),n.linkProgram(i),i}compileShader(t,r){let n=this.gl,i=n.createShader(r);if(!i)throw Error(`createShader() returned null with type ${r}`);if(n.shaderSource(i,t),n.compileShader(i),!1===n.getShaderParameter(i,n.COMPILE_STATUS))throw Error(`Failed to compile shader: ${n.getShaderInfoLog(i)}
3196Shader source:
3197${t}`);return i}deleteShader(t){this.gl.deleteShader(t)}bindTextureToUniform(t,r,n){let i=this.gl;i.activeTexture(i.TEXTURE0+r),this.checkError(),i.bindTexture(i.TEXTURE_2D,t),this.checkError(),i.uniform1i(n,r),this.checkError()}draw(){this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4),this.checkError()}checkError(){if(c.debug){let t=this.gl,r=t.getError(),n="";switch(r){case t.NO_ERROR:return;case t.INVALID_ENUM:n="INVALID_ENUM";break;case t.INVALID_VALUE:n="INVALID_VALUE";break;case t.INVALID_OPERATION:n="INVALID_OPERATION";break;case t.INVALID_FRAMEBUFFER_OPERATION:n="INVALID_FRAMEBUFFER_OPERATION";break;case t.OUT_OF_MEMORY:n="OUT_OF_MEMORY";break;case t.CONTEXT_LOST_WEBGL:n="CONTEXT_LOST_WEBGL";break;default:n=`Unknown WebGL Error: ${r.toString(16)}`}throw Error(n)}}deleteTexture(t){this.gl.deleteTexture(t)}deleteProgram(t){this.gl.deleteProgram(t)}getEncoder(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(2===this.version)return new t8(this.gl,r);switch(t){case"float":return 1===n||this.isRenderFloat32Supported?new t4(this.gl,r):new t4(this.gl,r,this.textureHalfFloatExtension.HALF_FLOAT_OES);case"int":throw Error("not implemented");case"byte":return new re(this.gl,r);default:throw Error(`Invalid dataType: ${t}`)}}clearActiveTextures(){let t=this.gl;for(let r=0;r<this.maxTextureImageUnits;++r)t.activeTexture(t.TEXTURE0+r),t.bindTexture(t.TEXTURE_2D,null)}dispose(){if(this.disposed)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteFramebuffer(this.framebuffer),t.bindBuffer(t.ARRAY_BUFFER,null),t.deleteBuffer(this.vertexbuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null),t.finish(),this.disposed=!0}createDefaultGeometry(){return new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0])}createVertexbuffer(){let t=this.gl,r=t.createBuffer();if(!r)throw Error("createBuffer() returned null");let n=this.createDefaultGeometry();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,n,t.STATIC_DRAW),this.checkError(),r}createFramebuffer(){let t=this.gl.createFramebuffer();if(!t)throw Error("createFramebuffer returned null");return t}queryVitalParameters(){let t=this.gl;if(this.isFloatTextureAttachableToFrameBuffer=this.checkFloatTextureAttachableToFrameBuffer(),this.isRenderFloat32Supported=this.checkRenderFloat32(),this.isFloat32DownloadSupported=this.checkFloat32Download(),1===this.version&&!this.textureHalfFloatExtension&&!this.isRenderFloat32Supported)throw Error("both float32 and float16 TextureType are not supported");this.isBlendSupported=!this.isRenderFloat32Supported||this.checkFloat32Blend(),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this.maxTextureImageUnits=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this.version}getExtensions(){2===this.version?(this.colorBufferFloatExtension=this.gl.getExtension("EXT_color_buffer_float"),this.disjointTimerQueryWebgl2Extension=this.gl.getExtension("EXT_disjoint_timer_query_webgl2")):(this.textureFloatExtension=this.gl.getExtension("OES_texture_float"),this.textureHalfFloatExtension=this.gl.getExtension("OES_texture_half_float"))}checkFloatTextureAttachableToFrameBuffer(){let t=this.gl,r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r);let n=2===this.version?t.RGBA32F:t.RGBA;t.texImage2D(t.TEXTURE_2D,0,n,1,1,0,t.RGBA,t.FLOAT,null);let i=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,i),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0);let o=t.checkFramebufferStatus(t.FRAMEBUFFER)===t.FRAMEBUFFER_COMPLETE;return t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),t.deleteTexture(r),t.deleteFramebuffer(i),o}checkRenderFloat32(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else if(!this.textureFloatExtension)return!1;return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Download(){if(2===this.version){if(!this.colorBufferFloatExtension)return!1}else if(!this.textureFloatExtension||!this.gl.getExtension("WEBGL_color_buffer_float"))return!1;return this.isFloatTextureAttachableToFrameBuffer}checkFloat32Blend(){let t,r,n,i,o,a=this.gl;try{t=a.createTexture(),r=a.createFramebuffer(),a.bindTexture(a.TEXTURE_2D,t);let s=2===this.version?a.RGBA32F:a.RGBA;return a.texImage2D(a.TEXTURE_2D,0,s,1,1,0,a.RGBA,a.FLOAT,null),a.bindFramebuffer(a.FRAMEBUFFER,r),a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,t,0),a.enable(a.BLEND),!!((n=a.createShader(a.VERTEX_SHADER))&&(a.shaderSource(n,"void main(){}"),a.compileShader(n),i=a.createShader(a.FRAGMENT_SHADER))&&(a.shaderSource(i,"precision highp float;void main(){gl_FragColor=vec4(0.5);}
3197"),a.compileShader(i),o=a.createProgram()))&&(a.attachShader(o,n),a.attachShader(o,i),a.linkProgram(o),a.useProgram(o),a.drawArrays(a.POINTS,0,1),a.getError()===a.NO_ERROR)}finally{a.disable(a.BLEND),o&&a.deleteProgram(o),n&&a.deleteShader(n),i&&a.deleteShader(i),r&&(a.bindFramebuffer(a.FRAMEBUFFER,null),a.deleteFramebuffer(r)),t&&(a.bindTexture(a.TEXTURE_2D,null),a.deleteTexture(t))}}beginTimer(){if(2===this.version&&this.disjointTimerQueryWebgl2Extension){let t=this.gl,r=this.disjointTimerQueryWebgl2Extension,n=t.createQuery();return t.beginQuery(r.TIME_ELAPSED_EXT,n),n}throw Error("WebGL1 profiling currently not supported.")}endTimer(){if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw Error("WebGL1 profiling currently not supported");{let t=this.gl,r=this.disjointTimerQueryWebgl2Extension;t.endQuery(r.TIME_ELAPSED_EXT)}}isTimerResultAvailable(t){let r=!1,n=!1;if(2!==this.version||!this.disjointTimerQueryWebgl2Extension)throw Error("WebGL1 profiling currently not supported");{let i=this.gl,o=this.disjointTimerQueryWebgl2Extension;r=i.getQueryParameter(t,i.QUERY_RESULT_AVAILABLE),n=i.getParameter(o.GPU_DISJOINT_EXT)}return r&&!n}getTimerResult(t){let r=0;if(2!==this.version)throw Error("WebGL1 profiling currently not supported");{let n=this.gl;r=n.getQueryParameter(t,n.QUERY_RESULT),n.deleteQuery(t)}return r/1e6}async waitForQueryAndGetTime(t){return await tV(()=>this.isTimerResultAvailable(t)),this.getTimerResult(t)}async createAndWaitForFence(){let t=this.createFence(this.gl);return this.pollFence(t)}createFence(t){let r,n=t.fenceSync(t.SYNC_GPU_COMMANDS_COMPLETE,0);return t.flush(),r=null===n?()=>!0:()=>{let r=t.clientWaitSync(n,0,0);return r===t.ALREADY_SIGNALED||r===t.CONDITION_SATISFIED},{query:n,isFencePassed:r}}async pollFence(t){return new Promise(r=>{this.addItemToPoll(()=>t.isFencePassed(),()=>r())})}pollItems(){let t=function(t){let r=0;for(;r<t.length&&t[r]();++r);return r-1}(this.itemsToPoll.map(t=>t.isDoneFn));for(let r=0;r<=t;++r){let{resolveFn:t}=this.itemsToPoll[r];t()}this.itemsToPoll=this.itemsToPoll.slice(t+1)}async addItemToPoll(t,r){this.itemsToPoll.push({isDoneFn:t,resolveFn:r}),this.itemsToPoll.length>1||await tV(()=>(this.pollItems(),0===this.itemsToPoll.length))}}});function sf(t,r){let n,i={alpha:!1,depth:!1,antialias:!1,stencil:!1,preserveDrawingBuffer:!1,premultipliedAlpha:!1,failIfMajorPerformanceCaveat:!1};if((!r||"webgl2"===r)&&(n=t.getContext("webgl2",i)))try{return new a4(n,2)}catch(t){ex.warning("GlContextFactory",`failed to create WebGLContext using contextId 'webgl2'. Error: ${t}`)}if((!r||"webgl"===r)&&(n=t.getContext("webgl",i)||t.getContext("experimental-webgl",i)))try{return new a4(n,1)}catch(t){ex.warning("GlContextFactory",`failed to create WebGLContext using contextId 'webgl' or 'experimental-webgl'. Error: ${t}`)}throw Error("WebGL is not supported")}var sd,sp,sy=G(()=>{eO(),sc(),sd={}}),sm=G(()=>{ef(),eO(),sh(),sy(),sp=class{get contextId(){return c.webgl.contextId}set contextId(t){c.webgl.contextId=t}get matmulMaxBatchSize(){return c.webgl.matmulMaxBatchSize}set matmulMaxBatchSize(t){c.webgl.matmulMaxBatchSize=t}get textureCacheMode(){return c.webgl.textureCacheMode}set textureCacheMode(t){c.webgl.textureCacheMode=t}get pack(){return c.webgl.pack}set pack(t){c.webgl.pack=t}get async(){return c.webgl.async}set async(t){c.webgl.async=t}initialize(){try{return this.glContext=function t(r){let n;if((!r||"webgl2"===r)&&"webgl2"in sd?n=sd.webgl2:(!r||"webgl"===r)&&"webgl"in sd&&(n=sd.webgl),!n)try{n=sf(function(){if(typeof OffscreenCanvas>"u")throw TypeError("failed to create offscreen canvas: OffscreenCanvas is not supported");return new OffscreenCanvas(1,1)}(),r)}catch{n=sf(function(){if(typeof document>"u")throw TypeError("failed to create canvas: document is not supported");let t=document.createElement("canvas");return t.width=1,t.height=1,t}(),r)}r=r||1===n.version?"webgl":"webgl2";let i=n.gl;return sd[r]=n,i.isContextLost()?(delete sd[r],t(r)):(i.disable(i.DEPTH_TEST),i.disable(i.STENCIL_TEST),i.disable(i.BLEND),i.disable(i.DITHER),i.disable(i.POLYGON_OFFSET_FILL),i.disable(i.SAMPLE_COVERAGE),i.enable(i.SCISSOR_TEST),i.enable(i.CULL_FACE),i.cullFace(i.BACK),n)}(this.contextId),"number"!=typeof this.matmulMaxBatchSize&&(this.matmulMaxBatchSize=16),"string"!=typeof this.textureCacheMode&&(this.textureCacheMode="full"),"boolean"!=typeof this.pack&&(this.pack=!1),"boolean"!=typeof this.async&&(this.async=!1),ex.setWithEnv(c),c.webgl.context||Object.defineProperty(c.webgl,"context",{value:this.glContext.gl}),ex.verbose("WebGLBackend",`Created WebGLContext: ${typeof this.glContext} with matmulMaxBatchSize: ${this.matmulMaxBatchSize}; textureCacheMode: ${this.textureCacheMode}; pack: ${this.pack}; async: ${this.async}.`),!0}catch(t){return ex.warning("WebGLBackend",`Unable to initialize WebGLBackend. ${t}`),!1}}createSessionHandler(t){return new a8(this,t)}dispose(){this.glContext.dispose()}}});async function sg(t){if(!t)return sg(["webgl"]);for(let r of"string"==typeof t?[t]:t){let t=sb.get(r);if(t)return t;let n=await sv(r);if(n)return n}throw Error("no available backend to use")}async function sv(t){var r;let n=sw;if("u">typeof n[t]&&"initialize"in(r=n[t])&&"function"==typeof r.initialize&&"createSessionHandler"in r&&"function"==typeof r.createSessionHandler&&"dispose"in r&&"function"==typeof r.dispose){let r=n[t],i=r.initialize();if("object"==typeof i&&"then"in i&&(i=await i),i)return sb.set(t,r),r}}var sb,sw,sx,s_,sT,sS,sE,sO,sA,sI,sP,sk,sC,s$,sR,sD,sM,sL,sB=G(()=>{sm(),sb=new Map,sw={webgl:new sp}}),sN=G(()=>{eO(),sx=class{constructor(t,r){this.op=t,this.node=r}},s_=class{constructor(t,r,n){this.graph=t,this.profiler=n,this.initialize(r)}
3197initialize(t){this.profiler.event("session","ExecutionPlan.initialize",()=>{let r=this.graph.getNodes();if(r.length!==t.length)throw Error("The size of nodes and OPs do not match.");this._ops=t.map((t,n)=>new sx(t,r[n])),this.reset(),this._starter=[],this._ops.forEach((t,r)=>{let n=!0;for(let r of t.node.inputs)if(!this._values[r]&&-1===this.graph.getInputIndices().indexOf(r)){n=!1;break}n&&this._starter.push(r)})})}reset(){this._values=this.graph.getValues().map(t=>t.tensor)}async execute(t,r){return this.profiler.event("session","ExecutionPlan.execute",async()=>{this.reset();let n=t.createInferenceHandler(),i=this.graph.getInputIndices();if(r.length!==i.length)throw Error(`number of input tensors don't match the number of inputs to the model: actual: ${r.length} expected: ${i.length}`);r.forEach((t,r)=>{let n=i[r];this._values[n]=t});let o=this._starter.slice(0),a=this.graph.getValues(),s=this.graph.getNodes(),u=0;for(;u<o.length;){let t=o[u++],r=this._ops[t],i=r.node.inputs.map(t=>this._values[t]);if(-1!==i.indexOf(void 0))throw Error(`unresolved input detected: op: ${r.node}`);ex.verbose("ExecPlan",`Runing op:${r.node.name} (${i.map((t,n)=>`'${r.node.inputs[n]}': ${t.type}[${t.dims.join(",")}]`).join(", ")})`);let l=await this.profiler.event("node",r.node.name,async()=>r.op.impl(n,i,r.op.context));if(l.length!==r.node.outputs.length)throw Error("the size of output does not match model definition.");l.forEach((t,n)=>{let i=r.node.outputs[n];if(this._values[i])throw Error(`output [${i}] already has value: op:${r.node.name}`);this._values[i]=t});let h=new Set;l.forEach((t,n)=>{for(let t of a[r.node.outputs[n]].to){let r=s[t],n=!0;for(let t of r.inputs)if(!this._values[t]){n=!1;break}n&&h.add(t)}}),o.push(...h)}let l=[];for(let t=0;t<this.graph.getOutputIndices().length;t++){let r=this.graph.getOutputIndices()[t],n=this._values[r];if(void 0===n)throw Error(`required output [${r}] does not have value`);0===r?await n.getData():n.data,l.push(n)}return ex.verbose("ExecPlan","disposing of inferenceHandler"),n.dispose(),l})}}}),sF=G(()=>{e9(),sT=q(tp()),tN(),tP(),sS=e3.experimental.fbs,sE=class t{constructor(r){if(this._attributes=new Map,null!=r){for(let n of r)n instanceof sT.onnx.AttributeProto?this._attributes.set(n.name,[t.getValue(n),t.getType(n)]):n instanceof sS.Attribute&&this._attributes.set(n.name(),[t.getValue(n),t.getType(n)]);if(this._attributes.size<r.length)throw Error("duplicated attribute names")}}set(t,r,n){this._attributes.set(t,[n,r])}delete(t){this._attributes.delete(t)}getFloat(t,r){return this.get(t,"float",r)}getInt(t,r){return this.get(t,"int",r)}getString(t,r){return this.get(t,"string",r)}getTensor(t,r){return this.get(t,"tensor",r)}getFloats(t,r){return this.get(t,"floats",r)}getInts(t,r){return this.get(t,"ints",r)}getStrings(t,r){return this.get(t,"strings",r)}getTensors(t,r){return this.get(t,"tensors",r)}get(t,r,n){let i=this._attributes.get(t);if(void 0===i){if(void 0!==n)return n;throw Error(`required attribute not found: ${t}`)}if(i[1]!==r)throw Error(`type mismatch: expected ${r} but got ${i[1]}`);return i[0]}static getType(t){let r=t instanceof sT.onnx.AttributeProto?t.type:t.type();switch(r){case sT.onnx.AttributeProto.AttributeType.FLOAT:return"float";case sT.onnx.AttributeProto.AttributeType.INT:return"int";case sT.onnx.AttributeProto.AttributeType.STRING:return"string";case sT.onnx.AttributeProto.AttributeType.TENSOR:return"tensor";case sT.onnx.AttributeProto.AttributeType.FLOATS:return"floats";case sT.onnx.AttributeProto.AttributeType.INTS:return"ints";case sT.onnx.AttributeProto.AttributeType.STRINGS:return"strings";case sT.onnx.AttributeProto.AttributeType.TENSORS:return"tensors";default:throw Error(`attribute type is not supported yet: ${sT.onnx.AttributeProto.AttributeType[r]}`)}}static getValue(t){let r=t instanceof sT.onnx.AttributeProto?t.type:t.type();if(r===sT.onnx.AttributeProto.AttributeType.GRAPH||r===sT.onnx.AttributeProto.AttributeType.GRAPHS)throw Error("graph attribute is not supported yet");let n=this.getValueNoCheck(t);if(r===sT.onnx.AttributeProto.AttributeType.INT&&tT.isLong(n))return tT.longToNumber(n);if(r===sT.onnx.AttributeProto.AttributeType.INTS){let t=Array(n.length);for(let r=0;r<n.length;r++){let i=n[r];t[r]=tT.longToNumber(i)}return t}if(r===sT.onnx.AttributeProto.AttributeType.TENSOR)return t instanceof sT.onnx.AttributeProto?tB.fromProto(n):tB.fromOrtTensor(n);if(r===sT.onnx.AttributeProto.AttributeType.TENSORS){if(t instanceof sT.onnx.AttributeProto)return n.map(t=>tB.fromProto(t));if(t instanceof sS.Attribute)return n.map(t=>tB.fromOrtTensor(t))}return r===sT.onnx.AttributeProto.AttributeType.STRING&&t instanceof sT.onnx.AttributeProto?tm(n):r===sT.onnx.AttributeProto.AttributeType.STRINGS&&t instanceof sT.onnx.AttributeProto?n.map(tm):n}static getValueNoCheck(t){return t instanceof sT.onnx.AttributeProto?this.getValueNoCheckFromOnnxFormat(t):this.getValueNoCheckFromOrtFormat(t)}static getValueNoCheckFromOnnxFormat(t){switch(t.type){case sT.onnx.AttributeProto.AttributeType.FLOAT:return t.f;case sT.onnx.AttributeProto.AttributeType.INT:return t.i;case sT.onnx.AttributeProto.AttributeType.STRING:return t.s;case sT.onnx.AttributeProto.AttributeType.TENSOR:return t.t;case sT.onnx.AttributeProto.AttributeType.GRAPH:return t.g;case sT.onnx.AttributeProto.AttributeType.FLOATS:return t.floats;case sT.onnx.AttributeProto.AttributeType.INTS:return t.ints;case sT.onnx.AttributeProto.AttributeType.STRINGS:return t.strings;case sT.onnx.AttributeProto.AttributeType.TENSORS:return t.tensors;case sT.onnx.AttributeProto.AttributeType.GRAPHS:return t.graphs;default:throw Error(`unsupported attribute type: ${sT.onnx.AttributeProto.AttributeType[t.type]}`)}}static getValueNoCheckFromOrtFormat(t){switch(t.type()){case sS.AttributeType.FLOAT:return t.f();case sS.AttributeType.INT:return t.i();case sS.AttributeType.STRING:return t.s();case sS.AttributeType.TENSOR:return t.t();case sS.AttributeType.GRAPH:return t.g();case sS.AttributeType.FLOATS:return t.floatsArray();case sS.AttributeType.INTS:{let r=[];for(let n=0;n<t.intsLength();n++)r.push(t.ints(n));return r}case sS.AttributeType.STRINGS:{let r=[];for(let n=0;n<t.stringsLength();n++)r.push(t.strings(n));return r}case sS.AttributeType.TENSORS:{let r=[];for(let n=0;n<t.tensorsLength();n++)r.push(t.tensors(n));return r}default:throw Error(`unsupported attribute type: ${sS.AttributeType[t.type()]}`)}}}}),sU=G(()=>{sF(),e9(),sO=q(tp()),tN(),tP(),sA=e3.experimental.fbs,sI={from:(t,r)=>new sC(t,r)},sP=class{constructor(t){this._from=void 0,this._to=[],this.tensor=void 0,this.type=void 0,t&&(this.t
3197ype=t_.tensorValueTypeFromProto(t.type.tensorType))}get from(){return this._from}get to(){return this._to}},sk=class{constructor(t,r){t instanceof sO.onnx.NodeProto?(this.name=t.name,this.opType=t.opType,this.attributes=new sE(t.attribute)):t instanceof sA.Node&&(this.name=r??t.name(),this.opType=t.opType(),this.attributes=new sE(t_.tensorAttributesFromORTFormat(t))),this.inputs=[],this.outputs=[],this.executeNode=!0}},sC=class{constructor(t,r){if(!t)throw TypeError("graph is empty");this.buildGraph(t),this.transformGraph(r),this.checkIsAcyclic()}getInputIndices(){return this._allInputIndices}getInputNames(){return this._allInputNames}getOutputIndices(){return this._allOutputIndices}getOutputNames(){return this._allOutputNames}getValues(){return this._allData}getNodes(){return this._nodes}buildGraph(t){if(t instanceof sO.onnx.GraphProto)this.buildGraphFromOnnxFormat(t);else{if(!(t instanceof sA.Graph))throw TypeError("Graph type is not supported.");this.buildGraphFromOrtFormat(t)}}buildGraphFromOnnxFormat(t){let r=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];let n=new Map;if(!t.input)throw Error("missing information in graph: input");let i=[];for(let n of t.input){if(r.has(n.name))throw Error(`duplicated input name: ${n.name}`);let t=this._allData.push(new sP(n))-1;r.set(n.name,t),i.push(n.name)}if(!t.initializer)throw Error("missing information in graph: initializer");for(let n of t.initializer){let t=r.get(n.name);if(void 0===t){let i=new sP;i.type={shape:{dims:t_.tensorDimsFromProto(n.dims)},tensorType:t_.tensorDataTypeFromProto(n.dataType)},t=this._allData.push(i)-1,r.set(n.name,t)}this._allData[t]._from=-1,this._allData[t].tensor=tB.fromProto(n)}for(let t=0;t<this._allData.length;t++)this._allData[t].tensor||(this._allInputIndices.push(t),this._allInputNames.push(i[t]));if(!t.output)throw Error("missing information in graph: output");for(let n of t.output){if(r.has(n.name))throw Error(`duplicated output name: ${n.name}`);let t=this._allData.push(new sP(n))-1;r.set(n.name,t),this._allOutputIndices.push(t),this._allOutputNames.push(n.name)}if(!t.node)throw Error("missing information in graph: node");for(let r of t.node){if(!r.name)for(let t=0;;t++){let i=`unnamed_${r.opType}_${t}`;if(!n.has(i)){r.name=i;break}}if(n.has(r.name))throw Error(`duplicated node name: ${r.name}`);let t=this._nodes.push(new sk(r))-1;n.set(r.name,t)}for(let n=0;n<this._nodes.length;n++){let i=this._nodes[n],o=t.node[n];if(!o.output)throw Error(`missing output for node: ${o.name}`);for(let t of o.output){let a=r.get(t);if(typeof a>"u"&&(a=this._allData.push(new sP)-1,r.set(t,a)),i.outputs.push(a),void 0!==this._allData[a]._from)throw Error(`multiple nodes output to one data value: ${a}`);if(this._allData[a]._from=n,"Constant"===o.opType){if(!o.attribute||1!==o.attribute.length||!o.attribute[0].t)throw Error("missing attributes or missing tensor value in attributes for this Constant operator");if(!o.output||1!==o.output.length)throw Error("missing output or incorrect number of outputs for this Constant operator");i.outputs.pop(),i.executeNode=!1,this._allData[a]._from=-1,this._allData[a].tensor=tB.fromProto(o.attribute[0].t)}}}for(let n=0;n<this._nodes.length;n++){let i=this._nodes[n],o=t.node[n];if(!o.input)throw Error(`missing input for node: ${o.name}`);for(let t of o.input){let a=r.get(t);if(typeof a>"u"){if(""===t&&(3===o.input.length||4===o.input.length)&&"Resize"===o.opType)continue;throw Error(`unrecognized input '${t}' for node: ${o.name}`)}i.inputs.push(a),this._allData[a]._to.push(n)}}return!0}buildGraphFromOrtFormat(t){let r=new Map;this._allData=[],this._allInputIndices=[],this._allInputNames=[],this._allOutputIndices=[],this._allOutputNames=[],this._nodes=[];let n=new Map,i=[];for(let n=0;n<t.inputsLength();n++){let o=t.inputs(n);if(r.has(o))throw Error(`duplicated input name: ${o}`);for(let n=0;n<t.nodeArgsLength();n++)if(t.nodeArgs(n)?.name()===o){let a=new sP;if(t.nodeArgs(n)?.type()?.valueType()!==sA.TypeInfoValue.tensor_type)throw Error("Unexpected value type for the nodeArg.");let s=t.nodeArgs(n).type().value(new sA.TensorTypeAndShape),u=t_.tensorDataTypeFromProto(s.elemType()),l=s.shape(),h=[];for(let t=0;t<l.dimLength();t++)h.push(tT.longToNumber(l.dim(t).value().dimValue()));a.type={shape:{dims:h},tensorType:u};let c=this._allData.push(a)-1;r.set(o,c),i.push(o)}}for(let n=0;
3197n<t.initializersLength();n++){let i=t.initializers(n),o=r.get(i.name());if(void 0===o){let t=new sP;t.type={shape:{dims:t_.tensorDimsFromORTFormat(i)},tensorType:t_.tensorDataTypeFromProto(i.dataType())},o=this._allData.push(t)-1,r.set(i.name(),o)}this._allData[o]._from=-1,this._allData[o].tensor=tB.fromOrtTensor(i)}for(let t=0;t<this._allData.length;t++)this._allData[t].tensor||(this._allInputIndices.push(t),this._allInputNames.push(i[t]));for(let n=0;n<t.outputsLength();n++){let i=t.outputs(n);if(r.has(i))throw Error(`duplicated output name: ${i}`);let o=this._allData.push(new sP)-1;r.set(i,o),this._allOutputIndices.push(o),this._allOutputNames.push(i)}if(!t.nodes)throw Error("missing information in graph: node");for(let r=0;r<t.nodesLength();r++){let i=t.nodes(r),o=i.name();if(!o)for(let t=0;o=`unnamed_${i.opType()}_${t}`,n.has(o);t++);if(n.has(o))throw Error(`duplicated node name: ${o}`);let a=this._nodes.push(new sk(i,o))-1;n.set(o,a)}for(let n=0;n<this._nodes.length;n++){let i=this._nodes[n],o=t.nodes(n);if(null==o)throw Error(`No node exists at index ${n}`);if(0===o?.outputsLength())throw Error(`missing output for node: ${o.name}`);for(let t=0;t<o?.outputsLength();t++){let a=o?.outputs(t),s=r.get(a);if(typeof s>"u"&&(s=this._allData.push(new sP)-1,r.set(a,s)),i.outputs.push(s),void 0!==this._allData[s]._from)throw Error(`multiple nodes output to one data value: ${s}`);if(this._allData[s]._from=n,"Constant"===o.opType()){if(1!==o.attributesLength()||!o.attributes(0).t())throw Error("missing attributes or missing tensor value in attributes for this Constant operator");if(1!==o.outputsLength())throw Error("missing output or incorrect number of outputs for this Constant operator");i.outputs.pop(),i.executeNode=!1,this._allData[s]._from=-1,this._allData[s].tensor=tB.fromOrtTensor(o.attributes(0).t())}}}for(let n=0;n<this._nodes.length;n++){let i=this._nodes[n],o=t.nodes(n);if(0===o.inputsLength())throw Error(`missing input for node: ${o.name}`);for(let t=0;t<o.inputsLength();t++){let a=o.inputs(t),s=r.get(a);if(typeof s>"u")throw Error(`unrecognized input '${a}' for node: ${o.name()}`);i.inputs.push(s),this._allData[s]._to.push(n)}}}checkIsAcyclic(){let t=new Set;this._allInputIndices.forEach(r=>{this._allData[r]._to.forEach(r=>{t.add(r)})});let r=Array.from(t),n=Array(this._nodes.length).fill("white");for(;r.length>0;){let t=r.pop();"gray"===n[t]?n[t]="black":(r.push(t),n[t]="gray",this._nodes[t].outputs.forEach(i=>{let o=this._allData[i];if("u">typeof o.tensor)throw Error("node outputs should not be initialized");if(o._from!==t)throw Error("from property of the Value object doesn't match index of Node being processed");o._to.forEach(t=>{if("gray"===n[t])throw Error("model graph is cyclic");"white"===n[t]&&r.push(t)})}))}}transformGraph(t){this.removeAllIdentityNodes(),this.removeAllDropoutNodes(),this.fuseConvActivationNodes(),t&&t.transformGraph(this),this.finalizeGraph()}finalizeGraph(){let t=0,r=[this._nodes.length,0],n=0;for(let t=0;t<this._nodes.length;t++)r[t]=n,this._nodes[t].executeNode?(n!==t&&(this._nodes[n]=this._nodes[t]),n++):this._nodes[t].outputs.forEach(t=>{this._allData[t]._from=-2});this._nodes.splice(n,this._nodes.length-n);for(let t=0;t<this._allData.length;t++){let n=this._allData[t];void 0!==n._from&&-1!==n._from&&-2!==n._from&&(n._from=r[n._from]);for(let t=0;t<n._to.length;t++){if(!(n._to[t]>=0))throw Error("Trying to update a removed node");n._to[t]=r[n._to[t]]}}t=0;for(let r=0;r<this._allData.length;r++)if(-2!==this._allData[r].from||-1!==this._allOutputIndices.indexOf(r+t)){if(t>0){let n=-1;void 0!==this._allData[r].from&&-1!==this._allData[r].from?-1!==(n=this._nodes[this._allData[r].from].outputs.indexOf(r+t))&&(this._nodes[this._allData[r].from].outputs[n]=r):-1!==(n=this._allInputIndices.indexOf(r+t))&&(this._allInputIndices[n]=r),this._allData[r].to.forEach(i=>{-1!==(n=this._nodes[i].inputs.indexOf(r+t))&&(this._nodes[i].inputs[n]=r)}),0===this._allData[r].to.length&&-1!==(n=this._allOutputIndices.indexOf(r+t))&&(this._allOutputIndices[n]=r)}}else t++,this._allData.splice(r,1),r--}deleteNode(t){let r=this._nodes[t];
3197if(r.outputs.length>1){for(let t=1;t<r.outputs.length;t++)if(this._allData[r.outputs[t]].to.length>0)throw Error("Node deletion with more than one output connected to other nodes is not supported. ")}r.executeNode=!1;let n=r.inputs[0],i=r.outputs[0],o=this._allData[i].to;for(let n=0;n<r.inputs.length;n++){let i=this._allData[r.inputs[n]].to.indexOf(t);if(-1===i)throw Error("The Value object doesn't have the current Node in it's 'to' property ");this._allData[r.inputs[n]].to.splice(i,1)}this._allData[i]._to=[];let a=this._allOutputIndices.indexOf(i);if(-1!==a&&(this._allOutputIndices[a]=n),o&&o.length>0)for(let t of o){let r=this._nodes[t].inputs.indexOf(i);if(-1===r)throw Error("The Node object doesn't have the output Value in it's 'inputs' property ");this._nodes[t].inputs[r]=n,this._allData[n].to.push(t)}}removeAllDropoutNodes(){let t=0;for(let r of this._nodes){if("Dropout"===r.opType){if(1!==r.inputs.length)throw Error("Dropout nodes should only contain one input. ");if(1!==r.outputs.length&&2!==r.outputs.length)throw Error("Dropout nodes should contain either 1 or 2 output(s)");if(2===r.outputs.length&&0!==this._allData[r.outputs[1]]._to.length)throw Error("Dropout nodes's second output should not be referenced by other nodes");this.deleteNode(t)}t++}}removeAllIdentityNodes(){let t=0;for(let r of this._nodes)"Identity"===r.opType&&this.deleteNode(t),t++}isActivation(t){switch(t.opType){case"Relu":case"Sigmoid":case"Clip":return!0;default:return!1}}fuseConvActivationNodes(){for(let t of this._nodes)if("Conv"===t.opType){let r=this._allData[t.outputs[0]]._to;if(1===r.length&&this.isActivation(this._nodes[r[0]])){let n=this._nodes[r[0]];if("Clip"===n.opType)if(1===n.inputs.length)try{t.attributes.set("activation_params","floats",[n.attributes.getFloat("min"),n.attributes.getFloat("max")])}catch{t.attributes.set("activation_params","floats",[tA,tI])}else{if(!(n.inputs.length>=3&&void 0!==this._allData[n.inputs[1]].tensor&&void 0!==this._allData[n.inputs[2]].tensor))continue;t.attributes.set("activation_params","floats",[this._allData[n.inputs[1]].tensor.floatData[0],this._allData[n.inputs[2]].tensor.floatData[0]])}t.attributes.set("activation","string",n.opType),this.deleteNode(r[0])}}}}}),sj=G(()=>{e5(),sU(),e9(),s$=q(tp()),tP(),sR=e3.experimental.fbs,sD=class{load(t,r,n){if(!n)try{return void this.loadFromOnnxFormat(t,r)}catch(t){if(void 0!==n)throw t}this.loadFromOrtFormat(t,r)}loadFromOnnxFormat(t,r){let n=s$.onnx.ModelProto.decode(t);if(3>tT.longToNumber(n.irVersion))throw Error("only support ONNX model with IR_VERSION>=3");this._opsets=n.opsetImport.map(t=>({domain:t.domain,version:tT.longToNumber(t.version)})),this._graph=sI.from(n.graph,r)}loadFromOrtFormat(t,r){let n=new e0.ByteBuffer(t),i=sR.InferenceSession.getRootAsInferenceSession(n).model();if(3>tT.longToNumber(i.irVersion()))throw Error("only support ONNX model with IR_VERSION>=3");this._opsets=[];for(let t=0;t<i.opsetImportLength();t++){let r=i.opsetImport(t);this._opsets.push({domain:r?.domain(),version:tT.longToNumber(r.version())})}this._graph=sI.from(i.graph(),r)}get graph(){return this._graph}get opsets(){return this._opsets}}}),sz=G(()=>{sB(),sN(),eO(),sj(),sM=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._initialized=!1,this.backendHint=t.backendHint,this.profiler=eS.create(t.profiler),this.context={profiler:this.profiler,graphInputTypes:[],graphInputDims:[]}}get inputNames(){return this._model.graph.getInputNames()}get outputNames(){return this._model.graph.getOutputNames()}startProfiling(){this.profiler.start()}endProfiling(){this.profiler.stop()}async loadModel(t,r,n){await this.profiler.event("session","Session.loadModel",async()=>{let i=await sg(this.backendHint);if(this.sessionHandler=i.createSessionHandler(this.context),this._model=new sD,"string"==typeof t){let r=t.endsWith(".ort");if("u">typeof M&&M.versions&&M.versions.node){let n=await (void 0)(t);this.initialize(n,r)}else{let n=await (await fetch(t)).arrayBuffer();this.initialize(new Uint8Array(n),r)}}else if(ArrayBuffer.isView(t))this.initialize(t);else{let i=new Uint8Array(t,r||0,n||t.byteLength);this.initialize(i)}})}initialize(t,r){if(this._initialized)throw Error("already initialized");
3197this.profiler.event("session","Session.initialize",()=>{let n=this.sessionHandler.transformGraph?this.sessionHandler:void 0;this._model.load(t,n,r),this.sessionHandler.onGraphInitialized&&this.sessionHandler.onGraphInitialized(this._model.graph),this.initializeOps(this._model.graph),this._executionPlan=new s_(this._model.graph,this._ops,this.profiler)}),this._initialized=!0}async run(t){if(!this._initialized)throw Error("session not initialized yet");return this.profiler.event("session","Session.run",async()=>{let r=this.normalizeAndValidateInputs(t),n=await this._executionPlan.execute(this.sessionHandler,r);return this.createOutput(n)})}normalizeAndValidateInputs(t){let r=this._model.graph.getInputNames();if(Array.isArray(t)){if(t.length!==r.length)throw Error(`incorrect input array length: expected ${r.length} but got ${t.length}`)}else{if(t.size!==r.length)throw Error(`incorrect input map size: expected ${r.length} but got ${t.size}`);let n=Array(t.size),i=0;for(let o=0;o<r.length;++o){let a=t.get(r[o]);if(!a)throw Error(`missing input tensor for: '${name}'`);n[i++]=a}t=n}if(this.context.graphInputTypes&&0!==this.context.graphInputTypes.length&&this.context.graphInputDims&&0!==this.context.graphInputDims.length)this.validateInputTensorDims(this.context.graphInputDims,t,!1);else{let r=this._model.graph.getInputIndices(),n=this._model.graph.getValues(),i=Array(r.length);for(let o=0;o<r.length;++o){let a=n[r[o]];i[o]=a.type.shape.dims,this.context.graphInputTypes.push(a.type.tensorType),this.context.graphInputDims.push(t[o].dims)}this.validateInputTensorDims(i,t,!0)}return this.validateInputTensorTypes(this.context.graphInputTypes,t),t}validateInputTensorTypes(t,r){for(let n=0;n<r.length;n++){let i=t[n],o=r[n].type;if(i!==o)throw Error(`input tensor[${n}] check failed: expected type '${i}' but got ${o}`)}}validateInputTensorDims(t,r,n){for(let i=0;i<r.length;i++){let o=t[i],a=r[i].dims;if(!this.compareTensorDims(o,a,n))throw Error(`input tensor[${i}] check failed: expected shape '[${o.join(",")}]' but got [${a.join(",")}]`)}}compareTensorDims(t,r,n){if(t.length!==r.length)return!1;for(let i=0;i<t.length;++i)if(t[i]!==r[i]&&(!n||0!==t[i]))return!1;return!0}createOutput(t){let r=this._model.graph.getOutputNames();if(t.length!==r.length)throw Error("expected number of outputs do not match number of generated outputs");let n=new Map;for(let i=0;i<r.length;++i)n.set(r[i],t[i]);return n}initializeOps(t){let r=t.getNodes();this._ops=Array(r.length);for(let n=0;n<r.length;n++)this._ops[n]=this.sessionHandler.resolve(r[n],this._model.opsets,t)}}}),sG=G(()=>{ef(),tN(),sL=class{constructor(t){this.session=t,this.inputNames=this.session.inputNames,this.outputNames=this.session.outputNames}async dispose(){}async run(t,r,n){let i=new Map;for(let r in t)if(Object.hasOwnProperty.call(t,r)){let n=t[r];i.set(r,new tB(n.dims,n.type,void 0,void 0,n.data))}let o=await this.session.run(i),a={};return o.forEach((t,r)=>{a[r]=new O(t.type,t.data,t.dims)}),a}async configure(t){return""}async auth(t){return""}startProfiling(){this.session.startProfiling()}endProfiling(){this.session.endProfiling()}}}),sV={};W(sV,{onnxjsBackend:()=>sW});var sW,sH=G(()=>{sz(),sG(),sW=new class{async init(){}async createInferenceSessionHandler(t,r){let n=new sM(r);return await n.loadModel(t),new sL(n)}}}),sq={};W(sq,{createReadStream:()=>sK,readFile:()=>sY,readFileSync:()=>sX});var sY,sX,sK,sZ=G(()=>{sY=void 0,sX=void 0,sK=void 0}),sJ={};W(sJ,{join:()=>sQ});var sQ,s1=G(()=>{sQ=void 0}),s0={};W(s0,{crypto:()=>s3});var s3,s6=G(()=>{s3=void 0}),s5=V((t,r)=>{var n,i=(n="u">typeof document&&document.currentScript?document.currentScript.src:void 0,"u">typeof __filename&&(n=n||__filename),function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.ready=new Promise((t,n)=>{r=t,i=n});var r,i,o,a,s,u=Object.assign({},t),l="./this.program",h="object"==typeof window,c="function"==typeof importScripts,f="object"==typeof M&&"object"==typeof M.versions&&"string"==typeof M.versions.node,d="";if(f){var p=(sZ(),Y(sq)),y=(s1(),Y(sJ));d=c?y.dirname(d)+"/":__dirname+"/",o=(t,r)=>(t=D(t)?new URL(t):y.normalize(t),p.readFileSync(t,r?void 0:"utf8")),s=t=>((t=o(t,!0)).buffer||(t=new Uint8Array(t)),t),a=function(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];t=D(t)?new URL(t):y.normalize(t),p.readFile(t,i?void 0:"utf8",(t,o)=>{t?n(t):r(i?o.buffer:o)})},!t.thisProgram&&1<M.argv.length&&(l=M.argv[1].replace(/\\/g,"/")),M.argv.slice(2),t.inspect=()=>"[Emscripten Module object]"}else(h||c)&&(c?d=self.location.href:"u">typeof document&&document.currentScript&&(d=document.currentScript.src),n&&(d=n),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},c&&(s=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(t,r,n)=>{var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?r(i.response):n()},i.onerror=n,i.send(null)});var m=console.log.bind(console),g=console.error.bind(console);Object.assign(t,u),u=null,"object"!=typeof WebAssembly&&$("no native wasm support detected");var v,b,w,x,_,T,S=!1;function E(){var r=v.buffer;t.HEAP8=b=new Int8Array(r),t.HEAP16=new Int16Array(r),t.HEAPU8=w=new Uint8Array(r),t.HEAPU16=new Uint16Array(r),t.HEAP32=x=new Int32Array(r),t.HEAPU32
3197=_=new Uint32Array(r),t.HEAPF32=new Float32Array(r),t.HEAPF64=T=new Float64Array(r)}var O=[],A=[],I=[],P=0,k=null,C=null;function $(t){throw g(t="Aborted("+t+")"),S=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),i(t),t}var R,D=t=>t.startsWith("file://");if(!(R="ort-wasm.wasm").startsWith("data:application/octet-stream;base64,")){var L=R;R=t.locateFile?t.locateFile(L,d):d+L}function B(t){if(s)return s(t);throw"both async and sync fetching of the wasm failed"}function N(t,r,n){return(function(t){if(h||c){if("function"==typeof fetch&&!D(t))return fetch(t,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at '"+t+"'";return r.arrayBuffer()}).catch(()=>B(t));if(a)return new Promise((r,n)=>{a(t,t=>r(new Uint8Array(t)),n)})}return Promise.resolve().then(()=>B(t))})(t).then(t=>WebAssembly.instantiate(t,r)).then(t=>t).then(n,t=>{g(`failed to asynchronously prepare wasm: ${t}`),$(t)})}var F,U={882208:(r,n,i,o)=>{if(typeof t>"u"||!t.Ga)return 1;if((r=W(r>>>0)).startsWith("./")&&(r=r.substring(2)),!(r=t.Ga.get(r)))return 2;if((n>>>=0)+(i>>>=0)>r.byteLength)return 3;try{return w.set(r.subarray(n,n+i),o>>>0>>>0),0}catch{return 4}}};function j(t){this.Da=t-24,this.Fa=function(t){_[this.Da+4>>>2>>>0]=t},this.Ea=function(t){_[this.Da+8>>>2>>>0]=t},this.La=function(t,r){this.Ma(),this.Fa(t),this.Ea(r)},this.Ma=function(){_[this.Da+16>>>2>>>0]=0}}var z,G="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,V=(t,r,n)=>{var i=(r>>>=0)+n;for(n=r;t[n]&&!(n>=i);)++n;if(16<n-r&&t.buffer&&G)return G.decode(t.subarray(r,n));for(i="";r<n;){var o=t[r++];if(128&o){var a=63&t[r++];if(192==(224&o))i+=String.fromCharCode((31&o)<<6|a);else{var s=63&t[r++];65536>(o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&t[r++])?i+=String.fromCharCode(o):(o-=65536,i+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else i+=String.fromCharCode(o)}return i},W=(t,r)=>(t>>>=0)?V(w,t,r):"",H=t=>{for(var r=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);127>=i?r++:2047>=i?r+=2:55296<=i&&57343>=i?(r+=4,++n):r+=3}return r},q=(t,r,n,i)=>{if(!(0<i))return 0;var o=n>>>=0;i=n+i-1;for(var a=0;a<t.length;++a){var s=t.charCodeAt(a);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a)),127>=s){if(n>=i)break;r[n++>>>0]=s}else{if(2047>=s){if(n+1>=i)break;r[n++>>>0]=192|s>>6}else{if(65535>=s){if(n+2>=i)break;r[n++>>>0]=224|s>>12}else{if(n+3>=i)break;r[n++>>>0]=240|s>>18,r[n++>>>0]=128|s>>12&63}r[n++>>>0]=128|s>>6&63}r[n++>>>0]=128|63&s}}return r[n>>>0]=0,n-o},X=t=>t%4==0&&(t%100!=0||t%400==0),K=[0,31,60,91,121,152,182,213,244,274,305,335],Z=[0,31,59,90,120,151,181,212,243,273,304,334],J=t=>{var r=H(t)+1,n=ey(r);return n&&q(t,w,n,r),n},Q=[],ee={},et=()=>{if(!z){var t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:l||"./this.program"};for(t in ee)void 0===ee[t]?delete r[t]:r[t]=ee[t];var n=[];for(t in r)n.push(`${t}=${r[t]}`);z=n}return z},er=[null,[],[]],en=t=>(en=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return t=>crypto.getRandomValues(t);if(f)try{var t=(s6(),Y(s0));if(t.randomFillSync)return r=>t.randomFillSync(r);var r=t.randomBytes;return t=>(t.set(r(t.byteLength)),t)}catch{}$("initRandomDevice")})())(t),ei=[31,29,31,30,31,30,31,31,30,31,30,31],eo=[31,28,31,30,31,30,31,31,30,31,30,31];function ea(t,r,n,i){function o(t,r,n){for(t="number"==typeof t?t.toString():t||"";t.length<r;)t=n[0]+t;return t}function a(t,r){return o(t,r,"0")}function s(t,r){var n;function i(t){return 0>t?-1:+(0<t)}return 0===(n=i(t.getFullYear()-r.getFullYear()))&&0===(n=i(t.getMonth()-r.getMonth()))&&(n=i(t.getDate()-r.getDate())),n}function u(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){var r=t.ya;for(t=new Date(new Date(t.za+1900,0,1).getTime());0<r;){var n=t.getMonth(),i=(X(t.getFullYear())?ei:eo)[n];if(!(r>i-t.getDate())){t.setDate(t.getDate()+r);break}r-=i-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),r=u(new Date(t.getFullYear(),0,4)),n=u(n),0>=s(r,t)?0>=s(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}t>>>=0,r>>>=0,n>>>=0;var h,c,f=_[40+(i>>>=0)>>>2>>>0];for(var d in i={Ja:x[i>>>2>>>0],Ia:x[i+4>>>2>>>0],Aa:x[i+8>>>2>>>0],Ca:x[i+12>>>2>>>0],Ba:x[i+16>>>2>>>0],za:x[i+20>>>2>>>0],xa:x[i+24>>>2>>>0],ya:x[i+28>>>2>>>0],Na:x[i+32>>>2>>>0],Ha:x[i+36>>>2>>>0],Ka:f?W(f):""},n=W(n),f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(RegExp(d,"g"),f[d]);var p="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),y="January February March April May June July August September October November December".split(" ");for(d in f={"%a":t=>p[t.xa].substring(0,3),"%A":t=>p[t.xa],"%b":t=>y[t.Ba].substring(0,3),"%B":t=>y[t.Ba],"%C":t=>a((t.za+1900)/100|0,2),"%d":t=>a(t.Ca,2),"%e":t=>o(t.Ca,2," "),"%g":t=>l(t).toString().substring(2),"%G":t=>l(t),"%H":t=>a(t.Aa,2),"%I":t=>(0==(t=t.Aa)?t=12:12<t&&(t-=12),a(t,2)),"%j":t=>{for(var r=0,n=0;n<=t.Ba-1;r+=(X(t.za+1900)?ei:eo)[n++]);return a(t.Ca+r,3)},"%m":t=>a(t.Ba+1,2),"%M":t=>a(t.Ia,2),"%n":()=>`
3198`,"%p":t=>0<=t.Aa&&12>t.Aa?"AM":"PM","%S":t=>a(t.Ja,2),"%t":()=>"	","%u":t=>t.xa||7,"%U":t=>a(Math.floor((t.ya+7-t.xa)/7),2),"%V":t=>{var r=Math.floor((t.ya+7-(t.xa+6)%7)/7);if(2>=(t.xa+371-t.ya-2)%7&&r++,r)53==r&&(4==(n=(t.xa+371-t.ya)%7)||3==n&&X(t.za)||(r=1));else{r=52;var n=(t.xa+7-t.ya-1)%7;(4==n||5==n&&X(t.za%400-1))&&r++}return a(r,2)},"%w":t=>t.xa,"%W":t=>a(Math.floor((t.ya+7-(t.xa+6)%7)/7),2),"%y":t=>(t.za+1900).toString().substring(2),"%Y":t=>t.za+1900,"%z":t=>(0<=(t=t.Ha)?"+":"-")+("0000"+((t=Math.abs(t)/60)/60*100+t%60)).slice(-4),"%Z":t=>t.Ka,"%%":()=>"%"},n=n.replace(/%%/g,"\0\0"),f)n.includes(d)&&(n=n.replace(RegExp(d,"g"),f[d](i)));return c=Array(H(h=n=n.replace(/\0\0/g,"%"))+1),q(h,c,0,c.length),(d=c).length>r?0:(b.set(d,t>>>0),d.length-1)}var es,eu,el=[],eh=[],ec=(t,r)=>{if(!eu){eu=new WeakMap;var n=es.length;if(eu)for(var i=0;i<0+n;i++){var o=i,a=el[o];a||(o>=el.length&&(el.length=o+1),el[o]=a=es.get(o)),(o=a)&&eu.set(o,i)}}if(n=eu.get(t)||0)return n;if(eh.length)n=eh.pop();else{try{es.grow(1)}catch(t){throw t instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":t}n=es.length-1}try{i=n,es.set(i,t),el[i]=es.get(i)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){i=WebAssembly.Function,o={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==r[0]?[]:[o[r[0]]]};for(var s=1;s<r.length;++s)a.parameters.push(o[r[s]]);r=new i(a,t)}else{for(i=[1],o=r.slice(0,1),r=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111},i.push(96),128>(s=r.length)?i.push(s):i.push(s%128|128,s>>7),s=0;s<r.length;++s)i.push(a[r[s]]);"v"==o?i.push(0):i.push(1,a[o]),r=[0,97,115,109,1,0,0,0,1],128>
3198(o=i.length)?r.push(o):r.push(o%128|128,o>>7),r.push.apply(r,i),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(new Uint8Array(r)),r=new WebAssembly.Instance(r,{e:{f:t}}).exports.f}i=n,es.set(i,r),el[i]=es.get(i)}return eu.set(t,n),n},ef={a:function(t,r,n){throw new j(t>>>=0).La(r>>>0,n>>>0),t},e:function(){return 0},L:function(){},A:function(){},C:function(){},u:function(){return 0},J:function(){},E:function(){},I:function(){},k:function(){},B:function(){},y:function(){},K:function(){},z:function(){},l:()=>1,o:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),x[n>>>2>>>0]=t.getUTCSeconds(),x[n+4>>>2>>>0]=t.getUTCMinutes(),x[n+8>>>2>>>0]=t.getUTCHours(),x[n+12>>>2>>>0]=t.getUTCDate(),x[n+16>>>2>>>0]=t.getUTCMonth(),x[n+20>>>2>>>0]=t.getUTCFullYear()-1900,x[n+24>>>2>>>0]=t.getUTCDay(),x[n+28>>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},p:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),x[n>>>2>>>0]=t.getSeconds(),x[n+4>>>2>>>0]=t.getMinutes(),x[n+8>>>2>>>0]=t.getHours(),x[n+12>>>2>>>0]=t.getDate(),x[n+16>>>2>>>0]=t.getMonth(),x[n+20>>>2>>>0]=t.getFullYear()-1900,x[n+24>>>2>>>0]=t.getDay(),x[n+28>>>2>>>0]=(X(t.getFullYear())?K:Z)[t.getMonth()]+t.getDate()-1|0,x[n+36>>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset();var i=new Date(t.getFullYear(),0,1).getTimezoneOffset();x[n+32>>>2>>>0]=0|(r!=i&&t.getTimezoneOffset()==Math.min(i,r))},q:function(t){var r=new Date(x[(t>>>=0)+20>>>2>>>0]+1900,x[t+16>>>2>>>0],x[t+12>>>2>>>0],x[t+8>>>2>>>0],x[t+4>>>2>>>0],x[t>>>2>>>0],0),n=x[t+32>>>2>>>0],i=r.getTimezoneOffset(),o=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=new Date(r.getFullYear(),0,1).getTimezoneOffset(),s=Math.min(a,o);return 0>n?x[t+32>>>2>>>0]=+(o!=a&&s==i):0<n!=(s==i)&&(o=Math.max(a,o),r.setTime(r.getTime()+6e4*((0<n?s:o)-i))),x[t+24>>>2>>>0]=r.getDay(),x[t+28>>>2>>>0]=(X(r.getFullYear())?K:Z)[r.getMonth()]+r.getDate()-1|0,x[t>>>2>>>0]=r.getSeconds(),x[t+4>>>2>>>0]=r.getMinutes(),x[t+8>>>2>>>0]=r.getHours(),x[t+12>>>2>>>0]=r.getDate(),x[t+16>>>2>>>0]=r.getMonth(),x[t+20>>>2>>>0]=r.getYear(),isNaN(t=r.getTime())?(x[ep()>>>2>>>0]=61,t=-1):t/=1e3,eg(1<=+Math.abs(F=t)?0<F?Math.floor(F/0x100000000)>>>0:~~Math.ceil((F-(~~F>>>0))/0x100000000)>>>0:0),t>>>0},m:function(){return -52},n:function(){},w:function(t,r,n){function i(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}n>>>=0;var o=new Date().getFullYear(),a=new Date(o,0,1),s=new Date(o,6,1);o=a.getTimezoneOffset();var u=s.getTimezoneOffset();_[t>>>0>>>2>>>0]=60*Math.max(o,u),x[r>>>0>>>2>>>0]=+(o!=u),t=i(a),r=i(s),t=J(t),r=J(r),u<o?(_[n>>>2>>>0]=t,_[n+4>>>2>>>0]=r):(_[n>>>2>>>0]=r,_[n+4>>>2>>>0]=t)},d:()=>{$("")},D:function(t,r,n){t>>>=0,r>>>=0,n>>>=0,Q.length=0;for(var i;i=w[r++>>>0];){var o=105!=i;n+=(o&=112!=i)&&n%8?4:0,Q.push(112==i?_[n>>>2>>>0]:105==i?x[n>>>2>>>0]:T[n>>>3>>>0]),n+=o?8:4}return U[t].apply(null,Q)},g:()=>Date.now(),x:function(){return 0xffff0000},b:()=>performance.now(),H:function(t,r,n){return r>>>=0,w.copyWithin(t>>>0>>>0,r>>>0,r+(n>>>0)>>>0)},v:function(t){t>>>=0;var r=w.length;if(0xffff0000<t)return!1;for(var n=1;4>=n;n*=2){var i=r*(1+.2/n);i=Math.min(i,t+0x6000000);var o=Math;i=Math.max(t,i);e:{o=(o.min.call(o,0xffff0000,i+(65536-i%65536)%65536)-v.buffer.byteLength+65535)/65536;try{v.grow(o),E();var a=1;break e}catch{}a=void 0}if(a)return!0}return!1},F:function(t,r){t>>>=0,r>>>=0;var n=0;return et().forEach((i,o)=>{var a=r+n;for(o=_[t+4*o>>>2>>>0]=a,a=0;a<i.length;++a)b[o++>>>0>>>0]=i.charCodeAt(a);b[o>>>0>>>0]=0,n+=i.length+1}),0},G:function(t,r){t>>>=0,r>>>=0;var n=et();_[t>>>2>>>0]=n.length;var i=0;return n.forEach(t=>i+=t.length+1),_[r>>>2>>>0]=i,0},f:()=>52,j:function(){return 52},r:function(){return 70},i:function(t,r,n,i){r>>>=0,n>>>=0,i>>>=0;for(var o=0,a=0;a<n;a++){var s=_[r>>>2>>>0],u=_[r+4>>>2>>>0];r+=8;for(var l=0;l<u;l++){var h=w[s+l>>>0],c=er[t];0===h||10===h?((1===t?m:g)(V(c,0)),c.length=0):c.push(h)}o+=u}return _[i>>>2>>>0]=o,0},s:function(t,r){return t>>>=0,en(w.subarray(t>>>0,t+(r>>>0)>>>0)),0},t:ea,c:function(t,r,n,i){return ea(t>>>0,r>>>0,n>>>0,i>>>0)},h:function(t,r,n,i){let o=es.length;t=new Uint8Array(w.slice(t+r,t+n));try{var a,s=new WebAssembly.Module(t),u=new WebAssembly.Instance(s,{env:{memory:v}});for(a in u.exports)ec(u.exports[a]);return o<es.length?o:i}catch(t){return console.log(t),i}}},ed=function(){function r(t){var r,n,i;return r=Object.assign({},r=ed=t.exports),n=t=>()=>t()>>>0,i=t=>r=>t(r)>>>0,r.pa=n(r.pa),r.qa=i(r.qa),r.ua=n(r.ua),r.wa=i(r.wa),v=(ed=r).M,E(),es=ed.sa,A.unshift(ed.N),0==--P&&(null!==k&&(clearInterval(k),k=null),C&&(t=C,C=null,t())),ed}var n,o,a={a:ef};if(P++,t.instantiateWasm)try{return t.instantiateWasm(a,r)}catch(t){g(`Module.instantiateWasm callback failed with error: ${t}`),i(t)}return(n=function(t){r(t.instance)},o=R,"function"!=typeof WebAssembly.instantiateStreaming||o.startsWith("data:application/octet-stream;base64,")||D(o)||f||"function"!=typeof fetch?N(o,a,n):fetch(o,{credentials:"same-origin"}).then(t=>WebAssembly.instantiateStreaming(t,a).then(n,function(t){return g(`wasm streaming compile failed: ${t}`),g("falling back to ArrayBuffer instantiation"),N(o,a,n)}))).catch(i),{}}();t._OrtInit=(r,n)=>(t._OrtInit=ed.O)(r,n),t._OrtGetLastError=(r,n)=>(t._OrtGetLastError=ed.P)(r,n),t._OrtCreateSessionOptions=(r,n,i,o,a,s,u,l,h,c)=>(t._OrtCreateSessionOptions=ed.Q)(r,n,i,o,a,s,u,l,h,c),t._OrtAppendExecutionProvider=(r,n)=>(t._OrtAppendExecutionProvider=ed.R)(r,n),t._OrtAddFreeDimensionOverride=(r,n,i)=>(t._OrtAddFreeDimensionOverride=ed.S)(r,n,i),t._OrtAddSessionConfigEntry=(r,n,i)=>(t._OrtAddSessionConfigEntry=ed.T)(r,n,i),t._OrtReleaseSessionOptions=r=>(t._OrtReleaseSessionOptions=ed.U)(r),t._OrtCreateSession=(r,n,i)=>(t._OrtCreateSession=ed.V)(r,n,i),t._OrtReleaseSession=r=>(t._OrtReleaseSession=ed.W)(r),t._OrtGetInputOutputCount=(r,n,i)=>(t._OrtGetInputOutputCount=ed.X)(r,n,i),t._OrtGetInputName=(r,n)=>(t._OrtGetInputName=ed.Y)(r,n),t._OrtGetOutputName=(r,n)=>(t._OrtGetOutputName=ed.Z)(r,n),t._OrtFree=r=>(t._OrtFree=ed._)(r),t._OrtCreateTensor=(r,n,i,o,a,s)=>(t._OrtCreateTensor=ed.$)(r,n,i,o,a,s),t._OrtGetTensorData=(r,n,i,o,a)=>(t._OrtGetTensorData=ed.aa)(r,n,i,o,a),t._OrtReleaseTensor=r=>
3198(t._OrtReleaseTensor=ed.ba)(r),t._OrtCreateRunOptions=(r,n,i,o)=>(t._OrtCreateRunOptions=ed.ca)(r,n,i,o),t._OrtAddRunConfigEntry=(r,n,i)=>(t._OrtAddRunConfigEntry=ed.da)(r,n,i),t._OrtReleaseRunOptions=r=>(t._OrtReleaseRunOptions=ed.ea)(r),t._OrtCreateBinding=r=>(t._OrtCreateBinding=ed.fa)(r),t._OrtBindInput=(r,n,i)=>(t._OrtBindInput=ed.ga)(r,n,i),t._OrtBindOutput=(r,n,i,o)=>(t._OrtBindOutput=ed.ha)(r,n,i,o),t._OrtClearBoundOutputs=r=>(t._OrtClearBoundOutputs=ed.ia)(r),t._OrtReleaseBinding=r=>(t._OrtReleaseBinding=ed.ja)(r),t._OrtRunWithBinding=(r,n,i,o,a)=>(t._OrtRunWithBinding=ed.ka)(r,n,i,o,a),t._OrtRun=(r,n,i,o,a,s,u,l)=>(t._OrtRun=ed.la)(r,n,i,o,a,s,u,l),t._OrtEndProfiling=r=>(t._OrtEndProfiling=ed.ma)(r),t._OrtConfigure=(r,n)=>(t._OrtConfigure=ed.na)(r,n),t._OrtAuth=(r,n)=>(t._OrtAuth=ed.oa)(r,n);var ep=()=>(ep=ed.pa)(),ey=t._malloc=r=>(ey=t._malloc=ed.qa)(r);t._free=r=>(t._free=ed.ra)(r);var em,eg=t=>(eg=ed.ta)(t),ev=()=>(ev=ed.ua)(),eb=t=>(eb=ed.va)(t),ew=t=>(ew=ed.wa)(t);function ex(){if(!(0<P)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;){var n=t.preRun.shift();O.unshift(n)}for(;0<O.length;)O.shift()(t);if(!(0<P||em||(em=!0,t.calledRun=!0,S))){for(;0<A.length;)A.shift()(t);for(r(t);0<I.length;)I.shift()(t)}}}return t.___start_em_js=882709,t.___stop_em_js=883321,t.stackAlloc=ew,t.stackSave=ev,t.stackRestore=eb,t.addFunction=ec,t.UTF8ToString=W,t.stringToUTF8=(t,r,n)=>q(t,w,r,n),t.lengthBytesUTF8=H,C=function t(){em||ex(),em||(C=t)},ex(),t.ready});"object"==typeof t&&"object"==typeof r?r.exports=i:"function"==typeof define&&define.amd&&define([],()=>i)}),s9=V(()=>{}),s2=V(()=>{}),s7={};W(s7,{cpus:()=>s8});var s8,s4,ue,ut,ur,un,ui,uo,ua,us,uu,ul,uh,uc,uf,ud,up,uy,um,ug,uv,ub,uw,ux,u_,uT,uS,uE,uO,uA,uI,uP,uk,uC,u$,uR,uD,uM,uL,uB,uN,uF,uU,uj,uz,uG,uV,uW,uH,uq,uY,uX,uK,uZ,uJ,uQ,u1,u0,u3,u6=G(()=>{s8=void 0}),u5=V((t,r)=>{var n,i=(n="u">typeof document&&document.currentScript?document.currentScript.src:void 0,"u">typeof __filename&&(n=n||__filename),function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function r(){return I.buffer!=C.buffer&&N(),C}function i(){return I.buffer!=C.buffer&&N(),$}function o(){return I.buffer!=C.buffer&&N(),R}function a(){return I.buffer!=C.buffer&&N(),D}function s(){return I.buffer!=C.buffer&&N(),L}t.ready=new Promise((t,r)=>{u=t,l=r});var u,l,h,c,f,d=Object.assign({},t),p="./this.program",y=(t,r)=>{throw r},m="object"==typeof window,g="function"==typeof importScripts,v="object"==typeof M&&"object"==typeof M.versions&&"string"==typeof M.versions.node,b=t.ENVIRONMENT_IS_PTHREAD||!1,w="";function x(r){return t.locateFile?t.locateFile(r,w):w+r}if(v){let r;var _=(sZ(),Y(sq)),T=(s1(),Y(sJ));w=g?T.dirname(w)+"/":__dirname+"/",h=(t,r)=>(t=K(t)?new URL(t):T.normalize(t),_.readFileSync(t,r?void 0:"utf8")),f=t=>((t=h(t,!0)).buffer||(t=new Uint8Array(t)),t),c=function(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];t=K(t)?new URL(t):T.normalize(t),_.readFile(t,i?void 0:"utf8",(t,o)=>{t?n(t):r(i?o.buffer:o)})},!t.thisProgram&&1<M.argv.length&&(p=M.argv[1].replace(/\\/g,"/")),M.argv.slice(2),y=(t,r)=>{throw M.exitCode=t,r},t.inspect=()=>"[Emscripten Module object]";try{r=s9()}catch(t){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),t}global.Worker=r.Worker}else(m||g)&&(g?w=self.location.href:"u">typeof document&&document.currentScript&&(w=document.currentScript.src),"u">typeof n&&n&&(w=n),w=0!==w.indexOf("blob:")?w.substr(0,w.replace(/[?#].*/,"").lastIndexOf("/")+1):"",v||(h=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},g&&(f=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),c=(t,r,n)=>{var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?r(i.response):n()},i.onerror=n,i.send(null)}));v&&typeof performance>"u"&&(global.performance=s2().performance);var S=console.log.bind(console),E=console.error.bind(console);v&&(S=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return _.writeSync(1,r.join(" ")+`
3199`)},E=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return _.writeSync(2,r.join(" ")+`
3200`)});var O=S,A=E;Object.assign(t,d),d=null,"object"!=typeof WebAssembly&&q("no native wasm support detected");var I,P,k,C,$,R,D,L,B=!1;function N(){var r=I.buffer;t.HEAP8=C=new Int8Array(r),t.HEAP16=new Int16Array(r),t.HEAPU8=$=new Uint8Array(r),t.HEAPU16=new Uint16Array(r),t.HEAP32=R=new Int32Array(r),t.HEAPU32
3200=D=new Uint32Array(r),t.HEAPF32=new Float32Array(r),t.HEAPF64=L=new Float64Array(r)}var F=0x1000000;if(b)I=t.wasmMemory;else if(t.wasmMemory)I=t.wasmMemory;else if(!((I=new WebAssembly.Memory({initial:F/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw A("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),v&&A("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");N(),F=I.buffer.byteLength;var U=[],j=[],z=[],G=0,V=null,W=null;function H(){if(0==--G&&(null!==V&&(clearInterval(V),V=null),W)){var t=W;W=null,t()}}function q(t){throw A(t="Aborted("+t+")"),B=!0,k=1,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),l(t),t}var X,K=t=>t.startsWith("file://");function Z(t){if(f)return f(t);throw"both async and sync fetching of the wasm failed"}function J(t,r,n){return(function(t){if(m||g){if("function"==typeof fetch&&!K(t))return fetch(t,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at '"+t+"'";return r.arrayBuffer()}).catch(()=>Z(t));if(c)return new Promise((r,n)=>{c(t,t=>r(new Uint8Array(t)),n)})}return Promise.resolve().then(()=>Z(t))})(t).then(t=>WebAssembly.instantiate(t,r)).then(t=>t).then(n,t=>{A(`failed to asynchronously prepare wasm: ${t}`),q(t)})}(X="ort-wasm-threaded.wasm").startsWith("data:application/octet-stream;base64,")||(X=x(X));var Q,ee={886596:(r,n,o,a)=>{if(typeof t>"u"||!t.hb)return 1;if((r=es(r>>>0)).startsWith("./")&&(r=r.substring(2)),!(r=t.hb.get(r)))return 2;if(a>>>=0,(n>>>=0)+(o>>>=0)>r.byteLength)return 3;try{return i().set(r.subarray(n,n+o),a>>>0),0}catch{return 4}}};function et(t){this.name="ExitStatus",this.message=`Program terminated with exit(${t})`,this.status=t}var er=t=>{t.terminate(),t.onmessage=()=>{}},en=t=>{0==ef.Ta.length&&(ec(),ef.bb(ef.Ta[0]));var r=ef.Ta.pop();if(!r)return 6;ef.Ua.push(r),ef.Qa[t.Sa]=r,r.Sa=t.Sa;var n={cmd:"run",start_routine:t.ob,arg:t.lb,pthread_ptr:t.Sa};return v&&r.unref(),r.postMessage(n,t.ub),0},ei=0,eo="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,ea=(t,r,n)=>{var i=(r>>>=0)+n;for(n=r;t[n]&&!(n>=i);)++n;if(16<n-r&&t.buffer&&eo)return eo.decode(t.buffer instanceof SharedArrayBuffer?t.slice(r,n):t.subarray(r,n));for(i="";r<n;){var o=t[r++];if(128&o){var a=63&t[r++];if(192==(224&o))i+=String.fromCharCode((31&o)<<6|a);else{var s=63&t[r++];65536>(o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&t[r++])?i+=String.fromCharCode(o):(o-=65536,i+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else i+=String.fromCharCode(o)}return i},es=(t,r)=>(t>>>=0)?ea(i(),t,r):"";function eu(t,r){var n,i,o=arguments.length-2,a=arguments;return n=()=>{for(var n=tm(8*o),i=n>>>3,u=0;u<o;u++){var l=a[2+u];s()[i+u>>>0]=l}return tu(t,o,n,r)},i=tp(),n=n(),ty(i),n}function el(r){if(b)return eu(0,1,r);k=r,0<ei||(ef.pb(),t.onExit?.(r),B=!0),y(r,new et(r))}var eh=t=>{if(k=t,b)throw ep(t),"unwind";el(t)};function ec(){var t=x("ort-wasm-threaded.worker.js");t=new Worker(t),ef.Ta.push(t)}var ef={Ta:[],Ua:[],gb:[],Qa:{},$a(){b?(ef.receiveObjectTransfer=ef.nb,ef.threadInitTLS=ef.fb,ef.setExitStatus=ef.eb):function(){for(var r=t.numThreads;r--;)ec();U.unshift(()=>{var t;G++,t=()=>H(),b?t():Promise.all(ef.Ta.map(ef.bb)).then(t)})}()},eb:t=>k=t,xb:["$terminateWorker"],pb:()=>{for(var t of ef.Ua)er(t);for(t of ef.Ta)er(t);ef.Ta=[],ef.Ua=[],ef.Qa=[]},cb:t=>{var r=t.Sa;delete ef.Qa[r],ef.Ta.push(t),ef.Ua.splice(ef.Ua.indexOf(t),1),t.Sa=0,tl(r)},nb(){},fb(){ef.gb.forEach(t=>t())},bb:r=>new Promise(i=>{r.onmessage=n=>{var o=(n=n.data).cmd;if(n.targetThread&&n.targetThread!=ti()){var a=ef.Qa[n.targetThread];a?a.postMessage(n,n.transferList):A(`Internal error! Worker sent a message "${o}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===o?eN():"spawnThread"===o?en(n):"cleanupThread"===o?ef.cb(ef.Qa[n.thread]):"killThread"===o?(n=n.thread,o=ef.Qa[n],delete ef.Qa[n],er(o),tl(n),ef.Ua.splice(ef.Ua.indexOf(o),1),o.Sa=0):"cancelThread"===o?ef.Qa[n.thread].postMessage({cmd:"cancel"}):"loaded"===o?(r.loaded=!0,v&&!r.Sa&&r.unref(),i(r)):"alert"===o?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?r.postMessage(n):"callHandler"===o?t[n.handler](...n.args):o&&A(`worker sent an unknown command ${o}`)},r.onerror=t=>{throw A(`worker sent an error! ${t.filename}:${t.lineno}: ${t.message}`),t},v&&(r.on("message",t=>r.onmessage({data:t})),r.on("error",t=>r.onerror(t)));var o,a=[];for(o of["onExit"])t.hasOwnProperty(o)&&a.push(o);r.postMessage({cmd:"load",handlers:a,urlOrBlob:t.mainScriptUrlOrBlob||n,wasmMemory:I,wasmModule:P})})};t.PThread=ef;var ed=r=>{for(;0<r.length;)r.shift()(t)};function ep(t){if(b)return eu(1,0,t);eh(t)}t.establishStackSpace=()=>{var t=ti(),r=a()[t+52>>>2>>>0];t=a()[t+56>>>2>>>0],td(r,r-t),ty(r)};var ey,em=[],eg=t=>{var r=em[t];return r||(t>=em.length&&(em.length=t+1),em[t]=r=ey.get(t)),r};function ev(t){this.Za=t-24,this.kb=function(t){a()[this.Za+4>>>2>>>0]=t},this.jb=function(t){a()[this.Za+8>>>2>>>0]=t},this.$a=function(t,r){this.ib(),this.kb(t),this.jb(r)},this.ib=function(){a()[this.Za+16>>>2>>>0]=0}}function eb(t,r,n,i){return b?eu(2,1,t,r,n,i):ew(t,r,n,i)}function ew(t,r,n,i){if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,typeof SharedArrayBuffer>"u")return A("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var o=[];return b&&0===o.length?eb(t,r,n,i):(t={ob:n,Sa:t,lb:i,ub:o},b?(t.wb="spawnThread",postMessage(t,o),0):en(t))}function ex(t,r,n){return b?eu(3,1,t,r,n):0}function e_(t,r){if(b)return eu(4,1,t,r)}t.invokeEntryPoint=(t,r)=>{t=eg(t)(r),0<ei?ef.eb(t):th(t)};var eT=t=>{for(var r=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);127>=i?r++:2047>=i?r+=2:55296<=i&&57343>=i?(r+=4,++n):r+=3}return r},eS=(t,r,n,i)=>{if(!(0<i))return 0;var o=n>>>=0;i=n+i-1;for(var a=0;a<t.length;++a){var s=t.charCodeAt(a);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a)),127>=s){if(n>=i)break;r[n++>>>0]=s}else{if(2047>=s){if(n+1>=i)break;r[n++>>>0]=192|s>>6}else{if(65535>=s){if(n+2>=i)break;r[n++>>>0]=224|s>>12}else{if(n+3>=i)break;r[n++>>>0]=240|s>>18,r[n++>>>0]=128|s>>12&63}r[n++>>>0]=128|s>>6&63}r[n++>>>0]=128|63&s}}return r[n>>>0]=0,n-o},eE=(t,r,n)=>eS(t,i(),r,n);function eO(t,r){if(b)return eu(5,1,t,r)}function eA(t,r,n){if(b)return eu(6,1,t,r,n)}function eI(t,r,n){return b?eu(7,1,t,r,n):0}function eP(t,r){if(b)return eu(8,1,t,r)}function ek(t,r,n){if(b)return eu(9,1,t,r,n)}
3200function eC(t,r,n,i){if(b)return eu(10,1,t,r,n,i)}function e$(t,r,n,i){if(b)return eu(11,1,t,r,n,i)}function eR(t,r,n,i){if(b)return eu(12,1,t,r,n,i)}function eD(t){if(b)return eu(13,1,t)}function eM(t,r){if(b)return eu(14,1,t,r)}function eL(t,r,n){if(b)return eu(15,1,t,r,n)}function eB(t){t>>>=0,"function"==typeof Atomics.vb&&(Atomics.vb(o(),t>>>2,t).value.then(eN),t+=128,Atomics.store(o(),t>>>2,1))}t.__emscripten_thread_mailbox_await=eB;var eN=()=>{var t=ti();if(t&&(eB(t),t=tc,!B))try{if(t(),!(0<ei))try{b?th(k):eh(k)}catch(t){t instanceof et||"unwind"==t||y(1,t)}}catch(t){t instanceof et||"unwind"==t||y(1,t)}};t.checkMailbox=eN;var eF=[],eU=t=>t%4==0&&(t%100!=0||t%400==0),ej=[0,31,60,91,121,152,182,213,244,274,305,335],ez=[0,31,59,90,120,151,181,212,243,273,304,334];function eG(t,r,n,i,o,a,s,u){return b?eu(16,1,t,r,n,i,o,a,s,u):-52}function eV(t,r,n,i,o,a,s){if(b)return eu(17,1,t,r,n,i,o,a,s)}var eW,eH=t=>{var r=eT(t)+1,n=to(r);return n&&eE(t,n,r),n},eq=[],eY={},eX=()=>{if(!eW){var t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:p||"./this.program"};for(t in eY)void 0===eY[t]?delete r[t]:r[t]=eY[t];var n=[];for(t in r)n.push(`${t}=${r[t]}`);eW=n}return eW};function eK(t,n){if(b)return eu(18,1,t,n);t>>>=0,n>>>=0;var i=0;return eX().forEach((o,s)=>{var u=n+i;for(s=a()[t+4*s>>>2>>>0]=u,u=0;u<o.length;++u)r()[s++>>>0>>>0]=o.charCodeAt(u);r()[s>>>0>>>0]=0,i+=o.length+1}),0}function eZ(t,r){if(b)return eu(19,1,t,r);t>>>=0,r>>>=0;var n=eX();a()[t>>>2>>>0]=n.length;var i=0;return n.forEach(t=>i+=t.length+1),a()[r>>>2>>>0]=i,0}function eJ(t){return b?eu(20,1,t):52}function eQ(t,r,n,i){return b?eu(21,1,t,r,n,i):52}function e1(t,r,n,i,o){return b?eu(22,1,t,r,n,i,o):70}var e0=[null,[],[]];function e3(t,r,n,o){if(b)return eu(23,1,t,r,n,o);r>>>=0,n>>>=0,o>>>=0;for(var s=0,u=0;u<n;u++){var l=a()[r>>>2>>>0],h=a()[r+4>>>2>>>0];r+=8;for(var c=0;c<h;c++){var f=i()[l+c>>>0],d=e0[t];0===f||10===f?((1===t?O:A)(ea(d,0)),d.length=0):d.push(f)}s+=h}return a()[o>>>2>>>0]=s,0}var e6=t=>(e6=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return t=>(t.set(crypto.getRandomValues(new Uint8Array(t.byteLength))),t);if(v)try{var t=(s6(),Y(s0));if(t.randomFillSync)return r=>t.randomFillSync(r);var r=t.randomBytes;return t=>(t.set(r(t.byteLength)),t)}catch{}q("initRandomDevice")})())(t),e5=[31,29,31,30,31,30,31,31,30,31,30,31],e9=[31,28,31,30,31,30,31,31,30,31,30,31];function e2(t,n,i,s){function u(t,r,n){for(t="number"==typeof t?t.toString():t||"";t.length<r;)t=n[0]+t;return t}function l(t,r){return u(t,r,"0")}function h(t,r){var n;function i(t){return 0>t?-1:+(0<t)}return 0===(n=i(t.getFullYear()-r.getFullYear()))&&0===(n=i(t.getMonth()-r.getMonth()))&&(n=i(t.getDate()-r.getDate())),n}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function f(t){var r=t.Va;for(t=new Date(new Date(t.Wa+1900,0,1).getTime());0<r;){var n=t.getMonth(),i=(eU(t.getFullYear())?e5:e9)[n];if(!(r>i-t.getDate())){t.setDate(t.getDate()+r);break}r-=i-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4)),n=c(n),0>=h(r,t)?0>=h(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}t>>>=0,n>>>=0,i>>>=0,s>>>=0;var d,p,y,m,g=a()[s+40>>>2>>>0];for(var v in s={sb:o()[s>>>2>>>0],rb:o()[s+4>>>2>>>0],Xa:o()[s+8>>>2>>>0],ab:o()[s+12>>>2>>>0],Ya:o()[s+16>>>2>>>0],Wa:o()[s+20>>>2>>>0],Ra:o()[s+24>>>2>>>0],Va:o()[s+28>>>2>>>0],yb:o()[s+32>>>2>>>0],qb:o()[s+36>>>2>>>0],tb:g?es(g):""},i=es(i),g={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})i=i.replace(RegExp(v,"g"),g[v]);var b="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),w="January February March April May June July August September October November December".split(" ");for(v in g={"%a":t=>b[t.Ra].substring(0,3),"%A":t=>b[t.Ra],"%b":t=>w[t.Ya].substring(0,3),"%B":t=>w[t.Ya],"%C":t=>l((t.Wa+1900)/100|0,2),"%d":t=>l(t.ab,2),"%e":t=>u(t.ab,2," "),"%g":t=>f(t).toString().substring(2),"%G":t=>f(t),"%H":t=>l(t.Xa,2),"%I":t=>(0==(t=t.Xa)?t=12:12<t&&(t-=12),l(t,2)),"%j":t=>{for(var r=0,n=0;n<=t.Ya-1;r+=(eU(t.Wa+1900)?e5:e9)[n++]);return l(t.ab+r,3)},"%m":t=>l(t.Ya+1,2),"%M":t=>l(t.rb,2),"%n":()=>`
3201`,"%p":t=>0<=t.Xa&&12>t.Xa?"AM":"PM","%S":t=>l(t.sb,2),"%t":()=>"	","%u":t=>t.Ra||7,"%U":t=>l(Math.floor((t.Va+7-t.Ra)/7),2),"%V":t=>{var r=Math.floor((t.Va+7-(t.Ra+6)%7)/7);if(2>=(t.Ra+371-t.Va-2)%7&&r++,r)53==r&&(4==(n=(t.Ra+371-t.Va)%7)||3==n&&eU(t.Wa)||(r=1));else{r=52;var n=(t.Ra+7-t.Va-1)%7;(4==n||5==n&&eU(t.Wa%400-1))&&r++}return l(r,2)},"%w":t=>t.Ra,"%W":t=>l(Math.floor((t.Va+7-(t.Ra+6)%7)/7),2),"%y":t=>(t.Wa+1900).toString().substring(2),"%Y":t=>t.Wa+1900,"%z":t=>(0<=(t=t.qb)?"+":"-")+("0000"+((t=Math.abs(t)/60)/60*100+t%60)).slice(-4),"%Z":t=>t.tb,"%%":()=>"%"},i=i.replace(/%%/g,"\0\0"),g)i.includes(v)&&(i=i.replace(RegExp(v,"g"),g[v](s))
3201);return p=Array(eT(d=i=i.replace(/\0\0/g,"%"))+1),eS(d,p,0,p.length),(v=p).length>n?0:(y=v,m=t,r().set(y,m>>>0),v.length-1)}var e7,e8=[],e4=(t,r)=>{if(!e7){e7=new WeakMap;var n=ey.length;if(e7)for(var i=0;i<0+n;i++){var o=eg(i);o&&e7.set(o,i)}}if(n=e7.get(t)||0)return n;if(e8.length)n=e8.pop();else{try{ey.grow(1)}catch(t){throw t instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":t}n=ey.length-1}try{i=n,ey.set(i,t),em[i]=ey.get(i)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){i=WebAssembly.Function,o={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var a={parameters:[],results:"v"==r[0]?[]:[o[r[0]]]},s=1;s<r.length;++s)a.parameters.push(o[r[s]]);r=new i(a,t)}else{for(i=[1],o=r.slice(0,1),r=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111},i.push(96),128>(s=r.length)?i.push(s):i.push(s%128|128,s>>7),s=0;s<r.length;++s)i.push(a[r[s]]);"v"==o?i.push(0):i.push(1,a[o]),r=[0,97,115,109,1,0,0,0,1],128>(o=i.length)?r.push(o):r.push(o%128|128,o>>7),r.push.apply(r,i),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(new Uint8Array(r)),r=new WebAssembly.Instance(r,{e:{f:t}}).exports.f}i=n,ey.set(i,r),em[i]=ey.get(i)}return e7.set(t,n),n};ef.$a();var te=[el,ep,eb,ex,e_,eO,eA,eI,eP,ek,eC,e$,eR,eD,eM,eL,eG,eV,eK,eZ,eJ,eQ,e1,e3],tt={b:function(t,r,n){throw new ev(t>>>=0).$a(r>>>0,n>>>0),t},O:function(t){ta(t>>>0,!g,1,!m,131072,!1),ef.fb()},m:function(t){t>>>=0,b?postMessage({cmd:"cleanupThread",thread:t}):ef.cb(ef.Qa[t])},J:ew,h:ex,U:e_,F:eO,H:eA,y:eI,S:eP,L:ek,R:eC,o:e$,G:eR,D:eD,T:eM,E:eL,p:()=>1,B:function(t,r){(t>>>=0)==r>>>0?setTimeout(()=>eN()):b?postMessage({targetThread:t,cmd:"checkMailbox"}):(t=ef.Qa[t])&&t.postMessage({cmd:"checkMailbox"})},K:function(t,r,n,i){r>>>=0,eF.length=n,i=i>>>0>>>3;for(var o=0;o<n;o++)eF[o]=s()[i+o>>>0];return t=0>t?ee[-t-1]:te[t],ef.mb=r,r=t.apply(null,eF),ef.mb=0,r},M:eB,W:function(t){v&&ef.Qa[t>>>0].ref()},s:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),o()[n>>>2>>>0]=t.getUTCSeconds(),o()[n+4>>>2>>>0]=t.getUTCMinutes(),o()[n+8>>>2>>>0]=t.getUTCHours(),o()[n+12>>>2>>>0]=t.getUTCDate(),o()[n+16>>>2>>>0]=t.getUTCMonth(),o()[n+20>>>2>>>0]=t.getUTCFullYear()-1900,o()[n+24>>>2>>>0]=t.getUTCDay(),t=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,o()[n+28>>>2>>>0]=t},t:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),o()[n>>>2>>>0]=t.getSeconds(),o()[n+4>>>2>>>0]=t.getMinutes(),o()[n+8>>>2>>>0]=t.getHours(),o()[n+12>>>2>>>0]=t.getDate(),o()[n+16>>>2>>>0]=t.getMonth(),o()[n+20>>>2>>>0]=t.getFullYear()-1900,o()[n+24>>>2>>>0]=t.getDay(),r=(eU(t.getFullYear())?ej:ez)[t.getMonth()]+t.getDate()-1|0,o()[n+28>>>2>>>0]=r,o()[n+36>>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset();var i=new Date(t.getFullYear(),0,1).getTimezoneOffset();t=0|(r!=i&&t.getTimezoneOffset()==Math.min(i,r)),o()[n+32>>>2>>>0]=t},u:function(t){t>>>=0;var r=new Date(o()[t+20>>>2>>>0]+1900,o()[t+16>>>2>>>0],o()[t+12>>>2>>>0],o()[t+8>>>2>>>0],o()[t+4>>>2>>>0],o()[t>>>2>>>0],0),n=o()[t+32>>>2>>>0],i=r.getTimezoneOffset(),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=new Date(r.getFullYear(),0,1).getTimezoneOffset(),u=Math.min(s,a);return 0>n?o()[t+32>>>2>>>0]=+(a!=s&&u==i):0<n!=(u==i)&&(a=Math.max(s,a),r.setTime(r.getTime()+6e4*((0<n?u:a)-i))),o()[t+24>>>2>>>0]=r.getDay(),n=(eU(r.getFullYear())?ej:ez)[r.getMonth()]+r.getDate()-1|0,o()[t+28>>>2>>>0]=n,o()[t>>>2>>>0]=r.getSeconds(),o()[t+4>>>2>>>0]=r.getMinutes(),o()[t+8>>>2>>>0]=r.getHours(),o()[t+12>>>2>>>0]=r.getDate(),o()[t+16>>>2>>>0]=r.getMonth(),o()[t+20>>>2>>>0]=r.getYear(),isNaN(t=r.getTime())?(o()[tn()>>>2>>>0]=61,t=-1):t/=1e3,tf(1<=+Math.abs(Q=t)?0<Q?Math.floor(Q/0x100000000)>>>0:~~Math.ceil((Q-(~~Q>>>0))/0x100000000)>>>0:0),t>>>0},q:eG,r:eV,A:function(t,r,n){function i(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}t>>>=0,r>>>=0,n>>>=0;var s=new Date().getFullYear(),u=new Date(s,0,1),l=new Date(s,6,1);s=u.getTimezoneOffset();var h=l.getTimezoneOffset(),c=Math.max(s,h);a()[t>>>2>>>0]=60*c,o()[r>>>2>>>0]=+(s!=h),t=i(u),r=i(l),t=eH(t),r=eH(r),h<s?(a()[n>>>2>>>0]=t,a()[n+4>>>2>>>0]=r):(a()[n>>>2>>>0]=r,a()[n+4>>>2>>>0]=t)},c:()=>{q("")},N:function(t,r,n){t>>>=0,r>>>=0,n>>>=0,eq.length=0;for(var u;u=i()[r++>>>0];){var l=105!=u;n+=(l&=112!=u)&&n%8?4:0,eq.push(112==u?a()[n>>>2>>>0]:105==u?o()[n>>>2>>>0]:s()[n>>>3>>>0]),n+=l?8:4}return ee[t].apply(null,eq)},n:()=>{},i:()=>Date.now(),V:()=>{throw ei+=1,"unwind"},C:function(){return 0xffff0000},e:()=>performance.timeOrigin+performance.now(),f:()=>v?(u6(),Y(s7)).cpus().length:navigator.hardwareConcurrency,z:function(t){t>>>=0;var r=i().length;if(t<=r||0xffff0000<t)return!1;for(var n=1;4>=n;n*=2){var o=r*(1+.2/n);o=Math.min(o,t+0x6000000);var a=Math;o=Math.max(t,o);e:{a=(a.min.call(a,0xffff0000,o+(65536-o%65536)%65536)-I.buffer.byteLength+65535)/65536;try{I.grow(a),N();var s=1;break e}catch{}s=void 0}if(s)return!0}return!1},P:eK,Q:eZ,I:eh,g:eJ,l:eQ,v:e1,k:e3,w:function(t,r){return t>>>=0,r>>>=0,e6(i().subarray(t>>>0,t+r>>>0)),0},a:I||t.wasmMemory,x:e2,d:function(t,r,n,i){return e2(t>>>0,r>>>0,n>>>0,i>>>0)},j:function(t,r,n,o){let a=ey.length;t=new Uint8Array(i().slice(t+r,t+n));try{var s,u=new WebAssembly.Module(t),l=new WebAssembly.Instance(u,{env:{memory:I}});for(s in l.exports)e4(l.exports[s]);return a<ey.length?a:o}catch(t){return console.log(t),o}}},tr=function(){function r(t,r){var n,i,o;return n=Object.assign({},n=tr=t.exports),i=t=>()=>t()>>>0,o=t=>r=>t(r)>>>0,n.za=i(n.za),n.Aa=i(n.Aa),n.Ba=o(n.Ba),n.emscripten_main_runtime_thread_id=i(n.emscripten_main_runtime_thread_id),n.Na=i(n.Na),n.Pa=o(n.Pa),tr=n,ef.gb.push(tr.Da),ey=tr.Ea,j.unshift(tr.X),P=r,H(),tr}var n,i,o={a:tt};if(G++,t.instantiateWasm)try{return t.instantiateWasm(o,r)}catch(t){A(`Module.instantiateWasm callback failed with error: ${t}`),l(t)}return(n=function(t){r(t.instance,t.module)},i=X,"function"!=typeof WebAssembly.instantiateStreaming||i.startsWith("data:application/octet-stream;base64,")||K(i)||v||"function"!=typeof fetch?J(i,o,n):fetch(i,{credentials:"same-origin"}).then(t=>WebAssembly.instantiateStreaming(t,o).then(n,function(t){return A(`wasm streaming compile failed: ${t}`),A("falling back to ArrayBuffer instantiation"),J(i,o,n)}))).catch(l),{}}();t._OrtInit=(r,n)=>(t._OrtInit=tr.Y)(r,n),t._OrtGetLastError=(r,n)=>(t._OrtGetLastError=tr.Z)(r,n),t._OrtCreateSessionOptions=(r,n,i,o,a,s,u,l,h,c)=>(t._OrtCreateSessionOptions=tr._)(r,n,i,o,a,s,u,l,h,c),t._OrtAppendExecutionProvider=(r,n)=>(t._OrtAppendExecutionProvider=tr.$)(r,n),t._OrtAddFreeDimensionOverride=(r,n,i)=>(t._OrtAddFreeDimensionOverride=tr.aa)(r,n,i),t._OrtAddSessionConfigEntry=(r,n,i)=>(t._OrtAddSessionConfigEntry=tr.ba)(r,n,i),t._OrtReleaseSessionOptions=r=>(t._OrtReleaseSessionOptions=tr.ca)(r),t._OrtCreateSession=(r,n,i)=>(t._OrtCreateSession=tr.da)(r,n,i),t._OrtReleaseSession=r=>(t._OrtReleaseSession=tr.ea)(r),t._OrtGetInputOutputCount=(r,n,i)=>(t._OrtGetInputOutputCount=tr.fa)(r,n,i),t._OrtGetInputName=(r,n)=>(t._OrtGetInputName=tr.ga)(r,n),t._OrtGetOutputName=(r,n)=>(t._OrtGetOutputName=tr.ha)(r,n),t._OrtFree=r=>(t._OrtFree=tr.ia)(r),t._OrtCreateTensor=(r,n,i,o,a,s)=>(t._OrtCreateTensor=tr.ja)(r,n,i,o,a,s),t._OrtGetTensorData=(r,n,i,o,a)=>
3201(t._OrtGetTensorData=tr.ka)(r,n,i,o,a),t._OrtReleaseTensor=r=>(t._OrtReleaseTensor=tr.la)(r),t._OrtCreateRunOptions=(r,n,i,o)=>(t._OrtCreateRunOptions=tr.ma)(r,n,i,o),t._OrtAddRunConfigEntry=(r,n,i)=>(t._OrtAddRunConfigEntry=tr.na)(r,n,i),t._OrtReleaseRunOptions=r=>(t._OrtReleaseRunOptions=tr.oa)(r),t._OrtCreateBinding=r=>(t._OrtCreateBinding=tr.pa)(r),t._OrtBindInput=(r,n,i)=>(t._OrtBindInput=tr.qa)(r,n,i),t._OrtBindOutput=(r,n,i,o)=>(t._OrtBindOutput=tr.ra)(r,n,i,o),t._OrtClearBoundOutputs=r=>(t._OrtClearBoundOutputs=tr.sa)(r),t._OrtReleaseBinding=r=>(t._OrtReleaseBinding=tr.ta)(r),t._OrtRunWithBinding=(r,n,i,o,a)=>(t._OrtRunWithBinding=tr.ua)(r,n,i,o,a),t._OrtRun=(r,n,i,o,a,s,u,l)=>(t._OrtRun=tr.va)(r,n,i,o,a,s,u,l),t._OrtEndProfiling=r=>(t._OrtEndProfiling=tr.wa)(r),t._OrtConfigure=(r,n)=>(t._OrtConfigure=tr.xa)(r,n),t._OrtAuth=(r,n)=>(t._OrtAuth=tr.ya)(r,n);var tn=()=>(tn=tr.za)(),ti=t._pthread_self=()=>(ti=t._pthread_self=tr.Aa)(),to=t._malloc=r=>(to=t._malloc=tr.Ba)(r);t._free=r=>(t._free=tr.Ca)(r),t.__emscripten_tls_init=()=>(t.__emscripten_tls_init=tr.Da)();var ta=t.__emscripten_thread_init=(r,n,i,o,a,s)=>(ta=t.__emscripten_thread_init=tr.Fa)(r,n,i,o,a,s);t.__emscripten_thread_crashed=()=>(t.__emscripten_thread_crashed=tr.Ga)();var ts,tu=(t,r,n,i)=>(tu=tr.Ha)(t,r,n,i),tl=t=>(tl=tr.Ia)(t),th=t.__emscripten_thread_exit=r=>(th=t.__emscripten_thread_exit=tr.Ja)(r),tc=()=>(tc=tr.Ka)(),tf=t=>(tf=tr.La)(t),td=(t,r)=>(td=tr.Ma)(t,r),tp=()=>(tp=tr.Na)(),ty=t=>(ty=tr.Oa)(t),tm=t=>(tm=tr.Pa)(t);function tg(){if(!(0<G))if(b)u(t),b||ed(j),startWorker(t);else{if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)U.unshift(t.preRun.shift());ed(U),0<G||ts||(ts=!0,t.calledRun=!0,B||(b||ed(j),u(t),b||ed(z)))}}return t.___start_em_js=887097,t.___stop_em_js=887709,t.wasmMemory=I,t.stackAlloc=tm,t.stackSave=tp,t.stackRestore=ty,t.keepRuntimeAlive=()=>0<ei,t.addFunction=e4,t.UTF8ToString=es,t.stringToUTF8=eE,t.lengthBytesUTF8=eT,t.ExitStatus=et,t.PThread=ef,W=function t(){ts||tg(),ts||(W=t)},tg(),t.ready});"object"==typeof t&&"object"==typeof r?r.exports=i:"function"==typeof define&&define.amd&&define([],()=>i)}),u9=V((t,r)=>{r.exports='"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\n'}),u2=G(()=>{s4=s5(),ue=u5(),ur=!1,un=!1,ui=!1,uo=async t=>{let r,n;if(ur)return Promise.resolve();if(un)throw Error("multiple calls to 'initializeWebAssembly()' detected.");
3201if(ui)throw Error("previous call to 'initializeWebAssembly()' failed.");un=!0;let i=t.initTimeout,o=t.numThreads,a=t.simd,s=(t=>{if(1===t)return!1;if(typeof SharedArrayBuffer>"u")return"u">typeof self&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+t+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;"u">typeof M&&M.versions&&M.versions.node&&console.warn("env.wasm.numThreads is set to "+t+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return"u">typeof MessageChannel&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}})(o),u=a&&(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}}
3201)(),l=t.wasmPaths,h="string"==typeof l?l:void 0,c=(r=u,n=s,r?n?"ort-wasm-simd-threaded.wasm":"ort-wasm-simd.wasm":n?"ort-wasm-threaded.wasm":"ort-wasm.wasm"),f="object"==typeof l?l[c]:void 0,d=!1,p=[];if(i>0&&p.push(new Promise(t=>{setTimeout(()=>{d=!0,t()},i)})),p.push(new Promise((t,r)=>{let n=s?ue:s4,i={locateFile:(t,r)=>s&&t.endsWith(".worker.js")&&"u">typeof Blob?URL.createObjectURL(new Blob([u9()],{type:"text/javascript"})):t.endsWith(".wasm")?f||(h??r)+c:r+t};s&&((i.numThreads=o,typeof Blob>"u")?i.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js"):i.mainScriptUrlOrBlob=new Blob([`var ortWasmThreaded=${n.toString()};`],{type:"text/javascript"})),n(i).then(r=>{un=!1,ur=!0,ut=r,t()},t=>{un=!1,ui=!0,r(t)})})),await Promise.race(p),d)throw Error(`WebAssembly backend initializing failed due to timeout: ${i}ms`)},ua=()=>{if(ur&&ut)return ut;throw Error("WebAssembly is not initialized yet.")}}),u7=G(()=>{u2(),us=(t,r)=>{let n=ua(),i=n.lengthBytesUTF8(t)+1,o=n._malloc(i);return n.stringToUTF8(t,o,i),r.push(o),o},uu=(t,r,n,i)=>{if("object"==typeof t&&null!==t){if(n.has(t))throw Error("Circular reference in options");n.add(t)}Object.entries(t).forEach(t=>{let[o,a]=t,s=r?r+o:o;if("object"==typeof a)uu(a,s+".",n,i);else if("string"==typeof a||"number"==typeof a)i(s,a.toString());else{if("boolean"!=typeof a)throw Error("Can't handle extra config type: "+typeof a);i(s,a?"1":"0")}})},ul=t=>{let r=ua(),n=r.stackSave();try{let n=r.stackAlloc(8);r._OrtGetLastError(n,n+4);let i=r.HEAP32[n/4],o=r.HEAPU32[n/4+1],a=o?r.UTF8ToString(o):"";throw Error(`${t} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{r.stackRestore(n)}}}),u8=G(()=>{u2(),u7(),uh=t=>{let r=ua(),n=0,i=[],o=t||{};try{if(void 0===t?.logSeverityLevel)o.logSeverityLevel=2;else if("number"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===t?.logVerbosityLevel)o.logVerbosityLevel=0;else if("number"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);void 0===t?.terminate&&(o.terminate=!1);let a=0;return void 0!==t?.tag&&(a=us(t.tag,i)),n=r._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,a),0===n&&ul("Can't create run options."),void 0!==t?.extra&&uu(t.extra,"",new WeakSet,(t,o)=>{let a=us(t,i),s=us(o,i);0!==r._OrtAddRunConfigEntry(n,a,s)&&ul(`Can't set a run config entry: ${t} - ${o}.`)}),[n,i]}catch(t){throw 0!==n&&r._OrtReleaseRunOptions(n),i.forEach(t=>r._free(t)),t}}}),u4=G(()=>{u2(),u7(),uc=t=>{var r;let n,i=ua(),o=0,a=[],s=t||{};(r=s).extra||(r.extra={}),r.extra.session||(r.extra.session={}),(n=r.extra.session).use_ort_model_bytes_directly||(n.use_ort_model_bytes_directly="1"),r.executionProviders&&r.executionProviders.some(t=>"webgpu"===("string"==typeof t?t:t.name))&&(r.enableMemPattern=!1);try{let t=(t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${t}`)}})(s.graphOptimizationLevel??"all"),r=(t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${t}`)}})(s.executionMode??"sequential"),n="string"==typeof s.logId?us(s.logId,a):0,u=s.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw Error(`log serverity level is not valid: ${u}`);let l=s.logVerbosityLevel??0;if(!Number.isInteger(l)||l<0||l>4)throw Error(`log verbosity level is not valid: ${l}`);let h="string"==typeof s.optimizedModelFilePath?us(s.optimizedModelFilePath,a):0;if(o=i._OrtCreateSessionOptions(t,!!s.enableCpuMemArena,!!s.enableMemPattern,r,!!s.enableProfiling,0,n,u,l,h),0===o&&ul("Can't create session options."),s.executionProviders&&((t,r,n)=>{for(let i of r){let r="string"==typeof i?i:i.name;switch(r){case"webnn":if(r="WEBNN","string"!=typeof i){if(i?.deviceType){let r=us("deviceType",n),o=us(i.deviceType,n);0!==ua()._OrtAddSessionConfigEntry(t,r,o)&&ul(`Can't set a session config entry: 'deviceType' - ${i.deviceType}.`)}if(i?.numThreads){let r=i.numThreads;("number"!=typeof r||!Number.isInteger(r)||r<0)&&(r=0);let o=us("numThreads",n),a=us(r.toString(),n);0!==ua()._OrtAddSessionConfigEntry(t,o,a)&&ul(`Can't set a session config entry: 'numThreads' - ${i.numThreads}.`)}if(i?.powerPreference){let r=us("powerPreference",n),o=us(i.powerPreference,n);0!==ua()._OrtAddSessionConfigEntry(t,r,o)&&ul(`Can't set a session config entry: 'powerPreference' - ${i.powerPreference}.`)}}break;case"webgpu":if(r="JS","string"!=typeof i&&i?.preferredLayout){if("NCHW"!==i.preferredLayout&&"NHWC"!==i.preferredLayout)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${i.preferredLayout}`);
3201let r=us("preferredLayout",n),o=us(i.preferredLayout,n);0!==ua()._OrtAddSessionConfigEntry(t,r,o)&&ul(`Can't set a session config entry: 'preferredLayout' - ${i.preferredLayout}.`)}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${r}`)}let o=us(r,n);0!==ua()._OrtAppendExecutionProvider(t,o)&&ul(`Can't append execution provider: ${r}.`)}})(o,s.executionProviders,a),void 0!==s.enableGraphCapture){if("boolean"!=typeof s.enableGraphCapture)throw Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);let t=us("enableGraphCapture",a),r=us(s.enableGraphCapture.toString(),a);0!==i._OrtAddSessionConfigEntry(o,t,r)&&ul(`Can't set a session config entry: 'enableGraphCapture' - ${s.enableGraphCapture}.`)}if(s.freeDimensionOverrides)for(let[t,r]of Object.entries(s.freeDimensionOverrides)){if("string"!=typeof t)throw Error(`free dimension override name must be a string: ${t}`);if("number"!=typeof r||!Number.isInteger(r)||r<0)throw Error(`free dimension override value must be a non-negative integer: ${r}`);let n=us(t,a);0!==i._OrtAddFreeDimensionOverride(o,n,r)&&ul(`Can't set a free dimension override: ${t} - ${r}.`)}return void 0!==s.extra&&uu(s.extra,"",new WeakSet,(t,r)=>{let n=us(t,a),s=us(r,a);0!==i._OrtAddSessionConfigEntry(o,n,s)&&ul(`Can't set a session config entry: ${t} - ${r}.`)}),[o,a]}catch(t){throw 0!==o&&i._OrtReleaseSessionOptions(o),a.forEach(t=>i._free(t)),t}}}),le=G(()=>{uf=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw Error(`unsupported data type: ${t}`)}},ud=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw Error(`unsupported data type: ${t}`)}},up=t=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][t],uy=t=>{switch(t){case"float16":case"uint16":return Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${t}`)}},um=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${t}`)}},ug=t=>"float32"===t||"int32"===t||"int64"===t||"bool"===t||"float16"===t||"uint32"===t,uv=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw Error(`unsupported data location: ${t}`)}}}),lt=G(()=>{ub=async t=>{if("string"!=typeof t)return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t);if(!("u">typeof M&&M.versions&&M.versions.node)){let r=await fetch(t);if(!r.ok)throw Error(`failed to load external data file: ${t}`);let n=r.headers.get("Content-Length"),i=n?parseInt(n,10):0;if(i<0x40000000)return new Uint8Array(await r.arrayBuffer());{if(!r.body)throw Error(`failed to load external data file: ${t}, no response body.`);let n,o=r.body.getReader();try{n=new ArrayBuffer(i)}catch(t){if(!(t instanceof RangeError))throw t;{let t=Math.ceil(i/65536);n=new WebAssembly.Memory({initial:t,maximum:t}).buffer}}let a=0;for(;;){let{done:t,value:r}=await o.read();if(t)break;let i=r.byteLength;new Uint8Array(n,a,i).set(r),a+=i}return new Uint8Array(n,0,i)}}try{return new Uint8Array(await (void 0)(t))}catch(r){if("ERR_FS_FILE_TOO_LARGE"===r.code){let r=(void 0)(t),n=[];for await(let t of r)n.push(t);return new Uint8Array(L.concat(n))}throw r}}}),lr=G(()=>{u8(),u4(),le(),u2(),u7(),lt(),uw=async t=>{var r,n;r=t.wasm.numThreads,n=um(t.logLevel),0!==ua()._OrtInit(r,n)&&ul("Can't initialize onnxruntime.")},ux=async(t,r)=>{},u_=new Map,uT=t=>{let r=ua(),n=r._malloc(t.byteLength);
3201if(0===n)throw Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return r.HEAPU8.set(t,n),[n,t.byteLength]},uS=async(t,r)=>{let n,i,o=ua();Array.isArray(t)?[n,i]=t:t.buffer===o.HEAPU8.buffer?[n,i]=[t.byteOffset,t.byteLength]:[n,i]=uT(t);let a=0,s=0,u=[],l=[],h=[];try{if([s,u]=uc(r),r?.externalData&&o.mountExternalData){let t=[];for(let n of r.externalData){let r="string"==typeof n?n:n.path;t.push(ub("string"==typeof n?n:n.data).then(t=>{o.mountExternalData(r,t)}))}await Promise.all(t)}a=o._OrtCreateSession(n,i,s),0===a&&ul("Can't create a session.");let[t,c]=(t=>{let r=ua(),n=r.stackSave();try{let n=r.stackAlloc(8);return 0!==r._OrtGetInputOutputCount(t,n,n+4)&&ul("Can't get session input/output count."),[r.HEAP32[n/4],r.HEAP32[n/4+1]]}finally{r.stackRestore(n)}})(a),f=!!r?.enableGraphCapture,d=[],p=[];for(let r=0;r<t;r++){let t=o._OrtGetInputName(a,r);0===t&&ul("Can't get an input name."),l.push(t),d.push(o.UTF8ToString(t))}for(let t=0;t<c;t++){let r=o._OrtGetOutputName(a,t);0===r&&ul("Can't get an output name."),h.push(r);let n=o.UTF8ToString(r);p.push(n)}return u_.set(a,[a,l,h,null,f,!1]),[a,d,p]}catch(t){throw l.forEach(t=>o._OrtFree(t)),h.forEach(t=>o._OrtFree(t)),0!==a&&o._OrtReleaseSession(a),t}finally{o._free(n),0!==s&&o._OrtReleaseSessionOptions(s),u.forEach(t=>o._free(t)),o.unmountExternalData?.()}},uE=t=>{let r=ua(),n=u_.get(t);if(!n)throw Error(`cannot release session. invalid session id: ${t}`);let[i,o,a,s,u]=n;s&&(u&&r._OrtClearBoundOutputs(s.handle),r._OrtReleaseBinding(s.handle)),r.jsepOnReleaseSession?.(t),o.forEach(t=>r._OrtFree(t)),a.forEach(t=>r._OrtFree(t)),r._OrtReleaseSession(i),u_.delete(t)},uO=(t,r,n)=>{if(null!==t&&t[0]===r){let r=t[2];if(r.length===n)return r}return new(uy(r))(n)},uA=function(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(!t)return void r.push(0);let s,u,l=ua(),h=t[0],c=t[1],f=t[3];if("string"===h&&"gpu-buffer"===f)throw Error("String tensor is not supported on GPU.");if(a&&"gpu-buffer"!==f)throw Error(`External buffer must be provided for input/output index ${o} when enableGraphCapture is true.`);if("gpu-buffer"===f){let r=t[2].gpuBuffer,n=up(uf(h));u=c.reduce((t,r)=>t*r,1)*n,s=l.jsepRegisterBuffer(i,o,r,u)}else{let r=t[2];if(Array.isArray(r)){u=4*r.length,s=l._malloc(u),n.push(s);let t=s/4;for(let i=0;i<r.length;i++){if("string"!=typeof r[i])throw TypeError(`tensor data at index ${i} is not a string`);l.HEAPU32[t++]=us(r[i],n)}}else u=r.byteLength,s=l._malloc(u),n.push(s),l.HEAPU8.set(new Uint8Array(r.buffer,r.byteOffset,u),s)}let d=l.stackSave(),p=l.stackAlloc(4*c.length);try{let t=p/4;c.forEach(r=>l.HEAP32[t++]=r);let n=l._OrtCreateTensor(uf(h),s,u,p,c.length,uv(f));0===n&&ul(`Can't create tensor for input/output. session=${i}, index=${o}.`),r.push(n)}finally{l.stackRestore(d)}},uI=t=>{let r=new TextEncoder().encode(t),n=ua(),i=n._malloc(r.byteLength);n.HEAPU8.set(r,i);let o=n._OrtConfigure(i,r.byteLength);if(0===o)throw Error("Can't get an configure key");let a=n.UTF8ToString(o);return n._OrtFree(o),a},uP=t=>{let r=new TextEncoder().encode(t),n=ua(),i=n._malloc(r.byteLength);n.HEAPU8.set(r,i);let o=n._OrtAuth(i,r.byteLength);if(0===o)throw Error("Can't get an auth result");let a=n.UTF8ToString(o);return n._OrtFree(o),a},uk=async(t,r,n,i,o,a)=>{let s=ua(),u=u_.get(t);if(!u)throw Error(`cannot run inference. invalid session id: ${t}`);let l=u[0],h=u[1],c=u[2],f=u[3],d=u[4],p=(u[5],r.length),y=i.length,m=0,g=[],v=[],b=[],w=[],x=s.stackSave(),_=s.stackAlloc(4*p),T=s.stackAlloc(4*p),S=s.stackAlloc(4*y),E=s.stackAlloc(4*y);try{[m,g]=uh(a);for(let i=0;i<p;i++)uA(n[i],v,w,t,r[i],d);for(let r=0;r<y;r++){let n=o[r];uA("gpu-buffer"===(n?.[3]??"")?n:null,b,w,t,p+i[r],d)}let u,x=_/4,O=T/4,A=S/4,I=E/4;for(let t=0;t<p;t++)s.HEAPU32[x++]=v[t],s.HEAPU32[O++]=h[r[t]];for(let t=0;t<y;t++)s.HEAPU32[A++]=b[t],s.HEAPU32[I++]=c[i[t]];s.jsepOnRunStart?.(l),u=await s._OrtRun(l,T,_,p,E,y,S,m),0!==u&&ul("failed to call OrtRun().");let P=[];for(let t=0;t<y;t++){let r=s.HEAPU32[S/4+t];if(r===b[t]){P.push(o[t]);continue}let n,a=s.stackSave(),u=s.stackAlloc(16),l=!1,h=0;try{0!==s._OrtGetTensorData(r,u,u+4,u+8,u+12)&&ul(`Can't access output tensor data on index ${t}.`);let a=u/4,c=s.HEAPU32[a++];h=s.HEAPU32[a++];let d=s.HEAPU32[a++],p=s.HEAPU32[a++],y=[];for(let t=0;t<p;t++)y.push(s.HEAPU32[d/4+t]);s._OrtFree(d);let m=y.reduce((t,r)=>t*r,1);n=ud(c);let g=f?.outputPreferredLocations[i[t]];if("string"===n){if("gpu-buffer"===g)throw Error("String tensor is not supported on GPU.");let t=[],r=h/4;for(let n=0;n<m;n++){let i=s.HEAPU32[r++],o=n===m-1?void 0:s.HEAPU32[r]-i;t.push(s.UTF8ToString(i,o))}P.push([n,y,t,"cpu"])}else if("gpu-buffer"===g&&m>0){let t=s.jsepGetBuffer(h),i=up(c);if(void 0===i||!ug(n))throw Error(`Unsupported data type: ${n}`);l=!0,P.push([n,y,{gpuBuffer:t,download:s.jsepCreateDownloader(t,m*i,n),dispose:()=>{s._OrtReleaseTensor(r)}},"gpu-buffer"])}else{let r=uO(o[t],n,m);new Uint8Array(r.buffer,r.byteOffset,r.byteLength).set(s.HEAPU8.subarray(h,h+r.byteLength)),P.push([n,y,r,"cpu"])}}finally{s.stackRestore(a),"string"===n&&h&&s._free(h),l||s._OrtReleaseTensor(r)}}return f&&!d&&(s._OrtClearBoundOutputs(f.handle),u_.set(t,[l,h,c,f,d,!1])),P}finally{s.stackRestore(x),v.forEach(t=>s._OrtReleaseTensor(t)),b.forEach(t=>
3201s._OrtReleaseTensor(t)),w.forEach(t=>s._free(t)),0!==m&&s._OrtReleaseRunOptions(m),g.forEach(t=>s._free(t))}},uC=t=>{let r=ua(),n=u_.get(t);if(!n)throw Error("invalid session id");let i=n[0],o=r._OrtEndProfiling(i);0===o&&ul("Can't get an profile file name."),r._OrtFree(o)},u$=t=>{let r=[];for(let n of t){let t=n[2];!Array.isArray(t)&&"buffer"in t&&r.push(t.buffer)}return r}}),ln=V((t,r)=>{r.exports='/*!\n * ONNX Runtime Web v1.17.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n"use strict";(()=>{var Dt=Object.defineProperty;var on=Object.getOwnPropertyDescriptor;var sn=Object.getOwnPropertyNames;var un=Object.prototype.hasOwnProperty;var Ot=(i,d)=>()=>(i&&(d=i(i=0)),d);var ut=(i,d)=>()=>(d||i((d={exports:{}}).exports,d),d.exports),vt=(i,d)=>{for(var o in d)Dt(i,o,{get:d[o],enumerable:!0})},fn=(i,d,o,p)=>{if(d&&typeof d=="object"||typeof d=="function")for(let l of sn(d))!un.call(i,l)&&l!==o&&Dt(i,l,{get:()=>d[l],enumerable:!(p=on(d,l))||p.enumerable});return i};var ze=i=>fn(Dt({},"__esModule",{value:!0}),i);var Ft={};vt(Ft,{createReadStream:()=>Or,readFile:()=>ln,readFileSync:()=>cn});var ln,cn,Or,Ut=Ot(()=>{ln=void 0,cn=void 0,Or=void 0});var Rt={};vt(Rt,{join:()=>dn});var dn,Lt=Ot(()=>{dn=void 0});var Pt={};vt(Pt,{crypto:()=>pn});var pn,Bt=Ot(()=>{pn=void 0});var Er=ut((_r,It)=>{"use strict";var vr=(()=>{var i=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(i=i||__filename),function(d={}){var o=d,p,l;o.ready=new Promise((r,a)=>{p=r,l=a});var O=Object.assign({},o),h="./this.program",u=typeof window=="object",A=typeof importScripts=="function",D=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",R="",U,L,te;if(D){var B=(Ut(),ze(Ft)),P=(Lt(),ze(Rt));R=A?P.dirname(R)+"/":__dirname+"/",U=(r,a)=>(r=we(r)?new URL(r):P.normalize(r),B.readFileSync(r,a?void 0:"utf8")),te=r=>(r=U(r,!0),r.buffer||(r=new Uint8Array(r)),r),L=(r,a,s,c=!0)=>{r=we(r)?new URL(r):P.normalize(r),B.readFile(r,c?void 0:"utf8",(w,E)=>{w?s(w):a(c?E.buffer:E)})},!o.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),o.inspect=()=>"[Emscripten Module object]"}else(u||A)&&(A?R=self.location.href:typeof document<"u"&&document.currentScript&&(R=document.currentScript.src),i&&(R=i),R.indexOf("blob:")!==0?R=R.substr(0,R.replace(/[?#].*/,"").lastIndexOf("/")+1):R="",U=r=>{var a=new XMLHttpRequest;return a.open("GET",r,!1),a.send(null),a.responseText},A&&(te=r=>{var a=new XMLHttpRequest;return a.open("GET",r,!1),a.responseType="arraybuffer",a.send(null),new Uint8Array(a.response)}),L=(r,a,s)=>{var c=new XMLHttpRequest;c.open("GET",r,!0),c.responseType="arraybuffer",c.onload=()=>{c.status==200||c.status==0&&c.response?a(c.response):s()},c.onerror=s,c.send(null)});var _=console.log.bind(console),N=console.error.bind(console);Object.assign(o,O),O=null,typeof WebAssembly!="object"&&F("no native wasm support detected");var G,$=!1,oe,ee,S,Y,Ue;function Ie(){var r=G.buffer;o.HEAP8=oe=new Int8Array(r),o.HEAP16=new Int16Array(r),o.HEAPU8=ee=new Uint8Array(r),o.HEAPU16=new Uint16Array(r),o.HEAP32=S=new Int32Array(r),o.HEAPU32=Y=new Uint32Array(r),o.HEAPF32=new Float32Array(r),o.HEAPF64=Ue=new Float64Array(r)}var ce=[],re=[],Z=[],Ae=0,_e=null,ne=null;function F(r){throw r="Aborted("+r+")",N(r),$=!0,r=new WebAssembly.RuntimeError(r+". Build with -sASSERTIONS for more info."),l(r),r}var de=r=>r.startsWith("data:application/octet-stream;base64,"),we=r=>r.startsWith("file://"),le;if(le="ort-wasm.wasm",!de(le)){var Te=le;le=o.locateFile?o.locateFile(Te,R):R+Te}function V(r){if(te)return te(r);throw"both async and sync fetching of the wasm failed"}function pe(r){if(u||A){if(typeof fetch=="function"&&!we(r))return fetch(r,{credentials:"same-origin"}).then(a=>{if(!a.ok)throw"failed to load wasm binary file at \'"+r+"\'";return a.arrayBuffer()}).catch(()=>V(r));if(L)return new Promise((a,s)=>{L(r,c=>a(new Uint8Array(c)),s)})}return Promise.resolve().then(()=>V(r))}function Ne(r,a,s){return pe(r).then(c=>WebAssembly.instantiate(c,a)).then(c=>c).then(s,c=>{N(`failed to asynchronously prepare wasm: ${c}`),F(c)})}function Me(r,a){var s=le;return typeof WebAssembly.instantiateStreaming!="function"||de(s)||we(s)||D||typeof fetch!="function"?Ne(s,r,a):fetch(s,{credentials:"same-origin"}).then(c=>WebAssembly.instantiateStreaming(c,r).then(a,function(w){return N(`wasm streaming compile failed: ${w}`),N("falling back to ArrayBuffer instantiation"),Ne(s,r,a)}))}var Ee,Se={882208:(r,a,s,c)=>{if(typeof o>"u"||!o.Ga)return 1;if(r=se(r>>>0),r.startsWith("./")&&(r=r.substring(2)),r=o.Ga.get(r),!r)return 2;if(a>>>=0,s>>>=0,a+s>r.byteLength)return 3;try{return ee.set(r.subarray(a,a+s),c>>>0>>>0),0}catch{return 4}}};function He(r){this.Da=r-24,this.Fa=function(a){Y[this.Da+4>>>2>>>0]=a},this.Ea=function(a){Y[this.Da+8>>>2>>>0]=a},this.La=function(a,s){this.Ma(),this.Fa(a),this.Ea(s)},this.Ma=function(){Y[this.Da+16>>>2>>>0]=0}}var me=0,Ce=0,xe=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,q=(r,a,s)=>{a>>>=0;var c=a+s;for(s=a;r[s]&&!(s>=c);)++s;if(16<s-a&&r.buffer&&xe)return xe.decode(r.subarray(a,s));for(c="";a<s;){var w=r[a++];if(w&128){var E=r[a++]&63;if((w&224)==192)c+=String.fromCharCode((w&31)<<6|E);else{var T=r[a++]&63;w=(w&240)==224?(w&15)<<12|E<<6|T:(w&7)<<18|E<<12|T<<6|r[a++]&63,65536>w?c+=String.fromCharCode(w):(w-=65536,c+=String.fromCharCode(55296|w>>10,56320|w&1023))}}else c+=String.fromCharCode(w)}return c},se=(r,a)=>(r>>>=0)?q(ee,r,a):"",ye=r=>{for(var a=0,s=0;s<r.length;++s){var c=r.charCodeAt(s);127>=c?a++:2047>=c?a+=2:55296<=c&&57343>=c?(a+=4,++s):a+=3}return a},Re=(r,a,s,c)=>{if(s>>>=0,!(0<c))return 0;var w=s;c=s+c-1;for(var E=0;E<r.length;++E){var T=r.charCodeAt(E);if(55296<=T&&57343>=T){var H=r.charCodeAt(++E);T=65536+((T&1023)<<10)|H&1023}if(127>=T){if(s>=c)break;a[s++>>>0]=T}else{if(2047>=T){if(s+1>=c)break;a[s++>>>0]=192|T>>6}else{if(65535>=T){if(s+2>=c)break;a[s++>>>0]=224|T>>12}else{if(s+3>=c)break;a[s++>>>0]=240|T>>18,a[s++>>>0]=128|T>>12&63}a[s++>>>0]=128|T>>6&63}a[s++>>>0]=128|T&63}}return a[s>>>0]=0,s-w},De=r=>r%4===0&&(r%100!==0||r%400===0),et=[0,31,60,91,121,152,182,213,244,274,305,335],lt=[0,31,59,90,120,151,181,212,243,273,304,334],Le=r=>{var a=ye(r)+1,s=ge(a);
3201return s&&Re(r,ee,s,a),s},Ye=[],We={},Ve=()=>{if(!qe){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"},a;for(a in We)We[a]===void 0?delete r[a]:r[a]=We[a];var s=[];for(a in r)s.push(`${a}=${r[a]}`);qe=s}return qe},qe,ke=[null,[],[]],ct=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return s=>crypto.getRandomValues(s);if(D)try{var r=(Bt(),ze(Pt));if(r.randomFillSync)return s=>r.randomFillSync(s);var a=r.randomBytes;return s=>(s.set(a(s.byteLength)),s)}catch{}F("initRandomDevice")},tt=r=>(tt=ct())(r),Ge=[31,29,31,30,31,30,31,31,30,31,30,31],dt=[31,28,31,30,31,30,31,31,30,31,30,31];function j(r){var a=Array(ye(r)+1);return Re(r,a,0,a.length),a}function rt(r,a,s,c){function w(m,W,z){for(m=typeof m=="number"?m.toString():m||"";m.length<W;)m=z[0]+m;return m}function E(m,W){return w(m,W,"0")}function T(m,W){function z(Xe){return 0>Xe?-1:0<Xe?1:0}var Oe;return(Oe=z(m.getFullYear()-W.getFullYear()))===0&&(Oe=z(m.getMonth()-W.getMonth()))===0&&(Oe=z(m.getDate()-W.getDate())),Oe}function H(m){switch(m.getDay()){case 0:return new Date(m.getFullYear()-1,11,29);case 1:return m;case 2:return new Date(m.getFullYear(),0,3);case 3:return new Date(m.getFullYear(),0,2);case 4:return new Date(m.getFullYear(),0,1);case 5:return new Date(m.getFullYear()-1,11,31);case 6:return new Date(m.getFullYear()-1,11,30)}}function ie(m){var W=m.ya;for(m=new Date(new Date(m.za+1900,0,1).getTime());0<W;){var z=m.getMonth(),Oe=(De(m.getFullYear())?Ge:dt)[z];if(W>Oe-m.getDate())W-=Oe-m.getDate()+1,m.setDate(1),11>z?m.setMonth(z+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+W);break}}return z=new Date(m.getFullYear()+1,0,4),W=H(new Date(m.getFullYear(),0,4)),z=H(z),0>=T(W,m)?0>=T(z,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}r>>>=0,a>>>=0,s>>>=0,c>>>=0;var ue=Y[c+40>>>2>>>0];c={Ja:S[c>>>2>>>0],Ia:S[c+4>>>2>>>0],Aa:S[c+8>>>2>>>0],Ca:S[c+12>>>2>>>0],Ba:S[c+16>>>2>>>0],za:S[c+20>>>2>>>0],xa:S[c+24>>>2>>>0],ya:S[c+28>>>2>>>0],Na:S[c+32>>>2>>>0],Ha:S[c+36>>>2>>>0],Ka:ue?se(ue):""},s=se(s),ue={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var fe in ue)s=s.replace(new RegExp(fe,"g"),ue[fe]);var st="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),it="January February March April May June July August September October November December".split(" ");ue={"%a":m=>st[m.xa].substring(0,3),"%A":m=>st[m.xa],"%b":m=>it[m.Ba].substring(0,3),"%B":m=>it[m.Ba],"%C":m=>E((m.za+1900)/100|0,2),"%d":m=>E(m.Ca,2),"%e":m=>w(m.Ca,2," "),"%g":m=>ie(m).toString().substring(2),"%G":m=>ie(m),"%H":m=>E(m.Aa,2),"%I":m=>(m=m.Aa,m==0?m=12:12<m&&(m-=12),E(m,2)),"%j":m=>{for(var W=0,z=0;z<=m.Ba-1;W+=(De(m.za+1900)?Ge:dt)[z++]);return E(m.Ca+W,3)},"%m":m=>E(m.Ba+1,2),"%M":m=>E(m.Ia,2),"%n":()=>`\n`,"%p":m=>0<=m.Aa&&12>m.Aa?"AM":"PM","%S":m=>E(m.Ja,2),"%t":()=>"	","%u":m=>m.xa||7,"%U":m=>E(Math.floor((m.ya+7-m.xa)/7),2),"%V":m=>{var W=Math.floor((m.ya+7-(m.xa+6)%7)/7);if(2>=(m.xa+371-m.ya-2)%7&&W++,W)W==53&&(z=(m.xa+371-m.ya)%7,z==4||z==3&&De(m.za)||(W=1));else{W=52;var z=(m.xa+7-m.ya-1)%7;(z==4||z==5&&De(m.za%400-1))&&W++}return E(W,2)},"%w":m=>m.xa,"%W":m=>E(Math.floor((m.ya+7-(m.xa+6)%7)/7),2),"%y":m=>(m.za+1900).toString().substring(2),"%Y":m=>m.za+1900,"%z":m=>{m=m.Ha;var W=0<=m;return m=Math.abs(m)/60,(W?"+":"-")+("0000"+(m/60*100+m%60)).slice(-4)},"%Z":m=>m.Ka,"%%":()=>"%"},s=s.replace(/%%/g,"\\0\\0");for(fe in ue)s.includes(fe)&&(s=s.replace(new RegExp(fe,"g"),ue[fe](c)));return s=s.replace(/\\0\\0/g,"%"),fe=j(s),fe.length>a?0:(oe.set(fe,r>>>0),fe.length-1)}var Fe=[],be,Pe,pt=[],C=(r,a)=>{if(!Pe){Pe=new WeakMap;var s=be.length;if(Pe)for(var c=0;c<0+s;c++){var w=c,E=Fe[w];E||(w>=Fe.length&&(Fe.length=w+1),Fe[w]=E=be.get(w)),(w=E)&&Pe.set(w,c)}}if(s=Pe.get(r)||0)return s;if(pt.length)s=pt.pop();else{try{be.grow(1)}catch(H){throw H instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":H}s=be.length-1}try{c=s,be.set(c,r),Fe[c]=be.get(c)}catch(H){if(!(H instanceof TypeError))throw H;if(typeof WebAssembly.Function=="function"){c=WebAssembly.Function,w={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},E={parameters:[],results:a[0]=="v"?[]:[w[a[0]]]};for(var T=1;T<a.length;++T)E.parameters.push(w[a[T]]);a=new c(E,r)}else{for(c=[1],w=a.slice(0,1),a=a.slice(1),E={i:127,p:127,j:126,f:125,d:124,e:111},c.push(96),T=a.length,128>T?c.push(T):c.push(T%128|128,T>>7),T=0;T<a.length;++T)c.push(E[a[T]]);w=="v"?c.push(0):c.push(1,E[w]),a=[0,97,115,109,1,0,0,0,1],w=c.length,128>w?a.push(w):a.push(w%128|128,w>>7),a.push.apply(a,c),a.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),a=new WebAssembly.Module(new Uint8Array(a)),a=new WebAssembly.Instance(a,{e:{f:r}}).exports.f}c=s,be.set(c,a),Fe[c]=be.get(c)}return Pe.set(r,s),s},Je={a:function(r,a,s){throw r>>>=0,new He(r).La(a>>>0,s>>>0),me=r,Ce++,me},e:function(){return 0},L:function(){},A:function(){},C:function(){},u:function(){return 0},J:function(){},E:function(){},I:function(){},k:function(){},B:function(){},y:function(){},K:function(){},z:function(){},l:()=>1,o:function(r,a,s){r=a+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*a:NaN,s>>>=0,r=new Date(1e3*r),S[s>>>2>>>0]=r.getUTCSeconds(),S[s+4>>>2>>>0]=r.getUTCMinutes(),S[s+8>>>2>>>0]=r.getUTCHours(),S[s+12>>>2>>>0]=r.getUTCDate(),S[s+16>>>2>>>0]=r.getUTCMonth(),S[s+20>>>2>>>0]=r.getUTCFullYear()-1900,S[s+24>>>2>>>0]=r.getUTCDay(),S[s+28>>>2>>>0]=(r.getTime()-Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},p:function(r,a,s){r=a+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*a:NaN,s>>>=0,r=new Date(1e3*r),S[s>>>2>>>0]=r.getSeconds(),S[s+4>>>2>>>0]=r.getMinutes(),S[s+8>>>2>>>0]=r.getHours(),S[s+12>>>2>>>0]=r.getDate(),S[s+16>>>2>>>0]=r.getMonth(),S[s+20>>>2>>>0]=r.getFullYear()-1900,S[s+24>>>2>>>0]=r.getDay(),S[s+28>>>2>>>0]=(De(r.getFullYear())?et:lt)[r.getMonth()]+r.getDate()-1|0,S[s+36>>>2>>>0]=-(60*r.getTimezoneOffset()),a=new Date(r.getFullYear(),6,1).getTimezoneOffset();var c=new Date(r.getFullYear(),0,1).getTimezoneOffset();S[s+32>>>2>>>0]=(a!=c&&r.getTimezoneOffset()==Math.min(c,a))|0},q:function(r){r>>>=0;var a=new Date(S[r+20>>>2>>>0]+1900,S[r+16>>>2>>>0],S[r+12>>>2>>>0],S[r+8>>>2>>>0],S[r+4>>>2>>>0],S[r>>>2>>>0],0),s=S[r+32>>>2>>>0],c=a.getTimezoneOffset(),w=new Date(a.getFullYear(),6,1).getTimezoneOffset(),E=new Date(a.getFullYear(),0,1).getTimezoneOffset(),T=Math.min(E,w);return 0>s?S[r+32>>>2>>>0]=+(w!=E&&T==c):0<s!=(T==c)&&(w=Math.max(E,w),a.setTime(a.getTime()+6e4*((0<s?T:w)-c))),S[r+24>>>2>>>0]=a.getDay(),S[r+28>>>2>>>0]=(De(a.getFullYear())?et:lt)[a.getMonth()]+a.getDate()-1|0,S[r>>>2>>>0]=a.getSeconds(),S[r+4>>>2>>>0]=a.getMinutes(),S[r+8>>>2>>>0]=a.getHours(),S[r+12>>>2>>>0]=a.getDate(),S[r+16>>>2>>>0]=a.getMonth(),S[r+20>>>2>>>0]=a.getYear(),r=a.getTime(),isNaN(r)?(S[Be()>>>2>>>0]=61,r=-1):r/=1e3,nt((Ee=r,1<=+Math.abs(Ee)?0<Ee?+Math.floor(Ee/4294967296)>>>0:~~+Math.ceil((Ee-+(~~Ee>>>0))/4294967296)>>>0:0)),r>>>0},m:function(){return-52},n:function(){}
3201,w:function(r,a,s){function c(ie){return(ie=ie.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?ie[1]:"GMT"}s>>>=0;var w=new Date().getFullYear(),E=new Date(w,0,1),T=new Date(w,6,1);w=E.getTimezoneOffset();var H=T.getTimezoneOffset();Y[r>>>0>>>2>>>0]=60*Math.max(w,H),S[a>>>0>>>2>>>0]=+(w!=H),r=c(E),a=c(T),r=Le(r),a=Le(a),H<w?(Y[s>>>2>>>0]=r,Y[s+4>>>2>>>0]=a):(Y[s>>>2>>>0]=a,Y[s+4>>>2>>>0]=r)},d:()=>{F("")},D:function(r,a,s){r>>>=0,a>>>=0,s>>>=0,Ye.length=0;for(var c;c=ee[a++>>>0];){var w=c!=105;w&=c!=112,s+=w&&s%8?4:0,Ye.push(c==112?Y[s>>>2>>>0]:c==105?S[s>>>2>>>0]:Ue[s>>>3>>>0]),s+=w?8:4}return Se[r].apply(null,Ye)},g:()=>Date.now(),x:function(){return 4294901760},b:()=>performance.now(),H:function(r,a,s){return a>>>=0,ee.copyWithin(r>>>0>>>0,a>>>0,a+(s>>>0)>>>0)},v:function(r){r>>>=0;var a=ee.length;if(4294901760<r)return!1;for(var s=1;4>=s;s*=2){var c=a*(1+.2/s);c=Math.min(c,r+100663296);var w=Math;c=Math.max(r,c);e:{w=(w.min.call(w,4294901760,c+(65536-c%65536)%65536)-G.buffer.byteLength+65535)/65536;try{G.grow(w),Ie();var E=1;break e}catch{}E=void 0}if(E)return!0}return!1},F:function(r,a){r>>>=0,a>>>=0;var s=0;return Ve().forEach((c,w)=>{var E=a+s;for(w=Y[r+4*w>>>2>>>0]=E,E=0;E<c.length;++E)oe[w++>>>0>>>0]=c.charCodeAt(E);oe[w>>>0>>>0]=0,s+=c.length+1}),0},G:function(r,a){r>>>=0,a>>>=0;var s=Ve();Y[r>>>2>>>0]=s.length;var c=0;return s.forEach(w=>c+=w.length+1),Y[a>>>2>>>0]=c,0},f:()=>52,j:function(){return 52},r:function(){return 70},i:function(r,a,s,c){a>>>=0,s>>>=0,c>>>=0;for(var w=0,E=0;E<s;E++){var T=Y[a>>>2>>>0],H=Y[a+4>>>2>>>0];a+=8;for(var ie=0;ie<H;ie++){var ue=ee[T+ie>>>0],fe=ke[r];ue===0||ue===10?((r===1?_:N)(q(fe,0)),fe.length=0):fe.push(ue)}w+=H}return Y[c>>>2>>>0]=w,0},s:function(r,a){return r>>>=0,tt(ee.subarray(r>>>0,r+(a>>>0)>>>0)),0},t:rt,c:function(r,a,s,c){return rt(r>>
3201>0,a>>>0,s>>>0,c>>>0)},h:function(r,a,s,c){let w=be.length;r=new Uint8Array(ee.slice(r+a,r+s));try{var E=new WebAssembly.Module(r),T=new WebAssembly.Instance(E,{env:{memory:G}}),H;for(H in T.exports)C(T.exports[H]);return w<be.length?w:c}catch(ie){return console.log(ie),c}}},x=function(){function r(s){return x=s.exports,x=ht(),G=x.M,Ie(),be=x.sa,re.unshift(x.N),Ae--,Ae==0&&(_e!==null&&(clearInterval(_e),_e=null),ne&&(s=ne,ne=null,s())),x}var a={a:Je};if(Ae++,o.instantiateWasm)try{return o.instantiateWasm(a,r)}catch(s){N(`Module.instantiateWasm callback failed with error: ${s}`),l(s)}return Me(a,function(s){r(s.instance)}).catch(l),{}}();o._OrtInit=(r,a)=>(o._OrtInit=x.O)(r,a),o._OrtGetLastError=(r,a)=>(o._OrtGetLastError=x.P)(r,a),o._OrtCreateSessionOptions=(r,a,s,c,w,E,T,H,ie,ue)=>(o._OrtCreateSessionOptions=x.Q)(r,a,s,c,w,E,T,H,ie,ue),o._OrtAppendExecutionProvider=(r,a)=>(o._OrtAppendExecutionProvider=x.R)(r,a),o._OrtAddFreeDimensionOverride=(r,a,s)=>(o._OrtAddFreeDimensionOverride=x.S)(r,a,s),o._OrtAddSessionConfigEntry=(r,a,s)=>(o._OrtAddSessionConfigEntry=x.T)(r,a,s),o._OrtReleaseSessionOptions=r=>(o._OrtReleaseSessionOptions=x.U)(r),o._OrtCreateSession=(r,a,s)=>(o._OrtCreateSession=x.V)(r,a,s),o._OrtReleaseSession=r=>(o._OrtReleaseSession=x.W)(r),o._OrtGetInputOutputCount=(r,a,s)=>(o._OrtGetInputOutputCount=x.X)(r,a,s),o._OrtGetInputName=(r,a)=>(o._OrtGetInputName=x.Y)(r,a),o._OrtGetOutputName=(r,a)=>(o._OrtGetOutputName=x.Z)(r,a),o._OrtFree=r=>(o._OrtFree=x._)(r),o._OrtCreateTensor=(r,a,s,c,w,E)=>(o._OrtCreateTensor=x.$)(r,a,s,c,w,E),o._OrtGetTensorData=(r,a,s,c,w)=>(o._OrtGetTensorData=x.aa)(r,a,s,c,w),o._OrtReleaseTensor=r=>(o._OrtReleaseTensor=x.ba)(r),o._OrtCreateRunOptions=(r,a,s,c)=>(o._OrtCreateRunOptions=x.ca)(r,a,s,c),o._OrtAddRunConfigEntry=(r,a,s)=>(o._OrtAddRunConfigEntry=x.da)(r,a,s),o._OrtReleaseRunOptions=r=>(o._OrtReleaseRunOptions=x.ea)(r),o._OrtCreateBinding=r=>(o._OrtCreateBinding=x.fa)(r),o._OrtBindInput=(r,a,s)=>(o._OrtBindInput=x.ga)(r,a,s),o._OrtBindOutput=(r,a,s,c)=>(o._OrtBindOutput=x.ha)(r,a,s,c),o._OrtClearBoundOutputs=r=>(o._OrtClearBoundOutputs=x.ia)(r),o._OrtReleaseBinding=r=>(o._OrtReleaseBinding=x.ja)(r),o._OrtRunWithBinding=(r,a,s,c,w)=>(o._OrtRunWithBinding=x.ka)(r,a,s,c,w),o._OrtRun=(r,a,s,c,w,E,T,H)=>(o._OrtRun=x.la)(r,a,s,c,w,E,T,H),o._OrtEndProfiling=r=>(o._OrtEndProfiling=x.ma)(r),o._OrtConfigure=(r,a)=>(o._OrtConfigure=x.na)(r,a),o._OrtAuth=(r,a)=>(o._OrtAuth=x.oa)(r,a);var Be=()=>(Be=x.pa)(),ge=o._malloc=r=>(ge=o._malloc=x.qa)(r);o._free=r=>(o._free=x.ra)(r);var nt=r=>(nt=x.ta)(r),mt=()=>(mt=x.ua)(),at=r=>(at=x.va)(r),gt=r=>(gt=x.wa)(r);o.___start_em_js=882709,o.___stop_em_js=883321;function ht(){var r=x;r=Object.assign({},r);var a=c=>()=>c()>>>0,s=c=>w=>c(w)>>>0;return r.pa=a(r.pa),r.qa=s(r.qa),r.ua=a(r.ua),r.wa=s(r.wa),r}o.stackAlloc=gt,o.stackSave=mt,o.stackRestore=at,o.addFunction=C,o.UTF8ToString=se,o.stringToUTF8=(r,a,s)=>Re(r,ee,a,s),o.lengthBytesUTF8=ye;var $e;ne=function r(){$e||ot(),$e||(ne=r)};function ot(){if(!(0<Ae)){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;){var r=o.preRun.shift();ce.unshift(r)}for(;0<ce.length;)ce.shift()(o);if(!(0<Ae||$e||($e=!0,o.calledRun=!0,$))){for(;0<re.length;)re.shift()(o);for(p(o);0<Z.length;)Z.shift()(o)}}}return ot(),d.ready}})();typeof _r=="object"&&typeof It=="object"?It.exports=vr:typeof define=="function"&&define.amd&&define([],()=>vr)});var Sr=ut(()=>{});var Ar=ut(()=>{});var Tr={};vt(Tr,{cpus:()=>mn});var mn,Mr=Ot(()=>{mn=void 0});var Dr=ut((xr,Wt)=>{"use strict";var Cr=(()=>{var i=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(i=i||__filename),function(d={}){function o(){return Z.buffer!=F.buffer&&V(),F}function p(){return Z.buffer!=F.buffer&&V(),de}function l(){return Z.buffer!=F.buffer&&V(),we}function O(){return Z.buffer!=F.buffer&&V(),le}function h(){return Z.buffer!=F.buffer&&V(),Te}var u=d,A,D;u.ready=new Promise((e,t)=>{A=e,D=t});var R=Object.assign({},u),U="./this.program",L=(e,t)=>{throw t},te=typeof window=="object",B=typeof importScripts=="function",P=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",_=u.ENVIRONMENT_IS_PTHREAD||!1,N="";function G(e){return u.locateFile?u.locateFile(e,N):N+e}var $,oe,ee;if(P){var S=(Ut(),ze(Ft)),Y=(Lt(),ze(Rt));N=B?Y.dirname(N)+"/":__dirname+"/",$=(t,n)=>(t=se(t)?new URL(t):Y.normalize(t),S.readFileSync(t,n?void 0:"utf8")),ee=t=>(t=$(t,!0),t.buffer||(t=new Uint8Array(t)),t),oe=(t,n,f,y=!0)=>{t=se(t)?new URL(t):Y.normalize(t),S.readFile(t,y?void 0:"utf8",(b,v)=>{b?f(b):n(y?v.buffer:v)})},!u.thisProgram&&1<process.argv.length&&(U=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),L=(t,n)=>{throw process.exitCode=t,n},u.inspect=()=>"[Emscripten Module object]";let e;try{e=Sr()}catch(t){throw console.error(\'The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?\'),t}global.Worker=e.Worker}else(te||B)&&(B?N=self.location.href:typeof document<"u"&&document.currentScript&&(N=document.currentScript.src),typeof i<"u"&&i&&(N=i),N.indexOf("blob:")!==0?N=N.substr(0,N.replace(/[?#].*/,"").lastIndexOf("/")+1):N="",P||($=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},B&&(ee=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),oe=(e,t,n)=>{var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=()=>{f.status==200||f.status==0&&f.response?t(f.response):n()},f.onerror=n,f.send(null)}));P&&typeof performance>"u"&&(global.performance=Ar().performance);var Ue=console.log.bind(console),Ie=console.error.bind(console);P&&(Ue=(...e)=>S.writeSync(1,e.join(" ")+`\n`),Ie=(...e)=>S.writeSync(2,e.join(" ")+`\n`));var ce=Ue,re=Ie;Object.assign(u,R),R=null,typeof WebAssembly!="object"&&xe("no native wasm support detected");var Z,Ae,_e=!1,ne,F,de,we,le,Te;function V(){var e=Z.buffer;u.HEAP8=F=new Int8Array(e),u.HEAP16=new Int16Array(e),u.HEAPU8=de=new Uint8Array(e),u.HEAPU16=new Uint16Array(e),u.HEAP32=we=new Int32Array(e),u.HEAPU32
3201=le=new Uint32Array(e),u.HEAPF32=new Float32Array(e),u.HEAPF64=Te=new Float64Array(e)}var pe=16777216;if(_)Z=u.wasmMemory;else if(u.wasmMemory)Z=u.wasmMemory;else if(Z=new WebAssembly.Memory({initial:pe/65536,maximum:65536,shared:!0}),!(Z.buffer instanceof SharedArrayBuffer))throw re("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),P&&re("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");V(),pe=Z.buffer.byteLength;var Ne=[],Me=[],Ee=[],Se=0,He=null,me=null;function Ce(){if(Se--,Se==0&&(He!==null&&(clearInterval(He),He=null),me)){var e=me;me=null,e()}}function xe(e){throw e="Aborted("+e+")",re(e),_e=!0,ne=1,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),D(e),e}var q=e=>e.startsWith("data:application/octet-stream;base64,"),se=e=>e.startsWith("file://"),ye;ye="ort-wasm-threaded.wasm",q(ye)||(ye=G(ye));function Re(e){if(ee)return ee(e);throw"both async and sync fetching of the wasm failed"}function De(e){if(te||B){if(typeof fetch=="function"&&!se(e))return fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw"failed to load wasm binary file at \'"+e+"\'";return t.arrayBuffer()}).catch(()=>Re(e));if(oe)return new Promise((t,n)=>{oe(e,f=>t(new Uint8Array(f)),n)})}return Promise.resolve().then(()=>Re(e))}function et(e,t,n){return De(e).then(f=>WebAssembly.instantiate(f,t)).then(f=>f).then(n,f=>{re(`failed to asynchronously prepare wasm: ${f}`),xe(f)})}function lt(e,t){var n=ye;return typeof WebAssembly.instantiateStreaming!="function"||q(n)||se(n)||P||typeof fetch!="function"?et(n,e,t):fetch(n,{credentials:"same-origin"}).then(f=>WebAssembly.instantiateStreaming(f,e).then(t,function(y){return re(`wasm streaming compile failed: ${y}`),re("falling back to ArrayBuffer instantiation"),et(n,e,t)}))}var Le,Ye={886596:(e,t,n,f)=>{if(typeof u>"u"||!u.hb)return 1;if(e=Ge(e>>>0),e.startsWith("./")&&(e=e.substring(2)),e=u.hb.get(e),!e)return 2;if(t>>>=0,n>>>=0,f>>>=0,t+n>e.byteLength)return 3;try{return p().set(e.subarray(t,t+n),f>>>0),0}catch{return 4}}};function We(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var Ve=e=>{e.terminate(),e.onmessage=()=>{}},qe=e=>{C.Ta.length==0&&(Pe(),C.bb(C.Ta[0]));var t=C.Ta.pop();if(!t)return 6;C.Ua.push(t),C.Qa[e.Sa]=t,t.Sa=e.Sa;var n={cmd:"run",start_routine:e.ob,arg:e.lb,pthread_ptr:e.Sa};return P&&t.unref(),t.postMessage(n,e.ub),0},ke=0,ct=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,tt=(e,t,n)=>{t>>>=0;var f=t+n;for(n=t;e[n]&&!(n>=f);)++n;if(16<n-t&&e.buffer&&ct)return ct.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,n):e.subarray(t,n));for(f="";t<n;){var y=e[t++];if(y&128){var b=e[t++]&63;if((y&224)==192)f+=String.fromCharCode((y&31)<<6|b);else{var v=e[t++]&63;y=(y&240)==224?(y&15)<<12|b<<6|v:(y&7)<<18|b<<12|v<<6|e[t++]&63,65536>y?f+=String.fromCharCode(y):(y-=65536,f+=String.fromCharCode(55296|y>>10,56320|y&1023))}}else f+=String.fromCharCode(y)}return f},Ge=(e,t)=>(e>>>=0)?tt(p(),e,t):"",dt=e=>{var t=Ct();return e=e(),bt(t),e};function j(e,t){var n=arguments.length-2,f=arguments;return dt(()=>{for(var y=xt(8*n),b=y>>>3,v=0;v<n;v++){var I=f[2+v];h()[b+v>>>0]=I}return dr(e,n,y,t)})}function rt(e){if(_)return j(0,1,e);ne=e,0<ke||(C.pb(),u.onExit?.(e),_e=!0),L(e,new We(e))}var Fe=e=>{if(ne=e,_)throw x(e),"unwind";rt(e)};function be(){for(var e=u.numThreads;e--;)Pe();Ne.unshift(()=>{Se++,pt(()=>Ce())})}function Pe(){var e=G("ort-wasm-threaded.worker.js");e=new Worker(e),C.Ta.push(e)}function pt(e){_?e():Promise.all(C.Ta.map(C.bb)).then(e)}var C={Ta:[],Ua:[],gb:[],Qa:{},$a(){_?(C.receiveObjectTransfer=C.nb,C.threadInitTLS=C.fb,C.setExitStatus=C.eb):be()},eb:e=>ne=e,xb:["$terminateWorker"],pb:()=>{for(var e of C.Ua)Ve(e);for(e of C.Ta)Ve(e);C.Ta=[],C.Ua=[],C.Qa=[]},cb:e=>{var t=e.Sa;delete C.Qa[t],C.Ta.push(e),C.Ua.splice(C.Ua.indexOf(e),1),e.Sa=0,Tt(t)},nb(){}
3201,fb(){C.gb.forEach(e=>e())},bb:e=>new Promise(t=>{e.onmessage=b=>{b=b.data;var v=b.cmd;if(b.targetThread&&b.targetThread!=yt()){var I=C.Qa[b.targetThread];I?I.postMessage(b,b.transferList):re(`Internal error! Worker sent a message "${v}" to target pthread ${b.targetThread}, but that thread no longer exists!`)}else v==="checkMailbox"?Oe():v==="spawnThread"?qe(b):v==="cleanupThread"?C.cb(C.Qa[b.thread]):v==="killThread"?(b=b.thread,v=C.Qa[b],delete C.Qa[b],Ve(v),Tt(b),C.Ua.splice(C.Ua.indexOf(v),1),v.Sa=0):v==="cancelThread"?C.Qa[b.thread].postMessage({cmd:"cancel"}):v==="loaded"?(e.loaded=!0,P&&!e.Sa&&e.unref(),t(e)):v==="alert"?alert(`Thread ${b.threadId}: ${b.text}`):b.target==="setimmediate"?e.postMessage(b):v==="callHandler"?u[b.handler](...b.args):v&&re(`worker sent an unknown command ${v}`)},e.onerror=b=>{throw re(`worker sent an error! ${b.filename}:${b.lineno}: ${b.message}`),b},P&&(e.on("message",b=>e.onmessage({data:b})),e.on("error",b=>e.onerror(b)));var n=[],f=["onExit"],y;for(y of f)u.hasOwnProperty(y)&&n.push(y);e.postMessage({cmd:"load",handlers:n,urlOrBlob:u.mainScriptUrlOrBlob||i,wasmMemory:Z,wasmModule:Ae})})};u.PThread=C;var Je=e=>{for(;0<e.length;)e.shift()(u)};u.establishStackSpace=()=>{var e=yt(),t=O()[e+52>>>2>>>0];e=O()[e+56>>>2>>>0],gr(t,t-e),bt(t)};function x(e){if(_)return j(1,0,e);Fe(e)}var Be=[],ge,nt=e=>{var t=Be[e];return t||(e>=Be.length&&(Be.length=e+1),Be[e]=t=ge.get(e)),t};u.invokeEntryPoint=(e,t)=>{e=nt(e)(t),0<ke?C.eb(e):Mt(e)};function mt(e){this.Za=e-24,this.kb=function(t){O()[this.Za+4>>>2>>>0]=t},this.jb=function(t){O()[this.Za+8>>>2>>>0]=t},this.$a=function(t,n){this.ib(),this.kb(t),this.jb(n)},this.ib=function(){O()[this.Za+16>>>2>>>0]=0}}var at=0,gt=0;function ht(e,t,n,f){return _?j(2,1,e,t,n,f):$e(e,t,n,f)}function $e(e,t,n,f){if(e>>>=0,t>>>=0,n>>>=0,f>>>=0,typeof SharedArrayBuffer>"u")return re("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var y=[];return _&&y.length===0?ht(e,t,n,f):(e={ob:n,Sa:e,lb:f,ub:y},_?(e.wb="spawnThread",postMessage(e,y),0):qe(e))}function ot(e,t,n){return _?j(3,1,e,t,n):0}function r(e,t){if(_)return j(4,1,e,t)}var a=e=>{for(var t=0,n=0;n<e.length;++n){var f=e.charCodeAt(n);127>=f?t++:2047>=f?t+=2:55296<=f&&57343>=f?(t+=4,++n):t+=3}return t},s=(e,t,n,f)=>{if(n>>>=0,!(0<f))return 0;var y=n;f=n+f-1;for(var b=0;b<e.length;++b){var v=e.charCodeAt(b);if(55296<=v&&57343>=v){var I=e.charCodeAt(++b);v=65536+((v&1023)<<10)|I&1023}if(127>=v){if(n>=f)break;t[n++>>>0]=v}else{if(2047>=v){if(n+1>=f)break;t[n++>>>0]=192|v>>6}else{if(65535>=v){if(n+2>=f)break;t[n++>>>0]=224|v>>12}else{if(n+3>=f)break;t[n++>>>0]=240|v>>18,t[n++>>>0]=128|v>>12&63}t[n++>>>0]=128|v>>6&63}t[n++>>>0]=128|v&63}}return t[n>>>0]=0,n-y},c=(e,t,n)=>s(e,p(),t,n);function w(e,t){if(_)return j(5,1,e,t)}function E(e,t,n){if(_)return j(6,1,e,t,n)}function T(e,t,n){return _?j(7,1,e,t,n):0}function H(e,t){if(_)return j(8,1,e,t)}function ie(e,t,n){if(_)return j(9,1,e,t,n)}function ue(e,t,n,f){if(_)return j(10,1,e,t,n,f)}function fe(e,t,n,f){if(_)return j(11,1,e,t,n,f)}function st(e,t,n,f){if(_)return j(12,1,e,t,n,f)}function it(e){if(_)return j(13,1,e)}function m(e,t){if(_)return j(14,1,e,t)}function W(e,t,n){if(_)return j(15,1,e,t,n)}function z(e){e>>>=0,typeof Atomics.vb=="function"&&(Atomics.vb(l(),e>>>2,e).value.then(Oe),e+=128,Atomics.store(l(),e>>>2,1))}u.__emscripten_thread_mailbox_await=z;var Oe=()=>{var e=yt();if(e&&(z(e),e=pr,!_e))try{if(e(),!(0<ke))try{_?Mt(ne):Fe(ne)}catch(t){t instanceof We||t=="unwind"||L(1,t)}}catch(t){t instanceof We||t=="unwind"||L(1,t)}};u.checkMailbox=Oe;var Xe=[],Qe=e=>e%4===0&&(e%100!==0||e%400===0),zt=[0,31,60,91,121,152,182,213,244,274,305,335],Yt=[0,31,59,90,120,151,181,212,243,273,304,334];function Vt(e,t,n,f,y,b,v,I){return _?j(16,1,e,t,n,f,y,b,v,I):-52}function qt(e,t,n,f,y,b,v){if(_)return j(17,1,e,t,n,f,y,b,v)}var Jt=e=>{var t=a(e)+1,n=lr(t);return n&&c(e,n,t),n},Et=[],St={},Xt=()=>{if(!At){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"},t;for(t in St)St[t]===void 0?delete e[t]:e[t]=St[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);At=n}return At},At;function Qt(e,t){if(_)return j(18,1,e,t);e>>>=0,t>>>=0;var n=0;
3201return Xt().forEach((f,y)=>{var b=t+n;for(y=O()[e+4*y>>>2>>>0]=b,b=0;b<f.length;++b)o()[y++>>>0>>>0]=f.charCodeAt(b);o()[y>>>0>>>0]=0,n+=f.length+1}),0}function Zt(e,t){if(_)return j(19,1,e,t);e>>>=0,t>>>=0;var n=Xt();O()[e>>>2>>>0]=n.length;var f=0;return n.forEach(y=>f+=y.length+1),O()[t>>>2>>>0]=f,0}function Kt(e){return _?j(20,1,e):52}function er(e,t,n,f){return _?j(21,1,e,t,n,f):52}function tr(e,t,n,f,y){return _?j(22,1,e,t,n,f,y):70}var Zr=[null,[],[]];function rr(e,t,n,f){if(_)return j(23,1,e,t,n,f);t>>>=0,n>>>=0,f>>>=0;for(var y=0,b=0;b<n;b++){var v=O()[t>>>2>>>0],I=O()[t+4>>>2>>>0];t+=8;for(var ve=0;ve<I;ve++){var ae=p()[v+ve>>>0],he=Zr[e];ae===0||ae===10?((e===1?ce:re)(tt(he,0)),he.length=0):he.push(ae)}y+=I}return O()[f>>>2>>>0]=y,0}var Kr=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return n=>(n.set(crypto.getRandomValues(new Uint8Array(n.byteLength))),n);if(P)try{var e=(Bt(),ze(Pt));if(e.randomFillSync)return n=>e.randomFillSync(n);var t=e.randomBytes;return n=>(n.set(t(n.byteLength)),n)}catch{}xe("initRandomDevice")},nr=e=>(nr=Kr())(e),ar=[31,29,31,30,31,30,31,31,30,31,30,31],or=[31,28,31,30,31,30,31,31,30,31,30,31];function en(e){var t=Array(a(e)+1);return s(e,t,0,t.length),t}var tn=(e,t)=>{o().set(e,t>>>0)};function sr(e,t,n,f){function y(g,k,K){for(g=typeof g=="number"?g.toString():g||"";g.length<k;)g=K[0]+g;return g}function b(g,k){return y(g,k,"0")}function v(g,k){function K(wr){return 0>wr?-1:0<wr?1:0}var je;return(je=K(g.getFullYear()-k.getFullYear()))===0&&(je=K(g.getMonth()-k.getMonth()))===0&&(je=K(g.getDate()-k.getDate())),je}function I(g){switch(g.getDay()){case 0:return new Date(g.getFullYear()-1,11,29);case 1:return g;case 2:return new Date(g.getFullYear(),0,3);case 3:return new Date(g.getFullYear(),0,2);case 4:return new Date(g.getFullYear(),0,1);case 5:return new Date(g.getFullYear()-1,11,31);case 6:return new Date(g.getFullYear()-1,11,30)}}function ve(g){var k=g.Va;for(g=new Date(new Date(g.Wa+1900,0,1).getTime());0<k;){var K=g.getMonth(),je=(Qe(g.getFullYear())?ar:or)[K];if(k>je-g.getDate())k-=je-g.getDate()+1,g.setDate(1),11>K?g.setMonth(K+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else{g.setDate(g.getDate()+k);break}}return K=new Date(g.getFullYear()+1,0,4),k=I(new Date(g.getFullYear(),0,4)),K=I(K),0>=v(k,g)?0>=v(K,g)?g.getFullYear()+1:g.getFullYear():g.getFullYear()-1}e>>>=0,t>>>=0,n>>>=0,f>>>=0;var ae=O()[f+40>>>2>>>0];f={sb:l()[f>>>2>>>0],rb:l()[f+4>>>2>>>0],Xa:l()[f+8>>>2>>>0],ab:l()[f+12>>>2>>>0],Ya:l()[f+16>>>2>>>0],Wa:l()[f+20>>>2>>>0],Ra:l()[f+24>>>2>>>0],Va:l()[f+28>>>2>>>0],yb:l()[f+32>>>2>>>0],qb:l()[f+36>>>2>>>0],tb:ae?Ge(ae):""},n=Ge(n),ae={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var he in ae)n=n.replace(new RegExp(he,"g"),ae[he]);var yr="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),br="January February March April May June July August September October November December".split(" ");ae={"%a":g=>yr[g.Ra].substring(0,3),"%A":g=>yr[g.Ra],"%b":g=>br[g.Ya].substring(0,3),"%B":g=>br[g.Ya],"%C":g=>b((g.Wa+1900)/100|0,2),"%d":g=>b(g.ab,2),"%e":g=>y(g.ab,2," "),"%g":g=>ve(g).toString().substring(2),"%G":g=>ve(g),"%H":g=>b(g.Xa,2),"%I":g=>(g=g.Xa,g==0?g=12:12<g&&(g-=12),b(g,2)),"%j":g=>{for(var k=0,K=0;K<=g.Ya-1;k+=(Qe(g.Wa+1900)?ar:or)[K++]);return b(g.ab+k,3)},"%m":g=>b(g.Ya+1,2),"%M":g=>b(g.rb,2),"%n":()=>`\n`,"%p":g=>0<=g.Xa&&12>g.Xa?"AM":"PM","%S":g=>b(g.sb,2),"%t":()=>"	","%u":g=>g.Ra||7,"%U":g=>b(Math.floor((g.Va+7-g.Ra)/7),2),"%V":g=>{var k=Math.floor((g.Va+7-(g.Ra+6)%7)/7);if(2>=(g.Ra+371-g.Va-2)%7&&k++,k)k==53&&(K=(g.Ra+371-g.Va)%7,K==4||K==3&&Qe(g.Wa)||(k=1));else{k=52;var K=(g.Ra+7-g.Va-1)%7;(K==4||K==5&&Qe(g.Wa%400-1))&&k++}return b(k,2)},"%w":g=>g.Ra,"%W":g=>b(Math.floor((g.Va+7-(g.Ra+6)%7)/7),2),"%y":g=>(g.Wa+1900).toString().substring(2),"%Y":g=>g.Wa+1900,"%z":g=>{g=g.qb;var k=0<=g;return g=Math.abs(g)/60,(k?"+":"-")+("0000"+(g/60*100+g%60)).slice(-4)},"%Z":g=>g.tb,"%%":()=>"%"},n=n.replace(/%%/g,"\\0\\0");for(he in ae)n.includes(he)&&(n=n.replace(new RegExp(he,"g"),ae[he](f)));return n=n.replace(/\\0\\0/g,"%"),he=en(n),he.length>t?0:(tn(he,e),he.length-1)}var Ze,ir=[],ur=(e,t)=>
3201{if(!Ze){Ze=new WeakMap;var n=ge.length;if(Ze)for(var f=0;f<0+n;f++){var y=nt(f);y&&Ze.set(y,f)}}if(n=Ze.get(e)||0)return n;if(ir.length)n=ir.pop();else{try{ge.grow(1)}catch(I){throw I instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":I}n=ge.length-1}try{f=n,ge.set(f,e),Be[f]=ge.get(f)}catch(I){if(!(I instanceof TypeError))throw I;if(typeof WebAssembly.Function=="function"){f=WebAssembly.Function,y={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};for(var b={parameters:[],results:t[0]=="v"?[]:[y[t[0]]]},v=1;v<t.length;++v)b.parameters.push(y[t[v]]);t=new f(b,e)}else{for(f=[1],y=t.slice(0,1),t=t.slice(1),b={i:127,p:127,j:126,f:125,d:124,e:111},f.push(96),v=t.length,128>v?f.push(v):f.push(v%128|128,v>>7),v=0;v<t.length;++v)f.push(b[t[v]]);y=="v"?f.push(0):f.push(1,b[y]),t=[0,97,115,109,1,0,0,0,1],y=f.length,128>y?t.push(y):t.push(y%128|128,y>>7),t.push.apply(t,f),t.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(new Uint8Array(t)),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f}f=n,ge.set(f,t),Be[f]=ge.get(f)}return Ze.set(e,n),n};C.$a();var rn=[rt,x,ht,ot,r,w,E,T,H,ie,ue,fe,st,it,m,W,Vt,qt,Qt,Zt,Kt,er,tr,rr],nn={b:function(e,t,n){throw e>>>=0,new mt(e).$a(t>>>0,n>>>0),at=e,gt++,at},O:function(e){cr(e>>>0,!B,1,!te,131072,!1),C.fb()},m:function(e){e>>>=0,_?postMessage({cmd:"cleanupThread",thread:e}):C.cb(C.Qa[e])},J:$e,h:ot,U:r,F:w,H:E,y:T,S:H,L:ie,R:ue,o:fe,G:st,D:it,T:m,E:W,p:()=>1,B:function(e,t){e>>>=0,e==t>>>0?setTimeout(()=>Oe()):_?postMessage({targetThread:e,cmd:"checkMailbox"}):(e=C.Qa[e])&&e.postMessage({cmd:"checkMailbox"})},K:function(e,t,n,f){t>>>=0,Xe.length=n,f=f>>>0>>>3;for(var y=0;y<n;y++)Xe[y]=h()[f+y>>>0];return e=0>e?Ye[-e-1]:rn[e],C.mb=t,t=e.apply(null,Xe),C.mb=0,t},M:z,W:function(e){P&&C.Qa[e>>>0].ref()},s:function(e,t,n){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,n>>>=0,e=new Date(1e3*e),l()[n>>>2>>>0]=e.getUTCSeconds(),l()[n+4>>>2>>>0]=e.getUTCMinutes(),l()[n+8>>>2>>>0]=e.getUTCHours(),l()[n+12>>>2>>>0]=e.getUTCDate(),l()[n+16>>>2>>>0]=e.getUTCMonth(),l()[n+20>>>2>>>0]=e.getUTCFullYear()-1900,l()[n+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,l()[n+28>>>2>>>0]=e},t:function(e,t,n){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,n>>>=0,e=new Date(1e3*e),l()[n>>>2>>>0]=e.getSeconds(),l()[n+4>>>2>>>0]=e.getMinutes(),l()[n+8>>>2>>>0]=e.getHours(),l()[n+12>>>2>>>0]=e.getDate(),l()[n+16>>>2>>>0]=e.getMonth(),l()[n+20>>>2>>>0]=e.getFullYear()-1900,l()[n+24>>>2>>>0]=e.getDay(),t=(Qe(e.getFullYear())?zt:Yt)[e.getMonth()]+e.getDate()-1|0,l()[n+28>>>2>>>0]=t,l()[n+36>>>2>>>0]=-(60*e.getTimezoneOffset()),t=new Date(e.getFullYear(),6,1).getTimezoneOffset();var f=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=(t!=f&&e.getTimezoneOffset()==Math.min(f,t))|0,l()[n+32>>>2>>>0]=e},u:function(e){e>>>=0;var t=new Date(l()[e+20>>>2>>>0]+1900,l()[e+16>>>2>>>0],l()[e+12>>>2>>>0],l()[e+8>>>2>>>0],l()[e+4>>>2>>>0],l()[e>>>2>>>0],0),n=l()[e+32>>>2>>>0],f=t.getTimezoneOffset(),y=new Date(t.getFullYear(),6,1).getTimezoneOffset(),b=new Date(t.getFullYear(),0,1).getTimezoneOffset(),v=Math.min(b,y);return 0>n?l()[e+32>>>2>>>0]=+(y!=b&&v==f):0<n!=(v==f)&&(y=Math.max(b,y),t.setTime(t.getTime()+6e4*((0<n?v:y)-f))),l()[e+24>>>2>>>0]=t.getDay(),n=(Qe(t.getFullYear())?zt:Yt)[t.getMonth()]+t.getDate()-1|0,l()[e+28>>>2>>>0]=n,l()[e>>>2>>>0]=t.getSeconds(),l()[e+4>>>2>>>0]=t.getMinutes(),l()[e+8>>>2>>>0]=t.getHours(),l()[e+12>>>2>>>0]=t.getDate(),l()[e+16>>>2>>>0]=t.getMonth(),l()[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),isNaN(e)?(l()[fr()>>>2>>>0]=61,e=-1):e/=1e3,mr((Le=e,1<=+Math.abs(Le)?0<Le?+Math.floor(Le/4294967296)>>>0:~~+Math.ceil((Le-+(~~Le>>>0))/4294967296)>>>0:0)),e>>>0},q:Vt,r:qt,A:function(e,t,n){function f(ae){return(ae=ae.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?ae[1]:"GMT"}e>>>=0,t>>>=0,n>>>=0;var y=new Date().getFullYear(),b=new Date(y,0,1),v=new Date(y,6,1);y=b.getTimezoneOffset();var I=v.getTimezoneOffset(),ve=Math.max(y,I);O()[e>>>2>>>0]=60*ve,l()[t>>>2>>>0]=+(y!=I),e=f(b),t=f(v),e=Jt(e),t=Jt(t),I<y?(O()[n>>>2>>>0]=e,O()[n+4>>>2>>>0]=t):(O()[n>>>2>>>0]=t,O()[n+4>>>2>>>0]=e)},c:()=>{xe("")},N:function(e,t,n){e>>>=0,t>>>=0,n>>>=0,Et.length=0;for(var f;f=p()[t++>>>0];){var y=f!=105;y&=f!=112,n+=y&&n%8?4:0,Et.push(f==112?O()[n>>>2>>>0]:f==105?l()[n>>>2>>>0]:h()[n>>>3>>>0]),n+=y?8:4}return Ye[e].apply(null,Et)},n:()=>{},i:()=>Date.now(),V:()=>{throw ke+=1,"unwind"},C:function(){return 4294901760},e:()=>performance.timeOrigin+performance.now(),f:()=>P?(Mr(),ze(Tr)).cpus().length:navigator.hardwareConcurrency,z:function(e){e>>>=0;var t=p().length;if(e<=t||4294901760<e)return!1;for(var n=1;4>=n;n*=2){var f=t*(1+.2/n);f=Math.min(f,e+100663296);var y=Math;f=Math.max(e,f);e:{y=(y.min.call(y,4294901760,f+(65536-f%65536)%65536)-Z.buffer.byteLength+65535)/65536;try{Z.grow(y),V();var b=1;break e}catch{}b=void 0}if(b)return!0}return!1},P:Qt,Q:Zt,I:Fe,g:Kt,l:er,v:tr,k:rr,w:function(e,t){return e>>>=0,t>>>=0,nr(p().subarray(e>>>0,e+t>>>0)),0},a:Z||u.wasmMemory,x:sr,d:function(e,t,n,f){return sr(e>>>0,t>>>0,n>>>0,f>>>0)},j:function(e,t,n,f){let y=ge.length;
3201e=new Uint8Array(p().slice(e+t,e+n));try{var b=new WebAssembly.Module(e),v=new WebAssembly.Instance(b,{env:{memory:Z}}),I;for(I in v.exports)ur(v.exports[I]);return y<ge.length?y:f}catch(ve){return console.log(ve),f}}},M=function(){function e(n,f){return M=n.exports,M=an(),C.gb.push(M.Da),ge=M.Ea,Me.unshift(M.X),Ae=f,Ce(),M}var t={a:nn};if(Se++,u.instantiateWasm)try{return u.instantiateWasm(t,e)}catch(n){re(`Module.instantiateWasm callback failed with error: ${n}`),D(n)}return lt(t,function(n){e(n.instance,n.module)}).catch(D),{}}();u._OrtInit=(e,t)=>(u._OrtInit=M.Y)(e,t),u._OrtGetLastError=(e,t)=>(u._OrtGetLastError=M.Z)(e,t),u._OrtCreateSessionOptions=(e,t,n,f,y,b,v,I,ve,ae)=>(u._OrtCreateSessionOptions=M._)(e,t,n,f,y,b,v,I,ve,ae),u._OrtAppendExecutionProvider=(e,t)=>(u._OrtAppendExecutionProvider=M.$)(e,t),u._OrtAddFreeDimensionOverride=(e,t,n)=>(u._OrtAddFreeDimensionOverride=M.aa)(e,t,n),u._OrtAddSessionConfigEntry=(e,t,n)=>(u._OrtAddSessionConfigEntry=M.ba)(e,t,n),u._OrtReleaseSessionOptions=e=>(u._OrtReleaseSessionOptions=M.ca)(e),u._OrtCreateSession=(e,t,n)=>(u._OrtCreateSession=M.da)(e,t,n),u._OrtReleaseSession=e=>(u._OrtReleaseSession=M.ea)(e),u._OrtGetInputOutputCount=(e,t,n)=>(u._OrtGetInputOutputCount=M.fa)(e,t,n),u._OrtGetInputName=(e,t)=>(u._OrtGetInputName=M.ga)(e,t),u._OrtGetOutputName=(e,t)=>(u._OrtGetOutputName=M.ha)(e,t),u._OrtFree=e=>(u._OrtFree=M.ia)(e),u._OrtCreateTensor=(e,t,n,f,y,b)=>(u._OrtCreateTensor=M.ja)(e,t,n,f,y,b),u._OrtGetTensorData=(e,t,n,f,y)=>(u._OrtGetTensorData=M.ka)(e,t,n,f,y),u._OrtReleaseTensor=e=>(u._OrtReleaseTensor=M.la)(e),u._OrtCreateRunOptions=(e,t,n,f)=>(u._OrtCreateRunOptions=M.ma)(e,t,n,f),u._OrtAddRunConfigEntry=(e,t,n)=>(u._OrtAddRunConfigEntry=M.na)(e,t,n),u._OrtReleaseRunOptions=e=>(u._OrtReleaseRunOptions=M.oa)(e),u._OrtCreateBinding=e=>(u._OrtCreateBinding=M.pa)(e),u._OrtBindInput=(e,t,n)=>(u._OrtBindInput=M.qa)(e,t,n),u._OrtBindOutput=(e,t,n,f)=>(u._OrtBindOutput=M.ra)(e,t,n,f),u._OrtClearBoundOutputs=e=>(u._OrtClearBoundOutputs=M.sa)(e),u._OrtReleaseBinding=e=>(u._OrtReleaseBinding=M.ta)(e),u._OrtRunWithBinding=(e,t,n,f,y)=>(u._OrtRunWithBinding=M.ua)(e,t,n,f,y),u._OrtRun=(e,t,n,f,y,b,v,I)=>(u._OrtRun=M.va)(e,t,n,f,y,b,v,I),u._OrtEndProfiling=e=>(u._OrtEndProfiling=M.wa)(e),u._OrtConfigure=(e,t)=>(u._OrtConfigure=M.xa)(e,t),u._OrtAuth=(e,t)=>(u._OrtAuth=M.ya)(e,t);var fr=()=>(fr=M.za)(),yt=u._pthread_self=()=>(yt=u._pthread_self=M.Aa)(),lr=u._malloc=e=>(lr=u._malloc=M.Ba)(e);u._free=e=>(u._free=M.Ca)(e),u.__emscripten_tls_init=()=>(u.__emscripten_tls_init=M.Da)();var cr=u.__emscripten_thread_init=(e,t,n,f,y,b)=>(cr=u.__emscripten_thread_init=M.Fa)(e,t,n,f,y,b);u.__emscripten_thread_crashed=()=>(u.__emscripten_thread_crashed=M.Ga)();var dr=(e,t,n,f)=>(dr=M.Ha)(e,t,n,f),Tt=e=>(Tt=M.Ia)(e),Mt=u.__emscripten_thread_exit=e=>(Mt=u.__emscripten_thread_exit=M.Ja)(e),pr=()=>(pr=M.Ka)(),mr=e=>(mr=M.La)(e),gr=(e,t)=>(gr=M.Ma)(e,t),Ct=()=>(Ct=M.Na)(),bt=e=>(bt=M.Oa)(e),xt=e=>(xt=M.Pa)(e);u.___start_em_js=887097,u.___stop_em_js=887709;function an(){var e=M;e=Object.assign({},e);var t=f=>()=>f()>>>0,n=f=>y=>f(y)>>>0;return e.za=t(e.za),e.Aa=t(e.Aa),e.Ba=n(e.Ba),e.emscripten_main_runtime_thread_id=t(e.emscripten_main_runtime_thread_id),e.Na=t(e.Na),e.Pa=n(e.Pa),e}u.wasmMemory=Z,u.stackAlloc=xt,u.stackSave=Ct,u.stackRestore=bt,u.keepRuntimeAlive=()=>0<ke,u.addFunction=ur,u.UTF8ToString=Ge,u.stringToUTF8=c,u.lengthBytesUTF8=a,u.ExitStatus=We,u.PThread=C;var wt;me=function e(){wt||hr(),wt||(me=e)};function hr(){if(!(0<Se))if(_)A(u),_||Je(Me),startWorker(u);else{if(u.preRun)for(typeof u.preRun=="function"&&(u.preRun=[u.preRun]);u.preRun.length;)Ne.unshift(u.preRun.shift());Je(Ne),0<Se||wt||(wt=!0,u.calledRun=!0,_e||(_||Je(Me),A(u),_||Je(Ee)))}}return hr(),d.ready}})();typeof xr=="object"&&typeof Wt=="object"?Wt.exports=Cr:typeof define=="function"&&define.amd&&define([],()=>Cr)});var Fr=ut((Un,gn)=>{gn.exports=\'"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.
3201ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\\n\'});var Rr;Rr=Er();var hn=Dr(),Nt,Ht=!1,_t=!1,Ur=!1,yn=i=>{if(i===1)return!1;if(typeof SharedArrayBuffer>"u")return typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+i+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;typeof process<"u"&&process.versions&&process.versions.node&&console.warn("env.wasm.numThreads is set to "+i+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},bn=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},wn=(i,d)=>i?d?"ort-wasm-simd-threaded.wasm":"ort-wasm-simd.wasm":d?"ort-wasm-threaded.wasm":"ort-wasm.wasm",Lr=async i=>{if(Ht)return Promise.resolve();if(_t)throw new Error("multiple calls to \'initializeWebAssembly()\' detected.");if(Ur)throw new Error("previous call to \'initializeWebAssembly()\' failed.");_t=!0;let d=i.initTimeout,o=i.numThreads,p=i.simd,l=yn(o),O=p&&bn(),h=i.wasmPaths,u=typeof h=="string"?h:void 0,A=wn(O,l),D=typeof h=="object"?h[A]:void 0,R=!1,U=[];if(d>0&&U.push(new Promise(L=>{setTimeout(()=>{R=!0,L()},d)})),U.push(new Promise((L,te)=>{let B=l?hn:Rr,P={locateFile:(_,N)=>l&&_.endsWith(".worker.js")&&typeof Blob<"u"?URL.createObjectURL(new Blob([Fr()],{type:"text/javascript"})):_.endsWith(".wasm")?D||(u??N)+A:N+_};if(l)if(P.numThreads=o,typeof Blob>"u")P.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js");else{let _=`var ortWasmThreaded=${B.toString()};`;P.mainScriptUrlOrBlob=new Blob([_],{type:"text/javascript"})}B(P).then(_=>{_t=!1,Ht=!0,Nt=_,L()},_=>{_t=!1,Ur=!0,te(_)})})),await Promise.race(U),R)throw new Error(`WebAssembly backend initializing failed due to timeout: ${d}ms`)},J=()=>{if(Ht&&Nt)return Nt;throw new Error("WebAssembly is not initialized yet.")};var X=(i,d)=>{let o=J(),p=o.lengthBytesUTF8(i)+1,l=o._malloc(p);return o.stringToUTF8(i,l,p),d.push(l),l},ft=(i,d,o,p)=>{if(typeof i=="object"&&i!==null){if(o.has(i))throw new Error("Circular reference in options");o.add(i)}Object.entries(i).forEach(([l,O])=>{let h=d?d+l:l;if(typeof O=="object")ft(O,h+".",o,p);else if(typeof O=="string"||typeof O=="number")p(h,O.toString());else if(typeof O=="boolean")p(h,O?"1":"0");else throw new Error(`Can\'t handle extra config type: ${typeof O}`)})},Q=i=>{let d=J(),o=d.stackSave();try{let p=d.stackAlloc(8);d._OrtGetLastError(p,p+4);let l=d.HEAP32[p/4],O=d.HEAPU32[p/4+1],h=O?d.UTF8ToString(O):"";throw new Error(`${i} ERROR_CODE: ${l}, ERROR_MESSAGE: ${h}`)}finally{d.stackRestore(o)}};var Pr=i=>{let d=J(),o=0,p=[],l=i||{};try{if(i?.logSeverityLevel===void 0)l.logSeverityLevel=2;else if(typeof i.logSeverityLevel!="number"||!Number.isInteger(i.logSeverityLevel)||i.logSeverityLevel<0||i.logSeverityLevel>
32014)throw new Error(`log serverity level is not valid: ${i.logSeverityLevel}`);if(i?.logVerbosityLevel===void 0)l.logVerbosityLevel=0;else if(typeof i.logVerbosityLevel!="number"||!Number.isInteger(i.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${i.logVerbosityLevel}`);i?.terminate===void 0&&(l.terminate=!1);let O=0;return i?.tag!==void 0&&(O=X(i.tag,p)),o=d._OrtCreateRunOptions(l.logSeverityLevel,l.logVerbosityLevel,!!l.terminate,O),o===0&&Q("Can\'t create run options."),i?.extra!==void 0&&ft(i.extra,"",new WeakSet,(h,u)=>{let A=X(h,p),D=X(u,p);d._OrtAddRunConfigEntry(o,A,D)!==0&&Q(`Can\'t set a run config entry: ${h} - ${u}.`)}),[o,p]}catch(O){throw o!==0&&d._OrtReleaseRunOptions(o),p.forEach(h=>d._free(h)),O}};var On=i=>{switch(i){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${i}`)}},vn=i=>{switch(i){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${i}`)}},_n=i=>{i.extra||(i.extra={}),i.extra.session||(i.extra.session={});let d=i.extra.session;d.use_ort_model_bytes_directly||(d.use_ort_model_bytes_directly="1"),i.executionProviders&&i.executionProviders.some(o=>(typeof o=="string"?o:o.name)==="webgpu")&&(i.enableMemPattern=!1)},En=(i,d,o)=>{for(let p of d){let l=typeof p=="string"?p:p.name;switch(l){case"webnn":if(l="WEBNN",typeof p!="string"){let h=p;if(h?.deviceType){let u=X("deviceType",o),A=X(h.deviceType,o);J()._OrtAddSessionConfigEntry(i,u,A)!==0&&Q(`Can\'t set a session config entry: \'deviceType\' - ${h.deviceType}.`)}if(h?.numThreads){let u=h.numThreads;(typeof u!="number"||!Number.isInteger(u)||u<0)&&(u=0);let A=X("numThreads",o),D=X(u.toString(),o);J()._OrtAddSessionConfigEntry(i,A,D)!==0&&Q(`Can\'t set a session config entry: \'numThreads\' - ${h.numThreads}.`)}if(h?.powerPreference){let u=X("powerPreference",o),A=X(h.powerPreference,o);J()._OrtAddSessionConfigEntry(i,u,A)!==0&&Q(`Can\'t set a session config entry: \'powerPreference\' - ${h.powerPreference}.`)}}break;case"webgpu":if(l="JS",typeof p!="string"){let h=p;if(h?.preferredLayout){if(h.preferredLayout!=="NCHW"&&h.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either \'NCHW\' or \'NHWC\': ${h.preferredLayout}`);let u=X("preferredLayout",o),A=X(h.preferredLayout,o);J()._OrtAddSessionConfigEntry(i,u,A)!==0&&Q(`Can\'t set a session config entry: \'preferredLayout\' - ${h.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${l}`)}let O=X(l,o);J()._OrtAppendExecutionProvider(i,O)!==0&&Q(`Can\'t append execution provider: ${l}.`)}},Br=i=>{let d=J(),o=0,p=[],l=i||{};_n(l);try{let O=On(l.graphOptimizationLevel??"all"),h=vn(l.executionMode??"sequential"),u=typeof l.logId=="string"?X(l.logId,p):0,A=l.logSeverityLevel??2;if(!Number.isInteger(A)||A<0||A>4)throw new Error(`log serverity level is not valid: ${A}`);let D=l.logVerbosityLevel??0;if(!Number.isInteger(D)||D<0||D>4)throw new Error(`log verbosity level is not valid: ${D}`);let R=typeof l.optimizedModelFilePath=="string"?X(l.optimizedModelFilePath,p):0;if(o=d._OrtCreateSessionOptions(O,!!l.enableCpuMemArena,!!l.enableMemPattern,h,!!l.enableProfiling,0,u,A,D,R),o===0&&Q("Can\'t create session options."),l.executionProviders&&En(o,l.executionProviders,p),l.enableGraphCapture!==void 0){if(typeof l.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${l.enableGraphCapture}`);let U=X("enableGraphCapture",p),L=X(l.enableGraphCapture.toString(),p);d._OrtAddSessionConfigEntry(o,U,L)!==0&&Q(`Can\'t set a session config entry: \'enableGraphCapture\' - ${l.enableGraphCapture}.`)}if(l.freeDimensionOverrides)for(let[U,L]of Object.entries(l.freeDimensionOverrides)){if(typeof U!="string")throw new Error(`free dimension override name must be a string: ${U}`);if(typeof L!="number"||!Number.isInteger(L)||L<0)throw new Error(`free dimension override value must be a non-negative integer: ${L}`);let te=X(U,p);d._OrtAddFreeDimensionOverride(o,te,L)!==0&&Q(`Can\'t set a free dimension override: ${U} - ${L}.`)}return l.extra!==void 0&&ft(l.extra,"",new WeakSet,(U,L)=>{let te=X(U,p),B=X(L,p);d._OrtAddSessionConfigEntry(o,te,B)!==0&&Q(`Can\'t set a session config entry: ${U} - ${L}.`)}),[o,p]}catch(O){throw o!==0&&d._OrtReleaseSessionOptions(o),p.forEach(h=>d._free(h)),O}};var kt=i=>{switch(i){case"int8":return 3;case"uint8":return 2;case"bool":return 9;
3201case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw new Error(`unsupported data type: ${i}`)}},Ir=i=>{switch(i){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw new Error(`unsupported data type: ${i}`)}},Gt=i=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][i],Wr=i=>{switch(i){case"float16":return Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${i}`)}},Nr=i=>{switch(i){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${i}`)}},Hr=i=>i==="float32"||i==="int32"||i==="int64"||i==="bool"||i==="float16"||i==="uint32",kr=i=>{switch(i){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw new Error(`unsupported data location: ${i}`)}};var Gr=async i=>{if(typeof i=="string")if(typeof process<"u"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(i))}catch(d){if(d.code==="ERR_FS_FILE_TOO_LARGE"){let o=(void 0)(i),p=[];for await(let l of o)p.push(l);return new Uint8Array(Buffer.concat(p))}throw d}else{let d=await fetch(i);if(!d.ok)throw new Error(`failed to load external data file: ${i}`);let o=d.headers.get("Content-Length"),p=o?parseInt(o,10):0;if(p<1073741824)return new Uint8Array(await d.arrayBuffer());{if(!d.body)throw new Error(`failed to load external data file: ${i}, no response body.`);let l=d.body.getReader(),O;try{O=new ArrayBuffer(p)}catch(u){if(u instanceof RangeError){let A=Math.ceil(p/65536);O=new WebAssembly.Memory({initial:A,maximum:A}).buffer}else throw u}let h=0;for(;;){let{done:u,value:A}=await l.read();if(u)break;let D=A.byteLength;new Uint8Array(O,h,D).set(A),h+=D}return new Uint8Array(O,0,p)}}else return i instanceof Blob?new Uint8Array(await i.arrayBuffer()):i instanceof Uint8Array?i:new Uint8Array(i)};var Sn=(i,d)=>{J()._OrtInit(i,d)!==0&&Q("Can\'t initialize onnxruntime.")},jr=async i=>{Sn(i.wasm.numThreads,Nr(i.logLevel))},zr=async(i,d)=>{},Ke=new Map,An=i=>{let d=J(),o=d.stackSave();try{let p=d.stackAlloc(8);return d._OrtGetInputOutputCount(i,p,p+4)!==0&&Q("Can\'t get session input/output count."),[d.HEAP32[p/4],d.HEAP32[p/4+1]]}finally{d.stackRestore(o)}},$t=i=>{let d=J(),o=d._malloc(i.byteLength);if(o===0)throw new Error(`Can\'t create a session. failed to allocate a buffer of size ${i.byteLength}.`);return d.HEAPU8.set(i,o),[o,i.byteLength]},Yr=async(i,d)=>{let o,p,l=J();Array.isArray(i)?[o,p]=i:i.buffer===l.HEAPU8.buffer?[o,p]=[i.byteOffset,i.byteLength]:[o,p]=$t(i);let O=0,h=0,u=0,A=[],D=[],R=[];try{if([h,A]=Br(d),d?.externalData&&l.mountExternalData){let G=[];for(let $ of d.externalData){let oe=typeof $=="string"?$:$.path;G.push(Gr(typeof $=="string"?$:$.data).then(ee=>{l.mountExternalData(oe,ee)}))}await Promise.all(G)}O=l._OrtCreateSession(o,p,h),O===0&&Q("Can\'t create a session.");let[U,L]=An(O),te=!!d?.enableGraphCapture,B=[],P=[],_=[];for(let G=0;G<U;G++){let $=l._OrtGetInputName(O,G);$===0&&Q("Can\'t get an input name."),D.push($),B.push(l.UTF8ToString($))}for(let G=0;G<L;G++){let $=l._OrtGetOutputName(O,G);$===0&&Q("Can\'t get an output name."),R.push($);let oe=l.UTF8ToString($);P.push(oe)}let N=null;return Ke.set(O,[O,D,R,N,te,!1]),[O,B,P]}catch(U){throw D.forEach(L=>l._OrtFree(L)),R.forEach(L=>l._OrtFree(L)),u!==0&&l._OrtReleaseBinding(u),O!==0&&l._OrtReleaseSession(O),U}finally{l._free(o),h!==0&&l._OrtReleaseSessionOptions(h),A.forEach(U=>l._free(U)),l.unmountExternalData?.()}},Vr=i=>{let d=J(),o=Ke.get(i);if(!o)throw new Error(`cannot release session. invalid session id: ${i}`);let[p,l,O,h,u]=o;h&&(u&&d._OrtClearBoundOutputs(h.handle),d._OrtReleaseBinding(h.handle)),d.jsepOnReleaseSession?.(i),l.forEach(A=>d._OrtFree(A)),O.forEach(A=>d._OrtFree(A)),d._OrtReleaseSession(p),Ke.delete(i)},Tn=(i,d,o)=>
3201{if(i!==null&&i[0]===d){let l=i[2];if(l.length===o)return l}let p=Wr(d);return new p(o)},$r=(i,d,o,p,l,O=!1)=>{if(!i){d.push(0);return}let h=J(),u=i[0],A=i[1],D=i[3],R,U;if(u==="string"&&D==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");if(O&&D!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${l} when enableGraphCapture is true.`);if(D==="gpu-buffer"){let B=i[2].gpuBuffer,P=Gt(kt(u));U=A.reduce((_,N)=>_*N,1)*P,R=h.jsepRegisterBuffer(p,l,B,U)}else{let B=i[2];if(Array.isArray(B)){U=4*B.length,R=h._malloc(U),o.push(R);let P=R/4;for(let _=0;_<B.length;_++){if(typeof B[_]!="string")throw new TypeError(`tensor data at index ${_} is not a string`);h.HEAPU32[P++]=X(B[_],o)}}else U=B.byteLength,R=h._malloc(U),o.push(R),h.HEAPU8.set(new Uint8Array(B.buffer,B.byteOffset,U),R)}let L=h.stackSave(),te=h.stackAlloc(4*A.length);try{let B=te/4;A.forEach(_=>h.HEAP32[B++]=_);let P=h._OrtCreateTensor(kt(u),R,U,te,A.length,kr(D));P===0&&Q(`Can\'t create tensor for input/output. session=${p}, index=${l}.`),d.push(P)}finally{h.stackRestore(L)}},qr=i=>{let o=new TextEncoder().encode(i),p=J(),l=p._malloc(o.byteLength);p.HEAPU8.set(o,l);let O=p._OrtConfigure(l,o.byteLength);if(O===0)throw new Error("Can\'t get an configure key");let h=p.UTF8ToString(O);return p._OrtFree(O),h},Jr=i=>{let o=new TextEncoder().encode(i),p=J(),l=p._malloc(o.byteLength);p.HEAPU8.set(o,l);let O=p._OrtAuth(l,o.byteLength);if(O===0)throw new Error("Can\'t get an auth result");let h=p.UTF8ToString(O);return p._OrtFree(O),h},Xr=async(i,d,o,p,l,O)=>{let h=J(),u=Ke.get(i);if(!u)throw new Error(`cannot run inference. invalid session id: ${i}`);let A=u[0],D=u[1],R=u[2],U=u[3],L=u[4],te=u[5],B=d.length,P=p.length,_=0,N=[],G=[],$=[],oe=[],ee=h.stackSave(),S=h.stackAlloc(B*4),Y=h.stackAlloc(B*4),Ue=h.stackAlloc(P*4),Ie=h.stackAlloc(P*4);try{[_,N]=Pr(O);for(let F=0;F<B;F++)$r(o[F],G,oe,i,d[F],L);for(let F=0;F<P;F++){let de=l[F],we=de?.[3]??"";$r(we==="gpu-buffer"?de:null,$,oe,i,B+p[F],L)}let ce=S/4,re=Y/4,Z=Ue/4,Ae=Ie/4;for(let F=0;F<B;F++)h.HEAPU32[ce++]=G[F],h.HEAPU32[re++]=D[d[F]];for(let F=0;F<P;F++)h.HEAPU32[Z++]=$[F],h.HEAPU32[Ae++]=R[p[F]];let _e;h.jsepOnRunStart?.(A),_e=await h._OrtRun(A,Y,S,B,Ie,P,Ue,_),_e!==0&&Q("failed to call OrtRun().");let ne=[];for(let F=0;F<P;F++){let de=h.HEAPU32[Ue/4+F];if(de===$[F]){ne.push(l[F]);continue}let we=h.stackSave(),le=h.stackAlloc(4*4),Te=!1,V,pe=0;try{h._OrtGetTensorData(de,le,le+4,le+8,le+12)!==0&&Q(`Can\'t access output tensor data on index ${F}.`);let Me=le/4,Ee=h.HEAPU32[Me++];pe=h.HEAPU32[Me++];let Se=h.HEAPU32[Me++],He=h.HEAPU32[Me++],me=[];for(let q=0;q<He;q++)me.push(h.HEAPU32[Se/4+q]);h._OrtFree(Se);let Ce=me.reduce((q,se)=>q*se,1);V=Ir(Ee);let xe=U?.outputPreferredLocations[p[F]];if(V==="string"){if(xe==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");let q=[],se=pe/4;for(let ye=0;ye<Ce;ye++){let Re=h.HEAPU32[se++],De=ye===Ce-1?void 0:h.HEAPU32[se]-Re;q.push(h.UTF8ToString(Re,De))}ne.push([V,me,q,"cpu"])}else if(xe==="gpu-buffer"&&Ce>0){let q=h.jsepGetBuffer(pe),se=Gt(Ee);if(se===void 0||!Hr(V))throw new Error(`Unsupported data type: ${V}`);Te=!0,ne.push([V,me,{gpuBuffer:q,download:h.jsepCreateDownloader(q,Ce*se,V),dispose:()=>{h._OrtReleaseTensor(de)}},"gpu-buffer"])}else{let q=Tn(l[F],V,Ce);new Uint8Array(q.buffer,q.byteOffset,q.byteLength).set(h.HEAPU8.subarray(pe,pe+q.byteLength)),ne.push([V,me,q,"cpu"])}}finally{h.stackRestore(we),V==="string"&&pe&&h._free(pe),Te||h._OrtReleaseTensor(de)}}return U&&!L&&(h._OrtClearBoundOutputs(U.handle),Ke.set(i,[A,D,R,U,L,!1])),ne}finally{h.stackRestore(ee),G.forEach(ce=>h._OrtReleaseTensor(ce)),$.forEach(ce=>h._OrtReleaseTensor(ce)),oe.forEach(ce=>h._free(ce)),_!==0&&h._OrtReleaseRunOptions(_),N.forEach(ce=>h._free(ce))}},Qr=i=>{let d=J(),o=Ke.get(i);if(!o)throw new Error("invalid session id");let p=o[0],l=d._OrtEndProfiling(p);l===0&&Q("Can\'t get an profile file name."),d._OrtFree(l)},jt=i=>{let d=[];for(let o of i){let p=o[2];!Array.isArray(p)&&"buffer"in p&&d.push(p.buffer)}return d};self.onmessage=i=>{let{type:d,in:o}=i.data;
3201try{switch(d){case"init-wasm":Lr(o.wasm).then(()=>{jr(o).then(()=>{postMessage({type:d})},p=>{postMessage({type:d,err:p})})},p=>{postMessage({type:d,err:p})});break;case"init-ep":{let{epName:p,env:l}=o;zr(l,p).then(()=>{postMessage({type:d})},O=>{postMessage({type:d,err:O})});break}case"copy-from":{let{buffer:p}=o,l=$t(p);postMessage({type:d,out:l});break}case"create":{let{model:p,options:l}=o;Yr(p,l).then(O=>{postMessage({type:d,out:O})},O=>{postMessage({type:d,err:O})});break}case"release":Vr(o),postMessage({type:d});break;case"run":{let{sessionId:p,inputIndices:l,inputs:O,outputIndices:h,options:u}=o,A=i.data.prealloc??[];for(;A.length<h.length;)A.push(null);Xr(p,l,O,h,A,u).then(D=>{D.some(R=>R[3]!=="cpu")?postMessage({type:d,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:d,out:D,inputsBack:O},jt(D).concat(jt(O)))},D=>{postMessage({type:d,err:D})});break}case"configure":try{let p=qr(i.data.in);postMessage({type:"configure",out:p})}catch(p){postMessage({type:"configure",err:p})}break;case"auth":try{let p=Jr(i.data.in);postMessage({type:"auth",out:p})}catch(p){postMessage({type:"auth",err:p})}break;case"end-profiling":Qr(o),postMessage({type:d});break;default:}}catch(p){postMessage({type:d,err:p})}};})();\n'}),li=G(()=>{ef(),lr(),u2(),uR=()=>!!c.wasm.proxy&&"u">typeof document,uM=!1,uL=!1,uB=!1,uF=new Map,uU=(t,r)=>{let n=uF.get(t);n?n.push(r):uF.set(t,[r])},uj=()=>{if(uM||!uL||uB||!uD)throw Error("worker not ready")},uz=t=>{switch(t.data.type){case"init-wasm":uM=!1,t.data.err?(uB=!0,uN[1](t.data.err)):(uL=!0,uN[0]());break;case"init-ep":case"copy-from":case"create":case"configure":case"auth":case"release":case"end-profiling":{let r=uF.get(t.data.type);t.data.err?r.shift()[1](t.data.err):r.shift()[0](t.data.out);break}case"run":{let r=uF.get(t.data.type);t.data.err?r.shift()[1](t.data.err):r.shift()[0](t.data.out.concat(t.data.inputsBack))}}},uG="u">typeof document?document?.currentScript?.src:void 0,uV=async()=>{if(!uL){if(uM)throw Error("multiple calls to 'initWasm()' detected.");if(uB)throw Error("previous call to 'initWasm()' failed.");if(uM=!0,uR())return void 0===c.wasm.wasmPaths&&uG&&0!==uG.indexOf("blob:")&&(c.wasm.wasmPaths=uG.substr(0,+uG.lastIndexOf("/")+1)),new Promise((t,r)=>{uD?.terminate();let n=URL.createObjectURL(new Blob([ln()],{type:"text/javascript"}));(uD=new Worker(n,{name:"ort-wasm-proxy-worker"})).onerror=t=>r(t),uD.onmessage=uz,URL.revokeObjectURL(n),uN=[t,r];let i={type:"init-wasm",in:c};uD.postMessage(i)});try{await uo(c.wasm),await uw(c),uL=!0}catch(t){throw uB=!0,t}finally{uM=!1}}},uW=async t=>{if(uR())return uj(),new Promise((r,n)=>{uU("init-ep",[r,n]);let i={type:"init-ep",in:{epName:t,env:c}};uD.postMessage(i)});await ux(c,t)},uH=async t=>uR()?(uj(),new Promise((r,n)=>{uU("copy-from",[r,n]),uD.postMessage({type:"copy-from",in:{buffer:t}},[t.buffer])})):uT(t),uq=async(t,r)=>{if(uR()){if(r?.preferredOutputLocation)throw Error('session option "preferredOutputLocation" is not supported for proxy.');return uj(),new Promise((n,i)=>{uU("create",[n,i]);let o=[];t instanceof Uint8Array&&o.push(t.buffer),uD.postMessage({type:"create",in:{model:t,options:r}},o)})}return uS(t,r)},uY=async t=>{if(uR())return uj(),new Promise((r,n)=>{uU("release",[r,n]),uD.postMessage({type:"release",in:t})});uE(t)},uX=async t=>uR()?(uj(),new Promise((r,n)=>{uU("configure",[r,n]),uD.postMessage({type:"configure",in:t})})):uI(t),uK=async t=>uR()?(uj(),new Promise((r,n)=>{uU("auth",[r,n]),uD.postMessage({type:"auth",in:t})})):uP(t),uZ=async(t,r,n,i,o,a)=>{if(uR()){if(n.some(t=>"cpu"!==t[3]))throw Error("input tensor on GPU is not supported for proxy.");return uj(),new Promise((s,u)=>{uU("run",[s,u]),uD.postMessage({type:"run",in:{sessionId:t,inputIndices:r,inputs:n,outputIndices:i,options:a},prealloc:o},u$(n).concat(u$((t=>{let r=[];for(var n=0;n<t.length;++n){let i=t[n];null!==i&&r.push(i)}return r})(o))))})}return uk(t,r,n,i,o,a).then(t=>t.concat(n))},uJ=async t=>{if(uR())return uj(),new Promise((r,n)=>{uU("end-profiling",[r,n]),uD.postMessage({type:"end-profiling",in:t})});uC(t)}}),lo=G(()=>{ef(),li(),le(),lt(),uQ=(t,r)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];default:throw Error(`invalid data location: ${t.location} for ${r()}`)}},u1=t=>{switch(t[3]){case"cpu":return new O(t[0],t[2],t[1]);case"gpu-buffer":{let r=t[0];if(!ug(r))throw Error(`not supported data type: ${r} for deserializing GPU tensor`);let{gpuBuffer:n,download:i,dispose:o}=t[2];return O.fromGpuBuffer(n,{dataType:r,dims:t[1],download:i,dispose:o})}default:throw Error(`invalid data location: ${t[3]}`)}},u0=class{async fetchModelAndCopyToWasmMemory(t){return uH(await ub(t))}async loadModel(t,r){let n;P(),n="string"==typeof t?"u">typeof M&&M.versions&&M.versions.node?await ub(t):await this.fetchModelAndCopyToWasmMemory(t):t,[this.sessionId,this.inputNames,this.outputNames]=await uq(n,r),k()}async dispose(){return uY(this.sessionId)}async configure(t){return uX(t)}async auth(t){return uK(t)}async run(t,r,n){P();let i=[],o=[];Object.entries(t).forEach(t=>{let r=t[0],n=t[1],a=this.inputNames.indexOf(r);if(-1===a)throw Error(`invalid input '${r}'`);i.push(n),o.push(a)});let a=[],s=[],u=t=>null!==t&&"gpu-buffer"===t.location?t:null;Object.entries(r).forEach(t=>{let r=t[0],n=t[1],i=this.outputNames.indexOf(r);if(-1===i)throw Error(`invalid output '${r}'`);a.push(n),s.push(i)});let l=i.map((t,r)=>uQ(t,()=>`input "${this.inputNames[o[r]]}"`)),h=a.map((t,r)=>t?uQ(t,()=>`output "${this.outputNames[s[r]]}"`):null),c=await uZ(this.sessionId,o,l,s,h,n),f={},d=[];for(let t=0;t<c.length;t++)t>=s.length?d.push(u1(c[t])):f[this.outputNames[s[t]]]=u(a[t])??u1(c[t]);return d.length>0&&(f.inputBack=d[0]),k(),f}startProfiling(){}endProfiling(){uJ(this.sessionId)}}}),la=G(()=>{ef(),li(),lo(),u3=class{async init(t){(()=>{if(("number"!=typeof c.wasm.initTimeout||c.wasm.initTimeout<0)&&(c.wasm.initTimeout=0),"boolean"!=typeof c.wasm.simd&&(c.wasm.simd=!0),"boolean"!=typeof c.wasm.proxy&&(c.wasm.proxy=!1),"boolean"!=typeof c.wasm.trace&&(c.wasm.trace=!1),"number"!=typeof c.wasm.numThreads||!Number.isInteger(c.wasm.numThreads)||c.wasm.numThreads<=0){("u">typeof self&&!self.crossOriginIsolated||"u">typeof M&&M.versions&&M.versions.node)&&(c.wasm.numThreads=1);let t=typeof navigator>"u"?(void 0)().length:navigator.hardwareConcurrency;c.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}})(),await uV(),await uW(t)}async createInferenceSessionHandler(t,r){let n=new u0;return await n.loadModel(t,r),Promise.resolve(n)}}}),ls={};W(ls,{wasmBackend:()=>lu});var lu,ll=G(()=>{la(),lu=new u3});ef(),ef(),ef();
3201{let t=(sH(),Y(sV)).onnxjsBackend;a("webgl",t,-10)}{let t=(ll(),Y(ls)).wasmBackend;a("cpu",t,10),a("wasm",t,10),a("webnn",t,9)}Object.defineProperty(c.versions,"web",{value:"1.17.0",enumerable:!0})},5034:(t,r,n)=>{let i,o,a,s,u,l,h;n.r(r),n.d(r,{ALPHA_MODES:()=>c.Gk,AbstractMultiResource:()=>c.CI,AccessibilityManager:()=>Y,AlphaFilter:()=>S,AnimatedSprite:()=>rp,Application:()=>K,ArrayResource:()=>c.aV,Assets:()=>eM,AssetsClass:()=>eD,Attribute:()=>c.nW,BLEND_MODES:()=>c.B9,BUFFER_BITS:()=>c.wn,BUFFER_TYPE:()=>c.yw,BackgroundSystem:()=>c.sN,BaseImageResource:()=>c.jH,BasePrepare:()=>ru,BaseRenderTexture:()=>c.LE,BaseTexture:()=>c.t5,BatchDrawCall:()=>c.hq,BatchGeometry:()=>c.JH,BatchRenderer:()=>c.ch,BatchShaderGenerator:()=>c.LQ,BatchSystem:()=>c.A6,BatchTextureArray:()=>c.cc,BitmapFont:()=>rR,BitmapFontData:()=>rS,BitmapText:()=>rN,BlobResource:()=>eQ,BlurFilter:()=>I,BlurFilterPass:()=>A,Bounds:()=>f,BrowserAdapter:()=>c.OF,Buffer:()=>c.hp,BufferResource:()=>c.dZ,BufferSystem:()=>c.yn,CLEAR_MODES:()=>c.fr,COLOR_MASK_BITS:()=>c.Eq,Cache:()=>er,CanvasResource:()=>c.Bu,Circle:()=>c.jl,Color:()=>c.Q1,ColorMatrixFilter:()=>P,CompressedTextureResource:()=>e1,Container:()=>v,ContextSystem:()=>c.bD,CountLimiter:()=>t4,CubeResource:()=>c.WQ,DEG_TO_RAD:()=>c.Td,DRAW_MODES:()=>c._4,DisplacementFilter:()=>k,DisplayObject:()=>d,ENV:()=>c.Km,Ellipse:()=>c.Pp,EventBoundary:()=>j,EventSystem:()=>V,ExtensionType:()=>c.Ag,Extract:()=>to,FORMATS:()=>c.hR,FORMATS_TO_COMPONENTS:()=>e2,FXAAFilter:()=>C,FederatedDisplayObject:()=>H,FederatedEvent:()=>M,FederatedMouseEvent:()=>L,FederatedPointerEvent:()=>B,FederatedWheelEvent:()=>N,FillStyle:()=>tP,Filter:()=>c.dJ,FilterState:()=>c.OO,FilterSystem:()=>c.u9,Framebuffer:()=>c.GW,FramebufferSystem:()=>c.nj,GC_MODES:()=>c.OS,GLFramebuffer:()=>c.pq,GLProgram:()=>c._H,GLTexture:()=>c.Ru,GRAPHICS_CURVES:()=>tp,GenerateTextureSystem:()=>c.yI,Geometry:()=>c.V2,GeometrySystem:()=>c.kb,Graphics:()=>tR,GraphicsData:()=>tS,GraphicsGeometry:()=>tI,HTMLText:()=>rV,HTMLTextStyle:()=>rz,IGLUniformData:()=>c.n1,INSTALLED:()=>c.Ln,INTERNAL_FORMATS:()=>eX,INTERNAL_FORMAT_TO_BYTES_PER_PIXEL:()=>eK,ImageBitmapResource:()=>c.di,ImageResource:()=>c.Gj,LINE_CAP:()=>tf,LINE_JOIN:()=>tc,LineStyle:()=>tk,LoaderParserPriority:()=>eo,MASK_TYPES:()=>c.vg,MIPMAP_MODES:()=>c.E8,MSAA_QUALITY:()=>c.he,MaskData:()=>c.XN,MaskSystem:()=>c.iW,Matrix:()=>c.uq,Mesh:()=>tF,MeshBatchUvs:()=>tM,MeshGeometry:()=>tU,MeshMaterial:()=>tj,MultisampleSystem:()=>c.DT,NineSlicePlane:()=>tW,NoiseFilter:()=>$,ObjectRenderer:()=>c.Pt,ObjectRendererSystem:()=>c.IH,ObservablePoint:()=>c.oA,PI_2:()=>c.TO,PRECISION:()=>c.Pk,ParticleContainer:()=>tY,ParticleRenderer:()=>tK,PlaneGeometry:()=>tz,PluginSystem:()=>c.$o,Point:()=>c.bR,Polygon:()=>c.tS,Prepare:()=>rf,Program:()=>c.BP,ProjectionSystem:()=>c.hk,Quad:()=>c.kO,QuadUv:()=>c.X1,RAD_TO_DEG:()=>c.bO,RENDERER_TYPE:()=>c.h3,Rectangle:()=>c.M_,RenderTexture:()=>c.Y7,RenderTexturePool:()=>c.O1,RenderTextureSystem:()=>c.Bw,Renderer:()=>c.A4,ResizePlugin:()=>Z,Resource:()=>c.FW,RopeGeometry:()=>tG,RoundedRectangle:()=>c.TE,Runner:()=>c.by,SAMPLER_TYPES:()=>c.XZ,SCALE_MODES:()=>c.M6,SHAPES:()=>c.HY,SVGResource:()=>c.$f,ScissorSystem:()=>c.s9,Shader:()=>c.Mt,ShaderSystem:()=>c.$P,SimpleMesh:()=>tH,SimplePlane:()=>tV,SimpleRope:()=>tq,Sprite:()=>x,SpriteMaskFilter:()=>c.ah,Spritesheet:()=>rx,StartupSystem:()=>c.fE,State:()=>c.Uw,StateSystem:()=>c.D8,StencilSystem:()=>c.iH,SystemManager:()=>c.zi,TARGETS:()=>c.dW,TEXT_GRADIENT:()=>tZ,TYPES:()=>c.QE,TYPES_TO_BYTES_PER_COMPONENT:()=>e9,TYPES_TO_BYTES_PER_PIXEL:()=>e7,TemporaryDisplayObject:()=>p,Text:()=>t8,TextFormat:()=>rE,TextMetrics:()=>t1,TextStyle:()=>t6,Texture:()=>c.gP,TextureGCSystem:()=>c.lB,TextureMatrix:()=>c.NW,TextureSystem:()=>c.vB,TextureUvs:()=>c.OE,Ticker:()=>c.Rv,TickerPlugin:()=>c.y,TilingSprite:()=>rm,TilingSpriteRenderer:()=>rb,TimeLimiter:()=>rd,Transform:()=>c.dL,TransformFeedback:()=>c.wF,TransformFeedbackSystem:()=>c.vT,UPDATE_PRIORITY:()=>c.dQ,UniformGroup:()=>c.k2,VERSION:()=>c.xv,VideoResource:()=>c.A5,ViewSystem:()=>c.vr,ViewableBuffer:()=>c.u3,WRAP_MODES:()=>c.uR,XMLFormat:()=>rO,XMLStringFormat:()=>rA,accessibleTarget:()=>q,autoDetectFormat:()=>rP,autoDetectRenderer:()=>c.q5,autoDetectResource:()=>c.Nc,cacheTextureArray:()=>eL,checkDataUrl:()=>ea,checkExtension:()=>ee,checkMaxIfStatementsInShader:()=>c.uC,convertToList:()=>et,copySearchParams:()=>eY,createStringVariations:()=>e$,createTexture:()=>eT,createUBOElements:()=>c._J,curves:()=>td,defaultFilterVertex:()=>c.Eo,defaultVertex:()=>c.MT,detectAvif:()=>eN,detectCompressedTextures:()=>eJ,detectDefaults:()=>ej,detectMp4:()=>eW,detectOgv:()=>eH,detectWebm:()=>eV,detectWebp:()=>eF,extensions:()=>c.XO,filters:()=>R,generateProgram:()=>c.CF,generateUniformBufferSync:()=>c.He,getFontFamilyName:()=>ed,getTestContext:()=>c.WD,getUBOData:()=>c.RO,graphicsUtils:()=>tD,groupD8:()=>c.ER,isMobile:()=>c.Fr,isSingleItem:()=>en,loadBitmapFont:()=>rU,loadDDS:()=>e4,loadImageBitmap:()=>eO,loadJson:()=>es,loadKTX:()=>te,loadSVG:()=>eI,loadTextures:()=>eA,loadTxt:()=>eu,loadVideo:()=>eC,loadWebFont:()=>ey,parseDDS:()=>e6,parseKTX:()=>
3201e8,resolveCompressedTextureUrl:()=>tr,resolveTextureUrl:()=>eq,settings:()=>c.W0,spritesheetAsset:()=>rT,uniformParsers:()=>c.$Z,unsafeEvalSupported:()=>c.ff,utils:()=>c.Wp});var c=n(9203);class f{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}clear(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}getRectangle(t){return this.minX>this.maxX||this.minY>this.maxY?c.M_.EMPTY:((t=t||new c.M_(0,0,1,1)).x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)}addPoint(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)}addPointMatrix(t,r){let{a:n,b:i,c:o,d:a,tx:s,ty:u}=t,l=n*r.x+o*r.y+s,h=i*r.x+a*r.y+u;this.minX=Math.min(this.minX,l),this.maxX=Math.max(this.maxX,l),this.minY=Math.min(this.minY,h),this.maxY=Math.max(this.maxY,h)}addQuad(t){let r=this.minX,n=this.minY,i=this.maxX,o=this.maxY,a=t[0],s=t[1];r=a<r?a:r,n=s<n?s:n,i=a>i?a:i,o=s>o?s:o,a=t[2],s=t[3],r=a<r?a:r,n=s<n?s:n,i=a>i?a:i,o=s>o?s:o,a=t[4],s=t[5],r=a<r?a:r,n=s<n?s:n,i=a>i?a:i,o=s>o?s:o,a=t[6],s=t[7],r=a<r?a:r,n=s<n?s:n,i=a>i?a:i,o=s>o?s:o,this.minX=r,this.minY=n,this.maxX=i,this.maxY=o}addFrame(t,r,n,i,o){this.addFrameMatrix(t.worldTransform,r,n,i,o)}
3201addFrameMatrix(t,r,n,i,o){let a=t.a,s=t.b,u=t.c,l=t.d,h=t.tx,c=t.ty,f=this.minX,d=this.minY,p=this.maxX,y=this.maxY,m=a*r+u*n+h,g=s*r+l*n+c;f=m<f?m:f,d=g<d?g:d,p=m>p?m:p,y=g>y?g:y,m=a*i+u*n+h,g=s*i+l*n+c,f=m<f?m:f,d=g<d?g:d,p=m>p?m:p,y=g>y?g:y,m=a*r+u*o+h,g=s*r+l*o+c,f=m<f?m:f,d=g<d?g:d,p=m>p?m:p,y=g>y?g:y,m=a*i+u*o+h,g=s*i+l*o+c,f=m<f?m:f,d=g<d?g:d,p=m>p?m:p,y=g>y?g:y,this.minX=f,this.minY=d,this.maxX=p,this.maxY=y}addVertexData(t,r,n){let i=this.minX,o=this.minY,a=this.maxX,s=this.maxY;for(let u=r;u<n;u+=2){let r=t[u],n=t[u+1];i=r<i?r:i,o=n<o?n:o,a=r>a?r:a,s=n>s?n:s}this.minX=i,this.minY=o,this.maxX=a,this.maxY=s}addVertices(t,r,n,i){this.addVerticesMatrix(t.worldTransform,r,n,i)}addVerticesMatrix(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:o,s=t.a,u=t.b,l=t.c,h=t.d,c=t.tx,f=t.ty,d=this.minX,p=this.minY,y=this.maxX,m=this.maxY;for(let t=n;t<i;t+=2){let n=r[t],i=r[t+1],g=s*n+l*i+c,v=h*i+u*n+f;d=Math.min(d,g-o),y=Math.max(y,g+o),p=Math.min(p,v-a),m=Math.max(m,v+a)}this.minX=d,this.minY=p,this.maxX=y,this.maxY=m}addBounds(t){let r=this.minX,n=this.minY,i=this.maxX,o=this.maxY;this.minX=t.minX<r?t.minX:r,this.minY=t.minY<n?t.minY:n,this.maxX=t.maxX>i?t.maxX:i,this.maxY=t.maxY>o?t.maxY:o}addBoundsMask(t,r){let n=t.minX>r.minX?t.minX:r.minX,i=t.minY>r.minY?t.minY:r.minY,o=t.maxX<r.maxX?t.maxX:r.maxX,a=t.maxY<r.maxY?t.maxY:r.maxY;if(n<=o&&i<=a){let t=this.minX,r=this.minY,s=this.maxX,u=this.maxY;this.minX=n<t?n:t,this.minY=i<r?i:r,this.maxX=o>s?o:s,this.maxY=a>u?a:u}}addBoundsMatrix(t,r){this.addFrameMatrix(r,t.minX,t.minY,t.maxX,t.maxY)}addBoundsArea(t,r){let n=t.minX>r.x?t.minX:r.x,i=t.minY>r.y?t.minY:r.y,o=t.maxX<r.x+r.width?t.maxX:r.x+r.width,a=t.maxY<r.y+r.height?t.maxY:r.y+r.height;if(n<=o&&i<=a){let t=this.minX,r=this.minY,s=this.maxX,u=this.maxY;this.minX=n<t?n:t,this.minY=i<r?i:r,this.maxX=o>s?o:s,this.maxY=a>u?a:u}}pad(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=r,this.maxY+=r)}addFramePad(t,r,n,i,o,a){t-=o,r-=a,n+=o,i+=a,this.minX=this.minX<t?this.minX:t,this.maxX=this.maxX>n?this.maxX:n,this.minY=this.minY<r?this.minY:r,this.maxY=this.maxY>i?this.maxY:i}}class d extends c.Wp.EventEmitter{constructor(){super(),this.tempDisplayObjectParent=null,this.transform=new c.dL,this.alpha=1,this.visible=!0,this.renderable=!0,this.cullable=!1,this.cullArea=null,this.parent=null,this.worldAlpha=1,this._lastSortedIndex=0,this._zIndex=0,this.filterArea=null,this.filters=null,this._enabledFilters=null,this._bounds=new f,this._localBounds=null,this._boundsID=0,this._boundsRect=null,this._localBoundsRect=null,this._mask=null,this._maskRefCount=0,this._destroyed=!1,this.isSprite=!1,this.isMask=!1}static mixin(t){let r=Object.keys(t);for(let n=0;n<r.length;++n){let i=r[n];Object.defineProperty(d.prototype,i,Object.getOwnPropertyDescriptor(t,i))}}get destroyed(){return this._destroyed}_recursivePostUpdateTransform(){this.parent?(this.parent._recursivePostUpdateTransform(),this.transform.updateTransform(this.parent.transform)):this.transform.updateTransform(this._tempDisplayObjectParent.transform)}updateTransform(){this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha}getBounds(t,r){return t||(this.parent?(this._recursivePostUpdateTransform(),this.updateTransform()):(this.parent=this._tempDisplayObjectParent,this.updateTransform(),this.parent=null)),this._bounds.updateID!==this._boundsID&&(this.calculateBounds(),this._bounds.updateID=this._boundsID),r||(this._boundsRect||(this._boundsRect=new c.M_),r=this._boundsRect),this._bounds.getRectangle(r)}getLocalBounds(t){t||(this._localBoundsRect||(this._localBoundsRect=new c.M_),t=this._localBoundsRect),this._localBounds||(this._localBounds=new f);let r=this.transform,n=this.parent;this.parent=null,this._tempDisplayObjectParent.worldAlpha=n?.worldAlpha??1,this.transform=this._tempDisplayObjectParent.transform;let i=this._bounds,o=this._boundsID;this._bounds=this._localBounds;let a=this.getBounds(!1,t);return this.parent=n,this.transform=r,this._bounds=i,this._bounds.updateID+=this._boundsID-o,a}toGlobal(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return n||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.apply(t,r)}toLocal(t,r,n,i){return r&&(t=r.toGlobal(t,n,i)),i||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.applyInverse(t,n)}setParent(t){if(!t||!t.addChild)throw Error("setParent: Argument must be a Container");return t.addChild(this),t}removeFromParent(){this.parent?.removeChild(this)}setTransform(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0;return this.position.x=t,this.position.y=r,this.scale.x=n||1,this.scale.y=i||1,this.rotation=o,this.skew.x=a,this.skew.y=s,this.pivot.x=u,this.pivot.y=l,this}destroy(t){this.removeFromParent(),this._destroyed=!0,this.transform=null,this.parent=null,this._bounds=null,this.mask=null,this.cullArea=null,this.filters=null,this.filterArea=null,this.hitArea=null,this.eventMode="auto",this.interactiveChildren=!1,this.emit
3201("destroyed"),this.removeAllListeners()}get _tempDisplayObjectParent(){return null===this.tempDisplayObjectParent&&(this.tempDisplayObjectParent=new p),this.tempDisplayObjectParent}enableTempParent(){let t=this.parent;return this.parent=this._tempDisplayObjectParent,t}disableTempParent(t){this.parent=t}get x(){return this.position.x}set x(t){this.transform.position.x=t}get y(){return this.position.y}set y(t){this.transform.position.y=t}get worldTransform(){return this.transform.worldTransform}get localTransform(){return this.transform.localTransform}get position(){return this.transform.position}set position(t){this.transform.position.copyFrom(t)}get scale(){return this.transform.scale}set scale(t){this.transform.scale.copyFrom(t)}get pivot(){return this.transform.pivot}set pivot(t){this.transform.pivot.copyFrom(t)}get skew(){return this.transform.skew}set skew(t){this.transform.skew.copyFrom(t)}get rotation(){return this.transform.rotation}set rotation(t){this.transform.rotation=t}get angle(){return this.transform.rotation*c.bO}set angle(t){this.transform.rotation=t*c.Td}get zIndex(){return this._zIndex}set zIndex(t){this._zIndex!==t&&(this._zIndex=t,this.parent&&(this.parent.sortDirty=!0))}get worldVisible(){let t=this;do{if(!t.visible)return!1;t=t.parent}while(t)return!0}get mask(){return this._mask}set mask(t){if(this._mask!==t){if(this._mask){let t=this._mask.isMaskData?this._mask.maskObject:this._mask;t&&(t._maskRefCount--,0===t._maskRefCount&&(t.renderable=!0,t.isMask=!1))}if(this._mask=t,this._mask){let t=this._mask.isMaskData?this._mask.maskObject:this._mask;t&&(0===t._maskRefCount&&(t.renderable=!1,t.isMask=!0),t._maskRefCount++)}}}}class p extends d{constructor(){super(...arguments),this.sortDirty=null}}d.prototype.displayObjectUpdateTransform=d.prototype.updateTransform;let y=new c.uq;function m(t,r){return t.zIndex===r.zIndex?t._lastSortedIndex-r._lastSortedIndex:t.zIndex-r.zIndex}let g=class t extends d{constructor(){super(),this.children=[],this.sortableChildren=t.defaultSortableChildren,this.sortDirty=!1}onChildrenChange(t){}addChild(){if(arguments.length>1)for(let t=0;t<arguments.length;t++)this.addChild(t<0||arguments.length<=t?void 0:arguments[t]);else{let t=arguments.length<=0?void 0:arguments[0];t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1,this.children.push(t),this._boundsID++,this.onChildrenChange(this.children.length-1),this.emit("childAdded",t,this,this.children.length-1),t.emit("added",this)}return arguments.length<=0?void 0:arguments[0]}addChildAt(t,r){if(r<0||r>this.children.length)throw Error(`${t}addChildAt: The index ${r} supplied is out of bounds ${this.children.length}`);return t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1,this.children.splice(r,0,t),this._boundsID++,this.onChildrenChange(r),t.emit("added",this),this.emit("childAdded",t,this,r),t}swapChildren(t,r){if(t===r)return;let n=this.getChildIndex(t),i=this.getChildIndex(r);this.children[n]=r,this.children[i]=t,this.onChildrenChange(n<i?n:i)}getChildIndex(t){let r=this.children.indexOf(t);if(-1===r)throw Error("The supplied DisplayObject must be a child of the caller");return r}setChildIndex(t,r){if(r<0||r>=this.children.length)throw Error(`The index ${r} supplied is out of bounds ${this.children.length}`);let n=this.getChildIndex(t);c.Wp.removeItems(this.children,n,1),this.children.splice(r,0,t),this.onChildrenChange(r)}getChildAt(t){if(t<0||t>=this.children.length)throw Error(`getChildAt: Index (${t}) does not exist.`);return this.children[t]}removeChild(){if(arguments.length>1)for(let t=0;t<arguments.length;t++)this.removeChild(t<0||arguments.length<=t?void 0:arguments[t]);else{let t=arguments.length<=0?void 0:arguments[0],r=this.children.indexOf(t);if(-1===r)return null;t.parent=null,t.transform._parentID=-1,c.Wp.removeItems(this.children,r,1),this._boundsID++,this.onChildrenChange(r),t.emit("removed",this),this.emit("childRemoved",t,this,r)}return arguments.length<=0?void 0:arguments[0]}removeChildAt(t){let r=this.getChildAt(t);return r.parent=null,r.transform._parentID=-1,c.Wp.removeItems(this.children,t,1),this._boundsID++,this.onChildrenChange(t),r.emit("removed",this),this.emit
3201("childRemoved",r,this,t),r}removeChildren(){let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.children.length,i=n-r;if(i>0&&i<=n){t=this.children.splice(r,i);for(let r=0;r<t.length;++r)t[r].parent=null,t[r].transform&&(t[r].transform._parentID=-1);this._boundsID++,this.onChildrenChange(r);for(let r=0;r<t.length;++r)t[r].emit("removed",this),this.emit("childRemoved",t[r],this,r);return t}if(0===i&&0===this.children.length)return[];throw RangeError("removeChildren: numeric values are outside the acceptable range.")}sortChildren(){let t=!1;for(let r=0,n=this.children.length;r<n;++r){let n=this.children[r];n._lastSortedIndex=r,t||0===n.zIndex||(t=!0)}t&&this.children.length>1&&this.children.sort(m),this.sortDirty=!1}updateTransform(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(let t=0,r=this.children.length;t<r;++t){let r=this.children[t];r.visible&&r.updateTransform()}}calculateBounds(){this._bounds.clear(),this._calculateBounds();for(let t=0;t<this.children.length;t++){let r=this.children[t];if(r.visible&&r.renderable)if(r.calculateBounds(),r._mask){let t=r._mask.isMaskData?r._mask.maskObject:r._mask;t?(t.calculateBounds(),this._bounds.addBoundsMask(r._bounds,t._bounds)):this._bounds.addBounds(r._bounds)}else r.filterArea?this._bounds.addBoundsArea(r._bounds,r.filterArea):this._bounds.addBounds(r._bounds)}this._bounds.updateID=this._boundsID}getLocalBounds(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=super.getLocalBounds(t);if(!r)for(let t=0,r=this.children.length;t<r;++t){let r=this.children[t];r.visible&&r.updateTransform()}return n}_calculateBounds(){}_renderWithCulling(r){let n,i,o=r.renderTexture.sourceFrame;if(!(o.width>0&&o.height>0))return;this.cullArea?(n=this.cullArea,i=this.worldTransform):this._render!==t.prototype._render&&(n=this.getBounds(!0));let a=r.projection.transform;if(a&&(i?(i=y.copyFrom(i)).prepend(a):i=a),n&&o.intersects(n,i))this._render(r);else if(this.cullArea)return;for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t],i=n.cullable;n.cullable=i||!this.cullArea,n.render(r),n.cullable=i}}render(t){if(this.visible&&!(this.worldAlpha<=0)&&this.renderable)if(this._mask||this.filters?.length)this.renderAdvanced(t);else if(this.cullable)this._renderWithCulling(t);else{this._render(t);for(let r=0,n=this.children.length;r<n;++r)this.children[r].render(t)}}renderAdvanced(t){let r=this.filters,n=this._mask;if(r){this._enabledFilters||(this._enabledFilters=[]),this._enabledFilters.length=0;for(let t=0;t<r.length;t++)r[t].enabled&&this._enabledFilters.push(r[t])}let i=r&&this._enabledFilters?.length||n&&(!n.isMaskData||n.enabled&&(n.autoDetect||n.type!==c.vg.NONE));if(i&&t.batch.flush(),r&&this._enabledFilters?.length&&t.filter.push(this,this._enabledFilters),n&&t.mask.push(this,this._mask),this.cullable)this._renderWithCulling(t);else{this._render(t);for(let r=0,n=this.children.length;r<n;++r)this.children[r].render(t)}i&&t.batch.flush(),n&&t.mask.pop(this),r&&this._enabledFilters?.length&&t.filter.pop()}_render(t){}destroy(t){super.destroy(),this.sortDirty=!1;let r="boolean"==typeof t?t:t?.children,n=this.removeChildren(0,this.children.length);if(r)for(let r=0;r<n.length;++r)n[r].destroy(t)}get width(){return this.scale.x*this.getLocalBounds().width}set width(t){let r=this.getLocalBounds().width;this.scale.x=0!==r?t/r:1,this._width=t}get height(){return this.scale.y*this.getLocalBounds().height}set height(t){let r=this.getLocalBounds().height;this.scale.y=0!==r?t/r:1,this._height=t}};g.defaultSortableChildren=!1;let v=g;v.prototype.containerUpdateTransform=v.prototype.updateTransform,Object.defineProperties(c.W0,{SORTABLE_CHILDREN:{get:()=>v.defaultSortableChildren,set(t){c.Wp.deprecation("7.1.0","settings.SORTABLE_CHILDREN is deprecated, use Container.defaultSortableChildren"),v.defaultSortableChildren=t}}});let b=new c.bR,w=new Uint16Array([0,1,2,0,2,3]);class x extends v{constructor(t){super(),this._anchor=new c.oA(this._onAnchorUpdate,this,t?t.defaultAnchor.x:0,t?t.defaultAnchor.y:0),this._texture=null,this._width=0,this._height=0,this._tintColor=new c.Q1(0xffffff),this._tintRGB=null,this.tint=0xffffff,this.blendMode=c.B9.NORMAL,this._cachedTint=0xffffff,this.uvs=null,this.texture=t||c.gP.EMPTY,this.vertexData=new Float32Array(8),this.vertexTrimmedData=null,this._transformID=-1,this._textureID=-1,this._transformTrimmedID=-1,this._textureTrimmedID=-1,this.indices=w,this.pluginName="batch",this.isSprite=!0,this._roundPixels=c.W0.ROUND_PIXELS}_onTextureUpdate(){this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=0xffffff,this._width&&(this.scale.x=c.Wp.sign(this.scale.x)*this._width/this._texture.orig.width),this._height&&(this.scale.y=c.Wp.sign(this.scale.y)*this._height/this._texture.orig.height)}_onAnchorUpdate(){this._transformID=-1,this._transformTrimmedID=-1}calculateVertices(){let t=this._texture;if(this._transformID===this.transform._worldID&&this._textureID===t._updateID)return;this._textureID!==t._updateID&&(this.uvs=this._texture._uvs.uvsFloat32),this._transformID=this.transform._worldID,this._textureID=t._updateID;let r=this.transform.worldTransform,n=r.a,i=r.b,o=r.c,a=r.d,s=r.tx,u=r.ty,l=this.vertexData,h=t.trim,f=t.orig,d=this._anchor,p=0,y=0,m=0,g=0;
3201if(h?(p=(y=h.x-d._x*f.width)+h.width,m=(g=h.y-d._y*f.height)+h.height):(p=(y=-d._x*f.width)+f.width,m=(g=-d._y*f.height)+f.height),l[0]=n*y+o*g+s,l[1]=a*g+i*y+u,l[2]=n*p+o*g+s,l[3]=a*g+i*p+u,l[4]=n*p+o*m+s,l[5]=a*m+i*p+u,l[6]=n*y+o*m+s,l[7]=a*m+i*y+u,this._roundPixels){let t=c.W0.RESOLUTION;for(let r=0;r<l.length;++r)l[r]=Math.round(l[r]*t)/t}}calculateTrimmedVertices(){if(this.vertexTrimmedData){if(this._transformTrimmedID===this.transform._worldID&&this._textureTrimmedID===this._texture._updateID)return}else this.vertexTrimmedData=new Float32Array(8);this._transformTrimmedID=this.transform._worldID,this._textureTrimmedID=this._texture._updateID;let t=this._texture,r=this.vertexTrimmedData,n=t.orig,i=this._anchor,o=this.transform.worldTransform,a=o.a,s=o.b,u=o.c,l=o.d,h=o.tx,f=o.ty,d=-i._x*n.width,p=d+n.width,y=-i._y*n.height,m=y+n.height;if(r[0]=a*d+u*y+h,r[1]=l*y+s*d+f,r[2]=a*p+u*y+h,r[3]=l*y+s*p+f,r[4]=a*p+u*m+h,r[5]=l*m+s*p+f,r[6]=a*d+u*m+h,r[7]=l*m+s*d+f,this._roundPixels){let t=c.W0.RESOLUTION;for(let n=0;n<r.length;++n)r[n]=Math.round(r[n]*t)/t}}_render(t){this.calculateVertices(),t.batch.setObjectRenderer(t.plugins[this.pluginName]),t.plugins[this.pluginName].render(this)}_calculateBounds(){let t=this._texture.trim,r=this._texture.orig;t&&(t.width!==r.width||t.height!==r.height)?(this.calculateTrimmedVertices(),this._bounds.addQuad(this.vertexTrimmedData)):(this.calculateVertices(),this._bounds.addQuad(this.vertexData))}getLocalBounds(t){return 0===this.children.length?(this._localBounds||(this._localBounds=new f),this._localBounds.minX=-(this._texture.orig.width*this._anchor._x),this._localBounds.minY=-(this._texture.orig.height*this._anchor._y),this._localBounds.maxX=this._texture.orig.width*(1-this._anchor._x),this._localBounds.maxY=this._texture.orig.height*(1-this._anchor._y),t||(this._localBoundsRect||(this._localBoundsRect=new c.M_),t=this._localBoundsRect),this._localBounds.getRectangle(t)):super.getLocalBounds.call(this,t)}containsPoint(t){this.worldTransform.applyInverse(t,b);let r=this._texture.orig.width,n=this._texture.orig.height,i=-r*this.anchor.x,o=0;return b.x>=i&&b.x<i+r&&(o=-n*this.anchor.y,b.y>=o&&b.y<o+n)}destroy(t){if(super.destroy(t),this._texture.off("update",this._onTextureUpdate,this),this._anchor=null,"boolean"==typeof t?t:t?.texture){let r="boolean"==typeof t?t:t?.baseTexture;this._texture.destroy(!!r)}this._texture=null}static from(t,r){return new x(t instanceof c.gP?t:c.gP.from(t,r))}set roundPixels(t){this._roundPixels!==t&&(this._transformID=-1,this._transformTrimmedID=-1),this._roundPixels=t}get roundPixels(){return this._roundPixels}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){let r=c.Wp.sign(this.scale.x)||1;this.scale.x=r*t/this._texture.orig.width,this._width=t}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){let r=c.Wp.sign(this.scale.y)||1;this.scale.y=r*t/this._texture.orig.height,this._height=t}get anchor(){return this._anchor}set anchor(t){this._anchor.copyFrom(t)}get tint(){return this._tintColor.value}set tint(t){this._tintColor.setValue(t),this._tintRGB=this._tintColor.toLittleEndianNumber()}get tintValue(){return this._tintColor.toNumber()}get texture(){return this._texture}set texture(t){this._texture!==t&&(this._texture&&this._texture.off("update",this._onTextureUpdate,this),this._texture=t||c.gP.EMPTY,this._cachedTint=0xffffff,this._textureID=-1,this._textureTrimmedID=-1,t&&(t.baseTexture.valid?this._onTextureUpdate():t.once("update",this._onTextureUpdate,this)))}}let _=new c.uq;d.prototype._cacheAsBitmap=!1,d.prototype._cacheData=null,d.prototype._cacheAsBitmapResolution=null,d.prototype._cacheAsBitmapMultisample=null;class T{constructor(){this.textureCacheId=null,this.originalRender=null,this.originalRenderCanvas=null,this.originalCalculateBounds=null,this.originalGetLocalBounds=null,this.originalUpdateTransform=null,this.originalDestroy=null,this.originalMask=null,this.originalFilterArea=null,this.originalContainsPoint=null,this.sprite=null}}Object.defineProperties(d.prototype,{cacheAsBitmapResolution:{get(){return this._cacheAsBitmapResolution},set(t){t!==this._cacheAsBitmapResolution&&(this._cacheAsBitmapResolution=t,this.cacheAsBitmap&&(this.cacheAsBitmap=!1,this.cacheAsBitmap=!0))}},cacheAsBitmapMultisample:{get(){return this._cacheAsBitmapMultisample},set(t){t!==this._cacheAsBitmapMultisample&&(this._cacheAsBitmapMultisample=t,this.cacheAsBitmap&&(this.cacheAsBitmap=!1,this.cacheAsBitmap=!0))}},cacheAsBitmap:{get(){return this._cacheAsBitmap},set(t){let r;this._cacheAsBitmap!==t&&(this._cacheAsBitmap=t,t?(this._cacheData||(this._cacheData=new T),(r=this._cacheData).originalRender=this.render,r.originalRenderCanvas=this.renderCanvas,r.originalUpdateTransform=this.updateTransform,r.originalCalculateBounds=this.calculateBounds,r.originalGetLocalBounds=this.getLocalBounds,r.originalDestroy=this.destroy,r.originalContainsPoint=this.containsPoint,r.originalMask=this._mask,r.originalFilterArea=this.filterArea,this.render=this._renderCached,this.renderCanvas=this._renderCachedCanvas,this.destroy=this._cacheAsBitmapDestroy):((r=this._cacheData).sprite&&this._destroyCachedDisplayObject(),this.render=r.originalRender,this.renderCanvas=r.originalRenderCanvas,this.calculateBounds=r.originalCalculateBounds,this.getLocalBounds=r.originalGetLocalBounds,this.destroy=r.originalDestroy,this.updateTransform=r.originalUpdateTransform,this.containsPoint=r.originalContainsPoint,this._mask=r.originalMask,this.filterArea=r.originalFilterArea))}}}),d.prototype._renderCached=function(t){this.visible&&!(this.worldAlpha<=0)&&this.renderable&&(this._initCachedDisplayObject(t),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._render(t))},d.prototype._initCachedDisplayObject=function(t){if(this._cacheData?.sprite)return;let r=this.alpha;this.alpha=1,t.batch.flush();let n=this.getLocalBounds(new c.M_,!0);if(this.filters?.length){let t=this.filters[0].padding;n.pad(t)}let i=this.cacheAsBitmapResolution||t.resolution;n.ceil(i),n.width=Math.max(n.width,1/i),n.height=Math.max(n.height,1/i);let o=t.renderTexture.current,a=t.renderTexture.sourceFrame.clone(),s=t.renderTexture.destinationFrame.clone(),u=t.projection.transform,l=c.Y7.create({width:n.width,height:n.height,resolution:i,multisample:this.cacheAsBitmapMultisample??t.multisample}),h=`cacheAsBitmap_${c.Wp.uid()}`;this._cacheData.textureCacheId=h,c.t5.addToCache(l.baseTexture,h),c.gP.addToCache(l,h);let f=this.transform.localTransform.copyTo(_).invert().translate(-n.x,-n.y);this.render=this._cacheData.originalRender,t.render(this,{renderTexture:l,clear:!0,transform:f,skipUpdateTransform:!1}),t.framebuffer.blit(),t.projection.transform=u,t.renderTexture.bind(o,a,s),this.render=this._renderCached,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null,this.alpha=r;let d=new x(l);d.transform.worldTransform=this.transform.worldTransform,d.anchor.x=-n.x/n.width,d.anchor.y=-n.y/n.height,d.alpha=r,d._bounds=this._bounds,this._cacheData.sprite=d,this.transform._parentID=-1,this.parent?this.updateTransform():(this.enableTempParent(),this.updateTransform(),this.disableTempParent(null)),this.containsPoint=d.containsPoint.bind(d)},d.prototype._renderCachedCanvas=function(t){this.visible&&!(this.worldAlpha<=0)&&this.renderable&&(this._initCachedDisplayObjectCanvas(t),this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._renderCanvas(t))},d.prototype._initCachedDisplayObjectCanvas=function(t){if(this._cacheData?.sprite)return;let r=this.getLocalBounds(new c.M_,!0),n=this.alpha;this.alpha=1;let i=t.canvasContext.activeContext,o=t._projTransform,a=this.cacheAsBitmapResolution||t.resolution;r.ceil(a),r.width=Math.max(r.width,1/a),r.height=Math.max(r.height,1/a);let s=c.Y7.create({width:r.width,height:r.height,resolution:a}),u=`cacheAsBitmap_${c.Wp.uid()}`;this._cacheData.textureCacheId=u,c.t5.addToCache(s.baseTexture,u),c.gP.addToCache(s,u),this.transform.localTransform.copyTo(_),_.invert(),_.tx-=r.x,_.ty-=r.y,this.renderCanvas=this._cacheData.originalRenderCanvas,t.render(this,{renderTexture:s,clear:!0,transform:_,ski
3201pUpdateTransform:!1}),t.canvasContext.activeContext=i,t._projTransform=o,this.renderCanvas=this._renderCachedCanvas,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null,this.alpha=n;let l=new x(s);l.transform.worldTransform=this.transform.worldTransform,l.anchor.x=-r.x/r.width,l.anchor.y=-r.y/r.height,l.alpha=n,l._bounds=this._bounds,this._cacheData.sprite=l,this.transform._parentID=-1,this.parent?this.updateTransform():(this.parent=t._tempDisplayObjectParent,this.updateTransform(),this.parent=null),this.containsPoint=l.containsPoint.bind(l)},d.prototype._calculateCachedBounds=function(){this._bounds.clear(),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite._calculateBounds(),this._bounds.updateID=this._boundsID},d.prototype._getCachedLocalBounds=function(){return this._cacheData.sprite.getLocalBounds(null)},d.prototype._destroyCachedDisplayObject=function(){this._cacheData.sprite._texture.destroy(!0),this._cacheData.sprite=null,c.t5.removeFromCache(this._cacheData.textureCacheId),c.gP.removeFromCache(this._cacheData.textureCacheId),this._cacheData.textureCacheId=null},d.prototype._cacheAsBitmapDestroy=function(t){this.cacheAsBitmap=!1,this.destroy(t)},d.prototype.name=null,v.prototype.getChildByName=function(t,r){for(let r=0,n=this.children.length;r<n;r++)if(this.children[r].name===t)return this.children[r];if(r)for(let r=0,n=this.children.length;r<n;r++){let n=this.children[r];if(!n.getChildByName)continue;let i=n.getChildByName(t,!0);if(i)return i}return null},d.prototype.getGlobalPosition=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new c.bR,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.parent?this.parent.toGlobal(this.position,t,r):(t.x=this.position.x,t.y=this.position.y),t};class S extends c.dJ{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;super(c.MT,`varying vec2 vTextureCoord;
3202
3203uniform sampler2D uSampler;
3204uniform float uAlpha;
3205
3206void main(void)
3207{
3208   gl_FragColor = texture2D(uSampler, vTextureCoord) * uAlpha;
3209}
3210`,{uAlpha:1}),this.alpha=t}get alpha(){return this.uniforms.uAlpha}set alpha(t){this.uniforms.uAlpha=t}}let E={5:[.153388,.221461,.250301],7:[.071303,.131514,.189879,.214607],9:[.028532,.067234,.124009,.179044,.20236],11:[.0093,.028002,.065984,.121703,.175713,.198596],13:[.002406,.009255,.027867,.065666,.121117,.174868,.197641],15:[489e-6,.002403,.009246,.02784,.065602,.120999,.174697,.197448]},O=`varying vec2 vBlurTexCoords[%size%];
3211uniform sampler2D uSampler;
3212void main(void)
3213{
3214    gl_FragColor = vec4(0.0);
3215    %blur%
3216}`;class A extends c.dJ{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.dJ.defaultResolution,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:5;super(function(t,r){let n=Math.ceil(t/2),i,o=`
3217    attribute vec2 aVertexPosition;
3218
3219    uniform mat3 projectionMatrix;
3220
3221    uniform float strength;
3222
3223    varying vec2 vBlurTexCoords[%size%];
3224
3225    uniform vec4 inputSize;
3226    uniform vec4 outputFrame;
3227
3228    vec4 filterVertexPosition( void )
3229    {
3230        vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
3231
3232        return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
3233    }
3234
3235    vec2 filterTextureCoord( void )
3236    {
3237        return aVertexPosition * (outputFrame.zw * inputSize.zw);
3238    }
3239
3240    void main(void)
3241    {
3242        gl_Position = filterVertexPosition();
3243
3244        vec2 textureCoord = filterTextureCoord();
3245        %blur%
3246    }`,a="";i=r?"vBlurTexCoords[%index%] =  textureCoord + vec2(%sampleIndex% * strength, 0.0);":"vBlurTexCoords[%index%] =  textureCoord + vec2(0.0, %sampleIndex% * strength);";for(let r=0;r<t;r++){let t=i.replace("%index%",r.toString());a+=t=t.replace("%sampleIndex%",r-(n-1)+".0"),a+=`
3247`}return(o=o.replace("%blur%",a)).replace("%size%",t.toString())}(o,t),function(t){let r=E[t],n=r.length,i,o=O,a="";for(let o=0;o<t;o++){let s="gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;".replace("%index%",o.toString());i=o,o>=n&&(i=t-o-1),a+=s=s.replace("%value%",r[i].toString()),a+=`
3248`}return(o=o.replace("%blur%",a)).replace("%size%",t.toString())}(o)),this.horizontal=t,this.resolution=i,this._quality=0,this.qual
3248ity=n,this.blur=r}apply(t,r,n,i){if(n?this.horizontal?this.uniforms.strength=1/n.width*(n.width/r.width):this.uniforms.strength=1/n.height*(n.height/r.height):this.horizontal?this.uniforms.strength=1/t.renderer.width*(t.renderer.width/r.width):this.uniforms.strength=1/t.renderer.height*(t.renderer.height/r.height),this.uniforms.strength*=this.strength,this.uniforms.strength/=this.passes,1===this.passes)t.applyFilter(this,r,n,i);else{let o=t.getFilterTexture(),a=t.renderer,s=r,u=o;this.state.blend=!1,t.applyFilter(this,s,u,c.fr.CLEAR);for(let r=1;r<this.passes-1;r++){t.bindAndClear(s,c.fr.BLIT),this.uniforms.uSampler=u;let r=u;u=s,s=r,a.shader.bind(this),a.geometry.draw(5)}this.state.blend=!0,t.applyFilter(this,u,n,i),t.returnFilterTexture(o)}}get blur(){return this.strength}set blur(t){this.padding=1+2*Math.abs(t),this.strength=t}get quality(){return this._quality}set quality(t){this._quality=t,this.passes=t}}class I extends c.dJ{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.dJ.defaultResolution,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;super(),this._repeatEdgePixels=!1,this.blurXFilter=new A(!0,t,r,n,i),this.blurYFilter=new A(!1,t,r,n,i),this.resolution=n,this.quality=r,this.blur=t,this.repeatEdgePixels=!1}apply(t,r,n,i){let o=Math.abs(this.blurXFilter.strength),a=Math.abs(this.blurYFilter.strength);if(o&&a){let o=t.getFilterTexture();this.blurXFilter.apply(t,r,o,c.fr.CLEAR),this.blurYFilter.apply(t,o,n,i),t.returnFilterTexture(o)}else a?this.blurYFilter.apply(t,r,n,i):this.blurXFilter.apply(t,r,n,i)}updatePadding(){this._repeatEdgePixels?this.padding=0:this.padding=2*Math.max(Math.abs(this.blurXFilter.strength),Math.abs(this.blurYFilter.strength))}get blur(){return this.blurXFilter.blur}set blur(t){this.blurXFilter.blur=this.blurYFilter.blur=t,this.updatePadding()}get quality(){return this.blurXFilter.quality}set quality(t){this.blurXFilter.quality=this.blurYFilter.quality=t}get blurX(){return this.blurXFilter.blur}set blurX(t){this.blurXFilter.blur=t,this.updatePadding()}get blurY(){return this.blurYFilter.blur}set blurY(t){this.blurYFilter.blur=t,this.updatePadding()}get blendMode(){return this.blurYFilter.blendMode}set blendMode(t){this.blurYFilter.blendMode=t}get repeatEdgePixels(){return this._repeatEdgePixels}set repeatEdgePixels(t){this._repeatEdgePixels=t,this.updatePadding()}}class P extends c.dJ{constructor(){const t={m:new Float32Array([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]),uAlpha:1};super(c.Eo,`varying vec2 vTextureCoord;
3249uniform sampler2D uSampler;
3250uniform float m[20];
3251uniform float uAlpha;
3252
3253void main(void)
3254{
3255    vec4 c = texture2D(uSampler, vTextureCoord);
3256
3257    if (uAlpha == 0.0) {
3258        gl_FragColor = c;
3259        return;
3260    }
3261
3262    // Un-premultiply alpha before applying the color matrix. See issue #3539.
3263    if (c.a > 0.0) {
3264      c.rgb /= c.a;
3265    }
3266
3267    vec4 result;
3268
3269    result.r = (m[0] * c.r);
3270        result.r += (m[1] * c.g);
3271        result.r += (m[2] * c.b);
3272        result.r += (m[3] * c.a);
3273        result.r += m[4];
3274
3275    result.g = (m[5] * c.r);
3276        result.g += (m[6] * c.g);
3277        result.g += (m[7] * c.b);
3278        result.g += (m[8] * c.a);
3279        result.g += m[9];
3280
3281    result.b = (m[10] * c.r);
3282       result.b += (m[11] * c.g);
3283       result.b += (m[12] * c.b);
3284       result.b += (m[13] * c.a);
3285       result.b += m[14];
3286
3287    result.a = (m[15] * c.r);
3288       result.a += (m[16] * c.g);
3289       result.a += (m[17] * c.b);
3290       result.a += (m[18] * c.a);
3291       result.a += m[19];
3292
3293    vec3 rgb = mix(c.rgb, result.rgb, uAlpha);
3294
3295    // Premultiply alpha again.
3296    rgb *= result.a;
3297
3298    gl_FragColor = vec4(rgb, result.a);
3299}
3300`,t),this.alpha=1}_loadMatrix(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t;r&&(this._multiply(n,this.uniforms.m,t),n=this._colorMatrix(n)),this.uniforms.m=n}_multiply(t,r,n){return t[0]=r[0]*n[0]+r[1]*n[5]+r[2]*n[10]+r[3]*n[15],t[1]=r[0]*n[1]+r[1]*n[6]+r[2]*n[11]+r[3]*n[16],t[2]=r[0]*n[2]+r[1]*n[7]+r[2]*n[12]+r[3]*n[17],t[3]=r[0]*n[3]+r[1]*n[8]+r[2]*n[13]+r[3]*n[18],t[4]=r[0]*n[4]+r[1]*n[9]+r[2]*n[14]+r[3]*n[19]+r[4],t[5]=r[5]*n[0]+r[6]*n[5]+r[7]*n[10]+r[8]*n[15],t[6]=r[5]*n[1]+r[6]*n[6]+r[7]*n[11]+r[8]*n[16],t[7]=r[5]*n[2]+r[6]*n[7]+r[7]*n[12]+r[8]*n[17],t[8]=r[5]*n[3]+r[6]*n[8]+r[7]*n[13]+r[8]*n[18],t[9]=r[5]*n[4]+r[6]*n[9]+r[7]*n[14]+r[8]*n[19]+r[9],t[10]=r[10]*n[0]+r[11]*n[5]+r[12]*n[10]+r[13]*n[15],t[11]=r[10]*n[1]+r[11]*n[6]+r[12]*n[11]+r[13]*n[16],t[12]=r[10]*n[2]+r[11]*n[7]+r[12]*n[12]+r[13]*n[17],t[13]=r[10]*n[3]+r[11]*n[8]+r[12]*n[13]+r[13]*n[18],t[14]=r[10]*n[4]+r[11]*n[9]+r[12]*n[14]+r[13]*n[19]+r[14],t[15]=r[15]*n[0]+r[16]*n[5]+r[17]*n[10]+r[18]*n[15],t[16]=r[15]*n[1]+r[16]*n[6]+r[17]*n[11]+r[18]*n[16],t[17]=r[15]*n[2]+r[16]*n[7]+r[17]*n[12]+r[18]*n[17],t[18]=r[15]*n[3]+r[16]*n[8]+r[17]*n[13]+r[18]*n[18],t[19]=r[15]*n[4]+r[16]*n[9]+r[17]*n[14]+r[18]*n[19]+r[19],t}_colorMatrix(t){let r=new Float32Array(t);return r[4]/=255,r[9]/=255,r[14]/=255,r[19]/=255,r}brightness(t,r){this._loadMatrix([t,0,0,0,0,0,t,0,0,0,0,0,t,0,0,0,0,0,1,0],r)}tint(t,r){let[n,i,o]=c.Q1.shared.setValue(t).toArray();this._loadMatrix([n,0,0,0,0,0,i,0,0,0,0,0,o,0,0,0,0,0,1,0],r)}greyscale(t,r){this._loadMatrix([t,t,t,0,0,t,t,t,0,0,t,t,t,0,0,0,0,0,1,0],r)}blackAndWhite(t){this._loadMatrix([.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0],t)}hue(t,r){let n=Math.cos(t=(t||0)/180*Math.PI),i=Math.sin(t),o=1/3,a=(0,Math.sqrt)(1/3);this._loadMatrix([n+(1-n)*o,o*(1-n)-a*i,o*(1-n)+a*i,0,0,o*(1-n)+a*i,n+o*(1-n),o*(1-n)-a*i,0,0,o*(1-n)-a*i,o*(1-n)+a*i,n+o*(1-n),0,0,0,0,0,1,0],r)}contrast(t,r){let n=(t||0)+1,i=-.5*(n-1);this._loadMatrix([n,0,0,0,i,0,n,0,0,i,0,0,n,0,i,0,0,0,1,0],r)}saturate(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0,n=2*t/3+1,i=-.5*(n-1);this._loadMatrix([n,i,i,0,0,i,n,i,0,0,i,i,n,0,0,0,0,0,1,0],r)}desaturate(){this.saturate(-1)}negative(t){this._loadMatrix([-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0],t)}sepia(t){this._loadMatrix([.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0],t)}technicolor(t){this._loadMatrix([1.9125277891456083,-.8545344976951645,-.091555084827
330055585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0],t)}polaroid(t){this._loadMatrix([1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0],t)}toBGR(t){this._loadMatrix([0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0],t)}kodachrome(t){this._loadMatrix([1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0],t)}browni(t){this._loadMatrix([.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0],t)}vintage(t){this._loadMatrix([.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0],t)}colorTone(t,r,n,i,o){t=t||.2,r=r||.15,n=n||0xffe580,i=i||3375104;let a=c.Q1.shared,[s,u,l]=a.setValue(n).toArray(),[h,f,d]=a.setValue(i).toArray(),p=[.3,.59,.11,0,0,s,u,l,t,0,h,f,d,r,0,s-h,u-f,l-d,0,0];this._loadMatrix(p,o)}night(t,r){let n=[-2*(t=t||.1),-t,0,0,0,-t,0,t,0,0,0,t,2*t,0,0,0,0,0,1,0];this._loadMatrix(n,r)}predator(t,r){this._loadMatrix([11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0],r)}lsd(t){this._loadMatrix([2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0],t)}reset(){this._loadMatrix([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],!1)}get matrix(){return this.uniforms.m}set matrix(t){this.uniforms.m=t}get alpha(){return this.uniforms.uAlpha}set alpha(t){this.uniforms.uAlpha=t}}P.prototype.grayscale=P.prototype.greyscale;class k extends c.dJ{constructor(t,r){const n=new c.uq;t.renderable=!1,super(`attribute vec2 aVertexPosition;
3301
3302uniform mat3 projectionMatrix;
3303uniform mat3 filterMatrix;
3304
3305varying vec2 vTextureCoord;
3306varying vec2 vFilterCoord;
3307
3308uniform vec4 inputSize;
3309uniform vec4 outputFrame;
3310
3311vec4 filterVertexPosition( void )
3312{
3313    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
3314
3315    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
3316}
3317
3318vec2 filterTextureCoord( void )
3319{
3320    return aVertexPosition * (outputFrame.zw * inputSize.zw);
3321}
3322
3323void main(void)
3324{
3325	gl_Position = filterVertexPosition();
3326	vTextureCoord = filterTextureCoord();
3327	vFilterCoord = ( filterMatrix * vec3( vTextureCoord, 1.0)  ).xy;
3328}
3329`,`varying vec2 vFilterCoord;
3330varying vec2 vTextureCoord;
3331
3332uniform vec2 scale;
3333uniform mat2 rotation;
3334uniform sampler2D uSampler;
3335uniform sampler2D mapSampler;
3336
3337uniform highp vec4 inputSize;
3338uniform vec4 inputClamp;
3339
3340void main(void)
3341{
3342  vec4 map =  texture2D(mapSampler, vFilterCoord);
3343
3344  map -= 0.5;
3345  map.xy = scale * inputSize.zw * (rotation * map.xy);
3346
3347  gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), inputClamp.xy, inputClamp.zw));
3348}
3349`,{mapSampler:t._texture,filterMatrix:n,scale:{x:1,y:1},rotation:new Float32Array([1,0,0,1])}),this.maskSprite=t,this.maskMatrix=n,null==r&&(r=20),this.scale=new c.bR(r,r)}apply(t,r,n,i){this.uniforms.filterMatrix=t.calculateSpriteMatrix(this.maskMatrix,this.maskSprite),this.uniforms.scale.x=this.scale.x,this.uniforms.scale.y=this.scale.y;let o=this.maskSprite.worldTransform,a=Math.sqrt(o.a*o.a+o.b*o.b),s=Math.sqrt(o.c*o.c+o.d*o.d);0!==a&&0!==s&&(this.uniforms.rotation[0]=o.a/a,this.uniforms.rotation[1]=o.b/a,this.uniforms.rotation[2]=o.c/s,this.uniforms.rotation[3]=o.d/s),t.applyFilter(this,r,n,i)}get map(){return this.uniforms.mapSampler}set map(t){this.uniforms.mapSampler=t}}class C extends c.dJ{constructor(){super(`
3350attribute vec2 aVertexPosition;
3351
3352uniform mat3 projectionMatrix;
3353
3354varying vec2 v_rgbNW;
3355varying vec2 v_rgbNE;
3356varying vec2 v_rgbSW;
3357varying vec2 v_rgbSE;
3358varying vec2 v_rgbM;
3359
3360varying vec2 vFragCoord;
3361
3362uniform vec4 inputSize;
3363uniform vec4 outputFrame;
3364
3365vec4 filterVertexPosition( void )
3366{
3367    vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
3368
3369    return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
3370}
3371
3372void texcoords(vec2 fragCoord, vec2 inverseVP,
3373               out vec2 v_rgbNW, out vec2 v_rgbNE,
3374               out vec2 v_rgbSW, out vec2 v_rgbSE,
3375               out vec2 v_rgbM) {
3376    v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP;
3377    v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP;
3378    v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP;
3379    v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP;
3380    v_rgbM = vec2(fragCoord * inverseVP);
3381}
3382
3383void main(void) {
3384
3385   gl_Position = filterVertexPosition();
3386
3387   vFragCoord = aVertexPosition * outputFrame.zw;
3388
3389   texcoords(vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);
3390}
3391`,`varying vec2 v_rgbNW;
3392varying vec2 v_rgbNE;
3393varying vec2 v_rgbSW;
3394varying vec2 v_rgbSE;
3395varying vec2 v_rgbM;
3396
3397varying vec2 vFragCoord;
3398uniform sampler2D uSampler;
3399uniform highp vec4 inputSize;
3400
3401
3402/**
3403 Basic FXAA implementation based on the code on geeks3d.com with the
3404 modification that the texture2DLod stuff was removed since it's
3405 unsupported by WebGL.
3406
3407 --
3408
3409 From:
3410 https://github.com/mitsuhiko/webgl-meincraft
3411
3412 Copyright (c) 2011 by Armin Ronacher.
3413
3414 Some rights reserved.
3415
3416 Redistribution and use in source and binary forms, with or without
3417 modification, are permitted provided that the following conditions are
3418 met:
3419
3420 * Redistributions of source code must retain the above copyright
3421 notice, this list of conditions and the following disclaimer.
3422
3423 * Redistributions in binary form must reproduce the above
3424 copyright notice, this list of conditions and the following
3425 disclaimer in the documentation and/or other materials provided
3426 with the distribution.
3427
3428 * The names of the contributors may not be used to endorse or
3429 promote products derived from this software without specific
3430 prior written permission.
3431
3432 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3433 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3434 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
3435 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3436 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
3437 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
3438 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
3439 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
3440 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3441 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3442 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3443 */
3444
3445#ifndef FXAA_REDUCE_MIN
3446#define FXAA_REDUCE_MIN   (1.0/ 128.0)
3447#endif
3448#ifndef FXAA_REDUCE_MUL
3449#define FXAA_REDUCE_MUL   (1.0 / 8.0)
3450#endif
3451#ifndef FXAA_SPAN_MAX
3452#define FXAA_SPAN_MAX     8.0
3453#endif
3454
3455//optimized version for mobile, where dependent
3456//texture reads can be a bottleneck
3457vec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 inverseVP,
3458          vec2 v_rgbNW, vec2 v_rgbNE,
3459          vec2 v_rgbSW, vec2 v_rgbSE,
3460          vec2 v_rgbM) {
3461    vec4 color;
3462    vec3 rgbNW = texture2D(tex, v_rgbNW).xyz;
3463    vec3 rgbNE = texture2D(tex, v_rgbNE).xyz;
3464    vec3 rgbSW = texture2D(tex, v_rgbSW).xyz;
3465    vec3 rgbSE = texture2D(tex, v_rgbSE).xyz;
3466    vec4 texColor = texture2D(tex, v_rgbM);
3467    vec3 rgbM  = texColor.xyz;
3468    vec3 luma = vec3(0.299, 0.587, 0.114);
3469    float lumaNW = dot(rgbNW, luma);
3470    float lumaNE = dot(rgbNE, luma);
3471    float lumaSW = dot(rgbSW, luma);
3472    float lumaSE = dot(rgbSE, luma);
3473    float lumaM  = dot(rgbM,  luma);
3474    float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
3475    float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
3476
3477    mediump vec2 dir;
3478    dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
3479    dir.y =  ((lumaNW + lumaSW) - (lumaNE + lumaSE));
3480
3481    float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *
3482                          (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
3483
3484    float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);
3485    dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
3486              max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
3487                  dir * rcpDirMin)) * inverseVP;
3488
3489    vec3 rgbA = 0.5 * (
3490                       texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz +
3491                       texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz);
3492    vec3 rgbB = rgbA * 0.5 + 0.25 * (
3493                                     texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz +
3494                                     texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz);
3495
3496    float lumaB = dot(rgbB, luma);
3497    if ((lumaB < lumaMin) || (lumaB > lumaMax))
3498        color = vec4(rgbA, texColor.a);
3499    else
3500        color = vec4(rgbB, texColor.a);
3501    return color;
3502}
3503
3504void main() {
3505
3506      vec4 color;
3507
3508      color = fxaa(uSampler, vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);
3509
3510      gl_FragColor = color;
3511}
3512`)}}class $ extends c.dJ{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.random();super(c.Eo,`precision highp float;
3513
3514varying vec2 vTextureCoord;
3515varying vec4 vColor;
3516
3517uniform float uNoise;
3518uniform float uSeed;
3519uniform sampler2D uSampler;
3520
3521float rand(vec2 co)
3522{
3523    return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);
3524}
3525
3526void main()
3527{
3528    vec4 color = texture2D(uSampler, vTextureCoord);
3529    float randomValue = rand(gl_FragCoord.xy * uSeed);
3530    float diff = (randomValue - 0.5) * uNoise;
3531
3532    // Un-premultiply alpha before applying the color matrix. See issue #3539.
3533    if (color.a > 0.0) {
3534        color.rgb /= color.a;
3535    }
3536
3537    color.r += diff;
3538    color.g += diff;
3539    color.b += diff;
3540
3541    // Premultiply alpha again.
3542    color.rgb *= color.a;
3543
3544    gl_FragColor = color;
3545}
3546`,{uNoise:0,uSeed:0}),this.noise=t,this.seed=r}get noise(){return this.uniforms.uNoise}set noise(t){this.uniforms.uNoise=t}get seed(){return this.uniforms.uSeed}set seed(t){this.uniforms.uSeed=t}}let R={AlphaFilter:S,BlurFilter:I,BlurFilterPass:A,ColorMatrixFilter:P,DisplacementFilter:k,FXAAFilter:C,NoiseFilter:$};Object.entries(R).forEach(t=>{let[r,n]=t;Object.defineProperty(R,r,{get:()=>(c.Wp.deprecation("7.1.0",`filters.${r} has moved to ${r}`),n)})});let D=new class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t}addTickerListener(){this.tickerAdded||!this.domElement||(c.Rv.system.add(this.tickerUpdate,this,c.dQ.INTERACTION),this.tickerAdded=!0)}removeTickerListener(){this.tickerAdded&&(c.Rv.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)}pointerMoved(){this._didMove=!0}update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove)return void(this._didMove=!1);let t=this.events.rootPointerEvent;this.events.supportsTouchEvents&&"touch"===t.pointerType||globalThis.document.dispatchEvent(new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY}))}tickerUpdate(t){this._deltaTime+=t,this._deltaTime<this.interactionFrequency||(this._deltaTime=0,this.update())}};class M{constructor(t){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=M.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new c.bR,this.page=new c.bR,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(t,r,n){throw Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(t,r,n,i,o){throw Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}}class L extends M{constructor(){super(...arguments),this.client=new c.bR,this.movement=new c.bR,this.offset=new c.bR,this.global=new c.bR,this.screen=new c.bR}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(t,r,n){return t.worldTransform.applyInverse(n||this.global,r)}getModifierState(t){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(t)}initMouseEvent(t,r,n,i,o,a,s,u,l,h,c,f,d,p,y){throw Error("Method not implemented.")}}class B extends L{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=!1}getCoalescedEvents(){return"pointermove"===this.type||"mousemove"===this.type||"touchmove"===this.type?[this]:[]}getPredictedEvents(){throw Error("getPredictedEvents is not supported!")}}class N extends L{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2}}N.DOM_DELTA_PIXEL=0,N.DOM_DELTA_LINE=1,N.DOM_DELTA_PAGE=2;let F=new c.bR,U=new c.bR;class j{constructor(t){this.dispatch=new c.Wp.EventEmitter,this.moveOnAll=!1,this.enableGlobalMoveEvents=!0,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=!1,this.rootTarget=t,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel)}addEventMapping(t,r){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:r,priority:0}),this.mappingTable[t].sort((t,r)=>t.priority-r.priority)}dispatchEvent(t,r){t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.prop
3546agate(t,r),this.dispatch.emit(r||t.type,t)}mapEvent(t){if(!this.rootTarget)return;let r=this.mappingTable[t.type];if(r)for(let n=0,i=r.length;n<i;n++)r[n].fn(t);else console.warn(`[EventBoundary]: Event mapping not defined for ${t.type}`)}hitTest(t,r){D.pauseUpdate=!0;let n=this[this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive"](this.rootTarget,this.rootTarget.eventMode,F.set(t,r),this.hitTestFn,this.hitPruneFn);return n&&n[0]}propagate(t,r){if(!t.target)return;let n=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(let i=0,o=n.length-1;i<o;i++)if(t.currentTarget=n[i],this.notifyTarget(t,r),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,r),!t.propagationStopped&&!t.propagationImmediatelyStopped){t.eventPhase=t.BUBBLING_PHASE;for(let i=n.length-2;i>=0;i--)if(t.currentTarget=n[i],this.notifyTarget(t,r),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._allInteractiveElements;if(0===n.length)return;t.eventPhase=t.BUBBLING_PHASE;let i=Array.isArray(r)?r:[r];for(let r=n.length-1;r>=0;r--)i.forEach(i=>{t.currentTarget=n[r],this.notifyTarget(t,i)})}propagationPath(t){let r=[t];for(let n=0;n<2048&&t!==this.rootTarget;n++){if(!t.parent)throw Error("Cannot find propagation path to disconnected target");r.push(t.parent),t=t.parent}return r.reverse(),r}hitTestMoveRecursive(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=!1;if(this._interactivePrune(t))return null;if(("dynamic"===t.eventMode||"dynamic"===r)&&(D.pauseUpdate=!1),t.interactiveChildren&&t.children){let u=t.children;for(let l=u.length-1;l>=0;l--){let h=u[l],c=this.hitTestMoveRecursive(h,this._isInteractive(r)?r:h.eventMode,n,i,o,a||o(t,n));if(c){if(c.length>0&&!c[c.length-1].parent)continue;let r=t.isInteractive();(c.length>0||r)&&(r&&this._allInteractiveElements.push(t),c.push(t)),0===this._hitElements.length&&(this._hitElements=c),s=!0}}}let u=this._isInteractive(r),l=t.isInteractive();return u&&l&&this._allInteractiveElements.push(t),a||this._hitElements.length>0?null:s?this._hitElements:u&&!o(t,n)&&i(t,n)?l?[t]:[]:null}hitTestRecursive(t,r,n,i,o){if(this._interactivePrune(t)||o(t,n))return null;if(("dynamic"===t.eventMode||"dynamic"===r)&&(D.pauseUpdate=!1),t.interactiveChildren&&t.children){let a=t.children;for(let s=a.length-1;s>=0;s--){let u=a[s],l=this.hitTestRecursive(u,this._isInteractive(r)?r:u.eventMode,n,i,o);if(l){if(l.length>0&&!l[l.length-1].parent)continue;let r=t.isInteractive();return(l.length>0||r)&&l.push(t),l}}}let a=this._isInteractive(r),s=t.isInteractive();return a&&i(t,n)?s?[t]:[]:null}_isInteractive(t){return"static"===t||"dynamic"===t}_interactivePrune(t){return!(t&&!t.isMask&&t.visible&&t.renderable&&"none"!==t.eventMode&&("passive"!==t.eventMode||t.interactiveChildren)&&!t.isMask)}hitPruneFn(t,r){if(t.hitArea&&(t.worldTransform.applyInverse(r,U),!t.hitArea.contains(U.x,U.y)))return!0;if(t._mask){let n=t._mask.isMaskData?t._mask.maskObject:t._mask;if(n&&!n.containsPoint?.(r))return!0}return!1}hitTestFn(t,r){return"passive"!==t.eventMode&&(!!t.hitArea||!!t.containsPoint&&t.containsPoint(r))}notifyTarget(t,r){let n=`on${r=r??t.type}`;t.currentTarget[n]?.(t);let i=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${r}capture`:r;this.notifyListeners(t,i),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,r)}mapPointerDown(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");let r=this.createPointerEvent(t);if(this.dispatchEvent(r,"pointerdown"),"touch"===r.pointerType)this.dispatchEvent(r,"touchstart");else if("mouse"===r.pointerType||"pen"===r.pointerType){let t=2===r.button;this.dispatchEvent(r,t?"rightdown":"mousedown")}this.trackingData(t.pointerId).pressTargetsByButton[t.button]=r.composedPath(),this.freeEvent(r)}mapPointerMove(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;let r=this.createPointerEvent(t);this._isPointerMoveEvent=!1;let n="mouse"===r.pointerType||"pen"===r.pointerType,i=this.trackingData(t.pointerId),o=this.findMountedTarget(i.overTargets);if(i.overTargets?.length>0&&o!==r.target){let i="mousemove"===t.type?"mouseout":"pointerout",a=this.createPointerEvent(t,i,o);if(this.dispatchEvent(a,"pointerout"),n&&this.dispatchEvent(a,"mouseout"),!r.composedPath().includes(o)){let i=this.createPointerEvent(t,"pointerleave",o);for(i.eventPhase=i.AT_TARGET;i.target&&!r.composedPath().includes(i.target);)i.currentTarget=i.target,this.notifyTarget(i),n&&this.notifyTarget(i,"mouseleave"),i.target=i.target.parent;this.freeEvent(i)}this.freeEvent(a)}if(o!==r.target){let i="mousemove"===t.type?"mouseover":"pointerover",a=this.clonePointerEvent(r,i);this.dispatchEvent(a,"pointerover"),n&&this.dispatchEvent(a,"mouseover");let s=o?.parent;for(;s&&s!==this.rootTarget.parent&&s!==r.target;)s=s.parent;if(!s||s===this.rootTarget.parent){let t=this.clonePointerEvent(r,"pointerenter");for(t.eventPhase=t.AT_TARGET;t.target&&t.target!==o&&t.target!==this.rootTarget.parent;)t.currentTarget=t.target,this.notifyTarget(t),n&&this.notifyTarget(t,"mouseenter"),t.target=t.target.parent;this.freeEvent(t)}this.freeEvent(a)}let a=[],s=this.enableGlobalMoveEvents??!0;this.moveOnAll?a.push("pointermove"):this.dispatchEvent(r,"pointermove"),s&&a.push("globalpointermove"),"touch"===r.pointerType&&(this.moveOnAll?a.splice(1,0,"touchmove"):this.dispatchEvent(r,"touchmove"),s&&a.push("globaltouchmove")),n&&(this.moveOnAll?a.splice(1,0,"mousemove"):this.dispatchEvent(r,"mousemove"),s&&a.push("globalmousemove"),this.cursor=r.target?.cursor),a.length>0&&this.all(r,a),this._allInteractiveElements.length=0,this._hitElements.length=0,i.overTargets=r.composedPath(),this.freeEvent(r)}mapPointerOver(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");let r=this.trackingData(t.pointerId),n=this.createPointerEvent(t),i="mouse"===n.pointerType||"pen"===n.pointerType;this.dispatchEvent(n,"pointerover"),i&&this.dispatchEvent(n,"mouseover"),"mouse"===n.pointerType&&(this.cursor=n.target?.cursor);let o=this.clonePointerEvent(n,"pointerenter");for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseenter"),o.target=o.target.parent;r.overTargets=n.composedPath(),this.freeEvent(n),this.freeEvent(o)}mapPointerOut(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");let r=this.trackingData(t.pointerId);if(r.overTargets){let n="mouse"===t.pointerType||"pen"===t.pointerType,i=this.findMountedTarget(r.overTargets),o=this.createPointerEvent(t,"pointerout",i);this.dispatchEvent(o),n&&this.dispatchEvent(o,"mouseout");let a=this.createPointerEvent(t,"pointerleave",i);for(a.eventPhase=a.AT_TARGET;a.target&&a.target!==this.rootTarget.parent;)a.currentTarget=a.target,this.notifyTarget(a),n&&this.notifyTarget(a,"mouseleave"),a.target=a.target.parent;r.overTargets=null,this.freeEvent(o),this.freeEvent(a)}this.cursor=null}mapPointerUp(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");let r=performance.now(),n=this.createPointerEvent(t);if(this.dispatchEvent(n,"pointerup"),"touch"===n.pointerType)this.dispatchEvent(n,"touchend");else if("mouse"===n.pointerType||"pen"===n.pointerType){let t=2===n.button;this.dispatchEvent(n,t?"rightup":"mouseup")}let i=this.trackingData(t.pointerId),o=this.findMountedTarget(i.pressTargetsByButton[t.button]),a=o;if(o&&!n.composedPath().includes(o)){let r=o;for(;r&&!n.composedPath().includes(r);){if(n.currentTarget=r,this.notifyTarget(n,"pointerupoutside"),"touch"===n.pointerType)this.notifyTarget(n,"touchendoutside");else if("mouse"===n.pointerType||"pen"===n.pointerType){let t=2===n.button;this.notifyTarget(n,t?"rightupoutside":"mouseupoutside")}r=r.parent}delete i.pressTargetsByButton[t.button],a=r}if(a){let o=this.clonePointerEvent(n,"click");o.target=a,o.path=null,i.clicksByButton[t.button]||(i.clicksByButton[t.button]={clickCount:0,target:o.target,timeStamp:r});let s=i.clicksByButton[t.button];if(s.target===o.target&&r-s.timeStamp<200?++s.clickCount:s.clickCount=1,s.target=o.target,s.timeStamp=r,o.detail=s.clickCount,"mouse"===o.pointerType){let t=2===o.button;this.dispatchEvent(o,t?"rightclick":"click")}else"touch"===o.pointerType&&this.dispatchEvent(o,"tap");this.dispatchEvent(o,"pointertap"),this.freeEvent(o)}this.freeEvent(n)}mapPointerUpOutside(t){if(!(t instanceof B))return void console.warn("EventBoundary cannot map a non-pointer event as a pointer event");let r=this.trackingData(t.pointerId),n=this.findMountedTarget(r.pressTargetsByButton[t.button]),i=this.createPointerEvent(t);if(n){let o=n;for(;o;)i.currentTarget=o,this.notifyTarget(i,"pointerupoutside"),"touch"===i.pointerType?this.notifyTarget(i,"touchendoutside"):("mouse"===i.pointerType||"pen"===i.pointerType)&&this.notifyTarget(i,2===i.button?"rightupoutside":"mouseupoutside"),o=o.parent;delete r.pressTargetsByButton[t.button]}this.freeEvent(i)}mapWheel(t){if(!(t instanceof N))return void console.warn("EventBoundary cannot map a non-wheel event as a wheel event");let r=this.createWheelEvent(t);this.dispatchEvent(r),this.freeEvent(r)}findMountedTarget(t){if(!t)return null;let r=t[0];for(let n=1;n<t.length&&t[n].parent===r;n++)r=t[n];return r}
3546createPointerEvent(t,r,n){let i=this.allocateEvent(B);return this.copyPointerData(t,i),this.copyMouseData(t,i),this.copyData(t,i),i.nativeEvent=t.nativeEvent,i.originalEvent=t,i.target=n??this.hitTest(i.global.x,i.global.y)??this._hitElements[0],"string"==typeof r&&(i.type=r),i}createWheelEvent(t){let r=this.allocateEvent(N);return this.copyWheelData(t,r),this.copyMouseData(t,r),this.copyData(t,r),r.nativeEvent=t.nativeEvent,r.originalEvent=t,r.target=this.hitTest(r.global.x,r.global.y),r}clonePointerEvent(t,r){let n=this.allocateEvent(B);return n.nativeEvent=t.nativeEvent,n.originalEvent=t.originalEvent,this.copyPointerData(t,n),this.copyMouseData(t,n),this.copyData(t,n),n.target=t.target,n.path=t.composedPath().slice(),n.type=r??n.type,n}copyWheelData(t,r){r.deltaMode=t.deltaMode,r.deltaX=t.deltaX,r.deltaY=t.deltaY,r.deltaZ=t.deltaZ}copyPointerData(t,r){t instanceof B&&r instanceof B&&(r.pointerId=t.pointerId,r.width=t.width,r.height=t.height,r.isPrimary=t.isPrimary,r.pointerType=t.pointerType,r.pressure=t.pressure,r.tangentialPressure=t.tangentialPressure,r.tiltX=t.tiltX,r.tiltY=t.tiltY,r.twist=t.twist)}copyMouseData(t,r){t instanceof L&&r instanceof L&&(r.altKey=t.altKey,r.button=t.button,r.buttons=t.buttons,r.client.copyFrom(t.client),r.ctrlKey=t.ctrlKey,r.metaKey=t.metaKey,r.movement.copyFrom(t.movement),r.screen.copyFrom(t.screen),r.shiftKey=t.shiftKey,r.global.copyFrom(t.global))}copyData(t,r){r.isTrusted=t.isTrusted,r.srcElement=t.srcElement,r.timeStamp=performance.now(),r.type=t.type,r.detail=t.detail,r.view=t.view,r.which=t.which,r.layer.copyFrom(t.layer),r.page.copyFrom(t.page)}trackingData(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}allocateEvent(t){this.eventPool.has(t)||this.eventPool.set(t,[]);let r=this.eventPool.get(t).pop()||new t(this);return r.eventPhase=r.NONE,r.currentTarget=null,r.path=null,r.target=null,r}freeEvent(t){if(t.manager!==this)throw Error("It is illegal to free an event not managed by this EventBoundary!");let r=t.constructor;this.eventPool.has(r)||this.eventPool.set(r,[]),this.eventPool.get(r).push(t)}notifyListeners(t,r){let n=t.currentTarget._events[r];if(n&&t.currentTarget.isInteractive())if("fn"in n)n.once&&t.currentTarget.removeListener(r,n.fn,void 0,!0),n.fn.call(n.context,t);else for(let i=0,o=n.length;i<o&&!t.propagationImmediatelyStopped;i++)n[i].once&&t.currentTarget.removeListener(r,n[i].fn,void 0,!0),n[i].fn.call(n[i].context,t)}}let z={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},G=class t{constructor(r){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=r,this.rootBoundary=new j(null),D.init(this),this.autoPreventDefault=!0,this.eventsAdded=!1,this.rootPointerEvent=new B(null),this.rootWheelEvent=new N(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...t.defaultEventFeatures},{set:(t,r,n)=>("globalMove"===r&&(this.rootBoundary.enableGlobalMoveEvents=n),t[r]=n,!0)}),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOverOut=this.onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(r){let{view:n,resolution:i}=this.renderer;this.setTargetElement(n),this.resolution=i,t._defaultEventMode=r.eventMode??"auto",Object.assign(this.features,r.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove}resolutionChange(t){this.resolution=t}destroy(){this.setTargetElement(null),this.renderer=null}setCursor(t){t=t||"default";let r=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(r=!1),this.currentCursor===t)return;this.currentCursor=t;let n=this.cursorStyles[t];if(n)switch(typeof n){case"string":r&&(this.domElement.style.cursor=n);break;case"function":n(t);break;case"object":r&&Object.assign(this.domElement.style,n)}else r&&"string"==typeof t&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,t)&&(this.domElement.style.cursor=t)}get pointer(){return this.rootPointerEvent}onPointerDown(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let r=this.normalizeToPointerData(t);this.autoPreventDefault&&r[0].isNormalized&&(t.cancelable||!("cancelable"in t))&&t.preventDefault();for(let t=0,n=r.length;t<n;t++){let n=r[t],i=this.bootstrapEvent(this.rootPointerEvent,n);this.rootBoundary.mapEvent(i)}this.setCursor(this.rootBoundary.cursor)}onPointerMove(t){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,D.pointerMoved();let r=this.normalizeToPointerData(t);for(let t=0,n=r.length;t<n;t++){let n=this.bootstrapEvent(this.rootPointerEvent,r[t]);this.rootBoundary.mapEvent(n)}this.setCursor(this.rootBoundary.cursor)}onPointerUp(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let r=t.target;t.composedPath&&t.composedPath().length>0&&(r=t.composedPath()[0]);let n=r!==this.domElement?"outside":"",i=this.normalizeToPointerData(t);for(let t=0,r=i.length;t<r;t++){let r=this.bootstrapEvent(this.rootPointerEvent,i[t]);r.type+=n,this.rootBoundary.mapEvent(r)}this.setCursor(this.rootBoundary.cursor)}onPointerOverOut(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let r=this.normalizeToPointerData(t);for(let t=0,n=r.length;t<n;t++){let n=this.bootstrapEvent(this.rootPointerEvent,r[t]);this.rootBoundary.mapEvent(n)}this.setCursor(this.rootBoundary.cursor)}onWheel(t){if(!this.features.wheel)return;let r=this.normalizeWheelEvent(t);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(r)}setTargetElement(t){this.removeEvents(),this.domElement=t,D.domElement=t,this.addEvents()}addEvents(){if(this.eventsAdded||!this.domElement)return;D.addTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this.onPointerMove,!0),this.domElement.addEventListener("pointerdown",this.onPointerDown,!0),this.domElement.addEventListener("pointerleave",this.onPointerOverOut,!0),this.domElement.addEventListener("pointerover",this.onPointerOverOut,!0),globalThis.addEventListener("pointerup",this.onPointerUp,!0)):(globalThis.document.addEventListener("mousemove",this.onPointerMove,!0),this.domElement.addEventListener("mousedown",this.onPointerDown,!0),this.domElement.addEventListener("mouseout",this.onPointerOverOut,!0),this.domElement.addEventListener("mouseover",this.onPointerOverOut,!0),globalThis.addEventListener("mouseup",this.onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this.onPointerDown,!0),this.domElement.addEventListener("touchend",this.onPointerUp,!0),this.domElement.addEventListener("touchmove",this.onPointerMove,!0))),this.domElement.addEventListener("wheel",this.onWheel,{passive:!0,capture:!0}),this.eventsAdded=!0}removeEvents(){if(!this.eventsAdded||!this.domElement)return;D.removeTickerListener();let t=this.domElement.style;globalThis.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction=""),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this.onPointerMove,!0),this.domElement.removeEventListener("pointerdown",this.onPointerDown,!0),this.domElement.removeEventListener("pointerleave",this.onPointerOverOut,!0),this.domElement.removeEventListener("pointerover",this.onPointerOverOut,!0),globalThis.removeEventListener("pointerup",this.onPointerUp,!0)):(globalThis.document.removeEventListener("mousemove",this.onPointerMove,!0),this.domElement.removeEventListener("mousedown",this.onPointerDown,!0),this.domElement.removeEventListener("mouseout",this.onPointerOverOut,!0),this.domElement.removeEventListener("mouseover",this.onPointerOverOut,!0),globalThis.removeEventListener("mouseup",this.onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this.onPointerDown,!0),this.domElement.removeEventListener("touchend",this.onPointerUp,!0),this.domElement.removeEventListener("touchmove",this.onPointerMove,!0))),this.domElement.removeEventListener("wheel",this.onWheel,!0),this.domElement=null,this.eventsAdded=!1}mapPositionToPoint(t,r,n){let i=this.domElement.isConnected?this.domElement.getBoundingClientRect():{x:0,y:0,width:this.domElement.width,height:this.domElement.height,left:0,top:0},o=1/this.resolution;t.x=(r-i.left)*(this.domElement.width/i.width)*o,t.y=(n-i.top)*(this.domElement.height/i.height)*o}normalizeToPointerData(t){let r=[];if(this.supportsTouchEvents&&t instanceof TouchEvent)for(let n=0,i=t.changedTouches.length;n<i;n++){let i=t.changedTouches[n];typeof i.button>"u"&&(i.button=0),typeof i.buttons>"u"&&(i.buttons=1),typeof i.isPrimary>"u"&&(i.isPrimary=1===t.touches.length&&"touchstart"===t.type),typeof i.width>"u"&&(i.width=i.radiusX||1),typeof i.height>"u"&&(i.height=i.radiusY||1),typeof i.tiltX>"u"&&(i.tiltX=0),typeof i.tiltY>"u"&&(i.tiltY=0),typeof i.pointerType>"u"&&(i.pointerType="touch"),typeof i.pointerId>"u"&&(i.pointerId=i.identifier||0),typeof i.pressure>"u"&&(i.pressure=i.force||.5),typeof i.twist>"u"&&(i.twist=0),typeof i.tangentialPressure>"u"&&(i.tangentialPressure=0),typeof i.layerX>"u"&&(i.layerX=i.offsetX=i.clientX),typeof i.layerY>"u"&&(i.layerY=i.offsetY=i.clientY),i.isNormalized=!0,i.type=t.type,r.pu
3546sh(i)}else globalThis.MouseEvent&&(!(t instanceof MouseEvent)||this.supportsPointerEvents&&t instanceof globalThis.PointerEvent)||(typeof t.isPrimary>"u"&&(t.isPrimary=!0),typeof t.width>"u"&&(t.width=1),typeof t.height>"u"&&(t.height=1),typeof t.tiltX>"u"&&(t.tiltX=0),typeof t.tiltY>"u"&&(t.tiltY=0),typeof t.pointerType>"u"&&(t.pointerType="mouse"),typeof t.pointerId>"u"&&(t.pointerId=1),typeof t.pressure>"u"&&(t.pressure=.5),typeof t.twist>"u"&&(t.twist=0),typeof t.tangentialPressure>"u"&&(t.tangentialPressure=0),t.isNormalized=!0),r.push(t);return r}normalizeWheelEvent(t){let r=this.rootWheelEvent;return this.transferMouseData(r,t),r.deltaX=t.deltaX,r.deltaY=t.deltaY,r.deltaZ=t.deltaZ,r.deltaMode=t.deltaMode,this.mapPositionToPoint(r.screen,t.clientX,t.clientY),r.global.copyFrom(r.screen),r.offset.copyFrom(r.screen),r.nativeEvent=t,r.type=t.type,r}bootstrapEvent(t,r){return t.originalEvent=null,t.nativeEvent=r,t.pointerId=r.pointerId,t.width=r.width,t.height=r.height,t.isPrimary=r.isPrimary,t.pointerType=r.pointerType,t.pressure=r.pressure,t.tangentialPressure=r.tangentialPressure,t.tiltX=r.tiltX,t.tiltY=r.tiltY,t.twist=r.twist,this.transferMouseData(t,r),this.mapPositionToPoint(t.screen,r.clientX,r.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.isTrusted=r.isTrusted,"pointerleave"===t.type&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=z[t.type]||t.type),t}transferMouseData(t,r){t.isTrusted=r.isTrusted,t.srcElement=r.srcElement,t.timeStamp=performance.now(),t.type=r.type,t.altKey=r.altKey,t.button=r.button,t.buttons=r.buttons,t.client.x=r.clientX,t.client.y=r.clientY,t.ctrlKey=r.ctrlKey,t.metaKey=r.metaKey,t.movement.x=r.movementX,t.movement.y=r.movementY,t.page.x=r.pageX,t.page.y=r.pageY,t.relatedTarget=null,t.shiftKey=r.shiftKey}};G.extension={name:"events",type:[c.Ag.RendererSystem,c.Ag.CanvasRendererSystem]},G.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};let V=G;function W(t){return"dynamic"===t||"static"===t}c.XO.add(V);let H={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,_internalInteractive:void 0,get interactive(){return this._internalInteractive??W(V.defaultEventMode)},set interactive(e){c.Wp.deprecation("7.2.0","Setting interactive is deprecated, use eventMode = 'none'/'passive'/'auto'/'static'/'dynamic' instead."),this._internalInteractive=e,this.eventMode=e?"static":"auto"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??V.defaultEventMode},set eventMode(e){this._internalInteractive=W(e),this._internalEventMode=e},isInteractive(){return"static"===this.eventMode||"dynamic"===this.eventMode},interactiveChildren:!0,hitArea:null,addEventListener(t,r,n){let i="boolean"==typeof n&&n||"object"==typeof n&&n.capture,o="object"==typeof n?n.signal:void 0,a="object"==typeof n&&!0===n.once,s="function"==typeof r?void 0:r;t=i?`${t}capture`:t;let u="function"==typeof r?r:r.handleEvent,l=this;o&&o.addEventListener("abort",()=>{l.off(t,u,s)}),a?l.once(t,u,s):l.on(t,u,s)},removeEventListener(t,r,n){let i="function"==typeof r?void 0:r;t="boolean"==typeof n&&n||"object"==typeof n&&n.capture?`${t}capture`:t,r="function"==typeof r?r:r.handleEvent,this.off(t,r,i)},dispatchEvent(t){if(!(t instanceof M))throw Error("DisplayObject cannot propagate events outside of the Federated Events API");return t.defaultPrevented=!1,t.path=null,t.target=this,t.manager.dispatchEvent(t),!t.defaultPrevented}};d.mixin(H);let q={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessiblePointerEvents:"auto",accessibleChildren:!0,renderId:-1};d.mixin(q);class Y{constructor(t){this.debug=!1,this._isActive=!1,this._isMobileAccessibility=!1,this.pool=[],this.renderId=0,this.children=[],this.androidUpdateCount=0,this.androidUpdateFrequency=500,this._hookDiv=null,(c.Wp.isMobile.tablet||c.Wp.isMobile.phone)&&this.createTouchHook();const r=document.createElement("div");r.style.width="100px",r.style.height="100px",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.zIndex="2",this.div=r,this.renderer=t,this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}createTouchHook(){let t=document.createElement("button");t.style.width="1px",t.style.height="1px",t.style.position="absolute",t.style.top="-1000px",t.style.left="-1000px",t.style.zIndex="2",t.style.backgroundColor="#FF0000",t.title="select to enable accessibility for this content",t.addEventListener("focus",()=>{this._isMobileAccessibility=!0,this.activate(),this.destroyTouchHook()}),document.body.appendChild(t),this._hookDiv=t}destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null)}activate(){this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this.renderer.on("postrender",this.update,this),this.renderer.view.parentNode?.appendChild(this.div))}deactivate(){!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this.renderer.off("postrender",this.update),this.div.parentNode?.removeChild(this.div))}updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&t.isInteractive()&&(t._accessibleActive||this.addChild(t),t.renderId=this.renderId);let r=t.children;if(r)for(let t=0;t<r.length;t++)this.updateAccessibleObjects(r[t])}update(){let t=performance.now();if(c.Wp.isMobile.android.device&&t<this.androidUpdateCount||(this.androidUpdateCount=t+this.androidUpdateFrequency,!this.renderer.renderingToScreen))return;this.renderer.lastObjectRendered&&this.updateAccessibleObjects(this.renderer.lastObjectRendered);let{x:r,y:n,width:i,height:o}=this.renderer.view.getBoundingClientRect(),{width:a,height:s,resolution:u}=this.renderer,l=i/a*u,h=o/s*u,f=this.div;f.style.left=`${r}px`,f.style.top=`${n}px`,f.style.width=`${a}px`,f.style.height=`${s}px`;for(let t=0;t<this.children.length;t++){let r=this.children[t];if(r.renderId!==this.renderId)r._accessibleActive=!1,c.Wp.removeItems(this.children,t,1),this.div.removeChild(r._accessibleDiv),this.pool.push(r._accessibleDiv),r._accessibleDiv=null,t--;else{f=r._accessibleDiv;let t=r.hitArea,n=r.worldTransform;r.hitArea?(f.style.left=(n.tx+t.x*n.a)*l+"px",f.style.top=(n.ty+t.y*n.d)
3546*h+"px",f.style.width=t.width*n.a*l+"px",f.style.height=t.height*n.d*h+"px"):(t=r.getBounds(),this.capHitArea(t),f.style.left=t.x*l+"px",f.style.top=t.y*h+"px",f.style.width=t.width*l+"px",f.style.height=t.height*h+"px",f.title!==r.accessibleTitle&&null!==r.accessibleTitle&&(f.title=r.accessibleTitle),f.getAttribute("aria-label")!==r.accessibleHint&&null!==r.accessibleHint&&f.setAttribute("aria-label",r.accessibleHint)),(r.accessibleTitle!==f.title||r.tabIndex!==f.tabIndex)&&(f.title=r.accessibleTitle,f.tabIndex=r.tabIndex,this.debug&&this.updateDebugHTML(f))}}this.renderId++}updateDebugHTML(t){t.innerHTML=`type: ${t.type}</br> title : ${t.title}</br> tabIndex: ${t.tabIndex}`}capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);let{width:r,height:n}=this.renderer;t.x+t.width>r&&(t.width=r-t.x),t.y+t.height>n&&(t.height=n-t.y)}addChild(t){let r=this.pool.pop();r||((r=document.createElement("button")).style.width="100px",r.style.height="100px",r.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",r.style.position="absolute",r.style.zIndex="2",r.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?r.setAttribute("aria-live","off"):r.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?r.setAttribute("aria-relevant","additions"):r.setAttribute("aria-relevant","text"),r.addEventListener("click",this._onClick.bind(this)),r.addEventListener("focus",this._onFocus.bind(this)),r.addEventListener("focusout",this._onFocusOut.bind(this))),r.style.pointerEvents=t.accessiblePointerEvents,r.type=t.accessibleType,t.accessibleTitle&&null!==t.accessibleTitle?r.title=t.accessibleTitle:t.accessibleHint&&null!==t.accessibleHint||(r.title=`displayObject ${t.tabIndex}`),t.accessibleHint&&null!==t.accessibleHint&&r.setAttribute("aria-label",t.accessibleHint),this.debug&&this.updateDebugHTML(r),t._accessibleActive=!0,t._accessibleDiv=r,r.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex}_dispatchEvent(t,r){let{displayObject:n}=t.target,i=this.renderer.events.rootBoundary,o=Object.assign(new M(i),{target:n});i.rootTarget=this.renderer.lastObjectRendered,r.forEach(t=>i.dispatchEvent(o,t))}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"])}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"])}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"])}_onKeyDown(t){9===t.keyCode&&this.activate()}_onMouseMove(t){0===t.movementX&&0===t.movementY||this.deactivate()}destroy(){this.destroyTouchHook(),this.div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this.pool=null,this.children=null,this.renderer=null}}Y.extension={name:"accessibility",type:[c.Ag.RendererPlugin,c.Ag.CanvasRendererPlugin]},c.XO.add(Y);let X=class t{constructor(r){this.stage=new v,r=Object.assign({forceCanvas:!1},r),this.renderer=(0,c.q5)(r),t._plugins.forEach(t=>{t.init.call(this,r)})}render(){this.renderer.render(this.stage)}get view(){return this.renderer?.view}get screen(){return this.renderer?.screen}destroy(r,n){let i=t._plugins.slice(0);
3546i.reverse(),i.forEach(t=>{t.destroy.call(this)}),this.stage.destroy(n),this.stage=null,this.renderer.destroy(r),this.renderer=null}};X._plugins=[];let K=X;c.XO.handleByList(c.Ag.Application,K._plugins);class Z{static init(t){Object.defineProperty(this,"resizeTo",{set(t){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=t,t&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this.cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this.cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{let t,r;if(this._resizeTo){if(this.cancelResize(),this._resizeTo===globalThis.window)t=globalThis.innerWidth,r=globalThis.innerHeight;else{let{clientWidth:n,clientHeight:i}=this._resizeTo;t=n,r=i}this.renderer.resize(t,r),this.render()}},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this.cancelResize(),this.cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}Z.extension=c.Ag.Application,c.XO.add(Z);let J={loader:c.Ag.LoadParser,resolver:c.Ag.ResolveParser,cache:c.Ag.CacheParser,detection:c.Ag.DetectionParser};c.XO.handle(c.Ag.Asset,t=>{let r=t.ref;Object.entries(J).filter(t=>{let[n]=t;return!!r[n]}).forEach(t=>{let[n,i]=t;return c.XO.add(Object.assign(r[n],{extension:r[n].extension??i}))})},t=>{let r=t.ref;Object.keys(J).filter(t=>!!r[t]).forEach(t=>c.XO.remove(r[t]))});class Q{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=r}add(t){t.forEach(t=>{this._assetList.push(t)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;let t=[],r=Math.min(this._assetList.length,this._maxConcurrent);for(let n=0;n<r;n++)t.push(this._assetList.pop());await this._loader.load(t),this._isLoading=!1,this._next()}}get active(){return this._isActive}set active(t){this._isActive!==t&&(this._isActive=t,t&&!this._isLoading&&this._next())}}function ee(t,r){let n=t.split("?")[0],i=c.Wp.path.extname(n).toLowerCase();return Array.isArray(r)?r.includes(i):i===r}let et=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Array.isArray(t)||(t=[t]),r?t.map(t=>"string"==typeof t||n?r(t):t):t},er=new class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){let r=this._cache.get(t);return r||console.warn(`[Assets] Asset id ${t} was not found in the Cache`),r}set(t,r){let n,i=et(t);for(let t=0;t<this.parsers.length;t++){let o=this.parsers[t];if(o.test(r)){n=o.getCacheableAssets(i,r);break}}n||(n={},i.forEach(t=>{n[t]=r}));let o=Object.keys(n),a={cacheKeys:o,keys:i};i.forEach(t=>{this._cacheMap.set(t,a)}),o.forEach(t=>{this._cache.has(t)&&this._cache.get(t)!==r&&console.warn("[Cache] already has key:",t),this._cache.set(t,n[t])}),r instanceof c.gP&&i.forEach(t=>{r.baseTexture!==c.gP.EMPTY.baseTexture&&c.t5.addToCache(r.baseTexture,t),c.gP.addToCache(r,t)})}remove(t){if(!this._cacheMap.has(t))return void console.warn(`[Assets] Asset id ${t} was not found in the Cache`);let r=this._cacheMap.get(t);r.cacheKeys.forEach(t=>{this._cache.delete(t)}),r.keys.forEach(t=>{this._cacheMap.delete(t)})}get parsers(){return this._parsers}},en=t=>!Array.isArray(t);class ei{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,r,n)=>(this._parsersValidated=!1,t[r]=n,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,r){let n={promise:null,parser:null};return n.promise=(async()=>{let i=null,o=null;if(r.loadParser&&((o=this._parserHash[r.loadParser])||console.warn(`[Assets] specified load parser "${r.loadParser}" not found while loading ${t}`)),!o){for(let n=0;n<this.parsers.length;n++){let i=this.parsers[n];if(i.load&&i.test?.(t,r,this)){o=i;break}}if(!o)return console.warn(`[Assets] ${t} could not be loaded as we don't know how to parse it, ensure the correct parser has been added`),null}i=await o.load(t,r,this),n.parser=o;for(let t=0;t<this.parsers.length;t++){let o=this.parsers[t];o.parse&&o.parse&&await o.testParse?.(i,r,this)&&(i=await o.parse(i,r,this)||i,n.parser=o)}return i})(),n}
3546async load(t,r){this._parsersValidated||this._validateParsers();let n=0,i={},o=en(t),a=et(t,t=>({alias:[t],src:t})),s=a.length,u=a.map(async t=>{let o=c.Wp.path.toAbsolute(t.src);if(!i[t.src])try{this.promiseCache[o]||(this.promiseCache[o]=this._getLoadPromiseAndParser(o,t)),i[t.src]=await this.promiseCache[o].promise,r&&r(++n/s)}catch(r){throw delete this.promiseCache[o],delete i[t.src],Error(`[Loader.load] Failed to load ${o}.
3547${r}`)}});return await Promise.all(u),o?i[a[0].src]:i}async unload(t){let r=et(t,t=>({alias:[t],src:t})).map(async t=>{let r=c.Wp.path.toAbsolute(t.src),n=this.promiseCache[r];if(n){let i=await n.promise;delete this.promiseCache[r],n.parser?.unload?.(i,t,this)}});await Promise.all(r)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name).reduce((t,r)=>(t[r.name]&&console.warn(`[Assets] loadParser name conflict "${r.name}"`),{...t,[r.name]:r}),{})}}var eo=((a=eo||{})[a.Low=0]="Low",a[a.Normal=1]="Normal",a[a.High=2]="High",a);function ea(t,r){if(Array.isArray(r)){for(let n of r)if(t.startsWith(`data:${n}`))return!0;return!1}return t.startsWith(`data:${r}`)}let es={extension:{type:c.Ag.LoadParser,priority:eo.Low},name:"loadJson",test:t=>ea(t,"application/json")||ee(t,".json"),load:async t=>await (await c.W0.ADAPTER.fetch(t)).json()};c.XO.add(es);let eu={name:"loadTxt",extension:{type:c.Ag.LoadParser,priority:eo.Low},test:t=>ea(t,"text/plain")||ee(t,".txt"),load:async t=>await (await c.W0.ADAPTER.fetch(t)).text()};c.XO.add(eu);let el=["normal","bold","100","200","300","400","500","600","700","800","900"],eh=[".ttf",".otf",".woff",".woff2"],ec=["font/ttf","font/otf","font/woff","font/woff2"],ef=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function ed(t){let r=c.Wp.path.extname(t),n=c.Wp.path.basename(t,r).replace(/(-|_)/g," ").toLowerCase().split(" ").map(t=>t.charAt(0).toUpperCase()+t.slice(1)),i=n.length>0;for(let t of n)if(!t.match(ef)){i=!1;break}let o=n.join(" ");return i||(o=`"${o.replace(/[\\"]/g,"\\$&")}"`),o}let ep=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/,ey={extension:{type:c.Ag.LoadParser,priority:eo.Low},name:"loadWebFont",test:t=>ea(t,ec)||ee(t,eh),async load(t,r){let n=c.W0.ADAPTER.getFontFaceSet();if(n){let i=[],o=r.data?.family??ed(t),a=r.data?.weights?.filter(t=>el.includes(t))??["normal"],s=r.data??{};for(let r=0;r<a.length;r++){let u=a[r],l=new FontFace(o,`url(${ep.test(t)?t:encodeURI(t)})`,{...s,weight:u});await l.load(),n.add(l),i.push(l)}return 1===i.length?i[0]:i}return console.warn("[loadWebFont] FontFace API is not supported. Skipping loading font"),null},unload(t){(Array.isArray(t)?t:[t]).forEach(t=>c.W0.ADAPTER.getFontFaceSet().delete(t))}};c.XO.add(ey);let em=null;class eg{constructor(){em||(em=URL.createObjectURL(new Blob([`(function() {
3548  "use strict";
3549  const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";
3550  async function checkImageBitmap() {
3551    try {
3552      if (typeof createImageBitmap != "function")
3553        return !1;
3554      const imageBlob = await (await fetch(WHITE_PNG)).blob(), imageBitmap = await createImageBitmap(imageBlob);
3555      return imageBitmap.width === 1 && imageBitmap.height === 1;
3556    } catch {
3557      return !1;
3558    }
3559  }
3560  checkImageBitmap().then((result) => {
3561    self.postMessage(result);
3562  });
3563})();
3564`],{type:"application/javascript"}))),this.worker=new Worker(em)}}eg.revokeObjectURL=function(){em&&(URL.revokeObjectURL(em),em=null)};let ev=null;class eb{constructor(){ev||(ev=URL.createObjectURL(new Blob([`(function() {
3565  "use strict";
3566  async function loadImageBitmap(url) {
3567    const response = await fetch(url);
3568    if (!response.ok)
3569      throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`);
3570    const imageBlob = await response.blob();
3571    return await createImageBitmap(imageBlob);
3572  }
3573  self.onmessage = async (event) => {
3574    try {
3575      const imageBitmap = await loadImageBitmap(event.data.data[0]);
3576      self.postMessage({
3577        data: imageBitmap,
3578        uuid: event.data.uuid,
3579        id: event.data.id
3580      }, [imageBitmap]);
3581    } catch (e) {
3582      self.postMessage({
3583        error: e,
3584        uuid: event.data.uuid,
3585        id: event.data.id
3586      });
3587    }
3588  };
3589})();
3590`],{type:"application/javascript"}))),this.worker=new Worker(ev)}}eb.revokeObjectURL=function(){ev&&(URL.revokeObjectURL(ev),ev=null)};let ew,ex=0,e_=new class{constructor(){this._initialized=!1,this._createdWorkers=0,this.workerPool=[],this.queue=[],this.resolveHash={}}isImageBitmapSupported(){return void 0!==this._isImageBitmapSupported||(this._isImageBitmapSupported=new Promise(t=>{let{worker:r}=new eg;r.addEventListener("message",n=>{r.terminate(),eg.revokeObjectURL(),t(n.data)})})),this._isImageBitmapSupported}loadImageBitmap(t){return this._run("loadImageBitmap",[t])}async _initWorkers(){this._initialized||(this._initialized=!0)}getWorker(){void 0===ew&&(ew=navigator.hardwareConcurrency||4);let t=this.workerPool.pop();return!t&&this._createdWorkers<ew&&(this._createdWorkers++,(t=new eb().worker).addEventListener("message",t=>{this.complete(t.data),this.returnWorker(t.target),this.next()})),t}returnWorker(t){this.workerPool.push(t)}complete(t){void 0!==t.error?this.resolveHash[t.uuid].reject(t.error):this.resolveHash[t.uuid].resolve(t.data),this.resolveHash[t.uuid]=null}async _run(t,r){await this._initWorkers();let n=new Promise((n,i)=>{this.queue.push({id:t,arguments:r,resolve:n,reject:i})});return this.next(),n}next(){if(!this.queue.length)return;let t=this.getWorker();if(!t)return;let r=this.queue.pop(),n=r.id;this.resolveHash[ex]={resolve:r.resolve,reject:r.reject},t.postMessage({data:r.arguments,uuid:ex++,id:n})}};function eT(t,r,n){t.resource.internal=!0;let i=new c.gP(t),o=()=>{delete r.promiseCache[n],er.has(n)&&er.remove(n)};return i.baseTexture.once("destroyed",()=>{n in r.promiseCache&&(console.warn("[Assets] A BaseTexture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the BaseTexture."),o())}),i.once("destroyed",()=>{t.destroyed||(console.warn("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),o())}),i}let eS=[".jpeg",".jpg",".png",".webp",".avif"],eE=["image/jpeg","image/png","image/webp","image/avif"];async function eO(t){let r=await c.W0.ADAPTER.fetch(t);if(!r.ok)throw Error(`[loadImageBitmap] Failed to fetch ${t}: ${r.status} ${r.statusText}`);let n=await r.blob();return await createImageBitmap(n)}let eA={name:"loadTextures",extension:{type:c.Ag.LoadParser,priority:eo.High},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test:t=>ea(t,eE)||ee(t,eS),async load(t,r,n){let i,o=globalThis.createImageBitmap&&this.config.preferCreateImageBitmap;i=o?this.config.preferWorkers&&await e_.isImageBitmapSupported()?await e_.loadImageBitmap(t):await eO(t):await new Promise((r,n)=>{let i=new Image;i.crossOrigin=this.config.crossOrigin,i.src=t,i.complete?r(i):(i.onload=()=>r(i),i.onerror=t=>n(t))});let a={...r.data};a.resolution??(a.resolution=c.Wp.getResolutionOfUrl(t)),o&&void 0===a.resourceOptions?.ownsImageBitmap&&(a.resourceOptions={...a.resourceOptions},a.resourceOptions.ownsImageBitmap=!0);let s=new c.t5(i,a);return s.resource.src=t,eT(s,n,t)},unload(t){t.destroy(!0)}};c.XO.add(eA);let eI={extension:{type:c.Ag.LoadParser,priority:eo.High},name:"loadSVG",test:t=>ea(t,"image/svg+xml")||ee(t,".svg"),testParse:async t=>c.$f.test(t),async parse(t,r,n){let i=new c.$f(t,r?.data?.resourceOptions);await i.load();let o=new c.t5(i,{resolution:c.Wp.getResolutionOfUrl(t),...r?.data});return o.resource.src=r.src,eT(o,n,r.src)},load:async(t,r)=>(await c.W0.ADAPTER.fetch(t)).text(),unload:eA.unload};c.XO.add(eI);let eP=[".mp4",".m4v",".webm",".ogv"],ek=["video/mp4","video/webm","video/ogg"],eC={name:"loadVideo",extension:{type:c.Ag.LoadParser,priority:eo.High},config:{defaultAutoPlay:!0,defaultUpdateFPS:0,defaultLoop:!1,defaultMuted:!1,defaultPlaysinline:!0},test:t=>ea(t,ek)||ee(t,eP),async load(t,r,n){let i,o=await (await c.W0.ADAPTER.fetch(t)).blob(),a=URL.createObjectURL(o);try{let o={autoPlay:this.config.defaultAutoPlay,updateFPS:this.config.defaultUpdateFPS,loop:this.config.defaultLoop,muted:this.config.defaultMuted,playsinline:this.config.defaultPlaysinline,...r?.data?.resourceOptions,autoLoad:!0},s=new c.A5(a,o);await s.load();let u=new c.t5(s,{alphaMode:await c.Wp.detectVideoAlphaMode(),resolution:c.Wp.getResolutionOfUrl(t),...r?.data});u.resource.src=t,(i=eT(u,n,t)).baseTexture.once("destroyed",()=>{URL.revokeObjectURL(a)})}catch(t){throw URL.revokeObjectURL(a),t}return i},unload(t){t.destroy(!0)}};function e$(t){let r=t.match(/\{(.*?)\}/g),n=[];if(r){let i=[];r.forEach(t=>{let r=t.substring(1,t.length-1).split(",");i.push(r)}),function t(r,n,i,o,a){let s=n[i];for(let u=0;u<s.length;u++){let l=s[u];i<n.length-1?t(r.replace(o[i],l),n,i+1,o,a):a.push(r.replace(o[i],l))}}(t,i,0,r,n)}else n.push(t);return n}c.XO.add(eC);class eR{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,r)=>`${t}${this._bundleIdConnector}${r}`,extractAssetIdFromBundle:(t,r)=>r.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,"bar"!==this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar")))throw Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];r.forEach(t=>{this._preferredOrder.push(t),t.priority||(t.priority=Object.keys(t.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(t){"string"==typeof t?this._defaultSearchParams=t:this._defaultSearchParams=Object.keys(t).map(r=>`${encodeURIComponent(r)}=${encodeURIComponent(t[r])}`).join("&")}getAlias(t){let{alias:r,name:n,src:i,srcs:o}=t;return et(r||n||i||o,t=>"string"==typeof t?t:Array.isArray(t)?t.map(t=>t?.src??t?.srcs??t):t?.src||t?.srcs?t.src??t.srcs:t,!0)}addManifest(t){this._manifest&&console.warn("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEac
3590h(t=>{this.addBundle(t.name,t.assets)})}addBundle(t,r){let n=[];Array.isArray(r)?r.forEach(r=>{let i,o=r.src??r.srcs,a=r.alias??r.name;if("string"==typeof a){let r=this._createBundleAssetId(t,a);n.push(r),i=[a,r]}else{let r=a.map(r=>this._createBundleAssetId(t,r));n.push(...r),i=[...a,...r]}this.add({...r,alias:i,src:o})}):Object.keys(r).forEach(i=>{let o=[i,this._createBundleAssetId(t,i)];if("string"==typeof r[i])this.add({alias:o,src:r[i]});else if(Array.isArray(r[i]))this.add({alias:o,src:r[i]});else{let t=r[i],n=t.src??t.srcs;this.add({...t,alias:o,src:Array.isArray(n)?n:[n]})}n.push(...o)}),this._bundles[t]=n}add(t,r,n,i,o){let a,s=[];"string"==typeof t||Array.isArray(t)&&"string"==typeof t[0]?(c.Wp.deprecation("7.2.0",`Assets.add now uses an object instead of individual parameters.
3591Please use Assets.add({ alias, src, data, format, loadParser }) instead.`),s.push({alias:t,src:r,data:n,format:i,loadParser:o})):Array.isArray(t)?s.push(...t):s.push(t),a=t=>{this.hasKey(t)&&console.warn(`[Resolver] already has key: ${t} overwriting`)},et(s).forEach(t=>{let{src:r,srcs:n}=t,{data:i,format:o,loadParser:s}=t,u=et(r||n).map(t=>"string"==typeof t?e$(t):Array.isArray(t)?t:[t]),l=this.getAlias(t);Array.isArray(l)?l.forEach(a):a(l);let h=[];u.forEach(t=>{t.forEach(t=>{let r={};if("object"!=typeof t){r.src=t;for(let n=0;n<this._parsers.length;n++){let i=this._parsers[n];if(i.test(t)){r=i.parse(t);break}}}else i=t.data??i,o=t.format??o,s=t.loadParser??s,r={...r,...t};if(!l)throw Error(`[Resolver] alias is undefined for this asset: ${r.src}`);r=this.buildResolvedAsset(r,{aliases:l,data:i,format:o,loadParser:s}),h.push(r)})}),l.forEach(t=>{this._assetMap[t]=h})})}resolveBundle(t){let r=en(t);t=et(t);let n={};return t.forEach(t=>{let r=this._bundles[t];if(r){let i=this.resolve(r),o={};for(let r in i){let n=i[r];o[this._extractAssetIdFromBundle(t,r)]=n}n[t]=o}}),r?n[t[0]]:n}resolveUrl(t){let r=this.resolve(t);if("string"!=typeof t){let t={};for(let n in r)t[n]=r[n].src;return t}return r.src}resolve(t){let r=en(t);t=et(t);let n={};return t.forEach(t=>{if(!this._resolverHash[t])if(this._assetMap[t]){let r=this._assetMap[t],n=r[0],i=this._getPreferredOrder(r);i?.priority.forEach(t=>{i.params[t].forEach(n=>{let i=r.filter(r=>!!r[t]&&r[t]===n);i.length&&(r=i)})}),this._resolverHash[t]=r[0]??n}else this._resolverHash[t]=this.buildResolvedAsset({alias:[t],src:t},{});n[t]=this._resolverHash[t]}),r?n[t[0]]:n}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let r=0;r<t.length;r++){let r=t[0],n=this._preferredOrder.find(t=>t.params.format.includes(r.format));if(n)return n}return this._preferredOrder[0]}_appendDefaultSearchParams(t){return this._defaultSearchParams?`${t}${/\?/.test(t)?"&":"?"}${this._defaultSearchParams}`:t}buildResolvedAsset(t,r){let{aliases:n,data:i,loadParser:o,format:a}=r;return(this._basePath||this._rootPath)&&(t.src=c.Wp.path.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=n??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...i||{},...t.data},t.loadParser=o??t.loadParser,t.format=a??t.format??c.Wp.path.extname(t.src).slice(1),t.srcs=t.src,t.name=t.alias,t}}class eD{constructor(){this._detections=[],this._initialized=!1,this.resolver=new eR,this.loader=new ei,this.cache=er,this._backgroundLoader=new Q(this.loader),this._backgroundLoader.active=!0,this.reset()}
3591async init(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._initialized)return void console.warn("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let r=t.manifest;"string"==typeof r&&(r=await this.load(r)),this.resolver.addManifest(r)}let r=t.texturePreference?.resolution??1,n=await this._detectFormats({preferredFormats:t.texturePreference?.format,skipDetections:t.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:n,resolution:"number"==typeof r?[r]:r}}),t.preferences&&this.setPreferences(t.preferences)}add(t,r,n,i,o){this.resolver.add(t,r,n,i,o)}async load(t,r){this._initialized||await this.init();let n=en(t),i=et(t).map(t=>{if("string"!=typeof t){let r=this.resolver.getAlias(t);return r.some(t=>!this.resolver.hasKey(t))&&this.add(t),Array.isArray(r)?r[0]:r}return this.resolver.hasKey(t)||this.add({alias:t,src:t}),t}),o=this.resolver.resolve(i),a=await this._mapLoadToResolve(o,r);return n?a[i[0]]:a}addBundle(t,r){this.resolver.addBundle(t,r)}async loadBundle(t,r){this._initialized||await this.init();let n=!1;"string"==typeof t&&(n=!0,t=[t]);let i=this.resolver.resolveBundle(t),o={},a=Object.keys(i),s=0,u=0,l=()=>{r?.(++s/u)},h=a.map(t=>{let r=i[t];return u+=Object.keys(r).length,this._mapLoadToResolve(r,l).then(r=>{o[t]=r})});return await Promise.all(h),n?o[t[0]]:o}async backgroundLoad(t){this._initialized||await this.init(),"string"==typeof t&&(t=[t]);let r=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(r))}async backgroundLoadBundle(t){this._initialized||await this.init(),"string"==typeof t&&(t=[t]),Object.values(this.resolver.resolveBundle(t)).forEach(t=>{this._backgroundLoader.add(Object.values(t))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if("string"==typeof t)return er.get(t);let r={};for(let n=0;n<t.length;n++)r[n]=er.get(t[n]);return r}async _mapLoadToResolve(t,r){let n=Object.values(t),i=Object.keys(t);this._backgroundLoader.active=!1;let o=await this.loader.load(n,r);this._backgroundLoader.active=!0;let a={};return n.forEach((t,r)=>{let n=o[t.src],s=[t.src];t.alias&&s.push(...t.alias),a[i[r]]=n,er.set(s,n)}),a}async unload(t){this._initialized||await this.init();let r=et(t).map(t=>"string"!=typeof t?t.src:t),n=this.resolver.resolve(r);await this._unloadFromResolved(n)}async unloadBundle(t){this._initialized||await this.init(),t=et(t);let r=this.resolver.resolveBundle(t),n=Object.keys(r).map(t=>this._unloadFromResolved(r[t]));await Promise.all(n)}async _unloadFromResolved(t){let r=Object.values(t);r.forEach(t=>{er.remove(t.src)}),await this.loader.unload(r)}async _detectFormats(t){let r=[];for(let n of(t.preferredFormats&&(r=Array.isArray(t.preferredFormats)?t.preferredFormats:[t.preferredFormats]),t.detections))t.skipDetections||await n.test()?r=await n.add(r):t.skipDetections||(r=await n.remove(r));return r=r.filter((t,n)=>r.indexOf(t)===n)}get detections(){return this._detections}get preferWorkers(){return eA.config.preferWorkers}set preferWorkers(t){c.Wp.deprecation("7.2.0","Assets.prefersWorkers is deprecated, use Assets.setPreferences({ preferWorkers: true }) instead."),this.setPreferences({preferWorkers:t})}setPreferences(t){this.loader.parsers.forEach(r=>{r.config&&Object.keys(r.config).filter(r=>r in t).forEach(n=>{r.config[n]=t[n]})})}}let eM=new eD;c.XO.handleByList(c.Ag.LoadParser,eM.loader.parsers).handleByList(c.Ag.ResolveParser,eM.resolver.parsers).handleByList(c.Ag.CacheParser,eM.cache.parsers).handleByList(c.Ag.DetectionParser,eM.detections);let eL={extension:c.Ag.CacheParser,test:t=>Array.isArray(t)&&t.every(t=>t instanceof c.gP),getCacheableAssets:(t,r)=>{let n={};return t.forEach(t=>{r.forEach((r,i)=>{n[t+(0===i?"":i+1)]=r})}),n}};async function eB(t){if("Image"in globalThis)return new Promise(r=>{let n=new Image;n.onload=()=>{r(!0)},n.onerror=()=>{r(!1)},n.src=t});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let r=await (await fetch(t)).blob();await createImageBitmap(r)}catch{return!1}return!0}return!1}c.XO.add(eL);let eN={extension:{type:c.Ag.DetectionParser,priority:1},test:async()=>eB("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
3591FDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async t=>[...t,"avif"],remove:async t=>t.filter(t=>"avif"!==t)};c.XO.add(eN);let eF={extension:{type:c.Ag.DetectionParser,priority:0},test:async()=>eB("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async t=>[...t,"webp"],remove:async t=>t.filter(t=>"webp"!==t)};c.XO.add(eF);let eU=["png","jpg","jpeg"],ej={extension:{type:c.Ag.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async t=>[...t,...eU],remove:async t=>t.filter(t=>!eU.includes(t))};c.XO.add(ej);let ez="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function eG(t){return!ez&&""!==document.createElement("video").canPlayType(t)}let eV={extension:{type:c.Ag.DetectionParser,priority:0},test:async()=>eG("video/webm"),add:async t=>[...t,"webm"],remove:async t=>t.filter(t=>"webm"!==t)};c.XO.add(eV);let eW={extension:{type:c.Ag.DetectionParser,priority:0},test:async()=>eG("video/mp4"),add:async t=>[...t,"mp4","m4v"],remove:async t=>t.filter(t=>"mp4"!==t&&"m4v"!==t)};c.XO.add(eW);let eH={extension:{type:c.Ag.DetectionParser,priority:0},test:async()=>eG("video/ogg"),add:async t=>[...t,"ogv"],remove:async t=>t.filter(t=>"ogv"!==t)};c.XO.add(eH);let eq={extension:c.Ag.ResolveParser,test:eA.test,parse:t=>({resolution:parseFloat(c.W0.RETINA_PREFIX.exec(t)?.[1]??"1"),format:c.Wp.path.extname(t).slice(1),src:t})};c.XO.add(eq);let eY=(t,r)=>{let n=r.split("?")[1];return n&&(t+=`?${n}`),t};var eX=((s=eX||{})[s.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",s[s.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",s[s.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",s[s.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",s[s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",s[s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",s[s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",s[s.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",s[s.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",s[s.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",s[s.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",s[s.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",s[s.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",s[s.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",s[s.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",s[s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",s[s.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",s[s.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",s[s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",s[s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",s[s.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",s[s.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",s[s.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35987]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",s[s.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",s[s.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",s[s.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",s[s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",s[s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",s[s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",s);let eK={33776:.5,33777:.5,33778:1,33779:1,35916:.5,35917:.5,35918:1,35919:1,37488:.5,37489:.5,37490:1,37491:1,37492:.5,37496:1,37493:.5,37497:1,37494:.5,37495:.5,35840:.5,35842:.5,35841:.25,35843:.25,36196:.5,35986:.5,35987:1,34798:1,37808:1,36492:1,36493:1,36494:1,36495:1};function eZ(){o={bptc:i.getExtension("EXT_texture_compression_bptc"),astc:i.getExtension("WEBGL_compressed_texture_astc"),etc:i.getExtension("WEBGL_compressed_texture_etc"),s3tc:i.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:i.getExtension("WEBGL_compressed_texture_s3tc_srgb"),pvrtc:i.getExtension("WEBGL_compressed_texture_pvrtc")||i.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),etc1:i.getExtension("WEBGL_compressed_texture_etc1"),atc:i.getExtension("WEBGL_compressed_texture_atc")}}let eJ={extension:{type:c.Ag.DetectionParser,priority:2},test:async()=>{let t=c.W0.ADAPTER.createCanvas().getContext("webgl");return t?(i=t,!0):(console.warn("WebGL not available for compressed textures."),!1)},add:async t=>{o||eZ();let r=[];for(let t in o)o[t]&&r.push(t);return[...r,...t]},remove:async t=>(o||eZ(),t.filter(t=>!(t in o)))};c.XO.add(eJ);class eQ extends c.dZ{constructor(t){let r,n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{width:1,height:1,autoLoad:!0};"string"==typeof t?(r=t,n=new Uint8Array):(r=null,n=t),super(n,i),this.origin=r,this.buffer=n?new c.u3(n):null,this._load=null,this.loaded=!1,null!==this.origin&&!1!==i.autoLoad&&this.load(),null===this.origin&&this.buffer&&(this._load=Promise.resolve(this),this.loaded=!0,this.onBlobLoaded(this.buffer.rawBinaryData))}onBlobLoaded(t){}load(){return this._load||(this._load=fetch(this.origin).then(t=>t.blob()).then(t=>t.arrayBuffer()).then(t=>(this.data=new Uint32Array(t),this.buffer=new c.u3(t),this.loaded=!0,this.onBlobLoaded(t),this.update(),this))),this._load}}class e1 extends eQ{constructor(t,r){super(t,r),this.format=r.format,this.levels=r.levels||1,this._width=r.width,this._height=r.height,this._extension=e1._formatToExtension(this.format),(r.levelBuffers||this.buffer)&&(this._levelBuffers=r.levelBuffers||e1._createLevelBuffers(t instanceof Uint8Array?t:this.buffer.uint8View,this.format,this.levels,4,4,this.width,this.height))}upload(t,r,n){let i=t.gl;if(!t.context.extensions[this._extension])throw Error(`${this._extension} textures are not supported on the current machine`);if(!this._levelBuffers)return!1;i.pixelStorei(i.UNPACK_ALIGNMENT,4);for(let t=0,r=this.levels;t<r;t++){let{levelID:r,levelWidth:n,levelHeight:o,levelBuffer:a}=this._levelBuffers[t];i.compressedTexImage2D(i.TEXTURE_2D,r,this.format,n,o,0,a)}return!0}onBlobLoaded(){this._levelBuffers=e1._createLevelBuffers(this.buffer.uint8View,this.format,this.levels,4,4,this.width,this.height)}static _formatToExtension(t){if(t>=33776&&t<=33779)return"s3tc";if(t>=35916&&t<=35919)return"s3tc_sRGB";if(t>=37488&&t<=37497)return"etc";if(t>=35840&&t<=35843)return"pvrtc";if(36196===t)return"etc1";
3591if(35986===t||35987===t||34798===t)return"atc";if(t>=36492&&t<=36495)return"bptc";if(37808===t)return"astc";throw Error(`Invalid (compressed) texture format given: ${t}`)}static _createLevelBuffers(t,r,n,i,o,a,s){let u=Array(n),l=t.byteOffset,h=a,c=s,f=h+i-1&~(i-1),d=c+o-1&~(o-1),p=f*d*eK[r];for(let a=0;a<n;a++)u[a]={levelID:a,levelWidth:n>1?h:f,levelHeight:n>1?c:d,levelBuffer:new Uint8Array(t.buffer,l,p)},l+=p,c=c>>1||1,p=(f=(h=h>>1||1)+i-1&~(i-1))*(d=c+o-1&~(o-1))*eK[r];return u}}let e0={0x31545844:eX.COMPRESSED_RGBA_S3TC_DXT1_EXT,0x33545844:eX.COMPRESSED_RGBA_S3TC_DXT3_EXT,0x35545844:eX.COMPRESSED_RGBA_S3TC_DXT5_EXT},e3={70:eX.COMPRESSED_RGBA_S3TC_DXT1_EXT,71:eX.COMPRESSED_RGBA_S3TC_DXT1_EXT,73:eX.COMPRESSED_RGBA_S3TC_DXT3_EXT,74:eX.COMPRESSED_RGBA_S3TC_DXT3_EXT,76:eX.COMPRESSED_RGBA_S3TC_DXT5_EXT,77:eX.COMPRESSED_RGBA_S3TC_DXT5_EXT,72:eX.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,75:eX.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,78:eX.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,96:eX.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,95:eX.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,98:eX.COMPRESSED_RGBA_BPTC_UNORM_EXT,99:eX.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT};function e6(t){let r=new Uint32Array(t);if(0x20534444!==r[0])throw Error("Invalid DDS file magic word");let n=new Uint32Array(t,0,124/Uint32Array.BYTES_PER_ELEMENT),i=n[3],o=n[4],a=n[7],s=new Uint32Array(t,19*Uint32Array.BYTES_PER_ELEMENT,32/Uint32Array.BYTES_PER_ELEMENT),u=s[1];if(4&u){let n=s[2];if(0x30315844!==n){let r=e0[n];return[new e1(new Uint8Array(t,128),{format:r,width:o,height:i,levels:a})]}let u=new Uint32Array(r.buffer,128,20/Uint32Array.BYTES_PER_ELEMENT),l=u[0],h=u[1],c=u[2],f=u[3],d=e3[l];if(void 0===d)throw Error(`DDSParser cannot parse texture data with DXGI format ${l}`);if(4===c)throw Error("DDSParser does not support cubemap textures");if(6===h)throw Error("DDSParser does not supported 3D texture data");let p=[];if(1===f)p.push(new Uint8Array(t,148));else{let r=eK[d],n=0,s=o,u=i;for(let t=0;t<a;t++)n+=Math.max(1,s+3&-4)*Math.max(1,u+3&-4)*r,s>>>=1,u>>>=1;let l=148;for(let r=0;r<f;r++)p.push(new Uint8Array(t,l,n)),l+=n}return p.map(t=>new e1(t,{format:d,width:o,height:i,levels:a}))}throw 64&u?Error("DDSParser does not support uncompressed texture data."):512&u?Error("DDSParser does not supported YUV uncompressed texture data."):131072&u?Error("DDSParser does not support single-channel (lumninance) texture data!"):2&u?Error("DDSParser does not support single-channel (alpha) texture data!"):Error("DDSParser failed to load a texture file due to an unknown reason!")}let e5=[171,75,84,88,32,49,49,187,13,10,26,10],e9={[c.QE.UNSIGNED_BYTE]:1,[c.QE.UNSIGNED_SHORT]:2,[c.QE.INT]:4,[c.QE.UNSIGNED_INT]:4,[c.QE.FLOAT]:4,[c.QE.HALF_FLOAT]:8},e2={[c.hR.RGBA]:4,[c.hR.RGB]:3,[c.hR.RG]:2,[c.hR.RED]:1,[c.hR.LUMINANCE]:1,[c.hR.LUMINANCE_ALPHA]:2,[c.hR.ALPHA]:1},e7={[c.QE.UNSIGNED_SHORT_4_4_4_4]:2,[c.QE.UNSIGNED_SHORT_5_5_5_1]:2,[c.QE.UNSIGNED_SHORT_5_6_5]:2};function e8(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new DataView(r);if(!function(t,r){for(let n=0;n<e5.length;n++)if(r.getUint8(n)!==e5[n])return console.error(`${t} is not a valid *.ktx file!`),!1;return!0}(t,i))return null;let o=0x4030201===i.getUint32(12,!0),a=i.getUint32(16,o),s=i.getUint32(24,o),u=i.getUint32(28,o),l=i.getUint32(36,o),h=i.getUint32(40,o)||1,f=i.getUint32(44,o)||1,d=i.getUint32(48,o)||1,p=i.getUint32(52,o),y=i.getUint32(56,o),m=i.getUint32(60,o);if(0===h||1!==f)throw Error("Only 2D textures are supported");if(1!==p)throw Error("CubeTextures are not supported by KTXLoader yet!");if(1!==d)throw Error("WebGL does not support array textures");let g=l+3&-4,v=h+3&-4,b=Array(d),w,x=l*h;if(0===a&&(x=g*v),void 0===(w=0!==a?e9[a]?e9[a]*e2[s]:e7[a]:eK[u]))throw Error("Unable to resolve the pixel format stored in the *.ktx file!");let _=n?function(t,r,n){let i=new Map,o=0;for(;o<r;){let a=t.getUint32(64+o,n),s=64+o+4,u=3-(a+3)%4;if(0===a||a>r-o){console.error("KTXLoader: keyAndValueByteSize out of bounds");break}let l=0;for(;l<a&&0!==t.getUint8(s+l);l++);if(-1===l){console.error("KTXLoader: Failed to find null byte terminating 
3591kvData key");break}let h=new TextDecoder().decode(new Uint8Array(t.buffer,s,l)),c=new DataView(t.buffer,s+l+1,a-l-1);i.set(h,c),o+=4+a+u}return i}(i,m,o):null,T=x*w,S=l,E=h,O=g,A=v,I=64+m;for(let t=0;t<y;t++){let n=i.getUint32(I,o),s=I+4;for(let n=0;n<d;n++){let i=b[n];i||(i=b[n]=Array(y)),i[t]={levelID:t,levelWidth:y>1||0!==a?S:O,levelHeight:y>1||0!==a?E:A,levelBuffer:new Uint8Array(r,s,T)},s+=T}I+=n+4,I=I%4!=0?I+4-I%4:I,E=E>>1||1,T=(O=(S=S>>1||1)+4-1&-4)*(A=E+4-1&-4)*w}return 0!==a?{uncompressed:b.map(t=>{let r=t[0].levelBuffer,n=!1;return a===c.QE.FLOAT?r=new Float32Array(t[0].levelBuffer.buffer,t[0].levelBuffer.byteOffset,t[0].levelBuffer.byteLength/4):a===c.QE.UNSIGNED_INT?(n=!0,r=new Uint32Array(t[0].levelBuffer.buffer,t[0].levelBuffer.byteOffset,t[0].levelBuffer.byteLength/4)):a===c.QE.INT&&(n=!0,r=new Int32Array(t[0].levelBuffer.buffer,t[0].levelBuffer.byteOffset,t[0].levelBuffer.byteLength/4)),{resource:new c.dZ(r,{width:t[0].levelWidth,height:t[0].levelHeight}),type:a,format:n?function(t){switch(t){case c.hR.RGBA:return c.hR.RGBA_INTEGER;case c.hR.RGB:return c.hR.RGB_INTEGER;case c.hR.RG:return c.hR.RG_INTEGER;case c.hR.RED:return c.hR.RED_INTEGER;default:return t}}(s):s}}),kvData:_}:{compressed:b.map(t=>new e1(null,{format:u,width:l,height:h,levels:y,levelBuffers:t})),kvData:_}}let e4={extension:{type:c.Ag.LoadParser,priority:eo.High},name:"loadDDS",test:t=>ee(t,".dds"),async load(t,r,n){let i=e6(await (await c.W0.ADAPTER.fetch(t)).arrayBuffer()).map(i=>eT(new c.t5(i,{mipmap:c.E8.OFF,alphaMode:c.Gk.NO_PREMULTIPLIED_ALPHA,resolution:c.Wp.getResolutionOfUrl(t),...r.data}),n,t));return 1===i.length?i[0]:i},unload(t){Array.isArray(t)?t.forEach(t=>t.destroy(!0)):t.destroy(!0)}};c.XO.add(e4);let te={extension:{type:c.Ag.LoadParser,priority:eo.High},name:"loadKTX",test:t=>ee(t,".ktx"),async load(t,r,n){let i=await (await c.W0.ADAPTER.fetch(t)).arrayBuffer(),{compressed:o,uncompressed:a,kvData:s}=e8(t,i),u=o??a,l={mipmap:c.E8.OFF,alphaMode:c.Gk.NO_PREMULTIPLIED_ALPHA,resolution:c.Wp.getResolutionOfUrl(t),...r.data},h=u.map(r=>{u===a&&Object.assign(l,{type:r.type,format:r.format});let i=r.resource??r,o=new c.t5(i,l);return o.ktxKeyValueData=s,eT(o,n,t)});return 1===h.length?h[0]:h},unload(t){Array.isArray(t)?t.forEach(t=>t.destroy(!0)):t.destroy(!0)}};c.XO.add(te);let tt=["s3tc","s3tc_sRGB","etc","etc1","pvrtc","atc","astc","bptc"],tr={extension:c.Ag.ResolveParser,test:t=>["basis","ktx","dds"].includes(c.Wp.path.extname(t).slice(1)),parse:t=>{let r=t.split("."),n=r.pop();if(["ktx","dds"].includes(n)){let n=r.pop();if(tt.includes(n))return{resolution:parseFloat(c.W0.RETINA_PREFIX.exec(t)?.[1]??"1"),format:n,src:t}}return{resolution:parseFloat(c.W0.RETINA_PREFIX.exec(t)?.[1]??"1"),format:n,src:t}}};c.XO.add(tr);let tn=new c.M_,ti=class t{constructor(t){this.renderer=t,this._rendererPremultipliedAlpha=!1}contextChange(){let t=this.renderer?.gl.getContextAttributes();this._rendererPremultipliedAlpha=!!(t&&t.alpha&&t.premultipliedAlpha)}async image(t,r,n,i){let o=new Image;return o.src=await this.base64(t,r,n,i),o}async base64(t,r,n,i){let o=this.canvas(t,i);if(void 0!==o.toBlob)return new Promise((t,i)=>{o.toBlob(r=>{if(!r)return void i(Error("ICanvas.toBlob failed!"));let n=new FileReader;n.onload=()=>t(n.result),n.onerror=i,n.readAsDataURL(r)},r,n)});if(void 0!==o.toDataURL)return o.toDataURL(r,n);if(void 0!==o.convertToBlob){let t=await o.convertToBlob({type:r,quality:n});return new Promise((r,n)=>{let i=new FileReader;i.onload=()=>r(i.result),i.onerror=n,i.readAsDataURL(t)})}throw Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(r,n){let{pixels:i,width:o,height:a,flipY:s,premultipliedAlpha:u}=this._rawPixels(r,n);s&&t._flipY(i,o,a),u&&t._unpremultiplyAlpha(i);let l=new c.Wp.CanvasRenderTarget(o,a,1),h=new ImageData(new Uint8ClampedArray(i.buffer),o,a);return l.context.putImageData(h,0,0),l.canvas}pixels(r,n){let{pixels:i,width:o,height:a,flipY:s,premultipliedAlpha:u}=this._rawPixels(r,n);return s&&t._flipY(i,o,a),u&&t._unpremultiplyAlpha(i),i}_rawPixels(t,r){let n=this.renderer;if(!n)throw Error("The Extract has already been destroyed");let i,o,a=!1,s=!1,u=!1;t&&(t instanceof c.Y7?o=t:(o=n.generateTexture(t,{region:r,resolution:n.resolution,multisample:n.multisample}),u=!0,r&&(tn.width=r.width,tn.height=r.height,r=tn)));let l=n.gl;if(o){if(i=o.baseTexture.resolution,r=r??o.frame,a=!1,s=o.baseTexture.alphaMode>0&&o.baseTexture.format===c.hR.RGBA,!u){n.renderTexture.bind(o);let t=o.framebuffer.glFramebuffers[n.CONTEXT_UID];t.blitFramebuffer&&n.framebuffer.bind(t.blitFramebuffer)}}else i=n.resolution,r||((r=tn).width=n.width/i,r.height=n.height/i),a=!0,s=this._rendererPremultipliedAlpha,n.renderTexture.bind();let h=Math.max(Math.round(r.width*i),1),f=Math.max(Math.round(r.height*i),1),d=new Uint8Array(4*h*f);return l.readPixels(Math.round(r.x*i),Math.round(r.y*i),h,f,l.RGBA,l.UNSIGNED_BYTE,d),u&&o?.destroy(!0),{pixels:d,width:h,height:f,flipY:a,premultipliedAlpha:s}}destroy(){this.renderer=null}static _flipY(t,r,n){let i=r<<2,o=n>>1,a=new Uint8Array(i);for(let r=0;r<o;r++){let o=r*i,s=(n-r-1)*i;a.set(t.subarray(o,o+i)),t.copyWithin(o,s,s+i),t.set(a,s)}}static _unpremultiplyAlpha(t){t instanceof Uint8ClampedArray&&(t=new Uint8Array(t.buffer));let r=t.length;for(let n=0;n<r;n+=4){let r=t[n+3];if(0!==r){let i=255.001/r;t[n]=t[n]*i+.5,t[n+1]=t[n+1]*i+.5,t[n+2]=t[n+2]*i+.5}}}};ti.extension={name:"extract",type:c.Ag.RendererSystem};let to=ti;c.XO.add(to);let ta={build(t){let r,n,i,o,a,s,u=t.points;if(t.type===c.HY.CIRC){let u=t.shape;r=u.x,n=u.y,a=s=u.radius,i=o=0}else if(t.type===c.HY.ELIP){let u=t.shape;r=u.x,n=u.y,a=u.width,s=u.height,i=o=0}else{let u=t.shape,l=u.width/2,h=u.height/2;
3591r=u.x+l,n=u.y+h,a=s=Math.max(0,Math.min(u.radius,Math.min(l,h))),i=l-a,o=h-s}if(!(a>=0&&s>=0&&i>=0&&o>=0))return void(u.length=0);let l=Math.ceil(2.3*Math.sqrt(a+s)),h=8*l+4*!!i+4*!!o;if(u.length=h,0===h)return;if(0===l)return u.length=8,u[0]=u[6]=r+i,u[1]=u[3]=n+o,u[2]=u[4]=r-i,void(u[5]=u[7]=n-o);let f=0,d=4*l+2*!!i+2,p=d,y=h;{let t=i+a,s=o,l=r+t,h=r-t,c=n+s;if(u[f++]=l,u[f++]=c,u[--d]=c,u[--d]=h,o){let t=n-s;u[p++]=h,u[p++]=t,u[--y]=t,u[--y]=l}}for(let t=1;t<l;t++){let h=Math.PI/2*(t/l),c=i+Math.cos(h)*a,m=o+Math.sin(h)*s,g=r+c,v=r-c,b=n+m,w=n-m;u[f++]=g,u[f++]=b,u[--d]=b,u[--d]=v,u[p++]=v,u[p++]=w,u[--y]=w,u[--y]=g}{let t=o+s,a=r+i,l=r-i,h=n+t,c=n-t;u[f++]=a,u[f++]=h,u[--y]=c,u[--y]=a,i&&(u[f++]=l,u[f++]=h,u[--y]=c,u[--y]=l)}},triangulate(t,r){let n,i,o=t.points,a=r.points,s=r.indices;if(0===o.length)return;let u=a.length/2,l=u;if(t.type!==c.HY.RREC){let r=t.shape;n=r.x,i=r.y}else{let r=t.shape;n=r.x+r.width/2,i=r.y+r.height/2}let h=t.matrix;a.push(t.matrix?h.a*n+h.c*i+h.tx:n,t.matrix?h.b*n+h.d*i+h.ty:i),u++,a.push(o[0],o[1]);for(let t=2;t<o.length;t+=2)a.push(o[t],o[t+1]),s.push(u++,l,u);s.push(l+1,l,u)}};function ts(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.length;if(n<6)return;let i=0;for(let r=0,o=t[n-2],a=t[n-1];r<n;r+=2){let n=t[r],s=t[r+1];i+=(n-o)*(s+a),o=n,a=s}if(!r&&i>0||r&&i<=0){let r=n/2;for(let i=r+r%2;i<n;i+=2){let r=n-i-2,o=n-i-1,a=i,s=i+1;[t[r],t[a]]=[t[a],t[r]],[t[o],t[s]]=[t[s],t[o]]}}}let tu={build(t){t.points=t.shape.points.slice()},triangulate(t,r){let n=t.points,i=t.holes,o=r.points,a=r.indices;if(n.length>=6){ts(n,!1);let t=[];for(let r=0;r<i.length;r++){let o=i[r];ts(o.points,!0),t.push(n.length/2),n=n.concat(o.points)}let r=c.Wp.earcut(n,t,2);if(!r)return;let s=o.length/2;for(let t=0;t<r.length;t+=3)a.push(r[t]+s),a.push(r[t+1]+s),a.push(r[t+2]+s);for(let t=0;t<n.length;t++)o.push(n[t])}}},tl={build(t){let r=t.shape,n=r.x,i=r.y,o=r.width,a=r.height,s=t.points;s.length=0,o>=0&&a>=0&&s.push(n,i,n+o,i,n+o,i+a,n,i+a)},triangulate(t,r){let n=t.points,i=r.points;if(0===n.length)return;let o=i.length/2;i.push(n[0],n[1],n[2],n[3],n[6],n[7],n[4],n[5]),r.indices.push(o,o+1,o+2,o+1,o+2,o+3)}},th={build(t){ta.build(t)},triangulate(t,r){ta.triangulate(t,r)}};var tc=((u=tc||{}).MITER="miter",u.BEVEL="bevel",u.ROUND="round",u),tf=((l=tf||{}).BUTT="butt",l.ROUND="round",l.SQUARE="square",l);let td={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20;if(!this.adaptive||!t||isNaN(t))return r;let n=Math.ceil(t/this.maxLength);return n<this.minSegments?n=this.minSegments:n>this.maxSegments&&(n=this.maxSegments),n}},tp=td;class ty{static curveTo(t,r,n,i,o,a){let s=a[a.length-2],u=a[a.length-1]-r,l=s-t,h=i-r,c=n-t,f=Math.abs(u*c-l*h);if(f<1e-8||0===o)return(a[a.length-2]!==t||a[a.length-1]!==r)&&a.push(t,r),null;let d=u*u+l*l,p=h*h+c*c,y=u*h+l*c,m=o*Math.sqrt(d)/f,g=o*Math.sqrt(p)/f,v=m*y/d,b=g*y/p,w=m*c+g*l,x=m*h+g*u;return{cx:w+t,cy:x+r,radius:o,startAngle:Math.atan2(u*(g+v)-x,l*(g+v)-w),endAngle:Math.atan2(h*(m+b)-x,c*(m+b)-w),anticlockwise:l*h>c*u}}static arc(t,r,n,i,o,a,s,u,l){let h=s-a,f=td._segmentsCount(Math.abs(h)*o,40*Math.ceil(Math.abs(h)/c.TO)),d=h/(2*f),p=2*d,y=Math.cos(d),m=Math.sin(d),g=f-1,v=g%1/g;for(let t=0;t<=g;++t){let r=d+a+p*(t+v*t),s=Math.cos(r),u=-Math.sin(r);l.push((y*s+m*u)*o+n,(-(y*u)+m*s)*o+i)}}}class tm{static curveLength(t,r,n,i,o,a,s,u){let l=0,h=0,c=0,f=0,d=0,p=0,y=0,m=0,g=0,v=0,b=0,w=t,x=r;for(let _=1;_<=10;++_)f=(c=(h=_/10)*h)*h,m=(y=(p=(d=1-h)*d)*d)*t+3*p*h*n+3*d*c*o+f*s,g=y*r+3*p*h*i+3*d*c*a+f*u,v=w-m,b=x-g,w=m,x=g,l+=Math.sqrt(v*v+b*b);return l}static curveTo(t,r,n,i,o,a,s){let u=s[s.length-2],l=s[s.length-1];s.length-=2;let h=td._segmentsCount(tm.curveLength(u,l,t,r,n,i,o,a)),c=0,f=0,d=0,p=0,y=0;s.push(u,l);for(let m=1,g=0;m<=h;++m)d=(f=(c=1-(g=m/h))*c)*c,y=(p=g*g)*g,s.push(d*u+3*f*g*t+3*c*p*n+y*o,d*l+3*f*g*r+3*c*p*i+y*a)}}function tg(t,r,n,i,o,a,s,u){let l,h;s?(l=i,h=-n):(l=-i,h=n);let c=t-n*o+l,f=r-i*o+h,d=t+n*a+l,p=r+i*a+h;return u.push(c,f,d,p),2}function tv(t,r,n,i,o,a,s,u){let l=n-t,h=i-r,c=Math.atan2(l,h),f=Math.atan2(o-t,a-r);u&&c<f?c+=2*Math.PI:!u&&c>f&&(f+=2*Math.PI);let d=c,p=f-c,y=Math.sqrt(l*l+h*h),m=1+(15*Math.abs(p)*Math.sqrt(y)/Math.PI|0),g=p/m;if(d+=g,u){s.push(t,r,n,i);for(let n=1,i=d;n<m;n++,i+=g)s.push(t,r,t+Math.sin(i)*y,r+Math.cos(i)*y);s.push(t,r,o,a)}else{s.push(n,i,t,r);for(let n=1,i=d;n<m;n++,i+=g)s.push(t+Math.sin(i)*y,r+Math.cos(i)*y,t,r);s.push(o,a,t,r)}return 2*m}function tb(t,r){t.lineStyle.native?function(t,r){let n=0,i=t.shape,o=t.points||i.points,a=i.type!==c.HY.POLY||i.closeStroke;if(0===o.length)return;let s=r.points,u=r.indices,l=o.length/2,h=s.length/2,f=h;for(s.push(o[0],o[1]),n=1;n<l;n++)s.push(o[2*n],o[2*n+1]),u.push(f,f+1),f++;a&&u.push(f,h)}(t,r):function(t,r){let n=t.shape,i=t.points||n.points.slice(),o=r.closePointEps;if(0===i.length)return;let a=t.lineStyle,s=new c.bR(i[0],i[1]),u=new c.bR(i[i.length-2],i[i.length-1]),l=n.type!==c.HY.POLY||n.closeStroke,h=Math.abs(s.x-u.x)<o&&Math.abs(s.y-u.y)<o;if(l){i=i.slice(),h&&(i.pop(),i.pop(),u.set(i[i.length-2],i[i.length-1]));let t=.5*(s.x+u.x),r=.5*(u.y+s.y);i.unshift(t,r),i.push(t,r)}let f=r.points,d=i.length/2,p=i.length,y=f.length/2,m=a.width/2,g=m*m,v=a.miterLimit*a.miterLimit,b=i[0],w=i[1],x=i[2],_=i[3],T=0,S=0,E=-(w-_),O=b-x,A=0,I=0,P=Math.sqrt(E*E+O*O);E/=P,O/=P,E*=m,O*=m;let k=a.alignment,C=2*(1-k),$=2*k;l||(a.cap===tf.ROUND?p+=tv(b-E*(C-$)*.5,w-O*(C-$)*.5,b-E*C,w-O*C,b+E*$,w+O*$,f,!0)+2:a.cap===tf.SQUARE&&(p+=tg(b,w,E,O,C,$,!0,f))),f.push(b-E*C,w-O*C,b+E*$,w+O*$);for(let t=1;t<d-1;++t){b=i[2*(t-1)],w=i[2*(t-1)+1],x=i[2*t],_=i[2*t+1],T=i[2*(t+1)],S=i[2*(t+1)+1],P=Math.sqrt((E=-(w-_))*E+(O=b-x)*O),E/=P,O/=P,E*=m,O*=m,P=Math.sqrt((A=-(_-S))*A+(I=x-T)*I),A/=P,I/=P,A*=m,I*=m;let r=x-b,n=w-_,o=x-T,s=S-_,u=r*o+n*s,l=n*o-s*r,h=l<0;if(Math.abs(l)<.001*Math.abs(u)){f.push(x-E*C,_-O*C,x+E*$,_+O*$),u>=0&&(a.join===tc.ROUND?p+=tv(x,_,x-E*C,_-O*C,x-A*C,_-I*C,f,!1)+4:p+=2,f.push(x-A*$,_-I*$,x+A*C,_+I*C));continue}let c=(-E+b)*(-O+_)-(-E+x)*(-O+w),d=(-A+T)*(-I+_)-(-A+x)*(-I+S),y=(r*d-o*c)/l,k=(s*c-n*d)/l,R=(y-x)*(y-x)+(k-_)*(k-_),D=x+(y-x)*C,M=_+(k-_)*C,L=x-(y-x)*$,B=_-(k-_)*$,N=h?C:$,F=R<=Math.min(r*r+n*n,o*o+s*s)+N*N*g,U=a.join;if(U===tc.MITER&&R/g>v&&(U=tc.BEVEL),F)switch(U){case tc.MITER:f.push(D,M,L,B);break;case tc.BEVEL:h?f.push(D,M,x+E*$,_+O*$,D,M,x+A*$,_+I*$):f.push(x-E*C,_-O*C,L,B,x-A*C,_-I*C,L,B),p+=2;break;case tc.ROUND:h?(f.push(D,M,x+E*$,_+O*$),p+=tv(x,_,x+E*$,_+O*$,x+A*$,_+I*$,f,!0)+4,f.push(D,M,x+A*$,_+I*$)):(f.push(x-E*C,_-O*C,L,B),p+=tv(x,_,x-E*C,_-O*C,x-A*C,_-I*C,f,!1)+4,f.push(x-A*C,_-I*C,L,B))}else{switch(f.push(x-E*C,_-O*C,x+E*$,_+O*$),U){case tc.MITER:h?f.push(L,B,L,B):f.push(D,M,D,M),p+=2;break;case tc.ROUND:p+=h?tv(x,_,x+E*$,_+O*$,x+A*$,_+I*$,f,!0)+2:tv(x,_,x-E*C,_-O*C,x-A*C,_-I*C,f,!1)+2}f.push(x-A*C,_-I*C,x+A*$,_+I*$),p+=2}}b=i[2*(d-2)],w=i[2*(d-2)+1],x=i[2*(d-1)],P=Math.sqrt((E=-(w-(_=i[2*(d-1)+1])))*E+(O=b-x)*O),E/=P,O/=P,E*=m,O*=m,f.push(x-E*C,_-O*C,x+E*$,_+O*$),l||(a.cap===tf.ROUND?p+=tv(x-E*(C-$)*.5,_-O*(C-$)*.5,x-E*C,_-O*C,x+E*$,_+O*$,f,!1)+2:a.cap===tf.SQUARE&&(p+=tg(x,_,E,O,C,$,!1,f)));let R=r.indices,D=td.epsilon*td.epsilon;for(let t=y;t<p+y-2;++t)b=f[2*t],w=f[2*t+1],x=f[2*(t+1)],_=f[2*(t+1)+1],T=f[2*(t+2)],Math.abs(b*(_-(S=f[2*(t+2)+1]))+x*(S-w)+T*(w-_))<D||R.push(t,t+1,t+2)}(t,r)}class tw{static curveLength(t,r,n,i,o,a){let s=t-2*n+o,u=r-2*i+a,l=2*n-2*t,h=2*i-2*r,c=4*(s*s+u*u),f=4*(s*l+u*h),d=l*l+h*h,p=2*Math.sqrt(c+f+d),y=Math.sqrt(c),m=2*c*y,g=2*Math.sqrt(d),v=f/y;return(m*p+y*f*(p-g)+(4*d*c-f*f)*Math.log((2*y+v+p)/(v+g)))/(4*m)}static curveTo(t,r,n,i,o){let a=o[o.length-2],s=o[o.length-1],u=td._segmentsCount(tw.curveLength(a,s,t,r,n,i)
3591),l=0,h=0;for(let c=1;c<=u;++c){let f=c/u;l=a+(t-a)*f,h=s+(r-s)*f,o.push(l+(t+(n-t)*f-l)*f,h+(r+(i-r)*f-h)*f)}}}let tx={[c.HY.POLY]:tu,[c.HY.CIRC]:ta,[c.HY.ELIP]:ta,[c.HY.RECT]:tl,[c.HY.RREC]:th},t_=[],tT=[];class tS{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this.points=[],this.holes=[],this.shape=t,this.lineStyle=n,this.fillStyle=r,this.matrix=i,this.type=t.type}clone(){return new tS(this.shape,this.fillStyle,this.lineStyle,this.matrix)}destroy(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null}}class tE{constructor(){this.reset()}begin(t,r,n){this.reset(),this.style=t,this.start=r,this.attribStart=n}end(t,r){this.attribSize=r-this.attribStart,this.size=t-this.start}reset(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0}}let tO=new c.bR,tA=class t extends c.JH{constructor(){super(),this.closePointEps=1e-4,this.boundsPadding=0,this.uvsFloat32=null,this.indicesUint16=null,this.batchable=!1,this.points=[],this.colors=[],this.uvs=[],this.indices=[],this.textureIds=[],this.graphicsData=[],this.drawCalls=[],this.batchDirty=-1,this.batches=[],this.dirty=0,this.cacheDirty=-1,this.clearDirty=0,this.shapeIndex=0,this._bounds=new f,this.boundsDirty=-1}get bounds(){return this.updateBatches(),this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds}invalidate(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(let t=0;t<this.drawCalls.length;t++)this.drawCalls[t].texArray.clear(),tT.push(this.drawCalls[t]);this.drawCalls.length=0;for(let t=0;t<this.batches.length;t++){let r=this.batches[t];r.reset(),t_.push(r)}this.batches.length=0}clear(){return this.graphicsData.length>0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this}drawShape(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=new tS(t,r,n,i);return this.graphicsData.push(o),this.dirty++,this}drawHole(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!this.graphicsData.length)return null;let n=new tS(t,null,null,r),i=this.graphicsData[this.graphicsData.length-1];return n.lineStyle=i.lineStyle,i.holes.push(n),this.dirty++,this}destroy(){super.destroy();for(let t=0;t<this.graphicsData.length;++t)this.graphicsData[t].destroy();this.points.length=0,this.points=null,this.colors.length=0,this.colors=null,this.uvs.length=0,this.uvs=null,this.indices.length=0,this.indices=null,this.indexBuffer.destroy(),this.indexBuffer=null,this.graphicsData.length=0,this.graphicsData=null,this.drawCalls.length=0,this.drawCalls=null,this.batches.length=0,this.batches=null,this._bounds=null}containsPoint(t){let r=this.graphicsData;for(let n=0;n<r.length;++n){let i=r[n];if(i.fillStyle.visible&&i.shape&&(i.matrix?i.matrix.applyInverse(t,tO):tO.copyFrom(t),i.shape.contains(tO.x,tO.y))){let t=!1;if(i.holes){for(let r=0;r<i.holes.length;r++)if(i.holes[r].shape.contains(tO.x,tO.y)){t=!0;break}}if(!t)return!0}}return!1}updateBatches(){if(!this.graphicsData.length)return void(this.batchable=!0);if(!this.validateBatching())return;this.cacheDirty=this.dirty;let t=this.uvs,r=this.graphicsData,n=null,i=null;this.batches.length>0&&(i=(n=this.batches[this.batches.length-1]).style);for(let o=this.shapeIndex;o<r.length;o++){this.shapeIndex++;let a=r[o],s=a.fillStyle,u=a.lineStyle;tx[a.type].build(a),a.matrix&&this.transformPoints(a.points,a.matrix),(s.visible||u.visible)&&this.processHoles(a.holes);for(let r=0;r<2;r++){let o=0===r?s:u;if(!o.visible)continue;let l=o.texture.baseTexture,h=this.indices.length,f=this.points.length/2;l.wrapMode=c.uR.REPEAT,0===r?this.processFill(a):this.processLine(a);let d=this.points.length/2-f;0!==d&&(n&&!this._compareStyles(i,o)&&(n.end(h,f),n=null),n||((n=t_.pop()||new tE).begin(o,h,f),this.batches.push(n),i=o),this.addUvs(this.points,t,o.texture,f,d,o.matrix
3591))}}let o=this.indices.length,a=this.points.length/2;if(n&&n.end(o,a),0===this.batches.length)return void(this.batchable=!0);let s=a>65535;this.indicesUint16&&this.indices.length===this.indicesUint16.length&&s===this.indicesUint16.BYTES_PER_ELEMENT>2?this.indicesUint16.set(this.indices):this.indicesUint16=s?new Uint32Array(this.indices):new Uint16Array(this.indices),this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}_compareStyles(t,r){return!(!t||!r||t.texture.baseTexture!==r.texture.baseTexture||t.color+t.alpha!==r.color+r.alpha||!!t.native!=!!r.native)}validateBatching(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(let t=0,r=this.graphicsData.length;t<r;t++){let r=this.graphicsData[t],n=r.fillStyle,i=r.lineStyle;if(n&&!n.texture.baseTexture.valid||i&&!i.texture.baseTexture.valid)return!1}return!0}packBatches(){this.batchDirty++,this.uvsFloat32=new Float32Array(this.uvs);let t=this.batches;for(let r=0,n=t.length;r<n;r++){let n=t[r];for(let t=0;t<n.size;t++){let r=n.start+t;this.indicesUint16[r]=this.indicesUint16[r]-n.attribStart}}}isBatchable(){if(this.points.length>131070)return!1;let r=this.batches;for(let t=0;t<r.length;t++)if(r[t].style.native)return!1;return this.points.length<2*t.BATCHABLE_SIZE}buildDrawCalls(){let t=++c.t5._globalBatch;for(let t=0;t<this.drawCalls.length;t++)this.drawCalls[t].texArray.clear(),tT.push(this.drawCalls[t]);this.drawCalls.length=0;let r=this.colors,n=this.textureIds,i=tT.pop();i||((i=new c.hq).texArray=new c.cc),i.texArray.count=0,i.start=0,i.size=0,i.type=c._4.TRIANGLES;let o=0,a=null,s=0,u=!1,l=c._4.TRIANGLES,h=0;this.drawCalls.push(i);for(let f=0;f<this.batches.length;f++){let d=this.batches[f],p=d.style,y=p.texture.baseTexture;!!p.native!==u&&(l=(u=!!p.native)?c._4.LINES:c._4.TRIANGLES,a=null,o=8,t++),a!==y&&(a=y,y._batchEnabled!==t&&(8===o&&(t++,o=0,i.size>0&&((i=tT.pop())||((i=new c.hq).texArray=new c.cc),this.drawCalls.push(i)),i.start=h,i.size=0,i.texArray.count=0,i.type=l),y.touched=1,y._batchEnabled=t,y._batchLocation=o,y.wrapMode=c.uR.REPEAT,i.texArray.elements[i.texArray.count++]=y,o++)),i.size+=d.size,h+=d.size,s=y._batchLocation,this.addColors(r,p.color,p.alpha,d.attribSize,d.attribStart),this.addTextureIds(n,s,d.attribSize,d.attribStart)}c.t5._globalBatch=t,this.packAttributes()}packAttributes(){let t=this.points,r=this.uvs,n=this.colors,i=this.textureIds,o=new ArrayBuffer(3*t.length*4),a=new Float32Array(o),s=new Uint32Array(o),u=0;for(let o=0;o<t.length/2;o++)a[u++]=t[2*o],a[u++]=t[2*o+1],a[u++]=r[2*o],a[u++]=r[2*o+1],s[u++]=n[o],a[u++]=i[o];this._buffer.update(o),this._indexBuffer.update(this.indicesUint16)}processFill(t){t.holes.length?tu.triangulate(t,this):tx[t.type].triangulate(t,this)}processLine(t){tb(t,this);for(let r=0;r<t.holes.length;r++)tb(t.holes[r],this)}processHoles(t){for(let r=0;r<t.length;r++){let n=t[r];tx[n.type].build(n),n.matrix&&this.transformPoints(n.points,n.matrix)}}calculateBounds(){let t=this._bounds;t.clear(),t.addVertexData(this.points,0,this.points.length),t.pad(this.boundsPadding,this.boundsPadding)}transformPoints(t,r){for(let n=0;n<t.length/2;n++){let i=t[2*n],o=t[2*n+1];t[2*n]=r.a*i+r.c*o+r.tx,t[2*n+1]=r.b*i+r.d*o+r.ty}}addColors(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=c.Q1.shared.setValue(r).toLittleEndianNumber(),s=c.Q1.shared.setValue(a).toPremultiplied(n);t.length=Math.max(t.length,o+i);for(let r=0;r<i;r++)t[o+r]=s}addTextureIds(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;t.length=Math.max(t.length,i+n);for(let o=0;o<n;o++)t[i+o]=r}addUvs(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,s=0,u=r.length,l=n.frame;for(;s<o;){let n=t[2*(i+s)],o=t[2*(i+s)+1];if(a){let t=a.a*n+a.c*o+a.tx;o=a.b*n+a.d*o+a.ty,n=t}s++,r.push(n/l.width,o/l.height)}let h=n.baseTexture;(l.width<h.width||l.height<h.height)&&this.adjustUvs(r,n,u,o)}adjustUvs(t,r,n,i){let o=r.baseTexture,a=n+2*i,s=r.frame,u=s.width/o.width,l=s.height/o.height,h=s.x/s.width,c=s.y/s.height,f=Math.floor(t[n]+1e-6),d=Math.floor(t[n+1]+1e-6);for(let r=n+2;r<a;r+=2)f=Math.min(f,Math.floor(t[r]+1e-6)),d=Math.min(d,Math.floor(t[r+1]+1e-6));h-=f,c-=d;for(let r=n;r<a;r+=2)t[r]=(t[r]+h)*u,t[r+1]=(t[r+1]+c)*l}};tA.BATCHABLE_SIZE=100;let tI=tA;class tP{constructor(){this.color=0xffffff,this.alpha=1,this.texture=c.gP.WHITE,this.matrix=null,this.visible=!1,this.reset()}clone(){let t=new tP;return t.color=this.color,t.alpha=this.alpha,t.texture=this.texture,t.matrix=this.matrix,t.visible=this.visible,t}reset(){this.color=0xffffff,this.alpha=1,this.texture=c.gP.WHITE,this.matrix=null,this.visible=!1}destroy(){this.texture=null,this.matrix=null}}class tk extends tP{constructor(){super(...arguments),this.width=0,this.alignment=.5,this.native=!1,this.cap=tf.BUTT,this.join=tc.MITER,this.miterLimit=10}clone(){let t=new tk;return t.color=this.color,t.alpha=this.alpha,t.texture=this.texture,t.matrix=this.matrix,t.visible=this.visible,t.width=this.width,t.alignment=this.alignment,t.native=this.native,t.cap=this.cap,t.join=this.join,t.miterLimit=this.miterLimit,t}reset(){super.reset(),this.color=0,this.alignment=.5,this.width=0,this.native=!1,this.cap=tf.BUTT,this.join=tc.MITER,this.miterLimit=10}}let tC={},t$=class t extends v{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;super(),this.shader=null,this.pluginName="batch",this.currentPath=null,this.batches=[],this.batchTint=-1,this.batchDirty=-1,this.vertexData=null,this._fillStyle=new tP,this._lineStyle=new tk,this._matrix=null,this._holeMode=!1,this.state=c.Uw.for2d(),this._geometry=t||new tI,this._geometry.refCount++,this._transformID=-1,this._tintColor=new c.Q1(0xffffff),this.blendMode=c.B9.NORMAL}get geometry(){return this._geometry}clone(){return this.finishPoly(),new t(this._geometry)}set blendMode(t){this.state.blendMode=t}get blendMode(){return this.state.blendMode}get tint(){return this._tintColor.value}set tint(t){this._tintColor.setValue(t)}get fill(){return this._fillStyle}get line(){return this._lineStyle}lineStyle(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return"number"==typeof t&&(t={width:t,color:r,alpha:n,alignment:i,native:o}),this.lineTextureStyle(t)}lineTextureStyle(t){t=Object.assign({width:0,texture:c.gP.WHITE,color:0xffffff*!!t?.texture,matrix:null,alignment:.5,native:!1,cap:tf.BUTT,join:tc.MITER,miterLimit:10},t),this.normalizeColor(t),this.currentPath&&this.startPoly();let r=t.width>0&&t.alpha>0;return r?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._lineStyle,{visible:r},t)):this._lineStyle.reset(),this}startPoly(){if(this.currentPath){let t=this.currentPath.points,r=this.currentPath.points.length;r>2&&(this.drawShape(this.currentPath),this.currentPath=new c.tS,this.currentPath.closeStroke=!1,this.currentPath.points.push(t[r-2],t[r-1]))}else this.currentPath=new c.tS,this.currentPath.closeStroke=!1}finishPoly(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)}moveTo(t,r){return this.startPoly(),this.currentPath.points[0]=t,this.currentPath.points[1]=r,this}lineTo(t,r){this.currentPath||this.moveTo(0,0);let n=this.currentPath.points,i=n[n.length-2],o=n[n.length-1];return(i!==t||o!==r)&&n.push(t,r),this}_initCurve(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.currentPath?0===this.currentPath.points.length&&(this.currentPath.points=[t,r]):this.moveTo(t,r)}quadraticCurveTo(t,r,n,i){this._initCurve();let o=this.currentPath.points;return 0===o.length&&this.moveTo(0,0),tw.curveTo(t,r,n,i,o),this}bezierCurveTo(t,r,n,i,o,a){return this._initCurve(),tm.curveTo(t,r,n,i,o,a,this.currentPath.points),this}arcTo(t,r,n,i,o){this._initCurve(t,r);let a=this.currentPath.points,s=ty.curveTo(t,r,n,i,o,a);if(s){let{cx:t,cy:r,radius:n,startAngle:i,endAngle:o,anticlockwise:a}=s;this.arc(t,r,n,i,o,a)}return this}arc(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(i===o||(!a&&o<=i?o+=c.TO:a&&i<=o&&(i+=c.TO),o-i==0))return this;let s=t+Math.cos(i)*n,u=r+Math.sin(i)*n,l=this._geometry.closePointEps,h=this.currentPath?this.currentPath.points:null;if(h){let t=Math.abs(h[h.length-2]-s),r=Math.abs(h[h.length-1]-u);t<l&&r<l||h.push(s,u)}else this.moveTo(s,u),h=this.currentPath.points;return ty.arc(s,u,t,r,n,i,o,a,h),this}beginFill(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1?arguments[1]:void 0;return this.beginTextureFill({texture:c.gP.WHITE,color:t,alpha:r})}normalizeColor(t){let r=c.Q1.shared.setValue(t.color??0);t.color=r.toNumber(),t.alpha??(t.alpha=r.alpha)}beginTextureFill(t){t=Object.assign({texture:c.gP.WHITE,color:0xffffff,matrix:null},t),this.normalizeColor(t),this.currentPath&&this.startPoly();let r=t.alpha>0;return r?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._fillStyle,{visible:r},t)):this._fillStyle.reset(),this}endFill(){return this.finishPoly(),this._fillStyle.reset(),this}drawRect(t,r,n,i){return this.drawShape(new c.M_(t,r,n,i))}drawRoundedRect(t,r,n,i,o){return this.drawShape(new c.TE(t,r,n,i,o))}drawCircle(t,r,n){return this.drawShape(new c.jl(t,r,n))}drawEllipse(t,r,n,i){return this.drawShape(new c.Pp(t,r,n,i))}drawPolygon(){let t,r=!0;for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];let a=i[0];a.points?(r=a.closeStroke,t=a.points):t=Array.isArray(i[0])?i[0]:i;let s=new c.tS(t);return s.closeStroke=r,this.drawShape(s),this}drawShape(t){return this._holeMode?this._geometry.drawHole(t,this._matrix):this._geometry.drawShape(t,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this}clear(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this}
3591isFastRect(){let t=this._geometry.graphicsData;return!(1!==t.length||t[0].shape.type!==c.HY.RECT||t[0].matrix||t[0].holes.length||t[0].lineStyle.visible&&t[0].lineStyle.width)}_render(t){this.finishPoly();let r=this._geometry;r.updateBatches(),r.batchable?(this.batchDirty!==r.batchDirty&&this._populateBatches(),this._renderBatched(t)):(t.batch.flush(),this._renderDirect(t))}_populateBatches(){let t=this._geometry,r=this.blendMode,n=t.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=t.batchDirty,this.batches.length=n,this.vertexData=new Float32Array(t.points);for(let i=0;i<n;i++){let n=t.batches[i],o=n.style.color,a=new Float32Array(this.vertexData.buffer,4*n.attribStart*2,2*n.attribSize),s=new Float32Array(t.uvsFloat32.buffer,4*n.attribStart*2,2*n.attribSize),u={vertexData:a,blendMode:r,indices:new Uint16Array(t.indicesUint16.buffer,2*n.start,n.size),uvs:s,_batchRGB:c.Q1.shared.setValue(o).toRgbArray(),_tintRGB:o,_texture:n.style.texture,alpha:n.style.alpha,worldAlpha:1};this.batches[i]=u}}_renderBatched(t){if(this.batches.length){t.batch.setObjectRenderer(t.plugins[this.pluginName]),this.calculateVertices(),this.calculateTints();for(let r=0,n=this.batches.length;r<n;r++){let n=this.batches[r];n.worldAlpha=this.worldAlpha*n.alpha,t.plugins[this.pluginName].render(n)}}}_renderDirect(t){let r=this._resolveDirectShader(t),n=this._geometry,i=this.worldAlpha,o=r.uniforms,a=n.drawCalls;o.translationMatrix=this.transform.worldTransform,c.Q1.shared.setValue(this._tintColor).premultiply(i).toArray(o.tint),t.shader.bind(r),t.geometry.bind(n,r),t.state.set(this.state);for(let r=0,i=a.length;r<i;r++)this._renderDrawCallDirect(t,n.drawCalls[r])}_renderDrawCallDirect(t,r){let{texArray:n,type:i,size:o,start:a}=r,s=n.count;for(let r=0;r<s;r++)t.texture.bind(n.elements[r],r);t.geometry.draw(i,o,a)}_resolveDirectShader(t){let r=this.shader,n=this.pluginName;if(!r){if(!tC[n]){let{maxTextures:r}=t.plugins[n],i=new Int32Array(r);for(let t=0;t<r;t++)i[t]=t;let o={tint:new Float32Array([1,1,1,1]),translationMatrix:new c.uq,default:c.k2.from({uSamplers:i},!0)},a=t.plugins[n]._shader.program;tC[n]=new c.Mt(a,o)}r=tC[n]}return r}_calculateBounds(){this.finishPoly();let t=this._geometry;if(!t.graphicsData.length)return;let{minX:r,minY:n,maxX:i,maxY:o}=t.bounds;this._bounds.addFrame(this.transform,r,n,i,o)}containsPoint(r){return this.worldTransform.applyInverse(r,t._TEMP_POINT),this._geometry.containsPoint(t._TEMP_POINT)}calculateTints(){if(this.batchTint!==this.tint){this.batchTint=this._tintColor.toNumber();for(let t=0;t<this.batches.length;t++){let r=this.batches[t];r._tintRGB=c.Q1.shared.setValue(this._tintColor).multiply(r._batchRGB).toLittleEndianNumber()}}}calculateVertices(){let t=this.transform._worldID;if(this._transformID===t)return;this._transformID=t;let r=this.transform.worldTransform,n=r.a,i=r.b,o=r.c,a=r.d,s=r.tx,u=r.ty,l=this._geometry.points,h=this.vertexData,c=0;for(let t=0;t<l.length;t+=2){let r=l[t],f=l[t+1];h[c++]=n*r+o*f+s,h[c++]=a*f+i*r+u}}closePath(){let t=this.currentPath;return t&&(t.closeStroke=!0,this.finishPoly()),this}setMatrix(t){return this._matrix=t,this}beginHole(){return this.finishPoly(),this._holeMode=!0,this}endHole(){return this.finishPoly(),this._holeMode=!1,this}destroy(t){this._geometry.refCount--,0===this._geometry.refCount&&this._geometry.dispose(),this._matrix=null,this.currentPath=null,this._lineStyle.destroy(),this._lineStyle=null,this._fillStyle.destroy(),this._fillStyle=null,this._geometry=null,this.shader=null,this.vertexData=null,this.batches.length=0,this.batches=null,
3591super.destroy(t)}};t$.curves=td,t$._TEMP_POINT=new c.bR;let tR=t$,tD={buildPoly:tu,buildCircle:ta,buildRectangle:tl,buildRoundedRectangle:th,buildLine:tb,ArcUtils:ty,BezierUtils:tm,QuadraticUtils:tw,BatchPart:tE,FILL_COMMANDS:tx,BATCH_POOL:t_,DRAW_CALL_POOL:tT};class tM{constructor(t,r){this.uvBuffer=t,this.uvMatrix=r,this.data=null,this._bufferUpdateId=-1,this._textureUpdateId=-1,this._updateID=0}update(t){if(!t&&this._bufferUpdateId===this.uvBuffer._updateID&&this._textureUpdateId===this.uvMatrix._updateID)return;this._bufferUpdateId=this.uvBuffer._updateID,this._textureUpdateId=this.uvMatrix._updateID;let r=this.uvBuffer.data;this.data&&this.data.length===r.length||(this.data=new Float32Array(r.length)),this.uvMatrix.multiplyUvs(r,this.data),this._updateID++}}let tL=new c.bR,tB=new c.tS,tN=class t extends v{constructor(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c._4.TRIANGLES;super(),this.geometry=t,this.shader=r,this.state=n||c.Uw.for2d(),this.drawMode=i,this.start=0,this.size=0,this.uvs=null,this.indices=null,this.vertexData=new Float32Array(1),this.vertexDirty=-1,this._transformID=-1,this._roundPixels=c.W0.ROUND_PIXELS,this.batchUvs=null}get geometry(){return this._geometry}set geometry(t){this._geometry!==t&&(this._geometry&&(this._geometry.refCount--,0===this._geometry.refCount&&this._geometry.dispose()),this._geometry=t,this._geometry&&this._geometry.refCount++,this.vertexDirty=-1)}get uvBuffer(){return this.geometry.buffers[1]}get verticesBuffer(){return this.geometry.buffers[0]}set material(t){this.shader=t}get material(){return this.shader}set blendMode(t){this.state.blendMode=t}get blendMode(){return this.state.blendMode}set roundPixels(t){this._roundPixels!==t&&(this._transformID=-1),this._roundPixels=t}get roundPixels(){return this._roundPixels}get tint(){return"tint"in this.shader?this.shader.tint:null}set tint(t){this.shader.tint=t}get tintValue(){return this.shader.tintValue}get texture(){return"texture"in this.shader?this.shader.texture:null}set texture(t){this.shader.texture=t}_render(r){let n=this.geometry.buffers[0].data;this.shader.batchable&&this.drawMode===c._4.TRIANGLES&&n.length<2*t.BATCHABLE_SIZE?this._renderToBatch(r):this._renderDefault(r)}_renderDefault(t){let r=this.shader;r.alpha=this.worldAlpha,r.update&&r.update(),t.batch.flush(),r.uniforms.translationMatrix=this.transform.worldTransform.toArray(!0),t.shader.bind(r),t.state.set(this.state),t.geometry.bind(this.geometry,r),t.geometry.draw(this.drawMode,this.size,this.start,this.geometry.instanceCount)}_renderToBatch(t){let r=this.geometry,n=this.shader;n.uvMatrix&&(n.uvMatrix.update(),this.calculateUvs()),this.calculateVertices(),this.indices=r.indexBuffer.data,this._tintRGB=n._tintRGB,this._texture=n.texture;let i=this.material.pluginName;t.batch.setObjectRenderer(t.plugins[i]),t.plugins[i].render(this)}calculateVertices(){let t=this.geometry.buffers[0],r=t.data,n=t._updateID;if(n===this.vertexDirty&&this._transformID===this.transform._worldID)return;this._transformID=this.transform._worldID,this.vertexData.length!==r.length&&(this.vertexData=new Float32Array(r.length));let i=this.transform.worldTransform,o=i.a,a=i.b,s=i.c,u=i.d,l=i.tx,h=i.ty,f=this.vertexData;for(let t=0;t<f.length/2;t++){let n=r[2*t],i=r[2*t+1];f[2*t]=o*n+s*i+l,f[2*t+1]=a*n+u*i+h}if(this._roundPixels){let t=c.W0.RESOLUTION;for(let r=0;r<f.length;++r)f[r]=Math.round(f[r]*t)/t}this.vertexDirty=n}calculateUvs(){let t=this.geometry.buffers[1],r=this.shader;r.uvMatrix.isSimple?this.uvs=t.data:(this.batchUvs||(this.batchUvs=new tM(t,r.uvMatrix)),this.batchUvs.update(),this.uvs=this.batchUvs.data)}_calculateBounds(){this.calculateVertices(),this._bounds.addVertexData(this.vertexData,0,this.vertexData.length)}containsPoint(t){if(!this.getBounds().contains(t.x,t.y))return!1;this.worldTransform.applyInverse(t,tL);let r=this.geometry.getBuffer("aVertexPosition").data,n=tB.points,i=this.geometry.getIndex().data,o=i.length,a=4===this.drawMode?3:1;for(let t=0;t+2<o;t+=a){let o=2*i[t],a=2*i[t+1],s=2*i[t+2];if(n[0]=r[o],n[1]=r[o+1],n[2]=r[a],n[3]=r[a+1],n[4]=r[s],n[5]=r[s+1],tB.contains(tL.x,tL.y))return!0}return!1}destroy(t){super.destroy(t),this._cachedTexture&&(this._cachedTexture.destroy(),this._cachedTexture=null),this.geometry=null,this.shader=null,this.state=null,this.uvs=null,this.indices=null,this.vertexData=null}};tN.BATCHABLE_SIZE=100;let tF=tN;class tU extends c.V2{constructor(t,r,n){super();const i=new c.hp(t),o=new c.hp(r,!0),a=new c.hp(n,!0,!0);this.addAttribute("aVertexPosition",i,2,!1,c.QE.FLOAT).addAttribute("aTextureCoord",o,2,!1,c.QE.FLOAT).addIndex(a),this._updateId=-1}get vertexDirtyId(){return this.buffers[0]._updateID}}class tj extends c.Mt{constructor(t,r){const n={uSampler:t,alpha:1,uTextureMatrix:c.uq.IDENTITY,uColor:new Float32Array([1,1,1,1])};(r=Object.assign({tint:0xffffff,alpha:1,pluginName:"batch"},r)).uniforms&&Object.assign(n,r.uniforms),super(r.program||c.BP.from(`attribute vec2 aVertexPosition;
3592attribute vec2 aTextureCoord;
3593
3594uniform mat3 projectionMatrix;
3595uniform mat3 translationMatrix;
3596uniform mat3 uTextureMatrix;
3597
3598varying vec2 vTextureCoord;
3599
3600void main(void)
3601{
3602    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0
3602)).xy, 0.0, 1.0);
3603
3604    vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;
3605}
3606`,`varying vec2 vTextureCoord;
3607uniform vec4 uColor;
3608
3609uniform sampler2D uSampler;
3610
3611void main(void)
3612{
3613    gl_FragColor = texture2D(uSampler, vTextureCoord) * uColor;
3614}
3615`),n),this._colorDirty=!1,this.uvMatrix=new c.NW(t),this.batchable=void 0===r.program,this.pluginName=r.pluginName,this._tintColor=new c.Q1(r.tint),this._tintRGB=this._tintColor.toLittleEndianNumber(),this._colorDirty=!0,this.alpha=r.alpha}get texture(){return this.uniforms.uSampler}set texture(t){this.uniforms.uSampler!==t&&(!this.uniforms.uSampler.baseTexture.alphaMode!=!t.baseTexture.alphaMode&&(this._colorDirty=!0),this.uniforms.uSampler=t,this.uvMatrix.texture=t)}set alpha(t){t!==this._alpha&&(this._alpha=t,this._colorDirty=!0)}get alpha(){return this._alpha}set tint(t){t!==this.tint&&(this._tintColor.setValue(t),this._tintRGB=this._tintColor.toLittleEndianNumber(),this._colorDirty=!0)}get tint(){return this._tintColor.value}get tintValue(){return this._tintColor.toNumber()}update(){if(this._colorDirty){this._colorDirty=!1;let t=this.texture.baseTexture.alphaMode;c.Q1.shared.setValue(this._tintColor).premultiply(this._alpha,t).toArray(this.uniforms.uColor)}this.uvMatrix.update()&&(this.uniforms.uTextureMatrix=this.uvMatrix.mapCoord)}}class tz extends tU{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;super(),this.segWidth=n,this.segHeight=i,this.width=t,this.height=r,this.build()}build(){let t=this.segWidth*this.segHeight,r=[],n=[],i=[],o=this.segWidth-1,a=this.segHeight-1,s=this.width/o,u=this.height/a;for(let i=0;i<t;i++){let t=i%this.segWidth,l=i/this.segWidth|0;r.push(t*s,l*u),n.push(t/o,l/a)}let l=o*a;for(let t=0;t<l;t++){let r=t%o,n=t/o|0,a=n*this.segWidth+r,s=n*this.segWidth+r+1,u=(n+1)*this.segWidth+r,l=(n+1)*this.segWidth+r+1;i.push(a,s,u,s,l,u)}this.buffers[0].data=new Float32Array(r),this.buffers[1].data=new Float32Array(n),this.indexBuffer.data=new Uint16Array(i),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update()}}class tG extends tU{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;super(new Float32Array(4*r.length),new Float32Array(4*r.length),new Uint16Array(6*(r.length-1))),this.points=r,this._width=t,this.textureScale=n,this.build()}get width(){return this._width}build(){let t=this.points;if(!t)return;let r=this.getBuffer("aVertexPosition"),n=this.getBuffer("aTextureCoord"),i=this.getIndex();if(t.length<1)return;r.data.length/4!==t.length&&(r.data=new Float32Array(4*t.length),n.data=new Float32Array(4*t.length),i.data=new Uint16Array(6*(t.length-1)));let o=n.data,a=i.data;o[0]=0,o[1]=0,o[2]=0,o[3]=1;let s=0,u=t[0],l=this._width*this.textureScale,h=t.length;for(let r=0;r<h;r++){let n=4*r;if(this.textureScale>0){let n=u.x-t[r].x,i=u.y-t[r].y,o=Math.sqrt(n*n+i*i);u=t[r],s+=o/l}else s=r/(h-1);o[n]=s,o[n+1]=0,o[n+2]=s,o[n+3]=1}let c=0;for(let t=0;t<h-1;t++){let r=2*t;a[c++]=r,a[c++]=r+1,a[c++]=r+2,a[c++]=r+2,a[c++]=r+1,a[c++]=r+3}n.update(),i.update(),this.updateVertices()}updateVertices(){let t=this.points;if(t.length<1)return;let r,n=t[0],i=0,o=0,a=this.buffers[0].data,s=t.length,u=this.textureScale>0?this.textureScale*this._width/2:this._width/2;for(let l=0;l<s;l++){let h=t[l],c=4*l;o=-((r=l<t.length-1?t[l+1]:h).x-n.x),i=r.y-n.y;let f=10*(1-l/(s-1));f>1&&(f=1);let d=Math.sqrt(i*i+o*o);d<1e-6?(i=0,o=0):(i/=d,o/=d,i*=u,o*=u),a[c]=h.x+i,a[c+1]=h.y+o,a[c+2]=h.x-i,a[c+3]=h.y-o,n=h}this.buffers[0].update()}update(){this.textureScale>0?this.build():this.updateVertices()}}class tV extends tF{constructor(t,r,n){super(new tz(t.width,t.height,r,n),new tj(c.gP.WHITE)),this.texture=t,this.autoResize=!0}textureUpdated(){this._textureID=this.shader.texture._updateID;let t=this.geometry,{width:r,height:n}=this.shader.texture;this.autoResize&&(t.width!==r||t.height!==n)&&(t.width=this.shader.texture.width,t.height=this.shader.texture.height,t.build())}set texture(t){this.shader.texture!==t&&(this.shader.texture=t,this._textureID=-1,t.baseTexture.valid?this.textureUpdated():t.once("update",this.textureUpdated,this))}get texture(){return this.shader.texture}_render(t){this._textureID!==this.shader.texture._updateID&&this.textureUpdated(),super._render(t)}destroy(t){this.shader.texture.off("update",this.textureUpdated,this),super.destroy(t)}}class tW extends tV{constructor(t,r,n,i,o){super(c.gP.WHITE,4,4),this._origWidth=t.orig.width,this._origHeight=t.orig.height,this._width=this._origWidth,this._height=this._origHeight,this._leftWi
3615dth=r??t.defaultBorders?.left??10,this._rightWidth=i??t.defaultBorders?.right??10,this._topHeight=n??t.defaultBorders?.top??10,this._bottomHeight=o??t.defaultBorders?.bottom??10,this.texture=t}textureUpdated(){this._textureID=this.shader.texture._updateID,this._refresh()}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}updateHorizontalVertices(){let t=this.vertices,r=this._getMinScale();t[9]=t[11]=t[13]=t[15]=this._topHeight*r,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*r,t[25]=t[27]=t[29]=t[31]=this._height}updateVerticalVertices(){let t=this.vertices,r=this._getMinScale();t[2]=t[10]=t[18]=t[26]=this._leftWidth*r,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*r,t[6]=t[14]=t[22]=t[30]=this._width}_getMinScale(){let t=this._leftWidth+this._rightWidth,r=this._width>t?1:this._width/t,n=this._topHeight+this._bottomHeight;return Math.min(r,this._height>n?1:this._height/n)}get width(){return this._width}set width(t){this._width=t,this._refresh()}get height(){return this._height}set height(t){this._height=t,this._refresh()}get leftWidth(){return this._leftWidth}set leftWidth(t){this._leftWidth=t,this._refresh()}get rightWidth(){return this._rightWidth}set rightWidth(t){this._rightWidth=t,this._refresh()}get topHeight(){return this._topHeight}set topHeight(t){this._topHeight=t,this._refresh()}get bottomHeight(){return this._bottomHeight}set bottomHeight(t){this._bottomHeight=t,this._refresh()}_refresh(){let t=this.texture,r=this.geometry.buffers[1].data;this._origWidth=t.orig.width,this._origHeight=t.orig.height;let n=1/this._origWidth,i=1/this._origHeight;r[0]=r[8]=r[16]=r[24]=0,r[1]=r[3]=r[5]=r[7]=0,r[6]=r[14]=r[22]=r[30]=1,r[25]=r[27]=r[29]=r[31]=1,r[2]=r[10]=r[18]=r[26]=n*this._leftWidth,r[4]=r[12]=r[20]=r[28]=1-n*this._rightWidth,r[9]=r[11]=r[13]=r[15]=i*this._topHeight,r[17]=r[19]=r[21]=r[23]=1-i*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.geometry.buffers[0].update(),this.geometry.buffers[1].update()}}class tH extends tF{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.gP.EMPTY,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;const a=new tU(r,n,i);a.getBuffer("aVertexPosition").static=!1,super(a,new tj(t),null,o),this.autoUpdate=!0}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}_render(t){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),super._render(t)}}class tq extends tF{constructor(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const i=new tG(t.height,r,n),o=new tj(t);n>0&&(t.baseTexture.wrapMode=c.uR.REPEAT),super(i,o),this.autoUpdate=!0}_render(t){let r=this.geometry;(this.autoUpdate||r._width!==this.shader.texture.height)&&(r._width=this.shader.texture.height,r.update()),super._render(t)}}class tY extends v{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1500,r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16384,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super(),n>16384&&(n=16384),this._properties=[!1,!0,!1,!1,!1],this._maxSize=t,this._batchSize=n,this._buffers=null,this._bufferUpdateIDs=[],this._updateID=0,this.interactiveChildren=!1,this.blendMode=c.B9.NORMAL,this.autoResize=i,this.roundPixels=!0,this.baseTexture=null,this.setProperties(r),this._tintColor=new c.Q1(0),this.tintRgb=new Float32Array(3),this.tint=0xffffff}setProperties(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])}updateTransform(){this.displayObjectUpdateTransform()}get tint(){return this._tintColor.value}set tint(t){this._tintColor.setValue(t),this._tintColor.toRgbArray(this.tintRgb)}render(t){this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable&&(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.valid||this.baseTexture.once("update",()=>this.onChildrenChange(0))),t.batch.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))}onChildrenChange(t){let r=Math.floor(t/this._batchSize);for(;this._bufferUpdateIDs.length<r;)this._bufferUpdateIDs.push(0);this._bufferUpdateIDs[r]=++this._updateID}dispose(){if(this._buffers){for(let t=0;t<this._buffers.length;++t)this._buffers[t].destroy();this._buffers=null}}destroy(t){super.destroy(t),this.dispose(),this._properties=null,this._buffers=null,this._bufferUpdateIDs=null}}class tX{constructor(t,r,n){this.geometry=new c.V2,this.indexBuffer=null,this.size=n,this.dynamicProperties=[],this.staticProperties=[];for(let n=0;n<t.length;++n){let i=t[n];i={attributeName:i.attributeName,size:i.size,uploadFunction:i.uploadFunction,type:i.type||c.QE.FLOAT,offset:i.offset},r[n]?this.dynamicProperties.push(i):this.staticProperties.push(i)}
3615this.staticStride=0,this.staticBuffer=null,this.staticData=null,this.staticDataUint32=null,this.dynamicStride=0,this.dynamicBuffer=null,this.dynamicData=null,this.dynamicDataUint32=null,this._updateID=0,this.initBuffers()}initBuffers(){let t=this.geometry,r=0;this.indexBuffer=new c.hp(c.Wp.createIndicesForQuads(this.size),!0,!0),t.addIndex(this.indexBuffer),this.dynamicStride=0;for(let t=0;t<this.dynamicProperties.length;++t){let n=this.dynamicProperties[t];n.offset=r,r+=n.size,this.dynamicStride+=n.size}let n=new ArrayBuffer(this.size*this.dynamicStride*16);this.dynamicData=new Float32Array(n),this.dynamicDataUint32=new Uint32Array(n),this.dynamicBuffer=new c.hp(this.dynamicData,!1,!1);let i=0;this.staticStride=0;for(let t=0;t<this.staticProperties.length;++t){let r=this.staticProperties[t];r.offset=i,i+=r.size,this.staticStride+=r.size}let o=new ArrayBuffer(this.size*this.staticStride*16);this.staticData=new Float32Array(o),this.staticDataUint32=new Uint32Array(o),this.staticBuffer=new c.hp(this.staticData,!0,!1);for(let r=0;r<this.dynamicProperties.length;++r){let n=this.dynamicProperties[r];t.addAttribute(n.attributeName,this.dynamicBuffer,0,n.type===c.QE.UNSIGNED_BYTE,n.type,4*this.dynamicStride,4*n.offset)}for(let r=0;r<this.staticProperties.length;++r){let n=this.staticProperties[r];t.addAttribute(n.attributeName,this.staticBuffer,0,n.type===c.QE.UNSIGNED_BYTE,n.type,4*this.staticStride,4*n.offset)}}uploadDynamic(t,r,n){for(let i=0;i<this.dynamicProperties.length;i++){let o=this.dynamicProperties[i];o.uploadFunction(t,r,n,o.type===c.QE.UNSIGNED_BYTE?this.dynamicDataUint32:this.dynamicData,this.dynamicStride,o.offset)}this.dynamicBuffer._updateID++}uploadStatic(t,r,n){for(let i=0;i<this.staticProperties.length;i++){let o=this.staticProperties[i];o.uploadFunction(t,r,n,o.type===c.QE.UNSIGNED_BYTE?this.staticDataUint32:this.staticData,this.staticStride,o.offset)}this.staticBuffer._updateID++}destroy(){this.indexBuffer=null,this.dynamicProperties=null,this.dynamicBuffer=null,this.dynamicData=null,this.dynamicDataUint32=null,this.staticProperties=null,this.staticBuffer=null,this.staticData=null,this.staticDataUint32=null,this.geometry.destroy()}}class tK extends c.Pt{constructor(t){super(t),this.shader=null,this.properties=null,this.tempMatrix=new c.uq,this.properties=[{attributeName:"aVertexPosition",size:2,uploadFunction:this.uploadVertices,offset:0},{attributeName:"aPositionCoord",size:2,uploadFunction:this.uploadPosition,offset:0},{attributeName:"aRotation",size:1,uploadFunction:this.uploadRotation,offset:0},{attributeName:"aTextureCoord",size:2,uploadFunction:this.uploadUvs,offset:0},{attributeName:"aColor",size:1,type:c.QE.UNSIGNED_BYTE,uploadFunction:this.uploadTint,offset:0}],this.shader=c.Mt.from(`attribute vec2 aVertexPosition;
3616attribute vec2 aTextureCoord;
3617attribute vec4 aColor;
3618
3619attribute vec2 aPositionCoord;
3620attribute float aRotation;
3621
3622uniform mat3 translationMatrix;
3623uniform vec4 uColor;
3624
3625varying vec2 vTextureCoord;
3626varying vec4 vColor;
3627
3628void main(void){
3629    float x = (aVertexPosition.x) * cos(aRotation) - (aVertexPosition.y) * sin(aRotation);
3630    float y = (aVertexPosition.x) * sin(aRotation) + (aVertexPosition.y) * cos(aRotation);
3631
3632    vec2 v = vec2(x, y);
3633    v = v + aPositionCoord;
3634
3635    gl_Position = vec4((translationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);
3636
3637    vTextureCoord = aTextureCoord;
3638    vColor = aColor * uColor;
3639}
3640`,`varying vec2 vTextureCoord;
3641varying vec4 vColor;
3642
3643uniform sampler2D uSampler;
3644
3645void main(void){
3646    vec4 color = texture2D(uSampler, vTextureCoord) * vColor;
3647    gl_FragColor = color;
3648}`,{}),this.state=c.Uw.for2d()}render(t){let r=t.children,n=t._maxSize,i=t._batchSize,o=this.renderer,a=r.length;if(0===a)return;a>n&&!t.autoResize&&(a=n);let s=t._buffers;s||(s=t._buffers=this.generateBuffers(t));let u=r[0]._texture.baseTexture,l=u.alphaMode>0;this.state.blendMode=c.Wp.correctBlendMode(t.blendMode,l),o.state.set(this.state);let h=o.gl,f=t.worldTransform.copyTo(this.tempMatrix);f.prepend(o.globalUniforms.uniforms.projectionMatrix),this.shader.uniforms.translationMatrix=f.toArray(!0),this.shader.uniforms.uColor=c.Q1.shared.setValue(t.tintRgb).premultiply(t.worldAlpha,l).toArray(this.shader.uniforms.uColor),this.shader.uniforms.uSampler=u,this.renderer.shader.bind(this.shader);let d=!1;for(let n=0,u=0;n<a;n+=i,u+=1){let l=a-n;l>i&&(l=i),u>=s.length&&s.push(this._generateOneMoreBuffer(t));let c=s[u];c.uploadDynamic(r,n,l);let f=t._bufferUpdateIDs[u]||0;(d=d||c._updateID<f)&&(c._updateID=t._updateID,c.uploadStatic(r,n,l)),o.geometry.bind(c.geometry),h.drawElements(h.TRIANGLES,6*l,h.UNSIGNED_SHORT,0)}}generateBuffers(t){let r=[],n=t._maxSize,i=t._batchSize,o=t._properties;for(let t=0;t<n;t+=i)r.push(new tX(this.properties,o,i));return r}_generateOneMoreBuffer(t){let r=t._batchSize,n=t._properties;return new tX(this.properties,n,r)}uploadVertices(t,r,n,i,o,a){let s=0,u=0,l=0,h=0;for(let c=0;c<n;++c){let n=t[r+c],f=n._texture,d=n.scale.x,p=n.scale.y,y=f.trim,m=f.orig;y?(s=(u=y.x-n.anchor.x*m.width)+y.width,l=(h=y.y-n.anchor.y*m.height)+y.height):(s=m.width*(1-n.anchor.x),u=-(m.width*n.anch
3648or.x),l=m.height*(1-n.anchor.y),h=-(m.height*n.anchor.y)),i[a]=u*d,i[a+1]=h*p,i[a+o]=s*d,i[a+o+1]=h*p,i[a+2*o]=s*d,i[a+2*o+1]=l*p,i[a+3*o]=u*d,i[a+3*o+1]=l*p,a+=4*o}}uploadPosition(t,r,n,i,o,a){for(let s=0;s<n;s++){let n=t[r+s].position;i[a]=n.x,i[a+1]=n.y,i[a+o]=n.x,i[a+o+1]=n.y,i[a+2*o]=n.x,i[a+2*o+1]=n.y,i[a+3*o]=n.x,i[a+3*o+1]=n.y,a+=4*o}}uploadRotation(t,r,n,i,o,a){for(let s=0;s<n;s++){let n=t[r+s].rotation;i[a]=n,i[a+o]=n,i[a+2*o]=n,i[a+3*o]=n,a+=4*o}}uploadUvs(t,r,n,i,o,a){for(let s=0;s<n;++s){let n=t[r+s]._texture._uvs;n?(i[a]=n.x0,i[a+1]=n.y0,i[a+o]=n.x1,i[a+o+1]=n.y1,i[a+2*o]=n.x2,i[a+2*o+1]=n.y2,i[a+3*o]=n.x3,i[a+3*o+1]=n.y3):(i[a]=0,i[a+1]=0,i[a+o]=0,i[a+o+1]=0,i[a+2*o]=0,i[a+2*o+1]=0,i[a+3*o]=0,i[a+3*o+1]=0),a+=4*o}}uploadTint(t,r,n,i,o,a){for(let s=0;s<n;++s){let n=t[r+s],u=c.Q1.shared.setValue(n._tintRGB).toPremultiplied(n.alpha,n.texture.baseTexture.alphaMode>0);i[a]=u,i[a+o]=u,i[a+2*o]=u,i[a+3*o]=u,a+=4*o}}destroy(){super.destroy(),this.shader&&(this.shader.destroy(),this.shader=null),this.tempMatrix=null}}tK.extension={name:"particle",type:c.Ag.RendererPlugin},c.XO.add(tK);var tZ=((h=tZ||{})[h.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",h[h.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL",h);let tJ={willReadFrequently:!0},tQ=class t{static get experimentalLetterSpacingSupported(){let r=t._experimentalLetterSpacingSupported;if(void 0!==r){let n=c.W0.ADAPTER.getCanvasRenderingContext2D().prototype;r=t._experimentalLetterSpacingSupported="letterSpacing"in n||"textLetterSpacing"in n}return r}constructor(t,r,n,i,o,a,s,u,l){this.text=t,this.style=r,this.width=n,this.height=i,this.lines=o,this.lineWidths=a,this.lineHeight=s,this.maxLineWidth=u,this.fontProperties=l}static measureText(r,n,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t._canvas;i=i??n.wordWrap;let a=n.toFontString(),s=t.measureFont(a);0===s.fontSize&&(s.fontSize=n.fontSize,s.ascent=n.fontSize);let u=o.getContext("2d",tJ);u.font=a;let l=(i?t.wordWrap(r,n,o):r).split(/(?:\r\n|\r|\n)/),h=Array(l.length),c=0;for(let r=0;r<l.length;r++){let i=t._measureText(l[r],n.letterSpacing,u);h[r]=i,c=Math.max(c,i)}let f=c+n.strokeThickness;n.dropShadow&&(f+=n.dropShadowDistance);let d=n.lineHeight||s.fontSize+n.strokeThickness,p=Math.max(d,s.fontSize+2*n.strokeThickness)+n.leading+(l.length-1)*(d+n.leading);return n.dropShadow&&(p+=n.dropShadowDistance),new t(r,n,f,p,l,h,d+n.leading,c,s)}static _measureText(r,n,i){let o=!1;t.experimentalLetterSpacingSupported&&(t.experimentalLetterSpacing?(i.letterSpacing=`${n}px`,i.textLetterSpacing=`${n}px`,o=!0):(i.letterSpacing="0px",i.textLetterSpacing="0px"));let a=i.measureText(r).width;return a>0&&(o?a-=n:a+=(t.graphemeSegmenter(r).length-1)*n),a}static wordWrap(r,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t._canvas,o=i.getContext("2d",tJ),a=0,s="",u="",l=Object.create(null),{letterSpacing:h,whiteSpace:c}=n,f=t.collapseSpaces(c),d=t.collapseNewlines(c),p=!f,y=n.wordWrapWidth+h,m=t.tokenize(r);for(let r=0;r<m.length;r++){let i=m[r];if(t.isNewline(i)){if(!d){u+=t.addLine(s),p=!f,s="",a=0;continue}i=" "}if(f){let r=t.isBreakingSpace(i),n=t.isBreakingSpace(s[s.length-1]);if(r&&n)continue}let c=t.getFromCache(i,h,l,o);if(c>y)if(""!==s&&(u+=t.addLine(s),s="",a=0),t.canBreakWords(i,n.breakWords)){let r=t.wordWrapSplit(i);for(let c=0;c<r.length;c++){let f=r[c],d=f,m=1;for(;r[c+m];){let o=r[c+m];if(t.canBreakChars(d,o,i,c,n.breakWords))break;f+=o,d=o,m++}c+=m-1;let g=t.getFromCache(f,h,l,o);g+a>y&&(u+=t.addLine(s),p=!1,s="",a=0),s+=f,a+=g}}else{s.length>0&&(u+=t.addLine(s),s="",a=0);let n=r===m.length-1;u+=t.addLine(i,!n),p=!1,s="",a=0}else c+a>y&&(p=!1,u+=t.addLine(s),s="",a=0),(s.length>0||!t.isBreakingSpace(i)||p)&&(s+=i,a+=c)}return u+t.addLine(s,!1)}static addLine(r){let n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return r=t.trimRight(r),r=n?`${r}
3649`:r}static getFromCache(r,n,i,o){let a=i[r];return"number"!=typeof a&&(a=t._measureText(r,n,o)+n,i[r]=a),a}static collapseSpaces(t){return"normal"===t||"pre-line"===t}static collapseNewlines(t){return"normal"===t}static trimRight(r){if("string"!=typeof r)return"";for(let n=r.length-1;n>=0;n--){let i=r[n];if(!t.isBreakingSpace(i))break;r=r.slice(0,-1)}return r}static isNewline(r){return"string"==typeof r&&t._newlines.includes(r.charCodeAt(0))}static isBreakingSpace(r,n){return"string"==typeof r&&t._breakingSpaces.includes(r.charCodeAt(0))}static tokenize(r){let n=[],i="";if("string"!=typeof r)return n;for(let o=0;o<r.length;o++){let a=r[o],s=r[o+1];t.isBreakingSpace(a,s)||t.isNewline(a)?(""!==i&&(n.push(i),i=""),n.push(a)):i+=a}return""!==i&&n.push(i),n}static canBreakWords(t,r){return r}static canBreakChars(t,r,n,i,o){return!0}static wordWrapSplit(r){return t.graphemeSegmenter(r)}static measureFont(r){if(t._fonts[r])return t._fonts[r];let n={ascent:0,descent:0,fontSize:0},i=t._canvas,o=t._context;o.font=r;let a=t.METRICS_STRING+t.BASELINE_SYMBOL,s=Math.ceil(o.measureText(a).width),u=Math.ceil(o.measureText(t.BASELINE_SYMBOL).width),l=Math.ceil(t.HEIGHT_MULTIPLIER*u);if(u=u*t.BASELINE_MULTIPLIER|0,0===s||0===l)return t._fonts[r]=n,n;i.width=s,i.height=l,o.fillStyle="#f00",o.fillRect(0,0,s,l),o.font=r,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(a,0,u);let h=o.getImageData(0,0,s,l).data,c=h.length,f=4*s,d=0,p=0,y=!1;for(d=0;d<u;++d){for(let t=0;t<f;t+=4)if(255!==h[p+t]){y=!0;break}if(y)break;p+=f}for(n.ascent=u-d,p=c-f,y=!1,d=l;d>u;--d){for(let t=0;t<f;t+=4)if(255!==h[p+t]){y=!0;break}if(y)break;p-=f}return n.descent=d-u,n.fontSize=n.ascent+n.descent,t._fonts[r]=n,n}static clearMetrics(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";r?delete t._fonts[r]:t._fonts={}}static get _canvas(){if(!t.__canvas){let r;try{let n=new OffscreenCanvas(0,0);if(n.getContext("2d",tJ)?.measureText)return t.__canvas=n,n;r=c.W0.ADAPTER.createCanvas()}catch{r=c.W0.ADAPTER.createCanvas()}
3649r.width=r.height=10,t.__canvas=r}return t.__canvas}static get _context(){return t.__context||(t.__context=t._canvas.getContext("2d",tJ)),t.__context}};tQ.METRICS_STRING="|\xc9q\xc5",tQ.BASELINE_SYMBOL="M",tQ.BASELINE_MULTIPLIER=1.4,tQ.HEIGHT_MULTIPLIER=2,tQ.graphemeSegmenter=(()=>{if("function"==typeof Intl?.Segmenter){let t=new Intl.Segmenter;return r=>[...t.segment(r)].map(t=>t.segment)}return t=>[...t]})(),tQ.experimentalLetterSpacing=!1,tQ._fonts={},tQ._newlines=[10,13],tQ._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];let t1=tQ,t0=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],t3=class t{constructor(t){this.styleID=0,this.reset(),t9(this,t,t)}clone(){let r={};return t9(r,this,t.defaultStyle),new t(r)}reset(){t9(this,t.defaultStyle,t.defaultStyle)}get align(){return this._align}set align(t){this._align!==t&&(this._align=t,this.styleID++)}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)}get dropShadow(){return this._dropShadow}set dropShadow(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)}get dropShadowAlpha(){return this._dropShadowAlpha}set dropShadowAlpha(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)}get dropShadowAngle(){return this._dropShadowAngle}set dropShadowAngle(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)}get dropShadowBlur(){return this._dropShadowBlur}set dropShadowBlur(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)}get dropShadowColor(){return this._dropShadowColor}set dropShadowColor(t){let r=t5(t);this._dropShadowColor!==r&&(this._dropShadowColor=r,this.styleID++)}get dropShadowDistance(){return this._dropShadowDistance}set dropShadowDistance(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)}get fill(){return this._fill}set fill(t){let r=t5(t);this._fill!==r&&(this._fill=r,this.styleID++)}get fillGradientType(){return this._fillGradientType}set fillGradientType(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)}get fillGradientStops(){return this._fillGradientStops}set fillGradientStops(t){(function(t,r){if(!Array.isArray(t)||!Array.isArray(r)||t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0})(this._fillGradientStops,t)||(this._fillGradientStops=t,this.styleID++)}get fontFamily(){return this._fontFamily}set fontFamily(t){this.fontFamily!==t&&(this._fontFamily=t,this.styleID++)}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize!==t&&(this._fontSize=t,this.styleID++)}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.styleID++)}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant!==t&&(this._fontVariant=t,this.styleID++)}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.styleID++)}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.styleID++)}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight!==t&&(this._lineHeight=t,this.styleID++)}get leading(){return this._leading}set leading(t){this._leading!==t&&(this._leading=t,this.styleID++)}get lineJoin(){return this._lineJoin}set lineJoin(t){this._lineJoin!==t&&(this._lineJoin=t,this.styleID++)}get miterLimit(){return this._miterLimit}set miterLimit(t){this._miterLimit!==t&&(this._miterLimit=t,this.styleID++)}get padding(){return this._padding}set padding(t){this._padding!==t&&(this._padding=t,this.styleID++)}get stroke(){return this._stroke}set stroke(t){let r=t5(t);this._stroke!==r&&(this._stroke=r,this.styleID++)}get strokeThickness(){return this._strokeThickness}set strokeThickness(t){this._strokeThickness!==t&&(this._strokeThickness=t,this.styleID++)}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline!==t&&(this._textBaseline=t,this.styleID++)}get trim(){return this._trim}set trim(t){this._trim!==t&&(this._trim=t,this.styleID++)}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.styleID++)}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap!==t&&(this._wordWrap=t,this.styleID++)}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.styleID++)}toFontString(){let t="number"==typeof this.fontSize?`${this.fontSize}px`:this.fontSize,r=this.fontFamily;Array.isArray(this.fontFamily)||(r=this.fontFamily.split(","));for(let t=r.length-1;t>=0;t--){let n=r[t].trim();/([\"\'])[^\'\"]+\1/.test(n)||t0.includes(n)||(n=`"${n}"`),r[t]=n}return`${this.fontStyle} ${this.fontVariant} ${this.fontWeight} ${t} ${r.join(",")}`}};t3.defaultStyle={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:tZ.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};let t6=t3;function t5(t){let r=c.Q1.shared,n=t=>{let n=r.setValue(t);return 1===n.alpha?n.toHex():n.toRgbaString()};return Array.isArray(t)?t.map(n):n(t)}function t9(t,r,n){for(let i in n)Array.isArray(r[i])?t[i]=r[i].slice():t[i]=r[i]}let t2={texture:!0,children:!1,baseTexture:!0},t7=class t extends x{constructor(r,n,i){let o=!1;i||(i=c.W0.ADAPTER.createCanvas(),o=!0),i.width=3,i.height=3;const a=c.gP.from(i);a.orig=new c.M_,a.trim=new c.M_,super(a),this._ownCanvas=o,this.canvas=i,this.context=i.getContext("2d",{willReadFrequently:!0}),this._resolution=t.defaultResolution??c.W0.RESOLUTION,this._autoResolution=t.defaultAutoResolution,this._text=null,this._style=null,this._styleListener=null,this._font="",this.text=r,this.style=n,this.localStyleID=-1}static get experimentalLetterSpacing(){return t1.experimentalLetterSpacing}static set experimentalLetterSpacing(t){c.Wp.deprecation("7.1.0","Text.experimentalLetterSpacing is deprecated, use TextMetrics.experimentalLetterSpacing"),t1.experimentalLetterSpacing=t}updateText(t){let r,n,i=this._style;if(this.localStyleID!==i.styleID&&(this.dirty=!0,this.localStyleID=i.styleID),!this.dirty&&t)return;this._font=this._style.toFontString();let o=this.context,a=t1.measureText(this._text||" ",this._style,this._style.wordWrap,this.canvas),s=a.width,u=a.height,l=a.lines,h=a.lineHeight,f=a.lineWidths,d=a.maxLineWidth,p=a.fontProperties;this.canvas.width=Math.ceil(Math.ceil(Math.max(1,s)+2*i.padding)*this._resolution),this.canvas.height=Math.ceil(Math.ceil(Math.max(1,u)+2*i.padding)*this._resolution),o.scale(this._resolution,this._resolution),o.clearRect(0,0,this.canvas.width,this.canvas.height),o.font=this._font,o.lineWidth=i.strokeThickness,o.textBaseline=i.textBaseline,o.lineJoin=i.lineJoin,o.miterLimit=i.miterLimit;let y=i.dropShadow?2:1;for(let t=0;t<y;++t){let s=i.dropShadow&&0===t,y=s?Math.ceil(Math.max(1,u)+2*i.padding):0,m=y*this._resolution;if(s){o.fillStyle="black",o.strokeStyle="black";let t=i.dropShadowColor,r=i.dropShadowBlur*this._resolution,n=i.dropShadowDistance*this._resolution;o.shadowColor=c.Q1.shared.setValue(t).setAlpha(i.dropShadowAlpha).toRgbaString(),o.shadowBlur=r,o.shadowOffsetX=Math.cos(i.dropShadowAngle)*n,o.shadowOffsetY=Math.sin(i.dropShadowAngle)*n+m}else o.fillStyle=this._generateFillStyle(i,l,a),o.strokeStyle=i.stroke,o.shadowColor="black",o.shadowBlur=0,o.shadowOffsetX=0,o.shadowOffsetY=0;let g=(h-p.fontSize)/2;h-p.fontSize<0&&(g=0);for(let t=0;t<l.length;t++)r=i.strokeThickness/2,n=i.strokeThickness/2+t*h+p.ascent+g,"right"===i.align?r+=d-f[t]:"center"===i.align&&(r+=(d-f[t])/2),i.stroke&&i.strokeThickness&&this.drawLetterSpacing(l[t],r+i.padding,n+i.padding-y,!0),i.fill&&this.drawLetterSpacing(l[t],r+i.padding,n+i.padding-y)}this.updateTexture()}drawLetterSpacing(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=this._style.letterSpacing,a=!1;
3649if(t1.experimentalLetterSpacingSupported&&(t1.experimentalLetterSpacing?(this.context.letterSpacing=`${o}px`,this.context.textLetterSpacing=`${o}px`,a=!0):(this.context.letterSpacing="0px",this.context.textLetterSpacing="0px")),0===o||a)return void(i?this.context.strokeText(t,r,n):this.context.fillText(t,r,n));let s=r,u=t1.graphemeSegmenter(t),l=this.context.measureText(t).width,h=0;for(let t=0;t<u.length;++t){let r=u[t];i?this.context.strokeText(r,s,n):this.context.fillText(r,s,n);let a="";for(let r=t+1;r<u.length;++r)a+=u[r];s+=l-(h=this.context.measureText(a).width)+o,l=h}}updateTexture(){let t=this.canvas;if(this._style.trim){let r=c.Wp.trimCanvas(t);r.data&&(t.width=r.width,t.height=r.height,this.context.putImageData(r.data,0,0))}let r=this._texture,n=this._style,i=n.trim?0:n.padding,o=r.baseTexture;r.trim.width=r._frame.width=t.width/this._resolution,r.trim.height=r._frame.height=t.height/this._resolution,r.trim.x=-i,r.trim.y=-i,r.orig.width=r._frame.width-2*i,r.orig.height=r._frame.height-2*i,this._onTextureUpdate(),o.setRealSize(t.width,t.height,this._resolution),r.updateUvs(),this.dirty=!1}_render(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0),this.updateText(!0),super._render(t)}updateTransform(){this.updateText(!0),super.updateTransform()}getBounds(t,r){return this.updateText(!0),-1===this._textureID&&(t=!1),super.getBounds(t,r)}getLocalBounds(t){return this.updateText(!0),super.getLocalBounds.call(this,t)}_calculateBounds(){this.calculateVertices(),this._bounds.addQuad(this.vertexData)}_generateFillStyle(t,r,n){let i,o=t.fill;if(!Array.isArray(o))return o;if(1===o.length)return o[0];let a=t.dropShadow?t.dropShadowDistance:0,s=t.padding||0,u=this.canvas.width/this._resolution-a-2*s,l=this.canvas.height/this._resolution-a-2*s,h=o.slice(),c=t.fillGradientStops.slice();if(!c.length){let t=h.length+1;for(let r=1;r<t;++r)c.push(r/t)}if(h.unshift(o[0]),c.unshift(0),h.push(o[o.length-1]),c.push(1),t.fillGradientType===tZ.LINEAR_VERTICAL){i=this.context.createLinearGradient(u/2,s,u/2,l+s);let o=n.fontProperties.fontSize+t.strokeThickness;for(let t=0;t<r.length;t++){let a=n.lineHeight*(t-1)+o,s=n.lineHeight*t,u=s;t>0&&a>s&&(u=(s+a)/2);let f=s+o,d=n.lineHeight*(t+1),p=f;t+1<r.length&&d<f&&(p=(f+d)/2);let y=(p-u)/l;for(let t=0;t<h.length;t++){let r=Math.min(1,Math.max(0,u/l+("number"==typeof c[t]?c[t]:t/h.length)*y));r=Number(r.toFixed(5)),i.addColorStop(r,h[t])}}}else{i=this.context.createLinearGradient(s,l/2,u+s,l/2);let t=h.length+1,r=1;for(let n=0;n<h.length;n++){let o;o="number"==typeof c[n]?c[n]:r/t,i.addColorStop(o,h[n]),r++}}return i}destroy(t){"boolean"==typeof t&&(t={children:t}),t=Object.assign({},t2,t),super.destroy(t),this._ownCanvas&&(this.canvas.height=this.canvas.width=0),this.context=null,this.canvas=null,this._style=null}get width(){return this.updateText(!0),Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this.updateText(!0);let r=c.Wp.sign(this.scale.x)||1;this.scale.x=r*t/this._texture.orig.width,this._width=t}get height(){return this.updateText(!0),Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this.updateText(!0);let r=c.Wp.sign(this.scale.y)||1;this.scale.y=r*t/this._texture.orig.height,this._height=t}get style(){return this._style}set style(t){t=t||{},this._style=t instanceof t6?t:new t6(t),this.localStyleID=-1,this.dirty=!0}get text(){return this._text}set text(t){t=String(t??""),this._text!==t&&(this._text=t,this.dirty=!0)}get resolution(){return this._resolution}set resolution(t){this._autoResolution=!1,this._resolution!==t&&(this._resolution=t,this.dirty=!0)}};t7.defaultAutoResolution=!0;let t8=t7;class t4{constructor(t){this.maxItemsPerFrame=t,this.itemsLeft=0}beginFrame(){this.itemsLeft=this.maxItemsPerFrame}allowedToUpload(){return this.itemsLeft-- >0}}function re(t,r){let n=!1;if(t?._textures?.length){for(let i=0;i<t._textures.length;i++)if(t._textures[i]instanceof c.gP){let o=t._textures[i].baseTexture;r.includes(o)||(r.push(o),n=!0)}}return n}function rt(t,r){if(t.baseTexture instanceof c.t5){let n=t.baseTexture;return r.includes(n)||r.push(n),!0}return!1}function rr(t,r){if(t._texture&&t._texture instanceof c.gP){let n=t._texture.baseTexture;return r.includes(n)||r.push(n),!0}return!1}function rn(t,r){return r instanceof t8&&(r.updateText(!0),!0)}
3649function ri(t,r){if(r instanceof t6){let t=r.toFontString();return t1.measureFont(t),!0}return!1}function ro(t,r){if(t instanceof t8){r.includes(t.style)||r.push(t.style),r.includes(t)||r.push(t);let n=t._texture.baseTexture;return r.includes(n)||r.push(n),!0}return!1}function ra(t,r){return t instanceof t6&&(r.includes(t)||r.push(t),!0)}let rs=class t{constructor(r){this.limiter=new t4(t.uploadsPerFrame),this.renderer=r,this.uploadHookHelper=null,this.queue=[],this.addHooks=[],this.uploadHooks=[],this.completes=[],this.ticking=!1,this.delayedTick=()=>{this.queue&&this.prepareItems()},this.registerFindHook(ro),this.registerFindHook(ra),this.registerFindHook(re),this.registerFindHook(rt),this.registerFindHook(rr),this.registerUploadHook(rn),this.registerUploadHook(ri)}upload(t){return new Promise(r=>{t&&this.add(t),this.queue.length?(this.completes.push(r),this.ticking||(this.ticking=!0,c.Rv.system.addOnce(this.tick,this,c.dQ.UTILITY))):r()})}tick(){setTimeout(this.delayedTick,0)}prepareItems(){for(this.limiter.beginFrame();this.queue.length&&this.limiter.allowedToUpload();){let t=this.queue[0],r=!1;if(t&&!t._destroyed){for(let n=0,i=this.uploadHooks.length;n<i;n++)if(this.uploadHooks[n](this.uploadHookHelper,t)){this.queue.shift(),r=!0;break}}r||this.queue.shift()}if(this.queue.length)c.Rv.system.addOnce(this.tick,this,c.dQ.UTILITY);else{this.ticking=!1;let t=this.completes.slice(0);this.completes.length=0;for(let r=0,n=t.length;r<n;r++)t[r]()}}registerFindHook(t){return t&&this.addHooks.push(t),this}registerUploadHook(t){return t&&this.uploadHooks.push(t),this}add(t){for(let r=0,n=this.addHooks.length;r<n&&!this.addHooks[r](t,this.queue);r++);if(t instanceof v)for(let r=t.children.length-1;r>=0;r--)this.add(t.children[r]);return this}destroy(){this.ticking&&c.Rv.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null}};rs.uploadsPerFrame=4;let ru=rs;function rl(t,r){return r instanceof c.t5&&(r._glTextures[t.CONTEXT_UID]||t.texture.bind(r),!0)}function rh(t,r){if(!(r instanceof tR))return!1;let{geometry:n}=r;r.finishPoly(),n.updateBatches();let{batches:i}=n;for(let r=0;r<i.length;r++){let{texture:n}=i[r].style;n&&rl(t,n.baseTexture)}return n.batchable||t.geometry.bind(n,r._resolveDirectShader(t)),!0}function rc(t,r){return t instanceof tR&&(r.push(t),!0)}Object.defineProperties(c.W0,{UPLOADS_PER_FRAME:{get:()=>ru.uploadsPerFrame,set(t){c.Wp.deprecation("7.1.0","settings.UPLOADS_PER_FRAME is deprecated, use prepare.BasePrepare.uploadsPerFrame"),ru.uploadsPerFrame=t}}});class rf extends ru{constructor(t){super(t),this.uploadHookHelper=this.renderer,this.registerFindHook(rc),this.registerUploadHook(rl),this.registerUploadHook(rh)}}rf.extension={name:"prepare",type:c.Ag.RendererSystem},c.XO.add(rf);class rd{constructor(t){this.maxMilliseconds=t,this.frameStart=0}beginFrame(){this.frameStart=Date.now()}allowedToUpload(){return Date.now()-this.frameStart<this.maxMilliseconds}}class rp extends x{constructor(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1];super(t[0]instanceof c.gP?t[0]:t[0].texture),this._textures=null,this._durations=null,this._autoUpdate=r,this._isConnectedToTicker=!1,this.animationSpeed=1,this.loop=!0,this.updateAnchor=!1,this.onComplete=null,this.onFrameChange=null,this.onLoop=null,this._currentTime=0,this._playing=!1,this._previousFrame=null,this.textures=t}stop(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(c.Rv.shared.remove(this.update,this),this._isConnectedToTicker=!1))}play(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(c.Rv.shared.add(this.update,this,c.dQ.HIGH),this._isConnectedToTicker=!0))}gotoAndStop(t){this.stop(),this.currentFrame=t}gotoAndPlay(t){this.currentFrame=t,this.play()}update(t){if(!this._playing)return;let r=this.animationSpeed*t,n=this.currentFrame;if(null!==this._durations){let n=this._currentTime%1*this._durations[this.currentFrame];for(n+=r/60*1e3;n<0;)this._currentTime--,n+=this._durations[this.currentFrame];let i=Math.sign(this.animationSpeed*t);for(this._currentTime=Math.floor(this._currentTime);n>=this._durations[this.currentFrame];)n-=this._durations[this.currentFrame]*i,this._currentTime+=i;this._currentTime+=n/this._durations[this.currentFrame]}else this._currentTime+=r;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):n!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFrame<n||this.animationSpeed<0&&this.currentFrame>n)&&this.onLoop(),this.updateTexture())}updateTexture(){let t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this._texture=this._textures[t],this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=0xffffff,this.uvs=this._texture._uvs.uvsFloat32,this.updateAnchor&&this._anchor.copyFrom(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))}destroy(t){this.stop(),super.destroy(t),this.onComplete=null,this.onFrameChange=null,this.onLoop=null}static fromFrames(t){let r=[];for(let n=0;n<t.length;++n)r.push(c.gP.from(t[n]));return new rp(r)}static fromImages(t){let r=[];for(let n=0;n<t.length;++n)r.push(c.gP.from(t[n]));return new rp(r)}get totalFrames(){return this._textures.length}get textures(){return this._textures}set textures(t){if(t[0]instanceof c.gP)this._textures=t,this._durations=null;else{this._textures=[],this._durations=[];for(let r=0;r<t.length;r++)this._textures.push(t[r].texture),this._durations.push(t[r].time)}this._previousFrame=null,this.gotoAndStop(0),this.updateTexture()}get currentFrame(){let t=Math.floor(this._currentTime)%this._textures.length;return t<0&&(t+=this._textures.length),t}set currentFrame(t){if(t<0||t>this.totalFrames-1)throw Error(`[AnimatedSprite]: Invalid frame index value ${t}, expected to be between 0 and totalFrames ${this.totalFrames}.`);let r=this.currentFrame;this._currentTime=t,r!==this.currentFrame&&this.updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(c.Rv.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(c.Rv.shared.add(this.update,this),this._isConnectedToTicker=!0))}}let ry=new c.bR;class rm extends x{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100;super(t),this.tileTransform=new c.dL,this._width=r,this._height=n,this.uvMatrix=this.texture.uvMatrix||new c.NW(t),this.pluginName="tilingSprite",this.uvRespectAnchor=!1}get clampMargin(){return this.uvMatrix.clampMargin}set clampMargin(t){this.uvMatrix.clampMargin=t,this.uvMatrix.update(!0)}get tileScale(){return this.tileTransform.scale}set tileScale(t){this.tileTransform.scale.copyFrom(t)}get tilePosition(){return this.tileTransform.position}set tilePosition(t){this.tileTransform.position.copyFrom(t)}_onTextureUpdate(){this.uvMatrix&&(this.uvMatrix.texture=this._texture),this._cachedTint=0xffffff}_render(t){let r=this._texture;r&&r.valid&&(this.tileTransform.updateLocalTransform(),this.uvMatrix.update(),t.batch.setObjectRenderer(t.plugins[this.pluginName]),t.plugins[this.pluginName].render(this))}_calculateBounds(){let t=-(this._width*this._anchor._x),r=-(this._height*this._anchor._y),n=this._width*(1-this._anchor._x),i=this._height*(1-this._anchor._y);this._bounds.addFrame(this.transform,t,r,n,i)}getLocalBounds(t){return 0===this.children.length?(this._bounds.minX=-(this._width*this._anchor._x),this._bounds.minY=-(this._height*this._anchor._y),this._bounds.maxX=this._width*(1-this._anchor._x),this._bounds.maxY=this._height*(1-this._anchor._y),t||(this._localBoundsRect||(this._localBoundsRect=new c.M_),t=this._localBoundsRect),this._bounds.getRectangle(t)):super.getLocalBounds.call(this,t)}containsPoint(t){this.worldTransform.applyInverse(t,ry);let r=this._width,n=this._height,i=-r*this.anchor._x;if(ry.x>=i&&ry.x<i+r){let t=-n*this.anchor._y;if(ry.y>=t&&ry.y<t+n)return!0}return!1}destroy(t){super.destroy(t),this.tileTransform=null,this.uvMatrix=null}static from(t,r){return new rm(t instanceof c.gP?t:c.gP.from(t,r),r.width,r.height)}get width(){return this._width}set width(t){this._width=t}get height(){return this._height}set height(t){this._height=t}}var rg=`#version 100
3650#define SHADER_NAME Tiling-Sprite-100
3651
3652precision lowp float;
3653
3654attribute vec2 aVertexPosition;
3655attribute vec2 aTextureCoord;
3656
3657uniform mat3 projectionMatrix;
3658uniform mat3 translationMatrix;
3659uniform mat3 uTransform;
3660
3661varying vec2 vTextureCoord;
3662
3663void main(void)
3664{
3665    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0
3665)).xy, 0.0, 1.0);
3666
3667    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;
3668}
3669`;let rv=new c.uq;class rb extends c.Pt{constructor(t){super(t),t.runners.contextChange.add(this),this.quad=new c.X1,this.state=c.Uw.for2d()}contextChange(){let t=this.renderer,r={globals:t.globalUniforms};this.simpleShader=c.Mt.from(rg,`#version 100
3670#define SHADER_NAME Tiling-Sprite-Simple-100
3671
3672precision lowp float;
3673
3674varying vec2 vTextureCoord;
3675
3676uniform sampler2D uSampler;
3677uniform vec4 uColor;
3678
3679void main(void)
3680{
3681    vec4 texSample = texture2D(uSampler, vTextureCoord);
3682    gl_FragColor = texSample * uColor;
3683}
3684`,r),this.shader=t.context.webGLVersion>1?c.Mt.from(`#version 300 es
3685#define SHADER_NAME Tiling-Sprite-300
3686
3687precision lowp float;
3688
3689in vec2 aVertexPosition;
3690in vec2 aTextureCoord;
3691
3692uniform mat3 projectionMatrix;
3693uniform mat3 translationMatrix;
3694uniform mat3 uTransform;
3695
3696out vec2 vTextureCoord;
3697
3698void main(void)
3699{
3700    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
3701
3702    vTextureCoord = (uTransform * vec3(aTextureCoord, 1.0)).xy;
3703}
3704`,`#version 300 es
3705#define SHADER_NAME Tiling-Sprite-100
3706
3707precision lowp float;
3708
3709in vec2 vTextureCoord;
3710
3711out vec4 fragmentColor;
3712
3713uniform sampler2D uSampler;
3714uniform vec4 uColor;
3715uniform mat3 uMapCoord;
3716uniform vec4 uClampFrame;
3717uniform vec2 uClampOffset;
3718
3719void main(void)
3720{
3721    vec2 coord = vTextureCoord + ceil(uClampOffset - vTextureCoord);
3722    coord = (uMapCoord * vec3(coord, 1.0)).xy;
3723    vec2 unclamped = coord;
3724    coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);
3725
3726    vec4 texSample = texture(uSampler, coord, unclamped == coord ? 0.0f : -32.0f);// lod-bias very negative to force lod 0
3727
3728    fragmentColor = texSample * uColor;
3729}
3730`,r):c.Mt.from(rg,`#version 100
3731#ifdef GL_EXT_shader_texture_lod
3732    #extension GL_EXT_shader_texture_lod : enable
3733#endif
3734#define SHADER_NAME Tiling-Sprite-100
3735
3736precision lowp float;
3737
3738varying vec2 vTextureCoord;
3739
3740uniform sampler2D uSampler;
3741uniform vec4 uColor;
3742uniform mat3 uMapCoord;
3743uniform vec4 uClampFrame;
3744uniform vec2 uClampOffset;
3745
3746void main(void)
3747{
3748    vec2 coord = vTextureCoord + ceil(uClampOffset - vTextureCoord);
3749    coord = (uMapCoord * vec3(coord, 1.0)).xy;
3750    vec2 unclamped = coord;
3751    coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);
3752
3753    #ifdef GL_EXT_shader_texture_lod
3754        vec4 texSample = unclamped == coord
3755            ? texture2D(uSampler, coord) 
3756            : texture2DLodEXT(uSampler, coord, 0);
3757    #else
3758        vec4 texSample = texture2D(uSampler, coord);
3759    #endif
3760
3761    gl_FragColor = texSample * uColor;
3762}
3763`,r)}render(t){let r=this.renderer,n=this.quad,i=n.vertices;i[0]=i[6]=-(t._width*t.anchor.x),i[1]=i[3]=-(t._height*t.anchor.y),i[2]=i[4]=t._width*(1-t.anchor.x),i[5]=i[7]=t._height*(1-t.anchor.y);let o=t.uvRespectAnchor?t.anchor.x:0,a=t.uvRespectAnchor?t.anchor.y:0;(i=n.uvs)[0]=i[6]=-o,i[1]=i[3]=-a,i[2]=i[4]=1-o,i[5]=i[7]=1-a,n.invalidate();let s=t._texture,u=s.baseTexture,l=u.alphaMode>0,h=t.tileTransform.localTransform,f=t.uvMatrix,d=u.isPowerOfTwo&&s.frame.width===u.width&&s.frame.height===u.height;d&&(u._glTextures[r.CONTEXT_UID]?d=u.wrapMode!==c.uR.CLAMP:u.wrapMode===c.uR.CLAMP&&(u.wrapMode=c.uR.REPEAT));let p=d?this.simpleShader:this.shader,y=s.width,m=s.height,g=t._width,v=t._height;rv.set(h.a*y/g,h.b*y/v,h.c*m/g,h.d*m/v,h.tx/g,h.ty/v),rv.invert(),d?rv.prepend(f.mapCoord):(p.uniforms.uMapCoord=f.mapCoord.toArray(!0),p.uniforms.uClampFrame=f.uClampFrame,p.uniforms.uClampOffset=f.uClampOffset),p.uniforms.uTransform=rv.toArray(!0),p.uniforms.uColor=c.Q1.shared.setValue(t.tint).premultiply(t.worldAlpha,l).toArray(p.uniforms.uColor),p.uniforms.translationMatrix=t.transform.worldTransform.toArray(!0),p.uniforms.uSampler=s,r.shader.bind(p),r.geometry.bind(n),this.state.blendMode=c.Wp.correctBlendMode(t.blendMode,l),r.state.set(this.state),r.geometry.draw(this.renderer.gl.TRIANGLES,6,0)}}rb.extension={name:"tilingSprite",type:c.Ag.RendererPlugin},c.XO.add(rb);let rw=class t{constructor(t,r,n){this.linkedSheets=[],(t instanceof c.t5||t instanceof c.gP)&&(t={texture:t,data:r,resolutionFilename:n});const{texture:i,data:o,resolutionFilename:a=null,cachePrefix:s=""}=t;this.cachePrefix=s,this._texture=i instanceof c.gP?i:null,this.baseTexture=i instanceof c.t5?i:this._texture.baseTexture,this.textures={},this.animations={},this.data=o;const u=this.baseTexture.resource;this.resolution=this._updateResolution(a||(u?u.url:null)),this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}_updateResolution(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,{scale:r}=this.data.meta,n=c.Wp.getResolutionOfUrl(t,null);return null===n&&(n="number"==typeof r?r:parseFloat(r??"1")),1!==n&&this.baseTexture.setRe
3763solution(n),n}parse(){return new Promise(r=>{this._callback=r,this._batchIndex=0,this._frameKeys.length<=t.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(r){let n=r,i=t.BATCH_SIZE;for(;n-r<i&&n<this._frameKeys.length;){let t=this._frameKeys[n],r=this._frames[t],i=r.frame;if(i){let n=null,o=null,a=!1!==r.trimmed&&r.sourceSize?r.sourceSize:r.frame,s=new c.M_(0,0,Math.floor(a.w)/this.resolution,Math.floor(a.h)/this.resolution);n=r.rotated?new c.M_(Math.floor(i.x)/this.resolution,Math.floor(i.y)/this.resolution,Math.floor(i.h)/this.resolution,Math.floor(i.w)/this.resolution):new c.M_(Math.floor(i.x)/this.resolution,Math.floor(i.y)/this.resolution,Math.floor(i.w)/this.resolution,Math.floor(i.h)/this.resolution),!1!==r.trimmed&&r.spriteSourceSize&&(o=new c.M_(Math.floor(r.spriteSourceSize.x)/this.resolution,Math.floor(r.spriteSourceSize.y)/this.resolution,Math.floor(i.w)/this.resolution,Math.floor(i.h)/this.resolution)),this.textures[t]=new c.gP(this.baseTexture,n,s,o,2*!!r.rotated,r.anchor,r.borders),c.gP.addToCache(this.textures[t],this.cachePrefix+t.toString())}n++}}_processAnimations(){let t=this.data.animations||{};for(let r in t){this.animations[r]=[];for(let n=0;n<t[r].length;n++){let i=t[r][n];this.animations[r].push(this.textures[i])}}}_parseComplete(){let t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures)}_nextBatch(){this._processFrames(this._batchIndex*t.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*t.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete())},0)}destroy(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];for(let t in this.textures)this.textures[t].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&(this._texture?.destroy(),this.baseTexture.destroy()),this._texture=null,this.baseTexture=null,this.linkedSheets=[]}};rw.BATCH_SIZE=1e3;let rx=rw,r_=["jpg","png","jpeg","avif","webp","s3tc","s3tc_sRGB","etc","etc1","pvrtc","atc","astc","bptc"],rT={extension:c.Ag.Asset,cache:{test:t=>t instanceof rx,getCacheableAssets:(t,r)=>(function t(r,n,i){let o={};if(r.forEach(t=>{o[t]=n}),Object.keys(n.textures).forEach(t=>{o[`${n.cachePrefix}${t}`]=n.textures[t]}),!i){let i=c.Wp.path.dirname(r[0]);n.linkedSheets.forEach((r,a)=>{Object.assign(o,t([`${i}/${n.data.meta.related_multi_packs[a]}`],r,!0))})}return o})(t,r,!1)},resolver:{test:t=>{let r=t.split("?")[0].split("."),n=r.pop(),i=r.pop();return"json"===n&&r_.includes(i)},parse:t=>{let r=t.split(".");return{resolution:parseFloat(c.W0.RETINA_PREFIX.exec(t)?.[1]??"1"),format:r[r.length-2],src:t}}},loader:{name:"spritesheetLoader",extension:{type:c.Ag.LoadParser,priority:eo.Normal},testParse:async(t,r)=>".json"===c.Wp.path.extname(r.src).toLowerCase()&&!!t.frames,async parse(t,r,n){let{texture:i,imageFilename:o,cachePrefix:a}=r?.data??{},s,u=c.Wp.path.dirname(r.src);if(u&&u.lastIndexOf("/")!==u.length-1&&(u+="/"),i&&i.baseTexture)s=i;else{let i=eY(u+(o??t.meta.image),r.src);s=(await n.load([i]))[i]}let l=new rx({texture:s.baseTexture,data:t,resolutionFilename:r.src,cachePrefix:a});await l.parse();let h=t?.meta?.related_multi_packs;if(Array.isArray(h)){let t=[];for(let i of h){if("string"!=typeof i)continue;let o=u+i;r.data?.ignoreMultiPack||(o=eY(o,r.src),t.push(n.load({src:o,data:{ignoreMultiPack:!0}})))}let i=await Promise.all(t);l.linkedSheets=i,i.forEach(t=>{t.linkedSheets=[l].concat(l.linkedSheets.filter(r=>r!==t))})}return l},unload(t){t.destroy(!0)}}};c.XO.add(rT);class rS{constructor(){this.info=[],this.common=[],this.page=[],this.char=[],this.kerning=[],this.distanceField=[]}}class rE{static test(t){return"string"==typeof t&&t.startsWith("info face=")}static parse(t){let r=t.match(/^[a-z]+\s+.+$/gm),n={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[],distanceField:[]};for(let t in r){let i=r[t].match(/^[a-z]+/gm)[0],o=r[t].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),a={};for(let t in o){let r=o[t].split("="),n=r[0],i=r[1].replace(/"/gm,""),s=parseFloat(i),u=isNaN(s)?i:s;a[n]=u}n[i].push(a)}let i=new rS;return n.info.forEach(t=>i.info.push({face:t.face,size:parseInt(t.size,10)})),n.common.forEach(t=>i.common.push({lineHeight:parseInt(t.lineHeight,10)})),n.page.forEach(t=>i.page.push({id:parseInt(t.id,10),file:t.file})),n.char.forEach(t=>i.char.push({id:parseInt(t.id,10),page:parseInt(t.page,10),x:parseInt(t.x,10),y:parseInt(t.y,10),width:parseInt(t.width,10),height:parseInt(t.height,10),xoffset:parseInt(t.xoffset,10),yoffset:parseInt(t.yoffset,10),xadvance:parseInt(t.xadvance,10)})),n.kerning.forEach(t=>i.kerning.push({first:parseInt(t.first,10),second:parseInt(t.second,10),amount:parseInt(t.amount,10)})),n.distanceField.forEach(t=>i.distanceField.push({distanceRange:parseInt(t.distanceRange,10),fieldType:t.fieldType})),i}}class rO{static test(t){return"string"!=typeof t&&"getElementsByTagName"in t&&t.getElementsByTagName("page").length&&null!==t.getElementsByTagName("info")[0].getAttribute("face")}static parse(t){let r=new rS,n=t.getElementsByTagName("info"),i=t.getElementsByTagName("common"),o=t.getElementsByTagName("page"),a=t.getElementsByTagName("char"),s=t.getElementsByTagName("kerning"),u=t.getElementsByTagName("distanceField");for(let t=0;t<n.length;t++)r.info.push({face:n[t].getAttribute("face"),size:parseInt(n[t].getAttribute("size"),10)});for(let t=0;t<i.length;t++)r.common.push({lineHeight:parseInt(i[t].getAttribute("lineHeight"),10)});for(let t=0;t<o.length;t++)r.page.push({id:parseInt(o[t].getAttribute("id"),10)||0,file:o[t].getAttribute("file")});for(let t=0;t<a.length;t++){let n=a[t];r.char.push({id:parseInt(n.getAttribute("id"),10),page:parseInt(n.getAttribute("page"),10)||0,x:parseInt(n.getAttribute("x"),10),y:parseInt(n.getAttribute("y"),10),width:parseInt(n.getAttribute("width"),10),height:parseInt(n.getAttribute("height"),10),xoffset:parseInt(n.getAttribute("xoffset"),10),yoffset:parseInt(n.getAttribute("yoffset"),10),xadvance:parseInt(n.getAttribute("xadvance"),10)})}for(let t=0;t<s.length;t++)r.kerning.push({first:parseInt(s[t].getAttribute("first"),10),second:parseInt(s[t].getAttribute("second"),10),amount:parseInt(s[t].getAttribute("amount"),10)});for(let t=0;t<u.length;
3763t++)r.distanceField.push({fieldType:u[t].getAttribute("fieldType"),distanceRange:parseInt(u[t].getAttribute("distanceRange"),10)});return r}}class rA{static test(t){return!("string"!=typeof t||!t.includes("<font>"))&&rO.test(c.W0.ADAPTER.parseXML(t))}static parse(t){return rO.parse(c.W0.ADAPTER.parseXML(t))}}let rI=[rE,rO,rA];function rP(t){for(let r=0;r<rI.length;r++)if(rI[r].test(t))return rI[r];return null}function rk(t){return Array.from?Array.from(t):t.split("")}function rC(t){return t.codePointAt?t.codePointAt(0):t.charCodeAt(0)}let r$=class t{constructor(t,r,n){const[i]=t.info,[o]=t.common,[a]=t.page,[s]=t.distanceField,u=c.Wp.getResolutionOfUrl(a.file),l={};this._ownsTextures=n,this.font=i.face,this.size=i.size,this.lineHeight=o.lineHeight/u,this.chars={},this.pageTextures=l;for(let n=0;n<t.page.length;n++){const{id:i,file:o}=t.page[n];l[i]=r instanceof Array?r[n]:r[o],s?.fieldType&&"none"!==s.fieldType&&(l[i].baseTexture.alphaMode=c.Gk.NO_PREMULTIPLIED_ALPHA,l[i].baseTexture.mipmap=c.E8.OFF)}for(let r=0;r<t.char.length;r++){const{id:n,page:i}=t.char[r];let{x:o,y:a,width:s,height:h,xoffset:f,yoffset:d,xadvance:p}=t.char[r];o/=u,a/=u,s/=u,h/=u,f/=u,d/=u,p/=u;const y=new c.M_(o+l[i].frame.x/u,a+l[i].frame.y/u,s,h);this.chars[n]={xOffset:f,yOffset:d,xAdvance:p,kerning:{},texture:new c.gP(l[i].baseTexture,y),page:i}}for(let r=0;r<t.kerning.length;r++){let{first:n,second:i,amount:o}=t.kerning[r];n/=u,i/=u,o/=u,this.chars[i]&&(this.chars[i].kerning[n]=o)}this.distanceFieldRange=s?.distanceRange,this.distanceFieldType=s?.fieldType?.toLowerCase()??"none"}destroy(){for(let t in this.chars)this.chars[t].texture.destroy(),this.chars[t].texture=null;for(let t in this.pageTextures)this._ownsTextures&&this.pageTextures[t].destroy(!0),this.pageTextures[t]=null;this.chars=null,this.pageTextures=null}static install(r,n,i){let o;if(r instanceof rS)o=r;else{let t=rP(r);if(!t)throw Error("Unrecognized data format for font.");o=t.parse(r)}n instanceof c.gP&&(n=[n]);let a=new t(o,n,i);return t.available[a.font]=a,a}static uninstall(r){let n=t.available[r];if(!n)throw Error(`No font found named '${r}'`);n.destroy(),delete t.available[r]}static from(r,n,i){if(!r)throw Error("[BitmapFont] Property `name` is required.");let{chars:o,padding:a,resolution:s,textureWidth:u,textureHeight:l,...h}=Object.assign({},t.defaultOptions,i),f=function(t){"string"==typeof t&&(t=[t]);let r=[];for(let n=0,i=t.length;n<i;n++){let i=t[n];if(Array.isArray(i)){if(2!==i.length)throw Error(`[BitmapFont]: Invalid character range length, expecting 2 got ${i.length}.`);let t=i[0].charCodeAt(0),n=i[1].charCodeAt(0);if(n<t)throw Error("[BitmapFont]: Invalid character range.");for(let i=t;i<=n;i++)r.push(String.fromCharCode(i))}else r.push(...rk(i))}if(0===r.length)throw Error("[BitmapFont]: Empty set when resolving characters.");return r}(o),d=n instanceof t6?n:new t6(n),p=new rS;p.info[0]={face:d.fontFamily,size:d.fontSize},p.common[0]={lineHeight:d.fontSize};let y,m,g,v=0,b=0,w=0,x=[],_=[];for(let t=0;t<f.length;t++){y||((y=c.W0.ADAPTER.createCanvas()).width=u,y.height=l,m=y.getContext("2d"),g=new c.t5(y,{resolution:s,...h}),x.push(g),_.push(new c.gP(g)),p.page.push({id:_.length-1,file:""}));let r=f[t],n=t1.measureText(r,d,!1,y),i=n.width,o=Math.ceil(n.height),T=Math.ceil(("italic"===d.fontStyle?2:1)*i);if(b>=l-o*s){if(0===b)throw Error(`[BitmapFont] textureHeight ${l}px is too small (fontFamily: '${d.fontFamily}', fontSize: ${d.fontSize}px, char: '${r}')`);--t,y=null,m=null,g=null,b=0,v=0,w=0;continue}if(w=Math.max(o+n.fontProperties.descent,w),T*s+v>=u){if(0===v)throw Error(`[BitmapFont] textureWidth ${u}px is too small (fontFamily: '${d.fontFamily}', fontSize: ${d.fontSize}px, char: '${r}')`);--t,b+=w*s,b=Math.ceil(b),v=0,w=0;continue}!function(t,r,n,i,o,a,s){let u=n.text,l=n.fontProperties;r.translate(i,o),r.scale(a,a);let h=s.strokeThickness/2,f=-s.strokeThickness/2;if(r.font=s.toFontString(),r.lineWidth=s.strokeThickness,r.textBaseline=s.textBaseline,r.lineJoin=s.lineJoin,r.miterLimit=s.miterLimit,r.fillStyle=function(t,r,n,i,o,a){let s,u=n.fill;if(!Array.isArray(u))return u;if(1===u.length)return u[0];let l=n.dropShadow?n.dropShadowDistance:0,h=n.padding||0,c=t.width/i-l-2*h,f=t.height/i-l-2*h,d=u.slice(),p=n.fillGradientStops.slice();if(!p.length){let t=d.length+1;for(let r=1;r<t;++r)p.push(r/t)}if(d.unshift(u[0]),p.unshift(0),d.push(u[u.length-1]),p.push(1),n.fillGradientType===tZ.LINEAR_VERTICAL){s=r.createLinearGradient(c/2,h,c/2,f+h);let t=0,i=(a.fontProperties.fontSize+n.strokeThickness)/f;for(let r=0;r<o.length;r++){let n=a.lineHeight*r;for(let r=0;r<d.length;r++){let o=Math.max(t,n/f+("number"==typeof p[r]?p[r]:r/d.length)*i);o=Math.min(o,1),s.addColorStop(o,d[r]),t=o}}}else{s=r.createLinearGradient(h,f/2,c+h,f/2);let t=d.length+1,n=1;for(let r=0;r<d.length;r++){let i;i="number"==typeof p[r]?p[r]:n/t,s.addColorStop(i,d[r]),n++}}return s}(t,r,s,a,[u],n),r.strokeStyle=s.stroke,s.dropShadow){let t=s.dropShadowColor,n=s.dropShadowBlur*a,i=s.dropShadowDistance*a;r.shadowColor=c.Q1.shared.setValue(t).setAlpha(s.dropShadowAlpha).toRgbaString(),r.shadowBlur=n,r.shadowOffsetX=Math.cos(s.dropShadowAngle)*i,r.shadowOffsetY=Math.sin(s.dropShadowAngle)*i}else r.shadowColor="black",r.shadowBlur=0,r.shadowOffsetX=0,r.shadowOffsetY=0;s.stroke&&s.strokeThickness&&r.strokeText(u,h,f+n.lineHeight-l.descent),s.fill&&r.fillText(u,h,f+n.lineHeight-l.descent),r.setTransform(1,0,0,1,0,0),r.fillStyle="rgba(0, 0, 0, 0)"}(y,m,n,v,b,s,d);let S=rC(n.text);p.char.push({id:S,page:_.length-1,x:v/s,y:b/s,width:T,height:o,xoffset:0,yoffset:0,xadvance:i-(d.dropShadow?d.dropShadowDistance:0)-(d.stroke?d.strokeThickness:0)}),v+=(T+2*a)*s,v=Math.ceil(v)}if(!i?.skipKerning)for(let t=0,r=f.length;t<r;t++){let n=f[t];for(let t=0;t<r;t++){let r=f[t],i=m.measureText(n).width,o=m.measureText(r).width,a=m.measureText(n+r).width-(i+o);a&&p.kerning.push({first:rC(n),second:rC(r),amount:a})}}let T=new t(p,_,!0);return void 0!==t.available[r]&&t.uninstall(r),t.available[r]=T,T}};r$.ALPHA=[["a","z"],["A","Z"]," "],r$.NUMERIC=[["0","9"]],r$.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],r$.ASCII=[[" ","~"]],r$.defaultOptions={resolution:1,textureWidth:512,textureHeight:512,padding:4,chars:r$.ALPHANUMERIC},r$.available={};let rR=r$,rD=[],rM=[],rL=[],rB=class t extends v{constructor(r){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super();const{align:i,tint:o,maxWidth:a,letterSpacing:s,fontName:u,fontSize:l}=Object.assign({},t.styleDefaults,n);if(!rR.available[u])throw Error(`Missing BitmapFont "${u}"`);this._activePagesMeshData=[],this._textWidth=0,this._textHeight=0,this._align=i,this._tintColor=new c.Q1(o),this._font=void 0,this._fontName=u,this._fontSize=l,this.text=r,this._maxWidth=a,this._maxLineHeight=0,this._letterSpacing=s,this._anchor=new c.oA(()=>{this.dirty=!0},this,0,0),this._roundPixels=c.W0.ROUND_PIXELS,this.dirty=!0,this._resolution=c.W0.RESOLUTION,this._autoResolution=!0,this._textureCache={}}updateText(){let t=rR.available[this._fontName],r=this.fontSize,n=r/t.size,i=new c.bR,o=[],a=[],s=[],u=rk(this._text.replace(/(?:\r\n|\r)/g,`
3764`)||" "),l=this._maxWidth*t.size/r,h="none"===t.distanceFieldType?rD:rM,f=null,d=0,p=0,y=0,m=-1,g=0,v=0,b=0,w=0;for(let r=0;r<u.length;r++){let n=u[r],h=rC(n);
3764if(/(?:\s)/.test(n)&&(m=r,g=d,w++),`\r`===n||`
3765`===n){a.push(d),s.push(-1),p=Math.max(p,d),++y,++v,i.x=0,i.y+=t.lineHeight,f=null,w=0;continue}let x=t.chars[h];if(!x)continue;f&&x.kerning[f]&&(i.x+=x.kerning[f]);let _=rL.pop()||{texture:c.gP.EMPTY,line:0,charCode:0,prevSpaces:0,position:new c.bR};_.texture=x.texture,_.line=y,_.charCode=h,_.position.x=Math.round(i.x+x.xOffset+this._letterSpacing/2),_.position.y=Math.round(i.y+x.yOffset),_.prevSpaces=w,o.push(_),d=_.position.x+Math.max(x.xAdvance-x.xOffset,x.texture.orig.width),i.x+=x.xAdvance+this._letterSpacing,b=Math.max(b,x.yOffset+x.texture.height),f=h,-1!==m&&l>0&&i.x>l&&(++v,c.Wp.removeItems(o,1+m-v,1+r-m),r=m,m=-1,a.push(g),s.push(o.length>0?o[o.length-1].prevSpaces:0),p=Math.max(p,g),y++,i.x=0,i.y+=t.lineHeight,f=null,w=0)}let x=u[u.length-1];`\r`!==x&&`
3766`!==x&&(/(?:\s)/.test(x)&&(d=g),a.push(d),p=Math.max(p,d),s.push(-1));let _=[];for(let t=0;t<=y;t++){let r=0;"right"===this._align?r=p-a[t]:"center"===this._align?r=(p-a[t])/2:"justify"===this._align&&(r=s[t]<0?0:(p-a[t])/s[t]),_.push(r)}let T=o.length,S={},E=[],O=this._activePagesMeshData;h.push(...O);for(let r=0;r<T;r++){let n=o[r].texture,i=n.baseTexture.uid;if(!S[i]){let r=h.pop();if(!r){let n,i,o=new tU;"none"===t.distanceFieldType?(n=new tj(c.gP.EMPTY),i=c.B9.NORMAL):(n=new tj(c.gP.EMPTY,{program:c.BP.from(`// Mesh material default fragment\r
3767attribute vec2 aVertexPosition;\r
3768attribute vec2 aTextureCoord;\r
3769\r
3770uniform mat3 projectionMatrix;\r
3771uniform mat3 translationMatrix;\r
3772uniform mat3 uTextureMatrix;\r
3773\r
3774varying vec2 vTextureCoord;\r
3775\r
3776void main(void)\r
3777{\r
3778    gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0
3778)).xy, 0.0, 1.0);\r
3779\r
3780    vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;\r
3781}\r
3782`,`// Pixi texture info\r
3783varying vec2 vTextureCoord;\r
3784uniform sampler2D uSampler;\r
3785\r
3786// Tint\r
3787uniform vec4 uColor;\r
3788\r
3789// on 2D applications fwidth is screenScale / glyphAtlasScale * distanceFieldRange\r
3790uniform float uFWidth;\r
3791\r
3792void main(void) {\r
3793\r
3794  // To stack MSDF and SDF we need a non-pre-multiplied-alpha texture.\r
3795  vec4 texColor = texture2D(uSampler, vTextureCoord);\r
3796\r
3797  // MSDF\r
3798  float median = texColor.r + texColor.g + texColor.b -\r
3799                  min(texColor.r, min(texColor.g, texColor.b)) -\r
3800                  max(texColor.r, max(texColor.g, texColor.b));\r
3801  // SDF\r
3802  median = min(median, texColor.a);\r
3803\r
3804  float screenPxDistance = uFWidth * (median - 0.5);\r
3805  float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);\r
3806  if (median < 0.01) {\r
3807    alpha = 0.0;\r
3808  } else if (median > 0.99) {\r
3809    alpha = 1.0;\r
3810  }\r
3811\r
3812  // Gamma correction for coverage-like alpha\r
3813  float luma = dot(uColor.rgb, vec3(0.299, 0.587, 0.114));\r
3814  float gamma = mix(1.0, 1.0 / 2.2, luma);\r
3815  float coverage = pow(uColor.a * alpha, gamma);  \r
3816\r
3817  // NPM Textures, NPM outputs\r
3818  gl_FragColor = vec4(uColor.rgb, coverage);\r
3819}\r
3820`),uniforms:{uFWidth:0}}),i=c.B9.NORMAL_NPM);let a=new tF(o,n);a.blendMode=i,r={index:0,indexCount:0,vertexCount:0,uvsCount:0,total:0,mesh:a,vertices:null,uvs:null,indices:null}}r.index=0,r.indexCount=0,r.vertexCount=0,r.uvsCount=0,r.total=0;let{_textureCache:o}=this;o[i]=o[i]||new c.gP(n.baseTexture),r.mesh.texture=o[i],r.mesh.tint=this._tintColor.value,E.push(r),S[i]=r}S[i].total++}for(let t=0;t<O.length;t++)E.includes(O[t])||this.removeChild(O[t].mesh);for(let t=0;t<E.length;t++)E[t].mesh.parent!==this&&this.addChild(E[t].mesh);for(let t in this._activePagesMeshData=E,S){let r=S[t],n=r.total;if(!(r.indices?.length>6*n)||r.vertices.length<2*tF.BATCHABLE_SIZE)r.vertices=new Float32Array(8*n),r.uvs=new Float32Array(8*n),r.indices=new Uint16Array(6*n);else{let t=r.total,n=r.vertices;for(let r=4*t*2;r<n.length;r++)n[r]=0}r.mesh.size=6*n}for(let t=0;t<T;t++){let r=o[t],i=r.position.x+_[r.line]*("justify"===this._align?r.prevSpaces:1);this._roundPixels&&(i=Math.round(i));let a=i*n,s=r.position.y*n,u=r.texture,l=S[u.baseTexture.uid],h=u.frame,c=u._uvs,f=l.index++;l.indices[6*f+0]=0+4*f,l.indices[6*f+1]=1+4*f,l.indices[6*f+2]=2+4*f,l.indices[6*f+3]=0+4*f,l.indices[6*f+4]=2+4*f,l.indices[6*f+5]=3+4*f,l.vertices[8*f+0]=a,l.vertices[8*f+1]=s,l.vertices[8*f+2]=a+h.width*n,l.vertices[8*f+3]=s,l.vertices[8*f+4]=a+h.width*n,l.vertices[8*f+5]=s+h.height*n,l.vertices[8*f+6]=a,l.vertices[8*f+7]=s+h.height*n,l.uvs[8*f+0]=c.x0,l.uvs[8*f+1]=c.y0,l.uvs[8*f+2]=c.x1,l.uvs[8*f+3]=c.y1,l.uvs[8*f+4]=c.x2,l.uvs[8*f+5]=c.y2,l.uvs[8*f+6]=c.x3,l.uvs[8*f+7]=c.y3}for(let r in this._textWidth=p*n,this._textHeight=(i.y+t.lineHeight)*n,S){let t=S[r];if(0!==this.anchor.x||0!==this.anchor.y){let r=0,n=this._textWidth*this.anchor.x,i=this._textHeight*this.anchor.y;for(let o=0;o<t.total;o++)t.vertices[r++]-=n,t.vertices[r++]-=i,t.vertices[r++]-=n,t.vertices[r++]-=i,t.vertices[r++]-=n,t.vertices[r++]-=i,t.vertices[r++]-=n,t.vertices[r++]-=i}this._maxLineHeight=b*n;let i=t.mesh.geometry.getBuffer("aVertexPosition"),o=t.mesh.geometry.getBuffer("aTextureCoord"),a=t.mesh.geometry.getIndex();i.data=t.vertices,o.data=t.uvs,a.data=t.indices,i.update(),o.update(),a.update()}for(let t=0;t<o.length;t++)rL.push(o[t]);this._font=t,this.dirty=!1}updateTransform(){this.validate(),this.containerUpdateTransform()}_render(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0);let{distanceFieldRange:r,distanceFieldType:n,size:i}=rR.available[this._fontName];if("none"!==n){let{a:n,b:o,c:a,d:s}=this.worldTransform,u=(Math.abs(Math.sqrt(n*n+o*o))+Math.abs(Math.sqrt(a*a+s*s)))/2,l=this.fontSize/i,h=t._view.resolution;for(let t of this._activePagesMeshData)t.mesh.shader.uniforms.uFWidth=u*r*l*h}super._render(t)}getLocalBounds(){return this.validate(),super.getLocalBounds()}validate(){let t=rR.available[this._fontName];if(!t)throw Error(`Missing BitmapFont "${this._fontName}"`);this._font!==t&&(this.dirty=!0),this.dirty&&this.updateText()}get tint(){return this._tintColor.value}set tint(t){if(this.tint!==t){this._tintColor.setValue(t);for(let r=0;r<this._activePagesMeshData.length;r++)this._activePagesMeshData[r].mesh.tint=t}}get align(){return this._align}set align(t){this._align!==t&&(this._align=t,this.dirty=!0)}get fontName(){return this._fontName}set fontName(t){if(!rR.available[t])throw Error(`Missing BitmapFont "${t}"`);this._fontName!==t&&(this._fontName=t,this.dirty=!0)}get fontSize(){return this._fontSize??rR.available[this._fontName].size}set fontSize(t){this._fontSize!==t&&(this._fontSize=t,this.dirty=!0)}get anchor(){return this._anchor}
3820set anchor(t){"number"==typeof t?this._anchor.set(t):this._anchor.copyFrom(t)}get text(){return this._text}set text(t){t=String(t??""),this._text!==t&&(this._text=t,this.dirty=!0)}get maxWidth(){return this._maxWidth}set maxWidth(t){this._maxWidth!==t&&(this._maxWidth=t,this.dirty=!0)}get maxLineHeight(){return this.validate(),this._maxLineHeight}get textWidth(){return this.validate(),this._textWidth}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.dirty=!0)}get roundPixels(){return this._roundPixels}set roundPixels(t){t!==this._roundPixels&&(this._roundPixels=t,this.dirty=!0)}get textHeight(){return this.validate(),this._textHeight}get resolution(){return this._resolution}set resolution(t){this._autoResolution=!1,this._resolution!==t&&(this._resolution=t,this.dirty=!0)}destroy(t){let{_textureCache:r}=this,n="none"===rR.available[this._fontName].distanceFieldType?rD:rM;for(let t of(n.push(...this._activePagesMeshData),this._activePagesMeshData))this.removeChild(t.mesh);for(let t in this._activePagesMeshData=[],n.filter(t=>r[t.mesh.texture.baseTexture.uid]).forEach(t=>{t.mesh.texture=c.gP.EMPTY}),r)r[t].destroy(),delete r[t];this._font=null,this._tintColor=null,this._textureCache=null,super.destroy(t)}};rB.styleDefaults={align:"left",tint:0xffffff,maxWidth:0,letterSpacing:0};let rN=rB,rF=[".xml",".fnt"],rU={extension:{type:c.Ag.LoadParser,priority:eo.Normal},name:"loadBitmapFont",test:t=>rF.includes(c.Wp.path.extname(t).toLowerCase()),testParse:async t=>rE.test(t)||rA.test(t),async parse(t,r,n){let i=rE.test(t)?rE.parse(t):rA.parse(t),{src:o}=r,{page:a}=i,s=[];for(let t=0;t<a.length;++t){let r=a[t].file,n=c.Wp.path.join(c.Wp.path.dirname(o),r);n=eY(n,o),s.push(n)}let u=await n.load(s),l=s.map(t=>u[t]);return rR.install(i,l,!0)},load:async(t,r)=>(await c.W0.ADAPTER.fetch(t)).text(),unload(t){t.destroy()}};c.XO.add(rU);let rj=class t extends t6{constructor(){super(...arguments),this._fonts=[],this._overrides=[],this._stylesheet="",this.fontsDirty=!1}static from(r){return new t(Object.keys(t.defaultOptions).reduce((t,n)=>({...t,[n]:r[n]}),{}))}cleanFonts(){this._fonts.length>0&&(this._fonts.forEach(r=>{URL.revokeObjectURL(r.src),r.refs--,0===r.refs&&(r.fontFace&&document.fonts.delete(r.fontFace),delete t.availableFonts[r.originalUrl])}),this.fontFamily="Arial",this._fonts.length=0,this.styleID++,this.fontsDirty=!0)}loadFont(r){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{availableFonts:i}=t;if(i[r]){let t=i[r];return this._fonts.push(t),t.refs++,this.styleID++,this.fontsDirty=!0,Promise.resolve()}return c.W0.ADAPTER.fetch(r).then(t=>t.blob()).then(async t=>new Promise((r,n)=>{let i=URL.createObjectURL(t),o=new FileReader;o.onload=()=>r([i,o.result]),o.onerror=n,o.readAsDataURL(t)})).then(async t=>{let[o,a]=t,s=Object.assign({family:c.Wp.path.basename(r,c.Wp.path.extname(r)),weight:"normal",style:"normal",display:"auto",src:o,dataSrc:a,refs:1,originalUrl:r,fontFace:null},n);i[r]=s,this._fonts.push(s),this.styleID++;let u=new FontFace(s.family,`url(${s.src})`,{weight:s.weight,style:s.style,display:s.display});s.fontFace=u,await u.load(),document.fonts.add(u),await document.fonts.ready,this.styleID++,this.fontsDirty=!0})}addOverride(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let i=r.filter(t=>!this._overrides.includes(t));i.length>0&&(this._overrides.push(...i),this.styleID++)}removeOverride(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];let i=r.filter(t=>this._overrides.includes(t));i.length>0&&(this._overrides=this._overrides.filter(t=>!i.includes(t)),this.styleID++)}toCSS(t){return[`transform: scale(${t})`,"transform-origin: top left","display: inline-block",`color: ${this.normalizeColor(this.fill)}`,`font-size: ${this.fontSize}px`,`font-family: ${this.fontFamily}`,`font-weight: ${this.fontWeight}`,`font-style: ${this.fontStyle}`,`font-variant: ${this.fontVariant}`,`letter-spacing: ${this.letterSpacing}px`,`text-align: ${this.align}`,`padding: ${this.padding}px`,`white-space: ${this.whiteSpace}`,...this.lineHeight?[`line-height: ${this.lineHeight}px`]:[],...this.wordWrap?["word-wrap: "+(this.breakWords?"break-all":"break-word"),`max-width: ${this.wordWrapWidth}px`]:[],...this.strokeThickness?[`-webkit-text-stroke-width: ${this.strokeThickness}px`,`-webkit-text-stroke-color: ${this.normalizeColor(this.stroke)}`,`text-stroke-width: ${this.strokeThickness}px`,`text-stroke-color: ${this.normalizeColor(this.stroke)}`,"paint-order: stroke"]:[],...this.dropShadow?[this.dropShadowToCSS()]:[],...this._overrides].join(";")}toGlobalCSS(){return this._fonts.reduce((t,r)=>`${t}
3821            @font-face {
3822                font-family: "${r.family}";
3823                src: url('${r.dataSrc}');
3824                font-weight: ${r.weight};
3825                font-style: ${r.style};
3826                font-display: ${r.display};
3827            }`,this._stylesheet)}get stylesheet(){return this._stylesheet}set stylesheet(t){this._stylesheet!==t&&(this._stylesheet=t,this.styleID++)}normalizeColor(t){return Array.isArray(t)&&(t=c.Wp.rgb2hex(t)),"number"==typeof t?c.Wp.hex2string(t):t}dropShadowToCSS(){let t=this.normalizeColor(this.dropShadowColor),r=this.dropShadowAlpha,n=Math.round(Math.cos(this.dropShadowAngle)*this.dropShadowDistance),i=Math.round(Math.sin(this.dropShadowAngle)*this.dropShadowDistance);t.startsWith("#")&&r<1&&(t+=(255*r|0).toString(16).padStart(2,"0"));let o=`${n}px ${i}px`;return this.dropShadowBlur>0?`text-shadow: ${o} ${this.dropShadowBlur}px ${t}`:`text-shadow: ${o} ${t}`}reset(){Object.assign(this,t.defaultOptions)}
3827onBeforeDraw(){let{fontsDirty:t}=this;return this.fontsDirty=!1,this.isSafari&&this._fonts.length>0&&t?new Promise(t=>setTimeout(t,100)):Promise.resolve()}get isSafari(){let{userAgent:t}=c.W0.ADAPTER.getNavigator();return/^((?!chrome|android).)*safari/i.test(t)}set fillGradientStops(t){console.warn("[HTMLTextStyle] fillGradientStops is not supported by HTMLText")}get fillGradientStops(){return super.fillGradientStops}set fillGradientType(t){console.warn("[HTMLTextStyle] fillGradientType is not supported by HTMLText")}get fillGradientType(){return super.fillGradientType}set miterLimit(t){console.warn("[HTMLTextStyle] miterLimit is not supported by HTMLText")}get miterLimit(){return super.miterLimit}set trim(t){console.warn("[HTMLTextStyle] trim is not supported by HTMLText")}get trim(){return super.trim}set textBaseline(t){console.warn("[HTMLTextStyle] textBaseline is not supported by HTMLText")}get textBaseline(){return super.textBaseline}set leading(t){console.warn("[HTMLTextStyle] leading is not supported by HTMLText")}get leading(){return super.leading}set lineJoin(t){console.warn("[HTMLTextStyle] lineJoin is not supported by HTMLText")}get lineJoin(){return super.lineJoin}};rj.availableFonts={},rj.defaultOptions={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,padding:0,stroke:"black",strokeThickness:0,whiteSpace:"normal",wordWrap:!1,wordWrapWidth:100};let rz=rj,rG=class t extends x{constructor(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(c.gP.EMPTY),this._text=null,this._style=null,this._autoResolution=!0,this.localStyleID=-1,this.dirty=!1,this._updateID=0,this.ownsStyle=!1;const i=new Image,o=c.gP.from(i,{scaleMode:c.W0.SCALE_MODE,resourceOptions:{autoLoad:!1}});o.orig=new c.M_,o.trim=new c.M_,this.texture=o;const a="http://www.w3.org/2000/svg",s="http://www.w3.org/1999/xhtml",u=document.createElementNS(a,"svg"),l=document.createElementNS(a,"foreignObject"),h=document.createElementNS(s,"div"),f=document.createElementNS(s,"style");l.setAttribute("width","10000"),l.setAttribute("height","10000"),l.style.overflow="hidden",u.appendChild(l),this.maxWidth=t.defaultMaxWidth,this.maxHeight=t.defaultMaxHeight,this._domElement=h,this._styleElement=f,this._svgRoot=u,this._foreignObject=l,this._foreignObject.appendChild(f),this._foreignObject.appendChild(h),this._image=i,this._loadImage=new Image,this._autoResolution=t.defaultAutoResolution,this._resolution=t.defaultResolution??c.W0.RESOLUTION,this.text=r,this.style=n}measureText(t){let{text:r,style:n,resolution:i}=Object.assign({text:this._text,style:this._style,resolution:this._resolution},t);Object.assign(this._domElement,{innerHTML:r,style:n.toCSS(i)}),this._styleElement.textContent=n.toGlobalCSS(),document.body.appendChild(this._svgRoot);let o=this._domElement.getBoundingClientRect();this._svgRoot.remove();let{width:a,height:s}=o;(a>this.maxWidth||s>this.maxHeight)&&console.warn("[HTMLText] Large expanse of text, increase HTMLText.maxWidth or HTMLText.maxHeight property.");let u=Math.min(this.maxWidth,Math.ceil(a)),l=Math.min(this.maxHeight,Math.ceil(s));return this._svgRoot.setAttribute("width",u.toString()),this._svgRoot.setAttribute("height",l.toString()),r!==this._text&&(this._domElement.innerHTML=this._text),n!==this._style&&(Object.assign(this._domElement,{style:this._style?.toCSS(i)}),this._styleElement.textContent=this._style?.toGlobalCSS()),{width:u+2*n.padding,height:l+2*n.padding}}async updateText(){let t=!(arguments.length>0)||void 0===arguments[0]||arguments[0],{style:r,_image:n,_loadImage:i}=this;if(this.localStyleID!==r.styleID&&(this.dirty=!0,this.localStyleID=r.styleID),!this.dirty&&t)return;let{width:o,height:a}=this.measureText();n.width=i.width=Math.ceil(Math.max(1,o)),n.height=i.height=Math.ceil(Math.max(1,a)),this._updateID++;let s=this._updateID;await new Promise(t=>{i.onload=async()=>{s<this._updateID||(await r.onBeforeDraw(),n.src=i.src,i.onload=null,i.src="",this.updateTexture()),t()};let o=new XMLSerializer().serializeToString(this._svgRoot);i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(o)}`})}get source(){return this._image}updateTexture(){let{style:t,texture:r,_image:n,resolution:i}=this,{padding:o}=t,{baseTexture:a}=r;r.trim.width=r._frame.width=n.width/i,r.trim.height=r._frame.height=n.height/i,r.trim.x=-o,r.trim.y=-o,r.orig.width=r._frame.width-2*o,r.orig.height=r._frame.height-2*o,this._onTextureUpdate(),a.setRealSize(n.width,n.height,i),this.dirty=!1}_render(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0),this.updateText(!0),super._render(t)}_renderCanvas(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0),this.updateText(!0),super._renderCanvas(t)}getLocalBounds(t){return this.updateText(!0),super.getLocalBounds(t)}_calculateBounds(){this.updateText(!0),this.calculateVertices(),this._bounds.addQuad(this.vertexData)}_onStyleChange(){this.dirty=!0}destroy(r){"boolean"==typeof r&&(r={children:r}),r=Object.assign({},t.defaultDestroyOptions,r),super.destroy(r),this.ownsStyle&&this._style?.cleanFonts(),this._style=null,this._svgRoot?.remove(),this._svgRoot=null,this._domElement?.remove(),this._domElement=null,this._foreignObject?.remove(),this._foreignObject=null,this._styleElement?.remove(),this._styleElement=null,this._loadImage.src="",this._loadImage.onload=null,this._loadImage=null,this._image.src="",this._image=null}get width(){return this.updateText(!0),Math.abs(this.scale.x)*this._image.width/this.resolution}set width(t){this.updateText(!0);let r=c.Wp.sign(this.scale.x)||1;this.scale.x=r*t/this._image.width/this.resolution,this._width=t}get height(){return this.updateText(!0),Math.abs(this.scale.y)*this._image.height/this.resolution}set height(t){this.updateText(!0);let r=c.Wp.sign(this.scale.y)||1;this.scale.y=r*t/this._image.height/this.resolution,this._height=t}get style(){return this._style}set style(t){this._style!==t&&((t=t||{})instanceof rz?(this.ownsStyle=!1,this._style=t):t instanceof t6?(console.warn("[HTMLText] Cloning TextStyle, if this is not what you want, use HTMLTextStyle"),this.ownsStyle=!0,this._style=rz.from(t)):(this.ownsStyle=!0,this._style=new rz(t)),this.localStyleID=-1,this.dirty=!0)}get text(){return this._text}set text(t){t=String(""===t||null==t?" ":t),t=this.sanitiseText(t),this._text!==t&&(this._text=t,this.dirty=!0)}get resolution(){return this._resolution}set resolution(t){this._autoResolution=!1,this._resolution!==t&&(this._resolution=t,this.dirty=!0)}sanitiseText(t){return t.replace(/<br>/gi,"<br/>").replace(/<hr>/gi,"<hr/>").replace(/&nbsp;/gi,"&#160;")}};rG.defaultDestroyOptions={texture:!0,children:!1,baseTexture:!0},rG.defaultMaxWidth=2024,rG.defaultMaxHeight=2024,rG.defaultAutoResolution=!0;let rV=rG}},o={};function a(t){var r=o[t];
3827if(void 0!==r)return r.exports;var n=o[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return a.d(r,{a:r}),r},a.d=(t,r)=>{for(var n in r)a.o(r,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=(t,r)=>Object.prototype.hasOwnProperty.call(t,r),a.r=t=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var s={};a.d(s,{o:()=>cN});var u=a(9672),l=a(5862),h=a(8699),c=a(6903);function f(t){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var d=(eh=function t(r){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.video=null,this.stream=null,this.videoTrack=null,this.audioTrack=null,this.transformFrame=null,this.updateVideoTrack=null,this.toCanvas=null,this.lastFrameTime=0,this.fpsLimit=30,this.timestamp=0,this.isRunning=!1,this.isPaused=!1,this.sdkOptions=r,this.frameTimer=new h.S,this.frameTime=0,this.fps=0,this.enableFps=!1,this.frame_count=0,this.videoTrackWrapper=new l.D,this.videoTrackWrapper.setSdkOptions(this.sdkOptions),this.videoTrackWrapper.on("update",this.onTrackUpdate,this)},ec=[{key:"onTrackUpdate",value:function(){this.sdkOptions.setSize(this.videoTrackWrapper.width,this.videoTrackWrapper.height),"function"==typeof this.changeInputResolutionFuncition&&this.changeInputResolutionFuncition()}},{key:"clearBuffers",value:function(){}},{key:"getSnapshot",value:function(){return this.snapshot&&this.snapshot.isPending()||(this.snapshot=new c.c),this.snapshot.promise}},{key:"onChangeInputResolution",value:function(t){this.changeInputResolutionFuncition="function"==typeof t?t:void 0}},{key:"onFrameDraw",value:function(t){this.frameDrawFunction="function"==typeof t?t:void 0}},{key:"setCustomResolution",value:function(t,r){this.sdkOptions.setCustomSize(t,r)}},{key:"clearCustomResolution",value:function(){this.sdkOptions.clearCustomSize()}},{key:"clearOutputResolution",value:function(){this.sdkOptions.customSize=!1,this.sdkOptions.setSize(this.videoTrackWrapper.width,this.videoTrackWrapper.height)}},{key:"useEffectProcessor",value:function(t){this.effectProcessor=t}},{key:"pause",value:function(){this.isPaused=!0}},{key:"unpause",value:function(){this.isPaused=!1}},{key:"setRenderer",value:function(t){this.renderer=t}},{key:"destroy",value:function(){this.videoTrackWrapper.off("update",this.onTrackUpdate,this)}},{key:"setFpsLimit",value:function(t){var r;this.fpsLimit=t,null==(r=this.getInputVideoTrack())||r.applyConstraints({frameRate:this.fpsLimit})}},{key:"useStream",value:function(t){this.stream=t,this.useVideoTrack(this.stream.getVideoTracks()[0])}},{key:"useVideoTrack",value:function(t){this.videoTrack=t,this.videoTrackWrapper.set(this.videoTrack)}},{key:"getInputStream",value:function(){return this.stream?this.stream:null}},{key:"getInputVideoTrack",value:function(){return this.videoTrack?this.videoTrack:null}},{key:"showFps",value:function(){this.enableFps=!0}},{key:"hideFps",value:function(){this.enableFps=!1,this.renderer.hideStatistics()}},{key:"drawFps",value:function(){this.enableFps&&this.frame_count%30==0&&(this.renderer.updateStatistics("output_fps",this.frameTimer.getFrameFps()),this.renderer.drawStatistics())}},{key:"process",value:function(){this.transformFrame&&this.transformFrame()}},{key:"clearTransformCallback",value:function(){this.transformFrame=null}},{key:"transformCallback",value:function(t){this.transformFrame=t}},{key:"renderToCanvas",value:function(t){this.toCanvas=t}},{key:"getStream",value:function(){return this.stream}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=f(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=f(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
3827(t,"string");return"symbol"==f(r)?r:r+""}(i.key),i)}}(eh.prototype,ec),Object.defineProperty(eh,"prototype",{writable:!1}),eh),p=a(5034),y=a(8389);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var g=(ef=function(t){var r=new Map([[0,function(){}]]),n=new Map([[0,function(){}]]),i=new Map,o=new Worker(t);return o.addEventListener("message",function(t){var o=t.data;if(void 0!==o.method&&"call"===o.method){var a=o.params,s=a.timerId,l=a.timerType;if("interval"===l){var h=r.get(s);if(void 0===m(h)&&u.bv.notify({message:"The timer is in an undefined state.",emitter:u.JK.WORKER_TIMERS}),"number"==typeof h){var c=i.get(h);void 0!==c&&c.timerId===s&&c.timerType===l||u.bv.notify({message:"The timer is in an undefined state.",emitter:u.JK.WORKER_TIMERS})}else"function"==typeof h&&h()}else if("timeout"===l){var f=n.get(s);if(void 0===m(f)&&u.bv.notify({message:"The timer is in an undefined state.",emitter:u.JK.WORKER_TIMERS}),"number"==typeof f){var d=i.get(f);void 0!==d&&d.timerId===s&&d.timerType===l||u.bv.notify({message:"The timer is in an undefined state.",emitter:u.JK.WORKER_TIMERS})}else"function"==typeof f&&(f(),n.delete(s))}}else if("number"==typeof o.id&&"boolean"==typeof o.result){var p=o.id,y=i.get(p);void 0===y&&u.bv.notify({message:"The timer is in an undefined state.",emitter:u.JK.WORKER_TIMERS});var g=y.timerId,v=y.timerType;i.delete(p),"interval"===v?r.delete(g):n.delete(g)}else{var b=o.error.message;u.bv.notify({message:b,emitter:u.JK.WORKER_TIMERS})}}),{clearInterval:function(t){if("function"==typeof r.get(t)){var n=(0,y.generateUniqueNumber)(i);i.set(n,{timerId:t,timerType:"interval"}),r.set(t,n),o.postMessage({id:n,method:"clear",params:{timerId:t,timerType:"interval"}})}},clearTimeout:function(t){if("function"==typeof n.get(t)){var r=(0,y.generateUniqueNumber)(i);i.set(r,{timerId:t,timerType:"timeout"}),n.set(t,r),o.postMessage({id:r,method:"clear",params:{timerId:t,timerType:"timeout"}})}},setInterval:function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length,a=Array(i>2?i-2:0),s=2;s<i;s++)a[s-2]=arguments[s];var u=(0,y.generateUniqueNumber)(r);return r.set(u,function(){t.apply(void 0,a),"function"==typeof r.get(u)&&o.postMessage({id:null,method:"set",params:{delay:n,now:performance.timeOrigin+performance.now(),timerId:u,timerType:"interval"}})}),o.postMessage({id:null,method:"set",params:{delay:n,now:performance.timeOrigin+performance.now(),timerId:u,timerType:"interval"}}),u},setTimeout:function(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length,a=Array(i>2?i-2:0),s=2;s<i;s++)a[s-2]=arguments[s];var u=(0,y.generateUniqueNumber)(n);return n.set(u,function(){return t.apply(void 0,a)}),o.postMessage({id:null,method:"set",params:{delay:r,now:performance.timeOrigin+performance.now(),timerId:u,timerType:"timeout"}}),u}}},ed=null,function(){if(null!==ed)return ed;var t=new Blob(['(()=>{"use strict";const e=new Map,t=new Map,r=t=>{const r=e.get(t);return void 0!==r&&(clearTimeout(r),e.delete(t),!0)},s=e=>{const r=t.get(e);return void 0!==r&&(clearTimeout(r),t.delete(e),!0)},o=(e,t)=>{const r=performance.now(),s=e+t-r-performance.timeOrigin;return{expected:r+s,remainingDelay:s}},i=(e,t,r,s)=>{const o=r-performance.now();o>0?e.set(t,setTimeout(i,o,e,t,r,s)):(e.delete(t),postMessage({id:null,method:"call",params:{timerId:t,timerType:s}}))};addEventListener("message",(({data:n})=>{try{if("clear"===n.method){const{id:e,params:{timerId:t,timerType:o}}=n;if("interval"===o)postMessage({id:e,result:r(t)});else{if("timeout"!==o)throw new Error(\'The given type "\'.concat(o,\'" is not supported\'));postMessage({id:e,result:s(t)})}}else{if("set"!==n.method)throw new Error(\'The given method "\'.concat(n.method,\'" is not supported\'));{const{params:{delay:r,now:s,timerId:a,timerType:m}}=n;if("interval"===m)((t,r,s)=>{const{expected:n,remainingDelay:a}=o(t,s);e.set(r,setTimeout(i,a,e,r,n,"interval"))})(r,a,s);else{if("timeout"!==m)throw new Error(\'The given type "\'.concat(m,\'" is not supported\'));((e,r,s)=>{const{expected:n,remainingDelay:a}=o(e,s);t.set(r,setTimeout(i,a,t,r,n,"timeout"))})(r,a,s)}}}}catch(e){postMessage({error:{message:e.message},id:n.id,result:null})}}))})();'],{type:"application/javascript; charset=utf-8"}),r=URL.createObjectURL(t);return ed=ef(r),setTimeout(function(){return URL.revokeObjectURL(r)}),ed}),v=function(t){return g().clearInterval(t)},b=function(t){return g().clearTimeout(t)},w=function(){var t;return(t=g()).setInterval.apply(t,arguments)},x=function(){var t;return(t=g()).setTimeout.apply(t,arguments)},_=a(2546),T=a(9380);function S(t){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function E(){E=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new k(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,336 bytes, line 3827
3827(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(C([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function O(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function A(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==S(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function I(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function P(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function C(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(S(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},O(A.prototype),h(A.prototype,u,function(){return this}),r.AsyncIterator=A,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new A(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},O(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=C,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
3827if("throw"===i.type){var o=i.arg;P(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:C(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function O(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function A(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){O(a,i,o,s,u,"next",t)}function u(t){O(a,i,o,s,u,"throw",t)}s(void 0)})}}function I(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(I=function(){return!!t})()}function P(){return(P="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=k(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function k(t){return(k=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function C(t,r){return(C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var $=function(){var t,r,n,i,o,a;function s(t){var r,n,i;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,s),(n=s,i=[t],n=k(n),r=function(t,r){if(r&&("object"==S(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,I()?Reflect.construct(n,i||[],k(this).constructor):n.apply(this,i))).inprocess=!1,r.duration=30,r.textures=[],r.inputVideo=document.createElement("video"),r.duration=1e3/r.fpsLimit,r.sdkOptions.on("update",r.onOptionsUpdate,r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&C(t,r)}(s,d),a=[{key:"onOptionsUpdate",value:function(t){this.videoFrame&&this.videoFrame.resize(this.sdkOptions.width,this.sdkOptions.height)}},{key:"onTrackUpdate",value:function(){var t,r;(t=this,"function"==typeof(r=P(k(s.prototype),"onTrackUpdate",t))?function(n){return r.apply(t,n)}:r)([]),this.videoFrame&&this.videoFrame.resize(this.sdkOptions.width,this.sdkOptions.height)}},{key:"setFpsLimit",value:function(t){var r=this;this.fpsLimit=t,this.duration=1e3/this.fpsLimit;try{this.gatherFramesInterval&&(v(this.gatherFramesInterval),this.gatherFramesInterval=0,this.gatherFramesInterval=w(function(){r.gatherByTimers()},this.duration))}catch(t){}}},{key:"setRenderer",value:function(t){this.renderer=t}},{key:"destroy",value:function(){this.stopTimers()}},{key:"clearBuffers",value:function(){this.effectProcessor.clearBuffers()}},{key:"stopTimers",value:function(){try{this.gatherFramesTimeout&&(b(this.gatherFramesTimeout),this.gatherFramesTimeout=0),this.handleFramesTimeout&&(b(this.handleFramesTimeout),this.handleFramesTimeout=0),this.gatherFramesInterval&&(v(this.gatherFramesInterval),this.gatherFramesInterval=0)}catch(t){}}},{key:"startTimers",value:function(){var t=this;try{this.gatherFramesInterval=w(function(){t.gatherByTimers()},this.duration)}catch(t){}this.gatherByCallback(),this.handleFrames()}},{key:"gatherByCallback",value:(o=A(E().mark(function t(){return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}},t)})),function(){return o.apply(this,arguments)})},{key:"gatherByTimers",value:(i=A(E().mark(function t(){return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:document.hidden&&this.gatherFrames();case 1:case"end":return t.stop()}},t,this)})),function(){return i.apply(this,arguments)})},{key:"gatherFrames",value:(n=A(E().mark(function t(){var r,n;return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:this.textures.length>1&&(r=this.textures.shift(),this.effectProcessor?r&&this.effectProcessor.resources.texturePool.put(r):null==r||r.destroy(!0)),this.videoTexture&&(this.videoTexture.update(
3827),n=this.effectProcessor?this.effectProcessor.resources.texturePool.get(this.sdkOptions.width,this.sdkOptions.height):p.RenderTexture.create({width:this.sdkOptions.width,height:this.sdkOptions.height}),this.renderer.renderTo(this.videoFrame.sprite,n),this.textures.push(n));case 2:case"end":return t.stop()}},t,this)})),function(){return n.apply(this,arguments)})},{key:"nextTick",value:(r=A(E().mark(function t(){var r;return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.frame_count++,this.lastFrameTime=performance.now(),this.frameTimer.finish(),this.frameTimer.start(),t.next=6,this.effectProcessor.process();case 6:this.snapshot&&this.snapshot.isPending()&&this.snapshot.resolve(createImageBitmap(this.renderer.renderer.view)),this.drawFps(),this.toCanvas&&(null==(r=this.toCanvas.getContext("2d"))||r.drawImage(this.renderer.renderer.view,0,0,this.toCanvas.width,this.toCanvas.height));case 9:case"end":return t.stop()}},t,this)})),function(){return r.apply(this,arguments)})},{key:"handleFrames",value:(t=A(E().mark(function t(){var r,n,i,o,a=this;return E().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.textures.length){t.next=2;break}return t.abrupt("return",this.handleFramesTimeout=x(function(){a.handleFrames()},10));case 2:if(this.inputVideo.paused&&this.inputVideo.play(),i=performance.now(),null==(r=this.frameDrawFunction)||r.call(this),this.videoTrackWrapper.update(this.inputVideo.videoWidth,this.inputVideo.videoHeight),this.isRunning&&!this.isPaused&&this.effectProcessor){t.next=15;break}return this.textures.forEach(function(t){a.effectProcessor?t&&a.effectProcessor.resources.texturePool.put(t):null==t||t.destroy(!0)}),this.textures=[],this.renderer.addToEffects(this.videoFrame.sprite),this.renderer.render(),this.renderer.removeFromEffects(this.videoFrame.sprite),this.snapshot&&this.snapshot.isPending()&&this.snapshot.resolve(createImageBitmap(this.renderer.renderer.view)),this.toCanvas&&(null==(n=this.toCanvas.getContext("2d"))||n.drawImage(this.renderer.renderer.view,0,0,this.toCanvas.width,this.toCanvas.height)),t.abrupt("return",this.handleFramesTimeout=x(function(){a.handleFrames()},Math.max(0,this.duration-(performance.now()-i))));case 15:if(o=this.textures.shift(),this.effectProcessor.nextFrame(new _.g(o)),!this.onProcessPromise||!this.onProcessPromise.isPending()){t.next=20;break}return t.next=20,this.onProcessPromise.promise;case 20:return this.onProcessPromise=new c.c,this.nextTick().then(function(){a.onProcessPromise.resolve()}),t.abrupt("return",this.handleFramesTimeout=x(function(){a.handleFrames()},0));case 23:case"end":return t.stop()}},t,this)})),function(){return t.apply(this,arguments)})},{key:"process",value:function(){var t=this;if(this.stopTimers(),this.getInputVideoTrack()){var r=this.getInputVideoStream();r&&(this.inputVideo.srcObject=r,this.inputVideo.muted=!0,this.inputVideo.setAttribute("playsinline",!0),this.inputVideo.playsInline=!0,this.inputVideo.play().then(function(){t.videoTexture=new _.g(t.inputVideo),t.videoFrame=new T.w(t.videoTexture,{width:t.sdkOptions.width,height:t.sdkOptions.height})})),this.startTimers()}else u.bv.notify({message:"there is no videoTrack to process",type:u.By.ERROR,code:u.O4.NO_VIDEO_TRACK,emitter:u.JK.SRTEAM_PROCESSOR})}},{key:"getInputVideoStream",value:function(){return this.stream?this.stream:null}},{key:"getStream",value:function(){var t=this;return this.outputStream||(this.outputStream=this.renderer.renderer.view.captureStream(30),this.outputStream.getVideoTracks()[0].getSettings=function(){return t.videoTrackWrapper.getSettings()},this.outputStream.getVideoTracks()[0].getConstraints=function(){return t.videoTrackWrapper.getConstraints()},this.outputStream.getVideoTracks()[0].getCapabilities=function(){return t.videoTrackWrapper.getCapabilities()},this.outputStream.getVideoTracks()[0].applyConstraints=function(r){return t.videoTrackWrapper.applyConstraints(r)},this.stream&&this.stream.getAudioTracks().forEach(function(r,n){t.outputStream.addTrack(r)})),this.outputStream}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=S(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=S(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
3827(t,"string");return"symbol"==S(r)?r:r+""}(i.key),i)}}(s.prototype,a),Object.defineProperty(s,"prototype",{writable:!1}),s}();function R(t){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function D(){D=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==R(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(R(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
3827h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function M(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function L(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(L=function(){return!!t})()}function B(){return(B="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=N(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function N(t){return(N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function F(t,r){return(F=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var U=function(){var t,r,n;function i(t){var r,n,o;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(n=i,o=[t],n=N(n),r=function(t,r){if(r&&("object"==R(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,L()?Reflect.construct(n,o||[],N(this).constructor):n.apply(this,o))).timing=performance.now(),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&F(t,r)}(i,$),n=[{key:"gatherByCallback",value:(r=D().mark(function t(){var r=this;return D().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!document.hidden){t.next=3;break}return this.requestAnimationFrameID=window.requestAnimationFrame(function(){return r.gatherByCallback()}),t.abrupt("return");case 3:performance.now()-this.timing>.85*this.duration&&(this.gatherFrames(),this.timing=performance.now()),this.requestAnimationFrameID=window.requestAnimationFrame(function(){return r.gatherByCallback()});case 6:case"end":return t.stop()}},t,this)}),t=function(){var t=this,n=arguments;return new Promise(function(i,o){var a=r.apply(t,n);function s(t){M(a,i,o,s,u,"next",t)}function u(t){M(a,i,o,s,u,"throw",t)}s(void 0)})},function(){return t.apply(this,arguments)})},{key:"stopTimers",value:function(){var t,r;if((t=this,"function"==typeof(r=B(N(i.prototype),"stopTimers",t))?function(n){return r.apply(t,n)}:r)([]),this.requestAnimationFrameID)try{cancelAnimationFrame(this.requestAnimationFrameID),this.requestAnimationFrameID=0}catch(t){}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=R(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=R(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
3827(t,"string");return"symbol"==R(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function j(t){return(j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function z(){z=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==j(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(j(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
3827h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function G(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function V(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){G(a,i,o,s,u,"next",t)}function u(t){G(a,i,o,s,u,"throw",t)}s(void 0)})}}function W(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(W=function(){return!!t})()}function H(t){return(H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function q(t,r){return(q=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var Y=function(){var t,r,n;function i(t){var r,n,o;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(n=i,o=[t],n=H(n),r=function(t,r){if(r&&("object"==j(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,W()?Reflect.construct(n,o||[],H(this).constructor):n.apply(this,o))).frameTimes=[],r.aborter=new AbortController,r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&q(t,r)}(i,d),n=[{key:"clearBuffers",value:function(){this.effectProcessor.clearBuffers()}},{key:"destroy",value:function(){this.outputStream&&this.outputStream.getTracks().forEach(function(t){t.stop()}),this.aborter.abort("stream_processor is destroyed")}},{key:"nextTick",value:(r=V(z().mark(function t(r,n){var i,o,a,s,l,h;return z().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.frame_count++,this.lastFrameTime=performance.now(),this.frameTimer.finish(),this.frameTimer.start(),t.next=6,this.effectProcessor.process();case 6:this.drawFps();try{l=this.renderer.getVideoFrameSettings(),h=this.renderer.getVideoFrameData(),s=new VideoFrame(h,Object.assign({duration:this.frameTimer.getFrameDuration(),timestamp:r.timestamp},l)),r.close();try{this.snapshot&&this.snapshot.isPending()&&this.snapshot.resolve(createImageBitmap(s)),n.enqueue(s)}catch(t){s.close()}this.toCanvas&&(null==(i=this.toCanvas.getContext("2d"))||i.clearRect(0,0,this.toCanvas.width,this.toCanvas.height),null==(o=this.toCanvas.getContext("2d"))||o.drawImage(this.renderer.renderer.view,0,0,this.toCanvas.width,this.toCanvas.height))}catch(t){u.bv.notify({message:null!=(a=t.message)?a:t,type:u.By.ERROR,code:u.O4.ENQUEUE_FRAME_ISSUE,emitter:u.JK.SRTEAM_PROCESSOR,cause:t}),r.close()}case 8:case"end":return t.stop()}},t,this)})),function(t,n){return r.apply(this,arguments)})}
3827,{key:"handleFrames",value:(t=V(z().mark(function t(r,n){var i,o,a=this;return z().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null==(i=this.frameDrawFunction)||i.call(this),this.videoTrackWrapper.update(r.displayWidth,r.displayHeight),this.isRunning&&!this.isPaused&&this.effectProcessor){t.next=5;break}try{this.snapshot&&this.snapshot.isPending()&&this.snapshot.resolve(createImageBitmap(r)),n.enqueue(r),this.toCanvas&&(null==(o=this.toCanvas.getContext("2d"))||o.drawImage(r,0,0,this.toCanvas.width,this.toCanvas.height))}catch(t){r.close()}return t.abrupt("return");case 5:if(this.effectProcessor.nextFrame(new _.g(r)),!this.onProcessPromise||!this.onProcessPromise.isPending()){t.next=9;break}return t.next=9,this.onProcessPromise.promise;case 9:this.onProcessPromise=new c.c,this.nextTick(r,n).then(function(){a.onProcessPromise.resolve()});case 11:case"end":return t.stop()}},t,this)})),function(r,n){return t.apply(this,arguments)})},{key:"process",value:function(){var t=this,r=this.getInputVideoTrack();if(r){this.outputVideoTrack=new MediaStreamTrackGenerator({kind:"video"}),this.outputVideoTrack.getSettings=function(){return t.videoTrackWrapper.getSettings()},this.outputVideoTrack.getConstraints=function(){return t.videoTrackWrapper.getConstraints()},this.outputVideoTrack.getCapabilities=function(){return t.videoTrackWrapper.getCapabilities()},this.outputVideoTrack.applyConstraints=function(r){return t.videoTrackWrapper.applyConstraints(r)},this.outputStream&&this.outputStream.getTracks().forEach(function(t){t.stop()}),this.outputStream=new MediaStream([this.outputVideoTrack]),this.stream&&this.stream.getAudioTracks().forEach(function(r,n){t.outputStream.addTrack(r)}),this.trackProcessor=new MediaStreamTrackProcessor({track:r}),this.timestamp=performance.now();var n=this,i=new TransformStream({transform:function(t,r){return V(z().mark(function i(){return z().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,n.handleFrames(t,r);case 2:case"end":return i.stop()}},i)}))()}});this.trackProcessor.readable.pipeThrough(i,{signal:this.aborter.signal}).pipeTo(this.outputVideoTrack.writable).catch(function(t){})}else u.bv.notify({message:"there is no videoTrack to process",type:u.By.ERROR,code:u.O4.NO_VIDEO_TRACK,emitter:u.JK.SRTEAM_PROCESSOR})}},{key:"getStream",value:function(){return this.outputStream}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=j(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=j(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==j(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function X(t){return(X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function K(){K=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==X(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(X(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
3827h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function Z(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function J(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(J=function(){return!!t})()}function Q(){return(Q="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=ee(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function ee(t){return(ee=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function et(t,r){return(et=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var er=function(){var t,r,n;function i(t){var r,n,o;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(n=i,o=[t],n=ee(n),r=function(t,r){if(r&&("object"==X(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,J()?Reflect.construct(n,o||[],ee(this).constructor):n.apply(this,o))).timing=performance.now(),r}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&et(t,r)}(i,$),n=[{key:"gatherByCallback",value:(r=K().mark(function t(){var r=this;return K().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!document.hidden){t.next=3;break}return this.gatherFramesTimeout=setTimeout(function(){r.inputVideo.requestVideoFrameCallback(function(){return r.gatherByCallback()})},0),t.abrupt("return");case 3:performance.now()-this.timing>.85*this.duration&&(this.gatherFrames(),this.timing=performance.now()),this.gatherFramesTimeout=setTimeout(function(){r.inputVideo.requestVideoFrameCallback(function(){return r.gatherByCallback()})}
3827,0);case 6:case"end":return t.stop()}},t,this)}),t=function(){var t=this,n=arguments;return new Promise(function(i,o){var a=r.apply(t,n);function s(t){Z(a,i,o,s,u,"next",t)}function u(t){Z(a,i,o,s,u,"throw",t)}s(void 0)})},function(){return t.apply(this,arguments)})},{key:"stopTimers",value:function(){var t,r;if((t=this,"function"==typeof(r=Q(ee(i.prototype),"stopTimers",t))?function(n){return r.apply(t,n)}:r)([]),this.requestVideoFrameID)try{this.inputVideo.cancelVideoFrameCallback(this.requestVideoFrameID),this.requestVideoFrameID=0}catch(t){}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=X(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=X(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==X(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function en(t){return(en="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ei={transform:Y,videocallback:er,animationcallback:U},eo=(ep=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},ey=[{key:"getStreamProcessor",value:function(t,r){return new ei[t](r)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=en(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=en(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==en(r)?r:r+""}(i.key),i)}}(ep,ey),Object.defineProperty(ep,"prototype",{writable:!1}),ep);function ea(t){return(ea="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function es(){es=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==ea(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(ea(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
3827h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function eu(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function el(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){eu(a,i,o,s,u,"next",t)}function u(t){eu(a,i,o,s,u,"throw",t)}s(void 0)})}}var eh,ec,ef,ed,ep,ey,em,eg,ev,eb,ew,ex,e_,eT,eS,eE,eO,eA,eI,eP,ek,eC,e$,eR,eD,eM,eL,eB,eN,eF,eU,ej,ez,eG,eV,eW,eH,eq,eY,eX,eK=(eg=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.queue=[],this.isExecuting=!1},ev=[{key:"enqueue",value:function(t){var r=this;return new Promise(function(n,i){var o,a=(o=el(es().mark(function r(){return es().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,t();case 3:n(r.sent),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),i(r.t0);case 10:case"end":return r.stop()}},r,null,[[0,7]])})),function(){return o.apply(this,arguments)});r.queue.push(a),r.processQueue()})}},{key:"processQueue",value:(em=el(es().mark(function t(){var r;return es().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.isExecuting){t.next=2;break}return t.abrupt("return");case 2:this.isExecuting=!0;case 3:if(!(this.queue.length>0)){t.next=10;break}if(!(r=this.queue.shift())){t.next=8;break}return t.next=8,r();case 8:t.next=3;break;case 10:this.isExecuting=!1;case 11:case"end":return t.stop()}},t,this)})),function(){return em.apply(this,arguments)})}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ea(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ea(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ea(r)?r:r+""}(i.key),i)}}(eg.prototype,ev),Object.defineProperty(eg,"prototype",{writable:!1}),eg),eZ=a(7734),eJ=a(5606),eQ=a(8287).hp,e1=Object.defineProperty,e0=Object.getOwnPropertyDescriptor,e3=Object.getOwnPropertyNames,e6=Object.prototype.hasOwnProperty,e5=(t,r)=>()=>(t&&(r=t(t=0)),r),e9=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),e2=(t,r)=>{for(var n in r)e1(t,n,{get:r[n],enumerable:!0})},e7=t=>((t,r,n,i)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let o of e3(r))e6.call(t,o)||o===n||e1(t,o,{get:()=>r[o],enumerable:!(i=e0(r,o))||i.enumerable});return t})(e1({},"__esModule",{value:!0}),t),e8=e5(()=>{eb=new Map,ew=[],ex=(t,r,n)=>{if(!r||"function"!=typeof r.init||"function"!=typeof r.createInferenceSessionHandler)throw TypeError("not a valid backend");{let i=eb.get(t);if(void 0===i)eb.set(t,{backend:r,priority:n});else{if(i.priority>n)return;if(i.priority===n&&i.backend!==r)throw Error(`cannot register backend "${t}" using priority ${n}`)}if(n>=0){let r=ew.indexOf(t);-1!==r&&ew.splice(r,1);for(let r=0;r<ew.length;r++)if(eb.get(ew[r]).priority<=n)return void ew.splice(r,0,t);ew.push(t)}}},e_=async t=>{let r=0===t.length?ew:t,n=[];for(let t of r){let r=eb.get(t);if(r){if(r.initialized)return r.backend;if(r.aborted)continue;let i=!!r.initPromise;
3827try{return i||(r.initPromise=r.backend.init(t)),await r.initPromise,r.initialized=!0,r.backend}catch(o){i||n.push({name:t,err:o}),r.aborted=!0}finally{delete r.initPromise}}}throw Error(`no available backend found. ERR: ${n.map(t=>`[${t.name}] ${t.err}`).join(", ")}`)}}),e4=e5(()=>{e8()}),te=e5(()=>{eT="1.17.0"}),tt=e5(()=>{te(),eS="warning",Object.defineProperty(eE={wasm:{},webgl:{},webgpu:{},versions:{common:eT},set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw Error(`Unsupported logging level: ${e}`);eS=e}},get logLevel(){return eS}},"logLevel",{enumerable:!0})}),tr=e5(()=>{tt(),eO=eE}),tn=e5(()=>{eA=(t,r)=>{let n="u">typeof document?document.createElement("canvas"):new OffscreenCanvas(1,1);n.width=t.dims[3],n.height=t.dims[2];let i=n.getContext("2d");if(null!=i){let o,a;void 0!==r?.tensorLayout&&"NHWC"===r.tensorLayout?(o=t.dims[2],a=t.dims[3]):(o=t.dims[3],a=t.dims[2]);let s,u,l=void 0!==r?.format?r.format:"RGB",h=r?.norm;void 0===h||void 0===h.mean?s=[255,255,255,255]:"number"==typeof h.mean?s=[h.mean,h.mean,h.mean,h.mean]:(s=[h.mean[0],h.mean[1],h.mean[2],0],void 0!==h.mean[3]&&(s[3]=h.mean[3])),void 0===h||void 0===h.bias?u=[0,0,0,0]:"number"==typeof h.bias?u=[h.bias,h.bias,h.bias,h.bias]:(u=[h.bias[0],h.bias[1],h.bias[2],0],void 0!==h.bias[3]&&(u[3]=h.bias[3]));let c=a*o,f=0,d=c,p=2*c,y=-1;"RGBA"===l?(f=0,d=c,p=2*c,y=3*c):"RGB"===l?(f=0,d=c,p=2*c):"RBG"===l&&(f=0,p=c,d=2*c);for(let r=0;r<a;r++)for(let n=0;n<o;n++)i.fillStyle="rgba("+(t.data[f++]-u[0])*s[0]+","+(t.data[d++]-u[1])*s[1]+","+(t.data[p++]-u[2])*s[2]+","+(-1===y?255:(t.data[y++]-u[3])*s[3])+")",i.fillRect(n,r,1,1);if("toDataURL"in n)return n.toDataURL();throw Error("toDataURL is not supported")}throw Error("Can not access image data")},eI=(t,r)=>{let n,i="u">typeof document?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(null==i)throw Error("Can not access image data");{let o,a,s;void 0!==r?.tensorLayout&&"NHWC"===r.tensorLayout?(o=t.dims[2],a=t.dims[1],s=t.dims[3]):(o=t.dims[3],a=t.dims[2],s=t.dims[1]);let u,l,h=void 0!==r&&void 0!==r.format?r.format:"RGB",c=r?.norm;void 0===c||void 0===c.mean?u=[255,255,255,255]:"number"==typeof c.mean?u=[c.mean,c.mean,c.mean,c.mean]:(u=[c.mean[0],c.mean[1],c.mean[2],255],void 0!==c.mean[3]&&(u[3]=c.mean[3])),void 0===c||void 0===c.bias?l=[0,0,0,0]:"number"==typeof c.bias?l=[c.bias,c.bias,c.bias,c.bias]:(l=[c.bias[0],c.bias[1],c.bias[2],0],void 0!==c.bias[3]&&(l[3]=c.bias[3]));let f=a*o;if(void 0!==r&&(void 0!==r.format&&4===s&&"RGBA"!==r.format||3===s&&"RGB"!==r.format&&"BGR"!==r.format))throw Error("Tensor format doesn't match input tensor dims");let d=0,p=1,y=2,m=3,g=0,v=f,b=2*f,w=-1;"RGBA"===h?(g=0,v=f,b=2*f,w=3*f):"RGB"===h?(g=0,v=f,b=2*f):"RBG"===h&&(g=0,b=f,v=2*f),n=i.createImageData(o,a);for(let r=0;r<a*o;d+=4,p+=4,y+=4,m+=4,r++)n.data[d]=(t.data[g++]-l[0])*u[0],n.data[p]=(t.data[v++]-l[1])*u[1],n.data[y]=(t.data[b++]-l[2])*u[2],n.data[m]=-1===w?255:(t.data[w++]-l[3])*u[3]}return n}}),ti=e5(()=>{ts(),eP=(t,r)=>{if(void 0===t)throw Error("Image buffer must be defined");if(void 0===r.height||void 0===r.width)throw Error("Image height and width must be defined");if("NHWC"===r.tensorLayout)throw Error("NHWC Tensor layout is not supported yet");let n,i,{height:o,width:a}=r,s=r.norm??{mean:255,bias:0};n="number"==typeof s.mean?[s.mean,s.mean,s.mean,s.mean]:[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],i="number"==typeof s.bias?[s.bias,s.bias,s.bias,s.bias]:[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let u=void 0!==r.format?r.format:"RGBA",l=void 0!==r.tensorFormat&&void 0!==r.tensorFormat?r.tensorFormat:"RGB",h=o*a,c=new Float32Array("RGBA"===l?4*h:3*h),f=4,d=0,p=1,y=2,m=3,g=0,v=h,b=2*h,w=-1;"RGB"===u&&(f=3,d=0,p=1,y=2,m=-1),"RGBA"===l?w=3*h:"RBG"===l?(g=0,b=h,v=2*h):"BGR"===l&&(b=0,v=h,g=2*h);for(let r=0;r<h;r++,d+=f,y+=f,p+=f,m+=f)c[g++]=(t[d]+i[0])/n[0],c[v++]=(t[p]+i[1])/n[1],c[b++]=(t[y]+i[2])/n[2],-1!==w&&-1!==m&&(c[w++]=(t[m]+i[3])/n[3]);return new eU("float32",c,"RGBA"===l?[1,4,o,a]:[1,3,o,a])},ek=async(t,r)=>{let n,i="u">typeof HTMLImageElement&&t instanceof HTMLImageElement,o="u">typeof ImageData&&t instanceof ImageData,a="u">typeof ImageBitmap&&t instanceof ImageBitmap,s="string"==typeof t,u=r??{},l=()=>{if("u">typeof document)return document.createElement("canvas");if("u">typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw Error("Canvas is not supported")},h=t=>t instanceof HTMLCanvasElement||t instanceof OffscreenCanvas?t.getContext("2d"):null;if(i){let i=l();i.width=t.width,i.height=t.height;let o=h(i);if(null==o)throw Error("Can not access image data");{let i=t.height,a=t.width;if(void 0!==r&&void 0!==r.resizedHeight&&void 0!==r.resizedWidth&&(i=r.resizedHeight,a=r.resizedWidth),void 0!==r){if(u=r,void 0!==r.tensorFormat)throw Error("Image input config format must be RGBA for HTMLImageElement");
3827u.tensorFormat="RGBA",u.height=i,u.width=a}else u.tensorFormat="RGBA",u.height=i,u.width=a;o.drawImage(t,0,0),n=o.getImageData(0,0,a,i).data}}else{if(!o){if(a){if(void 0===r)throw Error("Please provide image config with format for Imagebitmap");let i=l();i.width=t.width,i.height=t.height;let o=h(i);if(null!=o){let r=t.height,i=t.width;return o.drawImage(t,0,0,i,r),n=o.getImageData(0,0,i,r).data,u.height=r,u.width=i,eP(n,u)}throw Error("Can not access image data")}if(s)return new Promise((r,n)=>{let i=l(),o=h(i);if(!t||!o)return n();let a=new Image;a.crossOrigin="Anonymous",a.src=t,a.onload=()=>{i.width=a.width,i.height=a.height,o.drawImage(a,0,0,i.width,i.height);let t=o.getImageData(0,0,i.width,i.height);u.height=i.height,u.width=i.width,r(eP(t.data,u))}});throw Error("Input data provided is not supported - aborted tensor creation")}{let i,o;if(void 0!==r&&void 0!==r.resizedWidth&&void 0!==r.resizedHeight?(i=r.resizedHeight,o=r.resizedWidth):(i=t.height,o=t.width),void 0!==r&&(u=r),u.format="RGBA",u.height=i,u.width=o,void 0!==r){let r=l();r.width=o,r.height=i;let a=h(r);if(null==a)throw Error("Can not access image data");a.putImageData(t,0,0),n=a.getImageData(0,0,o,i).data}else n=t.data}}if(void 0!==n)return eP(n,u);throw Error("Input data provided is not supported - aborted tensor creation")},eC=(t,r)=>{let{width:n,height:i,download:o,dispose:a}=r;return new eU({location:"texture",type:"float32",texture:t,dims:[1,i,n,4],download:o,dispose:a})},e$=(t,r)=>{let{dataType:n,dims:i,download:o,dispose:a}=r;return new eU({location:"gpu-buffer",type:n??"float32",gpuBuffer:t,dims:i,download:o,dispose:a})},eR=(t,r,n)=>new eU({location:"cpu-pinned",type:t,data:r,dims:n??[r.length]})}),to=e5(()=>{eD=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["float16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),eM=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),eL=!1,eB=()=>{if(!eL){eL=!0;let t="u">typeof BigInt64Array&&"function"==typeof BigInt64Array.from,r="u">typeof BigUint64Array&&"function"==typeof BigUint64Array.from;t&&(eD.set("int64",BigInt64Array),eM.set(BigInt64Array,"int64")),r&&(eD.set("uint64",BigUint64Array),eM.set(BigUint64Array,"uint64"))}}}),ta=e5(()=>{ts(),eN=t=>{let r=1;for(let n=0;n<t.length;n++){let i=t[n];if("number"!=typeof i||!Number.isSafeInteger(i))throw TypeError(`dims[${n}] must be an integer, got: ${i}`);if(i<0)throw RangeError(`dims[${n}] must be a non-negative integer, got: ${i}`);r*=i}return r},eF=(t,r)=>{switch(t.location){case"cpu":return new eU(t.type,t.data,r);case"cpu-pinned":return new eU({location:"cpu-pinned",data:t.data,type:t.type,dims:r});case"texture":return new eU({location:"texture",texture:t.texture,type:t.type,dims:r});case"gpu-buffer":return new eU({location:"gpu-buffer",gpuBuffer:t.gpuBuffer,type:t.type,dims:r});default:throw Error(`tensorReshape: tensor location ${t.location} is not supported`)}}}),ts=e5(()=>{tn(),ti(),to(),ta(),eU=class{constructor(t,r,n){let i,o;if(eB(),"object"==typeof t&&"location"in t)switch(this.dataLocation=t.location,i=t.type,o=t.dims,t.location){case"cpu-pinned":{let r=eD.get(i);if(!r)throw TypeError(`unsupported type "${i}" to create tensor from pinned buffer`);if(!(t.data instanceof r))throw TypeError(`buffer should be of type ${r.name}`);this.cpuData=t.data;break}case"texture":if("float32"!==i)throw TypeError(`unsupported type "${i}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break;case"gpu-buffer":if("float32"!==i&&"float16"!==i&&"int32"!==i&&"int64"!==i&&"uint32"!==i&&"bool"!==i)throw TypeError(`unsupported type "${i}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,s;if("string"==typeof t)if(i=t,s=n,"string"===t){if(!Array.isArray(r))throw TypeError("A string tensor's data must be a string array.");a=r}else{let n=eD.get(t);if(void 0===n)throw TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if("float16"===t)throw TypeError("Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.");a="uint64"===t||"int64"===t?n.from(r,BigInt):n.from(r)}else{if(!(r instanceof n))throw TypeError(`A ${i} tensor's data must be type of ${n}`);a=r}}else if(s=r,Array.isArray(t)){if(0===t.length)throw TypeError("Tensor type cannot be inferred from an empty array.");let r=typeof t[0];
3827if("string"===r)i="string",a=t;else{if("boolean"!==r)throw TypeError(`Invalid element type of data array: ${r}.`);i="bool",a=Uint8Array.from(t)}}else{let r=eM.get(t.constructor);if(void 0===r)throw TypeError(`Unsupported type for tensor data: ${t.constructor}.`);i=r,a=t}if(void 0===s)s=[a.length];else if(!Array.isArray(s))throw TypeError("A tensor's dims must be a number array");o=s,this.cpuData=a,this.dataLocation="cpu"}let a=eN(o);if(this.cpuData&&a!==this.cpuData.length)throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=i,this.dims=o,this.size=a}static async fromImage(t,r){return ek(t,r)}static fromTexture(t,r){return eC(t,r)}static fromGpuBuffer(t,r){return e$(t,r)}static fromPinnedBuffer(t,r,n){return eR(t,r,n)}toDataURL(t){return eA(this,t)}toImageData(t){return eI(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":if(!this.downloader)throw Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if("none"===this.dataLocation)throw Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw Error("Cannot reshape a tensor that owns GPU resource.");return eF(this,t)}}}),tu=e5(()=>{ts(),ej=eU}),tl=e5(()=>{tt(),ez=(t,r)=>{eE.wasm.trace&&console.timeStamp(`${t}::ORT::${r}`)},eG=(t,r)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],i=!1;for(let o=0;o<n.length;o++){if(i&&!n[o].includes("TRACE_FUNC")){let i=`FUNC_${t}::${n[o].trim().split(" ")[1]}`;return r&&(i+=`::${r}`),void ez("CPU",i)}n[o].includes("TRACE_FUNC")&&(i=!0)}},eV=t=>{eE.wasm.trace&&eG("BEGIN",t)},eW=t=>{eE.wasm.trace&&eG("END",t)}}),th=e5(()=>{e8(),tu(),tl(),eH=class t{constructor(t){this.handler=t}async run(t,r,n){eV();let i={},o={};if("object"!=typeof t||null===t||t instanceof ej||Array.isArray(t))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let a=!0;if("object"==typeof r){if(null===r)throw TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof ej)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(0===r.length)throw TypeError("'fetches' cannot be an empty array.");for(let t of(a=!1,r)){if("string"!=typeof t)throw TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(t))throw RangeError(`'fetches' contains invalid output name: ${t}.`);i[t]=null}if("object"==typeof n&&null!==n)o=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else{let t=!1,s=Object.getOwnPropertyNames(r);for(let n of this.outputNames)if(-1!==s.indexOf(n)){let o=r[n];(null===o||o instanceof ej)&&(t=!0,a=!1,i[n]=o)}if(t){if("object"==typeof n&&null!==n)o=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else o=r}}else if("u">typeof r)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let r of this.inputNames)if(typeof t[r]>"u")throw Error(`input '${r}' is missing in 'feeds'.`);if(a)for(let t of this.outputNames)i[t]=null;let s=await this.handler.run(t,i,o),u={};for(let t in s)if(Object.hasOwnProperty.call(s,t)){let r=s[t];u[t]=r instanceof ej?r:new ej(r.type,r.data,r.dims)}return eW(),u}async release(){return this.handler.dispose()}async configure(t){return await this.handler.configure(t)}async auth(t){return await this.handler.auth(t)}static async create(r,n,i,o){eV();let a,s={};if("string"==typeof r){if(a=r,"object"==typeof n&&null!==n)s=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else if(r instanceof Uint8Array){if(a=r,"object"==typeof n&&null!==n)s=n;else if("u">typeof n)throw TypeError("'options' must be an object.")}else{if(!(r instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&r instanceof SharedArrayBuffer))throw TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let t=0,u=r.byteLength;if("object"==typeof n&&null!==n)s=n;else if("number"==typeof n){if(!Number.isSafeInteger(t=n))throw RangeError("'byteOffset' must be an integer.");if(t<0||t>=r.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${r.byteLength}).`);if(u=r.byteLength-t,"number"==typeof i){if(!Number.isSafeInteger(u=i))throw RangeError("'byteLength' must be an integer.");if(u<=0||t+u>r.byteLength)throw RangeError(`'byteLength' is out of range (0, ${r.byteLength-t}].`);if("object"==typeof o&&null!==o)s=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else if("u">typeof i)throw TypeError("'byteLength' must be a number.")}else if("u">typeof n)throw TypeError("'options' must be an object.");a=new Uint8Array(r,t,u)}}let u=(s.executionProviders||[]).map(t=>"string"==typeof t?t:t.name),l=await (await e_(u)).createInferenceSessionHandler(a,s);return eW(),new t(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}
3827get outputNames(){return this.handler.outputNames}}}),tc=e5(()=>{th(),eq=eH}),tf=e5(()=>{}),td=e5(()=>{e8(),tu(),eY=class t{constructor(t,r,n){this.handler=t,this.hasOptimizerModel=r,this.hasEvalModel=n}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw Error("This training session has no evalModel loaded.")}static async create(r,n){let i=r.evalModel||"",o=r.optimizerModel||"",a=n||{},s=(a.executionProviders||[]).map(t=>"string"==typeof t?t:t.name),u=await e_(s);if(u.createTrainingSessionHandler)return new t(await u.createTrainingSessionHandler(r.checkpointState,r.trainModel,i,o,a),!!r.optimizerModel,!!r.evalModel);throw Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(t,r,n,i,o){let a={},s={};if("object"!=typeof n||null===n||n instanceof ej||Array.isArray(n))throw TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let u=!0;if("object"==typeof i){if(null===i)throw TypeError("Unexpected argument[1]: cannot be null.");if(i instanceof ej)throw TypeError("'fetches' cannot be a Tensor");if(Array.isArray(i)){if(0===i.length)throw TypeError("'fetches' cannot be an empty array.");for(let t of(u=!1,i)){if("string"!=typeof t)throw TypeError("'fetches' must be a string array or an object.");if(-1===r.indexOf(t))throw RangeError(`'fetches' contains invalid output name: ${t}.`);a[t]=null}if("object"==typeof o&&null!==o)s=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else{let t=!1,n=Object.getOwnPropertyNames(i);for(let o of r)if(-1!==n.indexOf(o)){let r=i[o];(null===r||r instanceof ej)&&(t=!0,u=!1,a[o]=r)}if(t){if("object"==typeof o&&null!==o)s=o;else if("u">typeof o)throw TypeError("'options' must be an object.")}else s=i}}else if("u">typeof i)throw TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let r of t)if(typeof n[r]>"u")throw Error(`input '${r}' is missing in 'feeds'.`);if(u)for(let t of r)a[t]=null;return[a,s]}convertHandlerReturnTypeToMapOfTensors(t){let r={};for(let n in t)if(Object.hasOwnProperty.call(t,n)){let i=t[n];r[n]=i instanceof ej?i:new ej(i.type,i.data,i.dims)}return r}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(t,r,n){let[i,o]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,t,r,n),a=await this.handler.runTrainStep(t,i,o);return this.convertHandlerReturnTypeToMapOfTensors(a)}async runOptimizerStep(t){if(!this.hasOptimizerModel)throw Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(t||{})}async runEvalStep(t,r,n){if(this.hasEvalModel){let[i,o]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,t,r,n),a=await this.handler.runEvalStep(t,i,o);return this.convertHandlerReturnTypeToMapOfTensors(a)}throw Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(){let t=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.handler.getParametersSize(t)}async loadParametersBuffer(t){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=await this.getParametersSize(r);if(t.length!==4*n)throw Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(t,r)}async getContiguousParameters(){let t=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.handler.getContiguousParameters(t)}async release(){return this.handler.dispose()}}}),tp=e5(()=>{td(),eX=eY});e2({},{InferenceSession:()=>eq,TRACE:()=>ez,TRACE_FUNC_BEGIN:()=>eV,TRACE_FUNC_END:()=>eW,Tensor:()=>ej,TrainingSession:()=>eX,env:()=>eO,registerBackend:()=>ex});var ty=e5(()=>{e4(),tr(),tc(),tu(),tl(),tf(),tp()}),tm={};e2(tm,{createReadStream:()=>tb,readFile:()=>tg,readFileSync:()=>tv});var tg,tv,tb,tw=e5(()=>{tg=void 0,tv=void 0,tb=void 0}),tx={};e2(tx,{join:()=>t_});var t_,tT=e5(()=>{t_=void 0}),tS={};e2(tS,{crypto:()=>tE});var tE,tO=e5(()=>{tE=void 0}),tA=e9((t,r)=>{var n,i=(n="u">typeof document&&document.currentScript?document.currentScript.src:void 0,"u">typeof __filename&&(n=n||__filename),function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.ready=new Promise((t,n)=>{r=t,i=n}),t.mountExternalData=(r,n)=>{(t.Ka||(t.Ka=new Map)).set(r,n)},t.unmountExternalData=()=>{delete t.Ka},t.jsepInit=(r,n,i,o,a,s,u,l,h,c,f)=>{t.jb=r,t.Wa=n,t.$a=i,t.Qa=o,t.Za=a,t.Ba=s,t.ab=u,t.cb=l,t.Xa=h,t.Ya=c,t.bb=f,n=(t,r,n)=>function(){for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];let s=ep,u=r?.();o=t(...o);let l=r?.();return u!==l&&(t=l,n(u),r=n=null),ep!=s?new Promise((t,r)=>{ew={resolve:t,reject:r}}):o},i=n=>async function(){try{if(t.Ja)throw Error("Session already started");let i=t.Ja={eb:arguments.length<=0?void 0:arguments[0],errors:[]},o=await n(...arguments);if(t.Ja!==i)throw Error("Session mismatch");r.flush();let a=i.errors;if(0<a.length){let t=await Promise.all(a);if(t=t.filter(t=>t),0<t.length)throw Error(t.join(`
3828`))}return o}finally{t.Ja=null}},t._OrtRun=i(n(t._OrtRun,()=>t._OrtRun,r=>t._OrtRun=r)),t._OrtRunWithBinding=i(n(t._OrtRunWithBinding,()=>t._OrtRunWithBinding,r=>t._OrtRunWithBinding=r)),t._OrtBindInput=n(t._OrtBindInput,()=>t._OrtBindInput,r=>t._OrtBindInput=r),t.jsepRegisterBuffer=(t,n,i,o)=>r.registerBuffer(t,n,i,o),t.jsepGetBuffer=t=>r.getBuffer(t),t.jsepCreateDownloader=(t,n,i)=>r.createDownloader(t,n,i),t.jsepOnReleaseSession=t=>{r.onReleaseSession(t)},t.jsepOnRunStart=t=>r.onRunStart(t)};var r,i,o,a,s,u=Object.assign({},t),l="./this.program",h=(t,r)=>{throw r},c="object"==typeof window,f="function"==typeof importScripts,d="object"==typeof eJ&&"object"==typeof eJ.versions&&"string"==typeof eJ.versions.node,p="";if(d){var y=(tw(),e7(tm)),m=(tT(),e7(tx));p=f?m.dirname(p)+"/":__dirname+"/",o=(t,r)=>(t=B(t)?new URL(t):m.normalize(t),y.readFileSync(t,r?void 0:"utf8")),s=t=>((t=o(t,!0)).buffer||(t=new Uint8Array(t)),t),a=function(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];t=B(t)?new URL(t):m.normalize(t),y.readFile(t,i?void 0:"utf8",(t,o)=>{t?n(t):r(i?o.buffer:o)})},!t.thisProgram&&1<eJ.argv.length&&(l=eJ.argv[1].replace(/\\/g,"/")),eJ.argv.slice(2),h=(t,r)=>{throw eJ.exitCode=t,r},t.inspect=()=>"[Emscripten Module object]"}else(c||f)&&(f?p=self.location.href:"u">typeof document&&document.currentScript&&(p=document.currentScript.src),n&&(p=n),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},f&&(s=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(t,r,n)=>{var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?r(i.response):n()},i.onerror=n,i.send(null)});var g=console.log.bind(console),v=console.error.bind(console);
3828Object.assign(t,u),u=null,"object"!=typeof WebAssembly&&M("no native wasm support detected");var b,w,x,_,T,S,E,O,A=!1;function I(){var r=b.buffer;t.HEAP8=x=new Int8Array(r),t.HEAP16=new Int16Array(r),t.HEAPU8=_=new Uint8Array(r),t.HEAPU16=new Uint16Array(r),t.HEAP32=T=new Int32Array(r),t.HEAPU32=S=new Uint32Array(r),t.HEAPF32=E=new Float32Array(r),t.HEAPF64=O=new Float64Array(r)}var P=[],k=[],C=[],$=0,R=null,D=null;function M(t){throw v(t="Aborted("+t+")"),A=!0,w=1,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),i(t),t}var L,B=t=>t.startsWith("file://");if(!(L="ort-wasm-simd.wasm").startsWith("data:application/octet-stream;base64,")){var N=L;L=t.locateFile?t.locateFile(N,p):p+N}function F(t){if(s)return s(t);throw"both async and sync fetching of the wasm failed"}function U(t,r,n){return(function(t){if(c||f){if("function"==typeof fetch&&!B(t))return fetch(t,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at '"+t+"'";return r.arrayBuffer()}).catch(()=>F(t));if(a)return new Promise((r,n)=>{a(t,t=>r(new Uint8Array(t)),n)})}return Promise.resolve().then(()=>F(t))})(t).then(t=>WebAssembly.instantiate(t,r)).then(t=>t).then(n,t=>{v(`failed to asynchronously prepare wasm: ${t}`),M(t)})}var j,z={898320:(r,n,i,o)=>{if(typeof t>"u"||!t.Ka)return 1;if((r=Y(r>>>0)).startsWith("./")&&(r=r.substring(2)),!(r=t.Ka.get(r)))return 2;if((n>>>=0)+(i>>>=0)>r.byteLength)return 3;try{return _.set(r.subarray(n,n+i),o>>>0>>>0),0}catch{return 4}},898821:()=>{t.Xa()},898852:()=>{t.Ya()},898881:()=>{t.bb()},898906:r=>t.Wa(r),898939:r=>t.$a(r),898971:(r,n,i)=>{t.Qa(r,n,i,!0)},899010:(r,n,i)=>{t.Qa(r,n,i)},899043:r=>{t.Ba("Abs",r,void 0)},899094:r=>{t.Ba("Neg",r,void 0)},899145:r=>{t.Ba("Floor",r,void 0)},899198:r=>{t.Ba("Ceil",r,void 0)},899250:r=>{t.Ba("Reciprocal",r,void 0)},899308:r=>{t.Ba("Sqrt",r,void 0)},899360:r=>{t.Ba("Exp",r,void 0)},899411:r=>{t.Ba("Erf",r,void 0)},899462:r=>{t.Ba("Sigmoid",r,void 0)},899517:r=>{t.Ba("Log",r,void 0)},899568:r=>{t.Ba("Sin",r,void 0)},899619:r=>{t.Ba("Cos",r,void 0)},899670:r=>{t.Ba("Tan",r,void 0)},899721:r=>{t.Ba("Asin",r,void 0)},899773:r=>{t.Ba("Acos",r,void 0)},899825:r=>{t.Ba("Atan",r,void 0)},899877:r=>{t.Ba("Sinh",r,void 0)},899929:r=>{t.Ba("Cosh",r,void 0)},899981:r=>{t.Ba("Asinh",r,void 0)},900034:r=>{t.Ba("Acosh",r,void 0)},900087:r=>{t.Ba("Atanh",r,void 0)},900140:r=>{t.Ba("Tanh",r,void 0)},900192:r=>{t.Ba("Not",r,void 0)},900243:(r,n,i)=>{t.Ba("Clip",r,{min:n,max:i})},900312:r=>{t.Ba("Clip",r,void 0)},900364:(r,n)=>{t.Ba("Elu",r,{alpha:n})},900422:r=>{t.Ba("Relu",r,void 0)},900474:(r,n)=>{t.Ba("LeakyRelu",r,{alpha:n})},900538:(r,n)=>{t.Ba("ThresholdedRelu",r,{alpha:n})},900608:(r,n)=>{t.Ba("Cast",r,{to:n})},900666:r=>{t.Ba("Add",r,void 0)},900717:r=>{t.Ba("Sub",r,void 0)},900768:r=>{t.Ba("Mul",r,void 0)},900819:r=>{t.Ba("Div",r,void 0)},900870:r=>{t.Ba("Pow",r,void 0)},900921:r=>{t.Ba("Equal",r,void 0)},900974:r=>{t.Ba("Greater",r,void 0)},901029:r=>{t.Ba("GreaterOrEqual",r,void 0)},901091:r=>{t.Ba("Less",r,void 0)},901143:r=>{t.Ba("LessOrEqual",r,void 0)},901202:(r,n,i,o,a)=>{t.Ba("ReduceMean",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},901361:(r,n,i,o,a)=>{t.Ba("ReduceMax",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},901519:(r,n,i,o,a)=>{t.Ba("ReduceMin",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},901677:(r,n,i,o,a)=>{t.Ba("ReduceProd",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},901836:(r,n,i,o,a)=>{t.Ba("ReduceSum",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},901994:(r,n,i,o,a)=>{t.Ba("ReduceL1",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},902151:(r,n,i,o,a)=>{t.Ba("ReduceL2",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},902308:(r,n,i,o,a)=>{t.Ba("ReduceLogSum",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},902469:(r,n,i,o,a)=>{t.Ba("ReduceSumSquare",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},902633:(r,n,i,o,a)=>{t.Ba("ReduceLogSumExp",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},902797:r=>{t.Ba("Where",r,void 0)},902850:(r,n,i)=>{t.Ba("Transpose",r,{perm:n?Array.from(T.subarray(n>>>0,i>>>0)):[]})},902958:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m)=>{t.Ba("ConvTranspose",r,{format:h?"NHWC":"NCHW",autoPad:n,dilations:[i],group:o,kernel_shape:[a],pads:[s,u],strides:[l],wIsConst:()=>!!x[c>>>0],outputPadding:f?Array.from(T.subarray(f>>>0,d>>>0)):[],outputShape:p?Array.from(T.subarray(p>>>0,y>>>0)):[],activation:Y(m)})},903360:(r,n,i,o,a,s,u,l,h,c,f,d,p,y)=>{t.Ba("ConvTranspose",r,{format:l?"NHWC":"NCHW",autoPad:n,dilations:Array.from(T.subarray(i>>>0,2+(i>>>0)>>>0)),group:o,kernelShape:Array.from(T.subarray(a>>>0,2+(a>>>0)>>>0)),pads:Array.from(T.subarray(s>>>0,4+(s>>>0)>>>0)),strides:Array.from(T.subarray(u>>>0,2+(u>>>0)>>>0)),wIsConst:()=>!!x[h>>>0],outputPadding:c?Array.from(T.subarray(c>>>0,f>>>0)):[],outputShape:d?Array.from(T.subarray(d>>>0,p>>>0)):[],activation:Y(y)})},903925:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m)=>{t.Ba("ConvTranspose",r,{format:h?"NHWC":"NCHW",autoPad:n,dilations:[i],group:o,kernel_shape:[a],pads:[s,u],strides:[l],wIsConst:()=>!!x[c>>>0],outputPadding:f?Array.from(T.subarray(f>>>0,d>>>0)):[],outputShape:p?Array.from(T.subarray(p>>>0,y>>>0)):[],activation:Y(m)})},904327:(r,n,i,o,a,s,u,l,h,c,f,d,p,y)=>{t.Ba("ConvTranspose",r,{format:l?"NHWC":"NCHW",autoPad:n,dilations:Array.from(T.subarray(i>>>0,2+(i>>>0)>>>0)),group:o,kernelShape:Array.from(T.subarray(a>>>0,2+(a>>>0)>>>0)),pads:Array.from(T.subarray(s>>>0,4+(s>>>0)>>>0)),strides:Array.from(T.subarray(u>>>0,2+(u>>>0)>>>0)),wIsConst:()=>!!x[h>>>0],outputPadding:c?Array.from(T.subarray(c>>>0,f>>>0)):[],outputShape:d?Array.from(T.subarray(d>>>0,p>>>0)):[],activation:Y(y)})},904892:(r,n)=>{t.Ba("GlobalAveragePool",r,{format:n?"NHWC":"NCHW"})},904983:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ba("AveragePool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},905267:(r,n)=>{t.Ba("GlobalAveragePool",r,{format:n?"NHWC":"NCHW"})},905358:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ba("AveragePool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},905642:(r,n)=>{t.Ba("GlobalMaxPool",r,{format:n?"NHWC":"NCHW"})},905729:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ba("MaxPool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},906009:(r,n)=>{t.Ba("GlobalMaxPool",r,{format:n?"NHWC":"NCHW"})},906096:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ba("MaxPool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},906376:(r,n,i,o,a)=>{t.Ba("Gemm",r,{alpha:n,beta:i,transA:o,transB:a})},906480:r=>{t.Ba("MatMul",r,void 0)},906534:(r,n,i,o)=>{t.Ba("ArgMax",r,{keepDims:!!n,selectLastIndex:!!i,axis:o})},906642:(r,n,i,o)=>{t.Ba("ArgMin",r,{keepDims:!!n,selectLastIndex:!!i,axis:o})},906750:(r,n)=>{t.Ba("Softmax",r,{axis:n})},906813:(r,n)=>{t.Ba("Concat",r,{axis:n})},906873:(r,n,i,o,a)=>{t.Ba("Split",r,{axis:n,numOutputs:i,splitSizes:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},907013:r=>{t.Ba("Expand",r,void 0)},907067:(r,n)=>{t.Ba("Gather",r,{axis:Number(n)})},907138:(r,n)=>{t.Ba("GatherElements",r,{axis:Number(n)})},907217:(r,n,i,o,a,s,u,l,h,c,f)=>{t.Ba("Resize",r,{antialias:n,axes:i?Array.from(T.subarray(i>>>0,o>>>0)):[],coordinateTransformMode:Y(a),cubicCoeffA:s,excludeOutside:u,extrapolationValue:l,keepAspectRatioPolicy:Y(h),mode:Y(c),nearestMode:Y(f)})},907563:(r,n,i,o,a,s,u)=>{t.Ba("Slice",r,{starts:n?Array.from(T.subarray(n>>>0,i>>>0)):[],ends:o?Array.from(T.subarray(o>>>0,a>>>0)):[],axes:s?Array.from(T.subarray(s>>>0,u>>
3828>0)):[]})},907779:r=>{t.Ba("Tile",r,void 0)},907831:(r,n,i)=>{t.Ba("LayerNormalization",r,{axis:Number(n),epsilon:Number(i)})},907938:(r,n,i)=>{t.Ba("InstanceNormalization",r,{epsilon:n,format:i?"NHWC":"NCHW"})},908052:(r,n,i)=>{t.Ba("InstanceNormalization",r,{epsilon:n,format:i?"NHWC":"NCHW"})},908166:r=>{t.Ba("Range",r,void 0)},908219:(r,n)=>{t.Ba("Einsum",r,{equation:Y(n)})},908300:(r,n,i,o,a)=>{t.Ba("Pad",r,{mode:n,value:i,pads:o?Array.from(T.subarray(o>>>0,a>>>0)):[]})},908427:(r,n,i,o,a,s)=>{t.Ba("BatchNormalization",r,{epsilon:n,momentum:i,spatial:!!a,trainingMode:!!o,format:s?"NHWC":"NCHW"})},908596:(r,n,i,o,a,s)=>{t.Ba("BatchNormalization",r,{epsilon:n,momentum:i,spatial:!!a,trainingMode:!!o,format:s?"NHWC":"NCHW"})},908765:(r,n,i)=>{t.Ba("CumSum",r,{exclusive:Number(n),reverse:Number(i)})},908862:(r,n,i,o,a,s,u,l,h)=>{t.Ba("Attention",r,{numHeads:n,isUnidirectional:i,maskFilterValue:o,scale:a,doRotary:s,qkvHiddenSizes:u?Array.from(T.subarray(Number(l)>>>0,Number(l)+u>>>0)):[],pastPresentShareBuffer:!!h})},909134:r=>{t.Ba("Gelu",r,void 0)},909186:(r,n,i,o,a,s)=>{t.Ba("MultiHeadAttention",r,{numHeads:n,isUnidirectional:i,maskFilterValue:o,scale:a,doRotary:s})},909345:r=>{t.Ba("BiasAdd",r,void 0)},909400:r=>{t.Ba("BiasSplitGelu",r,void 0)},909461:(r,n)=>{t.Ba("SkipLayerNormalization",r,{epsilon:n})},909542:(r,n,i,o,a,s,u,l,h,c,f,d,p)=>{t.Ba("Conv",r,{format:h?"NHWC":"NCHW",auto_pad:n,dilations:[i],group:o,kernel_shape:[a],pads:s?Array.from(T.subarray(s>>>0,u>>>0)):[],strides:[l],w_is_const:()=>!!x[c>>>0],activation:Y(f),activation_params:d?Array.from(E.subarray(d>>>0,p>>>0)):[]})},909912:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ba("Conv",r,{format:d?"NHWC":"NCHW",auto_pad:n,dilations:[i,o],group:a,kernel_shape:[s,u],pads:l?Array.from(T.subarray(l>>>0,h>>>0)):[],strides:[c,f],w_is_const:()=>!!x[p>>>0],activation:Y(y),activation_params:m?Array.from(E.subarray(m>>>0,g>>>0)):[]})},910303:r=>{t.ab(r)},910337:(r,n)=>t.cb(r,n,t.Ja.eb,t.Ja.errors)};function G(t){this.name="ExitStatus",this.message=`Program terminated with exit(${t})`,this.status=t}function V(t){this.Na=t-24,this.Ua=function(t){S[this.Na+4>>>2>>>0]=t},this.Ta=function(t){S[this.Na+8>>>2>>>0]=t},this.Ra=function(t,r){this.Sa(),this.Ua(t),this.Ta(r)},this.Sa=function(){S[this.Na+16>>>2>>>0]=0}}var W,H="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(t,r,n)=>{var i=(r>>>=0)+n;for(n=r;t[n]&&!(n>=i);)++n;if(16<n-r&&t.buffer&&H)return H.decode(t.subarray(r,n));for(i="";r<n;){var o=t[r++];if(128&o){var a=63&t[r++];if(192==(224&o))i+=String.fromCharCode((31&o)<<6|a);else{var s=63&t[r++];65536>(o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&t[r++])?i+=String.fromCharCode(o):(o-=65536,i+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else i+=String.fromCharCode(o)}return i},Y=(t,r)=>(t>>>=0)?q(_,t,r):"",X=t=>{for(var r=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);127>=i?r++:2047>=i?r+=2:55296<=i&&57343>=i?(r+=4,++n):r+=3}return r},K=(t,r,n,i)=>{if(!(0<i))return 0;var o=n>>>=0;i=n+i-1;for(var a=0;a<t.length;++a){var s=t.charCodeAt(a);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a)),127>=s){if(n>=i)break;r[n++>>>0]=s}else{if(2047>=s){if(n+1>=i)break;r[n++>>>0]=192|s>>6}else{if(65535>=s){if(n+2>=i)break;r[n++>>>0]=224|s>>12}else{if(n+3>=i)break;r[n++>>>0]=240|s>>18,r[n++>>>0]=128|s>>12&63}r[n++>>>0]=128|s>>6&63}r[n++>>>0]=128|63&s}}return r[n>>>0]=0,n-o},Z=t=>t%4==0&&(t%100!=0||t%400==0),J=[0,31,60,91,121,152,182,213,244,274,305,335],Q=[0,31,59,90,120,151,181,212,243,273,304,334],ee=t=>{var r=X(t)+1,n=eP(r);return n&&K(t,_,n,r),n},et=[],er=(t,r)=>{et.length=0;for(var n;n=_[t++>>>0];){var i=105!=n;r+=(i&=112!=n)&&r%8?4:0,et.push(112==n?S[r>>>2>>>0]:105==n?T[r>>>2>>>0]:O[r>>>3>>>0]),r+=i?8:4}return et},en={},ei=()=>
3828{if(!W){var t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:l||"./this.program"};for(t in en)void 0===en[t]?delete r[t]:r[t]=en[t];var n=[];for(t in r)n.push(`${t}=${r[t]}`);W=n}return W},eo=[null,[],[]],ea=t=>(ea=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return t=>crypto.getRandomValues(t);if(d)try{var t=(tO(),e7(tS));if(t.randomFillSync)return r=>t.randomFillSync(r);var r=t.randomBytes;return t=>(t.set(r(t.byteLength)),t)}catch{}M("initRandomDevice")})())(t),es=[31,29,31,30,31,30,31,31,30,31,30,31],eu=[31,28,31,30,31,30,31,31,30,31,30,31];function el(t,r,n,i){function o(t,r,n){for(t="number"==typeof t?t.toString():t||"";t.length<r;)t=n[0]+t;return t}function a(t,r){return o(t,r,"0")}function s(t,r){var n;function i(t){return 0>t?-1:+(0<t)}return 0===(n=i(t.getFullYear()-r.getFullYear()))&&0===(n=i(t.getMonth()-r.getMonth()))&&(n=i(t.getDate()-r.getDate())),n}function u(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){var r=t.Ha;for(t=new Date(new Date(t.Ia+1900,0,1).getTime());0<r;){var n=t.getMonth(),i=(Z(t.getFullYear())?es:eu)[n];if(!(r>i-t.getDate())){t.setDate(t.getDate()+r);break}r-=i-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),r=u(new Date(t.getFullYear(),0,4)),n=u(n),0>=s(r,t)?0>=s(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}t>>>=0,r>>>=0,n>>>=0;var h,c,f=S[40+(i>>>=0)>>>2>>>0];for(var d in i={hb:T[i>>>2>>>0],gb:T[i+4>>>2>>>0],La:T[i+8>>>2>>>0],Pa:T[i+12>>>2>>>0],Ma:T[i+16>>>2>>>
38280],Ia:T[i+20>>>2>>>0],Ga:T[i+24>>>2>>>0],Ha:T[i+28>>>2>>>0],kb:T[i+32>>>2>>>0],fb:T[i+36>>>2>>>0],ib:f?Y(f):""},n=Y(n),f={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(RegExp(d,"g"),f[d]);var p="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),y="January February March April May June July August September October November December".split(" ");for(d in f={"%a":t=>p[t.Ga].substring(0,3),"%A":t=>p[t.Ga],"%b":t=>y[t.Ma].substring(0,3),"%B":t=>y[t.Ma],"%C":t=>a((t.Ia+1900)/100|0,2),"%d":t=>a(t.Pa,2),"%e":t=>o(t.Pa,2," "),"%g":t=>l(t).toString().substring(2),"%G":t=>l(t),"%H":t=>a(t.La,2),"%I":t=>(0==(t=t.La)?t=12:12<t&&(t-=12),a(t,2)),"%j":t=>{for(var r=0,n=0;n<=t.Ma-1;r+=(Z(t.Ia+1900)?es:eu)[n++]);return a(t.Pa+r,3)},"%m":t=>a(t.Ma+1,2),"%M":t=>a(t.gb,2),"%n":()=>`
3829`,"%p":t=>0<=t.La&&12>t.La?"AM":"PM","%S":t=>a(t.hb,2),"%t":()=>"	","%u":t=>t.Ga||7,"%U":t=>a(Math.floor((t.Ha+7-t.Ga)/7),2),"%V":t=>{var r=Math.floor((t.Ha+7-(t.Ga+6)%7)/7);if(2>=(t.Ga+371-t.Ha-2)%7&&r++,r)53==r&&(4==(n=(t.Ga+371-t.Ha)%7)||3==n&&Z(t.Ia)||(r=1));else{r=52;var n=(t.Ga+7-t.Ha-1)%7;(4==n||5==n&&Z(t.Ia%400-1))&&r++}return a(r,2)},"%w":t=>t.Ga,"%W":t=>a(Math.floor((t.Ha+7-(t.Ga+6)%7)/7),2),"%y":t=>(t.Ia+1900).toString().substring(2),"%Y":t=>t.Ia+1900,"%z":t=>(0<=(t=t.fb)?"+":"-")+("0000"+((t=Math.abs(t)/60)/60*100+t%60)).slice(-4),"%Z":t=>t.ib,"%%":()=>"%"},n=n.replace(/%%/g,"\0\0"),f)n.includes(d)&&(n=n.replace(RegExp(d,"g"),f[d](i)));return c=Array(X(h=n=n.replace(/\0\0/g,"%"))+1),K(h,c,0,c.length),(d=c).length>r?0:(x.set(d,t>>>0),d.length-1)}var eh,ec,ef=t=>{try{t()}catch(t){M(t)}},ed=0,ep=null,ey=0,em=[],eg={},ev={},eb=0,ew=null,ex=[],e_=[],eT=[],eS=(t,r)=>{if(!ec){ec=new WeakMap;var n=eh.length;if(ec)for(var i=0;i<0+n;i++){var o=i,a=e_[o];a||(o>=e_.length&&(e_.length=o+1),e_[o]=a=eh.get(o)),(o=a)&&ec.set(o,i)}}if(n=ec.get(t)||0)return n;if(eT.length)n=eT.pop();else{try{eh.grow(1)}catch(t){throw t instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":t}n=eh.length-1}try{i=n,eh.set(i,t),e_[i]=eh.get(i)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){i=WebAssembly.Function,o={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==r[0]?[]:[o[r[0]]]};for(var s=1;s<r.length;++s)a.parameters.push(o[r[s]]);r=new i(a,t)}else{for(i=[1],o=r.slice(0,1),r=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111},i.push(96),128>(s=r.length)?i.push(s):i.push(s%128|128,s>>7),s=0;s<r.length;++s)i.push(a[r[s]]);"v"==o?i.push(0):i.push(1,a[o]),r=[0,97,115,109,1,0,0,0,1],128>(o=i.length)?r.push(o):r.push(o%128|128,o>>7),r.push.apply(r,i),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(new Uint8Array(r)),r=new WebAssembly.Instance(r,{e:{f:t}}).exports.f}i=n,eh.set(i,r),e_[i]=eh.get(i)}return ec.set(t,n),n},eE={n:function(r,n,i){var o;return o=async()=>{await t.Za(r,n,i)},function(r){if(!A){if(0===ed){var n,i,o,a=!1,s=!1;r(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!A&&(ey=t,a=!0,s)){ed=2,ef(()=>eB(ep)),"u">typeof Browser&&Browser.Oa.Va&&Browser.Oa.resume(),t=!1;try{var r=(0,eO[ev[T[ep+8>>>2>>>0]]])()}catch(n){r=n,t=!0}var n=!1;if(!ep){var i=ew;i&&(ew=null,(t?i.reject:i.resolve)(r),n=!0)}if(t&&!n)throw r}}),s=!0,a||(ed=1,i=(n=eP(65548))+12,S[n>>>2>>>0]=i,S[n+4>>>2>>>0]=i+65536,void 0===(o=eg[i=em[0]])&&(o=eb++,eg[i]=o,ev[o]=i),T[n+8>>>2>>>0]=o,ep=n,"u">typeof Browser&&Browser.Oa.Va&&Browser.Oa.pause(),ef(()=>eM(ep)))}else 2===ed?(ed=0,ef(eN),ek(ep),ep=null,ex.forEach(r=>{if(!A)try{r();try{w=w=r=w,t.onExit?.(r),A=!0,h(r,new G(r))}catch(t){t instanceof G||"unwind"==t||h(1,t)}}catch(t){t instanceof G||"unwind"==t||h(1,t)}})):M(`invalid state: ${ed}`);return ey}}(t=>{o().then(t)})},a:function(t,r,n){throw new V(t>>>=0).Ra(r>>>0,n>>>0),t},g:function(){return 0},M:function(){},C:function(){},E:function(){},v:function(){return 0},K:function(){},F:function(){},J:function(){},m:function(){},D:function(){},A:function(){},L:function(){},B:function(){},N:()=>1,q:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),T[n>>>2>>>0]=t.getUTCSeconds(),T[n+4>>>2>>>0]=t.getUTCMinutes(),T[n+8>>>2>>>0]=t.getUTCHours(),T[n+12>>>2>>>0]=t.getUTCDate(),T[n+16>>>2>>>0]=t.getUTCMonth(),T[n+20>>>2>>>0]=t.getUTCFullYear()-1900,T[n+24>>>2>>>0]=t.getUTCDay(),T[n+28>>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},r:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),T[n>>>2>>>0]=t.getSeconds(),T[n+4>>>2>>>0]=t.getMinutes(),T[n+8>>>2>>>0]=t.getHours(),T[n+12>>>2>>>0]=t.getDate(),T[n+16>>>2>>>0]=t.getMonth(),T[n+20>>>2>>>0]=t.getFullYear()-1900,T[n+24>>>2>>>0]=t.getDay(),T[n+28>>>2>>>0]=(Z(t.getFullYear())?J:Q)[t.getMonth()]+t.getDate()-1|0,T[n+36>>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset();var i=new Date(t.getFullYear(),0,1).getTimezoneOffset();T[n+32>>>2>>>0]=0|(r!=i&&t.getTimezoneOffset()==Math.min(i,r))},s:function(t){var r=new Date(T[(t>>>=0)+20>>>2>>>0]+1900,T[t+16>>>2>>>0],T[t+12>>>2>>>0],T[t+8>>>2>>>0],T[t+4>>>2>>>0],T[t>>>2>>>0],0),n=T[t+32>>>2>>>0],i=r.getTimezoneOffset(),o=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=new Date(r.getFullYear(),0,1).getTimezoneOffset(),s=Math.min(a,o);return 0>n?T[t+32>>>2>>>0]=+(o!=a&&s==i):0<n!=(s==i)&&(o=Math.max(a,o),r.setTime(r.getTime()+6e4*((0<n?s:o)-i))),T[t+24>>>2>>>0]=r.getDay(),T[t+28>>>2>>>0]=(Z(r.getFullYear())?J:Q)[r.getMonth()]+r.getDate()-1|0,T[t>>>2>>>0]=r.getSeconds(),T[t+4>>>2>>>0]=r.getMinutes(),T[t+8>>>2>>>0]=r.getHours(),T[t+12>>>2>>>0]=r.getDate(),T[t+16>>>2>>>0]=r.getMonth(),T[t+20>>>2>>>0]=r.getYear(),isNaN(t=r.getTime())?(T[eI()>>>2>>>0]=61,t=-1):t/=1e3,eC(1<=+Math.abs(j=t)?0<j?Math.floor(j/0x100000000)>>>0:~~Math.ceil((j-(~~j>>>0))/0x100000000)>>>0:0),t>>>0},o:function(){return -52},p:function(){}
3829,y:function(t,r,n){function i(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}n>>>=0;var o=new Date().getFullYear(),a=new Date(o,0,1),s=new Date(o,6,1);o=a.getTimezoneOffset();var u=s.getTimezoneOffset();S[t>>>0>>>2>>>0]=60*Math.max(o,u),T[r>>>0>>>2>>>0]=+(o!=u),t=i(a),r=i(s),t=ee(t),r=ee(r),u<o?(S[n>>>2>>>0]=t,S[n+4>>>2>>>0]=r):(S[n>>>2>>>0]=r,S[n+4>>>2>>>0]=t)},e:()=>{M("")},b:function(t,r,n){return t>>>=0,r=er(r>>>0,n>>>0),z[t].apply(null,r)},j:function(t,r,n){return t>>>=0,r=er(r>>>0,n>>>0),z[t].apply(null,r)},h:()=>Date.now(),z:function(){return 0xffff0000},c:()=>performance.now(),I:function(t,r,n){return r>>>=0,_.copyWithin(t>>>0>>>0,r>>>0,r+(n>>>0)>>>0)},w:function(t){t>>>=0;var r=_.length;if(0xffff0000<t)return!1;for(var n=1;4>=n;n*=2){var i=r*(1+.2/n);i=Math.min(i,t+0x6000000);var o=Math;i=Math.max(t,i);e:{o=(o.min.call(o,0xffff0000,i+(65536-i%65536)%65536)-b.buffer.byteLength+65535)/65536;try{b.grow(o),I();var a=1;break e}catch{}a=void 0}if(a)return!0}return!1},G:function(t,r){t>>>=0,r>>>=0;var n=0;return ei().forEach((i,o)=>{var a=r+n;for(o=S[t+4*o>>>2>>>0]=a,a=0;a<i.length;++a)x[o++>>>0>>>0]=i.charCodeAt(a);x[o>>>0>>>0]=0,n+=i.length+1}),0},H:function(t,r){t>>>=0,r>>>=0;var n=ei();S[t>>>2>>>0]=n.length;var i=0;return n.forEach(t=>i+=t.length+1),S[r>>>2>>>0]=i,0},f:()=>52,l:function(){return 52},t:function(){return 70},k:function(t,r,n,i){r>>>=0,n>>>=0,i>>>=0;for(var o=0,a=0;a<n;a++){var s=S[r>>>2>>>0],u=S[r+4>>>2>>>0];r+=8;for(var l=0;l<u;l++){var h=_[s+l>>>0],c=eo[t];0===h||10===h?((1===t?g:v)(q(c,0)),c.length=0):c.push(h)}o+=u}return S[i>>>2>>>0]=o,0},u:function(t,r){return t>>>=0,ea(_.subarray(t>>>0,t+(r>>>0)>>>0)),0},x:el,d:function(t,r,n,i){return el(t>>>0,r>>>0,n>>>0,i>>>0)},i:function(t,r,n,i){let o=eh.length;t=new Uint8Array(_.slice(t+r,t+n));try{var a,s=new WebAssembly.Module(t),u=new WebAssembly.Instance(s,{env:{memory:b}});for(a in u.exports)eS(u.exports[a]);return o<eh.length?o:i}catch(t){return console.log(t),i}}},eO=function(){function r(t){var r,n,i;return eO=t.exports,r=Object.assign({},r=eO=function(){var t={};for(let[r,n]of Object.entries(eO))t[r]="function"==typeof n?function(){em.push(r);try{return n.apply(null,arguments)}finally{A||(em.pop(),ep&&1===ed&&0===em.length&&(ed=0,ef(eL),"u">typeof Fibers&&Fibers.lb()))}}:n;return t}()),n=t=>()=>t()>>>0,i=t=>r=>t(r)>>>0,r.ta=n(r.ta),r.ua=i(r.ua),r.ya=n(r.ya),r.Aa=i(r.Aa),b=(eO=r).O,I(),eh=eO.wa,k.unshift(eO.P),0==--$&&(null!==R&&(clearInterval(R),R=null),D&&(t=D,D=null,t())),eO}var n,o,a={a:eE};if($++,t.instantiateWasm)try{return t.instantiateWasm(a,r)}catch(t){v(`Module.instantiateWasm callback failed with error: ${t}`),i(t)}return(n=function(t){r(t.instance)},o=L,"function"!=typeof WebAssembly.instantiateStreaming||o.startsWith("data:application/octet-stream;base64,")||B(o)||d||"function"!=typeof fetch?U(o,a,n):fetch(o,{credentials:"same-origin"}).then(t=>WebAssembly.instantiateStreaming(t,a).then(n,function(t){return v(`wasm streaming compile failed: ${t}`),v("falling back to ArrayBuffer instantiation"),U(o,a,n)}))).catch(i),{}}();t._OrtInit=(r,n)=>(t._OrtInit=eO.Q)(r,n),t._OrtGetLastError=(r,n)=>(t._OrtGetLastError=eO.R)(r,n),t._OrtCreateSessionOptions=(r,n,i,o,a,s,u,l,h,c)=>(t._OrtCreateSessionOptions=eO.S)(r,n,i,o,a,s,u,l,h,c),t._OrtAppendExecutionProvider=(r,n)=>(t._OrtAppendExecutionProvider=eO.T)(r,n),t._OrtAddFreeDimensionOverride=(r,n,i)=>(t._OrtAddFreeDimensionOverride=eO.U)(r,n,i),t._OrtAddSessionConfigEntry=(r,n,i)=>(t._OrtAddSessionConfigEntry=eO.V)(r,n,i),t._OrtReleaseSessionOptions=r=>(t._OrtReleaseSessionOptions=eO.W)(r),t._OrtCreateSession=(r,n,i)=>(t._OrtCreateSession=eO.X)(r,n,i),t._OrtReleaseSession=r=>(t._OrtReleaseSession=eO.Y)(r),t._OrtGetInputOutputCount=(r,n,i)=>(t._OrtGetInputOutputCount=eO.Z)(r,n,i),t._OrtGetInputName=(r,n)=>(t._OrtGetInputName=eO._)(r,n),t._OrtGetOutputName=(r,n)=>(t._OrtGetOutputName=eO.$)(r,n),t._OrtFree=r=>(t._OrtFree=eO.aa)(r),t._OrtCreateTensor=(r,n,i,o,a,s)=>(t._OrtCreateTensor=eO.ba)(r,n,i,o,a,s),t._OrtGetTensorData=(r,n,i,o,a)=>(t._OrtGetTensorData=eO.ca)(r,n,i,o,a),t._OrtReleaseTensor=r=>
3829(t._OrtReleaseTensor=eO.da)(r),t._OrtCreateRunOptions=(r,n,i,o)=>(t._OrtCreateRunOptions=eO.ea)(r,n,i,o),t._OrtAddRunConfigEntry=(r,n,i)=>(t._OrtAddRunConfigEntry=eO.fa)(r,n,i),t._OrtReleaseRunOptions=r=>(t._OrtReleaseRunOptions=eO.ga)(r),t._OrtCreateBinding=r=>(t._OrtCreateBinding=eO.ha)(r),t._OrtBindInput=(r,n,i)=>(t._OrtBindInput=eO.ia)(r,n,i),t._OrtBindOutput=(r,n,i,o)=>(t._OrtBindOutput=eO.ja)(r,n,i,o),t._OrtClearBoundOutputs=r=>(t._OrtClearBoundOutputs=eO.ka)(r),t._OrtReleaseBinding=r=>(t._OrtReleaseBinding=eO.la)(r),t._OrtRunWithBinding=(r,n,i,o,a)=>(t._OrtRunWithBinding=eO.ma)(r,n,i,o,a),t._OrtRun=(r,n,i,o,a,s,u,l)=>(t._OrtRun=eO.na)(r,n,i,o,a,s,u,l),t._OrtEndProfiling=r=>(t._OrtEndProfiling=eO.oa)(r),t._OrtConfigure=(r,n)=>(t._OrtConfigure=eO.pa)(r,n),t._OrtAuth=(r,n)=>(t._OrtAuth=eO.qa)(r,n),t._JsepOutput=(r,n,i)=>(t._JsepOutput=eO.ra)(r,n,i),t._JsepGetNodeName=r=>(t._JsepGetNodeName=eO.sa)(r);var eA,eI=()=>(eI=eO.ta)(),eP=t._malloc=r=>(eP=t._malloc=eO.ua)(r),ek=t._free=r=>(ek=t._free=eO.va)(r),eC=t=>(eC=eO.xa)(t),e$=()=>(e$=eO.ya)(),eR=t=>(eR=eO.za)(t),eD=t=>(eD=eO.Aa)(t),eM=t=>(eM=eO.Ca)(t),eL=()=>(eL=eO.Da)(),eB=t=>(eB=eO.Ea)(t),eN=()=>(eN=eO.Fa)();function eF(){if(!(0<$)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;){var n=t.preRun.shift();P.unshift(n)}for(;0<P.length;)P.shift()(t);if(!(0<$||eA||(eA=!0,t.calledRun=!0,A))){for(;0<k.length;)k.shift()(t);for(r(t);0<C.length;)C.shift()(t)}}}return t.___start_em_js=910449,t.___stop_em_js=911222,t.stackAlloc=eD,t.stackSave=e$,t.stackRestore=eR,t.addFunction=eS,t.UTF8ToString=Y,t.stringToUTF8=(t,r,n)=>K(t,_,r,n),t.lengthBytesUTF8=X,D=function t(){eA||eF(),eA||(D=t)},eF(),t.ready});"object"==typeof t&&"object"==typeof r?r.exports=i:"function"==typeof define&&define.amd&&define([],()=>i)}),tI=e9(()=>{}),tP=e9(()=>{}),tk={};e2(tk,{cpus:()=>tC});var tC,t$,tR,tD,tM,tL,tB,tN,tF,tU,tj,tz,tG,tV,tW,tH,tq,tY,tX,tK,tZ,tJ,tQ,t1,t0,t3,t6,t5,t9,t2,t7,t8,t4,re,rt,rr,rn,ri,ro,ra,rs,ru,rl,rh,rc,rf,rd,rp,ry,rm,rg,rv,rb,rw,rx,r_,rT,rS,rE,rO,rA,rI,rP,rk,rC,r$,rR,rD,rM,rL,rB,rN,rF,rU,rj,rz,rG,rV,rW,rH,rq,rY,rX,rK,rZ,rJ,rQ,r1,r0,r3,r6,r5,r9,r2,r7,r8,r4,ne,nt,nr,nn,ni,no,na,ns,nu,nl,nh,nc,nf,nd,np,ny,nm,ng,nv,nb,nw,nx,n_,nT,nS,nE,nO,nA,nI,nP,nk,nC,n$,nR,nD,nM,nL,nB,nN,nF,nU,nj,nz,nG,nV,nW,nH,nq,nY,nX,nK,nZ,nJ,nQ,n1,n0,n3,n6,n5,n9,n2,n7,n8,n4,ie,it,ir,ii,io,ia,is,iu,il,ih,ic,id,ip,iy,im,ig,iv,ib,iw,ix,i_,iT,iS,iE,iO,iA,iI,iP,ik,iC,i$,iR,iD,iM,iL,iB,iN,iF,iU,ij,iz,iG,iV,iW,iH,iq,iY,iX,iK,iZ,iJ,iQ,i1,i0,i3,i6,i5,i9,i2,i7,i8,i4,oe,ot,or,on,oi,oo,oa,os,ou,ol,oh,oc,of,od,op,oy,om,og,ov,ob,ow,ox,o_,oT=e5(()=>{tC=void 0}),oS=e9((t,r)=>{var n,i=(n="u">typeof document&&document.currentScript?document.currentScript.src:void 0,"u">typeof __filename&&(n=n||__filename),function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function r(){return P.buffer!=$.buffer&&F(),$}function i(){return P.buffer!=$.buffer&&F(),R}function o(){return P.buffer!=$.buffer&&F(),D}function a(){return P.buffer!=$.buffer&&F(),M}function s(){return P.buffer!=$.buffer&&F(),L}function u(){return P.buffer!=$.buffer&&F(),B}t.ready=new Promise((t,r)=>{l=t,h=r}),t.mountExternalData=(r,n)=>{(t.ib||(t.ib=new Map)).set(r,n)},t.unmountExternalData=()=>{delete t.ib},t.jsepInit=(r,n,i,o,a,s,u,l,h,c,f)=>{t.Ub=r,t.Bb=n,t.Fb=i,t.pb=o,t.Eb=a,t.Ua=s,t.Gb=u,t.Ib=l,t.Cb=h,t.Db=c,t.Hb=f,n=(t,r,n)=>function(){for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];let s=tn,u=r?.();o=t(...o);let l=r?.();return u!==l&&(t=l,n(u),r=n=null),tn!=s?new Promise((t,r)=>{tl={resolve:t,reject:r}}):o},i=n=>async function(){try{if(t.hb)throw Error("Session already started");let i=t.hb={Kb:arguments.length<=0?void 0:arguments[0],errors:[]},o=await n(...arguments);if(t.hb!==i)throw Error("Session mismatch");r.flush();let a=i.errors;if(0<a.length){let t=await Promise.all(a);if(t=t.filter(t=>t),0<t.length)throw Error(t.join(`
3830`))}return o}finally{t.hb=null}},t._OrtRun=i(n(t._OrtRun,()=>t._OrtRun,r=>t._OrtRun=r)),t._OrtRunWithBinding=i(n(t._OrtRunWithBinding,()=>t._OrtRunWithBinding,r=>t._OrtRunWithBinding=r)),t._OrtBindInput=n(t._OrtBindInput,()=>t._OrtBindInput,r=>t._OrtBindInput=r),t.jsepRegisterBuffer=(t,n,i,o)=>r.registerBuffer(t,n,i,o),t.jsepGetBuffer=t=>r.getBuffer(t),t.jsepCreateDownloader=(t,n,i)=>r.createDownloader(t,n,i),t.jsepOnReleaseSession=t=>{r.onReleaseSession(t)},t.jsepOnRunStart=t=>r.onRunStart(t)};var l,h,c,f,d,p=Object.assign({},t),y="./this.program",m=(t,r)=>{throw r},g="object"==typeof window,v="function"==typeof importScripts,b="object"==typeof eJ&&"object"==typeof eJ.versions&&"string"==typeof eJ.versions.node,w=t.ENVIRONMENT_IS_PTHREAD||!1,x="";function _(r){return t.locateFile?t.locateFile(r,x):x+r}if(b){let r;var T=(tw(),e7(tm)),S=(tT(),e7(tx));x=v?S.dirname(x)+"/":__dirname+"/",c=(t,r)=>(t=K(t)?new URL(t):S.normalize(t),T.readFileSync(t,r?void 0:"utf8")),d=t=>((t=c(t,!0)).buffer||(t=new Uint8Array(t)),t),f=function(t,r,n){let i=!(arguments.length>3)||void 0===arguments[3]||arguments[3];t=K(t)?new URL(t):S.normalize(t),T.readFile(t,i?void 0:"utf8",(t,o)=>{t?n(t):r(i?o.buffer:o)})},!t.thisProgram&&1<eJ.argv.length&&(y=eJ.argv[1].replace(/\\/g,"/")),eJ.argv.slice(2),m=(t,r)=>{throw eJ.exitCode=t,r},t.inspect=()=>"[Emscripten Module object]";try{r=tI()}catch(t){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),t}global.Worker=r.Worker}else(g||v)&&(v?x=self.location.href:"u">typeof document&&document.currentScript&&(x=document.currentScript.src),"u">typeof n&&n&&(x=n),x=0!==x.indexOf("blob:")?x.substr(0,x.replace(/[?#].*/,"").lastIndexOf("/")+1):"",b||(c=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},v&&(d=t=>{var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),f=(t,r,n)=>{var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?r(i.response):n()},i.onerror=n,i.send(null)}));b&&typeof performance>"u"&&(global.performance=tP().performance);var E=console.log.bind(console),O=console.error.bind(console);b&&(E=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return T.writeSync(1,r.join(" ")+`
3831`)},O=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return T.writeSync(2,r.join(" ")+`
3832`)});var A=E,I=O;Object.assign(t,p),p=null,"object"!=typeof WebAssembly&&Y("no native wasm support detected");var P,k,C,$,R,D,M,L,B,N=!1;function F(){var r=P.buffer;
3832t.HEAP8=$=new Int8Array(r),t.HEAP16=new Int16Array(r),t.HEAPU8=R=new Uint8Array(r),t.HEAPU16=new Uint16Array(r),t.HEAP32=D=new Int32Array(r),t.HEAPU32=M=new Uint32Array(r),t.HEAPF32=L=new Float32Array(r),t.HEAPF64=B=new Float64Array(r)}var U=0x1000000;if(w)P=t.wasmMemory;else if(t.wasmMemory)P=t.wasmMemory;else if(!((P=new WebAssembly.Memory({initial:U/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw I("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),b&&I("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");F(),U=P.buffer.byteLength;var j=[],z=[],G=[],V=0,W=null,H=null;function q(){if(0==--V&&(null!==W&&(clearInterval(W),W=null),H)){var t=H;H=null,t()}}function Y(t){throw I(t="Aborted("+t+")"),N=!0,C=1,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),h(t),t}var X,K=t=>t.startsWith("file://");function Z(t){if(d)return d(t);throw"both async and sync fetching of the wasm failed"}function J(t,r,n){return(function(t){if(g||v){if("function"==typeof fetch&&!K(t))return fetch(t,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at '"+t+"'";return r.arrayBuffer()}).catch(()=>Z(t));if(f)return new Promise((r,n)=>{f(t,t=>r(new Uint8Array(t)),n)})}return Promise.resolve().then(()=>Z(t))})(t).then(t=>WebAssembly.instantiate(t,r)).then(t=>t).then(n,t=>{I(`failed to asynchronously prepare wasm: ${t}`),Y(t)})}(X="ort-wasm-simd-threaded.wasm").startsWith("data:application/octet-stream;base64,")||(X=_(X));var Q,ee={902852:(r,n,o,a)=>{if(typeof t>"u"||!t.ib)return 1;if((r=es(r>>>0)).startsWith("./")&&(r=r.substring(2)),!(r=t.ib.get(r)))return 2;if(a>>>=0,(n>>>=0)+(o>>>=0)>r.byteLength)return 3;try{return i().set(r.subarray(n,n+o),a>>>0),0}catch{return 4}},903353:()=>{t.Cb()},903384:()=>{t.Db()},903413:()=>{t.Hb()},903438:r=>t.Bb(r),903471:r=>t.Fb(r),903503:(r,n,i)=>{t.pb(r,n,i,!0)},903542:(r,n,i)=>{t.pb(r,n,i)},903575:r=>{t.Ua("Abs",r,void 0)},903626:r=>{t.Ua("Neg",r,void 0)},903677:r=>{t.Ua("Floor",r,void 0)},903730:r=>{t.Ua("Ceil",r,void 0)},903782:r=>{t.Ua("Reciprocal",r,void 0)},903840:r=>{t.Ua("Sqrt",r,void 0)},903892:r=>{t.Ua("Exp",r,void 0)},903943:r=>{t.Ua("Erf",r,void 0)},903994:r=>{t.Ua("Sigmoid",r,void 0)},904049:r=>{t.Ua("Log",r,void 0)},904100:r=>{t.Ua("Sin",r,void 0)},904151:r=>{t.Ua("Cos",r,void 0)},904202:r=>{t.Ua("Tan",r,void 0)},904253:r=>{t.Ua("Asin",r,void 0)},904305:r=>{t.Ua("Acos",r,void 0)},904357:r=>{t.Ua("Atan",r,void 0)},904409:r=>{t.Ua("Sinh",r,void 0)},904461:r=>{t.Ua("Cosh",r,void 0)},904513:r=>{t.Ua("Asinh",r,void 0)},904566:r=>{t.Ua("Acosh",r,void 0)},904619:r=>{t.Ua("Atanh",r,void 0)},904672:r=>{t.Ua("Tanh",r,void 0)},904724:r=>{t.Ua("Not",r,void 0)},904775:(r,n,i)=>{t.Ua("Clip",r,{min:n,max:i})},904844:r=>{t.Ua("Clip",r,void 0)},904896:(r,n)=>{t.Ua("Elu",r,{alpha:n})},904954:r=>{t.Ua("Relu",r,void 0)},905006:(r,n)=>{t.Ua("LeakyRelu",r,{alpha:n})},905070:(r,n)=>{t.Ua("ThresholdedRelu",r,{alpha:n})},905140:(r,n)=>{t.Ua("Cast",r,{to:n})},905198:r=>{t.Ua("Add",r,void 0)},905249:r=>{t.Ua("Sub",r,void 0)},905300:r=>{t.Ua("Mul",r,void 0)},905351:r=>{t.Ua("Div",r,void 0)},905402:r=>{t.Ua("Pow",r,void 0)},905453:r=>{t.Ua("Equal",r,void 0)},905506:r=>{t.Ua("Greater",r,void 0)},905561:r=>{t.Ua("GreaterOrEqual",r,void 0)},905623:r=>{t.Ua("Less",r,void 0)},905675:r=>{t.Ua("LessOrEqual",r,void 0)},905734:(r,n,i,a,s)=>{t.Ua("ReduceMean",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},905893:(r,n,i,a,s)=>{t.Ua("ReduceMax",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906051:(r,n,i,a,s)=>{t.Ua("ReduceMin",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906209:(r,n,i,a,s)=>{t.Ua("ReduceProd",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906368:(r,n,i,a,s)=>{t.Ua("ReduceSum",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906526:(r,n,i,a,s)=>{t.Ua("ReduceL1",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906683:(r,n,i,a,s)=>{t.Ua("ReduceL2",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},906840:(r,n,i,a,s)=>{t.Ua("ReduceLogSum",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},907001:(r,n,i,a,s)=>{t.Ua("ReduceSumSquare",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},907165:(r,n,i,a,s)=>{t.Ua("ReduceLogSumExp",r,{keepDims:!!n,noopWithEmptyAxes:!!i,axes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},907329:r=>{t.Ua("Where",r,void 0)},907382:(r,n,i)=>{t.Ua("Transpose",r,{perm:n?Array.from(o().subarray(n>>>0,i>>>0)):[]})},907490:(n,i,a,s,u,l,h,c,f,d,p,y,m,g,v)=>{t.Ua("ConvTranspose",n,{format:f?"NHWC":"NCHW",autoPad:i,dilations:[a],group:s,kernel_shape:[u],pads:[l,h],strides:[c],wIsConst:()=>!!r()[d>>>0],outputPadding:p?Array.from(o().subarray(p>>>0,y>>>0)):[],outputShape:m?Array.from(o().subarray(m>>>0,g>>>0)):[],activation:es(v)})},907892:(n,i,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("ConvTranspose",n,{format:c?"NHWC":"NCHW",autoPad:i,dilations:Array.from(o().subarray(a>>>0,2+(a>>>0)>>>0)),group:s,kernelShape:Array.from(o().subarray(u>>>0,2+(u>>>0)>>>0)),pads:Array.from(o().subarray(l>>>0,4+(l>>>0)>>>0)),strides:Array.from(o().subarray(h>>>0,2+(h>>>0)>>>0)),wIsConst:()=>!!r()[f>>>0],outputPadding:d?Array.from(o().subarray(d>>>0,p>>>0)):[],outputShape:y?Array.from(o().subarray(y>>>0,m>>>0)):[],activation:es(g)})},908457:(n,i,a,s,u,l,h,c,f,d,p,y,m,g,v)=>{t.Ua("ConvTranspose",n,{format:f?"NHWC":"NCHW",autoPad:i,dilations:[a],group:s,kernel_shape:[u],pads:[l,h],strides:[c],wIsConst:()=>!!r()[d>>>0],outputPadding:p?Array.from(o().subarray(p>>>0,y>>>0)):[],outputShape:m?Array.from(o().subarray(m>>>0,g>>>0)):[],activation:es(v)})},908859:(n,i,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("ConvTranspose",n,{format:c?"NHWC":"NCHW",autoPad:i,dilations:Array.from(o().subarray(a>>>0,2+(a>>>0)>>>0)),group:s,kernelShape:Array.from(o().subarray(u>>>0,2+(u>>>0)>>>0)),pads:Array.from(o().subarray(l>>>0,4+(l>>>0)>>>0)),strides:Array.from(o().subarray(h>>>0,2+(h>>>0)>>>0)),wIsConst:()=>!!r()[f>>>0],outputPadding:d?Array.from(o().subarray(d>>>0,p>>>0)):[],outputShape:y?Array.from(o().subarray(y>>>0,m>>>0)):[],activation:es(g)})},909424:(r,n)=>{t.Ua("GlobalAveragePool",r,{format:n?"NHWC":"NCHW"})},909515:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("AveragePool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},909799:(r,n)=>{t.Ua("GlobalAveragePool",r,{format:n?"NHWC":"NCHW"})}
3832,909890:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("AveragePool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},910174:(r,n)=>{t.Ua("GlobalMaxPool",r,{format:n?"NHWC":"NCHW"})},910261:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("MaxPool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},910541:(r,n)=>{t.Ua("GlobalMaxPool",r,{format:n?"NHWC":"NCHW"})},910628:(r,n,i,o,a,s,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("MaxPool",r,{format:g?"NHWC":"NCHW",auto_pad:n,ceil_mode:i,count_include_pad:o,storage_order:a,dilations:[s,u],kernel_shape:[l,h],pads:[c,f,d,p],strides:[y,m]})},910908:(r,n,i,o,a)=>{t.Ua("Gemm",r,{alpha:n,beta:i,transA:o,transB:a})},911012:r=>{t.Ua("MatMul",r,void 0)},911066:(r,n,i,o)=>{t.Ua("ArgMax",r,{keepDims:!!n,selectLastIndex:!!i,axis:o})},911174:(r,n,i,o)=>{t.Ua("ArgMin",r,{keepDims:!!n,selectLastIndex:!!i,axis:o})},911282:(r,n)=>{t.Ua("Softmax",r,{axis:n})},911345:(r,n)=>{t.Ua("Concat",r,{axis:n})},911405:(r,n,i,a,s)=>{t.Ua("Split",r,{axis:n,numOutputs:i,splitSizes:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},911545:r=>{t.Ua("Expand",r,void 0)},911599:(r,n)=>{t.Ua("Gather",r,{axis:Number(n)})},911670:(r,n)=>{t.Ua("GatherElements",r,{axis:Number(n)})},911749:(r,n,i,a,s,u,l,h,c,f,d)=>{t.Ua("Resize",r,{antialias:n,axes:i?Array.from(o().subarray(i>>>0,a>>>0)):[],coordinateTransformMode:es(s),cubicCoeffA:u,excludeOutside:l,extrapolationValue:h,keepAspectRatioPolicy:es(c),mode:es(f),nearestMode:es(d)})},912095:(r,n,i,a,s,u,l)=>{t.Ua("Slice",r,{starts:n?Array.from(o().subarray(n>>>0,i>>>0)):[],ends:a?Array.from(o().subarray(a>>>0,s>>>0)):[],axes:u?Array.from(o().subarray(u>>>0,l>>>0)):[]})},912311:r=>{t.Ua("Tile",r,void 0)},912363:(r,n,i)=>{t.Ua("LayerNormalization",r,{axis:Number(n),epsilon:Number(i)})},912470:(r,n,i)=>{t.Ua("InstanceNormalization",r,{epsilon:n,format:i?"NHWC":"NCHW"})},912584:(r,n,i)=>{t.Ua("InstanceNormalization",r,{epsilon:n,format:i?"NHWC":"NCHW"})},912698:r=>{t.Ua("Range",r,void 0)},912751:(r,n)=>{t.Ua("Einsum",r,{equation:es(n)})},912832:(r,n,i,a,s)=>{t.Ua("Pad",r,{mode:n,value:i,pads:a?Array.from(o().subarray(a>>>0,s>>>0)):[]})},912959:(r,n,i,o,a,s)=>{t.Ua("BatchNormalization",r,{epsilon:n,momentum:i,spatial:!!a,trainingMode:!!o,format:s?"NHWC":"NCHW"})},913128:(r,n,i,o,a,s)=>{t.Ua("BatchNormalization",r,{epsilon:n,momentum:i,spatial:!!a,trainingMode:!!o,format:s?"NHWC":"NCHW"})},913297:(r,n,i)=>{t.Ua("CumSum",r,{exclusive:Number(n),reverse:Number(i)})},913394:(r,n,i,a,s,u,l,h,c)=>{t.Ua("Attention",r,{numHeads:n,isUnidirectional:i,maskFilterValue:a,scale:s,doRotary:u,qkvHiddenSizes:l?Array.from(o().subarray(Number(h)>>>0,Number(h)+l>>>0)):[],pastPresentShareBuffer:!!c})},913666:r=>{t.Ua("Gelu",r,void 0)},913718:(r,n,i,o,a,s)=>{t.Ua("MultiHeadAttention",r,{numHeads:n,isUnidirectional:i,maskFilterValue:o,scale:a,doRotary:s})},913877:r=>{t.Ua("BiasAdd",r,void 0)},913932:r=>{t.Ua("BiasSplitGelu",r,void 0)},913993:(r,n)=>{t.Ua("SkipLayerNormalization",r,{epsilon:n})},914074:(n,i,a,u,l,h,c,f,d,p,y,m,g)=>{t.Ua("Conv",n,{format:d?"NHWC":"NCHW",auto_pad:i,dilations:[a],group:u,kernel_shape:[l],pads:h?Array.from(o().subarray(h>>>0,c>>>0)):[],strides:[f],w_is_const:()=>!!r()[p>>>0],activation:es(y),activation_params:m?Array.from(s().subarray(m>>>0,g>>>0)):[]})},914444:(n,i,a,u,l,h,c,f,d,p,y,m,g,v,b,w)=>{t.Ua("Conv",n,{format:m?"NHWC":"NCHW",auto_pad:i,dilations:[a,u],group:l,kernel_shape:[h,c],pads:f?Array.from(o().subarray(f>>>0,d>>>0)):[],strides:[p,y],w_is_const:()=>!!r()[g>>>0],activation:es(v),activation_params:b?Array.from(s().subarray(b>>>0,w>>>0)):[]})},914835:r=>{t.Gb(r)},914869:(r,n)=>t.Ib(r,n,t.hb.Kb,t.hb.errors)};function et(t){this.name="ExitStatus",this.message=`Program terminated with exit(${t})`,this.status=t}var er=t=>{t.terminate(),t.onmessage=()=>{}},en=t=>{0==ed.cb.length&&(ef(),ed.qb(ed.cb[0]));var r=ed.cb.pop();if(!r)return 6;ed.eb.push(r),ed.$a[t.bb]=r,r.bb=t.bb;var n={cmd:"run",start_routine:t.Lb,arg:t.xb,pthread_ptr:t.bb};return b&&r.unref(),r.postMessage(n,t.Rb),0},ei=0,eo="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,ea=(t,r,n)=>{var i=(r>>>=0)+n;for(n=r;t[n]&&!(n>=i);)++n;if(16<n-r&&t.buffer&&eo)return eo.decode(t.buffer instanceof SharedArrayBuffer?t.slice(r,n):t.subarray(r,n));for(i="";r<n;){var o=t[r++];if(128&o){var a=63&t[r++];if(192==(224&o))i+=String.fromCharCode((31&o)<<6|a);else{var s=63&t[r++];65536>(o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&t[r++])?i+=String.fromCharCode(o):(o-=65536,i+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else i+=String.fromCharCode(o)}return i},es=(t,r)=>(t>>>=0)?ea(i(),t,r):"";function eu(t,r){var n,i,o=arguments.length-2,a=arguments;return n=()=>{for(var n=tU(8*o),i=n>>>3,s=0;s<o;s++){var l=a[2+s];u()[i+s>>>0]=l}return t$(t,o,n,r)},i=tN(),n=n(),tF(i),n}function el(r){if(w)return eu(0,1,r);C=r,0<ei||(ed.Mb(),t.onExit?.(r),N=!0),m(r,new et(r))}var eh=t=>{if(C=t,w)throw ey(t),"unwind";el(t)},ec=t=>{t instanceof et||"unwind"==t||m(1,t)};function ef(){var t=_("ort-wasm-simd-threaded.worker.js");t=new Worker(t),ed.cb.push(t)}var ed={cb:[],eb:[],ub:[],$a:{},mb(){w?(ed.receiveObjectTransfer=ed.Jb,ed.threadInitTLS=ed.tb,ed.setExitStatus=ed.sb):function(){for(var r=t.numThreads;r--;)ef();j.unshift(()=>{var t;V++,t=()=>q(),w?t():Promise.all(ed.cb.map(ed.qb)).then(t)})}()},sb:t=>C=t,Vb:["$terminateWorker"],Mb:()=>{for(var t of ed.eb)er(t);for(t of ed.cb)er(t);ed.cb=[],ed.eb=[],ed.$a=[]},rb:t=>{var r=t.bb;delete ed.$a[r],ed.cb.push(t),ed.eb.splice(ed.eb.indexOf(t),1),t.bb=0,tR(r)},Jb(){},tb(){ed.ub.forEach(t=>t())},qb:r=>new Promise(i=>{r.onmessage=n=>{var o=(n=n.data).cmd;
3832if(n.targetThread&&n.targetThread!=tb()){var a=ed.$a[n.targetThread];a?a.postMessage(n,n.transferList):I(`Internal error! Worker sent a message "${o}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===o?eB():"spawnThread"===o?en(n):"cleanupThread"===o?ed.rb(ed.$a[n.thread]):"killThread"===o?(n=n.thread,o=ed.$a[n],delete ed.$a[n],er(o),tR(n),ed.eb.splice(ed.eb.indexOf(o),1),o.bb=0):"cancelThread"===o?ed.$a[n.thread].postMessage({cmd:"cancel"}):"loaded"===o?(r.loaded=!0,b&&!r.bb&&r.unref(),i(r)):"alert"===o?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?r.postMessage(n):"callHandler"===o?t[n.handler](...n.args):o&&I(`worker sent an unknown command ${o}`)},r.onerror=t=>{throw I(`worker sent an error! ${t.filename}:${t.lineno}: ${t.message}`),t},b&&(r.on("message",t=>r.onmessage({data:t})),r.on("error",t=>r.onerror(t)));var o,a=[];for(o of["onExit"])t.hasOwnProperty(o)&&a.push(o);r.postMessage({cmd:"load",handlers:a,urlOrBlob:t.mainScriptUrlOrBlob||n,wasmMemory:P,wasmModule:k})})};t.PThread=ed;var ep=r=>{for(;0<r.length;)r.shift()(t)};function ey(t){if(w)return eu(1,0,t);eh(t)}function em(t){this.lb=t-24,this.yb=function(t){a()[this.lb+4>>>2>>>0]=t},this.wb=function(t){a()[this.lb+8>>>2>>>0]=t},this.mb=function(t,r){this.vb(),this.yb(t),this.wb(r)},this.vb=function(){a()[this.lb+16>>>2>>>0]=0}}function eg(t,r,n,i){return w?eu(2,1,t,r,n,i):ev(t,r,n,i)}function ev(t,r,n,i){if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,typeof SharedArrayBuffer>"u")return I("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var o=[];return w&&0===o.length?eg(t,r,n,i):(t={Lb:n,bb:t,xb:i,Rb:o},w?(t.Tb="spawnThread",postMessage(t,o),0):en(t))}function eb(t,r,n){return w?eu(3,1,t,r,n):0}function ew(t,r){if(w)return eu(4,1,t,r)}t.establishStackSpace=()=>{var t=tb(),r=a()[t+52>>>2>>>0];t=a()[t+56>>>2>>>0],tB(r,r-t),tF(r)},t.invokeEntryPoint=(t,r)=>{t=tj.apply(null,[t,r]),0<ei?ed.sb(t):tD(t)};var ex=t=>{for(var r=0,n=0;n<t.length;++n){var i=t.charCodeAt(n);127>=i?r++:2047>=i?r+=2:55296<=i&&57343>=i?(r+=4,++n):r+=3}return r},e_=(t,r,n,i)=>{if(!(0<i))return 0;var o=n>>>=0;i=n+i-1;for(var a=0;a<t.length;++a){var s=t.charCodeAt(a);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a)),127>=s){if(n>=i)break;r[n++>>>0]=s}else{if(2047>=s){if(n+1>=i)break;r[n++>>>0]=192|s>>6}else{if(65535>=s){if(n+2>=i)break;r[n++>>>0]=224|s>>12}else{if(n+3>=i)break;r[n++>>>0]=240|s>>18,r[n++>>>0]=128|s>>12&63}r[n++>>>0]=128|s>>6&63}r[n++>>>0]=128|63&s}}return r[n>>>0]=0,n-o},eT=(t,r,n)=>e_(t,i(),r,n);function eS(t,r){if(w)return eu(5,1,t,r)}function eE(t,r,n){if(w)return eu(6,1,t,r,n)}function eO(t,r,n){return w?eu(7,1,t,r,n):0}function eA(t,r){if(w)return eu(8,1,t,r)}function eI(t,r,n){if(w)return eu(9,1,t,r,n)}function eP(t,r,n,i){if(w)return eu(10,1,t,r,n,i)}function ek(t,r,n,i){if(w)return eu(11,1,t,r,n,i)}function eC(t,r,n,i){if(w)return eu(12,1,t,r,n,i)}function e$(t){if(w)return eu(13,1,t)}function eR(t,r){if(w)return eu(14,1,t,r)}function eD(t,r,n){if(w)return eu(15,1,t,r,n)}var eM=()=>{if(!(0<ei))try{w?tD(C):eh(C)}catch(t){ec(t)}};function eL(t){t>>>=0,"function"==typeof Atomics.Sb&&(Atomics.Sb(o(),t>>>2,t).value.then(eB),t+=128,Atomics.store(o(),t>>>2,1))}t.__emscripten_thread_mailbox_await=eL;var eB=()=>{var t=tb();if(t&&(eL(t),!N))try{tM(),eM()}catch(t){ec(t)}};t.checkMailbox=eB;var eN=[],eF=t=>t%4==0&&(t%100!=0||t%400==0),eU=[0,31,60,91,121,152,182,213,244,274,305,335],ej=[0,31,59,90,120,151,181,212,243,273,304,334];function ez(t,r,n,i,o,a,s,u){return w?eu(16,1,t,r,n,i,o,a,s,u):-52}function eG(t,r,n,i,o,a,s){if(w)return eu(17,1,t,r,n,i,o,a,s)}var eV,eW=t=>{var r=ex(t)+1,n=t_(r);return n&&eT(t,n,r),n},eH=[],eq=(t,r)=>{eH.length=0;for(var n;n=i()[t++>>>0];){var s=105!=n;r+=(s&=112!=n)&&r%8?4:0,eH.push(112==n?a()[r>>>2>>>0]:105==n?o()[r>>>2>>>0]:u()[r>>>3>>>0]),r+=s?8:4}return eH},eY={},eX=()=>{if(!eV){var t,r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:y||"./this.program"};for(t in eY)void 0===eY[t]?delete r[t]:r[t]=eY[t];var n=[];for(t in r)n.push(`${t}=${r[t]}`);
3832eV=n}return eV};function eK(t,n){if(w)return eu(18,1,t,n);t>>>=0,n>>>=0;var i=0;return eX().forEach((o,s)=>{var u=n+i;for(s=a()[t+4*s>>>2>>>0]=u,u=0;u<o.length;++u)r()[s++>>>0>>>0]=o.charCodeAt(u);r()[s>>>0>>>0]=0,i+=o.length+1}),0}function eZ(t,r){if(w)return eu(19,1,t,r);t>>>=0,r>>>=0;var n=eX();a()[t>>>2>>>0]=n.length;var i=0;return n.forEach(t=>i+=t.length+1),a()[r>>>2>>>0]=i,0}function eQ(t){return w?eu(20,1,t):52}function e1(t,r,n,i){return w?eu(21,1,t,r,n,i):52}function e0(t,r,n,i,o){return w?eu(22,1,t,r,n,i,o):70}var e3=[null,[],[]];function e6(t,r,n,o){if(w)return eu(23,1,t,r,n,o);r>>>=0,n>>>=0,o>>>=0;for(var s=0,u=0;u<n;u++){var l=a()[r>>>2>>>0],h=a()[r+4>>>2>>>0];r+=8;for(var c=0;c<h;c++){var f=i()[l+c>>>0],d=e3[t];0===f||10===f?((1===t?A:I)(ea(d,0)),d.length=0):d.push(f)}s+=h}return a()[o>>>2>>>0]=s,0}var e5=t=>(e5=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return t=>(t.set(crypto.getRandomValues(new Uint8Array(t.byteLength))),t);if(b)try{var t=(tO(),e7(tS));if(t.randomFillSync)return r=>t.randomFillSync(r);var r=t.randomBytes;return t=>(t.set(r(t.byteLength)),t)}catch{}Y("initRandomDevice")})())(t),e9=[31,29,31,30,31,30,31,31,30,31,30,31],e2=[31,28,31,30,31,30,31,31,30,31,30,31];function e8(t,n,i,s){function u(t,r,n){for(t="number"==typeof t?t.toString():t||"";t.length<r;)t=n[0]+t;return t}function l(t,r){return u(t,r,"0")}function h(t,r){var n;function i(t){return 0>t?-1:+(0<t)}return 0===(n=i(t.getFullYear()-r.getFullYear()))&&0===(n=i(t.getMonth()-r.getMonth()))&&(n=i(t.getDate()-r.getDate())),n}function c(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function f(t){var r=t.fb;for(t=new Date(new Date(t.gb+1900,0,1).getTime());0<r;){var n=t.getMonth(),i=(eF(t.getFullYear())?e9:e2)[n];if(!(r>i-t.getDate())){t.setDate(t.getDate()+r);break}r-=i-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return n=new Date(t.getFullYear()+1,0,4),r=c(new Date(t.getFullYear(),0,4)),n=c(n),0>=h(r,t)?0>=h(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}t>>>=0,n>>>=0,i>>>=0,s>>>=0;var d,p,y,m,g=a()[s+40>>>2>>>0];for(var v in s={Pb:o()[s>>>2>>>0],Ob:o()[s+4>>>2>>>0],jb:o()[s+8>>>2>>>0],ob:o()[s+12>>>2>>>0],kb:o()[s+16>>>2>>>0],gb:o()[s+20>>>2>>>0],ab:o()[s+24>>>2>>>0],fb:o()[s+28>>>2>>>0],Wb:o()[s+32>>>2>>>0],Nb:o()[s+36>>>2>>>0],Qb:g?es(g):""},i=es(i),g={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})i=i.replace(RegExp(v,"g"),g[v]);var b="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),w="January February March April May June July August September October November December".split(" ");for(v in g={"%a":t=>b[t.ab].substring(0,3),"%A":t=>b[t.ab],"%b":t=>w[t.kb].substring(0,3),"%B":t=>w[t.kb],"%C":t=>l((t.gb+1900)/100|0,2),"%d":t=>l(t.ob,2),"%e":t=>u(t.ob,2," "),"%g":t=>f(t).toString().substring(2),"%G":t=>f(t),"%H":t=>l(t.jb,2),"%I":t=>(0==(t=t.jb)?t=12:12<t&&(t-=12),l(t,2)),"%j":t=>{for(var r=0,n=0;n<=t.kb-1;r+=(eF(t.gb+1900)?e9:e2)[n++]);return l(t.ob+r,3)},"%m":t=>l(t.kb+1,2),"%M":t=>l(t.Ob,2),"%n":()=>`
3833`,"%p":t=>0<=t.jb&&12>t.jb?"AM":"PM","%S":t=>l(t.Pb,2),"%t":()=>"	","%u":t=>t.ab||7,"%U":t=>l(Math.floor((t.fb+7-t.ab)/7),2),"%V":t=>{var r=Math.floor((t.fb+7-(t.ab+6)%7)/7);if(2>=(t.ab+371-t.fb-2)%7&&r++,r)53==r&&(4==(n=(t.ab+371-t.fb)%7)||3==n&&eF(t.gb)||(r=1));else{r=52;var n=(t.ab+7-t.fb-1)%7;(4==n||5==n&&eF(t.gb%400-1))&&r++}return l(r,2)},"%w":t=>t.ab,"%W":t=>l(Math.floor((t.fb+7-(t.ab+6)%7)/7),2),"%y":t=>(t.gb+1900).toString().substring(2),"%Y":t=>t.gb+1900,"%z":t=>(0<=(t=t.Nb)?"+":"-")+("0000"+((t=Math.abs(t)/60)/60*100+t%60)).slice(-4),"%Z":t=>t.Qb,"%%":()=>"%"},i=i.replace(/%%/g,"\0\0"),g)i.includes(v)&&(i=i.replace(RegExp(v,"g"),g[v](s))
3833);return p=Array(ex(d=i=i.replace(/\0\0/g,"%"))+1),e_(d,p,0,p.length),(v=p).length>n?0:(y=v,m=t,r().set(y,m>>>0),v.length-1)}var e4,te,tt=t=>{try{t()}catch(t){Y(t)}},tr=0,tn=null,ti=0,to=[],ta={},ts={},tu=0,tl=null,th=[],tc=[],tf=[],td=(t,r)=>{if(!te){te=new WeakMap;var n=e4.length;if(te)for(var i=0;i<0+n;i++){var o=i,a=tc[o];a||(o>=tc.length&&(tc.length=o+1),tc[o]=a=e4.get(o)),(o=a)&&te.set(o,i)}}if(n=te.get(t)||0)return n;if(tf.length)n=tf.pop();else{try{e4.grow(1)}catch(t){throw t instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":t}n=e4.length-1}try{i=n,e4.set(i,t),tc[i]=e4.get(i)}catch(u){if(!(u instanceof TypeError))throw u;if("function"==typeof WebAssembly.Function){i=WebAssembly.Function,o={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},a={parameters:[],results:"v"==r[0]?[]:[o[r[0]]]};for(var s=1;s<r.length;++s)a.parameters.push(o[r[s]]);r=new i(a,t)}else{for(i=[1],o=r.slice(0,1),r=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111},i.push(96),128>(s=r.length)?i.push(s):i.push(s%128|128,s>>7),s=0;s<r.length;++s)i.push(a[r[s]]);"v"==o?i.push(0):i.push(1,a[o]),r=[0,97,115,109,1,0,0,0,1],128>(o=i.length)?r.push(o):r.push(o%128|128,o>>7),r.push.apply(r,i),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),r=new WebAssembly.Module(new Uint8Array(r)),r=new WebAssembly.Instance(r,{e:{f:t}}).exports.f}i=n,e4.set(i,r),tc[i]=e4.get(i)}return te.set(t,n),n};ed.mb();var tp=[el,ey,eg,eb,ew,eS,eE,eO,eA,eI,eP,ek,eC,e$,eR,eD,ez,eG,eK,eZ,eQ,e1,e0,e6],ty={r:function(r,n,i){var s;return s=async()=>{await t.Eb(r,n,i)},function(t){if(!N){if(0===tr){var r,n,i,s=!1,u=!1;t(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!N&&(ti=t,s=!0,u)){tr=2,tt(()=>tV(tn)),"u">typeof Browser&&Browser.nb.Ab&&Browser.nb.resume(),t=!1;try{var r,n=(r=tg[ts[r=o()[tn+8>>>2>>>0]]],--ei,r())}catch(r){n=r,t=!0}var i=!1;if(!tn){var a=tl;a&&(tl=null,(t?a.reject:a.resolve)(n),i=!0)}if(t&&!i)throw n}}),u=!0,s||(tr=1,n=(r=t_(65548))+12,a()[r>>>2>>>0]=n,a()[r+4>>>2>>>0]=n+65536,void 0===(i=ta[n=to[0]])&&(i=tu++,ta[n]=i,ts[i]=n),n=i,o()[r+8>>>2>>>0]=n,tn=r,"u">typeof Browser&&Browser.nb.Ab&&Browser.nb.pause(),tt(()=>tz(tn)))}else 2===tr?(tr=0,tt(tW),tE(tn),tn=null,th.forEach(t=>{if(!N)try{t(),eM()}catch(t){ec(t)}})):Y(`invalid state: ${tr}`);return ti}}(t=>{s().then(t)})},b:function(t,r,n){throw new em(t>>>=0).mb(r>>>0,n>>>0),t},P:function(t){tA(t>>>0,!v,1,!g,131072,!1),ed.tb()},n:function(t){t>>>=0,w?postMessage({cmd:"cleanupThread",thread:t}):ed.rb(ed.$a[t])},L:ev,i:eb,V:ew,H:eS,J:eE,z:eO,T:eA,N:eI,S:eP,p:ek,I:eC,F:e$,U:eR,G:eD,Y:()=>1,D:function(t,r){(t>>>=0)==r>>>0?setTimeout(()=>eB()):w?postMessage({targetThread:t,cmd:"checkMailbox"}):(t=ed.$a[t])&&t.postMessage({cmd:"checkMailbox"})},M:function(t,r,n,i){r>>>=0,eN.length=n,i=i>>>0>>>3;for(var o=0;o<n;o++)eN[o]=u()[i+o>>>0];return t=0>t?ee[-t-1]:tp[t],ed.zb=r,r=t.apply(null,eN),ed.zb=0,r},O:eL,X:function(t){b&&ed.$a[t>>>0].ref()},u:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),o()[n>>>2>>>0]=t.getUTCSeconds(),o()[n+4>>>2>>>0]=t.getUTCMinutes(),o()[n+8>>>2>>>0]=t.getUTCHours(),o()[n+12>>>2>>>0]=t.getUTCDate(),o()[n+16>>>2>>>0]=t.getUTCMonth(),o()[n+20>>>2>>>0]=t.getUTCFullYear()-1900,o()[n+24>>>2>>>0]=t.getUTCDay(),t=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,o()[n+28>>>2>>>0]=t},v:function(t,r,n){n>>>=0,t=new Date(1e3*(t=r+2097152>>>0<4194305-!!t?(t>>>0)+0x100000000*r:NaN)),o()[n>>>2>>>0]=t.getSeconds(),o()[n+4>>>2>>>0]=t.getMinutes(),o()[n+8>>>2>>>0]=t.getHours(),o()[n+12>>>2>>>0]=t.getDate(),o()[n+16>>>2>>>0]=t.getMonth(),o()[n+20>>>2>>>0]=t.getFullYear()-1900,o()[n+24>>>2>>>0]=t.getDay(),r=(eF(t.getFullYear())?eU:ej)[t.getMonth()]+t.getDate()-1|0,o()[n+28>>>2>>>0]=r,o()[n+36>>>2>>>0]=-60*t.getTimezoneOffset(),r=new Date(t.getFullYear(),6,1).getTimezoneOffset();var i=new Date(t.getFullYear(),0,1).getTimezoneOffset();t=0|(r!=i&&t.getTimezoneOffset()==Math.min(i,r)),o()[n+32>>>2>>>0]=t},w:function(t){t>>>=0;var r=new Date(o()[t+20>>>2>>>0]+1900,o()[t+16>>>2>>>0],o()[t+12>>>2>>>0],o()[t+8>>>2>>>0],o()[t+4>>>2>>>0],o()[t>>>2>>>0],0),n=o()[t+32>>>2>>>0],i=r.getTimezoneOffset(),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=new Date(r.getFullYear(),0,1).getTimezoneOffset(),u=Math.min(s,a);return 0>n?o()[t+32>>>2>>>0]=+(a!=s&&u==i):0<n!=(u==i)&&(a=Math.max(s,a),r.setTime(r.getTime()+6e4*((0<n?u:a)-i))),o()[t+24>>>2>>>0]=r.getDay(),n=(eF(r.getFullYear())?eU:ej)[r.getMonth()]+r.getDate()-1|0,o()[t+28>>>2>>>0]=n,o()[t>>>2>>>0]=r.getSeconds(),o()[t+4>>>2>>>0]=r.getMinutes(),o()[t+8>>>2>>>0]=r.getHours(),o()[t+12>>>2>>>0]=r.getDate(),o()[t+16>>>2>>>0]=r.getMonth(),o()[t+20>>>2>>>0]=r.getYear(),isNaN(t=r.getTime())?(o()[tv()>>>2>>>0]=61,t=-1):t/=1e3,tL(1<=+Math.abs(Q=t)?0<Q?Math.floor(Q/0x100000000)>>>0:~~Math.ceil((Q-(~~Q>>>0))/0x100000000)>>>0:0),t>>>0}
3833,s:ez,t:eG,C:function(t,r,n){function i(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}t>>>=0,r>>>=0,n>>>=0;var s=new Date().getFullYear(),u=new Date(s,0,1),l=new Date(s,6,1);s=u.getTimezoneOffset();var h=l.getTimezoneOffset(),c=Math.max(s,h);a()[t>>>2>>>0]=60*c,o()[r>>>2>>>0]=+(s!=h),t=i(u),r=i(l),t=eW(t),r=eW(r),h<s?(a()[n>>>2>>>0]=t,a()[n+4>>>2>>>0]=r):(a()[n>>>2>>>0]=r,a()[n+4>>>2>>>0]=t)},d:()=>{Y("")},c:function(t,r,n){return t>>>=0,r=eq(r>>>0,n>>>0),ee[t].apply(null,r)},k:function(t,r,n){return t>>>=0,r=eq(r>>>0,n>>>0),ee[t].apply(null,r)},o:()=>{},q:()=>Date.now(),W:()=>{throw ei+=1,"unwind"},E:function(){return 0xffff0000},f:()=>performance.timeOrigin+performance.now(),g:()=>b?(oT(),e7(tk)).cpus().length:navigator.hardwareConcurrency,A:function(t){t>>>=0;var r=i().length;if(t<=r||0xffff0000<t)return!1;for(var n=1;4>=n;n*=2){var o=r*(1+.2/n);o=Math.min(o,t+0x6000000);var a=Math;o=Math.max(t,o);e:{a=(a.min.call(a,0xffff0000,o+(65536-o%65536)%65536)-P.buffer.byteLength+65535)/65536;try{P.grow(a),F();var s=1;break e}catch{}s=void 0}if(s)return!0}return!1},Q:eK,R:eZ,K:eh,h:eQ,m:e1,x:e0,l:e6,y:function(t,r){return t>>>=0,r>>>=0,e5(i().subarray(t>>>0,t+r>>>0)),0},a:P||t.wasmMemory,B:e8,e:function(t,r,n,i){return e8(t>>>0,r>>>0,n>>>0,i>>>0)},j:function(t,r,n,o){let a=e4.length;t=new Uint8Array(i().slice(t+r,t+n));try{var s,u=new WebAssembly.Module(t),l=new WebAssembly.Instance(u,{env:{memory:P}});for(s in l.exports)td(l.exports[s]);return a<e4.length?a:o}catch(t){return console.log(t),o}}},tg=function(){function r(t,r){var n,i,o;return tg=t.exports,n=Object.assign({},n=tg=function(){var t={};for(let[r,n]of Object.entries(tg))t[r]="function"==typeof n?function(){to.push(r);try{return n.apply(null,arguments)}finally{N||(to.pop(),tn&&1===tr&&0===to.length&&(tr=0,ei+=1,tt(tG),"u">typeof Fibers&&Fibers.Xb()))}}:n;return t}()),i=t=>()=>t()>>>0,o=t=>r=>t(r)>>>0,n.Da=i(n.Da),n.Ea=i(n.Ea),n.Fa=o(n.Fa),n.emscripten_main_runtime_thread_id=i(n.emscripten_main_runtime_thread_id),n.Ra=i(n.Ra),n.Ta=o(n.Ta),tg=n,ed.ub.push(tg.Ha),e4=tg.Ia,z.unshift(tg.Z),k=r,q(),tg}var n,i,o={a:ty};if(V++,t.instantiateWasm)try{return t.instantiateWasm(o,r)}catch(t){I(`Module.instantiateWasm callback failed with error: ${t}`),h(t)}return(n=function(t){r(t.instance,t.module)},i=X,"function"!=typeof WebAssembly.instantiateStreaming||i.startsWith("data:application/octet-stream;base64,")||K(i)||b||"function"!=typeof fetch?J(i,o,n):fetch(i,{credentials:"same-origin"}).then(t=>WebAssembly.instantiateStreaming(t,o).then(n,function(t){return I(`wasm streaming compile failed: ${t}`),I("falling back to ArrayBuffer instantiation"),J(i,o,n)}))).catch(h),{}}();t._OrtInit=(r,n)=>(t._OrtInit=tg._)(r,n),t._OrtGetLastError=(r,n)=>(t._OrtGetLastError=tg.$)(r,n),t._OrtCreateSessionOptions=(r,n,i,o,a,s,u,l,h,c)=>(t._OrtCreateSessionOptions=tg.aa)(r,n,i,o,a,s,u,l,h,c),t._OrtAppendExecutionProvider=(r,n)=>(t._OrtAppendExecutionProvider=tg.ba)(r,n),t._OrtAddFreeDimensionOverride=(r,n,i)=>(t._OrtAddFreeDimensionOverride=tg.ca)(r,n,i),t._OrtAddSessionConfigEntry=(r,n,i)=>(t._OrtAddSessionConfigEntry=tg.da)(r,n,i),t._OrtReleaseSessionOptions=r=>(t._OrtReleaseSessionOptions=tg.ea)(r),t._OrtCreateSession=(r,n,i)=>(t._OrtCreateSession=tg.fa)(r,n,i),t._OrtReleaseSession=r=>(t._OrtReleaseSession=tg.ga)(r),t._OrtGetInputOutputCount=(r,n,i)=>(t._OrtGetInputOutputCount=tg.ha)(r,n,i),t._OrtGetInputName=(r,n)=>(t._OrtGetInputName=tg.ia)(r,n),t._OrtGetOutputName=(r,n)=>(t._OrtGetOutputName=tg.ja)(r,n),t._OrtFree=r=>(t._OrtFree=tg.ka)(r),t._OrtCreateTensor=(r,n,i,o,a,s)=>(t._OrtCreateTensor=tg.la)(r,n,i,o,a,s),t._OrtGetTensorData=(r,n,i,o,a)=>(t._OrtGetTensorData=tg.ma)(r,n,i,o,a),t._OrtReleaseTensor=r=>(t._OrtReleaseTensor=tg.na)(r),t._OrtCreateRunOptions=(r,n,i,o)=>(t._OrtCreateRunOptions=tg.oa)(r,n,i,o),t._OrtAddRunConfigEntry=(r,n,i)=>(t._OrtAddRunConfigEntry=tg.pa)(r,n,i),t._OrtReleaseRunOptions=r=>(t._OrtReleaseRunOptions=tg.qa)(r),t._OrtCreateBinding=r=>(t._OrtCreateBinding=tg.ra)(r),t._OrtBindInput=(r,n,i)=>(t._OrtBindInput=tg.sa)(r,n,i),t._OrtBindOutput=(r,n,i,o)=>(t._OrtBindOutput=tg.ta)(r,n,i,o),t._OrtClearBoundOutputs=r=>(t._OrtClearBoundOutputs=tg.ua)(r),t._OrtReleaseBinding=r=>(t._OrtReleaseBinding=tg.va)(r),t._OrtRunWithBinding=(r,n,i,o,a)=>(t._OrtRunWithBinding=tg.wa)(r,n,i,o,a),t._OrtRun=(r,n,i,o,a,s,u,l)=>(t._OrtRun=tg.xa)(r,n,i,o,a,s,u,l),t._OrtEndProfiling=r=>(t._OrtEndProfiling=tg.ya)(r),t._OrtConfigure=(r,n)=>(t._OrtConfigure=tg.za)(r,n),t._OrtAuth=(r,n)=>(t._OrtAuth=tg.Aa)(r,n),t._JsepOutput=(r,n,i)=>(t._JsepOutput=tg.Ba)(r,n,i),t._JsepGetNodeName=r=>(t._JsepGetNodeName=tg.Ca)(r);var tv=()=>(tv=tg.Da)(),tb=t._pthread_self=()=>(tb=t._pthread_self=tg.Ea)(),t_=t._malloc=r=>(t_=t._malloc=tg.Fa)(r),tE=t._free=r=>(tE=t._free=tg.Ga)(r);t.__emscripten_tls_init=()=>(t.__emscripten_tls_init=tg.Ha)();var tA=t.__emscripten_thread_init=(r,n,i,o,a,s)=>(tA=t.__emscripten_thread_init=tg.Ja)(r,n,i,o,a,s);t.__emscripten_thread_crashed=()=>(t.__emscripten_thread_crashed=tg.Ka)();var tC,t$=(t,r,n,i)=>(t$=tg.La)(t,r,n,i),tR=t=>(tR=tg.Ma)(t),tD=t.__emscripten_thread_exit=r=>(tD=t.__emscripten_thread_exit=tg.Na)(r),tM=()=>(tM=tg.Oa)(),tL=t=>(tL=tg.Pa)(t),tB=(t,r)=>(tB=tg.Qa)(t,r),tN=()=>(tN=tg.Ra)(),tF=t=>(tF=tg.Sa)(t),tU=t=>(tU=tg.Ta)(t),tj=t.dynCall_ii=(r,n)=>(tj=t.dynCall_ii=tg.Va)(r,n),tz=t=>(tz=tg.Wa)(t),tG=()=>(tG=tg.Xa)(),tV=t=>(tV=tg.Ya)(t),tW=()=>(tW=tg.Za)();function tH(){if(!(0<V))if(w)l(t),w||ep(z),startWorker(t);else{if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)j.unshift(t.preRun.shift());ep(j),0<V||tC||(tC=!0,t.calledRun=!0,N||(w||ep(z),l(t),w||ep(G)))}}
3833return t.___start_em_js=914981,t.___stop_em_js=915754,t.wasmMemory=P,t.stackAlloc=tU,t.stackSave=tN,t.stackRestore=tF,t.keepRuntimeAlive=()=>0<ei,t.addFunction=td,t.UTF8ToString=es,t.stringToUTF8=eT,t.lengthBytesUTF8=ex,t.ExitStatus=et,t.PThread=ed,H=function t(){tC||tH(),tC||(H=t)},tH(),t.ready});"object"==typeof t&&"object"==typeof r?r.exports=i:"function"==typeof define&&define.amd&&define([],()=>i)}),oE=e9((t,r)=>{r.exports='"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\n'}),oO=e5(()=>{t$=tA(),tR=oS(),tM=!1,tL=!1,tB=!1,tN=async t=>{let r,n;if(tM)return Promise.resolve();if(tL)throw Error("multiple calls to 'initializeWebAssembly()' detected.");if(tB)throw Error("previous call to 'initializeWebAssembly()' failed.");tL=!0;let i=t.initTimeout,o=t.numThreads,a=t.simd,s=(t=>{if(1===t)return!1;if(typeof SharedArrayBuffer>"u")return"u">typeof self&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+t+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;"u">typeof eJ&&eJ.versions&&eJ.versions.node&&console.warn("env.wasm.numThreads is set to "+t+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return"u">typeof MessageChannel&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}})(o),u=a&&(()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}}
3833)(),l=t.wasmPaths,h="string"==typeof l?l:void 0,c=(r=u,n=s,r?n?"ort-wasm-simd-threaded.wasm":"ort-wasm-simd.wasm":n?"ort-wasm-threaded.wasm":"ort-wasm.wasm"),f="object"==typeof l?l[c]:void 0,d=!1,p=[];if(i>0&&p.push(new Promise(t=>{setTimeout(()=>{d=!0,t()},i)})),p.push(new Promise((t,r)=>{let n=s?tR:t$,i={locateFile:(t,r)=>{if(s&&t.endsWith(".worker.js")&&"u">typeof Blob)return URL.createObjectURL(new Blob([oE()],{type:"text/javascript"}));if(t.endsWith(".wasm")){if(f)return f;let t=h??r;return"ort-wasm-simd.wasm"===c?t+"ort-wasm-simd.jsep.wasm":"ort-wasm-simd-threaded.wasm"===c?t+"ort-wasm-simd-threaded.jsep.wasm":t+c}return r+t}};s&&((i.numThreads=o,typeof Blob>"u")?i.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js"):i.mainScriptUrlOrBlob=new Blob([`var ortWasmThreaded=${n.toString()};`],{type:"text/javascript"})),n(i).then(r=>{tL=!1,tM=!0,tD=r,t()},t=>{tL=!1,tB=!0,r(t)})})),await Promise.race(p),d)throw Error(`WebAssembly backend initializing failed due to timeout: ${i}ms`)},tF=()=>{if(tM&&tD)return tD;throw Error("WebAssembly is not initialized yet.")}}),oA=e5(()=>{oO(),tU=(t,r)=>{let n=tF(),i=n.lengthBytesUTF8(t)+1,o=n._malloc(i);return n.stringToUTF8(t,o,i),r.push(o),o},tj=(t,r,n,i)=>{if("object"==typeof t&&null!==t){if(n.has(t))throw Error("Circular reference in options");n.add(t)}Object.entries(t).forEach(t=>{let[o,a]=t,s=r?r+o:o;if("object"==typeof a)tj(a,s+".",n,i);else if("string"==typeof a||"number"==typeof a)i(s,a.toString());else{if("boolean"!=typeof a)throw Error("Can't handle extra config type: "+typeof a);i(s,a?"1":"0")}})},tz=t=>{let r=tF(),n=r.stackSave();try{let n=r.stackAlloc(8);r._OrtGetLastError(n,n+4);let i=r.HEAP32[n/4],o=r.HEAPU32[n/4+1],a=o?r.UTF8ToString(o):"";throw Error(`${t} ERROR_CODE: ${i}, ERROR_MESSAGE: ${a}`)}finally{r.stackRestore(n)}}}),oI=e5(()=>{oO(),oA(),tG=t=>{let r=tF(),n=0,i=[],o=t||{};try{if(void 0===t?.logSeverityLevel)o.logSeverityLevel=2;else if("number"!=typeof t.logSeverityLevel||!Number.isInteger(t.logSeverityLevel)||t.logSeverityLevel<0||t.logSeverityLevel>4)throw Error(`log serverity level is not valid: ${t.logSeverityLevel}`);if(void 0===t?.logVerbosityLevel)o.logVerbosityLevel=0;else if("number"!=typeof t.logVerbosityLevel||!Number.isInteger(t.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${t.logVerbosityLevel}`);void 0===t?.terminate&&(o.terminate=!1);let a=0;return void 0!==t?.tag&&(a=tU(t.tag,i)),n=r._OrtCreateRunOptions(o.logSeverityLevel,o.logVerbosityLevel,!!o.terminate,a),0===n&&tz("Can't create run options."),void 0!==t?.extra&&tj(t.extra,"",new WeakSet,(t,o)=>{let a=tU(t,i),s=tU(o,i);0!==r._OrtAddRunConfigEntry(n,a,s)&&tz(`Can't set a run config entry: ${t} - ${o}.`)}),[n,i]}catch(t){throw 0!==n&&r._OrtReleaseRunOptions(n),i.forEach(t=>r._free(t)),t}}}),oP=e5(()=>{oO(),oA(),tV=t=>{var r;let n,i=tF(),o=0,a=[],s=t||{};(r=s).extra||(r.extra={}),r.extra.session||(r.extra.session={}),(n=r.extra.session).use_ort_model_bytes_directly||(n.use_ort_model_bytes_directly="1"),r.executionProviders&&r.executionProviders.some(t=>"webgpu"===("string"==typeof t?t:t.name))&&(r.enableMemPattern=!1);try{let t=(t=>{switch(t){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw Error(`unsupported graph optimization level: ${t}`)}})(s.graphOptimizationLevel??"all"),r=(t=>{switch(t){case"sequential":return 0;case"parallel":return 1;default:throw Error(`unsupported execution mode: ${t}`)}})(s.executionMode??"sequential"),n="string"==typeof s.logId?tU(s.logId,a):0,u=s.logSeverityLevel??2;if(!Number.isInteger(u)||u<0||u>4)throw Error(`log serverity level is not valid: ${u}`);let l=s.logVerbosityLevel??0;if(!Number.isInteger(l)||l<0||l>4)throw Error(`log verbosity level is not valid: ${l}`);let h="string"==typeof s.optimizedModelFilePath?tU(s.optimizedModelFilePath,a):0;if(o=i._OrtCreateSessionOptions(t,!!s.enableCpuMemArena,!!s.enableMemPattern,r,!!s.enableProfiling,0,n,u,l,h),0===o&&tz("Can't create session options."),s.executionProviders&&((t,r,n)=>{for(let i of r){let r="string"==typeof i?i:i.name;switch(r){case"webnn":if(r="WEBNN","string"!=typeof i){if(i?.deviceType){let r=tU("deviceType",n),o=tU(i.deviceType,n);0!==tF()._OrtAddSessionConfigEntry(t,r,o)&&tz(`Can't set a session config entry: 'deviceType' - ${i.deviceType}.`)}if(i?.numThreads){let r=i.numThreads;("number"!=typeof r||!Number.isInteger(r)||r<0)&&(r=0);let o=tU("numThreads",n),a=tU(r.toString(),n);0!==tF()._OrtAddSessionConfigEntry(t,o,a)&&tz(`Can't set a session config entry: 'numThreads' - ${i.numThreads}.`)}if(i?.powerPreference){let r=tU("powerPreference",n),o=tU(i.powerPreference,n);0!==tF()._OrtAddSessionConfigEntry(t,r,o)&&tz(`Can't set a session config entry: 'powerPreference' - ${i.powerPreference}.`)}}break;case"webgpu":if(r="JS","string"!=typeof i&&i?.preferredLayout){if("NCHW"!==i.preferredLayout&&"NHWC"!==i.preferredLayout)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${i.preferredLayout}`);
3833let r=tU("preferredLayout",n),o=tU(i.preferredLayout,n);0!==tF()._OrtAddSessionConfigEntry(t,r,o)&&tz(`Can't set a session config entry: 'preferredLayout' - ${i.preferredLayout}.`)}break;case"wasm":case"cpu":continue;default:throw Error(`not supported execution provider: ${r}`)}let o=tU(r,n);0!==tF()._OrtAppendExecutionProvider(t,o)&&tz(`Can't append execution provider: ${r}.`)}})(o,s.executionProviders,a),void 0!==s.enableGraphCapture){if("boolean"!=typeof s.enableGraphCapture)throw Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);let t=tU("enableGraphCapture",a),r=tU(s.enableGraphCapture.toString(),a);0!==i._OrtAddSessionConfigEntry(o,t,r)&&tz(`Can't set a session config entry: 'enableGraphCapture' - ${s.enableGraphCapture}.`)}if(s.freeDimensionOverrides)for(let[t,r]of Object.entries(s.freeDimensionOverrides)){if("string"!=typeof t)throw Error(`free dimension override name must be a string: ${t}`);if("number"!=typeof r||!Number.isInteger(r)||r<0)throw Error(`free dimension override value must be a non-negative integer: ${r}`);let n=tU(t,a);0!==i._OrtAddFreeDimensionOverride(o,n,r)&&tz(`Can't set a free dimension override: ${t} - ${r}.`)}return void 0!==s.extra&&tj(s.extra,"",new WeakSet,(t,r)=>{let n=tU(t,a),s=tU(r,a);0!==i._OrtAddSessionConfigEntry(o,n,s)&&tz(`Can't set a session config entry: ${t} - ${r}.`)}),[o,a]}catch(t){throw 0!==o&&i._OrtReleaseSessionOptions(o),a.forEach(t=>i._free(t)),t}}}),ok=e5(()=>{tW=t=>{switch(t){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw Error(`unsupported data type: ${t}`)}},tH=t=>{switch(t){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw Error(`unsupported data type: ${t}`)}},tq=t=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][t],tY=t=>{switch(t){case"float16":case"uint16":return Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw Error(`unsupported type: ${t}`)}},tX=t=>{switch(t){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw Error(`unsupported logging level: ${t}`)}},tK=t=>"float32"===t||"int32"===t||"int64"===t||"bool"===t||"float16"===t||"uint32"===t,tZ=t=>{switch(t){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw Error(`unsupported data location: ${t}`)}}}),oC=e5(()=>{tJ=async t=>{if("string"!=typeof t)return t instanceof Blob?new Uint8Array(await t.arrayBuffer()):t instanceof Uint8Array?t:new Uint8Array(t);if(!("u">typeof eJ&&eJ.versions&&eJ.versions.node)){let r=await fetch(t);if(!r.ok)throw Error(`failed to load external data file: ${t}`);let n=r.headers.get("Content-Length"),i=n?parseInt(n,10):0;if(i<0x40000000)return new Uint8Array(await r.arrayBuffer());{if(!r.body)throw Error(`failed to load external data file: ${t}, no response body.`);let n,o=r.body.getReader();try{n=new ArrayBuffer(i)}catch(t){if(!(t instanceof RangeError))throw t;{let t=Math.ceil(i/65536);n=new WebAssembly.Memory({initial:t,maximum:t}).buffer}}let a=0;for(;;){let{done:t,value:r}=await o.read();if(t)break;let i=r.byteLength;new Uint8Array(n,a,i).set(r),a+=i}return new Uint8Array(n,0,i)}}try{return new Uint8Array(await (void 0)(t))}catch(r){if("ERR_FS_FILE_TOO_LARGE"===r.code){let r=(void 0)(t),n=[];for await(let t of r)n.push(t);return new Uint8Array(eQ.concat(n))}throw r}}}),o$=e5(()=>{ok(),tQ=["V","I","W","E","F"],t3=(t,r)=>{t1=t,t0=r},t6=function(){t0&&((t,r)=>{var n,i;let o=tX(t);o>=tX(t1)&&(n=o,i="function"==typeof r?r():r,console.log(`[${tQ[n]},${new Date().toISOString()}]${i}`))})(...arguments)}}),oR=e5(()=>{ok(),t5=(t,r)=>new(tY(r))(t)}),oD=e5(()=>{}),oM=e5(()=>{o$(),oD(),t9=t=>16*Math.ceil(t/16),t2=1,t7=()=>t2++,t8=1,t4=()=>t8++,re=async(t,r,n,i)=>{let o=t9(n),a=t.device.createBuffer({size:o,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let s=t.getCommandEncoder();t.endComputePass(),s.copyBufferToBuffer(r,0,a,0,o),t.flush(),await a.mapAsync(GPUMapMode.READ);let u=a.getMappedRange();if(i){let t=i();return t.set(new Uint8Array(u,0,n)),t}return new Uint8Array(u.slice(0,n))}finally{a.destroy()}},rt=class{constructor(t){this.backend=t,this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersForUploadingPending=[],this.buffersPending=[],this.externalBuffers=new Map,this.capturedPendingBuffers=new Map}upload(t,r){let n=r.buffer,i=r.byteOffset,o=r.byteLength,a=t9(o),s=this.storageCache.get(t);if(!s)throw Error("gpu data for uploading does not exist");if(s.originalSize!==o)throw Error(`inconsistent data size. gpu data size=${s.originalSize}, data size=${o}`);let u=this.backend.device.createBuffer({mappedAtCreation:!0,size:a,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC});new Uint8Array(u.getMappedRange()).set(new Uint8Array(n,i,o)),u.unmap();let l=this.backend.getCommandEncoder();this.backend.endComputePass(),l.copyBufferToBuffer(u,0,s.gpuData.buffer,0,a),t6("verbose",()=>`[WebGPU] GpuDataManager.upload(id=${t})`),this.buffersForUploadingPending.push(u)}memcpy(t,r){let n=this.storageCache.get(t);if(!n)throw Error("source gpu data for memcpy does not exist");let i=this.storageCache.get(r);if(!i)throw Error("destination gpu data for memcpy does not exist");if(n.originalSize!==i.originalSize)throw Error("inconsistent source and destination gpu data size");let o=t9(n.originalSize),a=this.backend.getCommandEncoder();this.backend.endComputePass(),a.copyBufferToBuffer(n.gpuData.buffer,0,i.gpuData.buffer,0,o)}registerExternalBuffer(t,r,n){let i;if(n){if(void 0===(i=this.externalBuffers.get(n)))throw Error("previous buffer is not registered");if(t===n)return t6("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${i}, buffer is the same, skip.`),i;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw Error(`Registering a different external buffer under graph capture mode is not supported yet.
3834             Please use the previous external buffer!`);this.externalBuffers.delete(n)}else i=t7();return this.storageCache.set(i,{gpuData:{id:i,type:0,buffer:t,permamentID:t4()},originalSize:r}),this.externalBuffers.set(t,i),t6("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${i}, registered.`),i}unregisterExternalBuffer(t){let r=this.externalBuffers.get(t);void 0!==r&&(this.storageCache.delete(r),this.externalBuffers.delete(t),t6("verbose",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${r}`))}create(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST,n,i=t9(t),o=(r&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,a=(r&GPUBufferUsage.UNIFORM)===GP
3834UBufferUsage.UNIFORM;if(o||a){let t=o?this.freeBuffers:this.freeUniformBuffers,a=t.get(i);a||(a=[],t.set(i,a)),n=a.length>0?a.pop():{buffer:this.backend.device.createBuffer({size:i,usage:r}),permamentID:t4()}}else n={buffer:this.backend.device.createBuffer({size:i,usage:r}),permamentID:t4()};let s={id:t7(),type:0,buffer:n.buffer,permamentID:n.permamentID};return this.storageCache.set(s.id,{gpuData:s,originalSize:t}),t6("verbose",()=>`[WebGPU] GpuDataManager.create(size=${t}) => id=${s.id}`),s}get(t){return this.storageCache.get(t)?.gpuData}release(t){let r=this.storageCache.get(t);if(!r)throw Error("releasing data does not exist");return t6("verbose",()=>`[WebGPU] GpuDataManager.release(id=${t}), gpuDataId=${r.gpuData.id}`),this.storageCache.delete(t),this.buffersPending.push({buffer:r.gpuData.buffer,permamentID:r.gpuData.permamentID}),r.originalSize}async download(t,r){let n=this.storageCache.get(t);if(!n)throw Error("data does not exist");await re(this.backend,n.gpuData.buffer,n.originalSize,r)}refreshPendingBuffers(){for(let t of this.buffersForUploadingPending)t.destroy();if(this.buffersForUploadingPending=[],0!==this.buffersPending.length)if("default"===this.backend.sessionStatus){for(let t of this.buffersPending)(t.buffer.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE?this.freeBuffers.get(t.buffer.size).push(t):(t.buffer.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM?this.freeUniformBuffers.get(t.buffer.size).push(t):t.buffer.destroy();this.buffersPending=[]}else{let t=this.capturedPendingBuffers.get(this.backend.currentSessionId);for(let r of(t||(t=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,t)),this.buffersPending))t.push(r);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(t=>{t.forEach(t=>{t.buffer.destroy()})}),this.freeUniformBuffers.forEach(t=>{t.forEach(t=>{t.buffer.destroy()})}),this.storageCache.forEach(t=>{t.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(t=>{t.forEach(t=>{t.buffer.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onReleaseSession(t){let r=this.capturedPendingBuffers.get(t);r&&(r.forEach(t=>{t.buffer.destroy()}),this.capturedPendingBuffers.delete(t))}},rr=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return new rt(...r)}}),oL=e5(()=>{rn=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(";")),this.key}},ri=t=>new rn(t)}),oB=e5(()=>{ro=class{static calcMatMulShape(t,r){return t[1]!==r[0]?void 0:[t[0],r[1]]}},ra=class{static calcShape(t,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=t.length,o=r.length;if(0===i)return r;if(0===o)return t;let a=Math.max(t.length,r.length),s=Array(a);if(n){if(i<2||o<2)return;let n=ro.calcMatMulShape([t[i-2],t[i-1]],[r[o-2],r[o-1]]);if(void 0===n)return;[s[a-2],s[a-1]]=n}for(let u=n?3:1;u<=a;u++){let n=i-u<0?1:t[i-u],l=o-u<0?1:r[o-u];if(n!==l&&n>1&&l>1)return;s[a-u]=Math.max(n,l)}return s}static isValidBroadcast(t,r){let n=t.length,i=r.length;if(n>i)return!1;for(let o=1;o<=n;o++)if(1!==t[n-o]&&t[n-o]!==r[i-o])return!1;return!0}},rs=class t{static size(r){return t.getSizeFromDimensionRange(r,0,r.length)}static sizeFromDimension(r,n){if(n<0||n>r.length)throw Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${r.length} dimensions.`);return t.getSizeFromDimensionRange(r,n,r.length)}static sizeToDimension(r,n){if(n<0||n>r.length)throw Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${r.length} dimensions.`);return t.getSizeFromDimensionRange(r,0,n)}static getSizeFromDimensionRange(t,r,n){let i=1;for(let o=r;o<n;o++){if(t[o]<0)throw Error("cannot get valid size from specified dimension range. Most likely the range contains negative values in them.");i*=t[o]}return i}static computeStrides(t){let r=t.length;if(0===r)return[];if(1===r)return[1];let n=Array(r);n[r-1]=1,n[r-2]=t[r-1];for(let i=r-3;i>=0;--i)n[i]=n[i+1]*t[i+1];return n}static normalizeAxis(t,r){if(t<-r&&t>=r)throw Error("unsupported axis for this operation.");return t<0?t+r:t}static normalizeAxes(t,r){return t.map(n=>this.normalizeAxis(n,r??t.length))}static sortBasedOnPerm(t,r){return r?r.map(r=>t[r]):t.slice().reverse()}static padShape(t,r){let n=t.length;return t.map((t,i)=>t+r[i]+r[i+n])}static areEqual(t,r){return t.length===r.length&&t.every((t,n)=>t===r[n])}},ru=class t{static adjustPoolAttributes(t,r,n,i,o,a){if(!t&&n.length!==r.length-2)throw Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(t)for(let t=0;t<r.length-2;t++)t>=n.length?n.push(r[t+2]):n[t]=r[t+2];for(let t=0;t<n.length;t++)if(t<i.length){if(i[t]<0)throw Error("strides should be greater than or equal to 1")}else i.push(1);for(let t=0;t<n.length;t++)if(t<o.length){if(o[t]<0)throw Error("dilations should be greater than or equal to 1")}else o.push(1);for(let t=0;t<2*n.length;t++)if(t<a.length){if(a[t]<0)throw Error("pad should be greater than or equal to 1")}else a.push(0);for(let t=0;t<n.length;t++){if(n[t]<=0)throw Error("kernel shapes need to be greater than 0");if(a[t]>=n[t]||a[t+n.length]>=n[t])throw Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(r,n,i,o,a,s,u){if(u){if(a.length!==2*(r.length-2))throw Error("length of pads should be twice the length of data dimensions");
3834if(n.length!==r.length-2)throw Error("length of strides should be the length of data dimensions");if(o.length!==r.length-2)throw Error("length of kernel shapes should be the length of data dimensions");for(let l=0;l<r.length-2;l++)t.adjustPadAndReturnShape(r[l+(s?1:2)],n[l],i[l],o[l],a,l,l+r.length-2,u)}}static computePoolOutputShape(r,n,i,o,a,s,u){if(n.length<=0)throw Error("input shape must be of size greater than 0");let l=[n[0],n[1]];return t.computeShapeHelper(r,n,l,i,o,a,s,u),l}static computeConvOutputShape(r,n,i,o,a,s,u){if(r.length<=0||n.length<=0)throw Error("invalid input tensor dims or invalid filter tensor dims");let l=[r[0],n[0]];return t.computeShapeHelper(!1,r,l,i,o,a,s,u),l}static computeShapeHelper(r,n,i,o,a,s,u,l){if(r)for(let t=0;t<n.length-2;t++)i.push(1);else for(let r=0;r<n.length-2;r++)i.push(t.adjustPadAndReturnShape(n[r+2],o[r],a[r],s[r],u,r,r+n.length-2,l))}static adjustPadAndReturnShape(t,r,n,i,o,a,s,u){let l=n*(i-1)+1;if(!u||"NOTSET"===u)return Math.floor((t+o[a]+o[s]-l)/r+1);switch(u){case"VALID":return o[a]=0,o[s]=0,Math.floor((t-l)/r+1);case"SAME_LOWER":case"SAME_UPPER":if(1!==n)throw Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let n=((t+r-1)/r-1)*r+i-t;return o[a]=Math.floor("SAME_LOWER"===u?(n+1)/2:n/2),o[s]=n-o[a],Math.floor((t+n-i)/r+1)}default:throw Error("Unsupported AutoPad type")}}},rl=class{static getShapeOfGemmResult(t,r,n,i,o){let a,s,u;if(2!==t.length||2!==n.length)throw Error("shape need to be of size 2");r?(a=t[1],s=t[0]):(a=t[0],s=t[1]);let l=-1;if(i?(u=n[0],l=1):(u=n[1],l=0),n[l]!==s)throw Error("dimension mismatch");if(a<=0||u<=0||s<=0)throw Error("invalid shape specified");if(o&&!ra.isValidBroadcast(o,[a,u]))throw Error("gemm: invalid bias shape for broadcast");return[a,u,s]}},rh=-34028234663852886e22,rc=34028234663852886e22}),oN=e5(()=>{ok(),oB(),rf=(t,r)=>{if(3===r)throw Error("vec3 has same alignment as vec4, use vec4 instead");switch(t){case 10:return r>1?`vec${r}<f16>`:"f16";case 1:return r>1?`vec${r}<f32>`:"f32";case 6:return r>1?`vec${r}<i32>`:"i32";case 12:return r>1?`vec${r}<u32>`:"u32";case 7:if(r>1)throw Error("currently not supported vecX of uint64 yet");return["vec2<u32>","i32"];case 13:if(r>1)throw Error("currently not supported vecX of uint64 yet");return["vec2<u32>","u32"];case 9:if(4!==r)throw Error("bool must be vec4");return["u32","vec4<bool>"];default:throw Error(`Unknown data type: ${t}`)}},rd=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=rf(t,r);return"string"==typeof n?n:n[0]},rp=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=rf(t,r);return"string"==typeof n?n:n[1]},ry=t=>0===t.length?[]:[{type:"uint32",data:t},{type:"uint32",data:rs.computeStrides(t)}],rm=t=>t%4==0?4:t%2==0?2:1,rg=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"f32",r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0";return r&&1!==r?`vec${r}<${t}>(${n})`:`${t}(${n})`},rv=(t,r,n)=>"f32"===t?n:1===r?`f32(${n})`:`vec${r}f(${n})`,rb=(t,r)=>4===r?`(${t}.x + ${t}.y + ${t}.z + ${t}.w)`:2===r?`(${t}.x + ${t}.y)`:3===r?`(${t}.x + ${t}.y + ${t}.z)`:t,rw=(t,r,n)=>t.startsWith("uniforms.")&&n>4?"string"==typeof r?`${t}[(${r}) / 4][(${r}) % 4]`:`${t}[${Math.floor(r/4)}][${r%4}]`:n>1?`${t}[${r}]`:t,rx=(t,r,n,i,o)=>{let a,s,u,l,h="number"==typeof n,c=h?n:n.length,f=[...Array(c).keys()],d=c<2?"u32":c<=4?`vec${c}<u32>`:`array<u32, ${c}>`,p=rf(r,o),y="string"==typeof p?p:p[1],m={indices:d,value:y,storage:"string"==typeof p?p:p[0],tensor:r},g=t=>"string"==typeof t?t:`${t}u`,v={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},b=h?"uniforms.":"",w=`${b}${t}_shape`,x=`${b}${t}_strides`,_="";for(let t=0;t<c-1;t++)_+=`
3835    let dim${t} = current / ${rw(x,t,c)};
3836    let rest${t} = current % ${rw(x,t,c)};
3837    indices[${t}] = dim${t};
3838    current = rest${t};
3839    `;_+=`indices[${c-1}] = current;`;let T=c<2?"":`
3840  fn o2i_${t}(offset: u32) -> ${m.indices} {
3841    var indices: ${m.indices};
3842    var current = offset;
3843    ${_}
3844    return indices;
3845  }`,S=[];if(c>=2)for(let t=c-1;t>=0;t--)S.push(`${rw(x,t,c)} * (indices[${t}])`);let E=c<2?"":`
3846  fn i2o_${t}(indices: ${m.indices}) -> u32 {
3847    return ${S.join("+")};
3848  }`,O=function(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return 0===c?"0u":`${m.indices}(${r.map(g).join(",")})`},A=(t,r)=>c<2?`${t}`:`${rw(t,r,c)}`,I={},P=(r,n)=>(()=>
3848{if(m.storage===m.value)return`${t}[${r}]=${n};`;if("vec2<u32>"===m.storage&&"i32"===m.value)return`${t}[${r}]=vec2<u32>(u32(${n}), select(0u, 0xFFFFFFFFu, ${n} < 0));`;if("vec2<u32>"===m.storage&&"u32"===m.value)return`${t}[${r}]=vec2<u32>(u32(${n}), 0u);`;if("u32"===m.storage&&"vec4<bool>"===m.value)return`${t}[${r}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${n}));`;throw Error(`not supported combination of storage type ${m.storage} and value type ${m.value} yet`)})(),k=r=>(()=>{if(m.storage===m.value)return`${t}[${r}]`;if("vec2<u32>"===m.storage&&"i32"===m.value)return`i32(${t}[${r}].x)`;if("vec2<u32>"===m.storage&&"u32"===m.value)return`u32(${t}[${r}].x)`;if("u32"===m.storage&&"vec4<bool>"===m.value)return`vec4<bool>(bool(${t}[${r}] & 0xFFu), bool(${t}[${r}] & 0xFF00u), bool(${t}[${r}] & 0xFF0000u), bool(${t}[${r}] & 0xFF000000u))`;throw Error(`not supported combination of storage type ${m.storage} and value type ${m.value} yet`)})(),C=c<2?"":`
3849  fn get_${t}ByIndices(indices: ${m.indices}) -> ${y} {
3850    return ${k(`i2o_${t}(indices)`)};
3851  }`,$=c<2?"":(a=f.map(t=>`d${t}: u32`).join(", "),s=f.map(t=>`d${t}`).join(", "),`
3852  fn get_${t}(${a}) -> ${y} {
3853    return get_${t}ByIndices(${O(s)});
3854  }`),R=c<2?"":`
3855  fn set_${t}ByIndices(indices: ${m.indices}, value: ${y}) {
3856    ${P(`i2o_${t}(indices)`,"value")}
3857  }`,D=c<2?"":(u=f.map(t=>`d${t}: u32`).join(", "),l=f.map(t=>`d${t}`).join(", "),`
3858  fn set_${t}(${u}, value: ${y}) {
3859    set_${t}ByIndices(${O(l)}, value);
3860  }`);return{impl:()=>{let t=[],r=!1;return v.offsetToIndices&&(t.push(T),r=!0),v.indicesToOffset&&(t.push(E),r=!0),v.broadcastedIndicesToOffset&&(Object.values(I).forEach(r=>t.push(r)),r=!0),v.set&&(t.push(D),r=!0),v.setByIndices&&(t.push(R),r=!0),v.get&&(t.push($),r=!0),v.getByIndices&&(t.push(C),r=!0),!h&&r&&t.unshift(`const ${w} = ${m.indices}(${n.join(",")});`,`const ${x} = ${m.indices}(${rs.computeStrides(n).join(",")});`),t.join(`
3861`)},type:m,offsetToIndices:r=>(v.offsetToIndices=!0,c<2?r:`o2i_${t}(${r})`),indicesToOffset:r=>(v.indicesToOffset=!0,c<2?r:`i2o_${t}(${r})`),broadcastedIndicesToOffset:(r,n)=>{v.broadcastedIndicesToOffset=!0;let i=`${n.name}broadcastedIndicesTo${t}Offset`;if(i in I)return`${i}(${r})`;let o=[];for(let t=c-1;t>=0;t--){let r=n.indicesGet("outputIndices",t+n.rank-c);o.push(`${A(x,t)} * (${r} % ${A(w,t)})`)}return I[i]=`fn ${i}(outputIndices: ${n.type.indices}) -> u32 {
3862             return ${o.length>0?o.join("+"):"0u"};
3863           }`,`${i}(${r})`},indices:O,indicesGet:A,indicesSet:(t,r,n)=>c<2?`${t}=${n};`:`${rw(t,r,c)}=${n};`,set:function(){for(var r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];if(n.length!==c+1)throw Error(`indices length must be ${c}`);let o=n[c];if("string"!=typeof o)throw Error("value must be string");let a=n.slice(0,c).map(g).join(",");return 0===c?P("0u",o):1===c?P(a[0],o):(v.set=!0,v.setByIndices=!0,v.indicesToOffset=!0,`set_${t}(${a}, ${o})`)},setByOffset:P,setByIndices:(r,n)=>c<2?P(r,n):(v.setByIndices=!0,v.indicesToOffset=!0,`set_${t}ByIndices(${r}, ${n});`),get:function(){for(var r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];if(n.length!==c)throw Error(`indices length must be ${c}`);let o=n.map(g).join(",");return 0===c?k("0u"):1===c?k(o[0]):(v.get=!0,v.getByIndices=!0,v.indicesToOffset=!0,`get_${t}(${o})`)},getByOffset:k,getByIndices:r=>c<2?k(r):(v.getByIndices=!0,v.indicesToOffset=!0,`get_${t}ByIndices(${r})`),usage:i,name:t,strides:x,shape:w,rank:c}},r_=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return rx(t,r,n,"input",i)},rT=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return rx(t,r,n,"output",i)},rS=function(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return rx(t,r,n,"internal",i)},rE=class{constructor(t){this.normalizedDispatchGroup=t,this.internalVariables=[],this.variables=[],this.uniforms=[],this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(t){return`if (global_idx >= ${"number"==typeof t?`${t}u`:t}) { return; }`}mainStart(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:64,r="number"==typeof t?t:t[0],n="number"==typeof t?1:t[1],i="number"==typeof t?1:t[2],o=1===this.normalizedDispatchGroup[1]&&1===this.normalizedDispatchGroup[2];return`@compute @workgroup_size(${r}, ${n}, ${i})
3864  fn main(${o?`@builtin(global_invocation_id) global_id : vec3<u32>,
3865    @builtin(workgroup_id) workgroup_id : vec3<u32>,
3866    @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(local_invocation_id) local_id : vec3<u32>,
3867    @builtin(local_invocation_index) local_idx : u32,
3868    @builtin(workgroup_id) workgroup_id : vec3<u32>,
3869    @builtin(num_workgroups) num_workgroups : vec3<u32>`}) {
3870    ${o?"let global_idx = global_id.x; let local_idx = local_id.x;":`let global_idx = (workgroup_id.z * num_workgroups[0] * num_workgroups[1] +
3871          workgroup_id.y * num_workgroups[0] + workgroup_id.x) * ${r*n*i}u + local_idx;`}
3872  `}appendVariableUniforms(t){0!==t.rank&&(t.shape.startsWith("uniforms.")&&this.uniforms.push({name:t.shape.replace("uniforms.",""),type:"u32",length:t.rank}),t.strides.startsWith("uniforms.")&&this.uniforms.push({name:t.strides.replace("uniforms.",""),type:"u32",length:t.rank}))}declareVariable(t,r){if("internal"===t.usage)throw Error("cannot use internal variable with declareVariable(). use registerInternalVariables() instead.");this.variables.push(t),this.appendVariableUniforms(t);let n="input"===t.usage?"read":"read_write",i=t.type.storage;return`@group(0) @binding(${r}) var<storage, ${n}> ${t.name}: array<${i}>;`}declareVariables(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.map(t=>this.declareVariable(t,this.variableIndex++)).join(`
3873`)}registerInternalVariable(t){if("internal"!==t.usage)throw Error("cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.");this.internalVariables.push(t),this.appendVariableUniforms(t)}registerInternalVariables(){for(var t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach(t=>this.registerInternalVariable(t)),this}registerUniform(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return this.uniforms.push({name:t,type:r,length:n}),this}registerUniforms(t){return this.uniforms=this.uniforms.concat(t),this}uniformDeclaration(){if(0===this.uniforms.length)return"";let t=[];for(let{name:r,type:n,length:i}of this.uniforms)if(i&&i>4)t.push(`${r}:array<vec4<${n}>, ${Math.ceil(i/4)}>`);else{let o=null==i||1===i?n:`vec${i}<${n}>`;t.push(`${r}:${o}`)}return`
3874      struct Uniforms { ${t.join(", ")} };
3875      @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(t=>t.impl()).join(`
3876`)+this.internalVariables.map(t=>t.impl()).join(`
3877`)}},rO=t=>new rE(t),rA=(t,r)=>{let n=t.length,i=[];for(let o=0;o<n;o++){let a=n-1-o,s=t[a]||1;(r[r.length-1-o]||1)>1&&1===s&&i.unshift(a)}return i},rI=t=>!0}),oF=e5(()=>{oB(),oL(),oN(),rP=(t,r)=>r&&r.length!==t?[...Array(t).keys()].reverse():r,rk=(t,r)=>{let n,i,o=t.dataType,a=t.dims.length,s=rP(a,r),u=rI(a),l=(n=t.dims,i=s,rs.sortBasedOnPerm(n,rP(n.length,i))),h=u?l.length:l,c=u?a:t.dims,f=rT("output",o,h),d=r_("a",o,c);
3877return{name:"Transpose",shaderCache:{hint:`${r}`,inputDependencies:u?["rank"]:["dims"]},getRunData:t=>{let r=rs.size(l);return{outputs:[{dims:l,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(r/64)},programUniforms:u?[{type:"uint32",data:r},...ry(t[0].dims),...ry(l)]:[{type:"uint32",data:r}]}},getShaderSource:t=>`
3878  ${t.registerUniform("output_size","u32").declareVariables(d,f)}
3879
3880  ${((t,r,n,i)=>{let o=[];o.push(`fn perm(i: ${i.type.indices}) -> ${n.type.indices} {
3881    var a: ${n.type.indices};`);for(let i=0;i<r;++i)o.push(n.indicesSet("a",t[i],`i[${i}]`));return o.push("return a;}"),o.join(`
3882`)})(s,a,d,f)}
3883
3884  ${t.mainStart()}
3885    ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
3886
3887    let indices = ${f.offsetToIndices("global_idx")};
3888    let aIndices = perm(indices);
3889
3890    ${f.setByOffset("global_idx",d.getByIndices("aIndices"))}
3891  }`}},rC=(t,r)=>{(t=>{if(!t||1!==t.length)throw Error("Transpose requires 1 input.")})(t.inputs),t.compute(rk(t.inputs[0],r.perm))},r$=t=>ri({perm:t.perm})}),oU=e5(()=>{oB(),oN(),oj(),oF(),rR={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate * candidate",logSumExp:"bestValue + exp(candidate)",l1:"bestValue + abs(candidate)",l2:"bestValue + candidate * candidate",logSum:"bestValue + candidate"},rD={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate",logSumExp:"bestValue + candidate",l1:"bestValue + candidate",l2:"bestValue + candidate",logSum:"bestValue + candidate"},rM={max:"_A[offset]",min:"_A[offset]",mean:"0",sum:"0",prod:"1",sumSquare:"0",logSumExp:"0",l1:"0",l2:"0",logSum:"0"},rL={max:"bestValue",min:"bestValue",sum:"bestValue",prod:"bestValue",sumSquare:"bestValue",logSumExp:"log(bestValue)",l1:"bestValue",l2:"sqrt(bestValue)",logSum:"log(bestValue)"},rB=(t,r,n,i)=>{var o,a,s,u,l,h,c;let f,d,p,y,m,g,v=1===t.inputs.length?n:rZ(t.inputs,n),b=v.axes;0!==b.length||v.noopWithEmptyAxes||(b=t.inputs[0].dims.map((t,r)=>r));let w=rs.normalizeAxes(b,t.inputs[0].dims.length),x=w,_=t.inputs[0],T=((t,r)=>{let n=[];if(!((t,r)=>{for(let n=0;n<t.length;++n)if(t[t.length-n-1]!==r-1-n)return!1;return!0})(t,r)){for(let i=0;i<r;++i)-1===t.indexOf(i)&&n.push(i);t.forEach(t=>n.push(t))}return n})(x,t.inputs[0].dims.length);T.length>0&&(_=t.compute(rk(t.inputs[0],T),{inputs:[0],outputs:[-1]})[0],x=((t,r)=>{let n=[];for(let i=r-t;i<r;++i)n.push(i);return n})(x.length,_.dims.length));let[S,E]=((t,r)=>{let n=[],i=t.length;for(let o=0;o<i;o++)-1===r.indexOf(o)&&n.push(t[o]);return[n,r.map(r=>t[r])]})(_.dims,x),O=S;v.keepDims&&(O=((t,r)=>{let n=t.length+r.length,i=[],o=0;for(let a=0;a<n;a++)-1===r.indexOf(a)?i.push(t[o++]):i.push(1);return i})(S,w)),t.compute((o=r,a={hint:v.cacheKey,inputDependencies:["type"]},s=[_],u=i,l=t.inputs[0].dataType,h=O,c=E,f=s[0].dims,d=rs.size(h),p=rs.size(c),y=r_("_A",s[0].dataType,f),m=rT("output",l,h),g=`
3892          var<workgroup> aBestValues : array<${m.type.storage}, 32>;
3893       `,{name:o,shaderCache:a,getShaderSource:t=>`
3894        ${t.registerUniform("reduceSize","u32").declareVariables(y,m)}
3895        ${g}
3896        fn DIV_CEIL(a : u32, b : u32) -> u32 {
3897          return ((a - 1u) / b + 1u);
3898         }
3899         ${t.mainStart(32)}
3900
3901          let outputIndex = global_idx / 32;
3902          let offset = outputIndex * uniforms.reduceSize;
3903
3904          var bestValue = ${m.type.storage}(${rM[u]});
3905          let Length = uniforms.reduceSize;
3906          for (var k = local_idx; k < Length; k = k + 32) {
3907           let candidate = ${m.type.storage}(${y.getByOffset("offset + k")});
3908           bestValue = ${rR[u]};
3909          }
3910          aBestValues[local_idx] = bestValue;
3911          workgroupBarrier();
3912
3913         var reduceSize = min(Length, 32u);
3914         for (var currentSize = reduceSize / 2u; reduceSize > 1u;
3915             currentSize = reduceSize / 2u) {
3916           let interval = DIV_CEIL(reduceSize, 2u);
3917           if (local_idx < currentSize) {
3918            let candidate = aBestValues[local_idx + interval];
3919            bestValue = ${rD[u]};
3920            aBestValues[local_idx] = bestValue;
3921           }
3922           reduceSize = interval;
3923           workgroupBarrier();
3924         }
3925
3926         if (local_idx == 0u) {
3927          ${m.setByOffset("outputIndex","mean"===u?`bestValue / ${m.type.storage}(uniforms.reduceSize)`:`${rL[u]}`)};
3928         }
3929        }`,getRunData:()=>({outputs:[{dims:h,dataType:l}],dispatchGroup:{x:d},programUniforms:[{type:"uint32",data:p}]})}),{inputs:[_]})},rN=(t,r)=>{rB(t,"ReduceMeanShared",r,"mean")},rF=(t,r)=>{rB(t,"ReduceL1Shared",r,"l1")},rU=(t,r)=>{rB(t,"ReduceL2Shared",r,"l2")},rj=(t,r)=>{rB(t,"ReduceLogSumExpShared",r,"logSumExp")},rz=(t,r)=>{rB(t,"ReduceMaxShared",r,"max")},rG=(t,r)=>{rB(t,"ReduceMinShared",r,"min")},rV=(t,r)=>{rB(t,"ReduceProdShared",r,"prod")},rW=(t,r)=>{rB(t,"ReduceSumShared",r,"sum")},rH=(t,r)=>{rB(t,"ReduceSumSquareShared",r,"sumSquare")},rq=(t,r)=>{rB(t,"ReduceLogSumShared",r,"logSum")}}),oj=e5(()=>{oB(),oL(),oN(),oU(),rY=t=>{if(!t||0===t.length||t.length>2)throw Error("Reduce op requires 1 or 2 inputs.");if(2===t.length&&1!==t[1].dims.length)throw Error("Invalid axes input dims.")},rX=t=>["","",`var value = ${t.getByIndices("input_indices")};`,""],rK=function(t,r,n,i,o,a){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],u=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=[],h=n[0].dims,c=h.length,f=rs.normalizeAxes(o,c),d=!u&&0===f.length;h.forEach((t,r)=>{d||f.indexOf(r)>=0?s&&l.push(1):l.push(t)});let p=l.length,y=rs.size(l);return{name:t,shaderCache:r,getShaderSource:t=>{let r=[],o=r_("_A",n[0].dataType,c),u=rT("output",a,p),l=i(o,u,f),y=l[2];for(let t=0,n=0;t<c;t++)d||f.indexOf(t)>=0?(s&&n++,y=`for(var j${t}: u32 = 0; j${t} < ${h[t]}; j${t}++) {
3930                  ${l[2].includes("last_index")?`let last_index = j${t};`:""}
3931                  ${o.indicesSet("input_indices",t,`j${t}`)}
3932                  ${y}
3933                }`):(r.push(`${o.indicesSet("input_indices",t,u.indicesGet("output_indices",n))};`),n++);return`
3934
3935        ${t.registerUniform("output_size","u32").declareVariables(o,u)}
3936
3937        ${t.mainStart()}
3938          ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
3939          var input_indices: ${o.type.indices};
3940          let output_indices = ${u.offsetToIndices("global_idx")};
3941
3942          ${r.join(`
3943`)}
3944          ${l[0]}       // init ops for reduce max/min
3945          ${l[1]}
3946          ${y}
3947          ${l[3]}
3948          ${4===l.length?u.setByOffset("global_idx","value"):l.slice(4).join(`
3949`)}
3950        }`},getRunData:()=>({outputs:[{dims:l,dataType:a}],dispatchGroup:{x:Math.ceil(y/64)},programUniforms:[{type:"uint32",data:y},...ry(h),...ry(l)]})}},rZ=(t,r)=>{let n=[];return t[1].dims[0]>
39500&&t[1].getBigInt64Array().forEach(t=>n.push(Number(t))),ri({axes:n,keepDims:r.keepDims,noopWithEmptyAxes:r.noopWithEmptyAxes})},rJ=(t,r,n,i)=>{let o=t.inputs,a=1===o.length?n:rZ(o,n);t.compute(rK(r,{hint:a.cacheKey,inputDependencies:["rank"]},[o[0]],a.noopWithEmptyAxes&&0===a.axes.length?rX:i,a.axes,o[0].dataType,a.keepDims,a.noopWithEmptyAxes),{inputs:[0]})},rQ=(t,r,n)=>{if(0===r.length)return n;let i=1,o=1;for(let n=0;n<r.length;n++)-1===r.indexOf(n)?i*=t[n]:o*=t[n];return o<32&&i>1024},r1=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceMean",i,(t,r,i)=>{let o=1;for(let r=0;r<t.rank;r++)(i.indexOf(r)>=0||0===i.length)&&(o*=n.inputs[0].dims[r]);return["var sum = f32(0);","",`sum += f32(${t.getByIndices("input_indices")});`,`let value = ${r.type.value}(sum / ${o});`]})):rN(t,r)},r0=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceL1",i,(t,r)=>[`var value = ${r.type.storage}(0);`,"",`value += abs(${t.getByIndices("input_indices")});`,""])):rF(t,r)},r3=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceL2",i,(t,r)=>[`var t = ${r.type.value}(0); var value = ${r.type.value}(0);`,"",`t = ${t.getByIndices("input_indices")}; value += (t * t);`,"value = sqrt(value);"])):rU(t,r)},r6=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceLogSumExp",i,(t,r)=>[`var value = ${r.type.storage}(0);`,"",`value += exp(${t.getByIndices("input_indices")});`,"value = log(value);"])):rj(t,r)},r5=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceMax",i,(t,r,n)=>{let i=[];for(let r=0;r<t.rank;r++)(n.indexOf(r)>=0||0===n.length)&&i.push(t.indicesSet("input_indices",r,0));return[`${i.join(`
3951`)}`,`var value = ${t.getByIndices("input_indices")};`,`value = max(value, ${t.getByIndices("input_indices")});`,""]})):rz(t,r)},r9=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceMin",i,(t,r,n)=>{let i=[];for(let r=0;r<t.rank;r++)(n.indexOf(r)>=0||0===n.length)&&i.push(`input_indices[${r}] = 0;`);return[`${i.join(`
3952`)}`,`var value = ${t.getByIndices("input_indices")};`,`value = min(value, ${t.getByIndices("input_indices")});`,""]})):rG(t,r)},r2=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceProd",i,(t,r)=>[`var value = ${r.type.storage}(1);`,"",`value *= ${t.getByIndices("input_indices")};`,""])):rV(t,r)},r7=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceSum",i,(t,r)=>[`var value = ${r.type.storage}(0);`,"",`value += ${t.getByIndices("input_indices")};`,""])):rW(t,r)},r8=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceSumSquare",i,(t,r)=>[`var t = ${r.type.value}(0); var value = ${r.type.value}(0);`,"",`t = ${t.getByIndices("input_indices")}; value += t * t;`,""])):rH(t,r)},r4=(t,r)=>{var n,i;rQ(t.inputs[0].dims,r.axes,r.noopWithEmptyAxes)?(n=t,i=r,rY(n.inputs),rJ(n,"ReduceLogSum",i,(t,r)=>[`var value = ${r.type.storage}(0);`,"",`value += ${t.getByIndices("input_indices")};`,"value = log(value);"])):rq(t,r)}}),oz=e5(()=>{ok(),oL(),oj(),ne=t=>{if(!t||0===t.length||t.length>2)throw Error("ArgMinMaxOp op requires 1 or 2 inputs.");if(1!==t[0].dataType)throw Error("Invalid input type.")},nt=(t,r)=>{ne(t.inputs),t.compute(rK("ArgMin",{hint:r.cacheKey,inputDependencies:["rank"]},[t.inputs[0]],(t,n,i)=>{let o=[];for(let r=0;r<t.rank;r++)(i.indexOf(r)>=0||0===i.length)&&o.push(`input_indices[${r}] = 0;`);return[`${o.join(`
3953`)}`,`var value = ${t.getByIndices("input_indices")};
3954var best_index : i32 = 0;`,`if (${t.getByIndices("input_indices")} ${r.selectLastIndex>0?"<=":"<"} value) {
3955         value = ${t.getByIndices("input_indices")};
3956         best_index = i32(last_index);
3957       }`,"",n.setByOffset("global_idx","best_index")]},[r.axis],7,r.keepDims),{inputs:[0]})},nr=(t,r)=>{ne(t.inputs),t.compute(rK("argMax",{hint:r.cacheKey,inputDependencies:["rank"]},[t.inputs[0]],(t,n,i)=>{let o=[];for(let r=0;r<t.rank;r++)(i.indexOf(r)>=0||0===i.length)&&o.push(`input_indices[${r}] = 0;`);return[`${o.join(`
3958`)}`,`var value = ${t.getByIndices("input_indices")};
3959var best_index : i32 = 0;`,`if (${t.getByIndices("input_indices")} ${r.selectLastIndex>0?">=":">"} value) {
3960         value = ${t.getByIndices("input_indices")};
3961         best_index = i32(last_index);
3962       }`,"",n.setByOffset("global_idx","best_index")]},[r.axis],7,r.keepDims),{inputs:[0]})},nn=t=>ri(t)}),oG=e5(()=>{ok(),oD(),oN(),ni=(t,r,n,i,o,a,s,u,l,h,c)=>{var f,d,p,y,m,g,v,b,w,x,_,T,S,E;let O,A,I,P,k,C,$,R,D,M,L,B,N,F,U,j,z,G,V=(f=t,d=r,p=n,y=0,m=h,g=c,O=[m.batchSize,m.numHeads,m.sequenceLength,m.kvSequenceLength+m.pastSequenceLength],A=0===g.scale?1/Math.sqrt(m.headSize):g.scale,I=rm(m.headSize),P=m.headSize/I,k={x:Math.ceil(m.totalSequenceLength/12),y:Math.ceil(m.sequenceLength/12),z:m.batchSize*m.numHeads},C=tH(d.dataType),$=[{type:"uint32",data:m.sequenceLength},{type:"uint32",data:P},{type:"uint32",data:m.totalSequenceLength},{type:"uint32",data:m.kvSequenceLength},{type:C,data:A}],R=[d,p],D=f.compute({name:"AttentionProbs",shaderCache:{hint:`${I}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:O,dataType:d.dataType,gpuDataType:0}],dispatchGroup:k,programUniforms:$}),getShaderSource:t=>{let r=r_("q",d.dataType,d.dims,I),n=r_("key",p.dataType,p.dims,I),i=rT("output",d.dataType,O),o=rd(d.dataType),a=[{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"alpha",type:o}];return`
3963  const beta: ${o} = 1.0;
3964  const TILE_SIZE = 12u;
3965
3966  var<workgroup> tileQ: array<${r.type.storage}, 144>;
3967  var<workgroup> tileK: array<${r.type.storage}, 144>;
3968  ${t.registerUniforms(a).declareVariables(r,n,i)}
3969  ${t.mainStart([12,12,1])}
3970    // x holds the N and y holds the M
3971    let headIdx = workgroup_id.z;
3972    let m = workgroup_id.y * TILE_SIZE;
3973    let n = workgroup_id.x * TILE_SIZE;
3974    let lm = m + local_id.y;
3975    let ln = n + local_id.x;
3976
3977    let qOffset = uniforms.M * uniforms.K * headIdx + m * uniforms.K;
3978    let kOffset = uniforms.kv_sequence_length * uniforms.K * headIdx + n * uniforms.K;
3979
3980    var value = ${rg(o,I)};
3981    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
3982      if (m + local_id.y < uniforms.M && w + local_id.x < uniforms.K) {
3983        tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];
3984      }
3985      if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {
3986        tileK[TILE_SIZE * local_id.y + local_id.x] = key[kOffset + local_id.y * uniforms.K + w + local_id.x];
3987      }
3988      workgroupBarrier();
3989
3990      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
3991        value += tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k];
3992      }
3993
3994      workgroupBarrier();
3995    }
3996
3997    let headOffset = headIdx * uniforms.M * uniforms.N;
3998    if (lm < uniforms.M && ln < uniforms.N) {
3999      let outputIdx = headOffset + lm * uniforms.N + ln;
4000      output[outputIdx] = ${rb("value",I)} * uniforms.alpha;
4001    }
4002  }`}},{inputs:R,outputs:[-1]})[0],v=f,b=D,w=m.batchSize*m.numHeads*m.sequenceLength,x=m.totalSequenceLength,M=rm(x),L=64,(B=x/M)<64?L=1:B/8<64&&(L=Math.ceil(B/8)),N=Math.ceil(x/M/L),F=[{type:tH(b.dataType),data:1/x},{type:"uint32",data:B},{type:"uint32",data:N}],U=rd(b.dataType,M),v.compute({name:"AttentionProbsSoftmax",shaderCache:{hint:`${L};${U};${M}`}
4002,getShaderSource:t=>{let r=rT("x",b.dataType,b.dims,M),n="thread_max_vector";2===M?n="max(thread_max_vector.x, thread_max_vector.y)":4===M&&(n="max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))");let i=rp(b.dataType),o=[{name:"d_inv",type:i},{name:"d_comp",type:"u32"},{name:"elements_per_wg",type:"u32"}];return`
4003  var<workgroup> wgMax: array<f32, ${L}>;
4004  var<workgroup> wgSum: array<f32, ${L}>;
4005  ${t.registerUniforms(o).declareVariables(r)}
4006  ${t.mainStart([L,1,1])}
4007    let localOffset = local_idx * uniforms.elements_per_wg;
4008    let offset: u32 = workgroup_id.x * uniforms.d_comp + localOffset;
4009
4010    var thread_max_vector = ${rg("f32",M,"-3.402823e+38f")};
4011    for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {
4012      thread_max_vector = max(${rv(i,M,"x[offset + i]")}, thread_max_vector);
4013    }
4014    wgMax[local_idx] = ${n};
4015    workgroupBarrier();
4016
4017    var maxValue = -3.402823e+38f;
4018    for (var i = 0u; i < ${L}; i++) {
4019      maxValue = max(wgMax[i], maxValue);
4020    }
4021
4022    var sumVector = ${rg("f32",M,"0")};
4023    for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {
4024      sumVector += exp(${rv(i,M,"x[offset + i]")} - maxValue);
4025    }
4026    wgSum[local_idx] = ${rb("sumVector",M)};
4027    workgroupBarrier();
4028
4029    var sum: f32 = 0;
4030    for (var i = 0u; i < ${L}; i++) {
4031      sum += wgSum[i];
4032    }
4033
4034    if (sum == 0) {
4035      for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {
4036        x[offset + i] = ${rg("f32",M,"uniforms.d_inv")};
4037      }
4038    } else {
4039      for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {
4040        let f32input = ${rv(i,M,"x[offset + i]")};
4041        x[offset + i] = ${r.type.value}(exp(f32input - maxValue) / sum);
4042      }
4043    }
4044  }`},getRunData:()=>({outputs:[],dispatchGroup:{x:w},programUniforms:F})},{inputs:[b],outputs:[]}),D);_=t,T=V,S=i,j=[(E=h).batchSize,E.sequenceLength,E.vHiddenSize],z={x:Math.ceil(E.vHeadSize/12),y:Math.ceil(E.sequenceLength/12),z:E.batchSize*E.numHeads},G=[{type:"uint32",data:E.sequenceLength},{type:"uint32",data:E.totalSequenceLength},{type:"uint32",data:E.vHeadSize},{type:"uint32",data:E.numHeads},{type:"uint32",data:E.vHiddenSize}],_.compute({name:"AttentionScore",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:j,dataType:T.dataType,gpuDataType:0}],dispatchGroup:z,programUniforms:G}),getShaderSource:t=>{let r=r_("probs",T.dataType,T.dims),n=r_("v",S.dataType,S.dims),i=rT("output",T.dataType,j);return`
4045  const TILE_SIZE = 12u;
4046  var<workgroup> tileQ: array<${r.type.value}, 144>;
4047  var<workgroup> tileK: array<${r.type.value}, 144>;
4048  ${t.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"v_hidden_size",type:"u32"}]).declareVariables(r,n,i)}
4049  ${t.mainStart([12,12,1])}
4050   let headIdx = workgroup_id.z;
4051   let m = workgroup_id.y * TILE_SIZE + local_id.y;
4052   let n = workgroup_id.x * TILE_SIZE + local_id.x;
4053
4054   let offsetA = headIdx * (uniforms.M * uniforms.K) + m * uniforms.K;
4055   let offsetB = headIdx * (uniforms.N * uniforms.K) + n;
4056
4057   var value = ${r.type.storage}(0);
4058   for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
4059     if (m < uniforms.M && w + local_id.x < uniforms.K) {
4060       tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];
4061     }
4062     if (n < uniforms.N && w + local_id.y < uniforms.K) {
4063       tileK[TILE_SIZE * local_id.y + local_id.x] = v[offsetB + (w + local_id.y) * uniforms.N];
4064     }
4065     workgroupBarrier();
4066     for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
4067       value += tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * k + local_id.x];
4068     }
4069     workgroupBarrier();
4070   }
4071
4072   // we need to transpose output from BNSH_v to BSND_v
4073   let batchIdx = workgroup_id.z / uniforms.num_heads;
4074   let currentBatchHeadNumber = workgroup_id.z % uniforms.num_heads;
4075   let headOffset = (batchIdx * uniforms.M * uniforms.num_heads + currentBatchHeadNumber) * uniforms.N;
4076   if (m < uniforms.M && n < uniforms.N) {
4077     let outputIdx = batchIdx * uniforms.M *uniforms.v_hidden_size + m * uniforms.v_hidden_size
4078       + currentBatchHeadNumber * uniforms.N + n;
4079     output[outputIdx] = value;
4080   }
4081  }`}},{inputs:[T,S],outputs:[0]})[0]},no=(t,r)=>{var n,i;let o,a,s,u,l,h,c,f=((t,r)=>{let n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5];if(s&&u)throw Error("Attention cannot have both past and relative_position_bias");if(3!==n.dims.length)throw Error('Input "input" must have 3 dimensions');
4081let l=n.dims[0],h=n.dims[1],c=n.dims[2];if(1!==o.dims.length)throw Error('Input "bias" is expected to have 1 dimensions');if(2!==i.dims.length)throw Error('Input "weights" is expected to have 2 dimensions');if(i.dims[0]!==c)throw Error("Input 1 dimension 0 should have same length as dimension 2 of input 0");if(o.dims[0]!==i.dims[1])throw Error('Input "bias" dimension 0 should have same length as dimension 1 of input "weights"');let f=o.dims[0]/3,d=f,p=d;if(r.qkvHiddenSizes.length>0){if(3!==r.qkvHiddenSizes.length)throw Error("qkv_hidden_sizes attribute should have 3 elements");for(let t of r.qkvHiddenSizes)if(t%r.numHeads!=0)throw Error("qkv_hidden_sizes should be divisible by num_heads");f=r.qkvHiddenSizes[0],d=r.qkvHiddenSizes[1],p=r.qkvHiddenSizes[2]}if(f!==d)throw Error("qkv_hidden_sizes first element should be same as the second");if(o.dims[0]!==f+d+p)throw Error('Input "bias" dimension 0 should have same length as sum of Q/K/V hidden sizes');let y=0;if(s){if(d!==p)throw Error('Input "past" expect k_hidden_size == v_hidden_size');if(5!==s.dims.length)throw Error('Input "past" must have 5 dimensions');if(2!==s.dims[0])throw Error('Input "past" first dimension must be 2');if(s.dims[1]!==l)throw Error('Input "past" second dimension must be batch_size');if(s.dims[2]!==r.numHeads)throw Error('Input "past" third dimension must be num_heads');if(s.dims[4]!==d/r.numHeads)throw Error('Input "past" fifth dimension must be k_hidden_size / num_heads');r.pastPresentShareBuffer||(y=s.dims[3])}let m=h+y;if(a)throw Error("Mask not supported");if(s)throw Error("past is not supported");if(u)throw Error("relativePositionBias is not supported");return{batchSize:l,sequenceLength:h,pastSequenceLength:y,kvSequenceLength:h,totalSequenceLength:m,maxSequenceLength:-1,inputHiddenSize:c,hiddenSize:f,vHiddenSize:p,headSize:Math.floor(f/r.numHeads),vHeadSize:Math.floor(p/r.numHeads),numHeads:r.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:r.maskFilterValue,maskType:0,scale:r.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}})(t.inputs,r),[d,p,y]=(n=t,o=[(i=f).batchSize,i.numHeads,i.sequenceLength,i.headSize],a=i.sequenceLength,s=i.inputHiddenSize,u=i.headSize,l={x:Math.ceil(i.headSize/12),y:Math.ceil(i.sequenceLength/12),z:i.batchSize*i.numHeads},h=[n.inputs[0],n.inputs[1],n.inputs[2]],c=[{type:"uint32",data:a},{type:"uint32",data:s},{type:"uint32",data:u},{type:"uint32",data:i.numHeads},{type:"uint32",data:i.headSize},{type:"uint32",data:i.hiddenSize},{type:"uint32",data:i.hiddenSize+i.hiddenSize+i.vHiddenSize}],n.compute({name:"AttentionPrepare",shaderCache:{inputDependencies:["type","type","type"]},getRunData:()=>({outputs:[{dims:o,dataType:n.inputs[0].dataType,gpuDataType:0},{dims:o,dataType:n.inputs[0].dataType,gpuDataType:0},{dims:o,dataType:n.inputs[0].dataType,gpuDataType:0}],dispatchGroup:l,programUniforms:c}),getShaderSource:t=>{let r=rT("output_q",h[0].dataType,o),n=rT("output_k",h[0].dataType,o),i=rT("output_v",h[0].dataType,o),a=r_("input",h[0].dataType,h[0].dims),s=r_("weight",h[1].dataType,h[1].dims),u=r_("bias",h[2].dataType,h[2].dims),l=a.type.storage;return`
4082  const TILE_SIZE = 12u;
4083  var<workgroup> tileInput: array<${l}, 144>;
4084  var<workgroup> tileWeightQ: array<${l}, 144>;
4085  var<workgroup> tileWeightK: array<${l}, 144>;
4086  var<workgroup> tileWeightV: array<${l}, 144>;
4087  ${t.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"hidden_size",type:"u32"},{name:"ldb",type:"u32"}]).declareVariables(a,s,u,r,n,i)}
4088  ${t.mainStart([12,12,1])}
4089    let batchIndex = workgroup_id.z / uniforms.num_heads;
4090    let headNumber = workgroup_id.z % uniforms.num_heads;
4091    let m = workgroup_id.y * TILE_SIZE + local_id.y;
4092    let n = workgroup_id.x * TILE_SIZE + local_id.x;
4093
4094    let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;
4095    let biasOffsetQ = headNumber * uniforms.head_size;
4096    let biasOffsetK = uniforms.hidden_size + biasOffsetQ;
4097    let biasOffsetV = uniforms.hidden_size + biasOffsetK;
4098
4099    var valueQ = ${l}(0);
4100    var valueK = ${l}(0);
4101    var valueV = ${l}(0);
4102    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
4103      if (m < uniforms.M && w + local_id.x < uniforms.K) {
4104        tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];
4105      }
4106      if (n < uniforms.N && w + local_id.y < uniforms.K) {
4107        let offset = n + (w + local_id.y) * uniforms.ldb;
4108        tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];
4109        tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];
4110        tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];
4111      }
4112      workgroupBarrier();
4113      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
4114        let inputTileOffset = TILE_SIZE * local_id.y + k;
4115        let weightTileOffset = TILE_SIZE * k + local_id.x;
4116        valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];
4117        valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];
4118        valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];
4119      }
4120
4121      workgroupBarrier();
4122    }
4123
4124    let headOffset = (m * uniforms.N + n) % uniforms.head_size;
4125    valueQ += bias[headOffset + biasOffsetQ];
4126    valueK += bias[headOffset + biasOffsetK];
4127    valueV += bias[headOffset + biasOffsetV];
4128
4129    let offset = workgroup_id.z * uniforms.M * uniforms.N;
4130    if (m < uniforms.M && n < uniforms.N) {
4131      let outputIdx = offset + m * uniforms.N + n;
4132      output_q[outputIdx] = valueQ;
4133      output_k[outputIdx] = valueK;
4134      output_v[outputIdx] = valueV;
4135    }
4136  }`}},{inputs:h,outputs:[-1,-1,-1]}));return ni(t,d,p,y,t.inputs[4],void 0,void 0,void 0,t.inputs[5],f,r)}}),oV=e5(()=>{ty(),oB(),oL(),oN(),na=(t,r)=>{let n,{inputs:i,outputCount:o}=t,a=(n={...r,outputCount:o},ri(n));if(eO.webgpu.validateInputContent&&((t,r)=>{if(!t||5!==t.length)throw Error("BatchNormalization requires 5 inputs");let n=(t,r,n)=>{let i=r.length;if(i!==t.length)throw Error(`${n}: num dimensions != ${i}`);r.forEach((r,i)=>{if(r!==t[i])throw Error(`${n}: dim[${i}] do not match`)})};if(t[0].dims.length>1){let i="NHWC"===r.format?r.spatial?t[0].dims.slice(-1):t[0].dims.slice(-1).concat(t[0].dims.slice(1,t[0].dims.length-1)):t[0].dims.slice(1,r.spatial?2:void 0);n(t[1].dims,i,"Invalid input scale"),n(t[2].dims,i,"Invalid input B"),n(t[3].dims,i,"Invalid input mean"),n(t[4].dims,i,"Invalid input var")}else n(t[1].dims,[1],"Invalid input scale"),n(t[2].dims,[1],"Invalid input B"),n(t[3].dims,[1],"Invalid input mean"),n(t[4].dims,[1],"Invalid input var")})(i,a),r.trainingMode)throw Error("BatchNormalization trainingMode is not supported yet.");t.compute(((t,r)=>{let{epsilon:n,spatial:i,format:o}=r,a=t[0].dims,s=i?rm(a[a.length-1]):1,u="NHWC"===o&&a.length>1?s:1,l=rs.size(a)/s,h=rI(a.length)&&i,c=h?a.length:a,f=r_("x",t[0].dataType,t[0].dims,s),d=r_("scale",t[1].dataType,t[1].dims,u),p=r_("bias",t[2].dataType,t[2].dims,u),y=r_("inputMean",t[3].dataType,t[3].dims,u),m=r_("inputVar",t[4].dataType,t[4].dims,u),g=rT("y",t[0].dataType,c,s);return{name:"BatchNormalization",shaderCache:{hint:`${r.epsilon}_${r.format}_${i}_${s}`,inputDependencies:h?["rank","type","type","type","type"]:void 0},getShaderSource:t=>`
4137  const epsilon = ${n};
4138  ${t.registerUniform("outputSize","u32").declareVariables(f,d,p,y,m,g)}
4139  ${t.mainStart()}
4140  ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
4141    var outputIndices = ${g.offsetToIndices(`global_idx * ${s}`)};
4142    ${(()=>{let t="";if(i)t=`let cOffset = ${1===a.length?"0u":"NHWC"===o?`outputIndices[${a.length-1}] / ${s}`:"outputIndices[1]"};`;else if("NCHW"===o)t=`
4143            ${g.indicesSet("outputIndices","0","0")}
4144            let cOffset = ${g.indicesToOffset("outputIndices")};`;else{t=`var cIndices = ${d.type.indices}(0);
4145                       cIndices[0] = outputIndices[${a.length-1}];`;for(let r=1;r<d.rank;r++)t+=`cIndices[${r}] = outputIndices[${r}];`;t+=`let cOffset = ${d.indicesToOffset("cIndices")};`}return t})()}
4146    let scale = ${d.getByOffset("cOffset")};
4147    let bias = ${p.getByOffset("cOffset")};
4148    let inputMean = ${y.getByOffset("cOffset")};
4149    let inputVar = ${m.getByOffset("cOffset")};
4150    let x = ${f.getByOffset("global_idx")};
4151    let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;
4152    ${g.setByOffset("global_idx","value")}
4153  }`,getRunData:()=>({outputs:[{dims:t[0].dims,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:h?[{type:"uint32",data:l},...ry(a)]:[{type:"uint32",data:l}]})}})(i,a))}}),oW=e5(()=>{oB(),oN(),ns=t=>{var r;let n,i,o,a,s,u,l,h;(t=>{if(3!==t[0].dims.length)throw Error("input should have 3 dimensions");if(![320,640,1280].includes(t[0].dims[2]))throw Error("number of channels should be 320, 640 or 1280");if(1!==t[1].dims.length)throw Error("bias is expected to have 1 dimensions");if(t[0].dims[2]!==t[1].dims[0])throw Error("last dimension of input and bias are not the same")}
4153)(t.inputs),t.compute((n=(r=t.inputs)[0].dims,i=r[0].dims[2],o=rs.size(n)/4,a=r[0].dataType,s=r_("input",a,n,4),u=r_("bias",a,[i],4),l=r_("residual",a,n,4),h=rT("output",a,n,4),{name:"BiasAdd",getRunData:()=>({outputs:[{dims:n,dataType:r[0].dataType}],dispatchGroup:{x:Math.ceil(o/64)}}),getShaderSource:t=>`
4154  const channels = ${i}u / 4;
4155  ${t.declareVariables(s,u,l,h)}
4156
4157  ${t.mainStart()}
4158    ${t.guardAgainstOutOfBoundsWorkgroupSizes(o)}
4159    let value = ${s.getByOffset("global_idx")}
4160      + ${u.getByOffset("global_idx % channels")} + ${l.getByOffset("global_idx")};
4161    ${h.setByOffset("global_idx","value")}
4162  }`}))}}),oH=e5(()=>{ok(),oB(),oL(),oN(),nu=function(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:t.dataType;return{name:r,shaderCache:{hint:o,inputDependencies:["type"]},getShaderSource:r=>{var o,s,u,l,h,c;let f,d,p,y;return o=r,s=rs.size(t.dims),u=t.dataType,l=a,h=n,c=i,f=Math.ceil(s/4),d="",d="string"==typeof h?`${h}(a)`:h("a"),p=r_("inputData",u,[f],4),y=rT("outputData",l,[f],4),`
4163      ${o.registerUniform("vec_size","u32").declareVariables(p,y)}
4164
4165  ${c??""}
4166
4167  ${o.mainStart()}
4168    ${o.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
4169
4170    let a = ${p.getByOffset("global_idx")};
4171    ${y.setByOffset("global_idx",d)}
4172  }`},getRunData:r=>({outputs:[{dims:t.dims,dataType:a}],dispatchGroup:{x:Math.ceil(rs.size(r[0].dims)/64/4)},programUniforms:[{type:"uint32",data:Math.ceil(rs.size(t.dims)/4)}]})}},nl=t=>{t.compute(nu(t.inputs[0],"Abs","abs"))},nh=t=>{t.compute(nu(t.inputs[0],"Acos","acos"))},nc=t=>{t.compute(nu(t.inputs[0],"Acosh","acosh"))},nf=t=>{t.compute(nu(t.inputs[0],"Asin","asin"))},nd=t=>{t.compute(nu(t.inputs[0],"Asinh","asinh"))},np=t=>{t.compute(nu(t.inputs[0],"Atan","atan"))},ny=t=>{t.compute(nu(t.inputs[0],"Atanh","atanh"))},nm=t=>ri(t),ng=(t,r)=>{let n;switch(r.to){case 10:n="vec4<f16>";break;case 1:n="vec4<f32>";break;case 12:n="vec4<u32>";break;case 6:n="vec4<i32>";break;case 9:n="vec4<bool>";break;default:throw RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${r.to}`)}t.compute(nu(t.inputs[0],"Cast",n,void 0,r.cacheKey,r.to))},nv=(t,r)=>{var n;let i,o,a=1===t.inputs.length?r:(i=(n=t.inputs).length>=2&&0!==n[1].data?n[1].getFloat32Array()[0]:rh,o=n.length>=3&&0!==n[2].data?n[2].getFloat32Array()[0]:rc,ri({min:i,max:o})),s=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"Clip",t=>`clamp(${t}, clip_min_, clip_max_)`,`
4173    const clip_min_: vec4<${s}> = vec4(${s}(${a.min}));
4174    const clip_max_: vec4<${s}> = vec4(${s}(${a.max}));
4175`,a.cacheKey),{inputs:[0]})},nb=t=>{t.compute(nu(t.inputs[0],"Ceil","ceil"))},nw=t=>{t.compute(nu(t.inputs[0],"Cos","cos"))},nx=t=>{t.compute(nu(t.inputs[0],"Cosh","cosh"))},n_=t=>ri(t),nT=(t,r)=>{let n=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"Elu",t=>`elu_vf32(${t})`,`
4176  const elu_alpha_ = ${n}(${r.alpha});
4177
4178  fn elu_f32(a: ${n}) -> ${n} {
4179  return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);
4180  }
4181
4182  fn elu_vf32(v: vec4<${n}>) -> vec4<${n}> {
4183  return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));
4184  }`,r.cacheKey))},nS=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"f32";return`
4185const r0: ${r} = 0.3275911;
4186const r1: ${r} = 0.254829592;
4187const r2: ${r} = -0.284496736;
4188const r3: ${r} = 1.421413741;
4189const r4: ${r} = -1.453152027;
4190const r5: ${r} = 1.061405429;
4191
4192fn erf_vf32(v: ${t}) -> ${t} {
4193  let absv = abs(v);
4194  let x = 1.0 / (1.0 + r0 * absv);
4195  return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));
4196}`},nE=t=>{let r=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"Erf",t=>`erf_vf32(${t})`,nS(`vec4<${r}>`,r)))},nO=t=>{t.compute(nu(t.inputs[0],"Exp","exp"))},nA=t=>{t.compute(nu(t.inputs[0],"Floor","floor"))},nI=t=>{let r=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"Gelu",t=>`0.5 * ${t} * (1.0 + erf_vf32(${t} * 0.7071067811865475))`,nS(`vec4<${r}>`,r)))},nP=(t,r)=>{let n=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"LeakyRelu",t=>`select(leaky_relu_alpha_ * ${t}, ${t}, ${t} >= vec4<${n}>
4196(0.0))`,`const leaky_relu_alpha_ = ${n}(${r.alpha});`,r.cacheKey))},nk=t=>{t.compute(nu(t.inputs[0],"Not",t=>`!${t}`))},nC=t=>{t.compute(nu(t.inputs[0],"Neg",t=>`-${t}`))},n$=t=>{t.compute(nu(t.inputs[0],"Reciprocal",t=>`1.0/${t}`))},nR=t=>{let r=rp(t.inputs[0].dataType);t.compute(nu(t.inputs[0],"Relu",t=>`select(vec4<${r}>(0.0), ${t}, ${t} > vec4<${r}>(0.0))`))},nD=t=>{t.compute(nu(t.inputs[0],"Sigmoid",t=>`(1.0 / (1.0 + exp(-${t})))`))},nM=t=>{t.compute(nu(t.inputs[0],"Sin","sin"))},nL=t=>{t.compute(nu(t.inputs[0],"Sinh","sinh"))},nB=t=>{t.compute(nu(t.inputs[0],"Sqrt","sqrt"))},nN=t=>{t.compute(nu(t.inputs[0],"Tan","tan"))},nF=t=>{t.compute(nu(t.inputs[0],"Tanh","tanh"))},nU=(t,r)=>{let n=rp(t.inputs[0].dataType);return t.compute(nu(t.inputs[0],"ThresholdedRelu",t=>`select(vec4<${n}>(0.0), ${t}, ${t} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${n}>(${r.alpha});`,r.cacheKey)),0},nj=t=>{t.compute(nu(t.inputs[0],"Log","log"))}}),oq=e5(()=>{oB(),oN(),oH(),nz=t=>{var r;let n,i,o,a,s,u;(t=>{if(3!==t[0].dims.length)throw Error("input should have 3 dimensions");if(![2560,5120,10240].includes(t[0].dims[2]))throw Error("hidden state should be 2560, 5120 or 10240");if(1!==t[1].dims.length)throw Error("bias is expected to have 1 dimensions");if(t[0].dims[2]!==t[1].dims[0])throw Error("last dimension of input and bias are not the same")})(t.inputs),t.compute(((n=(r=t.inputs)[0].dims.slice())[2]=n[2]/2,i=r_("input",r[0].dataType,r[0].dims,4),o=r_("bias",r[0].dataType,[r[0].dims[2]],4),a=rT("output",r[0].dataType,n,4),s=rs.size(n)/4,u=rd(r[0].dataType),{name:"BiasSplitGelu",getRunData:()=>({outputs:[{dims:n,dataType:r[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)}}),getShaderSource:t=>`
4197  const M_SQRT2 = sqrt(2.0);
4198  const halfChannels = ${r[0].dims[2]/4/2}u;
4199
4200  ${t.declareVariables(i,o,a)}
4201
4202  ${nS(`vec4<${u}>`,u)}
4203
4204  ${t.mainStart()}
4205    ${t.guardAgainstOutOfBoundsWorkgroupSizes(s)}
4206    let biasIdx = global_idx % halfChannels;
4207    let batchIndex = global_idx / halfChannels;
4208    let inputOffset = biasIdx + batchIndex * halfChannels * 2;
4209    let valueLeft = input[inputOffset] + bias[biasIdx];
4210    let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];
4211    let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);
4212
4213    ${a.setByOffset("global_idx","valueLeft * geluRight")}
4214  }`}))}}),oY=e5(()=>{ok(),oB(),oN(),nG=function(t,r,n,i,o,a){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:n.dataType,u=!rs.areEqual(n.dims,i.dims),l=n.dims,h=rs.size(n.dims),c=!1,f=!1,d=[u];if(u){let t=ra.calcShape(n.dims,i.dims,!1);if(!t)throw Error("Can't perform binary op on the given tensors");l=t,h=rs.size(l);let r=1===rs.size(n.dims),o=1===rs.size(i.dims),a=n.dims.length>0&&n.dims[n.dims.length-1]%4==0,s=i.dims.length>0&&i.dims[i.dims.length-1]%4==0;d.push(r),d.push(o),d.push(a),d.push(s);let u=1;for(let t=1;t<l.length;t++){let r=n.dims[n.dims.length-t]??1;if(r!==(i.dims[i.dims.length-t]??1))break;u*=r}u%4==0?(f=!0,c=!0):(r||o||a||s)&&(c=!0)}else c=!0;d.push(c);let p=rI(n.dims.length)&&rI(i.dims.length)&&rI(l.length);return{name:t,shaderCache:{hint:r+d.map(t=>t.toString()).join("_"),inputDependencies:p?["rank","rank"]:["dims","dims"]},getShaderSource:t=>((t,r,n,i,o,a,s,u,l,h,c,f,d)=>{let p,y;"string"==typeof u?p=y=(t,r)=>`${u}((${t}),(${r}))`:"function"==typeof u?p=y=u:(p=u.scalar,y=u.vector);let m,g=f?r.length:r,v=f?n.length:n,b=f?i.length:i,w=rT("outputData",c,b,4),x=r_("aData",l,g,4),_=r_("bData",h,v,4);if(o)if(a){let t=1===rs.size(r),i=1===rs.size(n),o=r.length>0&&r[r.length-1]%4==0,a=n.length>0&&n[n.length-1]%4==0;m=t||i?w.setByOffset("global_idx",y(t?`${x.type.value}(${x.getByOffset("0")}.x)`:x.getByOffset("global_idx"),i?`${_.type.value}(${_.getByOffset("0")}.x)`:_.getByOffset("global_idx"))):`
4215            let outputIndices = ${w.offsetToIndices("global_idx * 4u")};
4216            let offsetA = ${x.broadcastedIndicesToOffset("outputIndices",w)};
4217            let offsetB = ${_.broadcastedIndicesToOffset("outputIndices",w)};
4218            ${w.setByOffset("global_idx",y(s||o?x.getByOffset("offsetA / 4u"):`${x.type.value}(${x.getByOffset("offsetA / 4u")}[offsetA % 4u])`,s||a?_.getByOffset("offsetB / 4u"):`${_.type.value}(${_.getByOffset("offsetB / 4u")}[offsetB % 4u])`))}
4219          `}else m=w.setByOffset("global_idx",y(x.getByOffset("global_idx"),_.getByOffset("global_idx")));else{if(!a)throw Error("no necessary to use scalar implementation for element-wise binary op implementation.");let t=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=`aData[indexA${r}][componentA${r}]`,o=`bData[indexB${r}][componentB${r}]`;return`
4220            let outputIndices${r} = ${w.offsetToIndices(`global_idx * 4u + ${r}u`)};
4221            let offsetA${r} = ${x.broadcastedIndicesToOffset(`outputIndices${r}`,w)};
4222            let offsetB${r} = ${_.broadcastedIndicesToOffset(`outputIndices${r}`,w)};
4223            let indexA${r} = offsetA${r} / 4u;
4224            let indexB${r} = offsetB${r} / 4u;
4225            let componentA${r} = offsetA${r} % 4u;
4226            let componentB${r} = offsetB${r} % 4u;
4227            ${t}[${r}] = ${n}(${p(i,o)});
4228          `};m=9===c?`
4229            var data = vec4<u32>(0);
4230            ${t("data",0,"u32")}
4231            ${t("data",1,"u32")}
4232            ${t("data",2,"u32")}
4233            ${t("data",3,"u32")}
4234            outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
4235            ${t("outputData[global_idx]",0)}
4236            ${t("outputData[global_idx]",1)}
4237            ${t("outputData[global_idx]",2)}
4238            ${t("outputData[global_idx]",3)}
4239          `}return`
4240        ${t.registerUniform("vec_size","u32").declareVariables(x,_,w)}
4241
4242        ${d??""}
4243
4244        ${t.mainStart()}
4245        ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
4246        ${m}
4247      }`})(t,n.dims,i.dims,l,c,u,f,o,n.dataType,i.dataType,s,p,a),getRunData:()=>({outputs:[{dims:l,dataType:s}],dispatchGroup:{x:Math.ceil(h/64/4)},programUniforms:p?[{type:"uint32",data:Math.ceil(rs.size(l)/4)},...ry(n.dims),...ry(i.dims),...ry(l)]:[{type:"uint32",data:Math.ceil(rs.size(l)/4)}]})}},nV=(t,r,n,i,o,a)=>{t.compute(nG(r,o??"",t.inputs[0],t.inputs[1],n,i,a))},nW=t=>{nV(t,"Add",(t,r)=>`${t}+${r}`)},nH=t=>{nV(t,"Div",(t,r)=>`${t}/${r}`)},nq=t=>{nV(t,"Equal",{scalar:(t,r)=>`u32(${t}==${r})`,vector:(t,r)=>`vec4<u32>(${t}==${r})`},void 0,void 0,9)},nY=t=>{nV(t,"Mul",(t,r)=>`${t}*${r}`)},nX=t=>{let r=r_("input",t.inputs[0].dataType,t.inputs[0].dims).type.value;nV(t,"Pow",{scalar:(t,r)=>`pow_custom(${t},${r})`,vector:(t,r)=>`pow_vector_custom(${t},${r})`},`
4248    fn pow_custom(a : ${r}, b : ${r}) -> ${r} {
4249      if (b == ${r}(0.0)) {
4250        return ${r}(1.0);
4251      } else if (a < ${r}(0.0) && f32(b) != floor(f32(b))) {
4252        return ${r}(pow(f32(a), f32(b))); // NaN
4253      }
4254      return select(sign(a), ${r}(1.0), round(f32(abs(b) % ${r}(2.0))) != 1.0) * ${r}(${"i32"===r?"round":""}(pow(f32(abs(a)), f32(b))));
4255    }
4256    fn pow_vector_custom(a : vec4<${r}>, b : vec4<${r}>) -> vec4<${r}> {
4257      // TODO: implement vectorized pow
4258      return vec4<${r}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));
4259    }
4260      `)},nK=t=>{nV(t,"Sub",(t,r)=>`${t}-${r}`)},nZ=t=>{nV(t,"Greater",{scalar:(t,r)=>`u32(${t}>${r})`,vector:(t,r)=>`vec4<u32>(${t}>${r})`},void 0,void 0,9)},nJ=t=>{nV(t,"Less",{scalar:(t,r)=>`u32(${t}<${r})`,vector:(t,r)=>`vec4<u32>(${t}<${r})`},void 0,void 0,9)},nQ=t=>{nV(t,"GreaterOrEqual",{scalar:(t,r)=>`u32(${t}>=${r})`,vector:(t,r)=>`vec4<u32>(${t}>=${r})`},void 0,void 0,9)},n1=t=>{nV(t,"LessOrEqual",{scalar:(t,r)=>`u32(${t}<=${r})`,vector:(t,r)=>`vec4<u32>(${t}<=${r})`},void 0,void 0,9)}}),oX=e5(()=>{oB(),oL(),oN(),n0=(t,r)=>{(t=>{if(!t||t.length<1)throw Error("too few inputs");let r=t[0].dataType,n=t[0].dims.length;for(let i of t){if(i.dataType!==r)throw Error("input tensors should be one type");if(i.dims.length!==n)throw Error("input tensors should have the same shape")}})(t.inputs),t.compute(((t,r)=>{let n=t[0].dims.slice();if(r>=n.length||r<-1*n.length)throw Error("axis specified for concat doesn't match input dimensionality");let i=r<0?n.length+r:r,o=n.slice(0);for(let r=1;r<t.length;r++){let a=t[r].dims.slice();for(let t=0;t<n.length;t++)if(t===i)o[i]+=a[t];else if(n[t]!==a[t])throw Error("non concat dimensions must match")}let a=rs.size(o),s=Array(t.length),u=Array(t.length),l=t[0].dataType,h=0,c=[],f=[],d=[],p=[{type:"uint32",data:a}];for(let r=0;r<t.length;++r)h+=t[r].dims[i],s[r]=h,d.push(rI(t[r].dims.length)),f.push(d[r]?t[r].dims.length:t[r].dims),u[r]=r_(`input${r}`,l,f[r]),c.push(d[r]?"rank":"dims"),p.push({type:"uint32",data:s[r]});for(let r=0;r<t.length;++r)d[r]&&p.push(...ry(t[r].dims));let y=rI(o.length);y&&p.push(...ry(o));
4260let m=y?o.length:o,g=rT("output",l,m),v=g.indicesGet("indices",i),b=Array.from(Array(s.length).keys()).map(t=>`uniforms.sizeInConcatAxis${t}`).join(",");return{name:"Concat",shaderCache:{hint:`${r}`,inputDependencies:c},getRunData:()=>({outputs:[{dims:o,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:p}),getShaderSource:r=>{let n,i;return`
4261
4262  ${(()=>{r.registerUniform("outputSize","u32");for(let n=0;n<t.length;n++)r.registerUniform(`sizeInConcatAxis${n}`,"u32");return r.declareVariables(...u,g)})()}
4263
4264  ${n=s.length,i=b,`
4265  fn calculateInputIndex(index: u32) -> u32 {
4266    let sizeInConcatAxis = array<u32, ${n}u>(${i});
4267    for (var i: u32 = 0u; i < ${n}; i += 1u ) {
4268      if (index < sizeInConcatAxis[i]) {
4269        return i;
4270      }
4271    }
4272    return ${n}u;
4273  }`}
4274
4275  ${r.mainStart()}
4276    ${r.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
4277
4278    var indices = ${g.offsetToIndices("global_idx")};
4279
4280    let inputIndex = calculateInputIndex(${v});
4281    if (inputIndex != 0u) {
4282      let sizeInConcatAxis = array<u32, ${s.length}u>(${b});
4283      ${v} -= sizeInConcatAxis[inputIndex - 1u];
4284    }
4285
4286    ${((t,r)=>{let n=t.length,i=[];for(let o=0;o<n;++o){let a=r.setByOffset("global_idx",t[o].getByIndices("indices"));1===n?i.push(a):0===o?i.push(`if (inputIndex == ${o}u) { ${a} }`):o===n-1?i.push(`else { ${a} }`):i.push(`else if (inputIndex == ${o}) { ${a} }`)}return i.join(`
4287`)})(u,g)}
4288  }`}}})(t.inputs,r.axis))},n3=t=>ri({axis:t.axis})}),oK=e5(()=>{oB(),n6=(t,r)=>{switch(t.activation){case"Relu":return{activationFunction:"",applyActivation:`value = max(value, ${r}(0.0));`};case"Sigmoid":return{activationFunction:"",applyActivation:`value = (${r}(1.0) / (${r}(1.0) + exp(-value)));`};case"Clip":return{activationFunction:`const clip_min_=${r}(${t.clipMin});const clip_max_=${r}(${t.clipMax});`,applyActivation:"value = clamp(value, clip_min_, clip_max_);"};default:return{activationFunction:"",applyActivation:""}}},n5=t=>{let r=t?.activation||"";if("Clip"===r){let[n,i]=t?.activation_params||[rh,rc];return{activation:r,clipMax:i,clipMin:n,activationCacheKey:`${r}:${n},${i}`}}return{activation:r,activationCacheKey:r}}}),oZ=e5(()=>{n9=(t,r)=>{switch(t){case 1:return r;case 2:return`vec2<${r}>`;case 3:return`vec3<${r}>`;case 4:return`vec4<${r}>`;default:throw Error(`${t}-component is not supported.`)}},n2=t=>`
4289      ${t?"value = value + getBiasByOutputCoords(coords);":""}
4290      `}),oJ=e5(()=>{n7=t=>`
4291fn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {
4292  return dot(coords, vec4<i32>(
4293      shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));
4294}
4295fn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {
4296  return dot(coords, vec4<i32>(
4297    i32(${t}.x), i32(${t}.y), i32(${t}.z), 1));
4298}
4299`}),oQ=e5(()=>{oB(),oN(),oK(),oZ(),n8=function(t,r){let n,i,o,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"f32",u=arguments.length>3?arguments[3]:void 0,l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],h=arguments.length>5&&void 0!==arguments[5]?arguments[5]:32,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6],f=arguments.length>7&&void 0!==arguments[7]?arguments[7]:32,d=r[1]*t[1],p=r[0]*t[0],y=l?d:h,m=l?h:d,g=y/r[0],v=h/r[1];if((!l||4!==g||4!==t[1])&&(l||3!==g&&4!==g)||y%r[0]!=0||h%r[1]!=0||4!==t[0])throw Error(`If transposeA ${l} is true, innerElementSize ${g} and workPerThread[1] ${t[1]} must be 4.
4300      Otherwise, innerElementSize ${g} must be 3 or 4.
4301  tileAWidth ${y} must be divisible by workgroupSize[0]${r[0]}. tileInner ${h} must be divisible by workgroupSize[1] ${r[1]}. colPerThread ${t[0]} must be 4.`);return`
4302var<workgroup> mm_Asub: array<array<vec${g}<${s}>, ${y/g}>, ${m}>;
4303var<workgroup> mm_Bsub: array<array<vec4<${s}>, ${p/t[0]}>, ${h}>;
4304
4305const rowPerThread = ${t[1]};
4306const colPerThread = ${t[0]};
4307const innerElementSize = ${g};
4308const tileInner = ${h};
4309
4310@compute @workgroup_size(${r[0]}, ${r[1]}, ${r[2]})
4311fn main(@builtin(local_invocation_id) localId : vec3<u32>,
4312        @builtin(global_invocation_id) globalId : vec3<u32>,
4313        @builtin(workgroup_id) workgroupId : vec3<u32>) {
4314  let localRow = i32(localId.y);
4315  let tileRow = localRow * rowPerThread;
4316  let tileCol = i32(localId.x);
4317
4318  let globalRow =i32(globalId.y) * rowPerThread;
4319  let globalCol = i32(globalId.x);
4320  let batch = ${c?"0":"i32(globalId.z)"};
4321  ${u?`let batchIndices = ${u.offsetToIndices("u32(batch)")};`:""}
4322  let globalRowStart = i32(workgroupId.y) * ${d};
4323
4324  let numTiles = ${c?`${Math.ceil(f/h)}`:"(uniforms.dimInner - 1) / tileInner + 1"};
4325  var kStart = ${c?`i32(globalId.z) * ${f}`:"0"};
4326
4327  var acc: array<vec4<${s}>, rowPerThread>;
4328
4329  // Loop over shared dimension.
4330  let tileRowB = localRow * ${v};
4331  for (var t = 0; t < numTiles; t = t + 1) {
4332      // Load one tile of A into local memory.
4333      for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4334          let inputRow = tileRow + innerRow;
4335          let inputCol = tileCol;
4336          ${n=l,i=u,n?`
4337        mm_Asub[inputRow][inputCol] = mm_readA(batch,
4338          kStart + inputRow,
4339          globalRowStart / innerElementSize + inputCol${i?", batchIndices":""});
4340        `:`
4341        mm_Asub[inputRow][inputCol] = mm_readA(batch,
4342          globalRow + innerRow,
4343          kStart / innerElementSize + inputCol${i?", batchIndices":""});
4344        `}
4345      }
4346
4347      // Load one tile of B into local memory.
4348      for (var innerRow = 0; innerRow < ${v}; innerRow = innerRow + 1) {
4349          let inputRow = tileRowB + innerRow;
4350          let inputCol = tileCol;
4351          mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${u?", batchIndices":""});
4352      }
4353      kStart = kStart + tileInner;
4354      workgroupBarrier();
4355
4356      // Compute acc values for a single thread.
4357      for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {
4358          let BCached0 = mm_Bsub[k * innerElementSize][tileCol];
4359          let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];
4360          let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];
4361          ${3===g?"":"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];"}
4362
4363          ${o=l,a=g,o?`
4364        let ACached0 = mm_Asub[k * innerElementSize][localRow];
4365        let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];
4366        let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];
4367        ${3===a?"":"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];"}
4368        for (var i = 0; i < rowPerThread; i = i + 1) {
4369          acc[i] = BCached0 * ACached0[i] + acc[i];
4370          acc[i] = BCached1 * ACached1[i] + acc[i];
4371          acc[i] = BCached2 * ACached2[i] + acc[i];
4372          ${3===a?"":"acc[i] = BCached3 * ACached3[i] + acc[i];"}
4373        }`:`
4374        for (var i = 0; i < rowPerThread; i = i + 1) {
4375          let ACached = mm_Asub[tileRow + i][k];
4376          acc[i] = BCached0 * ACached.x + acc[i];
4377          acc[i] = BCached1 * ACached.y + acc[i];
4378          acc[i] = BCached2 * ACached.z + acc[i];
4379          ${3===a?"":"acc[i] = BCached3 * ACached.w + acc[i];"}
4380        }`}
4381      }
4382
4383      workgroupBarrier();
4384  }
4385
4386  for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4387      mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);
4388  }
4389}`},n4=(t,r)=>t?`
4390            mm_Asub[inputRow][inputCol] = mm_readA(batch,
4391              kStart + inputRow,
4392              globalRowStart + inputCol${r?", batchIndices":""});
4393            `:`
4394            mm_Asub[inputRow][inputCol] = mm_readA(batch,
4395              globalRowStart + inputRow,
4396              kStart + inputCol${r?", batchIndices":""});
4397            `,ie=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"f32",i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:32,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:32,l=arguments.length>8&&void 0!==arguments[8]&&arguments[8],h=t[1]*r[1],c=t[0]*r[0],f=o?h:a,d=o?a:h;if(d%r[1]!=0||f%r[0]!=0||a%r[1]!=0)throw Error(`tileAHight ${d} must be divisible by workgroupSize[1]${r[1]}, tileAWidth ${f} must be divisible by workgroupSize[0]${r[0]}, tileInner ${a} must be divisible by workgroupSize[1]${r[1]}`);let p=d/r[1],y=f/r[0],m=a/r[1],g=l?`
4398    let localRow = i32(localId.y);
4399    let localCol = i32(localId.x);
4400    let globalRowStart = i32(workgroupId.y) * ${h};
4401    let globalColStart = i32(workgroupId.x) * ${c};
4402
4403    // Loop over shared dimension.
4404    for (var t = 0; t < numTiles; t = t + 1) {
4405      // Load one tile of A into local memory.
4406      for (var inputRow = localRow; inputRow < ${d}; inputRow = inputRow + ${r[1]}) {
4407        for (var inputCol = localCol; inputCol < ${f}; inputCol = inputCol + ${r[0]}) {
4408          ${n4(o,i)}
4409        }
4410      }
4411      // Load one tile of B into local memory.
4412      for (var inputRow = localRow; inputRow < ${a}; inputRow = inputRow + ${r[1]}) {
4413            for (var inputCol = localCol; inputCol < ${c}; inputCol = inputCol + ${r[0]}) {
4414          mm_Bsub[inputRow][inputCol] = mm_readB(batch,
4415            kStart + inputRow,
4416            globalColStart + inputCol${i?", batchIndices":""});
4417        }
4418      }
4419      kStart = kStart + tileInner;
4420      workgroupBarrier();
4421
4422      // Compute acc values for a single thread.
4423      var BCached : array<${n}, colPerThread>;
4424      for (var k = 0; k < tileInner; k = k + 1) {
4425        for (var inner = 0; inner < colPerThread; inner = inner + 1) {
4426          BCached[inner] = mm_Bsub[k][localCol + inner * ${r[0]}];
4427        }
4428        for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4429          let ACached = ${o?`mm_Asub[k][localRow + innerRow * ${r[1]}];`:`mm_Asub[localRow + innerRow * ${r[1]}][k];`}
4430          for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4431            acc[innerRow][innerCol] = acc[innerRow][innerCol] +
4432                ACached * BCached[innerCol];
4433          }
4434        }
4435      }
4436      workgroupBarrier();
4437    }
4438    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4439      let gRow = globalRowStart + localRow + innerRow * ${r[1]};
4440      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4441        let gCol = globalColStart + localCol + innerCol * ${r[0]};
4442        mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);
4443      }
4444    }
4445    `:`
4446let tileRow = i32(localId.y) * rowPerThread;
4447let tileCol = i32(localId.x) * colPerThread;
4448
4449let globalRow = i32(globalId.y) * rowPerThread;
4450let globalCol = i32(globalId.x) * colPerThread;
4451let globalRowStart = i32(workgroupId.y) * ${h};
4452
4453let tileRowA = i32(localId.y) * ${p};
4454let tileColA = i32(localId.x) * ${y};
4455let tileRowB = i32(localId.y) * ${m};
4456// Loop over shared dimension.
4457for (var t = 0; t < numTiles; t = t + 1) {
4458  // Load one tile of A into local memory.
4459  for (var innerRow = 0; innerRow < ${p}; innerRow = innerRow + 1) {
4460    for (var innerCol = 0; innerCol < ${y}; innerCol = innerCol + 1) {
4461      let inputRow = tileRowA + innerRow;
4462      let inputCol = tileColA + innerCol;
4463      ${n4(o,i)}
4464    }
4465  }
4466
4467  // Load one tile of B into local memory.
4468  for (var innerRow = 0; innerRow < ${m}; innerRow = innerRow + 1) {
4469    for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4470      let inputRow = tileRowB + innerRow;
4471      let inputCol = tileCol + innerCol;
4472      mm_Bsub[inputRow][inputCol] = mm_readB(batch,
4473        kStart + inputRow,
4474        globalCol + innerCol${i?", batchIndices":""});
4475    }
4476  }
4477  kStart = kStart + tileInner;
4478  workgroupBarrier();
4479
4480  // Compute acc values for a single thread.
4481  var BCached : array<${n}, colPerThread>;
4482  for (var k = 0; k < tileInner; k = k + 1) {
4483    for (var inner = 0; inner < colPerThread; inner = inner + 1) {
4484      BCached[inner] = mm_Bsub[k][tileCol + inner];
4485    }
4486
4487    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4488      ${o?"let ACached = mm_Asub[k][tileRow + innerRow];":"let ACached = mm_Asub[tileRow + innerRow][k];"}
4489      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4490        acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];
4491      }
4492    }
4493  }
4494
4495  workgroupBarrier();
4496}
4497
4498for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4499  for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4500    mm_write(batch, globalRow + innerRow, globalCol + innerCol,
4501        acc[innerRow][innerCol]);
4502  }
4503}
4504`;return`
4505  var<workgroup> mm_Asub : array<array<${n}, ${f}>, ${d}>;
4506  var<workgroup> mm_Bsub : array<array<${n}, ${c}>, ${a}>;
4507  const rowPerThread = ${t[1]};
4508  const colPerThread = ${t[0]};
4509  const tileInner = ${a};
4510
4511@compute @workgroup_size(${r[0]}, ${r[1]}, ${r[2]})
4512fn main(@builtin(local_invocation_id) localId : vec3<u32>,
4513        @builtin(global_invocation_id) globalId : vec3<u32>,
4514        @builtin(workgroup_id) workgroupId : vec3<u32>) {
4515    let batch = ${s?"0":"i32(globalId.z)"};
4516    ${i?`let batchIndices = ${i.offsetToIndices("u32(batch)")};`:""}
4517    let numTiles = ${s?`${Math.ceil(u/a)}`:"(uniforms.dimInner - 1) / tileInner + 1"};
4518    var kStart = ${s?`i32(globalId.z) * ${u}`:"0"};
4519
4520    var acc : array<array<${n}, colPerThread>, rowPerThread>;
4521
4522    // Without this initialization strange values show up in acc.
4523    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
4524      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
4525        acc[innerRow][innerCol] = 0.0;
4526      }
4527    }
4528    ${g}
4529  }
4530`},it=function(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],[s,u,l]=o,[h,c,f,d]=i,p=rA(s,l),y=rA(u,l),m=rd(i[0].type.tensor);return`
4531    fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${h.type.indices}) -> ${n9(t,m)} {
4532      var value = ${n9(t,m)}(0.0);
4533      let col = colIn * ${t};
4534      if(row < uniforms.dimAOuter && col < uniforms.dimInner)
4535      {
4536        ${(()=>{let t=c.rank,r=h.rank,n=`var aIndices: ${c.type.indices};`;for(let i=t-2-1,o=r-1;i>=0;i--,o--)n+=`
4537aIndices[${i}] = ${r>1?`batchIndices[${o}]`:"batchIndices"};`;return p.forEach(t=>{n+=`
4538aIndices[${t}] = 0;`}),n+=`
4539aIndices[${t-2}] = u32(row);
4540                   aIndices[${t-1}] = u32(colIn);`})()}
4541        value = ${c.getByIndices("aIndices")};
4542      }
4543      return value;
4544    }
4545
4546    fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${h.type.indices}) -> ${n9(t,m)} {
4547      var value = ${n9(t,m)}(0.0);
4548      let col = colIn * ${t};
4549      if(row < uniforms.dimInner && col < uniforms.dimBOuter)
4550      {
4551        ${(()=>{let t=f.rank,r=h.rank,n=`var bIndices: ${f.type.indices};`;for(let i=t-2-1,o=r-1;i>=0;i--,o--)n+=`
4552bIndices[${i}] = ${r>1?`batchIndices[${o}]`:"batchIndices"};`;return y.forEach(t=>{n+=`
4553bIndices[${t}] = 0;`}),n+=`
4554bIndices[${t-2}] = u32(row);
4555                   bIndices[${t-1}] = u32(colIn);`})()}
4556        value = ${f.getByIndices("bIndices")};
4557      }
4558      return value;
4559    }
4560
4561    fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${n9(t,m)}) {
4562      let col = colIn * ${t};
4563      if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {
4564        var value = valueIn;
4565        let coords = vec3<i32>(batch, row, colIn);
4566        ${r?`value = value + ${a?"bias[colIn]":`${n9(t,m)}(bias[row])`};`:""}
4567        ${n}
4568        ${d.setByIndices("vec3<u32>(coords)","value")}
4569      }
4570    }
4571    `},ir=function(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=t[0].dims,s=t[1].dims,u=a.slice(0,-2),l=s.slice(0,-2),h=i?i.slice(0,-2):n.slice(0,-2),c=rI(h.length),f=c?h.length:h,d=rS("batchDims",t[0].dataType,f,1),p=rs.size(h),y=a[a.length-2],m=a[a.length-1],g=s[s.length-1],v=m%4==0&&g%4==0,b=y<=8?[4,1,1]:[4,4,1],w=[8,8,1],x=[Math.ceil(g/w[0]/b[0]),Math.ceil(y/w[1]/b[1]),Math.ceil(p/w[2]/b[2])],_=rd(t[0].dataType),T=v?4:1,S=[...u,y,m/T],E=rI(S.length),O=E?S.length:S,A=[...l,m,g/T],I=rI(A.length),P=I?A.length:A,k=[p,y,g/T],C=r_("a",t[0].dataType,O,T),$=r_("b",t[1].dataType,P,T),R=rT("result",t[0].dataType,k.length,T),D=[C,$],M=[{type:"int32",data:y},{type:"int32",data:g},{type:"int32",data:m}];c&&M.push(...ry(h)),E&&M.push(...ry(S)),I&&M.push(...ry(A));let L=[];L.push(E?"rank":"dims"),L.push(I?"rank":"dims");let B=t.length>2,{activationFunction:N,applyActivation:F}=n6(r,R.type.value),U=it(T,B,F,[d,C,$,R],[u,l,h],o);if(B){let r=o?T:1;D.push(r_("bias",t[2].dataType,t[2].dims.length,r)),M.push(...ry(t[2].dims)),L.push("rank")}return M.push(...ry(k)),{name:"MatMul",shaderCache:{hint:r.activationCacheKey+`${b}${v}${o}`,inputDependencies:L},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:x[0],y:x[1],z:x[2]},programUniforms:M}),getShaderSource:t=>`
4572  ${t.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").registerInternalVariables(d).declareVariables(...D,R)}
4573  ${N}
4574  ${U}
4575  ${v?n8(b,w,_,d):ie(b,w,_,d)}
4576                   `}}}),o1=e5(()=>{o$(),oN(),oK(),oZ(),oJ(),oQ(),ii=function(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5?arguments[5]:void 0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:4,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:4,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:4,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:"f32",c=t?`
4577    let coord = vec4<i32>(batch, xRow, xCol, xCh);
4578    `:`
4579    let coord = vec4<i32>(batch, xCh, xRow, xCol);
4580    `,f=t?`
4581    let coords = vec4<i32>(
4582      batch,
4583      row / outWidth,
4584      row % outWidth,
4585      col);
4586    `:`
4587    let coords = vec4<i32>(
4588      batch,
4589      row,
4590      col / outWidth,
4591      col % outWidth);
4592    `,d=t?"row":"col",p=t?"col":"row",y=`
4593    let inChannels = i32(uniforms.w_shape[2]);
4594    let outWidth = ${t?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
4595    let outRow = ${d} / outWidth;
4596    let outCol = ${d} % outWidth;
4597
4598    let WRow = ${p} / (filterDims[1] * inChannels);
4599    let WCol = ${p} / inChannels % filterDims[1];
4600    let xRow = outRow * stride[0] + dilation[0] * WRow - pad[0];
4601    let xCol = outCol * stride[1] + dilation[1] * WCol - pad[1];
4602    let xCh = ${p} % inChannels;
4603    var resData = ${n9(s,h)}(0.0);
4604    // The bounds checking is always needed since we use it to pad zero for
4605    // the 'same' padding type.
4606    if (xRow >= 0 && xRow < ${t?"i32(uniforms.x_shape[1])":"i32(uniforms.x_shape[2])"} && xCol >= 0 && xCol < ${t?"i32(uniforms.x_shape[2])":"i32(uniforms.x_shape[3])"}) {
4607      ${c}
4608      let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));
4609      ${(t=>{switch(t){case 1:return"resData = x[xIndex];";case 3:return`resData = vec3<${h}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return"resData = x[xIndex / 4];";default:throw Error(`innerElementSize ${t} is not supported.`)}})(s)}
4610    }
4611    return resData;`,m=t?r&&i?`
4612    let col = colIn * ${s};
4613    ${y}`:`
4614    let col = colIn * ${s};
4615    if (row < uniforms.dimAOuter && col < uniforms.dimInner) {
4616      ${y}
4617    }
4618    return ${n9(s,h)}(0.0);`:i&&n?`
4619    let col = colIn * ${s};
4620    ${y}`:`
4621    let col = colIn * ${s};
4622    if (row < uniforms.dimInner && col < uniforms.dimBOuter) {
4623      ${y}
4624    }
4625    return ${n9(s,h)}(0.0);`,g=`${(t=>{switch(t){case 1:return"return w[row * i32(uniforms.w_shape[3]) + colIn];";case 4:return"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];";default:throw Error(`innerElementSize ${t} is not supported.`)}})(u)}`,v=n9(l,h),b=n9(t?s:u,h),w=n9(t?u:s,h),{activationFunction:x,applyActivation:_}=n6(a,v);return`
4626    ${x}
4627    fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${b} {
4628      ${t?m:g}
4629    }
4630
4631    fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${w} {
4632      ${t?g:m}
4633    }
4634
4635    fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${v}) {
4636      let col = colIn * ${l};
4637      if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)
4638      {
4639      var value = valueIn;
4640      let outWidth = ${t?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
4641      ${f}
4642      ${n2(o)}
4643      ${_}
4644      setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);
4645      }
4646    }`},io=(t,r,n,i,o,a,s,u)=>{let l="NHWC"===r.format,h=l?t[0].dims[3]:t[0].dims[1],c=n[0],f=l?n[2]:n[3],d=l?n[1]:n[2],p=l?n[3]:n[1],y=l&&(h%4==0||h%3==0)&&p%4==0,m=l?p:f*d,g=l?f*d:p,v=[8,8,1],b=i<=8?[4,1,1]:[4,4,1],w=[Math.ceil(m/v[0]/b[0]),Math.ceil(g/v[1]/b[1]),Math.ceil(c/v[2]/b[2])];t6("verbose",()=>`[conv2d_mm_webgpu] dispatch = ${w}`);let x=y?l&&h%4!=0?3:4:1,_=v[1]*b[1],T=v[0]*b[0],S=Math.max(v[0]*x,v[1]),E=i%_==0,O=o%T==0,A=a%S==0,I=y?[x,4,4]:[1,1,1],P=rd(t[0].dataType),k=y?4:1,C=[{type:"int32",data:i},{type:"int32",data:o},{type:"int32",data:a}],$=[r_("x",t[0].dataType,t[0].dims.length,3===x?1:x),r_("w",t[1].dataType,t[1].dims.length,k)];C.push(...ry(t[0].dims)),C.push(...ry(t[1].dims));let R=`
4647      fn setOutputAtIndex(flatIndex : i32, value : ${y?`vec4<${P}>`:P}) {
4648        result[flatIndex] = ${y?`vec4<${P}>`:P}(value);
4649      }
4650      fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${y?`vec4<${P}>`:P}) {
4651        let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));
4652        setOutputAtIndex(flatIndex ${y?"/ 4":""}, value);
4653      }`;if(s){let r=r_("bias",t[2].dataType,t[2].dims.length,k);$.push(r),C.push(...ry(t[2].dims)),R+=`
4654        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${y?`vec4<${P}>`:P} {
4655          return bias[coords.${l?"w":"y"}${y?"/ 4":""}];
4656        }`}let D=rT("result",t[0].dataType,n.length,k);return C.push(...ry(n)),{name:"Conv2DMatMul",shaderCache:{hint:r.cacheKey},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:w[0],y:w[1],z:w[2]},programUniforms:C}),getShaderSource:t=>`
4657        ${n7("uniforms.result_strides")}
4658        //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,
4659        //  outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,
4660        //  dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };
4661        ${t.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").declareVariables(...$,D)}
4662        const filterDims : vec2<i32> = vec2<i32>(${r.kernelShape[0]}, ${r.kernelShape[1]});
4663        const pad : vec2<i32> = vec2<i32>(${r.pads[0]}, ${r.pads[1]});
4664        const stride : vec2<i32> = vec2<i32>(${r.strides[0]}, ${r.strides[1]});
4665        const dilation : vec2<i32> = vec2<i32>(${r.dilations[0]}, ${r.dilations[1]});
4666        ${R}
4667        ${ii(l,E,O,A,s,r,I[0],I[1],I[2],P)}
4668            ${y?n8(b,v,P,void 0,!l,S):ie(b,v,P,void 0,!l,S,!1,void 0,u)}`}}}),o0=e5(()=>{oB(),oN(),o6(),oK(),ia=(t,r,n)=>{let i=t.length>2,o=i?"value += b[output_channel];":"",a=t[0].dims,s=t[1].dims,u=s[0]/r.group,l="NHWC"===r.format,h=il(a,s,r.dilations,r.pads,r.strides,l),c=rs.size(h),f=rT("output",t[0].dataType,h),{activationFunction:d,applyActivation:p}=n6(r,f.type.value),y=r_("x",t[0].dataType,a),m=r_("w",t[1].dataType,s),g=[y,m];return i&&g.push(r_("b",t[2].dataType,t[2].dims)),{name:"GroupedConv",shaderCache:{hint:r.cacheKey},getRunData:()=>({outputs:[{dims:n?n(h):h,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(c/64)}}),getShaderSource:t=>`
4669  const strides: vec2<u32> = vec2(${r.strides[0]}u, ${r.strides[1]}u);
4670  const pads: vec2<u32> = vec2(${r.pads[0]}u, ${r.pads[1]}u);
4671
4672  ${t.declareVariables(...g,f)}
4673
4674  ${d}
4675
4676  ${t.mainStart()}
4677    ${t.guardAgainstOutOfBoundsWorkgroupSizes(c)}
4678
4679    let outputIndices = ${f.offsetToIndices("global_idx")};
4680    let batch: u32 = outputIndices[0];
4681    let output_channel: u32 = outputIndices[${l?3:1}];
4682    let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${l?1:2}
4682], outputIndices[${l?2:3}]) * strides - pads;
4683    let group_id: u32 = output_channel / ${u}u;
4684
4685    var value: ${f.type.value} = ${f.type.value}(0);
4686    for (var wInChannel: u32 = 0u; wInChannel < ${s[1]}u; wInChannel++) {
4687      let input_channel = group_id * ${s[1]}u + wInChannel;
4688      for (var wHeight: u32 = 0u; wHeight < ${s[2]}u; wHeight++) {
4689        let xHeight = xRCCorner.x + wHeight * ${r.dilations[0]}u;
4690
4691        if (xHeight < 0u || xHeight >= ${a[l?1:2]}u) {
4692          continue;
4693        }
4694
4695        for (var wWidth: u32 = 0u; wWidth < ${s[3]}u; wWidth++) {
4696          let xWidth = xRCCorner.y + wWidth * ${r.dilations[1]}u;
4697          if (xWidth < 0u || xWidth >= ${a[l?2:3]}u) {
4698            continue;
4699          }
4700
4701          let xVal = ${l?y.get("batch","xHeight","xWidth","input_channel"):y.get("batch","input_channel","xHeight","xWidth")};
4702          let wVal = ${m.get("output_channel","wInChannel","wHeight","wWidth")};
4703          value += xVal*wVal;
4704        }
4705      }
4706    }
4707    ${o}
4708    ${p}
4709    ${f.setByOffset("global_idx","value")}
4710  }`}}}),o3=e5(()=>{oB(),oQ(),oN(),oK(),is=function(t,r,n,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=t[0].dims,s=t[1].dims,u=a[a.length-2],l=s[s.length-1],h=a[a.length-1],c=rm(l),f=rm(h),d=rm(u),p=rs.size(n)/c/d,y=t.length>2,m=i?i.slice(0,-2):n.slice(0,-2),g=[rs.size(m),u,l],v=[{type:"uint32",data:p},{type:"uint32",data:u},{type:"uint32",data:l},{type:"uint32",data:h},...ry(m),...ry(a),...ry(s)];return y&&v.push(...ry(t[2].dims)),v.push(...ry(g)),{name:"MatMulNaive",shaderCache:{hint:`${r.activationCacheKey}_${c}_${f}_${d}_${o}`,inputDependencies:y?["rank","rank","rank"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:v}),getShaderSource:i=>{let u=rS("batch_dims",t[0].dataType,m.length),l=r_("a",t[0].dataType,a.length,f),h=r_("b",t[1].dataType,s.length,c),p=rT("output",t[0].dataType,g.length,c),{activationFunction:v,applyActivation:b}=n6(r,p.type.value),w=[l,h],x="";if(y){let r=o?c:1;w.push(r_("bias",t[2].dataType,t[2].dims.length,r)),x=o?`value += bias[col / ${r}];`:`value += ${p.type.value}(bias[row + i]);`}let _=a.slice(0,-2),T=s.slice(0,-2),S=rA(_,m),E=rA(T,m),O=(t,r)=>{let n=t.rank,i=t.name;if(2===n)return`var ${i}_indices = ${t.type.indices}(0u, 0u);`;let o=u.rank,a=`var ${i}_indices: ${t.type.indices};`;for(let t=n-2-1,r=o-1;t>=0;t--,r--)a+=`
4711${i}_indices[${t}] = ${o>1?`batch_indices[${r}]`:"batch_indices"};`;return r.forEach(t=>{a+=`
4712${i}_indices[${t}] = 0;`}),a+=`${i}_indices[${n-2}] = 0u;
4713                     ${i}_indices[${n-1}] = 0u;`};return`
4714  ${i.registerUniform("outputSize","u32").registerUniform("M","u32").registerUniform("N","u32").registerUniform("K","u32").registerInternalVariables(u).declareVariables(...w,p)}
4715  ${v}
4716  ${i.mainStart()}
4717    ${i.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
4718    let col = (global_idx % (uniforms.N / ${c})) * ${c};
4719    var index1 = global_idx / (uniforms.N / ${c});
4720    let stride1 = uniforms.M / ${d};
4721    let row = (index1 % stride1) * ${d};
4722    let batch = index1 / stride1;
4723
4724    ${2===n.length?"":`let batch_indices = ${u.offsetToIndices("batch")};`}
4725    ${O(l,S)}
4726    let a_offset = ${l.indicesToOffset("a_indices")};
4727    ${O(h,E)}
4728    let b_offset = ${h.indicesToOffset("b_indices")};
4729    var values: array<${p.type.value}, ${d}>;
4730    for (var k: u32 = 0u; k < uniforms.K; k = k + ${f}) {
4731      ${(()=>{let t=`var a_data: ${l.type.value};`;for(let r=0;r<f;r++)t+=`
4732              let b_data${r} = b[(b_offset + (k + ${r}) * uniforms.N + col) / ${c}];`;for(let r=0;r<d;r++){t+=`a_data = a[(a_offset + (row + ${r}) * uniforms.K + k) / ${f}];`;for(let n=0;n<f;n++)t+=`
4733            values[${r}] = fma(${h.type.value}(a_data${1===f?"":`[${n}]`}), b_data${n}, values[${r}]);
4734`}return t})()}
4735    }
4736    for (var i = 0u; i < ${d}u; i++) {
4737      var value = values[i];
4738      ${x}
4739      ${b}
4740      let cur_indices = ${p.type.indices}(batch, row + i, col);
4741      let offset = ${p.indicesToOffset("cur_indices")};
4742      ${p.setByOffset(`offset / ${c}`,"value")};
4743    }
4744  }
4745  `}}},iu=t=>{var r=t.inputs;if(!r||2!==r.length)throw Error("MatMul requires 2 inputs.");if(r[0].dims[r[0].dims.length-1]!==r[1].dims[r[1].dims.length-2])throw Error("shared dimension does not match.");
4745let n=ra.calcShape(t.inputs[0].dims,t.inputs[1].dims,!0);if(!n)throw Error("Can't use matmul on the given tensors");let i=n[n.length-1],o=t.inputs[0].dims[t.inputs[0].dims.length-1];i<8&&o<8?t.compute(is(t.inputs,{activation:"",activationCacheKey:""},n)):t.compute(ir(t.inputs,{activation:"",activationCacheKey:""},n))}}),o6=e5(()=>{oB(),oL(),o1(),oQ(),o0(),oK(),o3(),oF(),il=(t,r,n,i,o,a)=>{let s=t[0],u=t.slice(a?1:2,a?3:4),l=u.length,h=r[0],c=r.slice(2).map((t,r)=>t+(t-1)*(n[r]-1)),f=u.map((t,r)=>t+i[r]+i[r+l]).map((t,r)=>Math.floor((t-c[r]+o[r])/o[r]));return f.splice(0,0,s),f.splice(a?3:1,0,h),f},ih=[2,3,1,0],ic=(t,r)=>{let n=t.kernelShape.slice();for(let t=2;t<r[1].dims.length;++t)0===n[t-2]&&(n[t-2]=r[1].dims[t]);let i=t.pads.slice();ru.adjustPadsBasedOnAutoPad(r[0].dims,t.strides,t.dilations,n,i,"NHWC"===t.format,t.autoPad);let o=Object.assign({},t);return Object.assign(o,{kernelShape:n,pads:i,cacheKey:t.cacheKey}),o},id=t=>{let r=n5(t),n=t.format,i=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][t.auto_pad],o=t.dilations,a=t.group,s=t.kernel_shape,u=t.pads,l=t.strides,h=t.w_is_const();return ri({autoPad:i,format:n,dilations:o,group:a,kernelShape:s,pads:u,strides:l,wIsConst:h,...r})},ip=(t,r)=>{var n,i;let o,a,s,u,l,h,c;((t,r)=>{if(!t||2!==t.length&&3!==t.length)throw Error("Conv requires 2 or 3 inputs");if(4!==t[0].dims.length&&3!==t[0].dims.length)throw Error("currently only support conv 1D and 2D");if(t[0].dims.length!==t[1].dims.length)throw Error("filter does not have same dimension as input");if(t[0].dims["NHWC"===r.format?t[0].dims.length-1:1]!==t[1].dims[1]*r.group)throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(3===t.length&&(1!==t[2].dims.length||t[1].dims[0]!==t[2].dims[0]))throw Error("invalid bias");let n=t[0].dims.length-2;if(r.dilations.length!==n)throw Error(`dilations should be ${n}D`);if(r.strides.length!==n)throw Error(`strides should be ${n}D`);if(r.pads.length!==2*n)throw Error(`pads should be ${2*n}D`);if(0!==r.kernelShape.length&&r.kernelShape.length!==t[1].dims.length-2)throw Error("invalid kernel shape")})(t.inputs,r),3===t.inputs[0].dims.length?(n=t,o="NHWC"===(i=r).format,a=[n.inputs[0].reshape(o?[n.inputs[0].dims[0],1,n.inputs[0].dims[1],n.inputs[0].dims[2]]:[n.inputs[0].dims[0],n.inputs[0].dims[1],1,n.inputs[0].dims[2]]),n.inputs[1].reshape([n.inputs[1].dims[0],n.inputs[1].dims[1],1,n.inputs[1].dims[2]])],3===n.inputs.length&&a.push(n.inputs[2]),s=[0,i.pads[0],0,i.pads[1]],u=[1].concat(i.strides),l=[1].concat(i.dilations),h=[1].concat(i.kernelShape),c=ic({...i,pads:s,strides:u,dilations:l,kernelShape:h},a),n.compute(ia(a,c,t=>o?[t[0],t[2],t[3]]:[]))):((t,r,n)=>{let i=ic(n,r),o="NHWC"===n.format;if(1!==n.group)return t.compute(ia(r,i));let a=3===r.length,s=r[0].dims[o?1:2],u=r[0].dims[o?2:3],l=r[0].dims[o?3:1],h=r[1].dims[2],c=r[1].dims[3],f=il(r[0].dims,r[1].dims,n.dilations,i.pads,n.strides,o),d=f[o?1:2],p=f[o?2:3],y=f[o?3:1],m=o&&h===s&&c===u&&0===n.pads[0]&&0===n.pads[1];if(m||1===h&&1===c&&1===n.dilations[0]&&1===n.dilations[1]&&1===n.strides[0]&&1===n.strides[1]&&0===n.pads[0]&&0===n.pads[1]){let h,c,g,v=f[0],b=[];if(o){let i=t.kernelCustomData.wT??t.compute(rk(r[1],ih),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];if(n.wIsConst&&!t.kernelCustomData.wT&&(t.kernelCustomData.wT=i),m){let t=s*u*l;h=r[0].reshape([1,v,t]),c=i.reshape([1,t,y]),g=[1,v,y]}else h=r[0].reshape([v,s*u,l]),c=i.reshape([1,l,y]),g=[v,d*p,y];b.push(h),b.push(c)}else h=r[0].reshape([v,l,s*u]),c=r[1].reshape([1,y,l]),g=[v,y,d*p],b.push(c),b.push(h);a&&b.push(r[2]);let w=g[2],x=b[0].dims[b[0].dims.length-1];return w<8&&x<8?t.compute(is(b,i,f,g,o),{inputs:b}):t.compute(ir(b,i,f,g,o),{inputs:b})}let g=t.kernelCustomData.wT??t.compute(rk(r[1],ih),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!t.kernelCustomData.wT&&(t.kernelCustomData.wT=g);let v=[r[0],g];a&&v.push(r[2]);let b=o?d*p:y,w=o?y:d*p,x=h*c*l;t.compute(io(v,i,f,b,w,x,a,!0),{inputs:v})})(t,t.inputs,r)}}),o5=e5(()=>{o$(),oN(),oK(),oZ(),oJ(),oQ(),iy=function(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,o=n9(i,"f32"),a=t?`
4746    let coords = vec4<i32>(
4747      batch,
4748      row / outWidth,
4749      row % outWidth,
4750      col);
4751    `:`
4752    let coords = vec4<i32>(
4753      batch,
4754      row,
4755      col / outWidth,
4756      col % outWidth);
4757    `,s=t?"row":"col",u=t?"col":"row",l=`
4758      let inChannels = ${t?"outBackprop[3]":"outBackprop[1]"};
4759      let outWidth = ${t?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
4760      let outRow = ${s} / outWidth;
4761      let outCol = ${s} % outWidth;
4762
4763      let WRow = ${u} / (filterDims[1] * inChannels);
4764      let WCol = ${u} / inChannels % filterDims[1];
4765      let xR = f32(outRow - pads[0] + dilation[0] * WRow) / f32(strides[0]);
4766      let xC = f32(outCol - pads[1] + dilation[1] * WCol) / f32(strides[1]);
4767      if (xR < 0.0 || xR >= f32(${t?"outBackprop[1]":"outBackprop[2]"}) || fract(xR) > 0.0) {
4768        return ${o}(0.0);
4769      }
4770      if (xC < 0.0 || xC >= f32(${t?"outBackprop[2]":"outBackprop[3]"}) || fract(xC) > 0.0) {
4771        return ${o}(0.0);
4772      }
4773      let iXR = i32(xR);
4774      let iXC = i32(xC);
4775      let xCh = ${u} % inChannels;
4776      ${t?`
4777      let coord = vec4<i32>(batch, iXR, iXC, xCh);
4778      `:`
4779      let coord = vec4<i32>(batch, xCh, iXR, iXC);
4780      `}
4781      return x[getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape))/${i}];`,h=t?`
4782      let col = colIn * ${i};
4783      if (row < uniforms.dimAOuter && col < uniforms.dimInner) {
4784        ${l}
4785      }
4786      return ${o}(0.0);`:`
4787      let col = colIn * ${i};
4788      if (row < uniforms.dimInner && col < uniforms.dimBOuter) {
4789        ${l}
4790      }
4791      return ${o}(0.0);`,c=`
4792      let col = colIn * ${i};
4793      let inChannels = ${t?"outBackprop[3]":"outBackprop[1]"};
4794      let coordX = filterDims.x - 1 - row / (filterDims[1] * inChannels);
4795      let coordY = filterDims.y - 1 - (row / inChannels) % filterDims[1];
4796      if (${t?"row < uniforms.dimInner && col < uniforms.dimBOuter":"row < uniforms.dimInner && col < uniforms.dimAOuter"}  && coordX >= 0 && coordY >= 0) {
4797        let rowInner = row % inChannels;
4798        let coord = vec4<i32>(coordX, coordY, col, rowInner);
4799        ${(t=>{switch(t){case 1:return"return w[getIndexFromCoords4D(coord, vec4<i32>(uniforms.w_shape))];";case 4:return`
4800            let coord1 = vec4<i32>(coordX, coordY, col + 1, rowInner);
4801            let coord2 = vec4<i32>(coordX, coordY, col + 2, rowInner);
4802            let coord3 = vec4<i32>(coordX, coordY, col + 3, rowInner);
4803            let v0 = w[getIndexFromCoords4D(coord, vec4<i32>(uniforms.w_shape))];
4804            let v1 = w[getIndexFromCoords4D(coord1, vec4<i32>(uniforms.w_shape))];
4805            let v2 = w[getIndexFromCoords4D(coord2, vec4<i32>(uniforms.w_shape))];
4806            let v3 = w[getIndexFromCoords4D(coord3, vec4<i32>(uniforms.w_shape))];
4807            return vec4<f32>(v0, v1, v2, v3);
4808            `;default:throw Error(`innerElementSize ${t} is not supported.`)}})(i)}
4809      }
4810      return ${o}(0.0);
4811      `,{activationFunction:f,applyActivation:d}=n6(n,o);return`
4812      ${f}
4813  fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${o} {
4814    ${t?h:c}
4815  }
4816
4817  fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${o} {
4818    ${t?c:h}
4819  }
4820
4821  fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${o}) {
4822    let col = colIn * ${i};
4823    if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {
4824      var value = valueInput;
4825      let outWidth = ${t?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
4826      ${a}
4827      ${n2(r)}
4828      ${d}
4829      result[getIndexFromCoords4D(coords, vec4<i32>(uniforms.result_shape))/${i}] = value;
4830    }
4831  }`},im=(t,r,n,i,o,a,s,u)=>{let l="NHWC"===r.format,h=l?t[0].dims[3]:t[0].dims[1],c=n[0],f=l?n[2]:n[3],d=l?n[1]:n[2],p=l?n[3]:n[1],y=l?h%4==0&&p%4==0:f%4==0&&p%4==0,m=l?p:f*d,g=l?f*d:p,v=y?[8,8,1]:[m<=4||g<=4?4:16,m>4&&g<=4?4:16,1],b=y?[4,4,1]:[m<=4?1:4,m>4&&g<=4?1:4,1],w=[Math.ceil(m/v[0]/b[0]),Math.ceil(g/v[1]/b[1]),Math.ceil(c/v[2]/b[2])];t6("verbose",()=>`[conv_backprop_mm_webgpu] dispatch = ${w}`);let x=y?4:1,_=Math.max(v[0]*x,v[1]),T=y?4:1,S=[{type:"int32",data:i},{type:"int32",data:o},{type:"int32",data:a}],E=r_("x",t[0].dataType,t[0].dims.length,T),O=r_("w",t[1].dataType,t[1].dims.length,1),A=rT("result",t[0].dataType,n.length,T),I=[E,O];S.push(...ry(t[0].dims)),S.push(...ry(t[1].dims));let P="";if(s){let r=r_("bias",t[2].dataType,t[2].dims.length,T);I.push(r),S.push(...ry(t[2].dims)),P+=`
4832        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${y?"vec4<f32>":"f32"} {
4833          return bias[coords.${l?"w":"y"}${y?"/ 4":""}];
4834        }`}return S.push(...ry(n)),{name:"Conv2DTransposeMatMul",shaderCache:{hint:r.cacheKey},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:w[0],y:w[1],z:w[2]},programUniforms:S}),getShaderSource:n=>`
4835        ${n7("uniforms.result_strides")}
4836        ${n.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").declareVariables(...I,A)};
4837        const outBackprop : vec4<i32> = vec4<i32>(${t[0].dims.join(",")});
4838        const filterDims : vec2<i32> = vec2<i32>(${r.kernelShape[l?1:2]}, ${r.kernelShape[l?2:3]});
4839        const effectiveFilterDims : vec2<i32> = filterDims + vec2<i32>(
4840              ${r.dilations[0]<=1?0:(r.kernelShape[l?1:2]-1)*(r.dilations[0]-1)},
4841              ${r.dilations[1]<=1?0:(r.kernelShape[l?2:3]-1)*(r.dilations[1]-1)});
4842        const pads : vec2<i32> = vec2<i32>(i32(effectiveFilterDims[0]) - 1 - (${r.pads[0]+r.pads[2]})/2,
4843                                         i32(effectiveFilterDims[1]) - 1 - (${r.pads[1]+r.pads[3]})/2);
4844        const strides : vec2<i32> = vec2<i32>(${r.strides[0]}, ${r.strides[1]});
4845        const dilation : vec2<i32> = vec2<i32>(${r.dilations[0]}, ${r.dilations[1]});
4846        const dimAOuter : i32 = ${i};
4847        const dimBOuter : i32 = ${o};
4848        const dimInner : i32 = ${a};
4849        ${P}
4850        ${iy(l,s,r,x)}
4851        ${y?n8(b,v,"f32",void 0,!l,_):ie(b,v,"f32",void 0,!l,_,!1,void 0,u)}`}}}),o9=e5(()=>{o$(),oB(),oN(),ig=function(t,r,n,i,o,a){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],u=arguments.length>7?arguments[7]:void 0,l="NHWC"===n.format,h=l?1:2,c=l?2:3,f=l?3:1,d=rs.size(i),p=s?2:1,y=n.group,m=r[1].dims,g=m[0]/y,v=m[1],b=`
4852  fn setOutputAtIndex(flatIndex : u32, value : ${s?`vec4<${u}>`:u}) {
4853    result[flatIndex] = ${s?`vec4<${u}>`:u}(value);
4854  }`;o&&(b+=`
4855    fn getBiasByOutputCoords(coords : vec4<u32>) -> ${s?`vec4<${u}>`:u} {
4856      return bias[coords.${l?"w":"y"}${s?"/ 4":""}];
4857    }`);let w=s?4:1,x=r_("W",r[1].dataType,r[1].dims,w),_=r_("Dy",r[0].dataType,r[0].dims,w),T=[_,x];o&&T.push(r_("bias",r[2].dataType,[i[f]],w));let S=rT("result",r[0].dataType,i,w),E=`{
4858        let batch: u32 = ${a?"global_id.z":"workgroup_id.z"} / outShape[1];
4859        let r = ${a?"global_id.z":"workgroup_id.z"} % outShape[1];
4860        let c = ${a?"global_id.y":"workgroup_id.y"} * ${p};
4861        let d1: u32 = ${a?"global_id.x":"workgroup_id.x"} * 4;
4862
4863        let dyCorner = vec2<i32>(i32(r), i32(c)) - vec2<i32>(pads);
4864
4865        // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).
4866        // ? = to be determined. : = across all values in that axis.
4867        var dotProd: array<vec4<${u}>, ${p}>;
4868        for (var i = 0; i < ${p}; i++) {
4869          dotProd[i] = vec4<${u}>(0.0);
4870        }
4871        for (var wR: u32 = 0; wR < filterDims[0]; wR = wR + 1) {
4872          var dyR = (${u}(dyCorner.x) + ${u}(wR)) / ${u}
4872(strides.x);
4873          let wRPerm = filterDims[0] - 1 - wR;
4874          if (dyR < 0.0 || dyR >= ${u}(outBackprop[1]) ||
4875              fract(dyR) > 0.0 || wRPerm < 0) {
4876            continue;
4877          }
4878          let idyR: u32 = u32(dyR);
4879
4880          for (var wC: u32 = 0; wC < filterDims[1]; wC = wC + 1) {
4881            let dyC = (${u}(dyCorner.y) + ${u}(wC)) / ${u}(strides.y);
4882            let dyC2 = (${u}(dyCorner.y) + 1.0 + ${u}(wC)) / ${u}(strides.y);
4883            let wCPerm = filterDims[1] - 1 - wC;
4884            if (wCPerm < 0) {
4885              continue;
4886            }
4887            var bDyCVal = true;
4888            var bDyCVal2 = true;
4889            if (dyC < 0.0 || dyC >= ${u}(outBackprop[2]) ||
4890                fract(dyC) > 0.0) {
4891              bDyCVal = false;
4892            }
4893            if (dyC2 < 0.0 || dyC2 >= ${u}(outBackprop[2]) ||
4894                fract(dyC2) > 0.0) {
4895              bDyCVal2 = false;
4896            }
4897
4898            let idyC: u32 = u32(dyC);
4899            let idyC2: u32 = u32(dyC2);
4900            if (bDyCVal && bDyCVal2) {
4901              let d2Length = outBackprop[3];
4902              for (var d2 :u32 = 0; d2 < d2Length; d2 = d2 + 4) {
4903                let wValue0 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};
4904                let wValue1 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};
4905                let wValue2 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};
4906                let wValue3 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};
4907
4908                var xValue = ${_.get("batch","idyR","idyC","d2")};
4909                let tmpval = vec4<${u}>(dot(xValue, wValue0),
4910                                      dot(xValue, wValue1),
4911                                      dot(xValue, wValue2),
4912                                      dot(xValue, wValue3));
4913                dotProd[0] = dotProd[0] + tmpval;
4914
4915                xValue =  ${_.get("batch","idyR","idyC2","d2")};
4916
4917                dotProd[1] = dotProd[1] + vec4<${u}>(dot(xValue, wValue0),
4918                                                    dot(xValue, wValue1),
4919                                                    dot(xValue, wValue2),
4920                                                    dot(xValue, wValue3));
4921              }
4922            } else if (bDyCVal) {
4923              let d2Length = outBackprop[${f}];
4924              for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {
4925                let wValue0 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};
4926                let wValue1 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};
4927                let wValue2 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};
4928                let wValue3 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};
4929
4930                var xValue = ${_.get("batch","idyR","idyC","d2")};
4931                let tmpval = vec4<${u}>(dot(xValue, wValue0),
4932                                      dot(xValue, wValue1),
4933                                      dot(xValue, wValue2),
4934                                      dot(xValue, wValue3));
4935                dotProd[0] = dotProd[0] + tmpval;
4936              }
4937            } else if (bDyCVal2) {
4938              let d2Length = outBackprop[3];
4939              for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {
4940                let wValue0 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};
4941                let wValue1 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};
4942                let wValue2 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};
4943                let wValue3 = ${x.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};
4944
4945                var xValue = ${_.get("batch","idyR","idyC2","d2")};
4946                let tmpval = vec4<${u}>(dot(xValue, wValue0),
4947                                      dot(xValue, wValue1),
4948                                      dot(xValue, wValue2),
4949                                      dot(xValue, wValue3));
4950                dotProd[1] = dotProd[1] + tmpval;
4951              }
4952            }
4953          }
4954        }
4955
4956        for (var i: u32 = 0; i < ${p}; i = i + 1) {
4957          let value = dotProd[i] + ${o?"bias[c+i]":`vec4<${u}>(0.0)`};
4958          ${S.set("batch","r","c + i","d1","value")};
4959        }
4960      }`,O=`
4961          let outputIndices = ${S.offsetToIndices("global_idx")};
4962          let batch = ${S.indicesGet("outputIndices",0)};
4963          let d1 = ${S.indicesGet("outputIndices",f)};
4964          let r = ${S.indicesGet("outputIndices",h)};
4965          let c = ${S.indicesGet("outputIndices",c)};
4966          let dyCorner = vec2<i32>(i32(r), i32(c)) - pads;
4967          let dyRCorner = dyCorner.x;
4968          let dyCCorner = dyCorner.y;
4969          let groupId = d1 / ${v};
4970          let wOutChannel = d1 - groupId * ${v};
4971          // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).
4972          // ? = to be determined. : = across all values in that axis.
4973          var dotProd = ${u}(0.0);
4974          for (var wR: u32 = 0; wR < effectiveFilterDims.x; wR = wR + 1) {
4975            if (wR % dilations.x != 0) {
4976              continue;
4977            }
4978            let dyR = (${u}(dyRCorner) + ${u}(wR)) / ${u}
4978(strides[0]);
4979            let wRPerm = filterDims.x - 1 - wR / dilations.x;
4980            if (dyR < 0.0 || dyR >= ${u}(outBackprop[${h}]) || fract(dyR) > 0.0 ||
4981                wRPerm < 0) {
4982              continue;
4983            }
4984            let idyR: u32 = u32(dyR);
4985
4986            for (var wC: u32 = 0; wC < effectiveFilterDims.y; wC = wC + 1) {
4987              if (wC % dilations.y != 0) {
4988                continue;
4989              }
4990              let dyC = (${u}(dyCCorner) + ${u}(wC)) / ${u}(strides.y);
4991              let wCPerm = filterDims.y - 1 - wC / dilations.y;
4992              if (dyC < 0.0 || dyC >= ${u}(outBackprop[${c}]) ||
4993                  fract(dyC) > 0.0 || wCPerm < 0) {
4994                continue;
4995              }
4996              let idyC: u32 = u32(dyC);
4997              var inputChannel = groupId * ${g};
4998              for (var d2: u32 = 0; d2 < ${g}; d2 = d2 + 1) {
4999                let xValue = ${l?_.get("batch","idyR","idyC","inputChannel"):_.get("batch","inputChannel","idyR","idyC")};
5000                let wValue = ${x.get("inputChannel","wOutChannel","u32(wRPerm)","u32(wCPerm)")};
5001                dotProd = dotProd + xValue * wValue;
5002                inputChannel = inputChannel + 1;
5003              }
5004            }
5005          }
5006          let value = dotProd + ${o?"bias[d1]":`${u}(0.0)`};
5007          ${S.setByOffset("global_idx","value")};
5008        `;return`
5009  ${t.declareVariables(...T,S)}
5010  ${b}
5011  const outShape : vec4<u32> = vec4<u32>(${i.join(",")});
5012  const outBackprop : vec4<u32> = vec4<u32>(${r[0].dims.join(",")});
5013  const strides : vec2<u32> = vec2<u32>(${n.strides[0]}, ${n.strides[1]});
5014  const filterDims : vec2<u32> = vec2<u32>(${n.kernelShape[l?1:2]}, ${n.kernelShape[l?2:3]});
5015  const dilations : vec2<u32> = vec2<u32>(${n.dilations[0]}, ${n.dilations[1]});
5016  const effectiveFilterDims : vec2<u32> = filterDims + vec2<u32>(
5017          ${n.dilations[0]<=1?0:(n.kernelShape[l?1:2]-1)*(n.dilations[0]-1)},
5018          ${n.dilations[1]<=1?0:(n.kernelShape[l?2:3]-1)*(n.dilations[1]-1)});
5019  const pads : vec2<i32> = vec2<i32>(i32(effectiveFilterDims[0]) - 1 - (${n.pads[0]+n.pads[2]})/2,
5020                                     i32(effectiveFilterDims[1]) - 1 - (${n.pads[1]+n.pads[3]})/2);
5021    ${t.mainStart()}
5022    ${t.guardAgainstOutOfBoundsWorkgroupSizes(d)};
5023  ${s?E:O}}`},iv=(t,r,n)=>{let i=t.length>2,o=r.outputShape,a=[Math.ceil(rs.size(o)/64),1,1];t6("verbose",()=>`[conv2d_backprop_webgpu] dispatch = ${a}`);let s=rd(t[0].dataType);return{name:"ConvTranspose2D",shaderCache:{hint:r.cacheKey},getRunData:()=>({dispatchGroup:{x:a[0],y:a[1],z:a[2]},outputs:[{dims:n?n(o):o,dataType:t[0].dataType}]}),getShaderSource:n=>ig(n,t,r,o,i,1===a[1]&&1===a[2],!1,s)}}}),o2=e5(()=>{oL(),o5(),o9(),oK(),oF(),ib=(t,r,n,i,o,a)=>(t-1)*r+n+(i-1)*o+1-a,iw=(t,r,n,i,o)=>{let a=Math.floor(t/2);"SAME_UPPER"===r?(n[i]=a,n[o]=t-a):"SAME_LOWER"===r&&(n[i]=t-a,n[o]=a)},ix=(t,r)=>{let n=t.kernelShape.slice();if(0===t.kernelShape.length||0===t.kernelShape.reduce((t,r)=>t*r,1)){n.length=0;for(let t=2;t<r[1].dims.length;++t)n.push(r[1].dims[t])}let i="NHWC"===t.format;n.splice(0,0,r[1].dims[0]),n.splice(i?3:1,0,r[1].dims[1]);let o=t.pads.slice(),a=t.outputShape.slice(),s=t.outputPadding.slice(),u=r[0].dims,l=t.dilations.slice();0===l.reduce((t,r)=>t+r,0)&&(l=Array(r[0].dims.length-2).fill(1));let h=t.strides.slice();0===h.reduce((t,r)=>t+r,0)&&(h=Array(r[0].dims.length-2).fill(1)),((t,r,n,i,o,a,s,u,l,h)=>{let c=t.length-2,f=0===h.length;if(0===l.length)for(let t=0;t<c;++t)l.push(0);let d=t[0],p=r[u?3:1]*o;for(let o=0,d=t.length-c-!!u;o<c;++o,++d){let u=t[d],p=f?u*s[o]:h[o];iw(ib(u,s[o],a[o],r[d],n[o],p),i,a,o,o+c),f&&h.push(s[o]*(u-1)+l[o]+(r[d]-1)*n[o]+1-a[o]-a[o+c])}h.splice(0,0,d),h.splice(u?3:1,0,p)})(u,n,l,t.autoPad,t.group,o,h,i,s,a);let c=Object.assign({},t),f=t.cacheKey+[n.join("n,"),o.join(","),h.join(","),s.join(","),a.join(","),l.join(",")].join("_");return Object.assign(c,{kernelShape:n,pads:o,outputPadding:s,outputShape:a,dilations:l,strides:h,cacheKey:f}),c},i_=t=>{let r=n5(t),n=t.format,i=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][typeof t.autoPad>"u"?0:t.autoPad],o=t.dilations,a=t.group,s=t.kernelShape,u=t.pads,l=t.strides,h=t.wIsConst(
5023),c=t.outputPadding,f=t.outputShape;return ri({autoPad:i,format:n,dilations:o,group:a,kernelShape:s,outputPadding:c,outputShape:f,pads:u,strides:l,wIsConst:h,...r})},iT=[2,3,1,0],iS=(t,r)=>{var n,i;let o,a,s,u,l,h,c;((t,r)=>{if(!t||2!==t.length&&3!==t.length)throw Error("Conv requires 2 or 3 inputs");if(4!==t[0].dims.length&&3!==t[0].dims.length)throw Error("currently only support 2-dimensional conv");if(t[0].dims.length!==t[1].dims.length)throw Error("filter does not have same dimension as input");if(t[0].dims["NHWC"===r.format?t[0].dims.length-1:1]!==t[1].dims[0])throw Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let n=t[1].dims[1]*r.group;if(3===t.length&&(1!==t[2].dims.length||t[2].dims[0]!==n))throw Error("invalid bias");let i=t[0].dims.length-2;if(r.dilations.reduce((t,r)=>t+r,0)>0&&r.dilations.length!==i)throw Error(`dilations should be ${i}D`);if(r.strides.reduce((t,r)=>t+r,0)>0&&r.strides.length!==i)throw Error(`strides should be ${i}D`);if(r.pads.reduce((t,r)=>t+r,0)>0&&r.pads.length!==2*i)throw Error(`pads should be ${2*i}D`);if(r.outputPadding.length!==i&&0!==r.outputPadding.length)throw Error(`output_padding should be ${i}D`);if(r.kernelShape.reduce((t,r)=>t+r,0)>0&&0!==r.kernelShape.length&&r.kernelShape.length!==t[1].dims.length-2)throw Error("invalid kernel shape");if(0!==r.outputShape.length&&r.outputShape.length!==t[0].dims.length-2)throw Error("invalid output shape")})(t.inputs,r),3===t.inputs[0].dims.length?(n=t,o="NHWC"===(i=r).format,3===(a=[n.inputs[0].reshape(o?[n.inputs[0].dims[0],1,n.inputs[0].dims[1],n.inputs[0].dims[2]]:[n.inputs[0].dims[0],n.inputs[0].dims[1],1,n.inputs[0].dims[2]]),n.inputs[1].reshape([n.inputs[1].dims[0],n.inputs[1].dims[1],1,n.inputs[1].dims[2]])]).length&&a.push(n.inputs[2]),(0===(s=i.kernelShape).length||0===s[0])&&(s=[n.inputs[1].dims[2]]),(0===(u=i.dilations).length||0===u[0])&&(u=[1]),(0===(l=i.strides).length||0===l[0])&&(l=[1]),0===(h=i.pads).length&&(h=[0,0]),h=[0,h[0],0,h[1]],l=[1].concat(l),u=[1].concat(u),s=[1].concat(s),c=ix({...i,pads:h,strides:l,dilations:u,kernelShape:s},a),n.compute(iv(a,c,t=>o?[t[0],t[2],t[3]]:[t[0],t[1],t[3]]))):((t,r,n)=>{let i=ix(n,r),o="NHWC"===n.format,a=i.outputShape,s=a[o?3:1],u=r[0].dims[o?3:1];if(1!==i.group||1===s&&1===u)return t.compute(iv(r,i));let l=a[o?1:2],h=a[o?2:3],c=o?l*h:s,f=o?s:l*h,d=r[1].dims[2]*r[1].dims[3]*u,p=t.kernelCustomData.wT??t.compute(rk(r[1],iT),{inputs:[1],outputs:[n.wIsConst?-2:-1]})[0];n.wIsConst&&!t.kernelCustomData.wT&&(t.kernelCustomData.wT=p);let y=[r[0],p],m=3===r.length;m&&(o||1!==r[2].dims.length?y.push(r[2]):y.push(r[2].reshape([r[2].dims[0],1,1]))),t.compute(im(y,i,a,c,f,d,m,!0),{inputs:y})})(t,t.inputs,r)}}),o7=e5(()=>{ok(),oB(),oL(),oN(),iE=(t,r)=>{var n,i,o,a;let s,u,l,h,c,f,d=t.inputs[0].dims,p=t.inputs[0].dataType,y=t.inputs[1];t.compute((n=p,i=d,o=y,a=r,s=rs.size(i),u=i.length,l=r_("input",n,u),h=rT("output",n,u),c=6===o.dataType?o.getInt32Array()[0]:Number(o.getBigInt64Array()[0]),f=rs.normalizeAxis(c,u),{name:"CumSum",shaderCache:{hint:a.cacheKey,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:i,dataType:n}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:[{type:"uint32",data:s},{type:"int32",data:f},...ry(i),...ry(i)]}),getShaderSource:t=>{let r=` i32(${l.indicesGet("inputIndices","uniforms.axis")}) `,n=rw("uniforms.input_shape","uniforms.axis",u),i=a.reverse?r+(a.exclusive?" + 1":""):"0",o=a.reverse?n:r+(a.exclusive?"":" + 1");return`
5024                ${t.registerUniform("outputSize","u32").registerUniform("axis","u32").declareVariables(l,h)}
5025                ${t.mainStart()}
5026                  ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5027                  var inputIndices = ${h.offsetToIndices("global_idx")};
5028                  var sum = ${h.type.value}(0);
5029                  let first : i32 = ${i};
5030                  let last : i32 = ${o};
5031                  for (var i : i32 = first; i < last; i++) {
5032                    ${l.indicesSet("inputIndices","uniforms.axis","u32(i)")};
5033                    sum = sum + ${l.getByIndices("inputIndices")};
5034                  }
5035                  ${h.setByOffset("global_idx","sum")};
5036                }`}}),{inputs:[0]})},iO=t=>{let r=1===t.exclusive,n=1===t.reverse;return ri({exclusive:r,reverse:n})}}),o8=e5(()=>{oB(),oL(),oN(),iP="^"+(iI="("+(iA="[a-zA-Z]|\\.\\.\\.")+")+")+"$",ik="^("+iI+",)*"+iI+"$",iC=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;this.symbolToIndices=new Map,this.inputIndex=t}addSymbol(t,r){let n=this.symbolToIndices.get(t);void 0===n?n=[r]:n.push(r),this.symbolToIndices.set(t,n)}},i$=class{constructor(t,r){this.equation=r,this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=[],this.outputDims=[];
5036let[n,i]=r.includes("->")?r.split("->",2):[r,""];if(!n.match(RegExp(ik)))throw Error("Invalid LHS term");if(n.split(",").forEach((r,n)=>{let i=t[n].dims.slice();if(!r.match(RegExp(iP)))throw Error("Invalid LHS term");let o=this.processTerm(r,!0,i,n);this.lhs.push(o)}),""===i)i+=[...this.symbolToInfo.entries()].filter(t=>{let[r,n]=t;return 1===n.count||"..."===r}).map(t=>{let[r]=t;return r}).join("");else if(!i.match(RegExp(iI)))throw Error("Invalid RHS");i.match(RegExp(iA,"g"))?.forEach(t=>{if("..."===t)this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let r=this.symbolToInfo.get(t);if(void 0===r)throw Error("Invalid RHS symbol");this.outputDims.push(r.dimValue)}}),this.rhs=this.processTerm(i,!1,this.outputDims)}addSymbol(t,r,n){let i=this.symbolToInfo.get(t);if(void 0!==i){if(i.dimValue!==r&&1!==i.count)throw Error("Dimension mismatch");i.count++,i.inputIndices.push(n)}else i={count:1,dimValue:r,inputIndices:[n]};this.symbolToInfo.set(t,i)}processTerm(t,r,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=n.length,a=!1,s=[],u=0;if(!t.match(RegExp(iP))&&!r&&""!==t)throw Error("Invalid LHS term");let l=t.match(RegExp(iA,"g")),h=new iC(i);return l?.forEach((t,c)=>{if("..."===t){if(a)throw Error("Only one ellipsis is allowed per input term");a=!0;let t=o-l.length+1;if(t<0)throw Error("Ellipsis out of bounds");if(s=n.slice(u,u+t),this.hasEllipsis){if(this.ellipsisDims.length!==s.length||this.ellipsisDims.toString()!==s.toString())throw Error("Ellipsis dimensions mismatch")}else{if(!r)throw Error("Ellipsis must be specified in the LHS");this.hasEllipsis=!0,this.ellipsisDims=s}for(let t=0;t<s.length;t++){let r=String.fromCharCode(48+t);h.addSymbol(r,c+t),this.addSymbol(r,n[u++],i)}}else h.addSymbol(t,c+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(t,n[u++],i)}),h}},iR=(t,r)=>{var n,i,o,a,s;let u,l,h,c,f,d,p=new i$(t.inputs,r.equation),y=t.inputs.map((t,r)=>rI(t.dims.length)),m=p.outputDims,g=t.inputs.map((t,r)=>t.dims);t.compute((n=y,i=g,o=t.inputs[0].dataType,a=p,s=m,u=i.map((t,r)=>n[r]?t.length:t).map((t,r)=>r_(`input${r}`,o,t)),l=rs.size(s),c=(h=rI(s.length))?s.length:s,f=rT("output",o,c),d=[...a.symbolToInfo.keys()].filter(t=>!a.rhs.symbolToIndices.has(t)),{name:"Einsum",shaderCache:{hint:a.equation,inputDependencies:n.map(t=>t?"rank":"dims")},getRunData:()=>{let t=d.filter(t=>a.symbolToInfo.has(t)).map(t=>({type:"uint32",data:a.symbolToInfo.get(t)?.dimValue||0}));t.push({type:"uint32",data:l});let r=i.filter((t,r)=>n[r]).map((t,r)=>[...ry(t)]).reduce((t,r)=>t.concat(r),t);return h&&r.push(...ry(s)),{outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:r}},getShaderSource:t=>{let r=[],n=[],i=[],o=[],s=[],l=a.symbolToInfo.size===a.rhs.symbolToIndices.size;a.symbolToInfo.forEach((t,l)=>{if(a.rhs.symbolToIndices.has(l)){let n=a.rhs.symbolToIndices.get(l)?.[0];void 0!==n&&a.lhs.forEach((i,o)=>{if(t.inputIndices.includes(o)){let t=i.symbolToIndices.get(l);if(void 0===t)throw Error("Invalid symbol error");t.forEach(t=>{r.push(`${u[o].indicesSet(`input${o}Indices`,t,f.indicesGet("outputIndices",n))}`)})}})}else{let r;a.lhs.forEach((r,i)=>{if(t.inputIndices.includes(i)){let t=r.symbolToIndices.get(l);if(void 0===t)throw Error("Invalid symbol error");t.forEach(t=>{n.push(`${u[i].indicesSet(`input${i}Indices`,t,`${l}`)}`)}),s.push(`prod *= ${u[i].getByIndices(`input${i}Indices`)};`)}}),i.push(`for(var ${l}: u32 = 0; ${l} < uniforms.${(r=l)+"_max"}; ${l}++) {`),o.push("}")}});let h=l?[...r,`let sum = ${u.map((t,r)=>t.getByIndices(`input${r}Indices`)).join(" * ")};`]:[...r,"var sum = 0.0;",...i,...n,"var prod = 1.0;",...s,"sum += prod;",...o];return`
5037            ${t.registerUniforms(d.map(t=>{let r;return{name:`${(r=t)+"_max"}`,type:"u32"}})).registerUniform("outputSize","u32").declareVariables(...u,f)}
5038
5039            ${t.mainStart()}
5040            ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5041            var outputIndices = ${f.offsetToIndices("global_idx")};
5042            ${u.map((t,r)=>`var input${r}Indices: ${u[r].type.indices};`).join(`
5043`)}
5044            ${h.join(`
5045`)};
5046            ${f.setByOffset("global_idx","sum")};
5047          }`}}))},iD=t=>{let r=t.equation.replace(/\s+/g,"");return ri({equation:r})}}),o4=e5(()=>{ok(),oB(),oN(),iM=(t,r)=>{let n=t.length-r.length,i=[];for(let r=0;r<n;++r)i.push(t[r]);for(let o=0;o<r.length;++o)i.push(1===r[o]?t[o+n]:r[o]);return i},iL=t=>{var r;let n,i,o,a,s,u,l,h,c,f;(t=>{if(!t||2!==t.length)throw Error("Expand requires 2 input.");let r=t[0].dims,n=Array.from(t[1].getBigInt64Array(),Number),i=n.length<r.length?0:n.length-r.length,o=r.length<n.length?0:r.length-n.length;for(;i<n.length&&o<r.length;++i,++o)if(n[i]!==r[o]&&1!==n[i]&&1!==r[o])throw Error("Expand requires shape to be broadcastable to input")})(t.inputs),t.compute((a=(n=o=(r=t.inputs)[0].dims,i=Array.from(r[1].getBigInt64Array(),Number),n.length>i.length?iM(n,i):iM(i,n)),u=9===(s=r[0].dataType)?4:1,l=Math.ceil(rs.size(a)/u),h=rI(o.length),c=rI(a.length),f=[{type:"uint32",data:l}],h&&f.push(...ry(o)),c&&f.push(...ry(a)),{name:"Expand",shaderCache:{hint:`${a.length}`,inputDependencies:[h?"rank":"dims"]},getShaderSource:t=>{let r,n=h?o.length:o,i=c?a.length:a,l=r_("input",s,n,u),f=rT("output",s,i,u);if(9===s){let t=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return`
5048          let outputIndices${r} = ${f.offsetToIndices(`outputOffset + ${r}u`)};
5049          let offset${r} = ${l.broadcastedIndicesToOffset(`outputIndices${r}`,f)};
5050          let index${r} = offset${r} / 4u;
5051          let component${r} = offset${r} % 4u;
5052          ${t}[${r}] = ${n}(${l.getByOffset(`index${r}`)}[component${r}]);
5053        `};r=`
5054        let outputOffset = global_idx * ${u};
5055        var data = vec4<u32>(0);
5056        ${t("data",0,"u32")}
5057        ${t("data",1,"u32")}
5058        ${t("data",2,"u32")}
5059        ${t("data",3,"u32")}
5060        ${f.setByOffset("global_idx","data")}
5061      }`}else r=`
5062        let outputIndices = ${f.offsetToIndices("global_idx")};
5063        let inputOffset = ${l.broadcastedIndicesToOffset("outputIndices",f)};
5064        ${f.setByOffset("global_idx",l.getByOffset("inputOffset"))}
5065      }`;return`
5066    ${t.registerUniform("vec_size","u32").declareVariables(l,f)}
5067    ${t.mainStart()}
5068    ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
5069    ${r}`},getRunData:()=>({outputs:[{dims:a,dataType:r[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:f})}),{inputs:[0]})}}),ae=e5(()=>{ok(),oB(),oL(),oN(),iB=t=>ri({axis:t.axis}),iN=(t,r)=>{var n,i;let o,a,s,u,l,h,c,f,d,p,y,m,g,v,b,w;(t=>{if(!t||2!==t.length)throw Error("Gather requires 2 inputs.")})(t.inputs),t.compute((n=t.inputs,i=r,o=n[0].dims,a=n[1].dims,s=o.length,u=rs.normalizeAxis(i.axis,s),(l=o.slice(0)).splice(u,1,...a),h=o[u],c=9===n[0].dataType?4:1,f=Math.ceil(rs.size(l)/c),p=(d=rI(n[0].dims.length))?n[0].dims.length:n[0].dims,m=(y=rI(n[1].dims.length))?n[1].dims.length:n[1].dims,v=(g=rI(l.length))?l.length:l,b=[{type:"uint32",data:f},{type:"int32",data:h},{type:"uint32",data:u}],d&&b.push(...ry(n[0].dims)),y&&b.push(...ry(n[1].dims)),g&&b.push(...ry(l)),(w=[]).push(d?"rank":"dims"),w.push(y?"rank":"dims"),{name:"Gather",shaderCache:{hint:i.cacheKey,inputDependencies:w},getRunData:()=>({outputs:[{dims:l,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(f/64)},programUniforms:b}),getShaderSource:t=>{let r,i=r_("data",n[0].dataType,p,c),o=r_("inputIndices",n[1].dataType,m),h=rT("output",n[0].dataType,v,c),f=t=>{let r=a.length,n=`var indicesIndices${t}  = ${o.type.indices}(0);`;for(let i=0;i<r;i++)n+=`${r>1?`indicesIndices${t}[${i}]`:`indicesIndices${t}`} = ${l.length>1?`outputIndices${t}[uniforms.axis + ${i}]`:`outputIndices${t}`};`;n+=`
5070          var idx${t} = ${o.getByIndices(`indicesIndices${t}`)};
5071          if (idx${t} < 0) {
5072            idx${t} = idx${t} + uniforms.axisDimLimit;
5073          }
5074          var dataIndices${t} = ${i.type.indices}(0);
5075        `;
5075for(let i=0,o=0;i<s;i++)i===u?(n+=`${s>1?`dataIndices${t}[${i}]`:`dataIndices${t}`} = u32(idx${t});`,o+=r):(n+=`${s>1?`dataIndices${t}[${i}]`:`dataIndices${t}`} = ${l.length>1?`outputIndices${t}[${o}]`:`outputIndices${t}`};`,o++);return n};if(9===n[0].dataType){let t=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return`
5076          let outputIndices${r} = ${h.offsetToIndices(`outputOffset + ${r}u`)};
5077          ${f(r)};
5078          let offset${r} = ${i.indicesToOffset(`dataIndices${r}`)};
5079          let index${r} = offset${r} / 4u;
5080          let component${r} = offset${r} % 4u;
5081          ${t}[${r}] = ${n}(${i.getByOffset(`index${r}`)}[component${r}]);
5082        `};r=`
5083        let outputOffset = global_idx * ${c};
5084        var value = vec4<u32>(0);
5085        ${t("value",0,"u32")}
5086        ${t("value",1,"u32")}
5087        ${t("value",2,"u32")}
5088        ${t("value",3,"u32")}
5089        ${h.setByOffset("global_idx","value")}
5090      `}else r=`
5091      let outputIndices = ${h.offsetToIndices("global_idx")};
5092      ${f("")};
5093      let value = ${i.getByIndices("dataIndices")};
5094      ${h.setByOffset("global_idx","value")};
5095      `;return`
5096      ${t.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(i,o,h)}
5097      ${t.mainStart()}
5098        ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5099        ${r}
5100      }`}}))}}),at=e5(()=>{oB(),oL(),oN(),iF=t=>ri({axis:t.axis}),iU=(t,r)=>{var n,i;let o,a,s,u,l,h,c,f,d,p,y,m,g;(t=>{if(!t||2!==t.length)throw Error("GatherElements requires 2 inputs.");if(t[0].dims.length<1)throw Error("GatherElements requires that the data input be rank >= 1.");if(t[0].dims.length!==t[1].dims.length)throw Error(`GatherElements requires that the data input and
5101                     indices input tensors be of same rank.`)})(t.inputs),t.compute((n=t.inputs,i=r,o=n[0].dims,a=n[0].dataType,s=o.length,u=n[1].dims,l=n[1].dataType,c=o[h=rs.normalizeAxis(i.axis,s)],f=u.slice(0),d=rs.size(f),p=r_("input",a,s),y=r_("indicesInput",l,u.length),m=rT("output",a,f.length),(g=[{type:"uint32",data:d},{type:"int32",data:c},{type:"uint32",data:h}]).push(...ry(o)),g.push(...ry(u)),g.push(...ry(f)),{name:"GatherElements",shaderCache:{inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:f,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(d/64)},programUniforms:g}),getShaderSource:t=>`
5102      ${t.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(p,y,m)}
5103      ${t.mainStart()}
5104      ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5105
5106      let outputIndices = ${m.offsetToIndices("global_idx")};
5107
5108      var idx = ${y.getByOffset("global_idx")};
5109      if (idx < 0) {
5110        idx = idx + uniforms.axisDimLimit;
5111      }
5112      var inputIndices = ${p.type.indices}(outputIndices);
5113      ${p.indicesSet("inputIndices","uniforms.axis","u32(idx)")};
5114      let value = ${p.getByIndices("inputIndices")};
5115
5116      ${m.setByOffset("global_idx","value")};
5117  }`}))}}),ar=e5(()=>{oB(),oN(),ij=t=>({transA:t.transA,transB:t.transB,alpha:t.alpha,beta:t.beta,cacheKey:`${t.transA};${t.transB};${1===t.alpha}`}),iz=(t,r)=>{(t=>{if(!t)throw Error("Input is missing");if(t.length<2||t.length>3)throw Error("Invaid input number.");if(3===t.length&&t[2].dims.length>2)throw Error("Invalid input shape of C");if(t[0].dataType!==t[1].dataType||3===t.length&&t[0].dataType!==t[2].dataType)throw Error("Input types are mismatched")})(t.inputs),t.compute(((t,r)=>{let n=t[0].dims.slice(),i=t[1].dims.slice(),[o,a,s]=rl.getShapeOfGemmResult(n,r.transA,i,r.transB,3===t.length?t[2].dims:void 0),u=[o,a];if(!u)throw Error("Can't use gemm on the given tensors");let l=rs.size(u),h=[{type:"uint32",data:l},{type:"uint32",data:o},{type:"uint32",data:a},{type:"uint32",data:s},{type:"float32",data:r.alpha},{type:"float32",data:r.beta}],c=["type","type"];return 3===t.length&&(h.push(...ry(t[2].dims)),c.push("rank")),h.push(...ry(u)),{name:"Gemm",shaderCache:{hint:`${r.cacheKey}`,inputDependencies:c},getRunData:()=>({outputs:[{dims:u,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:h}),getShaderSource:n=>{let i="";r.transA&&r.transB?i="value += a[k * uniforms.M + m] * b[n * uniforms.K + k];":r.transA&&!r.transB?i="value += a[k * uniforms.M + m] * b[k * uniforms.N + n];":!r.transA&&r.transB?i="value += a[m * uniforms.K + k] * b[n * uniforms.K + k];":r.transA||r.transB||(i="value += a[m * uniforms.K + k] * b[k * uniforms.N + n];");let o=1===r.alpha?"":"value *= uniforms.alpha;",a=r_("a",t[0].dataType,t[0].dims),s=r_("b",t[1].dataType,t[1].dims),l=a.type.value,h=null,c=[a,s];3===t.length&&(h=r_("c",t[2].dataType,t[2].dims.length),c.push(h));let f=rT("output",t[0].dataType,u.length);return c.push(f),`
5118  ${n.registerUniforms([{name:"output_size",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"},{name:"alpha",type:"f32"},{name:"beta",type:"f32"}]).declareVariables(...c)}
5119
5120  ${n.mainStart()}
5121    ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
5122
5123    let m = global_idx / uniforms.N;
5124    let n = global_idx % uniforms.N;
5125
5126    var value = ${l}(0);
5127    for (var k: u32 = 0u; k < uniforms.K; k++) {
5128      ${i}
5129    }
5130
5131    ${o}
5132    ${null!=h?`let cOffset = ${h.broadcastedIndicesToOffset("vec2(m, n)",f)}; value += ${l}(uniforms.beta) * ${h.getByOffset("cOffset")};`:""}
5133    output[global_idx] = value;
5134  }`}}})(t.inputs,r))}}),an=e5(()=>{ok(),oB(),oN(),iG=(t,r)=>{var n,i,o,a,s,u,l,h,c,f,d,p,y;let m,g,v,b,w,x,_,T,S,E,O,A,I,P,k,C,$,R,D,M,L,B,N;
5134"NHWC"===r.format?(n=t,i=t.inputs,o=r,E=(S=i[0].dims)[0],O=S[S.length-1],A=rs.sizeFromDimension(S,1)/O,I=rm(O),P=rs.size(S)/I,k=[{type:"uint32",data:A},{type:"uint32",data:Math.floor(O/I)}],C=(a=n,s=i[0],u=i[1],l=i[2],h=E,c=A,f=O,d=o.epsilon,g=1===(m=rm(f))?"vec2f":`mat2x${m}f`,v=1===m?"f32":`vec${m}f`,b=(t,r)=>`${g}(${t}, ${r})`,w=h*f/m,x=[{type:"uint32",data:Math.ceil(c/64)},{type:"uint32",data:c},{type:"uint32",data:Math.floor(f/m)},{type:"uint32",data:Math.floor(c*f/m)}],_=a.compute({name:"InstanceNormComputeMean",shaderCache:{hint:`${m}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:[h,f,64,2],dataType:1}],dispatchGroup:{x:h*f/m},programUniforms:x}),getShaderSource:t=>{let r=r_("input",s.dataType,s.dims,m);return`
5135  ${t.declareVariables(r)}
5136  @group(0) @binding(1) var<storage, read_write> output : array<${g}>;
5137  struct Uniforms {wg_size:u32, H:u32, C:u32, image_size:u32};
5138  @group(0) @binding(2) var<uniform> uniforms: Uniforms;
5139
5140  ${t.mainStart(64)}
5141    let currentImageNumber = global_idx / 64 / uniforms.C;
5142    let currentChannelNumber = (global_idx / 64) % uniforms.C;
5143    let wgId = global_idx % 64;
5144    let wgOffset = wgId * uniforms.wg_size;
5145    if (wgOffset >= uniforms.H) {
5146        return;
5147    }
5148    let wgMax = min(wgOffset + uniforms.wg_size, uniforms.H);
5149
5150    let offset = currentImageNumber * uniforms.image_size + currentChannelNumber;
5151    var sum = ${rg("f32",m)};
5152    var squaredSum = ${rg("f32",m)};
5153    for (var i: u32 = wgOffset; i < wgMax; i++) {
5154        let value = ${v}(input[offset + i * uniforms.C]);
5155        sum += value;
5156        squaredSum += value * value;
5157    }
5158    output[global_idx] = ${b("sum","squaredSum")};
5159  }`}},{inputs:[s],outputs:[-1]})[0],T=[{type:"uint32",data:w},{type:"uint32",data:c},{type:"uint32",data:Math.floor(f/m)},{type:"uint32",data:Math.floor(64*f/m)}],a.compute({name:"InstanceNormComputeChannelScaleShift",shaderCache:{hint:`${m};${d}`,inputDependencies:["type","type","type"]},getRunData:()=>({outputs:[{dims:[h,f,2],dataType:1}],dispatchGroup:{x:Math.ceil(w/64)},programUniforms:T}),getShaderSource:t=>{let r=r_("scale",u.dataType,u.dims,m),n=r_("bias",l.dataType,l.dims,m);return`
5160  @group(0) @binding(0) var<storage, read> input : array<${g}>;
5161  @group(0) @binding(1) var<storage, read> scale : array<${r.type.storage}>;
5162  @group(0) @binding(2) var<storage, read> bias : array<${n.type.storage}>;
5163  @group(0) @binding(3) var<storage, read_write> output : array<${g}>;
5164  struct Uniforms {units_of_work : u32, H: u32, C : u32, image_size : u32};
5165  @group(0) @binding(4) var<uniform> uniforms: Uniforms;
5166
5167  ${t.mainStart()}
5168    ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.units_of_work")}
5169    let currentImageNumber = global_idx / uniforms.C;
5170    let currentChannelNumber = global_idx % uniforms.C;
5171
5172    let offset = currentImageNumber * uniforms.image_size;
5173    var sum = ${rg("f32",m)};
5174    var squaredSum = ${rg("f32",m)};
5175    for (var i: u32 = 0; i < 64; i++) {
5176        let value = input[offset + i + currentChannelNumber * 64];
5177        sum += value[0];
5178        squaredSum += value[1];
5179    }
5180    sum = sum / f32(uniforms.H);
5181    squaredSum = squaredSum / f32(uniforms.H);
5182    let invStdDev = inverseSqrt(squaredSum - sum * sum + f32(${d}));
5183    let channelScale = invStdDev * ${v}(scale[currentChannelNumber]);
5184    let channelShift = ${v}(bias[currentChannelNumber]) - sum * channelScale;
5185
5186    output[global_idx] = ${b("channelScale","channelShift")};
5187  }`}},{inputs:[_,u,l],outputs:[-1]})[0]),n.compute({name:"InstanceNormalizationNHWC",shaderCache:{hint:`${I}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:S,dataType:i[0].dataType}],dispatchGroup:{x:Math.ceil(P/64)},programUniforms:k}),getShaderSource:t=>{let r=rd(i[0].dataType),n=1===I?"vec2f":`mat2x${I}f`,o=1===I?r:`vec${I}<${r}>`,a=r_("input",i[0].dataType,i[0].dims,I),s=rT("output",i[0].dataType,S,I);return`
5188  @group(0) @binding(0) var<storage, read> input : array<${a.type.storage}>;
5189  @group(0) @binding(1) var<storage, read> scaleInput : array<${n}>;
5190  @group(0) @binding(2) var<storage, read_write> output : array<${s.type.storage}>;
5191  struct Uniforms {H: u32, C : u32};
5192  @group(0) @binding(3) var<uniform> uniforms: Uniforms;
5193
5194  ${t.mainStart()}
5195    let currentImageNumber = global_idx / (uniforms.C * uniforms.H);
5196    let currentChannelNumber = global_idx % uniforms.C;
5197
5198    let scaleOffset = currentImageNumber * uniforms.C + currentChannelNumber;
5199    let scale = scaleInput[scaleOffset];
5200    output[global_idx] = fma(input[global_idx], ${o}(scale[0]), ${o}(scale[1]));
5201  }`}},{inputs:[i[0],C]})):t.compute((p=t.inputs,y=r,$=p[0].dims,R=rs.sizeToDimension($,2),D=rs.sizeFromDimension($,2),M=rm(D),L=D/M,B=[$[0],$[1],L],(N=[{type:"uint32",data:D},{type:"uint32",data:L}]).push(...ry(B),...ry(B)),{name:"InstanceNormalization",shaderCache:{hint:`${y.epsilon};${M}`,inputDependencies:["rank","type","type"]},getRunData:()=>({outputs:[{dims:$,dataType:p[0].dataType}],dispatchGroup:{x:R},programUniforms:N}),getShaderSource:t=>{let r=r_("x",p[0].dataType,B.length,M),n=r_("scale",p[1].dataType,p[1].dims),i=r_("bias",p[2].dataType,p[2].dims),o=rT("output",p[0].dataType,B.length,M),a=[r,n,i,o],s=r.type.value,u=1===M?"f32":`vec${M}<f32>`;return`
5202  var<workgroup> meanShared : f32;
5203  var<workgroup> squaredNormShared : f32;
5204  var<workgroup> workgroupShared : array<${u}, 64>;
5205  const workgroupSize = 64u;
5206  ${t.registerUniforms([{name:"normSize",type:"u32"},{name:"normPackedSize",type:"u32"}]).declareVariables(...a)}
5207  ${t.mainStart(64)}
5208    let norm = global_idx / workgroupSize;
5209    let batch = norm / uniforms.x_shape[1];
5210    let channel = norm % uniforms.x_shape[1];
5211    let localIndex = local_id.x;
5212
5213    // initialize workgroup memory
5214    var initial = ${u}(0);
5215    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {
5216      initial = initial + ${u}(${r.get("batch","channel","h")});
5217    }
5218    workgroupShared[localIndex] = initial;
5219    workgroupBarrier();
5220
5221    // Calculate the mean of current channel data.
5222    for (var currSize = workgroupSize >> 1;  currSize > 0; currSize = currSize >> 1) {
5223      if (localIndex < currSize) {
5224        workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];
5225      }
5226      workgroupBarrier();
5227    }
5228    if (localIndex == 0) {
5229      meanShared = ${rb("workgroupShared[0]",M)} / f32(uniforms.normSize);
5230    }
5231    workgroupBarrier();
5232
5233    // reinitialize workgroup memory.
5234    initial = ${u}(0);
5235    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {
5236      let deviation =  ${u}(${r.get("batch","channel","h")}) - ${u}(meanShared);
5237      initial = initial + deviation * deviation;
5238    }
5239    workgroupShared[localIndex] = initial;
5240    workgroupBarrier();
5241
5242    // Calculate the sum of square of deviation of current channel data.
5243    for (var currSize = workgroupSize >> 1;  currSize > 0; currSize = currSize >> 1) {
5244      if (localIndex < currSize) {
5245        workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];
5246      }
5247      workgroupBarrier();
5248    }
5249    if (localIndex == 0) {
5250      squaredNormShared = ${rb("workgroupShared[0]",M)};
5251    }
5252    workgroupBarrier();
5253
5254    let invStdDev = inverseSqrt(squaredNormShared / f32(uniforms.normSize) + f32(${y.epsilon}));
5255    let channelScale = invStdDev * f32(${n.getByOffset("channel")});
5256    let channelShift = f32(${i.getByOffset("channel")}) - meanShared * channelScale;
5257    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {
5258      let value = ${r.get("batch","channel","h")} * ${s}(${u}(channelScale)) + ${s}(${u}(channelShift));
5259      ${o.set("batch","channel","h","value")};
5260    }
5261  }`}}))}}),ai=e5(()=>{ok(),oB(),oN(),iV=(t,r)=>{(t=>{if(!t||t.length<2)throw Error("layerNorm requires at least 2 inputs.")})(t.inputs),t.compute(((t,r,n)=>{let i=t[0].dims,o=t[1],a=t[2],s=rs.normalizeAxis(r.axis,i.length),u=rs.sizeToDimension(i,s),l=rs.sizeFromDimension(i,s),h=rs.size(o.dims),c=a?rs.size(a.dims):0;if(h!==l||a&&c!==l)throw Error(`Size of X.shape()[axis:] == ${l}.
5262       Size of scale and bias (if provided) must match this.
5263       Got scale size of ${h} and bias size of ${c}`);let f=[];for(let t=0;t<i.length;++t)t<s?f.push(i[t]):f.push(1);let d=rm(l),p=["type","type"],y=[{type:"uint32",data:u},{type:"float32",data:l},{type:"uint32",data:Math.floor(l/d)},{type:"float32",data:r.epsilon}];a&&p.push("type");let m=n>1,g=n>2,v=[{dims:i,dataType:t[0].dataType}];return m&&v.push({dims:f,dataType:1}),g&&v.push({dims:f,dataType:1}),{name:"LayerNormalization",shaderCache:{hint:`${d};${n}`,inputDependencies:p},getRunData:()=>
5263({outputs:v,dispatchGroup:{x:Math.ceil(u/64)},programUniforms:y}),getShaderSource:r=>{let n=rd(t[0].dataType),s=[r_("x",t[0].dataType,t[0].dims,d),r_("scale",o.dataType,o.dims,d)];return a&&s.push(r_("bias",a.dataType,a.dims,d)),s.push(rT("output",t[0].dataType,i,d)),m&&s.push(rT("mean_data_output",1,f)),g&&s.push(rT("inv_std_output",1,f)),`
5264  ${r.registerUniforms([{name:"norm_count",type:"u32"},{name:"norm_size",type:"f32"},{name:"norm_size_vectorized",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...s)}
5265  ${r.mainStart()}
5266    ${r.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.norm_count")}
5267    let offset = global_idx * uniforms.norm_size_vectorized;
5268    var meanVector = ${rg("f32",d)};
5269    var meanSquareVector = ${rg("f32",d)};
5270
5271    for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {
5272      let value = ${rv(n,d,"x[h + offset]")};
5273      meanVector += value;
5274      meanSquareVector += value * value;
5275    }
5276    let mean = ${rb("meanVector",d)} / uniforms.norm_size;
5277    let invStdDev =
5278        inverseSqrt(${rb("meanSquareVector",d)} / uniforms.norm_size - mean * mean + uniforms.epsilon);
5279
5280    for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {
5281      let f32input = ${rv(n,d,"x[j + offset]")};
5282      let f32scale = ${rv(n,d,"scale[j]")};
5283      output[j + offset] = ${s[0].type.value}((f32input - mean) * invStdDev * f32scale
5284        ${a?`+ ${rv(n,d,"bias[j]")}`:""}
5285      );
5286    }
5287
5288    ${m?"mean_data_output[global_idx] = mean":""};
5289    ${g?"inv_std_output[global_idx] = invStdDev":""};
5290  }`}}})(t.inputs,r,t.outputCount))}}),ao=e5(()=>{oB(),oL(),oD(),oG(),oN(),oF(),iW=t=>ri({...t}),iH=ri({perm:[0,2,1,3]}),iq=(t,r,n,i,o,a,s,u)=>{let l=a;if(s){var h,c,f,d,p,y,m;let g,v,b;if(1===i)throw Error("AddBiasReshape is not implemented. Please export your model with packed QKV or KV");return l=(h=t,c=a,f=s,d=r,p=i,y=n*o,m=u,g=[d,p,y],b=[{type:"uint32",data:v=rs.size(g)},{type:"uint32",data:m},{type:"uint32",data:y}],l=h.compute({name:"MultiHeadAttentionAddBias",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:g,dataType:c.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:b}),getShaderSource:t=>{let r=rT("qkv_with_bias",c.dataType,g),n=r_("qkv",c.dataType,g),i=r_("bias",f.dataType,g);return`
5291  ${t.registerUniforms([{name:"output_size",type:"u32"},{name:"bias_offset",type:"u32"},{name:"hidden_size",type:"u32"}]).declareVariables(n,i,r)}
5292  ${t.mainStart()}
5293    ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
5294    let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;
5295
5296    qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];
5297  }`}},{inputs:[c,f],outputs:[-1]})[0]).reshape([r,i,n,o]),t.compute(rk(l,iH.perm),{inputs:[l],outputs:[-1]})[0]}return 3===a.dims.length&&(l=a.reshape([r,i,n,o])),t.compute(rk(l,iH.perm),{inputs:[l],outputs:[-1]})[0]},iY=(t,r)=>{let n=((t,r)=>{let n=t[0],i=t[1],o=t[2],a=t[3],s=t[4],u=t[5],l=t[6],h=t[7];if(3!==n.dims.length&&5!==n.dims.length)throw Error("Input query is expected to have 3 or 5 dimensions");
5297let c,f=n.dims[0],d=n.dims[1],p=3===n.dims.length?n.dims[2]:r.numHeads*n.dims[4],y=d,m=0,g=0,v=Math.floor(p/r.numHeads);if(l&&h){if(4!==l.dims.length)throw Error('Input "past_key" is expected to have 4 dimensions');if(4!==h.dims.length)throw Error('Input "past_value" is expected to have 4 dimensions');m=l.dims[2],g=l.dims[2]}else if(l||h)throw Error('Input "past_key" and "past_value" shall be both present or both absent');if(i){if(3!==n.dims.length)throw Error('Input "query" is expected to have 3 dimensions when key is given');if(i.dims.length<3||i.dims.length>5)throw Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(n.dims[0]!==i.dims[0])throw Error('Input "query" and "key" shall have same dim 0 (batch size)');if(3===i.dims.length){if(i.dims[2]!==n.dims[2])throw Error('Input "query" and "key" shall have same dim 2 (hidden_size)');c=2,y=i.dims[1]}else if(5===i.dims.length){if(i.dims[2]!==r.numHeads||2!==i.dims[3]||i.dims[4]!==v)throw Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(o)throw Error('Expect "value" be none when "key" has packed kv format.');c=5,y=i.dims[1]}else{if(i.dims[1]!==r.numHeads||i.dims[3]!==v)throw Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');c=0,y=i.dims[2]}}else{if(3!==n.dims.length&&5!==n.dims.length)throw Error('Input "query" is expected to have 3 or 5 dimensions when key is empty');if(5===n.dims.length&&(n.dims[2]!==r.numHeads||3!==n.dims[3]))throw Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');c=3}if(a){if(1!==a.dims.length)throw Error('Input "bias" is expected to have 1 dimension');if(o&&5===n.dims.length&&2===n.dims[3])throw Error("bias is not allowed for packed kv.")}let b=0;if(s){b=8;let t=s.dims;throw 1===t.length?t[0]===f?b=1:t[0]===3*f+2&&(b=3):2===t.length&&t[0]===f&&t[1]===y&&(b=5),8===b?Error('Input "key_padding_mask" shape shall be (batch_size) or (batch_size, kv_sequence_length)'):Error("Mask not supported")}let w=!1,x=p;if(o){if(3!==o.dims.length&&4!==o.dims.length)throw Error('Input "value" is expected to have 3 or 4 dimensions');if(n.dims[0]!==o.dims[0])throw Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(3===o.dims.length){if(y!==o.dims[1])throw Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');x=o.dims[2]}else{if(y!==o.dims[2])throw Error('Input "past_key" and "past_value" shall have the same dim 2 (kv_sequence_length)');x=o.dims[1]*o.dims[3],w=!0}}let _=m+y;if(s)throw Error("Key padding mask is not supported");if(u)throw Error("extraAddQk is not supported");if(l)throw Error("pastKey is not supported");if(h)throw Error("pastValue is not supported");return{batchSize:f,sequenceLength:d,pastSequenceLength:m,kvSequenceLength:y,totalSequenceLength:_,maxSequenceLength:g,inputHiddenSize:0,hiddenSize:p,vHiddenSize:x,headSize:v,vHeadSize:Math.floor(x/r.numHeads),numHeads:r.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:r.maskFilterValue,maskType:b,scale:r.scale,broadcastResPosBias:!1,passPastInKv:w,qkvFormat:c}})(t.inputs,r);if(5===t.inputs[0].dims.length)throw Error("Packed QKV is not implemented");if(5===t.inputs[1]?.dims.length)throw Error("Packed KV is not implemented");let i=t.inputs[1]&&t.inputs[2]&&4===t.inputs[1].dims.length&&4===t.inputs[2].dims.length,o=iq(t,n.batchSize,n.numHeads,n.sequenceLength,n.headSize,t.inputs[0],t.inputs[3],0);if(i)return ni(t,o,t.inputs[1],t.inputs[2],t.inputs[4],void 0,void 0,void 0,t.inputs[5],n,r);let a=iq(t,n.batchSize,n.numHeads,n.kvSequenceLength,n.headSize,t.inputs[1],t.inputs[3],n.hiddenSize),s=iq(t,n.batchSize,n.numHeads,n.kvSequenceLength,n.vHeadSize,t.inputs[2],t.inputs[3],2*n.hiddenSize);ni(t,o,a,s,t.inputs[4],void 0,t.inputs[6],t.inputs[7],t.inputs[5],n,r)}}),aa=e5(()=>{ok(),oB(),oN(),iX=(t,r)=>{var n=t.inputs;if(!n||n.length<1)throw Error("Too few inputs");if(1!==n[0].dataType)throw Error("Input type must be float.");if(n.length>=2){let t=2*n[0].dims.length===n[1].dims[0];if(4===n.length&&(t=2*n[3].dims[0]===n[1].dims[0]),!t)throw Error("The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].")}let i=((t,r)=>{if(t.length>1){let n=t[1].getBigInt64Array(),i=t.length>=3&&t[2].data?t[2].getFloat32Array()[0]:0,o=t[0].dims.length,a=new Int32Array(2*o).fill(0);if(t.length>=4){let r=t[3].getBigInt64Array();for(let t=0;t<r.length;t++)a[Number(r[t])]=Number(n[t]),a[Number(r[t])+o]=Number(n[t+r.length])}
5297else n.forEach((t,r)=>a[Number(r)]=Number(t));let s=[];return a.forEach(t=>s.push(t)),{mode:r.mode,value:i,pads:s}}return r})(t.inputs,r);t.compute(((t,r)=>{let n=rs.padShape(t[0].dims.slice(),r.pads),i=t[0].dims,o=[{type:"uint32",data:rs.size(n)},{type:"uint32",data:r.pads}];if(0===r.mode){let n=tH(t[0].dataType);o.push({type:n,data:r.value})}return o.push(...ry(t[0].dims),...ry(n)),{name:"Pad",shaderCache:{hint:`${r.mode}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(rs.size(n)/64)},programUniforms:o}),getShaderSource:o=>{let a=rT("output",t[0].dataType,n.length),s=r_("x",t[0].dataType,i.length),u=s.type.value,l=((t,r,n)=>{switch(n.mode){case 0:var i=t,o=r,a=n.pads.length;let s="";for(let t=o-1;t>=0;--t)s+=`
5298            k = i32(${i.indicesGet("indices",t)}) - ${rw("uniforms.pads",t,a)};
5299            if (k < 0) {
5300              break;
5301            }
5302            if (k >= i32(${rw("uniforms.x_shape",t,o)})) {
5303              break;
5304            }
5305            offset += k * i32(${rw("uniforms.x_strides",t,o)});
5306        `;return`
5307          value = ${i.type.value}(uniforms.constant_value);
5308          for (var i = 0; i < 1; i++) {
5309            var offset = 0;
5310            var k = 0;
5311            ${s}
5312            value = x[offset];
5313          }
5314      `;case 1:var u=t,l=r,h=n.pads.length;let c="";for(let t=l-1;t>=0;--t)c+=`
5315                k = i32(${u.indicesGet("indices",t)}) - ${rw("uniforms.pads",t,h)};
5316                if (k < 0) {
5317                  k = -k;
5318                }
5319                {
5320                  let _2n_1 = 2 * (i32(${rw("uniforms.x_shape",t,l)}) - 1);
5321                  k = k % _2n_1;
5322                  if(k >= i32(${rw("uniforms.x_shape",t,l)})) {
5323                    k = _2n_1 - k;
5324                  }
5325                }
5326                offset += k * i32(${rw("uniforms.x_strides",t,l)});
5327            `;return`
5328              var offset = 0;
5329              var k = 0;
5330              ${c}
5331              value = x[offset];
5332          `;case 2:var f=t,d=r,p=n.pads.length;let y="";for(let t=d-1;t>=0;--t)y+=`
5333                k = i32(${f.indicesGet("indices",t)}) - ${rw("uniforms.pads",t,p)};
5334                if (k < 0) {
5335                  k = 0;
5336                }
5337                if (k >= i32(${rw("uniforms.x_shape",t,d)})) {
5338                  k = i32(${rw("uniforms.x_shape",t,d)}) - 1;
5339                }
5340                offset += k * i32(${rw("uniforms.x_strides",t,d)});
5341            `;return`
5342              var offset = 0;
5343              var k = 0;
5344              ${y}
5345              value = x[offset];
5346          `;case 3:var m=t,g=r,v=n.pads.length;let b="";for(let t=g-1;t>=0;--t)b+=`
5347                k = i32(${m.indicesGet("indices",t)}) - ${rw("uniforms.pads",t,v)};
5348                if (k < 0)  {
5349                  k += i32(${rw("uniforms.x_shape",t,g)}]);
5350                }
5351                if (k >= i32(${rw("uniforms.x_shape",t,g)})) {
5352                  k -= i32(${rw("uniforms.x_shape",t,g)});
5353                }
5354                offset += k * i32(${rw("uniforms.x_strides",t,g)});
5355            `;return`
5356              var offset = 0;
5357              var k = 0;
5358              ${b}
5359              value = x[offset];
5360          `;default:throw Error("Invalid mode")}})(a,i.length,r),h=[{name:"output_size",type:"u32"},{name:"pads",type:"i32",length:r.pads.length}];return 0===r.mode&&h.push({name:"constant_value",type:u}),`
5361            ${o.registerUniforms(h).declareVariables(s,a)}
5362            ${o.mainStart()}
5363            ${o.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
5364
5365            let indices = ${a.offsetToIndices("global_idx")};
5366
5367            var value = ${u}(0);
5368            ${l}
5369            output[global_idx] = value;
5370        }`}}})(t.inputs,i),{inputs:[0]})}}),as=e5(()=>{ty(),oB(),oN(),iK=t=>{if(eO.webgpu.validateInputContent&&(!t||1!==t.length))throw Error("Pool ops requires 1 input.")},iZ=(t,r,n)=>{let i="NHWC"===r.format,o=t.dims.slice();i&&o.splice(1,0,o.pop());let a=Object.hasOwnProperty.call(r,"dilations"),s=r.kernelShape.slice(),u=r.strides.slice(),l=a?r.dilations.slice():[],h=r.pads.slice();ru.adjustPoolAttributes(n,o,s,u,l,h);let c=ru.computePoolOutputShape(n,o,u,l,s,h,r.autoPad),f=Object.assign({},r);a?Object.assign(f,{kernelShape:s,strides:u,pads:h,dilations:l,cacheKey:r.cacheKey}):Object.assign(f,{kernelShape:s,strides:u,pads:h,cacheKey:r.cacheKey});let d=c.slice();return d.push(d.splice(1,1)[0]),[f,i?d:c]},iJ=(t,r)=>{let n="NHWC"===r.format,i=[{type:"uint32",data:rs.size(t)},{type:"uint32",data:rs.size(r.kernelShape)}],o=[{name:"outputSize",type:"u32"},{name:"kernelSize",type:"u32"}];if(r.kernelShape.length<=2){let t=r.kernelShape[r.kernelShape.length-1],n=r.strides[r.strides.length-1],a=r.pads[r.pads.length/2-1],s=r.pads[r.pads.length-1],u=!!(a+s);i.push({type:"uint32",data:t},{type:"uint32",data:n},{type:"uint32",data:a},{type:"uint32",data:s}),o.push({name:"kw",type:"u32"},{name:"sw",type:"u32"},{name:"pwStart",type:"u32"},{name:"pwEnd",type:"u32"});let l=!1;if(2===r.kernelShape.length){let t=r.kernelShape[r.kernelShape.length-2],n=r.strides[r.strides.length-2],a=r.pads[r.pads.length/2-2],s=r.pads[r.pads.length-2];l=!!(a+s),i.push({type:"uint32",data:t},{type:"uint32",data:n},{type:"uint32",data:a},{type:"uint32",data:s}),o.push({name:"kh",type:"u32"},{name:"sh",type:"u32"},{name:"phStart",type:"u32"},{name:"phEnd",type:"u32"})}return[i,o,!0,u,l]}{if(n)throw Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let t=rs.computeStrides(r.kernelShape);return i.push({type:"uint32",data:t},{type:"uint32",data:r.pads},{type:"uint32",data:r.strides}),o.push({name:"kernelStrides",type:"u32",length:t.length},{name:"pads",type:"u32",length:r.pads.length},{name:"strides",type:"u32",length:r.strides.length}),[i,o,!!r.pads.reduce((t,r)=>t+r),!1,!1]}},iQ=(t,r,n,i,o,a,s,u,l,h,c,f)=>{let d="NHWC"===o.format,p=r.type.value,y=rT("output",r.type.tensor,i);if(o.kernelShape.length<=2){let i="",h="",m="",g=n-(d?2:1);if(i=c?`
5371                for (var i: u32 = 0u; i < uniforms.kw; i++) {
5372                  xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;
5373                  if (xIndices[${g}] < 0 || xIndices[${g}]
5374                      >= uniforms.x_shape[${g}]) {
5375                    pad++;
5376                    continue;
5377                  }
5378                  let x_val = x[${r.indicesToOffset("xIndices")}];
5379                  ${a}
5380                }`:`
5381                for (var i: u32 = 0u; i < uniforms.kw; i++) {
5382                  xIndices[${g}] = indices[${g}] * uniforms.sw - uniforms.pwStart + i;
5383                  let x_val = x[${r.indicesToOffset("xIndices")}];
5384                  ${a}
5385                }`,2===o.kernelShape.length){let t=n-(d?3:2);h=f?`
5386                for (var j: u32 = 0u; j < uniforms.kh; j++) {
5387                  xIndices[${t}] = indices[${t}] * uniforms.sh - uniforms.phStart + j;
5388                  if (xIndices[${t}] < 0 || xIndices[${t}] >= uniforms.x_shape[${t}]) {
5389                    pad += i32(uniforms.kw);
5390                    continue;
5391                  }
5392              `:`
5393                for (var j: u32 = 0u; j < uniforms.kh; j++) {
5394                  xIndices[${t}] = indices[${t}] * uniforms.sh - uniforms.phStart + j;
5395                `,m=`
5396              }
5397            `}return`
5398            ${t.registerUniforms(l).declareVariables(r,y)}
5399
5400            ${t.mainStart()}
5401              ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5402
5403              let indices = ${y.offsetToIndices("global_idx")};
5404              var xIndices = ${y.offsetToIndices("global_idx")};
5405
5406              var value = ${p}(${u});
5407              var pad = 0;
5408              ${h}
5409              ${i}
5410              ${m}
5411              ${s}
5412
5413              output[global_idx] = value;
5414            }`}{if(d)throw Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let i=o.kernelShape.length,c=o.pads.length,f="";return f=h?`
5415                if (xIndices[j] >= uniforms.x_shape[j]) {
5416                  pad++;
5417                  isPad = true;
5418                  break;
5419                }
5420              }
5421              if (!isPad) {
5422                let x_val = x[${r.indicesToOffset("xIndices")}];
5423                ${a}
5424              }`:`
5425              }
5426              let x_val = x[${r.indicesToOffset("xIndices")}];
5427              ${a}
5428            `,`
5429            ${t.registerUniforms(l).declareVariables(r,y)}
5430
5431            ${t.mainStart()}
5432              ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5433              let indices = ${y.offsetToIndices("global_idx")};
5434              var xIndices = ${y.offsetToIndices("global_idx")};
5435
5436              var offsets: array<u32, ${i}>;
5437
5438              var value = ${p}(${u});
5439              var pad = 0;
5440              var isPad = false;
5441
5442              for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {
5443                var offset = i;
5444                for (var j = 0u; j < ${i-1}u; j++) {
5445                  offsets[j] = offset / ${rw("uniforms.kernelStrides","j",i)};
5446                  offset -= offsets[j] * ${rw("uniforms.kernelStrides","j",i)};
5447                }
5448                offsets[${i-1}] = offset;
5449
5450                isPad = false;
5451                for (var j = ${n-i}u; j < ${n}u; j++) {
5452                  xIndices[j] = indices[j] * ${rw("uniforms.strides",`j - ${n-i}u`,i)}
5453                    + offsets[j - ${n-i}u] - ${rw("uniforms.pads","j - 2u",c)};
5454                  ${f}
5455              }
5456              ${s}
5457
5458              output[global_idx] = value;
5459            }`}},i1=t=>`${t.format};${t.ceilMode};${t.autoPad};${t.kernelShape.length}`,i0=t=>({format:t.format,autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][t.auto_pad],ceilMode:t.ceil_mode,kernelShape:t.kernel_shape,strides:t.strides,pads:t.pads}),i3=(t,r,n,i)=>{let[o,a]=iZ(r,i,n),s=r_("x",r.dataType,r.dims.length),u=s.type.value,l="";o.countIncludePad?l+=`value /= ${u}(uniforms.kernelSize);`:l+=`value /= ${u}(i32(uniforms.kernelSize) - pad);`;let[h,c,f,d,p]=iJ(a,o);return h.push(...ry(r.dims),...ry(a)),{name:t,shaderCache:{hint:`${i.cacheKey};${f};${d};${p}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:a,dataType:r.dataType}],dispatchGroup:{x:Math.ceil(rs.size(a)/64)},programUniforms:h}),getShaderSource:t=>iQ(t,s,r.dims.length,a.length,o,"value += x_val;",l,0,c,f,d,p)}},i6=t=>{let r,n=0!==t.count_include_pad,i=i0(t);if(0!==i.ceilMode)throw Error("using ceil() in shape computation is not yet supported for AveragePool");let o={countIncludePad:n,...i,cacheKey:""};return{...o,cacheKey:(r=o,`${i1(r)};${r.countIncludePad}`)}},i5=(t,r)=>{iK(t.inputs),t.compute(i3("AveragePool",t.inputs[0],!1,r))},i9={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},i2=t=>{let r=t.format;return{format:r,...i9,cacheKey:r}},i7=(t,r)=>{iK(t.inputs),t.compute(i3("GlobalAveragePool",t.inputs[0],!0,r))},i8=(t,r,n,i)=>{let[o,a]=iZ(r,i,n),s=r_("x",r.dataType,r.dims.length),[u,l,h,c,f]=iJ(a,o);return u.push(...ry(r.dims),...ry(a)),{name:t,shaderCache:{hint:`${i.cacheKey};${h};${c};${f}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:a,dataType:r.dataType}],dispatchGroup:{x:Math.ceil(rs.size(a)/64)},programUniforms:u}),getShaderSource:t=>iQ(t,s,r.dims.length,a.length,o,`
5460      value = max(x_val, value);
5461    `,"",-1e5,l,h,c,f)}},i4=(t,r)=>{iK(t.inputs),t.compute(i8("MaxPool",t.inputs[0],!1,r))},oe=t=>{let r,n=t.storage_order,i=t.dilations,o=i0(t);if(0!==n)throw Error("column major storage order is not yet supported for MaxPool");if(0!==o.ceilMode)throw Error("using ceil() in shape computation is not yet supported for MaxPool");let a={storageOrder:n,dilations:i,...o,cacheKey:""};return{...a,cacheKey:(r=a,`${i1(r)};${r.storageOrder};${r.dilations}`)}},ot=t=>{let r=t.format;return{format:r,...i9,cacheKey:r}},or=(t,r)=>{iK(t.inputs),t.compute(i8("GlobalMaxPool",t.inputs[0],!0,r))}}),au=e5(()=>{ty(),ok(),oN(),on=t=>{var r,n,i,o;let a,s,u,l,h=0,c=0,f=0;6===t.inputs[0].dataType?(h=t.inputs[0].getInt32Array()[0],c=t.inputs[1].getInt32Array()[0],f=t.inputs[2].getInt32Array()[0]):1===t.inputs[0].dataType&&(h=t.inputs[0].getFloat32Array()[0],c=t.inputs[1].getFloat32Array()[0],f=t.inputs[2].getFloat32Array()[0]),eO.webgpu.validateInputContent&&((t,r,n)=>{if(t===r||t<r&&n<0||t>r&&n>0)throw Error("Range these inputs' contents are invalid.")})(h,c,f),t.compute((r=h,n=c,i=f,o=t.inputs[0].dataType,s=[a=Math.abs(Math.ceil((n-r)/i))],l=[{type:"uint32",data:a},{type:u=tH(o),data:r},{type:u,data:i},...ry(s)],{name:"Range",shaderCache:{hint:`${o}`}
5461,getShaderSource:t=>{let r=rT("output",o,s.length),n=r.type.value;return`
5462        ${t.registerUniforms([{name:"outputSize",type:"u32"},{name:"start",type:n},{name:"delta",type:n}]).declareVariables(r)}
5463        ${t.mainStart()}
5464        ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5465        output[global_idx] = uniforms.start + ${n}(global_idx) * uniforms.delta;
5466      }`},getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:l})}),{inputs:[]})}}),al=e5(()=>{oB(),oL(),oN(),oi=(t,r,n,i)=>t.rank>i?`
5467    ${t.indicesSet("input_indices",r,"channel")};
5468    ${t.indicesSet("input_indices",n,"batch")};
5469`:"",oo=(t,r)=>{var n,i,o,a,s,u,l,h,c,f,d,p;let y,m,g,v,b,w,x,_,T,S,E,O,A,I,P,k,C=[],$=[],R=[],D=new Uint32Array(y=t.customDataBuffer,y.byteOffset,1)[0];if(0!==r.antialias)throw Error("Only default value (0) for Antialias attribute is supported");((t,r,n,i,o,a)=>{let[s,u,l]=n>10?[1,2,3]:[-1,t.length>1?1:-1,-1],h=t[0].dims.length;if(s>0&&t.length>s&&t[s].dims.length>0)t[s].getFloat32Array().forEach(t=>a.push(t));else if("tf_crop_and_resize"===r.coordinateTransformMode)throw Error("Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize");if(u>0&&t.length>u&&t[u].dims.length>0){var c,f,d;let o;if(t[u].getFloat32Array().forEach(t=>i.push(t)),0!==i.length&&i.length!==h&&n>=18&&i.length!==r.axes.length)throw Error("Resize requires scales input size to be same as input rank or axes size for opset 18 and up");((t,r)=>{if(t.every(t=>t>0||(()=>{throw Error("Resize requires scales input values to be positive")})),t.length>0){if("linear"===r.mode){if(2!==t.length&&3!==t.length&&(4!==t.length||1!==t[0]||1!==t[1])&&(4!==t.length||1!==t[0]||1!==t[3])&&(5!==t.length||1!==t[0]||1!==t[1]))throw Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and
5470            one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if("cubic"===r.mode&&2!==t.length&&(4!==t.length||1!==t[0]||1!==t[1])&&(4!==t.length||1!==t[0]||1!==t[3]))throw Error("Resize requires scales input size to be 2 or 4 for cubic mode")}})(i,r),r.axes.length>0&&(c=i,f=r.axes,d=h,f.every(t=>t>=0&&t<d||(()=>{throw Error("Resize requires axes input values to be positive and less than rank")})),o=Array(d).fill(1),f.forEach((t,r)=>o[t]=c[r]),o).forEach((t,r)=>i[r]=t)}if(l>0&&t.length>l&&(t[l].getBigInt64Array().forEach(t=>o.push(Number(t))),o.length!==h||n>=18&&o.length===r.axes.length))throw Error("Resize requires sizes input size to be same as input rank or axes size for opset 18 and up");if(r.axes.length>0){if(i.length!==r.axes.length)throw Error('Resize requires "scales" input size to be of axes rank when axes attributes is specified');if(o.length!==r.axes.length)throw Error('Resize requires "sizes" input size to be of rank axes rank when axes attributes is specified')}if("u">typeof i&&"u">typeof o&&i.length>0&&o.length>h)throw Error("Resize requires only of scales or sizes to be specified")})(t.inputs,r,D,C,$,R),t.compute((n=t.inputs[0],i=r,o=D,a=C,s=$,u=R,v=n.dims,b=(l=u,h=i.axes,m=Array(c=v.length).fill(0).concat(Array(c).fill(1)),g=0===l.length?m:l.slice(),h.length>0?(h.forEach((t,r)=>{m[t]=g[r],m[r+c]=g[h.length+r]}),m):g),w=((t,r,n,i)=>{let o=[];if(n.length>0)if(i.length>0){if(t.forEach(t=>o.push(t)),Math.max(...i)>t.length)throw Error("axes is out of bound");i.forEach((t,r)=>o[t]=n[r])}else n.forEach(t=>o.push(t));else{if(0===r.length)throw Error("Resize requires either scales or sizes.");o=t.map((t,n)=>Math.round(t*r[n]))}return o})(v,a,s,i.axes),x=a.slice(),0===a.length&&(x=v.map((t,r)=>0===t?1:w[r]/t),"stretch"!==i.keepAspectRatioPolicy&&(f=v,d=x,p=i,_=(()=>{switch(p.keepAspectRatioPolicy){case"not_larger":return p.axes.length>0?Math.min(...p.axes.map(t=>d[t]),Number.MAX_VALUE):Math.min(...d,Number.MAX_VALUE);case"not_smaller":return p.axes.length>0?Math.max(...p.axes.map(t=>d[t]),5e-324):Math.max(...d,5e-324);default:throw Error(`Keep aspect ratio policy ${p.keepAspectRatioPolicy} is not supported`)}})(),d.fill(1,0,d.length),T=f.slice(),p.axes.length>
54700?(p.axes.forEach(t=>d[t]=_),p.axes.forEach(t=>T[t]=Math.round(f[t]*d[t]))):(d.fill(_,0,d.length),T.forEach((t,r)=>T[r]=Math.round(t*d[r]))),w=T)),S=rT("output",n.dataType,w.length),E=r_("input",n.dataType,v.length),O=rs.size(w),A=v.length===w.length&&v.every((t,r)=>t===w[r]),I="tf_crop_and_resize"===i.coordinateTransformMode,P=i.extrapolationValue,k=E.type.value,{name:"Resize",shaderCache:{hint:`${i.cacheKey}|${o}|${x.length>0?x:""}|${s.length>0?s:""}|${b.length>0?b:""}|${A}|${v}`,inputDependencies:["rank"]},getShaderSource:t=>{let r,n;return`
5471      ${A?"":`
5472      ${r=i.coordinateTransformMode,n=k,`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,
5473     lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${n} { `+(()=>{switch(r){case"asymmetric":return`return ${n}(xResized) / ${n}(xScale);`;case"pytorch_half_pixel":return`if (lengthResized > 1) {
5474                    return (${n}(xResized) + 0.5) / ${n}(xScale) - 0.5;
5475                  } else {
5476                    return 0.0;
5477                  }`;case"tf_half_pixel_for_nn":return`return (${n}(xResized) + 0.5) / ${n}(xScale);`;case"align_corners":return`if (lengthResized == 1) {
5478                    return 0.0;
5479                  } else {
5480                    // The whole part and the fractional part are calculated separately due to inaccuracy of floating
5481                    // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an
5482                    // offset-by-one error later in floor().
5483                    let whole = ${n}(xResized * (lengthOriginal - 1) / (lengthResized - 1));
5484                    let fract =
5485                        ${n}(xResized * (lengthOriginal - 1) % (lengthResized - 1)) / ${n}(lengthResized - 1);
5486                    return whole + fract;
5487                  }`;case"tf_crop_and_resize":return`if (lengthResized > 1) {
5488                    return ${n}(roiStart) * ${n}(lengthOriginal - 1) +
5489                        (${n}(xResized) * ${n}(roiEnd - roiStart) * ${n}(lengthOriginal - 1)) /
5490                        ${n}(lengthResized - 1);
5491                  } else {
5492                    return 0.5 * ${n}(roiStart + roiEnd) * ${n}(lengthOriginal - 1);
5493                  }`;case"half_pixel_symmetric":return`const outputWidth = ${n}xScale * ${n}(lengthResized);
5494                  const adjustment = ${n}(lengthResized) / outputWidth;
5495                  const center = ${n}(lengthOriginal) / 2;
5496                  const offset = center * (1 - adjustment);
5497                  return offset + ((${n}(xResized) + 0.5) / ${n}(xScale)) - 0.5;`;case"half_pixel":return`return ((${n}(xResized) + 0.5) / ${n}(xScale)) - 0.5;`;default:throw Error(`Coordinate transform mode ${r} is not supported`)}})()+"}"};
5498      ${(()=>{switch(i.mode){case"nearest":let t,r,n,a,s,u,l,h,c,f,d,p;return`
5499              ${t=E,r=v,`
5500    fn checkInputIndices(input_indices: ${t.type.indices}) -> bool {
5501      for (var i:u32 = 0; i < ${r.length}; i++) {
5502        var input_index = ${t.indicesGet("input_indices","i")};
5503        if (input_index < 0 || input_index >= ${rw("uniforms.input_shape","i",r.length)}) {
5504          return false;
5505        }
5506      }
5507      return true;
5508    }`};
5509              ${n=i.nearestMode,a=o,s=k,`fn getNearestPixelFromOriginal(xOriginal: ${s}, isDownSample: bool) -> ${s} {`+(()=>{switch(n){case"round_prefer_ceil":return"if (fract(xOriginal) == 0.5) {             return ceil(xOriginal);           } else {             return round(xOriginal);           }";case"floor":return"return floor(xOriginal);";case"ceil":return"return ceil(xOriginal);";case"round_prefer_floor":return"if (fract(xOriginal) == 0.5) {                     return floor(xOriginal);                   } else {                     return round(xOriginal);                   }";default:if(a<11)return"if (isDownSample)                     {                       return ceil(xOriginal);                     } else {                       return xOriginal;                     }";throw Error(`Nearest mode ${n} is not supported`)}})()+"}"};
5510              ${u=E,l=S,h=v,c=w,f=x.length,d=b.length,p=I,`
5511    fn calculateInputIndicesFromOutputIndices(output_indices: ${l.type.indices}) -> ${u.type.indices} {
5512      var input_indices: ${u.type.indices};
5513      for (var i:u32 = 0; i < ${c.length}; i++) {
5514        var output_index = ${l.indicesGet("output_indices","i")};
5515        var input_index: u32;
5516        var scale = ${rw("uniforms.scales","i",f)};
5517        if (scale == 1.0) {
5518          input_index = output_index;
5519        } else {
5520          var roi_low = ${rw("uniforms.roi","i",d)};
5521          var roi_hi = ${rw("uniforms.roi",`i + ${h.length}`,d)};
5522          var input_shape_i = ${rw("uniforms.input_shape","i",h.length)};
5523          var output_shape_i = ${rw("uniforms.output_shape","i",c.length)};
5524          var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
5525                                                                        input_shape_i, roi_low, roi_hi);
5526          if (!${p} || (original_idx >= 0 && original_idx < ${l.type.value}(input_shape_i))) {
5527            if (original_idx < 0) {
5528              input_index = 0;
5529            } else if (original_idx > ${l.type.value}(input_shape_i - 1)) {
5530              input_index = input_shape_i - 1;
5531            } else {
5532              input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));
5533            }
5534          } else {
5535            input_index = u32(original_idx);
5536          }
5537        }
5538        ${u.indicesSet("input_indices","i"," input_index")}
5539      }
5540      return input_indices;
5541    }`};
5542              `;case"linear":let y,m,g,_,T;return`
5543              ${y=S,m=v,g=w,_=x.length,T=b.length,`
5544    fn calculateOriginalIndicesFromOutputIndices(output_indices: ${y.type.indices}) -> array<${y.type.value}, ${g.length}> {
5545      var original_indices: array<${y.type.value}, ${g.length}>;
5546      for (var i:u32 = 0; i < ${g.length}; i++) {
5547        var output_index = ${y.indicesGet("output_indices","i")};
5548        var scale = ${rw("uniforms.scales","i",_)};
5549        var roi_low = ${rw("uniforms.roi","i",T)};
5550        var roi_hi = ${rw("uniforms.roi",`i + ${m.length}`,T)};
5551        if (scale == 1.0) {
5552          original_indices[i] = ${y.type.value}(output_index);
5553        } else {
5554          var input_shape_i = ${rw("uniforms.input_shape","i",m.length)};
5555          var output_shape_i = ${rw("uniforms.output_shape","i",g.length)};
5556          original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
5557                                                                           input_shape_i, roi_low, roi_hi);
5558        }
5559      }
5560      return original_indices;
5561    }`};
5562              ${(()=>{if(2===v.length||4===v.length)return`${((t,r,n,i,o)=>{let[a,s,u,l]=2===n.length?[-1,0,1,-1]:[0,2,3,1],h=t.type.value;return`
5563    fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${h} {
5564      var input_indices: ${t.type.indices};
5565      ${t.indicesSet("input_indices",s,`max(0, min(row, ${n[s]} - 1))`)};
5566      ${t.indicesSet("input_indices",u,`max(0, min(col, ${n[u]} - 1))`)};
5567      ${oi(t,l,a,2)}
5568      return ${t.getByIndices("input_indices")};
5569    }
5570
5571    fn bilinearInterpolation(output_indices: ${r.type.indices}) -> ${h} {
5572      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
5573      var row:${h} = originalIndices[${s}];
5574      var col:${h} = originalIndices[${u}];
5575      ${i?`if (row < 0 || row > (${n[s]} - 1) || col < 0 || col > (${n[u]} - 1)) {
5576        return ${o};
5577      }`:""};
5578      row = max(0, min(row, ${n[s]} - 1));
5579      col = max(0, min(col, ${n[u]} - 1));
5580      var row1: u32 = u32(row);
5581      var col1: u32 = u32(col);
5582      var row2: u32 = u32(row + 1);
5583      var col2: u32 = u32(col + 1);
5584      var channel: u32 = ${n.length>2?`u32(originalIndices[${l}])`:"0"};
5585      var batch: u32 =  ${n.length>2?`u32(originalIndices[${a}])`:"0"};
5586      var x11: ${h} = getInputValue(batch, channel, row1, col1);
5587      var x12: ${h} = getInputValue(batch, channel, row1, col2);
5588      var x21: ${h} = getInputValue(batch, channel, row2, col1);
5589      var x22: ${h} = getInputValue(batch, channel, row2, col2);
5590      var dx1: ${h} = abs(row - ${h}(row1));
5591      var dx2: ${h} = abs(${h}(row2) - row);
5592      var dy1: ${h} = abs(col - ${h}(col1));
5593      var dy2: ${h} = abs(${h}(col2) - col);
5594      if (row1 == row2) {
5595        dx1 = 0.5;
5596        dx2 = 0.5;
5597      }
5598      if (col1 == col2) {
5599        dy1 = 0.5;
5600        dy2 = 0.5;
5601      }
5602      return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);
5603    }`})(E,S,v,I,P)}`;if(3===v.length||5===v.length)return`${((t,r,n,i,o)=>{let[a,s,u,l,h]=3===n.length?[-1,0,1,2,-1]:[0,2,3,4,1],c=t.type.value;return`
5604    fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${c} {
5605      var input_indices: ${t.type.indices};
5606      ${t.indicesSet("input_indices",s,`max(0, min(depth, ${n[s]} - 1))`)};
5607      ${t.indicesSet("input_indices",u,`max(0, min(height, ${n[u]} - 1))`)};
5608      ${t.indicesSet("input_indices",l,`max(0, min(width, ${n[l]} - 1))`)};
5609      ${oi(t,h,a,3)}
5610      return ${t.getByIndices("input_indices")};
5611    }
5612
5613    fn trilinearInterpolation(output_indices: ${r.type.indices}) -> ${c} {
5614      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
5615      var depth:${c} = originalIndices[${s}];
5616      var height:${c} = originalIndices[${u}];
5617      var width:${c} = originalIndices[${l}];
5618      ${i?`if (depth < 0 || depth > (${n[s]} - 1) || height < 0 || height > (${n[u]} - 1) || width < 0 || (width > ${n[l]} - 1)) {
5619      return ${o};
5620        }`:""};
5621
5622    depth = max(0, min(depth, ${n[s]} - 1));
5623      height = max(0, min(height, ${n[u]} - 1));
5624      width = max(0, min(width, ${n[l]} - 1));
5625      var depth1: u32 = u32(depth);
5626      var height1: u32 = u32(height);
5627      var width1: u32 = u32(width);
5628      var depth2: u32 = u32(depth + 1);
5629      var height2: u32 = u32(height + 1);
5630      var width2: u32 = u32(width + 1);
5631      var channel: u32 = ${n.length>3?`u32(originalIndices[${h}])`:"0"};
5632      var batch: u32 =  ${n.length>3?`u32(originalIndices[${a}])`:"0"};
5633
5634      var x111: ${c} = getInputValue(batch, channel, depth1, height1, width1);
5635      var x112: ${c} = getInputValue(batch, channel, depth1, height1, width2);
5636      var x121: ${c} = getInputValue(batch, channel, depth1, height2, width1);
5637      var x122: ${c} = getInputValue(batch, channel, depth1, height2, width2);
5638      var x211: ${c} = getInputValue(batch, channel, depth2, height1, width1);
5639      var x212: ${c} = getInputValue(batch, channel, depth2, height1, width2);
5640      var x221: ${c} = getInputValue(batch, channel, depth2, height2, width1);
5641      var x222: ${c} = getInputValue(batch, channel, depth2, height2, width2);
5642      var dx1: ${c} = abs(depth - ${c}(depth1));
5643      var dx2: ${c} = abs(${c}(depth2) - depth);
5644      var dy1: ${c} = abs(height - ${c}(height1));
5645      var dy2: ${c} = abs(${c}(height2) - height);
5646      var dz1: ${c} = abs(width - ${c}(width1));
5647      var dz2: ${c} = abs(${c}(width2) - width);
5648      if (depth1 == depth2) {
5649        dx1 = 0.5;
5650        dx2 = 0.5;
5651      }
5652      if (height1 == height2) {
5653        dy1 = 0.5;
5654        dy2 = 0.5;
5655      }
5656      if (width1 == width2) {
5657        dz1 = 0.5;
5658        dz2 = 0.5;
5659      }
5660      return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +
5661              x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);
5662    }`})(E,S,v,I,P)}`;throw Error("Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.")})()};
5663            `;case"cubic":return`
5664            ${(()=>{if(2===v.length||4===v.length)return`${((t,r,n,i,o,a,s,u,l,h)=>{let[c,f]=2===n.length?[0,1]:[2,3],d=t.type.value,p=s=>{let f=s===c?"row":"col";return`
5665      fn ${f}CubicInterpolation(input_indices: ${t.type.indices}, output_indices: ${r.type.indices}) -> ${d} {
5666        var output_index = ${r.indicesGet("output_indices",s)};
5667        var originalIdx: ${d} = getOriginalCoordinateFromResizedCoordinate(output_index, ${o[s]},
5668        ${i[s]}, ${n[s]}, ${a[s]}, ${a[s]} + ${n.length});
5669        var fractOriginalIdx: ${d} = originalIdx - floor(originalIdx);
5670        var coefs = getCubicInterpolationCoefs(fractOriginalIdx);
5671
5672        if (${u} && (originalIdx < 0 || originalIdx > (${n[s]} - 1))) {
5673          return ${l};
5674        }
5675        var data: array<${d}, 4> = array<${d}, 4>(0.0, 0.0, 0.0, 0.0);
5676        for (var i: i32 = -1; i < 3; i++) {
5677          var ${f}: ${d} = originalIdx + ${d}(i);
5678          if (${f} < 0 || ${f} >= ${n[s]}) {
5679            ${h?`coefs[i + 1] = 0.0;
5680                        continue;`:u?`return ${l};`:`${f} = max(0, min(${f}, ${n[s]} - 1));`};
5681          }
5682        var input_indices_copy: ${t.type.indices} = input_indices;
5683          ${t.indicesSet("input_indices_copy",s,`u32(${f})`)};
5684          data[i + 1] = ${s===c?t.getByIndices("input_indices_copy"):"rowCubicInterpolation(input_indices_copy, output_indices)"};
5685        }
5686        return cubicInterpolation1D(data, coefs);
5687      }`};return`
5688    ${p(c)};
5689    ${p(f)};
5690  fn getCubicInterpolationCoefs(s: ${d}) -> array<${d}, 4> {
5691    var absS = abs(s);
5692    var coeffs: array<${d}, 4> = array<${d}, 4>(0.0, 0.0, 0.0, 0.0);
5693    var oneMinusAbsS: ${d} = 1.0 - absS;
5694    var twoMinusAbsS: ${d} = 2.0 - absS;
5695    var onePlusAbsS: ${d} = 1.0 + absS;
5696    coeffs[0] = ((${s} * onePlusAbsS - 5 * ${s}) * onePlusAbsS + 8 * ${s}) * onePlusAbsS - 4 * ${s};
5697    coeffs[1] = ((${s} + 2) * absS - (${s} + 3)) * absS * absS + 1;
5698    coeffs[2] = ((${s} + 2) * oneMinusAbsS - (${s} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;
5699    coeffs[3] = ((${s} * twoMinusAbsS - 5 * ${s}) * twoMinusAbsS + 8 * ${s}) * twoMinusAbsS - 4 * ${s};
5700    return coeffs;
5701  }
5702
5703  fn cubicInterpolation1D(x: array<${d}, 4>, coefs: array<${d}, 4>) -> ${d} {
5704    var coefsSum: ${d}
5704 = coefs[0] + coefs[1] + coefs[2] + coefs[3];
5705    return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;
5706  }
5707
5708  fn bicubicInterpolation(output_indices: ${r.type.indices}) -> ${d} {
5709    var input_indices: ${t.type.indices} = output_indices;
5710    return colCubicInterpolation(input_indices, output_indices);
5711  }
5712    `})(E,S,v,w,x,b,i.cubicCoeffA,I,i.extrapolationValue,i.excludeOutside)}`;throw Error("Cubic mode only supports input dims 2 and 4 are supported in linear mode.")})()};
5713            `;default:throw Error("Invalid resize mode")}})()};
5714      `}
5715      ${t.registerUniform("output_size","u32").registerUniform("scales","f32",x.length).registerUniform("roi","f32",b.length).declareVariables(E,S)}
5716      ${t.mainStart()}
5717        ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
5718        ${A?"output[global_idx] = input[global_idx];":`
5719        let output_indices = ${S.offsetToIndices("global_idx")};
5720        var input_indices: ${E.type.indices};
5721        ${(()=>{switch(i.mode){case"nearest":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);
5722                if (checkInputIndices(input_indices)) {
5723                  output[global_idx] = ${E.getByIndices("input_indices")};
5724                } else {
5725                  output[global_idx] = ${i.extrapolationValue};
5726                }`;case"linear":return`output[global_idx] = ${2===v.length||4===v.length?"bilinearInterpolation":"trilinearInterpolation"}(output_indices);`;case"cubic":return"output[global_idx] = bicubicInterpolation(output_indices);";default:throw Error(`Unsupported resize mode: ${i.mode}`)}})()};
5727`}
5728      }`},getRunData:()=>({outputs:[{dims:w,dataType:n.dataType}],dispatchGroup:{x:Math.ceil(O/64)},programUniforms:[{type:"uint32",data:O},{type:"float32",data:x},{type:"float32",data:b},...ry(v),...ry(w)]})}),{inputs:[0]})},oa=t=>{let r=t.antialias,n=t.axes,i=t.coordinateTransformMode,o=t.cubicCoeffA,a=0!==t.excludeOutside,s=t.extrapolationValue,u=t.keepAspectRatioPolicy,l=t.mode,h=""===t.nearestMode?"simple":t.nearestMode;return ri({antialias:r,axes:n,coordinateTransformMode:i,cubicCoeffA:o,excludeOutside:a,extrapolationValue:s,keepAspectRatioPolicy:u,mode:l,nearestMode:h})}}),ah=e5(()=>{ok(),oB(),oL(),oN(),os=(t,r)=>{var n,i,o,a;let s,u,l,h,c,f,d,p,y,m,g,v,b;(t=>{if(!t||t.length<3)throw Error("layerNorm requires at least 3 inputs.");let r=t[0],n=t[1],i=t[2];if(r.dataType!==n.dataType||r.dataType!==i.dataType)throw Error("All inputs must have the same data type");if(3!==r.dims.length&&2!==r.dims.length)throw Error("Input must be 2D or 3D");if(3!==n.dims.length&&2!==n.dims.length)throw Error("Skip must be 2D or 3D");let o=r.dims[r.dims.length-1],a=r.dims[r.dims.length-2];if(n.dims[n.dims.length-1]!==o)throw Error("Skip must have the same hidden size as input");if(n.dims[n.dims.length-2]!==a)throw Error("Skip must have the same sequence length as input");if(1!==i.dims.length)throw Error("Gamma must be 1D");if(i.dims[i.dims.length-1]!==o)throw Error("Gamma must have the same hidden size as input");if(t.length>3){let r=t[3];if(1!==r.dims.length)throw Error("Beta must be 1D");if(r.dims[r.dims.length-1]!==o)throw Error("Beta must have the same hidden size as input")}if(t.length>4){let r=t[4];if(1!==r.dims.length)throw Error("Bias must be 1D");if(r.dims[r.dims.length-1]!==o)throw Error("Bias must have the same hidden size as input")}})(t.inputs);let w=[0];t.outputCount>1&&w.push(-3),t.outputCount>2&&w.push(-3),t.outputCount>3&&w.push(3),t.compute((n=t.inputs,i=r,o=t.outputCount,a=!1,s=n[0].dims,u=rs.size(s),l=s.slice(-1)[0],h=a?s.slice(0,-1).concat(1):[],c=n.length>3,f=n.length>4,d=a&&o>1,p=a&&o>2,y=o>3,m=rm(l),g=[r_("x",n[0].dataType,n[0].dims,m),r_("skip",n[1].dataType,n[1].dims,m),r_("gamma",n[2].dataType,n[2].dims,m)],c&&g.push(r_("beta",n[3].dataType,n[3].dims,m)),f&&g.push(r_("bias",n[4].dataType,n[4].dims,m)),g.push(rT("output",n[0].dataType,s,m)),d&&g.push(rT("meanOutput",1,h)),p&&g.push(rT("invStdOutput",1,h)),y&&g.push(rT("inputSkipBiasSum",n[0].dataType,s,m)),v=rd(n[0].dataType),b=[{dims:s,dataType:n[0].dataType}],o>1&&b.push({dims:h,dataType:1}),o>2&&b.push({dims:h,dataType:1}),o>3&&b.push({dims:s,dataType:n[0].dataType}),{name:"SkipLayerNormalization",shaderCache:{hint:i.cacheKey},getShaderSource:t=>`
5729      const hiddenSize: f32 = ${l};
5730      const hiddenSizeVectorized: u32 = ${l/m};
5731      const epsilon: f32 = ${i.epsilon};
5732
5733      ${t.declareVariables(...g)}
5734
5735      ${t.mainStart()}
5736        ${t.guardAgainstOutOfBoundsWorkgroupSizes(u/l)}
5737        let offset = global_idx * hiddenSizeVectorized;
5738        var sum = ${rg("f32",m)};
5739        var squareSum = ${rg("f32",m)};
5740        for (var i: u32 = 0; i < hiddenSizeVectorized; i++) {
5741          let skipValue = skip[offset + i];
5742          let biasValue = ${f?"bias[i]":"0.0"};
5743          let inputValue = x[offset + i];
5744          let value = inputValue + skipValue + biasValue;
5745          ${y?"inputSkipBiasSum[offset + i] = value;":""}
5746          output[offset + i] = value;
5747          let f32Value = ${rv(v,m,"value")};
5748          sum += f32Value;
5749          squareSum += f32Value * f32Value;
5750        }
5751        let mean = ${rb("sum",m)} / hiddenSize;
5752        let invStdDev = inverseSqrt(${rb("squareSum",m)} / hiddenSize - mean * mean + epsilon);
5753        ${d?"meanOutput[global_idx] = mean;":""}
5754        ${p?"invStdOutput[global_idx] = invStdDev;":""}
5755        for (var i: u32 = 0; i < hiddenSizeVectorized; i++) {
5756          output[offset + i] = (output[offset + i] - ${v}(mean)) * ${v}(invStdDev) * gamma[i]
5757           + ${c?"beta[i]":"0.0"};
5758        }
5759      }`,getRunData:()=>({outputs:b,dispatchGroup:{x:Math.ceil(u/l/64)}})}),{outputs:w})}
5759,ou=t=>{let r=t.epsilon;return ri({epsilon:r})}}),ac=e5(()=>{ok(),oB(),oL(),oN(),ol=(t,r)=>{let n=[];if(t.length>r)if(7===t[r].dataType)t[r].getBigInt64Array().forEach(t=>n.push(Number(t)));else{if(6!==t[r].dataType)throw Error(`Input ${r} must be an array of int32 or int64`);t[r].getInt32Array().forEach(t=>n.push(Number(t)))}return n},oh=(t,r,n,i,o)=>{let a=t;return t<0&&(a+=n[i[r]]),o[r]<0?Math.max(0,Math.min(a,n[i[r]]-1)):Math.max(0,Math.min(a,n[i[r]]))},oc=(t,r)=>{var n=t.inputs,i=r;if(!n||n.length<1)throw Error("too few inputs");if(0!==i.axes.length){if(i.axes.length!==i.starts.length||i.axes.length!==i.ends.length)throw Error("axes, starts and ends must have the same length")}else if(i.starts.length!==i.ends.length)throw Error("starts and ends must have the same length");n.slice(1).forEach((t,r)=>{if(6!==n[r+1].dataType&&7!==n[r+1].dataType)throw Error(`Input ${r} must be an array of int32 or int64`)});let o=((t,r)=>{if(t.length>1){let r=ol(t,1),n=ol(t,2),i=ol(t,3);return 0===i.length&&(i=[...Array(t[0].dims.length).keys()]),ri({starts:r,ends:n,axes:i})}return r})(t.inputs,r);t.compute(((t,r)=>{let n=t[0].dims,i=rs.size(n),o=r.axes.length>0?rs.normalizeAxes(r.axes,n.length):[...Array(n.length).keys()],a=ol(t,4);a.forEach(t=>0!==t||(()=>{throw Error("step cannot be 0")})),0===a.length&&(a=Array(o.length).fill(1));let s=r.starts.map((t,r)=>oh(t,r,n,o,a)),u=r.ends.map((t,r)=>oh(t,r,n,o,a));if(o.length!==s.length||o.length!==u.length)throw Error("start, ends and axes should have the same number of elements");if(o.length!==n.length)for(let t=0;t<n.length;++t)o.includes(t)||(s.splice(t,0,0),u.splice(t,0,n[t]),a.splice(t,0,1));let l=a.map(t=>Math.sign(t));a.forEach((t,r,n)=>{if(t<0){let i=(u[r]-s[r])/t,o=s[r],l=o+i*a[r];s[r]=l,u[r]=o,n[r]=-t}});let h=n.slice(0);o.forEach((t,r)=>{h[t]=Math.ceil((u[t]-s[t])/a[t])});let c={dims:h,dataType:t[0].dataType},f=rT("output",t[0].dataType,h.length),d=r_("input",t[0].dataType,t[0].dims.length),p=rs.size(h),y=[{name:"outputSize",type:"u32"},{name:"starts",type:"u32",length:s.length},{name:"signs",type:"i32",length:l.length},{name:"steps",type:"u32",length:a.length}],m=[{type:"uint32",data:p},{type:"uint32",data:s},{type:"int32",data:l},{type:"uint32",data:a},...ry(t[0].dims),...ry(h)];return{name:"Slice",shaderCache:{hint:`${l.length}_${s.length}_${a.length}`,inputDependencies:["rank"]},getShaderSource:t=>{let r,i,o;return`
5760      ${t.registerUniforms(y).declareVariables(d,f)}
5761        ${r=d,i=f,o=n,`fn calculateInputIndices(output_indices: ${i.type.indices}) -> ${r.type.indices} {
5762          var input_indices: ${r.type.indices};
5763          var carry = 0u;
5764          for (var i = ${o.length}; i >= 0; i--) {
5765            let input_shape_i = ${rw("uniforms.input_shape","i",o.length)};
5766            let steps_i = ${rw("uniforms.steps","i",o.length)};
5767            let signs_i = ${rw("uniforms.signs","i",o.length)};
5768            let starts_i = ${rw("uniforms.starts","i",o.length)};
5769            var output_index = ${i.indicesGet("output_indices","i")};
5770            var input_index = output_index * steps_i + starts_i + carry;
5771            carry = input_index / input_shape_i;
5772            input_index = input_index % input_shape_i;
5773            if (signs_i < 0) {
5774              input_index = input_shape_i - input_index - 1u + starts_i;
5775            }
5776            ${r.indicesSet("input_indices","i","input_index")};
5777          }
5778          return input_indices;
5779      }`}
5780        ${t.mainStart()}
5781          ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
5782          let output_indices = ${f.offsetToIndices("global_idx")};
5783          let input_indices = calculateInputIndices(output_indices);
5784          ${f.setByOffset("global_idx",d.getByIndices("input_indices"))}
5785      }`},getRunData:()=>({outputs:[c],dispatchGroup:{x:Math.ceil(i/64)},programUniforms:m})}})(t.inputs,o),{inputs:[0]})},of=t=>{let r=t.starts,n=t.ends,i=t.axes;return ri({starts:r,ends:n,axes:i})}}),af=e5(()=>{oB(),oL(),oN(),od=(t,r)=>{(t=>{if(!t||1!==t.length)throw Error("Softmax op requires 1 input.")})(t.inputs),t.compute(((t,r)=>{let n=t.dims,i=rs.size(n),o=r.axis;
5785if(o<0&&(o=n.length+o),o<n.length-1)throw Error("softmax only supports last axis for now.");let a=n[o],s=i/a,u=rm(a),l=a/u,h=r_("x",t.dataType,t.dims,u),c=rT("result",t.dataType,t.dims,u),f=h.type.value,d="f32"===rd(t.dataType)?`var threadMax = ${f}(-3.402823e+38f);`:`var threadMax = ${f}(-65504.0h);`;return{name:"Softmax",shaderCache:{hint:`${u}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:n,dataType:t.dataType}],dispatchGroup:{x:s},programUniforms:[{type:"uint32",data:l}]}),getShaderSource:t=>{let r;return`
5786      var<workgroup> rowMaxShared : ${f};
5787      var<workgroup> rowSumShared : ${f};
5788      var<workgroup> threadShared : array<${f}, 64>;
5789
5790      fn getValue(row: i32, col: i32, row_stride: i32) -> ${f} {
5791        let index = row * row_stride + col;
5792        return x[index];
5793      }
5794
5795      fn setValue(row: i32, col: i32, row_stride: i32, value: ${f}) {
5796        let index = row * row_stride + col;
5797        result[index] = value;
5798      }
5799      ${t.registerUniform("packedCols","i32").declareVariables(h,c)}
5800      ${t.mainStart()}
5801        let gindex = i32(global_idx);
5802        let lindex = i32(local_idx);
5803        const wg = 64;
5804        let row = gindex / wg;
5805        let cols = uniforms.packedCols;
5806        let row_stride : i32 = uniforms.packedCols;
5807
5808        // find the rows max
5809        ${d}
5810        for (var col = lindex; col < cols; col += wg) {
5811          let value = getValue(row, col, row_stride);
5812          threadMax = max(threadMax, value);
5813        }
5814        if (lindex < cols) {
5815          threadShared[lindex] = threadMax;
5816        }
5817        workgroupBarrier();
5818
5819        var reduceSize = min(cols, wg);
5820        for (var currSize = reduceSize >> 1;  currSize > 0; currSize = reduceSize >> 1) {
5821          reduceSize = currSize + (reduceSize & 1);
5822          if (lindex < currSize) {
5823            threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);
5824          }
5825          workgroupBarrier();
5826        }
5827        if (lindex == 0) {
5828          rowMaxShared = ${f}(${r="threadShared[0]",4===u?`max(max(${r}.x, ${r}.y), max(${r}.z, ${r}.w))`:2===u?`max(${r}.x, ${r}.y)`:3===u?`max(max(${r}.x, ${r}.y), ${r}.z)`:r});
5829        }
5830        workgroupBarrier();
5831
5832        // find the rows sum
5833        var threadSum = ${f}(0.0);
5834        for (var col = lindex; col < cols; col += wg) {
5835          let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);
5836          threadSum += subExp;
5837        }
5838        threadShared[lindex] = threadSum;
5839        workgroupBarrier();
5840
5841        for (var currSize = wg >> 1;  currSize > 0; currSize = currSize >> 1) {
5842          if (lindex < currSize) {
5843            threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];
5844          }
5845          workgroupBarrier();
5846        }
5847        if (lindex == 0) {
5848          rowSumShared = ${f}(${rb("threadShared[0]",u)});
5849        }
5850        workgroupBarrier();
5851
5852        // calculate final value for each element in the row
5853        for (var col = lindex; col < cols; col += wg) {
5854          let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;
5855          setValue(row, col, row_stride, value);
5856        }
5857      }`}}})(t.inputs[0],r))},op=t=>ri({axis:t.axis})}),ad=e5(()=>{oB(),oL(),oN(),oy=(t,r)=>{let n,i;var o,a,s=t.inputs;if(!s||s.length<1)throw Error("too few inputs");let u=1===t.inputs.length?r:(o=t.inputs,n=[],i=(a=r).numOutputs,o[1].dims[0]>0&&(o[1].getBigInt64Array().forEach(t=>n.push(Number(t))),i=n.length),ri({numOutputs:i,axis:a.axis,splitSizes:n}));t.compute(((t,r)=>{let n=t[0].dims,i=rs.size(n),o=t[0].dataType,a=rs.normalizeAxis(r.axis,n.length),s=Array(r.numOutputs),u=r_("input",o,n),l=Array(r.numOutputs),h=[],c=[],f=0,d=[{type:"uint32",data:i}];for(let i=0;i<r.numOutputs;i++){f+=r.splitSizes[i],l[i]=f;let a=n.slice();a[r.axis]=r.splitSizes[i],c.push(a),s[i]=rT(`output${i}`,o,a),h.push({dims:c[i],dataType:t[0].dataType})}return d.push({type:"uint32",data:l}),d.push(...ry(n)),c.forEach(t=>d.push(...ry(t))),{name:"Split",shaderCache:{hint:r.cacheKey,inputDependencies:["rank"]},getShaderSource:t=>{let r;return`
5858  ${t.registerUniform("input_size","u32").registerUniform("size_in_split_axis","u32",l.length).declareVariables(u,...s)}
5859  ${r=l.length,`
5860fn calculateOutputIndex(index: u32) -> u32 {
5861    for (var i: u32 = 0u; i < ${r}u; i += 1u ) {
5862    if (index < ${rw("uniforms.size_in_split_axis","i",r)}) {
5863        return i;
5864    }
5865    }
5866    return ${r}u;
5867}`}
5868  ${(t=>{let r=t.length,n=[];for(let i=0;i<r;++i){let o=t[i].setByIndices("indices","input[global_idx]");1===r?n.push(o):0===i?n.push(`if (output_number == ${i}u) { ${o} }`):i===r-1?n.push(`else { ${o} }`):n.push(`else if (output_number == ${i}) { ${o} }`)}return`
5869      fn writeBufferData(output_number: u32, indices: ${t[0].type.indices}, global_idx: u32) {
5870        ${n.join(`
5871`)}
5872      }`})(s)}
5873
5874  ${t.mainStart()}
5875    ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.input_size")}
5876
5877    var indices = ${u.offsetToIndices("global_idx")};
5878    var index = ${u.indicesGet("indices",a)};
5879    let output_number = calculateOutputIndex(index);
5880    if (output_number != 0) {
5881      index -= ${rw("uniforms.size_in_split_axis","output_number - 1u",l.length)};
5882      ${u.indicesSet("indices",a,"index")};
5883    }
5884    writeBufferData(output_number, indices, global_idx);
5885  }`},getRunData:()=>({outputs:h,dispatchGroup:{x:Math.ceil(i/64)}
5885,programUniforms:d})}})(t.inputs,u),{inputs:[0]})},om=t=>{let r=t.axis,n=t.splitSizes,i=t.numOutputs<0?n.length:t.numOutputs;if(i!==n.length)throw Error("numOutputs and splitSizes lengh must be equal");return ri({axis:r,numOutputs:i,splitSizes:n})}}),ap=e5(()=>{ok(),oB(),oN(),og=t=>Array.from(t.getBigInt64Array(),Number),ov=t=>{var r;let n,i,o,a,s,u,l;(t=>{if(!t||2!==t.length)throw Error("Tile requires 2 inputs.");if(1!==t[0].dataType&&6!==t[0].dataType&&12!==t[0].dataType)throw Error("Tile only support float, int32, and uint32 data types");if(7!==t[1].dataType)throw Error("Tile `repeats` input should be of int64 data type");if(1!==t[1].dims.length)throw Error("Tile `repeats` input should be 1-D");if(og(t[1]).length!==t[0].dims.length)throw Error("Tile `repeats` input should have same number of elements as rank of input data tensor")})(t.inputs),t.compute((n=(r=t.inputs)[0].dims,o=((t,r)=>{let n=[];for(let i=0;i<t.length;++i)n.push(t[i]*r[i]);return n})(n,i=og(r[1])),a=rs.size(o),s=r[0].dataType,u=r_("input",s,n.length),l=rT("output",s,o.length),{name:"Tile",shaderCache:{hint:`${i}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:o,dataType:r[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:[{type:"uint32",data:a},...ry(r[0].dims),...ry(o)]}),getShaderSource:t=>`
5886      const inputShape = ${u.indices(...n)};
5887      ${t.registerUniform("output_size","u32").declareVariables(u,l)}
5888      ${t.mainStart()}
5889      ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
5890      let output_indices = ${l.offsetToIndices("global_idx")};
5891      var input_indices: ${u.type.indices};
5892      for (var i = 0; i < ${n.length}; i++) {
5893        let input_dim_i = ${u.indicesGet("uniforms.input_shape","i")};
5894        let input_dim_value = ${l.indicesGet("output_indices","i")}  % input_dim_i;
5895
5896        ${u.indicesSet("input_indices","i","input_dim_value")}
5897      }
5898      ${l.setByOffset("global_idx",u.getByIndices("input_indices"))}
5899    }`}),{inputs:[0]})}}),ay=e5(()=>{ok(),oB(),oN(),ob=t=>{t.compute((t=>{let r=t[1].dims,n=t[2].dims,i=t[0].dims,o=t[1].dataType,a=!(rs.areEqual(r,n)&&rs.areEqual(n,i)),s=r,u=rs.size(r);if(a){let t=ra.calcShape(ra.calcShape(r,n,!1),i,!1);if(!t)throw Error("Can't perform where op on the given tensors");s=t,u=rs.size(s)}let l=Math.ceil(u/4);return{name:"Where",shaderCache:{inputDependencies:["rank","rank","rank"]},getShaderSource:r=>((t,r,n,i,o)=>{let a,s=rT("output_data",o,n.length,4),u=r_("a_data",r[1].dataType,r[1].dims.length,4),l=r_("b_data",r[2].dataType,r[2].dims.length,4),h=r_("c_data",r[0].dataType,r[0].dims.length,4),c=(t,r,n)=>`select(${r}, ${t}, ${n})`;if(i){let t=function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=`a_data[index_a${r}][component_a${r}]`,o=`b_data[index_b${r}][component_b${r}]`,a=`bool(c_data[index_c${r}] & ${0xff000000>>>8*(3-r)}u)`;return`
5900            let output_indices${r} = ${s.offsetToIndices(`global_idx * 4u + ${r}u`)};
5901            let offset_a${r} = ${u.broadcastedIndicesToOffset(`output_indices${r}`,s)};
5902            let offset_b${r} = ${l.broadcastedIndicesToOffset(`output_indices${r}`,s)};
5903            let offset_c${r} = ${h.broadcastedIndicesToOffset(`output_indices${r}`,s)};
5904            let index_a${r} = offset_a${r} / 4u;
5905            let index_b${r} = offset_b${r} / 4u;
5906            let index_c${r} = offset_c${r} / 4u;
5907            let component_a${r} = offset_a${r} % 4u;
5908            let component_b${r} = offset_b${r} % 4u;
5909            ${t}[${r}] = ${n}(${c(i,o,a)});
5910          `};a=9===o?`
5911            var data = vec4<u32>(0);
5912            ${t("data",0,"u32")}
5913            ${t("data",1,"u32")}
5914            ${t("data",2,"u32")}
5915            ${t("data",3,"u32")}
5916            output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
5917            ${t("output_data[global_idx]",0)}
5918            ${t("output_data[global_idx]",1)}
5919            ${t("output_data[global_idx]",2)}
5920            ${t("output_data[global_idx]",3)}
5921          `}else a=s.setByOffset("global_idx",c(u.getByOffset("global_idx"),l.getByOffset("global_idx"),h.getByOffset("global_idx")));return`
5922        ${t.registerUniform("vec_size","u32").declareVariables(h,u,l,s)}
5923        ${t.mainStart()}
5924        ${t.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
5925        ${a}
5926      }`})(r,t,s,a,o),getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(u/64/4)},programUniforms:[{type:"uint32",data:l},...ry(i),...ry(r),...ry(n),...ry(s)]})}})(t.inputs))}}),am=e5(()=>
5926{oz(),oG(),oV(),oW(),oq(),oY(),oX(),o6(),o2(),o7(),o8(),o4(),ae(),at(),ar(),an(),ai(),o3(),ao(),aa(),as(),au(),oj(),al(),ah(),ac(),af(),ad(),ap(),oF(),oH(),ay(),ow=new Map([["Abs",[nl]],["Acos",[nh]],["Acosh",[nc]],["Add",[nW]],["ArgMax",[nr,nn]],["ArgMin",[nt,nn]],["Asin",[nf]],["Asinh",[nd]],["Atan",[np]],["Atanh",[ny]],["Attention",[no]],["AveragePool",[i5,i6]],["BatchNormalization",[na]],["BiasAdd",[ns]],["BiasSplitGelu",[nz]],["Cast",[ng,nm]],["Ceil",[nb]],["Clip",[nv]],["Concat",[n0,n3]],["Conv",[ip,id]],["ConvTranspose",[iS,i_]],["Cos",[nw]],["Cosh",[nx]],["CumSum",[iE,iO]],["Div",[nH]],["Einsum",[iR,iD]],["Elu",[nT,n_]],["Equal",[nq]],["Erf",[nE]],["Exp",[nO]],["Expand",[iL]],["Floor",[nA]],["FusedConv",[ip,id]],["Gather",[iN,iB]],["GatherElements",[iU,iF]],["Gelu",[nI]],["Gemm",[iz,ij]],["GlobalAveragePool",[i7,i2]],["GlobalMaxPool",[or,ot]],["Greater",[nZ]],["GreaterOrEqual",[nQ]],["InstanceNormalization",[iG]],["LayerNormalization",[iV]],["LeakyRelu",[nP,n_]],["Less",[nJ]],["LessOrEqual",[n1]],["Log",[nj]],["MatMul",[iu]],["MaxPool",[i4,oe]],["Mul",[nY]],["MultiHeadAttention",[iY,iW]],["Neg",[nC]],["Not",[nk]],["Pad",[iX]],["Pow",[nX]],["Range",[on]],["Reciprocal",[n$]],["ReduceMin",[r9]],["ReduceMean",[r1]],["ReduceMax",[r5]],["ReduceSum",[r7]],["ReduceProd",[r2]],["ReduceL1",[r0]],["ReduceL2",[r3]],["ReduceLogSum",[r4]],["ReduceLogSumExp",[r6]],["ReduceSumSquare",[r8]],["Relu",[nR]],["Resize",[oo,oa]],["Sigmoid",[nD]],["Sin",[nM]],["Sinh",[nL]],["Slice",[oc,of]],["SkipLayerNormalization",[os,ou]],["Split",[oy,om]],["Sqrt",[nB]],["Softmax",[od,op]],["Sub",[nK]],["Tan",[nN]],["Tanh",[nF]],["ThresholdedRelu",[nU,n_]],["Tile",[ov]],["Transpose",[rC,r$]],["Where",[ob]]])}),ag=e5(()=>{ty(),o$(),oN(),ox=class{constructor(t){this.backend=t,this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,r){this.repo.set(t,r)}run(t,r,n){eV(t.programInfo.name);let i=this.backend.getComputePassEncoder();if(this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber),"capturing"===this.backend.sessionStatus){let i={kernelId:this.backend.currentKernelId,computePipeline:t.computePipeline,bindGroup:r,dispatchGroup:n};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(i)}i.setPipeline(t.computePipeline),i.setBindGroup(0,r),i.dispatchWorkgroups(...n),this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||"at-passes"===this.backend.queryType)&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),eW(t.programInfo.name)}dispose(){}build(t,r){eV(t.name);let n=this.backend.device,i=[];n.features.has("shader-f16")&&i.push("enable f16;");let o=rO(r),a=t.getShaderSource(o),s=`${i.join(`
5927`)}
5928${o.additionalImplementations}
5929${a}`,u=n.createShaderModule({code:s,label:t.name});t6("verbose",()=>`[WebGPU] ${t.name} shader code: ${s}`);let l=n.createComputePipeline({compute:{module:u,entryPoint:"main"},layout:"auto",label:t.name});return eW(t.name),{programInfo:t,computePipeline:l}}normalizeDispatchGroupSize(t){let r="number"==typeof t?t:t.x,n="number"==typeof t?1:t.y||1,i="number"==typeof t?1:t.z||1,o=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(r<=o&&n<=o&&i<=o)return[r,n,i];let a=r*n*i,s=Math.ceil(Math.sqrt(a));if(s>o){if((s=Math.ceil(Math.cbrt(a)))>o)throw Error("Total dispatch size exceeds WebGPU maximum.");return[s,s,s]}return[s,s,1]}}}),av=e5(()=>{ty(),ok(),o$(),oR(),oM(),am(),ag(),o_=class{constructor(){this.currentSessionId=null,this.currentKernelId=null,this.commandEncoder=null,this.computePassEncoder=null,this.maxDispatchNumber=16,this.pendingDispatchNumber=0,this.pendingKernels=[],this.pendingQueries=new Map,this.sessionStatus="default",this.capturedCommandList=new Map,this.capturedPendingKernels=new Map,this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(null===this.currentKernelId)throw Error("currentKernelCustomData(): currentKernelId is null. (should not happen)");let t=this.kernelCustomData.get(this.currentKernelId);return t||(t={},this.kernelCustomData.set(this.currentKernelId,t)),t}async initialize(t,r){this.env=t;let n=[],i={requiredLimits:{maxComputeWorkgroupStorageSize:r.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:r.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:r.limits.maxStorageBufferBindingSize,maxBufferSize:r.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:r.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:r.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:r.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:r.limits.maxComputeWorkgroupSizeZ},requiredFeatures:n};r.features.has("chromium-experimental-timestamp-query-inside-passes")?n.push("chromium-experimental-timestamp-query-inside-passes"):r.features.has("timestamp-query")&&n.push("timestamp-query"),r.features.has("shader-f16")&&n.push("shader-f16"),this.device=await r.requestDevice(i),this.gpuDataManager=rr(this),this.programManager=new ox(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,this.kernelUniformCache=new Map,this.kernelGpuBindGroupCache=new Map,t3(t.logLevel,!!t.debug),this.device.onuncapturederror=t=>
5929{t.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${t.error.message}`)},Object.defineProperty(this.env.webgpu,"device",{value:this.device}),this.setQueryType()}dispose(){"u">typeof this.querySet&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder(),this.setQueryType(),"none"!==this.queryType&&typeof this.querySet>"u"&&(this.querySet=this.device.createQuerySet({type:"timestamp",count:2*this.maxDispatchNumber}),this.queryResolveBuffer=this.device.createBuffer({size:2*this.maxDispatchNumber*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE}))),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let t=this.getCommandEncoder(),r={};"at-passes"===this.queryType&&(r.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:2*this.pendingDispatchNumber,endOfPassWriteIndex:2*this.pendingDispatchNumber+1}),this.computePassEncoder=t.beginComputePass(r)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){let t;this.commandEncoder&&(eV(),this.endComputePass(),"none"!==this.queryType&&(this.commandEncoder.resolveQuerySet(this.querySet,0,2*this.pendingDispatchNumber,this.queryResolveBuffer,0),t=this.device.createBuffer({size:2*this.pendingDispatchNumber*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(t,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,t,0,2*this.pendingDispatchNumber*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,"none"!==this.queryType&&t.mapAsync(GPUMapMode.READ).then(()=>{let r=new BigUint64Array(t.getMappedRange()),n=this.pendingQueries.get(t);for(let t=0;t<r.length/2;t++){let i=n[t],o=i.kernelId,a=this.kernels.get(o),s=a.kernelType,u=a.kernelName,l=i.programName,h=i.inputTensorViews,c=i.outputTensorViews,f=r[2*t],d=r[2*t+1];typeof this.queryTimeBase>"u"&&(this.queryTimeBase=f);let p=Number(f-this.queryTimeBase),y=Number(d-this.queryTimeBase);if(!Number.isSafeInteger(p)||!Number.isSafeInteger(y))throw RangeError("incorrect timestamp range");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:h.map(t=>({dims:t.dims,dataType:tH(t.dataType)})),outputsMetadata:c.map(t=>({dims:t.dims,dataType:tH(t.dataType)})),kernelId:o,kernelType:s,kernelName:u,programName:l,startTime:p,endTime:y});else{let t="";h.forEach((r,n)=>{t+=`input[${n}]: [${r.dims}] | ${tH(r.dataType)}, `});let r="";c.forEach((t,n)=>{r+=`output[${n}]: [${t.dims}] | ${tH(t.dataType)}, `}),console.log(`[profiling] kernel "${o}|${s}|${u}|${l}" ${t}${r}execution time: ${y-p} ns`)}ez("GPU",`${l}::${f}::${d}`)}t.unmap(),this.pendingQueries.delete(t)}),eW())}run(t,r,n,i,o){var a,s,u;let l;eV(t.name);let h=[];for(let t=0;t<r.length;++t){let n=this.gpuDataManager.get(r[t].data);
5929if(!n)throw Error(`no GPU data for input: ${r[t].data}`);h[t]=n}let{outputs:c,dispatchGroup:f,programUniforms:d}=t.getRunData(r),p=0===n.length?c.map((t,r)=>r):n;if(p.length!==c.length)throw Error(`Output size ${p.length} must be equal to ${c.length}.`);let y,m=[],g=[];for(let t=0;t<c.length;++t){if(!Number.isInteger(p[t])||p[t]<-3||p[t]>=c.length)throw Error(`Invalid output index: ${p[t]}`);if(-3===p[t])continue;let r=-1===p[t],n=-2===p[t],a=r||n?o(c[t].dataType,c[t].dims):i(p[t],c[t].dataType,c[t].dims),s=this.gpuDataManager.get(a.data);if(!s)throw Error(`no GPU data for output: ${a.data}`);if(r&&this.temporaryData.push(s),n){let t=this.kernelPersistentData.get(this.currentKernelId);t||(t=[],this.kernelPersistentData.set(this.currentKernelId,t)),t.push(s)}m.push(a),g.push(s)}if(d){let t=this.kernelUniformCache.get(this.currentKernelId);t&&(this.compareProgramUniforms(t.programUniforms,d)||(this.gpuDataManager.release(t.gpuData.id),t=void 0)),t||(t=this.createCachedUniform(d),this.kernelUniformCache.set(this.currentKernelId,t)),y=t.binding}let v=this.programManager.normalizeDispatchGroupSize(f),b=(a=t,s=r,u=1===v[1]&&1===v[2],l=a.name,a.shaderCache?.hint&&(l+="["+a.shaderCache.hint+"]"),l+=":"+u+`:${((t,r)=>{if(r.length!==t.length)throw Error(`inputDependencies length ${r.length} is not equal to inputTensors length ${t.length}.`);let n=[];for(let i=0;i<t.length;++i){let o=t[i].dataType;switch(r[i]){case"none":n.push("");break;case"type":n.push(`${o}`);break;case"rank":{let r=t[i].dims.length;n.push(`${o};${r}`);break}case"dims":{let r=t[i].dims.join(",");n.push(`${o};${r}`);break}default:throw Error(`unsupported input dependency: ${r[i]}`)}}return n.join("|")})(s,a.shaderCache?.inputDependencies??Array(s.length).fill("dims"))}`),w=this.programManager.getArtifact(b);if(w||(w=this.programManager.build(t,v),this.programManager.setArtifact(b,w),t6("info",()=>`[artifact] key: ${b}, programName: ${t.name}`)),t6("info",()=>`[ProgramManager] run "${t.name}" (key=${b}) with ${v[0]}x${v[1]}x${v[2]}`),"none"!==this.queryType||"capturing"===this.sessionStatus){let t={kernelId:this.currentKernelId,programName:w.programInfo.name,inputTensorViews:r,outputTensorViews:m};this.pendingKernels.push(t),this.capturedPendingKernels.get(this.currentSessionId).push(t)}let x,_=this.kernelGpuBindGroupCache.get(this.currentKernelId);for(let t of(_||(_=[],this.kernelGpuBindGroupCache.set(this.currentKernelId,_)),_))if(this.checkCachedBindGroup(t,w,h,g,y)){x=t;break}if(!x)for(x=this.createCachedBindGroup(w,h,g,y),_.push(x);_.length>20;)_.shift();return this.programManager.run(w,x.binding,v),eW(t.name),m}compareProgramUniforms(t,r){return t.length===r.length&&t.every((t,n)=>t.type===r[n].type)}createCachedUniform(t){let r=0,n=[];t.forEach(t=>{let i="number"==typeof t.data?[t.data]:t.data;if(0===i.length)return;let o=i.length<=2?4*i.length:16;r=Math.ceil(r/o)*o,n.push(r),r+=i.length>4?16*Math.ceil(i.length/4):4*i.length});let i=new ArrayBuffer(r=16*Math.ceil(r/16));t.forEach((t,r)=>{let o=n[r],a="number"==typeof t.data?[t.data]:t.data;"int32"===t.type?new Int32Array(i,o,a.length).set(a):"uint32"===t.type?new Uint32Array(i,o,a.length).set(a):new Float32Array(i,o,a.length).set(a)});let o=this.gpuDataManager.create(r,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);return this.device.queue.writeBuffer(o.buffer,0,i,0,r),{programUniforms:t,binding:{offset:0,size:r,buffer:o.buffer},gpuData:o}}checkCachedBindGroup(t,r,n,i,o){if(r!==t.artifact)return!1;let a=n.every((r,n)=>r.permamentID===t.inputPermamentIDs[n]),s=i.every((r,n)=>r.permamentID===t.outputPermamentIDs[n]),u=o===t.uniformBinding;return a&&s&&u}createCachedBindGroup(t,r,n,i){let o=[];for(let t of r)o.push({binding:o.length,resource:{buffer:t.buffer}});for(let t of n)o.push({binding:o.length,resource:{buffer:t.buffer}});return i&&o.push({binding:o.length,resource:i}),{binding:this.device.createBindGroup({layout:t.computePipeline.getBindGroupLayout(0),entries:o,label:t.programInfo.name}),artifact:t,inputPermamentIDs:r.map(t=>t.permamentID),outputPermamentIDs:n.map(t=>t.permamentID),uniformBinding:i}}upload(t,r){this.gpuDataManager.upload(t,r)}memcpy(t,r){this.gpuDataManager.memcpy(t,r)}async download(t,r){await this.gpuDataManager.download(t,r)}alloc(t){return this.gpuDataManager.create(t).id}free(t){return this.gpuDataManager.release(t)}createKernel(t,r,n,i){let o=ow.get(t);if(!o)throw Error(`kernel not implemented: ${t}`);let a={kernelType:t,kernelName:i,kernelEntry:o[0],attributes:[o[1],n]};this.kernels.set(r,a)}releaseKernel(t){let r=this.kernelPersistentData.get(t);
5929if(r){for(let t of r)this.gpuDataManager.release(t.id);this.kernelPersistentData.delete(t)}this.kernelCustomData.delete(t),this.kernelGpuBindGroupCache.delete(t);let n=this.kernelUniformCache.get(t);n&&(this.gpuDataManager.release(n.gpuData.id),this.kernelUniformCache.delete(t)),this.kernels.delete(t)}computeKernel(t,r,n){let i=this.kernels.get(t);if(!i)throw Error(`kernel not created: ${t}`);let o=i.kernelType,a=i.kernelName,s=i.kernelEntry,u=i.attributes;if(null!==this.currentKernelId)throw Error(`kernel "[${o}] ${a}" is not allowed to be called recursively`);this.currentKernelId=t,u[0]&&(u[1]=u[0](u[1]),u[0]=void 0),t6("info",()=>`[WebGPU] Start to run kernel "[${o}] ${a}"...`);let l=this.env.debug;this.temporaryData=[];try{return l&&this.device.pushErrorScope("validation"),s(r,u[1]),0}catch(t){return n.push(Promise.resolve(`[WebGPU] Kernel "[${o}] ${a}" failed. ${t}`)),1}finally{for(let t of(l&&n.push(this.device.popErrorScope().then(t=>t?`GPU validation error for kernel "[${o}] ${a}": ${t.message}`:null)),this.temporaryData))this.gpuDataManager.release(t.i
5929d);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(t,r,n,i){let o=this.sessionExternalDataMapping.get(t);o||(o=new Map,this.sessionExternalDataMapping.set(t,o));let a=o.get(r),s=this.gpuDataManager.registerExternalBuffer(n,i,a?.[1]);return o.set(r,[s,n]),s}unregisterBuffers(t){let r=this.sessionExternalDataMapping.get(t);r&&(r.forEach(t=>this.gpuDataManager.unregisterExternalBuffer(t[1])),this.sessionExternalDataMapping.delete(t))}getBuffer(t){let r=this.gpuDataManager.get(t);if(!r)throw Error(`no GPU data for buffer: ${t}`);return r.buffer}createDownloader(t,r,n){return async()=>{let i=await re(this,t,r);return t5(i.buffer,n)}}writeTimestamp(t){"inside-passes"===this.queryType&&this.computePassEncoder.writeTimestamp(this.querySet,t)}setQueryType(){this.queryType="none",("default"===this.env.webgpu.profiling?.mode||this.env.wasm.trace)&&(this.device.features.has("chromium-experimental-timestamp-query-inside-passes")?this.queryType="inside-passes":this.device.features.has("timestamp-query")&&(this.queryType="at-passes"))}captureBegin(){t6("info","captureBegin");let t=this.capturedCommandList.get(this.currentSessionId),r=this.capturedPendingKernels.get(this.currentSessionId);t||(t=[],this.capturedCommandList.set(this.currentSessionId,t),r=[],this.capturedPendingKernels.set(this.currentSessionId,r)),this.flush(),this.sessionStatus="capturing"}captureEnd(){t6("info","captureEnd"),this.flush(),this.sessionStatus="default"}replay(){t6("info","replay"),this.sessionStatus="replaying";let t=this.capturedCommandList.get(this.currentSessionId),r=this.capturedPendingKernels.get(this.currentSessionId),n=t.length;this.pendingKernels=[];for(let i=0;i<n;i++){let n=this.getComputePassEncoder(),o=t[i];this.writeTimestamp(2*this.pendingDispatchNumber),n.setPipeline(o.computePipeline),n.setBindGroup(0,o.bindGroup),n.dispatchWorkgroups(...o.dispatchGroup),this.writeTimestamp(2*this.pendingDispatchNumber+1),this.pendingDispatchNumber++,"none"!==this.queryType&&this.pendingKernels.push(r[i]),(this.pendingDispatchNumber>=this.maxDispatchNumber||"at-passes"===this.queryType)&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus="default"}onReleaseSession(t){this.unregisterBuffers(t),this.capturedCommandList.has(t)&&this.capturedCommandList.delete(t),this.capturedPendingKernels.has(t)&&this.capturedPendingKernels.delete(t),this.gpuDataManager.onReleaseSession(t)}onRunStart(t){this.currentSessionId=t,this.setQueryType()}}}),ab={};e2(ab,{init:()=>a_});var aw,ax,a_,aT,aS,aE,aO,aA,aI,aP,ak,aC,a$,aR,aD,aM,aL,aB,aN,aF,aU,aj,az,aG,aV,aW,aH,aq,aY,aX,aK,aZ,aJ,aQ,a1,a0,a3,a6,a5,a9,a2=e5(()=>{ok(),av(),o$(),oB(),aw=class t{constructor(t,r,n,i){this.module=t,this.dataType=r,this.data=n,this.dims=i}getFloat32Array(){if(1!==this.dataType)throw Error("Invalid data type");let t=rs.size(this.dims);return 0===t?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,t)}getBigInt64Array(){if(7!==this.dataType)throw Error("Invalid data type");let t=rs.size(this.dims);return 0===t?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,t)}getInt32Array(){if(6!==this.dataType)throw Error("Invalid data type");let t=rs.size(this.dims);return 0===t?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,t)}reshape(r){if(rs.size(r)!==rs.size(this.dims))throw Error("Invalid new shape");return new t(this.module,this.dataType,this.data,r)}},ax=class{constructor(t,r,n){this.module=t,this.backend=r,this.customDataOffset=0,this.customDataSize=0;let i=t.HEAPU32,o=n>>>2;this.opKernelContext=i[o++];let a=i[o++];this.outputCount=i[o++],this.customDataOffset=i[o++],this.customDataSize=i[o++];let s=[];for(let r=0;r<a;r++){let r=i[o++],n=i[o++],a=i[o++],u=[];for(let t=0;t<a;t++)u.push(i[o++]);s.push(new aw(t,r,n,u))}this.inputs=s}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(t,r){let n=r?.inputs?.map(t=>"number"==typeof t?this.inputs[t]:t)??this.inputs,i=r?.outputs??[];return this.backend.run(t,n,i,(t,r,n)=>new aw(this.module,r,this.output(t,n),n),(t,r)=>{let n=tq(t);if(!n)throw Error(`Unsupported data type: ${t}`);let i=n*rs.size(r);return new aw(this.module,t,this.backend.gpuDataManager.create(i).id,r)})}output(t,r){let n=this.module.stackSave();try{let n=this.module.stackAlloc(4*(1+r.length)),i=n>>2;
5929this.module.HEAPU32[i++]=r.length;for(let t=0;t<r.length;t++)this.module.HEAPU32[i++]=r[t];return this.module._JsepOutput(this.opKernelContext,t,n)}catch(n){throw Error(`Failed to generate kernel's output[${t}] with dims [${r}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${n}`)}finally{this.module.stackRestore(n)}}},a_=async(t,r,n)=>{let i=t.jsepInit;if(!i)throw Error("Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.");let o=new o_;await o.initialize(r,n),i(o,t=>o.alloc(t),t=>o.free(t),function(r,n,i){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(a)t6("verbose",()=>`[WebGPU] jsepCopyGpuToGpu: src=${r}, dst=${n}, size=${i}`),o.memcpy(r,n);else{t6("verbose",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${r}, gpuDataId=${n}, size=${i}`);let a=t.HEAPU8.subarray(r>>>0,(r>>>0)+i);o.upload(n,a)}},async(r,n,i)=>{t6("verbose",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${r}, dataOffset=${n}, size=${i}`),await o.download(r,()=>t.HEAPU8.subarray(n>>>0,(n>>>0)+i))},(r,n,i)=>o.createKernel(r,n,i,t.UTF8ToString(t._JsepGetNodeName(n))),t=>o.releaseKernel(t),(r,n,i,a)=>{t6("verbose",()=>`[WebGPU] jsepRun: sessionHandle=${i}, kernel=${r}, contextDataOffset=${n}`);let s=new ax(t,o,n);return o.computeKernel(r,s,a)},()=>o.captureBegin(),()=>o.captureEnd(),()=>o.replay())}}),a7=e5(()=>{oI(),oP(),ok(),oO(),oA(),oC(),aT=async t=>{var r,n;r=t.wasm.numThreads,n=tX(t.logLevel),0!==tF()._OrtInit(r,n)&&tz("Can't initialize onnxruntime.")},aS=async(t,r)=>{if("webgpu"===r){if(typeof navigator>"u"||!navigator.gpu)throw Error("WebGPU is not supported in current environment");let r=await navigator.gpu.requestAdapter();if(!r)throw Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.');if(!t.wasm.simd)throw Error("Not supported for WebGPU=ON and SIMD=OFF. Please set `env.wasm.simd` to true when using `webgpu` EP");let n=(a2(),e7(ab)).init;await n(tF(),t,r)}},aE=new Map,aO=t=>{let r=tF(),n=r._malloc(t.byteLength);if(0===n)throw Error(`Can't create a session. failed to allocate a buffer of size ${t.byteLength}.`);return r.HEAPU8.set(t,n),[n,t.byteLength]},aA=async(t,r)=>{let n,i,o=tF();Array.isArray(t)?[n,i]=t:t.buffer===o.HEAPU8.buffer?[n,i]=[t.byteOffset,t.byteLength]:[n,i]=aO(t);let a=0,s=0,u=0,l=[],h=[],c=[];try{if([s,l]=tV(r),r?.externalData&&o.mountExternalData){let t=[];for(let n of r.externalData){let r="string"==typeof n?n:n.path;t.push(tJ("string"==typeof n?n:n.data).then(t=>{o.mountExternalData(r,t)}))}await Promise.all(t)}a=o._OrtCreateSession(n,i,s),0===a&&tz("Can't create a session.");let[t,f]=(t=>{let r=tF(),n=r.stackSave();try{let n=r.stackAlloc(8);return 0!==r._OrtGetInputOutputCount(t,n,n+4)&&tz("Can't get session input/output count."),[r.HEAP32[n/4],r.HEAP32[n/4+1]]}finally{r.stackRestore(n)}})(a),d=!!r?.enableGraphCapture,p=[],y=[],m=[];for(let r=0;r<t;r++){let t=o._OrtGetInputName(a,r);0===t&&tz("Can't get an input name."),h.push(t),p.push(o.UTF8ToString(t))}for(let t=0;t<f;t++){let n=o._OrtGetOutputName(a,t);0===n&&tz("Can't get an output name."),c.push(n);let i=o.UTF8ToString(n);y.push(i);{if(d&&void 0===r?.preferredOutputLocation){m.push("gpu-buffer");continue}let t="string"==typeof r?.preferredOutputLocation?r.preferredOutputLocation:r?.preferredOutputLocation?.[i]??"cpu";if("cpu"!==t&&"cpu-pinned"!==t&&"gpu-buffer"!==t)throw Error(`Not supported preferred output location: ${t}.`);if(d&&"gpu-buffer"!==t)throw Error(`Not supported preferred output location: ${t}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);m.push(t)}}let g=null;return m.some(t=>"gpu-buffer"===t)&&(u=o._OrtCreateBinding(a),0===u&&tz("Can't create IO binding."),g={handle:u,outputPreferredLocations:m,outputPreferredLocationsEncoded:m.map(t=>tZ(t))}),aE.set(a,[a,h,c,g,d,!1]),[a,p,y]}catch(t){throw h.forEach(t=>o._OrtFree(t)),c.forEach(t=>o._OrtFree(t)),0!==u&&o._OrtReleaseBinding(u),0!==a&&o._OrtReleaseSession(a),t}finally{o._free(n),0!==s&&o._OrtReleaseSessionOptions(s),l.forEach(t=>o._free(t)),o.unmountExternalData?.()}},aI=t=>{let r=tF(),n=aE.get(t);if(!n)throw Error(`cannot release session. invalid session id: ${t}`);let[i,o,a,s,u]=n;s&&(u&&r._OrtClearBoundOutputs(s.handle),r._OrtReleaseBinding(s.handle)),r.jsepOnReleaseSession?.(t),o.forEach(t=>r._OrtFree(t)),a.forEach(t=>r._OrtFree(t)),r._OrtReleaseSession(i),aE.delete(t)},aP=(t,r,n)=>{if(null!==t&&t[0]===r){let r=t[2];if(r.length===n)return r}return new(tY(r))(n)},ak=function(t,r,n,i,o){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(!t)return void r.push(0);let s,u,l=tF(),h=t[0],c=t[1],f=t[3];if("string"===h&&"gpu-buffer"===f)throw Error("String tensor is not supported on GPU.");if(a&&"gpu-buffer"!==f)throw Error(`External buffer must be provided for input/output index ${o} when enableGraphCapture is true.`);if("gpu-buffer"===f){let r=t[2].gpuBuffer,n=tq(tW(h));u=c.reduce((t,r)=>t*r,1)*n,s=l.jsepRegisterBuffer(i,o,r,u)}else{let r=t[2];if(Array.isArray(r)){u=4*r.length,s=l._malloc(u),n.push(s);let t=s/4;for(let i=0;i<r.length;i++){if("string"!=typeof r[i])throw TypeError(`tensor data at index ${i} is not a string`);l.HEAPU32[t++]=tU(r[i],n)}}else u=r.byteLength,s=l._malloc(u),n.push(s),l.HEAPU8.set(new Uint8Array(r.buffer,r.byteOffset,u),s)}let d=l.stackSave(),p=l.stackAlloc(4*c.length);try{let t=p/4;
5929c.forEach(r=>l.HEAP32[t++]=r);let n=l._OrtCreateTensor(tW(h),s,u,p,c.length,tZ(f));0===n&&tz(`Can't create tensor for input/output. session=${i}, index=${o}.`),r.push(n)}finally{l.stackRestore(d)}},aC=t=>{let r=new TextEncoder().encode(t),n=tF(),i=n._malloc(r.byteLength);n.HEAPU8.set(r,i);let o=n._OrtConfigure(i,r.byteLength);if(0===o)throw Error("Can't get an configure key");let a=n.UTF8ToString(o);return n._OrtFree(o),a},a$=t=>{let r=new TextEncoder().encode(t),n=tF(),i=n._malloc(r.byteLength);n.HEAPU8.set(r,i);let o=n._OrtAuth(i,r.byteLength);if(0===o)throw Error("Can't get an auth result");let a=n.UTF8ToString(o);return n._OrtFree(o),a},aR=async(t,r,n,i,o,a)=>{let s=tF(),u=aE.get(t);if(!u)throw Error(`cannot run inference. invalid session id: ${t}`);let l=u[0],h=u[1],c=u[2],f=u[3],d=u[4],p=u[5],y=r.length,m=i.length,g=0,v=[],b=[],w=[],x=[],_=s.stackSave(),T=s.stackAlloc(4*y),S=s.stackAlloc(4*y),E=s.stackAlloc(4*m),O=s.stackAlloc(4*m);try{[g,v]=tG(a);for(let i=0;i<y;i++)ak(n[i],b,x,t,r[i],d);for(let r=0;r<m;r++){let n=o[r];ak("gpu-buffer"===(n?.[3]??"")?n:null,w,x,t,y+i[r],d)}let u,_=T/4,A=S/4,I=E/4,P=O/4;for(let t=0;t<y;t++)s.HEAPU32[_++]=b[t],s.HEAPU32[A++]=h[r[t]];for(let t=0;t<m;t++)s.HEAPU32[I++]=w[t],s.HEAPU32[P++]=c[i[t]];if(f&&!p){let{handle:n,outputPreferredLocations:a,outputPreferredLocationsEncoded:u}=f;if(h.length!==y)throw Error(`input count from feeds (${y}
5929) is expected to be always equal to model's input count (${h.length}).`);for(let i=0;i<y;i++){let o=r[i];0!==await s._OrtBindInput(n,h[o],b[i])&&tz(`Can't bind input[${i}] for session=${t}.`)}for(let r=0;r<m;r++){let l=i[r];o[r]?.[3]?0!==s._OrtBindOutput(n,c[l],w[r],0)&&tz(`Can't bind pre-allocated output[${r}] for session=${t}.`):0!==s._OrtBindOutput(n,c[l],0,u[l])&&tz(`Can't bind output[${r}] to ${a[r]} for session=${t}.`)}aE.set(t,[l,h,c,f,d,!0])}s.jsepOnRunStart?.(l),u=f?await s._OrtRunWithBinding(l,f.handle,m,E,g):await s._OrtRun(l,S,T,y,O,m,E,g),0!==u&&tz("failed to call OrtRun().");let k=[];for(let t=0;t<m;t++){let r=s.HEAPU32[E/4+t];if(r===w[t]){k.push(o[t]);continue}let n,a=s.stackSave(),u=s.stackAlloc(16),l=!1,h=0;try{0!==s._OrtGetTensorData(r,u,u+4,u+8,u+12)&&tz(`Can't access output tensor data on index ${t}.`);let a=u/4,c=s.HEAPU32[a++];h=s.HEAPU32[a++];let d=s.HEAPU32[a++],p=s.HEAPU32[a++],y=[];for(let t=0;t<p;t++)y.push(s.HEAPU32[d/4+t]);s._OrtFree(d);let m=y.reduce((t,r)=>t*r,1);n=tH(c);let g=f?.outputPreferredLocations[i[t]];if("string"===n){if("gpu-buffer"===g)throw Error("String tensor is not supported on GPU.");let t=[],r=h/4;for(let n=0;n<m;n++){let i=s.HEAPU32[r++],o=n===m-1?void 0:s.HEAPU32[r]-i;t.push(s.UTF8ToString(i,o))}k.push([n,y,t,"cpu"])}else if("gpu-buffer"===g&&m>0){let t=s.jsepGetBuffer(h),i=tq(c);if(void 0===i||!tK(n))throw Error(`Unsupported data type: ${n}`);l=!0,k.push([n,y,{gpuBuffer:t,download:s.jsepCreateDownloader(t,m*i,n),dispose:()=>{s._OrtReleaseTensor(r)}},"gpu-buffer"])}else{let r=aP(o[t],n,m);new Uint8Array(r.buffer,r.byteOffset,r.byteLength).set(s.HEAPU8.subarray(h,h+r.byteLength)),k.push([n,y,r,"cpu"])}}finally{s.stackRestore(a),"string"===n&&h&&s._free(h),l||s._OrtReleaseTensor(r)}}return f&&!d&&(s._OrtClearBoundOutputs(f.handle),aE.set(t,[l,h,c,f,d,!1])),k}finally{s.stackRestore(_),b.forEach(t=>s._OrtReleaseTensor(t)),w.forEach(t=>s._OrtReleaseTensor(t)),x.forEach(t=>s._free(t)),0!==g&&s._OrtReleaseRunOptions(g),v.forEach(t=>s._free(t))}},aD=t=>{let r=tF(),n=aE.get(t);if(!n)throw Error("invalid session id");let i=n[0],o=r._OrtEndProfiling(i);0===o&&tz("Can't get an profile file name."),r._OrtFree(o)},aM=t=>{let r=[];for(let n of t){let t=n[2];!Array.isArray(t)&&"buffer"in t&&r.push(t.buffer)}return r}}),a8=e9((t,r)=>{r.exports='/*!\n * ONNX Runtime Web v1.17.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n"use strict";(()=>{var In=Object.defineProperty;var rd=Object.getOwnPropertyDescriptor;var nd=Object.getOwnPropertyNames;var od=Object.prototype.hasOwnProperty;var q=(e,t)=>()=>(e&&(t=e(e=0)),t);var Sr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),xr=(e,t)=>{for(var r in t)In(e,r,{get:t[r],enumerable:!0})},ad=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of nd(t))!od.call(e,n)&&n!==r&&In(e,n,{get:()=>t[n],enumerable:!(o=rd(t,n))||o.enumerable});return e};var Ot=e=>ad(In({},"__esModule",{value:!0}),e);var An={};xr(An,{createReadStream:()=>Mo,readFile:()=>id,readFileSync:()=>sd});var id,sd,Mo,Tn=q(()=>{id=void 0,sd=void 0,Mo=void 0});var En={};xr(En,{join:()=>ud});var ud,On=q(()=>{ud=void 0});var Pn={};xr(Pn,{crypto:()=>dd});var dd,Bn=q(()=>{dd=void 0});var Vo=Sr((zo,kn)=>{"use strict";var Uo=(()=>{var e=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(e=e||__filename),function(t={}){var r=t,o,n;r.ready=new Promise((d,m)=>{o=d,n=m}),r.mountExternalData=(d,m)=>{(r.Ka||(r.Ka=new Map)).set(d,m)},r.unmountExternalData=()=>{delete r.Ka},r.jsepInit=(d,m,b,S,P,N,L,X,pe,me,fe)=>{r.jb=d,r.Wa=m,r.$a=b,r.Qa=S,r.Za=P,r.Ba=N,r.ab=L,r.cb=X,r.Xa=pe,r.Ya=me,r.bb=fe,m=(ue,we,B)=>(...ae)=>{let ge=Je,Ze=we?.();ae=ue(...ae);let It=we?.();return Ze!==It&&(ue=It,B(Ze),we=B=null),Je!=ge?Dr():ae},b=ue=>async(...we)=>{try{if(r.Ja)throw Error("Session already started");let B=r.Ja={eb:we[0],errors:[]},ae=await ue(...we);if(r.Ja!==B)throw Error("Session mismatch");d.flush();let ge=B.errors;if(0<ge.length){let Ze=await Promise.all(ge);if(Ze=Ze.filter(It=>It),0<Ze.length)throw Error(Ze.join(`\n`))}return ae}finally{r.Ja=null}},r._OrtRun=b(m(r._OrtRun,()=>r._OrtRun,ue=>r._OrtRun=ue)),r._OrtRunWithBinding=b(m(r._OrtRunWithBinding,()=>r._OrtRunWithBinding,ue=>r._OrtRunWithBinding=ue)),r._OrtBindInput=m(r._OrtBindInput,()=>r._OrtBindInput,ue=>r._OrtBindInput=ue),r.jsepRegisterBuffer=(ue,we,B,ae)=>d.registerBuffer(ue,we,B,ae),r.jsepGetBuffer=ue=>d.getBuffer(ue),r.jsepCreateDownloader=(ue,we,B)=>d.createDownloader(ue,we,B),r.jsepOnReleaseSession=ue=>{d.onReleaseSession(ue)},r.jsepOnRunStart=ue=>d.onRunStart(ue)};var s=Object.assign({},r),u="./this.program",l=(d,m)=>{throw m},a=typeof window=="object",p=typeof importScripts=="function",h=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",g="",w,v,y;if(h){var _=(Tn(),Ot(An)),I=(On(),Ot(En));g=p?I.dirname(g)+"/":__dirname+"/",w=(d,m)=>(d=Ae(d)?new URL(d):I.normalize(d),_.readFileSync(d,m?void 0:"utf8")),y=d=>(d=w(d,!0),d.buffer||(d=new Uint8Array(d)),d),v=(d,m,b,S=!0)=>{d=Ae(d)?new URL(d):I.normalize(d),_.readFile(d,S?void 0:"utf8",(P,N)=>{P?b(P):m(S?N.buffer:N)})},!r.thisProgram&&1<process.argv.length&&(u=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),l=(d,m)=>{throw process.exitCode=d,m},r.inspect=()=>"[Emscripten Module object]"}else(a||p)&&(p?g=self.location.href:typeof document<"u"&&document.currentScript&&(g=document.currentScript.src),e&&(g=e),g.indexOf("blob:")!==0?g=g.substr(0,g.replace(/[?#].*/,"").lastIndexOf("/")+1):g="",w=d=>{var m=new XMLHttpRequest;return m.open("GET",d,!1),m.send(null),m.responseText},p&&(y=d=>{var m=new XMLHttpRequest;return m.open("GET",d,!1),m.responseType="arraybuffer",m.send(null),new Uint8Array(m.response)}),v=(d,m,b)=>{var S=new XMLHttpRequest;S.open("GET",d,!0),S.responseType="arraybuffer",S.onload=()=>{S.status==200||S.status==0&&S.response?m(S.response):b()},S.onerror=b,S.send(null)});var x=console.log.bind(console),A=console.error.bind(console);Object.assign(r,s),s=null,typeof WebAssembly!="object"&&ie("no native wasm support detected");var O,C=!1,M,D,G,E,W,te,Y;function Z(){var d=O.buffer;r.HEAP8=D=new Int8Array(d),r.HEAP16=new Int16Array(d),r.HEAPU8=G=new Uint8Array(d),r.HEAPU16=new Uint16Array(d),r.HEAP32=E=new Int32Array(d),r.HEAPU32
5929=W=new Uint32Array(d),r.HEAPF32=te=new Float32Array(d),r.HEAPF64=Y=new Float64Array(d)}var ee=[],Te=[],De=[],re=0,Ie=null,Oe=null;function ie(d){throw d="Aborted("+d+")",A(d),C=!0,M=1,d=new WebAssembly.RuntimeError(d+". Build with -sASSERTIONS for more info."),n(d),d}var Se=d=>d.startsWith("data:application/octet-stream;base64,"),Ae=d=>d.startsWith("file://"),Pe;if(Pe="ort-wasm-simd.wasm",!Se(Pe)){var Fe=Pe;Pe=r.locateFile?r.locateFile(Fe,g):g+Fe}function H(d){if(y)return y(d);throw"both async and sync fetching of the wasm failed"}function J(d){if(a||p){if(typeof fetch=="function"&&!Ae(d))return fetch(d,{credentials:"same-origin"}).then(m=>{if(!m.ok)throw"failed to load wasm binary file at \'"+d+"\'";return m.arrayBuffer()}).catch(()=>H(d));if(v)return new Promise((m,b)=>{v(d,S=>m(new Uint8Array(S)),b)})}return Promise.resolve().then(()=>H(d))}function Ce(d,m,b){return J(d).then(S=>WebAssembly.instantiate(S,m)).then(S=>S).then(b,S=>{A(`failed to asynchronously prepare wasm: ${S}`),ie(S)})}function $t(d,m){var b=Pe;return typeof WebAssembly.instantiateStreaming!="function"||Se(b)||Ae(b)||h||typeof fetch!="function"?Ce(b,d,m):fetch(b,{credentials:"same-origin"}).then(S=>WebAssembly.instantiateStreaming(S,d).then(m,function(P){return A(`wasm streaming compile failed: ${P}`),A("falling back to ArrayBuffer instantiation"),Ce(b,d,m)}))}var Me,tt={898320:(d,m,b,S)=>{if(typeof r>"u"||!r.Ka)return 1;if(d=Ke(d>>>0),d.startsWith("./")&&(d=d.substring(2)),d=r.Ka.get(d),!d)return 2;if(m>>>=0,b>>>=0,m+b>d.byteLength)return 3;try{return G.set(d.subarray(m,m+b),S>>>0>>>0),0}catch{return 4}},898821:()=>{r.Xa()},898852:()=>{r.Ya()},898881:()=>{r.bb()},898906:d=>r.Wa(d),898939:d=>r.$a(d),898971:(d,m,b)=>{r.Qa(d,m,b,!0)},899010:(d,m,b)=>{r.Qa(d,m,b)},899043:d=>{r.Ba("Abs",d,void 0)},899094:d=>{r.Ba("Neg",d,void 0)},899145:d=>{r.Ba("Floor",d,void 0)},899198:d=>{r.Ba("Ceil",d,void 0)},899250:d=>{r.Ba("Reciprocal",d,void 0)},899308:d=>{r.Ba("Sqrt",d,void 0)},899360:d=>{r.Ba("Exp",d,void 0)},899411:d=>{r.Ba("Erf",d,void 0)},899462:d=>{r.Ba("Sigmoid",d,void 0)},899517:d=>{r.Ba("Log",d,void 0)},899568:d=>{r.Ba("Sin",d,void 0)},899619:d=>{r.Ba("Cos",d,void 0)},899670:d=>{r.Ba("Tan",d,void 0)},899721:d=>{r.Ba("Asin",d,void 0)},899773:d=>{r.Ba("Acos",d,void 0)},899825:d=>{r.Ba("Atan",d,void 0)},899877:d=>{r.Ba("Sinh",d,void 0)},899929:d=>{r.Ba("Cosh",d,void 0)},899981:d=>{r.Ba("Asinh",d,void 0)},900034:d=>{r.Ba("Acosh",d,void 0)},900087:d=>{r.Ba("Atanh",d,void 0)},900140:d=>{r.Ba("Tanh",d,void 0)},900192:d=>{r.Ba("Not",d,void 0)},900243:(d,m,b)=>{r.Ba("Clip",d,{min:m,max:b})},900312:d=>{r.Ba("Clip",d,void 0)},900364:(d,m)=>{r.Ba("Elu",d,{alpha:m})},900422:d=>{r.Ba("Relu",d,void 0)},900474:(d,m)=>{r.Ba("LeakyRelu",d,{alpha:m})},900538:(d,m)=>{r.Ba("ThresholdedRelu",d,{alpha:m})},900608:(d,m)=>{r.Ba("Cast",d,{to:m})},900666:d=>{r.Ba("Add",d,void 0)},900717:d=>{r.Ba("Sub",d,void 0)},900768:d=>{r.Ba("Mul",d,void 0)},900819:d=>{r.Ba("Div",d,void 0)},900870:d=>{r.Ba("Pow",d,void 0)},900921:d=>{r.Ba("Equal",d,void 0)},900974:d=>{r.Ba("Greater",d,void 0)},901029:d=>{r.Ba("GreaterOrEqual",d,void 0)},901091:d=>{r.Ba("Less",d,void 0)},901143:d=>{r.Ba("LessOrEqual",d,void 0)},901202:(d,m,b,S,P)=>{r.Ba("ReduceMean",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},901361:(d,m,b,S,P)=>{r.Ba("ReduceMax",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},901519:(d,m,b,S,P)=>{r.Ba("ReduceMin",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},901677:(d,m,b,S,P)=>{r.Ba("ReduceProd",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},901836:(d,m,b,S,P)=>{r.Ba("ReduceSum",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},901994:(d,m,b,S,P)=>{r.Ba("ReduceL1",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},902151:(d,m,b,S,P)=>{r.Ba("ReduceL2",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},902308:(d,m,b,S,P)=>{r.Ba("ReduceLogSum",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},902469:(d,m,b,S,P)=>{r.Ba("ReduceSumSquare",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},902633:(d,m,b,S,P)=>{r.Ba("ReduceLogSumExp",d,{keepDims:!!m,noopWithEmptyAxes:!!b,axes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},902797:d=>{r.Ba("Where",d,void 0)},902850:(d,m,b)=>{r.Ba("Transpose",d,{perm:m?Array.from(E.subarray(m>>>0,b>>>0)):[]})},902958:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae)=>{r.Ba("ConvTranspose",d,{format:pe?"NHWC":"NCHW",autoPad:m,dilations:[b],group:S,kernel_shape:[P],pads:[N,L],strides:[X],wIsConst:()=>!!D[me>>>0],outputPadding:fe?Array.from(E.subarray(fe>>>0,ue>>>0)):[],outputShape:we?Array.from(E.subarray(we>>>0,B>>>0)):[],activation:Ke(ae)})},903360:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B)=>{r.Ba("ConvTranspose",d,{format:X?"NHWC":"NCHW",autoPad:m,dilations:Array.from(E.subarray(b>>>0,(b>>>0)+2>>>0)),group:S,kernelShape:Array.from(E.subarray(P>>>0,(P>>>0)+2>>>0)),pads:Array.from(E.subarray(N>>>
59290,(N>>>0)+4>>>0)),strides:Array.from(E.subarray(L>>>0,(L>>>0)+2>>>0)),wIsConst:()=>!!D[pe>>>0],outputPadding:me?Array.from(E.subarray(me>>>0,fe>>>0)):[],outputShape:ue?Array.from(E.subarray(ue>>>0,we>>>0)):[],activation:Ke(B)})},903925:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae)=>{r.Ba("ConvTranspose",d,{format:pe?"NHWC":"NCHW",autoPad:m,dilations:[b],group:S,kernel_shape:[P],pads:[N,L],strides:[X],wIsConst:()=>!!D[me>>>0],outputPadding:fe?Array.from(E.subarray(fe>>>0,ue>>>0)):[],outputShape:we?Array.from(E.subarray(we>>>0,B>>>0)):[],activation:Ke(ae)})},904327:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B)=>{r.Ba("ConvTranspose",d,{format:X?"NHWC":"NCHW",autoPad:m,dilations:Array.from(E.subarray(b>>>0,(b>>>0)+2>>>0)),group:S,kernelShape:Array.from(E.subarray(P>>>0,(P>>>0)+2>>>0)),pads:Array.from(E.subarray(N>>>0,(N>>>0)+4>>>0)),strides:Array.from(E.subarray(L>>>0,(L>>>0)+2>>>0)),wIsConst:()=>!!D[pe>>>0],outputPadding:me?Array.from(E.subarray(me>>>0,fe>>>0)):[],outputShape:ue?Array.from(E.subarray(ue>>>0,we>>>0)):[],activation:Ke(B)})},904892:(d,m)=>{r.Ba("GlobalAveragePool",d,{format:m?"NHWC":"NCHW"})},904983:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae,ge)=>{r.Ba("AveragePool",d,{format:ge?"NHWC":"NCHW",auto_pad:m,ceil_mode:b,count_include_pad:S,storage_order:P,dilations:[N,L],kernel_shape:[X,pe],pads:[me,fe,ue,we],strides:[B,ae]})},905267:(d,m)=>{r.Ba("GlobalAveragePool",d,{format:m?"NHWC":"NCHW"})},905358:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae,ge)=>{r.Ba("AveragePool",d,{format:ge?"NHWC":"NCHW",auto_pad:m,ceil_mode:b,count_include_pad:S,storage_order:P,dilations:[N,L],kernel_shape:[X,pe],pads:[me,fe,ue,we],strides:[B,ae]})},905642:(d,m)=>{r.Ba("GlobalMaxPool",d,{format:m?"NHWC":"NCHW"})},905729:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae,ge)=>{r.Ba("MaxPool",d,{format:ge?"NHWC":"NCHW",auto_pad:m,ceil_mode:b,count_include_pad:S,storage_order:P,dilations:[N,L],kernel_shape:[X,pe],pads:[me,fe,ue,we],strides:[B,ae]})},906009:(d,m)=>{r.Ba("GlobalMaxPool",d,{format:m?"NHWC":"NCHW"})},906096:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae,ge)=>{r.Ba("MaxPool",d,{format:ge?"NHWC":"NCHW",auto_pad:m,ceil_mode:b,count_include_pad:S,storage_order:P,dilations:[N,L],kernel_shape:[X,pe],pads:[me,fe,ue,we],strides:[B,ae]})},906376:(d,m,b,S,P)=>{r.Ba("Gemm",d,{alpha:m,beta:b,transA:S,transB:P})},906480:d=>{r.Ba("MatMul",d,void 0)},906534:(d,m,b,S)=>{r.Ba("ArgMax",d,{keepDims:!!m,selectLastIndex:!!b,axis:S})},906642:(d,m,b,S)=>{r.Ba("ArgMin",d,{keepDims:!!m,selectLastIndex:!!b,axis:S})},906750:(d,m)=>{r.Ba("Softmax",d,{axis:m})},906813:(d,m)=>{r.Ba("Concat",d,{axis:m})},906873:(d,m,b,S,P)=>{r.Ba("Split",d,{axis:m,numOutputs:b,splitSizes:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},907013:d=>{r.Ba("Expand",d,void 0)},907067:(d,m)=>{r.Ba("Gather",d,{axis:Number(m)}
5929)},907138:(d,m)=>{r.Ba("GatherElements",d,{axis:Number(m)})},907217:(d,m,b,S,P,N,L,X,pe,me,fe)=>{r.Ba("Resize",d,{antialias:m,axes:b?Array.from(E.subarray(b>>>0,S>>>0)):[],coordinateTransformMode:Ke(P),cubicCoeffA:N,excludeOutside:L,extrapolationValue:X,keepAspectRatioPolicy:Ke(pe),mode:Ke(me),nearestMode:Ke(fe)})},907563:(d,m,b,S,P,N,L)=>{r.Ba("Slice",d,{starts:m?Array.from(E.subarray(m>>>0,b>>>0)):[],ends:S?Array.from(E.subarray(S>>>0,P>>>0)):[],axes:N?Array.from(E.subarray(N>>>0,L>>>0)):[]})},907779:d=>{r.Ba("Tile",d,void 0)},907831:(d,m,b)=>{r.Ba("LayerNormalization",d,{axis:Number(m),epsilon:Number(b)})},907938:(d,m,b)=>{r.Ba("InstanceNormalization",d,{epsilon:m,format:b?"NHWC":"NCHW"})},908052:(d,m,b)=>{r.Ba("InstanceNormalization",d,{epsilon:m,format:b?"NHWC":"NCHW"})},908166:d=>{r.Ba("Range",d,void 0)},908219:(d,m)=>{r.Ba("Einsum",d,{equation:Ke(m)})},908300:(d,m,b,S,P)=>{r.Ba("Pad",d,{mode:m,value:b,pads:S?Array.from(E.subarray(S>>>0,P>>>0)):[]})},908427:(d,m,b,S,P,N)=>{r.Ba("BatchNormalization",d,{epsilon:m,momentum:b,spatial:!!P,trainingMode:!!S,format:N?"NHWC":"NCHW"})},908596:(d,m,b,S,P,N)=>{r.Ba("BatchNormalization",d,{epsilon:m,momentum:b,spatial:!!P,trainingMode:!!S,format:N?"NHWC":"NCHW"})},908765:(d,m,b)=>{r.Ba("CumSum",d,{exclusive:Number(m),reverse:Number(b)})},908862:(d,m,b,S,P,N,L,X,pe)=>{r.Ba("Attention",d,{numHeads:m,isUnidirectional:b,maskFilterValue:S,scale:P,doRotary:N,qkvHiddenSizes:L?Array.from(E.subarray(Number(X)>>>0,Number(X)+L>>>0)):[],pastPresentShareBuffer:!!pe})},909134:d=>{r.Ba("Gelu",d,void 0)},909186:(d,m,b,S,P,N)=>{r.Ba("MultiHeadAttention",d,{numHeads:m,isUnidirectional:b,maskFilterValue:S,scale:P,doRotary:N})},909345:d=>{r.Ba("BiasAdd",d,void 0)},909400:d=>{r.Ba("BiasSplitGelu",d,void 0)},909461:(d,m)=>{r.Ba("SkipLayerNormalization",d,{epsilon:m})},909542:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we)=>{r.Ba("Conv",d,{format:pe?"NHWC":"NCHW",auto_pad:m,dilations:[b],group:S,kernel_shape:[P],pads:N?Array.from(E.subarray(N>>>0,L>>>0)):[],strides:[X],w_is_const:()=>!!D[me>>>0],activation:Ke(fe),activation_params:ue?Array.from(te.subarray(ue>>>0,we>>>0)):[]})},909912:(d,m,b,S,P,N,L,X,pe,me,fe,ue,we,B,ae,ge)=>{r.Ba("Conv",d,{format:ue?"NHWC":"NCHW",auto_pad:m,dilations:[b,S],group:P,kernel_shape:[N,L],pads:X?Array.from(E.subarray(X>>>0,pe>>>0)):[],strides:[me,fe],w_is_const:()=>!!D[we>>>0],activation:Ke(B),activation_params:ae?Array.from(te.subarray(ae>>>0,ge>>>0)):[]})},910303:d=>{r.ab(d)},910337:(d,m)=>r.cb(d,m,r.Ja.eb,r.Ja.errors)};function at(d){this.name="ExitStatus",this.message=`Program terminated with exit(${d})`,this.status=d}function Ne(d){this.Na=d-24,this.Ua=function(m){W[this.Na+4>>>2>>>0]=m},this.Ta=function(m){W[this.Na+8>>>2>>>0]=m},this.Ra=function(m,b){this.Sa(),this.Ua(m),this.Ta(b)},this.Sa=function(){W[this.Na+16>>>2>>>0]=0}}var je=0,At=0,lt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,ct=(d,m,b)=>{m>>>=0;var S=m+b;for(b=m;d[b]&&!(b>=S);)++b;if(16<b-m&&d.buffer&&lt)return lt.decode(d.subarray(m,b));for(S="";m<b;){var P=d[m++];if(P&128){var N=d[m++]&63;if((P&224)==192)S+=String.fromCharCode((P&31)<<6|N);else{var L=d[m++]&63;P=(P&240)==224?(P&15)<<12|N<<6|L:(P&7)<<18|N<<12|L<<6|d[m++]&63,65536>P?S+=String.fromCharCode(P):(P-=65536,S+=String.fromCharCode(55296|P>>10,56320|P&1023))}}else S+=String.fromCharCode(P)}return S},Ke=(d,m)=>(d>>>=0)?ct(G,d,m):"",ar=d=>{for(var m=0,b=0;b<d.length;++b){var S=d.charCodeAt(b);127>=S?m++:2047>=S?m+=2:55296<=S&&57343>=S?(m+=4,++b):m+=3}return m},Ht=(d,m,b,S)=>{if(b>>>=0,!(0<S))return 0;var P=b;S=b+S-1;for(var N=0;N<d.length;++N){var L=d.charCodeAt(N);if(55296<=L&&57343>=L){var X=d.charCodeAt(++N);L=65536+((L&1023)<<10)|X&1023}if(127>=L){if(b>=S)break;m[b++>>>0]=L}else{if(2047>=L){if(b+1>=S)break;m[b++>>>0]=192|L>>6}else{if(65535>=L){if(b+2>=S)break;m[b++>>>0]=224|L>>12}else{if(b+3>=S)break;m[b++>>>0]=240|L>>18,m[b++>>>0]=128|L>>12&63}m[b++>>>0]=128|L>>6&63}m[b++>>>0]=128|L&63}}return m[b>>>0]=0,b-P},Tt=d=>d%4===0&&(d%100!==0||d%400===0),St=[0,31,60,91,121,152,182,213,244,274,305,335],Lt=[0,31,59,90,120,151,181,212,243,273,304,334],Ft=d=>{var m=ar(d)+1,b=Zt(m);return b&&Ht(d,G,b,m),b},kt=[],ir=(d,m)=>{kt.length=0;for(var b;b=G[d++>>>0];){var S=b!=105;S&=b!=112,m+=S&&m%8?4:0,kt.push(b==112?W[m>>>2>>>0]:b==105?E[m>>>2>>>0]:Y[m>>>3>>>
59290]),m+=S?8:4}return kt},it={},sr=()=>{if(!Kt){var d={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"},m;for(m in it)it[m]===void 0?delete d[m]:d[m]=it[m];var b=[];for(m in d)b.push(`${m}=${d[m]}`);Kt=b}return Kt},Kt,Ye=[null,[],[]],bn=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return b=>crypto.getRandomValues(b);if(h)try{var d=(Bn(),Ot(Pn));if(d.randomFillSync)return b=>d.randomFillSync(b);var m=d.randomBytes;return b=>(b.set(m(b.byteLength)),b)}catch{}ie("initRandomDevice")},Be=d=>(Be=bn())(d),ur=[31,29,31,30,31,30,31,31,30,31,30,31],qt=[31,28,31,30,31,30,31,31,30,31,30,31];function dr(d){var m=Array(ar(d)+1);return Ht(d,m,0,m.length),m}function Pr(d,m,b,S){function P(B,ae,ge){for(B=typeof B=="number"?B.toString():B||"";B.length<ae;)B=ge[0]+B;return B}function N(B,ae){return P(B,ae,"0")}function L(B,ae){function ge(It){return 0>It?-1:0<It?1:0}var Ze;return(Ze=ge(B.getFullYear()-ae.getFullYear()))===0&&(Ze=ge(B.getMonth()-ae.getMonth()))===0&&(Ze=ge(B.getDate()-ae.getDate())),Ze}function X(B){switch(B.getDay()){case 0:return new Date(B.getFullYear()-1,11,29);case 1:return B;case 2:return new Date(B.getFullYear(),0,3);case 3:return new Date(B.getFullYear(),0,2);case 4:return new Date(B.getFullYear(),0,1);case 5:return new Date(B.getFullYear()-1,11,31);case 6:return new Date(B.getFullYear()-1,11,30)}}function pe(B){var ae=B.Ha;for(B=new Date(new Date(B.Ia+1900,0,1).getTime());0<ae;){var ge=B.getMonth(),Ze=(Tt(B.getFullYear())?ur:qt)[ge];if(ae>Ze-B.getDate())ae-=Ze-B.getDate()+1,B.setDate(1),11>ge?B.setMonth(ge+1):(B.setMonth(0),B.setFullYear(B.getFullYear()+1));else{B.setDate(B.getDate()+ae);break}}return ge=new Date(B.getFullYear()+1,0,4),ae=X(new Date(B.getFullYear(),0,4)),ge=X(ge),0>=L(ae,B)?0>=L(ge,B)?B.getFullYear()+1:B.getFullYear():B.getFullYear()-1}d>>>=0,m>>>=0,b>>>=0,S>>>=0;var me=W[S+40>>>2>>>0];S={hb:E[S>>>2>>>0],gb:E[S+4>>>2>>>0],La:E[S+8>>>2>>>0],Pa:E[S+12>>>2>>>0],Ma:E[S+16>>>2>>>0],Ia:E[S+20>>>2>>>0],Ga:E[S+24>>>2>>>0],Ha:E[S+28>>>2>>>0],kb:E[S+32>>>2>>>0],fb:E[S+36>>>2>>>0],ib:me?Ke(me):""},b=Ke(b),me={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var fe in me)b=b.replace(new RegExp(fe,"g"),me[fe]);var ue="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),we="January February March April May June July August September October November December".split(" ");me={"%a":B=>ue[B.Ga].substring(0,3),"%A":B=>ue[B.Ga],"%b":B=>we[B.Ma].substring(0,3),"%B":B=>we[B.Ma],"%C":B=>N((B.Ia+1900)/100|0,2),"%d":B=>N(B.Pa,2),"%e":B=>P(B.Pa,2," "),"%g":B=>pe(B).toString().substring(2),"%G":B=>pe(B),"%H":B=>N(B.La,2),"%I":B=>(B=B.La,B==0?B=12:12<B&&(B-=12),N(B,2)),"%j":B=>{for(var ae=0,ge=0;ge<=B.Ma-1;ae+=(Tt(B.Ia+1900)?ur:qt)[ge++]);return N(B.Pa+ae,3)},"%m":B=>N(B.Ma+1,2),"%M":B=>N(B.gb,2),"%n":()=>`\n`,"%p":B=>0<=B.La&&12>B.La?"AM":"PM","%S":B=>N(B.hb,2),"%t":()=>"	","%u":B=>B.Ga||7,"%U":B=>N(Math.floor((B.Ha+7-B.Ga)/7),2),"%V":B=>{var ae=Math.floor((B.Ha+7-(B.Ga+6)%7)/7);if(2>=(B.Ga+371-B.Ha-2)%7&&ae++,ae)ae==53&&(ge=(B.Ga+371-B.Ha)%7,ge==4||ge==3&&Tt(B.Ia)||
5929(ae=1));else{ae=52;var ge=(B.Ga+7-B.Ha-1)%7;(ge==4||ge==5&&Tt(B.Ia%400-1))&&ae++}return N(ae,2)},"%w":B=>B.Ga,"%W":B=>N(Math.floor((B.Ha+7-(B.Ga+6)%7)/7),2),"%y":B=>(B.Ia+1900).toString().substring(2),"%Y":B=>B.Ia+1900,"%z":B=>{B=B.fb;var ae=0<=B;return B=Math.abs(B)/60,(ae?"+":"-")+("0000"+(B/60*100+B%60)).slice(-4)},"%Z":B=>B.ib,"%%":()=>"%"},b=b.replace(/%%/g,"\\0\\0");for(fe in me)b.includes(fe)&&(b=b.replace(new RegExp(fe,"g"),me[fe](S)));return b=b.replace(/\\0\\0/g,"%"),fe=dr(b),fe.length>m?0:(D.set(fe,d>>>0),fe.length-1)}var Rt=d=>{try{d()}catch(m){ie(m)}};function wn(){var d=oe,m={};for(let[b,S]of Object.entries(d))m[b]=typeof S=="function"?function(){jt.push(b);try{return S.apply(null,arguments)}finally{C||(jt.pop(),Je&&ne===1&&jt.length===0&&(ne=0,Rt(Ct),typeof Fibers<"u"&&Fibers.lb()))}}:S;return m}var ne=0,Je=null,lr=0,jt=[],cr={},Br={},kr=0,Yt=null,Rr=[];function Dr(){return new Promise((d,m)=>{Yt={resolve:d,reject:m}})}function pr(){var d=Zt(65548),m=d+12;W[d>>>2>>>0]=m,W[d+4>>>2>>>0]=m+65536,m=jt[0];var b=cr[m];return b===void 0&&(b=kr++,cr[m]=b,Br[b]=m),E[d+8>>>2>>>0]=b,d}function Mr(d){if(!C){if(ne===0){var m=!1,b=!1;d((S=0)=>{if(!C&&(lr=S,m=!0,b)){ne=2,Rt(()=>wr(Je)),typeof Browser<"u"&&Browser.Oa.Va&&Browser.Oa.resume(),S=!1;try{var P=(0,oe[Br[E[Je+8>>>2>>>0]]])()}catch(X){P=X,S=!0}var N=!1;if(!Je){var L=Yt;L&&(Yt=null,(S?L.reject:L.resolve)(P),N=!0)}if(S&&!N)throw P}}),b=!0,m||(ne=1,Je=pr(),typeof Browser<"u"&&Browser.Oa.Va&&Browser.Oa.pause(),Rt(()=>Jt(Je)))}else ne===2?(ne=0,Rt(vr),gr(Je),Je=null,Rr.forEach(S=>{if(!C)try{S();try{M=M=S=M,r.onExit?.(S),C=!0,l(S,new at(S))}catch(P){P instanceof at||P=="unwind"||l(1,P)}}catch(P){P instanceof at||P=="unwind"||l(1,P)}})):ie(`invalid state: ${ne}`);return lr}}function Ur(d){return Mr(m=>{d().then(m)})}var xt=[],rt,_t,mr=[],fr=(d,m)=>{if(!_t){_t=new WeakMap;var b=rt.length;if(_t)for(var S=0;S<0+b;S++){var P=S,N=xt[P];N||(P>=xt.length&&(xt.length=P+1),xt[P]=N=rt.get(P)),(P=N)&&_t.set(P,S)}}if(b=_t.get(d)||0)return b;if(mr.length)b=mr.pop();else{try{rt.grow(1)}catch(X){throw X instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":X}b=rt.length-1}try{S=b,rt.set(S,d),xt[S]=rt.get(S)}catch(X){if(!(X instanceof TypeError))throw X;if(typeof WebAssembly.Function=="function"){S=WebAssembly.Function,P={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},N={parameters:[],results:m[0]=="v"?[]:[P[m[0]]]};for(var L=1;L<m.length;++L)N.parameters.push(P[m[L]]);m=new S(N,d)}else{for(S=[1],P=m.slice(0,1),m=m.slice(1),N={i:127,p:127,j:126,f:125,d:124,e:111},S.push(96),L=m.length,128>L?S.push(L):S.push(L%128|128,L>>7),L=0;L<m.length;++L)S.push(N[m[L]]);P=="v"?S.push(0):S.push(1,N[P]),m=[0,97,115,109,1,0,0,0,1],P=S.length,128>P?m.push(P):m.push(P%128|128,P>>7),m.push.apply(m,S),m.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),m=new WebAssembly.Module(new Uint8Array(m)),m=new WebAssembly.Instance(m,{e:{f:d}}).exports.f}S=b,rt.set(S,m),xt[S]=rt.get(S)}return _t.set(d,b),b},zr={n:function(d,m,b){return Ur(async()=>{await r.Za(d,m,b)})},a:function(d,m,b){throw d>>>=0,new Ne(d).Ra(m>>>0,b>>>0),je=d,At++,je},g:function(){return 0},M:function(){},C:function(){},E:function(){},v:function(){return 0},K:function(){},F:function(){},J:function(){},m:function(){},D:function(){},A:function(){},L:function(){},B:function(){},N:()=>1,q:function(d,m,b){d=m+2097152>>>0<4194305-!!d?(d>>>0)+4294967296*m:NaN,b>>>=0,d=new Date(1e3*d),E[b>>>2>>>0]=d.getUTCSeconds(),E[b+4>>>2>>>0]=d.getUTCMinutes(),E[b+8>>>2>>>0]=d.getUTCHours(),E[b+12>>>2>>>0]=d.getUTCDate(),E[b+16>>>2>>>0]=d.getUTCMonth(),E[b+20>>>2>>>0]=d.getUTCFullYear()-1900,E[b+24>>>2>>>0]=d.getUTCDay(),E[b+28>>>2>>>0]=(d.getTime()-Date.UTC(d.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},r:function(d,m,b){d=m+2097152>>>0<4194305-!!d?(d>>>0)+4294967296*m:NaN,b>>>=0,d=new Date(1e3*d),E[b>>>2>>>0]=d.getSeconds(),E[b+4>>>2>>>0]=d.getMinutes(),E[b+8>>>2>>>0]=d.getHours(),E[b+12>>>2>>>0]=d.getDate(),E[b+16>>>2>>>0]=d.getMonth(),E[b+20>>>2>>>0]=d.getFullYear()-1900,E[b+24>>>2>>>0]=d.getDay(),E[b+28>>>2>>>0]=(Tt(d.getFullYear())?St:Lt)[d.getMonth()]+d.getDate()-1|0,E[b+36>>>2>>>0]=-(60*d.getTimezoneOffset()),m=new Date(d.getFullYear(),6,1).getTimezoneOffset();var S=new Date(d.getFullYear(),0,1).getTimezoneOffset();E[b+32>>>2>>>0]=(m!=S&&d.getTimezoneOffset()==Math.min(S,m))|0},s:function(d){d>>>=0;var m=new Date(E[d+20>>>2>>>0]+1900,E[d+16>>>2>>>0],E[d+12>>>2>>>0],E[d+8>>>2>>>0],E[d+4>>>2>>>0],E[d>>>2>>>0],0),b=E[d+32>>>2>>>0],S=m.getTimezoneOffset(),P=new Date(m.getFullYear(),6,1).getTimezoneOffset(),N=new Date(m.getFullYear(),0,1).getTimezoneOffset(),L=Math.min(N,P);return 0>b?E[d+32>>>2>>>0]=+(P!=N&&L==S):0<b!=(L==S)&&(P=Math.max(N,P),m.setTime(m.getTime()+6e4*((0<b?L:P)-S))),E[d+24>>>2>>>0]=m.getDay(),E[d+28>>>2>>>0]=(Tt(m.getFullYear())?St:Lt)[m.getMonth()]+m.getDate()-1|0,E[d>>>2>>>0]=m.getSeconds(),E[d+4>>>2>>>0]=m.getMinutes(),E[d+8>>>2>>>0]=m.getHours(),E[d+12>>>2>>>0]=m.getDate(),E[d+16>>>2>>>0]=m.getMonth(),E[d+20>>>2>>>0]=m.getYear(),d=m.getTime(),isNaN(d)?(E[hr()>>>2>>>0]=61,d=-1):d/=1e3,yr((Me=d,1<=+Math.abs(Me)?0<Me?+Math.floor(Me/4294967296)>>>0:~~+Math.ceil((Me-+(~~Me>>>0))/4294967296)>>>0:0)),d>>>0},o:function(){return-52},p:function(){}
5929,y:function(d,m,b){function S(pe){return(pe=pe.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?pe[1]:"GMT"}b>>>=0;var P=new Date().getFullYear(),N=new Date(P,0,1),L=new Date(P,6,1);P=N.getTimezoneOffset();var X=L.getTimezoneOffset();W[d>>>0>>>2>>>0]=60*Math.max(P,X),E[m>>>0>>>2>>>0]=+(P!=X),d=S(N),m=S(L),d=Ft(d),m=Ft(m),X<P?(W[b>>>2>>>0]=d,W[b+4>>>2>>>0]=m):(W[b>>>2>>>0]=m,W[b+4>>>2>>>0]=d)},e:()=>{ie("")},b:function(d,m,b){return d>>>=0,m=ir(m>>>0,b>>>0),tt[d].apply(null,m)},j:function(d,m,b){return d>>>=0,m=ir(m>>>0,b>>>0),tt[d].apply(null,m)},h:()=>Date.now(),z:function(){return 4294901760},c:()=>performance.now(),I:function(d,m,b){return m>>>=0,G.copyWithin(d>>>0>>>0,m>>>0,m+(b>>>0)>>>0)},w:function(d){d>>>=0;var m=G.length;if(4294901760<d)return!1;for(var b=1;4>=b;b*=2){var S=m*(1+.2/b);S=Math.min(S,d+100663296);var P=Math;S=Math.max(d,S);e:{P=(P.min.call(P,4294901760,S+(65536-S%65536)%65536)-O.buffer.byteLength+65535)/65536;try{O.grow(P),Z();var N=1;break e}catch{}N=void 0}if(N)return!0}return!1},G:function(d,m){d>>>=0,m>>>=0;var b=0;return sr().forEach((S,P)=>{var N=m+b;for(P=W[d+4*P>>>2>>>0]=N,N=0;N<S.length;++N)D[P++>>>0>>>0]=S.charCodeAt(N);D[P>>>0>>>0]=0,b+=S.length+1}),0},H:function(d,m){d>>>=0,m>>>=0;var b=sr();W[d>>>2>>>0]=b.length;var S=0;return b.forEach(P=>S+=P.length+1),W[m>>>2>>>0]=S,0},f:()=>52,l:function(){return 52},t:function(){return 70},k:function(d,m,b,S){m>>>=0,b>>>=0,S>>>=0;for(var P=0,N=0;N<b;N++){var L=W[m>>>2>>>0],X=W[m+4>>>2>>>0];m+=8;for(var pe=0;pe<X;pe++){var me=G[L+pe>>>0],fe=Ye[d];me===0||me===10?((d===1?x:A)(ct(fe,0)),fe.length=0):fe.push(me)}P+=X}return W[S>>>2>>>0]=P,0},u:function(d,m){return d>>>=0,Be(G.subarray(d>>>0,d+(m>>>0)>>>0)),0},x:Pr,d:function(d,m,b,S){return Pr(d>>>0,m>>>0,b>>>0,S>>>0)},i:function(d,m,b,S){let P=rt.length;d=new Uint8Array(G.slice(d+m,d+b));try{var N=new WebAssembly.Module(d),L=new WebAssembly.Instance(N,{env:{memory:O}}),X;for(X in L.exports)fr(L.exports[X]);return P<rt.length?P:S}catch(pe){return console.log(pe),S}}},oe=function(){function d(b){return oe=b.exports,oe=wn(),oe=Vr(),O=oe.O,Z(),rt=oe.wa,Te.unshift(oe.P),re--,re==0&&(Ie!==null&&(clearInterval(Ie),Ie=null),Oe&&(b=Oe,Oe=null,b())),oe}var m={a:zr};if(re++,r.instantiateWasm)try{return r.instantiateWasm(m,d)}catch(b){A(`Module.instantiateWasm callback failed with error: ${b}`),n(b)}return $t(m,function(b){d(b.instance)}).catch(n),{}}();r._OrtInit=(d,m)=>(r._OrtInit=oe.Q)(d,m),r._OrtGetLastError=(d,m)=>(r._OrtGetLastError=oe.R)(d,m),r._OrtCreateSessionOptions=(d,m,b,S,P,N,L,X,pe,me)=>(r._OrtCreateSessionOptions=oe.S)(d,m,b,S,P,N,L,X,pe,me),r._OrtAppendExecutionProvider=(d,m)=>(r._OrtAppendExecutionProvider=oe.T)(d,m),r._OrtAddFreeDimensionOverride=(d,m,b)=>(r._OrtAddFreeDimensionOverride=oe.U)(d,m,b),r._OrtAddSessionConfigEntry=(d,m,b)=>(r._OrtAddSessionConfigEntry=oe.V)(d,m,b),r._OrtReleaseSessionOptions=d=>(r._OrtReleaseSessionOptions=oe.W)(d),r._OrtCreateSession=(d,m,b)=>(r._OrtCreateSession=oe.X)(d,m,b),r._OrtReleaseSession=d=>(r._OrtReleaseSession=oe.Y)(d),r._OrtGetInputOutputCount=(d,m,b)=>(r._OrtGetInputOutputCount=oe.Z)(d,m,b),r._OrtGetInputName=(d,m)=>(r._OrtGetInputName=oe._)(d,m),r._OrtGetOutputName=(d,m)=>(r._OrtGetOutputName=oe.$)(d,m),r._OrtFree=d=>(r._OrtFree=oe.aa)(d),r._OrtCreateTensor=(d,m,b,S,P,N)=>(r._OrtCreateTensor=oe.ba)(d,m,b,S,P,N),r._OrtGetTensorData=(d,m,b,S,P)=>(r._OrtGetTensorData=oe.ca)(d,m,b,S,P),r._OrtReleaseTensor=d=>(r._OrtReleaseTensor=oe.da)(d),r._OrtCreateRunOptions=(d,m,b,S)=>(r._OrtCreateRunOptions=oe.ea)(d,m,b,S),r._OrtAddRunConfigEntry=(d,m,b)=>(r._OrtAddRunConfigEntry=oe.fa)(d,m,b),r._OrtReleaseRunOptions=d=>(r._OrtReleaseRunOptions=oe.ga)(d),r._OrtCreateBinding=d=>(r._OrtCreateBinding=oe.ha)(d),r._OrtBindInput=(d,m,b)=>(r._OrtBindInput=oe.ia)(d,m,b),r._OrtBindOutput=(d,m,b,S)=>(r._OrtBindOutput=oe.ja)(d,m,b,S),r._OrtClearBoundOutputs=d=>(r._OrtClearBoundOutputs=oe.ka)(d),r._OrtReleaseBinding=d=>(r._OrtReleaseBinding=oe.la)(d),r._OrtRunWithBinding=(d,m,b,S,P)=>(r._OrtRunWithBinding=oe.ma)(d,m,b,S,P),r._OrtRun=(d,m,b,S,P,N,L,X)=>(r._OrtRun=oe.na)(d,m,b,S,P,N,L,X),r._OrtEndProfiling=d=>(r._OrtEndProfiling=oe.oa)(d),r._OrtConfigure=(d,m)=>(r._OrtConfigure=oe.pa)(d,m),r._OrtAuth=(d,m)=>(r._OrtAuth=oe.qa)(d,m),r._JsepOutput=(d,m,b)=>(r._JsepOutput=oe.ra)(d,m,b),r._JsepGetNodeName=d=>(r._JsepGetNodeName=oe.sa)(d);var hr=()=>(hr=oe.ta)(),Zt=r._malloc=d=>(Zt=r._malloc=oe.ua)(d),gr=r._free=d=>(gr=r._free=oe.va)(d),yr=d=>(yr=oe.xa)(d),br=()=>(br=oe.ya)(),Qt=d=>(Qt=oe.za)(d),Dt=d=>(Dt=oe.Aa)(d),Jt=d=>(Jt=oe.Ca)(d),Ct=()=>(Ct=oe.Da)(),wr=d=>(wr=oe.Ea)(d),vr=()=>(vr=oe.Fa)();r.___start_em_js=910449,r.___stop_em_js=911222;function Vr(){var d=oe;d=Object.assign({},d);var m=S=>()=>S()>>>0,b=S=>P=>S(P)>>>0;return d.ta=m(d.ta),d.ua=b(d.ua),d.ya=m(d.ya),d.Aa=b(d.Aa),d}r.stackAlloc=Dt,r.stackSave=br,r.stackRestore=Qt,r.addFunction=fr,r.UTF8ToString=Ke,r.stringToUTF8=(d,m,b)=>Ht(d,G,m,b),r.lengthBytesUTF8=ar;var Mt;Oe=function d(){Mt||$r(),Mt||(Oe=d)};function $r(){if(!(0<re)){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;){var d=r.preRun.shift();ee.unshift(d)}for(;0<ee.length;)ee.shift()(r);if(!(0<re||Mt||(Mt=!0,r.calledRun=!0,C))){for(;0<Te.length;)Te.shift()(r);for(o(r);0<De.length;)De.shift()(r)}}}return $r(),t.ready}})();typeof zo=="object"&&typeof kn=="object"?kn.exports=Uo:typeof define=="function"&&define.amd&&define([],()=>Uo)});var No=Sr(()=>{});var Wo=Sr(()=>{});var Go={};xr(Go,{cpus:()=>ld});var ld,Ho=q(()=>{ld=void 0});var Ko=Sr((Fo,Rn)=>{"use strict";var Lo=(()=>{var e=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(e=e||__filename),function(t={}){function r(){return ee.buffer!=Ie.buffer&&Fe(),Ie}function o(){return ee.buffer!=Ie.buffer&&Fe(),Oe}function n(){return ee.buffer!=Ie.buffer&&Fe(),ie}function s(){return ee.buffer!=Ie.buffer&&Fe(),Se}function u(){return ee.buffer!=Ie.buffer&&Fe(),Ae}function l(){return ee.buffer!=Ie.buffer&&Fe(),Pe}var a=t,p,h;a.ready=new Promise((i,c)=>{p=i,h=c}),a.mountExternalData=(i,c)=>{(a.ib||(a.ib=new Map)).set(i,c)},a.unmountExternalData=()=>{delete a.ib},a.jsepInit=(i,c,f,$,T,R,z,Q,be,ce,ye)=>{a.Ub=i,a.Bb=c,a.Fb=f,a.pb=$,a.Eb=T,a.Ua=R,a.Gb=z,a.Ib=Q,a.Cb=be,a.Db=ce,a.Hb=ye,c=(le,_e,k)=>(...se)=>{let ve=pt,Xe=_e?.();se=le(...se);let Ut=_e?.();return Xe!==Ut&&(le=Ut,k(Xe),_e=k=null),pt!=ve?ju():se},f=le=>async(..._e)=>{try{if(a.hb)throw Error("Session already started");let k=a.hb={Kb:_e[0],errors:[]},se=await le(..._e);if(a.hb!==k)throw Error("Session mismatch");i.flush();let ve=k.errors;if(0<ve.length){let Xe=await Promise.all(ve);if(Xe=Xe.filter(Ut=>Ut),0<Xe.length)throw Error(Xe.join(`\n`))}return se}finally{a.hb=null}},a._OrtRun=f(c(a._OrtRun,()=>a._OrtRun,le=>a._OrtRun=le)),a._OrtRunWithBinding=f(c(a._OrtRunWithBinding,()=>a._OrtRunWithBinding,le=>a._OrtRunWithBinding=le)),a._OrtBindInput=c(a._OrtBindInput,()=>a._OrtBindInput,le=>a._OrtBindInput=le),a.jsepRegisterBuffer=(le,_e,k,se)=>i.registerBuffer(le,_e,k,se),a.jsepGetBuffer=le=>i.getBuffer(le),a.jsepCreateDownloader=(le,_e,k)=>i.createDownloader(le,_e,k),a.jsepOnReleaseSession=le=>{i.onReleaseSession(le)},a.jsepOnRunStart=le=>i.onRunStart(le)};var g=Object.assign({},a),w="./this.program",v=(i,c)=>{throw c},y=typeof window=="object",_=typeof importScripts=="function",I=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",x=a.ENVIRONMENT_IS_PTHREAD||!1,A="";function O(i){return a.locateFile?a.locateFile(i,A):A+i}var C,M,D;if(I){var G=(Tn(),Ot(An)),E=(On(),Ot(En));A=_?E.dirname(A)+"/":__dirname+"/",C=(c,f)=>(c=lt(c)?new URL(c):E.normalize(c),G.readFileSync(c,f?void 0:"utf8")),D=c=>(c=C(c,!0),c.buffer||(c=new Uint8Array(c)),c),M=(c,f,$,T=!0)=>{c=lt(c)?new URL(c):E.normalize(c),G.readFile(c,T?void 0:"utf8",(R,z)=>{R?$(R):f(T?z.buffer:z)})},!a.thisProgram&&1<process.argv.length&&(w=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),v=(c,f)=>{throw process.exitCode=c,f},a.inspect=()=>"[Emscripten Module object]";let i;try{i=No()}catch(c){throw console.error(\'The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?\'),c}global.Worker=i.Worker}else(y||_)&&(_?A=self.location.href:typeof document<"u"&&document.currentScript&&(A=document.currentScript.src),typeof e<"u"&&e&&(A=e),A.indexOf("blob:")!==0?A=A.substr(0,A.replace(/[?#].*/,"").lastIndexOf("/")+1):A="",I||(C=i=>{var c=new XMLHttpRequest;return c.open("GET",i,!1),c.send(null),c.responseText},_&&(D=i=>{var c=new XMLHttpRequest;return c.open("GET",i,!1),c.responseType="arraybuffer",c.send(null),new Uint8Array(c.response)}),M=(i,c,f)=>{var $=new XMLHttpRequest;$.open("GET",i,!0),$.responseType="arraybuffer",$.onload=()=>{$.status==200||$.status==0&&$.response?c($.response):f()},$.onerror=f,$.send(null)}));I&&typeof performance>"u"&&(global.performance=Wo().performance);var W=console.log.bind(console),te=console.error.bind(console);I&&(W=(...i)=>G.writeSync(1,i.join(" ")+`\n`),te=(...i)=>G.writeSync(2,i.join(" ")+`\n`));var Y=W,Z=te;Object.assign(a,g),g=null,typeof WebAssembly!="object"&&je("no native wasm support detected");var ee,Te,De=!1,re,Ie,Oe,ie,Se,Ae,Pe;function Fe(){var i=ee.buffer;a.HEAP8=Ie=new Int8Array(i),a.HEAP16=new Int16Array(i),a.HEAPU8=Oe=new Uint8Array(i),a.HEAPU16=new Uint16Array(i),a.HEAP32=ie=new Int32Array(i),a.HEAPU32=Se=new Uint32Array(i),a.HEAPF32=Ae=new Float32Array(i),a.HEAPF64=Pe=new Float64Array(i)}var H=16777216;if(x)ee=a.wasmMemory;else if(a.wasmMemory)ee=a.wasmMemory;else if(ee=new WebAssembly.Memory({initial:H/65536,maximum:65536,shared:!0}),!(ee.buffer instanceof SharedArrayBuffer))throw Z("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 
5929need to set a flag"),I&&Z("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");Fe(),H=ee.buffer.byteLength;var J=[],Ce=[],$t=[],Me=0,tt=null,at=null;function Ne(){if(Me--,Me==0&&(tt!==null&&(clearInterval(tt),tt=null),at)){var i=at;at=null,i()}}function je(i){throw i="Aborted("+i+")",Z(i),De=!0,re=1,i=new WebAssembly.RuntimeError(i+". Build with -sASSERTIONS for more info."),h(i),i}var At=i=>i.startsWith("data:application/octet-stream;base64,"),lt=i=>i.startsWith("file://"),ct;ct="ort-wasm-simd-threaded.wasm",At(ct)||(ct=O(ct));function Ke(i){if(D)return D(i);throw"both async and sync fetching of the wasm failed"}function ar(i){if(y||_){if(typeof fetch=="function"&&!lt(i))return fetch(i,{credentials:"same-origin"}).then(c=>{if(!c.ok)throw"failed to load wasm binary file at \'"+i+"\'";return c.arrayBuffer()}).catch(()=>Ke(i));if(M)return new Promise((c,f)=>{M(i,$=>c(new Uint8Array($)),f)})}return Promise.resolve().then(()=>Ke(i))}function Ht(i,c,f){return ar(i).then($=>WebAssembly.instantiate($,c)).then($=>$).then(f,$=>{Z(`failed to asynchronously prepare wasm: ${$}`),je($)})}function Tt(i,c){var f=ct;return typeof WebAssembly.instantiateStreaming!="function"||At(f)||lt(f)||I||typeof fetch!="function"?Ht(f,i,c):fetch(f,{credentials:"same-origin"}).then($=>WebAssembly.instantiateStreaming($,i).then(c,function(T){return Z(`wasm streaming compile failed: ${T}`),Z("falling back to ArrayBuffer instantiation"),Ht(f,i,c)}))}var St,Lt={902852:(i,c,f,$)=>{if(typeof a>"u"||!a.ib)return 1;if(i=Ye(i>>>0),i.startsWith("./")&&(i=i.substring(2)),i=a.ib.get(i),!i)return 2;if(c>>>=0,f>>>=0,$>>>=0,c+f>i.byteLength)return 3;try{return o().set(i.subarray(c,c+f),$>>>0),0}catch{return 4}},903353:()=>{a.Cb()},903384:()=>{a.Db()},903413:()=>{a.Hb()},903438:i=>a.Bb(i),903471:i=>a.Fb(i),903503:(i,c,f)=>{a.pb(i,c,f,!0)},903542:(i,c,f)=>{a.pb(i,c,f)},903575:i=>{a.Ua("Abs",i,void 0)},903626:i=>{a.Ua("Neg",i,void 0)},903677:i=>{a.Ua("Floor",i,void 0)},903730:i=>{a.Ua("Ceil",i,void 0)},903782:i=>{a.Ua("Reciprocal",i,void 0)},903840:i=>{a.Ua("Sqrt",i,void 0)},903892:i=>{a.Ua("Exp",i,void 0)},903943:i=>{a.Ua("Erf",i,void 0)},903994:i=>{a.Ua("Sigmoid",i,void 0)},904049:i=>{a.Ua("Log",i,void 0)},904100:i=>{a.Ua("Sin",i,void 0)},904151:i=>{a.Ua("Cos",i,void 0)},904202:i=>{a.Ua("Tan",i,void 0)},904253:i=>{a.Ua("Asin",i,void 0)},904305:i=>{a.Ua("Acos",i,void 0)},904357:i=>{a.Ua("Atan",i,void 0)},904409:i=>{a.Ua("Sinh",i,void 0)},904461:i=>{a.Ua("Cosh",i,void 0)},904513:i=>{a.Ua("Asinh",i,void 0)},904566:i=>{a.Ua("Acosh",i,void 0)},904619:i=>{a.Ua("Atanh",i,void 0)},904672:i=>{a.Ua("Tanh",i,void 0)},904724:i=>{a.Ua("Not",i,void 0)},904775:(i,c,f)=>{a.Ua("Clip",i,{min:c,max:f})},904844:i=>{a.Ua("Clip",i,void 0)},904896:(i,c)=>{a.Ua("Elu",i,{alpha:c})},904954:i=>{a.Ua("Relu",i,void 0)},905006:(i,c)=>{a.Ua("LeakyRelu",i,{alpha:c})},905070:(i,c)=>{a.Ua("ThresholdedRelu",i,{alpha:c})},905140:(i,c)=>{a.Ua("Cast",i,{to:c})},905198:i=>{a.Ua("Add",i,void 0)},905249:i=>{a.Ua("Sub",i,void 0)},905300:i=>{a.Ua("Mul",i,void 0)},905351:i=>{a.Ua("Div",i,void 0)},905402:i=>{a.Ua("Pow",i,void 0)},905453:i=>{a.Ua("Equal",i,void 0)},905506:i=>{a.Ua("Greater",i,void 0)},905561:i=>{a.Ua("GreaterOrEqual",i,void 0)},905623:i=>{a.Ua("Less",i,void 0)},905675:i=>{a.Ua("LessOrEqual",i,void 0)},905734:(i,c,f,$,T)=>{a.Ua("ReduceMean",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},905893:(i,c,f,$,T)=>{a.Ua("ReduceMax",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906051:(i,c,f,$,T)=>{a.Ua("ReduceMin",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906209:(i,c,f,$,T)=>{a.Ua("ReduceProd",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906368:(i,c,f,$,T)=>{a.Ua("ReduceSum",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906526:(i,c,f,$,T)=>{a.Ua("ReduceL1",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906683:(i,c,f,$,T)=>{a.Ua("ReduceL2",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},906840:(i,c,f,$,T)=>{a.Ua("ReduceLogSum",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},907001:(i,c,f,$,T)=>{a.Ua("ReduceSumSquare",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},907165:(i,c,f,$,T)=>{a.Ua("ReduceLogSumExp",i,{keepDims:!!c,noopWithEmptyAxes:!!f,axes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},907329:i=>{a.Ua("Where",i,void 0)},907382:(i,c,f)=>{a.Ua("Transpose",i,{perm:c?Array.from(n().subarray(c>>>0,f>>>0)):[]})},907490:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se)=>{a.Ua("ConvTranspose",i,{format:be?"NHWC":"NCHW",autoPad:c,dilations:[f],group:$,kernel_shape:[T],pads:[R,z],strides:[Q],wIsConst:()=>!!r()[ce>>>0],outputPadding:ye?Array.from(n().subarray(ye>>>0,le>>>0)):[],outputShape:_e?Array.from(n().subarray(_e>>>0,k>>>0)):[],activation:Ye(se)})},907892:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k)=>{a.Ua("ConvTranspose",i,{format:Q?"NHWC":"NCHW",autoPad:c,dilations:Array.from(n().subarray(f>>>0,(f>>>0)+2>>>0)),group:$,kernelShape:Array.from(n().subarray(T>>>0,(T>>>0)+2>>>0)),pads:Array.from(n().subarray(R>>>0,(R>>>0)+4>>>0)),strides:Array.from(n().subarray(z>>>0,(z>>>0)+2>>>0)),wIsConst:()=>!!r()[be>>>0],outputPadding:ce?Array.from(n().subarray(ce>>>0,ye>>>0)):[],outputShape:le?Array.from(n().subarray(le>>>0,_e>>>0)):[],activation:Ye(k)})},908457:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se)=>{a.Ua("ConvTranspose",i,{format:be?"NHWC":"NCHW",autoPad:c,dilations:[f],group:$,kernel_shape:[T],pads:[R,z],strides:[Q],wIsConst:()=>!!r()[ce>>>0],outputPadding:ye?Array.from(n().subarray(ye>>>0,le>>>0)):[],outputShape:_e?Array.from(n().subarray(_e>>>0,k>>>0)):[],activation:Ye(se)})},908859:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k)=>{a.Ua("ConvTranspose",i,{format:Q?"NHWC":"NCHW",autoPad:c,dilations:Array.from(n().subarray(f>>>0,(f>>>0)+2>>>0)),group:$,kernelShape:Array.from(n().subarray(T>>>0,(T>>>0)+2>>>0)),pads:Array.from(n().subarray(R>>>0,(R>>>0)+4>>>0)),strides:Array.from(n().subarray(z>>>0,(z>>>0)+2>>>0)),wIsConst:()=>!!r()[be>>>0],outputPadding:ce?Array.from(n().subarray(ce>>>0,ye>>>0)):[],outputShape:le?Array.from(n().subarray(le>>>0,_e>>>0)):[],activation:Ye(k)})},909424:(i,c)=>{a.Ua("GlobalAveragePool",i,{format:c?"NHWC":"NCHW"})},909515:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se,ve)=>{a.Ua("AveragePool",i,{format:ve?"NHWC":"NCHW",auto_pad:c,ceil_mode:f,count_include_pad:$,storage_order:T,dilations:[R,z],kernel_shape:[Q,be],pads:[ce,ye,le,_e],strides:[k,se]})},909799:(i,c)=>{a.Ua("GlobalAveragePool",i,{format:c?"NHWC":"NCHW"})}
5929,909890:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se,ve)=>{a.Ua("AveragePool",i,{format:ve?"NHWC":"NCHW",auto_pad:c,ceil_mode:f,count_include_pad:$,storage_order:T,dilations:[R,z],kernel_shape:[Q,be],pads:[ce,ye,le,_e],strides:[k,se]})},910174:(i,c)=>{a.Ua("GlobalMaxPool",i,{format:c?"NHWC":"NCHW"})},910261:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se,ve)=>{a.Ua("MaxPool",i,{format:ve?"NHWC":"NCHW",auto_pad:c,ceil_mode:f,count_include_pad:$,storage_order:T,dilations:[R,z],kernel_shape:[Q,be],pads:[ce,ye,le,_e],strides:[k,se]})},910541:(i,c)=>{a.Ua("GlobalMaxPool",i,{format:c?"NHWC":"NCHW"})},910628:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se,ve)=>{a.Ua("MaxPool",i,{format:ve?"NHWC":"NCHW",auto_pad:c,ceil_mode:f,count_include_pad:$,storage_order:T,dilations:[R,z],kernel_shape:[Q,be],pads:[ce,ye,le,_e],strides:[k,se]})},910908:(i,c,f,$,T)=>{a.Ua("Gemm",i,{alpha:c,beta:f,transA:$,transB:T})},911012:i=>{a.Ua("MatMul",i,void 0)},911066:(i,c,f,$)=>{a.Ua("ArgMax",i,{keepDims:!!c,selectLastIndex:!!f,axis:$})},911174:(i,c,f,$)=>{a.Ua("ArgMin",i,{keepDims:!!c,selectLastIndex:!!f,axis:$})},911282:(i,c)=>{a.Ua("Softmax",i,{axis:c})},911345:(i,c)=>{a.Ua("Concat",i,{axis:c})},911405:(i,c,f,$,T)=>{a.Ua("Split",i,{axis:c,numOutputs:f,splitSizes:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},911545:i=>{a.Ua("Expand",i,void 0)},911599:(i,c)=>{a.Ua("Gather",i,{axis:Number(c)})},911670:(i,c)=>{a.Ua("GatherElements",i,{axis:Number(c)})},911749:(i,c,f,$,T,R,z,Q,be,ce,ye)=>{a.Ua("Resize",i,{antialias:c,axes:f?Array.from(n().subarray(f>>>0,$>>>0)):[],coordinateTransformMode:Ye(T),cubicCoeffA:R,excludeOutside:z,extrapolationValue:Q,keepAspectRatioPolicy:Ye(be),mode:Ye(ce),nearestMode:Ye(ye)})},912095:(i,c,f,$,T,R,z)=>{a.Ua("Slice",i,{starts:c?Array.from(n().subarray(c>>>0,f>>>0)):[],ends:$?Array.from(n().subarray($>>>0,T>>>0)):[],axes:R?Array.from(n().subarray(R>>>0,z>>>0)):[]})},912311:i=>{a.Ua("Tile",i,void 0)},912363:(i,c,f)=>{a.Ua("LayerNormalization",i,{axis:Number(c),epsilon:Number(f)})},912470:(i,c,f)=>{a.Ua("InstanceNormalization",i,{epsilon:c,format:f?"NHWC":"NCHW"})},912584:(i,c,f)=>{a.Ua("InstanceNormalization",i,{epsilon:c,format:f?"NHWC":"NCHW"})},912698:i=>{a.Ua("Range",i,void 0)},912751:(i,c)=>{a.Ua("Einsum",i,{equation:Ye(c)})},912832:(i,c,f,$,T)=>{a.Ua("Pad",i,{mode:c,value:f,pads:$?Array.from(n().subarray($>>>0,T>>>0)):[]})},912959:(i,c,f,$,T,R)=>{a.Ua("BatchNormalization",i,{epsilon:c,momentum:f,spatial:!!T,trainingMode:!!$,format:R?"NHWC":"NCHW"})},913128:(i,c,f,$,T,R)=>{a.Ua("BatchNormalization",i,{epsilon:c,momentum:f,spatial:!!T,trainingMode:!!$,format:R?"NHWC":"NCHW"})},913297:(i,c,f)=>{a.Ua("CumSum",i,{exclusive:Number(c),reverse:Number(f)})},913394:(i,c,f,$,T,R,z,Q,be)=>{a.Ua("Attention",i,{numHeads:c,isUnidirectional:f,maskFilterValue:$,scale:T,doRotary:R,qkvHiddenSizes:z?Array.from(n().subarray(Number(Q)>>>0,Number(Q)+z>>>0)):[],pastPresentShareBuffer:!!be})},913666:i=>{a.Ua("Gelu",i,void 0)},913718:(i,c,f,$,T,R)=>{a.Ua("MultiHeadAttention",i,{numHeads:c,isUnidirectional:f,maskFilterValue:$,scale:T,doRotary:R})},913877:i=>{a.Ua("BiasAdd",i,void 0)},913932:i=>{a.Ua("BiasSplitGelu",i,void 0)},913993:(i,c)=>{a.Ua("SkipLayerNormalization",i,{epsilon:c})},914074:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e)=>{a.Ua("Conv",i,{format:be?"NHWC":"NCHW",auto_pad:c,dilations:[f],group:$,kernel_shape:[T],pads:R?Array.from(n().subarray(R>>>0,z>>>0)):[],strides:[Q],w_is_const:()=>!!r()[ce>>>0],activation:Ye(ye),activation_params:le?Array.from(u().subarray(le>>>0,_e>>>0)):[]})},914444:(i,c,f,$,T,R,z,Q,be,ce,ye,le,_e,k,se,ve)=>{a.Ua("Conv",i,{format:le?"NHWC":"NCHW",auto_pad:c,dilations:[f,$],group:T,kernel_shape:[R,z],pads:Q?Array.from(n().subarray(Q>>>0,be>>>0)):[],strides:[ce,ye],w_is_const:()=>!!r()[_e>>>0],activation:Ye(k),activation_params:se?Array.from(u().subarray(se>>>0,ve>>>0)):[]})},914835:i=>{a.Gb(i)},914869:(i,c)=>a.Ib(i,c,a.hb.Kb,a.hb.errors)};function Ft(i){this.name="ExitStatus",this.message=`Program terminated with exit(${i})`,this.status=i}var kt=i=>{i.terminate(),i.onmessage=()=>{}},ir=i=>{ne.cb.length==0&&(Rt(),ne.qb(ne.cb[0]));var c=ne.cb.pop();if(!c)return 6;ne.eb.push(c),ne.$a[i.bb]=c,c.bb=i.bb;var f={cmd:"run",start_routine:i.Lb,arg:i.xb,pthread_ptr:i.bb};return I&&c.unref(),c.postMessage(f,i.Rb),0},it=0,sr=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Kt=(i,c,f)=>{c>>>=0;var $=c+f;for(f=c;i[f]&&!(f>=$);)++f;if(16<f-c&&i.buffer&&sr)return sr.decode(i.buffer instanceof SharedArrayBuffer?i.slice(c,f):i.subarray(c,f));for($="";c<f;){var T=i[c++];if(T&128){var R=i[c++]&63;if((T&224)==192)$+=String.fromCharCode((T&31)<<6|R);else{var z=i[c++]&63;T=(T&240)==224?(T&15)<<12|R<<6|z:(T&7)<<18|R<<12|z<<6|i[c++]&63,65536>T?$+=String.fromCharCode(T):(T-=65536,$+=String.fromCharCode(55296|T>>10,56320|T&1023))}}else $+=String.fromCharCode(T)}return $},Ye=(i,c)=>(i>>>=0)?Kt(o(),i,c):"",bn=i=>{var c=_n();return i=i(),Hr(c),i};function Be(i,c){var f=arguments.length-2,$=arguments;return bn(()=>{for(var T=Cn(8*f),R=T>>>3,z=0;z<f;z++){var Q=$[2+z];l()[R+z>>>0]=Q}return Io(i,f,T,c)})}function ur(i){if(x)return Be(0,1,i);re=i,0<it||(ne.Mb(),a.onExit?.(i),De=!0),v(i,new Ft(i))}var qt=i=>{if(re=i,x)throw lr(i),"unwind";ur(i)},dr=i=>{i instanceof Ft||i=="unwind"||v(1,i)};function Pr(){for(var i=a.numThreads;i--;)Rt();J.unshift(()=>{Me++,wn(()=>Ne())})}function Rt(){var i=O("ort-wasm-simd-threaded.worker.js");i=new Worker(i),ne.cb.push(i)}function wn(i){x?i():Promise.all(ne.cb.map(ne.qb)).then(i)}var ne={cb:[],eb:[],ub:[],$a:{},mb(){x?(ne.receiveObjectTransfer=ne.Jb,ne.threadInitTLS=ne.tb,ne.setExitStatus=ne.sb):Pr()},sb:i=>re=i,Vb:["$terminateWorker"],Mb:()=>{for(var i of ne.eb)kt(i);for(i of ne.cb)kt(i);ne.cb=[],ne.eb=[],ne.$a=[]},rb:i=>{var c=i.bb;delete ne.$a[c],ne.cb.push(i),ne.eb.splice(ne.eb.indexOf(i),1),i.bb=0,Sn(c)},Jb(){},tb(){ne.ub.forEach(i=>
5929i())},qb:i=>new Promise(c=>{i.onmessage=R=>{R=R.data;var z=R.cmd;if(R.targetThread&&R.targetThread!=Gr()){var Q=ne.$a[R.targetThread];Q?Q.postMessage(R,R.transferList):Z(`Internal error! Worker sent a message "${z}" to target pthread ${R.targetThread}, but that thread no longer exists!`)}else z==="checkMailbox"?Dt():z==="spawnThread"?ir(R):z==="cleanupThread"?ne.rb(ne.$a[R.thread]):z==="killThread"?(R=R.thread,z=ne.$a[R],delete ne.$a[R],kt(z),Sn(R),ne.eb.splice(ne.eb.indexOf(z),1),z.bb=0):z==="cancelThread"?ne.$a[R.thread].postMessage({cmd:"cancel"}):z==="loaded"?(i.loaded=!0,I&&!i.bb&&i.unref(),c(i)):z==="alert"?alert(`Thread ${R.threadId}: ${R.text}`):R.target==="setimmediate"?i.postMessage(R):z==="callHandler"?a[R.handler](...R.args):z&&Z(`worker sent an unknown command ${z}`)},i.onerror=R=>{throw Z(`worker sent an error! ${R.filename}:${R.lineno}: ${R.message}`),R},I&&(i.on("message",R=>i.onmessage({data:R})),i.on("error",R=>i.onerror(R)));var f=[],$=["onExit"],T;for(T of $)a.hasOwnProperty(T)&&f.push(T);i.postMessage({cmd:"load",handlers:f,urlOrBlob:a.mainScriptUrlOrBlob||e,wasmMemory:ee,wasmModule:Te})})};a.PThread=ne;var Je=i=>{for(;0<i.length;)i.shift()(a)};a.establishStackSpace=()=>{var i=Gr(),c=s()[i+52>>>2>>>0];i=s()[i+56>>>2>>>0],Eo(c,c-i),Hr(c)};function lr(i){if(x)return Be(1,0,i);qt(i)}a.invokeEntryPoint=(i,c)=>{i=Oo.apply(null,[i,c]),0<it?ne.sb(i):xn(i)};function jt(i){this.lb=i-24,this.yb=function(c){s()[this.lb+4>>>2>>>0]=c},this.wb=function(c){s()[this.lb+8>>>2>>>0]=c},this.mb=function(c,f){this.vb(),this.yb(c),this.wb(f)},this.vb=function(){s()[this.lb+16>>>2>>>0]=0}}var cr=0,Br=0;function kr(i,c,f,$){return x?Be(2,1,i,c,f,$):Yt(i,c,f,$)}function Yt(i,c,f,$){if(i>>>=0,c>>>=0,f>>>=0,$>>>=0,typeof SharedArrayBuffer>"u")return Z("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var T=[];return x&&T.length===0?kr(i,c,f,$):(i={Lb:f,bb:i,xb:$,Rb:T},x?(i.Tb="spawnThread",postMessage(i,T),0):ir(i))}function Rr(i,c,f){return x?Be(3,1,i,c,f):0}function Dr(i,c){if(x)return Be(4,1,i,c)}var pr=i=>{for(var c=0,f=0;f<i.length;++f){var $=i.charCodeAt(f);127>=$?c++:2047>=$?c+=2:55296<=$&&57343>=$?(c+=4,++f):c+=3}return c},Mr=(i,c,f,$)=>{if(f>>>=0,!(0<$))return 0;var T=f;$=f+$-1;for(var R=0;R<i.length;++R){var z=i.charCodeAt(R);if(55296<=z&&57343>=z){var Q=i.charCodeAt(++R);z=65536+((z&1023)<<10)|Q&1023}if(127>=z){if(f>=$)break;c[f++>>>0]=z}else{if(2047>=z){if(f+1>=$)break;c[f++>>>0]=192|z>>6}else{if(65535>=z){if(f+2>=$)break;c[f++>>>0]=224|z>>12}else{if(f+3>=$)break;c[f++>>>0]=240|z>>18,c[f++>>>0]=128|z>>12&63}c[f++>>>0]=128|z>>6&63}c[f++>>>0]=128|z&63}}return c[f>>>
59290]=0,f-T},Ur=(i,c,f)=>Mr(i,o(),c,f);function xt(i,c){if(x)return Be(5,1,i,c)}function rt(i,c,f){if(x)return Be(6,1,i,c,f)}function _t(i,c,f){return x?Be(7,1,i,c,f):0}function mr(i,c){if(x)return Be(8,1,i,c)}function fr(i,c,f){if(x)return Be(9,1,i,c,f)}function zr(i,c,f,$){if(x)return Be(10,1,i,c,f,$)}function oe(i,c,f,$){if(x)return Be(11,1,i,c,f,$)}function hr(i,c,f,$){if(x)return Be(12,1,i,c,f,$)}function Zt(i){if(x)return Be(13,1,i)}function gr(i,c){if(x)return Be(14,1,i,c)}function yr(i,c,f){if(x)return Be(15,1,i,c,f)}var br=()=>{if(!(0<it))try{x?xn(re):qt(re)}catch(i){dr(i)}};function Qt(i){i>>>=0,typeof Atomics.Sb=="function"&&(Atomics.Sb(n(),i>>>2,i).value.then(Dt),i+=128,Atomics.store(n(),i>>>2,1))}a.__emscripten_thread_mailbox_await=Qt;var Dt=()=>{var i=Gr();if(i&&(Qt(i),!De))try{Ao(),br()}catch(c){dr(c)}};a.checkMailbox=Dt;var Jt=[],Ct=i=>i%4===0&&(i%100!==0||i%400===0),wr=[0,31,60,91,121,152,182,213,244,274,305,335],vr=[0,31,59,90,120,151,181,212,243,273,304,334];function Vr(i,c,f,$,T,R,z,Q){return x?Be(16,1,i,c,f,$,T,R,z,Q):-52}function Mt(i,c,f,$,T,R,z){if(x)return Be(17,1,i,c,f,$,T,R,z)}var $r=i=>{var c=pr(i)+1,f=$n(c);return f&&Ur(i,f,c),f},d=[],m=(i,c)=>{d.length=0;for(var f;f=o()[i++>>>0];){var $=f!=105;$&=f!=112,c+=$&&c%8?4:0,d.push(f==112?s()[c>>>2>>>0]:f==105?n()[c>>>2>>>0]:l()[c>>>3>>>0]),c+=$?8:4}return d},b={},S=()=>
5929{if(!P){var i={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:w||"./this.program"},c;for(c in b)b[c]===void 0?delete i[c]:i[c]=b[c];var f=[];for(c in i)f.push(`${c}=${i[c]}`);P=f}return P},P;function N(i,c){if(x)return Be(18,1,i,c);i>>>=0,c>>>=0;var f=0;return S().forEach(($,T)=>{var R=c+f;for(T=s()[i+4*T>>>2>>>0]=R,R=0;R<$.length;++R)r()[T++>>>0>>>0]=$.charCodeAt(R);r()[T>>>0>>>0]=0,f+=$.length+1}),0}function L(i,c){if(x)return Be(19,1,i,c);i>>>=0,c>>>=0;var f=S();s()[i>>>2>>>0]=f.length;var $=0;return f.forEach(T=>$+=T.length+1),s()[c>>>2>>>0]=$,0}function X(i){return x?Be(20,1,i):52}function pe(i,c,f,$){return x?Be(21,1,i,c,f,$):52}function me(i,c,f,$,T){return x?Be(22,1,i,c,f,$,T):70}var fe=[null,[],[]];function ue(i,c,f,$){if(x)return Be(23,1,i,c,f,$);c>>>=0,f>>>=0,$>>>=0;for(var T=0,R=0;R<f;R++){var z=s()[c>>>2>>>0],Q=s()[c+4>>>2>>>0];c+=8;for(var be=0;be<Q;be++){var ce=o()[z+be>>>0],ye=fe[i];ce===0||ce===10?((i===1?Y:Z)(Kt(ye,0)),ye.length=0):ye.push(ce)}T+=Q}return s()[$>>>2>>>0]=T,0}var we=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return f=>(f.set(crypto.getRandomValues(new Uint8Array(f.byteLength))),f);if(I)try{var i=(Bn(),Ot(Pn));if(i.randomFillSync)return f=>i.randomFillSync(f);var c=i.randomBytes;return f=>(f.set(c(f.byteLength)),f)}catch{}je("initRandomDevice")},B=i=>(B=we())(i),ae=[31,29,31,30,31,30,31,31,30,31,30,31],ge=[31,28,31,30,31,30,31,31,30,31,30,31];function Ze(i){var c=Array(pr(i)+1);return Mr(i,c,0,c.length),c}var It=(i,c)=>{r().set(i,c>>>0)};function yo(i,c,f,$){function T(k,se,ve){for(k=typeof k=="number"?k.toString():k||"";k.length<se;)k=ve[0]+k;return k}function R(k,se){return T(k,se,"0")}function z(k,se){function ve(Ut){return 0>Ut?-1:0<Ut?1:0}var Xe;return(Xe=ve(k.getFullYear()-se.getFullYear()))===0&&(Xe=ve(k.getMonth()-se.getMonth()))===0&&(Xe=ve(k.getDate()-se.getDate())),Xe}function Q(k){switch(k.getDay()){case 0:return new Date(k.getFullYear()-1,11,29);case 1:return k;case 2:return new Date(k.getFullYear(),0,3);case 3:return new Date(k.getFullYear(),0,2);case 4:return new Date(k.getFullYear(),0,1);case 5:return new Date(k.getFullYear()-1,11,31);case 6:return new Date(k.getFullYear()-1,11,30)}}function be(k){var se=k.fb;for(k=new Date(new Date(k.gb+1900,0,1).getTime());0<se;){var ve=k.getMonth(),Xe=(Ct(k.getFullYear())?ae:ge)[ve];if(se>Xe-k.getDate())se-=Xe-k.getDate()+1,k.setDate(1),11>ve?k.setMonth(ve+1):(k.setMonth(0),k.setFullYear(k.getFullYear()+1));else{k.setDate(k.getDate()+se);break}}return ve=new Date(k.getFullYear()+1,0,4),se=Q(new Date(k.getFullYear(),0,4)),ve=Q(ve),0>=z(se,k)?0>=z(ve,k)?k.getFullYear()+1:k.getFullYear():k.getFullYear()-1}i>>>=0,c>>>=0,f>>>=0,$>>>=0;var ce=s()[$+40>>>2>>>0];$={Pb:n()[$>>>2>>>0],Ob:n()[$+4>>>2>>>0],jb:n()[$+8>>>2>>>0],ob:n()[$+12>>>2>>>0],kb:n()[$+16>>>2>>>0],gb:n()[$+20>>>2>>>0],ab:n()[$+24>>>2>>>0],fb:n()[$+28>>>2>>>0],Wb:n()[$+32>>>2>>>0],Nb:n()[$+36>>>2>>>0],Qb:ce?Ye(ce):""},f=Ye(f),ce={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var ye in ce)f=f.replace(new RegExp(ye,"g"),ce[ye]);var le="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),_e="January February March April May June July August September October November December".split(" ");ce={"%a":k=>le[k.ab].substring(0,3),"%A":k=>le[k.ab],"%b":k=>_e[k.kb].substring(0,3),"%B":k=>_e[k.kb],"%C":k=>R((k.gb+1900)/100|0,2),"%d":k=>R(k.ob,2),"%e":k=>T(k.ob,2," "),"%g":k=>be(k).toString().substring(2),"%G":k=>be(k),"%H":k=>R(k.jb,2),"%I":k=>(k=k.jb,k==0?k=12:12<k&&(k-=12),R(k,2)),"%j":k=>{for(var se=0,ve=0;ve<=k.kb-1;se+=(Ct(k.gb+1900)?ae:ge)[ve++]);return R(k.ob+se,3)},"%m":k=>R(k.kb+1,2),"%M":k=>R(k.Ob,2),"%n":()=>`\n`,"%p":k=>0<=k.jb&&12>k.jb?"AM":"PM","%S":k=>R(k.Pb,2),"%t":()=>"	","%u":k=>k.ab||7,"%U":k=>R(Math.floor((k.fb+7-k.ab)/7),2),"%V":k=>{var se=Math.floor((k.fb+7-(k.ab+6)%7)/7);if(2>=(k.ab+371-k.fb-2)%7&&se++,se)se==53&&(ve=(k.ab+371-k.fb)%7,ve==4||ve==3&&Ct(k.gb)||(se=1));else{se=52;var ve=(k.ab+7-k.fb-1)%7;(ve==4||ve==5&&Ct(k.gb%400-1))&&se++}return R(se,2)},"%w":k=>k.ab,"%W":k=>R(Math.floor((k.fb+7-(k.ab+6)%7)/7),2),"%y":k=>(k.gb+1900).toString().substring(2),"%Y":k=>k.gb+1900,"%z":k=>{k=k.Nb;var se=0<=k;return k=Math.abs(k)/60,(se?"+":"-")+("0000"+(k/60*100+k%60)).slice(-4)},"%Z":k=>k.Qb,"%%":()=>"%"},f=f.replace(/%%/g,"\\0\\0");for(ye in ce)f.includes(ye)&&(f=f.replace(new RegExp(ye,"g"),ce[ye]($)));return f=f.replace(/\\0\\0/g,"%"),ye=Ze(f),ye.length>c?0:(It(ye,i),ye.length-1)}var Nr=i=>{try{i()}catch(c){je(c)}};function Fu(){var i=j,c={};for(let[f,$]of Object.entries(i))c[f]=typeof $=="function"?function(){Wr.push(f);try{return $.apply(null,arguments)}finally{De||(Wr.pop(),pt&&Et===1&&Wr.length===0&&(Et=0,it+=1,Nr(Bo),typeof Fibers<"u"&&Fibers.Xb()))}}:$;return c}var Et=0,pt=null,bo=0,Wr=[],wo={},vo={},Ku=0,vn=null,qu=[];function ju(){return new Promise((i,c)=>{vn={resolve:i,reject:c}})}function Yu(){var i=$n(65548),c=i+12;s()[i>>>2>>>0]=c,s()[i+4>>>2>>>0]=c+65536,c=Wr[0];var f=wo[c];
5929return f===void 0&&(f=Ku++,wo[c]=f,vo[f]=c),c=f,n()[i+8>>>2>>>0]=c,i}function Zu(){var i=n()[pt+8>>>2>>>0];return i=j[vo[i]],--it,i()}function Qu(i){if(!De){if(Et===0){var c=!1,f=!1;i(($=0)=>{if(!De&&(bo=$,c=!0,f)){Et=2,Nr(()=>ko(pt)),typeof Browser<"u"&&Browser.nb.Ab&&Browser.nb.resume(),$=!1;try{var T=Zu()}catch(Q){T=Q,$=!0}var R=!1;if(!pt){var z=vn;z&&(vn=null,($?z.reject:z.resolve)(T),R=!0)}if($&&!R)throw T}}),f=!0,c||(Et=1,pt=Yu(),typeof Browser<"u"&&Browser.nb.Ab&&Browser.nb.pause(),Nr(()=>Po(pt)))}else Et===2?(Et=0,Nr(Ro),_o(pt),pt=null,qu.forEach($=>{if(!De)try{$(),br()}catch(T){dr(T)}})):je(`invalid state: ${Et}`);return bo}}function Ju(i){return Qu(c=>{i().then(c)})}var Xt=[],st,er,$o=[],So=(i,c)=>{if(!er){er=new WeakMap;var f=st.length;if(er)for(var $=0;$<0+f;$++){var T=$,R=Xt[T];R||(T>=Xt.length&&(Xt.length=T+1),Xt[T]=R=st.get(T)),(T=R)&&er.set(T,$)}}if(f=er.get(i)||0)return f;if($o.length)f=$o.pop();else{try{st.grow(1)}catch(Q){throw Q instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":Q}f=st.length-1}try{$=f,st.set($,i),Xt[$]=st.get($)}catch(Q){if(!(Q instanceof TypeError))throw Q;if(typeof WebAssembly.Function=="function"){$=WebAssembly.Function,T={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},R={parameters:[],results:c[0]=="v"?[]:[T[c[0]]]};for(var z=1;z<c.length;++z)R.parameters.push(T[c[z]]);c=new $(R,i)}else{for($=[1],T=c.slice(0,1),c=c.slice(1),R={i:127,p:127,j:126,f:125,d:124,e:111},$.push(96),z=c.length,128>z?$.push(z):$.push(z%128|128,z>>7),z=0;z<c.length;++z)$.push(R[c[z]]);T=="v"?$.push(0):$.push(1,R[T]),c=[0,97,115,109,1,0,0,0,1],T=$.length,128>T?c.push(T):c.push(T%128|128,T>>7),c.push.apply(c,$),c.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),c=new WebAssembly.Module(new Uint8Array(c)),c=new WebAssembly.Instance(c,{e:{f:i}}).exports.f}$=f,st.set($,c),Xt[$]=st.get($)}return er.set(i,f),f};ne.mb();var Xu=[ur,lr,kr,Rr,Dr,xt,rt,_t,mr,fr,zr,oe,hr,Zt,gr,yr,Vr,Mt,N,L,X,pe,me,ue],ed={r:function(i,c,f){return Ju(async()=>{await a.Eb(i,c,f)})},b:function(i,c,f){throw i>>>=0,new jt(i).mb(c>>>0,f>>>0),cr=i,Br++,cr},P:function(i){Co(i>>>0,!_,1,!y,131072,!1),ne.tb()},n:function(i){i>>>=0,x?postMessage({cmd:"cleanupThread",thread:i}):ne.rb(ne.$a[i])},L:Yt,i:Rr,V:Dr,H:xt,J:rt,z:_t,T:mr,N:fr,S:zr,p:oe,I:hr,F:Zt,U:gr,G:yr,Y:()=>1,D:function(i,c){i>>>=0,i==c>>>0?setTimeout(()=>Dt()):x?postMessage({targetThread:i,cmd:"checkMailbox"}):(i=ne.$a[i])&&i.postMessage({cmd:"checkMailbox"})},M:function(i,c,f,$){c>>>=0,Jt.length=f,$=$>>>0>>>3;for(var T=0;T<f;T++)Jt[T]=l()[$+T>>>0];return i=0>i?Lt[-i-1]:Xu[i],ne.zb=c,c=i.apply(null,Jt),ne.zb=0,c},O:Qt,X:function(i){I&&ne.$a[i>>>0].ref()},u:function(i,c,f){i=c+2097152>>>0<4194305-!!i?(i>>>0)+4294967296*c:NaN,f>>>=0,i=new Date(1e3*i),n()[f>>>2>>>0]=i.getUTCSeconds(),n()[f+4>>>2>>>0]=i.getUTCMinutes(),n()[f+8>>>2>>>0]=i.getUTCHours(),n()[f+12>>>2>>>0]=i.getUTCDate(),n()[f+16>>>2>>>0]=i.getUTCMonth(),n()[f+20>>>2>>>0]=i.getUTCFullYear()-1900,n()[f+24>>>2>>>0]=i.getUTCDay(),i=(i.getTime()-Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,n()[f+28>>>2>>>0]=i},v:function(i,c,f){i=c+2097152>>>0<4194305-!!i?(i>>>0)+4294967296*c:NaN,f>>>=0,i=new Date(1e3*i),n()[f>>>2>>>0]=i.getSeconds(),n()[f+4>>>2>>>0]=i.getMinutes(),n()[f+8>>>2>>>0]=i.getHours(),n()[f+12>>>2>>>0]=i.getDate(),n()[f+16>>>2>>>0]=i.getMonth(),n()[f+20>>>2>>>0]=i.getFullYear()-1900,n()[f+24>>>2>>>0]=i.getDay(),c=(Ct(i.getFullYear())?wr:vr)[i.getMonth()]+i.getDate()-1|0,n()[f+28>>>2>>>0]=c,n()[f+36>>>2>>>0]=-(60*i.getTimezoneOffset()),c=new Date(i.getFullYear(),6,1).getTimezoneOffset();var $=new Date(i.getFullYear(),0,1).getTimezoneOffset();i=(c!=$&&i.getTimezoneOffset()==Math.min($,c))|0,n()[f+32>>>2>>>0]=i},w:function(i){i>>>=0;var c=new Date(n()[i+20>>>2>>>0]+1900,n()[i+16>>>2>>>0],n()[i+12>>>2>>>0],n()[i+8>>>2>>>0],n()[i+4>>>2>>>0],n()[i>>>2>>>0],0),f=n()[i+32>>>2>>>0],$=c.getTimezoneOffset(),T=new Date(c.getFullYear(),6,1).getTimezoneOffset(),R=new Date(c.getFullYear(),0,1).getTimezoneOffset(),z=Math.min(R,T);return 0>f?n()[i+32>>>2>>>0]=+(T!=R&&z==$):0<f!=(z==$)&&(T=Math.max(R,T),c.setTime(c.getTime()+6e4*((0<f?z:T)-$))),n()[i+24>>>2>>>0]=c.getDay(),f=(Ct(c.getFullYear())?wr:vr)[c.getMonth()]+c.getDate()-1|0,n()[i+28>>>2>>>0]=f,n()[i>>>2>>>0]=c.getSeconds(),n()[i+4>>>2>>>0]=c.getMinutes(),n()[i+8>>>2>>>0]=c.getHours(),n()[i+12>>>2>>>0]=c.getDate(),n()[i+16>>>2>>>0]=c.getMonth(),n()[i+20>>>2>>>0]=c.getYear(),i=c.getTime(),isNaN(i)?(n()[xo()>>>2>>>0]=61,i=-1):i/=1e3,To((St=i,1<=+Math.abs(St)?0<St?+Math.floor(St/4294967296)>>>0:~~+Math.ceil((St-+(~~St>>>0))/4294967296)>>>0:0)),i>>>0},s:Vr,t:Mt,C:function(i,c,f){function $(ce){return(ce=ce.toTimeStr
5929ing().match(/\\(([A-Za-z ]+)\\)$/))?ce[1]:"GMT"}i>>>=0,c>>>=0,f>>>=0;var T=new Date().getFullYear(),R=new Date(T,0,1),z=new Date(T,6,1);T=R.getTimezoneOffset();var Q=z.getTimezoneOffset(),be=Math.max(T,Q);s()[i>>>2>>>0]=60*be,n()[c>>>2>>>0]=+(T!=Q),i=$(R),c=$(z),i=$r(i),c=$r(c),Q<T?(s()[f>>>2>>>0]=i,s()[f+4>>>2>>>0]=c):(s()[f>>>2>>>0]=c,s()[f+4>>>2>>>0]=i)},d:()=>{je("")},c:function(i,c,f){return i>>>=0,c=m(c>>>0,f>>>0),Lt[i].apply(null,c)},k:function(i,c,f){return i>>>=0,c=m(c>>>0,f>>>0),Lt[i].apply(null,c)},o:()=>{},q:()=>Date.now(),W:()=>{throw it+=1,"unwind"},E:function(){return 4294901760},f:()=>performance.timeOrigin+performance.now(),g:()=>I?(Ho(),Ot(Go)).cpus().length:navigator.hardwareConcurrency,A:function(i){i>>>=0;var c=o().length;if(i<=c||4294901760<i)return!1;for(var f=1;4>=f;f*=2){var $=c*(1+.2/f);$=Math.min($,i+100663296);var T=Math;$=Math.max(i,$);e:{T=(T.min.call(T,4294901760,$+(65536-$%65536)%65536)-ee.buffer.byteLength+65535)/65536;try{ee.grow(T),Fe();var R=1;break e}catch{}R=void 0}if(R)return!0}return!1},Q:N,R:L,K:qt,h:X,m:pe,x:me,l:ue,y:function(i,c){return i>>>=0,c>>>=0,B(o().subarray(i>>>0,i+c>>>0)),0},a:ee||a.wasmMemory,B:yo,e:function(i,c,f,$){return yo(i>>>0,c>>>0,f>>>0,$>>>0)},j:function(i,c,f,$){let T=st.length;i=new Uint8Array(o().slice(i+c,i+f));try{var R=new WebAssembly.Module(i),z=new WebAssembly.Instance(R,{env:{memory:ee}}),Q;for(Q in z.exports)So(z.exports[Q]);return T<st.length?T:$}catch(be){return console.log(be),$}}},j=function(){function i(f,$){return j=f.exports,j=Fu(),j=td(),ne.ub.push(j.Ha),st=j.Ia,Ce.unshift(j.Z),Te=$,Ne(),j}var c={a:ed};if(Me++,a.instantiateWasm)try{return a.instantiateWasm(c,i)}catch(f){Z(`Module.instantiateWasm callback failed with error: ${f}`),h(f)}return Tt(c,function(f){i(f.instance,f.module)}).catch(h),{}}();a._OrtInit=(i,c)=>(a._OrtInit=j._)(i,c),a._OrtGetLastError=(i,c)=>(a._OrtGetLastError=j.$)(i,c),a._OrtCreateSessionOptions=(i,c,f,$,T,R,z,Q,be,ce)=>(a._OrtCreateSessionOptions=j.aa)(i,c,f,$,T,R,z,Q,be,ce),a._OrtAppendExecutionProvider=(i,c)=>(a._OrtAppendExecutionProvider=j.ba)(i,c),a._OrtAddFreeDimensionOverride=(i,c,f)=>(a._OrtAddFreeDimensionOverride=j.ca)(i,c,f),a._OrtAddSessionConfigEntry=(i,c,f)=>(a._OrtAddSessionConfigEntry=j.da)(i,c,f),a._OrtReleaseSessionOptions=i=>(a._OrtReleaseSessionOptions=j.ea)(i),a._OrtCreateSession=(i,c,f)=>(a._OrtCreateSession=j.fa)(i,c,f),a._OrtReleaseSession=i=>(a._OrtReleaseSession=j.ga)(i),a._OrtGetInputOutputCount=(i,c,f)=>(a._OrtGetInputOutputCount=j.ha)(i,c,f),a._OrtGetInputName=(i,c)=>(a._OrtGetInputName=j.ia)(i,c),a._OrtGetOutputName=(i,c)=>(a._OrtGetOutputName=j.ja)(i,c),a._OrtFree=i=>(a._OrtFree=j.ka)(i),a._OrtCreateTensor=(i,c,f,$,T,R)=>(a._OrtCreateTensor=j.la)(i,c,f,$,T,R),a._OrtGetTensorData=(i,c,f,$,T)=>(a._OrtGetTensorData=j.ma)(i,c,f,$,T),a._OrtReleaseTensor=i=>(a._OrtReleaseTensor=j.na)(i),a._OrtCreateRunOptions=(i,c,f,$)=>(a._OrtCreateRunOptions=j.oa)(i,c,f,$),a._OrtAddRunConfigEntry=(i,c,f)=>(a._OrtAddRunConfigEntry=j.pa)(i,c,f),a._OrtReleaseRunOptions=i=>(a._OrtReleaseRunOptions=j.qa)(i),a._OrtCreateBinding=i=>(a._OrtCreateBinding=j.ra)(i),a._OrtBindInput=(i,c,f)=>(a._OrtBindInput=j.sa)(i,c,f),a._OrtBindOutput=(i,c,f,$)=>(a._OrtBindOutput=j.ta)(i,c,f,$),a._OrtClearBoundOutputs=i=>(a._OrtClearBoundOutputs=j.ua)(i),a._OrtReleaseBinding=i=>(a._OrtReleaseBinding=j.va)(i),a._OrtRunWithBinding=(i,c,f,$,T)=>(a._OrtRunWithBinding=j.wa)(i,c,f,$,T),a._OrtRun=(i,c,f,$,T,R,z,Q)=>(a._OrtRun=j.xa)(i,c,f,$,T,R,z,Q),a._OrtEndProfiling=i=>(a._OrtEndProfiling=j.ya)(i),a._OrtConfigure=(i,c)=>(a._OrtConfigure=j.za)(i,c),a._OrtAuth=(i,c)=>(a._OrtAuth=j.Aa)(i,c),a._JsepOutput=(i,c,f)=>(a._JsepOutput=j.Ba)(i,c,f),a._JsepGetNodeName=i=>(a._JsepGetNodeName=j.Ca)(i);var xo=()=>(xo=j.Da)(),Gr=a._pthread_self=()=>(Gr=a._pthread_self=j.Ea)(),$n=a._malloc=i=>($n=a._malloc=j.Fa)(i),_o=a._free=i=>(_o=a._free=j.Ga)(i);a.__emscripten_tls_init=()=>(a.__emscripten_tls_init=j.Ha)();var Co=a.__emscripten_thread_init=(i,c,f,$,T,R)=>(Co=a.__emscripten_thread_init=j.Ja)(i,c,f,$,T,R);a.__emscripten_thread_crashed=()=>(a.__emscripten_thread_crashed=j.Ka)();var Io=(i,c,f,$)=>(Io=j.La)(i,c,f,$),Sn=i=>(Sn=j.Ma)(i),xn=a.__emscripten_thread_exit=i=>(xn=a.__emscripten_thread_exit=j.Na)(i),Ao=()=>(Ao=j.Oa)(),To=i=>(To=j.Pa)(i),Eo=(i,c)=>(Eo=j.Qa)(i,c),_n=()=>(_n=j.Ra)(),Hr=i=>(Hr=j.Sa)(i),Cn=i=>(Cn=j.Ta)(i),Oo=a.dynCall_ii=(i,c)=>(Oo=a.dynCall_ii=j.Va)(i,c),Po=i=>(Po=j.Wa)(i),Bo=()=>(Bo=j.Xa)(),ko=i=>(ko=j.Ya)(i),Ro=()=>(Ro=j.Za)();a.___start_em_js=914981,a.___stop_em_js=915754;function td(){var i=j;i=Object.assign({},i);var c=$=>()=>$()>>>0,f=$=>T=>$(T)>>>0;return i.Da=c(i.Da),i.Ea=c(i.Ea),i.Fa=f(i.Fa),i.emscripten_main_runtime_thread_id=c(i.emscripten_main_runtime_thread_id),i.Ra=c(i.Ra),i.Ta=f(i.Ta),i}a.wasmMemory=ee,a.stackAlloc=Cn,a.stackSave=_n,a.stackRestore=Hr,a.keepRuntimeAlive=()=>0<it,a.addFunction=So,a.UTF8ToString=Ye,a.stringToUTF8=Ur,a.lengthBytesUTF8=pr,a.ExitStatus=Ft,a.PThread=ne;var Lr;at=function i(){Lr||Do(),Lr||(at=i)};function Do(){if(!(0<Me))if(x)p(a),x||Je(Ce),startWorker(a);else{if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;)J.unshift(a.preRun.shift());Je(J),0<Me||Lr||(Lr=!0,a.calledRun=!0,De||(x||Je(Ce),p(a),x||Je($t)))}}return Do(),t.ready}})();typeof Fo=="object"&&typeof Rn=="object"?Rn.exports=Lo:typeof define=="function"&&define.amd&&define([],()=>Lo)});var qo=Sr((up,cd)=>{cd.exports=\'"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.
5929ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\\n\'});var Un,nt,Cr,Kr,Ir,Xo,zn,We=q(()=>{"use strict";Un=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw new Error(`unsupported data type: ${e}`)}},nt=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw new Error(`unsupported data type: ${e}`)}},Cr=e=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][e],Kr=e=>{switch(e){case"float16":return Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},Ir=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},Xo=e=>e==="float32"||e==="int32"||e==="int64"||e==="bool"||e==="float16"||e==="uint32",zn=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw new Error(`unsupported data location: ${e}`)}}});var qr=q(()=>{"use strict"});var ta=q(()=>{"use strict";qr()});var ra,na=q(()=>{"use strict";ra="1.17.0"});var oa,zt,Vn=q(()=>{"use strict";na();oa="warning",zt={wasm:{},webgl:{},webgpu:{},versions:{common:ra},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);oa=e}},get logLevel(){return oa}};Object.defineProperty(zt,"logLevel",{enumerable:!0})});var tr,aa=q(()=>{"use strict";Vn();tr=zt});var ia=q(()=>{"use strict"});var sa=q(()=>{"use strict";jr()});var da=q(()=>{"use strict"});var la=q(()=>{"use strict";jr()});var jr=q(()=>{"use strict";ia();sa();da();la()});var Yr=q(()=>{"use strict";jr()});var Nn,ca,Vt,Nt,Wn=q(()=>{"use strict";Vn();Nn=(e,t)=>{zt.wasm.trace&&console.timeStamp(`${e}::ORT::${t}`)},ca=(e,t)=>{let r=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],o=!1;for(let n=0;n<r.length;n++){if(o&&!r[n].includes("TRACE_FUNC")){let s=`FUNC_${e}::${r[n].trim().split(" ")[1]}`;t&&(s+=`::${t}`),Nn("CPU",s);return}r[n].includes("TRACE_FUNC")&&(o=!0)}},Vt=e=>{zt.wasm.trace&&ca("BEGIN",e)},Nt=e=>{zt.wasm.trace&&ca("END",e)}});var pa=q(()=>{"use strict";qr();Yr();Wn()});var ma=q(()=>{"use strict";pa()});var fa=q(()=>{"use strict"});var ha=q(()=>{"use strict";qr();Yr()});var ga=q(()=>{"use strict";ha()});var rr=q(()=>{"use strict";ta();aa();ma();Yr();Wn();fa();ga()});var Sd,xd,ya,ba,wa,_d,Re,Pt=q(()=>{"use strict";We();Sd=["V","I","W","E","F"],xd=(e,t)=>{console.log(`[${Sd[e]},${new Date().toISOString()}]${t}`)},wa=(e,t)=>{ya=e,ba=t},_d=(e,t)=>{let r=Ir(e),o=Ir(ya);r>=o&&xd(r,typeof t=="function"?t():t)},Re=(...e)=>{ba&&_d(...e)}});var va,$a=q(()=>{"use strict";We();va=(e,t)=>new(Kr(t))(e)});var Zr=q(()=>{"use strict"});var Qr,Cd,Sa,Id,Gn,Ln,Hn,_a,Ca=q(()=>{"use strict";Pt();Zr();Qr=e=>Math.ceil(e/16)*16,Cd=1,Sa=()=>Cd++,Id=1,Gn=()=>Id++,Ln=async(e,t,r,o)=>{let n=Qr(r),s=e.device.createBuffer({size:n,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let u=e.getCommandEncoder();e.endComputePass(),u.copyBufferToBuffer(t,0,s,0,n),e.flush(),await s.mapAsync(GPUMapMode.READ);let l=s.getMappedRange();if(o){let a=o();return a.set(new Uint8Array(l,0,r)),a}else return new Uint8Array(l.slice(0,r))}finally{s.destroy()}},Hn=class{constructor(t){this.backend=t;this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersForUploadingPending=[],this.buffersPending=[],this.externalBuffers=new Map,this.capturedPendingBuffers=new Map}upload(t,r){let o=r.buffer,n=r.byteOffset,s=r.byteLength,u=Qr(s),l=this.storageCache.get(t);if(!l)throw new Error("gpu data for uploading does not exist");if(l.originalSize!==s)throw new Error(`inconsistent data size. gpu data size=${l.originalSize}, data size=${s}`);let a=this.backend.device.createBuffer({mappedAtCreation:!0,size:u,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),p=a.getMappedRange();
5929new Uint8Array(p).set(new Uint8Array(o,n,s)),a.unmap();let h=this.backend.getCommandEncoder();this.backend.endComputePass(),h.copyBufferToBuffer(a,0,l.gpuData.buffer,0,u),Re("verbose",()=>`[WebGPU] GpuDataManager.upload(id=${t})`),this.buffersForUploadingPending.push(a)}memcpy(t,r){let o=this.storageCache.get(t);if(!o)throw new Error("source gpu data for memcpy does not exist");let n=this.storageCache.get(r);if(!n)throw new Error("destination gpu data for memcpy does not exist");if(o.originalSize!==n.originalSize)throw new Error("inconsistent source and destination gpu data size");let s=Qr(o.originalSize),u=this.backend.getCommandEncoder();this.backend.endComputePass(),u.copyBufferToBuffer(o.gpuData.buffer,0,n.gpuData.buffer,0,s)}registerExternalBuffer(t,r,o){let n;if(o){if(n=this.externalBuffers.get(o),n===void 0)throw new Error("previous buffer is not registered");if(t===o)return Re("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${n}, buffer is the same, skip.`),n;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.\n             Please use the previous external buffer!`);this.externalBuffers.delete(o)}else n=Sa();return this.storageCache.set(n,{gpuData:{id:n,type:0,buffer:t,permamentID:Gn()},originalSize:r}),this.externalBuffers.set(t,n),Re("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${r}) => id=${n}, registered.`),n}unregisterExternalBuffer(t){let r=this.externalBuffers.get(t);r!==void 0&&(this.storageCache.delete(r),this.externalBuffers.delete(t),Re("verbose",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${r}`))}create(t,r=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let o=Qr(t),n,s=(r&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,u=(r&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(s||u){let a=s?this.freeBuffers:this.freeUniformBuffers,p=a.get(o);p||(p=[],a.set(o,p)),p.length>0?n=p.pop():n={buffer:this.backend.device.createBuffer({size:o,usage:r}),permamentID:Gn()}}else n={buffer:this.backend.device.createBuffer({size:o,usage:r}),permamentID:Gn()};let l={id:Sa(),type:0,buffer:n.buffer,permamentID:n.permamentID};return this.storageCache.set(l.id,{gpuData:l,originalSize:t}),Re("verbose",()=>`[WebGPU] GpuDataManager.create(size=${t}) => id=${l.id}`),l}get(t){return this.storageCache.get(t)?.gpuData}release(t){let r=this.storageCache.get(t);if(!r)throw new Error("releasing data does not exist");return Re("verbose",()=>`[WebGPU] GpuDataManager.release(id=${t}), gpuDataId=${r.gpuData.id}`),this.storageCache.delete(t),this.buffersPending.push({buffer:r.gpuData.buffer,permamentID:r.gpuData.permamentID}),r.originalSize}async download(t,r){let o=this.storageCache.get(t);if(!o)throw new Error("data does not exist");await Ln(this.backend,o.gpuData.buffer,o.originalSize,r)}refreshPendingBuffers(){for(let t of this.buffersForUploadingPending)t.destroy();if(this.buffersForUploadingPending=[],this.buffersPending.length!==0)if(this.backend.sessionStatus==="default"){for(let t of this.buffersPending)(t.buffer.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE?this.freeBuffers.get(t.buffer.size).push(t):(t.buffer.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM?this.freeUniformBuffers.get(t.buffer.size).push(t):t.buffer.destroy();this.buffersPending=[]}else{let t=this.capturedPendingBuffers.get(this.backend.currentSessionId);t||(t=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,t));for(let r of this.buffersPending)t.push(r);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(t=>{t.forEach(r=>{r.buffer.destroy()})}),this.freeUniformBuffers.forEach(t=>{t.forEach(r=>{r.buffer.destroy()})}),this.storageCache.forEach(t=>{t.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(t=>{t.forEach(r=>{r.buffer.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onReleaseSession(t){let r=this.capturedPendingBuffers.get(t);r&&(r.forEach(o=>{o.buffer.destroy()}),this.capturedPendingBuffers.delete(t))}},_a=(...e)=>new Hn(...e)}
vendor: 14,544 bytes, line 5929
5929);var Fn,he,Le=q(()=>{"use strict";Fn=class{constructor(t){Object.assign(this,t)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(t=>`${this[t]}`).join(";")),this.key}},he=e=>new Fn(e)});var Kn,mt,V,Wt,Jr,Xr,en,xe=q(()=>{"use strict";Kn=class{static calcMatMulShape(t,r){return t[1]!==r[0]?void 0:[t[0],r[1]]}},mt=class{static calcShape(t,r,o=!1){let n=t.length,s=r.length;if(n===0)return r;if(s===0)return t;let u=Math.max(t.length,r.length),l=new Array(u);if(o){if(n<2||s<2)return;let a=Kn.calcMatMulShape([t[n-2],t[n-1]],[r[s-2],r[s-1]]);if(a===void 0)return;[l[u-2],l[u-1]]=a}for(let a=o?3:1;a<=u;a++){let p=n-a<0?1:t[n-a],h=s-a<0?1:r[s-a];if(p!==h&&p>1&&h>1)return;l[u-a]=Math.max(p,h)}return l}static isValidBroadcast(t,r){let o=t.length,n=r.length;if(o>n)return!1;for(let s=1;s<=o;s++)if(t[o-s]!==1&&t[o-s]!==r[n-s])return!1;return!0}},V=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static sizeFromDimension(t,r){if(r<0||r>t.length)throw new Error(`invalid dimension of ${r} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,r,t.length)}static sizeToDimension(t,r){if(r<0||r>t.length)throw new Error(`invalid dimension of ${r} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,r)}static getSizeFromDimensionRange(t,r,o){let n=1;for(let s=r;s<o;s++){if(t[s]<0)throw new Error("cannot get valid size from specified dimension range. Most likely the range contains negative values in them.");n*=t[s]}return n}static computeStrides(t){let r=t.length;if(r===0)return[];if(r===1)return[1];let o=new Array(r);o[r-1]=1,o[r-2]=t[r-1];for(let n=r-3;n>=0;--n)o[n]=o[n+1]*t[n+1];return o}static normalizeAxis(t,r){if(t<-r&&t>=r)throw new Error("unsupported axis for this operation.");return t<0?t+r:t}static normalizeAxes(t,r){return t.map(o=>this.normalizeAxis(o,r??t.length))}static sortBasedOnPerm(t,r){return r?r.map(o=>t[o]):t.slice().reverse()}static padShape(t,r){let o=t.length;return t.map((n,s)=>n+r[s]+r[s+o])}static areEqual(t,r){return t.length!==r.length?!1:t.every((o,n)=>o===r[n])}},Wt=class e{static adjustPoolAttributes(t,r,o,n,s,u){if(!t&&o.length!==r.length-2)throw new Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(t)for(let l=0;l<r.length-2;l++)l>=o.length?o.push(r[l+2]):o[l]=r[l+2];for(let l=0;l<o.length;l++)if(l<n.length){if(n[l]<0)throw new Error("strides should be greater than or equal to 1")}else n.push(1);for(let l=0;l<o.length;l++)if(l<s.length){if(s[l]<0)throw new Error("dilations should be greater than or equal to 1")}else s.push(1);for(let l=0;l<o.length*2;l++)if(l<u.length){if(u[l]<0)throw new Error("pad should be greater than or equal to 1")}else u.push(0);for(let l=0;l<o.length;l++){if(o[l]<=0)throw new Error("kernel shapes need to be greater than 0");if(u[l]>=o[l]||u[l+o.length]>=o[l])throw new Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(t,r,o,n,s,u,l){if(l){if(s.length!==2*(t.length-2))throw new Error("length of pads should be twice the length of data dimensions");if(r.length!==t.length-2)throw new Error("length of strides should be the length of data dimensions");if(n.length!==t.length-2)throw new Error("length of kernel shapes should be the length of data dimensions");for(let a=0;a<t.length-2;a++)e.adjustPadAndReturnShape(t[a+(u?1:2)],r[a],o[a],n[a],s,a,a+t.length-2,l)}}static computePoolOutputShape(t,r,o,n,s,u,l){if(r.length<=0)throw new Error("input shape must be of size greater than 0");let a=[r[0],r[1]];return e.computeShapeHelper(t,r,a,o,n,s,u,l),a}static computeConvOutputShape(t,r,o,n,s,u,l){if(t.length<=0||r.length<=0)throw new Error("invalid input tensor dims or invalid filter tensor dims");let a=[t[0],r[0]];return e.computeShapeHelper(!1,t,a,o,n,s,u,l),a}static computeShapeHelper(t,r,o,n,s,u,l,a){if(t)for(let p=0;p<r.length-2;p++)o.push(1);else for(let p=0;p<r.length-2;p++)o.push(e.adjustPadAndReturnShape(r[p+2],n[p],s[p],u[p],l,p,p+r.length-2,a))}static adjustPadAndReturnShape(t,r,o,n,s,u,l,a){let p=o*(n-1)+1;if(a&&a!=="NOTSET")switch(a){case"VALID":return s[u]=0,s[l]=0,Math.floor((t-p)/r+1);case"SAME_LOWER":case"SAME_UPPER":if(o!==1)throw new Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let g=((t+r-1)/r-1)*r+n-t;return s[u]=Math.floor(a==="SAME_LOWER"?(g+1)/2:g/2),s[l]=g-s[u],Math.floor((t+g-n)/r+1)}default:throw new Error("Unsupported AutoPad type")}else return Math.floor((t+s[u]+s[l]-p)/r+1)}},Jr=class{static getShapeOfGemmResult(t,r,o,n,s){if(t.length!==2||o.length!==2)throw new Error("shape need to be of size 2");let u,l,a;r?(u=t[1],l=t[0]):(u=t[0],l=t[1]);let p=-1;if(n?(a=o[0],p=1):(a=o[1],p=0),o[p]!==l)throw new Error("dimension mismatch");if(u<=0||a<=0||l<=0)throw new Error("invalid shape specified");if(s&&!mt.isValidBroadcast(s,[u,a]))throw new Error("gemm: invalid bias shape for broadcast");return[u,a,l]}},Xr=-34028234663852886e22,en=34028234663852886e22});var Ad,jn,Ge,ft,F,He,Qe,ut,ot,de,Yn,U,K,tn,qn,Ia,nr,Ue,$e=q(()=>{"use strict";We();xe();Ad=64,jn=(e,t)=>{if(t===3)throw new Error("vec3 has same alignment as vec4, use vec4 instead");switch(e){case 10:return t>1?`vec${t}<f16>`:"f16";case 1:return t>1?`vec${t}<f32>`:"f32";case 6:return t>1?`vec${t}<i32>`:"i32";case 12:return t>1?`vec${t}<u32>`:"u32";case 7:if(t>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","i32"];case 13:if(t>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","u32"];case 9:if(t!==4)throw new Error("bool must be vec4");return["u32","vec4<bool>"];default:throw new Error(`Unknown data type: ${e}`)}},Ge=(e,t=1)=>{let r=jn(e,t);return typeof r=="string"?r:r[0]},ft=(e,t=1)=>{let r=jn(e,t);return typeof r=="string"?r:r[1]},F=e=>e.length===0?[]:[{type:"uint32",data:e},{type:"uint32",data:V.computeStrides(e)}],He=e=>e%4===0?4:e%2===0?2:1,Qe=(e="f32",t,r="0")=>!t||t===1?`${e}(${r})`:`vec${t}<${e}>(${r})`,ut=(e,t,r)=>e==="f32"?r:t===1?`f32(${r})`:`vec${t}f(${r})`,ot=(e,t)=>t===4?`(${e}.x + ${e}.y + ${e}.z + ${e}.w)`:t===2?`(${e}.x + ${e}.y)`:t===3?`(${e}.x + ${e}.y + ${e}.z)`:e,de=(e,t,r)=>e.startsWith("uniforms.")&&r>4?typeof t=="string"?`${e}[(${t}) / 4][(${t}) % 4]`:`${e}[${Math.floor(t/4)}][${t%4}]`:r>1?`${e}[${t}]`:e,Yn=(e,t,r,o,n)=>{let s=typeof r=="number",u=s?r:r.length,l=[...new Array(u).keys()],a=u<2?"u32":u<=4?`vec${u}<u32>`:`array<u32, ${u}>`,p=jn(t,n),h=typeof p=="string"?p:p[1],g=typeof p=="string"?p:p[0],w={indices:a,value:h,storage:g,tensor:t},v=H=>typeof H=="string"?H:`${H}u`,y={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},_=s?"uniforms.":"",I=`${_}${e}_shape`,x=`${_}${e}_strides`,A="";for(let H=0;H<u-1;H++)A+=`\n    let dim${H} = current / ${de(x,H,u)};\n    let rest${H} = current % ${de(x,H,u)};\n    indices[${H}] = dim${H};\n    current = rest${H};\n    `;A+=`indices[${u-1}] = current;`;let O=u<2?"":`\n  fn o2i_${e}(offset: u32) -> ${w.indices} {\n    var indices: ${w.indices};\n    var current = offset;\n    ${A}\n    return indices;\n  }`,C=H=>(y.offsetToIndices=!0,u<2?H:`o2i_${e}(${H})`),M=[];if(u>=2)for(let H=u-1;H>=0;H--)M.push(`${de(x,H,u)} * (indices[${H}])`);let D=u<2?"":`\n  fn i2o_${e}(indices: ${w.indices}) -> u32 {\n    return ${M.join("+")};\n  }`,G=H=>(y.indicesToOffset=!0,u<2?H:`i2o_${e}(${H})`),E=(...H)=>u===0?"0u":`${w.indices}(${H.map(v).join(",")})`,W=(H,J)=>u<2?`${H}`:`${de(H,J,u)}`,te=(H,J,Ce)=>u<2?`${H}=${Ce};`:`${de(H,J,u)}=${Ce};`,Y={},Z=(H,J)=>{y.broadcastedIndicesToOffset=!0;let Ce=`${J.name}broadcastedIndicesTo${e}Offset`;if(Ce in Y)return`${Ce}(${H})`;let $t=[];for(let Me=u-1;Me>=0;Me--){let tt=J.indicesGet("outputIndices",Me+J.rank-u);$t.push(`${W(x,Me)} * (${tt} % ${W(I,Me)})`)}return Y[Ce]=`fn ${Ce}(outputIndices: ${J.type.indices}) -> u32 {\n             return ${$t.length>0?$t.join("+"):"0u"};\n           }`,`${Ce}(${H})`},ee=(H,J)=>(()=>{if(w.storage===w.value)return`${e}[${H}]=${J};`;if(w.storage==="vec2<u32>"&&w.value==="i32")return`${e}[${H}]=vec2<u32>(u32(${J}), select(0u, 0xFFFFFFFFu, ${J} < 0));`;if(w.storage==="vec2<u32>"&&w.value==="u32")return`${e}[${H}]=vec2<u32>(u32(${J}), 0u);`;if(w.storage==="u32"&&w.value==="vec4<bool>")return`${e}[${H}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${J}));`;throw new Error(`not supported combination of storage type ${w.storage} and value type ${w.value} yet`)})(),Te=H=>(()=>{if(w.storage===w.value)return`${e}[${H}]`;if(w.storage==="vec2<u32>"&&w.value==="i32")return`i32(${e}[${H}].x)`;if(w.storage==="vec2<u32>"&&w.value==="u32")return`u32(${e}[${H}].x)`;if(w.storage==="u32"&&w.value==="vec4<bool>")return`vec4<bool>(bool(${e}[${H}] & 0xFFu), bool(${e}[${H}] & 0xFF00u), bool(${e}[${H}] & 0xFF0000u), bool(${e}[${H}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${w.storage} and value type ${w.value} yet`)})(),De=u<2?"":`\n  fn get_${e}ByIndices(indices: ${w.indices}) -> ${h} {\n    return ${Te(`i2o_${e}(indices)`)};\n  }`,re=u<2?"":(()=>{let H=l.map(Ce=>`d${Ce}: u32`).join(", "),J=l.map(Ce=>`d${Ce}`).join(", ");return`\n  fn get_${e}(${H}) -> ${h} {\n    return get_${e}ByIndices(${E(J)});\n  }`})(),Ie=(...H)=>{if(H.length!==u)throw new Error(`indices length must be ${u}`);let J=H.map(v).join(",");return u===0?Te("0u"):u===1?Te(J[0]):(y.get=!0,y.getByIndices=!0,y.indicesToOffset=!0,`get_${e}(${J})`)},Oe=H=>u<2?Te(H):(y.getByIndices=!0,y.indicesToOffset=!0,`get_${e}ByIndices(${H})`),ie=u<2?"":`\n  fn set_${e}ByIndices(indices: ${w.indices}, value: ${h}) {\n    ${ee(`i2o_${e}(indices)`,"value")}\n  }`,Se=u<2?"":(()=>{let H=l.map(Ce=>`d${Ce}: u32`).join(", "),J=l.map(Ce=>`d${Ce}`).join(", ");return`\n  fn set_${e}(${H}, value: ${h}) {\n    set_${e}ByIndices(${E(J)}, value);\n  }`})();return{impl:()=>{let H=[],J=!1;return y.offsetToIndices&&(H.push(O),J=!0),y.indicesToOffset&&(H.push(D),J=!0),y.broadcastedIndicesToOffset&&(Object.values(Y).forEach(Ce=>H.push(Ce)),J=!0),y.set&&(H.push(Se),J=!0),y.setByIndices&&(H.push(ie),J=!0),y.get&&(H.push(re),J=!0),y.getByIndices&&(H.push(De),J=!0),!s&&J&&H.unshift(`const ${I} = ${w.indices}(${r.join(",")});`,`const ${x} = ${w.indices}(${V.computeStrides(r).join(",")});`),H.join(`\n`)},type:w,offsetToIndices:C,indicesToOffset:G,broadcastedIndicesToOffset:Z,indices:E,indicesGet:W,indicesSet:te,set:(...H)=>{if(H.length!==u+1)throw new Error(`indices length must be ${u}`);let J=H[u];if(typeof J!="string")throw new Error("value must be string");let Ce=H.slice(0,u).map(v).join(",");return u===0?ee("0u",J):u===1?ee(Ce[0],J):(y.set=!0,y.setByIndices=!0,y.indicesToOffset=!0,`set_${e}(${Ce}, ${J})`)},setByOffset:ee,setByIndices:(H,J)=>u<2?ee(H,J):(y.setByIndices=!0,y.indicesToOffset=!0,`set_${e}ByIndices(${H}, ${J});`),get:Ie,getByOffset:Te,getByIndices:Oe,usage:o,name:e,strides:x,shape:I,rank:u}},U=(e,t,r,o=1)=>Yn(e,t,r,"input",o),K=(e,t,r,o=1)=>Yn(e,t,r,"output",o),tn=(e,t,r,o=1)=>Yn(e,t,r,"internal",o),qn=class{constructor(t){this.normalizedDispatchGroup=t;this.internalVariables=[];this.variables=[];this.uniforms=[];this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(t){return`if (global_idx >= ${typeof t=="number"?`${t}u`:t}) { return; }`}mainStart(t=Ad){let r=typeof t=="number"?t:t[0],o=typeof t=="number"?1:t[1],n=typeof t=="number"?1:t[2],s=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1,u=s?`@builtin(global_invocation_id) global_id : vec3<u32>,\n    @builtin(workgroup_id) workgroup_id : vec3<u32>,\n    @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(local_invocation_id) local_id : vec3<u32>,\n    @builtin(local_invocation_index) local_idx : u32,\n    @builtin(workgroup_id) workgroup_id : vec3<u32>,\n    @builtin(num_workgroups) num_workgroups : vec3<u32>`,l=s?"let global_idx = global_id.x; let local_idx = local_id.x;":`let global_idx = (workgroup_id.z * num_workgroups[0] * num_workgroups[1] +\n          workgroup_id.y * num_workgroups[0] + workgroup_id.x) * ${r*o*n}u + local_idx;`;return`@compute @workgroup_size(${r}, ${o}, ${n})\n  fn main(${u}) {\n    ${l}\n  `}appendVariableUniforms(t){t.rank!==0&&(t.shape.startsWith("uniforms.")&&this.uniforms.push({name:t.shape.replace("uniforms.",""),type:"u32",length:t.rank}),t.strides.startsWith("uniforms.")&&this.uniforms.push({name:t.strides.replace("uniforms.",""),type:"u32",length:t.rank}))}declareVariable(t,r){if(t.usage==="internal")throw new Error("cannot use internal variable with declareVariable(). use registerInternalVariables() instead.");this.variables.push(t),this.appendVariableUniforms(t);let o=t.usage==="input"?"read":"read_write",n=t.type.storage;return`@group(0) @binding(${r}) var<storage, ${o}> ${t.name}: array<${n}>;`}declareVariables(...t){return t.map(r=>this.declareVariable(r,this.variableIndex++)).join(`\n`)}registerInternalVariable(t){if(t.usage!=="internal")throw new Error("cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.");this.internalVariables.push(t),this.appendVariableUniforms(t)}registerInternalVariables(...t){return t.forEach(r=>this.registerInternalVariable(r)),this}registerUniform(t,r,o=1){return this.uniforms.push({name:t,type:r,length:o}),this}registerUniforms(t){return this.uniforms=this.uniforms.concat(t),this}uniformDeclaration(){if(this.uniforms.length===0)return"";let t=[];for(let{name:r,type:o,length:n}of this.uniforms)if(n&&n>4)t.push(`${r}:array<vec4<${o}>, ${Math.ceil(n/4)}>`);else{let s=n==null||n===1?o:`vec${n}<${o}>`;t.push(`${r}:${s}`)}return`\n      struct Uniforms { ${t.join(", ")} };\n      @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(t=>t.impl()).join(`\n`)+this.internalVariables.map(t=>t.impl()).join(`\n`)}},Ia=e=>new qn(e),nr=(e,t)=>{let r=e.length,o=[];for(let n=0;n<r;n++){let s=r-1-n,u=e[s]||1;(t[t.length-1-n]||1)>1&&u===1&&o.unshift(s)}return o},Ue=e=>!0});var Td,Aa,Ed,Od,dt,Ta,Ea,or=q(()=>{"use strict";xe();Le();$e();Td=e=>{if(!e||e.length!==1)throw new Error("Transpose requires 1 input.")},Aa=(e,t)=>t&&t.length!==e?[...new Array(e).keys()].reverse():t,Ed=(e,t)=>V.sortBasedOnPerm(e,Aa(e.length,t)),Od=(e,t,r,o)=>{let n=[];n.push(`fn perm(i: ${o.type.indices}) -> ${r.type.indices} {\n    var a: ${r.type.indices};`);for(let s=0;s<t;++s)n.push(r.indicesSet("a",e[s],`i[${s}]`));return n.push("return a;}"),n.join(`\n`)},dt=(e,t)=>
5929{let r=e.dataType,o=e.dims.length,n=Aa(o,t),s=Ue(o),u=Ed(e.dims,n),l=s?u.length:u,a=s?o:e.dims,p=K("output",r,l),h=U("a",r,a),g=w=>`\n  ${w.registerUniform("output_size","u32").declareVariables(h,p)}\n\n  ${Od(n,o,h,p)}\n\n  ${w.mainStart()}\n    ${w.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n\n    let indices = ${p.offsetToIndices("global_idx")};\n    let aIndices = perm(indices);\n\n    ${p.setByOffset("global_idx",h.getByIndices("aIndices"))}\n  }`;return{name:"Transpose",shaderCache:{hint:`${t}`,inputDependencies:s?["rank"]:["dims"]},getRunData:w=>{let v=V.size(u);return{outputs:[{dims:u,dataType:w[0].dataType}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:s?[{type:"uint32",data:v},...F(w[0].dims),...F(u)]:[{type:"uint32",data:v}]}},getShaderSource:g}},Ta=(e,t)=>{Td(e.inputs),e.compute(dt(e.inputs[0],t.perm))},Ea=e=>he({perm:e.perm})});var Pd,Bd,kd,Rd,Dd,Md,Ud,zd,Vd,Nd,ht,Oa,Pa,Ba,ka,Ra,Da,Ma,Ua,za,Va,Na=q(()=>{"use strict";xe();$e();rn();or();Pd={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate * candidate",logSumExp:"bestValue + exp(candidate)",l1:"bestValue + abs(candidate)",l2:"bestValue + candidate * candidate",logSum:"bestValue + candidate"},Bd={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate",logSumExp:"bestValue + candidate",l1:"bestValue + candidate",l2:"bestValue + candidate",logSum:"bestValue + candidate"},kd={max:"_A[offset]",min:"_A[offset]",mean:"0",sum:"0",prod:"1",sumSquare:"0",logSumExp:"0",l1:"0",l2:"0",logSum:"0"},Rd={max:"bestValue",min:"bestValue",sum:"bestValue",prod:"bestValue",sumSquare:"bestValue",logSumExp:"log(bestValue)",l1:"bestValue",l2:"sqrt(bestValue)",logSum:"log(bestValue)"},Dd=(e,t)=>{let r=[];for(let o=t-e;o<t;++o)r.push(o);return r},Md=(e,t)=>{let r=[],o=e.length;for(let s=0;s<o;s++)t.indexOf(s)===-1&&r.push(e[s]);let n=t.map(s=>e[s]);return[r,n]},Ud=(e,t)=>{let r=e.length+t.length,o=[],n=0;for(let s=0;s<r;s++)t.indexOf(s)===-1?o.push(e[n++]):o.push(1);return o},zd=(e,t)=>{for(let r=0;r<e.length;++r)if(e[e.length-r-1]!==t-1-r)return!1;return!0},Vd=(e,t)=>{let r=[];if(!zd(e,t)){for(let o=0;o<t;++o)e.indexOf(o)===-1&&r.push(o);e.forEach(o=>r.push(o))}return r},Nd=(e,t,r,o,n,s,u)=>{let l=r[0].dims,a=V.size(s),p=V.size(u),h=U("_A",r[0].dataType,l),g=K("output",n,s),w=32,v=`\n          var<workgroup> aBestValues : array<${g.type.storage}, ${w}>;\n       `;return{name:e,shaderCache:t,getShaderSource:_=>`\n        ${_.registerUniform("reduceSize","u32").declareVariables(h,g)}\n        ${v}\n        fn DIV_CEIL(a : u32, b : u32) -> u32 {\n          return ((a - 1u) / b + 1u);\n         }\n         ${_.mainStart(w)}\n\n          let outputIndex = global_idx / ${w};\n          let offset = outputIndex * uniforms.reduceSize;\n\n          var bestValue = ${g.type.storage}(${kd[o]});\n          let Length = uniforms.reduceSize;\n          for (var k = local_idx; k < Length; k = k + ${w}) {\n           let candidate = ${g.type.storage}(${h.getByOffset("offset + k")});\n           bestValue = ${Pd[o]};\n          }\n          aBestValues[local_idx] = bestValue;\n          workgroupBarrier();\n\n         var reduceSize = min(Length, ${w}u);\n         for (var currentSize = reduceSize / 2u; reduceSize > 1u;\n             currentSize = reduceSize / 2u) {\n           let interval = DIV_CEIL(reduceSize, 2u);\n           if (local_idx < currentSize) {\n            let candidate = aBestValues[local_idx + interval];\n            bestValue = ${Bd[o]};\n            aBestValues[local_idx] = bestValue;\n           }\n           reduceSize = interval;\n           workgroupBarrier();\n         }\n\n         if (local_idx == 0u) {\n          ${g.setByOffset("outputIndex",`${o==="mean"?`bestValue / ${g.type.storage}(uniforms.reduceSize)`:`${Rd[o]}`}`)};\n         }\n        }`,getRunData:()=>({outputs:[{dims:s,dataType:n}],dispatchGroup:{x:a},programUniforms:[{type:"uint32",data:p}]})}},ht=(e,t,r,o)=>{let n=e.inputs.length===1?r:Zn(e.inputs,r),s=n.axes;s.length===0&&!n.noopWithEmptyAxes&&(s=e.inputs[0].dims.map((v,y)=>y));let u=V.normalizeAxes(s,e.inputs[0].dims.length),l=u,a=e.inputs[0],p=Vd(l,e.inputs[0].dims.length);p.length>
vendor: 8,384 bytes, line 5929
59290&&(a=e.compute(dt(e.inputs[0],p),{inputs:[0],outputs:[-1]})[0],l=Dd(l.length,a.dims.length));let[h,g]=Md(a.dims,l),w=h;n.keepDims&&(w=Ud(h,u)),e.compute(Nd(t,{hint:n.cacheKey,inputDependencies:["type"]},[a],o,e.inputs[0].dataType,w,g),{inputs:[a]})},Oa=(e,t)=>{ht(e,"ReduceMeanShared",t,"mean")},Pa=(e,t)=>{ht(e,"ReduceL1Shared",t,"l1")},Ba=(e,t)=>{ht(e,"ReduceL2Shared",t,"l2")},ka=(e,t)=>{ht(e,"ReduceLogSumExpShared",t,"logSumExp")},Ra=(e,t)=>{ht(e,"ReduceMaxShared",t,"max")},Da=(e,t)=>{ht(e,"ReduceMinShared",t,"min")},Ma=(e,t)=>{ht(e,"ReduceProdShared",t,"prod")},Ua=(e,t)=>{ht(e,"ReduceSumShared",t,"sum")},za=(e,t)=>{ht(e,"ReduceSumSquareShared",t,"sumSquare")},Va=(e,t)=>{ht(e,"ReduceLogSumShared",t,"logSum")}});var gt,Wd,nn,Zn,yt,Gd,Hd,Ld,Fd,Kd,qd,jd,Yd,Zd,Qd,bt,Wa,Ga,Ha,La,Fa,Ka,qa,ja,Ya,Za,rn=q(()=>{"use strict";xe();Le();$e();Na();gt=e=>{if(!e||e.length===0||e.length>2)throw new Error("Reduce op requires 1 or 2 inputs.");if(e.length===2&&e[1].dims.length!==1)throw new Error("Invalid axes input dims.")},Wd=e=>["","",`var value = ${e.getByIndices("input_indices")};`,""],nn=(e,t,r,o,n,s,u=!1,l=!1)=>{let a=[],p=r[0].dims,h=p.length,g=V.normalizeAxes(n,h),w=!l&&g.length===0;p.forEach((I,x)=>{w||g.indexOf(x)>=0?u&&a.push(1):a.push(I)});let v=a.length,y=V.size(a);return{name:e,shaderCache:t,getShaderSource:I=>{let x=[],A=U("_A",r[0].dataType,h),O=K("output",s,v),C=o(A,O,g),M=C[2];for(let D=0,G=0;D<h;D++)w||g.indexOf(D)>=0?(u&&G++,M=`for(var j${D}: u32 = 0; j${D} < ${p[D]}; j${D}++) {\n                  ${C[2].includes("last_index")?`let last_index = j${D};`:""}\n                  ${A.indicesSet("input_indices",D,`j${D}`)}\n                  ${M}\n                }`):(x.push(`${A.indicesSet("input_indices",D,O.indicesGet("output_indices",G))};`),G++);return`\n\n        ${I.registerUniform("output_size","u32").declareVariables(A,O)}\n\n        ${I.mainStart()}\n          ${I.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n          var input_indices: ${A.type.indices};\n          let output_indices = ${O.offsetToIndices("global_idx")};\n\n          ${x.join(`\n`)}\n          ${C[0]}       // init ops for reduce max/min\n          ${C[1]}\n          ${M}\n          ${C[3]}\n          ${C.length===4?O.setByOffset("global_idx","value"):C.slice(4).join(`\n`)}\n        }`},getRunData:()=>({outputs:[{dims:a,dataType:s}],dispatchGroup:{x:Math.ceil(y/64)},programUniforms:[{type:"uint32",data:y},...F(p),...F(a)]})}},Zn=(e,t)=>{let r=[];return e[1].dims[0]>0&&e[1].getBigInt64Array().forEach(o=>r.push(Number(o))),he({axes:r,keepDims:t.keepDims,noopWithEmptyAxes:t.noopWithEmptyAxes})},yt=(e,t,r,o)=>{let n=e.inputs,s=n.length===1?r:Zn(n,r);e.compute(nn(t,{hint:s.cacheKey,inputDependencies:["rank"]},[n[0]],s.noopWithEmptyAxes&&s.axes.length===0?Wd:o,s.axes,n[0].dataType,s.keepDims,s.noopWithEmptyAxes),{inputs:[0]})},Gd=(e,t)=>{gt(e.inputs),yt(e,"ReduceLogSum",t,(o,n)=>[`var value = ${n.type.storage}(0);`,"",`value += ${o.getByIndices("input_indices")};`,"value = log(value);"])},Hd=(e,t)=>{gt(e.inputs),yt(e,"ReduceL1",t,(o,n)=>[`var value = ${n.type.storage}(0);`,"",`value += abs(${o.getByIndices("input_indices")});`,""])},Ld=(e,t)=>{gt(e.inputs),yt(e,"ReduceL2",t,(o,n)=>[`var t = ${n.type.value}(0); var value = ${n.type.value}(0);`,"",`t = ${o.getByIndices("input_indices")}; value += (t * t);`,"value = sqrt(value);"])},Fd=(e,t)=>{gt(e.inputs),yt(e,"ReduceLogSumExp",t,(o,n)=>[`var value = ${n.type.storage}(0);`,"",`value += exp(${o.getByIndices("input_indices")});`,"value = log(value);"])},Kd=(e,t)=>{gt(e.inputs),yt(e,"ReduceMax",t,(o,n,s)=>{let u=[];for(let l=0;l<o.rank;l++)(s.indexOf(l)>=0||s.length===0)&&u.push(o.indicesSet("input_indices",l,0));return[`${u.join(`\n`)}`,`var value = ${o.getByIndices("input_indices")};`,`value = max(value, ${o.getByIndices("input_indices")});`,""]})},qd=(e,t)=>{gt(e.inputs),yt(e,"ReduceMean",t,(o,n,s)=>{let u=1;for(let l=0;l<o.rank;l++)(s.indexOf(l)>=0||s.length===0)&&(u*=e.inputs[0].dims[l]);return["var sum = f32(0);","",`sum += f32(${o.getByIndices("input_indices")});`,`let value = ${n.type.value}(sum / ${u});`]})},jd=(e,t)=>{gt(e.inputs),yt(e,"ReduceMin",t,(o,n,s)=>{let u=[];for(let l=0;l<o.rank;l++)(s.indexOf(l)>=0||s.length===0)&&u.push(`input_indices[${l}] = 0;`);return[`${u.join(`\n`)}`,`var value = ${o.getByIndices("input_indices")};`,`value = min(value, ${o.getByIndices("input_indices")});`,""]})},Yd=(e,t)=>{gt(e.inputs),yt(e,"ReduceProd",t,(o,n)=>[`var value = ${n.type.storage}(1);`,"",`value *= ${o.getByIndices("input_indices")};`,""])},Zd=(e,t)=>{gt(e.inputs),yt(e,"ReduceSum",t,(o,n)=>[`var value = ${n.type.storage}(0);`,"",`value += ${o.getByIndices("input_indices")};`,""])},Qd=(e,t)=>{gt(e.inputs),yt(e,"ReduceSumSquare",t,(o,n)=>[`var t = ${n.type.value}(0); var value = ${n.type.value}(0);`,"",`t = ${o.getByIndices("input_indices")}; value += t * t;`,""])},bt=(e,t,r)=>{if(t.length===0)return r;let o=1,n=1;for(let s=0;s<t.length;s++)t.indexOf(s)===-1?o*=e[s]:n*=e[s];return n<32&&o>1024},Wa=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?qd(e,t):Oa(e,t)},Ga=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Hd(e,t):Pa(e,t)},Ha=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Ld(e,t):Ba(e,t)},La=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Fd(e,t):ka(e,t)},Fa=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Kd(e,t):Ra(e,t)},Ka=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?jd(e,t):Da(e,t)},qa=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Yd(e,t):Ma(e,t)},ja=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Zd(e,t):Ua(e,t)},Ya=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Qd(e,t):za(e,t)},Za=(e,t)=>{bt(e.inputs[0].dims,t.axes,t.noopWithEmptyAxes)?Gd(e,t):Va(e,t)}});var Qa,Ja,Xa,Qn,ei=q(()=>{"use strict";We();Le();rn();Qa=e=>{if(!e||e.length===0||e.length>2)throw new Error("ArgMinMaxOp op requires 1 or 2 inputs.");if(e[0].dataType!==1)throw new Error("Invalid input type.")},Ja=(e,t)=>{Qa(e.inputs);let r=(o,n,s)=>{let u=[];for(let l=0;l<o.rank;l++)(s.indexOf(l)>=0||s.length===0)&&u.push(`input_indices[${l}] = 0;`);return[`${u.join(`\n`)}`,`var value = ${o.getByIndices("input_indices")};\nvar best_index : i32 = 0;`,`if (${o.getByIndices("input_indices")} ${t.selectLastIndex>0?"<=":"<"} value) {\n         value = ${o.getByIndices("input_indices")};\n         best_index = i32(last_index);\n       }`,"",n.setByOffset("global_idx","best_index")]};e.compute(nn("ArgMin",{hint:t.cacheKey,inputDependencies:["rank"]},[e.inputs[0]],r,[t.axis],7,t.keepDims),{inputs:[0]})},Xa=(e,t)=>{Qa(e.inputs);let r=(o,n,s)=>{let u=[];for(let l=0;l<o.rank;l++)(s.indexOf(l)>=0||s.length===0)&&u.push(`input_indices[${l}] = 0;`);return[`${u.join(`\n`)}`,`var value = ${o.getByIndices("input_indices")};\nvar best_index : i32 = 0;`,`if (${o.getByIndices("input_indices")} ${t.selectLastIndex>0?">=":">"} value) {\n         value = ${o.getByIndices("input_indices")};\n         best_index = i32(last_index);\n       }`,"",n.setByOffset("global_idx","best_index")]};e.compute(nn("argMax",{hint:t.cacheKey,inputDependencies:["rank"]},[e.inputs[0]],r,[t.axis],7,t.keepDims),{inputs:[0]})},Qn=e=>he(e)});var Jd,Xd,el,tl,on,rl,ti,Jn=q(()=>{"use strict";We();Zr();$e();Jd=(e,t)=>{let r=e[0],o=e[1],n=e[2],s=e[3],u=e[4],l=e[5];if(u&&l)throw new Error("Attention cannot have both past and relative_position_bias");if(r.dims.length!==3)throw new Error(\'Input "input" must have 3 dimensions\');let a=r.dims[0],p=r.dims[1],h=r.dims[2];if(n.dims.length!==1)throw new Error(\'Input "bias" is expected to have 1 dimensions\');if(o.dims.length!==2)throw new Error(\'Input "weights" is expected to have 2 dimensions\');if(o.dims[0]!==h)throw new Error("Input 1 dimension 0 should have same length as dimension 2 of input 0");if(n.dims[0]!==o.dims[1])throw new Error(\'Input "bias" dimension 0 should have same length as dimension 1 of input "weights"\');let g=n.dims[0]/3,w=g,v=w;if(t.qkvHiddenSizes.length>0){if(t.qkvHiddenSizes.length!==3)throw new Error("qkv_hidden_sizes attribute should have 3 elements");for(let O of t.qkvHiddenSizes)if(O%t.numHeads!==0)throw new Error("qkv_hidden_sizes should be divisible by num_heads");g=t.qkvHiddenSizes[0],w=t.qkvHiddenSizes[1],v=t.qkvHiddenSizes[2]}let y=p;if(g!==w)throw new Error("qkv_hidden_sizes first element should be same as the second");
5929if(n.dims[0]!==g+w+v)throw new Error(\'Input "bias" dimension 0 should have same length as sum of Q/K/V hidden sizes\');let _=0;if(u){if(w!==v)throw new Error(\'Input "past" expect k_hidden_size == v_hidden_size\');if(u.dims.length!==5)throw new Error(\'Input "past" must have 5 dimensions\');if(u.dims[0]!==2)throw new Error(\'Input "past" first dimension must be 2\');if(u.dims[1]!==a)throw new Error(\'Input "past" second dimension must be batch_size\');if(u.dims[2]!==t.numHeads)throw new Error(\'Input "past" third dimension must be num_heads\');if(u.dims[4]!==w/t.numHeads)throw new Error(\'Input "past" fifth dimension must be k_hidden_size / num_heads\');t.pastPresentShareBuffer||(_=u.dims[3])}let I=y+_,x=-1,A=0;if(s)throw new Error("Mask not supported");if(u)throw new Error("past is not supported");if(l)throw new Error("relativePositionBias is not supported");return{batchSize:a,sequenceLength:p,pastSequenceLength:_,kvSequenceLength:y,totalSequenceLength:I,maxSequenceLength:x,inputHiddenSize:h,hiddenSize:g,vHiddenSize:v,headSize:Math.floor(g/t.numHeads),vHeadSize:Math.floor(v/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:A,scale:t.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},Xd=(e,t,r,o)=>{let n=He(o),s=64,u=o/n;u<s?s=1:u/8<64&&(s=Math.ceil(u/8));let l=Math.ceil(o/n/s),p=[{type:nt(t.dataType),data:1/o},{type:"uint32",data:u},{type:"uint32",data:l}],h=Ge(t.dataType,n),g=w=>{let v=K("x",t.dataType,t.dims,n),y="thread_max_vector";n===2?y="max(thread_max_vector.x, thread_max_vector.y)":n===4&&(y="max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))");let _=ft(t.dataType),I=[{name:"d_inv",type:_},{name:"d_comp",type:"u32"},{name:"elements_per_wg",type:"u32"}];return`\n  var<workgroup> wgMax: array<f32, ${s}>;\n  var<workgroup> wgSum: array<f32, ${s}>;\n  ${w.registerUniforms(I).declareVariables(v)}\n  ${w.mainStart([s,1,1])}\n    let localOffset = local_idx * uniforms.elements_per_wg;\n    let offset: u32 = workgroup_id.x * uniforms.d_comp + localOffset;\n\n    var thread_max_vector = ${Qe("f32",n,"-3.402823e+38f")};\n    for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n      thread_max_vector = max(${ut(_,n,"x[offset + i]")}, thread_max_vector);\n    }\n    wgMax[local_idx] = ${y};\n    workgroupBarrier();\n\n    var maxValue = -3.402823e+38f;\n    for (var i = 0u; i < ${s}; i++) {\n      maxValue = max(wgMax[i], maxValue);\n    }\n\n    var sumVector = ${Qe("f32",n,"0")};\n    for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n      sumVector += exp(${ut(_,n,"x[offset + i]")} - maxValue);\n    }\n    wgSum[local_idx] = ${ot("sumVector",n)};\n    workgroupBarrier();\n\n    var sum: f32 = 0;\n    for (var i = 0u; i < ${s}; i++) {\n      sum += wgSum[i];\n    }\n\n    if (sum == 0) {\n      for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n        x[offset + i] = ${Qe("f32",n,"uniforms.d_inv")};\n      }\n    } else {\n      for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) {\n        let f32input = ${ut(_,n,"x[offset + i]")};\n        x[offset + i] = ${v.type.value}(exp(f32input - maxValue) / sum);\n      }\n    }\n  }`};e.compute({name:"AttentionProbsSoftmax",shaderCache:{hint:`${s};${h};${n}`},getShaderSource:g,getRunData:()=>({outputs:[],dispatchGroup:{x:r},programUniforms:p})},{inputs:[t],outputs:[]})},el=(e,t,r,o,n,s)=>{let u=[n.batchSize,n.numHeads,n.sequenceLength,n.kvSequenceLength+n.pastSequenceLength],l=s.scale===0?1/Math.sqrt(n.headSize):s.scale,a=He(n.headSize),p=n.headSize/a,h=12,g={x:Math.ceil(n.totalSequenceLength/h),y:Math.ceil(n.sequenceLength/h),z:n.batchSize*n.numHeads},w=nt(t.dataType),v=[{type:"uint32",data:n.sequenceLength},{type:"uint32",data:p},{type:"uint32",data:n.totalSequenceLength},{type:"uint32",data:n.kvSequenceLength},{type:w,data:l}],y=[t,r],_=x=>{let A=U("q",t.dataType,t.dims,a),O=U("key",r.dataType,r.dims,a),C=K("output",t.dataType,u),M=Ge(t.dataType),D=[{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"alpha",type:M}];return`\n  const beta: ${M} = 1.0;\n  const TILE_SIZE = ${h}u;\n\n  var<workgroup> tileQ: array<${A.type.storage}, ${h*h}>;\n  var<workgroup> tileK: array<${A.type.storage}, ${h*h}>;\n  ${x.registerUniforms(D).declareVariables(A,O,C)}\n  ${x.mainStart([h,h,1])}\n    // x holds the N and y holds the M\n    let headIdx = workgroup_id.z;\n    let m = workgroup_id.y * TILE_SIZE;\n    let n = workgroup_id.x * TILE_SIZE;\n    let lm = m + local_id.y;\n    let ln = n + local_id.x;\n\n    let qOffset = uniforms.M * uniforms.K * headIdx + m * uniforms.K;\n    let kOffset = uniforms.kv_sequence_length * uniforms.K * headIdx + n * uniforms.K;\n\n    var value = ${Qe(M,a)};\n    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n      if (m + local_id.y < uniforms.M && w + local_id.x < uniforms.K) {\n        tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];\n      }\n      if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {\n        tileK[TILE_SIZE * local_id.y + local_id.x] = key[kOffset + local_id.y * uniforms.K + w + local_id.x];\n      }\n      workgroupBarrier();\n\n      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {\n        value += tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k];\n      }\n\n      workgroupBarrier();\n    }\n\n    let headOffset = headIdx * uniforms.M * uniforms.N;\n    if (lm < uniforms.M && ln < uniforms.N) {\n      let outputIdx = headOffset + lm * uniforms.N + ln;\n      output[outputIdx] = ${ot("value",a)} * uniforms.alpha;\n    }\n  }`},I=e.compute({name:"AttentionProbs",shaderCache:{hint:`${a}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:u,dataType:t.dataType,gpuDataType:0}],dispatchGroup:g,programUniforms:v}),getShaderSource:_},{inputs:y,outputs:[-1]})[0];return Xd(e,I,n.batchSize*n.numHeads*n.sequenceLength,n.totalSequenceLength),I}
5929,tl=(e,t,r,o)=>{let n=[o.batchSize,o.sequenceLength,o.vHiddenSize],s=12,u={x:Math.ceil(o.vHeadSize/s),y:Math.ceil(o.sequenceLength/s),z:o.batchSize*o.numHeads},l=[{type:"uint32",data:o.sequenceLength},{type:"uint32",data:o.totalSequenceLength},{type:"uint32",data:o.vHeadSize},{type:"uint32",data:o.numHeads},{type:"uint32",data:o.vHiddenSize}],a=p=>{let h=U("probs",t.dataType,t.dims),g=U("v",r.dataType,r.dims),w=K("output",t.dataType,n),v=[{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"v_hidden_size",type:"u32"}];return`\n  const TILE_SIZE = ${s}u;\n  var<workgroup> tileQ: array<${h.type.value}, ${s*s}>;\n  var<workgroup> tileK: array<${h.type.value}, ${s*s}>;\n  ${p.registerUniforms(v).declareVariables(h,g,w)}\n  ${p.mainStart([s,s,1])}\n   let headIdx = workgroup_id.z;\n   let m = workgroup_id.y * TILE_SIZE + local_id.y;\n   let n = workgroup_id.x * TILE_SIZE + local_id.x;\n\n   let offsetA = headIdx * (uniforms.M * uniforms.K) + m * uniforms.K;\n   let offsetB = headIdx * (uniforms.N * uniforms.K) + n;
5929\n\n   var value = ${h.type.storage}(0);\n   for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n     if (m < uniforms.M && w + local_id.x < uniforms.K) {\n       tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];\n     }\n     if (n < uniforms.N && w + local_id.y < uniforms.K) {\n       tileK[TILE_SIZE * local_id.y + local_id.x] = v[offsetB + (w + local_id.y) * uniforms.N];\n     }\n     workgroupBarrier();\n     for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {\n       value += tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * k + local_id.x];\n     }\n     workgroupBarrier();\n   }\n\n   // we need to transpose output from BNSH_v to BSND_v\n   let batchIdx = workgroup_id.z / uniforms.num_heads;\n   let currentBatchHeadNumber = workgroup_id.z % uniforms.num_heads;\n   let headOffset = (batchIdx * uniforms.M * uniforms.num_heads + currentBatchHeadNumber) * uniforms.N;\n   if (m < uniforms.M && n < uniforms.N) {\n     let outputIdx = batchIdx * uniforms.M *uniforms.v_hidden_size + m * uniforms.v_hidden_size\n       + currentBatchHeadNumber * uniforms.N + n;\n     output[outputIdx] = value;\n   }\n  }`};return e.compute({name:"AttentionScore",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:n,dataType:t.dataType,gpuDataType:0}],dispatchGroup:u,programUniforms:l}),getShaderSource:a},{inputs:[t,r],outputs:[0]})[0]},on=(e,t,r,o,n,s,u,l,a,p,h)=>{let g=el(e,t,r,a,p,h);tl(e,g,o,p)},rl=(e,t)=>{let r=[t.batchSize,t.numHeads,t.sequenceLength,t.headSize],o=t.sequenceLength,n=t.inputHiddenSize,s=t.headSize,u=12,l={x:Math.ceil(t.headSize/u),y:Math.ceil(t.sequenceLength/u),z:t.batchSize*t.numHeads},a=[e.inputs[0],e.inputs[1],e.inputs[2]],p=[{type:"uint32",data:o},{type:"uint32",data:n},{type:"uint32",data:s},{type:"uint32",data:t.numHeads},{type:"uint32",data:t.headSize},{type:"uint32",data:t.hiddenSize},{type:"uint32",data:t.hiddenSize+t.hiddenSize+t.vHiddenSize}],h=g=>{let w=K("output_q",a[0].dataType,r),v=K("output_k",a[0].dataType,r),y=K("output_v",a[0].dataType,r),_=U("input",a[0].dataType,a[0].dims),I=U("weight",a[1].dataType,a[1].dims),x=U("bias",a[2].dataType,a[2].dims),A=_.type.storage,O=[{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"hidden_size",type:"u32"},{name:"ldb",type:"u32"}];return`\n  const TILE_SIZE = ${u}u;\n  var<workgroup> tileInput: array<${A}, ${u*u}>;\n  var<workgroup> tileWeightQ: array<${A}, ${u*u}>;\n  var<workgroup> tileWeightK: array<${A}, ${u*u}>;\n  var<workgroup> tileWeightV: array<${A}, ${u*u}>;\n  ${g.registerUniforms(O).declareVariables(_,I,x,w,v,y)}\n  ${g.mainStart([u,u,1])}\n    let batchIndex = workgroup_id.z / uniforms.num_heads;\n    let headNumber = workgroup_id.z % uniforms.num_heads;\n    let m = workgroup_id.y * TILE_SIZE + local_id.y;\n    let n = workgroup_id.x * TILE_SIZE + local_id.x;\n\n    let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;\n    let biasOffsetQ = headNumber * uniforms.head_size;\n    let biasOffsetK = uniforms.hidden_size + biasOffsetQ;\n    let biasOffsetV = uniforms.hidden_size + biasOffsetK;\n\n    var valueQ = ${A}(0);\n    var valueK = ${A}(0);\n    var valueV = ${A}(0);\n    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {\n      if (m < uniforms.M && w + local_id.x < uniforms.K) {\n        tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];\n      }\n      if (n < uniforms.N && w + local_id.y < uniforms.K) {\n        let offset = n + (w + local_id.y) * uniforms.ldb;\n        tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];\n        tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];\n        tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];\n      }\n      workgroupBarrier();\n      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {\n        let inputTileOffset = TILE_SIZE * local_id.y + k;\n        let weightTileOffset = TILE_SIZE * k + local_id.x;\n        valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];\n        valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];\n        valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];\n      }\n\n      workgroupBarrier();\n    }\n\n    let headOffset = (m * uniforms.N + n) % uniforms.head_size;\n    valueQ += bias[headOffset + biasOffsetQ];\n    valueK += bias[headOffset + biasOffsetK];\n    valueV += bias[headOffset + biasOffsetV];\n\n    let offset = workgroup_id.z * uniforms.M * uniforms.N;\n    if (m < uniforms.M && n < uniforms.N) {\n      let outputIdx = offset + m * uniforms.N + n;\n      output_q[outputIdx] = valueQ;\n      output_k[outputIdx] = valueK;\n      output_v[outputIdx] = valueV;\n    }\n  }`};return e.compute({name:"AttentionPrepare",shaderCache:{inputDependencies:["type","type","type"]},getRunData:()=>
vendor: 4,337 bytes, line 5929
5929({outputs:[{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0},{dims:r,dataType:e.inputs[0].dataType,gpuDataType:0}],dispatchGroup:l,programUniforms:p}),getShaderSource:h},{inputs:a,outputs:[-1,-1,-1]})},ti=(e,t)=>{let r=Jd(e.inputs,t),[o,n,s]=rl(e,r);return on(e,o,n,s,e.inputs[4],void 0,void 0,void 0,e.inputs[5],r,t)}});var nl,ol,al,ri,ni=q(()=>{"use strict";rr();xe();Le();$e();nl=(e,t)=>{if(!e||e.length!==5)throw new Error("BatchNormalization requires 5 inputs");let r=(o,n,s)=>{let u=n.length;if(u!==o.length)throw new Error(`${s}: num dimensions != ${u}`);n.forEach((l,a)=>{if(l!==o[a])throw new Error(`${s}: dim[${a}] do not match`)})};if(e[0].dims.length>1){let o=t.format==="NHWC"?t.spatial?e[0].dims.slice(-1):e[0].dims.slice(-1).concat(e[0].dims.slice(1,e[0].dims.length-1)):e[0].dims.slice(1,t.spatial?2:void 0);r(e[1].dims,o,"Invalid input scale"),r(e[2].dims,o,"Invalid input B"),r(e[3].dims,o,"Invalid input mean"),r(e[4].dims,o,"Invalid input var")}else r(e[1].dims,[1],"Invalid input scale"),r(e[2].dims,[1],"Invalid input B"),r(e[3].dims,[1],"Invalid input mean"),r(e[4].dims,[1],"Invalid input var")},ol=(e,t)=>{let{epsilon:r,spatial:o,format:n}=t,s=e[0].dims,u=o?He(s[s.length-1]):1,l=n==="NHWC"&&s.length>1?u:1,a=V.size(s)/u,p=Ue(s.length)&&o,h=p?s.length:s,g=U("x",e[0].dataType,e[0].dims,u),w=U("scale",e[1].dataType,e[1].dims,l),v=U("bias",e[2].dataType,e[2].dims,l),y=U("inputMean",e[3].dataType,e[3].dims,l),_=U("inputVar",e[4].dataType,e[4].dims,l),I=K("y",e[0].dataType,h,u),x=()=>{let O="";if(o)O=`let cOffset = ${s.length===1?"0u":n==="NHWC"?`outputIndices[${s.length-1}] / ${u}`:"outputIndices[1]"};`;else if(n==="NCHW")O=`\n            ${I.indicesSet("outputIndices","0","0")}\n            let cOffset = ${I.indicesToOffset("outputIndices")};`;else{O=`var cIndices = ${w.type.indices}(0);\n                       cIndices[0] = outputIndices[${s.length-1}];`;for(let C=1;C<w.rank;C++)O+=`cIndices[${C}] = outputIndices[${C}];`;O+=`let cOffset = ${w.indicesToOffset("cIndices")};`}return O},A=O=>`\n  const epsilon = ${r};\n  ${O.registerUniform("outputSize","u32").declareVariables(g,w,v,y,_,I)}\n  ${O.mainStart()}\n  ${O.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n    var outputIndices = ${I.offsetToIndices(`global_idx * ${u}`)};\n    ${x()}\n    let scale = ${w.getByOffset("cOffset")};\n    let bias = ${v.getByOffset("cOffset")};\n    let inputMean = ${y.getByOffset("cOffset")};\n    let inputVar = ${_.getByOffset("cOffset")};\n    let x = ${g.getByOffset("global_idx")};\n    let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;\n    ${I.setByOffset("global_idx","value")}\n  }`;return{name:"BatchNormalization",shaderCache:{hint:`${t.epsilon}_${t.format}_${o}_${u}`,inputDependencies:p?["rank","type","type","type","type"]:void 0},getShaderSource:A,getRunData:()=>({outputs:[{dims:e[0].dims,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:p?[{type:"uint32",data:a},...F(s)]:[{type:"uint32",data:a}]})}},al=e=>he(e),ri=(e,t)=>{let{inputs:r,outputCount:o}=e,n=al({...t,outputCount:o});if(tr.webgpu.validateInputContent&&nl(r,n),t.trainingMode)throw new Error("BatchNormalization trainingMode is not supported yet.");e.compute(ol(r,n))}});var il,sl,oi,ai=q(()=>{"use strict";xe();$e();il=e=>{if(e[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![320,640,1280].includes(e[0].dims[2]))throw new Error("number of channels should be 320, 640 or 1280");if(e[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(e[0].dims[2]!==e[1].dims[0])throw new Error("last dimension of input and bias are not the same")},sl=e=>{let t=e[0].dims,r=e[0].dims[2],o=V.size(t)/4,n=e[0].dataType,s=U("input",n,t,4),u=U("bias",n,[r],4),l=U("residual",n,t,4),a=K("output",n,t,4);return{name:"BiasAdd",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(o/64)}}),getShaderSource:h=>`\n  const channels = ${r}u / 4;\n  ${h.declareVariables(s,u,l,a)}\n\n  ${h.mainStart()}\n    ${h.guardAgainstOutOfBoundsWorkgroupSizes(o)}\n    let value = ${s.getByOffset("global_idx")}\n      + ${u.getByOffset("global_idx % channels")} + ${l.getByOffset("global_idx")};\n    ${a.setByOffset("global_idx","value")}\n  }`}},oi=e=>
5929{il(e.inputs),e.compute(sl(e.inputs))}});var ul,Ee,ii,si,ui,di,li,ci,pi,mi,fi,dl,hi,gi,yi,bi,an,wi,sn,vi,$i,Si,xi,_i,Ci,Ii,Ai,Ti,Ei,Oi,Pi,Bi,ki,Ri,Di,Mi,Xn=q(()=>{"use strict";We();xe();Le();$e();ul=(e,t,r,o,n,s)=>{let u=Math.ceil(t/4),l="";typeof n=="string"?l=`${n}(a)`:l=n("a");let a=U("inputData",r,[u],4),p=K("outputData",o,[u],4);return`\n      ${e.registerUniform("vec_size","u32").declareVariables(a,p)}\n\n  ${s??""}\n\n  ${e.mainStart()}\n    ${e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}\n\n    let a = ${a.getByOffset("global_idx")};\n    ${p.setByOffset("global_idx",l)}\n  }`},Ee=(e,t,r,o,n,s=e.dataType)=>({name:t,shaderCache:{hint:n,inputDependencies:["type"]},getShaderSource:u=>ul(u,V.size(e.dims),e.dataType,s,r,o),getRunData:u=>({outputs:[{dims:e.dims,dataType:s}],dispatchGroup:{x:Math.ceil(V.size(u[0].dims)/64/4)},programUniforms:[{type:"uint32",data:Math.ceil(V.size(e.dims)/4)}]})}),ii=e=>{e.compute(Ee(e.inputs[0],"Abs","abs"))},si=e=>{e.compute(Ee(e.inputs[0],"Acos","acos"))},ui=e=>{e.compute(Ee(e.inputs[0],"Acosh","acosh"))},di=e=>{e.compute(Ee(e.inputs[0],"Asin","asin"))},li=e=>{e.compute(Ee(e.inputs[0],"Asinh","asinh"))},ci=e=>{e.compute(Ee(e.inputs[0],"Atan","atan"))},pi=e=>{e.compute(Ee(e.inputs[0],"Atanh","atanh"))},mi=e=>he(e),fi=(e,t)=>{let r;switch(t.to){case 10:r="vec4<f16>";break;case 1:r="vec4<f32>";break;case 12:r="vec4<u32>";break;case 6:r="vec4<i32>";break;case 9:r="vec4<bool>";break;default:throw new RangeError(`not supported type (specified in attribute \'to\' from \'Cast\' operator): ${t.to}`)}e.compute(Ee(e.inputs[0],"Cast",r,void 0,t.cacheKey,t.to))},dl=e=>{let t=e.length>=2&&e[1].data!==0?e[1].getFloat32Array()[0]:Xr,r=e.length>=3&&e[2].data!==0?e[2].getFloat32Array()[0]:en;return he({min:t,max:r})},hi=(e,t)=>{let r=e.inputs.length===1?t:dl(e.inputs),o=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"Clip",n=>`clamp(${n}, clip_min_, clip_max_)`,`\n    const clip_min_: vec4<${o}> = vec4(${o}(${r.min}));\n    const clip_max_: vec4<${o}> = vec4(${o}(${r.max}));\n`,r.cacheKey),{inputs:[0]})},gi=e=>{e.compute(Ee(e.inputs[0],"Ceil","ceil"))},yi=e=>{e.compute(Ee(e.inputs[0],"Cos","cos"))},bi=e=>{e.compute(Ee(e.inputs[0],"Cosh","cosh"))},an=e=>he(e),wi=(e,t)=>{let r=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"Elu",o=>`elu_vf32(${o})`,`\n  const elu_alpha_ = ${r}(${t.alpha});\n\n  fn elu_f32(a: ${r}) -> ${r} {\n  return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);\n  }\n\n  fn elu_vf32(v: vec4<${r}>) -> vec4<${r}> {\n  return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));\n  }`,t.cacheKey))},sn=(e,t="f32")=>`\nconst r0: ${t} = 0.3275911;\nconst r1: ${t} = 0.254829592;\nconst r2: ${t} = -0.284496736;\nconst r3: ${t} = 1.421413741;\nconst r4: ${t} = -1.453152027;\nconst r5: ${t} = 1.061405429;\n\nfn erf_vf32(v: ${e}) -> ${e} {\n  let absv = abs(v);\n  let x = 1.0 / (1.0 + r0 * absv);\n  return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));\n}`,vi=e=>{let t=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"Erf",r=>`erf_vf32(${r})`,sn(`vec4<${t}>`,t)))},$i=e=>{e.compute(Ee(e.inputs[0],"Exp","exp"))},Si=e=>{e.compute(Ee(e.inputs[0],"Floor","floor"))},xi=e=>{let t=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"Gelu",r=>`0.5 * ${r} * (1.0 + erf_vf32(${r} * 0.7071067811865475))`,sn(`vec4<${t}>`,t)))},_i=(e,t)=>{let r=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"LeakyRelu",o=>`select(leaky_relu_alpha_ * ${o}, ${o}, ${o} >= vec4<${r}>(0.0))`,`const leaky_relu_alpha_ = ${r}(${t.alpha});`,t.cacheKey))},Ci=e=>{e.compute(Ee(e.inputs[0],"Not",t=>`!${t}`))},Ii=e=>{e.compute(Ee(e.inputs[0],"Neg",t=>`-${t}`))},Ai=e=>{e.compute(Ee(e.inputs[0],"Reciprocal",t=>`1.0/${t}`))},Ti=e=>{let t=ft(e.inputs[0].dataType);e.compute(Ee(e.inputs[0],"Relu",r=>`select(vec4<${t}>(0.0), ${r}, ${r} > vec4<${t}>(0.0))`))},Ei=e=>{e.compute(Ee(e.inputs[0],"Sigmoid",t=>`(1.0 / (1.0 + exp(-${t})))`))},Oi=e=>{e.compute(Ee(e.inputs[0],"Sin","sin"))},Pi=e=>{e.compute(Ee(e.inputs[0],"Sinh","sinh"))},Bi=e=>{e.compute(Ee(e.inputs[0],"Sqrt","sqrt"))},ki=e=>
vendor: 4,633 bytes, line 5929
5929{e.compute(Ee(e.inputs[0],"Tan","tan"))},Ri=e=>{e.compute(Ee(e.inputs[0],"Tanh","tanh"))},Di=(e,t)=>{let r=ft(e.inputs[0].dataType);return e.compute(Ee(e.inputs[0],"ThresholdedRelu",o=>`select(vec4<${r}>(0.0), ${o}, ${o} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${r}>(${t.alpha});`,t.cacheKey)),0},Mi=e=>{e.compute(Ee(e.inputs[0],"Log","log"))}});var cl,pl,Ui,zi=q(()=>{"use strict";xe();$e();Xn();cl=e=>{if(e[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![2560,5120,10240].includes(e[0].dims[2]))throw new Error("hidden state should be 2560, 5120 or 10240");if(e[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(e[0].dims[2]!==e[1].dims[0])throw new Error("last dimension of input and bias are not the same")},pl=e=>{let t=e[0].dims.slice();t[2]=t[2]/2;let r=U("input",e[0].dataType,e[0].dims,4),o=U("bias",e[0].dataType,[e[0].dims[2]],4),n=K("output",e[0].dataType,t,4),s=V.size(t)/4,u=Ge(e[0].dataType);return{name:"BiasSplitGelu",getRunData:()=>({outputs:[{dims:t,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)}}),getShaderSource:a=>`\n  const M_SQRT2 = sqrt(2.0);\n  const halfChannels = ${e[0].dims[2]/4/2}u;\n\n  ${a.declareVariables(r,o,n)}\n\n  ${sn(`vec4<${u}>`,u)}\n\n  ${a.mainStart()}\n    ${a.guardAgainstOutOfBoundsWorkgroupSizes(s)}\n    let biasIdx = global_idx % halfChannels;\n    let batchIndex = global_idx / halfChannels;\n    let inputOffset = biasIdx + batchIndex * halfChannels * 2;\n    let valueLeft = input[inputOffset] + bias[biasIdx];\n    let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];\n    let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);\n\n    ${n.setByOffset("global_idx","valueLeft * geluRight")}\n  }`}},Ui=e=>{cl(e.inputs),e.compute(pl(e.inputs))}});var ml,fl,wt,Vi,Ni,Wi,Gi,Hi,Li,Fi,Ki,qi,ji,Yi=q(()=>{"use strict";We();xe();$e();ml=(e,t,r,o,n,s,u,l,a,p,h,g,w)=>{let v,y;typeof l=="string"?v=y=(D,G)=>`${l}((${D}),(${G}))`:typeof l=="function"?v=y=l:(v=l.scalar,y=l.vector);let _=g?t.length:t,I=g?r.length:r,x=g?o.length:o,A=K("outputData",h,x,4),O=U("aData",a,_,4),C=U("bData",p,I,4),M;if(n)if(s){let D=V.size(t)===1,G=V.size(r)===1,E=t.length>0&&t[t.length-1]%4===0,W=r.length>0&&r[r.length-1]%4===0;D||G?M=A.setByOffset("global_idx",y(D?`${O.type.value}(${O.getByOffset("0")}.x)`:O.getByOffset("global_idx"),G?`${C.type.value}(${C.getByOffset("0")}.x)`:C.getByOffset("global_idx"))):M=`\n            let outputIndices = ${A.offsetToIndices("global_idx * 4u")};\n            let offsetA = ${O.broadcastedIndicesToOffset("outputIndices",A)};\n            let offsetB = ${C.broadcastedIndicesToOffset("outputIndices",A)};\n            ${A.setByOffset("global_idx",y(u||E?O.getByOffset("offsetA / 4u"):`${O.type.value}(${O.getByOffset("offsetA / 4u")}[offsetA % 4u])`,u||W?C.getByOffset("offsetB / 4u"):`${C.type.value}(${C.getByOffset("offsetB / 4u")}[offsetB % 4u])`))}\n          `}else M=A.setByOffset("global_idx",y(O.getByOffset("global_idx"),C.getByOffset("global_idx")));else{if(!s)throw new Error("no necessary to use scalar implementation for element-wise binary op implementation.");let D=(G,E,W="")=>{let te=`aData[indexA${E}][componentA${E}]`,Y=`bData[indexB${E}][componentB${E}]`;return`\n            let outputIndices${E} = ${A.offsetToIndices(`global_idx * 4u + ${E}u`)};\n            let offsetA${E} = ${O.broadcastedIndicesToOffset(`outputIndices${E}`,A)};\n            let offsetB${E} = ${C.broadcastedIndicesToOffset(`outputIndices${E}`,A)};\n            let indexA${E} = offsetA${E} / 4u;\n            let indexB${E} = offsetB${E} / 4u;\n            let componentA${E} = offsetA${E} % 4u;\n            let componentB${E} = offsetB${E} % 4u;\n            ${G}[${E}] = ${W}(${v(te,Y)});\n          `};h===9?M=`\n            var data = vec4<u32>(0);\n            ${D("data",0,"u32")}\n            ${D("data",1,"u32")}\n            ${D("data",2,"u32")}\n            ${D("data",3,"u32")}\n            outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:M=`\n            ${D("outputData[global_idx]",0)}\n            ${D("outputData[global_idx]",1)}\n            ${D("outputData[global_idx]",2)}\n            ${D("outputData[global_idx]",3)}\n          `}return`\n        ${e.registerUniform("vec_size","u32").declareVariables(O,C,A)}\n\n        ${w??""}\n\n        ${e.mainStart()}\n        ${e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}\n        ${M}\n      }`},fl=(e,t,r,o,n,s,u=r.dataType)=>{let l=!V.areEqual(r.dims,o.dims),a=r.dims,p=V.size(r.dims),h=!1,g=!1,w=[l];
5929if(l){let y=mt.calcShape(r.dims,o.dims,!1);if(!y)throw new Error("Can\'t perform binary op on the given tensors");a=y,p=V.size(a);let _=V.size(r.dims)===1,I=V.size(o.dims)===1,x=r.dims.length>0&&r.dims[r.dims.length-1]%4===0,A=o.dims.length>0&&o.dims[o.dims.length-1]%4===0;w.push(_),w.push(I),w.push(x),w.push(A);let O=1;for(let C=1;C<a.length;C++){let M=r.dims[r.dims.length-C]??1,D=o.dims[o.dims.length-C]??1;if(M===D)O*=M;else break}O%4===0?(g=!0,h=!0):(_||I||x||A)&&(h=!0)}else h=!0;w.push(h);let v=Ue(r.dims.length)&&Ue(o.dims.length)&&Ue(a.length);return{name:e,shaderCache:{hint:t+w.map(y=>y.toString()).join("_"),inputDependencies:v?["rank","rank"]:["dims","dims"]},getShaderSource:y=>ml(y,r.dims,o.dims,a,h,l,g,n,r.dataType,o.dataType,u,v,s),getRunData:()=>({outputs:[{dims:a,dataType:u}],dispatchGroup:{x:Math.ceil(p/64/4)},programUniforms:v?[{type:"uint32",data:Math.ceil(V.size(a)/4)},...F(r.dims),...F(o.dims),...F(a)]:[{type:"uint32",data:Math.ceil(V.size(a)/4)}]})}},wt=(e,t,r,o,n,s)=>{e.compute(fl(t,n??"",e.inputs[0],e.inputs[1],r,o,s))},Vi=e=>{wt(e,"Add",(t,r)=>`${t}+${r}`)},Ni=e=>{wt(e,"Div",(t,r)=>`${t}/${r}`)},Wi=e=>{wt(e,"Equal",{scalar:(t,r)=>`u32(${t}==${r})`,vector:(t,r)=>`vec4<u32>(${t}==${r})`},void 0,void 0,9)},Gi=e=>{wt(e,"Mul",(t,r)=>`${t}*${r}`)},Hi=e=>{let t=U("input",e.inputs[0].dataType,e.inputs[0].dims).type.value;wt(e,"Pow",{scalar:(o,n)=>`pow_custom(${o},${n})`,vector:(o,n)=>`pow_vector_custom(${o},${n})`},`\n    fn pow_custom(a : ${t}, b : ${t}) -> ${t} {\n      if (b == ${t}(0.0)) {\n        return ${t}(1.0);\n      } else if (a < ${t}(0.0) && f32(b) != floor(f32(b))) {\n        return ${t}(pow(f32(a), f32(b))); // NaN\n      }\n      return select(sign(a), ${t}(1.0), round(f32(abs(b) % ${t}(2.0))) != 1.0) * ${t}(${t==="i32"?"round":""}(pow(f32(abs(a)), f32(b))));\n    }\n    fn pow_vector_custom(a : vec4<${t}>, b : vec4<${t}>) -> vec4<${t}> {\n      // TODO: implement vectorized pow\n      return vec4<${t}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));\n    }\n      `)},Li=e=>{wt(e,"Sub",(t,r)=>`${t}-${r}`)},Fi=e=>{wt(e,"Greater",{scalar:(t,r)=>`u32(${t}>${r})`,vector:(t,r)=>`vec4<u32>(${t}>${r})`},void 0,void 0,9)},Ki=e=>{wt(e,"Less",{scalar:(t,r)=>`u32(${t}<${r})`,vector:(t,r)=>`vec4<u32>(${t}<${r})`},void 0,void 0,9)},qi=e=>{wt(e,"GreaterOrEqual",{scalar:(t,r)=>`u32(${t}>=${r})`,vector:(t,r)=>`vec4<u32>(${t}>=${r})`},void 0,void 0,9)},ji=e=>{wt(e,"LessOrEqual",{scalar:(t,r)=>`u32(${t}<=${r})`,vector:(t,r)=>`vec4<u32>(${t}<=${r})`},void 0,void 0,9)}});var gl,yl,bl,wl,Zi,Qi,Ji=q(()=>{"use strict";xe();Le();$e();gl=e=>{if(!e||e.length<1)throw new Error("too few inputs");let t=e[0].dataType,r=e[0].dims.length;for(let o of e){if(o.dataType!==t)throw new Error("input tensors should be one type");if(o.dims.length!==r)throw new Error("input tensors should have the same shape")}},yl=(e,t)=>`\n  fn calculateInputIndex(index: u32) -> u32 {\n    let sizeInConcatAxis = array<u32, ${e}u>(${t});\n    for (var i: u32 = 0u; i < ${e}; i += 1u ) {\n      if (index < sizeInConcatAxis[i]) {\n        return i;\n      }\n    }\n    return ${e}u;\n  }`,bl=(e,t)=>{let r=e.length,o=[];for(let n=0;n<r;++n){let s=t.setByOffset("global_idx",e[n].getByIndices("indices"));r===1?o.push(s):n===0?o.push(`if (inputIndex == ${n}u) { ${s} }`):n===r-1?o.push(`else { ${s} }`):o.push(`else if (inputIndex == ${n}) { ${s} }`)}return o.join(`\n`)},wl=(e,t)=>{let r=e[0].dims.slice();if(t>=r.length||t<-1*r.length)throw new Error("axis specified for concat doesn\'t match input dimensionality");let o=t<0?r.length+t:t,n=r.slice(0);for(let C=1;C<e.length;C++){let M=e[C].dims.slice();for(let D=0;D<r.length;D++)if(D===o)n[o]+=M[D];else if(r[D]!==M[D])throw new Error("non concat dimensions must match")}let s=V.size(n),u=new Array(e.length),l=new Array(e.length),a=e[0].dataType,p=0,h=[],g=[],w=[],v=[{type:"uint32",data:s}];for(let C=0;C<e.length;++C)p+=e[C].dims[o],u[C]=p,w.push(Ue(e[C].dims.length)),g.push(w[C]?e[C].dims.length:e[C].dims),l[C]=U(`input${C}`,a,g[C]),h.push(w[C]?"rank":"dims"),v.push({type:"uint32",data:u[C]});for(let C=0;C<e.length;++C)w[C]&&v.push(...F(e[C].dims));let y=Ue(n.length);y&&v.push(...F(n));let _=y?n.length:n,I=K("output",a,_),x=I.indicesGet("indices",o),A=Array.from(Array(u.length).keys()).map(C=>`uniforms.sizeInConcatAxis${C}`).join(","),O=C=>`\n\n  ${(()=>{C.registerUniform("outputSize","u32");for(let M=0;M<e.length;M++)C.registerUniform(`sizeInConcatAxis${M}`,"u32");return C.declareVariables(...l,I)})()}\n\n  ${yl(u.length,A)}\n\n  ${C.mainStart()}\n    ${C.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n\n    var indices = ${I.offsetToIndices("global_idx")};\n\n    let inputIndex = calculateInputIndex(${x});\n    if (inputIndex != 0u) {\n      let sizeInConcatAxis = array<u32, ${u.length}u>(${A});\n      ${x} -= sizeInConcatAxis[inputIndex - 1u];\n    }\n\n    ${bl(l,I)}\n  }`;return{name:"Concat",shaderCache:{hint:`${t}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:n,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(s/64)},programUniforms:v}),getShaderSource:O}},Zi=(e,t)=>
5929{gl(e.inputs),e.compute(wl(e.inputs,t.axis))},Qi=e=>he({axis:e.axis})});var vt,un,Bt=q(()=>{"use strict";xe();vt=(e,t)=>{switch(e.activation){case"Relu":return{activationFunction:"",applyActivation:`value = max(value, ${t}(0.0));`};case"Sigmoid":return{activationFunction:"",applyActivation:`value = (${t}(1.0) / (${t}(1.0) + exp(-value)));`};case"Clip":return{activationFunction:`const clip_min_=${t}(${e.clipMin});const clip_max_=${t}(${e.clipMax});`,applyActivation:"value = clamp(value, clip_min_, clip_max_);"};default:return{activationFunction:"",applyActivation:""}}},un=e=>{let t=e?.activation||"";if(t==="Clip"){let[r,o]=e?.activation_params||[Xr,en];return{activation:t,clipMax:o,clipMin:r,activationCacheKey:`${t}:${r},${o}`}}return{activation:t,activationCacheKey:t}}});var qe,dn,ln=q(()=>{"use strict";qe=(e,t)=>{switch(e){case 1:return t;case 2:return`vec2<${t}>`;case 3:return`vec3<${t}>`;case 4:return`vec4<${t}>`;default:throw new Error(`${e}-component is not supported.`)}},dn=e=>`\n      ${e?"value = value + getBiasByOutputCoords(coords);":""}\n      `});var cn,eo=q(()=>{"use strict";cn=e=>`\nfn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {\n  return dot(coords, vec4<i32>(\n      shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));\n}\nfn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {\n  return dot(coords, vec4<i32>(\n    i32(${e}.x), i32(${e}.y), i32(${e}.z), 1));\n}\n`});var vl,$l,Ar,Xi,Sl,Tr,xl,pn,Er=q(()=>{"use strict";xe();$e();Bt();ln();vl=(e,t)=>e?`\n        mm_Asub[inputRow][inputCol] = mm_readA(batch,\n          kStart + inputRow,\n          globalRowStart / innerElementSize + inputCol${t?", batchIndices":""});\n        `:`\n        mm_Asub[inputRow][inputCol] = mm_readA(batch,\n          globalRow + innerRow,\n          kStart / innerElementSize + inputCol${t?", batchIndices":""});\n        `,$l=(e,t)=>e?`\n        let ACached0 = mm_Asub[k * innerElementSize][localRow];\n        let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];\n        let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];\n        ${t===3?"":"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];"}\n        for (var i = 0; i < rowPerThread; i = i + 1) {\n          acc[i] = BCached0 * ACached0[i] + acc[i];\n          acc[i] = BCached1 * ACached1[i] + acc[i];\n          acc[i] = BCached2 * ACached2[i] + acc[i];\n          ${t===3?"":"acc[i] = BCached3 * ACached3[i] + acc[i];"}\n        }`:`\n        for (var i = 0; i < rowPerThread; i = i + 1) {\n          let ACached = mm_Asub[tileRow + i][k];\n          acc[i] = BCached0 * ACached.x + acc[i];\n          acc[i] = BCached1 * ACached.y + acc[i];\n          acc[i] = BCached2 * ACached.z + acc[i];\n          ${t===3?"":"acc[i] = BCached3 * ACached.w + acc[i];"}\n        }`,Ar=(e,t,r="f32",o,n=!1,s=32,u=!1,l=32)=>{let a=t[1]*e[1],p=t[0]*e[0],h=n?a:s,g=n?s:a,w=h/t[0],v=s/t[1];if(!((n&&w===4&&e[1]===4||!n&&(w===3||w===4))&&h%t[0]===0&&s%t[1]===0&&e[0]===4))throw new Error(`If transposeA ${n} is true, innerElementSize ${w} and workPerThread[1] ${e[1]} must be 4.\n      Otherwise, innerElementSize ${w} must be 3 or 4.\n  tileAWidth ${h} must be divisible by workgroupSize[0]${t[0]}. tileInner ${s} must be divisible by workgroupSize[1] ${t[1]}. colPerThread ${e[0]} must be 4.`);return`\nvar<workgroup> mm_Asub: array<array<vec${w}<${r}>, ${h/w}>, ${g}>;\nvar<workgroup> mm_Bsub: array<array<vec4<${r}>, ${p/e[0]}>, ${s}>;\n\nconst rowPerThread = ${e[1]};\nconst colPerThread = ${e[0]};\nconst innerElementSize = ${w};\nconst tileInner = ${s};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n        @builtin(global_invocation_id) globalId : vec3<u32>,\n        @builtin(workgroup_id) workgroupId : vec3<u32>) {\n  let localRow = i32(localId.y);\n  let tileRow = localRow * rowPerThread;\n  let tileCol = i32(localId.x);\n\n  let globalRow =i32(globalId.y) * rowPerThread;\n  let globalCol = i32(globalId.x);\n  let batch = ${u?"0":"i32(globalId.z)"};\n  ${o?`let batchIndices = ${o.offsetToIndices("u32(batch)")};`:""}\n  let globalRowStart = i32(workgroupId.y) * ${a};\n\n  let numTiles = ${u?`${Math.ceil(l/s)}`:"(uniforms.dimInner - 1) / tileInner + 1"};\n  var kStart = ${u?`i32(globalId.z) * ${l}`:"0"};\n\n  var acc: array<vec4<${r}>, rowPerThread>;\n\n  // Loop over shared dimension.\n  let tileRowB = localRow * ${v};\n  for (var t = 0; t < numTiles; t = t + 1) {\n      // Load one tile of A into local memory.\n      for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n          let inputRow = tileRow + innerRow;\n          let inputCol = tileCol;\n          ${vl(n,o)}\n      }\n\n      // Load one tile of B into local memory.\n      for (var innerRow = 0; innerRow < ${v}; innerRow = innerRow + 1) {\n          let inputRow = tileRowB + innerRow;\n          let inputCol = tileCol;\n          mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${o?", batchIndices":""});\n      }\n      kStart = kStart + tileInner;\n      workgroupBarrier();\n\n      // Compute acc values for a single thread.\n      for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {\n          let BCached0 = mm_Bsub[k * innerElementSize][tileCol];\n          let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];\n          let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];\n          ${w===3?"":"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];"}\n\n          ${$l(n,w)}\n      }\n\n      workgroupBarrier();\n  }\n\n  for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n      mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);\n  }\n}`},Xi=(e,t)=>e?`\n            mm_Asub[inputRow][inputCol] = mm_readA(batch,\n              kStart + inputRow,\n              globalRowStart + inputCol${t?", batchIndices":""});\n            `:`\n            mm_Asub[inputRow][inputCol] = mm_readA(batch,\n              globalRowStart + inputRow,\n              kStart + inputCol${t?", batchIndices":""});\n            `,Sl=e=>e?"let ACached = mm_Asub[k][tileRow + innerRow];":"let ACached = mm_Asub[tileRow + innerRow][k];",Tr=(e,t,r="f32",o,n=!1,s=32,u=!1,l=32,a=!1)=>{let p=e[1]*t[1],h=e[0]*t[0],g=n?p:s,w=n?s:p;if(!(w%t[1]===0&&g%t[0]===0&&s%t[1]===0))throw new Error(`tileAHight ${w} must be divisible by workgroupSize[1]${t[1]}, tileAWidth ${g} must be divisible by workgroupSize[0]${t[0]}, tileInner ${s} must be divisible by workgroupSize[1]${t[1]}`);let v=w/t[1],y=g/t[0],_=s/t[1],I=a?`\n    let localRow = i32(localId.y);\n    let localCol = i32(localId.x);\n    let globalRowStart = i32(workgroupId.y) * ${p};\n    let globalColStart = i32(workgroupId.x) * ${h};\n\n    // Loop over shared dimension.\n    for (var t = 0; t < numTiles; t = t + 1) {\n      // Load one tile of A into local memory.\n      for (var inputRow = localRow; inputRow < ${w}; inputRow = inputRow + ${t[1]}) {\n        for (var inputCol = localCol; inputCol < ${g}; inputCol = inputCol + ${t[0]}) {\n          ${Xi(n,o)}\n        }\n      }\n      // Load one tile of B into local memory.\n      for (var inputRow = localRow; inputRow < ${s}; inputRow = inputRow + ${t[1]}) {\n            for (var inputCol = localCol; inputCol < ${h}; inputCol = inputCol + ${t[0]}) {\n          mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n            kStart + inputRow,\n            globalColStart + inputCol${o?", batchIndices":""});\n        }\n      }\n      kStart = kStart + tileInner;\n      workgroupBarrier();\n\n      // Compute acc values for a single thread.\n      var BCached : array<${r}, colPerThread>;\n      for (var k = 0; k < tileInner; k = k + 1) {\n        for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n          BCached[inner] = mm_Bsub[k][localCol + inner * ${t[0]}];\n        }\n        for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n          let ACached = ${n?`mm_Asub[k][localRow + innerRow * ${t[1]}];`:`mm_Asub[localRow + innerRow * ${t[1]}][k];`}\n          for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n            acc[innerRow][innerCol] = acc[innerRow][innerCol] +\n                ACached * BCached[innerCol];\n          }\n        }\n      }\n      workgroupBarrier();\n    }\n    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n      let gRow = globalRowStart + localRow + innerRow * ${t[1]};\n      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n        let gCol = globalColStart + localCol + innerCol * ${t[0]};\n        mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);\n      }\n    }\n    `:`\nlet tileRow = i32(localId.y) * rowPerThread;\nlet tileCol = i32(localId.x) * colPerThread;\n\nlet globalRow = i32(globalId.y) * rowPerThread;\nlet globalCol = i32(globalId.x) * colPerThread;\nlet globalRowStart = i32(workgroupId.y) * ${p};\n\nlet tileRowA = i32(localId.y) * ${v};\nlet tileColA = i32(localId.x) * ${y};\nlet tileRowB = i32(localId.y) * ${_};\n// Loop over shared dimension.\nfor (var t = 0; t < numTiles; t = t + 1) {\n  // Load one tile of A into local memory.\n  for (var innerRow = 0; innerRow < ${v}; innerRow = innerRow + 1) {\n    for (var innerCol = 0; innerCol < ${y}; innerCol = innerCol + 1) {\n      let inputRow = tileRowA + innerRow;\n      let inputCol = tileColA + innerCol;\n      ${Xi(n,o)}\n    }\n  }\n\n  // Load one tile of B into local memory.\n  for (var innerRow = 0; innerRow < ${_}; innerRow = innerRow + 1) {\n    for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n      let inputRow = tileRowB + innerRow;\n      let inputCol = tileCol + innerCol;\n      mm_Bsub[inputRow][inputCol] = mm_readB(batch,\n        kStart + inputRow,\n        globalCol + innerCol${o?", batchIndices":""});\n    }\n  }\n  kStart = kStart + tileInner;\n  workgroupBarrier();\n\n  // Compute acc values for a single thread.\n  var BCached : array<${r}, colPerThread>;\n  for (var k = 0; k < tileInner; k = k + 1) {\n    for (var inner = 0; inner < colPerThread; inner = inner + 1) {\n      BCached[inner] = mm_Bsub[k][tileCol + inner];\n    }\n\n    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n      ${Sl(n)}\n      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n        acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];\n      }\n    }\n  }\n\n  workgroupBarrier();\n}\n\nfor (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n  for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n    mm_write(batch, globalRow + innerRow, globalCol + innerCol,\n        acc[innerRow][innerCol]);\n  }\n}\n`;return`\n  var<workgroup> mm_Asub : array<array<${r}, ${g}>, ${w}>;\n  var<workgroup> mm_Bsub : array<array<${r}, ${h}>, ${s}>;\n  const rowPerThread = ${e[1]};\n  const colPerThread = ${e[0]};\n  const tileInner = ${s};\n\n@compute @workgroup_size(${t[0]}, ${t[1]}, ${t[2]})\nfn main(@builtin(local_invocation_id) localId : vec3<u32>,\n        @builtin(global_invocation_id) globalId : vec3<u32>,\n        @builtin(workgroup_id) workgroupId : vec3<u32>) {\n    let batch = ${u?"0":"i32(globalId.z)"};\n    ${o?`let batchIndices = ${o.offsetToIndices("u32(batch)")};`:""}\n    let numTiles = ${u?`${Math.ceil(l/s)}`:"(uniforms.dimInner - 1) / tileInner + 1"};\n    var kStart = ${u?`i32(globalId.z) * ${l}`:"0"};\n\n    var acc : array<array<${r}, colPerThread>, rowPerThread>;\n\n    // Without this initialization strange values show up in acc.\n    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {\n      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {\n        acc[innerRow][innerCol] = 0.0;\n      }\n    }\n    ${I}\n  }\n`},xl=(e,t,r,o,n,s=!1)=>{let[u,l,a]=n,[p,h,g,w]=o,v=nr(u,a),y=nr(l,a),_=Ge(o[0].type.tensor),I=()=>{let O=h.rank,C=p.rank,M=`var aIndices: ${h.type.indices};`;for(let D=O-2-1,G=C-1;D>=0;D--,G--)M+=`\naIndices[${D}] = ${C>1?`batchIndices[${G}]`:"batchIndices"};`;return v.forEach(D=>{M+=`\naIndices[${D}] = 0;`}),M+=`\naIndices[${O-2}] = u32(row);\n                   aIndices[${O-1}] = u32(colIn);`,M},x=()=>{let O=g.rank,C=p.rank,M=`var bIndices: ${g.type.indices};`;for(let D=O-2-1,G=C-1;D>=0;D--,G--)M+=`\nbIndices[${D}] = ${C>1?`batchIndices[${G}]`:"batchIndices"};`;
5929return y.forEach(D=>{M+=`\nbIndices[${D}] = 0;`}),M+=`\nbIndices[${O-2}] = u32(row);\n                   bIndices[${O-1}] = u32(colIn);`,M};return`\n    fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${p.type.indices}) -> ${qe(e,_)} {\n      var value = ${qe(e,_)}(0.0);\n      let col = colIn * ${e};\n      if(row < uniforms.dimAOuter && col < uniforms.dimInner)\n      {\n        ${I()}\n        value = ${h.getByIndices("aIndices")};\n      }\n      return value;\n    }\n\n    fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${p.type.indices}) -> ${qe(e,_)} {\n      var value = ${qe(e,_)}(0.0);\n      let col = colIn * ${e};\n      if(row < uniforms.dimInner && col < uniforms.dimBOuter)\n      {\n        ${x()}\n        value = ${g.getByIndices("bIndices")};\n      }\n      return value;\n    }\n\n    fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${qe(e,_)}) {\n      let col = colIn * ${e};\n      if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {\n        var value = valueIn;\n        let coords = vec3<i32>(batch, row, colIn);\n        ${t?`value = value + ${s?"bias[colIn]":`${qe(e,_)}(bias[row])`};`:""}\n        ${r}\n        ${w.setByIndices("vec3<u32>(coords)","value")}\n      }\n    }\n    `},pn=(e,t,r,o,n=!1)=>{let s=e[0].dims,u=e[1].dims,l=s.slice(0,-2),a=u.slice(0,-2),p=o?o.slice(0,-2):r.slice(0,-2),h=Ue(p.length),g=h?p.length:p,w=tn("batchDims",e[0].dataType,g,1),v=V.size(p),y=s[s.length-2],_=s[s.length-1],I=u[u.length-1],x=_%4===0&&I%4===0,A=y<=8?[4,1,1]:[4,4,1],O=[8,8,1],C=[Math.ceil(I/O[0]/A[0]),Math.ceil(y/O[1]/A[1]),Math.ceil(v/O[2]/A[2])],M=Ge(e[0].dataType),D=x?4:1,G=[...l,y,_/D],E=Ue(G.length),W=E?G.length:G,te=[...a,_,I/D],Y=Ue(te.length),Z=Y?te.length:te,ee=[v,y,I/D],Te=U("a",e[0].dataType,W,D),De=U("b",e[1].dataType,Z,D),re=K("result",e[0].dataType,ee.length,D),Ie=[Te,De],Oe=[{type:"int32",data:y},{type:"int32",data:I},{type:"int32",data:_}];h&&Oe.push(...F(p)),E&&Oe.push(...F(G)),Y&&Oe.push(...F(te));let ie=[];ie.push(E?"rank":"dims"),ie.push(Y?"rank":"dims");let Se=e.length>2,{activationFunction:Ae,applyActivation:Pe}=vt(t,re.type.value),Fe=xl(D,Se,Pe,[w,Te,De,re],[l,a,p],n);if(Se){let J=n?D:1;Ie.push(U("bias",e[2].dataType,e[2].dims.length,J)),Oe.push(...F(e[2].dims)),ie.push("rank")}Oe.push(...F(ee));let H=J=>`\n  ${J.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").registerInternalVariables(w).declareVariables(...Ie,re)}\n  ${Ae}\n  ${Fe}\n  ${x?Ar(A,O,M,w):Tr(A,O,M,w)}\n                   `;return{name:"MatMul",shaderCache:{hint:t.activationCacheKey+`${A}${x}${n}`,inputDependencies:ie},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:C[0],y:C[1],z:C[2]},programUniforms:Oe}),getShaderSource:H}}});var _l,es,ts=q(()=>{"use strict";Pt();$e();Bt();ln();eo();Er();_l=(e,t,r,o,n=!1,s,u=4,l=4,a=4,p="f32")=>{let h=Y=>{switch(Y){case 1:return"resData = x[xIndex];";case 3:return`resData = vec3<${p}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return"resData = x[xIndex / 4];";default:throw new Error(`innerElementSize ${Y} is not supported.`)}},g=Y=>{switch(Y){case 1:return"return w[row * i32(uniforms.w_shape[3]) + colIn];";case 4:return"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];";default:throw new Error(`innerElementSize ${Y} is not supported.`)}},w=e?`\n    let coord = vec4<i32>(batch, xRow, xCol, xCh);
5929\n    `:`\n    let coord = vec4<i32>(batch, xCh, xRow, xCol);\n    `,v=e?`\n    let coords = vec4<i32>(\n      batch,\n      row / outWidth,\n      row % outWidth,\n      col);\n    `:`\n    let coords = vec4<i32>(\n      batch,\n      row,\n      col / outWidth,\n      col % outWidth);\n    `,y=e?"i32(uniforms.x_shape[1])":"i32(uniforms.x_shape[2])",_=e?"i32(uniforms.x_shape[2])":"i32(uniforms.x_shape[3])",I=e?"row":"col",x=e?"col":"row",A=`\n    let inChannels = i32(uniforms.w_shape[2]);\n    let outWidth = ${e?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};\n    let outRow = ${I} / outWidth;\n    let outCol = ${I} % outWidth;\n\n    let WRow = ${x} / (filterDims[1] * inChannels);\n    let WCol = ${x} / inChannels % filterDims[1];\n    let xRow = outRow * stride[0] + dilation[0] * WRow - pad[0];\n    let xCol = outCol * stride[1] + dilation[1] * WCol - pad[1];\n    let xCh = ${x} % inChannels;\n    var resData = ${qe(u,p)}(0.0);\n    // The bounds checking is always needed since we use it to pad zero for\n    // the \'same\' padding type.\n    if (xRow >= 0 && xRow < ${y} && xCol >= 0 && xCol < ${_}) {\n      ${w}\n      let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));\n      ${h(u)}\n    }\n    return resData;`,O=e?t&&o?`\n    let col = colIn * ${u};\n    ${A}
5929`:`\n    let col = colIn * ${u};\n    if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n      ${A}\n    }\n    return ${qe(u,p)}(0.0);`:o&&r?`\n    let col = colIn * ${u};\n    ${A}`:`\n    let col = colIn * ${u};\n    if (row < uniforms.dimInner && col < uniforms.dimBOuter) {\n      ${A}\n    }\n    return ${qe(u,p)}(0.0);`,C=`${g(l)}`,M=qe(a,p),D=e?qe(u,p):qe(l,p),G=e?qe(l,p):qe(u,p),{activationFunction:E,applyActivation:W}=vt(s,M);return`\n    ${E}\n    fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${D} {\n      ${e?O:C}\n    }\n\n    fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${G} {\n      ${e?C:O}\n    }\n\n    fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${M}) {\n      let col = colIn * ${a};\n      if (row < uniforms.dimAOuter && col < uniforms.dimBOuter)\n      {\n      var value = valueIn;\n      let outWidth = ${e?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};\n      ${v}\n      ${dn(n)}\n      ${W}\n      setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);\n      }\n    }`},es=(e,t,r,o,n,s,u,l)=>{let a=t.format==="NHWC",p=a?e[0].dims[3]:e[0].dims[1],h=r[0],g=a?r[2]:r[3],w=a?r[1]:r[2],v=a?r[3]:r[1],y=a&&(p%4===0||p%3===0)&&v%4===0,_=a?v:g*w,I=a?g*w:v,x=[8,8,1],A=o<=8?[4,1,1]:[4,4,1],O=[Math.ceil(_/x[0]/A[0]),Math.ceil(I/x[1]/A[1]),Math.ceil(h/x[2]/A[2])];Re("verbose",()=>`[conv2d_mm_webgpu] dispatch = ${O}`);let C=y?a&&p%4!==0?3:4:1,M=x[1]*A[1],D=x[0]*A[0],G=Math.max(x[0]*C,x[1]),E=o%M===0,W=n%D===0,te=s%G===0,Y=y?[C,4,4]:[1,1,1],Z=Ge(e[0].dataType),ee=y?4:1,Te=[{type:"int32",data:o},{type:"int32",data:n},{type:"int32",data:s}],De=U("x",e[0].dataType,e[0].dims.length,C===3?1:C),re=U("w",e[1].dataType,e[1].dims.length,ee),Ie=[De,re];Te.push(...F(e[0].dims)),Te.push(...F(e[1].dims));let Oe=`\n      fn setOutputAtIndex(flatIndex : i32, value : ${y?`vec4<${Z}>`:Z}) {\n        result[flatIndex] = ${y?`vec4<${Z}>`:Z}(value);\n      }\n      fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${y?`vec4<${Z}>`:Z}) {\n        let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));\n        setOutputAtIndex(flatIndex ${y?"/ 4":""}, value);\n      }`;if(u){let Se=U("bias",e[2].dataType,e[2].dims.length,ee);Ie.push(Se),Te.push(...F(e[2].dims)),Oe+=`\n        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${y?`vec4<${Z}>`:Z} {\n          return bias[coords.${a?"w":"y"}${y?"/ 4":""}];\n        }`}let ie=K("result",e[0].dataType,r.length,ee);return Te.push(...F(r)),{name:"Conv2DMatMul",shaderCache:{hint:t.cacheKey},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:O[0],y:O[1],z:O[2]},programUniforms:Te}),getShaderSource:Se=>`\n        ${cn("uniforms.result_strides")}\n        //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,\n        //  outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,\n        //  dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };\n        ${Se.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").declareVariables(...Ie,ie)}\n        const filterDims : vec2<i32> = vec2<i32>(${t.kernelShape[0]}, ${t.kernelShape[1]});\n        const pad : vec2<i32> = vec2<i32>(${t.pads[0]}, ${t.pads[1]});\n        const stride : vec2<i32> = vec2<i32>(${t.strides[0]}, ${t.strides[1]});\n        const dilation : vec2<i32> = vec2<i32>(${t.dilations[0]}, ${t.dilations[1]});\n        ${Oe}\n        ${_l(a,E,W,te,u,t,Y[0],Y[1],Y[2],Z)}\n            ${y?Ar(A,x,Z,void 0,!a,G):Tr(A,x,Z,void 0,!a,G,!1,void 0,l)}`}}});var to,rs=q(()=>{"use strict";xe();$e();no();Bt();to=(e,t,r)=>{let o=e.length>2,n=o?"value += b[output_channel];":"",s=e[0].dims,u=e[1].dims,l=u[0]/t.group,a=t.format==="NHWC",p=ro(s,u,t.dilations,t.pads,t.strides,a),h=V.size(p),g=K("output",e[0].dataType,p),{activationFunction:w,applyActivation:v}=vt(t,g.type.value),y=U("x",e[0].dataType,s),_=U("w",e[1].dataType,u),I=[y,_];o&&I.push(U("b",e[2].dataType,e[2].dims));let x=A=>`\n  const strides: vec2<u32> = vec2(${t.strides[0]}u, ${t.strides[1]}u);\n  const pads: vec2<u32> = vec2(${t.pads[0]}u, ${t.pads[1]}u);\n\n  ${A.declareVariables(...I,g)}\n\n  ${w}\n\n  ${A.mainStart()}\n    ${A.guardAgainstOutOfBoundsWorkgroupSizes(h)}\n\n    let outputIndices = ${g.offsetToIndices("global_idx")};\n    let batch: u32 = outputIndices[0];\n    let output_channel: u32 = outputIndices[${a?3:1}];\n    let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${a?1:2}], outputIndices[${a?2:3}]) * strides - pads;\n    let group_id: u32 = output_channel / ${l}u;\n\n    var value: ${g.type.value} = ${g.type.value}(0);\n    for (var wInChannel: u32 = 0u; wInChannel < ${u[1]}u; wInChannel++) {\n      let input_channel = group_id * ${u[1]}u + wInChannel;\n      for (var wHeight: u32 = 0u; wHeight < ${u[2]}u; wHeight++) {\n        let xHeight = xRCCorner.x + wHeight * ${t.dilations[0]}u;\n\n        if (xHeight < 0u || xHeight >= ${s[a?1:2]}u) {\n          continue;\n        }\n\n        for (var wWidth: u32 = 0u; wWidth < ${u[3]}u; wWidth++) {\n          let xWidth = xRCCorner.y + wWidth * ${t.dilations[1]}u;\n          if (xWidth < 0u || xWidth >= ${s[a?2:3]}u) {\n            continue;\n          }\n\n          let xVal = ${a?y.get("batch","xHeight","xWidth","input_channel"):y.get("batch","input_channel","xHeight","xWidth")};\n          let wVal = ${_.get("output_channel","wInChannel","wHeight","wWidth")};\n          value += xVal*wVal;\n        }\n      }\n    }\n    ${n}\n    ${v}\n    ${g.setByOffset("global_idx","value")}\n  }`;return{name:"GroupedConv",shaderCache:{hint:t.cacheKey},getRunData:()=>({outputs:[{dims:r?r(p):p,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(h/64)}}),getShaderSource:x}}});var oo,Cl,ns,ao=q(()=>{"use strict";xe();Er();$e();Bt();oo=(e,t,r,o,n=!1)=>{let s=e[0].dims,u=e[1].dims,l=s[s.length-2],a=u[u.length-1],p=s[s.length-1],h=He(a),g=He(p),w=He(l),v=V.size(r)/h/w,y=e.length>2,_=o?o.slice(0,-2):r.slice(0,-2),x=[V.size(_),l,a],A=[{type:"uint32",data:v},{type:"uint32",data:l},{type:"uint32",data:a},{type:"uint32",data:p},...F(_),...F(s),...F(u)];y&&A.push(...F(e[2].dims)),A.push(...F(x));let O=C=>{let M=tn("batch_dims",e[0].dataType,_.length),D=U("a",e[0].dataType,s.length,g),G=U("b",e[1].dataType,u.length,h),E=K("output",e[0].dataType,x.length,h),{activationFunction:W,applyActivation:te}=vt(t,E.type.value),Y=[D,G],Z="";if(y){let ie=n?h:1;Y.push(U("bias",e[2].dataType,e[2].dims.length,ie)),Z=`${n?`value += bias[col / ${ie}];`:`value += ${E.type.value}(bias[row + i]);`}`}let ee=s.slice(0,-2),Te=u.slice(0,-2),De=nr(ee,_),re=nr(Te,_),Ie=(ie,Se)=>{let Ae=ie.rank,Pe=ie.name;if(Ae===2)return`var ${Pe}_indices = ${ie.type.indices}(0u, 0u);`;let Fe=M.rank,H=`var ${Pe}_indices: ${ie.type.indices};`;for(let J=Ae-2-1,Ce=Fe-1;J>=0;J--,Ce--)H+=`\n${Pe}_indices[${J}] = ${Fe>1?`batch_indices[${Ce}]`:"batch_indices"};`;return Se.forEach(J=>{H+=`\n${Pe}_indices[${J}] = 0;`}),H+=`${Pe}_indices[${Ae-2}] = 0u;\n                     ${Pe}_indices[${Ae-1}] = 0u;`,H},Oe=()=>{let ie=`var a_data: ${D.type.value};`;for(let Se=0;Se<g;Se++)ie+=`\n              let b_data${Se} = b[(b_offset + (k + ${Se}) * uniforms.N + col) / ${h}];`;for(let Se=0;Se<w;Se++){ie+=`a_data = a[(a_offset + (row + ${Se}) * uniforms.K + k) / ${g}];`;for(let Ae=0;Ae<g;Ae++)ie+=`\n            values[${Se}] = fma(${G.type.value}(a_data${g===1?"":`[${Ae}]`}), b_data${Ae}, values[${Se}]);\n`}return ie};
vendor: 6,735 bytes, line 5929
5929return`\n  ${C.registerUniform("outputSize","u32").registerUniform("M","u32").registerUniform("N","u32").registerUniform("K","u32").registerInternalVariables(M).declareVariables(...Y,E)}\n  ${W}\n  ${C.mainStart()}\n    ${C.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n    let col = (global_idx % (uniforms.N / ${h})) * ${h};\n    var index1 = global_idx / (uniforms.N / ${h});\n    let stride1 = uniforms.M / ${w};\n    let row = (index1 % stride1) * ${w};\n    let batch = index1 / stride1;\n\n    ${r.length===2?"":`let batch_indices = ${M.offsetToIndices("batch")};`}\n    ${Ie(D,De)}\n    let a_offset = ${D.indicesToOffset("a_indices")};\n    ${Ie(G,re)}\n    let b_offset = ${G.indicesToOffset("b_indices")};\n    var values: array<${E.type.value}, ${w}>;\n    for (var k: u32 = 0u; k < uniforms.K; k = k + ${g}) {\n      ${Oe()}\n    }\n    for (var i = 0u; i < ${w}u; i++) {\n      var value = values[i];\n      ${Z}\n      ${te}\n      let cur_indices = ${E.type.indices}(batch, row + i, col);\n      let offset = ${E.indicesToOffset("cur_indices")};\n      ${E.setByOffset(`offset / ${h}`,"value")};\n    }\n  }\n  `};return{name:"MatMulNaive",shaderCache:{hint:`${t.activationCacheKey}_${h}_${g}_${w}_${n}`,inputDependencies:y?["rank","rank","rank"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:A}),getShaderSource:O}},Cl=e=>{if(!e||e.length!==2)throw new Error("MatMul requires 2 inputs.");if(e[0].dims[e[0].dims.length-1]!==e[1].dims[e[1].dims.length-2])throw new Error("shared dimension does not match.")},ns=e=>{Cl(e.inputs);let t=mt.calcShape(e.inputs[0].dims,e.inputs[1].dims,!0);if(!t)throw new Error("Can\'t use matmul on the given tensors");let r=t[t.length-1],o=e.inputs[0].dims[e.inputs[0].dims.length-1];r<8&&o<8?e.compute(oo(e.inputs,{activation:"",activationCacheKey:""},t)):e.compute(pn(e.inputs,{activation:"",activationCacheKey:""},t))}});var ro,os,Il,as,io,Al,Tl,so,no=q(()=>{"use strict";xe();Le();ts();Er();rs();Bt();ao();or();ro=(e,t,r,o,n,s)=>{let u=e[0],l=e.slice(s?1:2,s?3:4),a=l.length,p=t[0],g=t.slice(2).map((y,_)=>y+(y-1)*(r[_]-1)),v=l.map((y,_)=>y+o[_]+o[_+a]).map((y,_)=>Math.floor((y-g[_]+n[_])/n[_]));return v.splice(0,0,u),v.splice(s?3:1,0,p),v},os=[2,3,1,0],Il=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error("currently only support conv 1D and 2D");if(e[0].dims.length!==e[1].dims.length)throw new Error("filter does not have same dimension as input");let r=e[0].dims[t.format==="NHWC"?e[0].dims.length-1:1],o=e[1].dims[1]*t.group;if(r!==o)throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(e.length===3&&(e[2].dims.length!==1||e[1].dims[0]!==e[2].dims[0]))throw new Error("invalid bias");let n=e[0].dims.length-2;if(t.dilations.length!==n)throw new Error(`dilations should be ${n}D`);if(t.strides.length!==n)throw new Error(`strides should be ${n}D`);if(t.pads.length!==n*2)throw new Error(`pads should be ${n*2}D`);if(t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error("invalid kernel shape")},as=(e,t)=>{let r=e.kernelShape.slice();for(let s=2;s<t[1].dims.length;++s)r[s-2]===0&&(r[s-2]=t[1].dims[s]);let o=e.pads.slice();Wt.adjustPadsBasedOnAutoPad(t[0].dims,e.strides,e.dilations,r,o,e.format==="NHWC",e.autoPad);let n=Object.assign({},e);return Object.assign(n,{kernelShape:r,pads:o,cacheKey:e.cacheKey}),n},io=e=>{let t=un(e),r=e.format,o=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][e.auto_pad],n=e.dilations,s=e.group,u=e.kernel_shape,l=e.pads,a=e.strides,p=e.w_is_const();return he({autoPad:o,format:r,dilations:n,group:s,kernelShape:u,pads:l,strides:a,wIsConst:p,...t})},Al=(e,t,r)=>{let o=as(r,t),n=r.format==="NHWC";if(r.group!==1){e.compute(to(t,o));return}let s=t.length===3,u=t[0].dims[n?1:2],l=t[0].dims[n?2:3],a=t[0].dims[n?3:1],p=t[1].dims[2],h=t[1].dims[3],g=ro(t[0].dims,t[1].dims,r.dilations,o.pads,r.strides,n),w=g[n?1:2],v=g[n?2:3],y=g[n?3:1],_=n&&p===u&&h===l&&r.pads[0]===0&&r.pads[1]===0;if(_||p===1&&h===1&&r.dilations[0]===1&&r.dilations[1]===1&&r.strides[0]===1&&r.strides[1]===1&&r.pads[0]===0&&r.pads[1]===0){let D=g[0],G,E,W,te=[];if(n){let ee=e.kernelCustomData.wT??e.compute(dt(t[1],os),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];if(r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=ee),_){let Te=u*l*a;G=t[0].reshape([1,D,Te]),E=ee.reshape([1,Te,y]),W=[1,D,y]}else G=t[0].reshape([D,u*l,a]),E=ee.reshape([1,a,y]),W=[D,w*v,y];te.push(G),te.push(E)}else G=t[0].reshape([D,a,u*l]),E=t[1].reshape([1,y,a]),W=[D,y,w*v],te.push(E),te.push(G);s&&te.push(t[2]);let Y=W[2],Z=te[0].dims[te[0].dims.length-1];Y<8&&Z<8?e.compute(oo(te,o,g,W,n),{inputs:te}):e.compute(pn(te,o,g,W,n),{inputs:te});return}let I=!0,x=e.kernelCustomData.wT??e.compute(dt(t[1],os),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=x);let A=[t[0],x];s&&A.push(t[2]);let O=n?w*v:y,C=n?y:w*v,M=p*h*a;e.compute(es(A,o,g,O,C,M,s,I),{inputs:A})},Tl=(e,t)=>{let r=t.format==="NHWC",o=[e.inputs[0].reshape(r?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];e.inputs.length===3&&o.push(e.inputs[2]);let n=[0,t.pads[0],0,t.pads[1]],s=[1].concat(t.strides),u=[1].concat(t.dilations),l=[1].concat(t.kernelShape),a=as({...t,pads:n,strides:s,dilations:u,kernelShape:l},o);e.compute(to(o,a,p=>r?[p[0],p[2],p[3]]:[]))},so=(e,t)=>{Il(e.inputs,t),e.inputs[0].dims.length===3?Tl(e,t):Al(e,e.inputs,t)}});var El,is,ss=q(()=>{"use strict";Pt();$e();Bt();ln();eo();Er();El=(e,t=!1,r,o=4)=>{let n=qe(o,"f32"),s=A=>{switch(A){case 1:return"return w[getIndexFromCoords4D(coord, vec4<i32>(uniforms.w_shape))];";case 4:return`\n            let coord1 = vec4<i32>(coordX, coordY, col + 1, rowInner);\n            let coord2 = vec4<i32>(coordX, coordY, col + 2, rowInner);\n            let coord3 = vec4<i32>(coordX, coordY, col + 3, rowInner);\n            let v0 = w[getIndexFromCoords4D(coord, vec4<i32>(uniforms.w_shape))];\n            let v1 = w[getIndexFromCoords4D(coord1, vec4<i32>(uniforms.w_shape))];\n            let v2 = w[getIndexFromCoords4D(coord2, vec4<i32>(uniforms.w_shape))];\n            let v3 = w[getIndexFromCoords4D(coord3, vec4<i32>(uniforms.w_shape))];\n            return vec4<f32>(v0, v1, v2, v3);\n            `;default:throw new Error(`innerElementSize ${A} is not supported.`)}},u=e?`\n      let coord = vec4<i32>(batch, iXR, iXC, xCh);\n      `:`\n      let coord = vec4<i32>(batch, xCh, iXR, iXC);
5929\n      `,l=e?`\n    let coords = vec4<i32>(\n      batch,\n      row / outWidth,\n      row % outWidth,\n      col);\n    `:`\n    let coords = vec4<i32>(\n      batch,\n      row,\n      col / outWidth,\n      col % outWidth);\n    `,a=e?"outBackprop[1]":"outBackprop[2]",p=e?"outBackprop[2]":"outBackprop[3]",h=e?"row":"col",g=e?"col":"row",w=`\n      let inChannels = ${e?"outBackprop[3]":"outBackprop[1]"};\n      let outWidth = ${e?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};\n      let outRow = ${h} / outWidth;\n      let outCol = ${h} % outWidth;\n\n      let WRow = ${g} / (filterDims[1] * inChannels);\n      let WCol = ${g} / inChannels % filterDims[1];\n      let xR = f32(outRow - pads[0] + dilation[0] * WRow) / f32(strides[0]);\n      let xC = f32(outCol - pads[1] + dilation[1] * WCol) / f32(strides[1]);\n      if (xR < 0.0 || xR >= f32(${a}) || fract(xR) > 0.0) {\n        return ${n}(0.0);\n      }\n      if (xC < 0.0 || xC >= f32(${p}) || fract(xC) > 0.0) {\n        return ${n}(0.0);\n      }\n      let iXR = i32(xR);\n      let iXC = i32(xC);\n      let xCh = ${g} % inChannels;\n      ${u}\n      return x[getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape))/${o}];`,v=e?`\n      let col = colIn * ${o};\n      if (row < uniforms.dimAOuter && col < uniforms.dimInner) {\n        ${w}\n      }\n      return ${n}(0.0);`:`\n      let col = colIn * ${o};\n      if (row < uniforms.dimInner && col < uniforms.dimBOuter) {\n        ${w}\n      }\n      return ${n}(0.0);`,y=`\n      let col = colIn * ${o};\n      let inChannels = ${e?"outBackprop[3]":"outBackprop[1]"};\n      let coordX = filterDims.x - 1 - row / (filterDims[1] * inChannels);\n      let coordY = filterDims.y - 1 - (row / inChannels) % filterDims[1];\n      if (${e?"row < uniforms.dimInner && col < uniforms.dimBOuter":"row < uniforms.dimInner && col < uniforms.dimAOuter"}  && coordX >= 0 && coordY >= 0) {\n        let rowInner = row % inChannels;\n        let coord = vec4<i32>(coordX, coordY, col, rowInner);\n        ${s(o)}\n      }\n      return ${n}(0.0);\n      `,{activationFunction:_,applyActivation:I}=vt(r,n);return`\n      ${_}\n  fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${n} {\n    ${e?v:y}\n  }\n\n  fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${n} {\n    ${e?y:v}\n  }\n\n  fn mm_write(batch: i32, row : i32, colIn : i32, valueInput : ${n}) {\n    let col = colIn * ${o};\n    if (row < uniforms.dimAOuter && col < uniforms.dimBOuter) {\n      var value = valueInput;\n      let outWidth = ${e?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};\n      ${l}\n      ${dn(t)}\n      ${I}\n      result[getIndexFromCoords4D(coords, vec4<i32>(uniforms.result_shape))/${o}] = value;\n    }\n  }`},is=(e,t,r,o,n,s,u,l)=>{let a=t.format==="NHWC",p=a?e[0].dims[3]:e[0].dims[1],h=r[0],g=a?r[2]:r[3],w=a?r[1]:r[2],v=a?r[3]:r[1],y=a?p%4===0&&v%4===0:g%4===0&&v%4===0,_=a?v:g*w,I=a?g*w:v,x=y?[8,8,1]:[_<=4||I<=4?4:16,_>4&&I<=4?4:16,1],A=y?[4,4,1]:[_<=4?1:4,_>4&&I<=4?1:4,1],O=[Math.ceil(_/x[0]/A[0]),Math.ceil(I/x[1]/A[1]),Math.ceil(h/x[2]/A[2])];Re("verbose",()=>`[conv_backprop_mm_webgpu] dispatch = ${O}`);let C=y?4:1,M=Math.max(x[0]*C,x[1]),D=y?4:1,G=[{type:"int32",data:o},{type:"int32",data:n},{type:"int32",data:s}],E=U("x",e[0].dataType,e[0].dims.length,D),W=U("w",e[1].dataType,e[1].dims.length,1),te=K("result",e[0].dataType,r.length,D),Y=[E,W];G.push(...F(e[0].dims)),G.push(...F(e[1].dims));let Z="";if(u){let ee=U("bias",e[2].dataType,e[2].dims.length,D);Y.push(ee),G.push(...F(e[2].dims)),Z+=`\n        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${y?"vec4<f32>":"f32"} {\n          return bias[coords.${a?"w":"y"}${y?"/ 4":""}];\n        }`}return G.push(...F(r)),{name:"Conv2DTransposeMatMul",shaderCache:{hint:t.cacheKey},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:O[0],y:O[1],z:O[2]},programUniforms:G}),getShaderSource:ee=>`\n        ${cn("uniforms.result_strides")}\n        ${ee.registerUniform("dimAOuter","i32").registerUniform("dimBOuter","i32").registerUniform("dimInner","i32").declareVariables(...Y,te)};\n        const outBackprop : vec4<i32> = vec4<i32>(${e[0].dims.join(",")});\n        const filterDims : vec2<i32> = vec2<i32>(${t.kernelShape[a?1:2]}, ${t.kernelShape[a?2:3]});\n        const effectiveFilterDims : vec2<i32> = filterDims + vec2<i32>(\n              ${t.dilations[0]<=1?0:(t.kernelShape[a?1:2]-1)*(t.dilations[0]-1)},\n              ${t.dilations[1]<=1?0:(t.kernelShape[a?2:3]-1)*(t.dilations[1]-1)});\n        const pads : vec2<i32> = vec2<i32>(i32(effectiveFilterDims[0]) - 1 - (${t.pads[0]+t.pads[2]})/2,\n                                         i32(effectiveFilterDims[1]) - 1 - (${t.pads[1]+t.pads[3]})/2);\n        const strides : vec2<i32> = vec2<i32>(${t.strides[0]}, ${t.strides[1]});\n        const dilation : vec2<i32> = vec2<i32>(${t.dilations[0]}, ${t.dilations[1]});\n        const dimAOuter : i32 = ${o};\n        const dimBOuter : i32 = ${n};\n        const dimInner : i32 = ${s};\n        ${Z}\n        ${El(a,u,t,C)}\n        ${y?Ar(A,x,"f32",void 0,!a,M):Tr(A,x,"f32",void 0,!a,M,!1,void 0,l)}`}}});var Ol,uo,us=q(()=>{"use strict";Pt();xe();$e();Ol=(e,t,r,o,n,s,u=!1,l)=>{let a=r.format==="NHWC",p=a?1:2,h=a?2:3,g=a?3:1,w=V.size(o),v=u?2:1,y=r.group,_=t[1].dims,I=_[0]/y,x=_[1],A=`\n  fn setOutputAtIndex(flatIndex : u32, value : ${u?`vec4<${l}>`:l}
5929) {\n    result[flatIndex] = ${u?`vec4<${l}>`:l}(value);\n  }`;n&&(A+=`\n    fn getBiasByOutputCoords(coords : vec4<u32>) -> ${u?`vec4<${l}>`:l} {\n      return bias[coords.${a?"w":"y"}${u?"/ 4":""}];\n    }`);let O=u?4:1,C=U("W",t[1].dataType,t[1].dims,O),M=U("Dy",t[0].dataType,t[0].dims,O),D=[M,C];n&&D.push(U("bias",t[2].dataType,[o[g]],O));let G=K("result",t[0].dataType,o,O),E=`{\n        let batch: u32 = ${s?"global_id.z":"workgroup_id.z"} / outShape[1];\n        let r = ${s?"global_id.z":"workgroup_id.z"} % outShape[1];\n        let c = ${s?"global_id.y":"workgroup_id.y"} * ${v};\n        let d1: u32 = ${s?"global_id.x":"workgroup_id.x"} * 4;\n\n        let dyCorner = vec2<i32>(i32(r), i32(c)) - vec2<i32>(pads);\n\n        // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n        // ? = to be determined. : = across all values in that axis.\n        var dotProd: array<vec4<${l}>, ${v}>;\n        for (var i = 0; i < ${v}; i++) {\n          dotProd[i] = vec4<${l}>(0.0);\n        }\n        for (var wR: u32 = 0; wR < filterDims[0]; wR = wR + 1) {\n          var dyR = (${l}(dyCorner.x) + ${l}(wR)) / ${l}(strides.x);\n          let wRPerm = filterDims[0] - 1 - wR;\n          if (dyR < 0.0 || dyR >= ${l}(outBackprop[1]) ||\n              fract(dyR) > 0.0 || wRPerm < 0) {\n            continue;\n          }\n          let idyR: u32 = u32(dyR);\n\n          for (var wC: u32 = 0; wC < filterDims[1]; wC = wC + 1) {\n            let dyC = (${l}(dyCorner.y) + ${l}(wC)) / ${l}(strides.y);\n            let dyC2 = (${l}(dyCorner.y) + 1.0 + ${l}(wC)) / ${l}(strides.y);\n            let wCPerm = filterDims[1] - 1 - wC;\n            if (wCPerm < 0) {\n              continue;\n            }\n            var bDyCVal = true;\n            var bDyCVal2 = true;\n            if (dyC < 0.0 || dyC >= ${l}(outBackprop[2]) ||\n                fract(dyC) > 0.0) {\n              bDyCVal = false;\n            }\n            if (dyC2 < 0.0 || dyC2 >= ${l}(outBackprop[2]) ||\n                fract(dyC2) > 0.0) {\n              bDyCVal2 = false;\n            }\n\n            let idyC: u32 = u32(dyC);\n            let idyC2: u32 = u32(dyC2);\n            if (bDyCVal && bDyCVal2) {\n              let d2Length = outBackprop[3];\n              for (var d2 :u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n                let wValue0 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};\n                let wValue1 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};\n                let wValue2 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};\n                let wValue3 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};\n\n                var xValue = ${M.get("batch","idyR","idyC","d2")};\n                let tmpval = vec4<${l}>(dot(xValue, wValue0),\n                                      dot(xValue, wValue1),\n                                      dot(xValue, wValue2),\n                                      dot(xValue, wValue3));\n                dotProd[0] = dotProd[0] + tmpval;\n\n                xValue =  ${M.get("batch","idyR","idyC2","d2")};\n\n                dotProd[1] = dotProd[1] + vec4<${l}>(dot(xValue, wValue0),\n                                                    dot(xValue, wValue1),\n                                                    dot(xValue, wValue2),\n                                                    dot(xValue, wValue3));\n              }\n            } else if (bDyCVal) {\n              let d2Length = outBackprop[${g}];\n              for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n                let wValue0 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};\n                let wValue1 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};\n                let wValue2 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};\n                let wValue3 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};\n\n                var xValue = ${M.get("batch","idyR","idyC","d2")};\n                let tmpval = vec4<${l}>(dot(xValue, wValue0),\n                                      dot(xValue, wValue1),\n                                      dot(xValue, wValue2),\n                                      dot(xValue, wValue3));\n                dotProd[0] = dotProd[0] + tmpval;\n              }\n            } else if (bDyCVal2) {\n              let d2Length = outBackprop[3];\n              for (var d2: u32 = 0; d2 < d2Length; d2 = d2 + 4) {\n                let wValue0 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1","d2")};\n                let wValue1 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 1","d2")};\n                let wValue2 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 2","d2")};\n                let wValue3 = ${C.get("u32(wRPerm)","u32(wCPerm)","d1 + 3","d2")};\n\n                var xValue = ${M.get("batch","idyR","idyC2","d2")};\n                let tmpval = vec4<${l}>(dot(xValue, wValue0),\n                                      dot(xValue, wValue1),\n                                      dot(xValue, wValue2),\n                                      dot(xValue, wValue3));\n                dotProd[1] = dotProd[1] + tmpval;\n              }\n            }\n          }\n        }\n\n        for (var i: u32 = 0; i < ${v}; i = i + 1) {\n          let value = dotProd[i] + ${n?"bias[c+i]":`vec4<${l}>(0.0)`};\n          ${G.set("batch","r","c + i","d1","value")};\n        }\n      }`,W=`\n          let outputIndices = ${G.offsetToIndices("global_idx")};\n          let batch = ${G.indicesGet("outputIndices",0)};\n          let d1 = ${G.indicesGet("outputIndices",g)};\n          let r = ${G.indicesGet("outputIndices",p)};\n          let c = ${G.indicesGet("outputIndices",h)};\n          let dyCorner = vec2<i32>(i32(r), i32(c)) - pads;\n          let dyRCorner = dyCorner.x;\n          let dyCCorner = dyCorner.y;\n          let groupId = d1 / ${x};\n          let wOutChannel = d1 - groupId * ${x};\n          // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n          // ? = to be determined. : = across all values in that axis.\n          var dotProd = ${l}(0.0);\n          for (var wR: u32 = 0; wR < effectiveFilterDims.x; wR = wR + 1) {\n            if (wR % dilations.x != 0) {\n              continue;\n            }\n            let dyR = (${l}(dyRCorner) + ${l}(wR)) / ${l}
5929(strides[0]);\n            let wRPerm = filterDims.x - 1 - wR / dilations.x;\n            if (dyR < 0.0 || dyR >= ${l}(outBackprop[${p}]) || fract(dyR) > 0.0 ||\n                wRPerm < 0) {\n              continue;\n            }\n            let idyR: u32 = u32(dyR);\n\n            for (var wC: u32 = 0; wC < effectiveFilterDims.y; wC = wC + 1) {\n              if (wC % dilations.y != 0) {\n                continue;\n              }\n              let dyC = (${l}(dyCCorner) + ${l}(wC)) / ${l}(strides.y);\n              let wCPerm = filterDims.y - 1 - wC / dilations.y;\n              if (dyC < 0.0 || dyC >= ${l}(outBackprop[${h}]) ||\n                  fract(dyC) > 0.0 || wCPerm < 0) {\n                continue;\n              }\n              let idyC: u32 = u32(dyC);\n              var inputChannel = groupId * ${I};\n              for (var d2: u32 = 0; d2 < ${I}; d2 = d2 + 1) {\n                let xValue = ${a?M.get("batch","idyR","idyC","inputChannel"):M.get("batch","inputChannel","idyR","idyC")};\n                let wValue = ${C.get("inputChannel","wOutChannel","u32(wRPerm)","u32(wCPerm)")};\n                dotProd = dotProd + xValue * wValue;\n                inputChannel = inputChannel + 1;\n              }\n            }\n          }\n          let value = dotProd + ${n?"bias[d1]":`${l}(0.0)`};\n          ${G.setByOffset("global_idx","value")};\n        `;return`\n  ${e.declareVariables(...D,G)}\n  ${A}\n  const outShape : vec4<u32> = vec4<u32>(${o.join(",")});\n  const outBackprop : vec4<u32> = vec4<u32>(${t[0].dims.join(",")});\n  const strides : vec2<u32> = vec2<u32>(${r.strides[0]}, ${r.strides[1]});\n  const filterDims : vec2<u32> = vec2<u32>(${r.kernelShape[a?1:2]}, ${r.kernelShape[a?2:3]});\n  const dilations : vec2<u32> = vec2<u32>(${r.dilations[0]}, ${r.dilations[1]});\n  const effectiveFilterDims : vec2<u32> = filterDims + vec2<u32>(\n          ${r.dilations[0]<=1?0:(r.kernelShape[a?1:2]-1)*(r.dilations[0]-1)},\n          ${r.dilations[1]<=1?0:(r.kernelShape[a?2:3]-1)*(r.dilations[1]-1)});\n  const pads : vec2<i32> = vec2<i32>(i32(effectiveFilterDims[0]) - 1 - (${r.pads[0]+r.pads[2]})/2,\n                                     i32(effectiveFilterDims[1]) - 1 - (${r.pads[1]+r.pads[3]})/2);\n    ${e.mainStart()}\n    ${e.guardAgainstOutOfBoundsWorkgroupSizes(w)};\n  ${u?E:W}}`},uo=(e,t,r)=>{let o=e.length>2,n=t.outputShape,s=V.size(n),u=[Math.ceil(s/64),1,1];Re("verbose",()=>`[conv2d_backprop_webgpu] dispatch = ${u}`);let l=Ge(e[0].dataType);return{name:"ConvTranspose2D",shaderCache:{hint:t.cacheKey},getRunData:()=>({dispatchGroup:{x:u[0],y:u[1],z:u[2]},outputs:[{dims:r?r(n):n,dataType:e[0].dataType}]}),getShaderSource:a=>Ol(a,e,t,n,o,u[1]===1&&u[2]===1,!1,l)}}});var Pl,Bl,kl,ds,ls,Rl,Dl,Ml,Ul,cs,ps=q(()=>{"use strict";Le();ss();us();Bt();or();Pl=(e,t,r,o,n,s)=>(e-1)*t+r+(o-1)*n+1-s,Bl=(e,t,r,o,n)=>{let s=Math.floor(e/2);t==="SAME_UPPER"?(r[o]=s,r[n]=e-s):t==="SAME_LOWER"&&(r[o]=e-s,r[n]=s)},kl=(e,t,r,o,n,s,u,l,a,p)=>{let h=e.length-2,g=p.length===0;if(a.length===0)for(let y=0;y<h;++y)a.push(0);let w=e[0],v=t[l?3:1]*n;for(let y=0,_=e.length-h-(l?1:0);y<h;++y,++_){let I=e[_],x=g?I*u[y]:p[y],A=Pl(I,u[y],s[y],t[_],r[y],x);Bl(A,o,s,y,y+h),g&&p.push(u[y]*(I-1)+a[y]+(t[_]-1)*r[y]+1-s[y]-s[y+h])}p.splice(0,0,w),p.splice(l?3:1,0,v)},ds=(e,t)=>{let r=e.kernelShape.slice();if(e.kernelShape.length===0||e.kernelShape.reduce((w,v)=>w*v,1)===0){r.length=0;for(let w=2;w<t[1].dims.length;++w)r.push(t[1].dims[w])}let o=e.format==="NHWC";r.splice(0,0,t[1].dims[0]),r.splice(o?3:1,0,t[1].dims[1]);let n=e.pads.slice(),s=e.outputShape.slice(),u=e.outputPadding.slice(),l=t[0].dims,a=e.dilations.slice();if(a.reduce((w,v)=>w+v,0)===0){let w=t[0].dims.length-2;a=new Array(w).fill(1)}let p=e.strides.slice();if(p.reduce((w,v)=>w+v,0)===0){let w=t[0].dims.length-2;p=new Array(w).fill(1)}kl(l,r,a,e.autoPad,e.group,n,p,o,u,s);let h=Object.assign({},e),g=e.cacheKey+[r.join("n,"),n.join(","),p.join(","),u.join(","),s.join(","),a.join(",")].join("_");return Object.assign(h,{kernelShape:r,pads:n,outputPadding:u,outputShape:s,dilations:a,strides:p,cacheKey:g}),h},ls=e=>{let t=un(e),r=e.format,o=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][typeof e.autoPad>"u"?0:e.autoPad],n=e.dilations,s=e.group,u=e.kernelShape,l=e.pads,a=e.strides,p=e.wIsConst(
5929),h=e.outputPadding,g=e.outputShape;return he({autoPad:o,format:r,dilations:n,group:s,kernelShape:u,outputPadding:h,outputShape:g,pads:l,strides:a,wIsConst:p,...t})},Rl=(e,t)=>{if(!e||e.length!==2&&e.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(e[0].dims.length!==4&&e[0].dims.length!==3)throw new Error("currently only support 2-dimensional conv");if(e[0].dims.length!==e[1].dims.length)throw new Error("filter does not have same dimension as input");let r=e[0].dims[t.format==="NHWC"?e[0].dims.length-1:1],o=e[1].dims[0];if(r!==o)throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let n=e[1].dims[1]*t.group;if(e.length===3&&(e[2].dims.length!==1||e[2].dims[0]!==n))throw new Error("invalid bias");let s=e[0].dims.length-2;if(t.dilations.reduce((h,g)=>h+g,0)>0&&t.dilations.length!==s)throw new Error(`dilations should be ${s}D`);if(t.strides.reduce((h,g)=>h+g,0)>0&&t.strides.length!==s)throw new Error(`strides should be ${s}D`);if(t.pads.reduce((h,g)=>h+g,0)>0&&t.pads.length!==s*2)throw new Error(`pads should be ${s*2}D`);if(t.outputPadding.length!==s&&t.outputPadding.length!==0)throw new Error(`output_padding should be ${s}D`);if(t.kernelShape.reduce((h,g)=>h+g,0)>0&&t.kernelShape.length!==0&&t.kernelShape.length!==e[1].dims.length-2)throw new Error("invalid kernel shape");if(t.outputShape.length!==0&&t.outputShape.length!==e[0].dims.length-2)throw new Error("invalid output shape")},Dl=[2,3,1,0],Ml=(e,t,r)=>{let o=ds(r,t),n=r.format==="NHWC",s=o.outputShape,u=s[n?3:1],l=t[0].dims[n?3:1];if(o.group!==1||u===1&&l===1){e.compute(uo(t,o));return}let a=s[n?1:2],p=s[n?2:3],h=t[1].dims[2],g=t[1].dims[3],w=n?a*p:u,v=n?u:a*p,y=h*g*l,_=!0,I=e.kernelCustomData.wT??e.compute(dt(t[1],Dl),{inputs:[1],outputs:[r.wIsConst?-2:-1]})[0];r.wIsConst&&!e.kernelCustomData.wT&&(e.kernelCustomData.wT=I);let x=[t[0],I],A=t.length===3;A&&(!n&&t[2].dims.length===1?x.push(t[2].reshape([t[2].dims[0],1,1])):x.push(t[2])),e.compute(is(x,o,s,w,v,y,A,_),{inputs:x})},Ul=(e,t)=>{let r=t.format==="NHWC",o=[e.inputs[0].reshape(r?[e.inputs[0].dims[0],1,e.inputs[0].dims[1],e.inputs[0].dims[2]]:[e.inputs[0].dims[0],e.inputs[0].dims[1],1,e.inputs[0].dims[2]]),e.inputs[1].reshape([e.inputs[1].dims[0],e.inputs[1].dims[1],1,e.inputs[1].dims[2]])];o.length===3&&o.push(e.inputs[2]);let n=t.kernelShape;(n.length===0||n[0]===0)&&(n=[e.inputs[1].dims[2]]);let s=t.dilations;(s.length===0||s[0]===0)&&(s=[1]);let u=t.strides;(u.length===0||u[0]===0)&&(u=[1]);let l=t.pads;l.length===0&&(l=[0,0]),l=[0,l[0],0,l[1]],u=[1].concat(u),s=[1].concat(s),n=[1].concat(n);let a=ds({...t,pads:l,strides:u,dilations:s,kernelShape:n},o);e.compute(uo(o,a,p=>r?[p[0],p[2],p[3]]:[p[0],p[1],p[3]]))},cs=(e,t)=>{Rl(e.inputs,t),e.inputs[0].dims.length===3?Ul(e,t):Ml(e,e.inputs,t)}});var zl,ms,fs,hs=q(()=>{"use strict";We();xe();Le();$e();zl=(e,t,r,o)=>{let n=V.size(t),s=t.length,u=U("input",e,s),l=K("output",e,s),a=r.dataType===6?r.getInt32Array()[0]:Number(r.getBigInt64Array()[0]),p=V.normalizeAxis(a,s),h=g=>{let w=` i32(${u.indicesGet("inputIndices","uniforms.axis")}) `,v=de("uniforms.input_shape","uniforms.axis",s),y=o.reverse?w+(o.exclusive?" + 1":""):"0",_=o.reverse?v:w+(o.exclusive?"":" + 1");return`\n                ${g.registerUniform("outputSize","u32").registerUniform("axis","u32").declareVariables(u,l)}\n                ${g.mainStart()}\n                  ${g.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n                  var inputIndices = ${l.offsetToIndices("global_idx")};\n                  var sum = ${l.type.value}(0);\n                  let first : i32 = ${y};\n                  let last : i32 = ${_};\n                  for (var i : i32 = first; i < last; i++) {\n                    ${u.indicesSet("inputIndices","uniforms.axis","u32(i)")};\n                    sum = sum + ${u.getByIndices("inputIndices")};\n                  }\n                  ${l.setByOffset("global_idx","sum")};\n                }`};return{name:"CumSum",shaderCache:{hint:o.cacheKey,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:t,dataType:e}],dispatchGroup:{x:Math.ceil(n/64)},programUniforms:[{type:"uint32",data:n},{type:"int32",data:p},...F(t),...F(t)]}),getShaderSource:h}},ms=(e,t)=>
vendor: 4,520 bytes, line 5929
5929{let r=e.inputs[0].dims,o=e.inputs[0].dataType,n=e.inputs[1];e.compute(zl(o,r,n,t),{inputs:[0]})},fs=e=>{let t=e.exclusive===1,r=e.reverse===1;return he({exclusive:t,reverse:r})}});var lo,mn,gs,Vl,Nl,co,po,ys,Wl,bs,ws,vs=q(()=>{"use strict";xe();Le();$e();lo="[a-zA-Z]|\\\\.\\\\.\\\\.",mn="("+lo+")+",gs="^"+mn+"$",Vl="("+mn+",)*"+mn,Nl="^"+Vl+"$",co=class{constructor(t=-1){this.symbolToIndices=new Map,this.inputIndex=t}addSymbol(t,r){let o=this.symbolToIndices.get(t);o===void 0?o=[r]:o.push(r),this.symbolToIndices.set(t,o)}},po=class{constructor(t,r){this.equation=r;this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[o,n]=r.includes("->")?r.split("->",2):[r,""];if(!o.match(RegExp(Nl)))throw new Error("Invalid LHS term");if(o.split(",").forEach((l,a)=>{let p=t[a].dims.slice();if(!l.match(RegExp(gs)))throw new Error("Invalid LHS term");let h=this.processTerm(l,!0,p,a);this.lhs.push(h)}),n==="")n+=[...this.symbolToInfo.entries()].filter(([l,a])=>a.count===1||l==="...").map(([l])=>l).join("");else if(!n.match(RegExp(mn)))throw new Error("Invalid RHS");n.match(RegExp(lo,"g"))?.forEach(l=>{if(l==="...")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let a=this.symbolToInfo.get(l);if(a===void 0)throw new Error("Invalid RHS symbol");this.outputDims.push(a.dimValue)}}),this.rhs=this.processTerm(n,!1,this.outputDims)}addSymbol(t,r,o){let n=this.symbolToInfo.get(t);if(n!==void 0){if(n.dimValue!==r&&n.count!==1)throw new Error("Dimension mismatch");n.count++,n.inputIndices.push(o)}else n={count:1,dimValue:r,inputIndices:[o]};this.symbolToInfo.set(t,n)}processTerm(t,r,o,n=-1){let s=o.length,u=!1,l=[],a=0;if(!t.match(RegExp(gs))&&!r&&t!=="")throw new Error("Invalid LHS term");let p=t.match(RegExp(lo,"g")),h=new co(n);return p?.forEach((g,w)=>{if(g==="..."){if(u)throw new Error("Only one ellipsis is allowed per input term");u=!0;let v=s-p.length+1;if(v<0)throw new Error("Ellipsis out of bounds");if(l=o.slice(a,a+v),this.hasEllipsis){if(this.ellipsisDims.length!==l.length||this.ellipsisDims.toString()!==l.toString())throw new Error("Ellipsis dimensions mismatch")}else if(r)this.hasEllipsis=!0,this.ellipsisDims=l;else throw new Error("Ellipsis must be specified in the LHS");for(let y=0;y<l.length;y++){let _=String.fromCharCode("0".charCodeAt(0)+y);h.addSymbol(_,w+y),this.addSymbol(_,o[a++],n)}}else h.addSymbol(g,w+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(g,o[a++],n)}),h}},ys=e=>e+"_max",Wl=(e,t,r,o,n)=>{let u=t.map((v,y)=>e[y]?v.length:v).map((v,y)=>U(`input${y}`,r,v)),l=V.size(n),a=Ue(n.length),p=a?n.length:n,h=K("output",r,p),g=[...o.symbolToInfo.keys()].filter(v=>!o.rhs.symbolToIndices.has(v)),w=v=>{let y=[],_="var prod = 1.0;",I="var sum = 0.0;",x="sum += prod;",A=[],O=[],C=[],M=[],D=o.symbolToInfo.size===o.rhs.symbolToIndices.size;o.symbolToInfo.forEach((E,W)=>{if(o.rhs.symbolToIndices.has(W)){let te=o.rhs.symbolToIndices.get(W)?.[0];te!==void 0&&o.lhs.forEach((Y,Z)=>{if(E.inputIndices.includes(Z)){let ee=Y.symbolToIndices.get(W);if(ee===void 0)throw new Error("Invalid symbol error");ee.forEach(Te=>{y.push(`${u[Z].indicesSet(`input${Z}Indices`,Te,h.indicesGet("outputIndices",te))}`)})}})}else o.lhs.forEach((te,Y)=>{if(E.inputIndices.includes(Y)){let Z=te.symbolToIndices.get(W);if(Z===void 0)throw new Error("Invalid symbol error");Z.forEach(ee=>{A.push(`${u[Y].indicesSet(`input${Y}Indices`,ee,`${W}`)}`)}),M.push(`prod *= ${u[Y].getByIndices(`input${Y}Indices`)};`)}}),O.push(`for(var ${W}: u32 = 0; ${W} < uniforms.${ys(W)}; ${W}++) {`),C.push("}")});let G=D?[...y,`let sum = ${u.map((E,W)=>E.getByIndices(`input${W}Indices`)).join(" * ")};`]:[...y,I,...O,...A,_,...M,x,...C];return`\n            ${v.registerUniforms(g.map(E=>({name:`${ys(E)}`,type:"u32"}))).registerUniform("outputSize","u32").declareVariables(...u,h)}\n\n            ${v.mainStart()}\n            ${v.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n            var outputIndices = ${h.offsetToIndices("global_idx")};\n            ${u.map((E,W)=>`var input${W}Indices: ${u[W].type.indices};`).join(`\n`)}\n            ${G.join(`\n`)};\n            ${h.setByOffset("global_idx","sum")};\n          }`};return{name:"Einsum",shaderCache:{hint:o.equation,inputDependencies:e.map(v=>v?"rank":"dims")},getRunData:()=>{let v=g.filter(_=>o.symbolToInfo.has(_)).map(_=>({type:"uint32",data:o.symbolToInfo.get(_)?.dimValue||0}));v.push({type:"uint32",data:l});let y=t.filter((_,I)=>e[I]).map((_,I)=>[...F(_)]).reduce((_,I)=>
5929_.concat(I),v);return a&&y.push(...F(n)),{outputs:[{dims:n,dataType:r}],dispatchGroup:{x:Math.ceil(l/64)},programUniforms:y}},getShaderSource:w}},bs=(e,t)=>{let r=new po(e.inputs,t.equation),o=e.inputs.map((u,l)=>Ue(u.dims.length)),n=r.outputDims,s=e.inputs.map((u,l)=>u.dims);e.compute(Wl(o,s,e.inputs[0].dataType,r,n))},ws=e=>{let t=e.equation.replace(/\\s+/g,"");return he({equation:t})}});var Gl,$s,Hl,Ll,Ss,xs=q(()=>{"use strict";We();xe();$e();Gl=e=>{if(!e||e.length!==2)throw new Error("Expand requires 2 input.");let t=e[0].dims,r=Array.from(e[1].getBigInt64Array(),Number),o=r.length<t.length?0:r.length-t.length,n=t.length<r.length?0:t.length-r.length;for(;o<r.length&&n<t.length;++o,++n)if(r[o]!==t[n]&&r[o]!==1&&t[n]!==1)throw new Error("Expand requires shape to be broadcastable to input")},$s=(e,t)=>{let r=e.length-t.length,o=[];for(let n=0;n<r;++n)o.push(e[n]);for(let n=0;n<t.length;++n)o.push(t[n]===1?e[n+r]:t[n]);return o},Hl=(e,t)=>e.length>t.length?$s(e,t):$s(t,e),Ll=e=>{let t=e[0].dims,r=Array.from(e[1].getBigInt64Array(),Number),o=Hl(t,r),n=e[0].dataType,s=n===9?4:1,u=Math.ceil(V.size(o)/s),l=Ue(t.length),a=Ue(o.length),p=g=>{let w=l?t.length:t,v=a?o.length:o,y=U("input",n,w,s),_=K("output",n,v,s),I;if(n===9){let x=(A,O,C="")=>`\n          let outputIndices${O} = ${_.offsetToIndices(`outputOffset + ${O}u`)};\n          let offset${O} = ${y.broadcastedIndicesToOffset(`outputIndices${O}`,_)};\n          let index${O} = offset${O} / 4u;\n          let component${O} = offset${O} % 4u;\n          ${A}[${O}] = ${C}(${y.getByOffset(`index${O}`)}[component${O}]);\n        `;I=`\n        let outputOffset = global_idx * ${s};\n        var data = vec4<u32>(0);\n        ${x("data",0,"u32")}\n        ${x("data",1,"u32")}\n        ${x("data",2,"u32")}\n        ${x("data",3,"u32")}\n        ${_.setByOffset("global_idx","data")}\n      }`}else I=`\n        let outputIndices = ${_.offsetToIndices("global_idx")};\n        let inputOffset = ${y.broadcastedIndicesToOffset("outputIndices",_)};\n        ${_.setByOffset("global_idx",y.getByOffset("inputOffset"))}\n      }`;return`\n    ${g.registerUniform("vec_size","u32").declareVariables(y,_)}\n    ${g.mainStart()}\n    ${g.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}\n    ${I}`},h=[{type:"uint32",data:u}];return l&&h.push(...F(t)),a&&h.push(...F(o)),{name:"Expand",shaderCache:{hint:`${o.length}`,inputDependencies:[l?"rank":"dims"]},getShaderSource:p,getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:h})}},Ss=e=>{Gl(e.inputs),e.compute(Ll(e.inputs),{inputs:[0]})}});var Fl,Kl,_s,Cs,Is=q(()=>{"use strict";We();xe();Le();$e();Fl=e=>{if(!e||e.length!==2)throw new Error("Gather requires 2 inputs.")},Kl=(e,t)=>{let r=e[0].dims,o=e[1].dims,n=r.length,s=V.normalizeAxis(t.axis,n),u=r.slice(0);u.splice(s,1,...o);let l=r[s],a=e[0].dataType===9?4:1,p=Math.ceil(V.size(u)/a),h=Ue(e[0].dims.length),g=h?e[0].dims.length:e[0].dims,w=Ue(e[1].dims.length),v=w?e[1].dims.length:e[1].dims,y=Ue(u.length),_=y?u.length:u,I=[{type:"uint32",data:p},{type:"int32",data:l},{type:"uint32",data:s}];h&&I.push(...F(e[0].dims)),w&&I.push(...F(e[1].dims)),y&&I.push(...F(u));let x=[];x.push(h?"rank":"dims"),x.push(w?"rank":"dims");let A=O=>{let C=U("data",e[0].dataType,g,a),M=U("inputIndices",e[1].dataType,v),D=K("output",e[0].dataType,_,a),G=W=>{let te=o.length,Y=`var indicesIndices${W}  = ${M.type.indices}(0);`;for(let Z=0;Z<te;Z++)Y+=`${te>1?`indicesIndices${W}[${Z}]`:`indicesIndices${W}`} = ${u.length>1?`outputIndices${W}[uniforms.axis + ${Z}]`:`outputIndices${W}`};`;Y+=`\n          var idx${W} = ${M.getByIndices(`indicesIndices${W}`)};\n          if (idx${W} < 0) {\n            idx${W} = idx${W} + uniforms.axisDimLimit;\n          }\n          var dataIndices${W} = ${C.type.indices}(0);\n        `;for(let Z=0,ee=0;Z<n;Z++)Z===s?(Y+=`${n>1?`dataIndices${W}[${Z}]`:`dataIndices${W}`} = u32(idx${W});`,ee+=te):(Y+=`${n>1?`dataIndices${W}[${Z}]`:`dataIndices${W}`} = ${u.length>1?`outputIndices${W}[${ee}]`:`outputIndices${W}`};`,ee++);return Y},E;if(e[0].dataType===9){let W=(te,Y,Z="")=>`\n          let outputIndices${Y} = ${D.offsetToIndices(`outputOffset + ${Y}u`)};\n          ${G(Y)};\n          let offset${Y} = ${C.indicesToOffset(`dataIndices${Y}`)};\n          let index${Y} = offset${Y} / 4u;\n          let component${Y} = offset${Y} % 4u;\n          ${te}[${Y}] = ${Z}(${C.getByOffset(`index${Y}`)}[component${Y}]);\n        `;E=`\n        let outputOffset = global_idx * ${a};\n        var value = vec4<u32>(0);\n        ${W("value",0,"u32")}\n        ${W("value",1,"u32")}\n        ${W("value",2,"u32")}\n        ${W("value",3,"u32")}\n        ${D.setByOffset("global_idx","value")}\n      `}else E=`\n      let outputIndices = ${D.offsetToIndices("global_idx")};\n      ${G("")};\n      let value = ${C.getByIndices("dataIndices")};\n      ${D.setByOffset("global_idx","value")};\n      `;return`\n      ${O.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(C,M,D)}\n      ${O.mainStart()}\n        ${O.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n        ${E}\n      }`};return{name:"Gather",shaderCache:{hint:t.cacheKey,inputDependencies:x},getRunData:()=>({outputs:[{dims:u,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:I}),getShaderSource:A}},_s=e=>he({axis:e.axis}),Cs=(e,t)=>
vendor: 4,242 bytes, line 5929
5929{let r=e.inputs;Fl(r),e.compute(Kl(e.inputs,t))}});var ql,jl,As,Ts,Es=q(()=>{"use strict";xe();Le();$e();ql=e=>{if(!e||e.length!==2)throw new Error("GatherElements requires 2 inputs.");if(e[0].dims.length<1)throw new Error("GatherElements requires that the data input be rank >= 1.");if(e[0].dims.length!==e[1].dims.length)throw new Error(`GatherElements requires that the data input and\n                     indices input tensors be of same rank.`)},jl=(e,t)=>{let r=e[0].dims,o=e[0].dataType,n=r.length,s=e[1].dims,u=e[1].dataType,l=V.normalizeAxis(t.axis,n),a=r[l],p=s.slice(0),h=V.size(p),g=U("input",o,n),w=U("indicesInput",u,s.length),v=K("output",o,p.length),y=[{type:"uint32",data:h},{type:"int32",data:a},{type:"uint32",data:l}];return y.push(...F(r)),y.push(...F(s)),y.push(...F(p)),{name:"GatherElements",shaderCache:{inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:p,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(h/64)},programUniforms:y}),getShaderSource:x=>`\n      ${x.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(g,w,v)}\n      ${x.mainStart()}\n      ${x.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n\n      let outputIndices = ${v.offsetToIndices("global_idx")};\n\n      var idx = ${w.getByOffset("global_idx")};\n      if (idx < 0) {\n        idx = idx + uniforms.axisDimLimit;\n      }\n      var inputIndices = ${g.type.indices}(outputIndices);\n      ${g.indicesSet("inputIndices","uniforms.axis","u32(idx)")};\n      let value = ${g.getByIndices("inputIndices")};\n\n      ${v.setByOffset("global_idx","value")};\n  }`}},As=e=>he({axis:e.axis}),Ts=(e,t)=>{let r=e.inputs;ql(r),e.compute(jl(e.inputs,t))}});var Yl,Zl,Os,Ps,Bs=q(()=>{"use strict";xe();$e();Yl=e=>{if(!e)throw new Error("Input is missing");if(e.length<2||e.length>3)throw new Error("Invaid input number.");if(e.length===3&&e[2].dims.length>2)throw new Error("Invalid input shape of C");if(e[0].dataType!==e[1].dataType||e.length===3&&e[0].dataType!==e[2].dataType)throw new Error("Input types are mismatched")},Zl=(e,t)=>{let r=e[0].dims.slice(),o=e[1].dims.slice(),[n,s,u]=Jr.getShapeOfGemmResult(r,t.transA,o,t.transB,e.length===3?e[2].dims:void 0),l=[n,s];if(!l)throw new Error("Can\'t use gemm on the given tensors");let a=V.size(l),p=[{type:"uint32",data:a},{type:"uint32",data:n},{type:"uint32",data:s},{type:"uint32",data:u},{type:"float32",data:t.alpha},{type:"float32",data:t.beta}],h=["type","type"];e.length===3&&(p.push(...F(e[2].dims)),h.push("rank")),p.push(...F(l));let g=w=>{let v="";t.transA&&t.transB?v="value += a[k * uniforms.M + m] * b[n * uniforms.K + k];":t.transA&&!t.transB?v="value += a[k * uniforms.M + m] * b[k * uniforms.N + n];":!t.transA&&t.transB?v="value += a[m * uniforms.K + k] * b[n * uniforms.K + k];":!t.transA&&!t.transB&&(v="value += a[m * uniforms.K + k] * b[k * uniforms.N + n];");let y=t.alpha===1?"":"value *= uniforms.alpha;",_=U("a",e[0].dataType,e[0].dims),I=U("b",e[1].dataType,e[1].dims),x=_.type.value,A=null,O=[_,I];e.length===3&&(A=U("c",e[2].dataType,e[2].dims.length),O.push(A));let C=K("output",e[0].dataType,l.length);O.push(C);let M=[{name:"output_size",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"},{name:"alpha",type:"f32"},{name:"beta",type:"f32"}];return`\n  ${w.registerUniforms(M).declareVariables(...O)}\n\n  ${w.mainStart()}\n    ${w.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n\n    let m = global_idx / uniforms.N;\n    let n = global_idx % uniforms.N;\n\n    var value = ${x}(0);\n    for (var k: u32 = 0u; k < uniforms.K; k++) {\n      ${v}\n    }\n\n    ${y}\n    ${(()=>A!=null?`let cOffset = ${A.broadcastedIndicesToOffset("vec2(m, n)",C)}; value += ${x}(uniforms.beta) * ${A.getByOffset("cOffset")};`:"")()}\n    output[global_idx] = value;\n  }`};return{name:"Gemm",shaderCache:{hint:`${t.cacheKey}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:l,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:p}),getShaderSource:g}},Os=e=>{let t=e.transA,r=e.transB,o=e.alpha,n=e.beta;return{transA:t,transB:r,alpha:o,beta:n,cacheKey:`${e.transA};${e.transB};${e.alpha===1}`}},Ps=(e,t)=>
5929{Yl(e.inputs),e.compute(Zl(e.inputs,t))}});var Ql,Jl,Xl,ks,Rs=q(()=>{"use strict";We();xe();$e();Ql=(e,t)=>{let r=e[0].dims,o=r,n=2,s=V.sizeToDimension(r,n),u=V.sizeFromDimension(r,n),l=He(u),a=u/l,p=[r[0],r[1],a],h=["rank","type","type"],g=[{type:"uint32",data:u},{type:"uint32",data:a}];g.push(...F(p),...F(p));let w=v=>{let y=U("x",e[0].dataType,p.length,l),_=U("scale",e[1].dataType,e[1].dims),I=U("bias",e[2].dataType,e[2].dims),x=K("output",e[0].dataType,p.length,l),A=[y,_,I,x],O=y.type.value,C=l===1?"f32":`vec${l}<f32>`,M=64,D=[{name:"normSize",type:"u32"},{name:"normPackedSize",type:"u32"}];return`\n  var<workgroup> meanShared : f32;\n  var<workgroup> squaredNormShared : f32;\n  var<workgroup> workgroupShared : array<${C}, ${M}>;\n  const workgroupSize = ${M}u;\n  ${v.registerUniforms(D).declareVariables(...A)}\n  ${v.mainStart(M)}\n    let norm = global_idx / workgroupSize;\n    let batch = norm / uniforms.x_shape[1];\n    let channel = norm % uniforms.x_shape[1];\n    let localIndex = local_id.x;\n\n    // initialize workgroup memory\n    var initial = ${C}(0);\n    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n      initial = initial + ${C}(${y.get("batch","channel","h")});\n    }\n    workgroupShared[localIndex] = initial;\n    workgroupBarrier();\n\n    // Calculate the mean of current channel data.\n    for (var currSize = workgroupSize >> 1;  currSize > 0; currSize = currSize >> 1) {\n      if (localIndex < currSize) {\n        workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\n      }\n      workgroupBarrier();\n    }\n    if (localIndex == 0) {\n      meanShared = ${ot("workgroupShared[0]",l)} / f32(uniforms.normSize);\n    }\n    workgroupBarrier();\n\n    // reinitialize workgroup memory.\n    initial = ${C}(0);\n    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n      let deviation =  ${C}(${y.get("batch","channel","h")}) - ${C}(meanShared);\n      initial = initial + deviation * deviation;\n    }\n    workgroupShared[localIndex] = initial;\n    workgroupBarrier();\n\n    // Calculate the sum of square of deviation of current channel data.\n    for (var currSize = workgroupSize >> 1;  currSize > 0; currSize = currSize >> 1) {\n      if (localIndex < currSize) {\n        workgroupShared[localIndex] = workgroupShared[localIndex] + workgroupShared[localIndex + currSize];\n      }\n      workgroupBarrier();\n    }\n    if (localIndex == 0) {\n      squaredNormShared = ${ot("workgroupShared[0]",l)};\n    }\n    workgroupBarrier();\n\n    let invStdDev = inverseSqrt(squaredNormShared / f32(uniforms.normSize) + f32(${t.epsilon}));
5929\n    let channelScale = invStdDev * f32(${_.getByOffset("channel")});\n    let channelShift = f32(${I.getByOffset("channel")}) - meanShared * channelScale;\n    for (var h = localIndex; h < uniforms.normPackedSize; h += workgroupSize) {\n      let value = ${y.get("batch","channel","h")} * ${O}(${C}(channelScale)) + ${O}(${C}(channelShift));\n      ${x.set("batch","channel","h","value")};\n    }\n  }`};return{name:"InstanceNormalization",shaderCache:{hint:`${t.epsilon};${l}`,inputDependencies:h},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:s},programUniforms:g}),getShaderSource:w}},Jl=(e,t,r,o,n,s,u,l)=>{let a=He(u),p=64,h=a===1?"vec2f":`mat2x${a}f`,g=a===1?"f32":`vec${a}f`,w=(D,G)=>`${h}(${D}, ${G})`,v=n*u/a,y=Math.ceil(s/p),_=["type"],I=[{type:"uint32",data:y},{type:"uint32",data:s},{type:"uint32",data:Math.floor(u/a)},{type:"uint32",data:Math.floor(s*u/a)}],x=D=>{let G=U("input",t.dataType,t.dims,a);return`\n  ${D.declareVariables(G)}\n  @group(0) @binding(1) var<storage, read_write> output : array<${h}>;\n  struct Uniforms {wg_size:u32, H:u32, C:u32, image_size:u32};\n  @group(0) @binding(2) var<uniform> uniforms: Uniforms;\n\n  ${D.mainStart(p)}\n    let currentImageNumber = global_idx / ${p} / uniforms.C;
5929\n    let currentChannelNumber = (global_idx / ${p}) % uniforms.C;\n    let wgId = global_idx % ${p};\n    let wgOffset = wgId * uniforms.wg_size;\n    if (wgOffset >= uniforms.H) {\n        return;\n    }\n    let wgMax = min(wgOffset + uniforms.wg_size, uniforms.H);\n\n    let offset = currentImageNumber * uniforms.image_size + currentChannelNumber;\n    var sum = ${Qe("f32",a)};\n    var squaredSum = ${Qe("f32",a)};\n    for (var i: u32 = wgOffset; i < wgMax; i++) {\n        let value = ${g}(input[offset + i * uniforms.C]);\n        sum += value;\n        squaredSum += value * value;\n    }\n    output[global_idx] = ${w("sum","squaredSum")};\n  }`},A=e.compute({name:"InstanceNormComputeMean",shaderCache:{hint:`${a}`,inputDependencies:_},getRunData:()=>({outputs:[{dims:[n,u,p,2],dataType:1}],dispatchGroup:{x:n*u/a},programUniforms:I}),getShaderSource:x},{inputs:[t],outputs:[-1]})[0],O=[{type:"uint32",data:v},{type:"uint32",data:s},{type:"uint32",data:Math.floor(u/a)},{type:"uint32",data:Math.floor(p*u/a)}],C=["type","type","type"],M=D=>{let G=U("scale",r.dataType,r.dims,a),E=U("bias",o.dataType,o.dims,a);return`\n  @group(0) @binding(0) var<storage, read> input : array<${h}>;\n  @group(0) @binding(1) var<storage, read> scale : array<${G.type.storage}>;\n  @group(0) @binding(2) var<storage, read> bias : array<${E.type.storage}>;\n  @group(0) @binding(3) var<storage, read_write> output : array<${h}>;\n  struct Uniforms {units_of_work : u32, H: u32, C : u32, image_size : u32};\n  @group(0) @binding(4) var<uniform> uniforms: Uniforms;\n\n  ${D.mainStart()}\n    ${D.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.units_of_work")}\n    let currentImageNumber = global_idx / uniforms.C;
5929\n    let currentChannelNumber = global_idx % uniforms.C;\n\n    let offset = currentImageNumber * uniforms.image_size;\n    var sum = ${Qe("f32",a)};\n    var squaredSum = ${Qe("f32",a)};\n    for (var i: u32 = 0; i < ${p}; i++) {\n        let value = input[offset + i + currentChannelNumber * ${p}];\n        sum += value[0];\n        squaredSum += value[1];\n    }\n    sum = sum / f32(uniforms.H);\n    squaredSum = squaredSum / f32(uniforms.H);\n    let invStdDev = inverseSqrt(squaredSum - sum * sum + f32(${l}));\n    let channelScale = invStdDev * ${g}(scale[currentChannelNumber]);\n    let channelShift = ${g}(bias[currentChannelNumber]) - sum * channelScale;\n\n    output[global_idx] = ${w("channelScale","channelShift")};\n  }`};return e.compute({name:"InstanceNormComputeChannelScaleShift",shaderCache:{hint:`${a};${l}`,inputDependencies:C},getRunData:()=>({outputs:[{dims:[n,u,2],dataType:1}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:O}),getShaderSource:M},{inputs:[A,r,o],outputs:[-1]})[0]},Xl=(e,t,r)=>{let o=t[0].dims,n=o,s=o[0],u=o[o.length-1],l=V.sizeFromDimension(o,1)/u,a=He(u),p=V.size(n)/a,h=[{type:"uint32",data:l},{type:"uint32",data:Math.floor(u/a)}],g=["type","type"],w=Jl(e,t[0],t[1],t[2],s,l,u,r.epsilon),v=y=>{let _=Ge(t[0].dataType),I=a===1?"vec2f":`mat2x${a}f`,x=a===1?_:`vec${a}<${_}>`,A=U("input",t[0].dataType,t[0].dims,a),O=K("output",t[0].dataType,n,a);return`\n  @group(0) @binding(0) var<storage, read> input : array<${A.type.storage}>;\n  @group(0) @binding(1) var<storage, read> scaleInput : array<${I}>;\n  @group(0) @binding(2) var<storage, read_write> output : array<${O.type.storage}>;\n  struct Uniforms {H: u32, C : u32};\n  @group(0) @binding(3) var<uniform> uniforms: Uniforms;\n\n  ${y.mainStart()}\n    let currentImageNumber = global_idx / (uniforms.C * uniforms.H);
5929\n    let currentChannelNumber = global_idx % uniforms.C;\n\n    let scaleOffset = currentImageNumber * uniforms.C + currentChannelNumber;\n    let scale = scaleInput[scaleOffset];\n    output[global_idx] = fma(input[global_idx], ${x}(scale[0]), ${x}(scale[1]));\n  }`};e.compute({name:"InstanceNormalizationNHWC",shaderCache:{hint:`${a}`,inputDependencies:g},getRunData:()=>({outputs:[{dims:n,dataType:t[0].dataType}],dispatchGroup:{x:Math.ceil(p/64)},programUniforms:h}),getShaderSource:v},{inputs:[t[0],w]})},ks=(e,t)=>{t.format==="NHWC"?Xl(e,e.inputs,t):e.compute(Ql(e.inputs,t))}});var ec,tc,Ds,Ms=q(()=>{"use strict";We();xe();$e();ec=e=>{if(!e||e.length<2)throw new Error("layerNorm requires at least 2 inputs.")},tc=(e,t,r)=>{let o=e[0].dims,n=e[1],s=e[2],u=o,l=V.normalizeAxis(t.axis,o.length),a=V.sizeToDimension(o,l),p=V.sizeFromDimension(o,l),h=V.size(n.dims),g=s?V.size(s.dims):0;if(h!==p||s&&g!==p)throw new Error(`Size of X.shape()[axis:] == ${p}.\n       Size of scale and bias (if provided) must match this.\n       Got scale size of ${h} and bias size of ${g}`);let w=[];for(let C=0;C<o.length;++C)C<l?w.push(o[C]):w.push(1);let v=He(p),y=["type","type"],_=[{type:"uint32",data:a},{type:"float32",data:p},{type:"uint32",data:Math.floor(p/v)},{type:"float32",data:t.epsilon}];s&&y.push("type");let I=r>1,x=r>2,A=C=>{let M=Ge(e[0].dataType),D=[U("x",e[0].dataType,e[0].dims,v),U("scale",n.dataType,n.dims,v)];s&&D.push(U("bias",s.dataType,s.dims,v)),D.push(K("output",e[0].dataType,u,v)),I&&D.push(K("mean_data_output",1,w)),x&&D.push(K("inv_std_output",1,w));let G=[{name:"norm_count",type:"u32"},{name:"norm_size",type:"f32"},{name:"norm_size_vectorized",type:"u32"},{name:"epsilon",type:"f32"}];
vendor: 4,429 bytes, line 5929
5929return`\n  ${C.registerUniforms(G).declareVariables(...D)}\n  ${C.mainStart()}\n    ${C.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.norm_count")}\n    let offset = global_idx * uniforms.norm_size_vectorized;\n    var meanVector = ${Qe("f32",v)};\n    var meanSquareVector = ${Qe("f32",v)};\n\n    for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {\n      let value = ${ut(M,v,"x[h + offset]")};\n      meanVector += value;\n      meanSquareVector += value * value;\n    }\n    let mean = ${ot("meanVector",v)} / uniforms.norm_size;\n    let invStdDev =\n        inverseSqrt(${ot("meanSquareVector",v)} / uniforms.norm_size - mean * mean + uniforms.epsilon);\n\n    for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {\n      let f32input = ${ut(M,v,"x[j + offset]")};\n      let f32scale = ${ut(M,v,"scale[j]")};\n      output[j + offset] = ${D[0].type.value}((f32input - mean) * invStdDev * f32scale\n        ${s?`+ ${ut(M,v,"bias[j]")}`:""}\n      );\n    }\n\n    ${I?"mean_data_output[global_idx] = mean":""};\n    ${x?"inv_std_output[global_idx] = invStdDev":""};\n  }`},O=[{dims:u,dataType:e[0].dataType}];return I&&O.push({dims:w,dataType:1}),x&&O.push({dims:w,dataType:1}),{name:"LayerNormalization",shaderCache:{hint:`${v};${r}`,inputDependencies:y},getRunData:()=>({outputs:O,dispatchGroup:{x:Math.ceil(a/64)},programUniforms:_}),getShaderSource:A}},Ds=(e,t)=>{ec(e.inputs),e.compute(tc(e.inputs,t,e.outputCount))}});var rc,zs,Us,nc,mo,Vs,Ns=q(()=>{"use strict";xe();Le();Zr();Jn();$e();or();rc=(e,t)=>{let r=e[0],o=e[1],n=e[2],s=e[3],u=e[4],l=e[5],a=e[6],p=e[7];if(r.dims.length!==3&&r.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let h=!1,g=r.dims[0],w=r.dims[1],v=r.dims.length===3?h?r.dims[2]/3:r.dims[2]:t.numHeads*r.dims[4],y=w,_=0,I=0,x=Math.floor(v/t.numHeads);if(a&&p){if(a.dims.length!==4)throw new Error(\'Input "past_key" is expected to have 4 dimensions\');if(p.dims.length!==4)throw new Error(\'Input "past_value" is expected to have 4 dimensions\');_=a.dims[2],I=a.dims[2]}else if(a||p)throw new Error(\'Input "past_key" and "past_value" shall be both present or both absent\');let A;if(o){if(r.dims.length!==3)throw new Error(\'Input "query" is expected to have 3 dimensions when key is given\');if(o.dims.length<3||o.dims.length>5)throw new Error(\'Input "key" is expected to have 3, 4, or 5 dimensions\');if(r.dims[0]!==o.dims[0])throw new Error(\'Input "query" and "key" shall have same dim 0 (batch size)\');if(o.dims.length===3){if(o.dims[2]!==r.dims[2])throw new Error(\'Input "query" and "key" shall have same dim 2 (hidden_size)\');A=2,y=o.dims[1]}else if(o.dims.length===5){if(o.dims[2]!==t.numHeads||o.dims[3]!==2||o.dims[4]!==x)throw new Error(\'Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv\');if(n)throw new Error(\'Expect "value" be none when "key" has packed kv format.\');A=5,y=o.dims[1]}else{if(o.dims[1]!==t.numHeads||o.dims[3]!==x)throw new Error(\'Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key\');A=0,y=o.dims[2]}}else{if(r.dims.length!==3&&r.dims.length!==5)throw new Error(\'Input "query" is expected to have 3 or 5 dimensions when key is empty\');if(r.dims.length===5&&(r.dims[2]!==t.numHeads||r.dims[3]!==3))throw new Error(\'Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv\');A=3}if(s){if(s.dims.length!==1)throw new Error(\'Input "bias" is expected to have 1 dimension\');if(n&&r.dims.length===5&&r.dims[3]===2)throw new Error("bias is not allowed for packed kv.")}let O=0;if(u){O=8;let E=u.dims;throw E.length===1?E[0]===g?O=1:E[0]===3*g+2&&(O=3):E.length===2&&E[0]===g&&E[1]===y&&(O=5),O===8?new Error(\'Input "key_padding_mask" shape shall be (batch_size) or (batch_size, kv_sequence_length)\'):new Error("Mask not supported")}let C=!1,M=v;if(n){if(n.dims.length!==3&&n.dims.length!==4)throw new Error(\'Input "value" is expected to have 3 or 4 dimensions\');if(r.dims[0]!==n.dims[0])throw new Error(\'Input "query" and "value" shall have same dim 0 (batch_size)\');if(n.dims.length===3){if(y!==n.dims[1])throw new Error(\'Input "key" and "value" shall have the same dim 1 (kv_sequence_length)\');M=n.dims[2]}else{if(y!==n.dims[2])throw new Error(\'Input "past_key" and "past_value" shall have the same dim 2 (kv_sequence_length)\');M=n.dims[1]*n.dims[3],C=!0}}let D=_+y,G=!1;
5929if(u)throw new Error("Key padding mask is not supported");if(l)throw new Error("extraAddQk is not supported");if(a)throw new Error("pastKey is not supported");if(p)throw new Error("pastValue is not supported");return{batchSize:g,sequenceLength:w,pastSequenceLength:_,kvSequenceLength:y,totalSequenceLength:D,maxSequenceLength:I,inputHiddenSize:0,hiddenSize:v,vHiddenSize:M,headSize:x,vHeadSize:Math.floor(M/t.numHeads),numHeads:t.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:t.maskFilterValue,maskType:O,scale:t.scale,broadcastResPosBias:G,passPastInKv:C,qkvFormat:A}},zs=e=>he({...e}),Us=he({perm:[0,2,1,3]}),nc=(e,t,r,o,n,s,u)=>{let l=[o,n,s],a=V.size(l),p=[{type:"uint32",data:a},{type:"uint32",data:u},{type:"uint32",data:s}],h=g=>{let w=K("qkv_with_bias",t.dataType,l),v=U("qkv",t.dataType,l),y=U("bias",r.dataType,l),_=[{name:"output_size",type:"u32"},{name:"bias_offset",type:"u32"},{name:"hidden_size",type:"u32"}];return`\n  ${g.registerUniforms(_).declareVariables(v,y,w)}\n  ${g.mainStart()}\n    ${g.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n    let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;\n\n    qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];\n  }`};return e.compute({name:"MultiHeadAttentionAddBias",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:l,dataType:t.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(a/64)},programUniforms:p}),getShaderSource:h},{inputs:[t,r],outputs:[-1]})[0]},mo=(e,t,r,o,n,s,u,l)=>{let a=s;if(u){if(o===1)throw new Error("AddBiasReshape is not implemented. Please export your model with packed QKV or KV");return a=nc(e,s,u,t,o,r*n,l),a=a.reshape([t,o,r,n]),e.compute(dt(a,Us.perm),{inputs:[a],outputs:[-1]})[0]}else return s.dims.length===3&&(a=s.reshape([t,o,r,n])),e.compute(dt(a,Us.perm),{inputs:[a],outputs:[-1]})[0]},Vs=(e,t)=>{let r=rc(e.inputs,t);if(e.inputs[0].dims.length===5)throw new Error("Packed QKV is not implemented");if(e.inputs[1]?.dims.length===5)throw new Error("Packed KV is not implemented");let o=e.inputs[1]&&e.inputs[2]&&e.inputs[1].dims.length===4&&e.inputs[2].dims.length===4,n=mo(e,r.batchSize,r.numHeads,r.sequenceLength,r.headSize,e.inputs[0],e.inputs[3],0);if(o)return on(e,n,e.inputs[1],e.inputs[2],e.inputs[4],void 0,void 0,void 0,e.inputs[5],r,t);let s=mo(e,r.batchSize,r.numHeads,r.kvSequenceLength,r.headSize,e.inputs[1],e.inputs[3],r.hiddenSize),u=mo(e,r.batchSize,r.numHeads,r.kvSequenceLength,r.vHeadSize,e.inputs[2],e.inputs[3],2*r.hiddenSize);on(e,n,s,u,e.inputs[4],void 0,e.inputs[6],e.inputs[7],e.inputs[5],r,t)}});var oc,ac,ic,sc,uc,dc,lc,cc,Ws,Gs=q(()=>{"use strict";We();xe();$e();oc=e=>{if(!e||e.length<1)throw new Error("Too few inputs");if(e[0].dataType!==1)throw new Error("Input type must be float.");if(e.length>=2){let t=e[0].dims.length*2===e[1].dims[0];if(e.length===4&&(t=e[3].dims[0]*2===e[1].dims[0]),!t)throw new Error("The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].")}},ac=(e,t,r)=>{let o="";for(let n=t-1;n>=0;--n)o+=`\n            k = i32(${e.indicesGet("indices",n)}) - ${de("uniforms.pads",n,r)};\n            if (k < 0) {\n              break;\n            }\n            if (k >= i32(${de("uniforms.x_shape",n,t)})) {\n              break;\n            }\n            offset += k * i32(${de("uniforms.x_strides",n,t)});\n        `;return`\n          value = ${e.type.value}(uniforms.constant_value);\n          for (var i = 0; i < 1; i++) {\n            var offset = 0;\n            var k = 0;\n            ${o}\n            value = x[offset];\n          }\n      `},ic=(e,t,r)=>{let o="";for(let n=t-1;n>=0;--n)o+=`\n                k = i32(${e.indicesGet("indices",n)}) - ${de("uniforms.pads",n,r)};\n                if (k < 0) {\n                  k = -k;\n                }\n                {\n                  let _2n_1 = 2 * (i32(${de("uniforms.x_shape",n,t)}) - 1);\n                  k = k % _2n_1;\n                  if(k >= i32(${de("uniforms.x_shape",n,t)})) {\n                    k = _2n_1 - k;\n                  }\n                }\n                offset += k * i32(${de("uniforms.x_strides",n,t)}
5929);\n            `;return`\n              var offset = 0;\n              var k = 0;\n              ${o}\n              value = x[offset];\n          `},sc=(e,t,r)=>{let o="";for(let n=t-1;n>=0;--n)o+=`\n                k = i32(${e.indicesGet("indices",n)}) - ${de("uniforms.pads",n,r)};\n                if (k < 0) {\n                  k = 0;\n                }\n                if (k >= i32(${de("uniforms.x_shape",n,t)})) {\n                  k = i32(${de("uniforms.x_shape",n,t)}) - 1;\n                }\n                offset += k * i32(${de("uniforms.x_strides",n,t)});\n            `;return`\n              var offset = 0;\n              var k = 0;\n              ${o}\n              value = x[offset];\n          `},uc=(e,t,r)=>{let o="";for(let n=t-1;n>=0;--n)o+=`\n                k = i32(${e.indicesGet("indices",n)}) - ${de("uniforms.pads",n,r)};\n                if (k < 0)  {\n                  k += i32(${de("uniforms.x_shape",n,t)}]);\n                }\n                if (k >= i32(${de("uniforms.x_shape",n,t)})) {\n                  k -= i32(${de("uniforms.x_shape",n,t)});\n                }\n                offset += k * i32(${de("uniforms.x_strides",n,t)});\n            `;return`\n              var offset = 0;\n              var k = 0;\n              ${o}\n              value = x[offset];\n          `},dc=(e,t,r)=>{switch(r.mode){case 0:return ac(e,t,r.pads.length);case 1:return ic(e,t,r.pads.length);case 2:return sc(e,t,r.pads.length);case 3:return uc(e,t,r.pads.length);default:throw new Error("Invalid mode")}},lc=(e,t)=>{let r=V.padShape(e[0].dims.slice(),t.pads),o=e[0].dims,s=[{type:"uint32",data:V.size(r)},{type:"uint32",data:t.pads}];if(t.mode===0){let a=nt(e[0].dataType);s.push({type:a,data:t.value})}s.push(...F(e[0].dims),...F(r));let u=["rank"],l=a=>{let p=K("output",e[0].dataType,r.length),h=U("x",e[0].dataType,o.length),g=h.type.value,w=dc(p,o.length,t),v=[{name:"output_size",type:"u32"},{name:"pads",type:"i32",length:t.pads.length}];return t.mode===0&&v.push({name:"constant_value",type:g}),`\n            ${a.registerUniforms(v).declareVariables(h,p)}\n            ${a.mainStart()}\n            ${a.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n\n            let indices = ${p.offsetToIndices("global_idx")};\n\n            var value = ${g}(0);\n            ${w}\n            output[global_idx] = value;\n        }`};return{name:"Pad",shaderCache:{hint:`${t.mode}`,inputDependencies:u},getRunData:()=>({outputs:[{dims:r,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(V.size(r)/64)},programUniforms:s}),getShaderSource:l}},cc=(e,t)=>{if(e.length>1){let r=e[1].getBigInt64Array(),o=e.length>=3&&e[2].data?e[2].getFloat32Array()[0]:0,n=e[0].dims.length,s=new Int32Array(2*n).fill(0);if(e.length>=4){let l=e[3].getBigInt64Array();for(let a=0;a<l.length;a++)s[Number(l[a])]=Number(r[a]),s[Number(l[a])+n]=Number(r[a+l.length])}else r.forEach((l,a)=>s[Number(a)]=Number(l));let u=[];return s.forEach(l=>u.push(l)),{mode:t.mode,value:o,pads:u}}else return t},Ws=(e,t)=>{oc(e.inputs);let r=cc(e.inputs,t);e.compute(lc(e.inputs,r),{inputs:[0]})}});var fn,Hs,Ls,Fs,Ks,pc,mc,qs,js,Ys,Zs,Qs,Js,Xs,eu,tu,ru,nu,ou,au=q(()=>{"use strict";rr();xe();$e();fn=e=>{if(tr.webgpu.validateInputContent&&(!e||e.length!==1))throw new Error("Pool ops requires 1 input.")},Hs=(e,t,r)=>{let o=t.format==="NHWC",n=e.dims.slice();o&&n.splice(1,0,n.pop());let s=Object.hasOwnProperty.call(t,"dilations"),u=t.kernelShape.slice(),l=t.strides.slice(),a=s?t.dilations.slice():[],p=t.pads.slice();Wt.adjustPoolAttributes(r,n,u,l,a,p);let h=Wt.computePoolOutputShape(r,n,l,a,u,p,t.autoPad),g=Object.assign({},t);s?Object.assign(g,{kernelShape:u,strides:l,pads:p,dilations:a,cacheKey:t.cacheKey}):Object.assign(g,{kernelShape:u,strides:l,pads:p,cacheKey:t.cacheKey});let w=h.slice();return w.push(w.splice(1,1)[0]),[g,o?w:h]},Ls=(e,t)=>{let r=t.format==="NHWC",o=V.size(e),n=V.size(t.kernelShape),s=[{type:"uint32",data:o},{type:"uint32",data:n}],u=[{name:"outputSize",type:"u32"},{name:"kernelSize",type:"u32"}];if(t.kernelShape.length<=2){let l=t.kernelShape[t.kernelShape.length-1],a=t.strides[t.strides.length-1],p=t.pads[t.pads.length/2-1],h=t.pads[t.pads.length-1],g=!!(p+h);s.push({type:"uint32",data:l},{type:"uint32",data:a},{type:"uint32",data:p},{type:"uint32",data:h}),u.push({name:"kw",type:"u32"},{name:"sw",type:"u32"},{name:"pwStart",type:"u32"},{name:"pwEnd",type:"u32"});let w=!1;if(t.kernelShape.length===2){let v=t.kernelShape[t.kernelShape.length-2],y=t.strides[t.strides.length-2],_=t.pads[t.pads.length/2-2],I=t.pads[t.pads.length-2];w=!!(_+I),s.push({type:"uint32",data:v},{type:"uint32",data:y},{type:"uint32",data:_},{type:"uint32",data:I}),u.push({name:"kh",type:"u32"},{name:"sh",type:"u32"},{name:"phStart",type:"u32"},{name:"phEnd",type:"u32"})}return[s,u,!0,g,w]}else{if(r)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let l=V.computeStrides(t.kernelShape);s.push({type:"uint32",data:l},{type:"uint32",data:t.pads},{type:"uint32",data:t.strides}),u.push({name:"kernelStrides",type:"u32",length:l.length},{name:"pads",type:"u32",length:t.pads.length},{name:"strides",type:"u32",length:t.strides.length});let a=t.pads.reduce((p,h)=>p+h);return[s,u,!!a,!1,!1]}},Fs=(e,t,r,o,n,s,u,l,a,p,h,g)=>{let w=n.format==="NHWC",v=t.type.value,y=K("output",t.type.tensor,o);if(n.kernelShape.length<=2){let _="",I="",x="",A=r-(w?2:1);if(h?_=`\n                for (var i: u32 = 0u; i < uniforms.kw;
5929 i++) {\n                  xIndices[${A}] = indices[${A}] * uniforms.sw - uniforms.pwStart + i;\n                  if (xIndices[${A}] < 0 || xIndices[${A}]\n                      >= uniforms.x_shape[${A}]) {\n                    pad++;\n                    continue;\n                  }\n                  let x_val = x[${t.indicesToOffset("xIndices")}];\n                  ${s}\n                }`:_=`\n                for (var i: u32 = 0u; i < uniforms.kw; i++) {\n                  xIndices[${A}] = indices[${A}] * uniforms.sw - uniforms.pwStart + i;\n                  let x_val = x[${t.indicesToOffset("xIndices")}];\n                  ${s}\n                }`,n.kernelShape.length===2){let C=r-(w?3:2);g?I=`\n                for (var j: u32 = 0u; j < uniforms.kh; j++) {\n                  xIndices[${C}] = indices[${C}] * uniforms.sh - uniforms.phStart + j;\n                  if (xIndices[${C}] < 0 || xIndices[${C}] >= uniforms.x_shape[${C}]) {\n                    pad += i32(uniforms.kw);\n                    continue;\n                  }\n              `:I=`\n                for (var j: u32 = 0u; j < uniforms.kh; j++) {\n                  xIndices[${C}] = indices[${C}] * uniforms.sh - uniforms.phStart + j;\n                `,x=`\n              }\n            `}return`\n            ${e.registerUniforms(a).declareVariables(t,y)}\n\n            ${e.mainStart()}\n              ${e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n\n              let indices = ${y.offsetToIndices("global_idx")};\n              var xIndices = ${y.offsetToIndices("global_idx")};\n\n              var value = ${v}(${l});\n              var pad = 0;\n              ${I}\n              ${_}\n              ${x}\n              ${u}\n\n              output[global_idx] = value;\n            }`}else{if(w)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let _=n.kernelShape.length,I=n.pads.length,x="";return p?x=`\n                if (xIndices[j] >= uniforms.x_shape[j]) {\n                  pad++;\n                  isPad = true;\n                  break;\n                }\n              }\n              if (!isPad) {\n                let x_val = x[${t.indicesToOffset("xIndices")}];\n                ${s}\n              }`:x=`\n              }\n              let x_val = x[${t.indicesToOffset("xIndices")}];\n              ${s}\n            `,`\n            ${e.registerUniforms(a).declareVariables(t,y)}\n\n            ${e.mainStart()}\n              ${e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n              let indices = ${y.offsetToIndices("global_idx")};\n              var xIndices = ${y.offsetToIndices("global_idx")};\n\n              var offsets: array<u32, ${_}>;\n\n              var value = ${v}(${l});\n              var pad = 0;\n              var isPad = false;\n\n              for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {\n                var offset = i;\n                for (var j = 0u; j < ${_-1}u; j++) {\n                  offsets[j] = offset / ${de("uniforms.kernelStrides","j",_)};\n                  offset -= offsets[j] * ${de("uniforms.kernelStrides","j",_)};\n                }\n                offsets[${_-1}] = offset;\n\n                isPad = false;\n                for (var j = ${r-_}u; j < ${r}u; j++) {\n                  xIndices[j] = indices[j] * ${de("uniforms.strides",`j - ${r-_}u`,_)}\n                    + offsets[j - ${r-_}u] - ${de("uniforms.pads","j - 2u",I)};\n                  ${x}\n              }\n              ${u}\n\n              output[global_idx] = value;\n            }`}},Ks=e=>`${e.format};${e.ceilMode};${e.autoPad};${e.kernelShape.length}`,pc=e=>`${Ks(e)};${e.countIncludePad}`,mc=e=>`${Ks(e)};${e.storageOrder};${e.dilations}`,qs=e=>({format:e.format,autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][e.auto_pad],ceilMode:e.ceil_mode,kernelShape:e.kernel_shape,strides:e.strides,pads:e.pads}),js=(e,t,r,o)=>{let[n,s]=Hs(t,o,r),u=U("x",t.dataType,t.dims.length),l=u.type.value,a="value += x_val;",p="";n.countIncludePad?p+=`value /= ${l}(uniforms.kernelSize);`:p+=`value /= ${l}(i32(uniforms.kernelSize) - pad);`;let[h,g,w,v,y]=Ls(s,n);h.push(...F(t.dims),...F(s));let _=["rank"];return{name:e,shaderCache:{hint:`${o.cacheKey};${w};${v};${y}`,inputDependencies:_},getRunData:()=>({outputs:[{dims:s,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(V.size(s)/64)},programUniforms:h}),getShaderSource:I=>Fs(I,u,t.dims.length,s.length,n,a,p,0,g,w,v,y)}},Ys=e=>{let t=e.count_include_pad!==0,r=qs(e);if(r.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for AveragePool");let o={countIncludePad:t,...r,cacheKey:""};return{...o,cacheKey:pc(o)}},Zs=(e,t)=>{fn(e.inputs),e.compute(js("AveragePool",e.inputs[0],!1,t))},Qs={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},Js=e=>{let t=e.format;return{format:t,...Qs,cacheKey:t}},Xs=(e,t)=>{fn(e.inputs),e.compute(js("GlobalAveragePool",e.inputs[0],!0,t))},eu=(e,t,r,o)=>{let[n,s]=Hs(t,o,r),u=`\n      value = max(x_val, value);\n    `,l="",a=U("x",t.dataType,t.dims.length),p=["rank"],[h,g,w,v,y]=Ls(s,n);return h.push(...F(t.dims),...F(s)),{name:e,shaderCache:{hint:`${o.cacheKey};${w};${v};${y}`,inputDependencies:p},getRunData:()=>({outputs:[{dims:s,dataType:t.dataType}],dispatchGroup:{x:Math.ceil(V.size(s)/64)},programUniforms:h}),getShaderSource:_=>Fs(_,a,t.dims.length,s.length,n,u,l,-1e5,g,w,v,y)}},tu=(e,t)=>
vendor: 31,640 bytes, line 5929
5929{fn(e.inputs),e.compute(eu("MaxPool",e.inputs[0],!1,t))},ru=e=>{let t=e.storage_order,r=e.dilations,o=qs(e);if(t!==0)throw new Error("column major storage order is not yet supported for MaxPool");if(o.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for MaxPool");let n={storageOrder:t,dilations:r,...o,cacheKey:""};return{...n,cacheKey:mc(n)}},nu=e=>{let t=e.format;return{format:t,...Qs,cacheKey:t}},ou=(e,t)=>{fn(e.inputs),e.compute(eu("GlobalMaxPool",e.inputs[0],!0,t))}});var hc,gc,iu,su=q(()=>{"use strict";rr();We();$e();hc=(e,t,r)=>{let o=e===t,n=e<t&&r<0,s=e>t&&r>0;if(o||n||s)throw new Error("Range these inputs\' contents are invalid.")},gc=(e,t,r,o)=>{let n=Math.abs(Math.ceil((t-e)/r)),s=[n],u=n,l=nt(o),a=[{type:"uint32",data:u},{type:l,data:e},{type:l,data:r},...F(s)],p=h=>{let g=K("output",o,s.length),w=g.type.value,v=[{name:"outputSize",type:"u32"},{name:"start",type:w},{name:"delta",type:w}];return`\n        ${h.registerUniforms(v).declareVariables(g)}\n        ${h.mainStart()}\n        ${h.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n        output[global_idx] = uniforms.start + ${w}(global_idx) * uniforms.delta;\n      }`};return{name:"Range",shaderCache:{hint:`${o}`},getShaderSource:p,getRunData:()=>({outputs:[{dims:s,dataType:o}],dispatchGroup:{x:Math.ceil(u/64)},programUniforms:a})}},iu=e=>{let t=0,r=0,o=0;e.inputs[0].dataType===6?(t=e.inputs[0].getInt32Array()[0],r=e.inputs[1].getInt32Array()[0],o=e.inputs[2].getInt32Array()[0]):e.inputs[0].dataType===1&&(t=e.inputs[0].getFloat32Array()[0],r=e.inputs[1].getFloat32Array()[0],o=e.inputs[2].getFloat32Array()[0]),tr.webgpu.validateInputContent&&hc(t,r,o),e.compute(gc(t,r,o,e.inputs[0].dataType),{inputs:[]})}});var yc,bc,wc,vc,$c,Sc,xc,_c,Cc,Ic,Ac,uu,Tc,Ec,Oc,Pc,Bc,du,lu,cu=q(()=>{"use strict";xe();Le();$e();yc=(e,t)=>{if(e.every(r=>r>0||(()=>{throw new Error("Resize requires scales input values to be positive")})),e.length>0){if(t.mode==="linear"){if(!(e.length===2||e.length===3||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1||e.length===5&&e[0]===1&&e[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and\n            one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(t.mode==="cubic"&&!(e.length===2||e.length===4&&e[0]===1&&e[1]===1||e.length===4&&e[0]===1&&e[3]===1))throw new Error("Resize requires scales input size to be 2 or 4 for cubic mode")}},bc=(e,t,r)=>{t.every(n=>n>=0&&n<r||(()=>{throw new Error("Resize requires axes input values to be positive and less than rank")}));let o=new Array(r).fill(1);return t.forEach((n,s)=>o[n]=e[s]),o},wc=(e,t,r,o,n,s)=>{let[u,l,a]=r>10?[1,2,3]:[-1,e.length>1?1:-1,-1],p=e[0].dims.length;if(u>0&&e.length>u&&e[u].dims.length>0)e[u].getFloat32Array().forEach(h=>s.push(h));else if(t.coordinateTransformMode==="tf_crop_and_resize")throw new Error("Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize");if(l>0&&e.length>l&&e[l].dims.length>0){if(e[l].getFloat32Array().forEach(h=>o.push(h)),o.length!==0&&o.length!==p&&r>=18&&o.length!==t.axes.length)throw new Error("Resize requires scales input size to be same as input rank or axes size for opset 18 and up");yc(o,t),t.axes.length>0&&bc(o,t.axes,p).forEach((h,g)=>o[g]=h)}if(a>0&&e.length>a&&(e[a].getBigInt64Array().forEach(h=>n.push(Number(h))),n.length!==p||r>=18&&n.length===t.axes.length))throw new Error("Resize requires sizes input size to be same as input rank or axes size for opset 18 and up");if(t.axes.length>0){if(o.length!==t.axes.length)throw new Error(\'Resize requires "scales" input size to be of axes rank when axes attributes is specified\');if(n.length!==t.axes.length)throw new Error(\'Resize requires "sizes" input size to be of rank axes rank when axes attributes is specified\')}if(typeof o<"u"&&typeof n<"u"&&o.length>0&&n.length>p)throw new Error("Resize requires only of scales or sizes to be specified")},vc=(e,t)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,\n     lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${t} { `+(()=>{switch(e){case"asymmetric":return`return ${t}(xResized) / ${t}(xScale);`;case"pytorch_half_pixel":return`if (lengthResized > 1) {\n                    return (${t}(xResized) + 0.5) / ${t}(xScale) - 0.5;\n                  } else {\n                    return 0.0;\n                  }`;case"tf_half_pixel_for_nn":return`return (${t}(xResized) + 0.5) / ${t}(xScale);`;case"align_corners":return`if (lengthResized == 1) {\n                    return 0.0;\n                  } else {\n                    // The whole part and the fractional part are calculated separately due to inaccuracy of floating\n                    // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an\n                    // offset-by-one error later in floor().\n                    let whole = ${t}(xResized * (lengthOriginal - 1) / (lengthResized - 1));\n                    let fract =\n                        ${t}(xResized * (lengthOriginal - 1) % (lengthResized - 1)) / ${t}(lengthResized - 1);\n                    return whole + fract;\n                  }`;case"tf_crop_and_resize":return`if (lengthResized > 1) {\n                    return ${t}(roiStart) * ${t}(lengthOriginal - 1) +\n                        (${t}(xResized) * ${t}(roiEnd - roiStart) * ${t}(lengthOriginal - 1)) /\n                        ${t}(lengthResized - 1);\n                  } else {\n                    return 0.5 * ${t}(roiStart + roiEnd) * ${t}(lengthOriginal - 1);\n                  }`;case"half_pixel_symmetric":return`const outputWidth = ${t}xScale * ${t}(lengthResized);\n                  const adjustment = ${t}(lengthResized) / outputWidth;\n                  const center = ${t}(lengthOriginal) / 2;\n                  const offset = center * (1 - adjustment);\n                  return offset + ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;case"half_pixel":return`return ((${t}(xResized) + 0.5) / ${t}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${e} is not supported`)}})()+"}",$c=(e,t,r)=>`fn getNearestPixelFromOriginal(xOriginal: ${r}, isDownSample: bool) -> ${r} {`+(()=>{switch(e){case"round_prefer_ceil":return"if (fract(xOriginal) == 0.5) {             return ceil(xOriginal);           } else {             return round(xOriginal);           }";case"floor":return"return floor(xOriginal);";case"ceil":return"return ceil(xOriginal);";case"round_prefer_floor":return"if (fract(xOriginal) == 0.5) {                     return floor(xOriginal);                   } else {                     return round(xOriginal);                   }";case"simple":default:if(t<11)return"if (isDownSample)                     {                       return ceil(xOriginal);                     } else {                       return xOriginal;                     }";throw new Error(`Nearest mode ${e} is not supported`)}})()+"}",Sc=(e,t,r)=>{let o=new Array(r).fill(0).concat(new Array(r).fill(1)),n=e.length===0?o:e.slice();return t.length>0?(t.forEach((s,u)=>{o[s]=n[u],o[u+r]=n[t.length+u]}),o):n},xc=(e,t,r,o)=>{let n=[];if(r.length>0)if(o.length>0){if(e.forEach(s=>n.push(s)),Math.max(...o)>e.length)throw new Error("axes is out of bound");o.forEach((s,u)=>n[s]=r[u])}else r.forEach(s=>n.push(s));else{if(t.length===0)throw new Error("Resize requires either scales or sizes.");n=e.map((s,u)=>Math.round(s*t[u]))}return n},_c=(e,t,r)=>{let o=(()=>{switch(r.keepAspectRatioPolicy){case"not_larger":return r.axes.length>0?Math.min(...r.axes.map(s=>t[s]),Number.MAX_VALUE):Math.min(...t,Number.MAX_VALUE);case"not_smaller":return r.axes.length>0?Math.max(...r.axes.map(s=>t[s]),Number.MIN_VALUE):Math.max(...t,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${r.keepAspectRatioPolicy} is not supported`)}})();t.fill(1,0,t.length);let n=e.slice();return r.axes.length>0?(r.axes.forEach(s=>t[s]=o),r.axes.forEach(s=>n[s]=Math.round(e[s]*t[s]))):(t.fill(o,0,t.length),n.forEach((s,u)=>n[u]=Math.round(s*t[u]))),n},Cc=(e,t,r,o,n)=>`\n    fn calculateOriginalIndicesFromOutputIndices(output_indices: ${e.type.indices}) -> array<${e.type.value}, ${r.length}> {\n      var original_indices: array<${e.type.value}, ${r.length}>;\n      for (var i:u32 = 0; i < ${r.length}; i++) {\n        var output_index = ${e.indicesGet("output_indices","i")};\n        var scale = ${de("uniforms.scales","i",o)};\n        var roi_low = ${de("uniforms.roi","i",n)};\n        var roi_hi = ${de("uniforms.roi",`i + ${t.length}`,n)};\n        if (scale == 1.0) {\n          original_indices[i] = ${e.type.value}(output_index);\n        } else {\n          var input_shape_i = ${de("uniforms.input_shape","i",t.length)};\n          var output_shape_i = ${de("uniforms.output_shape","i",r.length)};\n          original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n                                                                           input_shape_i, roi_low, roi_hi);\n        }\n      }\n      return original_indices;\n    }`,Ic=(e,t,r,o,n,s,u)=>`\n    fn calculateInputIndicesFromOutputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n      var input_indices: ${e.type.indices};\n      for (var i:u32 = 0; i < ${o.length}; i++) {\n        var output_index = ${t.indicesGet("output_indices","i")};\n        var input_index: u32;\n        var scale = ${de("uniforms.scales","i",n)};\n        if (scale == 1.0) {\n          input_index = output_index;\n        } else {\n          var roi_low = ${de("uniforms.roi","i",s)};\n          var roi_hi = ${de("uniforms.roi",`i + ${r.length}`,s)};\n          var input_shape_i = ${de("uniforms.input_shape","i",r.length)};\n          var output_shape_i = ${de("uniforms.output_shape","i",o.length)};\n          var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,\n                                                                        input_shape_i, roi_low, roi_hi);\n          if (!${u} || (original_idx >= 0 && original_idx < ${t.type.value}(input_shape_i))) {\n            if (original_idx < 0) {\n              input_index = 0;\n            } else if (original_idx > ${t.type.value}(input_shape_i - 1)) {\n              input_index = input_shape_i - 1;\n            } else {\n              input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));\n            }\n          } else {\n            input_index = u32(original_idx);\n          }\n        }\n        ${e.indicesSet("input_indices","i"," input_index")}\n      }\n      return input_indices;\n    }`,Ac=(e,t)=>`\n    fn checkInputIndices(input_indices: ${e.type.indices}) -> bool {\n      for (var i:u32 = 0; i < ${t.length}; i++) {\n        var input_index = ${e.indicesGet("input_indices","i")};\n        if (input_index < 0 || input_index >= ${de("uniforms.input_shape","i",t.length)}) {\n          return false;\n        }\n      }\n      return true;\n    }`,uu=(e,t,r,o)=>e.rank>o?`\n    ${e.indicesSet("input_indices",t,"channel")};\n    ${e.indicesSet("input_indices",r,"batch")};\n`:"",Tc=(e,t,r,o,n)=>{let[u,l,a,p]=r.length===2?[-1,0,1,-1]:[0,2,3,1],h=e.type.value;return`\n    fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${h} {\n      var input_indices: ${e.type.indices};\n      ${e.indicesSet("input_indices",l,`max(0, min(row, ${r[l]} - 1))`)};\n      ${e.indicesSet("input_indices",a,`max(0, min(col, ${r[a]} - 1))`)};\n      ${uu(e,p,u,2)}\n      return ${e.getByIndices("input_indices")};\n    }\n\n    fn bilinearInterpolation(output_indices: ${t.type.indices}) -> ${h} {\n      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n      var row:${h} = originalIndices[${l}];\n      var col:${h} = originalIndices[${a}];\n      ${o?`if (row < 0 || row > (${r[l]} - 1) || col < 0 || col > (${r[a]} - 1)) {\n        return ${n};\n      }`:""};\n      row = max(0, min(row, ${r[l]} - 1));\n      col = max(0, min(col, ${r[a]} - 1));\n      var row1: u32 = u32(row);\n      var col1: u32 = u32(col);\n      var row2: u32 = u32(row + 1);\n      var col2: u32 = u32(col + 1);\n      var channel: u32 = ${r.length>2?`u32(originalIndices[${p}])`:"0"};\n      var batch: u32 =  ${r.length>2?`u32(originalIndices[${u}])`:"0"};\n      var x11: ${h} = getInputValue(batch, channel, row1, col1);\n      var x12: ${h} = getInputValue(batch, channel, row1, col2);\n      var x21: ${h} = getInputValue(batch, channel, row2, col1);\n      var x22: ${h} = getInputValue(batch, channel, row2, col2);\n      var dx1: ${h} = abs(row - ${h}(row1));\n      var dx2: ${h} = abs(${h}(row2) - row);\n      var dy1: ${h} = abs(col - ${h}(col1));\n      var dy2: ${h} = abs(${h}(col2) - col);\n      if (row1 == row2) {\n        dx1 = 0.5;\n        dx2 = 0.5;\n      }\n      if (col1 == col2) {\n        dy1 = 0.5;\n        dy2 = 0.5;\n      }\n      return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);\n    }`},Ec=(e,t,r,o,n,s,u,l,a,p)=>{let h=r.length===2,g=!0,[w,v]=h?[0,1]:g?[2,3]:[1,2],y=e.type.value,_=I=>{let x=I===w?"row":"col";return`\n      fn ${x}CubicInterpolation(input_indices: ${e.type.indices}, output_indices: ${t.type.indices}) -> ${y} {\n        var output_index = ${t.indicesGet("output_indices",I)};\n        var originalIdx: ${y} = getOriginalCoordinateFromResizedCoordinate(output_index, ${n[I]},\n        ${o[I]}, ${r[I]}, ${s[I]}, ${s[I]} + ${r.length});\n        var fractOriginalIdx: ${y} = originalIdx - floor(originalIdx);\n        var coefs = getCubicInterpolationCoefs(fractOriginalIdx);\n\n        if (${l} && (originalIdx < 0 || originalIdx > (${r[I]} - 1))) {\n          return ${a};\n        }\n        var data: array<${y}, 4> = array<${y}, 4>(0.0, 0.0, 0.0, 0.0);\n        for (var i: i32 = -1; i < 3; i++) {\n          var ${x}: ${y} = originalIdx + ${y}(i);\n          if (${x} < 0 || ${x} >= ${r[I]}) {\n            ${(()=>p?`coefs[i + 1] = 0.0;\n                        continue;`:l?`return ${a};`:`${x} = max(0, min(${x}, ${r[I]} - 1));`)()};\n          }\n        var input_indices_copy: ${e.type.indices} = input_indices;\n          ${e.indicesSet("input_indices_copy",I,`u32(${x})`)};\n          data[i + 1] = ${I===w?e.getByIndices("input_indices_copy"):"rowCubicInterpolation(input_indices_copy, output_indices)"};\n        }\n        return cubicInterpolation1D(data, coefs);\n      }`};return`\n    ${_(w)};\n    ${_(v)};\n  fn getCubicInterpolationCoefs(s: ${y}) -> array<${y}, 4> {\n    var absS = abs(s);\n    var coeffs: array<${y}, 4> = array<${y}, 4>(0.0, 0.0, 0.0, 0.0);\n    var oneMinusAbsS: ${y} = 1.0 - absS;\n    var twoMinusAbsS: ${y} = 2.0 - absS;\n    var onePlusAbsS: ${y} = 1.0 + absS;\n    coeffs[0] = ((${u} * onePlusAbsS - 5 * ${u}) * onePlusAbsS + 8 * ${u}) * onePlusAbsS - 4 * ${u};\n    coeffs[1] = ((${u} + 2) * absS - (${u} + 3)) * absS * absS + 1;\n    coeffs[2] = ((${u} + 2) * oneMinusAbsS - (${u} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;\n    coeffs[3] = ((${u} * twoMinusAbsS - 5 * ${u}) * twoMinusAbsS + 8 * ${u}) * twoMinusAbsS - 4 * ${u};\n    return coeffs;\n  }\n\n  fn cubicInterpolation1D(x: array<${y}, 4>, coefs: array<${y}, 4>) -> ${y} {\n    var coefsSum: ${y} = coefs[0] + coefs[1] + coefs[2] + coefs[3];\n    return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;\n  }\n\n  fn bicubicInterpolation(output_indices: ${t.type.indices}) -> ${y} {\n    var input_indices: ${e.type.indices} = output_indices;\n    return colCubicInterpolation(input_indices, output_indices);\n  }\n    `},Oc=(e,t,r,o,n)=>{let[u,l,a,p,h]=r.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],g=e.type.value;return`\n    fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${g} {\n      var input_indices: ${e.type.indices};\n      ${e.indicesSet("input_indices",l,`max(0, min(depth, ${r[l]} - 1))`)};\n      ${e.indicesSet("input_indices",a,`max(0, min(height, ${r[a]} - 1))`)};\n      ${e.indicesSet("input_indices",p,`max(0, min(width, ${r[p]} - 1))`)};\n      ${uu(e,h,u,3)}\n      return ${e.getByIndices("input_indices")};\n    }\n\n    fn trilinearInterpolation(output_indices: ${t.type.indices}) -> ${g} {\n      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);\n      var depth:${g} = originalIndices[${l}];\n      var height:${g} = originalIndices[${a}];\n      var width:${g} = originalIndices[${p}];\n      ${o?`if (depth < 0 || depth > (${r[l]} - 1) || height < 0 || height > (${r[a]} - 1) || width < 0 || (width > ${r[p]} - 1)) {\n      return ${n};\n        }`:""};\n\n    depth = max(0, min(depth, ${r[l]} - 1));\n      height = max(0, min(height, ${r[a]} - 1));\n      width = max(0, min(width, ${r[p]} - 1));\n      var depth1: u32 = u32(depth);\n      var height1: u32 = u32(height);\n      var width1: u32 = u32(width);\n      var depth2: u32 = u32(depth + 1);\n      var height2: u32 = u32(height + 1);\n      var width2: u32 = u32(width + 1);\n      var channel: u32 = ${r.length>3?`u32(originalIndices[${h}])`:"0"};\n      var batch: u32 =  ${r.length>3?`u32(originalIndices[${u}])`:"0"};\n\n      var x111: ${g} = getInputValue(batch, channel, depth1, height1, width1);\n      var x112: ${g} = getInputValue(batch, channel, depth1, height1, width2);\n      var x121: ${g} = getInputValue(batch, channel, depth1, height2, width1);\n      var x122: ${g} = getInputValue(batch, channel, depth1, height2, width2);\n      var x211: ${g} = getInputValue(batch, channel, depth2, height1, width1);\n      var x212: ${g} = getInputValue(batch, channel, depth2, height1, width2);\n      var x221: ${g} = getInputValue(batch, channel, depth2, height2, width1);\n      var x222: ${g} = getInputValue(batch, channel, depth2, height2, width2);\n      var dx1: ${g} = abs(depth - ${g}(depth1));\n      var dx2: ${g} = abs(${g}(depth2) - depth);\n      var dy1: ${g} = abs(height - ${g}(height1));\n      var dy2: ${g} = abs(${g}(height2) - height);\n      var dz1: ${g} = abs(width - ${g}(width1));\n      var dz2: ${g} = abs(${g}(width2) - width);\n      if (depth1 == depth2) {\n        dx1 = 0.5;\n        dx2 = 0.5;\n      }\n      if (height1 == height2) {\n        dy1 = 0.5;\n        dy2 = 0.5;\n      }\n      if (width1 == width2) {\n        dz1 = 0.5;\n        dz2 = 0.5;\n      }\n      return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +\n              x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);\n    }`},Pc=(e,t,r,o,n,s)=>{let u=e.dims,l=Sc(s,t.axes,u.length),a=xc(u,o,n,t.axes),p=o.slice();o.length===0&&(p=u.map((A,O)=>A===0?1:a[O]/A),t.keepAspectRatioPolicy!=="stretch"&&(a=_c(u,p,t)));let h=K("output",e.dataType,a.length),g=U("input",e.dataType,u.length),w=V.size(a),v=u.length===a.length&&u.every((A,O)=>A===a[O]),y=t.coordinateTransformMode==="tf_crop_and_resize",_=t.extrapolationValue,I=g.type.value,x=A=>`\n      ${v?"":`\n      ${vc(t.coordinateTransformMode,I)};\n      ${(()=>{switch(t.mode){case"nearest":return`\n              ${Ac(g,u)};\n              ${$c(t.nearestMode,r,I)};\n              ${Ic(g,h,u,a,p.length,l.length,y)};\n              `;case"linear":return`\n              ${Cc(h,u,a,p.length,l.length)};\n              ${(()=>{if(u.length===2||u.length===4)return`${Tc(g,h,u,y,_)}`;if(u.length===3||u.length===5)return`${Oc(g,h,u,y,_)}`;throw Error("Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.")})()};\n            `;case"cubic":return`\n            ${(()=>{if(u.length===2||u.length===4)return`${Ec(g,h,u,a,p,l,t.cubicCoeffA,y,t.extrapolationValue,t.excludeOutside)}`;throw Error("Cubic mode only supports input dims 2 and 4 are supported in linear mode.")})()};\n            `;default:throw Error("Invalid resize mode")}})()};\n      `}\n      ${A.registerUniform("output_size","u32").registerUniform("scales","f32",p.length).registerUniform("roi","f32",l.length).declareVariables(g,h)}\n      ${A.mainStart()}\n        ${A.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n        ${v?"output[global_idx] = input[global_idx];":`\n        let output_indices = ${h.offsetToIndices("global_idx")};\n        var input_indices: ${g.type.indices};\n        ${(()=>{switch(t.mode){case"nearest":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);\n                if (checkInputIndices(input_indices)) {\n                  output[global_idx] = ${g.getByIndices("input_indices")};\n                } else {\n                  output[global_idx] = ${t.extrapolationValue};\n                }`;case"linear":return`output[global_idx] = ${u.length===2||u.length===4?"bilinearInterpolation":"trilinearInterpolation"}(output_indices);`;case"cubic":return"output[global_idx] = bicubicInterpolation(output_indices);";default:throw Error(`Unsupported resize mode: ${t.mode}`)}})()};\n`}\n      }`;return{name:"Resize",shaderCache:{hint:`${t.cacheKey}|${r}|${p.length>0?p:""}|${n.length>0?n:""}|${l.length>0?l:""}|${v}|${u}`,inputDependencies:["rank"]},getShaderSource:x,getRunData:()=>({outputs:[{dims:a,dataType:e.dataType}],dispatchGroup:{x:Math.ceil(w/64)},programUniforms:[{type:"uint32",data:w},{type:"float32",data:p},{type:"float32",data:l},...F(u),...F(a)]})}},Bc=e=>{let t=e.customDataBuffer;return new Uint32Array(t,t.byteOffset,1)[0]},du=(e,t)=>{let r=[],o=[],n=[],s=Bc(e);if(t.antialias!==0)throw Error("Only default value (0) for Antialias attribute is supported");wc(e.inputs,t,s,r,o,n),e.compute(Pc(e.inputs[0],t,s,r,o,n),{inputs:[0]})},lu=e=>{let t=e.antialias,r=e.axes,o=e.coordinateTransformMode,n=e.cubicCoeffA,s=e.excludeOutside!==0,u=e.extrapolationValue,l=e.keepAspectRatioPolicy,a=e.mode,p=e.nearestMode===""?"simple":e.nearestMode;return he({antialias:t,axes:r,coordinateTransformMode:o,cubicCoeffA:n,excludeOutside:s,extrapolationValue:u,keepAspectRatioPolicy:l,mode:a,nearestMode:p})}});var kc,Rc,pu,mu,fu=q(()=>{"use strict";We();xe();Le();$e();kc=e=>{if(!e||e.length<3)throw new Error("layerNorm requires at least 3 inputs.");let t=e[0],r=e[1],o=e[2];if(t.dataType!==r.dataType||t.dataType!==o.dataType)throw new Error("All inputs must have the same data type");if(t.dims.length!==3&&t.dims.length!==2)throw new Error("Input must be 2D or 3D");if(r.dims.length!==3&&r.dims.length!==2)throw new Error("Skip must be 2D or 3D");let n=t.dims[t.dims.length-1],s=t.dims[t.dims.length-2];if(r.dims[r.dims.length-1]!==n)throw new Error("Skip must have the same hidden size as input");if(r.dims[r.dims.length-2]!==s)throw new Error("Skip must have the same sequence length as input");if(o.dims.length!==1)throw new Error("Gamma must be 1D");if(o.dims[o.dims.length-1]!==n)throw new Error("Gamma must have the same hidden size as input");if(e.length>3){let u=e[3];if(u.dims.length!==1)throw new Error("Beta must be 1D");if(u.dims[u.dims.length-1]!==n)throw new Error("Beta must have the same hidden size as input")}if(e.length>4){let u=e[4];if(u.dims.length!==1)throw new Error("Bias must be 1D");if(u.dims[u.dims.length-1]!==n)throw new Error("Bias must have the same hidden size as input")}},Rc=(e,t,r,o)=>{let n=e[0].dims,s=V.size(n),u=n,l=s,a=n.slice(-1)[0],p=o?n.slice(0,-1).concat(1):[],h=e.length>3,g=e.length>4,w=o&&r>1,v=o&&r>2,y=r>3,_=He(a),I=[U("x",e[0].dataType,e[0].dims,_),U("skip",e[1].dataType,e[1].dims,_),U("gamma",e[2].dataType,e[2].dims,_)];h&&I.push(U("beta",e[3].dataType,e[3].dims,_)),g&&I.push(U("bias",e[4].dataType,e[4].dims,_)),I.push(K("output",e[0].dataType,u,_)),w&&I.push(K("meanOutput",1,p)),v&&I.push(K("invStdOutput",1,p)),y&&I.push(K("inputSkipBiasSum",e[0].dataType,u,_));let x=Ge(e[0].dataType),A=C=>`\n      const hiddenSize: f32 = ${a};\n      const hiddenSizeVectorized: u32 = ${a/_};\n      const epsilon: f32 = ${t.epsilon};\n\n      ${C.declareVariables(...I)}\n\n      ${C.mainStart()}\n        ${C.guardAgainstOutOfBoundsWorkgroupSizes(l/a)}\n        let offset = global_idx * hiddenSizeVectorized;\n        var sum = ${Qe("f32",_)};\n        var squareSum = ${Qe("f32",_)};\n        for (var i: u32 = 0; i < hiddenSizeVectorized; i++) {\n          let skipValue = skip[offset + i];\n          let biasValue = ${g?"bias[i]":"0.0"};\n          let inputValue = x[offset + i];\n          let value = inputValue + skipValue + biasValue;\n          ${y?"inputSkipBiasSum[offset + i] = value;":""}\n          output[offset + i] = value;\n          let f32Value = ${ut(x,_,"value")};\n          sum += f32Value;\n          squareSum += f32Value * f32Value;\n        }\n        let mean = ${ot("sum",_)} / hiddenSize;\n        let invStdDev = inverseSqrt(${ot("squareSum",_)} / hiddenSize - mean * mean + epsilon);\n        ${w?"meanOutput[global_idx] = mean;":""}\n        ${v?"invStdOutput[global_idx] = invStdDev;":""}\n        for (var i: u32 = 0; i < hiddenSizeVectorized; i++) {\n          output[offset + i] = (output[offset + i] - ${x}(mean)) * ${x}(invStdDev) * gamma[i]\n           + ${h?"beta[i]":"0.0"};\n        }\n      }`,O=[{dims:u,dataType:e[0].dataType}];return r>1&&O.push({dims:p,dataType:1}),r>2&&O.push({dims:p,dataType:1}),r>3&&O.push({dims:n,dataType:e[0].dataType}),{name:"SkipLayerNormalization",shaderCache:{hint:t.cacheKey},getShaderSource:A,getRunData:()=>({outputs:O,dispatchGroup:{x:Math.ceil(l/a/64)}})}},pu=(e,t)=>{kc(e.inputs);let o=[0];e.outputCount>1&&o.push(-3),e.outputCount>2&&o.push(-3),e.outputCount>3&&o.push(3),e.compute(Rc(e.inputs,t,e.outputCount,!1),{outputs:o})},mu=e=>{let t=e.epsilon;return he({epsilon:t})}});var Dc,hn,Mc,hu,Uc,zc,gu,yu,bu=q(()=>{"use strict";We();xe();Le();$e();Dc=(e,t)=>{if(!e||e.length<1)throw new Error("too few inputs");if(t.axes.length!==0){if(t.axes.length!==t.starts.length||t.axes.length!==t.ends.length)throw new Error("axes, starts and ends must have the same length")}else if(t.starts.length!==t.ends.length)throw new Error("starts and ends must have the same length");e.slice(1).forEach((r,o)=>{if(e[o+1].dataType!==6&&e[o+1].dataType!==7)throw new Error(`Input ${o} must be an array of int32 or int64`)})},hn=(e,t)=>{let r=[];if(e.length>t)if(e[t].dataType===7)e[t].getBigInt64Array().forEach(o=>r.push(Number(o)));else if(e[t].dataType===6)e[t].getInt32Array().forEach(o=>r.push(Number(o)));else throw new Error(`Input ${t} must be an array of int32 or int64`);return r},Mc=(e,t)=>{if(e.length>1){let r=hn(e,1),o=hn(e,2),n=hn(e,3);return n.length===0&&(n=[...Array(e[0].dims.length).keys()]),he({starts:r,ends:o,axes:n})}else return t},hu=(e,t,r,o,n)=>{let s=e;return e<0&&(s+=r[o[t]]),n[t]<0?Math.max(0,Math.min(s,r[o[t]]-1)):Math.max(0,Math.min(s,r[o[t]]))},Uc=(e,t,r)=>`fn calculateInputIndices(output_indices: ${t.type.indices}) -> ${e.type.indices} {\n          var input_indices: ${e.type.indices};\n          var carry = 0u;\n          for (var i = ${r.length}; i >= 0; i--) {\n            let input_shape_i = ${de("uniforms.input_shape","i",r.length)};\n            let steps_i = ${de("uniforms.steps","i",r.length)};\n            let signs_i = ${de("uniforms.signs","i",r.length)};\n            let starts_i = ${de("uniforms.starts","i",r.length)};\n            var output_index = ${t.indicesGet("output_indices","i")};\n            var input_index = output_index * steps_i + starts_i + carry;\n            carry = input_index / input_shape_i;\n            input_index = input_index % input_shape_i;\n            if (signs_i < 0) {\n              input_index = input_shape_i - input_index - 1u + starts_i;\n            }\n            ${e.indicesSet("input_indices","i","input_index")};\n          }\n          return input_indices;\n      }`,zc=(e,t)=>{let r=e[0].dims,o=V.size(r),n=t.axes.length>0?V.normalizeAxes(t.axes,r.length):[...Array(r.length).keys()],s=hn(e,4);s.forEach(x=>x!==0||(()=>{throw new Error("step cannot be 0")})),s.length===0&&(s=Array(n.length).fill(1));let u=t.starts.map((x,A)=>hu(x,A,r,n,s)),l=t.ends.map((x,A)=>hu(x,A,r,n,s));if(n.length!==u.length||n.length!==l.length)throw new Error("start, ends and axes should have the same number of elements");if(n.length!==r.length)for(let x=0;x<r.length;++x)n.includes(x)||(u.splice(x,0,0),l.splice(x,0,r[x]),s.splice(x,0,1));let a=s.map(x=>Math.sign(x));s.forEach((x,A,O)=>{if(x<0){let C=(l[A]-u[A])/x,M=u[A],D=M+C*s[A];u[A]=D,l[A]=M,O[A]=-x}});let p=r.slice(0);n.forEach((x,A)=>{p[x]=Math.ceil((l[x]-u[x])/s[x])});let h={dims:p,dataType:e[0].dataType},g=K("output",e[0].dataType,p.length),w=U("input",e[0].dataType,e[0].dims.length),v=V.size(p),y=[{name:"outputSize",type:"u32"},{name:"starts",type:"u32",length:u.length},{name:"signs",type:"i32",length:a.length},{name:"steps",type:"u32",length:s.length}],_=[{type:"uint32",data:v},{type:"uint32",data:u},{type:"int32",data:a},{type:"uint32",data:s},...F(e[0].dims),...F(p)],I=x=>`\n      ${x.registerUniforms(y).declareVariables(w,g)}\n        ${Uc(w,g,r)}\n        ${x.mainStart()}\n          ${x.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}\n          let output_indices = ${g.offsetToIndices("global_idx")};\n          let input_indices = calculateInputIndices(output_indices);\n          ${g.setByOffset("global_idx",w.getByIndices("input_indices"))}\n      }`;return{name:"Slice",shaderCache:{hint:`${a.length}_${u.length}_${s.length}`,inputDependencies:["rank"]},getShaderSource:I,getRunData:()=>({outputs:[h],dispatchGroup:{x:Math.ceil(o/64)},programUniforms:_})}},gu=(e,t)=>{Dc(e.inputs,t);let r=Mc(e.inputs,t);e.compute(zc(e.inputs,r),{inputs:[0]})},yu=e=>{let t=e.starts,r=e.ends,o=e.axes;return he({starts:t,ends:r,axes:o})}});var Vc,Nc,wu,vu,$u=q(()=>{"use strict";xe();Le();$e();Vc=e=>{if(!e||e.length!==1)throw new Error("Softmax op requires 1 input.")},Nc=(e,t)=>{let r=e.dims,o=V.size(r),n=64,s=t.axis;if(s<0&&(s=r.length+s),s<r.length-1)throw new Error("softmax only supports last axis for now.");let u=r[s],l=o/u,a=He(u),p=u/a,h=(I,x)=>x===4?`max(max(${I}.x, ${I}.y), max(${I}.z, ${I}.w))`:x===2?`max(${I}.x, ${I}.y)`:x===3?`max(max(${I}.x, ${I}.y), ${I}.z)`:I,g=U("x",e.dataType,e.dims,a),w=K("result",e.dataType,e.dims,a),v=g.type.value,y=Ge(e.dataType)==="f32"?`var threadMax = ${v}(-3.402823e+38f);`:`var threadMax = ${v}(-65504.0h);`,_=I=>`\n      var<workgroup> rowMaxShared : ${v};\n      var<workgroup> rowSumShared : ${v};\n      var<workgroup> threadShared : array<${v}, ${n}>;\n\n      fn getValue(row: i32, col: i32, row_stride: i32) -> ${v} {\n        let index = row * row_stride + col;\n        return x[index];\n      }\n\n      fn setValue(row: i32, col: i32, row_stride: i32, value: ${v}) {\n        let index = row * row_stride + col;\n        result[index] = value;\n      }\n      ${I.registerUniform("packedCols","i32").declareVariables(g,w)}\n      ${I.mainStart()}\n        let gindex = i32(global_idx);\n        let lindex = i32(local_idx);\n        const wg = ${n};\n        let row = gindex / wg;\n        let cols = uniforms.packedCols;\n        let row_stride : i32 = uniforms.packedCols;\n\n        // find the rows max\n        ${y}\n        for (var col = lindex; col < cols; col += wg) {\n          let value = getValue(row, col, row_stride);\n          threadMax = max(threadMax, value);\n        }\n        if (lindex < cols) {\n          threadShared[lindex] = threadMax;\n        }\n        workgroupBarrier();\n\n        var reduceSize = min(cols, wg);\n        for (var currSize = reduceSize >> 1;  currSize > 0; currSize = reduceSize >>
5929 1) {\n          reduceSize = currSize + (reduceSize & 1);\n          if (lindex < currSize) {\n            threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);\n          }\n          workgroupBarrier();\n        }\n        if (lindex == 0) {\n          rowMaxShared = ${v}(${h("threadShared[0]",a)});\n        }\n        workgroupBarrier();\n\n        // find the rows sum\n        var threadSum = ${v}(0.0);\n        for (var col = lindex; col < cols; col += wg) {\n          let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);\n          threadSum += subExp;\n        }\n        threadShared[lindex] = threadSum;\n        workgroupBarrier();\n\n        for (var currSize = wg >> 1;  currSize > 0; currSize = currSize >> 1) {\n          if (lindex < currSize) {\n            threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];\n          }\n          workgroupBarrier();\n        }\n        if (lindex == 0) {\n          rowSumShared = ${v}(${ot("threadShared[0]",a)});\n        }\n        workgroupBarrier();\n\n        // calculate final value for each element in the row\n        for (var col = lindex; col < cols; col += wg) {\n          let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;\n          setValue(row, col, row_stride, value);\n        }\n      }`;return{name:"Softmax",shaderCache:{hint:`${a}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:r,dataType:e.dataType}],dispatchGroup:{x:l},programUniforms:[{type:"uint32",data:p}]}),getShaderSource:_}}
5929,wu=(e,t)=>{Vc(e.inputs),e.compute(Nc(e.inputs[0],t))},vu=e=>he({axis:e.axis})});var Wc,Gc,Hc,Lc,Fc,Su,xu,_u=q(()=>{"use strict";xe();Le();$e();Wc=e=>{if(!e||e.length<1)throw new Error("too few inputs")},Gc=(e,t)=>{let r=[],o=t.numOutputs;return e[1].dims[0]>0&&(e[1].getBigInt64Array().forEach(n=>r.push(Number(n))),o=r.length),he({numOutputs:o,axis:t.axis,splitSizes:r})},Hc=e=>`\nfn calculateOutputIndex(index: u32) -> u32 {\n    for (var i: u32 = 0u; i < ${e}u; i += 1u ) {\n    if (index < ${de("uniforms.size_in_split_axis","i",e)}) {\n        return i;\n    }\n    }\n    return ${e}u;\n}`,Lc=e=>{let t=e.length,r=[];for(let o=0;o<t;++o){let n=e[o].setByIndices("indices","input[global_idx]");t===1?r.push(n):o===0?r.push(`if (output_number == ${o}u) { ${n} }`):o===t-1?r.push(`else { ${n} }`):r.push(`else if (output_number == ${o}) { ${n} }`)}return`\n      fn writeBufferData(output_number: u32, indices: ${e[0].type.indices}, global_idx: u32) {\n        ${r.join(`\n`)}\n      }`},Fc=(e,t)=>{let r=e[0].dims,o=V.size(r),n=e[0].dataType,s=V.normalizeAxis(t.axis,r.length),u=new Array(t.numOutputs),l=U("input",n,r),a=new Array(t.numOutputs),p=[],h=[],g=0,w=[{type:"uint32",data:o}];for(let y=0;y<t.numOutputs;y++){g+=t.splitSizes[y],a[y]=g;let _=r.slice();_[t.axis]=t.splitSizes[y],h.push(_),u[y]=K(`output${y}`,n,_),p.push({dims:h[y],dataType:e[0].dataType})}w.push({type:"uint32",data:a}),w.push(...F(r)),h.forEach(y=>w.push(...F(y)));let v=y=>`\n  ${y.registerUniform("input_size","u32").registerUniform("size_in_split_axis","u32",a.length).declareVariables(l,...u)}\n  ${Hc(a.length)}\n  ${Lc(u)}\n\n  ${y.mainStart()}\n    ${y.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.input_size")}\n\n    var indices = ${l.offsetToIndices("global_idx")};\n    var index = ${l.indicesGet("indices",s)};\n    let output_number = calculateOutputIndex(index);\n    if (output_number != 0) {\n      index -= ${de("uniforms.size_in_split_axis","output_number - 1u",a.length)};\n      ${l.indicesSet("indices",s,"index")};\n    }\n    writeBufferData(output_number, indices, global_idx);\n  }`;return{name:"Split",shaderCache:{hint:t.cacheKey,inputDependencies:["rank"]},getShaderSource:v,getRunData:()=>({outputs:p,dispatchGroup:{x:Math.ceil(o/64)},programUniforms:w})}},Su=(e,t)=>{Wc(e.inputs);let r=e.inputs.length===1?t:Gc(e.inputs,t);e.compute(Fc(e.inputs,r),{inputs:[0]})},xu=e=>{let t=e.axis,r=e.splitSizes,o=e.numOutputs<0?r.length:e.numOutputs;if(o!==r.length)throw new Error("numOutputs and splitSizes lengh must be equal");return he({axis:t,numOutputs:o,splitSizes:r})}});var Cu,Kc,qc,jc,Iu,Au=q(()=>{"use strict";We();xe();$e();Cu=e=>Array.from(e.getBigInt64Array(),Number),Kc=e=>{if(!e||e.length!==2)throw new Error("Tile requires 2 inputs.");if(e[0].dataType!==1&&e[0].dataType!==6&&e[0].dataType!==12)throw new Error("Tile only support float, int32, and uint32 data types");if(e[1].dataType!==7)throw new Error("Tile `repeats` input should be of int64 data type");if(e[1].dims.length!==1)throw new Error("Tile `repeats` input should be 1-D");if(Cu(e[1]).length!==e[0].dims.length)throw new Error("Tile `repeats` input should have same number of elements as rank of input data tensor")},qc=(e,t)=>{let r=[];for(let o=0;o<e.length;++o)r.push(e[o]*t[o]);return r},jc=e=>{let t=e[0].dims,r=Cu(e[1]),o=qc(t,r),n=V.size(o),s=e[0].dataType,u=U("input",s,t.length),l=K("output",s,o.length),a=p=>`\n      const inputShape = ${u.indices(...t)};\n      ${p.registerUniform("output_size","u32").declareVariables(u,l)}\n      ${p.mainStart()}\n      ${p.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}\n      let output_indices = ${l.offsetToIndices("global_idx")};\n      var input_indices: ${u.type.indices};\n      for (var i = 0; i < ${t.length}; i++) {\n        let input_dim_i = ${u.indicesGet("uniforms.input_shape","i")};\n        let input_dim_value = ${l.indicesGet("output_indices","i")}  % input_dim_i;\n\n        ${u.indicesSet("input_indices","i","input_dim_value")}\n      }\n      ${l.setByOffset("global_idx",u.getByIndices("input_indices"))}\n    }`;return{name:"Tile",shaderCache:{hint:`${r}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:o,dataType:e[0].dataType}],dispatchGroup:{x:Math.ceil(n/64)},programUniforms:[{type:"uint32",data:n},...F(e[0].dims),...F(o)]}),getShaderSource:a}},Iu=e=>{Kc(e.inputs),e.compute(jc(e.inputs),{inputs:[0]})}});var Yc,Zc,Tu,Eu=q(()=>{"use strict";We();xe();$e();Yc=(e,t,r,o,n)=>{let s=K("output_data",n,r.length,4),u=U("a_data",t[1].dataType,t[1].dims.length,4),l=U("b_data",t[2].dataType,t[2].dims.length,4),a=U("c_data",t[0].dataType,t[0].dims.length,4),p,h=(g,w,v)=>`select(${w}, ${g}, ${v})`;if(!o)p=s.setByOffset("global_idx",h(u.getByOffset("global_idx"),l.getByOffset("global_idx"),a.getByOffset("global_idx")));else{let g=(w,v,y="")=>{let _=`a_data[index_a${v}][component_a${v}]`,I=`b_data[index_b${v}
5929][component_b${v}]`,x=`bool(c_data[index_c${v}] & ${4278190080>>>(3-v)*8}u)`;return`\n            let output_indices${v} = ${s.offsetToIndices(`global_idx * 4u + ${v}u`)};\n            let offset_a${v} = ${u.broadcastedIndicesToOffset(`output_indices${v}`,s)};\n            let offset_b${v} = ${l.broadcastedIndicesToOffset(`output_indices${v}`,s)};\n            let offset_c${v} = ${a.broadcastedIndicesToOffset(`output_indices${v}`,s)};\n            let index_a${v} = offset_a${v} / 4u;\n            let index_b${v} = offset_b${v} / 4u;\n            let index_c${v} = offset_c${v} / 4u;\n            let component_a${v} = offset_a${v} % 4u;\n            let component_b${v} = offset_b${v} % 4u;\n            ${w}[${v}] = ${y}(${h(_,I,x)});\n          `};n===9?p=`\n            var data = vec4<u32>(0);\n            ${g("data",0,"u32")}\n            ${g("data",1,"u32")}\n            ${g("data",2,"u32")}\n            ${g("data",3,"u32")}\n            output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:p=`\n            ${g("output_data[global_idx]",0)}\n            ${g("output_data[global_idx]",1)}\n            ${g("output_data[global_idx]",2)}\n            ${g("output_data[global_idx]",3)}\n          `}return`\n        ${e.registerUniform("vec_size","u32").declareVariables(a,u,l,s)}\n        ${e.mainStart()}\n        ${e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}\n        ${p}\n      }`},Zc=e=>{let t=e[1].dims,r=e[2].dims,o=e[0].dims,n=e[1].dataType,s=!(V.areEqual(t,r)&&V.areEqual(r,o)),u=t,l=V.size(t);
5929if(s){let p=mt.calcShape(mt.calcShape(t,r,!1),o,!1);if(!p)throw new Error("Can\'t perform where op on the given tensors");u=p,l=V.size(u)}let a=Math.ceil(l/4);return{name:"Where",shaderCache:{inputDependencies:["rank","rank","rank"]},getShaderSource:p=>Yc(p,e,u,s,n),getRunData:()=>({outputs:[{dims:u,dataType:n}],dispatchGroup:{x:Math.ceil(l/64/4)},programUniforms:[{type:"uint32",data:a},...F(o),...F(t),...F(r),...F(u)]})}},Tu=e=>{e.compute(Zc(e.inputs))}});var Ou,Pu=q(()=>{"use strict";ei();Jn();ni();ai();zi();Yi();Ji();no();ps();hs();vs();xs();Is();Es();Bs();Rs();Ms();ao();Ns();Gs();au();su();rn();cu();fu();bu();$u();_u();Au();or();Xn();Eu();Ou=new Map([["Abs",[ii]],["Acos",[si]],["Acosh",[ui]],["Add",[Vi]],["ArgMax",[Xa,Qn]],["ArgMin",[Ja,Qn]],["Asin",[di]],["Asinh",[li]],["Atan",[ci]],["Atanh",[pi]],["Attention",[ti]],["AveragePool",[Zs,Ys]],["BatchNormalization",[ri]],["BiasAdd",[oi]],["BiasSplitGelu",[Ui]],["Cast",[fi,mi]],["Ceil",[gi]],["Clip",[hi]],["Concat",[Zi,Qi]],["Conv",[so,io]],["ConvTranspose",[cs,ls]],["Cos",[yi]],["Cosh",[bi]],["CumSum",[ms,fs]],["Div",[Ni]],["Einsum",[bs,ws]],["Elu",[wi,an]],["Equal",[Wi]],["Erf",[vi]],["Exp",[$i]],["Expand",[Ss]],["Floor",[Si]],["FusedConv",[so,io]],["Gather",[Cs,_s]],["GatherElements",[Ts,As]],["Gelu",[xi]],["Gemm",[Ps,Os]],["GlobalAveragePool",[Xs,Js]],["GlobalMaxPool",[ou,nu]],["Greater",[Fi]],["GreaterOrEqual",[qi]],["InstanceNormalization",[ks]],["LayerNormalization",[Ds]],["LeakyRelu",[_i,an]],["Less",[Ki]],["LessOrEqual",[ji]],["Log",[Mi]],["MatMul",[ns]],["MaxPool",[tu,ru]],["Mul",[Gi]],["MultiHeadAttention",[Vs,zs]],["Neg",[Ii]],["Not",[Ci]],["Pad",[Ws]],["Pow",[Hi]],["Range",[iu]],["Reciprocal",[Ai]],["ReduceMin",[Ka]],["ReduceMean",[Wa]],["ReduceMax",[Fa]],["ReduceSum",[ja]],["ReduceProd",[qa]],["ReduceL1",[Ga]],["ReduceL2",[Ha]],["ReduceLogSum",[Za]],["ReduceLogSumExp",[La]],["ReduceSumSquare",[Ya]],["Relu",[Ti]],["Resize",[du,lu]],["Sigmoid",[Ei]],["Sin",[Oi]],["Sinh",[Pi]],["Slice",[gu,yu]],["SkipLayerNormalization",[pu,mu]],["Split",[Su,xu]],["Sqrt",[Bi]],["Softmax",[wu,vu]],["Sub",[Li]],["Tan",[ki]],["Tanh",[Ri]],["ThresholdedRelu",[Di,an]],["Tile",[Iu]],["Transpose",[Ta,Ea]],["Where",[Tu]]])});var gn,Bu=q(()=>{"use strict";rr();Pt();$e();gn=class{constructor(t){this.backend=t;this.repo=new Map,this.attributesBound=!1}getArtifact(t){return this.repo.get(t)}setArtifact(t,r){this.repo.set(t,r)}run(t,r,o){Vt(t.programInfo.name);let n=this.backend.getComputePassEncoder();if(this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2),this.backend.sessionStatus==="capturing"){let s={kernelId:this.backend.currentKernelId,computePipeline:t.computePipeline,bindGroup:r,dispatchGroup:o};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(s)}n.setPipeline(t.computePipeline),n.setBindGroup(0,r),n.dispatchWorkgroups(...o),this.backend.writeTimestamp(this.backend.pendingDispatchNumber*2+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType==="at-passes")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),Nt(t.programInfo.name)}dispose(){}build(t,r){Vt(t.name);let o=this.backend.device,n=[];o.features.has("shader-f16")&&n.push("enable f16;");let s=Ia(r),u=t.getShaderSource(s),l=`${n.join(`\n`)}\n${s.additionalImplementations}\n${u}`,a=o.createShaderModule({code:l,label:t.name});Re("verbose",()=>`[WebGPU] ${t.name} shader code: ${l}`);let p=o.createComputePipeline({compute:{module:a,entryPoint:"main"},layout:"auto",label:t.name});return Nt(t.name),{programInfo:t,computePipeline:p}}normalizeDispatchGroupSize(t){let r=typeof t=="number"?t:t.x,o=typeof t=="number"?1:t.y||1,n=typeof t=="number"?1:t.z||1,s=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(r<=s&&o<=s&&n<=s)return[r,o,n];let u=r*o*n,l=Math.ceil(Math.sqrt(u));if(l>s){if(l=Math.ceil(Math.cbrt(u)),l>s)throw new Error("Total dispatch size exceeds WebGPU maximum.");return[l,l,l]}else return[l,l,1]}}});var Qc,Jc,yn,ku=q(()=>{"use strict";rr();We();Pt();$a();Ca();Pu();Bu();Qc=(e,t)=>{if(t.length!==e.length)throw new Error(`inputDependencies length ${t.length} is not equal to inputTensors length ${e.length}.`);let r=[];for(let o=0;o<e.length;++o){let n=e[o].dataType;switch(t[o]){case"none":{r.push("");break}case"type":{r.push(`${n}`);break}case"rank":{let s=e[o].dims.length;r.push(`${n};${s}`);break}case"dims":{let s=e[o].dims.join(",");r.push(`${n};${s}`);break}default:throw new Error(`unsupported input dependency: ${t[o]}`)}}return r.join("|")},Jc=(e,t,r)=>{let o=e.name;return e.shaderCache?.hint&&(o+="["+e.shaderCache.hint+"]"),o+=":"+r+`:${Qc(t,e.shaderCache?.inputDependencies??new Array(t.length).fill("dims"))}`,o},yn=class{constructor(){this.currentSessionId=null;this.currentKernelId=null;this.commandEncoder=null;this.computePassEncoder=null;
5929this.maxDispatchNumber=16;this.pendingDispatchNumber=0;this.pendingKernels=[];this.pendingQueries=new Map;this.sessionStatus="default";this.capturedCommandList=new Map;this.capturedPendingKernels=new Map;this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error("currentKernelCustomData(): currentKernelId is null. (should not happen)");let t=this.kernelCustomData.get(this.currentKernelId);return t||(t={},this.kernelCustomData.set(this.currentKernelId,t)),t}async initialize(t,r){this.env=t;let o=[],n={requiredLimits:{maxComputeWorkgroupStorageSize:r.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:r.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:r.limits.maxStorageBufferBindingSize,maxBufferSize:r.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:r.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:r.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:r.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:r.limits.maxComputeWorkgroupSizeZ},requiredFeatures:o};r.features.has("chromium-experimental-timestamp-query-inside-passes")?o.push("chromium-experimental-timestamp-query-inside-passes"):r.features.has("timestamp-query")&&o.push("timestamp-query"),r.features.has("shader-f16")&&o.push("shader-f16"),this.device=await r.requestDevice(n),this.gpuDataManager=_a(this),this.programManager=new gn(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,this.kernelUniformCache=new Map,this.kernelGpuBindGroupCache=new Map,wa(t.logLevel,!!t.debug),this.device.onuncapturederror=s=>
vendor: 3,110 bytes, line 5929
5929{s.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${s.error.message}`)},Object.defineProperty(this.env.webgpu,"device",{value:this.device}),this.setQueryType()}dispose(){typeof this.querySet<"u"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder(),this.setQueryType(),this.queryType!=="none"&&typeof this.querySet>"u"&&(this.querySet=this.device.createQuerySet({type:"timestamp",count:this.maxDispatchNumber*2}),this.queryResolveBuffer=this.device.createBuffer({size:this.maxDispatchNumber*2*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE}))),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let t=this.getCommandEncoder(),r={};this.queryType==="at-passes"&&(r.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:this.pendingDispatchNumber*2,endOfPassWriteIndex:this.pendingDispatchNumber*2+1}),this.computePassEncoder=t.beginComputePass(r)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;Vt(),this.endComputePass();let t;this.queryType!=="none"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,this.pendingDispatchNumber*2,this.queryResolveBuffer,0),t=this.device.createBuffer({size:this.pendingDispatchNumber*2*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(t,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,t,0,this.pendingDispatchNumber*2*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!=="none"&&t.mapAsync(GPUMapMode.READ).then(()=>{let r=new BigUint64Array(t.getMappedRange()),o=this.pendingQueries.get(t);for(let n=0;n<r.length/2;n++){let s=o[n],u=s.kernelId,l=this.kernels.get(u),a=l.kernelType,p=l.kernelName,h=s.programName,g=s.inputTensorViews,w=s.outputTensorViews,v=r[n*2],y=r[n*2+1];typeof this.queryTimeBase>"u"&&(this.queryTimeBase=v);let _=Number(v-this.queryTimeBase),I=Number(y-this.queryTimeBase);if(!Number.isSafeInteger(_)||!Number.isSafeInteger(I))throw new RangeError("incorrect timestamp range");if(this.env.webgpu.profiling?.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:g.map(x=>({dims:x.dims,dataType:nt(x.dataType)})),outputsMetadata:w.map(x=>({dims:x.dims,dataType:nt(x.dataType)})),kernelId:u,kernelType:a,kernelName:p,programName:h,startTime:_,endTime:I});else{let x="";g.forEach((O,C)=>{x+=`input[${C}]: [${O.dims}] | ${nt(O.dataType)}, `});let A="";w.forEach((O,C)=>{A+=`output[${C}]: [${O.dims}] | ${nt(O.dataType)}, `}),console.log(`[profiling] kernel "${u}|${a}|${p}|${h}" ${x}${A}execution time: ${I-_} ns`)}Nn("GPU",`${h}::${v}::${y}`)}t.unmap(),this.pendingQueries.delete(t)}),Nt()}run(t,r,o,n,s){Vt(t.name);let u=[];for(let C=0;C<r.length;++C){let M=this.gpuDataManager.get(r[C].data);
5929if(!M)throw new Error(`no GPU data for input: ${r[C].data}`);u[C]=M}let{outputs:l,dispatchGroup:a,programUniforms:p}=t.getRunData(r),h=o.length===0?l.map((C,M)=>M):o;if(h.length!==l.length)throw new Error(`Output size ${h.length} must be equal to ${l.length}.`);let g=[],w=[];for(let C=0;C<l.length;++C){if(!Number.isInteger(h[C])||h[C]<-3||h[C]>=l.length)throw new Error(`Invalid output index: ${h[C]}`);if(h[C]===-3)continue;let M=h[C]===-1,D=h[C]===-2,G=M||D?s(l[C].dataType,l[C].dims):n(h[C],l[C].dataType,l[C].dims),E=this.gpuDataManager.get(G.data);if(!E)throw new Error(`no GPU data for output: ${G.data}`);if(M&&this.temporaryData.push(E),D){let W=this.kernelPersistentData.get(this.currentKernelId);W||(W=[],this.kernelPersistentData.set(this.currentKernelId,W)),W.push(E)}g.push(G),w.push(E)}let v;if(p){let C=this.kernelUniformCache.get(this.currentKernelId);C&&(this.compareProgramUniforms(C.programUniforms,p)||(this.gpuDataManager.release(C.gpuData.id),C=void 0)),C||(C=this.createCachedUniform(p),this.kernelUniformCache.set(this.currentKernelId,C)),v=C.binding}let y=this.programManager.normalizeDispatchGroupSize(a),_=y[1]===1&&y[2]===1,I=Jc(t,r,_),x=this.programManager.getArtifact(I);if(x||(x=this.programManager.build(t,y),this.programManager.setArtifact(I,x),Re("info",()=>`[artifact] key: ${I}, programName: ${t.name}`)),Re("info",()=>`[ProgramManager] run "${t.name}" (key=${I}) with ${y[0]}x${y[1]}x${y[2]}`),this.queryType!=="none"||this.sessionStatus==="capturing"){let C={kernelId:this.currentKernelId,programName:x.programInfo.name,inputTensorViews:r,outputTensorViews:g};this.pendingKernels.push(C),this.capturedPendingKernels.get(this.currentSessionId).push(C)}let A=this.kernelGpuBindGroupCache.get(this.currentKernelId);A||(A=[],this.kernelGpuBindGroupCache.set(this.currentKernelId,A));let O;for(let C of A)if(this.checkCachedBindGroup(C,x,u,w,v)){O=C;break}if(!O)for(O=this.createCachedBindGroup(x,u,w,v),A.push(O);A.length>20;)A.shift();return this.programManager.run(x,O.binding,y),Nt(t.name),g}compareProgramUniforms(t,r){return t.length!==r.length?!1:t.every((n,s)=>n.type===r[s].type)}createCachedUniform(t){let r=0,o=[];t.forEach(a=>{let p=typeof a.data=="number"?[a.data]:a.data;if(p.length===0)return;let h=p.length<=2?p.length*4:16;r=Math.ceil(r/h)*h,o.push(r),r+=p.length>4?Math.ceil(p.length/4)*16:p.length*4});let n=16;r=Math.ceil(r/n)*n;let s=new ArrayBuffer(r);t.forEach((a,p)=>{let h=o[p],g=typeof a.data=="number"?[a.data]:a.data;a.type==="int32"?new Int32Array(s,h,g.length).set(g):a.type==="uint32"?new Uint32Array(s,h,g.length).set(g):new Float32Array(s,h,g.length).set(g)});let u=this.gpuDataManager.create(r,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(u.buffer,0,s,0,r);let l={offset:0,size:r,buffer:u.buffer};return{programUniforms:t,binding:l,gpuData:u}}checkCachedBindGroup(t,r,o,n,s){if(r!==t.artifact)return!1;let u=o.every((p,h)=>p.permamentID===t.inputPermamentIDs[h]),l=n.every((p,h)=>p.permamentID===t.outputPermamentIDs[h]),a=s===t.uniformBinding;return u&&l&&a}createCachedBindGroup(t,r,o,n){let s=[];for(let l of r)s.push({binding:s.length,resource:{buffer:l.buffer}});for(let l of o)s.push({binding:s.length,resource:{buffer:l.buffer}});return n&&s.push({binding:s.length,resource:n}),{binding:this.device.createBindGroup({layout:t.computePipeline.getBindGroupLayout(0),entries:s,label:t.programInfo.name}),artifact:t,inputPermamentIDs:r.map(l=>l.permamentID),outputPermamentIDs:o.map(l=>l.permamentID),uniformBinding:n}}upload(t,r){this.gpuDataManager.upload(t,r)}memcpy(t,r){this.gpuDataManager.memcpy(t,r)}async download(t,r){await this.gpuDataManager.download(t,r)}alloc(t){return this.gpuDataManager.create(t).id}free(t){return this.gpuDataManager.release(t)}createKernel(t,r,o,n){let s=Ou.get(t);if(!s)throw new Error(`kernel not implemented: ${t}`);let u={kernelType:t,kernelName:n,kernelEntry:s[0],attributes:[s[1],o]};this.kernels.set(r,u)}releaseKernel(t){let r=this.kernelPersistentData.get(t);if(r){for(let n of r)this.gpuDataManager.release(n.id);this.kernelPersistentData.delete(t)}this.kernelCustomData.delete(t),this.kernelGpuBindGroupCache.delete(t);let o=this.kernelUniformCache.get(t);o&&(this.gpuDataManager.release(o.gpuData.id),this.kernelUniformCache.delete(t)),this.kernels.delete(t)}computeKernel(t,r,o){let n=this.kernels.get(t);if(!n)throw new Error(`kernel not created: ${t}`);let s=n.kernelType,u=n.kernelName,l=n.kernelEntry,a=n.attributes;if(this.currentKernelId!==null)throw new Error(`kernel "[${s}] ${u}" is not allowed to be called recursively`);this.currentKernelId=t,a[0]&&(a[1]=a[0](a[1]),a[0]=void 0),Re("info",()=>`[WebGPU] Start to run kernel "[${s}] ${u}"...`);let p=this.env.debug;this.temporaryData=[];try{return p&&this.device.pushErrorScope("validation"),l(r,a[1]),0}
5929catch(h){return o.push(Promise.resolve(`[WebGPU] Kernel "[${s}] ${u}" failed. ${h}`)),1}finally{p&&o.push(this.device.popErrorScope().then(h=>h?`GPU validation error for kernel "[${s}] ${u}": ${h.message}`:null));for(let h of this.temporaryData)this.gpuDataManager.release(h.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(t,r,o,n){let s=this.sessionExternalDataMapping.get(t);s||(s=new Map,this.sessionExternalDataMapping.set(t,s));let u=s.get(r),l=this.gpuDataManager.registerExternalBuffer(o,n,u?.[1]);return s.set(r,[l,o]),l}unregisterBuffers(t){let r=this.sessionExternalDataMapping.get(t);r&&(r.forEach(o=>this.gpuDataManager.unregisterExternalBuffer(o[1])),this.sessionExternalDataMapping.delete(t))}getBuffer(t){let r=this.gpuDataManager.get(t);if(!r)throw new Error(`no GPU data for buffer: ${t}`);return r.buffer}createDownloader(t,r,o){return async()=>{let n=await Ln(this,t,r);return va(n.buffer,o)}}writeTimestamp(t){this.queryType==="inside-passes"&&this.computePassEncoder.writeTimestamp(this.querySet,t)}setQueryType(){this.queryType="none",(this.env.webgpu.profiling?.mode==="default"||this.env.wasm.trace)&&(this.device.features.has("chromium-experimental-timestamp-query-inside-passes")?this.queryType="inside-passes":this.device.features.has("timestamp-query")&&(this.queryType="at-passes"))}captureBegin(){Re("info","captureBegin");let t=this.capturedCommandList.get(this.currentSessionId),r=this.capturedPendingKernels.get(this.currentSessionId);t||(t=[],this.capturedCommandList.set(this.currentSessionId,t),r=[],this.capturedPendingKernels.set(this.currentSessionId,r)),this.flush(),this.sessionStatus="capturing"}captureEnd(){Re("info","captureEnd"),this.flush(),this.sessionStatus="default"}replay(){Re("info","replay"),this.sessionStatus="replaying";let t=this.capturedCommandList.get(this.currentSessionId),r=this.capturedPendingKernels.get(this.currentSessionId),o=t.length;this.pendingKernels=[];for(let n=0;n<o;n++){let s=this.getComputePassEncoder(),u=t[n];this.writeTimestamp(this.pendingDispatchNumber*2),s.setPipeline(u.computePipeline),s.setBindGroup(0,u.bindGroup),s.dispatchWorkgroups(...u.dispatchGroup),this.writeTimestamp(this.pendingDispatchNumber*2+1),this.pendingDispatchNumber++,this.queryType!=="none"&&this.pendingKernels.push(r[n]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType==="at-passes")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus="default"}onReleaseSession(t){this.unregisterBuffers(t),this.capturedCommandList.has(t)&&this.capturedCommandList.delete(t),this.capturedPendingKernels.has(t)&&this.capturedPendingKernels.delete(t),this.gpuDataManager.onReleaseSession(t)}onRunStart(t){this.currentSessionId=t,this.setQueryType()}}});var Ru={};xr(Ru,{init:()=>Xc});var Or,fo,Xc,Du=q(()=>{"use strict";We();ku();Pt();xe();Or=class e{constructor(t,r,o,n){this.module=t;this.dataType=r;this.data=o;this.dims=n}getFloat32Array(){if(this.dataType!==1)throw new Error("Invalid data type");let t=V.size(this.dims);return t===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,t)}getBigInt64Array(){if(this.dataType!==7)throw new Error("Invalid data type");let t=V.size(this.dims);return t===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,t)}getInt32Array(){if(this.dataType!==6)throw new Error("Invalid data type");let t=V.size(this.dims);return t===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,t)}reshape(t){if(V.size(t)!==V.size(this.dims))throw new Error("Invalid new shape");return new e(this.module,this.dataType,this.data,t)}},fo=class{constructor(t,r,o){this.module=t;this.backend=r;this.customDataOffset=0;this.customDataSize=0;let n=t.HEAPU32,s=o>>>2;this.opKernelContext=n[s++];let u=n[s++];this.outputCount=n[s++],this.customDataOffset=n[s++],this.customDataSize=n[s++];let l=[];for(let a=0;a<u;a++){let p=n[s++],h=n[s++],g=n[s++],w=[];for(let v=0;v<g;v++)w.push(n[s++]);l.push(new Or(t,p,h,w))}this.inputs=l}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(t,r){let o=r?.inputs?.map(l=>typeof l=="number"?this.inputs[l]:l)??this.inputs,n=r?.outputs??[],s=(l,a,p)=>new Or(this.module,a,this.output(l,p),p),u=(l,a)=>{let p=Cr(l);
5929if(!p)throw new Error(`Unsupported data type: ${l}`);let h=p*V.size(a);return new Or(this.module,l,this.backend.gpuDataManager.create(h).id,a)};return this.backend.run(t,o,n,s,u)}output(t,r){let o=this.module.stackSave();try{let n=this.module.stackAlloc((1+r.length)*4),s=n>>2;this.module.HEAPU32[s++]=r.length;for(let u=0;u<r.length;u++)this.module.HEAPU32[s++]=r[u];return this.module._JsepOutput(this.opKernelContext,t,n)}catch(n){throw new Error(`Failed to generate kernel\'s output[${t}] with dims [${r}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${n}`)}finally{this.module.stackRestore(o)}}},Xc=async(e,t,r)=>{let o=e.jsepInit;if(!o)throw new Error("Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.");let n=new yn;await n.initialize(t,r),o(n,s=>n.alloc(s),s=>n.free(s),(s,u,l,a=!1)=>{if(a)Re("verbose",()=>`[WebGPU] jsepCopyGpuToGpu: src=${s}, dst=${u}, size=${l}`),n.memcpy(s,u);else{Re("verbose",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${s}, gpuDataId=${u}, size=${l}`);let p=e.HEAPU8.subarray(s>>>0,(s>>>0)+l);n.upload(u,p)}},async(s,u,l)=>{Re("verbose",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${s}, dataOffset=${u}, size=${l}`),await n.download(s,()=>e.HEAPU8.subarray(u>>>0,(u>>>0)+l))},(s,u,l)=>n.createKernel(s,u,l,e.UTF8ToString(e._JsepGetNodeName(u))),s=>n.releaseKernel(s),(s,u,l,a)=>{Re("verbose",()=>`[WebGPU] jsepRun: sessionHandle=${l}, kernel=${s}, contextDataOffset=${u}`);let p=new fo(e,n,u);return n.computeKernel(s,p,a)},()=>n.captureBegin(),()=>n.captureEnd(),()=>n.replay())}});var Yo;Yo=Vo();var pd=Ko(),Dn,Mn=!1,Fr=!1,jo=!1,md=e=>{if(e===1)return!1;if(typeof SharedArrayBuffer>"u")return typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+e+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;typeof process<"u"&&process.versions&&process.versions.node&&console.warn("env.wasm.numThreads is set to "+e+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},fd=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},hd=(e,t)=>e?t?"ort-wasm-simd-threaded.wasm":"ort-wasm-simd.wasm":t?"ort-wasm-threaded.wasm":"ort-wasm.wasm",Zo=async e=>{if(Mn)return Promise.resolve();if(Fr)throw new Error("multiple calls to \'initializeWebAssembly()\' detected.");if(jo)throw new Error("previous call to \'initializeWebAssembly()\' failed.");Fr=!0;let t=e.initTimeout,r=e.numThreads,o=e.simd,n=md(r),s=o&&fd(),u=e.wasmPaths,l=typeof u=="string"?u:void 0,a=hd(s,n),p=typeof u=="object"?u[a]:void 0,h=!1,g=[];if(t>0&&g.push(new Promise(w=>{setTimeout(()=>{h=!0,w()},t)})),g.push(new Promise((w,v)=>{let y=n?pd:Yo,_={locateFile:(I,x)=>{if(n&&I.endsWith(".worker.js")&&typeof Blob<"u")return URL.createObjectURL(new Blob([qo()],{type:"text/javascript"}));if(I.endsWith(".wasm")){if(p)return p;let A=l??x;return a==="ort-wasm-simd.wasm"?A+"ort-wasm-simd.jsep.wasm":a==="ort-wasm-simd-threaded.wasm"?A+"ort-wasm-simd-threaded.jsep.wasm":A+a}return x+I}};if(n)if(_.numThreads=r,typeof Blob>"u")_.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js");else{let I=`var ortWasmThreaded=${y.toString()};`;_.mainScriptUrlOrBlob=new Blob([I],{type:"text/javascript"})}y(_).then(I=>{Fr=!1,Mn=!0,Dn=I,w()},I=>{Fr=!1,jo=!0,v(I)})})),await Promise.race(g),h)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},ze=()=>{if(Mn&&Dn)return Dn;throw new Error("WebAssembly is not initialized yet.")};var Ve=(e,t)=>{let r=ze(),o=r.lengthBytesUTF8(e)+1,n=r._malloc(o);return r.stringToUTF8(e,n,o),t.push(n),n},_r=(e,t,r,o)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw new Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([n,s])=>{let u=t?t+n:n;if(typeof s=="object")_r(s,u+".",r,o);else if(typeof s=="string"||typeof s=="number")o(u,s.toString());else if(typeof s=="boolean")o(u,s?"1":"0");else throw new Error(`Can\'t handle extra config type: ${typeof s}`)})},ke=e=>{let t=ze(),r=t.stackSave();try{let o=t.stackAlloc(8);t._OrtGetLastError(o,o+4);let n=t.HEAP32[o/4],s=t.HEAPU32[o/4+1],u=s?t.UTF8ToString(s):"";throw new Error(`${e} ERROR_CODE: ${n}, ERROR_MESSAGE: ${u}`)}finally{t.stackRestore(r)}};var Qo=e=>{let t=ze(),r=0,o=[],n=e||{};try{if(e?.logSeverityLevel===void 0)n.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>
59294)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)n.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(n.terminate=!1);let s=0;return e?.tag!==void 0&&(s=Ve(e.tag,o)),r=t._OrtCreateRunOptions(n.logSeverityLevel,n.logVerbosityLevel,!!n.terminate,s),r===0&&ke("Can\'t create run options."),e?.extra!==void 0&&_r(e.extra,"",new WeakSet,(u,l)=>{let a=Ve(u,o),p=Ve(l,o);t._OrtAddRunConfigEntry(r,a,p)!==0&&ke(`Can\'t set a run config entry: ${u} - ${l}.`)}),[r,o]}catch(s){throw r!==0&&t._OrtReleaseRunOptions(r),o.forEach(u=>t._free(u)),s}};var gd=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},yd=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},bd=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},wd=(e,t,r)=>{for(let o of t){let n=typeof o=="string"?o:o.name;switch(n){case"webnn":if(n="WEBNN",typeof o!="string"){let u=o;if(u?.deviceType){let l=Ve("deviceType",r),a=Ve(u.deviceType,r);ze()._OrtAddSessionConfigEntry(e,l,a)!==0&&ke(`Can\'t set a session config entry: \'deviceType\' - ${u.deviceType}.`)}if(u?.numThreads){let l=u.numThreads;(typeof l!="number"||!Number.isInteger(l)||l<0)&&(l=0);let a=Ve("numThreads",r),p=Ve(l.toString(),r);ze()._OrtAddSessionConfigEntry(e,a,p)!==0&&ke(`Can\'t set a session config entry: \'numThreads\' - ${u.numThreads}.`)}if(u?.powerPreference){let l=Ve("powerPreference",r),a=Ve(u.powerPreference,r);ze()._OrtAddSessionConfigEntry(e,l,a)!==0&&ke(`Can\'t set a session config entry: \'powerPreference\' - ${u.powerPreference}.`)}}break;case"webgpu":if(n="JS",typeof o!="string"){let u=o;if(u?.preferredLayout){if(u.preferredLayout!=="NCHW"&&u.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either \'NCHW\' or \'NHWC\': ${u.preferredLayout}`);let l=Ve("preferredLayout",r),a=Ve(u.preferredLayout,r);ze()._OrtAddSessionConfigEntry(e,l,a)!==0&&ke(`Can\'t set a session config entry: \'preferredLayout\' - ${u.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${n}`)}let s=Ve(n,r);ze()._OrtAppendExecutionProvider(e,s)!==0&&ke(`Can\'t append execution provider: ${n}.`)}},Jo=e=>{let t=ze(),r=0,o=[],n=e||{};bd(n);try{let s=gd(n.graphOptimizationLevel??"all"),u=yd(n.executionMode??"sequential"),l=typeof n.logId=="string"?Ve(n.logId,o):0,a=n.logSeverityLevel??2;if(!Number.isInteger(a)||a<0||a>4)throw new Error(`log serverity level is not valid: ${a}`);let p=n.logVerbosityLevel??0;if(!Number.isInteger(p)||p<0||p>4)throw new Error(`log verbosity level is not valid: ${p}`);let h=typeof n.optimizedModelFilePath=="string"?Ve(n.optimizedModelFilePath,o):0;if(r=t._OrtCreateSessionOptions(s,!!n.enableCpuMemArena,!!n.enableMemPattern,u,!!n.enableProfiling,0,l,a,p,h),r===0&&ke("Can\'t create session options."),n.executionProviders&&wd(r,n.executionProviders,o),n.enableGraphCapture!==void 0){if(typeof n.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${n.enableGraphCapture}`);let g=Ve("enableGraphCapture",o),w=Ve(n.enableGraphCapture.toString(),o);t._OrtAddSessionConfigEntry(r,g,w)!==0&&ke(`Can\'t set a session config entry: \'enableGraphCapture\' - ${n.enableGraphCapture}.`)}if(n.freeDimensionOverrides)for(let[g,w]of Object.entries(n.freeDimensionOverrides)){if(typeof g!="string")throw new Error(`free dimension override name must be a string: ${g}`);if(typeof w!="number"||!Number.isInteger(w)||w<0)throw new Error(`free dimension override value must be a non-negative integer: ${w}`);let v=Ve(g,o);t._OrtAddFreeDimensionOverride(r,v,w)!==0&&ke(`Can\'t set a free dimension override: ${g} - ${w}.`)}return n.extra!==void 0&&_r(n.extra,"",new WeakSet,(g,w)=>{let v=Ve(g,o),y=Ve(w,o);t._OrtAddSessionConfigEntry(r,v,y)!==0&&ke(`Can\'t set a session config entry: ${g} - ${w}.`)}),[r,o]}catch(s){throw r!==0&&t._OrtReleaseSessionOptions(r),o.forEach(u=>t._free(u)),s}};We();var ea=async e=>{if(typeof e=="string")if(typeof process<"u"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(e))}catch(t){if(t.code==="ERR_FS_FILE_TOO_LARGE"){let r=(void 0)(e),o=[];for await(let n of r)o.push(n);return new Uint8Array(Buffer.concat(o))}throw t}else{let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),o=r?parseInt(r,10):0;if(o<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let n=t.body.getReader(),s;try{s=new ArrayBuffer(o)}catch(l){if(l instanceof RangeError){let a=Math.ceil(o/65536);s=new WebAssembly.Memory({initial:a,maximum:a}).buffer}else throw l}let u=0;for(;;){let{done:l,value:a}=await n.read();if(l)break;let p=a.byteLength;new Uint8Array(s,u,p).set(a),u+=p}return new Uint8Array(s,0,o)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)};var ep=(e,t)=>
5929{ze()._OrtInit(e,t)!==0&&ke("Can\'t initialize onnxruntime.")},Uu=async e=>{ep(e.wasm.numThreads,Ir(e.logLevel))},zu=async(e,t)=>{if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");let r=await navigator.gpu.requestAdapter();if(!r)throw new Error(\'Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.\');if(!e.wasm.simd)throw new Error("Not supported for WebGPU=ON and SIMD=OFF. Please set `env.wasm.simd` to true when using `webgpu` EP");let o=(Du(),Ot(Ru)).init;await o(ze(),e,r)}},Gt=new Map,tp=e=>{let t=ze(),r=t.stackSave();try{let o=t.stackAlloc(8);return t._OrtGetInputOutputCount(e,o,o+4)!==0&&ke("Can\'t get session input/output count."),[t.HEAP32[o/4],t.HEAP32[o/4+1]]}finally{t.stackRestore(r)}},ho=e=>{let t=ze(),r=t._malloc(e.byteLength);if(r===0)throw new Error(`Can\'t create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},Vu=async(e,t)=>{let r,o,n=ze();Array.isArray(e)?[r,o]=e:e.buffer===n.HEAPU8.buffer?[r,o]=[e.byteOffset,e.byteLength]:[r,o]=ho(e);let s=0,u=0,l=0,a=[],p=[],h=[];try{if([u,a]=Jo(t),t?.externalData&&n.mountExternalData){let A=[];for(let O of t.externalData){let C=typeof O=="string"?O:O.path;A.push(ea(typeof O=="string"?O:O.data).then(M=>{n.mountExternalData(C,M)}))}await Promise.all(A)}s=n._OrtCreateSession(r,o,u),s===0&&ke("Can\'t create a session.");let[g,w]=tp(s),v=!!t?.enableGraphCapture,y=[],_=[],I=[];for(let A=0;A<g;A++){let O=n._OrtGetInputName(s,A);O===0&&ke("Can\'t get an input name."),p.push(O),y.push(n.UTF8ToString(O))}for(let A=0;A<w;A++){let O=n._OrtGetOutputName(s,A);O===0&&ke("Can\'t get an output name."),h.push(O);let C=n.UTF8ToString(O);_.push(C);{if(v&&t?.preferredOutputLocation===void 0){I.push("gpu-buffer");continue}let M=typeof t?.preferredOutputLocation=="string"?t.preferredOutputLocation:t?.preferredOutputLocation?.[C]??"cpu";if(M!=="cpu"&&M!=="cpu-pinned"&&M!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${M}.`);if(v&&M!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${M}. Only \'gpu-buffer\' location is supported when enableGraphCapture is true.`);I.push(M)}}let x=null;return I.some(A=>A==="gpu-buffer")&&(l=n._OrtCreateBinding(s),l===0&&ke("Can\'t create IO binding."),x={handle:l,outputPreferredLocations:I,outputPreferredLocationsEncoded:I.map(A=>zn(A))}),Gt.set(s,[s,p,h,x,v,!1]),[s,y,_]}catch(g){throw p.forEach(w=>n._OrtFree(w)),h.forEach(w=>n._OrtFree(w)),l!==0&&n._OrtReleaseBinding(l),s!==0&&n._OrtReleaseSession(s),g}finally{n._free(r),u!==0&&n._OrtReleaseSessionOptions(u),a.forEach(g=>n._free(g)),n.unmountExternalData?.()}},Nu=e=>{let t=ze(),r=Gt.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[o,n,s,u,l]=r;u&&(l&&t._OrtClearBoundOutputs(u.handle),t._OrtReleaseBinding(u.handle)),t.jsepOnReleaseSession?.(e),n.forEach(a=>t._OrtFree(a)),s.forEach(a=>t._OrtFree(a)),t._OrtReleaseSession(o),Gt.delete(e)},rp=(e,t,r)=>{if(e!==null&&e[0]===t){let n=e[2];if(n.length===r)return n}let o=Kr(t);return new o(r)},Mu=(e,t,r,o,n,s=!1)=>{if(!e){t.push(0);return}let u=ze(),l=e[0],a=e[1],p=e[3],h,g;if(l==="string"&&p==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");if(s&&p!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${n} when enableGraphCapture is true.`);if(p==="gpu-buffer"){let y=e[2].gpuBuffer,_=Cr(Un(l));g=a.reduce((I,x)=>I*x,1)*_,h=u.jsepRegisterBuffer(o,n,y,g)}else{let y=e[2];if(Array.isArray(y)){g=4*y.length,h=u._malloc(g),r.push(h);let _=h/4;for(let I=0;I<y.length;I++){if(typeof y[I]!="string")throw new TypeError(`tensor data at index ${I} is not a string`);u.HEAPU32[_++]=Ve(y[I],r)}}else g=y.byteLength,h=u._malloc(g),r.push(h),u.HEAPU8.set(new Uint8Array(y.buffer,y.byteOffset,g),h)}let w=u.stackSave(),v=u.stackAlloc(4*a.length);try{let y=v/4;a.forEach(I=>u.HEAP32[y++]=I);let _=u._OrtCreateTensor(Un(l),h,g,v,a.length,zn(p));_===0&&ke(`Can\'t create tensor for input/output. session=${o}, index=${n}.`),t.push(_)}finally{u.stackRestore(w)}},Wu=e=>{let r=new TextEncoder().encode(e),o=ze(),n=o._malloc(r.byteLength);o.HEAPU8.set(r,n);let s=o._OrtConfigure(n,r.byteLength);if(s===0)throw new Error("Can\'t get an configure key");let u=o.UTF8ToString(s);return o._OrtFree(s),u},Gu=e=>{let r=new TextEncoder().encode(e),o=ze(),n=o._malloc(r.byteLength);o.HEAPU8.set(r,n);let s=o._OrtAuth(n,r.byteLength);if(s===0)throw new Error("Can\'t get an auth result");let u=o.UTF8ToString(s);return o._OrtFree(s),u},Hu=async(e,t,r,o,n,s)=>{let u=ze(),l=Gt.get(e);if(!l)throw new Error(`cannot run inference. invalid session id: ${e}`);let a=l[0],p=l[1],h=l[2],g=l[3],w=l[4],v=l[5],y=t.length,_=o.length,I=0,x=[],A=[],O=[],C=[],M=u.stackSave(),D=u.stackAlloc(y*4),G=u.stackAlloc(y*4),E=u.stackAlloc(_*4),W=u.stackAlloc(_*4);try{[I,x]=Qo(s);for(let re=0;re<y;re++)Mu(r[re],A,C,e,t[re],w);for(let re=0;re<_;re++){let Ie=n[re],Oe=Ie?.[3]??"";Mu(Oe==="gpu-buffer"?Ie:null,O,C,e,y+o[re],w)}let te=D/4,Y=G/4,Z=E/4,ee=W/4;for(let re=0;re<y;re++)u.HEAPU32[te++]=A[re],u.HEAPU32[Y++]=p[t[re]];for(let re=0;re<_;re++)u.HEAPU32[Z++]=O[re],u.HEAPU32[ee++]=h[o[re]];if(g&&!v){let{handle:re,outputPreferredLocations:Ie,outputPreferredLocationsEncoded:Oe}=g;if(p.length!==y)throw new Error(`input count from feeds (${y}
5929) is expected to be always equal to model\'s input count (${p.length}).`);for(let ie=0;ie<y;ie++){let Se=t[ie];await u._OrtBindInput(re,p[Se],A[ie])!==0&&ke(`Can\'t bind input[${ie}] for session=${e}.`)}for(let ie=0;ie<_;ie++){let Se=o[ie];n[ie]?.[3]?u._OrtBindOutput(re,h[Se],O[ie],0)!==0&&ke(`Can\'t bind pre-allocated output[${ie}] for session=${e}.`):u._OrtBindOutput(re,h[Se],0,Oe[Se])!==0&&ke(`Can\'t bind output[${ie}] to ${Ie[ie]} for session=${e}.`)}Gt.set(e,[a,p,h,g,w,!0])}let Te;u.jsepOnRunStart?.(a),g?Te=await u._OrtRunWithBinding(a,g.handle,_,E,I):Te=await u._OrtRun(a,G,D,y,W,_,E,I),Te!==0&&ke("failed to call OrtRun().");let De=[];for(let re=0;re<_;re++){let Ie=u.HEAPU32[E/4+re];if(Ie===O[re]){De.push(n[re]);continue}let Oe=u.stackSave(),ie=u.stackAlloc(4*4),Se=!1,Ae,Pe=0;try{u._OrtGetTensorData(Ie,ie,ie+4,ie+8,ie+12)!==0&&ke(`Can\'t access output tensor data on index ${re}.`);let H=ie/4,J=u.HEAPU32[H++];Pe=u.HEAPU32[H++];let Ce=u.HEAPU32[H++],$t=u.HEAPU32[H++],Me=[];for(let Ne=0;Ne<$t;Ne++)Me.push(u.HEAPU32[Ce/4+Ne]);u._OrtFree(Ce);let tt=Me.reduce((Ne,je)=>Ne*je,1);Ae=nt(J);let at=g?.outputPreferredLocations[o[re]];if(Ae==="string"){if(at==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");let Ne=[],je=Pe/4;for(let At=0;At<tt;At++){let lt=u.HEAPU32[je++],ct=At===tt-1?void 0:u.HEAPU32[je]-lt;Ne.push(u.UTF8ToString(lt,ct))}De.push([Ae,Me,Ne,"cpu"])}else if(at==="gpu-buffer"&&tt>0){let Ne=u.jsepGetBuffer(Pe),je=Cr(J);if(je===void 0||!Xo(Ae))throw new Error(`Unsupported data type: ${Ae}`);Se=!0,De.push([Ae,Me,{gpuBuffer:Ne,download:u.jsepCreateDownloader(Ne,tt*je,Ae),dispose:()=>{u._OrtReleaseTensor(Ie)}},"gpu-buffer"])}else{let Ne=rp(n[re],Ae,tt);new Uint8Array(Ne.buffer,Ne.byteOffset,Ne.byteLength).set(u.HEAPU8.subarray(Pe,Pe+Ne.byteLength)),De.push([Ae,Me,Ne,"cpu"])}}finally{u.stackRestore(Oe),Ae==="string"&&Pe&&u._free(Pe),Se||u._OrtReleaseTensor(Ie)}}return g&&!w&&(u._OrtClearBoundOutputs(g.handle),Gt.set(e,[a,p,h,g,w,!1])),De}finally{u.stackRestore(M),A.forEach(te=>u._OrtReleaseTensor(te)),O.forEach(te=>u._OrtReleaseTensor(te)),C.forEach(te=>u._free(te)),I!==0&&u._OrtReleaseRunOptions(I),x.forEach(te=>u._free(te))}},Lu=e=>{let t=ze(),r=Gt.get(e);if(!r)throw new Error("invalid session id");let o=r[0],n=t._OrtEndProfiling(o);n===0&&ke("Can\'t get an profile file name."),t._OrtFree(n)},go=e=>{let t=[];for(let r of e){let o=r[2];!Array.isArray(o)&&"buffer"in o&&t.push(o.buffer)}return t};self.onmessage=e=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":Zo(r.wasm).then(()=>{Uu(r).then(()=>{postMessage({type:t})},o=>{postMessage({type:t,err:o})})},o=>{postMessage({type:t,err:o})});break;case"init-ep":{let{epName:o,env:n}=r;zu(n,o).then(()=>{postMessage({type:t})},s=>{postMessage({type:t,err:s})});break}case"copy-from":{let{buffer:o}=r,n=ho(o);postMessage({type:t,out:n});break}case"create":{let{model:o,options:n}=r;Vu(o,n).then(s=>{postMessage({type:t,out:s})},s=>{postMessage({type:t,err:s})});break}case"release":Nu(r),postMessage({type:t});break;case"run":{let{sessionId:o,inputIndices:n,inputs:s,outputIndices:u,options:l}=r,a=e.data.prealloc??[];for(;a.length<u.length;)a.push(null);Hu(o,n,s,u,a,l).then(p=>{p.some(h=>h[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:p,inputsBack:s},go(p).concat(go(s)))},p=>{postMessage({type:t,err:p})});break}case"configure":try{let o=Wu(e.data.in);postMessage({type:"configure",out:o})}catch(o){postMessage({type:"configure",err:o})}break;case"auth":try{let o=Gu(e.data.in);postMessage({type:"auth",out:o})}catch(o){postMessage({type:"auth",err:o})}break;case"end-profiling":Lu(r),postMessage({type:t});break;default:}}catch(o){postMessage({type:t,err:o})}};})();\n/**\n * @license\n * Copyright 2021 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, softw
5929are\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n/**\n * @license\n * Copyright 2019 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n'}),a4=e5(()=>{ty(),a7(),oO(),aL=()=>!!eO.wasm.proxy&&"u">typeof document,aN=!1,aF=!1,aU=!1,az=new Map,aG=(t,r)=>{let n=az.get(t);n?n.push(r):az.set(t,[r])},aV=()=>{if(aN||!aF||aU||!aB)throw Error("worker not ready")},aW=t=>{switch(t.data.type){case"init-wasm":aN=!1,t.data.err?(aU=!0,aj[1](t.data.err)):(aF=!0,aj[0]());break;case"init-ep":case"copy-from":case"create":case"configure":case"auth":case"release":case"end-profiling":{let r=az.get(t.data.type);t.data.err?r.shift()[1](t.data.err):r.shift()[0](t.data.out);break}case"run":{let r=az.get(t.data.type);t.data.err?r.shift()[1](t.data.err):r.shift()[0](t.data.out.concat(t.data.inputsBack))}}},aH="u">typeof document?document?.currentScript?.src:void 0,aq=async()=>{if(!aF){if(aN)throw Error("multiple calls to 'initWasm()' detected.");if(aU)throw Error("previous call to 'initWasm()' failed.");if(aN=!0,aL())return void 0===eO.wasm.wasmPaths&&aH&&0!==aH.indexOf("blob:")&&(eO.wasm.wasmPaths=aH.substr(0,+aH.lastIndexOf("/")+1)),new Promise((t,r)=>{aB?.terminate();let n=URL.createObjectURL(new Blob([a8()],{type:"text/javascript"}));(aB=new Worker(n,{name:"ort-wasm-proxy-worker"})).onerror=t=>r(t),aB.onmessage=aW,URL.revokeObjectURL(n),aj=[t,r];let i={type:"init-wasm",in:eO};aB.postMessage(i)});try{await tN(eO.wasm),await aT(eO),aF=!0}catch(t){throw aU=!0,t}finally{aN=!1}}},aY=async t=>{if(aL())return aV(),new Promise((r,n)=>{aG("init-ep",[r,n]);let i={type:"init-ep",in:{epName:t,env:eO}};aB.postMessage(i)});await aS(eO,t)},aX=async t=>aL()?(aV(),new Promise((r,n)=>{aG("copy-from",[r,n]),aB.postMessage({type:"copy-from",in:{buffer:t}},[t.buffer])})):aO(t),aK=async(t,r)=>{if(aL()){if(r?.preferredOutputLocation)throw Error('session option "preferredOutputLocation" is not supported for proxy.');return aV(),new Promise((n,i)=>{aG("create",[n,i]);let o=[];t instanceof Uint8Array&&o.push(t.buffer),aB.postMessage({type:"create",in:{model:t,options:r}},o)})}return aA(t,r)},aZ=async t=>{if(aL())return aV(),new Promise((r,n)=>{aG("release",[r,n]),aB.postMessage({type:"release",in:t})});aI(t)},aJ=async t=>aL()?(aV(),new Promise((r,n)=>{aG("configure",[r,n]),aB.postMessage({type:"configure",in:t})})):aC(t),aQ=async t=>aL()?(aV(),new Promise((r,n)=>{aG("auth",[r,n]),aB.postMessage({type:"auth",in:t})})):a$(t),a1=async(t,r,n,i,o,a)=>
5929{if(aL()){if(n.some(t=>"cpu"!==t[3]))throw Error("input tensor on GPU is not supported for proxy.");return aV(),new Promise((s,u)=>{aG("run",[s,u]),aB.postMessage({type:"run",in:{sessionId:t,inputIndices:r,inputs:n,outputIndices:i,options:a},prealloc:o},aM(n).concat(aM((t=>{let r=[];for(var n=0;n<t.length;++n){let i=t[n];null!==i&&r.push(i)}return r})(o))))})}return aR(t,r,n,i,o,a).then(t=>t.concat(n))},a0=async t=>{if(aL())return aV(),new Promise((r,n)=>{aG("end-profiling",[r,n]),aB.postMessage({type:"end-profiling",in:t})});aD(t)}}),se=e5(()=>{ty(),a4(),ok(),oC(),a3=(t,r)=>{switch(t.location){case"cpu":return[t.type,t.dims,t.data,"cpu"];case"gpu-buffer":return[t.type,t.dims,{gpuBuffer:t.gpuBuffer},"gpu-buffer"];default:throw Error(`invalid data location: ${t.location} for ${r()}`)}},a6=t=>{switch(t[3]){case"cpu":return new ej(t[0],t[2],t[1]);case"gpu-buffer":{let r=t[0];if(!tK(r))throw Error(`not supported data type: ${r} for deserializing GPU tensor`);let{gpuBuffer:n,download:i,dispose:o}=t[2];return ej.fromGpuBuffer(n,{dataType:r,dims:t[1],download:i,dispose:o})}default:throw Error(`invalid data location: ${t[3]}`)}},a5=class{async fetchModelAndCopyToWasmMemory(t){return aX(await tJ(t))}async loadModel(t,r){let n;eV(),n="string"==typeof t?"u">typeof eJ&&eJ.versions&&eJ.versions.node?await tJ(t):await this.fetchModelAndCopyToWasmMemory(t):t,[this.sessionId,this.inputNames,this.outputNames]=await aK(n,r),eW()}async dispose(){return aZ(this.sessionId)}async configure(t){return aJ(t)}async auth(t){return aQ(t)}async run(t,r,n){eV();let i=[],o=[];Object.entries(t).forEach(t=>{let r=t[0],n=t[1],a=this.inputNames.indexOf(r);if(-1===a)throw Error(`invalid input '${r}'`);i.push(n),o.push(a)});let a=[],s=[],u=t=>null!==t&&"gpu-buffer"===t.location?t:null;Object.entries(r).forEach(t=>{let r=t[0],n=t[1],i=this.outputNames.indexOf(r);if(-1===i)throw Error(`invalid output '${r}'`);a.push(n),s.push(i)});let l=i.map((t,r)=>a3(t,()=>`input "${this.inputNames[o[r]]}"`)),h=a.map((t,r)=>t?a3(t,()=>`output "${this.outputNames[s[r]]}"`):null),c=await a1(this.sessionId,o,l,s,h,n),f={},d=[];for(let t=0;t<c.length;t++)t>=s.length?d.push(a6(c[t])):f[this.outputNames[s[t]]]=u(a[t])??a6(c[t]);return d.length>0&&(f.inputBack=d[0]),eW(),f}startProfiling(){}endProfiling(){a0(this.sessionId)}}}),st=e5(()=>{ty(),a4(),se(),a9=class{async init(t){(()=>{if(("number"!=typeof eO.wasm.initTimeout||eO.wasm.initTimeout<0)&&(eO.wasm.initTimeout=0),"boolean"!=typeof eO.wasm.simd&&(eO.wasm.simd=!0),"boolean"!=typeof eO.wasm.proxy&&(eO.wasm.proxy=!1),"boolean"!=typeof eO.wasm.trace&&(eO.wasm.trace=!1),"number"!=typeof eO.wasm.numThreads||!Number.isInteger(eO.wasm.numThreads)||eO.wasm.numThreads<=0){("u">typeof self&&!self.crossOriginIsolated||"u">typeof eJ&&eJ.versions&&eJ.versions.node)&&(eO.wasm.numThreads=1);let t=typeof navigator>"u"?(void 0)().length:navigator.hardwareConcurrency;eO.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}})(),await aq(),await aY(t)}async createInferenceSessionHandler(t,r){let n=new a5;return await n.loadModel(t,r),Promise.resolve(n)}}}),sr={};e2(sr,{wasmBackend:()=>sn});var sn,si=e5(()=>{st(),sn=new a9});ty(),ty(),ty();{let t=(si(),e7(sr)).wasmBackend;ex("webgpu",t,5),ex("cpu",t,10),ex("wasm",t,10)}function so(t){return(so="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sa(){sa=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 5929
5929(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==so(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(so(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
5929if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function ss(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function su(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){ss(a,i,o,s,u,"next",t)}function u(t){ss(a,i,o,s,u,"throw",t)}s(void 0)})}}function sl(){return(sl=su(sa().mark(function t(){var r,n=arguments;return sa().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=n.length>0&&void 0!==n[0]?n[0]:{},void 0===hE){t.next=3;break}return t.abrupt("return",hE);case 3:return t.next=5,su(sa().mark(function t(){var n;return sa().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(navigator.gpu){t.next=3;break}return t.abrupt("return",!1);case 3:return t.prev=3,t.next=6,navigator.gpu.requestAdapter(r);case 6:return n=t.sent,t.next=9,n.requestDevice();case 9:return t.sent.destroy(),t.abrupt("return",!0);case 14:return t.prev=14,t.t0=t.catch(3),t.abrupt("return",!1);case 17:case"end":return t.stop()}},t,null,[[3,14]])}))();case 5:return hE=t.sent,t.abrupt("return",hE);case 7:case"end":return t.stop()}},t)}))).apply(this,arguments)}Object.defineProperty(eO.versions,"web",{value:"1.17.0",enumerable:!0});var sh=a(8380);function sc(t){return(sc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sf(){sf=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==sc(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(sc(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
5929h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function sd(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function sp(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){sd(a,i,o,s,u,"next",t)}function u(t){sd(a,i,o,s,u,"throw",t)}s(void 0)})}}var sy=(hI=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this._name="tsvb"},hP=[{key:"get",value:(hA=sp(sf().mark(function t(r){var n,i,o;return sf().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this._cache){t.next=9;break}return t.prev=1,t.next=4,caches.open(this._name);case 4:this._cache=t.sent,t.next=9;break;case 7:t.prev=7,t.t0=t.catch(1);case 9:if(!this._cache){t.next=15;break}return t.next=12,this._cache.match(r);case 12:if(void 0===(i=t.sent)){t.next=15;break}return t.abrupt("return",i);case 15:return t.prev=15,t.next=18,fetch(r);case 18:i=t.sent,t.next=25;break;
5929case 21:return t.prev=21,t.t1=t.catch(15),u.bv.notify({message:"Wasn't able to load model:".concat(r),emitter:u.JK.ML_INFERENCE,code:u.O4.LOADER_ISSUE,cause:t.t1}),t.abrupt("return",null);case 25:if(i.ok){t.next=28;break}return u.bv.notify({message:"Wasn't able to load model:".concat(r),type:u.By.ERROR,code:u.O4.LOADER_ISSUE,emitter:u.JK.ML_INFERENCE}),t.abrupt("return",i);case 28:if(!sh.y.CACHE_MODELS||!this._cache){t.next=39;break}return o=i.clone(),t.prev=30,t.next=33,this._cache.put(r,i);case 33:t.next=38;break;case 35:t.prev=35,t.t2=t.catch(30),u.bv.notify({message:null!=(n=t.t2.message)?n:"Wasn't able to cache model to local storage",type:u.By.INFO,emitter:u.JK.SESSION_MANAGER});case 38:return t.abrupt("return",o);case 39:return t.abrupt("return",i);case 40:case"end":return t.stop()}},t,this,[[1,7],[15,21],[30,35]])})),function(t){return hA.apply(this,arguments)})},{key:"delete",value:(hO=sp(sf().mark(function t(){return sf().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,caches.delete(this._name);case 3:t.next=7;break;case 5:t.prev=5,t.t0=t.catch(0);case 7:case"end":return t.stop()}},t,this,[[0,5]])})),function(){return hO.apply(this,arguments)})}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=sc(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=sc(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==sc(r)?r:r+""}(i.key),i)}}(hI.prototype,hP),Object.defineProperty(hI,"prototype",{writable:!1}),hI),sm=a(7815),sg=a(2302);function sv(t){return(sv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sb(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=sv(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=sv(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==sv(r)?r:r+""}(i.key),i)}}var sw=function(){var t,r;function n(){if(!(this instanceof n))throw TypeError("Cannot call a class as a function")}return t=[{key:"getUID",value:function(){return this._id||(this._id=(0,sg.A)()),this._id}}],r=[{key:"getInstance",value:function(){return n.instance||(n.instance=new n),n.instance}}],t&&sb(n.prototype,t),r&&sb(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n}(),sx=a(2505),s_=a.n(sx);function sT(t){return(sT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sS(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function sE(){sE=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 5929
5929(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==sT(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(sT(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
5929if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function sO(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function sA(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){sO(a,i,o,s,u,"next",t)}function u(t){sO(a,i,o,s,u,"throw",t)}s(void 0)})}}function sI(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}function sP(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=sT(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=sT(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==sT(r)?r:r+""}(i.key),i)}}function sk(t,r,n){return r&&sP(t.prototype,r),n&&sP(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var sC=sk(function t(){sI(this,t),this.inference=null,this.ready=!1,this.isGPU=!1},[{key:"clearCache",value:(hD=sA(sE().mark(function t(){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}},t)})),function(){return hD.apply(this,arguments)})},{key:"getSession",value:(hR=sA(sE().mark(function t(r){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.inference);case 1:case"end":return t.stop()}},t,this)})),function(t){return hR.apply(this,arguments)})},{key:"onAuth",value:function(){}},{key:"preload",value:(h$=sA(sE().mark(function t(r){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}},t)})),function(t){return h$.apply(this,arguments)})},{key:"cache",value:(hC=sA(sE().mark(function t(r,n){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}},t)})),function(t,r){return hC.apply(this,arguments)})},{key:"getType",value:function(){return"custom"}},{key:"setBackend",value:function(t){this.inference=t}},{key:"setPreset",value:function(t){this.inference.setPreset(t)}},{key:"releaseSession",value:function(t){return!0}},{key:"init",value:(hk=sA(sE().mark(function t(r){var n,i,o;return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.initPromise){t.next=3;break}return t.next=3,this.initPromise.promise;case 3:if(this.initPromise=new c.c,!this.ready){t.next=6;break}return t.abrupt("return");case 6:return r.data.preset||u.bv.notify({message:"No preset provided for Custom Inference Module",emitter:u.JK.ML_INFERENCE}),t.prev=7,t.next=10,this.inference.setPreset(r.data.preset);case 10:return t.next=12,this.inference.configure(sh.y.CUSTOMER_ID);case 12:return i=t.sent,t.next=15,sR(i,sh.y.CUSTOMER_ID);case 15:return o=t.sent,t.next=18,this.inference.auth(o.data.key);case 18:if("active"==JSON.parse(t.sent).status){t.next=24;break}throw u.bv.notify({message:"Session initialization failed",type:u.By.ERROR,code:u.O4.SESSION_INITIALIZATION_FAILED,emitter:u.JK.ML_INFERENCE}),this.initPromise.reject(),Error("Session initialization failed");case 24:this.ready=!0,this.initPromise.resolve(),u.bv.notify({message:"Session initialized successfully",type:u.By.INFO,code:u.O4.SESSION_INITIALIZATION_SUCCESS,emitter:u.JK.ML_INFERENCE}),t.next=33;break;case 29:throw t.prev=29,t.t0=t.catch(7),u.bv.notify({message:"Session initialization failed: "+(null!=(n=t.t0.message)?n:""),type:u.By.ERROR,code:u.O4.SESSION_INITIALIZATION_ISSUE,emitter:u.JK.ML_INFERENCE,cause:t.t0}),t.t0;case 33:case"end":return t.stop()}},t,this,[[7,29]])})),function(t){return hk.apply(this,arguments)})},{key:"isReady",value:function(t){return this.ready}}]),s$=sk(function t(){sI(this,t),this.sessions=new Map,this.sessionPromises=new Map,this.authPromises=new Map,this._counter=0,this._loader=new sy,this._sequentialExecutor=new eK,this.sessionIdIncrement=0,this.CPUauthenticated=!1,this.GPUauthenticated=!1},[{key:"clearCache",value:(hF=sA(sE().mark(function t(){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._loader.delete();case 2:case"end":return t.stop()}},t,this)})),function(){return hF.apply(this,arguments)})},{key:"isReady",value:function(t){return this.sessions.has(t)}},{key:"setBackend",value:function(t){}}
5929,{key:"getSession",value:(hN=sA(sE().mark(function t(r){var n,i,o,a,s,l,h,c;return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.sessions.has(r)){t.next=2;break}return t.abrupt("return",void 0);case 2:if(a=(o=this.sessions.get(r)).isGPU?"webgpu":"wasm",!this.isAuthenticated(a)){t.next=6;break}return t.abrupt("return",o);case 6:return t.prev=6,t.next=9,o.session.configure(sh.y.CUSTOMER_ID);case 9:if(s=t.sent,"extension"===sh.y.APP_ENV){t.next=16;break}return t.next=13,sR(s,sh.y.CUSTOMER_ID);case 13:l=t.sent,t.next=23;break;case 16:if("function"==typeof this.authFunction){t.next=18;break}throw"Can't find auth function";case 18:return h=sh.y.API_URL+sh.y.CUSTOMER_ID,c=sm.W.getInstance().getUID(sh.y.CUSTOMER_ID),t.next=22,this.authFunction(h,{user_id:c,payload:s});case 22:l=t.sent;case 23:return t.next=25,o.session.auth(null!=(n=l.key)?n:l.data.key);case 25:if("active"===JSON.parse(t.sent).status){t.next=31;break}throw u.bv.notify({message:"Session initialization failed",type:u.By.ERROR,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_FAILED}),this.releaseSession(r),Error("Session initialization failed");case 31:o.isGPU?this.GPUauthenticated=!0:this.CPUauthenticated=!0,u.bv.notify({message:"Session initialized successfully",type:u.By.INFO,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_SUCCESS}),t.next=40;break;case 35:throw t.prev=35,t.t0=t.catch(6),u.bv.notify({message:"Session initialization failed: "+(null!=(i=t.t0.message)?i:""),type:u.By.ERROR,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_ISSUE,cause:t.t0}),this.releaseSession(r),t.t0;case 40:return t.abrupt("return",o);case 41:case"end":return t.stop()}},t,this,[[6,35]])})),function(t){return hN.apply(this,arguments)})},{key:"releaseSession",value:function(t){var r=this.sessions.get(t);if(!r)return!0;this.sessions.delete(t),this.sessionPromises.delete(t);try{r.session.release()}catch(t){}return!0}},{key:"onAuth",value:function(t){this.authFunction="function"==typeof t?t:void 0}},{key:"isAuthenticated",value:function(t){return"webgpu"==t?!(!this.GPUauthenticated&&!this.CPUauthenticated):!!this.CPUauthenticated}},{key:"init",value:(hB=sA(sE().mark(function t(r,n){var i,o,a,s,l,h,f,d,p,y,m,g,v,b,w,x;return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(s=[],this.sessionPromises.forEach(function(t,r,n){"pending"==t.state&&s.push(t.promise)}),l=r.modelPath,!this.sessions.has(l)){t.next=5;break}return t.abrupt("return");case 5:if(!this.sessionPromises.has(l)){t.next=7;break}return t.abrupt("return",null==(i=this.sessionPromises.get(l))?void 0:i.promise);case 7:return h=new c.c,this.sessionPromises.set(l,h),f=null,t.prev=10,t.next=13,this._loader.get(l);case 13:f=t.sent,t.next=21;break;case 16:throw t.prev=16,t.t0=t.catch(10),this.sessionPromises.delete(l),h.reject("Model loading error: ".concat(l)),Error("Model loading error: ".concat(l));case 21:if(f){t.next=25;break}throw this.sessionPromises.delete(l),h.reject("Model loading error: ".concat(l)),Error("Model loading error: ".concat(l));case 25:return t.next=27,f.arrayBuffer();case 27:return d=t.sent,t.prev=28,t.next=31,Promise.all(s);case 31:t.next=35;break;case 33:t.prev=33,t.t1=t.catch(28);case 35:if(eZ.wV,p="wasm","webgpu"!=r.backend||"webgpu"!=sh.y.PROVIDER&&"auto"!=sh.y.PROVIDER){t.next=43;break}return t.next=41,function(){return sl.apply(this,arguments)}();case 41:t.sent?p="webgpu":u.bv.notify({message:"WebGPU is not supported, falling back to CPU WASM",type:u.By.INFO,code:u.O4.CPU_FALLBACK,emitter:u.JK.ML_INFERENCE});case 43:return y="webgpu"==p?this.createGPUSession(d):this.createCPUSession(d),t.prev=44,t.next=47,y;case 47:m=t.sent,t.next=56;break;case 50:throw t.prev=50,t.t2=t.catch(44),u.bv.notify({message:"Model initialization error: ".concat(r.modelPath),type:u.By.ERROR,code:u.O4.MODEL_INITIALIZATION_ISSUE,emitter:u.JK.ML_INFERENCE,cause:t.t2}),this.sessionPromises.delete(l),h.reject("Model initialization error: ".concat(r.modelPath)),Error("Model initialization error: ".concat(r.modelPath));case 56:if(this.isAuthenticated(p)||!sh.y.PRELOAD_AUTH){t.next=93;break}return t.prev=57,t.next=60,m.configure(sh.y.CUSTOMER_ID);case 60:if(g=t.sent,"extension"===sh.y.APP_ENV){t.next=67;break}return t.next=64,sR(g,sh.y.CUSTOMER_ID);case 64:v=t.sent,t.next=74;break;case 67:if("function"==typeof this.authFunction){t.next=69;break}throw"Can't find auth function";case 69:return b=sh.y.API_URL+sh.y.CUSTOMER_ID,w=sm.W.getInstance().getUID(sh.y.CUSTOMER_ID),t.next=73,this.authFunction(b,{user_id:w,payload:g});case 73:v=t.sent;case 74:return t.next=76,m.auth(null!=(o=v.key)?o:v.data.key);case 76:if("active"===JSON.parse(t.sent).status){t.next=83;break}throw u.bv.notify({message:"Session initialization failed",type:u.By.ERROR,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_FAILED}),this.sessionPromises.delete(l),h.reject("Session initialization failed"),Error("Session initialization failed");case 83:"webgpu"==p?this.GPUauthenticated=!0:this.CPUauthenticated=!0,u.bv.notify({message:"Session initialized successfully",type:u.By.INFO,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_SUCCESS}),t.next=93;break;case 87:throw t.prev=87,t.t3=t.catch(57),u.bv.notify({message:"Session initialization failed: "+(null!=(a=t.t3.message)?a:""),type:u.By.ERROR,emitter:u.JK.ML_INFERENCE,code:u.O4.SESSION_INITIALIZATION_ISSUE,cause:t.t3}),this.sessionPromises.delete(l),h.reject(t.t3),t.t3;case 93:x="webgpu"==p,this.sessions.set(l,{session:m,isGPU:x,id:++this.sessionIdIncrement,modelPath:l,gpuDevice:x?this.gpuDevice:void 0,inputName:null!=n?n:"input"}),this.sessionPromises.delete(l),h.resolve(),u.bv.notify({type:u.By.INFO,message:"Inited ".concat(l),emitter:u.JK.ML_INFERENCE});case 98:case"end":return t.stop()}},t,this,[[10,16],[28,33],[44,50],[57,87]])})),function(t,r){return hB.apply(this,arguments)})},{key:"createCPUSession",value:(hL=sA(sE().mark(function t(r){var n;return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n={executionProviders:["wasm"],enableCpuMemArena:!0,enableMemPattern:!0,executionMode:"parallel",graphOptimizationLevel:"all",extra:{session:{set_denormal_as_zero:"1",disable_prepacking:"1",dynamic_block_base:"4"},optimization:{enable_gelu_approximation:"1"}}},eZ._K.wasm.numThreads=1,sh.y.PROXY&&(eZ._K.wasm.proxy=!0),Object.keys(sh.y.WAS
5929M_PATHS).length&&(eZ._K.wasm.wasmPaths=sh.y.WASM_PATHS),t.abrupt("return",eZ.wV.create(r,n));case 5:case"end":return t.stop()}},t)})),function(t){return hL.apply(this,arguments)})},{key:"createGPUSession",value:(hM=sA(sE().mark(function t(r){var n,i,o,a,s,l,h,c,f=this;return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n={executionProviders:["webgpu"],enableGraphCapture:!0},eO.wasm.numThreads=1,sh.y.PROXY&&(eO.wasm.proxy=!1),Object.keys(sh.y.WASM_PATHS).length){for(i=[],o=0,a=Object.entries(sh.y.WASM_PATHS);o<a.length;o++){var d;l=(s=function(t){if(Array.isArray(t))return t}(d=a[o])||function(t){var r=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,l=!1;try{o=(r=r.call(t)).next,!1;for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),2!==s.length);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(d)||function(t){if(t){if("string"==typeof t)return sS(t,2);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sS(t,2):void 0}}(d)||function(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
5930In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())[0],h=s[1],i[l]=h.replace(".wasm",".jsep.wasm")}c=Object.assign({},i),eO.wasm.wasmPaths=c}return t.abrupt("return",eq.create(r,n).then(function(t){return f.gpuDevice||(f.gpuDevice=eO.webgpu.device,f.gpuDevice.lost.then(function(t){u.bv.notify({message:"GPU adapter was lost: ".concat(t.message,", reason: ").concat(t.reason),code:u.O4.GPU_DEVICE_LOST,type:u.By.ERROR,emitter:u.JK.SESSION_MANAGER})}),f.gpuDevice.addEventListener("uncapturederror",function(t){u.bv.notify({message:"GPU error: ".concat(t.error.constructor.name,", message: ").concat(t.error.message),code:u.O4.GPU_UNCAPTUREDERROR,type:u.By.ERROR,emitter:u.JK.SESSION_MANAGER})})),eO.webgpu.device.adapterInfo&&u.bv.notify({message:"GPU adapter info: ".concat(eO.webgpu.device.adapterInfo.vendor," - ").concat(eO.webgpu.device.adapterInfo.architecture),type:u.By.INFO,emitter:u.JK.SESSION_MANAGER}),t}));case 5:case"end":return t.stop()}},t)})),function(t){return hM.apply(this,arguments)})}]);function sR(t,r){return sD.apply(this,arguments)}function sD(){return(sD=sA(sE().mark(function t(r,n){return sE().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",s_().post(sh.y.API_URL+n,{user_id:sm.W.getInstance().getUID(n),version:sh.y.VERSION,payload:r},{headers:{"Tsvb-Version":sh.y.VERSION+"|"+sw.getInstance().getUID()}}));case 1:case"end":return t.stop()}},t)}))).apply(this,arguments)}function sM(t){return(sM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sL(){sL=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==sM(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(sM(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
5930h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function sB(t,r){var n="u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=sN(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
5931In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,s=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){u=!0,a=t},f:function(){try{s||null==n.return||n.return()}finally{if(u)throw a}}}}function sN(t,r){if(t){if("string"==typeof t)return sF(t,r);var n=({}).toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sF(t,r):void 0}}function sF(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function sU(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function sj(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){sU(a,i,o,s,u,"next",t)}function u(t){sU(a,i,o,s,u,"throw",t)}s(void 0)})}}function sz(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}function sG(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=sM(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=sM(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==sM(r)?r:r+""}(i.key),i)}}function sV(t,r,n){return r&&sG(t.prototype,r),n&&sG(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function sW(t){return 4*t.reduce(function(t,r){return t*r},1)}function sH(t,r,n){return n?function(t,r){if(t instanceof GPUBuffer)return ej.fromGpuBuffer(t,{dataType:"float32",dims:r});if(t instanceof Float32Array)return new ej("float32",t,r);throw TypeError("Unsupported tensor data type, currently WebGPU session only supports Float32Array or GPUBuffer")}(t,r):function(t,r){if(t instanceof Float32Array)return new eZ.qY("float32",t,r);throw TypeError("Unsupported tensor data type, currently CPU session only supports Float32Array")}(t,r)}var sq=sV(function t(){sz(this,t),this._executor=new eK},[{key:"run",value:(hU=sj(sL().mark(function t(r,n,i,o,a,s){var l,h,c,f,d,p,y,m;return sL().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(h=sH(n,[1,a,o,i],!1),(c={})[r.inputName]=h,!s){t.next=17;break}f={},d=sB(r.session.outputNames);try{for(d.s();!(p=d.n()).done;)m=s[y=p.value],f[y]=sH(m.data,m.dims,!1)}catch(t){d.e(t)}finally{d.f()}return t.prev=7,t.next=10,r.session.run(c,f);case 10:l=t.sent,t.next=16;break;case 13:t.prev=13,t.t0=t.catch(7),u.bv.notify({message:"Session run error: ".concat(t.t0,", session: ").concat(r," with prealloc ").concat(f),cause:t.t0,emitter:u.JK.SESSION_RUNNER});case 16:return t.abrupt("return",l);case 17:return t.prev=17,t.next=20,r.session.run(c);case 20:l=t.sent,t.next=26;break;case 23:t.prev=23,t.t1=t.catch(17),u.bv.notify({message:"Session run error: ".concat(t.t1,", session: ").concat(r),cause:t.t1,emitter:u.JK.SESSION_RUNNER});case 26:return t.abrupt("return",l);case 27:case"end":return t.stop()}},t,null,[[7,13],[17,23]])})),function(t,r,n,i,o,a){return hU.apply(this,arguments)})}]),sY=sV(function t(){sz(this,t),this._executor=new eK,this.bindings=new Map},[{key:"run",value:(hj=sj(sL().mark(function t(r,n,i,o,a,s){var l,h,c,f,d,p,y,m,g,v,b,w,x,_,T,S,E,O;return sL().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(s){t.next=2;break}throw Error("Graph replay inference can not work without preallocs");case 2:var A;h=[1,a,o,i],f=(c=function(t){if(Array.isArray(t))return t}(A=this.obtainedPreallocOutput(r.session,s))||function(t){var r=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,l=!1;try{o=(r=r.call(t)).next,!1;for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),2!==s.length);u=!0);}catch(t){l=!0,i=t}
5931finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(A)||sN(A,2)||function(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
5932In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())[0],d=c[1],p=this.provideGPUBindings(r.gpuDevice,r.id,sW(h),sW(d.dims)),this.toInputBuffer(r.gpuDevice,n,p.inputGPUBuffer),(y={})[f]={data:p.outputGPUBuffer,dims:d.dims},m=sH(p.inputGPUBuffer,[1,a,o,i],!0),g={},v=sB(r.session.outputNames);try{for(v.s();!(b=v.n()).done;)x=y[w=b.value],g[w]=sH(x.data,x.dims,!0)}catch(t){v.e(t)}finally{v.f()}return(_={})[r.inputName]=m,t.prev=14,t.next=17,r.session.run(_,g);case 17:t.next=22;break;case 19:t.prev=19,t.t0=t.catch(14),u.bv.notify({message:"Session run error: ".concat(t.t0,", session: ").concat(r," with prealloc ").concat(g),cause:t.t0,emitter:u.JK.SESSION_RUNNER});case 22:return(T=r.gpuDevice.createCommandEncoder()).copyBufferToBuffer(p.outputGPUBuffer,0,p.outputTransferGPUBuffer,0,p.outputTransferGPUBuffer.size),S=T.finish(),null==(l=r.gpuDevice)||l.queue.submit([S]),t.next=28,p.outputTransferGPUBuffer.mapAsync(GPUMapMode.READ);case 28:try{E=new Float32Array(p.outputTransferGPUBuffer.getMappedRange()),d.data.set(E)}finally{p.outputTransferGPUBuffer.unmap()}return(O={inputBack:n})[f]=d.data,t.abrupt("return",O);case 32:case"end":return t.stop()}},t,this,[[14,19]])})),function(t,r,n,i,o,a){return hj.apply(this,arguments)})},{key:"obtainedPreallocOutput",value:function(t,r){var n=t.outputNames;if(n.length>1)throw Error("Graph replay wrapper does not support multiples outputs. TODO: Add multiple outputs support");return[n[0],r[n[0]]]}},{key:"provideGPUBindings",value:function(t,r,n,i){var o=this.bindings.get(r);if(!o){var a=this.allocateBindings(t,n,i);return this.bindings.set(r,a),a}if(o.inputGPUBuffer.size!==n||o.outputGPUBuffer.size!==i)throw Error("onnxruntime session can not change input|output when replay mode is enabled");return o}},{key:"allocateBindings",value:function(t,r,n){return{inputGPUBuffer:t.createBuffer({size:r,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),outputGPUBuffer:t.createBuffer({size:n,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),outputTransferGPUBuffer:t.createBuffer({size:n,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST})}}},{key:"toInputBuffer",value:function(t,r,n){if(!(r instanceof Float32Array))throw TypeError("Currently only Float32Array is supported");t.queue.writeBuffer(n,0,r.buffer,0,n.size)}}]);function sX(t){return(sX="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sK(){sK=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==sX(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(sX(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
5932h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function sZ(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function sJ(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){sZ(a,i,o,s,u,"next",t)}function u(t){sZ(a,i,o,s,u,"throw",t)}s(void 0)})}}function sQ(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}function s1(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=sX(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=sX(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==sX(r)?r:r+""}(i.key),i)}}function s0(t,r,n){return r&&s1(t.prototype,r),n&&s1(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var s3=s0(function t(){sQ(this,t),this.sessionManager=new sC,this.cpuExecutor=new eK,this.inferenceId=Math.floor(1e4*Math.random()),this.messageChannel=new MessageChannel,this.configurePort()},[{key:"isReady",value:function(t){return this.sessionManager.isReady(t)}},{key:"configurePort",value:function(){window.postMessage({type:"tsvb-custom-inference-port",port:this.messageChannel.port1},"*",[this.messageChannel.port1])}},{key:"getType",value:function(){return"custom"}},{key:"isGPU",value:(hG=sJ(sK().mark(function t(r){return sK().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",!1);case 1:case"end":return t.stop()}},t)})),function(t){return hG.apply(this,arguments)})},{key:"run",value:(hz=sJ(sK().mark(function t(r,n,i,o,a,s){var l=this;return sK().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.cpuExecutor.enqueue(sJ(sK().mark(function t(){return sK().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s&&l.messageChannel.port2.postMessage({input:n,output:s.seg.data},[n.buffer,s.seg.data.buffer]),t.next=3,new Promise(function(t){l.messageChannel.port2.onmessage=function(r){l.output=new Float32Array(r.data.output),n=new Float32Array(r.data.input),t(!0)}});case 3:l.messageChannel.port2.onmessage=null;case 4:case"end":return t.stop()}},t)})));case 3:t.next=8;break;case 5:t.prev=5,t.t0=t.catch(0),u.bv.notify({message:"Native session run error: ".concat(t.t0),type:u.By.ERROR,code:u.O4.INFERENCE_RUN_ISSUE,cause:t.t0,emitter:u.JK.ML_INFERENCE});case 8:return t.abrupt("return",{seg:{data:this.output},inputBack:{data:n}});case 9:case"end":return t.stop()}},t,this,[[0,5]])}
5932)),function(t,r,n,i,o,a){return hz.apply(this,arguments)})}]),s6={onnx:s0(function t(){sQ(this,t),this.sessionManager=new s$,this.cpuExecutor=new eK,this.gpuExecutor=new eK,this.cpuRunner=new sq,this.gpuRunner=new sY,this.inferenceId=Math.floor(1e4*Math.random())},[{key:"getType",value:function(){return"onnx"}},{key:"isReady",value:function(t){return this.sessionManager.isReady(t)}},{key:"isGPU",value:(hW=sJ(sK().mark(function t(r){var n;return sK().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.sessionManager.getSession(r);case 2:if(n=t.sent){t.next=5;break}return t.abrupt("return",!1);case 5:return t.abrupt("return",n.isGPU);case 6:case"end":return t.stop()}},t,this)})),function(t){return hW.apply(this,arguments)})},{key:"run",value:(hV=sJ(sK().mark(function t(r,n,i,o,a,s){var u=this;return sK().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!r.isGPU){t.next=6;break}return t.next=3,this.gpuExecutor.enqueue(function(){return u.gpuRunner.run(r,n,i,o,a,s)});case 3:case 8:return t.abrupt("return",t.sent);case 6:return t.next=8,this.cpuExecutor.enqueue(function(){return u.cpuRunner.run(r,n,i,o,a,s)});case 9:case"end":return t.stop()}},t,this)})),function(t,r,n,i,o,a){return hV.apply(this,arguments)})}]),custom:s3},s5=function(){function t(){sQ(this,t)}return s0(t,null,[{key:"getInference",value:function(r){return t.inferences.has(r)||t.inferences.set(r,new s6[r]),t.inferences.get(r)}}])}();function s9(t){return(s9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}s5.inferences=new Map;var s2=(hH=function t(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.sdkOptions=n,this.container=new p.Container,this.background=new p.Sprite(p.Texture.WHITE),this.background.tint=0,r.background&&(this.background.tint=r.background);var i={fontFamily:"Arial",fontSize:r.size?r.size:24,fill:r.color?r.color:0xffffff,align:"left"};this.text=new p.Text("",i);var o=r.padding?r.padding:7;this.text.x=o,this.text.y=o,this.container.addChild(this.background),this.container.addChild(this.text),this.container.visible=!1,this.sdkOptions.on("update",this.onOptionsUpdate,this)},hq=[{key:"onOptionsUpdate",value:function(){this.text.style.fontSize=Math.round(.02*this.sdkOptions.width)}},{key:"updateText",value:function(t){this.text.text=t;var r=this.text.getLocalBounds();this.background.width=2*this.text.x+r.width,this.background.height=2*this.text.y+r.height}},{key:"destroy",value:function(){this.sdkOptions.off("update",this.onOptionsUpdate,this)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=s9(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=s9(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==s9(r)?r:r+""}(i.key),i)}}(hH.prototype,hq),Object.defineProperty(hH,"prototype",{writable:!1}),hH);let s7=`precision mediump float;
5933uniform sampler2D uSampler;
5934in vec2 vTextureCoord;
5935uniform vec4 filterArea;
5936layout(location = 0) out vec4 outColor;
5937
5938uniform sampler2D u_Texture;
5939uniform float u_Offset;
5940uniform vec2 u_ImgSize;
5941//Y =  0.299R + 0.587G + 0.114B
5942//U = -0.147R - 0.289G + 0.436B
5943//V =  0.615R - 0.515G - 0.100B
5944const vec3 COEF_Y = vec3(0.2126, 0.7152, 0.0722);
5945const vec3 COEF_U = vec3(-0.1146, -0.3854, 0.5);
5946const vec3 COEF_V = vec3(0.5, -0.4542, -0.0458);
5947const float U_DIVIDE_LINE = 2.0 / 3.0;
5948const float V_DIVIDE_LINE = 5.0 / 6.0;
5949
5950void main() {
5951  vec2 texelOffset = vec2(u_Offset, 0.0);
5952  //outColor = vec4(vTextureCoord.y, vTextureCoord.y, vTextureCoord.y, vTextureCoord.y);
5953
5954  if (vTextureCoord.y <= U_DIVIDE_LINE) {
5955    vec2 texCoord = vec2(vTextureCoord.x, vTextureCoord.y * 3.0 / 2.0);
5956    vec4 color0 = texture(u_Texture, texCoord);
5957    vec4 color1 = texture(u_Texture, texCoord + texelOffset);
5958    vec4 color2 = texture(u_Texture, texCoord + texelOffset * 2.0);
5959    vec4 color3 = texture(u_Texture, texCoord + texelOffset * 3.0);
5960
5961    float y0 = dot(color0.rgb, COEF_Y);
5962    float y1 = dot(color1.rgb, COEF_Y);
5963    float y2 = dot(color2.rgb, COEF_Y);
5964    float y3 = dot(color3.rgb, COEF_Y);
5965    outColor = vec4(y0, y1, y2, y3);
5966  } else if (vTextureCoord.y <= V_DIVIDE_LINE) {
5967    float offsetY = 1.0 / 3.0 / u_ImgSize.y;
5968    vec2 texCoord;
5969    if (vTextureCoord.x <= 0.5) {
5970      texCoord = vec2(vTextureCoord.x * 2.0, (vTextureCoord.y - U_DIVIDE_LINE) * 2.0 * 3.0);
5971    } else {
5972      texCoord = vec2(
5973        (vTextureCoord.x - 0.5) * 2.0,
5974        ((vTextureCoord.y - U_DIVIDE_LINE) * 2.0 + offsetY) * 3.0
5975      );
5976    }
5977
5978    vec4 color0 = texture(u_Texture, texCoord);
5979    vec4 color1 = texture(u_Texture, texCoord + texelOffset * 2.0);
5980    vec4 color2 = texture(u_Texture, texCoord + texelOffset * 4.0);
5981    vec4 color3 = texture(u_Texture, texCoord + texelOffset * 6.0);
5982
5983    float u0 = dot(color0.rgb, COEF_U) + 0.5;
5984    float u1 = dot(color1.rgb, COEF_U) + 0.5;
5985    float u2 = dot(color2.rgb, COEF_U) + 0.5;
5986    float u3 = dot(color3.rgb, COEF_U) + 0.5;
5987    outColor = vec4(u0, u1, u2, u3);
5988  } else {
5989    float offsetY = 1.0 / 3.0 / u_ImgSize.y;
5990    vec2 texCoord;
5991    if (vTextureCoord.x <= 0.5) {
5992      texCoord = vec2(vTextureCoord.x * 2.0, (vTextureCoord.y - V_DIVIDE_LINE) * 2.0 * 3.0);
5993    } else {
5994      texCoord = vec2(
5995        (vTextureCoord.x - 0.5) * 2.0,
5996        ((vTextureCoord.y - V_DIVIDE_LINE) * 2.0 + offsetY) * 3.0
5997      );
5998    }
5999
6000    vec4 color0 = texture(u_Texture, texCoord);
6001    vec4 color1 = texture(u_Texture, texCoord + texelOffset * 2.0);
6002    vec4 color2 = texture(u_Texture, texCoord + texelOffset * 4.0);
6003    vec4 color3 = texture(u_Texture, texCoord + texelOffset * 6.0);
6004
6005    float v0 = dot(color0.rgb, COEF_V) + 0.5;
6006    float v1 = dot(color1.rgb, COEF_V) + 0.5;
6007    float v2 = dot(color2.rgb, COEF_V) + 0.5;
6008    float v3 = dot(color3.rgb, COEF_V) + 0.5;
6009    outColor = vec4(v0, v1, v2, v3);
6010  }
6011}
6012`,s8=`in vec2 aVertexPosition;
6013in vec2 aTextureCoord;
6014
6015uniform mat3 projectionMatrix;
6016
6017out vec2 vVertexPosition;
6018out vec2 vTextureCoord;
6019
6020uniform vec4 inputSize;
6021uniform vec4 outputFrame;
6022
6023vec4 filterVertexPosition(void ) {
6024  vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.0)) + outputFrame.xy;
6025
6026  return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
6027}
6028
6029vec2 filterTextureCoord(void ) {
6030  return aVertexPosition; // * (outputFrame.zw);
6031}
6032
6033void main(void ) {
6034  gl_Position = filterVertexPosition();
6035  vTextureCoord = filterTextureCoord();
6036}
6037`;function s4(t){return(s4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ue(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(ue=function(){return!!t})()}function ut(t){return(ut=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ur(t,r){return(ur=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var un=function(){function t(r){var n,i,o;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,t),(i=t,o=[s8,s7,r.uniforms],i=ut(i),n=function(t,r){if(r&&("object"==s4(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,ue()?Reflect.construct(i,o||[],ut(this).constructor):i.apply(this,o))).program.fragmentSrc.includes("#version 300 es")||(n.program.fragmentSrc=`#version 300 es 
6038`+n.program.fragmentSrc),n.program.vertexSrc.includes("#version 300 es")||(n.program.vertexSrc=`#version 300 es 
6039`+n.program.vertexSrc),n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&ur(t,r)}(t,p.Filter),Object.defineProperty(t,"prototype",{writable:!1}),t}();function ui(t){return(ui="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var uo=(hY=function t(r,n){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.sdkOptions=n;var i=this.sdkOptions.width,o=this.sdkOptions.height;this.renderer=r,this.widthYUV=i/4,this.heightYUV=3*o/2,this.textureYUV=p.RenderTexture.create({width:this.widthYUV,height:this.heightYUV}),this.textureRBG=p.RenderTexture.create({width:i,height:o}),this.spriteYUV=new p.Sprite(this.textureYUV),this.filterYUV=new un({uniforms:{u_Offset:1/i,u_ImgSize:[i,o],u_Texture:this.textureRBG}}),this.spriteYUV.filters=[this.filterYUV],this.sdkOptions.on("update",this.onOptionsUpdate,this)},hX=[{key:"onOptionsUpdate",value:function(){var t=this.sdkOptions.width,r=this.sdkOptions.height;this.widthYUV=t/4,this.heightYUV=3*r/2,this.textureYUV.resize(this.widthYUV,this.heightYUV),this.textureRBG.resize(t,r),this.filterYUV.uniforms.u_Offset=1/t,this.filterYUV.uniforms.u_ImgSize=[t,r]}},{key:"getVideoFrameArray",value:function(){var t=new Uint8Array(4*this.widthYUV*this.heightYUV),r=this.renderer.generateTexture(this.spriteYUV);this.renderer.renderTexture.bind(r);var n=r.framebuffer.glFramebuffers[this.renderer.CONTEXT_UID];n.blitFramebuffer&&this.renderer.framebuffer.bind(n.blitFramebuffer);var i=this.renderer.gl;return i.readPixels(0,0,this.widthYUV,this.heightYUV,i.RGBA,i.UNSIGNED_BYTE,t),r.destroy(!0),t}},{key:"getVideoFrameSettings",value:function(){return{format:"I420",codedWidth:this.sdkOptions.width,codedHeight:this.sdkOptions.height}}},{key:"destroy",value:function(){this.sdkOptions.off("update",this.onOptionsUpdate,this)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ui(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ui(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6039(t,"string");return"symbol"==ui(r)?r:r+""}(i.key),i)}}(hY.prototype,hX),Object.defineProperty(hY,"prototype",{writable:!1}),hY);function ua(t){return(ua="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function us(){us=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==ua(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(ua(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6039h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function uu(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function ul(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){uu(a,i,o,s,u,"next",t)}function u(t){uu(a,i,o,s,u,"throw",t)}s(void 0)})}}var uh=(hJ=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},hQ=[{key:"clientWaitAsync",value:function(t,r,n,i){return new Promise(function(o,a){!function s(){var u=t.clientWaitSync(r,n,0);u!==t.WAIT_FAILED?u!==t.TIMEOUT_EXPIRED?o(!0):x(s,i):a()}()})}},{key:"getBufferSubDataAsync",value:(hZ=ul(us().mark(function t(r,n,i,o,a,s,u){var l;return us().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return l=r.fenceSync(r.SYNC_GPU_COMMANDS_COMPLETE,0),r.flush(),t.next=4,this.clientWaitAsync(r,l,0,4);case 4:r.deleteSync(l),r.bindBuffer(n,i),r.getBufferSubData(n,o,a,s,u),r.bindBuffer(n,null);case 8:case"end":return t.stop()}},t,this)})),function(t,r,n,i,o,a,s){return hZ.apply(this,arguments)})},{key:"readPixelsAsync",value:(hK=ul(us().mark(function t(r,n,i,o,a,s,u,l){var h;return us().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return h=r.createBuffer(),t.prev=1,r.bindBuffer(r.PIXEL_PACK_BUFFER,h),r.bufferData(r.PIXEL_PACK_BUFFER,l.byteLength,r.STREAM_READ),r.readPixels(n,i,o,a,s,u,0),r.bindBuffer(r.PIXEL_PACK_BUFFER,null),t.next=8,this.getBufferSubDataAsync(r,r.PIXEL_PACK_BUFFER,h,0,l);case 8:return t.abrupt("return",l);case 9:return t.prev=9,r.deleteBuffer(h),t.finish(9);case 12:case"end":return t.stop()}},t,this,[[1,,9,12]])})),function(t,r,n,i,o,a,s,u){return hK.apply(this,arguments)})}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ua(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ua(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==ua(r)?r:r+""}(i.key),i)}}(hJ.prototype,hQ),Object.defineProperty(hJ,"prototype",{writable:!1}),hJ),uc=a(9203);let uf={vec3(t,r,n,i){(n[0]!==i[0]||n[1]!==i[1]||n[2]!==i[2])&&(n[0]=i[0],n[1]=i[1],n[2]=i[2],t.uniform3f(r,i[0],i[1],i[2]))},int(t,r,n,i){t.uniform1i(r,i)},ivec2(t,r,n,i){t.uniform2i(r,i[0],i[1])},ivec3(t,r,n,i){t.uniform3i(r,i[0],i[1],i[2])},ivec4(t,r,n,i){t.uniform4i(r,i[0],i[1],i[2],i[3])},uint(t,r,n,i){t.uniform1ui(r,i)},uvec2(t,r,n,i){t.uniform2ui(r,i[0],i[1])}
6039,uvec3(t,r,n,i){t.uniform3ui(r,i[0],i[1],i[2])},uvec4(t,r,n,i){t.uniform4ui(r,i[0],i[1],i[2],i[3])},bvec2(t,r,n,i){t.uniform2i(r,i[0],i[1])},bvec3(t,r,n,i){t.uniform3i(r,i[0],i[1],i[2])},bvec4(t,r,n,i){t.uniform4i(r,i[0],i[1],i[2],i[3])},mat2(t,r,n,i){t.uniformMatrix2fv(r,!1,i)},mat4(t,r,n,i){t.uniformMatrix4fv(r,!1,i)}},ud={float(t,r,n,i){t.uniform1fv(r,i)},vec2(t,r,n,i){t.uniform2fv(r,i)},vec3(t,r,n,i){t.uniform3fv(r,i)},vec4(t,r,n,i){t.uniform4fv(r,i)},int(t,r,n,i){t.uniform1iv(r,i)},ivec2(t,r,n,i){t.uniform2iv(r,i)},ivec3(t,r,n,i){t.uniform3iv(r,i)},ivec4(t,r,n,i){t.uniform4iv(r,i)},uint(t,r,n,i){t.uniform1uiv(r,i)},uvec2(t,r,n,i){t.uniform2uiv(r,i)},uvec3(t,r,n,i){t.uniform3uiv(r,i)},uvec4(t,r,n,i){t.uniform4uiv(r,i)},bool(t,r,n,i){t.uniform1iv(r,i)},bvec2(t,r,n,i){t.uniform2iv(r,i)},bvec3(t,r,n,i){t.uniform3iv(r,i)},bvec4(t,r,n,i){t.uniform4iv(r,i)},sampler2D(t,r,n,i){t.uniform1iv(r,i)},samplerCube(t,r,n,i){t.uniform1iv(r,i)},sampler2DArray(t,r,n,i){t.uniform1iv(r,i)}};function up(t){return(up="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function uy(){uy=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==up(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(up(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6039h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function um(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}Object.assign(uc.$P.prototype,{systemCheck(){},syncUniforms(t,r){let{shader:n,renderer:i}=this;!function(t,r,n,i,o){let a=0,s=null,u=null,l=o.gl;for(let h in t.uniforms){let c=r[h],f=i[h],d=n[h],p=t.uniforms[h];c?"float"!==c.type||1!==c.size||c.isArray?"bool"!==c.type||1!==c.size||c.isArray?"sampler2D"!==c.type&&"samplerCube"!==c.type&&"sampler2DArray"!==c.type||1!==c.size||c.isArray?"mat3"!==c.type||1!==c.size||c.isArray?"vec2"!==c.type||1!==c.size||c.isArray?"vec4"!==c.type||1!==c.size||c.isArray?(1!==c.size||c.isArray?ud:uf)[c.type].call(null,l,d.location,d.value,f):void 0!==p.width?(u=d.value,s=f,(u[0]!==s.x||u[1]!==s.y||u[2]!==s.width||u[3]!==s.height)&&(u[0]=s.x,u[1]=s.y,u[2]=s.width,u[3]=s.height,l.uniform4f(d.location,s.x,s.y,s.width,s.height))):(u=d.value,s=f,(u[0]!==s[0]||u[1]!==s[1]||u[2]!==s[2]||u[3]!==s[3])&&(u[0]=s[0],u[1]=s[1],u[2]=s[2],u[3]=s[3],l.uniform4f(d.location,s[0],s[1],s[2],s[3]))):void 0!==p.x?(u=d.value,s=f,(u[0]!==s.x||u[1]!==s.y)&&(u[0]=s.x,u[1]=s.y,l.uniform2f(d.location,s.x,s.y))):(u=d.value,s=f,(u[0]!==s[0]||u[1]!==s[1])&&(u[0]=s[0],u[1]=s[1],l.uniform2f(d.location,s[0],s[1]))):void 0!==p.a?l.uniformMatrix3fv(d.location,!1,f.toArray(!0)):l.uniformMatrix3fv(d.location,!1,f):(o.texture.bind(f,a),d.value!==a&&(d.value=a,l.uniform1i(d.location,a)),a++):f!==d.value&&(d.value=f,l.uniform1i(d.location,Number(f))):f!==d.value&&(d.value=f,l.uniform1f(d.location,f)):!0===p.group&&o.shader.syncUniformGroup(f)}}(t,n.program.uniformData,r.uniformData,t.uniforms,i)}});var ug=(h3=function t(r,n){var i;(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.color=65280,this.frameFormat="RGBX",n&&(this.frameFormat=n),this.sdkOptions=r,this.PIXI=p;try{this.renderer=new p.Application({width:this.sdkOptions.width,height:this.sdkOptions.height,antialias:!0,backgroundAlpha:0})}catch(t){u.bv.notify({type:u.By.ERROR,code:u.O4.APP_CREATION_ISSUE,message:null!=(i=t.message)?i:t,emitter:u.JK.RENDERER,cause:t})}this.filter_manager=new p.FilterSystem(this.renderer.renderer),this.timinngs={stats:new h.z,sprite:new s2({
6039size:Math.round(.02*this.sdkOptions.width),padding:5},this.sdkOptions)},this.effectsContainer=new p.Container,this.renderer.stage.addChild(this.effectsContainer),this.overlayContainer=new p.Container,this.renderer.stage.addChild(this.overlayContainer),this.stopTickers(),this.GLHelper=new uh,"I420"===this.frameFormat&&(this.converterYUV=new uo(this.renderer.renderer,this.sdkOptions)),this.sdkOptions.on("update",this.onOptionsUpdate,this)},h6=[{key:"onOptionsUpdate",value:function(){this.renderer.renderer.resize(this.sdkOptions.width,this.sdkOptions.height)}},{key:"stopTickers",value:function(){this.renderer.ticker.stop(),p.Ticker.system.stop()}},{key:"startTickers",value:function(){this.renderer.ticker.start(),p.Ticker.system.start()}},{key:"updateVideoFrame",value:function(t){this.video_frame||(this.video_frame=this.createFrom(t)),this.video_frame.texture.destroy(!0),this.video_frame.texture=p.Texture.from(t)}},{key:"addStatistics",value:function(){this.addToStage(this.timinngs.sprite.container)}},{key:"removeStatistics",value:function(){this.removeFromStage(this.timinngs.sprite.container)}},{key:"updateStatistics",value:function(t,r){this.timinngs.stats.updateStats(t,r)}},{key:"hideStatistics",value:function(){this.timinngs.sprite.container.visible=!1}},{key:"drawStatistics",value:function(){this.timinngs.sprite.updateText(this.timinngs.stats.getText()),this.timinngs.sprite.container.visible=!0}},{key:"destroy",value:function(){this.renderer.renderer&&(this.sdkOptions.off("update",this.onOptionsUpdate,this),this.converterYUV&&this.converterYUV.destroy(),this.timinngs.sprite&&this.timinngs.sprite.destroy(),this.renderer.destroy(!0,{children:!0,texture:!0,baseTexture:!0}))}},{key:"renderTo",value:function(t,r){var n,i;try{(null==(n=this.renderer)?void 0:n.renderer)&&this.renderer.renderer.render(t,{renderTexture:r})}catch(t){u.bv.notify({message:null!=(i=t.message)?i:t,type:u.By.ERROR,code:u.O4.RENDERING_ISSUE,emitter:u.JK.RENDERER,cause:t})}}},{key:"createCanvas",value:function(t,r){var n=document.createElement("canvas");return n.width=t,n.height=r,n}},{key:"createTextureFromBuffer",value:function(t,r,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return p.Texture.fromBuffer(t,r,n,i)}},{key:"createRenderTexture",value:function(t,r){return p.RenderTexture.create({width:t,height:r})}},{key:"pixels",value:function(t){return this.renderer.renderer.extract.pixels(t)}},{key:"pixelsAsync",value:(h0=uy().mark(function t(r,n){var i,o,a,s,u,l,h,c,f;return uy().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(l=4*r._frame.width*r._frame.height,h=null!=(o=null==(i=null==n?void 0:n.pool)?void 0:i.getBuffer("u8",l))?o:new Uint8Array(l),c=null==(a=this.renderer)?void 0:a.renderer){t.next=5;break}return t.abrupt("return",h);case 5:return c.renderTexture.bind(r),(f=r.framebuffer.glFramebuffers[c.CONTEXT_UID]).blitFramebuffer&&c.framebuffer.bind(f.blitFramebuffer),t.prev=8,t.next=11,this.GLHelper.readPixelsAsync(c.gl,0,0,r._frame.width,r._frame.height,c.gl.RGBA,c.gl.UNSIGNED_BYTE,h);case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(8),null==(s=null==n?void 0:n.pool)||s.returnBuffer(h);case 16:return t.prev=16,null==(u=null==n?void 0:n.texturePool)||u.put(r),t.abrupt("return",h);case 20:case"end":return t.stop()}},t,this,[[8,13,16,20]])}),h1=function(){var t=this,r=arguments;return new Promise(function(n,i){var o=h0.apply(t,r);function a(t){um(o,n,i,a,s,"next",t)}function s(t){um(o,n,i,a,s,"throw",t)}a(void 0)})},function(t,r){return h1.apply(this,arguments)})},{key:"calculateSpriteMatrix",value:function(t){var r=new p.Matrix;return this.filter_manager.calculateSpriteMatrix(r,t)}},{key:"getFilterManager",value:function(){return this.filter_manager}},{key:"setTintColor",value:function(t){this.color=t}},{key:"getTintColor",value:function(){return this.color}},{key:"createTexture",value:function(t){return t instanceof p.Texture?t:p.Texture.from(t)}},{key:"createFromTexture",value:function(t){return new p.Sprite(t)}},{key:"createFrom",value:function(t){return new p.Sprite(p.Texture.from(t))}},{key:"createFromURL",value:function(t){var r;return"string"==typeof t&&"color"===t?((r=new p.Sprite(p.Texture.WHITE)).tint=this.getTintColor(),r.width=this.sdkOptions.width,r.height=this.sdkOptions.height,r):r=p.Sprite.from(t)}},{key:"createContainer",value:function(){return new p.Container}}
6039,{key:"addToStage",value:function(t){var r;null==(r=this.renderer.stage)||r.addChild(t)}},{key:"addToEffects",value:function(t){var r;this.renderer.renderer&&(null==(r=this.effectsContainer)||r.addChild(t))}},{key:"addToOverlay",value:function(t){var r;null==(r=this.overlayContainer)||r.addChild(t)}},{key:"addToStageAt",value:function(t,r){var n;null==(n=this.renderer.stage)||n.addChildAt(t,r)}},{key:"addToEffectsAt",value:function(t,r){var n;null==(n=this.effectsContainer)||n.addChildAt(t,r)}},{key:"addToOverlayAt",value:function(t,r){var n;null==(n=this.overlayContainer)||n.addChildAt(t,r)}},{key:"removeFromStage",value:function(t){var r;null==(r=this.renderer.stage)||r.removeChild(t)}},{key:"removeFromEffects",value:function(t){var r;null==(r=this.effectsContainer)||r.removeChild(t)}},{key:"removeFromOverlay",value:function(t){var r;null==(r=this.overlayContainer)||r.removeChild(t)}},{key:"useAsMask",value:function(t){this.renderer.stage.mask=t}},{key:"setCanvas",value:function(t){this.canvas=t}},{key:"render",value:function(){var t;try{if(!this.renderer.renderer)return;this.renderer.render(),this.converterYUV&&(this.renderTo(this.renderer.stage,this.converterYUV.textureRBG),this.renderer.renderer.render(this.renderer.stage,{renderTexture:this.converterYUV.textureYUV}))}catch(r){u.bv.notify({message:null!=(t=r.message)?t:r,type:u.By.ERROR,code:u.O4.RENDERING_ISSUE,emitter:u.JK.RENDERER,cause:r})}}},{key:"getVideoFrameData",value:function(){return this.converterYUV?this.converterYUV.getVideoFrameArray():this.renderer.renderer.view}},{key:"getVideoFrameSettings",value:function(){return this.converterYUV?this.converterYUV.getVideoFrameSettings():{displayHeight:this.sdkOptions.height,displayWidth:this.sdkOptions.width}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=up(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=up(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==up(r)?r:r+""}(i.key),i)}}(h3.prototype,h6),Object.defineProperty(h3,"prototype",{writable:!1}),h3);function uv(t){return(uv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ub=(h5=function t(r){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.frames=[],this.texturesPool=r},h9=[{key:"get",value:function(t,r,n){if(this.frames.length>0){var i=this.frames.shift();return this.texturesPool.put(i.update(t)),i.sprite.width=r,i.sprite.height=n,i}return new T.w(t,{width:r,height:n})}},{key:"put",value:function(t){this.frames.push(t)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=uv(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=uv(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==uv(r)?r:r+""}(i.key),i)}}(h5.prototype,h9),Object.defineProperty(h5,"prototype",{writable:!1}),h5),uw=a(8592);function ux(t){return(ux="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var u_=(h2=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.u8Buffers={},this.f32Buffers={}},h7=[{key:"getBuffer",value:function(t,r){var n,i;return null!=(i=null==(n=("f32"===t?this.f32Buffers:this.u8Buffers)[r])?void 0:n.pop())?i:"f32"===t?new Float32Array(r):new Uint8Array(r)}},{key:"returnBuffer",value:function(t){t instanceof Float32Array?this.returnBufferAs(t,this.f32Buffers,t.length):this.returnBufferAs(t,this.u8Buffers,t.length)}},{key:"returnBufferAs",value:function(t,r,n){var i=r[n];void 0!==i?i.push(t):r[n]=[t]}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=ux(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=ux(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6039(t,"string");return"symbol"==ux(r)?r:r+""}(i.key),i)}}(h2.prototype,h7),Object.defineProperty(h2,"prototype",{writable:!1}),h2);function uT(t){return(uT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function uS(t,r){if(t){if("string"==typeof t)return uE(t,r);var n=({}).toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uE(t,r):void 0}}function uE(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function uO(){uO=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==uT(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(uT(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6039h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function uA(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function uI(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){uA(a,i,o,s,u,"next",t)}function u(t){uA(a,i,o,s,u,"throw",t)}s(void 0)})}}function uP(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=uT(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=uT(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==uT(r)?r:r+""}(i.key),i)}}function uk(t,r,n){return r&&uP(t.prototype,r),n&&uP(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function uC(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}var u$=uk(function t(){uC(this,t),this.filters=new Map,this.texturePool=new uw.O,this.bufferPool=new u_}),uR=uk(function t(r,n,i){uC(this,t),this.effects=[],this.isPaused=!1,this.isSkipPipeline=!1,this.components={},this.hasFrames=!1,this.frames=[],this.resources=new u$,this.sdkOptions=n,this.resources.renderer=r,this.components=null!=i?i:{},this.framePool=new ub(this.resources.texturePool)},[{key:"destroy",value:function(){this.removeComponents(),this.resources.renderer.destroy(),this.effects.forEach(function(t){t.destroy()}),this.clearFrames()}},{key:"addEffect",value:function(t){this.effects.find(function(r){return r.name==t.name})||(t.useResources(this.resources),t.prepare(),this.effects.push(t),this.effects.sort(function(t,r){return t.priority-r.priority}))}},{key:"removeEffect",value:function(t){this.effects=this.effects.filter(function(r){return r.name!==t.name})}}
6039,{key:"addLastEffect",value:function(t){t.useResources(this.resources),t.prepare(),this.lastEffect=t}},{key:"clearFrames",value:function(){for(;this.frames.length>0;){var t=this.frames.shift();t&&this.framePool.put(t)}}},{key:"clearBuffers",value:function(){this.effects.forEach(function(t,r){t.clearBuffers()})}},{key:"pause",value:function(){this.isPaused=!0,this.clearFrames()}},{key:"unpause",value:function(){this.isPaused=!1}},{key:"enablePipelineSkipping",value:function(){this.isSkipPipeline=!0}},{key:"disablePipelineSkipping",value:function(){this.isSkipPipeline=!1}},{key:"nextFrame",value:function(t){if(this.isPaused||this.isSkipPipeline)t.texture.destroy(!0);else{var r,n=this.framePool.get(t,this.sdkOptions.width,this.sdkOptions.height);if(this.effects.forEach((r=uI(uO().mark(function t(r,i){return uO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r.requireNextFrame&&r.nextFrame(n),!r.requireSyncDraw){t.next=4;break}return t.next=4,r.process(n);case 4:case"end":return t.stop()}},t)})),function(t,n){return r.apply(this,arguments)})),this.frames.length>1){var i=this.frames.shift();i&&this.framePool.put(i)}this.frames.push(n)}}},{key:"addComponents",value:function(){var t=this;this.components._getSortedComponentsArr.forEach(function(r){return t.resources.renderer.addToStage(r.container)})}},{key:"removeComponents",value:function(){var t=this;Object.values(this.components).forEach(function(r){return t.resources.renderer.removeFromStage(r.container)})}},{key:"process",value:(h8=uI(uO().mark(function t(){var r,n,i,o,a;return uO().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.isPaused){t.next=4;break}return(r=this.frames.shift())&&this.framePool.put(r),t.abrupt("return");case 4:if(!this.isSkipPipeline){t.next=9;break}return this.addComponents(),this.resources.renderer.render(),this.removeComponents(),t.abrupt("return");case 9:if(this.frames.length){t.next=11;break}return t.abrupt("return");case 11:r=this.frames.shift(),n=function(t){var r="u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=uS(t))){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
6040In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}(this.effects.entries()),t.prev=13,n.s();case 15:var s;if((i=n.n()).done){t.next=22;break}if((o=function(t){if(Array.isArray(t))return t}(s=i.value)||function(t){var r=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,l=!1;try{o=(r=r.call(t)).next,!1;for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),2!==s.length);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(s)||uS(s,2)||function(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
6041In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())[0],(a=o[1]).requireSyncDraw){t.next=20;break}return t.next=20,a.process(r);case 20:t.next=15;break;case 22:t.next=27;break;case 24:t.prev=24,t.t0=t.catch(13),n.e(t.t0);case 27:return t.prev=27,n.f(),t.finish(27);case 30:return this.addComponents(),t.next=33,this.lastEffect.process(r);case 33:this.removeComponents(),r&&this.framePool.put(r),this.hasFrames=!0;case 36:case"end":return t.stop()}},t,this,[[13,24,27,30]])})),function(){return h8.apply(this,arguments)})}]);function uD(t){return(uD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function uM(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}var uL=(h4=function t(r,n){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.options={}
6041,this.sdkOptions=r,this.container=new p.Container,this.setOptions(n)},ce=[{key:"setOptions",value:function(t){var r=this;t&&Object.entries(t).forEach(function(t){var n=function(t){if(Array.isArray(t))return t}(t)||function(t){var r=null==t?null:"u">typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,l=!1;try{o=(r=r.call(t)).next,!1;for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),2!==s.length);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(t)||function(t){if(t){if("string"==typeof t)return uM(t,2);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uM(t,2):void 0}}(t)||function(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
6042In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}(),i=n[0],o=n[1];r.options[i]=o})}},{key:"show",value:function(){this.beforeShowFunction&&this.beforeShowFunction(),this.container.visible=!0,this.afterShowFunction&&this.afterShowFunction()}},{key:"hide",value:function(){this.beforeHideFunction&&this.beforeHideFunction(),this.container.visible=!1,this.afterHideFunction&&this.afterHideFunction()}},{key:"onBeforeShow",value:function(t){"function"==typeof t&&(this.beforeShowFunction=t)}},{key:"onAfterShow",value:function(t){"function"==typeof t&&(this.afterShowFunction=t)}},{key:"onBeforeHide",value:function(t){"function"==typeof t&&(this.beforeHideFunction=t)}},{key:"onAfterHide",value:function(t){"function"==typeof t&&(this.afterHideFunction=t)}},{key:"isVisible",value:function(){return this.container.visible}},{key:"getOptions",value:function(){return this.options}},{key:"destroy",value:function(){this.container.destroy(!0)}},{key:"px",value:function(t){return this.sdkOptions.width/640*t}},{key:"render",value:function(){}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=uD(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=uD(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==uD(r)?r:r+""}(i.key),i)}}(h4.prototype,ce),Object.defineProperty(h4,"prototype",{writable:!1}),h4),uB={set:function(t,r,n){return n instanceof uL?"_"!==r[0]?Reflect.set(t,r,n):t.hasOwnProperty(r)?void 0!==t[r]?(u.bv.notify({type:u.By.WARNING,message:"You can't overwrite service component '".concat(r,"' (components that begin with a '_' character)"),emitter:u.JK.COMPONENTS_SYSTEM}),!1):Reflect.set(t,r,n):(u.bv.notify({type:u.By.WARNING,message:"The component ID('".concat(r,"') cannot begin with the character '_', this case reserved for service components."),emitter:u.JK.COMPONENTS_SYSTEM}),!1):(u.bv.notify({type:u.By.WARNING,message:"Wrong assigned value",emitter:u.JK.COMPONENTS_SYSTEM}),!1)},get:function(t,r,n){if("_getSortedComponentsArr"===r){var i=[],o=[];return Object.keys(t).forEach(function(r){t[r]&&("_"===r[0]?o.push(t[r]):i.push(t[r]))}),i.concat(o)}return Reflect.get(t,r,n)}},uN=a(6739);function uF(t){return(uF="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var uU=(ct=function t(r,n,i){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.sprite=p.Sprite.from(r),this.sprite.width=null!=n?n:this.sprite.texture.baseTexture.width,this.sprite.height=null!=i?i:this.sprite.texture.baseTexture.height,this.ratio=this.sprite.width/this.sprite.height},cr=[{key:"destroy",value:function(){var t,r;null==(r=null==(t=this.sprite)?void 0:t.texture)||r.destroy(!0)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=uF(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=uF(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==uF(r)?r:r+""}(i.key),i)}}(ct.prototype,cr),Object.defineProperty(ct,"prototype",{writable:!1}),ct);function uj(){uj=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==uX(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(uX(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6042h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function uz(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function uG(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){uz(a,i,o,s,u,"next",t)}function u(t){uz(a,i,o,s,u,"throw",t)}s(void 0)})}}function uV(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(uV=function(){return!!t})()}function uW(t,r,n,i){var o=uH(uq(1&i?t.prototype:t),r,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function uH(){return(uH="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=uq(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function uq(t){return(uq=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function uY(t,r){return(uY=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}function uX(t){return(uX="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var uK=function(t,r,n,i){var o,a=arguments.length,s=a<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,n):i;if("object"===("u"<typeof Reflect?"undefined":uX(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,r,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(r,n,s):o(r,n))||s);return a>3&&s&&Object.defineProperty(r,n,s),s},uZ=function(t,r){if("object"===("u"<typeof Reflect?"undefined":uX(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,r)},uJ=function(){var t,r,n,i;function o(t,r){var n,i,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,o),(i=o,a=[t,r],i=uq(i),n=function(t,r){if(r&&("object"==uX(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,uV()?Reflect.construct(i,a||[],uq(this).constructor):i.apply(this,a))).isVideo=!1,n.hide(),n.render(),n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&uY(t,r)}(o,uL),i=[{key:"render",value:function(){var t=this;this.container.removeChildren(),this.defaultOverlaySprite=new uU(p.Texture.WHITE,1920,1280
6042),this.initOverlayFromUrl(this.options).finally(function(){return t.setOverlayImage()})}},{key:"show",value:function(){this.switchVideoTexture(!0),uW(o,"show",this,3)([])}},{key:"hide",value:function(){uW(o,"hide",this,3)([]),this.switchVideoTexture(!1)}},{key:"initOverlayFromUrl",value:(n=uG(uj().mark(function t(r){return uj().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.loadImage(null==r?void 0:r.url).then(function(){var t;return null==(t=null==r?void 0:r.promise)?void 0:t.resolve()}).catch(function(t){var n;return null==(n=null==r?void 0:r.promise)?void 0:n.reject(t)}).finally(function(){return null==r||delete r.promise}));case 1:case"end":return t.stop()}},t,this)})),function(t){return n.apply(this,arguments)})},{key:"setOptions",value:(r=uG(uj().mark(function t(r){return uj().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}return t.abrupt("return");case 2:this.loadImage(r.url).then(function(){var t;return null==(t=r.promise)?void 0:t.resolve()}).catch(function(t){var n;return null==(n=r.promise)?void 0:n.reject(t)}).finally(function(){return null==r||delete r.promise});case 3:case"end":return t.stop()}},t,this)})),function(t){return r.apply(this,arguments)})},{key:"setOverlayImage",value:function(){var t,r=null!=(t=this.loadedOverlaySprite)?t:this.defaultOverlaySprite,n=r.sprite,i=r.ratio,o=this.sdkOptions.width,a=this.sdkOptions.height,s=o/a-i,u=n.width;n.width=s>0?o:o-o*s,n.height=n.height*n.width/u,n.anchor.set(.5-o/n.width/2,.5-a/n.height/2),this.container.addChild(n)}},{key:"loadImage",value:(t=uG(uj().mark(function t(r){var n=this;return uj().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}throw Error("Invalid url");case 2:if(this.currentURL!==r&&this.processedURL!==r){t.next=4;break}throw Error("Same url");case 4:return this.processedURL=r,t.next=7,fetch(r,{method:"HEAD"}).then(function(t){if(!t.ok)throw Error("Overlay Screen: Image loading error")}).catch(function(t){throw u.bv.notify({type:u.By.WARNING,message:'OverlayScreen image loading error [url = "'.concat(r,'"]. Error: ').concat(t),emitter:u.JK.COMPONENTS_SYSTEM,cause:t}),Error("Overlay Screen: Image loading error")});case 7:p.Texture.fromURL(r,{resourceOptions:{autoPlay:!1}}).then(function(t){var i,o;n.isVideo=(null==(i=t.baseTexture.resource)?void 0:i.source)instanceof HTMLVideoElement,n.resource=t.baseTexture.resource,n.isVideo&&(n.resource.source.loop=!0,n.resource.source.autoplay=!1,n.container.visible&&n.resource.source.play(),n.resource.source.loop=!0,n.resource.source.muted=!0),n.container.removeChildren(),null==(o=n.loadedOverlaySprite)||o.destroy(),n.loadedOverlaySprite=new uU(t),n.currentURL=r}).catch(function(t){throw u.bv.notify({type:u.By.WARNING,message:'OverlayScreen image loading error [url = "'.concat(r,'"]. Error: ').concat(t),emitter:u.JK.COMPONENTS_SYSTEM,cause:t}),Error("Overlay Screen: Image loading error")}).finally(function(){n.setOverlayImage(),n.processedURL=""});case 8:case"end":return t.stop()}},t,this)})),function(r){return t.apply(this,arguments)})},{key:"switchVideoTexture",value:function(t){if(this.isVideo)return t?(this.resource.source.currentTime=0,void this.resource.source.play()):void this.resource.source.pause()}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=uX(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=uX(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==uX(r)?r:r+""}(i.key),i)}}(o.prototype,i),Object.defineProperty(o,"prototype",{writable:!1}),o}();function uQ(t){return(uQ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u1(){u1=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 6042
6042(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==uQ(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(uQ(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
6042if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function u0(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function u3(){var t;return(t=u1().mark(function t(r){return u1().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(r,{method:"HEAD"});case 2:if(t.sent.ok){t.next=5;break}throw Error("Url is not available");case 5:return t.abrupt("return",!0);case 6:case"end":return t.stop()}},t)}),u3=function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){u0(a,i,o,s,u,"next",t)}function u(t){u0(a,i,o,s,u,"throw",t)}s(void 0)})}).apply(this,arguments)}function u6(t){return(u6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}uK([(0,uN.kc)("overlayScreen"),uZ("design:type",Function),uZ("design:paramtypes",[]),uZ("design:returntype",void 0)],uJ.prototype,"show",null),uK([(0,uN.kc)("overlayScreen"),uZ("design:type",Function),uZ("design:paramtypes",[]),uZ("design:returntype",void 0)],uJ.prototype,"hide",null);var u5=(cn=function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")},ci=[{key:"calcPosition",value:function(t,r,n,i){return"custom"===n.placement?this.getCustomPosition(t,r,n.x,n.y):this.getPositionFromPlacement(t,r,n.placement,i)}},{key:"getPositionFromPlacement",value:function(t,r,n,i){var o=i.height,a=i.width,s={x:0,y:0};return"center"==n?(s.x=(t-a)/2,s.y=(r-o)/2):(n.endsWith("right")&&(s.x=t-a),n.startsWith("bottom")&&(s.y=r-o)),s}},{key:"getCustomPosition",value:function(t,r,n,i){return{x:t*n,y:r*i}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=u6(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=u6(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==u6(r)?r:r+""}(i.key),i)}}(cn,ci),Object.defineProperty(cn,"prototype",{writable:!1}),cn);function u9(t){return(u9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u2(){u2=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==u9(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(u9(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6042h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function u7(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function u8(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(u8=function(){return!!t})()}function u4(t){return(u4=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function le(t,r){return(le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var lt=function(){var t,r,n;function i(t,r){var n,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(o=i,a=[t],o=u4(o),n=function(t,r){if(r&&("object"==u9(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,u8()?Reflect.construct(o,a||[],u4(this).constructor):o.apply(this,a))).sprite=new p.Sprite,n.sprite.visible=!1,n.container.addChild(n.sprite),n.setOptions(Object.assign({url:"",position:{placement:"top-left",x:0,y:0},size:.05},r)),n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&le(t,r)}(i,uL),n=[{key:"setOptions",value:function(t){(null==t?void 0:t.size)&&this.setSize(t.size),(null==t?void 0:t.position)&&this.setPosition(t.position),(null==t?void 0:t.url)&&this.setURL(t.url)}},{key:"setURL",value:(r=u2().mark(function t(r){var n=this;return u2().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(this.options.url!==r){t.next=2;break}return t.abrupt("return");case 2:return t.abrupt("return",(function(t){return u3.apply(this,arguments)})(r).then(function(){return p.Texture.fromURL(r)}).then(function(t){n.sprite.visible=!0,n.sprite.texture=t,n.sprite.height=n.sdkOptions.height*n.options.size,n.sprite.width=t.width/t.height*n.sprite.height,n.options.url=r,n.sprite.visible=!0}
6042).catch(function(t){var r;u.bv.notify({message:null!=(r=null==t?void 0:t.message)?r:t,type:u.By.ERROR,emitter:u.JK.COMPONENTS_SYSTEM,cause:t})}));case 3:case"end":return t.stop()}},t,this)}),t=function(){var t=this,n=arguments;return new Promise(function(i,o){var a=r.apply(t,n);function s(t){u7(a,i,o,s,u,"next",t)}function u(t){u7(a,i,o,s,u,"throw",t)}s(void 0)})},function(r){return t.apply(this,arguments)})},{key:"setSize",value:function(t){this.options.size=Math.min(1,Math.max(.01,t));var r=this.sprite.width/this.sprite.height;this.sprite.height=this.sdkOptions.height*this.options.size,this.sprite.width=this.sprite.height*r,this.options.position&&"custom"!==this.options.position.placement&&this.setPosition(this.options.position)}},{key:"setPosition",value:function(t){this.options.position=t;var r={width:this.sprite.width,height:this.sprite.height},n=u5.calcPosition(this.sdkOptions.width,this.sdkOptions.height,t,r),i=n.x,o=n.y;this.sprite.position.x=i,this.sprite.position.y=o}},{key:"clear",value:function(){this.sprite.visible=!1}},{key:"render",value:function(){this.setSize(this.options.size),this.setPosition(this.options.position)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=u9(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=u9(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==u9(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function lr(t){return(lr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ln=(co=function t(r,n){var i;(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.sdkOptions=r,this.sprite=n.sprite,this.id=n.id,this.player=n.player,this.canvas=n.canvas,this.aminationPhase=null!=(i=n.aminationPhase)?i:"static",this.sprite.alpha=0,this.shrink=Math.max(0,Math.min(1,n.shrink)),this.sourceRatio=this.sprite.texture.baseTexture.width/this.sprite.texture.baseTexture.height,this.setSpriteSize(n.size),this.sprite.height=this.height*this.shrink,this.sprite.width=this.width*this.shrink},ca=[{key:"isShowing",value:function(){return"showing"===this.aminationPhase}},{key:"isStatic",value:function(){return"static"===this.aminationPhase}},{key:"isHidingStop",value:function(){return 0===this.sprite.alpha}},{key:"animateAlpha",value:function(t){this.isStatic()||(this.sprite.alpha=this.isShowing()?Math.min(this.sprite.alpha+t,1):Math.max(this.sprite.alpha-t,0),1!==this.sprite.alpha&&0!==this.sprite.alpha||(this.aminationPhase="static"))}},{key:"animateSize",value:function(t){if(!this.isStatic()){var r=this.height*t*(1-this.shrink),n=this.width*t*(1-this.shrink);this.sprite.height=this.isShowing()?Math.min(this.sprite.height+r,this.height):Math.max(this.sprite.height-r,this.height*this.shrink),this.sprite.width=this.isShowing()?Math.min(this.sprite.width+n,this.width):Math.max(this.sprite.width-n,this.width*this.shrink)}}},{key:"animatePosition",value:function(t){this.isStatic()||(this.sprite.position.x=t.x+(this.width-this.sprite.width)/2,this.sprite.position.y=t.y+(this.height-this.sprite.height)/2)}},{key:"reset",value:function(){this.sprite.height=this.height*this.shrink,this.sprite.width=this.width*this.shrink,this.sprite.alpha=0}},{key:"setSpriteSize",value:function(t){this.height=this.sdkOptions.height*(null!=t?t:.3),this.width=this.height*this.sourceRatio,this.sprite.height=this.height,this.sprite.width=this.width}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lr(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lr(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==lr(r)?r:r+""}(i.key),i)}}(co.prototype,ca),Object.defineProperty(co,"prototype",{writable:!1}),co),li=a(3161),lo=a.n(li);function la(){la=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==lp(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(lp(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6042h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function ls(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function lu(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){ls(a,i,o,s,u,"next",t)}function u(t){ls(a,i,o,s,u,"throw",t)}s(void 0)})}}function ll(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(ll=function(){return!!t})()}function lh(t,r,n,i){var o=lc(lf(1&i?t.prototype:t),r,n);return 2&i&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function lc(){return(lc="u">typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,n){var i=function(t,r){for(;!({}).hasOwnProperty.call(t,r)&&null!==(t=lf(t)););return t}(t,r);if(i){var o=Object.getOwnPropertyDescriptor(i,r);return o.get?o.get.call(arguments.length<3?t:n):o.value}}).apply(null,arguments)}function lf(t){return(lf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ld(t,r){return(ld=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}function lp(t){return(lp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var ly=function(t,r){if("object"===("u"<typeof Reflect?"undefined":lp(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,r)},lm=function(){var t,r,n;function i(t){var r,n,o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(r=i,n=[t,Object.assign({capacity:8,duration:1500,animationSpeed:.08,position:{x:0,y:0,placement:"top-left"}},a)],r=lf(r),o=function(t,r){if(r&&("object"==lp(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,ll()?Reflect.construct(r,n||[],lf(this).constructor):r.apply(this,n))).spriteStore=[],o.ticker=new p.Ticker,o.ticker.add(function(){return o.animateSticker()}),o.hide(),o}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&ld(t,r)}(i,uL),n=[{key:"show",value:function(){lh(i,"show",this,3)([]),this.ticker.start()}},{key:"hide",value:function(){lh(i,"hide",this,3)([]),this.ticker.stop()}},{key:"onLoadSucccess",value:function(t){this.loadSuccesssFunc="function"==typeof t?t:void 0}},{key:"onLoadError",value:function(t){this.loadErrorFunc="function"==typeof t?t:void 0}},{key:"setOptions",value:(r=lu(la().mark(function t(r){return la().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r){t.next=2;break}return t.abrupt("return");case 2:r.position&&(this.updateSpritePosition(r.position),delete r.position),r.sticker&&(this.addSticker(r.sticker),delete r.sticker),r.id&&
6042(this.selectSticker(r.id),delete r.id),lh(i,"setOptions",this,3)([r]),r.size&&this.activeSticker&&this.activeSticker.setSpriteSize(r.size),r.duration&&this.activeSticker&&!this.activeSticker.isHidingStop()&&this.setOptions({id:this.activeID});case 8:case"end":return t.stop()}},t,this)})),function(t){return r.apply(this,arguments)})},{key:"selectSticker",value:function(t){var r,n,i=this;if(t===this.activeID)return 0===this.activeSticker.sprite.alpha&&this.show(),this.activeSticker.aminationPhase="showing",clearTimeout(this.timerId),void(this.timerId=setTimeout(function(){return i.activeSticker.aminationPhase="hiding"},this.options.duration));this.activeSticker&&(this.container.removeChildren(),null==(r=this.activeSticker.player)||r.stop(),this.activeSticker.reset()),this.activeID=t;var o=this.spriteStore.find(function(t){return t.id===i.activeID});o&&(null==(n=o.player)||n.play(),o.sprite.position.x=this.options.position.x,o.sprite.position.y=this.options.position.y,o.aminationPhase="showing",this.container.addChild(o.sprite),this.activeSticker=o,this.activeSticker.setSpriteSize(this.options.size),this.calcPosition(),clearTimeout(this.timerId),this.show(),this.timerId=setTimeout(function(){i.activeSticker.aminationPhase="hiding"},this.options.duration))}},{key:"loadSticker",value:(t=lu(la().mark(function t(r){var n,i,o,a,s,u,l,h,c,f=arguments;return la().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=f.length>1&&void 0!==f[1]&&f[1],o=void 0,a=void 0,s=void 0,t.next=6,function(t){return lg.apply(this,arguments)}(r);case 6:if(!t.sent){t.next=16;break}return t.t0=p.Sprite,t.next=11,p.Texture.fromURL(r);case 11:t.t1=t.sent,(s=new t.t0(t.t1)).texture.baseTexture.resource.source.loop=!0,t.next=35;break;case 16:return t.next=18,fetch(r).then(function(t){return t.arrayBuffer()}).catch(function(t){throw console.log("[ Stickers component ] - url fetching: ".concat(t)),t});case 18:if(u=t.sent,!((l=lo()(u))instanceof Error)){t.next=28;break}return t.t2=p.Sprite,t.next=24,p.Texture.fromURL(r);case 24:t.t3=t.sent,s=new t.t2(t.t3),t.next=35;break;case 28:return(o=document.createElement("canvas")).width=l.width,o.height=l.height,t.next=33,l.getPlayer(o.getContext("2d",{willReadFrequently:!0}),!0);case 33:a=t.sent,s=new p.Sprite(p.Texture.from(o));case 35:return this.spriteStore.push(new ln(this.sdkOptions,{id:r,sprite:s,player:a,canvas:o,shrink:.99,size:this.options.size})),n||this.setOptions({id:r}),h={},this.spriteStore.length>this.options.capacity&&(h.removedID=null==(c=this.spriteStore.shift())?void 0:c.id,null==c||c.sprite.destroy(!0),null==(i=null==c?void 0:c.canvas)||i.remove()),t.abrupt("return",h);case 40:case"end":return t.stop()}},t,this)})),function(r){return t.apply(this,arguments)})},{key:"animateSticker",value:function(){var t,r,n;(null==(n=null==(r=null==(t=this.activeSticker)?void 0:t.sprite)?void 0:r.texture)?void 0:n.baseTexture)&&(this.activeSticker.animateSize(this.options.animationSpeed),this.activeSticker.animatePosition(this.options.position),this.activeSticker.animateAlpha(this.options.animationSpeed),this.activeSticker.isHidingStop()?this.hide():this.activeSticker.sprite.texture.update())}},{key:"updateSpritePosition",value:function(t){this.options.position||(this.options.position={});var r,n=this.sdkOptions.width,i=this.sdkOptions.height;t.x&&(this.options.position.x=n*t.x),t.y&&(this.options.position.y=i*t.y),t.placement&&(this.options.position.placement=t.placement),(null==(r=this.activeSticker)?void 0:r.sprite)&&(this.calcPosition(),this.activeSticker.sprite.position.x=this.options.position.x,this.activeSticker.sprite.position.y=this.options.position.y)}},{key:"addSticker",value:function(t){var r=this,n=function(n){var i,o;"function"==typeof(null==(i=null==t?void 0:t.promise)?void 0:i.resolve)&&(null==(o=null==t?void 0:t.promise)||o.resolve(n)),"function"==typeof r.loadSuccesssFunc&&r.loadSuccesssFunc(t.url,null==n?void 0:n.removedID)};this.spriteStore.some(function(r){return r.id===t.url})?n():this.loadSticker(t.url,null==t?void 0:t.silenceMode).then(n).catch(function(n){var i,o;"function"==typeof(null==(i=null==t?void 0:t.promise)?void 0:i.reject)&&(null==(o=null==t?void 0:t.promise)||o.reject(n)),"function"==typeof r.loadErrorFunc&&r.loadErrorFunc(t.url)})}},{key:"calcPosition",value:function(){if("custom"!==this.options.position.placement&&this.options.position.placement){var t=this.sdkOptions.width-this.activeSticker.width,r=this.sdkOptions.height-this.activeSticker.height;if("center"===this.options.position.placement)return this.options.position.x=.5*t,void(this.options.position.y=.5*r);this.options.position.x=~this.options.position.placement.indexOf("left")?0:t,this.options.position.y=~this.options.position.placement.indexOf("top")?0:r}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lp(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lp(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==lp(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function lg(){return(lg=lu(la().mark(function t(r){var n;return la().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(r,{method:"HEAD"});case 2:return n=t.sent,t.abrupt("return",!!~n.headers.get("content-type").indexOf("video"));case 4:case"end":return t.stop()}},t)}))).apply(this,arguments)}function lv(){lv=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==lT(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(lT(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6042h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function lb(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function lw(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(lw=function(){return!!t})()}function lx(t){return(lx=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function l_(t,r){return(l_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}function lT(t){return(lT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(t,r,n,i){var o,a=arguments.length,s=a<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,n):i;if("object"===("u"<typeof Reflect?"undefined":lp(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,r,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(r,n,s):o(r,n))||s);a>3&&s&&Object.defineProperty(r,n,s)}([(0,uN.kc)(),ly("design:type",Function),ly("design:paramtypes",[String]),ly("design:returntype",void 0)],lm.prototype,"selectSticker",null);var lS=function(t,r,n,i){var o,a=arguments.length,s=a<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,n):i;if("object"===("u"<typeof Reflect?"undefined":lT(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,r,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(r,n,s):o(r,n))||s);return a>3&&s&&Object.defineProperty(r,n,s),s},lE=function(t,r){if("object"===("u"<typeof Reflect?"undefined":lT(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,r)},lO=function(){var t,r,n;function i(t,r){var n,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,i),(o=i,a=[t],o=lx(o),n=function(t,r){if(r&&("object"==lT(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,lw()?Reflect.construct(o,a||[],lx(this).constructor):o.apply(this,a))).fonts={},n.isShowing=!1,n.isHiding=!1,n.options={position:{x:0,y:0,placement:"bottom-left"},color:{primary:33777,secondary:0xffffff,text:1118481},offset:{x:0,y:0}
6042,text:{title:"LowerThird Title",subtitle:"LowerThird Subtitle",maxLengthTitle:10,maxLengthSubtitle:100}},n.setOptions(r,!1),n.ticker=new p.Ticker,n.container.visible=!1,n}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&l_(t,r)}(i,uL),n=[{key:"render",value:function(){}},{key:"setOptions",value:function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&(this.setColor(t.color),this.setOffset(t.offset),this.setPosition(t.position),this.setText(t.text),r&&this.render())}},{key:"showLowerThird",value:function(){this.stopHiding(),"function"==typeof this.showFunction&&(this.ticker.add(this.showFunction),this.ticker.started||this.ticker.start(),this.isShowing=!0)}},{key:"hideLowerThird",value:function(){this.stopShowing(),"function"==typeof this.hideFunction&&(this.isHiding=!0,this.ticker.add(this.hideFunction),this.ticker.started||this.ticker.start())}},{key:"stopShowing",value:function(){this.ticker.started&&this.ticker.stop(),this.ticker.remove(this.showFunction),this.isShowing=!1}},{key:"stopHiding",value:function(){this.ticker.started&&this.ticker.stop(),this.ticker.remove(this.hideFunction),this.isHiding=!1}},{key:"setColor",value:function(t){var r=this;t&&Object.keys(t).forEach(function(n){r.options.color[n]=t[n]})}},{key:"setOffset",value:function(t){var r=this;t&&Object.keys(t).forEach(function(n){r.options.offset[n]=Math.min(.25,Math.max(0,t[n]))})}},{key:"setPosition",value:function(t){var r=this;t&&Object.keys(t).forEach(function(n){r.options.position[n]=t[n]})}},{key:"setText",value:function(t){var r=this;t&&Object.keys(t).forEach(function(n){r.options.text[n]=t[n]})}},{key:"offsetX",value:function(){var t;return this.sdkOptions.width*(null!=(t=this.options.offset.x)?t:0)}},{key:"offsetY",value:function(){var t;return this.sdkOptions.height*(null!=(t=this.options.offset.y)?t:0)}},{key:"strTrimAndEllipsis",value:function(t,r){return(t=t.trim()).length<r?t:t.substring(0,r-3)+"..."}},{key:"showOffset",value:function(){var t=new p.Graphics;t.lineStyle({color:0xde0759,width:1}).drawRect(this.offsetX(),this.offsetY(),this.sdkOptions.width-2*this.offsetX(),this.sdkOptions.height-2*this.offsetY()),this.container.addChild(t)}},{key:"drawRectPrimary",value:function(t,r,n,i){var o=new p.Graphics;return o.beginFill(this.options.color.primary).drawRect(t,r,n,i).endFill(),o}},{key:"drawRectSecondary",value:function(t,r,n,i){var o=new p.Graphics;return o.beginFill(this.options.color.secondary).drawRect(t,r,n,i).endFill(),o}},{key:"fontFamily",value:function(t){var r;return null!=(r=this.fonts[t])?r:"Arial, Helvetica, sans-serif"}},{key:"loadFont",value:(r=lv().mark(function t(r,n){var i=this;return lv().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p.Assets.load(n).then(function(t){i.fonts[r]||(i.fonts[r]=[]),i.fonts[r].push('"'.concat(t.family.replace(/[\\"]/g,"\\$&"),'"'))}).catch(function(t){u.bv.notify({type:u.By.WARNING,message:"LowerThird font loading. ".concat(t),cause:t,emitter:u.JK.COMPONENTS_SYSTEM})});case 2:case"end":return t.stop()}},t)}),t=function(){var t=this,n=arguments;return new Promise(function(i,o){var a=r.apply(t,n);function s(t){lb(a,i,o,s,u,"next",t)}function u(t){lb(a,i,o,s,u,"throw",t)}s(void 0)})},function(r,n){return t.apply(this,arguments)})},{key:"destroy",value:function(){var t;this.stopShowing(),this.stopHiding(),this.hide(),null==(t=this.container)||t.destroy(!0)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lT(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lT(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==lT(r)?r:r+""}(i.key),i)}}(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),i}();function lA(t){return(lA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}lS([(0,uN.kc)(),lE("design:type",Function),lE("design:paramtypes",[]),lE("design:returntype",void 0)],lO.prototype,"showLowerThird",null),lS([(0,uN.kc)(),lE("design:type",Function),lE("design:paramtypes",[]),lE("design:returntype",void 0)],lO.prototype,"hideLowerThird",null);var lI=(cs=function t(r){var n,i,o,a,s,u;(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.startValue=r.startValue,this.currentValue=r.startValue,this.currentStep=0,this.endValue=null!=(n=r.endValue)?n:r.startValue,this.smoothPower=null!=(i=r.smoothPower)?i:1,this.range=this.endValue-this.startValue,this.speedNext=null!=(o=r.speedNext)?o:1,this.speedBack=null!=(s=null!=(a=r.speedBack)?a:r.speedNext)?s:1,this.smoothFunctionNext=this.getSmoothFunction(r.smoothFunctionNext),this.smoothFunctionBack=this.getSmoothFunction(null!=(u=r.smoothFunctionBack)?u:r.smoothFunctionNext)},cu=[{key:"setCurrentStep",value:function(t){this.currentStep=Math.max(0,Math.min(t,this.smoothPower))}},{key:"getCurrentStep",value:function(){return this.currentStep}},{key:"setEnd",value:function(){return this.currentStep=this.smoothPower,this.endValue}},{key:"isEnd",value:function(t){return this.currentStep>=this.smoothPower*(null!=t?t:1)}},{key:"isStart",value:function(t){return this.currentStep<=this.smoothPower*(null!=t?t:0)}},{key:"reset",value:function(){this.currentStep=0}},{key:"next",value:function(){if(this.startValue===this.endValue)return this.currentValue;var t=this.currentStep/this.smoothPower,r=this.smoothFunctionNext(t);return this.currentValue=this.startValue+this.range*r,this.currentStep=Math.min(this.smoothPower,this.currentStep+this.speedNext),this.currentValue}},{key:"back",value:function(){if(this.startValue===this.endValue)return this.currentValue;this.currentStep=Math.max(0,this.currentStep-this.speedBack);var t=this.currentStep/this.smoothPower,r=this.smoothFunctionBack(t);return this.currentValue=this.startValue+this.range*r,this.currentValue}},{key:"getSmoothFunction",value:function(t){return function(r){switch(t){case"ease-out-sine":return Math.sin(r*Math.PI/2);case"ease-out-quint":return 1-Math.pow(1-r,5);default:return r}}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lA(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lA(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==lA(r)?r:r+""}(i.key),i)}}(cs.prototype,cu),Object.defineProperty(cs,"prototype",{writable:!1}),cs);function lP(t){return(lP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lk(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(lk=function(){return!!t})()}function lC(t){return(lC=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function l$(t,r){return(l$=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var lR=function(){var t;function r(t,n){var i,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(o=r,a=[t,n],o=lC(o),i=function(t,r){if(r&&("object"==lP(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,lk()?Reflect.construct(o,a||[],lC(this).constructor):o.apply(this,a))).animations={},i.smoothPower=65,i.ltContainer=new p.Container,i.container.addChild(i.ltContainer),i.addShowFunction(),i.addHideFunction(),i.render(),i}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&l$(t,r)}(r,lO),t=[{key:"render",value:function(){var t;null==(t=this.ltContainer)||t.destroy(!0),this.ltContainer=new p.Container,this.ltContainer.position.x=this.offsetX(),this.container.addChild(this.ltContainer),this.createText(),this.addRectangles(),this.addSpriteMask(),this.ltContainer.addChild(this.rectBack),this.ltContainer.addChild(this.rectFront),this.ltContainer.addChild(this.title),this.ltContainer.addChild(this.subtitle)}},{key:"createText",value:function(){var t=this,r=this.sdkOptions.width-2*this.offsetX()-this.px(70),n=function(n,i,o){return{fontFamily:"Trebuchet MS",fontSize:t.px(n),fontWeight:i,fill:o,wordWrapWidth:r,wordWrap:!0,breakWords:!0}};this.subtitle=new p.Text(this.options.text.subtitle,n(12,"400",this.options.color.primary)),this.subtitle.position.x=-this.subtitle.width,this.subtitle.position.y=this.sdkOptions.height-this.offsetY()-this.px(12)-this.subtitle.height,this.animations.subtitle=new lI({startValue:-this.subtitle.width,endValue:this.px(15),smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint",speedBack:1.3}),this.title=new p.Text(this.options.text.title,n(20,"700",1118481)),this.title.width=Math.min(r,this.title.width),this.title.position.x=-this.title.width,this.title.position.y=this.sdkOptions.height-this.offsetY()-this.px(15)-this.subtitle.height-this.title.height,this.animations.title=new lI({startValue:-this.title.width,endValue:this.px(15),smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint",speedBack:1.3}),this.ltWidth=Math.max(this.title.width,this.subtitle.width)+this.px(45),this.ltHeight=this.title.height+this.subtitle.height+this.px(23),this.isVisible()&&(this.title.position.x=this.animations.title.setEnd(),this.subtitle.position.x=this.animations.subtitle.setEnd())}},{key:"addRectangles",value:function(){var t=this.sdkOptions.height-this.offsetY()-this.ltHeight;this.rectBack=new p.Graphics().beginFill(this.options.color.primary).drawRoundedRect(0,t,this.ltWidth,this.ltHeight,this.px(5)).endFill(),this.animations.rectBack=new lI({startValue:-this.rectBack.width,endValue:0,smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint",speedBack:1.1}),this.rectFront=new p.Graphics().beginFill(0xffffff).drawRoundedRect(0,t,this.ltWidth-this.px(15),this.ltHeight,this.px(5)).endFill(),this.rectFront.position.x=-this.ltWidth+this.px(15),this.animations.rectFront=new lI({startValue:-this.rectFront.width,endValue:0,smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint",speedBack:1.1}),this.isVisible()&&(this.rectBack.position.x=this.animations.rectBack.setEnd(),this.rectFront.position.x=this.animations.rectFront.setEnd())}},{key:"addSpriteMask",value:function(){this.mask=new p.Sprite(p.Texture.WHITE),this.mask.width=this.ltWidth,this.mask.height=this.sdkOptions.height,this.ltContainer.addChild(this.mask),this.ltContainer.mask=this.mask}},{key:"addShowFunction",value:function(){var t=this;
6042this.showFunction=function(){t.show(),t.rectBack.position.x=t.animations.rectBack.next(),t.animations.rectBack.isEnd(.3)&&(t.rectFront.position.x=t.animations.rectFront.next()),t.animations.rectBack.isEnd(.8)&&(t.title.position.x=t.animations.title.next()),t.animations.title.isEnd(.3)&&(t.subtitle.position.x=t.animations.subtitle.next()),Object.values(t.animations).reduce(function(t,r){return t&&r.isEnd()},!0)&&t.stopShowing()}}},{key:"addHideFunction",value:function(){var t=this;this.hideFunction=function(){t.isHiding||(t.stopHiding(),t.hide()),t.subtitle.position.x=t.animations.subtitle.back(),t.title.position.x=t.animations.title.back(),t.rectFront.position.x=t.animations.rectFront.back(),t.rectBack.position.x=t.animations.rectBack.back(),t.isHiding=!t.animations.rectBack.isStart()}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lP(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lP(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==lP(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function lD(t){return(lD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lM(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(lM=function(){return!!t})()}function lL(t){return(lL=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function lB(t,r){return(lB=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var lN="https://fonts.gstatic.com/s/notosans/v28/o-0NIpQlx3QUlC5A4PNjFhdVYNyB1Wk.woff2",lF="https://fonts.gstatic.com/s/notosans/v28/o-0NIpQlx3QUlC5A4PNjFhdVZNyB.woff2",lU="https://fonts.gstatic.com/s/notosans/v28/o-0NIpQlx3QUlC5A4PNjKhVVYNyB1Wk.woff2",lj="https://fonts.gstatic.com/s/notosans/v28/o-0NIpQlx3QUlC5A4PNjKhVVZNyB.woff2",lz=function(){var t;function r(t,n){var i,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(o=r,a=[t,n],o=lL(o),i=function(t,r){if(r&&("object"==lD(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,lM()?Reflect.construct(o,a||[],lL(this).constructor):o.apply(this,a))).isReady=!1,i.animations={},i.smoothPower={title:35,subtitle:35,middleLine:50},i.addShowFunction(),i.addHideFunction(),Promise.all([i.loadFont("title",lN),i.loadFont("title",lF),i.loadFont("subtitle",lU),i.loadFont("subtitle",lj)]).finally(function(){i.isReady=!0,i.render()}),i}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&lB(t,r)}(r,lO),t=[{key:"render",value:function(){var t,r;this.container.removeChild(this.middleLine),this.container.removeChild(this.titleContainer),this.container.removeChild(this.subtitleContainer),null==(t=this.titleContainer)||t.destroy(!0),null==(r=this.subtitleContainer)||r.destroy(!0),this.createText(),this.createRectangles(),this.container.addChild(this.middleLine),this.container.addChild(this.titleContainer),this.container.addChild(this.subtitleContainer)}},{key:"createText",value:function(){this.title=new p.Text(this.options.text.title,{fontFamily:this.fontFamily("title"),fontSize:this.px(35),fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0,align:"right"}),this.title.position.x=0,this.title.position.y=this.title.height,this.titleContainer=new p.C
6042ontainer,this.titleContainer.width=this.title.width,this.titleContainer.height=this.title.height+this.px(200);var t=new p.Sprite(p.Texture.WHITE);t.tint=0,t.width=this.title.width,t.height=this.title.height,t.position.x=0,t.position.y=0,this.titleContainer.addChild(t),this.titleContainer.mask=t,this.titleContainer.addChild(this.title),this.animations.title=new lI({startValue:this.title.position.y,endValue:0,smoothPower:this.smoothPower.title,smoothFunctionNext:"ease-out-quint"}),this.subtitle=new p.Text(this.options.text.subtitle,{fontFamily:this.fontFamily("subtitle"),fontSize:this.px(13),fontWeight:"100",fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0,align:"right"}),this.subtitle.position.x=0,this.subtitle.position.y=-this.subtitle.height-this.px(20),this.subtitleContainer=new p.Container,this.subtitleContainer.width=this.subtitle.width,this.subtitleContainer.height=this.subtitle.height+this.px(20);var r=new p.Sprite(p.Texture.WHITE);r.tint=0,r.width=this.subtitle.width,r.height=this.subtitle.height,r.position.x=0,r.position.y=0,this.subtitleContainer.addChild(r),this.subtitleContainer.mask=r,this.subtitleContainer.addChild(this.subtitle),this.animations.subtitle=new lI({startValue:this.subtitle.position.y,smoothPower:this.smoothPower.subtitle,endValue:0,smoothFunctionNext:"ease-out-quint"}),this.ltWidth=Math.max(this.title.width,this.subtitle.width)+this.px(25),this.ltHeight=this.titleContainer.height+this.subtitleContainer.height+this.px(10),this.titleContainer.position.x=this.offsetX(),this.subtitleContainer.position.x=this.offsetX();var n=this.titleContainer.width-this.subtitleContainer.width;n>0?this.subtitleContainer.position.x+=n:this.titleContainer.position.x-=n,this.titleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.ltHeight,this.subtitleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.subtitleContainer.height,this.isVisible()&&(this.title.position.y=0,this.subtitle.position.y=0,this.animations.title.setCurrentStep(this.smoothPower.title),this.animations.subtitle.setCurrentStep(this.smoothPower.subtitle))}},{key:"createRectangles",value:function(){this.middleLine=new p.Graphics;var t=this.ltWidth+this.offsetX(),r=this.sdkOptions.height-this.offsetY()-this.subtitleContainer.height-this.px(8);this.middleLine.beginFill(this.options.color.primary).drawRoundedRect(-t-this.px(2),r,t,this.px(3),this.px(2)).endFill(),this.animations.middleLine=new lI({startValue:0,smoothPower:this.smoothPower.middleLine,endValue:t,smoothFunctionNext:"ease-out-quint"}),this.isVisible()&&(this.middleLine.position.x=t,this.animations.middleLine.setCurrentStep(this.smoothPower.middleLine))}},{key:"addShowFunction",value:function(){var t=this;this.showFunction=function(){t.isReady&&(t.show(),t.middleLine.position.x=t.animations.middleLine.next(),t.animations.middleLine.isEnd(.5)&&(t.title.position.y=t.animations.title.next()),t.animations.middleLine.isEnd(.5)&&(t.subtitle.position.y=t.animations.subtitle.next()),Object.values(t.animations).reduce(function(t,r){return t&&r.isEnd()},!0)&&t.stopShowing())}}},{key:"addHideFunction",value:function(){var t=this;this.hideFunction=function(){t.isHiding?(t.title.position.y=t.animations.title.back(),t.subtitle.position.y=t.animations.subtitle.back(),t.animations.title.isStart(.7)&&(t.middleLine.position.x=t.animations.middleLine.back()),t.isHiding=!Object.values(t.animations).reduce(function(t,r){return t&&r.isStart()},!0)):(t.stopHiding(),t.hide())}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lD(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lD(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==lD(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function lG(t){return(lG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lV(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(lV=function(){return!!t})()}function lW(t){return(lW=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}
6042function lH(t,r){return(lH=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var lq="https://fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr73w9aXpsog.woff2",lY="https://fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr73w5aXo.woff2",lX="https://fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr6Hw9aXpsog.woff2",lK="https://fonts.gstatic.com/s/montserrat/v25/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr6Hw5aXo.woff2",lZ=function(){var t;function r(t,n){var i,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(o=r,a=[t,n],o=lW(o),i=function(t,r){if(r&&("object"==lG(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,lV()?Reflect.construct(o,a||[],lW(this).constructor):o.apply(this,a))).titleFontSize=35,i.animations={},i.isReady=!1,i.smoothPower={title:95,subtitle:95,titleRect:75,titleTextMask:75,titleRectMask:75,rectFront:40,rectBack:40},i.addShowFunction(),i.addHideFunction(),Promise.all([i.loadFont("title",lq),i.loadFont("title",lY),i.loadFont("subtitle",lX),i.loadFont("subtitle",lK)]).finally(function(){i.isReady=!0,i.render()}),i}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&lH(t,r)}(r,lO),t=[{key:"render",value:function(){var t,r,n;this.container.removeChild(this.titleContainer),this.container.removeChild(this.subtitleContainer),this.container.removeChild(this.vertLineContainer),null==(t=this.titleContainer)||t.destroy(!0),null==(r=this.subtitleContainer)||r.destroy(!0),null==(n=this.vertLineContainer)||n.destroy(!0),this.createSubtitle(),this.createTitle(),this.createRectangles(),this.container.addChild(this.titleContainer),this.container.addChild(this.subtitleContainer),this.container.addChild(this.vertLineContainer)}},{key:"createTitle",value:function(){this.title=new p.Text(null==(t=this.options.text.title)?void 0:t.toUpperCase(),{fontFamily:this.fontFamily("title"),fontSize:this.px(this.titleFontSize),fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0,lineHeight:this.px(this.titleFontSize)}),this.title.position.x=.3*this.title.width,this.animations.title=new lI({startValue:this.title.position.x,endValue:this.px(10),smoothPower:this.smoothPower.title,smoothFunctionNext:"ease-out-quint",speedBack:1.3});var t,r=new p.Container;r.width=this.title.width+this.px(10),r.height=this.title.height,r.addChild(this.title),this.titleTextMask=new p.Sprite(p.Texture.WHITE),this.titleTextMask.width=0,this.titleTextMask.height=this.title.height,r.addChild(this.titleTextMask),r.mask=this.titleTextMask,this.animations.titleTextMask=new lI({startValue:0,endValue:this.title.width+this.px(10),smoothPower:this.smoothPower.titleTextMask,smoothFunctionNext:"ease-out-quint",speedBack:1.25}),this.titleRect=this.drawRectSecondary(0,this.px(this.titleFontSize/3.5),this.title.width,this.title.height-this.px(this.titleFontSize/2.2)),this.animations.titleRect=new lI({startValue:-(.2*this.title.width),endValue:this.title.width+this.px(35),smoothPower:this.smoothPower.titleRect,smoothFunctionNext:"ease-out-quint",speedNext:.5,speedBack:1.1});var n=new p.Container;n.width=this.titleRect.width,n.height=this.titleRect.height,n.addChild(this.titleRect),this.titleRectMask=new p.Sprite(p.Texture.WHITE),this.titleRectMask.width=0,this.titleRectMask.height=this.title.height,n.addChild(this.titleRectMask),n.mask=this.titleRectMask,this.animations.titleRectMask=new lI({startValue:0,endValue:this.title.width+this.px(35),smoothPower:this.smoothPower.titleRectMask,smoothFunctionNext:"ease-out-quint",speedNext:1.5,speedBack:1}
6042),this.titleContainer=new p.Container,this.titleContainer.width=this.title.width+this.px(10),this.titleContainer.height=this.title.height,this.titleContainer.addChild(r),this.titleContainer.addChild(n),this.ltHeight=this.title.height+this.subtitleContainer.height,this.titleContainer.position.x=this.offsetX(),this.titleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.ltHeight+this.px(3),this.isVisible()&&(this.title.position.x=this.animations.title.setEnd(),this.titleTextMask.width=this.animations.titleTextMask.setEnd(),this.titleRect.position.x=this.animations.titleRect.setEnd(),this.titleRectMask.width=this.animations.titleRectMask.setEnd())}},{key:"createSubtitle",value:function(){this.subtitle=new p.Text(null==(t=this.options.text.subtitle)?void 0:t.toUpperCase(),{fontFamily:this.fontFamily("subtitle"),fontSize:this.px(11),fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0}),this.subtitle.position.x=-this.subtitle.width,this.animations.subtitle=new lI({startValue:this.subtitle.position.x,endValue:this.px(11),smoothPower:this.smoothPower.subtitle,smoothFunctionNext:"ease-out-quint",speedBack:1.2}),this.subtitleContainer=new p.Container,this.subtitleContainer.width=this.subtitle.width+this.px(10),this.subtitleContainer.height=this.subtitle.height,this.subtitleContainer.addChild(this.subtitle),this.subtitleContainer.position.x=this.offsetX(),this.subtitleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.subtitle.height;var t,r=new p.Sprite(p.Texture.WHITE);r.width=this.subtitle.width+this.px(10),r.height=this.subtitle.height,this.subtitleContainer.addChild(r),this.subtitleContainer.mask=r,this.isVisible()&&(this.subtitle.position.x=this.animations.subtitle.setEnd())}},{key:"createRectangles",value:function(){var t=this.title.height-this.px(this.titleFontSize/2.2);this.rectFront=this.drawRectPrimary(0,0,this.px(4),t),this.animations.rectFront=new lI({startValue:t,endValue:0,smoothPower:this.smoothPower.rectFront,smoothFunctionNext:"ease-out-quint",speedNext:.8,speedBack:1}),this.rectBack=this.drawRectSecondary(0,0,this.px(4),this.px(4)),this.animations.rectBack=new lI({startValue:t,endValue:-this.px(4),smoothPower:this.smoothPower.rectFront,smoothFunctionNext:"ease-out-quint",speedNext:1.5,speedBack:.6}),this.vertLineContainer=new p.Container,this.vertLineContainer.width=this.rectFront.width,this.vertLineContainer.height=t,this.vertLineContainer.addChild(this.rectBack),this.vertLineContainer.addChild(this.rectFront),this.vertLineContainer.position.x=this.offsetX(),this.vertLineContainer.position.y=this.titleContainer.position.y+this.px(this.titleFontSize/3.5);var r=new p.Sprite(p.Texture.WHITE);r.width=this.vertLineContainer.width,r.height=t,this.vertLineContainer.addChild(r),this.vertLineContainer.mask=r,this.isVisible()&&(this.rectFront.position.y=this.animations.rectFront.setEnd())}},{key:"addShowFunction",value:function(){var t=this;this.showFunction=function(){t.isReady&&(t.show(),t.rectFront.position.y=t.animations.rectFront.next(),t.rectBack.position.y=t.animations.rectBack.next(),t.animations.rectFront.isEnd(.9)&&(t.title.position.x=t.animations.title.next(),t.subtitle.position.x=t.animations.subtitle.next(),t.titleTextMask.width=t.animations.titleTextMask.next(),t.titleRectMask.width=t.animations.titleRectMask.next(),t.titleRect.position.x=t.animations.titleRect.next(),Object.values(t.animations).reduce(function(t,r){return t&&r.isEnd()},!0)&&t.stopShowing()))}}},{key:"addHideFunction",value:function(){var t=this;this.hideFunction=function(){t.isHiding?(t.title.position.x=t.animations.title.back(),t.subtitle.position.x=t.animations.subtitle.back(),t.animations.titleRect.getCurrentStep()<t.smoothPower.titleRect-2&&(t.titleTextMask.width=t.animations.titleTextMask.back()),t.titleRect.position.x=t.animations.titleRect.back(),t.titleRectMask.width=t.animations.titleRectMask.back(),t.animations.titleRectMask.isStart(.2)&&(t.rectBack.position.y=t.animations.rectBack.back(),t.rectFront.position.y=t.animations.rectFront.back()),t.isHiding=!Object.values(t.animations).reduce(function(t,r){return t&&r.isStart()},!0)):(t.stopHiding(),t.hide())}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lG(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lG(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==lG(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function lJ(t){return(lJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lQ(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(lQ=function(){return!!t})()}function l1(t){return(l1=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function l0(t,r){return(l0=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var l3="https://fonts.gstatic.com/s/geologica/v1/oY1l8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckUWF1lEP2A.woff2",l6="https://fonts.gstatic.com/s/geologica/v1/oY1l8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckUWE1lE.woff2",l5="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlC
6042DUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqD8Hsc-ASAEWn.woff2",l9="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqD8Hsc-QSAA.woff2",l2=function(){var t;function r(t,n){var i,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(o=r,a=[t,n],o=l1(o),i=function(t,r){if(r&&("object"==lJ(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,lQ()?Reflect.construct(o,a||[],l1(this).constructor):o.apply(this,a))).animations={},i.isReady=!1,i.smoothPower={title:75,subtitle:65,rectFront:40,rectBack:40},i.addShowFunction(),i.addHideFunction(),Promise.all([i.loadFont("title",l3),i.loadFont("title",l6),i.loadFont("subtitle",l5),i.loadFont("subtitle",l9)]).finally(function(){i.isReady=!0,i.render()}),i}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&l0(t,r)}(r,lO),t=[{key:"render",value:function(){var t,r;this.container.removeChild(this.titleContainer),this.container.removeChild(this.subtitleContainer),null==(t=this.titleContainer)||t.destroy(!0),null==(r=this.subtitleContainer)||r.destroy(!0),this.createSubtitle(),this.createTitle(),this.createRectangles(),this.container.addChild(this.titleContainer),this.container.addChild(this.subtitleContainer)}},{key:"createSubtitle",value:function(){this.subtitle=new p.Text(this.options.text.subtitle,{fontFamily:this.fontFamily("subtitle"),fontSize:this.px(13),fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0});var t=this.subtitle.width+this.px(6);this.subtitle.position.x=-this.subtitle.width,this.subtitle.position.y=this.px(3),this.animations.subtitle=new lI({startValue:this.subtitle.position.x,endValue:this.px(10),smoothPower:this.smoothPower.subtitle,smoothFunctionNext:"ease-out-quint"}),this.subtitleContainer=new p.Container,this.subtitleContainer.width=t,this.subtitleContainer.height=this.subtitle.height+this.px(6),this.subtitleContainer.position.x=this.offsetX(),this.subtitleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.subtitle.height-this.px(6),this.isVisible()&&(this.subtitle.position.x=this.animations.subtitle.setEnd())}},{key:"createTitle",value:function(){this.title=new p.Text(this.options.text.title,{fontFamily:this.fontFamily("title"),fontSize:this.px(30),fill:0xffffff,wordWrapWidth:this.sdkOptions.width-2*this.offsetX(),wordWrap:!0,breakWords:!0}),this.title.position.y=this.title.height,this.animations.title=new lI({startValue:this.title.position.y,endValue:0,smoothPower:this.smoothPower.title,smoothFunctionNext:"ease-out-quint"});var t=new p.Sprite(p.Texture.WHITE);t.width=this.title.width,t.height=this.title.height,this.titleContainer=new p.Container,this.titleContainer.width=this.title.width,this.titleContainer.height=this.title.height,this.titleContainer.addChild(this.title),this.titleContainer.addChild(t),this.titleContainer.mask=t,this.ltWidth=Math.max(this.title.width,this.subtitle.width+this.px(15)),this.ltHeight=this.title.height+this.subtitle.height,this.titleContainer.position.x=this.offsetX(),this.titleContainer.position.y=this.sdkOptions.height-this.offsetY()-this.ltHeight-this.px(6),this.isVisible()&&(this.title.position.y=this.animations.title.setEnd())}},{key:"createRectangles",value:function(){var t=this.subtitle.height+this.px(6),r=this.ltWidth;this.rectFront=this.drawRectPrimary(0,0,r,t),this.rectFront.position.x=-r,this.animations.rectFront=new lI({startValue:-r,endValue:0,smoothPower:this.smoothPower.rectFront,smoothFunctionNext:"ease-out-quint"}),this.rectBack=this.drawRectSecondary(0,0,r,t),this.rectBack.position.x=r,this.animations.rectBack=new lI({startValue:r,endValue:0,smoothPower:this.smoothPower.rectFront,smoothFunctionNext:"ease-out-quint"});var n=new p.Sprite(p.Texture.WHITE);n.width=r,n.height=this.subtitle.height+this.px(6),this.subtitleContainer.addChild(n),this.subtitleContainer.mask=n,this.subtitleContainer.addChild(this.rectBack),this.subtitleContainer.addChild(this.rectFront),this.subtitleContainer.addChild(this.subtitle),this.isVisible()&&(this.rectFront.position.x=this.animations.rectFront.setEnd(),this.rectBack.position.x=this.animations.rectBack.setEnd())}},{key:"addShowFunction",value:function(){var t=this;
6042this.showFunction=function(){t.isReady&&(t.show(),t.rectBack.position.x=t.animations.rectBack.next(),t.animations.rectBack.isEnd()&&(t.rectFront.position.x=t.animations.rectFront.next(),t.animations.rectFront.isEnd(.3)&&(t.subtitle.position.x=t.animations.subtitle.next(),t.title.position.y=t.animations.title.next(),t.animations.title.isEnd()&&t.animations.subtitle.isEnd()&&t.stopShowing())))}}},{key:"addHideFunction",value:function(){var t=this;this.hideFunction=function(){t.isHiding?(t.title.position.y=t.animations.title.back(),t.subtitle.position.x=t.animations.subtitle.back(),t.animations.subtitle.isStart(.5)&&(t.rectFront.position.x=t.animations.rectFront.back(),t.animations.rectFront.isStart()&&(t.rectBack.position.x=t.animations.rectBack.back())),t.isHiding=!Object.values(t.animations).reduce(function(t,r){return t&&r.isStart()},!0)):(t.stopHiding(),t.hide())}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=lJ(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=lJ(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==lJ(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function l7(t){return(l7="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var l8=(cl=function t(r,n){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.padding=20,this.smoothPower=75,this.startRectValue=0,this.sdkOptions=r,this.container=new p.Container,this.addText(n),this.addRect(n),this.addHidden(n);var i=new p.Sprite(p.Texture.WHITE);i.height=this.height,i.width=n.offsetX+this.width,i.position.x=-n.offsetX,this.container.addChild(i),this.container.mask=i,n.isVisible&&(this.text.position.x=this.textInAnimation.setEnd(),this.hiddenMask.position.x=this.hiddenMaskAnimation.setEnd(),this.rect.position.x=this.rectAnimation.setEnd())},ch=[{key:"textInAnimateFunction",value:function(){this.text.position.x=this.textInAnimation.next()}},{key:"textOutAnimateFunction",value:function(){this.text.position.x=this.textOutAnimation.next()}},{key:"textResetFunction",value:function(){this.text.position.x=2*this.px(this.padding)+this.width}},{key:"rectAnimateFunction",value:function(t){this.rect.position.x=t?this.rectAnimation.next():this.rectAnimation.back()}},{key:"hiddenMaskAnimateFunction",value:function(t){this.hiddenMask.position.x=t?this.rectAnimation.next():this.rectAnimation.back()}},{key:"destroy",value:function(){var t;null==(t=this.container)||t.destroy(!0)}},{key:"addText",value:function(t){this.text=new p.Text(t.text,{fontFamily:t.fontfamily,fontSize:this.px(t.size),fill:t.colorText,wordWrapWidth:this.sdkOptions.width-2*t.offsetX-2*this.px(this.padding),wordWrap:!0,breakWords:!0}),this.height=1.2*this.text.height,this.width=this.text.width+2*this.px(this.padding);var r=2*this.px(this.padding)+this.width;this.text.position.x=r,this.text.position.y=this.px(t.size/8.5),this.textInAnimation=new lI({startValue:r,endValue:this.px(this.padding),smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint"}),this.textOutAnimation=new lI({startValue:this.px(this.padding),endValue:-this.width-this.px(this.padding)-t.offsetX,smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint"}),this.container.addChild(this.text)}},{key:"addRect",value:function(t){this.rect=new p.Graphics().beginFill(t.colorRect).drawRect(0,0,this.width,this.height).endFill(),this.startRectValue=-t.offsetX-this.width,this.rect.position.x=this.startRectValue,this.rectAnimation=new lI({startValue:this.startRectValue,endValue:0,smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint"}),this.container.addChild(this.rect)}},{key:"addHidden",value:function(t){this.hiddenMask=new p.Sprite(p.Texture.WHITE),this.hiddenMask.width=this.width,this.hiddenMask.height=this.height,this.hiddenMask.position.x=this.startRectValue,this.hiddenMaskAnimation=new lI({startValue:this.startRectValue,endValue:0,smoothPower:this.smoothPower,smoothFunctionNext:"ease-out-quint"});var r=new p.Text(t.text,{fontFamily:t.fontfamily,fontSize:this.px(t.size),fill:t.colorTextHidden,wordWrapWidth:this.sdkOptions.width-2*t.offsetX-2*this.px(this.padding),wordWrap:!0,breakWords:!0});
6042this.hiddenContainer=new p.Container,this.hiddenContainer.addChild(r),this.hiddenContainer.position.x=this.px(this.padding),this.hiddenContainer.position.y=this.px(t.size/8.5),this.hiddenContainer.addChild(this.hiddenMask),this.hiddenContainer.mask=this.hiddenMask,this.container.addChild(this.hiddenContainer)}},{key:"px",value:function(t){return this.sdkOptions.width/640*t}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=l7(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=l7(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==l7(r)?r:r+""}(i.key),i)}}(cl.prototype,ch),Object.defineProperty(cl,"prototype",{writable:!1}),cl);function l4(t){return(l4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function he(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(he=function(){return!!t})()}function ht(t){return(ht=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function hr(t,r){return(hr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var hn="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlC
6042DUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqD8Hsc-ASAEWn.woff2",hi="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqD8Hsc-QSAA.woff2",ho="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqDx_rc-ASAEWn.woff2",ha="https://fonts.gstatic.com/s/geologica/v1/oY1o8evIr7j9P3TN9YwNAdyjzUyDKkKdAGOJh1UlCDUIhAIdhCZOn1fLsig7jfvCCPHZckU8H3G11_z-_OZqDx_rc-QSAA.woff2",hs=function(){var t;function r(t,n){var i,o,a;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(o=r,a=[t,n],o=ht(o),i=function(t,r){if(r&&("object"==l4(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,he()?Reflect.construct(o,a||[],ht(this).constructor):o.apply(this,a))).isTitleTextShown=!1,i.isTitleRectHidden=!1,i.isSubtitleTextShown=!1,i.isSubtitleRectHidden=!1,i.delay=300,i.gap=3,i.isReady=!1,i.addShowFunction(),i.addHideFunction(),Promise.all([i.loadFont("title",hn),i.loadFont("title",hi),i.loadFont("subtitle",ho),i.loadFont("subtitle",ha)]).finally(function(){i.isReady=!0,i.render()}),i}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&hr(t,r)}(r,lO),t=[{key:"render",value:function(){var t,r,n,i;this.container.removeChild(null==(t=this.titleBox)?void 0:t.container),null==(r=this.titleBox)||r.destroy(),this.container.removeChild(null==(n=this.subtitleBox)?void 0:n.container),null==(i=this.subtitleBox)||i.destroy(),this.subtitleBox=new l8(this.sdkOptions,{fontfamily:this.fontFamily("subtitle"),text:this.options.text.subtitle,colorText:this.options.color.primary,colorTextHidden:0xffffff,colorRect:this.options.color.primary,size:12,isVisible:this.isVisible(),offsetX:this.offsetX()}),this.subtitleBox.container.position.x=this.offsetX(),this.subtitleBox.container.position.y=this.sdkOptions.height-this.offsetY()-this.subtitleBox.height,this.titleBox=new l8(this.sdkOptions,{fontfamily:this.fontFamily("title"),text:this.options.text.title,colorText:this.options.color.primary,colorTextHidden:2236962,colorRect:this.options.color.secondary,size:25,isVisible:this.isVisible(),offsetX:this.offsetX()}),this.titleBox.container.position.x=this.offsetX(),this.titleBox.container.position.y=this.sdkOptions.height-this.offsetY()-this.titleBox.height-this.subtitleBox.height-this.px(this.gap),this.container.addChild(this.titleBox.container),this.container.addChild(this.subtitleBox.container)}},{key:"addShowFunction",value:function(){var t=this;this.showFunction=function(){var r,n;t.isReady&&(t.isTitleRectHidden=!1,t.isSubtitleRectHidden=!1,null==(r=t.titleBox)||r.textOutAnimation.reset(),null==(n=t.subtitleBox)||n.textOutAnimation.reset(),t.show(),t.titleBox.textInAnimateFunction(),t.titleBox.textInAnimation.isEnd(.8)&&setTimeout(function(){return t.isTitleTextShown=!0},t.delay),t.isTitleTextShown&&(t.titleBox.rectAnimateFunction(!0),t.titleBox.hiddenMaskAnimateFunction(!0)),t.subtitleBox.textInAnimateFunction(),t.subtitleBox.textInAnimation.isEnd(.8)&&setTimeout(function(){t.isSubtitleTextShown=!0},t.delay),t.isSubtitleTextShown&&(t.subtitleBox.rectAnimateFunction(!0),t.subtitleBox.hiddenMaskAnimateFunction(!0)),t.titleBox.rectAnimation.isEnd()&&t.subtitleBox.rectAnimation.isEnd()&&t.stopShowing())}}},{key:"addHideFunction",value:function(){var t=this;this.hideFunction=function(){(t.isTitleTextShown=!1,t.isSubtitleTextShown=!1,t.titleBox.textInAnimation.reset(),t.subtitleBox.textInAnimation.reset(),t.isHiding)?(t.titleBox.rectAnimateFunction(!1),t.titleBox.hiddenMaskAnimateFunction(!1),t.titleBox.rectAnimation.isStart()&&setTimeout(function(){return t.isTitleRectHidden=!0},t.delay),t.isTitleRectHidden&&t.titleBox.textOutAnimateFunction(),t.subtitleBox.rectAnimateFunction(!1),t.subtitleBox.hiddenMaskAnimateFunction(!1),t.subtitleBox.rectAnimation.isStart()&&setTimeout(function(){return t.isSubtitleRectHidden=!0},t.delay),t.isSubtitleRectHidden&&t.subtitleBox.textOutAnimateFunction(),t.isHiding=!t.titleBox.textOutAnimation.isEnd()&&!t.subtitleBox.textOutAnimation.isEnd()):(t.stopHiding(),t.hide(),t.titleBox.textResetFu
6042nction(),t.subtitleBox.textResetFunction())}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=l4(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=l4(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==l4(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function hu(t){return(hu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var hl=(cc=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.store=new Map},cf=[{key:"setCallback",value:function(t,r){return"function"!=typeof r?(this.store.delete(t),!1):(this.store.set(t,r),!0)}},{key:"getCallback",value:function(t){return this.store.get(t)}},{key:"call",value:function(t){var r=this.store.get(t);if("function"==typeof r)return r()}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=hu(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=hu(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==hu(r)?r:r+""}(i.key),i)}}(cc.prototype,cf),Object.defineProperty(cc,"prototype",{writable:!1}),cc),hh=a(7036),hc=a(1707),hf=a.n(hc);function hd(t){return(hd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var hp=(cd=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.state="inactive",this._duration=0,this.timeStart=0},cp=[{key:"duration",get:function(){return"active"===this.state?Date.now()-this.timeStart+this._duration:this._duration}},{key:"start",value:function(){"inactive"===this.state&&(this._duration=0,this.state="active",this.timeStart=Date.now())}},{key:"stop",value:function(){"inactive"!==this.state&&("active"===this.state&&(this._duration=this._duration+Date.now()-this.timeStart),this.state="inactive")}},{key:"pause",value:function(){"active"===this.state&&(this.state="paused",this._duration=this._duration+Date.now()-this.timeStart)}},{key:"resume",value:function(){"paused"===this.state&&(this.state="active",this.timeStart=Date.now())}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=hd(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=hd(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==hd(r)?r:r+""}(i.key),i)}}(cd.prototype,cp),Object.defineProperty(cd,"prototype",{writable:!1}),cd);function hy(){hy=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&
vendor: 5,338 bytes, line 6042
6042(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==hg(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(hg(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;
6042if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function hm(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function hg(t){return(hg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var hv=(cg=function t(){(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.onStartFunction=function(){},this.blobPromise=new hh.P,this.timer=new hp},cv=[{key:"removeTracks",value:function(t){var r=this;this.stream&&("audio"===t?r.stream.getAudioTracks():"video"===t?r.stream.getVideoTracks():r.stream.getTracks()).forEach(function(t){r.stream.removeTrack(t)})}},{key:"initRecorder",value:function(t){var r=this;this.isActive()&&this.stop(),this.recorder=new MediaRecorder(t,{mimeType:this.mimeType}),this.recorder.ondataavailable=function(t){return r.blobPromise.resolve(t.data)}}},{key:"start",value:function(){return!!this.recorder&&"inactive"===this.recorder.state&&(this.blobPromise.createPromise(),this.recorder.start(),this.timer.start(),this.onStartFunction(),!0)}},{key:"resume",value:function(){return!!this.recorder&&"paused"===this.recorder.state&&(this.recorder.resume(),this.timer.resume(),!0)}},{key:"pause",value:function(){return!!this.recorder&&"recording"===this.recorder.state&&(this.recorder.pause(),this.timer.pause(),!0)}},{key:"stop",value:function(){return!!this.recorder&&"inactive"!==this.recorder.state&&(this.recorder.stop(),this.timer.stop(),!0)}},{key:"getRecord",value:(cm=hy().mark(function t(){var r;return hy().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("inactive"===this.recorder.state){t.next=2;break}throw"[ recorder ]: Cannot get blob. First you need to stop the record.";case 2:return t.next=4,this.blobPromise.promise;case 4:if(r=t.sent){t.next=7;break}return t.abrupt("return",void 0);case 7:return t.next=9,hf()(r,this.timer.duration,{logger:!1});case 9:return t.abrupt("return",r);case 10:case"end":return t.stop()}},t,this)}),cy=function(){var t=this,r=arguments;return new Promise(function(n,i){var o=cm.apply(t,r);function a(t){hm(o,n,i,a,s,"next",t)}function s(t){hm(o,n,i,a,s,"throw",t)}a(void 0)})},function(){return cy.apply(this,arguments)})},{key:"setVideoTrack",value:function(t){t&&(this.removeTracks("video"),this.stream||(this.stream=new MediaStream),this.stream.addTrack(t),this.initRecorder(this.stream))}},{key:"setSDKVideoTrack",value:function(t){this.sdkVideoTrack=t,this.setVideoTrack(t)}},{key:"setAudioTracks",value:function(t){if(0!==t.length){if(this.removeTracks("audio"),this.stream||(this.stream=new MediaStream),1===t.length)return this.stream.addTrack(t[0]),void this.initRecorder(this.stream);var r=new AudioContext,n=r.createMediaStreamDestination();t.forEach(function(t){var i=new MediaStream;i.addTrack(t),r.createMediaStreamSource(i).connect(n)});var i=n.stream;this.stream.addTrack(i.getAudioTracks()[0]),this.initRecorder(this.stream)}}},{key:"setMimeType",value:function(t){MediaRecorder.isTypeSupported(t)?(this.mimeType=t,this.recorder&&this.stream&&this.initRecorder(this.stream)):u.bv.notify({message:"mimeType ".concat(t," is not supported."),emitter:u.JK.RECORDER})}},{key:"onStart",value:function(t){"function"==typeof t&&(this.onStartFunction=t)}},{key:"isActive",value:function(){var t,r;return"recording"===(null==(t=this.recorder)?void 0:t.state)||"paused"===(null==(r=this.recorder)?void 0:r.state)}},{key:"getDuration",value:function(){return this.timer.duration}},{key:"getSDKTracks",value:function(){return{sdkAudioTrack:this.sdkAudioTrack,sdkVideoTrack:this.sdkVideoTrack}}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=hg(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=hg(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}
6042(t,"string");return"symbol"==hg(r)?r:r+""}(i.key),i)}}(cg.prototype,cv),Object.defineProperty(cg,"prototype",{writable:!1}),cg);hv=function(t,r,n,i){var o,a=arguments.length,s=a<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,n):i;if("object"===("u"<typeof Reflect?"undefined":hg(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,r,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(r,n,s):o(r,n))||s);return a>3&&s&&Object.defineProperty(r,n,s),s}([(0,uN.Y)("recorder"),function(t,r){if("object"===("u"<typeof Reflect?"undefined":hg(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,r)}("design:paramtypes",[])],hv);var hb=a(4509),hw=a(4486);function hx(t){return(hx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h_(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(h_=function(){return!!t})()}
6042function hT(t){return(hT=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function hS(t,r){return(hS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t})(t,r)}var hE,hO,hA,hI,hP,hk,hC,h$,hR,hD,hM,hL,hB,hN,hF,hU,hj,hz,hG,hV,hW,hH,hq,hY,hX,hK,hZ,hJ,hQ,h1,h0,h3,h6,h5,h9,h2,h7,h8,h4,ce,ct,cr,cn,ci,co,ca,cs,cu,cl,ch,cc,cf,cd,cp,cy,cm,cg,cv,cb,cw=function(){var t;function r(){var t,n;return function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")}(this,r),(n=hT(n=r),t=function(t,r){if(r&&("object"==hx(r)||"function"==typeof r))return r;if(void 0!==r)throw TypeError("Derived constructors may only return object or undefined");var n=t;if(void 0===n)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(this,h_()?Reflect.construct(n,[],hT(this).constructor):n.apply(this,void 0))).streamWidth=1280,t.streamHeight=720,t.customWidth=1280,t.customHeight=720,t.customSize=!1,t}return function(t,r){if("function"!=typeof r&&null!==r)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&hS(t,r)}(r,hw.b),t=[{key:"setSize",value:function(t,r){var n=!1;
6042this.streamWidth!=t&&(this.streamWidth=t,n=!0),this.streamHeight!=r&&(this.streamHeight=r,n=!0),n&&this.emit("update",this)}},{key:"clearCustomSize",value:function(){this.customSize=!1,this.emit("update",this)}},{key:"setCustomSize",value:function(t,r){this.customSize=!0,this.customHeight=r,this.customWidth=t,this.emit("update",this)}},{key:"isCustomSize",value:function(){return this.customSize}},{key:"width",get:function(){return this.isCustomSize()?this.customWidth:this.streamWidth}},{key:"height",get:function(){return this.isCustomSize()?this.customHeight:this.streamHeight}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=hx(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=hx(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==hx(r)?r:r+""}(i.key),i)}}(r.prototype,t),Object.defineProperty(r,"prototype",{writable:!1}),r}();function cx(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,i=Array(r);n<r;n++)i[n]=t[n];return i}function c_(){c_=function(){return r};var t,r={},n=Object.prototype,i=n.hasOwnProperty,o=Object.defineProperty||function(t,r,n){t[r]=n.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function h(t,r,n){return Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,n){return t[r]=n}}function c(r,n,i,a){var s,u,l,h,c=Object.create((n&&n.prototype instanceof g?n:g).prototype);return o(c,"_invoke",{value:(s=r,u=i,l=new I(a||[]),h=d,function(r,n){if(h===p)throw Error("Generator is already running");if(h===y){if("throw"===r)throw n;return{value:t,done:!0}}for(l.method=r,l.arg=n;;){var i=l.delegate;if(i){var o=function r(n,i){var o=i.method,a=n.iterator[o];if(a===t)return i.delegate=null,"throw"===o&&n.iterator.return&&(i.method="return",i.arg=t,r(n,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+o+"' method")),m;var s=f(a,n.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var u=s.arg;return u?u.done?(i[n.resultName]=u.value,i.next=n.nextLoc,"return"!==i.method&&(i.method="next",i.arg=t),i.delegate=null,m):u:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,m)}(i,l);if(o){if(o===m)continue;return o}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===d)throw h=y,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var a=f(s,u,l);if("normal"===a.type){if(h=l.done?y:"suspendedYield",a.arg===m)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(h=y,l.method="throw",l.arg=a.arg)}})}),c}function f(t,r,n){try{return{type:"normal",arg:t.call(r,n)}}catch(t){return{type:"throw",arg:t}}}r.wrap=c;var d="suspendedStart",p="executing",y="completed",m={};function g(){}function v(){}function b(){}var w={};h(w,s,function(){return this});var x=Object.getPrototypeOf,_=x&&x(x(P([])));_&&_!==n&&i.call(_,s)&&(w=_);var T=b.prototype=g.prototype=Object.create(w);function S(t){["next","throw","return"].forEach(function(r){h(t,r,function(t){return this._invoke(r,t)})})}function E(t,r){var n;o(this,"_invoke",{value:function(o,a){function s(){return new r(function(n,s){!function n(o,a,s,u){var l=f(t[o],t,a);if("throw"!==l.type){var h=l.arg,c=h.value;return c&&"object"==cE(c)&&i.call(c,"__await")?r.resolve(c.__await).then(function(t){n("next",t,s,u)},function(t){n("throw",t,s,u)}):r.resolve(c).then(function(t){h.value=t,s(h)},function(t){return n("throw",t,s,u)})}u(l.arg)}(o,a,n,s)})}return n=n?n.then(s,s):s()}})}function O(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function A(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function P(r){if(r||""===r){var n=r[s];if(n)return n.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var o=-1,a=function n(){for(;++o<r.length;)if(i.call(r,o))return n.value=r[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw TypeError(cE(r)+" is not iterable")}return v.prototype=b,o(T,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=h(b,l,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===v||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,h(t,l,"GeneratorFunction")),t.prototype=Object.create(T),t},r.awrap=function(t){return{__await:t}},S(E.prototype),h(E.prototype,u,function(){return this}),r.AsyncIterator=E,r.async=function(t,n,i,o,a){void 0===a&&(a=Promise);var s=new E(c(t,n,i,o),a);return r.isGeneratorFunction(n)?s:s.next().then(function(t){return t.done?t.value:s.next()})},S(T),h(T,l,"Generator"),h(T,s,function(){return this}),h(T,"toString",function(){return"[object Generator]"}),r.keys=function(t){var r=Object(t),n=[];for(var i in r)n.push(i);return n.reverse(),function t(){for(;n.length;){var i=n.pop();if(i in r)return t.value=i,t.done=!1,t}return t.done=!0,t}},r.values=P,I.prototype={constructor:I,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEac
6042h(A),!r)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function o(i,o){return u.type="throw",u.arg=r,n.next=i,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],u=s.completion;if("root"===s.tryLoc)return o("end");if(s.tryLoc<=this.prev){var l=i.call(s,"catchLoc"),h=i.call(s,"finallyLoc");if(l&&h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!h)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,r){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=r&&r<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=t,s.arg=r,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),A(n),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var o=i.arg;A(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(r,n,i){return this.delegate={iterator:P(r),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},r}function cT(t,r,n,i,o,a,s){try{var u=t[a](s),l=u.value}catch(t){return void n(t)}u.done?r(l):Promise.resolve(l).then(i,o)}function cS(t){return function(){var r=this,n=arguments;return new Promise(function(i,o){var a=t.apply(r,n);function s(t){cT(a,i,o,s,u,"next",t)}function u(t){cT(a,i,o,s,u,"throw",t)}s(void 0)})}}function cE(t){return(cE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var cO,cA,cI,cP,ck,cC,c$,cR,cD,cM,cL=function(t,r,n,i){if("a"===n&&!i)throw TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!i:!r.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:r.get(t)},cB=function(t,r,n,i,o){if("m"===i)throw TypeError("Private method is not writable");if("a"===i&&!o)throw TypeError("Private accessor was defined without a setter");if("function"==typeof r?t!==r||!o:!r.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(t,n):o?o.value=n:r.set(t,n),n},cN=(cR=function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(function(t,r){if(!(t instanceof r))throw TypeError("Cannot call a class as a function")})(this,t),this.outputFrameFormat="RGBX",this.effects=new Map,this.components=new Proxy({},uB),cM.set(this,void 0),this.customer_id=r,sh.y.CUSTOMER_ID=r,sh.y.setVersion(),sm.W.getInstance().getUID(this.customer_id),uN.Uz.Instance.setCustomerID(this.customer_id),n&&(this.custom_inference=s5.getInference("custom"),this.custom_inference.sessionManager.setBackend(n)),this.onnx_inference=s5.getInference("onnx"),this.sdkOptions=new cw,this.recorder=new hv,this.callbackStore=new hl,this.sdkOptions.on("update",this.onOptionsUpdate,this)},cD=[{key:"onOptionsUpdate",value:function(t){Object.values(this.components).forEach(function(t){return t.render()})}},{key:"createEffectInstance",value:function(t){if(this.effects.has(t))return this.effects.get(t);var r=hb.Z.getEffect(t,this.sdkOptions);return this.effects.set(t,r),r}},{key:"getEffectInstance",value:function(t){return this.effects.has(t)?this.effects.get(t):null}},{key:"getSnapshot",value:(c$=cS(c_().mark(function t(){return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.streamProcessor.getSnapshot());case 1:case"end":return t.stop()}},t,this)})),function(){return c$.apply(this,arguments)})},{key:"isSupported",value:function(){if(void 0!==cb)return cb;try{cb=document.createElement("canvas").getContext("webgl2")instanceof WebGL2RenderingContext}catch(t){cb=!1}return cb}},{key:"cache",value:(cC=cS(c_().mark(function t(){var r=arguments;return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r.length>0&&void 0!==r[0]&&r[0])){t.next=4;break}return t.next=4,this.onnx_inference.sessionManager.clearCache();case 4:sh.y.CACHE_MODELS=!0;case 5:case"end":return t.stop()}},t,this)})),function(){return cC.apply(this,arguments)})},{key:"clearModelCache",value:(ck=cS(c_().mark(function t(){return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.onnx_inference.sessionManager.clearCache();case 2:case"end":return t.stop()}},t,this)})),function(){return ck.apply(this,arguments)})},{key:"preload",value:(cP=cS(c_().mark(function t(){var r,n=this;return c_().wrap(function(t){for(;;
6042)switch(t.prev=t.next){case 0:sh.y.EFFECTS.forEach(function(){var t=cS(c_().mark(function t(i){var o,a;return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:t.t0=i,t.next=t.t0===hb.U.COLOR_CORRECION?3:t.t0===hb.U.SMART_ZOOM?14:t.t0===hb.U.LOW_LIGHT?25:t.t0===hb.U.VIRTUAL_BACKGROUND?36:48;break;case 3:if(sh.y.MODELS.colorcorrector){t.next=5;break}return t.abrupt("break",48);case 5:return r={modelPath:sh.y.getModelUrl(sh.y.MODELS.colorcorrector),backend:"wasm",nchw:!1},t.prev=6,t.next=9,n.onnx_inference.sessionManager.init(r);case 9:t.next=13;break;case 11:t.prev=11,t.t1=t.catch(6);case 13:return t.abrupt("break",48);case 14:if(sh.y.MODELS.facedetector){t.next=16;break}return t.abrupt("break",48);case 16:return r={modelPath:sh.y.getModelUrl(sh.y.MODELS.facedetector),backend:"wasm",nchw:!1},t.prev=17,t.next=20,n.onnx_inference.sessionManager.init(r);case 20:t.next=24;break;case 22:t.prev=22,t.t2=t.catch(17);case 24:return t.abrupt("break",48);case 25:if(sh.y.MODELS.lowlighter){t.next=27;break}return t.abrupt("break",48);case 27:return r={modelPath:sh.y.getModelUrl(sh.y.MODELS.lowlighter),backend:"wasm",nchw:!1},t.prev=28,t.next=31,n.onnx_inference.sessionManager.init(r);case 31:t.next=35;break;case 33:t.prev=33,t.t3=t.catch(28);case 35:return t.abrupt("break",48);case 36:return o=n.sdkOptions.width/n.sdkOptions.height>1?"PRESETS":"PRESETS_PORTRAIT",r={modelPath:a=(a=sh.y[o][sh.y.PRESET])?sh.y.getPresetUrl(a):sh.y.MODEL_URL,backend:"wasm"==sh.y.PROVIDER?"wasm":"webgpu",nchw:!1},t.prev=40,t.next=43,n.onnx_inference.sessionManager.init(r);case 43:t.next=47;break;case 45:t.prev=45,t.t4=t.catch(40);case 47:return t.abrupt("break",48);case 48:case"end":return t.stop()}},t,null,[[6,11],[17,22],[28,33],[40,45]])}));return function(r){return t.apply(this,arguments)}}());case 1:case"end":return t.stop()}},t)})),function(){return cP.apply(this,arguments)})},{key:"config",value:function(t){var r;t.hasOwnProperty("app_env")&&(sh.y.APP_ENV=t.app_env),t.hasOwnProperty("api_url")&&(sh.y.API_URL=t.api_url),t.hasOwnProperty("model_url")&&(sh.y.MODEL_URL=t.model_url),t.hasOwnProperty("sdk_url")&&(sh.y.SDK_URL=t.sdk_url),t.hasOwnProperty("provider")&&(sh.y.PROVIDER=t.provider),t.hasOwnProperty("preset")&&(sh.y.PRESET=t.preset),t.hasOwnProperty("proxy")&&(sh.y.PROXY=t.proxy),t.hasOwnProperty("stats")&&(sh.y.STATS=t.stats),t.hasOwnProperty("cache_models")&&(sh.y.CACHE_MODELS=t.cache_models),t.hasOwnProperty("preload_auth")&&(sh.y.PRELOAD_AUTH=t.preload_auth),t.hasOwnProperty("test_inference")&&(sh.y.TEST_INFERENCE_CONSISTENCY=t.test_inference),t.hasOwnProperty("wasmPaths")&&Object.keys(t.wasmPaths).length&&(sh.y.WASM_PATHS=Object.assign(sh.y.WASM_PATHS,t.wasmPaths)),t.hasOwnProperty("presets")&&Object.keys(t.presets).length&&(sh.y.PRESETS=Object.assign(sh.y.PRESETS,t.presets)),t.hasOwnProperty("models")&&Object.keys(t.models).length&&(sh.y.MODELS=Object.assign(sh.y.MODELS,t.models)),t.hasOwnProperty("effects")&&Object.keys(t.effects).length&&(sh.y.EFFECTS=function(t){if(Array.isArray(t))return cx(t)}(r=t.effects)||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t){if(t){if("string"==typeof t)return cx(t,void 0);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cx(t,void 0):void 0}}(r)||function(){throw TypeError(`Invalid attempt to spread non-iterable instance.
6043In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}())}},{key:"init",value:(cI=cS(c_().mark(function t(r){var n,i,o;return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!r.aborted){t.next=2;break}return t.abrupt("return");case 2:if(this.streamProcessor&&this.streamProcessor.destroy(),n="requestAnimationFrameCallback","MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window?(this.streamProcessor=eo.getStreamProcessor("transform",this.sdkOptions),n="MediaStreamTrackProcessor"):"requestVideoFrameCallback"in HTMLVideoElement.prototype?(this.streamProcessor=eo.getStreamProcessor("videocallback",this.sdkOptions),n="requestVideoFrameCallback"):this.streamProcessor=eo.getStreamProcessor("animationcallback",this.sdkOptions),u.bv.notify({message:"".concat(n," supported"),type:u.By.INFO,emitter:u.JK.TSVB}),this.streamProcessor.onFrameDraw(this.callbackStore.getCallback("onFrameDraw")),this.streamProcessor.onChangeInputResolution(this.callbackStore.getCallback("onChangeInputResolution")),!this._renderer||!this.effectProcessor){t.next=13;break}return this.streamProcessor.setRenderer(this._renderer),this.streamProcessor.useEffectProcessor(this.effectProcessor),this.callbackStore.call("onReady"),t.abrupt("return");case 13:if(this._renderer=new ug(this.sdkOptions,this.outputFrameFormat),this.streamProcessor.setRenderer(this._renderer),this.effectProcessor=new uR(this._renderer,this.sdkOptions,this.components),this.effectProcessor.addEffect(this.createEffe
6043ctInstance(hb.U.CUSTOM_RESOLUTION)),this.effectProcessor.addEffect(this.createEffectInstance(hb.U.MIRRORING)),i=this.createEffectInstance(hb.U.COLOR_FILTERS),(o=this.callbackStore.getCallback("onColorFilterSuccess"))&&i.onSuccess(o),this.effectProcessor.addEffect(i),this.effectProcessor.addEffect(this.createEffectInstance(hb.U.SHARPNESS)),this.effectProcessor.addEffect(this.createEffectInstance(hb.U.FILTER_DRAW)),this.effectProcessor.addLastEffect(this.createEffectInstance(hb.U.FINAL_DRAW)),this.streamProcessor.useEffectProcessor(this.effectProcessor),!sh.y.EFFECTS.includes(hb.U.SMART_ZOOM)||!sh.y.MODELS.facedetector){t.next=29;break}return t.next=29,this.loadEffect(hb.U.SMART_ZOOM);case 29:if(!sh.y.EFFECTS.includes(hb.U.LOW_LIGHT)||!sh.y.MODELS.lowlighter){t.next=32;break}return t.next=32,this.loadEffect(hb.U.LOW_LIGHT);case 32:if(!sh.y.EFFECTS.includes(hb.U.COLOR_CORRECION)||!sh.y.MODELS.colorcorrector){t.next=35;break}return t.next=35,this.loadEffect(hb.U.COLOR_CORRECION);case 35:if(!sh.y.EFFECTS.includes(hb.U.VIRTUAL_BACKGROUND)){t.next=38;break}return t.next=38,this.loadEffect(hb.U.VIRTUAL_BACKGROUND);case 38:this.callbackStore.call("onReady");case 39:case"end":return t.stop()}},t,this)})),function(t){return cI.apply(this,arguments)})},{key:"loadEffect",value:(cA=cS(c_().mark(function t(r){var n,i,o,a;return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.getEffectInstance(r)){t.next=2;break}return t.abrupt("return");case 2:i=this.createEffectInstance(r),t.t0=r,t.next=t.t0===hb.U.VIRTUAL_BACKGROUND?6:t.t0===hb.U.LOW_LIGHT?12:t.t0===hb.U.SMART_ZOOM||t.t0===hb.U.COLOR_CORRECION?18:22;break;case 6:return t.next=8,i.init(null!=(n=this.custom_inference)?n:this.onnx_inference);case 8:return o=this.callbackStore.getCallback("onBackgroundSuccess"),i.onSuccess(o),this.effectProcessor.addEffect(i),t.abrupt("break",22);case 12:return t.next=14,i.init(this.onnx_inference);case 14:return a=this.callbackStore.getCallback("onLowLightSuccess"),i.onSuccess(a),this.effectProcessor.addEffect(i),t.abrupt("break",22);case 18:return t.next=20,i.init(this.onnx_inference);case 20:return this.effectProcessor.addEffect(i),t.abrupt("break",22);case 22:case"end":return t.stop()}},t,this)})),function(t){return cA.apply(this,arguments)})},{key:"getCustomerId",value:function(){return this.customer_id}},{key:"useStream",value:function(t,r){var n;if(t.getVideoTracks().length){var i=t.getVideoTracks()[0].getSettings();if(r?this.sdkOptions.setCustomSize(r.width,r.height):this.sdkOptions.setSize(i.width,i.height),Object.values(this.components).forEach(function(t){return t.render()}),cL(this,cM,"f")&&cL(this,cM,"f").abort(),cB(this,cM,new AbortController,"f"),this.init(cL(this,cM,"f").signal),this.streamProcessor.useStream(t),this.streamProcessor.getInputVideoTrack()){this.streamProcessor.process();var o=null==(n=this.streamProcessor.getStream())?void 0:n.getVideoTracks()[0];o&&this.recorder.setSDKVideoTrack(o)}else u.bv.notify({message:"There is no input videoTrack to process",type:u.By.ERROR,code:u.O4.NO_VIDEO_TRACK,emitter:u.JK.TSVB})}else u.bv.notify({message:"There is no input videoTrack in the Media Stream",type:u.By.ERROR,code:u.O4.NO_VIDEO_TRACK,emitter:u.JK.TSVB})}},{key:"setSegmentationPreset",value:(cO=cS(c_().mark(function t(r){var n;return c_().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND)){t.next=3;break}return t.abrupt("return",!1);case 3:return t.next=5,n.isPresetSupported(r);case 5:if(t.sent){t.next=8;break}return u.bv.notify({message:"WebGPU backend support only quality and balanced presets",type:u.By.INFO,emitter:u.JK.TSVB}),t.abrupt("return",!1);case 8:return this.effectProcessor.hasFrames?this.effectProcessor.pause():this.streamProcessor.pause(),this.streamProcessor.clearBuffers(),this.streamProcessor.clearBuffers(),t.next=13,n.setPreset(r);case 13:return this.effectProcessor.hasFrames?this.effectProcessor.unpause():this.streamProcessor.unpause(),t.abrupt("return",!0);case 15:case"end":return t.stop()}},t,this)})),function(t){return cO.apply(this,arguments)})},{key:"getSegmentationPreset",value:function(){return this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND).getPreset()}}
6043,{key:"setBackgroundColor",value:function(t){this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND).setBackgroundColor(t)}},{key:"getStream",value:function(){return this.streamProcessor.getStream()}},{key:"toCanvas",value:function(t){this.streamProcessor.renderToCanvas(t)}},{key:"setFpsLimit",value:function(t){return!!this.streamProcessor&&(this.streamProcessor.setFpsLimit(t),!0)}},{key:"getMetrics",value:function(){return{fps:this.streamProcessor?this.streamProcessor.frameTimer.getFrameFps():0,segmentationInferenceTime:this.effectProcessor?this.effectProcessor.resources.renderer.timinngs.stats.stats.get("inference_time"):0,fullFrameDrawTime:this.effectProcessor?this.effectProcessor.resources.renderer.timinngs.stats.stats.get("frame_time"):0}}},{key:"showFps",value:function(){return!!this.streamProcessor&&(this.streamProcessor.showFps(),!0)}},{key:"hideFps",value:function(){return!!this.streamProcessor&&(this.streamProcessor.hideFps(),!0)}},{key:"freeze",value:function(){return!!this.effectProcessor&&(this.effectProcessor.pause(),!0)}},{key:"unfreeze",value:function(){return!!this.effectProcessor&&(this.effectProcessor.unpause(),!0)}},{key:"enableBeautification",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.enableBeautification(),!0)}},{key:"disableBeautification",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.disableBeautification(),!0)}},{key:"setBoundaryMode",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setBoundaryMode(t),!0)}},{key:"setBackgroundFitMode",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setBackgroundFitMode(t),!0)}},{key:"enableChromaKey",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.enableChromaKey(),!0)}},{key:"disableChromaKey",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.disableChromaKey(),!0)}},{key:"setChromaKeySettings",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setChromaKeySettings(t),!0)}},{key:"setBoundaryLevel",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setBoundaryLevel(t),!0)}},{key:"setBeautificationLevel",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setBeautificationLevel(t),!0)}},{key:"setBlur",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);if(!r)return!1;var n=15*Math.cbrt(this.sdkOptions.height*this.sdkOptions.width)/67;return r.setBlur(Math.round(t*n)),!0}},{key:"clearBlur",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.clearBlur(),!0)}},{key:"setBackground",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setBackground(t),!0)}},{key:"clearBackground",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.clearBackground(),!0)}},{key:"enableFrameSkipping",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.enableFrameSkipping(),!0)}},{key:"disableFrameSkipping",value:function(){var t=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!t&&(t.disableFrameSkipping(),!0)}},{key:"setLayout",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setLayout(t),!0)}},{key:"setLayoutMode",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);return!!r&&(r.setLayoutMode(t),!0)}},{key:"setCustomLayout",value:function(t){var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);if(!r)return!1;var n={};return void 0!==t.xOffset&&(n.xOffset=t.xOffset*this.sdkOptions.width),void 0!==t.yOffset&&(n.yOffset=t.yOffset*this.sdkOptions.height),void 0!==t.size&&(n.width=t.size*this.sdkOptions.width,n.height=t.size*this.sdkOptions.height),r.setCustomLayout(n),!0}},{key:"setFaceArea",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(t=Math.min(t=Math.max(t,.01),1),r.setConfig("faceAreaProportion",t),!0)}},{key:"setFaceDetectorAccuracy",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(t=Math.min(t=Math.max(t,.2),1),r.setConfig("faceDetectorAccuracy",t),!0)}},{key:"getDetectedFaces",value:function(){var t=this.getEffectInstance(hb.U.SMART_ZOOM);return t?t.getFaces():[]}},{key:"setSmartZoomSmoothing",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(t=Math.min(t=Math.max(t,.01),1),r.setConfig("smoothPower",100*t),!0)}},{key:"setSmartZoomSensitivity",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(t=Math.min(t=Math.max(t,0),1),r.setConfig("sensitivityValue",t),
6043!0)}},{key:"setSmartZoomPerod",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(t=Math.min(t=Math.max(t,0),1e3),r.setConfig("faceDetectorPediod_ms",t),!0)}},{key:"switchDrawFaceSquare",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(r.setConfig("isFaceSquareDrawingEnabled",t),!0)}},{key:"switchDrawPreFaceSquare",value:function(t){var r=this.getEffectInstance(hb.U.SMART_ZOOM);return!!r&&(r.setConfig("isPreFaceSquareDrawingEnabled",t),!0)}},{key:"enableSmartZoom",value:function(){var t=this.getEffectInstance(hb.U.SMART_ZOOM);return!!t&&(t.enable(),!0)}},{key:"disableSmartZoom",value:function(){var t=this.getEffectInstance(hb.U.SMART_ZOOM);return!!t&&(t.disable(),!0)}},{key:"enableColorCorrector",value:function(){var t=this.getEffectInstance(hb.U.COLOR_CORRECION);return!!t&&(t.enable(),!0)}},{key:"disableColorCorrector",value:function(){var t=this.getEffectInstance(hb.U.COLOR_CORRECION);return!!t&&(t.disable(),!0)}},{key:"enableMirroring",value:function(){var t=this.getEffectInstance(hb.U.MIRRORING);return!!t&&(t.enable(),!0)}},{key:"disableMirroring",value:function(){var t=this.getEffectInstance(hb.U.MIRRORING);return!!t&&(t.disable(),!0)}},{key:"enableColorFilter",value:function(){var t=this.getEffectInstance(hb.U.COLOR_FILTERS);return!!t&&(t.enable(),!0)}},{key:"disableColorFilter",value:function(){var t=this.getEffectInstance(hb.U.COLOR_FILTERS);return!!t&&(t.disable(),!0)}},{key:"setColorFilterConfig",value:function(t){var r=this.getEffectInstance(hb.U.COLOR_FILTERS);return!!r&&(r.setConfig(t),!0)}},{key:"setFilterPart",value:function(t){var r=this.getEffectInstance(hb.U.COLOR_CORRECION);return!!r&&(r.setConfig("filterPart",t),!0)}},{key:"setColorCorrectorPeriod",value:function(t){var r=this.getEffectInstance(hb.U.COLOR_CORRECION);return!!r&&(t=Math.min(t=Math.max(t,0),5e3),r.setConfig("modelPediod_ms",t),!0)}},{key:"setColorCorrectorPower",value:function(t){var r=this.getEffectInstance(hb.U.COLOR_CORRECION);return!!r&&(t=Math.min(t=Math.max(t,0),1),r.setConfig("cc_power",t),!0)}},{key:"enableLowLightEffect",value:function(){var t=this.getEffectInstance(hb.U.LOW_LIGHT);return!!t&&(t.enable(),!0)}},{key:"disableLowLightEffect",value:function(){var t=this.getEffectInstance(hb.U.LOW_LIGHT);return!!t&&(t.disable(),!0)}},{key:"setLowLightEffectConfig",value:function(t){var r=this.getEffectInstance(hb.U.LOW_LIGHT);return!!r&&(r.setConfig(t),!0)}},{key:"setLowLightEffectPower",value:function(t){return this.setLowLightEffectConfig({power:t}),!0}},{key:"enableSharpnessEffect",value:function(){var t=this.getEffectInstance(hb.U.SHARPNESS);return!!t&&(t.enable(),!0)}},{key:"disableSharpnessEffect",value:function(){var t=this.getEffectInstance(hb.U.SHARPNESS);return!!t&&(t.disable(),!0)}},{key:"setSharpnessEffectConfig",value:function(t){var r=this.getEffectInstance(hb.U.SHARPNESS);return!!r&&(r.setConfig(t),!0)}},{key:"clear",value:function(){return!!this.streamProcessor&&(this.streamProcessor.destroy(),!0)}},{key:"run",value:function(){return this.streamProcessor&&(this.streamProcessor.isRunning=!0),!0}},{key:"stop",value:function(){return this.streamProcessor&&(this.streamProcessor.isRunning=!1),!0}},{key:"enablePipelineSkipping",value:function(){var t;null==(t=this.effectProcessor)||t.enablePipelineSkipping()}},{key:"disablePipelineSkipping",value:function(){var t;null==(t=this.effectProcessor)||t.disablePipelineSkipping()}},{key:"getEffectProcessor",value:function(){return this.effectProcessor}},{key:"createComponent",value:function(t){return new cF[t.component](this.sdkOptions,t.options)}},{key:"addComponent",value:function(t,r){this.components[r]=t}},{key:"getComponentConstructor",value:function(t){return cF[t]}},{key:"setOutputResolution",value:function(t){this.streamProcessor&&this.streamProcessor.setCustomResolution(t.width,t.height)}},{key:"clearOutputResolution",value:function(){this.streamProcessor&&this.streamProcessor.clearOutputResolution()}},{key:"setCustomResolution",value:function(t){this.streamProcessor&&this.streamProcessor.setCustomResolution(t.width,t.height)}},{key:"clearCustomResolution",value:function(){this.streamProcessor&&this.streamProcessor.clearCustomResolution()}},{key:"setOutputFrameFormat",value:function(t){this.outputFrameFormat=t}},{key:"onReady",set:function(t){this.callbackStore.setCallback("onReady",t)}},{key:"onError",value:function(t){this._lastErrorHandler&&u.bv.unsubscribe(this._lastErrorHandler),u.bv.subscribe(t),this._lastErrorHandler=t}},{key:"getLatestErrors",value:function(){return u.bv.messageLog}},{key:"emulateError",value:function(t){u.bv.notify({message:"Emulated error with code: ".concat(t),co
6043de:t,type:u.By.ERROR,emitter:u.JK.EMULATOR})}},{key:"onFrame",set:function(t){var r;this.callbackStore.setCallback("onFrameDraw",t),null==(r=this.streamProcessor)||r.onFrameDraw(t)}},{key:"onChangeInputResolution",value:function(t){var r;this.callbackStore.setCallback("onChangeInputResolution",t),null==(r=this.streamProcessor)||r.onChangeInputResolution(t)}},{key:"onAuthRequest",value:function(t){this.onnx_inference&&this.onnx_inference.sessionManager.onAuth(t)}},{key:"onColorFilterSuccess",value:function(t){this.callbackStore.setCallback("onColorFilterSuccess",t);var r=this.getEffectInstance(hb.U.COLOR_FILTERS);null==r||r.onSuccess(t)}},{key:"onLowLightSuccess",value:function(t){this.callbackStore.setCallback("onLowLightSuccess",t);var r=this.getEffectInstance(hb.U.LOW_LIGHT);null==r||r.onSuccess(t)}},{key:"onBackgroundSuccess",value:function(t){this.callbackStore.setCallback("onBackgroundSuccess",t);var r=this.getEffectInstance(hb.U.VIRTUAL_BACKGROUND);null==r||r.onSuccess(t)}}],function(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,function(t){var r=function(t,r){if("object"!=cE(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!=cE(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==cE(r)?r:r+""}(i.key),i)}}(cR.prototype,cD),Object.defineProperty(cR,"prototype",{writable:!1}),cR);cM=new WeakMap,cN=function(t,r,n,i){var o,a=arguments.length,s=a<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,n):i;if("object"===("u"<typeof Reflect?"undefined":cE(Reflect))&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,r,n,i);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(s=(a<3?o(s):a>3?o(r,n,s):o(r,n))||s);return a>3&&s&&Object.defineProperty(r,n,s),s}([(0,uN.Y)("tsvb"),function(t,r){if("object"===("u"<typeof Reflect?"undefined":cE(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,r)}("design:paramtypes",[String,Object])],cN);var cF={overlay_screen:uJ,watermark:lt,lowerthird_1:lR,lowerthird_2:lz,lowerthird_3:lZ,lowerthird_4:l2,lowerthird_5:hs,stickers:lm},cU=s.o}}]);
6044//# sourceMappingURL=1402-a7eb2f143ffa3326.chunk.js.map

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.