x_ite
Version:
X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.
1 lines • 113 kB
JavaScript
return function(r,e){var t,n,o=void 0,a=void 0!==(r=r||{})?r:{};a.ready=new Promise(((r,e)=>{t=r,n=e}));var i,s,u,f=Object.assign({},a),c="./this.program",l=(r,e)=>{throw e},d="object"==typeof window,m="function"==typeof importScripts,v="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,p="";if(v){var h=require("fs"),g=require("path");p=m?g.dirname(p)+"/":__dirname+"/",i=(r,e)=>(r=X(r)?new URL(r):g.normalize(r),h.readFileSync(r,e?void 0:"utf8")),u=r=>{var e=i(r,!0);return e.buffer||(e=new Uint8Array(e)),e},s=(r,e,t,n=!0)=>{r=X(r)?new URL(r):g.normalize(r),h.readFile(r,n?void 0:"utf8",((r,o)=>{r?t(r):e(n?o.buffer:o)}))},!a.thisProgram&&o.argv.length>1&&(c=o.argv[1].replace(/\\/g,"/")),o.argv.slice(2),l=(r,e)=>{throw o.exitCode=r,e},a.inspect=()=>"[Emscripten Module object]"}else(d||m)&&(m?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},m&&(u=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),s=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)},r=>document.title=r);var y,b=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&(c=a.thisProgram),a.quit&&(l=a.quit),a.wasmBinary&&(y=a.wasmBinary);var E,x=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&W("no native wasm support detected");var _,k,P,C,A,T,B,S,$,D=!1;function F(r,e){r||W(e)}function M(){var r=E.buffer;a.HEAP8=_=new Int8Array(r),a.HEAP16=P=new Int16Array(r),a.HEAP32=A=new Int32Array(r),a.HEAPU8=k=new Uint8Array(r),a.HEAPU16=C=new Uint16Array(r),a.HEAPU32=T=new Uint32Array(r),a.HEAPF32=B=new Float32Array(r),a.HEAPF64=S=new Float64Array(r)}var I=[],L=[],j=[];var R=0,V=null,O=null;function U(r){R++,a.monitorRunDependencies&&a.monitorRunDependencies(R)}function N(r){if(R--,a.monitorRunDependencies&&a.monitorRunDependencies(R),0==R&&(null!==V&&(clearInterval(V),V=null),O)){var e=O;O=null,e()}}function W(r){a.onAbort&&a.onAbort(r),w(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var z,G,H,q;function Q(r){return r.startsWith("data:application/octet-stream;base64,")}function X(r){return r.startsWith("file://")}function Y(r){try{if(r==z&&y)return new Uint8Array(y);if(u)return u(r);throw"both async and sync fetching of the wasm failed"}catch(r){W(r)}}function Z(r,e,t){return function(r){if(!y&&(d||m)){if("function"==typeof fetch&&!X(r))return fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((()=>Y(r)));if(s)return new Promise(((e,t)=>{s(r,(r=>e(new Uint8Array(r))),t)}))}return Promise.resolve().then((()=>Y(r)))}(r).then((r=>WebAssembly.instantiate(r,e))).then((r=>r)).then(t,(r=>{w("failed to asynchronously prepare wasm: "+r),W(r)}))}function J(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}function K(r){for(;r.length>0;)r.shift()(a)}function rr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){T[this.ptr+4>>2]=r},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(r){T[this.ptr+8>>2]=r},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,_[this.ptr+12|0]=r},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,_[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){T[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eu(this.get_type()))return T[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}Q(z="libktx.wasm")||(G=z,z=a.locateFile?a.locateFile(G,p):p+G);var er={};function tr(r){for(;r.length;){var e=r.pop();r.pop()(e)}}function nr(r){return this.fromWireType(A[r>>2])}var or={},ar={},ir={};function sr(r){if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r}function ur(r,e){return r=sr(r),{[r]:function(){return e.apply(this,arguments)}}[r]}function fr(r,e){var t=ur(e,(function(r){this.name=e,this.message=r;var t=new Error(r).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(r.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t}var cr=void 0;function lr(r){throw new cr(r)}function dr(r,e,t){function n(e){var n=t(e);n.length!==r.length&&lr("Mismatched type converter count");for(var o=0;o<r.length;++o)yr(r[o],n[o])}r.forEach((function(r){ir[r]=e}));var o=new Array(e.length),a=[],i=0;e.forEach(((r,e)=>{ar.hasOwnProperty(r)?o[e]=ar[r]:(a.push(r),or.hasOwnProperty(r)||(or[r]=[]),or[r].push((()=>{o[e]=ar[r],++i===a.length&&n(o)})))})),0===a.length&&n(o)}function mr(r){switch(r){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${r}`)}}var vr=void 0;function pr(r){for(var e="",t=r;k[t];)e+=vr[k[t++]];return e}var hr=void 0;function gr(r){throw new hr(r)}function yr(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=e.name;if(r||gr(`type "${n}" must have a positive integer typeid pointer`),ar.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;gr(`Cannot register type '${n}' twice`)}if(ar[r]=e,delete ir[r],or.hasOwnProperty(r)){var o=or[r];delete or[r],o.forEach((r=>r()))}}function br(r){if(!(this instanceof Ur))return!1;if(!(r instanceof Ur))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}function wr(r){gr(r.$$.ptrType.registeredClass.name+" instance already deleted")}var Er=!1;function xr(r){}function _r(r){r.count.value-=1,0===r.count.value&&function(r){r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)}(r)}function kr(r,e,t){if(e===t)return r;if(void 0===t.baseClass)return null;var n=kr(r,e,t.baseClass);return null===n?null:t.downcast(n)}var Pr={};function Cr(){return Object.keys(Dr).length}function Ar(){var r=[];for(var e in Dr)Dr.hasOwnProperty(e)&&r.push(Dr[e]);return r}var Tr=[];function Br(){for(;Tr.length;){var r=Tr.pop();r.$$.deleteScheduled=!1,r.delete()}}var Sr=void 0;function $r(r){Sr=r,Tr.length&&Sr&&Sr(Br)}var Dr={};function Fr(r,e){return e=function(r,e){for(void 0===e&&gr("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e}(r,e),Dr[e]}function Mr(r,e){return e.ptrType&&e.ptr||lr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&lr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Lr(Object.create(r,{$$:{value:e}}))}function Ir(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Fr(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Mr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Mr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=Pr[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=kr(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Lr(r){return"undefined"==typeof FinalizationRegistry?(Lr=r=>r,r):(Er=new FinalizationRegistry((r=>{_r(r.$$)})),Lr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};Er.register(r,t,r)}return r},xr=r=>Er.unregister(r),Lr(r))}function jr(){if(this.$$.ptr||wr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Lr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Rr(){this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),xr(this),_r(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Vr(){return!this.$$.ptr}function Or(){return this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),Tr.push(this),1===Tr.length&&Sr&&Sr(Br),this.$$.deleteScheduled=!0,this}function Ur(){}function Nr(r,e,t){if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||gr(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}}function Wr(r,e,t){a.hasOwnProperty(r)?((void 0===t||void 0!==a[r].overloadTable&&void 0!==a[r].overloadTable[t])&&gr(`Cannot register public name '${r}' twice`),Nr(a,r,r),a.hasOwnProperty(t)&&gr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[r].overloadTable[t]=e):(a[r]=e,void 0!==t&&(a[r].numArguments=t))}function zr(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}function Gr(r,e,t){for(;e!==t;)e.upcast||gr(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r}function Hr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function qr(r,e){var t;if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=Gr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&gr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var o=e.clone();t=this.rawShare(t,me.toHandle((function(){o.delete()}))),null!==r&&r.push(this.rawDestructor,t)}break;default:gr("Unsupporting sharing policy")}return t}function Qr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function Xr(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r}function Yr(r){this.rawDestructor&&this.rawDestructor(r)}function Zr(r){null!==r&&r.delete()}function Jr(r,e,t,n,o,a,i,s,u,f,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=u,this.rawShare=f,this.rawDestructor=c,o||void 0!==e.baseClass?this.toWireType=qr:n?(this.toWireType=Hr,this.destructorFunction=null):(this.toWireType=Qr,this.destructorFunction=null)}var Kr=[];function re(r){var e=Kr[r];return e||(r>=Kr.length&&(Kr.length=r+1),Kr[r]=e=$.get(r)),e}function ee(r,e,t){return r.includes("j")?function(r,e,t){var n=a["dynCall_"+r];return t&&t.length?n.apply(null,[e].concat(t)):n.call(null,e)}(r,e,t):re(e).apply(null,t)}function te(r,e){var t,n,o,a=(r=pr(r)).includes("j")?(t=r,n=e,o=[],function(){return o.length=0,Object.assign(o,arguments),ee(t,n,o)}):re(e);return"function"!=typeof a&&gr(`unknown function pointer with signature ${r}: ${e}`),a}var ne=void 0;function oe(r){var e=ru(r),t=pr(e);return Js(e),t}function ae(r,e){var t=[],n={};throw e.forEach((function r(e){n[e]||ar[e]||(ir[e]?ir[e].forEach(r):(t.push(e),n[e]=!0))})),new ne(`${r}: `+t.map(oe).join([", "]))}function ie(r,e){for(var t=[],n=0;n<r;n++)t.push(T[e+4*n>>2]);return t}function se(r,e){if(!(r instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);var t=ur(r.name||"unknownFunctionName",(function(){}));t.prototype=r.prototype;var n=new t,o=r.apply(n,e);return o instanceof Object?o:n}function ue(r,e,t,n,o,a){var i=e.length;i<2&&gr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==t,u=!1,f=1;f<e.length;++f)if(null!==e[f]&&void 0===e[f].destructorFunction){u=!0;break}var c="void"!==e[0].name,l="",d="";for(f=0;f<i-2;++f)l+=(0!==f?", ":"")+"arg"+f,d+=(0!==f?", ":"")+"arg"+f+"Wired";var m=`\n return function ${sr(r)}(${l}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ${r} called with ${arguments.length} arguments, expected ${i-2} args!');\n }`;u&&(m+="var destructors = [];\n");var v=u?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[gr,n,o,tr,e[0],e[1]];s&&(m+="var thisWired = classParam.toWireType("+v+", this);\n");for(f=0;f<i-2;++f)m+="var arg"+f+"Wired = argType"+f+".toWireType("+v+", arg"+f+"); // "+e[f+2].name+"\n",p.push("argType"+f),h.push(e[f+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),m+=(c||a?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",u)m+="runDestructors(destructors);\n";else for(f=s?1:2;f<e.length;++f){var g=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==e[f].destructorFunction&&(m+=g+"_dtor("+g+"); // "+e[f].name+"\n",p.push(g+"_dtor"),h.push(e[f].destructorFunction))}return c&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),m+="}\n",p.push(m),se(Function,p).apply(null,h)}function fe(r,e,t){return r instanceof Object||gr(`${t} with invalid "this": ${r}`),r instanceof e.registeredClass.constructor||gr(`${t} incompatible with "this" of type ${r.constructor.name}`),r.$$.ptr||gr(`cannot call emscripten binding method ${t} on deleted object`),Gr(r.$$.ptr,r.$$.ptrType.registeredClass,e.registeredClass)}var ce=new function(){this.allocated=[void 0],this.freelist=[],this.get=function(r){return this.allocated[r]},this.has=function(r){return void 0!==this.allocated[r]},this.allocate=function(r){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=r,e},this.free=function(r){this.allocated[r]=void 0,this.freelist.push(r)}};function le(r){r>=ce.reserved&&0==--ce.get(r).refcount&&ce.free(r)}function de(){for(var r=0,e=ce.reserved;e<ce.allocated.length;++e)void 0!==ce.allocated[e]&&++r;return r}var me={toValue:r=>(r||gr("Cannot use deleted val. handle = "+r),ce.get(r).value),toHandle:r=>{switch(r){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ce.allocate({refcount:1,value:r})}}};function ve(r,e,t){switch(e){case 0:return function(r){var e=t?_:k;return this.fromWireType(e[r])};case 1:return function(r){var e=t?P:C;return this.fromWireType(e[r>>1])};case 2:return function(r){var e=t?A:T;return this.fromWireType(e[r>>2])};default:throw new TypeError("Unknown integer type: "+r)}}function pe(r,e){var t=ar[r];return void 0===t&&gr(e+" has unknown type "+oe(r)),t}function he(r){if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r}function ge(r,e){switch(e){case 2:return function(r){return this.fromWireType(B[r>>2])};case 3:return function(r){return this.fromWireType(S[r>>3])};default:throw new TypeError("Unknown float type: "+r)}}function ye(r,e,t){switch(e){case 0:return t?function(r){return _[r]}:function(r){return k[r]};case 1:return t?function(r){return P[r>>1]}:function(r){return C[r>>1]};case 2:return t?function(r){return A[r>>2]}:function(r){return T[r>>2]};default:throw new TypeError("Unknown integer type: "+r)}}function be(r,e,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function we(r,e,t){return be(r,k,e,t)}function Ee(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}var xe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _e(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&xe)return xe.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var f=i-65536;a+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a}function ke(r,e){return r?_e(k,r,e):""}var Pe="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Ce(r,e){for(var t=r,n=t>>1,o=n+e/2;!(n>=o)&&C[n];)++n;if((t=n<<1)-r>32&&Pe)return Pe.decode(k.subarray(r,t));for(var a="",i=0;!(i>=e/2);++i){var s=P[r+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a}function Ae(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);P[e>>1]=i,e+=2}return P[e>>1]=0,e-n}function Te(r){return 2*r.length}function Be(r,e){for(var t=0,n="";!(t>=e/4);){var o=A[r+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n}function Se(r,e,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&r.charCodeAt(++a);if(A[e>>2]=i,(e+=4)+4>o)break}return A[e>>2]=0,e-n}function $e(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e}var De={};function Fe(r){var e=De[r];return void 0===e?pr(r):e}var Me=[];var Ie=[];var Le={};var je={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){je.lastError||(je.lastError=r)},getNewId:function(r){for(var e=je.counter++,t=r.length;t<e;t++)r[t]=null;return e},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(r){return 32-Math.clz32(0===r?0:r-1)},generateTempBuffers:function(r,e){var t=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE);e.tempVertexBufferCounters1=[],e.tempVertexBufferCounters2=[],e.tempVertexBufferCounters1.length=e.tempVertexBufferCounters2.length=t+1,e.tempVertexBuffers1=[],e.tempVertexBuffers2=[],e.tempVertexBuffers1.length=e.tempVertexBuffers2.length=t+1,e.tempIndexBuffers=[],e.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){e.tempIndexBuffers[n]=null,e.tempVertexBufferCounters1[n]=e.tempVertexBufferCounters2[n]=0;var o=je.numTempVertexBuffersPerSize;e.tempVertexBuffers1[n]=[],e.tempVertexBuffers2[n]=[];var a=e.tempVertexBuffers1[n],i=e.tempVertexBuffers2[n];a.length=i.length=o;for(var s=0;s<o;++s)a[s]=i[s]=null}if(r){e.tempQuadIndexBuffer=Os.createBuffer(),e.GLctx.bindBuffer(34963,e.tempQuadIndexBuffer);for(var u=je.MAX_TEMP_BUFFER_SIZE>>1,f=new Uint16Array(u),c=(n=0,0);!(f[n++]=c,n>=u||(f[n++]=c+1,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c+3,n>=u));)c+=4;e.GLctx.bufferData(34963,f,35044),e.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempVertexBuffers1[e],n=je.currentContext.tempVertexBufferCounters1[e];je.currentContext.tempVertexBufferCounters1[e]=je.currentContext.tempVertexBufferCounters1[e]+1&je.numTempVertexBuffersPerSize-1;var o=t[n];if(o)return o;var a=Os.getParameter(34964);return t[n]=Os.createBuffer(),Os.bindBuffer(34962,t[n]),Os.bufferData(34962,1<<e,35048),Os.bindBuffer(34962,a),t[n]},getTempIndexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempIndexBuffers[e];if(t)return t;var n=Os.getParameter(34965);return je.currentContext.tempIndexBuffers[e]=Os.createBuffer(),Os.bindBuffer(34963,je.currentContext.tempIndexBuffers[e]),Os.bufferData(34963,1<<e,35048),Os.bindBuffer(34963,n),je.currentContext.tempIndexBuffers[e]},newRenderingFrameStarted:function(){if(je.currentContext){var r=je.currentContext.tempVertexBuffers1;je.currentContext.tempVertexBuffers1=je.currentContext.tempVertexBuffers2,je.currentContext.tempVertexBuffers2=r,r=je.currentContext.tempVertexBufferCounters1,je.currentContext.tempVertexBufferCounters1=je.currentContext.tempVertexBufferCounters2,je.currentContext.tempVertexBufferCounters2=r;for(var e=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE),t=0;t<=e;++t)je.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(r,e,t,n){for(var o="",a=0;a<e;++a){var i=n?A[n+4*a>>2]:-1;o+=ke(A[t+4*a>>2],i<0?void 0:i)}return o},calcBufLength:function(r,e,t,n){return t>0?n*t:r*je.byteSizeByType[e-je.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){je.resetBufferBinding=!1;for(var e=0;e<je.currentContext.maxVertexAttribs;++e){var t=je.currentContext.clientBuffers[e];if(t.clientside&&t.enabled){je.resetBufferBinding=!0;var n=je.calcBufLength(t.size,t.type,t.stride,r),o=je.getTempVertexBuffer(n);Os.bindBuffer(34962,o),Os.bufferSubData(34962,0,k.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(Os,e,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){je.resetBufferBinding&&Os.bindBuffer(34962,je.buffers[Os.currentArrayBufferBinding])},createContext:function(r,e){if(a.preinitializedWebGLContext){var t=a.preinitializedWebGLContext;e.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!r.getContextSafariWebGL2Fixed){r.getContextSafariWebGL2Fixed=r.getContext,r.getContext=function(e,t){var n=r.getContextSafariWebGL2Fixed(e,t);return"webgl"==e==n instanceof WebGLRenderingContext?n:null}}t=e.majorVersion>1?r.getContext("webgl2",e):r.getContext("webgl",e)}return t?je.registerContext(t,e):0},registerContext:function(r,e){var t=je.getNewId(je.contexts),n={handle:t,attributes:e,version:e.majorVersion,GLctx:r};r.canvas&&(r.canvas.GLctxObject=n),je.contexts[t]=n,(void 0===e.enableExtensionsByDefault||e.enableExtensionsByDefault)&&je.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return je.generateTempBuffers(!1,n),t},makeContextCurrent:function(r){return je.currentContext=je.contexts[r],a.ctx=Os=je.currentContext&&je.currentContext.GLctx,!(r&&!Os)},getContext:function(r){return je.contexts[r]},deleteContext:function(r){je.currentContext===je.contexts[r]&&(je.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(je.contexts[r].GLctx.canvas),je.contexts[r]&&je.contexts[r].GLctx.canvas&&(je.contexts[r].GLctx.canvas.GLctxObject=void 0),je.contexts[r]=null},initExtensions:function(r){if(r||(r=je.currentContext),!r.initExtensionsDone){r.initExtensionsDone=!0;var e,t=r.GLctx;!function(r){var e=r.getExtension("ANGLE_instanced_arrays");if(e)r.vertexAttribDivisor=function(r,t){e.vertexAttribDivisorANGLE(r,t)},r.drawArraysInstanced=function(r,t,n,o){e.drawArraysInstancedANGLE(r,t,n,o)},r.drawElementsInstanced=function(r,t,n,o,a){e.drawElementsInstancedANGLE(r,t,n,o,a)}}(t),function(r){var e=r.getExtension("OES_vertex_array_object");if(e)r.createVertexArray=function(){return e.createVertexArrayOES()},r.deleteVertexArray=function(r){e.deleteVertexArrayOES(r)},r.bindVertexArray=function(r){e.bindVertexArrayOES(r)},r.isVertexArray=function(r){return e.isVertexArrayOES(r)}}(t),function(r){var e=r.getExtension("WEBGL_draw_buffers");if(e)r.drawBuffers=function(r,t){e.drawBuffersWEBGL(r,t)}}(t),(e=t).dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(r){r.mdibvbi=r.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),r.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(r.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(r){r.multiDrawWebgl=r.getExtension("WEBGL_multi_draw")}(t),(t.getSupportedExtensions()||[]).forEach((function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)}))}}};var Re=function(r){Os.activeTexture(r)};var Ve=function(r,e){Os.attachShader(je.programs[r],je.shaders[e])};var Oe=function(r,e){Os.beginQuery(r,je.queries[e])};var Ue=function(r,e){Os.disjointTimerQueryExt.beginQueryEXT(r,je.queries[e])};var Ne=function(r){Os.beginTransformFeedback(r)};var We=function(r,e,t){Os.bindAttribLocation(je.programs[r],e,ke(t))};var ze=function(r,e){34962==r?Os.currentArrayBufferBinding=e:34963==r&&(Os.currentElementArrayBufferBinding=e),35051==r?Os.currentPixelPackBufferBinding=e:35052==r&&(Os.currentPixelUnpackBufferBinding=e),Os.bindBuffer(r,je.buffers[e])};var Ge=function(r,e,t){Os.bindBufferBase(r,e,je.buffers[t])};var He=function(r,e,t,n,o){Os.bindBufferRange(r,e,je.buffers[t],n,o)};var qe=function(r,e){Os.bindFramebuffer(r,je.framebuffers[e])};var Qe=function(r,e){Os.bindRenderbuffer(r,je.renderbuffers[e])};var Xe=function(r,e){Os.bindSampler(r,je.samplers[e])};var Ye=function(r,e){Os.bindTexture(r,je.textures[e])};var Ze=function(r,e){Os.bindTransformFeedback(r,je.transformFeedbacks[e])};function Je(r){Os.bindVertexArray(je.vaos[r]);var e=Os.getParameter(34965);Os.currentElementArrayBufferBinding=e?0|e.name:0}var Ke=Je,rt=Je;var et=function(r,e,t,n){Os.blendColor(r,e,t,n)};var tt=function(r){Os.blendEquation(r)};var nt=function(r,e){Os.blendEquationSeparate(r,e)};var ot=function(r,e){Os.blendFunc(r,e)};var at=function(r,e,t,n){Os.blendFuncSeparate(r,e,t,n)};var it=function(r,e,t,n,o,a,i,s,u,f){Os.blitFramebuffer(r,e,t,n,o,a,i,s,u,f)};var st=function(r,e,t,n){je.currentContext.version>=2?t&&e?Os.bufferData(r,k,n,t,e):Os.bufferData(r,e,n):Os.bufferData(r,t?k.subarray(t,t+e):e,n)};var ut=function(r,e,t,n){je.currentContext.version>=2?t&&Os.bufferSubData(r,e,k,n,t):Os.bufferSubData(r,e,k.subarray(n,n+t))};var ft=function(r){return Os.checkFramebufferStatus(r)};var ct=function(r){Os.clear(r)};var lt=function(r,e,t,n){Os.clearBufferfi(r,e,t,n)};var dt=function(r,e,t){Os.clearBufferfv(r,e,B,t>>2)};var mt=function(r,e,t){Os.clearBufferiv(r,e,A,t>>2)};var vt=function(r,e,t){Os.clearBufferuiv(r,e,T,t>>2)};var pt=function(r,e,t,n){Os.clearColor(r,e,t,n)};var ht=function(r){Os.clearDepth(r)};var gt=function(r){Os.clearStencil(r)};function yt(r,e){return(r>>>0)+4294967296*e}var bt=function(r,e,t,n){var o=yt(t,n);return Os.clientWaitSync(je.syncs[r],e,o)};var wt=function(r,e,t,n){Os.colorMask(!!r,!!e,!!t,!!n)};var Et=function(r){Os.compileShader(je.shaders[r])};var xt=function(r,e,t,n,o,a,i,s){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!i?Os.compressedTexImage2D(r,e,t,n,o,a,i,s):Os.compressedTexImage2D(r,e,t,n,o,a,k,s,i):Os.compressedTexImage2D(r,e,t,n,o,a,s?k.subarray(s,s+i):null)};var _t=function(r,e,t,n,o,a,i,s,u){Os.currentPixelUnpackBufferBinding?Os.compressedTexImage3D(r,e,t,n,o,a,i,s,u):Os.compressedTexImage3D(r,e,t,n,o,a,i,k,u,s)};var kt=function(r,e,t,n,o,a,i,s,u){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!s?Os.compressedTexSubImage2D(r,e,t,n,o,a,i,s,u):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,k,u,s):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,u?k.subarray(u,u+s):null)};var Pt=function(r,e,t,n,o,a,i,s,u,f,c){Os.currentPixelUnpackBufferBinding?Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,f,c):Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,k,c,f)};var Ct=function(r,e,t,n,o){Os.copyBufferSubData(r,e,t,n,o)};var At=function(r,e,t,n,o,a,i,s){Os.copyTexImage2D(r,e,t,n,o,a,i,s)};var Tt=function(r,e,t,n,o,a,i,s){Os.copyTexSubImage2D(r,e,t,n,o,a,i,s)};var Bt=function(r,e,t,n,o,a,i,s,u){Os.copyTexSubImage3D(r,e,t,n,o,a,i,s,u)};var St=function(){var r=je.getNewId(je.programs),e=Os.createProgram();return e.name=r,e.maxUniformLength=e.maxAttributeLength=e.maxUniformBlockNameLength=0,e.uniformIdCounter=1,je.programs[r]=e,r};var $t=function(r){var e=je.getNewId(je.shaders);return je.shaders[e]=Os.createShader(r),e};var Dt=function(r){Os.cullFace(r)};var Ft=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.buffers[n];o&&(Os.deleteBuffer(o),o.name=0,je.buffers[n]=null,n==Os.currentArrayBufferBinding&&(Os.currentArrayBufferBinding=0),n==Os.currentElementArrayBufferBinding&&(Os.currentElementArrayBufferBinding=0),n==Os.currentPixelPackBufferBinding&&(Os.currentPixelPackBufferBinding=0),n==Os.currentPixelUnpackBufferBinding&&(Os.currentPixelUnpackBufferBinding=0))}};var Mt=function(r,e){for(var t=0;t<r;++t){var n=A[e+4*t>>2],o=je.framebuffers[n];o&&(Os.deleteFramebuffer(o),o.name=0,je.framebuffers[n]=null)}};var It=function(r){if(r){var e=je.programs[r];e?(Os.deleteProgram(e),e.name=0,je.programs[r]=null):je.recordError(1281)}};var Lt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.deleteQuery(o),je.queries[n]=null)}};var jt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.disjointTimerQueryExt.deleteQueryEXT(o),je.queries[n]=null)}};var Rt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.renderbuffers[n];o&&(Os.deleteRenderbuffer(o),o.name=0,je.renderbuffers[n]=null)}};var Vt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.samplers[n];o&&(Os.deleteSampler(o),o.name=0,je.samplers[n]=null)}};var Ot=function(r){if(r){var e=je.shaders[r];e?(Os.deleteShader(e),je.shaders[r]=null):je.recordError(1281)}};var Ut=function(r){if(r){var e=je.syncs[r];e?(Os.deleteSync(e),e.name=0,je.syncs[r]=null):je.recordError(1281)}};var Nt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.textures[n];o&&(Os.deleteTexture(o),o.name=0,je.textures[n]=null)}};var Wt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.transformFeedbacks[n];o&&(Os.deleteTransformFeedback(o),o.name=0,je.transformFeedbacks[n]=null)}};function zt(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2];Os.deleteVertexArray(je.vaos[n]),je.vaos[n]=null}}var Gt=zt,Ht=zt;var qt=function(r){Os.depthFunc(r)};var Qt=function(r){Os.depthMask(!!r)};var Xt=function(r,e){Os.depthRange(r,e)};var Yt=function(r,e){Os.detachShader(je.programs[r],je.shaders[e])};var Zt=function(r){Os.disable(r)};var Jt=function(r){je.currentContext.clientBuffers[r].enabled=!1,Os.disableVertexAttribArray(r)};var Kt=function(r,e,t){je.preDrawHandleClientVertexAttribBindings(e+t),Os.drawArrays(r,e,t),je.postDrawHandleClientVertexAttribBindings()};function rn(r,e,t,n){Os.drawArraysInstanced(r,e,t,n)}var en=rn,tn=rn,nn=rn,on=rn,an=rn,sn=[];function un(r,e){for(var t=sn[r],n=0;n<r;n++)t[n]=A[e+4*n>>2];Os.drawBuffers(t)}var fn=un,cn=un,ln=un;function dn(r,e,t,n){var o;if(!Os.currentElementArrayBufferBinding){var a=je.calcBufLength(1,t,0,e);o=je.getTempIndexBuffer(a),Os.bindBuffer(34963,o),Os.bufferSubData(34963,0,k.subarray(n,n+a)),n=0}je.preDrawHandleClientVertexAttribBindings(e),Os.drawElements(r,e,t,n),je.postDrawHandleClientVertexAttribBindings(e),Os.currentElementArrayBufferBinding||Os.bindBuffer(34963,null)}var mn=dn;function vn(r,e,t,n,o){Os.drawElementsInstanced(r,e,t,n,o)}var pn=vn,hn=vn,gn=vn,yn=vn,bn=vn;var wn=function(r,e,t,n,o,a){dn(r,n,o,a)};var En=function(r){Os.enable(r)};var xn=function(r){je.currentContext.clientBuffers[r].enabled=!0,Os.enableVertexAttribArray(r)};var _n=function(r){Os.endQuery(r)};var kn=function(r){Os.disjointTimerQueryExt.endQueryEXT(r)};var Pn=function(){Os.endTransformFeedback()};var Cn=function(r,e){var t=Os.fenceSync(r,e);if(t){var n=je.getNewId(je.syncs);return t.name=n,je.syncs[n]=t,n}return 0};var An=function(){Os.finish()};var Tn=function(){Os.flush()};function Bn(r){switch(r){case 34962:r=34964;break;case 34963:r=34965;break;case 35051:r=35053;break;case 35052:r=35055;break;case 35982:r=35983;break;case 36662:r=36662;break;case 36663:r=36663;break;case 35345:r=35368}var e=Os.getParameter(r);return e?0|e.name:0}function Sn(r){switch(r){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}var $n=function(r,e,t){if(!Sn(r))return je.recordError(1280),void w("GL_INVALID_ENUM in glFlushMappedBufferRange");var n=je.mappedBuffers[Bn(r)];return n?16&n.access?e<0||t<0||e+t>n.length?(je.recordError(1281),void w("invalid range in glFlushMappedBufferRange")):void Os.bufferSubData(r,n.offset,k.subarray(n.mem+e,n.mem+e+t)):(je.recordError(1282),void w("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(je.recordError(1282),void w("buffer was never mapped in glFlushMappedBufferRange"))};var Dn=function(r,e,t,n){Os.framebufferRenderbuffer(r,e,t,je.renderbuffers[n])};var Fn=function(r,e,t,n,o){Os.framebufferTexture2D(r,e,t,je.textures[n],o)};var Mn=function(r,e,t,n,o){Os.framebufferTextureLayer(r,e,je.textures[t],n,o)};var In=function(r){Os.frontFace(r)};function Ln(r,e,t,n){for(var o=0;o<r;o++){var a=Os[t](),i=a&&je.getNewId(n);a?(a.name=i,n[i]=a):je.recordError(1282),A[e+4*o>>2]=i}}var jn=function(r,e){Ln(r,e,"createBuffer",je.buffers)};var Rn=function(r,e){Ln(r,e,"createFramebuffer",je.framebuffers)};var Vn=function(r,e){Ln(r,e,"createQuery",je.queries)};var On=function(r,e){for(var t=0;t<r;t++){var n=Os.disjointTimerQueryExt.createQueryEXT();if(!n){for(je.recordError(1282);t<r;)A[e+4*t++>>2]=0;return}var o=je.getNewId(je.queries);n.name=o,je.queries[o]=n,A[e+4*t>>2]=o}};var Un=function(r,e){Ln(r,e,"createRenderbuffer",je.renderbuffers)};var Nn=function(r,e){Ln(r,e,"createSampler",je.samplers)};var Wn=function(r,e){Ln(r,e,"createTexture",je.textures)};var zn=function(r,e){Ln(r,e,"createTransformFeedback",je.transformFeedbacks)};function Gn(r,e){Ln(r,e,"createVertexArray",je.vaos)}var Hn=Gn,qn=Gn;var Qn=function(r){Os.generateMipmap(r)};function Xn(r,e,t,n,o,a,i,s){e=je.programs[e];var u=Os[r](e,t);if(u){var f=s&&we(u.name,s,n);o&&(A[o>>2]=f),a&&(A[a>>2]=u.size),i&&(A[i>>2]=u.type)}}var Yn=function(r,e,t,n,o,a,i){Xn("getActiveAttrib",r,e,t,n,o,a,i)};var Zn=function(r,e,t,n,o,a,i){Xn("getActiveUniform",r,e,t,n,o,a,i)};var Jn=function(r,e,t,n,o){r=je.programs[r];var a=Os.getActiveUniformBlockName(r,e);if(a)if(o&&t>0){var i=we(a,o,t);n&&(A[n>>2]=i)}else n&&(A[n>>2]=0)};var Kn=function(r,e,t,n){if(n)if(r=je.programs[r],35393!=t){var o=Os.getActiveUniformBlockParameter(r,e,t);if(null!==o)if(35395==t)for(var a=0;a<o.length;a++)A[n+4*a>>2]=o[a];else A[n>>2]=o}else{var i=Os.getActiveUniformBlockName(r,e);A[n>>2]=i.length+1}else je.recordError(1281)};var ro=function(r,e,t,n,o){if(o)if(e>0&&0==t)je.recordError(1281);else{r=je.programs[r];for(var a=[],i=0;i<e;i++)a.push(A[t+4*i>>2]);var s=Os.getActiveUniforms(r,a,n);if(s){var u=s.length;for(i=0;i<u;i++)A[o+4*i>>2]=s[i]}}else je.recordError(1281)};var eo=function(r,e,t,n){var o=Os.getAttachedShaders(je.programs[r]),a=o.length;a>e&&(a=e),A[t>>2]=a;for(var i=0;i<a;++i){var s=je.shaders.indexOf(o[i]);A[n+4*i>>2]=s}};var to=function(r,e){return Os.getAttribLocation(je.programs[r],ke(e))};function no(r,e){T[r>>2]=e,T[r+4>>2]=(e-T[r>>2])/4294967296}function oo(r,e,t){if(e){var n=void 0;switch(r){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&je.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Os.getParameter(34467);n=o?o.length:0;break;case 33309:if(je.currentContext.version<2)return void je.recordError(1282);n=2*(Os.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(je.currentContext.version<2)return void je.recordError(1280);n=33307==r?3:0}if(void 0===n){var a=Os.getParameter(r);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void je.recordError(1280);case"object":if(null===a)switch(r){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void je.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:A[e+4*i>>2]=a[i];break;case 2:B[e+4*i>>2]=a[i];break;case 4:_[e+i|0]=a[i]?1:0}return}try{n=0|a.name}catch(e){return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Unknown object returned from WebGL getParameter("+r+")! (error: "+e+")")}}break;default:return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Native code calling glGet"+t+"v("+r+") and it returns "+a+" of type "+typeof a+"!")}}switch(t){case 1:no(e,n);break;case 0:A[e>>2]=n;break;case 2:B[e>>2]=n;break;case 4:_[e|0]=n?1:0}}else je.recordError(1281)}var ao=function(r,e){oo(r,e,4)};var io=function(r,e,t){t?no(t,Os.getBufferParameter(r,e)):je.recordError(1281)};var so=function(r,e,t){t?A[t>>2]=Os.getBufferParameter(r,e):je.recordError(1281)};var uo=function(r,e,t){if(35005==e){var n=0,o=je.mappedBuffers[Bn(r)];o&&(n=o.mem),A[t>>2]=n}else je.recordError(1280),w("GL_INVALID_ENUM in glGetBufferPointerv")};var fo=function(){var r=Os.getError()||je.lastError;return je.lastError=0,r};var co=function(r,e){oo(r,e,2)};var lo=function(r,e){return Os.getFragDataLocation(je.programs[r],ke(e))};var mo=function(r,e,t,n){var o=Os.getFramebufferAttachmentParameter(r,e,t);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),A[n>>2]=o};function vo(r,e,t,n){if(t){var o,a=Os.getIndexedParameter(r,e);switch(typeof a){case"boolean":o=a?1:0;break;case"number":o=a;break;case"object":if(null===a)switch(r){case 35983:case 35368:o=0;break;default:return void je.recordError(1280)}else{if(!(a instanceof WebGLBuffer))return void je.recordError(1280);o=0|a.name}break;default:return void je.recordError(1280)}switch(n){case 1:no(t,o);break;case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 4:_[t|0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else je.recordError(1281)}var po=function(r,e,t){vo(r,e,t,1)};var ho=function(r,e){oo(r,e,1)};var go=function(r,e,t){vo(r,e,t,0)};var yo=function(r,e){oo(r,e,0)};var bo=function(r,e,t,n,o){if(n<0)je.recordError(1281);else if(o){var a=Os.getInternalformatParameter(r,e,t);if(null!==a)for(var i=0;i<a.length&&i<n;++i)A[o+4*i>>2]=a[i]}else je.recordError(1281)};var wo=function(r,e,t,n,o){je.recordError(1282)};var Eo=function(r,e,t,n){var o=Os.getProgramInfoLog(je.programs[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var xo=function(r,e,t){if(t)if(r>=je.counter)je.recordError(1281);else if(r=je.programs[r],35716==e){var n=Os.getProgramInfoLog(r);null===n&&(n="(unknown error)"),A[t>>2]=n.length+1}else if(35719==e){if(!r.maxUniformLength)for(var o=0;o<Os.getProgramParameter(r,35718);++o)r.maxUniformLength=Math.max(r.maxUniformLength,Os.getActiveUniform(r,o).name.length+1);A[t>>2]=r.maxUniformLength}else if(35722==e){if(!r.maxAttributeLength)for(o=0;o<Os.getProgramParameter(r,35721);++o)r.maxAttributeLength=Math.max(r.maxAttributeLength,Os.getActiveAttrib(r,o).name.length+1);A[t>>2]=r.maxAttributeLength}else if(35381==e){if(!r.maxUniformBlockNameLength)for(o=0;o<Os.getProgramParameter(r,35382);++o)r.maxUniformBlockNameLength=Math.max(r.maxUniformBlockNameLength,Os.getActiveUniformBlockName(r,o).length+1);A[t>>2]=r.maxUniformBlockNameLength}else A[t>>2]=Os.getProgramParameter(r,e);else je.recordError(1281)};function _o(r,e,t){if(t){var n,o=je.queries[r];no(t,"boolean"==typeof(n=je.currentContext.version<2?Os.disjointTimerQueryExt.getQueryObjectEXT(o,e):Os.getQueryParameter(o,e))?n?1:0:n)}else je.recordError(1281)}var ko=_o;function Po(r,e,t){if(t){var n,o=je.queries[r],a=Os.disjointTimerQueryExt.getQueryObjectEXT(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)}var Co=Po,Ao=_o;var To=function(r,e,t){if(t){var n,o=je.queries[r],a=Os.getQueryParameter(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)},Bo=Po;var So=function(r,e,t){t?A[t>>2]=Os.getQuery(r,e):je.recordError(1281)};var $o=function(r,e,t){t?A[t>>2]=Os.disjointTimerQueryExt.getQueryEXT(r,e):je.recordError(1281)};var Do=function(r,e,t){t?A[t>>2]=Os.getRenderbufferParameter(r,e):je.recordError(1281)};var Fo=function(r,e,t){t?B[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Mo=function(r,e,t){t?A[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Io=function(r,e,t,n){var o=Os.getShaderInfoLog(je.shaders[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var Lo=function(r,e,t,n){var o=Os.getShaderPrecisionFormat(r,e);A[t>>2]=o.rangeMin,A[t+4>>2]=o.rangeMax,A[n>>2]=o.precision};var jo=function(r,e,t,n){var o=Os.getShaderSource(je.shaders[r]);if(o){var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)}};var Ro=function(r,e,t){if(t)if(35716==e){var n=Os.getShaderInfoLog(je.shaders[r]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;A[t>>2]=o}else if(35720==e){var a=Os.getShaderSource(je.shaders[r]),i=a?a.length+1:0;A[t>>2]=i}else A[t>>2]=Os.getShaderParameter(je.shaders[r],e);else je.recordError(1281)};function Vo(r){var e=Ee(r)+1,t=Ks(e);return t&&we(r,t,e),t}var Oo=function(r){var e=je.stringCache[r];if(!e){switch(r){case 7939:var t=Os.getSupportedExtensions()||[];e=Vo((t=t.concat(t.map((function(r){return"GL_"+r})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Os.getParameter(r);n||je.recordError(1280),e=n&&Vo(n);break;case 7938:var o=Os.getParameter(7938);e=Vo(o=je.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var a=Os.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a="OpenGL ES GLSL ES "+i[1]+" ("+a+")"),e=Vo(a);break;default:je.recordError(1280)}je.stringCache[r]=e}return e};var Uo=function(r,e){if(je.currentContext.version<2)return je.recordError(1282),0;var t=je.stringiCache[r];if(t)return e<0||e>=t.length?(je.recordError(1281),0):t[e];if(7939===r){var n=Os.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(r){return"GL_"+r})))).map((function(r){return Vo(r)})),t=je.stringiCache[r]=n,e<0||e>=t.length?(je.recordError(1281),0):t[e]}return je.recordError(1280),0};var No=function(r,e,t,n,o){if(t<0)je.recordError(1281);else if(o){var a=Os.getSyncParameter(je.syncs[r],e);null!==a&&(A[o>>2]=a,n&&(A[n>>2]=1))}else je.recordError(1281)};var Wo=function(r,e,t){t?B[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var zo=function(r,e,t){t?A[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var Go=function(r,e,t,n,o,a,i){r=je.programs[r];var s=Os.getTransformFeedbackVarying(r,e);if(s){if(i&&t>0){var u=we(s.name,i,t);n&&(A[n>>2]=u)}else n&&(A[n>>2]=0);o&&(A[o>>2]=s.size),a&&(A[a>>2]=s.type)}};var Ho=function(r,e){return Os.getUniformBlockIndex(je.programs[r],ke(e))};var qo=function(r,e,t,n){if(n)if(e>0&&(0==t||0==n))je.recordError(1281);else{r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));var i=Os.getUniformIndices(r,o);if(i){var s=i.length;for(a=0;a<s;a++)A[n+4*a>>2]=i[a]}}else je.recordError(1281)};function Qo(r){return"]"==r.slice(-1)&&r.lastIndexOf("[")}function Xo(r){var e,t,n=r.uniformLocsById,o=r.uniformSizeAndIdsByName;if(!n)for(r.uniformLocsById=n={},r.uniformArrayNamesById={},e=0;e<Os.getProgramParameter(r,35718);++e){var a=Os.getActiveUniform(r,e),i=a.name,s=a.size,u=Qo(i),f=u>0?i.slice(0,u):i,c=r.uniformIdCounter;for(r.uniformIdCounter+=s,o[f]=[s,c],t=0;t<s;++t)n[c]=t,r.uniformArrayNamesById[c++]=f}}var Yo=function(r,e){if(e=ke(e),r=je.programs[r]){Xo(r);var t=r.uniformLocsById,n=0,o=e,a=Qo(e);a>0&&(s=e.slice(a+1),n=parseInt(s)>>>0,o=e.slice(0,a));var i=r.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Os.getUniformLocation(r,e)))return n}else je.recordError(1281);var s;return-1};function Zo(r){var e=Os.currentProgram;if(e){var t=e.uniformLocsById[r];return"number"==typeof t&&(e.uniformLocsById[r]=t=Os.getUniformLocation(e,e.uniformArrayNamesById[r]+(t>0?"["+t+"]":""))),t}je.recordError(1282)}function Jo(r,e,t,n){if(t){Xo(r=je.programs[r]);var o=Os.getUniform(r,Zo(e));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a]}}else je.recordError(1281)}var Ko=function(r,e,t){Jo(r,e,t,2)};var ra=function(r,e,t){Jo(r,e,t,0)};var ea=function(r,e,t){Jo(r,e,t,0)};function ta(r,e,t,n){if(t){je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var o=Os.getVertexAttrib(r,e);if(34975==e)A[t>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 5:A[t>>2]=Math.fround(o)}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a];break;case 5:A[t+4*a>>2]=Math.fround(o[a])}}else je.recordError(1281)}function na(r,e,t){ta(r,e,t,0)}var oa=na,aa=na;var ia=function(r,e,t){t?(je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),A[t>>2]=Os.getVertexAttribOffset(r,e)):je.recordError(1281)};var sa=function(r,e,t){ta(r,e,t,2)};var ua=function(r,e,t){ta(r,e,t,5)};var fa=function(r,e){Os.hint(r,e)};var ca=function(r,e,t){for(var n=sn[e],o=0;o<e;o++)n[o]=A[t+4*o>>2];Os.invalidateFramebuffer(r,n)};var la=function(r,e,t,n,o,a,i){for(var s=sn[e],u=0;u<e;u++)s[u]=A[t+4*u>>2];Os.invalidateSubFramebuffer(r,s,n,o,a,i)};var da=function(r){var e=je.buffers[r];return e?Os.isBuffer(e):0};var ma=function(r){return Os.isEnabled(r)};var va=function(r){var e=je.framebuffers[r];return e?Os.isFramebuffer(e):0};var pa=function(r){return(r=je.programs[r])?Os.isProgram(r):0};var ha=function(r){var e=je.queries[r];return e?Os.isQuery(e):0};var ga=function(r){var e=je.queries[r];return e?Os.disjointTimerQueryExt.isQueryEXT(e):0};var ya=function(r){var e=je.renderbuffers[r];return e?Os.isRenderbuffer(e):0};var ba=function(r){var e=je.samplers[r];return e?Os.isSampler(e):0};var wa=function(r){var e=je.shaders[r];return e?Os.isShader(e):0};var Ea=function(r){return Os.isSync(je.syncs[r])};var xa=function(r){var e=je.textures[r];return e?Os.isTexture(e):0};var _a=function(r){return Os.isTransformFeedback(je.transformFeedbacks[r])};function ka(r){var e=je.vaos[r];return e?Os.isVertexArray(e):0}var Pa=ka,Ca=ka;var Aa=function(r){Os.lineWidth(r)};var Ta=function(r){r=je.programs[r],Os.linkProgram(r),r.uniformLocsById=0,r.uniformSizeAndIdsByName={}};var Ba=function(r,e,t,n){if(33&n)return w("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if(!(2&n))return w("glMapBufferRange access must include MAP_WRITE"),0;if(!(12&n))return w("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glMapBufferRange"),0;var o=Ks(t);return o?(je.mappedBuffers[Bn(r)]={offset:e,length:t,mem:o,access:n},o):0};var Sa=function(){Os.pauseTransformFeedback()};var $a=function(r,e){3317==r&&(je.unpackAlignment=e),Os.pixelStorei(r,e)};var Da=function(r,e){Os.polygonOffset(r,e)};var Fa=function(r,e,t,n){je.recordError(1280)};var Ma=function(r,e,t){je.recordError(1280)};var Ia=function(r,e){Os.disjointTimerQueryExt.queryCounterEXT(je.queries[r],e)};var La=function(r){Os.readBuffer(r)};function ja(r){return 0==(r-=5120)?_:1==r?k:2==r?P:4==r?A:6==r?B:5==r||28922==r||28520==r||30779==r||30782==r?T:C}function Ra(r){return 31-Math.clz32(r.BYTES_PER_ELEMENT)}function Va(r,e,t,n,o,a){var i=ja(r),s=Ra(i),u=1<<s,f=function(r){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[r-6402]||1}(e)*u,c=function(r,e,t,n){var o;return e*(r*t+(o=n)-1&-o)}(t,n,f,je.unpackAlignment);return i.subarray(o>>s,o+c>>s)}var Oa=function(r,e,t,n,o,a,i){if(je.curre