diff --git a/game.data b/game.data
index 01b60f1..26b1b1b 100644
Binary files a/game.data and b/game.data differ
diff --git a/game.js b/game.js
index 3df15dc..b1f900e 100644
--- a/game.js
+++ b/game.js
@@ -93,9 +93,7 @@ Module.expectedDataFileDownloads++;
function assert(check, msg) {
if (!check) throw msg + new Error().stack;
}
-Module['FS_createPath']('/', 'release-performance', true, true);
-Module['FS_createPath']('/release-performance', 'Graphoon', true, true);
-Module['FS_createPath']('/release-performance', 'theme', true, true);
+Module['FS_createPath']('/', 'Graphoon', true, true);
function DataRequest(start, end, crunched, audio) {
this.start = start;
@@ -175,6 +173,6 @@ Module['FS_createPath']('/release-performance', 'theme', true, true);
}
}
- loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3510, "filename": "/release-performance/Camera.lua"}, {"audio": 0, "start": 3510, "crunched": 0, "end": 3714, "filename": "/release-performance/CHANGELOG.md"}, {"audio": 0, "start": 3714, "crunched": 0, "end": 7051, "filename": "/release-performance/conf.lua"}, {"audio": 0, "start": 7051, "crunched": 0, "end": 25092, "filename": "/release-performance/file.png"}, {"audio": 0, "start": 25092, "crunched": 0, "end": 25128, "filename": "/release-performance/Graphoon.lua"}, {"audio": 0, "start": 25128, "crunched": 0, "end": 28821, "filename": "/release-performance/index.html"}, {"audio": 0, "start": 28821, "crunched": 0, "end": 29886, "filename": "/release-performance/LICENSE.md"}, {"audio": 0, "start": 29886, "crunched": 0, "end": 6222155, "filename": "/release-performance/love.js"}, {"audio": 0, "start": 6222155, "crunched": 0, "end": 6842688, "filename": "/release-performance/love.js.mem"}, {"audio": 0, "start": 6842688, "crunched": 0, "end": 6850412, "filename": "/release-performance/main.lua"}, {"audio": 0, "start": 6850412, "crunched": 0, "end": 6853518, "filename": "/release-performance/README.md"}, {"audio": 0, "start": 6853518, "crunched": 0, "end": 6853750, "filename": "/release-performance/Graphoon/Edge.lua"}, {"audio": 0, "start": 6853750, "crunched": 0, "end": 6861843, "filename": "/release-performance/Graphoon/Graph.lua"}, {"audio": 0, "start": 6861843, "crunched": 0, "end": 6863369, "filename": "/release-performance/Graphoon/init.lua"}, {"audio": 0, "start": 6863369, "crunched": 0, "end": 6867278, "filename": "/release-performance/Graphoon/Node.lua"}, {"audio": 0, "start": 6867278, "crunched": 0, "end": 6874439, "filename": "/release-performance/theme/bg.png"}, {"audio": 0, "start": 6874439, "crunched": 0, "end": 6875225, "filename": "/release-performance/theme/love.css"}], "remote_package_size": 6875225, "package_uuid": "4072c68b-906f-4db6-8634-a286827f35df"});
+ loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3510, "filename": "/Camera.lua"}, {"audio": 0, "start": 3510, "crunched": 0, "end": 3714, "filename": "/CHANGELOG.md"}, {"audio": 0, "start": 3714, "crunched": 0, "end": 7051, "filename": "/conf.lua"}, {"audio": 0, "start": 7051, "crunched": 0, "end": 25092, "filename": "/file.png"}, {"audio": 0, "start": 25092, "crunched": 0, "end": 25128, "filename": "/Graphoon.lua"}, {"audio": 0, "start": 25128, "crunched": 0, "end": 26193, "filename": "/LICENSE.md"}, {"audio": 0, "start": 26193, "crunched": 0, "end": 33917, "filename": "/main.lua"}, {"audio": 0, "start": 33917, "crunched": 0, "end": 37023, "filename": "/README.md"}, {"audio": 0, "start": 37023, "crunched": 0, "end": 37255, "filename": "/Graphoon/Edge.lua"}, {"audio": 0, "start": 37255, "crunched": 0, "end": 45348, "filename": "/Graphoon/Graph.lua"}, {"audio": 0, "start": 45348, "crunched": 0, "end": 46874, "filename": "/Graphoon/init.lua"}, {"audio": 0, "start": 46874, "crunched": 0, "end": 50783, "filename": "/Graphoon/Node.lua"}], "remote_package_size": 50783, "package_uuid": "0c1ad511-6a1f-4bff-a08e-9d5e15e5131d"});
})();
diff --git a/index.html b/index.html
index d07e2b8..75f71da 100644
--- a/index.html
+++ b/index.html
@@ -1,90 +1,109 @@
+
+
-
+
- Game Title
+ Graphoon
-
-
-
-
+
+
+
-
-
Game Title
-
-
-
+
+
+
+
-
-
-
-
+ };
+
+
+
+
+
diff --git a/love.js b/love.js
index 9bcb734..c81421b 100644
--- a/love.js
+++ b/love.js
@@ -1,27 +1,27 @@
-var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function(){FS.syncfs(false,(function(err){if(err){console.log(err)}}))}),(function(){{return screen.width}}),(function(){{return screen.height}}),(function($0){{if(Module["canvas"]){Module["canvas"].style["cursor"]=Module["Pointer_stringify"]($0)}return 0}}),(function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}}),(function($0){{if(typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](Module["Pointer_stringify"]($0))}return 0}}),(function($0,$1,$2){{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer)}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i>2]}}}}),(function($0,$1){{Module.printErr("bad name in getProcAddress: "+[Pointer_stringify($0),Pointer_stringify($1)])}})];function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_v(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+1279072;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_Shape_cpp()})},{func:(function(){__GLOBAL__sub_I_types_cpp()})},{func:(function(){__GLOBAL__sub_I_FileData_cpp()})},{func:(function(){__GLOBAL__sub_I_Graphics_cpp()})},{func:(function(){__GLOBAL__sub_I_ParticleSystem_cpp()})},{func:(function(){__GLOBAL__sub_I_Texture_cpp()})},{func:(function(){__GLOBAL__sub_I_CompressedImageData_cpp()})},{func:(function(){__GLOBAL__sub_I_Compressor_cpp()})},{func:(function(){__GLOBAL__sub_I_MathModule_cpp()})},{func:(function(){__GLOBAL__sub_I_Cursor_cpp()})},{func:(function(){__GLOBAL__sub_I_Joint_cpp()})},{func:(function(){__GLOBAL__sub_I_System_cpp()})},{func:(function(){__GLOBAL__sub_I_System_cpp_2273()})},{func:(function(){__GLOBAL__sub_I_Window_cpp()})},{func:(function(){__GLOBAL__sub_I_Memoizer_cpp()})},{func:(function(){__GLOBAL__sub_I_Audio_cpp()})},{func:(function(){__GLOBAL__sub_I_Source_cpp()})},{func:(function(){__GLOBAL__sub_I_Event_cpp()})},{func:(function(){__GLOBAL__sub_I_File_cpp()})},{func:(function(){__GLOBAL__sub_I_GlyphData_cpp()})},{func:(function(){__GLOBAL__sub_I_TrueTypeRasterizer_cpp()})},{func:(function(){__GLOBAL__sub_I_Canvas_cpp()})},{func:(function(){__GLOBAL__sub_I_Font_cpp()})},{func:(function(){__GLOBAL__sub_I_Image_cpp()})},{func:(function(){__GLOBAL__sub_I_Mesh_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenGL_cpp()})},{func:(function(){__GLOBAL__sub_I_Shader_cpp()})},{func:(function(){__GLOBAL__sub_I_Volatile_cpp()})},{func:(function(){__GLOBAL__sub_I_ImageData_cpp()})},{func:(function(){__GLOBAL__sub_I_Joystick_cpp()})},{func:(function(){__GLOBAL__sub_I_Joystick_cpp_4336()})},{func:(function(){__GLOBAL__sub_I_Keyboard_cpp()})},{func:(function(){__GLOBAL__sub_I_Keyboard_cpp_4545()})},{func:(function(){__GLOBAL__sub_I_Cursor_cpp_4586()})},{func:(function(){__GLOBAL__sub_I_Channel_cpp()})},{func:(function(){__GLOBAL__sub_I_fastmix_cpp()})},{func:(function(){__GLOBAL__sub_I_Body_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="love.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:(function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push((function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}}));JSEvents.removeEventListenersRegistered=true}}),findEventTarget:(function(target){if(target){if(typeof target=="number"){target=Pointer_stringify(target)}if(target=="#window")return window;else if(target=="#document")return document;else if(target=="#screen")return window.screen;else if(target=="#canvas")return Module["canvas"];if(typeof target=="string")return document.getElementById(target);else return target}else{return window}}),deferredCalls:[],deferCall:(function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((function(x,y){return x.precedence0}),removeAllHandlersOnTarget:(function(target,eventTypeString){for(var i=0;i>2]=e.location;HEAP32[JSEvents.keyEvent+68>>2]=e.ctrlKey;HEAP32[JSEvents.keyEvent+72>>2]=e.shiftKey;HEAP32[JSEvents.keyEvent+76>>2]=e.altKey;HEAP32[JSEvents.keyEvent+80>>2]=e.metaKey;HEAP32[JSEvents.keyEvent+84>>2]=e.repeat;writeStringToMemory(e.locale?e.locale:"",JSEvents.keyEvent+88);writeStringToMemory(e.char?e.char:"",JSEvents.keyEvent+120);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.keyEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getBoundingClientRectOrZeros:(function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}}),fillMouseEventData:(function(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}),registerMouseEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.mouseEvent){JSEvents.mouseEvent=_malloc(72)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,e,target);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.mouseEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}),registerWheelEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.wheelEvent){JSEvents.wheelEvent=_malloc(104)}target=JSEvents.findEventTarget(target);var wheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["deltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=e["deltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=e["deltaZ"];HEAP32[JSEvents.wheelEvent+96>>2]=e["deltaMode"];var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.wheelEvent,userData]);if(shouldCancel){e.preventDefault()}});var mouseWheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=-e["wheelDeltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.wheelEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),pageScrollPos:(function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]}),registerUiEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.uiEvent){JSEvents.uiEvent=_malloc(36)}if(eventTypeString=="scroll"&&!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();HEAP32[JSEvents.uiEvent>>2]=e.detail;HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth;HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight;HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth;HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight;HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth;HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight;HEAP32[JSEvents.uiEvent+28>>2]=scrollPos[0];HEAP32[JSEvents.uiEvent+32>>2]=scrollPos[1];var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.uiEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getNodeNameForTarget:(function(target){if(!target)return"";if(target==window)return"#window";if(target==window.screen)return"#screen";return target&&target.nodeName?target.nodeName:""}),registerFocusEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.focusEvent){JSEvents.focusEvent=_malloc(256)}var handlerFunc=(function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";writeStringToMemory(nodeName,JSEvents.focusEvent+0);writeStringToMemory(id,JSEvents.focusEvent+128);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.focusEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),tick:(function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()}),registerDeviceOrientationEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceOrientationEvent){JSEvents.deviceOrientationEvent=_malloc(40)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=e.alpha;HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=e.beta;HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=e.gamma;HEAP32[JSEvents.deviceOrientationEvent+32>>2]=e.absolute;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.deviceOrientationEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerDeviceMotionEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceMotionEvent){JSEvents.deviceMotionEvent=_malloc(80)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceMotionEvent+8>>3]=e.acceleration.x;HEAPF64[JSEvents.deviceMotionEvent+16>>3]=e.acceleration.y;HEAPF64[JSEvents.deviceMotionEvent+24>>3]=e.acceleration.z;HEAPF64[JSEvents.deviceMotionEvent+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[JSEvents.deviceMotionEvent+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[JSEvents.deviceMotionEvent+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[JSEvents.deviceMotionEvent+56>>3]=e.rotationRate.alpha;HEAPF64[JSEvents.deviceMotionEvent+64>>3]=e.rotationRate.beta;HEAPF64[JSEvents.deviceMotionEvent+72>>3]=e.rotationRate.gamma;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.deviceMotionEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),screenOrientation:(function(){if(!window.screen)return undefined;return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation}),fillOrientationChangeEventData:(function(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=JSEvents.screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<>2]=window.orientation}),registerOrientationChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.orientationChangeEvent){JSEvents.orientationChangeEvent=_malloc(8)}if(!target){target=window.screen}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.orientationChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});if(eventTypeString=="orientationchange"&&window.screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fullscreenEnabled:(function(){return document.fullscreenEnabled||document.mozFullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}),fillFullscreenChangeEventData:(function(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";writeStringToMemory(nodeName,eventStruct+8);writeStringToMemory(id,eventStruct+136);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}),registerFullscreenChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.fullscreenChangeEvent){JSEvents.fullscreenChangeEvent=_malloc(280)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.fullscreenChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),resizeCanvasForFullscreen:(function(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var windowedRttWidth=target.width;var windowedRttHeight=target.height;if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";writeStringToMemory(nodeName,eventStruct+4);writeStringToMemory(id,eventStruct+132)}),registerPointerlockChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.pointerlockChangeEvent){JSEvents.pointerlockChangeEvent=_malloc(260)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.pointerlockChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),requestPointerLock:(function(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}),fillVisibilityChangeEventData:(function(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}),registerVisibilityChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.visibilityChangeEvent){JSEvents.visibilityChangeEvent=_malloc(8)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.visibilityChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerTouchEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.touchEvent){JSEvents.touchEvent=_malloc(1684)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[JSEvents.touchEvent>>2]=numTouches;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.touchEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fillGamepadEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;writeStringToMemory(e.id,eventStruct+1304);writeStringToMemory(e.mapping,eventStruct+1368)}),registerGamepadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.gamepadEvent){JSEvents.gamepadEvent=_malloc(1432)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,e.gamepad);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.gamepadEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerBeforeUnloadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var handlerFunc=(function(event){var e=event||window.event;var confirmationMessage=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,0,userData]);if(confirmationMessage){confirmationMessage=Pointer_stringify(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),battery:(function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}),fillBatteryEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}),registerBatteryEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.batteryEvent){JSEvents.batteryEvent=_malloc(32)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery());var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.batteryEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerWebGlEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=Module["canvas"]}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,0,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)})};function _emscripten_set_visibilitychange_callback(userData,useCapture,callbackfunc){JSEvents.registerVisibilityChangeEventCallback(document,userData,useCapture,callbackfunc,21,"visibilitychange");return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,currArrayBuffer:0,currElementArrayBuffer:0,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:(function(){GL.createLog2ceilLookup(GL.MAX_TEMP_BUFFER_SIZE);GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;ipow2){pow2<<=1;++log2}GL.log2ceilLookup[i]=log2}}),generateTempBuffers:(function(quads,context){var largestIndex=GL.log2ceilLookup[GL.MAX_TEMP_BUFFER_SIZE];context.tempVertexBufferCounters1=[];context.tempVertexBufferCounters2=[];context.tempVertexBufferCounters1.length=context.tempVertexBufferCounters2.length=largestIndex+1;context.tempVertexBuffers1=[];context.tempVertexBuffers2=[];context.tempVertexBuffers1.length=context.tempVertexBuffers2.length=largestIndex+1;context.tempIndexBuffers=[];context.tempIndexBuffers.length=largestIndex+1;for(var i=0;i<=largestIndex;++i){context.tempIndexBuffers[i]=null;context.tempVertexBufferCounters1[i]=context.tempVertexBufferCounters2[i]=0;var ringbufferLength=GL.numTempVertexBuffersPerSize;context.tempVertexBuffers1[i]=[];context.tempVertexBuffers2[i]=[];var ringbuffer1=context.tempVertexBuffers1[i];var ringbuffer2=context.tempVertexBuffers2[i];ringbuffer1.length=ringbuffer2.length=ringbufferLength;for(var j=0;j>1;var quadIndexes=new Uint16Array(numIndexes);var i=0,v=0;while(1){quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+1;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v+3;if(i>=numIndexes)break;v+=4}context.GLctx.bufferData(context.GLctx.ELEMENT_ARRAY_BUFFER,quadIndexes,context.GLctx.STATIC_DRAW);context.GLctx.bindBuffer(context.GLctx.ELEMENT_ARRAY_BUFFER,null)}}),getTempVertexBuffer:function getTempVertexBuffer(sizeBytes){var idx=GL.log2ceilLookup[sizeBytes];var ringbuffer=GL.currentContext.tempVertexBuffers1[idx];var nextFreeBufferIndex=GL.currentContext.tempVertexBufferCounters1[idx];GL.currentContext.tempVertexBufferCounters1[idx]=GL.currentContext.tempVertexBufferCounters1[idx]+1&GL.numTempVertexBuffersPerSize-1;var vbo=ringbuffer[nextFreeBufferIndex];if(vbo){return vbo}var prevVBO=GLctx.getParameter(GLctx.ARRAY_BUFFER_BINDING);ringbuffer[nextFreeBufferIndex]=GLctx.createBuffer();GLctx.bindBuffer(GLctx.ARRAY_BUFFER,ringbuffer[nextFreeBufferIndex]);GLctx.bufferData(GLctx.ARRAY_BUFFER,1<>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),calcBufLength:function calcBufLength(size,type,stride,count){if(stride>0){return count*stride}var typeSize=GL.byteSizeByType[type-GL.byteSizeByTypeRoot];return size*typeSize*count},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function preDrawHandleClientVertexAttribBindings(count){GL.resetBufferBinding=false;for(var i=0;i0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}GL.newRenderingFrameStarted();if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1})};function _eglWaitClient(){EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _pthread_mutex_lock(){}function _emscripten_set_mouseleave_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave");return 0}function _emscripten_glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var __currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);if(document.exitFullscreen){document.exitFullscreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitExitFullscreen){document.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){Runtime.dynCall("iiii",__currentFullscreenStrategy.canvasResizedCallback,[37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData])}return 0}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall118(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glUniform3iv(location,count,value){location=GL.uniforms[location];count*=3;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform3iv(location,value)}var _emscripten_GetProcAddress=undefined;Module["_emscripten_GetProcAddress"]=_emscripten_GetProcAddress;function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _pthread_mutex_init(){}var _llvm_pow_f32=Math_pow;var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}var _llvm_sqrt_f64=Math_sqrt;function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _emscripten_glFrustum(){Module["printErr"]("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4i(location,v0,v1,v2,v3)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context){if(Browser.mainLoop.timingMode==1&&document["visibilityState"]!="visible")return;for(var srcId in context.src){AL.updateSource(context.src[srcId])}},updateSource:function updateSource(src){if(src.state!==4114){return}var currentTime=AL.currentContext.ctx.currentTime;var startTime=src.bufferPosition;for(var i=src.buffersPlayed;i=endTime){src.bufferPosition=endTime;src.buffersPlayed=i+1;if(src.buffersPlayed>=src.queue.length){if(src.loop){AL.setSourceState(src,4114)}else{AL.setSourceState(src,4116)}}}else if(startOffset>2]=1;break;case 4097:HEAP32[data>>2]=1;break;case 4098:if(!device){AL.alcErr=40961;return 0}HEAP32[data>>2]=1;break;case 4099:if(!device){AL.alcErr=40961;return 0}HEAP32[data>>2]=0;break;case 131075:if(!device){AL.currentContext.err=40961;return 0}HEAP32[data>>2]=1;default:AL.alcErr=40963;break}}function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _emscripten_get_gamepad_status(index,gamepadState){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;var gamepads;if(navigator.getGamepads){gamepads=navigator.getGamepads()}else if(navigator.webkitGetGamepads){gamepads=navigator.webkitGetGamepads()}if(index<0||index>=gamepads.length){return-5}if(!gamepads[index]){return-7}JSEvents.fillGamepadEventData(gamepadState,gamepads[index]);return 0}var _llvm_pow_f64=Math_pow;function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _llvm_fabs_f32=Math_abs;function _emscripten_glUniform3f(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3f(location,v0,v1,v2)}function _emscripten_glGetObjectParameterivARB(){Module["printErr"]("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _emscripten_glUniform3i(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3i(location,v0,v1,v2)}function _emscripten_glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}function _alcDestroyContext(context){clearInterval(AL.contexts[context-1].interval)}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glEnableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=true;GLctx.enableVertexAttribArray(index)}Module["_memset"]=_memset;function _emscripten_glUniform1i(location,v0){location=GL.uniforms[location];GLctx.uniform1i(location,v0)}function _alDeleteBuffers(count,buffers){if(!AL.currentContext){return}if(count>AL.currentContext.buf.length){AL.currentContext.err=40963;return}for(var i=0;i>2]-1;if(bufferIdx>=AL.currentContext.buf.length||!AL.currentContext.buf[bufferIdx]){AL.currentContext.err=40961;return}var buffer=AL.currentContext.buf[bufferIdx];for(var srcId in AL.currentContext.src){var src=AL.currentContext.src[srcId];if(!src){continue}for(var k=0;k>2]-1;delete AL.currentContext.buf[bufferIdx]}}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _emscripten_set_touchcancel_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel");return 0}var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:(function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4}),onMousemove:(function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("vii",GLUT.passiveMotionFunc,[lastX,lastY])}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("vii",GLUT.motionFunc,[lastX,lastY])}}),getSpecialKey:(function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key}),getASCIIKey:(function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null}),onKeydown:(function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.specialFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.keyboardFunc,[key,Browser.mouseX,Browser.mouseY])}}}}),onKeyup:(function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.specialUpFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.keyboardUpFunc,[key,Browser.mouseX,Browser.mouseY])}}}}),onMouseButtonDown:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viiii",GLUT.mouseFunc,[button,0,Browser.mouseX,Browser.mouseY])}}),onFullScreenEventChange:(function(event){var width;var height;if(document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullScreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullScreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullScreenEventChange,true)}Browser.setCanvasSize(width,height);if(GLUT.reshapeFunc){Runtime.dynCall("vii",GLUT.reshapeFunc,[width,height])}_glutPostRedisplay()}),requestFullScreen:(function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["requestFullScreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||(function(){});RFS.apply(Module["canvas"],[])}),cancelFullScreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])})};function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}EGL.setErrorCode(12288);return 1}function ___lock(){}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){Module.printErr("glGetVertexAttribPointer on client-side array: not supported, bad data returned")}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glNormalPointer(){Module["printErr"]("missing function: emscripten_glNormalPointer");abort(-1)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)JSEvents.fillPointerlockChangeEventData(pointerlockStatus);if(!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function _alSourcePlay(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4114)}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){Module.printErr("glGetVertexAttrib*v on client-side array: not supported, bad data returned")}var data=GLctx.getVertexAttrib(index,pname);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case"Float":HEAPF32[params+i>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}function _emscripten_set_touchstart_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart");return 0}function _emscripten_get_battery_status(batteryState){if(!JSEvents.battery())return-1;JSEvents.fillBatteryEventData(batteryState,JSEvents.battery());return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];for(var i=0;i<4;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(location,transpose,view)}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _getpwuid(uid){return 0}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;function _llvm_cttz_i64(l,h){var ret=_llvm_cttz_i32(l);if(ret==32)ret+=_llvm_cttz_i32(h);return(asm["setTempRet0"](0),ret)|0}function _alGetListenerf(pname,value){if(!AL.currentContext){return}switch(pname){case 4106:HEAPF32[value>>2]=AL.currentContext.gain.gain.value;break;default:AL.currentContext.err=40962;break}}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[15];for(var i=0;i<16;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(location,transpose,view)}function _emscripten_glEnableClientState(){Module["printErr"]("missing function: emscripten_glEnableClientState");abort(-1)}function ___syscall265(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetPointerv(){Module["printErr"]("missing function: emscripten_glGetPointerv");abort(-1)}function _alcCaptureSamples(){Module["printErr"]("missing function: alcCaptureSamples");abort(-1)}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _alSource3f(source,param,v1,v2,v3){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4100:src.position=[v1,v2,v3];break;case 4101:src.direction=[v1,v2,v3];break;case 4102:src.velocity=[v1,v2,v3];break;default:AL.currentContext.err=40962;break}}function _alSourcefv(source,param,value){_alSource3f(source,param,HEAPF32[value>>2],HEAPF32[value+4>>2],HEAPF32[value+8>>2])}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glStencilMask(x0){GLctx.stencilMask(x0)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=32;return 1;case 12321:HEAP32[value>>2]=8;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=24;return 1;case 12326:HEAP32[value>>2]=8;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=4;return 1;case 12338:HEAP32[value>>2]=1;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function _emscripten_set_touchend_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend");return 0}function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}function _emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return JSEvents.requestFullscreen(target,strategy)}function __registerRestoreOldStyle(canvas){var oldWidth=canvas.width;var oldHeight=canvas.height;var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);canvas.width=oldWidth;canvas.height=oldHeight;canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(__currentFullscreenStrategy.canvasResizedCallback){Runtime.dynCall("iiii",__currentFullscreenStrategy.canvasResizedCallback,[37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData])}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return _emscripten_do_request_fullscreen(target,strategy)}function _alSourceStop(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4116)}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){var ptable=GL.programInfos[program];if(ptable){HEAP32[p>>2]=ptable.maxUniformLength;return}else if(program>2]=ptable.maxAttributeLength;return}else if(program>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glFinish(){GLctx.finish()}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glDepthFunc(x0){GLctx.depthFunc(x0)}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function _emscripten_get_num_gamepads(){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;if(navigator.getGamepads){return navigator.getGamepads().length}else if(navigator.webkitGetGamepads){return navigator.webkitGetGamepads().length}}function _emscripten_glHint(x0,x1){GLctx.hint(x0,x1)}function _emscripten_glReleaseShaderCompiler(){}function _sigaction(signum,act,oldact){return 0}function _emscripten_glUniform4iv(location,count,value){location=GL.uniforms[location];count*=4;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform4iv(location,value)}function _glClear(x0){GLctx.clear(x0)}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case"Float":HEAPF32[params+i>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _emscripten_set_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;target.style.setProperty("width",width+"px");target.style.setProperty("height",height+"px");return 0}function _alDistanceModel(model){if(model!==0){}}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _alSourceUnqueueBuffers(source,count,buffers){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}if(count>src.buffersPlayed){AL.currentContext.err=40963;return}for(var i=0;i>2]=j+1;break}}src.buffersPlayed--}AL.updateSource(src)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _alGetSourcef(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4106:HEAPF32[value>>2]=src.gain.gain.value;break;case 4131:HEAPF32[value>>2]=src.maxDistance;break;case 4129:HEAPF32[value>>2]=src.rolloffFactor;break;case 4130:HEAPF32[value>>2]=src.coneOuterGain;break;case 4097:HEAPF32[value>>2]=src.coneInnerAngle;break;case 4098:HEAPF32[value>>2]=src.coneOuterAngle;break;case 4128:HEAPF32[value>>2]=src.refDistance;break;default:AL.currentContext.err=40962;break}}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestPointerLock,2,[target]);return 1}else{return-2}}return JSEvents.requestPointerLock(target)}function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _alListenerfv(param,values){if(!AL.currentContext){return}switch(param){case 4100:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];AL.currentContext.ctx.listener._position=[x,y,z];AL.currentContext.ctx.listener.setPosition(x,y,z);break;case 4102:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];AL.currentContext.ctx.listener._velocity=[x,y,z];AL.currentContext.ctx.listener.setVelocity(x,y,z);break;case 4111:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];var x2=HEAPF32[values+12>>2];var y2=HEAPF32[values+16>>2];var z2=HEAPF32[values+20>>2];AL.currentContext.ctx.listener._orientation=[x,y,z,x2,y2,z2];AL.currentContext.ctx.listener.setOrientation(x,y,z,x2,y2,z2);break;default:AL.currentContext.err=40962;break}}function _pthread_cond_broadcast(){return 0}function _alGetSourcei(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.updateSource(src);switch(param){case 514:HEAP32[value>>2]=src.panner?1:0;break;case 4097:HEAP32[value>>2]=src.coneInnerAngle;break;case 4098:HEAP32[value>>2]=src.coneOuterAngle;break;case 4103:HEAP32[value>>2]=src.loop;break;case 4105:if(!src.queue.length){HEAP32[value>>2]=0}else{var buffer=src.queue[src.buffersPlayed].buffer;for(var i=0;i>2]=i+1;return}}HEAP32[value>>2]=0}break;case 4112:HEAP32[value>>2]=src.state;break;case 4117:HEAP32[value>>2]=src.queue.length;break;case 4118:if(src.loop){HEAP32[value>>2]=0}else{HEAP32[value>>2]=src.buffersPlayed}break;default:AL.currentContext.err=40962;break}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _emscripten_glClearStencil(x0){GLctx.clearStencil(x0)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _alGenSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2]=AL.newSrcId;AL.newSrcId++}}function _alGetFloat(){Module["printErr"]("missing function: alGetFloat");abort(-1)}function _emscripten_get_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _pthread_mutex_destroy(){}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function ___syscall122(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get();if(!buf)return-ERRNO_CODES.EFAULT;var layout={"sysname":0,"nodename":65,"domainname":325,"machine":260,"version":195,"release":130,"__size__":390};function copyString(element,value){var offset=layout[element];writeAsciiToMemory(value,buf+offset)}copyString("sysname","Emscripten");copyString("nodename","emscripten");copyString("release","1.0");copyString("version","#1");copyString("machine","x86-JS");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _alDeleteSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2];delete AL.currentContext.src[sourceIdx]}}function _emscripten_glGenerateMipmap(x0){GLctx.generateMipmap(x0)}function _emscripten_glSampleCoverage(x0,x1){GLctx.sampleCoverage(x0,x1)}function _emscripten_glCullFace(x0){GLctx.cullFace(x0)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4f(location,v0,v1,v2,v3)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=Runtime.addFunction(result);lib.cached_functions=result}return result}}}function _emscripten_glUniform2fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[1];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2]}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(location,view)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%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"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _alSourcePause(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4115)}function _alGenBuffers(count,buffers){if(!AL.currentContext){return}for(var i=0;i>2]=AL.currentContext.buf.length}}function _emscripten_glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glUniform2iv(location,count,value){location=GL.uniforms[location];count*=2;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform2iv(location,value)}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function _emscripten_glVertexAttrib1fv(index,v){v=HEAPF32.subarray(v>>2,v+4>>2);GLctx.vertexAttrib1fv(index,v)}function _alBufferData(buffer,format,data,size,freq){if(!AL.currentContext){return}if(buffer>AL.currentContext.buf.length){return}var channels,bytes;switch(format){case 4352:bytes=1;channels=1;break;case 4353:bytes=2;channels=1;break;case 4354:bytes=1;channels=2;break;case 4355:bytes=2;channels=2;break;case 65552:bytes=4;channels=1;break;case 65553:bytes=4;channels=2;break;default:return}try{AL.currentContext.buf[buffer-1]=AL.currentContext.ctx.createBuffer(channels,size/(bytes*channels),freq);AL.currentContext.buf[buffer-1].bytesPerSample=bytes}catch(e){AL.currentContext.err=40963;return}var buf=new Array(channels);for(var i=0;i>0]&255;buf[j][i]=-1+val*(2/256);break;case 2:var val=HEAP16[data+2*(i*channels+j)>>1];buf[j][i]=val/32768;break;case 4:buf[j][i]=HEAPF32[data+4*(i*channels+j)>>2];break}}}}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _emscripten_glUniform2f(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2f(location,v0,v1)}function ___syscall330(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get(),flags=SYSCALLS.get();assert(!flags);if(old.fd===suggestFD)return-ERRNO_CODES.EINVAL;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glUniform2i(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2i(location,v0,v1)}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _emscripten_glDepthMask(x0){GLctx.depthMask(x0)}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_glDepthRange(x0,x1){GLctx.depthRange(x0,x1)}function _emscripten_set_fullscreenchange_callback(target,userData,useCapture,callbackfunc){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange");return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_blur_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur");return 0}function _emscripten_glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glUniform1fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[0];view[0]=HEAPF32[value>>2]}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(location,view)}var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}var _ntohs=undefined;Module["_ntohs"]=_ntohs;function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_wheel_callback(target,userData,useCapture,callbackfunc){target=JSEvents.findEventTarget(target);if(typeof target.onwheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel");return 0}else if(typeof target.onmousewheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel");return 0}else{return-1}}function _emscripten_set_gamepaddisconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,27,"gamepaddisconnected");return 0}function _emscripten_set_mouseenter_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter");return 0}function _emscripten_glBindProgramARB(){Module["printErr"]("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDisable(x0){GLctx.disable(x0)}function _emscripten_glVertexAttrib3fv(index,v){v=HEAPF32.subarray(v>>2,v+12>>2);GLctx.vertexAttrib3fv(index,v)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glLineWidth(x0){GLctx.lineWidth(x0)}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 7938:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i in exts){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);if(glslVersion.indexOf("WebGL GLSL ES 1.0")!=-1)glslVersion="OpenGL ES GLSL ES 1.00 (WebGL)";ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function emscriptenWebGLComputeImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:case 6403:numChannels=1;break;case 6410:case 33319:numChannels=2;break;case 6407:case 35904:numChannels=3;break;case 6408:case 35906:numChannels=4;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}switch(type){case 5121:sizePerPixel=numChannels*1;break;case 5123:case 36193:sizePerPixel=numChannels*2;break;case 5125:case 5126:sizePerPixel=numChannels*4;break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}var bytes=emscriptenWebGLComputeImageSize(width,height,sizePerPixel,GL.unpackAlignment);if(type==5121){pixels=HEAPU8.subarray(pixels,pixels+bytes)}else if(type==5126){pixels=HEAPF32.subarray(pixels>>2,pixels+bytes>>2)}else if(type==5125||type==34042){pixels=HEAPU32.subarray(pixels>>2,pixels+bytes>>2)}else{pixels=HEAPU16.subarray(pixels>>1,pixels+bytes>>1)}return{pixels:pixels,internalFormat:internalFormat}}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData;if(pixels){pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,-1).pixels}else{pixelData=null}GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}function _emscripten_glRotatef(){Module["printErr"]("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break;case 35738:ret=5121;break;case 35739:ret=6408;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _llvm_ctpop_i32(x){var ret=0;while(x){if(x&1)ret++;x>>>=1}return ret}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);HEAP32[params>>2]=result}function _emscripten_glClientActiveTexture(){Module["printErr"]("missing function: emscripten_glClientActiveTexture");abort(-1)}function _emscripten_set_focus_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus");return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}_glutInitDisplayMode(178);EGL.windowID=_glutCreateWindow();if(EGL.windowID!=0){EGL.setErrorCode(12288);return 62004}else{EGL.setErrorCode(12297);return 0}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var data=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!data.pixels){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,data.pixels)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){var heapView;if(data){heapView=HEAPU8.subarray(data,data+imageSize)}else{heapView=null}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,heapView)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _alSourcei(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4097:src.coneInnerAngle=value;break;case 4098:src.coneOuterAngle=value;break;case 4103:src.loop=value===1;break;case 4105:var buffer=AL.currentContext.buf[value-1];if(value==0){src.queue=[]}else{src.queue=[{buffer:buffer}]}AL.updateSource(src);break;case 514:if(value===0){if(src.panner){src.panner=null;src.gain.disconnect();src.gain.connect(AL.currentContext.gain)}}else if(value===1){if(!src.panner){var panner=src.panner=AL.currentContext.ctx.createPanner();panner.panningModel="equalpower";panner.distanceModel="linear";panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.setPosition(src.position[0],src.position[1],src.position[2]);panner.setVelocity(src.velocity[0],src.velocity[1],src.velocity[2]);panner.connect(AL.currentContext.gain);src.gain.disconnect();src.gain.connect(panner)}}else{AL.currentContext.err=40963}break;default:AL.currentContext.err=40962;break}}function _emscripten_glIsEnabled(x0){return GLctx.isEnabled(x0)}function _alSourceQueueBuffers(source,count,buffers){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}for(var i=0;i>2];if(bufferIdx>AL.currentContext.buf.length){AL.currentContext.err=40961;return}}for(var i=0;i>2];var buffer=AL.currentContext.buf[bufferIdx-1];src.queue.push({buffer:buffer,src:null})}AL.updateSource(src)}function _alSourcef(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4099:break;case 4106:src.gain.gain.value=value;break;case 4131:src.maxDistance=value;break;case 4129:src.rolloffFactor=value;break;case 4130:src.coneOuterGain=value;break;case 4097:src.coneInnerAngle=value;break;case 4098:src.coneOuterAngle=value;break;case 4128:src.refDistance=value;break;default:AL.currentContext.err=40962;break}}Module["_memmove"]=_memmove;function _emscripten_glClearDepthf(x0){GLctx.clearDepth(x0)}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}function ___gxx_personality_v0(){}function _pthread_cond_wait(){return 0}function _alListenerf(param,value){if(!AL.currentContext){return}switch(param){case 4106:AL.currentContext.gain.gain.value=value;break;default:AL.currentContext.err=40962;break}}function _emscripten_glClear(x0){GLctx.clear(x0)}Module["_llvm_ctlz_i64"]=_llvm_ctlz_i64;function _alGetError(){if(!AL.currentContext){return 40964}else{var err=AL.currentContext.err;AL.currentContext.err=0;return err}}function _emscripten_get_now(){if(!_emscripten_get_now.actual){if(ENVIRONMENT_IS_NODE){_emscripten_get_now.actual=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now.actual=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return self["performance"]["now"]()}}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return performance["now"]()}}else{_emscripten_get_now.actual=Date.now}}return _emscripten_get_now.actual()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _alGetListenerfv(pname,values){if(!AL.currentContext){return}switch(pname){case 4100:var position=AL.currentContext.ctx.listener._position||[0,0,0];HEAPF32[values>>2]=position[0];HEAPF32[values+4>>2]=position[1];HEAPF32[values+8>>2]=position[2];break;case 4102:var velocity=AL.currentContext.ctx.listener._velocity||[0,0,0];HEAPF32[values>>2]=velocity[0];HEAPF32[values+4>>2]=velocity[1];HEAPF32[values+8>>2]=velocity[2];break;case 4111:var orientation=AL.currentContext.ctx.listener._orientation||[0,0,-1,0,1,0];HEAPF32[values>>2]=orientation[0];HEAPF32[values+4>>2]=orientation[1];HEAPF32[values+8>>2]=orientation[2];HEAPF32[values+12>>2]=orientation[3];HEAPF32[values+16>>2]=orientation[4];HEAPF32[values+20>>2]=orientation[5];break;default:AL.currentContext.err=40962;break}}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;if(target==GLctx.ARRAY_BUFFER){GL.currArrayBuffer=buffer}else if(target==GLctx.ELEMENT_ARRAY_BUFFER){GL.currElementArrayBuffer=buffer}GLctx.bindBuffer(target,bufferObj)}function _emscripten_glDisableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=false;GLctx.disableVertexAttribArray(index)}function _alcOpenDevice(deviceName){if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){return 1}else{return 0}}Module["_bitshift64Shl"]=_bitshift64Shl;function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _alSourceRewind(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)}function _emscripten_glGenRenderbuffers(n,renderbuffers){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _alGetSourcefv(source,param,values){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4099:case 4106:case 4109:case 4110:case 4131:case 4129:case 4130:case 4097:case 4098:case 4128:case 4132:case 4133:case 4134:_alGetSourcef(source,param,values);break;case 4100:var position=src.position;HEAPF32[values>>2]=position[0];HEAPF32[values+4>>2]=position[1];HEAPF32[values+8>>2]=position[2];break;case 4101:var direction=src.direction;HEAPF32[values>>2]=direction[0];HEAPF32[values+4>>2]=direction[1];HEAPF32[values+8>>2]=direction[2];break;case 4102:var velocity=src.velocity;HEAPF32[values>>2]=velocity[0];HEAPF32[values+4>>2]=velocity[1];HEAPF32[values+8>>2]=velocity[2];break;default:AL.currentContext.err=40962;break}}function _emscripten_glFrontFace(x0){GLctx.frontFace(x0)}function _emscripten_glActiveTexture(x0){GLctx.activeTexture(x0)}function _emscripten_glUniform1iv(location,count,value){location=GL.uniforms[location];value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform1iv(location,value)}function _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glTexCoordPointer(){Module["printErr"]("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glGetInfoLogARB(){Module["printErr"]("missing function: emscripten_glGetInfoLogARB");abort(-1)}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _gethostbyname(name){name=Pointer_stringify(name);var ret=_malloc(20);var nameBuf=_malloc(name.length+1);writeStringToMemory(name,nameBuf);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=__inet_pton4_raw(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}function _gethostbyaddr(addr,addrlen,type){if(type!==2){___setErrNo(ERRNO_CODES.EAFNOSUPPORT);return null}addr=HEAP32[addr>>2];var host=__inet_ntop4_raw(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}var hostp=allocate(intArrayFromString(host),"i8",ALLOC_STACK);return _gethostbyname(hostp)}function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glIsProgram(program){var program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[8];for(var i=0;i<9;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(location,transpose,view)}function _emscripten_glUniform4fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2];view[3]=HEAPF32[value+12>>2]}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(location,view)}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _emscripten_glGenFramebuffers(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glDrawRangeElements(){Module["printErr"]("missing function: emscripten_glDrawRangeElements");abort(-1)}function _emscripten_glGenTextures(n,textures){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _emscripten_glVertexAttrib2fv(index,v){v=HEAPF32.subarray(v>>2,v+8>>2);GLctx.vertexAttrib2fv(index,v)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glDeleteObjectARB(){Module["printErr"]("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_set_touchmove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove");return 0}function _emscripten_glUniform1f(location,v0){location=GL.uniforms[location];GLctx.uniform1f(location,v0)}function _alcCreateContext(device,attrList){if(device!=1){return 0}if(attrList){return 0}var ctx;try{ctx=new AudioContext}catch(e){try{ctx=new webkitAudioContext}catch(e){}}if(ctx){if(typeof ctx.createGain==="undefined")ctx.createGain=ctx.createGainNode;var gain=ctx.createGain();gain.connect(ctx.destination);var context={ctx:ctx,err:0,src:{},buf:[],interval:setInterval((function(){AL.updateSources(context)}),AL.QUEUE_INTERVAL),gain:gain};AL.contexts.push(context);return AL.contexts.length}else{return 0}}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GL.currArrayBuffer){cb.size=size;cb.type=type;cb.normalized=normalized;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;return}cb.clientside=false;GLctx.vertexAttribPointer(index,size,type,normalized,stride,ptr)}function _alcCloseDevice(device){}function _emscripten_glDrawArrays(mode,first,count){GL.preDrawHandleClientVertexAttribBindings(first+count);GLctx.drawArrays(mode,first,count);GL.postDrawHandleClientVertexAttribBindings()}function _emscripten_glGenBuffers(n,buffers){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _emscripten_glClearDepth(x0){GLctx.clearDepth(x0)}Module["_i64Subtract"]=_i64Subtract;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _system(command){___setErrNo(ERRNO_CODES.EAGAIN);return-1}function _emscripten_glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset>2]);if(n==0){if(GLctx.getParameter(GLctx["DRAW_FRAMEBUFFER_BINDING"])!=0)bufArray.push(GLctx["NONE"]);else{GL.recordError(1282);return}}GLctx["drawBuffers"](bufArray)}function _pthread_mutex_unlock(){}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBlendEquation(x0){GLctx.blendEquation(x0)}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _alcCaptureStart(){Module["printErr"]("missing function: alcCaptureStart");abort(-1)}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_glBufferData(target,size,data,usage){switch(usage){case 35041:case 35042:usage=35040;break;case 35045:case 35046:usage=35044;break;case 35049:case 35050:usage=35048;break}if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}function _alcMakeContextCurrent(context){if(context==0){AL.currentContext=null;return 0}else{AL.currentContext=AL.contexts[context-1];return 1}}function _emscripten_glVertexAttrib4fv(index,v){v=HEAPF32.subarray(v>>2,v+16>>2);GLctx.vertexAttrib4fv(index,v)}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;result=result.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&source){writeStringToMemory(result,source);if(length)HEAP32[length>>2]=result.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function ___cxa_guard_release(){}function _emscripten_set_gamepadconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,26,"gamepadconnected");return 0}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _alDopplerFactor(value){Runtime.warnOnce("alDopplerFactor() is not yet implemented! Ignoring all calls to it.")}function _emscripten_glUniform3fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[2];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2]}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(location,view)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _emscripten_glDrawElements(mode,count,type,indices){var buf;if(!GL.currElementArrayBuffer){var size=GL.calcBufLength(1,type,0,count);buf=GL.getTempIndexBuffer(size);GLctx.bindBuffer(GLctx.ELEMENT_ARRAY_BUFFER,buf);GLctx.bufferSubData(GLctx.ELEMENT_ARRAY_BUFFER,0,HEAPU8.subarray(indices,indices+size));indices=0}GL.preDrawHandleClientVertexAttribBindings(count);GLctx.drawElements(mode,count,type,indices);GL.postDrawHandleClientVertexAttribBindings(count);if(!GL.currElementArrayBuffer){GLctx.bindBuffer(GLctx.ELEMENT_ARRAY_BUFFER,null)}}function _emscripten_set_main_loop_arg(func,arg,fps,simulateInfiniteLoop){_emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){var heapView;if(data){heapView=HEAPU8.subarray(data,data+imageSize)}else{heapView=null}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,heapView)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _alcCaptureStop(){Module["printErr"]("missing function: alcCaptureStop");abort(-1)}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}Module["_bitshift64Ashr"]=_bitshift64Ashr;function _emscripten_glLoadMatrixf(){Module["printErr"]("missing function: emscripten_glLoadMatrixf");abort(-1)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData;if(pixels){var data=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);pixelData=data.pixels;internalFormat=data.internalFormat}else{pixelData=null}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _emscripten_glColorPointer(){Module["printErr"]("missing function: emscripten_glColorPointer");abort(-1)}function _emscripten_glFlush(){GLctx.flush()}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();if(size>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.vaos);vao.name=id;GL.vaos[id]=vao;HEAP32[arrays+i*4>>2]=id}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;for(var i=0;i>0]=name.charCodeAt(i)}HEAP8[dirp+pos+(11+i)>>0]=0;pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GLctx;GL.init();Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vd(index,a1){try{Module["dynCall_vd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viddddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddddd(index,a1,a2,a3,a4){try{return Module["dynCall_ddddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viddii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viidddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viidddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddd(index,a1,a2,a3,a4){try{Module["dynCall_viddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_diiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddd(index,a1,a2){try{return Module["dynCall_ddd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdi(index,a1,a2){try{Module["dynCall_vdi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dd(index,a1){try{return Module["dynCall_dd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiddd(index,a1,a2,a3,a4){try{return Module["dynCall_iiddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiddddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiidii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddd(index,a1,a2,a3,a4){try{Module["dynCall_vdddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdd(index,a1,a2){try{Module["dynCall_vdd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_vd":invoke_vd,"invoke_vid":invoke_vid,"invoke_viiiii":invoke_viiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_viddddddddd":invoke_viddddddddd,"invoke_ii":invoke_ii,"invoke_ddddd":invoke_ddddd,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viddii":invoke_viddii,"invoke_viidi":invoke_viidi,"invoke_viidddd":invoke_viidddd,"invoke_viddd":invoke_viddd,"invoke_iiiiii":invoke_iiiiii,"invoke_vidi":invoke_vidi,"invoke_vdddddd":invoke_vdddddd,"invoke_vidd":invoke_vidd,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_viiiiii":invoke_viiiiii,"invoke_diiiid":invoke_diiiid,"invoke_ddd":invoke_ddd,"invoke_viid":invoke_viid,"invoke_di":invoke_di,"invoke_vdi":invoke_vdi,"invoke_dd":invoke_dd,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_vidddd":invoke_vidddd,"invoke_iid":invoke_iid,"invoke_dddd":invoke_dddd,"invoke_viiiiiii":invoke_viiiiiii,"invoke_iiddd":invoke_iiddd,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_diii":invoke_diii,"invoke_viiddddddddd":invoke_viiddddddddd,"invoke_dii":invoke_dii,"invoke_viii":invoke_viii,"invoke_did":invoke_did,"invoke_iiiiidii":invoke_iiiiidii,"invoke_iiiii":invoke_iiiii,"invoke_i":invoke_i,"invoke_vdddd":invoke_vdddd,"invoke_vdd":invoke_vdd,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_viiiiiiiid":invoke_viiiiiiiid,"invoke_iiiiid":invoke_iiiiid,"invoke_viiii":invoke_viiii,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"___syscall221":___syscall221,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall220":___syscall220,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"___assert_fail":___assert_fail,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_glUniform1f":_emscripten_glUniform1f,"emscriptenWebGLComputeImageSize":emscriptenWebGLComputeImageSize,"_alGetFloat":_alGetFloat,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_gmtime_r":_gmtime_r,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"___syscall140":___syscall140,"_alSourcePause":_alSourcePause,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_alcCreateContext":_alcCreateContext,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"__inet_ntop4_raw":__inet_ntop4_raw,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_alcMakeContextCurrent":_alcMakeContextCurrent,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glBufferData":_emscripten_glBufferData,"_alSourcef":_alSourcef,"_emscripten_glFlush":_emscripten_glFlush,"_alSourcei":_alSourcei,"_alGenBuffers":_alGenBuffers,"_nanosleep":_nanosleep,"_pthread_once":_pthread_once,"_eglWaitClient":_eglWaitClient,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_set_blur_callback":_emscripten_set_blur_callback,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_pthread_mutex_lock":_pthread_mutex_lock,"_dlerror":_dlerror,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"___syscall20":___syscall20,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_alListenerfv":_alListenerfv,"emscriptenWebGLGetUniform":emscriptenWebGLGetUniform,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_pthread_getspecific":_pthread_getspecific,"_alListenerf":_alListenerf,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_eglMakeCurrent":_eglMakeCurrent,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"___syscall183":___syscall183,"_alDistanceModel":_alDistanceModel,"_localtime":_localtime,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"__read_sockaddr":__read_sockaddr,"_eglInitialize":_eglInitialize,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_pthread_self":_pthread_self,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_dlclose":_dlclose,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_getpwuid":_getpwuid,"___cxa_throw":___cxa_throw,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_pthread_mutex_init":_pthread_mutex_init,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_eglGetDisplay":_eglGetDisplay,"___syscall63":___syscall63,"_emscripten_glCullFace":_emscripten_glCullFace,"_llvm_fabs_f64":_llvm_fabs_f64,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_alSource3f":_alSource3f,"___syscall265":___syscall265,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_eglBindAPI":_eglBindAPI,"_eglCreateContext":_eglCreateContext,"_clock":_clock,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"__write_sockaddr":__write_sockaddr,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_alGetListenerf":_alGetListenerf,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"___syscall122":___syscall122,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_emscripten_glClear":_emscripten_glClear,"___cxa_guard_release":___cxa_guard_release,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"___setErrNo":___setErrNo,"_eglSwapBuffers":_eglSwapBuffers,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"___resumeException":___resumeException,"_mktime":_mktime,"_emscripten_glGetError":_emscripten_glGetError,"_gethostbyaddr":_gethostbyaddr,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_emscripten_glClearStencil":_emscripten_glClearStencil,"emscriptenWebGLGet":emscriptenWebGLGet,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_alDopplerFactor":_alDopplerFactor,"_llvm_pow_f64":_llvm_pow_f64,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_alcGetIntegerv":_alcGetIntegerv,"_localtime_r":_localtime_r,"_clock_gettime":_clock_gettime,"_strftime":_strftime,"_alcDestroyContext":_alcDestroyContext,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"___syscall33":___syscall33,"_pthread_key_create":_pthread_key_create,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"__setLetterbox":__setLetterbox,"___syscall39":___syscall39,"___syscall38":___syscall38,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_eglDestroySurface":_eglDestroySurface,"_sigaction":_sigaction,"_difftime":_difftime,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_eglDestroyContext":_eglDestroyContext,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_strftime_l":_strftime_l,"__exit":__exit,"_alGetListenerfv":_alGetListenerfv,"_emscripten_glColorMask":_emscripten_glColorMask,"_pthread_mutex_unlock":_pthread_mutex_unlock,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_alGenSources":_alGenSources,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"_alcOpenDevice":_alcOpenDevice,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_longjmp":_emscripten_longjmp,"_atexit":_atexit,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_dlsym":_dlsym,"___cxa_guard_acquire":___cxa_guard_acquire,"_emscripten_glFrontFace":_emscripten_glFrontFace,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"__addDays":__addDays,"_emscripten_set_touchmove_callback":_emscripten_set_touchmove_callback,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_set_main_loop_arg":_emscripten_set_main_loop_arg,"_sysconf":_sysconf,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glScissor":_emscripten_glScissor,"_pthread_cleanup_push":_pthread_cleanup_push,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_alSourcePlay":_alSourcePlay,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_alcCaptureSamples":_alcCaptureSamples,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_alGetSourcei":_alGetSourcei,"_alGetSourcef":_alGetSourcef,"_gmtime":_gmtime,"_alSourceQueueBuffers":_alSourceQueueBuffers,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"___syscall330":___syscall330,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_eglWaitGL":_eglWaitGL,"___syscall118":___syscall118,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_alDeleteSources":_alDeleteSources,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_alGetError":_alGetError,"_emscripten_get_now":_emscripten_get_now,"__registerRestoreOldStyle":__registerRestoreOldStyle,"emscriptenWebGLGetTexPixelData":emscriptenWebGLGetTexPixelData,"_gettimeofday":_gettimeofday,"_eglWaitNative":_eglWaitNative,"___syscall202":___syscall202,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_eglChooseConfig":_eglChooseConfig,"___cxa_allocate_exception":___cxa_allocate_exception,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"___buildEnvironment":___buildEnvironment,"_tzset":_tzset,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_llvm_fabs_f32":_llvm_fabs_f32,"_getenv":_getenv,"_emscripten_set_gamepaddisconnected_callback":_emscripten_set_gamepaddisconnected_callback,"_llvm_cttz_i64":_llvm_cttz_i64,"_gethostbyname":_gethostbyname,"_alcCloseDevice":_alcCloseDevice,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_alcCaptureStart":_alcCaptureStart,"_llvm_ctpop_i32":_llvm_ctpop_i32,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_get_battery_status":_emscripten_get_battery_status,"___cxa_pure_virtual":___cxa_pure_virtual,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_pthread_cond_wait":_pthread_cond_wait,"_emscripten_set_touchstart_callback":_emscripten_set_touchstart_callback,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"___syscall40":___syscall40,"_llvm_bswap_i64":_llvm_bswap_i64,"_emscripten_set_touchcancel_callback":_emscripten_set_touchcancel_callback,"__inet_pton6_raw":__inet_pton6_raw,"_emscripten_set_focus_callback":_emscripten_set_focus_callback,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_glClear":_glClear,"__arraySum":__arraySum,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_alDeleteBuffers":_alDeleteBuffers,"_alGetSourcefv":_alGetSourcefv,"_emscripten_get_pointerlock_status":_emscripten_get_pointerlock_status,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"___unlock":___unlock,"_pthread_setspecific":_pthread_setspecific,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_setenv":_setenv,"_emscripten_do_request_fullscreen":_emscripten_do_request_fullscreen,"_emscripten_set_mouseleave_callback":_emscripten_set_mouseleave_callback,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_set_fullscreenchange_callback":_emscripten_set_fullscreenchange_callback,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_alBufferData":_alBufferData,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_longjmp":_longjmp,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_signal":_signal,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"__isLeapYear":__isLeapYear,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_glutCreateWindow":_glutCreateWindow,"___syscall85":___syscall85,"_alcGetError":_alcGetError,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_alSourcefv":_alSourcefv,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_glutInitDisplayMode":_glutInitDisplayMode,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_set_visibilitychange_callback":_emscripten_set_visibilitychange_callback,"_eglGetProcAddress":_eglGetProcAddress,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_llvm_pow_f32":_llvm_pow_f32,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_asm_const_v":_emscripten_asm_const_v,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_set_mouseenter_callback":_emscripten_set_mouseenter_callback,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"___syscall10":___syscall10,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glEnable":_emscripten_glEnable,"___syscall3":___syscall3,"___lock":___lock,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_time":_time,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_exit":_exit,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"__inet_pton4_raw":__inet_pton4_raw,"___syscall102":___syscall102,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_llvm_sqrt_f64":_llvm_sqrt_f64,"_alSourceRewind":_alSourceRewind,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"emscriptenWebGLGetVertexAttrib":emscriptenWebGLGetVertexAttrib,"___syscall197":___syscall197,"___syscall196":___syscall196,"___syscall195":___syscall195,"_eglSwapInterval":_eglSwapInterval,"___syscall199":___syscall199,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_glutDestroyWindow":_glutDestroyWindow,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glViewport":_emscripten_glViewport,"_pthread_cond_broadcast":_pthread_cond_broadcast,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_alcCaptureStop":_alcCaptureStop,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_alSourceStop":_alSourceStop,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_set_gamepadconnected_callback":_emscripten_set_gamepadconnected_callback,"_abort":_abort,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glShaderSource":_emscripten_glShaderSource,"___gxx_personality_v0":___gxx_personality_v0,"_system":_system,"_usleep":_usleep,"_emscripten_set_touchend_callback":_emscripten_set_touchend_callback,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_eglTerminate":_eglTerminate,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"___syscall54":___syscall54,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_alSourceUnqueueBuffers":_alSourceUnqueueBuffers,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function(){FS.syncfs(false,(function(err){if(err){console.log(err)}}))}),(function(){{return screen.width}}),(function(){{return screen.height}}),(function($0){{if(Module["canvas"]){Module["canvas"].style["cursor"]=Module["Pointer_stringify"]($0)}return 0}}),(function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}}),(function($0){{if(typeof Module["setWindowTitle"]!=="undefined"){Module["setWindowTitle"](Module["Pointer_stringify"]($0))}return 0}}),(function($0,$1,$2){{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer)}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i>2]}}}}),(function($0,$1){{Module.printErr("bad name in getProcAddress: "+[Pointer_stringify($0),Pointer_stringify($1)])}})];function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_v(code){return ASM_CONSTS[code]()}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+1279184;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_Shape_cpp()})},{func:(function(){__GLOBAL__sub_I_types_cpp()})},{func:(function(){__GLOBAL__sub_I_FileData_cpp()})},{func:(function(){__GLOBAL__sub_I_Graphics_cpp()})},{func:(function(){__GLOBAL__sub_I_ParticleSystem_cpp()})},{func:(function(){__GLOBAL__sub_I_Texture_cpp()})},{func:(function(){__GLOBAL__sub_I_CompressedImageData_cpp()})},{func:(function(){__GLOBAL__sub_I_Compressor_cpp()})},{func:(function(){__GLOBAL__sub_I_MathModule_cpp()})},{func:(function(){__GLOBAL__sub_I_Cursor_cpp()})},{func:(function(){__GLOBAL__sub_I_Joint_cpp()})},{func:(function(){__GLOBAL__sub_I_System_cpp()})},{func:(function(){__GLOBAL__sub_I_System_cpp_2273()})},{func:(function(){__GLOBAL__sub_I_Window_cpp()})},{func:(function(){__GLOBAL__sub_I_Memoizer_cpp()})},{func:(function(){__GLOBAL__sub_I_Audio_cpp()})},{func:(function(){__GLOBAL__sub_I_Source_cpp()})},{func:(function(){__GLOBAL__sub_I_Event_cpp()})},{func:(function(){__GLOBAL__sub_I_File_cpp()})},{func:(function(){__GLOBAL__sub_I_GlyphData_cpp()})},{func:(function(){__GLOBAL__sub_I_TrueTypeRasterizer_cpp()})},{func:(function(){__GLOBAL__sub_I_Canvas_cpp()})},{func:(function(){__GLOBAL__sub_I_Font_cpp()})},{func:(function(){__GLOBAL__sub_I_Image_cpp()})},{func:(function(){__GLOBAL__sub_I_Mesh_cpp()})},{func:(function(){__GLOBAL__sub_I_OpenGL_cpp()})},{func:(function(){__GLOBAL__sub_I_Shader_cpp()})},{func:(function(){__GLOBAL__sub_I_Volatile_cpp()})},{func:(function(){__GLOBAL__sub_I_ImageData_cpp()})},{func:(function(){__GLOBAL__sub_I_Joystick_cpp()})},{func:(function(){__GLOBAL__sub_I_Joystick_cpp_4336()})},{func:(function(){__GLOBAL__sub_I_Keyboard_cpp()})},{func:(function(){__GLOBAL__sub_I_Keyboard_cpp_4545()})},{func:(function(){__GLOBAL__sub_I_Cursor_cpp_4586()})},{func:(function(){__GLOBAL__sub_I_Channel_cpp()})},{func:(function(){__GLOBAL__sub_I_fastmix_cpp()})},{func:(function(){__GLOBAL__sub_I_Body_cpp()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="love.js.mem";var tempDoublePtr=STATICTOP;STATICTOP+=16;var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:(function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push((function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}}));JSEvents.removeEventListenersRegistered=true}}),findEventTarget:(function(target){if(target){if(typeof target=="number"){target=Pointer_stringify(target)}if(target=="#window")return window;else if(target=="#document")return document;else if(target=="#screen")return window.screen;else if(target=="#canvas")return Module["canvas"];if(typeof target=="string")return document.getElementById(target);else return target}else{return window}}),deferredCalls:[],deferCall:(function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((function(x,y){return x.precedence0}),removeAllHandlersOnTarget:(function(target,eventTypeString){for(var i=0;i>2]=e.location;HEAP32[JSEvents.keyEvent+68>>2]=e.ctrlKey;HEAP32[JSEvents.keyEvent+72>>2]=e.shiftKey;HEAP32[JSEvents.keyEvent+76>>2]=e.altKey;HEAP32[JSEvents.keyEvent+80>>2]=e.metaKey;HEAP32[JSEvents.keyEvent+84>>2]=e.repeat;writeStringToMemory(e.locale?e.locale:"",JSEvents.keyEvent+88);writeStringToMemory(e.char?e.char:"",JSEvents.keyEvent+120);HEAP32[JSEvents.keyEvent+152>>2]=e.charCode;HEAP32[JSEvents.keyEvent+156>>2]=e.keyCode;HEAP32[JSEvents.keyEvent+160>>2]=e.which;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.keyEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:JSEvents.isInternetExplorer()?false:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getBoundingClientRectOrZeros:(function(target){return target.getBoundingClientRect?target.getBoundingClientRect():{left:0,top:0}}),fillMouseEventData:(function(eventStruct,e,target){HEAPF64[eventStruct>>3]=JSEvents.tick();HEAP32[eventStruct+8>>2]=e.screenX;HEAP32[eventStruct+12>>2]=e.screenY;HEAP32[eventStruct+16>>2]=e.clientX;HEAP32[eventStruct+20>>2]=e.clientY;HEAP32[eventStruct+24>>2]=e.ctrlKey;HEAP32[eventStruct+28>>2]=e.shiftKey;HEAP32[eventStruct+32>>2]=e.altKey;HEAP32[eventStruct+36>>2]=e.metaKey;HEAP16[eventStruct+40>>1]=e.button;HEAP16[eventStruct+42>>1]=e.buttons;HEAP32[eventStruct+44>>2]=e["movementX"]||e["mozMovementX"]||e["webkitMovementX"]||e.screenX-JSEvents.previousScreenX;HEAP32[eventStruct+48>>2]=e["movementY"]||e["mozMovementY"]||e["webkitMovementY"]||e.screenY-JSEvents.previousScreenY;if(Module["canvas"]){var rect=Module["canvas"].getBoundingClientRect();HEAP32[eventStruct+60>>2]=e.clientX-rect.left;HEAP32[eventStruct+64>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+60>>2]=0;HEAP32[eventStruct+64>>2]=0}if(target){var rect=JSEvents.getBoundingClientRectOrZeros(target);HEAP32[eventStruct+52>>2]=e.clientX-rect.left;HEAP32[eventStruct+56>>2]=e.clientY-rect.top}else{HEAP32[eventStruct+52>>2]=0;HEAP32[eventStruct+56>>2]=0}JSEvents.previousScreenX=e.screenX;JSEvents.previousScreenY=e.screenY}),registerMouseEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.mouseEvent){JSEvents.mouseEvent=_malloc(72)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.mouseEvent,e,target);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.mouseEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};if(JSEvents.isInternetExplorer()&&eventTypeString=="mousedown")eventHandler.allowsDeferredCalls=false;JSEvents.registerOrRemoveHandler(eventHandler)}),registerWheelEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.wheelEvent){JSEvents.wheelEvent=_malloc(104)}target=JSEvents.findEventTarget(target);var wheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["deltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=e["deltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=e["deltaZ"];HEAP32[JSEvents.wheelEvent+96>>2]=e["deltaMode"];var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.wheelEvent,userData]);if(shouldCancel){e.preventDefault()}});var mouseWheelHandlerFunc=(function(event){var e=event||window.event;JSEvents.fillMouseEventData(JSEvents.wheelEvent,e,target);HEAPF64[JSEvents.wheelEvent+72>>3]=e["wheelDeltaX"];HEAPF64[JSEvents.wheelEvent+80>>3]=-e["wheelDeltaY"];HEAPF64[JSEvents.wheelEvent+88>>3]=0;HEAP32[JSEvents.wheelEvent+96>>2]=0;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.wheelEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:eventTypeString=="wheel"?wheelHandlerFunc:mouseWheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),pageScrollPos:(function(){if(window.pageXOffset>0||window.pageYOffset>0){return[window.pageXOffset,window.pageYOffset]}if(typeof document.documentElement.scrollLeft!=="undefined"||typeof document.documentElement.scrollTop!=="undefined"){return[document.documentElement.scrollLeft,document.documentElement.scrollTop]}return[document.body.scrollLeft|0,document.body.scrollTop|0]}),registerUiEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.uiEvent){JSEvents.uiEvent=_malloc(36)}if(eventTypeString=="scroll"&&!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;if(e.target!=target){return}var scrollPos=JSEvents.pageScrollPos();HEAP32[JSEvents.uiEvent>>2]=e.detail;HEAP32[JSEvents.uiEvent+4>>2]=document.body.clientWidth;HEAP32[JSEvents.uiEvent+8>>2]=document.body.clientHeight;HEAP32[JSEvents.uiEvent+12>>2]=window.innerWidth;HEAP32[JSEvents.uiEvent+16>>2]=window.innerHeight;HEAP32[JSEvents.uiEvent+20>>2]=window.outerWidth;HEAP32[JSEvents.uiEvent+24>>2]=window.outerHeight;HEAP32[JSEvents.uiEvent+28>>2]=scrollPos[0];HEAP32[JSEvents.uiEvent+32>>2]=scrollPos[1];var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.uiEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),getNodeNameForTarget:(function(target){if(!target)return"";if(target==window)return"#window";if(target==window.screen)return"#screen";return target&&target.nodeName?target.nodeName:""}),registerFocusEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.focusEvent){JSEvents.focusEvent=_malloc(256)}var handlerFunc=(function(event){var e=event||window.event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";writeStringToMemory(nodeName,JSEvents.focusEvent+0);writeStringToMemory(id,JSEvents.focusEvent+128);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.focusEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),tick:(function(){if(window["performance"]&&window["performance"]["now"])return window["performance"]["now"]();else return Date.now()}),registerDeviceOrientationEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceOrientationEvent){JSEvents.deviceOrientationEvent=_malloc(40)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceOrientationEvent+8>>3]=e.alpha;HEAPF64[JSEvents.deviceOrientationEvent+16>>3]=e.beta;HEAPF64[JSEvents.deviceOrientationEvent+24>>3]=e.gamma;HEAP32[JSEvents.deviceOrientationEvent+32>>2]=e.absolute;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.deviceOrientationEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerDeviceMotionEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.deviceMotionEvent){JSEvents.deviceMotionEvent=_malloc(80)}var handlerFunc=(function(event){var e=event||window.event;HEAPF64[JSEvents.deviceOrientationEvent>>3]=JSEvents.tick();HEAPF64[JSEvents.deviceMotionEvent+8>>3]=e.acceleration.x;HEAPF64[JSEvents.deviceMotionEvent+16>>3]=e.acceleration.y;HEAPF64[JSEvents.deviceMotionEvent+24>>3]=e.acceleration.z;HEAPF64[JSEvents.deviceMotionEvent+32>>3]=e.accelerationIncludingGravity.x;HEAPF64[JSEvents.deviceMotionEvent+40>>3]=e.accelerationIncludingGravity.y;HEAPF64[JSEvents.deviceMotionEvent+48>>3]=e.accelerationIncludingGravity.z;HEAPF64[JSEvents.deviceMotionEvent+56>>3]=e.rotationRate.alpha;HEAPF64[JSEvents.deviceMotionEvent+64>>3]=e.rotationRate.beta;HEAPF64[JSEvents.deviceMotionEvent+72>>3]=e.rotationRate.gamma;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.deviceMotionEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),screenOrientation:(function(){if(!window.screen)return undefined;return window.screen.orientation||window.screen.mozOrientation||window.screen.webkitOrientation||window.screen.msOrientation}),fillOrientationChangeEventData:(function(eventStruct,e){var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=JSEvents.screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<>2]=window.orientation}),registerOrientationChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.orientationChangeEvent){JSEvents.orientationChangeEvent=_malloc(8)}if(!target){target=window.screen}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.orientationChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});if(eventTypeString=="orientationchange"&&window.screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fullscreenEnabled:(function(){return document.fullscreenEnabled||document.mozFullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}),fillFullscreenChangeEventData:(function(eventStruct,e){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";writeStringToMemory(nodeName,eventStruct+8);writeStringToMemory(id,eventStruct+136);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}),registerFullscreenChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.fullscreenChangeEvent){JSEvents.fullscreenChangeEvent=_malloc(280)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.fullscreenChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),resizeCanvasForFullscreen:(function(target,strategy){var restoreOldStyle=__registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?window.innerWidth:screen.width;var cssHeight=strategy.softFullscreen?window.innerHeight:screen.height;var rect=target.getBoundingClientRect();var windowedCssWidth=rect.right-rect.left;var windowedCssHeight=rect.bottom-rect.top;var windowedRttWidth=target.width;var windowedRttHeight=target.height;if(strategy.scaleMode==3){__setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";writeStringToMemory(nodeName,eventStruct+4);writeStringToMemory(id,eventStruct+132)}),registerPointerlockChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.pointerlockChangeEvent){JSEvents.pointerlockChangeEvent=_malloc(260)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.pointerlockChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),requestPointerLock:(function(target){if(target.requestPointerLock){target.requestPointerLock()}else if(target.mozRequestPointerLock){target.mozRequestPointerLock()}else if(target.webkitRequestPointerLock){target.webkitRequestPointerLock()}else if(target.msRequestPointerLock){target.msRequestPointerLock()}else{if(document.body.requestPointerLock||document.body.mozRequestPointerLock||document.body.webkitRequestPointerLock||document.body.msRequestPointerLock){return-3}else{return-1}}return 0}),fillVisibilityChangeEventData:(function(eventStruct,e){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}),registerVisibilityChangeEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.visibilityChangeEvent){JSEvents.visibilityChangeEvent=_malloc(8)}if(!target){target=document}else{target=JSEvents.findEventTarget(target)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent,e);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.visibilityChangeEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerTouchEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.touchEvent){JSEvents.touchEvent=_malloc(1684)}target=JSEvents.findEventTarget(target);var handlerFunc=(function(event){var e=event||window.event;var touches={};for(var i=0;i>2]=e.ctrlKey;HEAP32[ptr+8>>2]=e.shiftKey;HEAP32[ptr+12>>2]=e.altKey;HEAP32[ptr+16>>2]=e.metaKey;ptr+=20;var canvasRect=Module["canvas"]?Module["canvas"].getBoundingClientRect():undefined;var targetRect=JSEvents.getBoundingClientRectOrZeros(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[ptr>>2]=t.identifier;HEAP32[ptr+4>>2]=t.screenX;HEAP32[ptr+8>>2]=t.screenY;HEAP32[ptr+12>>2]=t.clientX;HEAP32[ptr+16>>2]=t.clientY;HEAP32[ptr+20>>2]=t.pageX;HEAP32[ptr+24>>2]=t.pageY;HEAP32[ptr+28>>2]=t.changed;HEAP32[ptr+32>>2]=t.onTarget;if(canvasRect){HEAP32[ptr+44>>2]=t.clientX-canvasRect.left;HEAP32[ptr+48>>2]=t.clientY-canvasRect.top}else{HEAP32[ptr+44>>2]=0;HEAP32[ptr+48>>2]=0}HEAP32[ptr+36>>2]=t.clientX-targetRect.left;HEAP32[ptr+40>>2]=t.clientY-targetRect.top;ptr+=52;if(++numTouches>=32){break}}HEAP32[JSEvents.touchEvent>>2]=numTouches;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.touchEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:target,allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),fillGamepadEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;writeStringToMemory(e.id,eventStruct+1304);writeStringToMemory(e.mapping,eventStruct+1368)}),registerGamepadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.gamepadEvent){JSEvents.gamepadEvent=_malloc(1432)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillGamepadEventData(JSEvents.gamepadEvent,e.gamepad);var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.gamepadEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerBeforeUnloadEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var handlerFunc=(function(event){var e=event||window.event;var confirmationMessage=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,0,userData]);if(confirmationMessage){confirmationMessage=Pointer_stringify(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),battery:(function(){return navigator.battery||navigator.mozBattery||navigator.webkitBattery}),fillBatteryEventData:(function(eventStruct,e){HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging}),registerBatteryEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!JSEvents.batteryEvent){JSEvents.batteryEvent=_malloc(32)}var handlerFunc=(function(event){var e=event||window.event;JSEvents.fillBatteryEventData(JSEvents.batteryEvent,JSEvents.battery());var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,JSEvents.batteryEvent,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}),registerWebGlEventCallback:(function(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){if(!target){target=Module["canvas"]}var handlerFunc=(function(event){var e=event||window.event;var shouldCancel=Runtime.dynCall("iiii",callbackfunc,[eventTypeId,0,userData]);if(shouldCancel){e.preventDefault()}});var eventHandler={target:JSEvents.findEventTarget(target),allowsDeferredCalls:false,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:handlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)})};function _emscripten_set_visibilitychange_callback(userData,useCapture,callbackfunc){JSEvents.registerVisibilityChangeEventCallback(document,userData,useCapture,callbackfunc,21,"visibilitychange");return 0}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,currArrayBuffer:0,currElementArrayBuffer:0,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:(function(){GL.createLog2ceilLookup(GL.MAX_TEMP_BUFFER_SIZE);GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;ipow2){pow2<<=1;++log2}GL.log2ceilLookup[i]=log2}}),generateTempBuffers:(function(quads,context){var largestIndex=GL.log2ceilLookup[GL.MAX_TEMP_BUFFER_SIZE];context.tempVertexBufferCounters1=[];context.tempVertexBufferCounters2=[];context.tempVertexBufferCounters1.length=context.tempVertexBufferCounters2.length=largestIndex+1;context.tempVertexBuffers1=[];context.tempVertexBuffers2=[];context.tempVertexBuffers1.length=context.tempVertexBuffers2.length=largestIndex+1;context.tempIndexBuffers=[];context.tempIndexBuffers.length=largestIndex+1;for(var i=0;i<=largestIndex;++i){context.tempIndexBuffers[i]=null;context.tempVertexBufferCounters1[i]=context.tempVertexBufferCounters2[i]=0;var ringbufferLength=GL.numTempVertexBuffersPerSize;context.tempVertexBuffers1[i]=[];context.tempVertexBuffers2[i]=[];var ringbuffer1=context.tempVertexBuffers1[i];var ringbuffer2=context.tempVertexBuffers2[i];ringbuffer1.length=ringbuffer2.length=ringbufferLength;for(var j=0;j>1;var quadIndexes=new Uint16Array(numIndexes);var i=0,v=0;while(1){quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+1;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v+3;if(i>=numIndexes)break;v+=4}context.GLctx.bufferData(context.GLctx.ELEMENT_ARRAY_BUFFER,quadIndexes,context.GLctx.STATIC_DRAW);context.GLctx.bindBuffer(context.GLctx.ELEMENT_ARRAY_BUFFER,null)}}),getTempVertexBuffer:function getTempVertexBuffer(sizeBytes){var idx=GL.log2ceilLookup[sizeBytes];var ringbuffer=GL.currentContext.tempVertexBuffers1[idx];var nextFreeBufferIndex=GL.currentContext.tempVertexBufferCounters1[idx];GL.currentContext.tempVertexBufferCounters1[idx]=GL.currentContext.tempVertexBufferCounters1[idx]+1&GL.numTempVertexBuffersPerSize-1;var vbo=ringbuffer[nextFreeBufferIndex];if(vbo){return vbo}var prevVBO=GLctx.getParameter(GLctx.ARRAY_BUFFER_BINDING);ringbuffer[nextFreeBufferIndex]=GLctx.createBuffer();GLctx.bindBuffer(GLctx.ARRAY_BUFFER,ringbuffer[nextFreeBufferIndex]);GLctx.bufferData(GLctx.ARRAY_BUFFER,1<>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),calcBufLength:function calcBufLength(size,type,stride,count){if(stride>0){return count*stride}var typeSize=GL.byteSizeByType[type-GL.byteSizeByTypeRoot];return size*typeSize*count},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function preDrawHandleClientVertexAttribBindings(count){GL.resetBufferBinding=false;for(var i=0;i0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}GL.newRenderingFrameStarted();if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1})};function _eglWaitClient(){EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _llvm_bswap_i64(l,h){var retl=_llvm_bswap_i32(h)>>>0;var reth=_llvm_bswap_i32(l)>>>0;return(asm["setTempRet0"](reth),retl)|0}function _pthread_mutex_lock(){}function _emscripten_set_mouseleave_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave");return 0}function _emscripten_glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var __currentFullscreenStrategy={};function _emscripten_exit_fullscreen(){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;JSEvents.removeDeferredCalls(JSEvents.requestFullscreen);if(document.exitFullscreen){document.exitFullscreen()}else if(document.msExitFullscreen){document.msExitFullscreen()}else if(document.mozCancelFullScreen){document.mozCancelFullScreen()}else if(document.webkitExitFullscreen){document.webkitExitFullscreen()}else{return-1}if(__currentFullscreenStrategy.canvasResizedCallback){Runtime.dynCall("iiii",__currentFullscreenStrategy.canvasResizedCallback,[37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData])}return 0}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall118(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glVertexPointer(){throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _emscripten_glUniform3iv(location,count,value){location=GL.uniforms[location];count*=3;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform3iv(location,value)}var _emscripten_GetProcAddress=undefined;Module["_emscripten_GetProcAddress"]=_emscripten_GetProcAddress;function _eglGetProcAddress(name_){return _emscripten_GetProcAddress(name_)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _pthread_mutex_init(){}var _llvm_pow_f32=Math_pow;var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _emscripten_glIsTexture(texture){var texture=GL.textures[texture];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}var _llvm_sqrt_f64=Math_sqrt;function _eglWaitGL(){return _eglWaitClient.apply(null,arguments)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _emscripten_glFrustum(){Module["printErr"]("missing function: emscripten_glFrustum");abort(-1)}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4i(location,v0,v1,v2,v3)}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,renderbuffer?GL.renderbuffers[renderbuffer]:null)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context){if(Browser.mainLoop.timingMode==1&&document["visibilityState"]!="visible")return;for(var srcId in context.src){AL.updateSource(context.src[srcId])}},updateSource:function updateSource(src){if(src.state!==4114){return}var currentTime=AL.currentContext.ctx.currentTime;var startTime=src.bufferPosition;for(var i=src.buffersPlayed;i=endTime){src.bufferPosition=endTime;src.buffersPlayed=i+1;if(src.buffersPlayed>=src.queue.length){if(src.loop){AL.setSourceState(src,4114)}else{AL.setSourceState(src,4116)}}}else if(startOffset>2]=1;break;case 4097:HEAP32[data>>2]=1;break;case 4098:if(!device){AL.alcErr=40961;return 0}HEAP32[data>>2]=1;break;case 4099:if(!device){AL.alcErr=40961;return 0}HEAP32[data>>2]=0;break;case 131075:if(!device){AL.currentContext.err=40961;return 0}HEAP32[data>>2]=1;default:AL.alcErr=40963;break}}function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _emscripten_get_gamepad_status(index,gamepadState){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;var gamepads;if(navigator.getGamepads){gamepads=navigator.getGamepads()}else if(navigator.webkitGetGamepads){gamepads=navigator.webkitGetGamepads()}if(index<0||index>=gamepads.length){return-5}if(!gamepads[index]){return-7}JSEvents.fillGamepadEventData(gamepadState,gamepads[index]);return 0}var _llvm_pow_f64=Math_pow;function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _llvm_fabs_f32=Math_abs;function _emscripten_glUniform3f(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3f(location,v0,v1,v2)}function _emscripten_glGetObjectParameterivARB(){Module["printErr"]("missing function: emscripten_glGetObjectParameterivARB");abort(-1)}function _emscripten_glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _emscripten_glUniform3i(location,v0,v1,v2){location=GL.uniforms[location];GLctx.uniform3i(location,v0,v1,v2)}function _emscripten_glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}function _alcDestroyContext(context){clearInterval(AL.contexts[context-1].interval)}function _emscripten_glBindAttribLocation(program,index,name){name=Pointer_stringify(name);GLctx.bindAttribLocation(GL.programs[program],index,name)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glEnableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=true;GLctx.enableVertexAttribArray(index)}Module["_memset"]=_memset;function _emscripten_glUniform1i(location,v0){location=GL.uniforms[location];GLctx.uniform1i(location,v0)}function _alDeleteBuffers(count,buffers){if(!AL.currentContext){return}if(count>AL.currentContext.buf.length){AL.currentContext.err=40963;return}for(var i=0;i>2]-1;if(bufferIdx>=AL.currentContext.buf.length||!AL.currentContext.buf[bufferIdx]){AL.currentContext.err=40961;return}var buffer=AL.currentContext.buf[bufferIdx];for(var srcId in AL.currentContext.src){var src=AL.currentContext.src[srcId];if(!src){continue}for(var k=0;k>2]-1;delete AL.currentContext.buf[bufferIdx]}}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _emscripten_set_touchcancel_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel");return 0}var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:false,saveModifiers:(function(event){GLUT.modifiers=0;if(event["shiftKey"])GLUT.modifiers+=1;if(event["ctrlKey"])GLUT.modifiers+=2;if(event["altKey"])GLUT.modifiers+=4}),onMousemove:(function(event){var lastX=Browser.mouseX;var lastY=Browser.mouseY;Browser.calculateMouseEvent(event);var newX=Browser.mouseX;var newY=Browser.mouseY;if(newX==lastX&&newY==lastY)return;if(GLUT.buttons==0&&event.target==Module["canvas"]&&GLUT.passiveMotionFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("vii",GLUT.passiveMotionFunc,[lastX,lastY])}else if(GLUT.buttons!=0&&GLUT.motionFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("vii",GLUT.motionFunc,[lastX,lastY])}}),getSpecialKey:(function(keycode){var key=null;switch(keycode){case 8:key=120;break;case 46:key=111;break;case 112:key=1;break;case 113:key=2;break;case 114:key=3;break;case 115:key=4;break;case 116:key=5;break;case 117:key=6;break;case 118:key=7;break;case 119:key=8;break;case 120:key=9;break;case 121:key=10;break;case 122:key=11;break;case 123:key=12;break;case 37:key=100;break;case 38:key=101;break;case 39:key=102;break;case 40:key=103;break;case 33:key=104;break;case 34:key=105;break;case 36:key=106;break;case 35:key=107;break;case 45:key=108;break;case 16:case 5:key=112;break;case 6:key=113;break;case 17:case 3:key=114;break;case 4:key=115;break;case 18:case 2:key=116;break;case 1:key=117;break}return key}),getASCIIKey:(function(event){if(event["ctrlKey"]||event["altKey"]||event["metaKey"])return null;var keycode=event["keyCode"];if(48<=keycode&&keycode<=57)return keycode;if(65<=keycode&&keycode<=90)return event["shiftKey"]?keycode:keycode+32;if(96<=keycode&&keycode<=105)return keycode-48;if(106<=keycode&&keycode<=111)return keycode-106+42;switch(keycode){case 9:case 13:case 27:case 32:case 61:return keycode}var s=event["shiftKey"];switch(keycode){case 186:return s?58:59;case 187:return s?43:61;case 188:return s?60:44;case 189:return s?95:45;case 190:return s?62:46;case 191:return s?63:47;case 219:return s?123:91;case 220:return s?124:47;case 221:return s?125:93;case 222:return s?34:39}return null}),onKeydown:(function(event){if(GLUT.specialFunc||GLUT.keyboardFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.specialFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.keyboardFunc,[key,Browser.mouseX,Browser.mouseY])}}}}),onKeyup:(function(event){if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var key=GLUT.getSpecialKey(event["keyCode"]);if(key!==null){if(GLUT.specialUpFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.specialUpFunc,[key,Browser.mouseX,Browser.mouseY])}}else{key=GLUT.getASCIIKey(event);if(key!==null&&GLUT.keyboardUpFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viii",GLUT.keyboardUpFunc,[key,Browser.mouseX,Browser.mouseY])}}}}),onMouseButtonDown:(function(event){Browser.calculateMouseEvent(event);GLUT.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);var button=3;if(delta<0){button=4}if(GLUT.mouseFunc){event.preventDefault();GLUT.saveModifiers(event);Runtime.dynCall("viiii",GLUT.mouseFunc,[button,0,Browser.mouseX,Browser.mouseY])}}),onFullScreenEventChange:(function(event){var width;var height;if(document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){width=screen["width"];height=screen["height"]}else{width=GLUT.windowWidth;height=GLUT.windowHeight;document.removeEventListener("fullscreenchange",GLUT.onFullScreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLUT.onFullScreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLUT.onFullScreenEventChange,true)}Browser.setCanvasSize(width,height);if(GLUT.reshapeFunc){Runtime.dynCall("vii",GLUT.reshapeFunc,[width,height])}_glutPostRedisplay()}),requestFullScreen:(function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["requestFullScreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||(function(){});RFS.apply(Module["canvas"],[])}),cancelFullScreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])})};function _glutDestroyWindow(name){Module.ctx=Browser.destroyContext(Module["canvas"],true,true);return 1}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}EGL.setErrorCode(12288);return 1}function ___lock(){}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){Module.printErr("glGetVertexAttribPointer on client-side array: not supported, bad data returned")}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glNormalPointer(){Module["printErr"]("missing function: emscripten_glNormalPointer");abort(-1)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _emscripten_get_pointerlock_status(pointerlockStatus){if(pointerlockStatus)JSEvents.fillPointerlockChangeEventData(pointerlockStatus);if(!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0}function _alSourcePlay(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4114)}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){Module.printErr("glGetVertexAttrib*v on client-side array: not supported, bad data returned")}var data=GLctx.getVertexAttrib(index,pname);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;case"FloatToInteger":HEAP32[params>>2]=Math.fround(data);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case"Float":HEAPF32[params+i>>2]=data[i];break;case"FloatToInteger":HEAP32[params+i>>2]=Math.fround(data[i]);break;default:throw"internal emscriptenWebGLGetVertexAttrib() error, bad type: "+type}}}}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"Float")}function _emscripten_set_touchstart_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart");return 0}function _emscripten_get_battery_status(batteryState){if(!JSEvents.battery())return-1;JSEvents.fillBatteryEventData(batteryState,JSEvents.battery());return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];for(var i=0;i<4;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(location,transpose,view)}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _dlopen(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/kripken/emscripten/wiki/Linking");filename=filename===0?"__self__":(ENV["LD_LIBRARY_PATH"]||"/")+Pointer_stringify(filename);if(DLFCN.loadedLibNames[filename]){var handle=DLFCN.loadedLibNames[filename];DLFCN.loadedLibs[handle].refcount++;return handle}if(filename==="__self__"){var handle=-1;var lib_module=Module;var cached_functions={}}else{var target=FS.findObject(filename);if(!target||target.isFolder||target.isDevice){DLFCN.errorMsg="Could not find dynamic lib: "+filename;return 0}else{FS.forceLoadFile(target);var lib_data=FS.readFile(filename,{encoding:"utf8"})}try{var lib_module=eval(lib_data)(Runtime.alignFunctionTables(),Module)}catch(e){DLFCN.errorMsg="Could not evaluate dynamic lib: "+filename;return 0}var handle=1;for(var key in DLFCN.loadedLibs){if(DLFCN.loadedLibs.hasOwnProperty(key))handle++}if(flag&256){for(var ident in lib_module){if(lib_module.hasOwnProperty(ident)){Module[ident]=lib_module[ident]}}}var cached_functions={}}DLFCN.loadedLibs[handle]={refcount:1,name:filename,module:lib_module,cached_functions:cached_functions};DLFCN.loadedLibNames[filename]=handle;return handle}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _getpwuid(uid){return 0}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;function _llvm_cttz_i64(l,h){var ret=_llvm_cttz_i32(l);if(ret==32)ret+=_llvm_cttz_i32(h);return(asm["setTempRet0"](0),ret)|0}function _alGetListenerf(pname,value){if(!AL.currentContext){return}switch(pname){case 4106:HEAPF32[value>>2]=AL.currentContext.gain.gain.value;break;default:AL.currentContext.err=40962;break}}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,"FloatToInteger")}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[15];for(var i=0;i<16;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(location,transpose,view)}function _emscripten_glEnableClientState(){Module["printErr"]("missing function: emscripten_glEnableClientState");abort(-1)}function ___syscall265(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetPointerv(){Module["printErr"]("missing function: emscripten_glGetPointerv");abort(-1)}function _alcCaptureSamples(){Module["printErr"]("missing function: alcCaptureSamples");abort(-1)}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _alSource3f(source,param,v1,v2,v3){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4100:src.position=[v1,v2,v3];break;case 4101:src.direction=[v1,v2,v3];break;case 4102:src.velocity=[v1,v2,v3];break;default:AL.currentContext.err=40962;break}}function _alSourcefv(source,param,value){_alSource3f(source,param,HEAPF32[value>>2],HEAPF32[value+4>>2],HEAPF32[value+8>>2])}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glStencilMask(x0){GLctx.stencilMask(x0)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=32;return 1;case 12321:HEAP32[value>>2]=8;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=24;return 1;case 12326:HEAP32[value>>2]=8;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=4;return 1;case 12338:HEAP32[value>>2]=1;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function _emscripten_set_touchend_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend");return 0}function __setLetterbox(element,topBottom,leftRight){if(JSEvents.isInternetExplorer()){element.style.marginLeft=element.style.marginRight=leftRight+"px";element.style.marginTop=element.style.marginBottom=topBottom+"px"}else{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}}function _emscripten_do_request_fullscreen(target,strategy){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!JSEvents.fullscreenEnabled())return-3;if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.msRequestFullscreen&&!target.mozRequestFullScreen&&!target.mozRequestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return JSEvents.requestFullscreen(target,strategy)}function __registerRestoreOldStyle(canvas){var oldWidth=canvas.width;var oldHeight=canvas.height;var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("mozfullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);document.removeEventListener("MSFullscreenChange",restoreOldStyle);canvas.width=oldWidth;canvas.height=oldHeight;canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(__currentFullscreenStrategy.canvasResizedCallback){Runtime.dynCall("iiii",__currentFullscreenStrategy.canvasResizedCallback,[37,0,__currentFullscreenStrategy.canvasResizedCallbackUserData])}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("mozfullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);document.addEventListener("MSFullscreenChange",restoreOldStyle);return restoreOldStyle}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={};strategy.scaleMode=HEAP32[fullscreenStrategy>>2];strategy.canvasResolutionScaleMode=HEAP32[fullscreenStrategy+4>>2];strategy.filteringMode=HEAP32[fullscreenStrategy+8>>2];strategy.deferUntilInEventHandler=deferUntilInEventHandler;strategy.canvasResizedCallback=HEAP32[fullscreenStrategy+12>>2];strategy.canvasResizedCallbackUserData=HEAP32[fullscreenStrategy+16>>2];__currentFullscreenStrategy=strategy;return _emscripten_do_request_fullscreen(target,strategy)}function _alSourceStop(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4116)}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){var ptable=GL.programInfos[program];if(ptable){HEAP32[p>>2]=ptable.maxUniformLength;return}else if(program>2]=ptable.maxAttributeLength;return}else if(program>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _emscripten_glFinish(){GLctx.finish()}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glDepthFunc(x0){GLctx.depthFunc(x0)}function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;function _emscripten_get_num_gamepads(){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;if(navigator.getGamepads){return navigator.getGamepads().length}else if(navigator.webkitGetGamepads){return navigator.webkitGetGamepads().length}}function _emscripten_glHint(x0,x1){GLctx.hint(x0,x1)}function _emscripten_glReleaseShaderCompiler(){}function _sigaction(signum,act,oldact){return 0}function _emscripten_glUniform4iv(location,count,value){location=GL.uniforms[location];count*=4;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform4iv(location,value)}function _glClear(x0){GLctx.clear(x0)}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getUniform(GL.programs[program],GL.uniforms[location]);if(typeof data=="number"||typeof data=="boolean"){switch(type){case"Integer":HEAP32[params>>2]=data;break;case"Float":HEAPF32[params>>2]=data;break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}else{for(var i=0;i>2]=data[i];break;case"Float":HEAPF32[params+i>>2]=data[i];break;default:throw"internal emscriptenWebGLGetUniform() error, bad type: "+type}}}}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,"Integer")}function _emscripten_set_resize_callback(target,userData,useCapture,callbackfunc){JSEvents.registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize");return 0}function _emscripten_glLoadIdentity(){throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _emscripten_set_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;target.style.setProperty("width",width+"px");target.style.setProperty("height",height+"px");return 0}function _alDistanceModel(model){if(model!==0){}}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _alSourceUnqueueBuffers(source,count,buffers){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}if(count>src.buffersPlayed){AL.currentContext.err=40963;return}for(var i=0;i>2]=j+1;break}}src.buffersPlayed--}AL.updateSource(src)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _alGetSourcef(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4106:HEAPF32[value>>2]=src.gain.gain.value;break;case 4131:HEAPF32[value>>2]=src.maxDistance;break;case 4129:HEAPF32[value>>2]=src.rolloffFactor;break;case 4130:HEAPF32[value>>2]=src.coneOuterGain;break;case 4097:HEAPF32[value>>2]=src.coneInnerAngle;break;case 4098:HEAPF32[value>>2]=src.coneOuterAngle;break;case 4128:HEAPF32[value>>2]=src.refDistance;break;default:AL.currentContext.err=40962;break}}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){if(!target)target="#canvas";target=JSEvents.findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.mozRequestPointerLock&&!target.webkitRequestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(JSEvents.requestPointerLock,2,[target]);return 1}else{return-2}}return JSEvents.requestPointerLock(target)}function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _alListenerfv(param,values){if(!AL.currentContext){return}switch(param){case 4100:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];AL.currentContext.ctx.listener._position=[x,y,z];AL.currentContext.ctx.listener.setPosition(x,y,z);break;case 4102:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];AL.currentContext.ctx.listener._velocity=[x,y,z];AL.currentContext.ctx.listener.setVelocity(x,y,z);break;case 4111:var x=HEAPF32[values>>2];var y=HEAPF32[values+4>>2];var z=HEAPF32[values+8>>2];var x2=HEAPF32[values+12>>2];var y2=HEAPF32[values+16>>2];var z2=HEAPF32[values+20>>2];AL.currentContext.ctx.listener._orientation=[x,y,z,x2,y2,z2];AL.currentContext.ctx.listener.setOrientation(x,y,z,x2,y2,z2);break;default:AL.currentContext.err=40962;break}}function _pthread_cond_broadcast(){return 0}function _alGetSourcei(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.updateSource(src);switch(param){case 514:HEAP32[value>>2]=src.panner?1:0;break;case 4097:HEAP32[value>>2]=src.coneInnerAngle;break;case 4098:HEAP32[value>>2]=src.coneOuterAngle;break;case 4103:HEAP32[value>>2]=src.loop;break;case 4105:if(!src.queue.length){HEAP32[value>>2]=0}else{var buffer=src.queue[src.buffersPlayed].buffer;for(var i=0;i>2]=i+1;return}}HEAP32[value>>2]=0}break;case 4112:HEAP32[value>>2]=src.state;break;case 4117:HEAP32[value>>2]=src.queue.length;break;case 4118:if(src.loop){HEAP32[value>>2]=0}else{HEAP32[value>>2]=src.buffersPlayed}break;default:AL.currentContext.err=40962;break}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _emscripten_glClearStencil(x0){GLctx.clearStencil(x0)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_get_device_pixel_ratio(){return window.devicePixelRatio||1}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _alGenSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2]=AL.newSrcId;AL.newSrcId++}}function _alGetFloat(){Module["printErr"]("missing function: alGetFloat");abort(-1)}function _emscripten_get_element_css_size(target,width,height){if(!target){target=Module["canvas"]}else{target=JSEvents.findEventTarget(target)}if(!target)return-4;if(target.getBoundingClientRect){var rect=target.getBoundingClientRect();HEAPF64[width>>3]=rect.right-rect.left;HEAPF64[height>>3]=rect.bottom-rect.top}else{HEAPF64[width>>3]=target.clientWidth;HEAPF64[height>>3]=target.clientHeight}return 0}function _emscripten_glMatrixMode(){throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation."}function _pthread_mutex_destroy(){}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function ___syscall122(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get();if(!buf)return-ERRNO_CODES.EFAULT;var layout={"sysname":0,"nodename":65,"domainname":325,"machine":260,"version":195,"release":130,"__size__":390};function copyString(element,value){var offset=layout[element];writeAsciiToMemory(value,buf+offset)}copyString("sysname","Emscripten");copyString("nodename","emscripten");copyString("release","1.0");copyString("version","#1");copyString("machine","x86-JS");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _alDeleteSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2];delete AL.currentContext.src[sourceIdx]}}function _emscripten_glGenerateMipmap(x0){GLctx.generateMipmap(x0)}function _emscripten_glSampleCoverage(x0,x1){GLctx.sampleCoverage(x0,x1)}function _emscripten_glCullFace(x0){GLctx.cullFace(x0)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){location=GL.uniforms[location];GLctx.uniform4f(location,v0,v1,v2,v3)}function _emscripten_glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _dlsym(handle,symbol){symbol=Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];symbol="_"+symbol;if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=Runtime.addFunction(result);lib.cached_functions=result}return result}}}function _emscripten_glUniform2fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[1];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2]}else{view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(location,view)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%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"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _alSourcePause(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4115)}function _alGenBuffers(count,buffers){if(!AL.currentContext){return}for(var i=0;i>2]=AL.currentContext.buf.length}}function _emscripten_glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glUniform2iv(location,count,value){location=GL.uniforms[location];count*=2;value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform2iv(location,value)}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function _emscripten_glVertexAttrib1fv(index,v){v=HEAPF32.subarray(v>>2,v+4>>2);GLctx.vertexAttrib1fv(index,v)}function _alBufferData(buffer,format,data,size,freq){if(!AL.currentContext){return}if(buffer>AL.currentContext.buf.length){return}var channels,bytes;switch(format){case 4352:bytes=1;channels=1;break;case 4353:bytes=2;channels=1;break;case 4354:bytes=1;channels=2;break;case 4355:bytes=2;channels=2;break;case 65552:bytes=4;channels=1;break;case 65553:bytes=4;channels=2;break;default:return}try{AL.currentContext.buf[buffer-1]=AL.currentContext.ctx.createBuffer(channels,size/(bytes*channels),freq);AL.currentContext.buf[buffer-1].bytesPerSample=bytes}catch(e){AL.currentContext.err=40963;return}var buf=new Array(channels);for(var i=0;i>0]&255;buf[j][i]=-1+val*(2/256);break;case 2:var val=HEAP16[data+2*(i*channels+j)>>1];buf[j][i]=val/32768;break;case 4:buf[j][i]=HEAPF32[data+4*(i*channels+j)>>2];break}}}}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _emscripten_glUniform2f(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2f(location,v0,v1)}function ___syscall330(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get(),flags=SYSCALLS.get();assert(!flags);if(old.fd===suggestFD)return-ERRNO_CODES.EINVAL;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glUniform2i(location,v0,v1){location=GL.uniforms[location];GLctx.uniform2i(location,v0,v1)}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _emscripten_glDepthMask(x0){GLctx.depthMask(x0)}function _emscripten_set_mousedown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown");return 0}function _emscripten_glDepthRange(x0,x1){GLctx.depthRange(x0,x1)}function _emscripten_set_fullscreenchange_callback(target,userData,useCapture,callbackfunc){if(typeof JSEvents.fullscreenEnabled()==="undefined")return-1;if(!target)target=document;else{target=JSEvents.findEventTarget(target);if(!target)return-4}JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"mozfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange");JSEvents.registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"msfullscreenchange");return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_blur_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur");return 0}function _emscripten_glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glUniform1fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[0];view[0]=HEAPF32[value>>2]}else{view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(location,view)}var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else if(ENVIRONMENT_IS_WEB){WebSocketConstructor=window["WebSocket"]}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>>0}var _htons=undefined;Module["_htons"]=_htons;function __inet_pton6_raw(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.indexOf("::")===0){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=parseInt(words[words.length-4])+parseInt(words[words.length-3])*256;words[words.length-3]=parseInt(words[words.length-2])+parseInt(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}var _ntohs=undefined;Module["_ntohs"]=_ntohs;function __inet_ntop6_raw(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=__inet_ntop4_raw(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAP16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:ERRNO_CODES.EINVAL}}addr=HEAP32[sa+4>>2];addr=__inet_ntop4_raw(addr);break;case 10:if(salen!==28){return{errno:ERRNO_CODES.EINVAL}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=__inet_ntop6_raw(addr);break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{family:family,addr:addr,port:port}}function __write_sockaddr(sa,family,addr,port){switch(family){case 2:addr=__inet_pton4_raw(addr);HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=__inet_pton6_raw(addr);HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return{errno:ERRNO_CODES.EAFNOSUPPORT}}return{}}function ___syscall102(which,varargs){SYSCALLS.varargs=varargs;try{var call=SYSCALLS.get(),socketvararg=SYSCALLS.get();SYSCALLS.varargs=socketvararg;switch(call){case 1:{var domain=SYSCALLS.get(),type=SYSCALLS.get(),protocol=SYSCALLS.get();var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd};case 2:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.bind(sock,info.addr,info.port);return 0};case 3:{var sock=SYSCALLS.getSocketFromFD(),info=SYSCALLS.getSocketAddress();sock.sock_ops.connect(sock,info.addr,info.port);return 0};case 4:{var sock=SYSCALLS.getSocketFromFD(),backlog=SYSCALLS.get();sock.sock_ops.listen(sock,backlog);return 0};case 5:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var newsock=sock.sock_ops.accept(sock);if(addr){var res=__write_sockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport);assert(!res.errno)}return newsock.stream.fd};case 6:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport);assert(!res.errno);return 0};case 7:{var sock=SYSCALLS.getSocketFromFD(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();if(!sock.daddr){return-ERRNO_CODES.ENOTCONN}var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport);assert(!res.errno);return 0};case 11:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),length=SYSCALLS.get(),flags=SYSCALLS.get(),dest=SYSCALLS.getSocketAddress(true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}};case 12:{var sock=SYSCALLS.getSocketFromFD(),buf=SYSCALLS.get(),len=SYSCALLS.get(),flags=SYSCALLS.get(),addr=SYSCALLS.get(),addrlen=SYSCALLS.get();var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var res=__write_sockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength};case 14:{return-ERRNO_CODES.ENOPROTOOPT};case 15:{var sock=SYSCALLS.getSocketFromFD(),level=SYSCALLS.get(),optname=SYSCALLS.get(),optval=SYSCALLS.get(),optlen=SYSCALLS.get();if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-ERRNO_CODES.ENOPROTOOPT};case 16:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=__read_sockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)};case 17:{var sock=SYSCALLS.getSocketFromFD(),message=SYSCALLS.get(),flags=SYSCALLS.get();var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var res=__write_sockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port);assert(!res.errno)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead};default:abort("unsupported socketcall syscall "+call)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_set_wheel_callback(target,userData,useCapture,callbackfunc){target=JSEvents.findEventTarget(target);if(typeof target.onwheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel");return 0}else if(typeof target.onmousewheel!=="undefined"){JSEvents.registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"mousewheel");return 0}else{return-1}}function _emscripten_set_gamepaddisconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,27,"gamepaddisconnected");return 0}function _emscripten_set_mouseenter_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter");return 0}function _emscripten_glBindProgramARB(){Module["printErr"]("missing function: emscripten_glBindProgramARB");abort(-1)}function _emscripten_glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function _emscripten_glDisable(x0){GLctx.disable(x0)}function _emscripten_glVertexAttrib3fv(index,v){v=HEAPF32.subarray(v>>2,v+12>>2);GLctx.vertexAttrib3fv(index,v)}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveAttrib(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glLineWidth(x0){GLctx.lineWidth(x0)}function _emscripten_glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 7938:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(var i in exts){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:var glslVersion=GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION);if(glslVersion.indexOf("WebGL GLSL ES 1.0")!=-1)glslVersion="OpenGL ES GLSL ES 1.00 (WebGL)";ret=allocate(intArrayFromString(glslVersion),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function emscriptenWebGLComputeImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var sizePerPixel;var numChannels;switch(format){case 6406:case 6409:case 6402:case 6403:numChannels=1;break;case 6410:case 33319:numChannels=2;break;case 6407:case 35904:numChannels=3;break;case 6408:case 35906:numChannels=4;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}switch(type){case 5121:sizePerPixel=numChannels*1;break;case 5123:case 36193:sizePerPixel=numChannels*2;break;case 5125:case 5126:sizePerPixel=numChannels*4;break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}var bytes=emscriptenWebGLComputeImageSize(width,height,sizePerPixel,GL.unpackAlignment);if(type==5121){pixels=HEAPU8.subarray(pixels,pixels+bytes)}else if(type==5126){pixels=HEAPF32.subarray(pixels>>2,pixels+bytes>>2)}else if(type==5125||type==34042){pixels=HEAPU32.subarray(pixels>>2,pixels+bytes>>2)}else{pixels=HEAPU16.subarray(pixels>>1,pixels+bytes>>1)}return{pixels:pixels,internalFormat:internalFormat}}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData;if(pixels){pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,-1).pixels}else{pixelData=null}GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}function _emscripten_glRotatef(){Module["printErr"]("missing function: emscripten_glRotatef");abort(-1)}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"&&type!=="Integer64"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break;case 35738:ret=5121;break;case 35739:ret=6408;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer64":tempI64=[ret>>>0,(tempDouble=ret,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[p>>2]=tempI64[0],HEAP32[p+4>>2]=tempI64[1];break;case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,"Integer")}function _llvm_ctpop_i32(x){var ret=0;while(x){if(x&1)ret++;x>>>=1}return ret}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);HEAP32[params>>2]=result}function _emscripten_glClientActiveTexture(){Module["printErr"]("missing function: emscripten_glClientActiveTexture");abort(-1)}function _emscripten_set_focus_callback(target,userData,useCapture,callbackfunc){JSEvents.registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus");return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_set_mouseup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup");return 0}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}function _glutInitDisplayMode(mode){GLUT.initDisplayMode=mode}function _glutCreateWindow(name){var contextAttributes={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes);return Module.ctx?1:0}function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}_glutInitDisplayMode(178);EGL.windowID=_glutCreateWindow();if(EGL.windowID!=0){EGL.setErrorCode(12288);return 62004}else{EGL.setErrorCode(12297);return 0}}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){var data=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!data.pixels){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,data.pixels)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){var heapView;if(data){heapView=HEAPU8.subarray(data,data+imageSize)}else{heapView=null}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,heapView)}function _emscripten_glGetError(){if(GL.lastError){var error=GL.lastError;GL.lastError=0;return error}else{return GLctx.getError()}}function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12300);return 0}}function ___syscall39(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),mode=SYSCALLS.get();return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _alSourcei(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4097:src.coneInnerAngle=value;break;case 4098:src.coneOuterAngle=value;break;case 4103:src.loop=value===1;break;case 4105:var buffer=AL.currentContext.buf[value-1];if(value==0){src.queue=[]}else{src.queue=[{buffer:buffer}]}AL.updateSource(src);break;case 514:if(value===0){if(src.panner){src.panner=null;src.gain.disconnect();src.gain.connect(AL.currentContext.gain)}}else if(value===1){if(!src.panner){var panner=src.panner=AL.currentContext.ctx.createPanner();panner.panningModel="equalpower";panner.distanceModel="linear";panner.refDistance=src.refDistance;panner.maxDistance=src.maxDistance;panner.rolloffFactor=src.rolloffFactor;panner.setPosition(src.position[0],src.position[1],src.position[2]);panner.setVelocity(src.velocity[0],src.velocity[1],src.velocity[2]);panner.connect(AL.currentContext.gain);src.gain.disconnect();src.gain.connect(panner)}}else{AL.currentContext.err=40963}break;default:AL.currentContext.err=40962;break}}function _emscripten_glIsEnabled(x0){return GLctx.isEnabled(x0)}function _alSourceQueueBuffers(source,count,buffers){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}for(var i=0;i>2];if(bufferIdx>AL.currentContext.buf.length){AL.currentContext.err=40961;return}}for(var i=0;i>2];var buffer=AL.currentContext.buf[bufferIdx-1];src.queue.push({buffer:buffer,src:null})}AL.updateSource(src)}function _alSourcef(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4099:break;case 4106:src.gain.gain.value=value;break;case 4131:src.maxDistance=value;break;case 4129:src.rolloffFactor=value;break;case 4130:src.coneOuterGain=value;break;case 4097:src.coneInnerAngle=value;break;case 4098:src.coneOuterAngle=value;break;case 4128:src.refDistance=value;break;default:AL.currentContext.err=40962;break}}Module["_memmove"]=_memmove;function _emscripten_glClearDepthf(x0){GLctx.clearDepth(x0)}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}function ___gxx_personality_v0(){}function _pthread_cond_wait(){return 0}function _alListenerf(param,value){if(!AL.currentContext){return}switch(param){case 4106:AL.currentContext.gain.gain.value=value;break;default:AL.currentContext.err=40962;break}}function _emscripten_glClear(x0){GLctx.clear(x0)}Module["_llvm_ctlz_i64"]=_llvm_ctlz_i64;function _alGetError(){if(!AL.currentContext){return 40964}else{var err=AL.currentContext.err;AL.currentContext.err=0;return err}}function _emscripten_get_now(){if(!_emscripten_get_now.actual){if(ENVIRONMENT_IS_NODE){_emscripten_get_now.actual=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now.actual=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return self["performance"]["now"]()}}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now.actual=function _emscripten_get_now_actual(){return performance["now"]()}}else{_emscripten_get_now.actual=Date.now}}return _emscripten_get_now.actual()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _alGetListenerfv(pname,values){if(!AL.currentContext){return}switch(pname){case 4100:var position=AL.currentContext.ctx.listener._position||[0,0,0];HEAPF32[values>>2]=position[0];HEAPF32[values+4>>2]=position[1];HEAPF32[values+8>>2]=position[2];break;case 4102:var velocity=AL.currentContext.ctx.listener._velocity||[0,0,0];HEAPF32[values>>2]=velocity[0];HEAPF32[values+4>>2]=velocity[1];HEAPF32[values+8>>2]=velocity[2];break;case 4111:var orientation=AL.currentContext.ctx.listener._orientation||[0,0,-1,0,1,0];HEAPF32[values>>2]=orientation[0];HEAPF32[values+4>>2]=orientation[1];HEAPF32[values+8>>2]=orientation[2];HEAPF32[values+12>>2]=orientation[3];HEAPF32[values+16>>2]=orientation[4];HEAPF32[values+20>>2]=orientation[5];break;default:AL.currentContext.err=40962;break}}function _emscripten_glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;if(target==GLctx.ARRAY_BUFFER){GL.currArrayBuffer=buffer}else if(target==GLctx.ELEMENT_ARRAY_BUFFER){GL.currElementArrayBuffer=buffer}GLctx.bindBuffer(target,bufferObj)}function _emscripten_glDisableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=false;GLctx.disableVertexAttribArray(index)}function _alcOpenDevice(deviceName){if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){return 1}else{return 0}}Module["_bitshift64Shl"]=_bitshift64Shl;function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _alSourceRewind(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4116);AL.setSourceState(src,4113)}function _emscripten_glGenRenderbuffers(n,renderbuffers){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.renderbuffers);renderbuffer.name=id;GL.renderbuffers[id]=renderbuffer;HEAP32[renderbuffers+i*4>>2]=id}}function _alGetSourcefv(source,param,values){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4099:case 4106:case 4109:case 4110:case 4131:case 4129:case 4130:case 4097:case 4098:case 4128:case 4132:case 4133:case 4134:_alGetSourcef(source,param,values);break;case 4100:var position=src.position;HEAPF32[values>>2]=position[0];HEAPF32[values+4>>2]=position[1];HEAPF32[values+8>>2]=position[2];break;case 4101:var direction=src.direction;HEAPF32[values>>2]=direction[0];HEAPF32[values+4>>2]=direction[1];HEAPF32[values+8>>2]=direction[2];break;case 4102:var velocity=src.velocity;HEAPF32[values>>2]=velocity[0];HEAPF32[values+4>>2]=velocity[1];HEAPF32[values+8>>2]=velocity[2];break;default:AL.currentContext.err=40962;break}}function _emscripten_glFrontFace(x0){GLctx.frontFace(x0)}function _emscripten_glActiveTexture(x0){GLctx.activeTexture(x0)}function _emscripten_glUniform1iv(location,count,value){location=GL.uniforms[location];value=HEAP32.subarray(value>>2,value+count*4>>2);GLctx.uniform1iv(location,value)}function _emscripten_glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _emscripten_glTexCoordPointer(){Module["printErr"]("missing function: emscripten_glTexCoordPointer");abort(-1)}function _emscripten_glGetInfoLogARB(){Module["printErr"]("missing function: emscripten_glGetInfoLogARB");abort(-1)}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _gethostbyname(name){name=Pointer_stringify(name);var ret=_malloc(20);var nameBuf=_malloc(name.length+1);writeStringToMemory(name,nameBuf);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=__inet_pton4_raw(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}function _gethostbyaddr(addr,addrlen,type){if(type!==2){___setErrNo(ERRNO_CODES.EAFNOSUPPORT);return null}addr=HEAP32[addr>>2];var host=__inet_ntop4_raw(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}var hostp=allocate(intArrayFromString(host),"i8",ALLOC_STACK);return _gethostbyname(hostp)}function _emscripten_set_keyup_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup");return 0}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}function _emscripten_set_mousemove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove");return 0}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glIsProgram(program){var program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _eglInitialize(display,majorVersion,minorVersion){if(display==62e3){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[8];for(var i=0;i<9;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(location,transpose,view)}function _emscripten_glUniform4fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[3];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2];view[3]=HEAPF32[value+12>>2]}else{view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(location,view)}function _emscripten_set_keypress_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress");return 0}function _emscripten_glGenFramebuffers(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.framebuffers);framebuffer.name=id;GL.framebuffers[id]=framebuffer;HEAP32[ids+i*4>>2]=id}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_exit_pointerlock(){JSEvents.removeDeferredCalls(JSEvents.requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else if(document.msExitPointerLock){document.msExitPointerLock()}else if(document.mozExitPointerLock){document.mozExitPointerLock()}else if(document.webkitExitPointerLock){document.webkitExitPointerLock()}else{return-1}return 0}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start>2];var nanoseconds=HEAP32[rqtp+4>>2];if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,texture?GL.textures[texture]:null)}function _emscripten_glDrawRangeElements(){Module["printErr"]("missing function: emscripten_glDrawRangeElements");abort(-1)}function _emscripten_glGenTextures(n,textures){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;HEAP32[textures+i*4>>2]=id}}function _emscripten_glVertexAttrib2fv(index,v){v=HEAPF32.subarray(v>>2,v+8>>2);GLctx.vertexAttrib2fv(index,v)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx.getActiveUniform(program,index);if(!info)return;var infoname=info.name.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&name){writeStringToMemory(infoname,name);if(length)HEAP32[length>>2]=infoname.length}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glDeleteObjectARB(){Module["printErr"]("missing function: emscripten_glDeleteObjectARB");abort(-1)}function _emscripten_set_touchmove_callback(target,userData,useCapture,callbackfunc){JSEvents.registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove");return 0}function _emscripten_glUniform1f(location,v0){location=GL.uniforms[location];GLctx.uniform1f(location,v0)}function _alcCreateContext(device,attrList){if(device!=1){return 0}if(attrList){return 0}var ctx;try{ctx=new AudioContext}catch(e){try{ctx=new webkitAudioContext}catch(e){}}if(ctx){if(typeof ctx.createGain==="undefined")ctx.createGain=ctx.createGainNode;var gain=ctx.createGain();gain.connect(ctx.destination);var context={ctx:ctx,err:0,src:{},buf:[],interval:setInterval((function(){AL.updateSources(context)}),AL.QUEUE_INTERVAL),gain:gain};AL.contexts.push(context);return AL.contexts.length}else{return 0}}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GL.currArrayBuffer){cb.size=size;cb.type=type;cb.normalized=normalized;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;return}cb.clientside=false;GLctx.vertexAttribPointer(index,size,type,normalized,stride,ptr)}function _alcCloseDevice(device){}function _emscripten_glDrawArrays(mode,first,count){GL.preDrawHandleClientVertexAttribBindings(first+count);GLctx.drawArrays(mode,first,count);GL.postDrawHandleClientVertexAttribBindings()}function _emscripten_glGenBuffers(n,buffers){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.buffers);buffer.name=id;GL.buffers[id]=buffer;HEAP32[buffers+i*4>>2]=id}}function _emscripten_glClearDepth(x0){GLctx.clearDepth(x0)}Module["_i64Subtract"]=_i64Subtract;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _system(command){___setErrNo(ERRNO_CODES.EAGAIN);return-1}function _emscripten_glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset>2]);if(n==0){if(GLctx.getParameter(GLctx["DRAW_FRAMEBUFFER_BINDING"])!=0)bufArray.push(GLctx["NONE"]);else{GL.recordError(1282);return}}GLctx["drawBuffers"](bufArray)}function _pthread_mutex_unlock(){}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:null)}function _emscripten_glBlendEquation(x0){GLctx.blendEquation(x0)}function _emscripten_glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _alcCaptureStart(){Module["printErr"]("missing function: alcCaptureStart");abort(-1)}function _emscripten_set_keydown_callback(target,userData,useCapture,callbackfunc){JSEvents.registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown");return 0}function _emscripten_glBufferData(target,size,data,usage){switch(usage){case 35041:case 35042:usage=35040;break;case 35045:case 35046:usage=35044;break;case 35049:case 35050:usage=35048;break}if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}function _alcMakeContextCurrent(context){if(context==0){AL.currentContext=null;return 0}else{AL.currentContext=AL.contexts[context-1];return 1}}function _emscripten_glVertexAttrib4fv(index,v){v=HEAPF32.subarray(v>>2,v+16>>2);GLctx.vertexAttrib4fv(index,v)}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function ___syscall85(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get(),bufsize=SYSCALLS.get();return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;result=result.slice(0,Math.max(0,bufSize-1));if(bufSize>0&&source){writeStringToMemory(result,source);if(length)HEAP32[length>>2]=result.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function ___cxa_guard_release(){}function _emscripten_set_gamepadconnected_callback(userData,useCapture,callbackfunc){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;JSEvents.registerGamepadEventCallback(window,userData,useCapture,callbackfunc,26,"gamepadconnected");return 0}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,"Float")}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _alDopplerFactor(value){Runtime.warnOnce("alDopplerFactor() is not yet implemented! Ignoring all calls to it.")}function _emscripten_glUniform3fv(location,count,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[2];view[0]=HEAPF32[value>>2];view[1]=HEAPF32[value+4>>2];view[2]=HEAPF32[value+8>>2]}else{view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(location,view)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _emscripten_glDrawElements(mode,count,type,indices){var buf;if(!GL.currElementArrayBuffer){var size=GL.calcBufLength(1,type,0,count);buf=GL.getTempIndexBuffer(size);GLctx.bindBuffer(GLctx.ELEMENT_ARRAY_BUFFER,buf);GLctx.bufferSubData(GLctx.ELEMENT_ARRAY_BUFFER,0,HEAPU8.subarray(indices,indices+size));indices=0}GL.preDrawHandleClientVertexAttribBindings(count);GLctx.drawElements(mode,count,type,indices);GL.postDrawHandleClientVertexAttribBindings(count);if(!GL.currElementArrayBuffer){GLctx.bindBuffer(GLctx.ELEMENT_ARRAY_BUFFER,null)}}function _emscripten_set_main_loop_arg(func,arg,fps,simulateInfiniteLoop){_emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){var heapView;if(data){heapView=HEAPU8.subarray(data,data+imageSize)}else{heapView=null}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,heapView)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function ___unlock(){}var _llvm_fabs_f64=Math_abs;function _alcCaptureStop(){Module["printErr"]("missing function: alcCaptureStop");abort(-1)}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}Module["_bitshift64Ashr"]=_bitshift64Ashr;function _emscripten_glLoadMatrixf(){Module["printErr"]("missing function: emscripten_glLoadMatrixf");abort(-1)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";log=log.substr(0,maxLength-1);if(maxLength>0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){var pixelData;if(pixels){var data=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat);pixelData=data.pixels;internalFormat=data.internalFormat}else{pixelData=null}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}function _emscripten_glColorPointer(){Module["printErr"]("missing function: emscripten_glColorPointer");abort(-1)}function _emscripten_glFlush(){GLctx.flush()}function ___syscall183(which,varargs){SYSCALLS.varargs=varargs;try{var buf=SYSCALLS.get(),size=SYSCALLS.get();if(size===0)return-ERRNO_CODES.EINVAL;var cwd=FS.cwd();if(size>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _emscripten_set_canvas_size(width,height){Browser.setCanvasSize(width,height)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glGenVertexArrays(n,arrays){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.vaos);vao.name=id;GL.vaos[id]=vao;HEAP32[arrays+i*4>>2]=id}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,"Boolean")}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var pos=0;while(stream.getdents.length>0&&pos+268>2]=id;HEAP32[dirp+pos+4>>2]=stream.position;HEAP16[dirp+pos+8>>1]=268;HEAP8[dirp+pos+10>>0]=type;for(var i=0;i>0]=name.charCodeAt(i)}HEAP8[dirp+pos+(11+i)>>0]=0;pos+=268}return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GLctx;GL.init();Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);__ATINIT__.push((function(){SOCKFS.root=FS.mount(SOCKFS,{},null)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vd(index,a1){try{Module["dynCall_vd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viddddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddddd(index,a1,a2,a3,a4){try{return Module["dynCall_ddddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viddii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viidddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viidddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddd(index,a1,a2,a3,a4){try{Module["dynCall_viddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_diiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ddd(index,a1,a2){try{return Module["dynCall_ddd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdi(index,a1,a2){try{Module["dynCall_vdi"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dd(index,a1){try{return Module["dynCall_dd"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidddd(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiddd(index,a1,a2,a3,a4){try{return Module["dynCall_iiddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiddddddddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiddddddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiidii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdddd(index,a1,a2,a3,a4){try{Module["dynCall_vdddd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vdd(index,a1,a2){try{Module["dynCall_vdd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_vd":invoke_vd,"invoke_vid":invoke_vid,"invoke_viiiii":invoke_viiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_viddddddddd":invoke_viddddddddd,"invoke_ii":invoke_ii,"invoke_ddddd":invoke_ddddd,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viddii":invoke_viddii,"invoke_viidi":invoke_viidi,"invoke_viidddd":invoke_viidddd,"invoke_viddd":invoke_viddd,"invoke_iiiiii":invoke_iiiiii,"invoke_vidi":invoke_vidi,"invoke_vdddddd":invoke_vdddddd,"invoke_vidd":invoke_vidd,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_viiiiii":invoke_viiiiii,"invoke_diiiid":invoke_diiiid,"invoke_ddd":invoke_ddd,"invoke_viid":invoke_viid,"invoke_di":invoke_di,"invoke_vdi":invoke_vdi,"invoke_dd":invoke_dd,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_vidddd":invoke_vidddd,"invoke_iid":invoke_iid,"invoke_dddd":invoke_dddd,"invoke_viiiiiii":invoke_viiiiiii,"invoke_iiddd":invoke_iiddd,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_diii":invoke_diii,"invoke_viiddddddddd":invoke_viiddddddddd,"invoke_dii":invoke_dii,"invoke_viii":invoke_viii,"invoke_did":invoke_did,"invoke_iiiiidii":invoke_iiiiidii,"invoke_iiiii":invoke_iiiii,"invoke_i":invoke_i,"invoke_vdddd":invoke_vdddd,"invoke_vdd":invoke_vdd,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_viiiiiiiid":invoke_viiiiiiiid,"invoke_iiiiid":invoke_iiiiid,"invoke_viiii":invoke_viiii,"_emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"___syscall221":___syscall221,"__inet_ntop6_raw":__inet_ntop6_raw,"___syscall220":___syscall220,"_emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"_emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"___assert_fail":___assert_fail,"_emscripten_glDepthFunc":_emscripten_glDepthFunc,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_glUniform1f":_emscripten_glUniform1f,"emscriptenWebGLComputeImageSize":emscriptenWebGLComputeImageSize,"_alGetFloat":_alGetFloat,"_emscripten_glUniform1i":_emscripten_glUniform1i,"_emscripten_glIsProgram":_emscripten_glIsProgram,"_gmtime_r":_gmtime_r,"_emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"___syscall140":___syscall140,"_alSourcePause":_alSourcePause,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"_emscripten_glAttachShader":_emscripten_glAttachShader,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_alcCreateContext":_alcCreateContext,"_emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"__inet_ntop4_raw":__inet_ntop4_raw,"_emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"_emscripten_glDrawArraysInstanced":_emscripten_glDrawArraysInstanced,"_alcMakeContextCurrent":_alcMakeContextCurrent,"_emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"_emscripten_glBufferData":_emscripten_glBufferData,"_alSourcef":_alSourcef,"_emscripten_glFlush":_emscripten_glFlush,"_alSourcei":_alSourcei,"_alGenBuffers":_alGenBuffers,"_nanosleep":_nanosleep,"_pthread_once":_pthread_once,"_dlopen":_dlopen,"_eglWaitClient":_eglWaitClient,"_emscripten_glTexCoordPointer":_emscripten_glTexCoordPointer,"_emscripten_set_blur_callback":_emscripten_set_blur_callback,"_emscripten_glLoadMatrixf":_emscripten_glLoadMatrixf,"_emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"_emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"_pthread_mutex_lock":_pthread_mutex_lock,"_dlerror":_dlerror,"_emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"___syscall20":___syscall20,"_emscripten_glUniform1iv":_emscripten_glUniform1iv,"_alListenerfv":_alListenerfv,"emscriptenWebGLGetUniform":emscriptenWebGLGetUniform,"_emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"_emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"_pthread_getspecific":_pthread_getspecific,"_alListenerf":_alListenerf,"_emscripten_glDepthRange":_emscripten_glDepthRange,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_eglMakeCurrent":_eglMakeCurrent,"_emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"_emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"_emscripten_glStencilFunc":_emscripten_glStencilFunc,"___syscall183":___syscall183,"_alDistanceModel":_alDistanceModel,"_localtime":_localtime,"_emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"_emscripten_set_keydown_callback":_emscripten_set_keydown_callback,"_emscripten_glVertexPointer":_emscripten_glVertexPointer,"__read_sockaddr":__read_sockaddr,"_eglInitialize":_eglInitialize,"_emscripten_glBufferSubData":_emscripten_glBufferSubData,"_emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"_emscripten_glStencilOp":_emscripten_glStencilOp,"_emscripten_glBlendEquation":_emscripten_glBlendEquation,"_pthread_self":_pthread_self,"_emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"_dlclose":_dlclose,"_emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"_getpwuid":_getpwuid,"___cxa_throw":___cxa_throw,"_emscripten_glUniform2fv":_emscripten_glUniform2fv,"_emscripten_glBindBuffer":_emscripten_glBindBuffer,"_emscripten_glGetFloatv":_emscripten_glGetFloatv,"_pthread_mutex_init":_pthread_mutex_init,"_emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"_eglGetDisplay":_eglGetDisplay,"___syscall63":___syscall63,"_emscripten_glCullFace":_emscripten_glCullFace,"_llvm_fabs_f64":_llvm_fabs_f64,"_emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"_emscripten_glUniform3fv":_emscripten_glUniform3fv,"_emscripten_asm_const_ii":_emscripten_asm_const_ii,"_alSource3f":_alSource3f,"___syscall265":___syscall265,"_emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"_eglBindAPI":_eglBindAPI,"_eglCreateContext":_eglCreateContext,"_clock":_clock,"_emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"_emscripten_glVertexAttribDivisor":_emscripten_glVertexAttribDivisor,"_emscripten_glGenBuffers":_emscripten_glGenBuffers,"_emscripten_glDeleteObjectARB":_emscripten_glDeleteObjectARB,"_emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"__write_sockaddr":__write_sockaddr,"_emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"_emscripten_glIsEnabled":_emscripten_glIsEnabled,"_alGetListenerf":_alGetListenerf,"_emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"___syscall122":___syscall122,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_emscripten_glClear":_emscripten_glClear,"___cxa_guard_release":___cxa_guard_release,"_emscripten_glValidateProgram":_emscripten_glValidateProgram,"_emscripten_glUniform4iv":_emscripten_glUniform4iv,"___setErrNo":___setErrNo,"_eglSwapBuffers":_eglSwapBuffers,"_emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"___resumeException":___resumeException,"_mktime":_mktime,"_emscripten_glGetError":_emscripten_glGetError,"_gethostbyaddr":_gethostbyaddr,"_emscripten_glReadPixels":_emscripten_glReadPixels,"_eglCreateWindowSurface":_eglCreateWindowSurface,"_emscripten_glClearStencil":_emscripten_glClearStencil,"emscriptenWebGLGet":emscriptenWebGLGet,"_emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"_emscripten_set_mouseup_callback":_emscripten_set_mouseup_callback,"_emscripten_glFinish":_emscripten_glFinish,"_emscripten_glClearDepth":_emscripten_glClearDepth,"_emscripten_glUniform1fv":_emscripten_glUniform1fv,"_emscripten_set_resize_callback":_emscripten_set_resize_callback,"_emscripten_glUniform4i":_emscripten_glUniform4i,"_alDopplerFactor":_alDopplerFactor,"_llvm_pow_f64":_llvm_pow_f64,"_emscripten_glUniform4f":_emscripten_glUniform4f,"_emscripten_glBlendFunc":_emscripten_glBlendFunc,"_emscripten_glStencilMask":_emscripten_glStencilMask,"_alcGetIntegerv":_alcGetIntegerv,"_localtime_r":_localtime_r,"_clock_gettime":_clock_gettime,"_strftime":_strftime,"_alcDestroyContext":_alcDestroyContext,"_emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"_emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"___syscall33":___syscall33,"_pthread_key_create":_pthread_key_create,"_emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"__setLetterbox":__setLetterbox,"___syscall39":___syscall39,"___syscall38":___syscall38,"_emscripten_glUniform4fv":_emscripten_glUniform4fv,"_emscripten_glGetObjectParameterivARB":_emscripten_glGetObjectParameterivARB,"_emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"_eglDestroySurface":_eglDestroySurface,"_sigaction":_sigaction,"_difftime":_difftime,"_emscripten_set_mousemove_callback":_emscripten_set_mousemove_callback,"_emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"_eglDestroyContext":_eglDestroyContext,"_emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"_strftime_l":_strftime_l,"__exit":__exit,"_alGetListenerfv":_alGetListenerfv,"_emscripten_glColorMask":_emscripten_glColorMask,"_pthread_mutex_unlock":_pthread_mutex_unlock,"_emscripten_glBindTexture":_emscripten_glBindTexture,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_alGenSources":_alGenSources,"_emscripten_glIsShader":_emscripten_glIsShader,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"_alcOpenDevice":_alcOpenDevice,"_emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"_emscripten_glGetInfoLogARB":_emscripten_glGetInfoLogARB,"_emscripten_longjmp":_emscripten_longjmp,"_atexit":_atexit,"_emscripten_glDeleteVertexArrays":_emscripten_glDeleteVertexArrays,"_emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"_dlsym":_dlsym,"___cxa_guard_acquire":___cxa_guard_acquire,"_emscripten_glFrontFace":_emscripten_glFrontFace,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_emscripten_glUseProgram":_emscripten_glUseProgram,"__addDays":__addDays,"_emscripten_set_touchmove_callback":_emscripten_set_touchmove_callback,"_emscripten_glUniform3iv":_emscripten_glUniform3iv,"_emscripten_set_main_loop_arg":_emscripten_set_main_loop_arg,"_sysconf":_sysconf,"_emscripten_glLineWidth":_emscripten_glLineWidth,"_emscripten_glScissor":_emscripten_glScissor,"_pthread_cleanup_push":_pthread_cleanup_push,"_emscripten_set_element_css_size":_emscripten_set_element_css_size,"_alSourcePlay":_alSourcePlay,"_emscripten_glIsBuffer":_emscripten_glIsBuffer,"_emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"_emscripten_set_keyup_callback":_emscripten_set_keyup_callback,"_emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"_emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"_emscripten_glGenTextures":_emscripten_glGenTextures,"_alcCaptureSamples":_alcCaptureSamples,"_eglGetConfigAttrib":_eglGetConfigAttrib,"_alGetSourcei":_alGetSourcei,"_alGetSourcef":_alGetSourcef,"_gmtime":_gmtime,"_alSourceQueueBuffers":_alSourceQueueBuffers,"_emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"___syscall330":___syscall330,"_emscripten_set_mousedown_callback":_emscripten_set_mousedown_callback,"_emscripten_glClientActiveTexture":_emscripten_glClientActiveTexture,"_emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"_eglWaitGL":_eglWaitGL,"___syscall118":___syscall118,"_emscripten_glUniform3f":_emscripten_glUniform3f,"_emscripten_glUniform3i":_emscripten_glUniform3i,"_emscripten_glDeleteShader":_emscripten_glDeleteShader,"_alDeleteSources":_alDeleteSources,"_emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"_emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"_alGetError":_alGetError,"_emscripten_get_now":_emscripten_get_now,"__registerRestoreOldStyle":__registerRestoreOldStyle,"emscriptenWebGLGetTexPixelData":emscriptenWebGLGetTexPixelData,"_gettimeofday":_gettimeofday,"_eglWaitNative":_eglWaitNative,"___syscall202":___syscall202,"_emscripten_glEnableClientState":_emscripten_glEnableClientState,"_eglChooseConfig":_eglChooseConfig,"___cxa_allocate_exception":___cxa_allocate_exception,"_emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"___buildEnvironment":___buildEnvironment,"_tzset":_tzset,"_emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"_emscripten_glDisable":_emscripten_glDisable,"_emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"_emscripten_glDrawElementsInstanced":_emscripten_glDrawElementsInstanced,"_emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"_emscripten_glPixelStorei":_emscripten_glPixelStorei,"_llvm_fabs_f32":_llvm_fabs_f32,"_getenv":_getenv,"_emscripten_set_gamepaddisconnected_callback":_emscripten_set_gamepaddisconnected_callback,"_llvm_cttz_i64":_llvm_cttz_i64,"_gethostbyname":_gethostbyname,"_alcCloseDevice":_alcCloseDevice,"_emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"_alcCaptureStart":_alcCaptureStart,"_llvm_ctpop_i32":_llvm_ctpop_i32,"_emscripten_glRotatef":_emscripten_glRotatef,"_emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"_emscripten_get_battery_status":_emscripten_get_battery_status,"___cxa_pure_virtual":___cxa_pure_virtual,"_emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"_emscripten_glGetPointerv":_emscripten_glGetPointerv,"_pthread_cond_wait":_pthread_cond_wait,"_emscripten_set_touchstart_callback":_emscripten_set_touchstart_callback,"_emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"_emscripten_request_pointerlock":_emscripten_request_pointerlock,"___syscall40":___syscall40,"_llvm_bswap_i64":_llvm_bswap_i64,"_emscripten_set_touchcancel_callback":_emscripten_set_touchcancel_callback,"__inet_pton6_raw":__inet_pton6_raw,"_emscripten_set_focus_callback":_emscripten_set_focus_callback,"_emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"_emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"_emscripten_glCompileShader":_emscripten_glCompileShader,"_glClear":_glClear,"__arraySum":__arraySum,"_emscripten_glLinkProgram":_emscripten_glLinkProgram,"_alDeleteBuffers":_alDeleteBuffers,"_alGetSourcefv":_alGetSourcefv,"_emscripten_get_pointerlock_status":_emscripten_get_pointerlock_status,"_emscripten_glDrawRangeElements":_emscripten_glDrawRangeElements,"___unlock":___unlock,"_pthread_setspecific":_pthread_setspecific,"_emscripten_glClearColor":_emscripten_glClearColor,"_emscripten_glCreateProgram":_emscripten_glCreateProgram,"_emscripten_glDetachShader":_emscripten_glDetachShader,"_setenv":_setenv,"_emscripten_do_request_fullscreen":_emscripten_do_request_fullscreen,"_emscripten_set_mouseleave_callback":_emscripten_set_mouseleave_callback,"_emscripten_get_element_css_size":_emscripten_get_element_css_size,"_emscripten_set_fullscreenchange_callback":_emscripten_set_fullscreenchange_callback,"_emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"_alBufferData":_alBufferData,"_emscripten_glDrawArrays":_emscripten_glDrawArrays,"_emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"_longjmp":_longjmp,"_emscripten_glBlendColor":_emscripten_glBlendColor,"_signal":_signal,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"_emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"_emscripten_glTexImage2D":_emscripten_glTexImage2D,"__isLeapYear":__isLeapYear,"_emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"_emscripten_glGetString":_emscripten_glGetString,"_emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"_emscripten_glBindProgramARB":_emscripten_glBindProgramARB,"_glutCreateWindow":_glutCreateWindow,"___syscall85":___syscall85,"_alcGetError":_alcGetError,"_emscripten_glUniform2i":_emscripten_glUniform2i,"_emscripten_glUniform2f":_emscripten_glUniform2f,"_alSourcefv":_alSourcefv,"_emscripten_glTexParameterf":_emscripten_glTexParameterf,"_emscripten_glTexParameteri":_emscripten_glTexParameteri,"_glutInitDisplayMode":_glutInitDisplayMode,"_emscripten_glGenVertexArrays":_emscripten_glGenVertexArrays,"_emscripten_set_visibilitychange_callback":_emscripten_set_visibilitychange_callback,"_eglGetProcAddress":_eglGetProcAddress,"_emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"_llvm_pow_f32":_llvm_pow_f32,"_emscripten_glDrawElements":_emscripten_glDrawElements,"_emscripten_set_canvas_size":_emscripten_set_canvas_size,"_emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"_emscripten_asm_const_v":_emscripten_asm_const_v,"_emscripten_glClearDepthf":_emscripten_glClearDepthf,"_emscripten_set_mouseenter_callback":_emscripten_set_mouseenter_callback,"_emscripten_glMatrixMode":_emscripten_glMatrixMode,"___syscall10":___syscall10,"_emscripten_glNormalPointer":_emscripten_glNormalPointer,"_emscripten_glHint":_emscripten_glHint,"_emscripten_glEnable":_emscripten_glEnable,"___syscall3":___syscall3,"___lock":___lock,"_emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"_emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"_time":_time,"_emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"_exit":_exit,"_emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"__inet_pton4_raw":__inet_pton4_raw,"___syscall102":___syscall102,"_emscripten_set_keypress_callback":_emscripten_set_keypress_callback,"_emscripten_glShaderBinary":_emscripten_glShaderBinary,"_emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"_emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"_llvm_sqrt_f64":_llvm_sqrt_f64,"_alSourceRewind":_alSourceRewind,"_emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"emscriptenWebGLGetVertexAttrib":emscriptenWebGLGetVertexAttrib,"___syscall197":___syscall197,"___syscall196":___syscall196,"___syscall195":___syscall195,"_eglSwapInterval":_eglSwapInterval,"___syscall199":___syscall199,"_emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"_glutDestroyWindow":_glutDestroyWindow,"_emscripten_glCreateShader":_emscripten_glCreateShader,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_emscripten_glColorPointer":_emscripten_glColorPointer,"_emscripten_glViewport":_emscripten_glViewport,"_pthread_cond_broadcast":_pthread_cond_broadcast,"_emscripten_glDepthMask":_emscripten_glDepthMask,"_alcCaptureStop":_alcCaptureStop,"_emscripten_glDrawBuffers":_emscripten_glDrawBuffers,"_alSourceStop":_alSourceStop,"_emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"_emscripten_set_gamepadconnected_callback":_emscripten_set_gamepadconnected_callback,"_abort":_abort,"_emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"_emscripten_glLoadIdentity":_emscripten_glLoadIdentity,"_emscripten_glShaderSource":_emscripten_glShaderSource,"___gxx_personality_v0":___gxx_personality_v0,"_system":_system,"_usleep":_usleep,"_emscripten_set_touchend_callback":_emscripten_set_touchend_callback,"_emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"_eglTerminate":_eglTerminate,"_emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"_emscripten_glFrustum":_emscripten_glFrustum,"_emscripten_glDepthRangef":_emscripten_glDepthRangef,"_emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"_emscripten_glIsTexture":_emscripten_glIsTexture,"_emscripten_glBindVertexArray":_emscripten_glBindVertexArray,"_emscripten_glActiveTexture":_emscripten_glActiveTexture,"_emscripten_set_wheel_callback":_emscripten_set_wheel_callback,"_emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"___syscall54":___syscall54,"_emscripten_glUniform2iv":_emscripten_glUniform2iv,"_emscripten_asm_const_i":_emscripten_asm_const_i,"_emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"_alSourceUnqueueBuffers":_alSourceUnqueueBuffers,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiiiiiii;var ea=env.invoke_iiiiiid;var fa=env.invoke_vd;var ga=env.invoke_vid;var ha=env.invoke_viiiii;var ia=env.invoke_iiiiiiiiii;var ja=env.invoke_vii;var ka=env.invoke_iiiiiii;var la=env.invoke_viddddddddd;var ma=env.invoke_ii;var na=env.invoke_ddddd;var oa=env.invoke_viiiiiiiiiii;var pa=env.invoke_viddii;var qa=env.invoke_viidi;var ra=env.invoke_viidddd;var sa=env.invoke_viddd;var ta=env.invoke_iiiiii;var ua=env.invoke_vidi;var va=env.invoke_vdddddd;var wa=env.invoke_vidd;var xa=env.invoke_iiii;var ya=env.invoke_vi;var za=env.invoke_viiiiii;var Aa=env.invoke_diiiid;var Ba=env.invoke_ddd;var Ca=env.invoke_viid;var Da=env.invoke_di;var Ea=env.invoke_vdi;var Fa=env.invoke_dd;var Ga=env.invoke_viiiiiiii;var Ha=env.invoke_vidddd;var Ia=env.invoke_iid;var Ja=env.invoke_dddd;var Ka=env.invoke_viiiiiii;var La=env.invoke_iiddd;var Ma=env.invoke_viiiiiiiii;var Na=env.invoke_viiiiiiiiii;var Oa=env.invoke_iii;var Pa=env.invoke_diii;var Qa=env.invoke_viiddddddddd;var Ra=env.invoke_dii;var Sa=env.invoke_viii;var Ta=env.invoke_did;var Ua=env.invoke_iiiiidii;var Va=env.invoke_iiiii;var Wa=env.invoke_i;var Xa=env.invoke_vdddd;var Ya=env.invoke_vdd;var Za=env.invoke_v;var _a=env.invoke_iiiiiiiii;var $a=env.invoke_viiiiiiiid;var ab=env.invoke_iiiiid;var bb=env.invoke_viiii;var cb=env._emscripten_glGetTexParameterfv;var db=env.___syscall221;var eb=env.__inet_ntop6_raw;var fb=env.___syscall220;var gb=env._emscripten_glBlendFuncSeparate;var hb=env._emscripten_glGetIntegerv;var ib=env.___assert_fail;var jb=env._emscripten_glDepthFunc;var kb=env._emscripten_memcpy_big;var lb=env._emscripten_glUniform1f;var mb=env.emscriptenWebGLComputeImageSize;var nb=env._alGetFloat;var ob=env._emscripten_glUniform1i;var pb=env._emscripten_glIsProgram;var qb=env._gmtime_r;var rb=env._emscripten_glTexParameteriv;var sb=env.___syscall140;var tb=env._alSourcePause;var ub=env.___syscall142;var vb=env.___syscall145;var wb=env.___syscall146;var xb=env._emscripten_glAttachShader;var yb=env._emscripten_get_now_is_monotonic;var zb=env._alcCreateContext;var Ab=env._emscripten_glTexParameterfv;var Bb=env.__inet_ntop4_raw;var Cb=env._emscripten_glUniformMatrix2fv;var Db=env._emscripten_glDrawArraysInstanced;var Eb=env._alcMakeContextCurrent;var Fb=env._emscripten_glVertexAttrib2fv;var Gb=env._emscripten_glBufferData;var Hb=env._alSourcef;var Ib=env._emscripten_glFlush;var Jb=env._alSourcei;var Kb=env._alGenBuffers;var Lb=env._nanosleep;var Mb=env._pthread_once;var Nb=env._eglWaitClient;var Ob=env._emscripten_glTexCoordPointer;var Pb=env._emscripten_set_blur_callback;var Qb=env._emscripten_glLoadMatrixf;var Rb=env._emscripten_glStencilFuncSeparate;var Sb=env._emscripten_glVertexAttrib3f;var Tb=env._pthread_mutex_lock;var Ub=env._dlerror;var Vb=env._emscripten_get_gamepad_status;var Wb=env.___syscall20;var Xb=env._emscripten_glUniform1iv;var Yb=env._alListenerfv;var Zb=env.emscriptenWebGLGetUniform;var _b=env._emscripten_glGetBufferParameteriv;var $b=env._emscripten_glVertexAttrib4fv;var ac=env._pthread_getspecific;var bc=env._alListenerf;var cc=env._emscripten_glDepthRange;var dc=env._emscripten_asm_const_iii;var ec=env._eglMakeCurrent;var fc=env._emscripten_glCopyTexImage2D;var gc=env._emscripten_glFramebufferTexture2D;var hc=env._emscripten_glStencilFunc;var ic=env.___syscall183;var jc=env._alDistanceModel;var kc=env._localtime;var lc=env._emscripten_glRenderbufferStorage;var mc=env._emscripten_set_keydown_callback;var nc=env._emscripten_glVertexPointer;var oc=env.__read_sockaddr;var pc=env._eglInitialize;var qc=env._emscripten_glBufferSubData;var rc=env._emscripten_glGetUniformfv;var sc=env._emscripten_glStencilOp;var tc=env._emscripten_glBlendEquation;var uc=env._pthread_self;var vc=env._emscripten_glVertexAttrib1fv;var wc=env._dlclose;var xc=env._emscripten_glGetProgramInfoLog;var yc=env._getpwuid;var zc=env.___cxa_throw;var Ac=env._emscripten_glUniform2fv;var Bc=env._emscripten_glBindBuffer;var Cc=env._emscripten_glGetFloatv;var Dc=env._pthread_mutex_init;var Ec=env._emscripten_glGenRenderbuffers;var Fc=env._eglGetDisplay;var Gc=env.___syscall63;var Hc=env._emscripten_glCullFace;var Ic=env._llvm_fabs_f64;var Jc=env._emscripten_glStencilMaskSeparate;var Kc=env._emscripten_glUniform3fv;var Lc=env._emscripten_asm_const_ii;var Mc=env._alSource3f;var Nc=env.___syscall265;var Oc=env._emscripten_glDisableVertexAttribArray;var Pc=env._eglBindAPI;var Qc=env._eglCreateContext;var Rc=env._clock;var Sc=env._emscripten_glGetBooleanv;var Tc=env._emscripten_glVertexAttribDivisor;var Uc=env._emscripten_glGenBuffers;var Vc=env._emscripten_glDeleteObjectARB;var Wc=env._emscripten_glGetShaderPrecisionFormat;var Xc=env.__write_sockaddr;var Yc=env._emscripten_request_fullscreen_strategy;var Zc=env._emscripten_glIsEnabled;var _c=env._alGetListenerf;var $c=env._emscripten_glStencilOpSeparate;var ad=env._pthread_cleanup_pop;var bd=env._emscripten_asm_const_iiiii;var cd=env.___syscall122;var dd=env.___cxa_find_matching_catch;var ed=env._emscripten_glClear;var fd=env.___cxa_guard_release;var gd=env._emscripten_glValidateProgram;var hd=env._emscripten_glUniform4iv;var id=env.___setErrNo;var jd=env._eglSwapBuffers;var kd=env._emscripten_glVertexAttrib2f;var ld=env.___resumeException;var md=env._mktime;var nd=env._emscripten_glGetError;var od=env._gethostbyaddr;var pd=env._emscripten_glReadPixels;var qd=env._eglCreateWindowSurface;var rd=env._emscripten_glClearStencil;var sd=env.emscriptenWebGLGet;var td=env._emscripten_get_device_pixel_ratio;var ud=env._emscripten_set_mouseup_callback;var vd=env._emscripten_glFinish;var wd=env._emscripten_glClearDepth;var xd=env._emscripten_glUniform1fv;var yd=env._emscripten_set_resize_callback;var zd=env._emscripten_glUniform4i;var Ad=env._alDopplerFactor;var Bd=env._llvm_pow_f64;var Cd=env._emscripten_glUniform4f;var Dd=env._emscripten_glBlendFunc;var Ed=env._emscripten_glStencilMask;var Fd=env._alcGetIntegerv;var Gd=env._localtime_r;var Hd=env._clock_gettime;var Id=env._strftime;var Jd=env._alcDestroyContext;var Kd=env._emscripten_glGetVertexAttribiv;var Ld=env._emscripten_glUniformMatrix3fv;var Md=env.___syscall33;var Nd=env._pthread_key_create;var Od=env._emscripten_glDeleteFramebuffers;var Pd=env.__setLetterbox;var Qd=env.___syscall39;var Rd=env.___syscall38;var Sd=env._emscripten_glUniform4fv;var Td=env._emscripten_glGetObjectParameterivARB;var Ud=env._emscripten_glGetUniformiv;var Vd=env._eglDestroySurface;var Wd=env._sigaction;var Xd=env._difftime;var Yd=env._emscripten_set_mousemove_callback;var Zd=env._emscripten_glDeleteTextures;var _d=env._eglDestroyContext;var $d=env._emscripten_exit_fullscreen;var ae=env._strftime_l;var be=env.__exit;var ce=env._alGetListenerfv;var de=env._emscripten_glColorMask;var ee=env._pthread_mutex_unlock;var fe=env._emscripten_glBindTexture;var ge=env._emscripten_set_main_loop;var he=env._alGenSources;var ie=env._emscripten_glIsShader;var je=env._emscripten_asm_const_iiii;var ke=env._alcOpenDevice;var le=env._emscripten_glCompressedTexImage2D;var me=env._emscripten_glGetInfoLogARB;var ne=env._emscripten_longjmp;var oe=env._atexit;var pe=env._emscripten_glDeleteVertexArrays;var qe=env._emscripten_glReleaseShaderCompiler;var re=env._dlsym;var se=env.___cxa_guard_acquire;var te=env._emscripten_glFrontFace;var ue=env.__ZSt18uncaught_exceptionv;var ve=env._emscripten_glUseProgram;var we=env.__addDays;var xe=env._emscripten_set_touchmove_callback;var ye=env._emscripten_glUniform3iv;var ze=env._emscripten_set_main_loop_arg;var Ae=env._sysconf;var Be=env._emscripten_glLineWidth;var Ce=env._emscripten_glScissor;var De=env._pthread_cleanup_push;var Ee=env._emscripten_set_element_css_size;var Fe=env._alSourcePlay;var Ge=env._emscripten_glIsBuffer;var He=env._emscripten_glVertexAttrib1f;var Ie=env._emscripten_set_keyup_callback;var Je=env._emscripten_glCompressedTexSubImage2D;var Ke=env._emscripten_glGetAttachedShaders;var Le=env._emscripten_glGenTextures;var Me=env._alcCaptureSamples;var Ne=env._eglGetConfigAttrib;var Oe=env._alGetSourcei;var Pe=env._alGetSourcef;var Qe=env._gmtime;var Re=env._alSourceQueueBuffers;var Se=env._emscripten_glGetTexParameteriv;var Te=env.___syscall330;var Ue=env._emscripten_set_mousedown_callback;var Ve=env._emscripten_glClientActiveTexture;var We=env._emscripten_glCheckFramebufferStatus;var Xe=env._eglWaitGL;var Ye=env.___syscall118;var Ze=env._emscripten_glUniform3f;var _e=env._emscripten_glUniform3i;var $e=env._emscripten_glDeleteShader;var af=env._alDeleteSources;var bf=env._emscripten_glGetUniformLocation;var cf=env._emscripten_glEnableVertexAttribArray;var df=env._alGetError;var ef=env._emscripten_get_now;var ff=env.__registerRestoreOldStyle;var gf=env.emscriptenWebGLGetTexPixelData;var hf=env._gettimeofday;var jf=env._eglWaitNative;var kf=env.___syscall202;var lf=env._emscripten_glEnableClientState;var mf=env._eglChooseConfig;var nf=env.___cxa_allocate_exception;var of=env._emscripten_get_num_gamepads;var pf=env.___buildEnvironment;var qf=env._tzset;var rf=env._emscripten_glGetAttribLocation;var sf=env._emscripten_glDisable;var tf=env._emscripten_glDeleteRenderbuffers;var uf=env._emscripten_glDrawElementsInstanced;var vf=env._emscripten_glVertexAttrib4f;var wf=env._emscripten_glPixelStorei;var xf=env._llvm_fabs_f32;var yf=env._getenv;var zf=env._emscripten_set_gamepaddisconnected_callback;var Af=env._llvm_cttz_i64;var Bf=env._gethostbyname;var Cf=env._alcCloseDevice;var Df=env._emscripten_glFramebufferRenderbuffer;var Ef=env._alcCaptureStart;var Ff=env._llvm_ctpop_i32;var Gf=env._emscripten_glRotatef;var Hf=env._emscripten_glGetShaderiv;var If=env._emscripten_get_battery_status;var Jf=env.___cxa_pure_virtual;var Kf=env._emscripten_glUniformMatrix4fv;var Lf=env._emscripten_glGetPointerv;var Mf=env._pthread_cond_wait;var Nf=env._emscripten_set_touchstart_callback;var Of=env._emscripten_glIsRenderbuffer;var Pf=env._emscripten_request_pointerlock;var Qf=env.___syscall40;var Rf=env._llvm_bswap_i64;var Sf=env._emscripten_set_touchcancel_callback;var Tf=env.__inet_pton6_raw;var Uf=env._emscripten_set_focus_callback;var Vf=env._emscripten_glGetVertexAttribfv;var Wf=env._emscripten_glVertexAttrib3fv;var Xf=env._emscripten_glCompileShader;var Yf=env._glClear;var Zf=env.__arraySum;var _f=env._emscripten_glLinkProgram;var $f=env._alDeleteBuffers;var ag=env._alGetSourcefv;var bg=env._emscripten_get_pointerlock_status;var cg=env._emscripten_glDrawRangeElements;var dg=env.___unlock;var eg=env._pthread_setspecific;var fg=env._emscripten_glClearColor;var gg=env._emscripten_glCreateProgram;var hg=env._emscripten_glDetachShader;var ig=env._setenv;var jg=env._emscripten_do_request_fullscreen;var kg=env._emscripten_set_mouseleave_callback;var lg=env._emscripten_get_element_css_size;var mg=env._emscripten_set_fullscreenchange_callback;var ng=env._emscripten_glVertexAttribPointer;var og=env._alBufferData;var pg=env._emscripten_glDrawArrays;var qg=env._emscripten_glPolygonOffset;var rg=env._longjmp;var sg=env._emscripten_glBlendColor;var tg=env._signal;var ug=env._emscripten_set_main_loop_timing;var vg=env._sbrk;var wg=env.___cxa_begin_catch;var xg=env._emscripten_glGetProgramiv;var yg=env._emscripten_glGetShaderSource;var zg=env._emscripten_glTexImage2D;var Ag=env.__isLeapYear;var Bg=env._emscripten_glBlendEquationSeparate;var Cg=env._emscripten_glGetString;var Dg=env._emscripten_glIsFramebuffer;var Eg=env._emscripten_glBindProgramARB;var Fg=env._glutCreateWindow;var Gg=env.___syscall85;var Hg=env._alcGetError;var Ig=env._emscripten_glUniform2i;var Jg=env._emscripten_glUniform2f;var Kg=env._alSourcefv;var Lg=env._emscripten_glTexParameterf;var Mg=env._emscripten_glTexParameteri;var Ng=env._glutInitDisplayMode;var Og=env._emscripten_glGenVertexArrays;var Pg=env._emscripten_set_visibilitychange_callback;var Qg=env._eglGetProcAddress;var Rg=env._emscripten_glBindAttribLocation;var Sg=env._llvm_pow_f32;var Tg=env._emscripten_glDrawElements;var Ug=env._emscripten_set_canvas_size;var Vg=env._emscripten_glTexSubImage2D;var Wg=env._emscripten_asm_const_v;var Xg=env._emscripten_glClearDepthf;var Yg=env._emscripten_set_mouseenter_callback;var Zg=env._emscripten_glMatrixMode;var _g=env.___syscall10;var $g=env._emscripten_glNormalPointer;var ah=env._emscripten_glHint;var bh=env._emscripten_glEnable;var ch=env.___syscall3;var dh=env.___lock;var eh=env._emscripten_glBindFramebuffer;var fh=env.___syscall6;var gh=env.___syscall5;var hh=env.___syscall4;var ih=env._emscripten_glBindRenderbuffer;var jh=env._time;var kh=env._emscripten_glGetFramebufferAttachmentParameteriv;var lh=env._exit;var mh=env._emscripten_glGetActiveAttrib;var nh=env.__inet_pton4_raw;var oh=env.___syscall102;var ph=env._emscripten_set_keypress_callback;var qh=env._emscripten_glShaderBinary;var rh=env._emscripten_glGetShaderInfoLog;var sh=env._emscripten_glGetVertexAttribPointerv;var th=env._llvm_sqrt_f64;var uh=env._alSourceRewind;var vh=env._emscripten_glGetActiveUniform;var wh=env.emscriptenWebGLGetVertexAttrib;var xh=env.___syscall197;var yh=env.___syscall196;var zh=env.___syscall195;var Ah=env._eglSwapInterval;var Bh=env.___syscall199;var Ch=env._emscripten_glDeleteProgram;var Dh=env._glutDestroyWindow;var Eh=env._emscripten_glCreateShader;var Fh=env._pthread_mutex_destroy;var Gh=env._emscripten_glColorPointer;var Hh=env._emscripten_glViewport;var Ih=env._pthread_cond_broadcast;var Jh=env._emscripten_glDepthMask;var Kh=env._alcCaptureStop;var Lh=env._emscripten_glDrawBuffers;var Mh=env._alSourceStop;var Nh=env._emscripten_exit_pointerlock;var Oh=env._emscripten_set_gamepadconnected_callback;var Ph=env._abort;var Qh=env._emscripten_glGenFramebuffers;var Rh=env._emscripten_glLoadIdentity;var Sh=env._emscripten_glShaderSource;var Th=env.___gxx_personality_v0;var Uh=env._system;var Vh=env._usleep;var Wh=env._emscripten_set_touchend_callback;var Xh=env._emscripten_glGetRenderbufferParameteriv;var Yh=env._eglTerminate;var Zh=env._emscripten_glSampleCoverage;var _h=env._emscripten_glFrustum;var $h=env._emscripten_glDepthRangef;var ai=env._emscripten_glGenerateMipmap;var bi=env._emscripten_glIsTexture;var ci=env._emscripten_glBindVertexArray;var di=env._emscripten_glActiveTexture;var ei=env._emscripten_set_wheel_callback;var fi=env._emscripten_glDeleteBuffers;var gi=env.___syscall54;var hi=env._emscripten_glUniform2iv;var ii=env._emscripten_asm_const_i;var ji=env._emscripten_glCopyTexSubImage2D;var ki=env._alSourceUnqueueBuffers;var li=0.0;
+"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiiiiiii;var na=env.invoke_iiiiiid;var oa=env.invoke_vd;var pa=env.invoke_vid;var qa=env.invoke_viiiii;var ra=env.invoke_iiiiiiiiii;var sa=env.invoke_vii;var ta=env.invoke_iiiiiii;var ua=env.invoke_viddddddddd;var va=env.invoke_ii;var wa=env.invoke_ddddd;var xa=env.invoke_viiiiiiiiiii;var ya=env.invoke_viddii;var za=env.invoke_viidi;var Aa=env.invoke_viidddd;var Ba=env.invoke_viddd;var Ca=env.invoke_iiiiii;var Da=env.invoke_vidi;var Ea=env.invoke_vdddddd;var Fa=env.invoke_vidd;var Ga=env.invoke_iiii;var Ha=env.invoke_vi;var Ia=env.invoke_viiiiii;var Ja=env.invoke_diiiid;var Ka=env.invoke_ddd;var La=env.invoke_viid;var Ma=env.invoke_di;var Na=env.invoke_vdi;var Oa=env.invoke_dd;var Pa=env.invoke_viiiiiiii;var Qa=env.invoke_vidddd;var Ra=env.invoke_iid;var Sa=env.invoke_dddd;var Ta=env.invoke_viiiiiii;var Ua=env.invoke_iiddd;var Va=env.invoke_viiiiiiiii;var Wa=env.invoke_viiiiiiiiii;var Xa=env.invoke_iii;var Ya=env.invoke_diii;var Za=env.invoke_viiddddddddd;var _a=env.invoke_dii;var $a=env.invoke_viii;var ab=env.invoke_did;var bb=env.invoke_iiiiidii;var cb=env.invoke_iiiii;var db=env.invoke_i;var eb=env.invoke_vdddd;var fb=env.invoke_vdd;var gb=env.invoke_v;var hb=env.invoke_iiiiiiiii;var ib=env.invoke_viiiiiiiid;var jb=env.invoke_iiiiid;var kb=env.invoke_viiii;var lb=env._emscripten_glGetTexParameterfv;var mb=env.___syscall221;var nb=env.__inet_ntop6_raw;var ob=env.___syscall220;var pb=env._emscripten_glBlendFuncSeparate;var qb=env._emscripten_glGetIntegerv;var rb=env.___assert_fail;var sb=env._emscripten_glDepthFunc;var tb=env._emscripten_memcpy_big;var ub=env._emscripten_glUniform1f;var vb=env.emscriptenWebGLComputeImageSize;var wb=env._alGetFloat;var xb=env._emscripten_glUniform1i;var yb=env._emscripten_glIsProgram;var zb=env._gmtime_r;var Ab=env._emscripten_glTexParameteriv;var Bb=env.___syscall140;var Cb=env._alSourcePause;var Db=env.___syscall142;var Eb=env.___syscall145;var Fb=env.___syscall146;var Gb=env._emscripten_glAttachShader;var Hb=env._emscripten_get_now_is_monotonic;var Ib=env._alcCreateContext;var Jb=env._emscripten_glTexParameterfv;var Kb=env.__inet_ntop4_raw;var Lb=env._emscripten_glUniformMatrix2fv;var Mb=env._emscripten_glDrawArraysInstanced;var Nb=env._alcMakeContextCurrent;var Ob=env._emscripten_glVertexAttrib2fv;var Pb=env._emscripten_glBufferData;var Qb=env._alSourcef;var Rb=env._emscripten_glFlush;var Sb=env._alSourcei;var Tb=env._alGenBuffers;var Ub=env._nanosleep;var Vb=env._pthread_once;var Wb=env._dlopen;var Xb=env._eglWaitClient;var Yb=env._emscripten_glTexCoordPointer;var Zb=env._emscripten_set_blur_callback;var _b=env._emscripten_glLoadMatrixf;var $b=env._emscripten_glStencilFuncSeparate;var ac=env._emscripten_glVertexAttrib3f;var bc=env._pthread_mutex_lock;var cc=env._dlerror;var dc=env._emscripten_get_gamepad_status;var ec=env.___syscall20;var fc=env._emscripten_glUniform1iv;var gc=env._alListenerfv;var hc=env.emscriptenWebGLGetUniform;var ic=env._emscripten_glGetBufferParameteriv;var jc=env._emscripten_glVertexAttrib4fv;var kc=env._pthread_getspecific;var lc=env._alListenerf;var mc=env._emscripten_glDepthRange;var nc=env._emscripten_asm_const_iii;var oc=env._eglMakeCurrent;var pc=env._emscripten_glCopyTexImage2D;var qc=env._emscripten_glFramebufferTexture2D;var rc=env._emscripten_glStencilFunc;var sc=env.___syscall183;var tc=env._alDistanceModel;var uc=env._localtime;var vc=env._emscripten_glRenderbufferStorage;var wc=env._emscripten_set_keydown_callback;var xc=env._emscripten_glVertexPointer;var yc=env.__read_sockaddr;var zc=env._eglInitialize;var Ac=env._emscripten_glBufferSubData;var Bc=env._emscripten_glGetUniformfv;var Cc=env._emscripten_glStencilOp;var Dc=env._emscripten_glBlendEquation;var Ec=env._pthread_self;var Fc=env._emscripten_glVertexAttrib1fv;var Gc=env._dlclose;var Hc=env._emscripten_glGetProgramInfoLog;var Ic=env._getpwuid;var Jc=env.___cxa_throw;var Kc=env._emscripten_glUniform2fv;var Lc=env._emscripten_glBindBuffer;var Mc=env._emscripten_glGetFloatv;var Nc=env._pthread_mutex_init;var Oc=env._emscripten_glGenRenderbuffers;var Pc=env._eglGetDisplay;var Qc=env.___syscall63;var Rc=env._emscripten_glCullFace;var Sc=env._llvm_fabs_f64;var Tc=env._emscripten_glStencilMaskSeparate;var Uc=env._emscripten_glUniform3fv;var Vc=env._emscripten_asm_const_ii;var Wc=env._alSource3f;var Xc=env.___syscall265;var Yc=env._emscripten_glDisableVertexAttribArray;var Zc=env._eglBindAPI;var _c=env._eglCreateContext;var $c=env._clock;var ad=env._emscripten_glGetBooleanv;var bd=env._emscripten_glVertexAttribDivisor;var cd=env._emscripten_glGenBuffers;var dd=env._emscripten_glDeleteObjectARB;var ed=env._emscripten_glGetShaderPrecisionFormat;var fd=env.__write_sockaddr;var gd=env._emscripten_request_fullscreen_strategy;var hd=env._emscripten_glIsEnabled;var id=env._alGetListenerf;var jd=env._emscripten_glStencilOpSeparate;var kd=env._pthread_cleanup_pop;var ld=env._emscripten_asm_const_iiiii;var md=env.___syscall122;var nd=env.___cxa_find_matching_catch;var od=env._emscripten_glClear;var pd=env.___cxa_guard_release;var qd=env._emscripten_glValidateProgram;var rd=env._emscripten_glUniform4iv;var sd=env.___setErrNo;var td=env._eglSwapBuffers;var ud=env._emscripten_glVertexAttrib2f;var vd=env.___resumeException;var wd=env._mktime;var xd=env._emscripten_glGetError;var yd=env._gethostbyaddr;var zd=env._emscripten_glReadPixels;var Ad=env._eglCreateWindowSurface;var Bd=env._emscripten_glClearStencil;var Cd=env.emscriptenWebGLGet;var Dd=env._emscripten_get_device_pixel_ratio;var Ed=env._emscripten_set_mouseup_callback;var Fd=env._emscripten_glFinish;var Gd=env._emscripten_glClearDepth;var Hd=env._emscripten_glUniform1fv;var Id=env._emscripten_set_resize_callback;var Jd=env._emscripten_glUniform4i;var Kd=env._alDopplerFactor;var Ld=env._llvm_pow_f64;var Md=env._emscripten_glUniform4f;var Nd=env._emscripten_glBlendFunc;var Od=env._emscripten_glStencilMask;var Pd=env._alcGetIntegerv;var Qd=env._localtime_r;var Rd=env._clock_gettime;var Sd=env._strftime;var Td=env._alcDestroyContext;var Ud=env._emscripten_glGetVertexAttribiv;var Vd=env._emscripten_glUniformMatrix3fv;var Wd=env.___syscall33;var Xd=env._pthread_key_create;var Yd=env._emscripten_glDeleteFramebuffers;var Zd=env.__setLetterbox;var _d=env.___syscall39;var $d=env.___syscall38;var ae=env._emscripten_glUniform4fv;var be=env._emscripten_glGetObjectParameterivARB;var ce=env._emscripten_glGetUniformiv;var de=env._eglDestroySurface;var ee=env._sigaction;var fe=env._difftime;var ge=env._emscripten_set_mousemove_callback;var he=env._emscripten_glDeleteTextures;var ie=env._eglDestroyContext;var je=env._emscripten_exit_fullscreen;var ke=env._strftime_l;var le=env.__exit;var me=env._alGetListenerfv;var ne=env._emscripten_glColorMask;var oe=env._pthread_mutex_unlock;var pe=env._emscripten_glBindTexture;var qe=env._emscripten_set_main_loop;var re=env._alGenSources;var se=env._emscripten_glIsShader;var te=env._emscripten_asm_const_iiii;var ue=env._alcOpenDevice;var ve=env._emscripten_glCompressedTexImage2D;var we=env._emscripten_glGetInfoLogARB;var xe=env._emscripten_longjmp;var ye=env._atexit;var ze=env._emscripten_glDeleteVertexArrays;var Ae=env._emscripten_glReleaseShaderCompiler;var Be=env._dlsym;var Ce=env.___cxa_guard_acquire;var De=env._emscripten_glFrontFace;var Ee=env.__ZSt18uncaught_exceptionv;var Fe=env._emscripten_glUseProgram;var Ge=env.__addDays;var He=env._emscripten_set_touchmove_callback;var Ie=env._emscripten_glUniform3iv;var Je=env._emscripten_set_main_loop_arg;var Ke=env._sysconf;var Le=env._emscripten_glLineWidth;var Me=env._emscripten_glScissor;var Ne=env._pthread_cleanup_push;var Oe=env._emscripten_set_element_css_size;var Pe=env._alSourcePlay;var Qe=env._emscripten_glIsBuffer;var Re=env._emscripten_glVertexAttrib1f;var Se=env._emscripten_set_keyup_callback;var Te=env._emscripten_glCompressedTexSubImage2D;var Ue=env._emscripten_glGetAttachedShaders;var Ve=env._emscripten_glGenTextures;var We=env._alcCaptureSamples;var Xe=env._eglGetConfigAttrib;var Ye=env._alGetSourcei;var Ze=env._alGetSourcef;var _e=env._gmtime;var $e=env._alSourceQueueBuffers;var af=env._emscripten_glGetTexParameteriv;var bf=env.___syscall330;var cf=env._emscripten_set_mousedown_callback;var df=env._emscripten_glClientActiveTexture;var ef=env._emscripten_glCheckFramebufferStatus;var ff=env._eglWaitGL;var gf=env.___syscall118;var hf=env._emscripten_glUniform3f;var jf=env._emscripten_glUniform3i;var kf=env._emscripten_glDeleteShader;var lf=env._alDeleteSources;var mf=env._emscripten_glGetUniformLocation;var nf=env._emscripten_glEnableVertexAttribArray;var of=env._alGetError;var pf=env._emscripten_get_now;var qf=env.__registerRestoreOldStyle;var rf=env.emscriptenWebGLGetTexPixelData;var sf=env._gettimeofday;var tf=env._eglWaitNative;var uf=env.___syscall202;var vf=env._emscripten_glEnableClientState;var wf=env._eglChooseConfig;var xf=env.___cxa_allocate_exception;var yf=env._emscripten_get_num_gamepads;var zf=env.___buildEnvironment;var Af=env._tzset;var Bf=env._emscripten_glGetAttribLocation;var Cf=env._emscripten_glDisable;var Df=env._emscripten_glDeleteRenderbuffers;var Ef=env._emscripten_glDrawElementsInstanced;var Ff=env._emscripten_glVertexAttrib4f;var Gf=env._emscripten_glPixelStorei;var Hf=env._llvm_fabs_f32;var If=env._getenv;var Jf=env._emscripten_set_gamepaddisconnected_callback;var Kf=env._llvm_cttz_i64;var Lf=env._gethostbyname;var Mf=env._alcCloseDevice;var Nf=env._emscripten_glFramebufferRenderbuffer;var Of=env._alcCaptureStart;var Pf=env._llvm_ctpop_i32;var Qf=env._emscripten_glRotatef;var Rf=env._emscripten_glGetShaderiv;var Sf=env._emscripten_get_battery_status;var Tf=env.___cxa_pure_virtual;var Uf=env._emscripten_glUniformMatrix4fv;var Vf=env._emscripten_glGetPointerv;var Wf=env._pthread_cond_wait;var Xf=env._emscripten_set_touchstart_callback;var Yf=env._emscripten_glIsRenderbuffer;var Zf=env._emscripten_request_pointerlock;var _f=env.___syscall40;var $f=env._llvm_bswap_i64;var ag=env._emscripten_set_touchcancel_callback;var bg=env.__inet_pton6_raw;var cg=env._emscripten_set_focus_callback;var dg=env._emscripten_glGetVertexAttribfv;var eg=env._emscripten_glVertexAttrib3fv;var fg=env._emscripten_glCompileShader;var gg=env._glClear;var hg=env.__arraySum;var ig=env._emscripten_glLinkProgram;var jg=env._alDeleteBuffers;var kg=env._alGetSourcefv;var lg=env._emscripten_get_pointerlock_status;var mg=env._emscripten_glDrawRangeElements;var ng=env.___unlock;var og=env._pthread_setspecific;var pg=env._emscripten_glClearColor;var qg=env._emscripten_glCreateProgram;var rg=env._emscripten_glDetachShader;var sg=env._setenv;var tg=env._emscripten_do_request_fullscreen;var ug=env._emscripten_set_mouseleave_callback;var vg=env._emscripten_get_element_css_size;var wg=env._emscripten_set_fullscreenchange_callback;var xg=env._emscripten_glVertexAttribPointer;var yg=env._alBufferData;var zg=env._emscripten_glDrawArrays;var Ag=env._emscripten_glPolygonOffset;var Bg=env._longjmp;var Cg=env._emscripten_glBlendColor;var Dg=env._signal;var Eg=env._emscripten_set_main_loop_timing;var Fg=env._sbrk;var Gg=env.___cxa_begin_catch;var Hg=env._emscripten_glGetProgramiv;var Ig=env._emscripten_glGetShaderSource;var Jg=env._emscripten_glTexImage2D;var Kg=env.__isLeapYear;var Lg=env._emscripten_glBlendEquationSeparate;var Mg=env._emscripten_glGetString;var Ng=env._emscripten_glIsFramebuffer;var Og=env._emscripten_glBindProgramARB;var Pg=env._glutCreateWindow;var Qg=env.___syscall85;var Rg=env._alcGetError;var Sg=env._emscripten_glUniform2i;var Tg=env._emscripten_glUniform2f;var Ug=env._alSourcefv;var Vg=env._emscripten_glTexParameterf;var Wg=env._emscripten_glTexParameteri;var Xg=env._glutInitDisplayMode;var Yg=env._emscripten_glGenVertexArrays;var Zg=env._emscripten_set_visibilitychange_callback;var _g=env._eglGetProcAddress;var $g=env._emscripten_glBindAttribLocation;var ah=env._llvm_pow_f32;var bh=env._emscripten_glDrawElements;var ch=env._emscripten_set_canvas_size;var dh=env._emscripten_glTexSubImage2D;var eh=env._emscripten_asm_const_v;var fh=env._emscripten_glClearDepthf;var gh=env._emscripten_set_mouseenter_callback;var hh=env._emscripten_glMatrixMode;var ih=env.___syscall10;var jh=env._emscripten_glNormalPointer;var kh=env._emscripten_glHint;var lh=env._emscripten_glEnable;var mh=env.___syscall3;var nh=env.___lock;var oh=env._emscripten_glBindFramebuffer;var ph=env.___syscall6;var qh=env.___syscall5;var rh=env.___syscall4;var sh=env._emscripten_glBindRenderbuffer;var th=env._time;var uh=env._emscripten_glGetFramebufferAttachmentParameteriv;var vh=env._exit;var wh=env._emscripten_glGetActiveAttrib;var xh=env.__inet_pton4_raw;var yh=env.___syscall102;var zh=env._emscripten_set_keypress_callback;var Ah=env._emscripten_glShaderBinary;var Bh=env._emscripten_glGetShaderInfoLog;var Ch=env._emscripten_glGetVertexAttribPointerv;var Dh=env._llvm_sqrt_f64;var Eh=env._alSourceRewind;var Fh=env._emscripten_glGetActiveUniform;var Gh=env.emscriptenWebGLGetVertexAttrib;var Hh=env.___syscall197;var Ih=env.___syscall196;var Jh=env.___syscall195;var Kh=env._eglSwapInterval;var Lh=env.___syscall199;var Mh=env._emscripten_glDeleteProgram;var Nh=env._glutDestroyWindow;var Oh=env._emscripten_glCreateShader;var Ph=env._pthread_mutex_destroy;var Qh=env._emscripten_glColorPointer;var Rh=env._emscripten_glViewport;var Sh=env._pthread_cond_broadcast;var Th=env._emscripten_glDepthMask;var Uh=env._alcCaptureStop;var Vh=env._emscripten_glDrawBuffers;var Wh=env._alSourceStop;var Xh=env._emscripten_exit_pointerlock;var Yh=env._emscripten_set_gamepadconnected_callback;var Zh=env._abort;var _h=env._emscripten_glGenFramebuffers;var $h=env._emscripten_glLoadIdentity;var ai=env._emscripten_glShaderSource;var bi=env.___gxx_personality_v0;var ci=env._system;var di=env._usleep;var ei=env._emscripten_set_touchend_callback;var fi=env._emscripten_glGetRenderbufferParameteriv;var gi=env._eglTerminate;var hi=env._emscripten_glSampleCoverage;var ii=env._emscripten_glFrustum;var ji=env._emscripten_glDepthRangef;var ki=env._emscripten_glGenerateMipmap;var li=env._emscripten_glIsTexture;var mi=env._emscripten_glBindVertexArray;var ni=env._emscripten_glActiveTexture;var oi=env._emscripten_set_wheel_callback;var pi=env._emscripten_glDeleteBuffers;var qi=env.___syscall54;var ri=env._emscripten_glUniform2iv;var si=env._emscripten_asm_const_i;var ti=env._emscripten_glCopyTexSubImage2D;var ui=env._alSourceUnqueueBuffers;var vi=0.0;function wi(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
-function lj(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function mj(){return i|0}function nj(a){a=a|0;i=a}function oj(a,b){a=a|0;b=b|0;i=a;j=b}function pj(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function qj(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function rj(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function sj(a){a=a|0;C=a}function tj(){return C|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;if(Imb(178513,Mj()|0)|0){e=Mj()|0;c[f>>2]=178513;c[f+4>>2]=e;vpb(178228,f)|0;e=1;i=f;return e|0}if((a|0)>1)if(!(Imb(c[b+4>>2]|0,178309)|0)){d=Mj()|0;e=Nj()|0;c[f+8>>2]=d;c[f+8+4>>2]=e;vpb(178319,f+8|0)|0;e=0;i=f;return e|0}e=uHa()|0;xHa(e);TDa(e,-10002,520305);TDa(e,-1,520417);ODa(e,1469,0);_Da(e,-2,442638);lDa(e,-3);WDa(e,0,0);if((a|0)>0){LDa(e,c[b>>2]|0);aEa(e,-2,-2)}LDa(e,178333);aEa(e,-2,-1);if((a|0)>1){d=1;do{LDa(e,c[b+(d<<2)>>2]|0);aEa(e,-2,d);d=d+1|0}while((d|0)!=(a|0))}_Da(e,-10002,515753);TDa(e,-10002,521011);LDa(e,442638);dEa(e,1,1);PDa(e,1);_Da(e,-2,178351);lDa(e,-2);TDa(e,-10002,521011);LDa(e,234922);dEa(e,1,1);PDa(e,0);dEa(e,1,1);d=oHa(e,-1e4)|0;c[f+16>>2]=e;c[f+16+4>>2]=d;ze(686,f+16|0,0,1);if(!(tDa(e,-1)|0))a=0;else a=~~+yDa(e,-1);cGa(e);e=a;i=f;return e|0}function vj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[155672]|0;if(b|0)Hi[c[(c[b>>2]|0)+40>>2]&1023](b);b=c[a>>2]|0;VDa(b,-1e4,c[a+4>>2]|0);if(!(eEa(b,0,0,0)|0)){i=d;return}c[d>>2]=BDa(b,-1,0)|0;vpb(178356,d)|0;i=d;return}function wj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=9104;b=c[155690]|0;if(!b){b=YAb(12)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;c[155690]=b}i=c[b>>2]|0;g=b+4|0;a:do if((i|0)!=(g|0)){e=i;f=i;while(1){d=f;if((c[e+28>>2]|0)==(a|0)){h=e;g=f;break}e=c[d+4>>2]|0;if(!e)while(1){e=c[d+8>>2]|0;if((c[e>>2]|0)==(d|0)){d=e;break}else d=e}else{d=e;while(1){e=c[d>>2]|0;if(!e)break;else d=e}}if((d|0)==(g|0))break a;else{e=d;f=d}}e=c[h+4>>2]|0;if(!e){f=d;while(1){e=c[f+8>>2]|0;if((c[e>>2]|0)==(f|0))break;else f=e}}else while(1){f=c[e>>2]|0;if(!f)break;else e=f}if((i|0)==(h|0))c[b>>2]=e;i=b+8|0;c[i>>2]=(c[i>>2]|0)+-1;yj(c[b+4>>2]|0,d);Mqb(h+16|0);oAb(g)}while(0);if((c[155672]|0)==(a|0))c[155672]=0;if((c[155673]|0)==(a|0))c[155673]=0;if((c[155674]|0)==(a|0))c[155674]=0;if((c[155675]|0)==(a|0))c[155675]=0;if((c[155676]|0)==(a|0))c[155676]=0;if((c[155677]|0)==(a|0))c[155677]=0;if((c[155678]|0)==(a|0))c[155678]=0;if((c[155679]|0)==(a|0))c[155679]=0;if((c[155680]|0)==(a|0))c[155680]=0;if((c[155681]|0)==(a|0))c[155681]=0;if((c[155682]|0)==(a|0))c[155682]=0;if((c[155683]|0)==(a|0))c[155683]=0;if((c[155684]|0)==(a|0))c[155684]=0;if((c[155685]|0)==(a|0))c[155685]=0;if((c[155686]|0)==(a|0))c[155686]=0;if((c[155687]|0)==(a|0))c[155687]=0;if((c[155688]|0)==(a|0))c[155688]=0;if((c[155689]|0)==(a|0))c[155689]=0;b=c[155690]|0;if(!b)return;if(c[b+8>>2]|0)return;zj(b,c[b+4>>2]|0);oAb(b);c[155690]=0;return}function xj(a){a=a|0;wg(a|0)|0;CAb()}function yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d>>2]|0;do if(!f){e=d;i=5}else{e=c[d+4>>2]|0;if(!e){g=d;e=d;i=7;break}else while(1){f=c[e>>2]|0;if(!f){i=5;break}else e=f}}while(0);if((i|0)==5){f=c[e+4>>2]|0;if(!f){k=e+8|0;l=e;f=0;m=0;j=e}else{g=e;i=7}}if((i|0)==7){k=g+8|0;c[f+8>>2]=c[k>>2];l=g;m=1;j=e}e=c[k>>2]|0;g=c[e>>2]|0;if((g|0)==(l|0)){c[e>>2]=f;if((l|0)==(b|0)){b=f;g=0}else g=c[e+4>>2]|0}else c[e+4>>2]=f;h=l+12|0;i=(a[h>>0]|0)!=0;if((l|0)!=(d|0)){e=c[d+8>>2]|0;c[k>>2]=e;if((c[c[d+8>>2]>>2]|0)==(d|0))c[e>>2]=l;else c[e+4>>2]=l;e=c[d>>2]|0;c[j>>2]=e;c[e+8>>2]=l;e=c[d+4>>2]|0;c[l+4>>2]=e;if(e|0)c[e+8>>2]=l;a[h>>0]=a[d+12>>0]|0;b=(b|0)==(d|0)?l:b}if(!(i&(b|0)!=0))return;if(m){a[f+12>>0]=1;return}while(1){h=c[g+8>>2]|0;e=g+12|0;f=(a[e>>0]|0)!=0;if((c[h>>2]|0)==(g|0)){if(!f){a[e>>0]=1;a[h+12>>0]=0;f=c[h>>2]|0;e=c[f+4>>2]|0;c[h>>2]=e;if(e|0)c[e+8>>2]=h;c[f+8>>2]=c[h+8>>2];e=c[h+8>>2]|0;if((c[e>>2]|0)==(h|0))c[e>>2]=f;else c[e+4>>2]=f;c[f+4>>2]=h;c[h+8>>2]=f;d=c[g+4>>2]|0;b=(b|0)==(d|0)?g:b;g=c[d>>2]|0}f=c[g>>2]|0;if(f|0)if(!(a[f+12>>0]|0)){b=f;e=g;i=68;break}e=c[g+4>>2]|0;if(e|0)if(!(a[e+12>>0]|0)){i=67;break}a[g+12>>0]=0;e=c[g+8>>2]|0;if((e|0)==(b|0)|(a[e+12>>0]|0)==0){i=64;break}d=c[e+8>>2]|0;e=(c[d>>2]|0)==(e|0)?d+4|0:d}else{if(!f){a[e>>0]=1;a[h+12>>0]=0;f=c[h+4>>2]|0;e=c[f>>2]|0;c[h+4>>2]=e;if(e|0)c[e+8>>2]=h;c[f+8>>2]=c[h+8>>2];e=c[h+8>>2]|0;if((c[e>>2]|0)==(h|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=h;c[h+8>>2]=f;d=c[g>>2]|0;b=(b|0)==(d|0)?g:b;g=c[d+4>>2]|0}h=c[g>>2]|0;if(h|0)if(!(a[h+12>>0]|0)){f=g;i=38;break}e=c[g+4>>2]|0;if(e|0)if(!(a[e+12>>0]|0)){b=h;f=g;i=39;break}a[g+12>>0]=0;e=c[g+8>>2]|0;if((e|0)==(b|0)){i=36;break}if(!(a[e+12>>0]|0)){b=e;i=36;break}d=c[e+8>>2]|0;e=(c[d>>2]|0)==(e|0)?d+4|0:d}g=c[e>>2]|0}if((i|0)==36){a[b+12>>0]=1;return}else if((i|0)==38){e=c[g+4>>2]|0;if(!e){b=h;h=g;i=40}else{b=h;i=39}}else if((i|0)==64){a[e+12>>0]=1;return}else if((i|0)==67)if(!f)i=69;else{b=f;e=g;i=68}if((i|0)==39)if(!(a[e+12>>0]|0)){b=g;i=46}else{h=g;i=40}else if((i|0)==68)if(!(a[b+12>>0]|0))i=75;else{g=e;i=69}if((i|0)==40){a[b+12>>0]=1;a[h+12>>0]=0;g=b+4|0;e=c[g>>2]|0;c[f>>2]=e;if(e|0)c[e+8>>2]=h;e=h+8|0;c[b+8>>2]=c[e>>2];f=c[e>>2]|0;if((c[f>>2]|0)==(h|0))c[f>>2]=b;else c[f+4>>2]=b;c[g>>2]=h;c[e>>2]=b;e=h;i=46}else if((i|0)==69){d=g+4|0;f=c[d>>2]|0;a[f+12>>0]=1;a[g+12>>0]=0;b=c[f>>2]|0;c[d>>2]=b;if(b|0)c[b+8>>2]=g;b=g+8|0;c[f+8>>2]=c[b>>2];e=c[b>>2]|0;if((c[e>>2]|0)==(g|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=g;c[b>>2]=f;b=g;e=f;i=75}if((i|0)==46){f=c[b+8>>2]|0;a[b+12>>0]=a[f+12>>0]|0;a[f+12>>0]=1;a[e+12>>0]=1;e=c[f+4>>2]|0;b=c[e>>2]|0;c[f+4>>2]=b;if(b|0)c[b+8>>2]=f;c[e+8>>2]=c[f+8>>2];b=c[f+8>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;else c[b+4>>2]=e;c[e>>2]=f;c[f+8>>2]=e;return}else if((i|0)==75){f=c[e+8>>2]|0;a[e+12>>0]=a[f+12>>0]|0;a[f+12>>0]=1;a[b+12>>0]=1;e=c[f>>2]|0;b=c[e+4>>2]|0;c[f>>2]=b;if(b|0)c[b+8>>2]=f;c[e+8>>2]=c[f+8>>2];b=c[f+8>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;else c[b+4>>2]=e;c[e+4>>2]=f;c[f+8>>2]=e;return}}function zj(a,b){a=a|0;b=b|0;if(!b)return;else{zj(a,c[b>>2]|0);zj(a,c[b+4>>2]|0);Mqb(b+16|0);oAb(b);return}}function Aj(a){a=a|0;wj(a);oAb(a);return}function Bj(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+64|0;if(!a){a=nf(16)|0;ds(a,178382,e);zc(a|0,96,27)}b=vi[c[(c[a>>2]|0)+20>>2]&2047](a)|0;Iqb(e+40|0,b,rnb(b)|0);b=c[155690]|0;if(!b){b=YAb(12)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;c[155690]=b}d=Cj(b,e+40|0)|0;if((d|0)!=(b+4|0))if((c[d+28>>2]|0)==(a|0)){Mqb(e+40|0);i=e;return}else{d=nf(16)|0;c[e+8>>2]=vi[c[(c[a>>2]|0)+20>>2]&2047](a)|0;ds(d,178406,e+8|0);zc(d|0,96,27)}Hqb(e+24|0,e+40|0);c[e+24+12>>2]=a;Dj(e+56|0,b,e+24|0);Mqb(e+24|0);b=622688+((vi[c[(c[a>>2]|0)+16>>2]&2047](a)|0)<<2)|0;d=c[b>>2]|0;if(d|0){f=vi[c[(c[d>>2]|0)+20>>2]&2047](d)|0;d=vi[c[(c[a>>2]|0)+20>>2]&2047](a)|0;c[e+16>>2]=f;c[e+16+4>>2]=d;vpb(178436,e+16|0)|0}c[b>>2]=a;Mqb(e+40|0);i=e;return}function Cj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+4>>2]|0;if(e|0){f=a[d>>0]|0;g=(f&1)==0?(f&255)>>>1:c[d+4>>2]|0;f=(f&1)==0?d+1|0:c[d+8>>2]|0;d=b+4|0;a:do{while(1){h=e+16|0;j=a[h>>0]|0;i=(j&1)==0?(j&255)>>>1:c[e+20>>2]|0;h=qmb((j&1)==0?h+1|0:c[e+24>>2]|0,f,g>>>0>>0?g:i)|0;if((((h|0)==0?(i>>>0>>0?-2147483648:0):h)|0)>=0){d=e;break}e=c[e+4>>2]|0;if(!e)break a}e=c[d>>2]|0}while((e|0)!=0);if((d|0)!=(b+4|0)){j=d+16|0;h=a[j>>0]|0;i=(h&1)==0?(h&255)>>>1:c[d+20>>2]|0;j=qmb(f,(h&1)==0?j+1|0:c[d+24>>2]|0,i>>>0>>0?i:g)|0;if((((j|0)==0?(g>>>0>>0?-2147483648:0):j)|0)>=0){j=d;return j|0}}}j=b+4|0;return j|0}function Dj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=YAb(32)|0;c[g+16>>2]=c[e>>2];c[g+16+4>>2]=c[e+4>>2];c[g+16+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[g+28>>2]=c[e+12>>2];f=Ej(d,h,g+16|0)|0;e=c[f>>2]|0;if(!e){e=c[h>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=e;c[f>>2]=g;e=c[c[d>>2]>>2]|0;if(!e)e=g;else{c[d>>2]=e;e=c[f>>2]|0}Fj(c[d+4>>2]|0,e);c[d+8>>2]=(c[d+8>>2]|0)+1;f=1;e=g}else f=0;c[b>>2]=e;a[b+4>>0]=f;if(f<<24>>24){i=h;return}Mqb(g+16|0);oAb(g);i=h;return}function Ej(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+4>>2]|0;if(!f){c[d>>2]=b+4;d=b+4|0;return d|0}h=a[e>>0]|0;i=(h&1)==0?(h&255)>>>1:c[e+4>>2]|0;h=(h&1)==0?e+1|0:c[e+8>>2]|0;while(1){e=f+16|0;g=a[e>>0]|0;b=(g&1)==0?(g&255)>>>1:c[f+20>>2]|0;e=(g&1)==0?e+1|0:c[f+24>>2]|0;g=qmb(h,e,b>>>0>>0?b:i)|0;if((((g|0)==0?(i>>>0>>0?-2147483648:0):g)|0)<0){b=c[f>>2]|0;if(!b){b=f;e=5;break}else f=b}else{g=qmb(e,h,i>>>0>>0?i:b)|0;if((((g|0)==0?(b>>>0>>0?-2147483648:0):g)|0)>=0){e=10;break}g=f+4|0;b=c[g>>2]|0;if(!b){e=9;break}else f=b}}if((e|0)==5){c[d>>2]=f;d=b;return d|0}else if((e|0)==9){c[d>>2]=f;d=g;return d|0}else if((e|0)==10){c[d>>2]=f;return d|0}return 0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a[d+12>>0]=(d|0)==(b|0)&1;if((d|0)==(b|0))return;while(1){g=c[d+8>>2]|0;if(a[g+12>>0]|0){d=37;break}f=d;d=c[g+8>>2]|0;e=c[d>>2]|0;if((e|0)==(g|0)){e=c[d+4>>2]|0;if(!e){i=g;j=g+8|0;h=g+8|0;g=d;b=d;d=8;break}if(a[e+12>>0]|0){i=g;j=g+8|0;h=g+8|0;g=d;b=d;d=8;break}a[g+12>>0]=1;a[d+12>>0]=(d|0)==(b|0)&1;a[e+12>>0]=1}else{if(!e){i=g+8|0;j=g;h=g+8|0;g=d;b=d;d=24;break}if(a[e+12>>0]|0){i=g+8|0;j=g;h=g+8|0;g=d;b=d;d=24;break}a[g+12>>0]=1;a[d+12>>0]=(d|0)==(b|0)&1;a[e+12>>0]=1}if((d|0)==(b|0)){d=37;break}}if((d|0)==8){if((c[i>>2]|0)==(f|0))d=i;else{b=i+4|0;e=c[b>>2]|0;d=c[e>>2]|0;c[b>>2]=d;if(!d)d=g;else{c[d+8>>2]=i;d=c[j>>2]|0}c[e+8>>2]=d;d=c[h>>2]|0;if((c[d>>2]|0)==(i|0))c[d>>2]=e;else c[d+4>>2]=e;c[e>>2]=i;c[j>>2]=e;d=e;b=c[e+8>>2]|0}a[d+12>>0]=1;a[b+12>>0]=0;f=c[b>>2]|0;d=c[f+4>>2]|0;c[b>>2]=d;if(d|0)c[d+8>>2]=b;d=b+8|0;c[f+8>>2]=c[d>>2];e=c[d>>2]|0;if((c[e>>2]|0)==(b|0))c[e>>2]=f;else c[e+4>>2]=f;c[f+4>>2]=b;c[d>>2]=f;return}else if((d|0)==24){if((c[j>>2]|0)==(f|0)){e=c[j>>2]|0;d=c[e+4>>2]|0;c[j>>2]=d;if(!d)d=g;else{c[d+8>>2]=j;d=c[i>>2]|0}c[e+8>>2]=d;d=c[h>>2]|0;if((c[d>>2]|0)==(j|0))c[d>>2]=e;else c[d+4>>2]=e;c[e+4>>2]=j;c[i>>2]=e;d=e;b=c[e+8>>2]|0}else d=j;a[d+12>>0]=1;a[b+12>>0]=0;j=b+4|0;f=c[j>>2]|0;d=c[f>>2]|0;c[j>>2]=d;if(d|0)c[d+8>>2]=b;d=b+8|0;c[f+8>>2]=c[d>>2];e=c[d>>2]|0;if((c[e>>2]|0)==(b|0))c[e>>2]=f;else c[e+4>>2]=f;c[f>>2]=b;c[d>>2]=f;return}else if((d|0)==37)return}function Gj(a){a=a|0;var b=0;b=c[155690]|0;if(!b){b=YAb(12)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=b+4;c[155690]=b}a=Cj(b,a)|0;if((b+4|0)==(a|0)){a=0;return a|0}a=c[a+28>>2]|0;return a|0}function Hj(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Ij(a){a=a|0;var b=0;b=c[a+4>>2]|0;c[a+4>>2]=b-1;if((b|0)!=1)return;if(!a)return;Hi[c[(c[a>>2]|0)+4>>2]&1023](a);return}function Jj(a){a=a|0;c[a>>2]=9136;c[a+4>>2]=1;return}function Kj(a){a=a|0;return}function Lj(a){a=a|0;return c[a+4>>2]|0}function Mj(){return 178513}function Nj(){return 178520}function Oj(a){a=a|0;var b=0;Ls(a)|0;vs(a,442638)|0;LDa(a,178513);_Da(a,-2,178532);IDa(a,0.0);_Da(a,-2,178541);IDa(a,10.0);_Da(a,-2,178556);IDa(a,1.0);_Da(a,-2,178571);LDa(a,178520);_Da(a,-2,178589);ODa(a,1470,0);_Da(a,-2,178607);WDa(a,0,0);LDa(a,178513);aEa(a,-2,1);LDa(a,178624);aEa(a,-2,2);_Da(a,-2,178631);ODa(a,1471,0);_Da(a,-2,178647);ODa(a,1472,0);_Da(a,-2,178793);LDa(a,357359);_Da(a,-2,178813);b=0;do{ws(a,c[9456+(b<<3)+4>>2]|0,c[9456+(b<<3)>>2]|0)|0;b=b+1|0}while((b|0)!=20);_s(a)|0;Er(a)|0;ws(a,1473,265735)|0;ws(a,1474,178817)|0;return 1}function Pj(a){a=a|0;yA((ADa(a,1)|0)!=0);return 0}function Qj(a){a=a|0;JDa(a,0);JDa(a,10);JDa(a,1);LDa(a,178520);return 4}function Rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+192|0;c[f+160>>2]=0;c[f+160+4>>2]=0;c[f+160+8>>2]=0;if((qDa(b,1)|0)==4)Rqb(f+160|0,UGa(b,1,0)|0)|0;else{j=~~+_Ga(b,1);h=~~+_Ga(b,2);g=~~+_Ga(b,3);c[f+16+8>>2]=9184;d=f+16+12|0;c[f+16>>2]=9388;c[f+16+64>>2]=9408;c[f+16+4>>2]=0;rsb(f+16+64|0,d);c[f+16+136>>2]=0;c[f+16+140>>2]=-1;c[f+16>>2]=9164;c[f+16+64>>2]=9204;c[f+16+8>>2]=9184;tsb(d);c[d>>2]=9220;e=f+16+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[f+16+60>>2]=24;c[f+172>>2]=0;c[f+172+4>>2]=0;c[f+172+8>>2]=0;dk(d,f+172|0);Mqb(f+172|0);Asb(ek(Asb(ek(Asb(f+16+8|0,j)|0,616643,1)|0,h)|0,616643,1)|0,g)|0;gk(f,d);if(!(a[f+160>>0]&1)){a[f+160+1>>0]=0;a[f+160>>0]=0}else{a[c[f+160+8>>2]>>0]=0;c[f+160+4>>2]=0}Qqb(f+160|0,0);c[f+160>>2]=c[f>>2];c[f+160+4>>2]=c[f+4>>2];c[f+160+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Mqb(f);c[f+16>>2]=9164;c[f+16+64>>2]=9204;c[f+16+8>>2]=9184;c[d>>2]=9220;Mqb(e);urb(d);qrb(f+16+64|0)}if(erb(f+160|0,178513)|0)if(erb(f+160|0,178624)|0){PDa(b,0);Mqb(f+160|0);i=f;return 1}PDa(b,1);Mqb(f+160|0);i=f;return 1}function Sj(a){a=a|0;c[a>>2]=9164;c[a+64>>2]=9204;c[a+8>>2]=9184;c[a+12>>2]=9220;Mqb(a+44|0);urb(a+12|0);qrb(a+64|0);return}function Tj(a){a=a|0;c[a>>2]=9220;Mqb(a+32|0);urb(a);return}function Uj(a){a=a|0;c[a>>2]=9220;Mqb(a+32|0);urb(a);oAb(a);return}function Vj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=c[d+44>>2]|0;k=c[d+24>>2]|0;if(i>>>0>>0){c[d+44>>2]=k;i=k}if(!(h&24)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}if((g|0)==1&(h&24|0)==24){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}a:do switch(g|0){case 0:{g=0;j=0;break}case 1:if(!(h&8)){j=k-(c[d+20>>2]|0)|0;g=j;j=((j|0)<0)<<31>>31;break a}else{j=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;g=j;j=((j|0)<0)<<31>>31;break a}case 2:{if(!(a[d+32>>0]&1))g=d+32+1|0;else g=c[d+40>>2]|0;j=i-g|0;g=j;j=((j|0)<0)<<31>>31;break}default:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}}while(0);g=jBb(g|0,j|0,e|0,f|0)|0;j=C;if((j|0)>=0){if(!(a[d+32>>0]&1))e=d+32+1|0;else e=c[d+40>>2]|0;f=i-e|0;if(!((((f|0)<0)<<31>>31|0)<(j|0)|(((f|0)<0)<<31>>31|0)==(j|0)&f>>>0>>0)){if(!((g|0)==0&(j|0)==0)){if(h&8|0)if(!(c[d+12>>2]|0)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}if((h&16|0)!=0&(k|0)==0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}}if(h&8|0){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=i}if(h&16|0)c[d+24>>2]=(c[d+20>>2]|0)+g;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=g;c[b+8+4>>2]=j;return}}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+8+4>>2]=-1;return}function Wj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ii[c[(c[b>>2]|0)+16>>2]&63](a,b,c[d+8>>2]|0,c[d+8+4>>2]|0,0,e);return}function Xj(a){a=a|0;var b=0,e=0;b=c[a+44>>2]|0;e=c[a+24>>2]|0;if(b>>>0>>0){c[a+44>>2]=e;b=e}if(!(c[a+48>>2]&8)){a=-1;return a|0}e=c[a+16>>2]|0;if(e>>>0>>0){c[a+16>>2]=b;e=b}b=c[a+12>>2]|0;if(b>>>0>=e>>>0){a=-1;return a|0}a=d[b>>0]|0;return a|0}function Yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+44>>2]|0;f=c[b+24>>2]|0;if(e>>>0>>0){c[b+44>>2]=f;e=f}f=c[b+12>>2]|0;if((c[b+8>>2]|0)>>>0>=f>>>0){b=-1;return b|0}if((d|0)==-1){c[b+12>>2]=f+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16))if((d&255)<<24>>24==(a[f+-1>>0]|0)){g=d&255;f=f+-1|0}else{b=-1;return b|0}else{g=d&255;f=f+-1|0}c[b+12>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;if((d|0)==-1){b=0;i=o;return b|0}n=(c[b+12>>2]|0)-(c[b+8>>2]|0)|0;m=c[b+24>>2]|0;e=c[b+28>>2]|0;if((m|0)==(e|0)){if(!(c[b+48>>2]&16)){b=-1;i=o;return b|0}g=c[b+20>>2]|0;h=(c[b+44>>2]|0)-g|0;Xqb(b+32|0,0);if(!(a[b+32>>0]&1))e=10;else e=(c[b+32>>2]&-2)+-1|0;Sqb(b+32|0,e,0);e=a[b+32>>0]|0;if(!(e&1)){f=b+32+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}j=f+e|0;c[b+20>>2]=f;c[b+28>>2]=j;m=f+(m-g)|0;c[b+24>>2]=m;f=f+h|0;c[b+44>>2]=f;k=b+44|0;l=b+48|0;g=b+44|0}else{k=b+44|0;l=b+48|0;g=b+44|0;f=c[b+44>>2]|0;j=e}h=m+1|0;c[o>>2]=h;f=c[(h>>>0>>0?g:o)>>2]|0;c[k>>2]=f;if(c[l>>2]&8|0){if(!(a[b+32>>0]&1))e=b+32+1|0;else e=c[b+40>>2]|0;c[b+8>>2]=e;c[b+12>>2]=e+n;c[b+16>>2]=f}if((m|0)==(j|0)){b=Xi[c[(c[b>>2]|0)+52>>2]&511](b,d&255)|0;i=o;return b|0}else{c[b+24>>2]=h;a[m>>0]=d;b=d&255;i=o;return b|0}return 0}function _j(a){a=a|0;c[a>>2]=9164;c[a+64>>2]=9204;c[a+8>>2]=9184;c[a+12>>2]=9220;Mqb(a+44|0);urb(a+12|0);qrb(a+64|0);oAb(a);return}function $j(a){a=a|0;c[a+-8>>2]=9164;c[a+-8+64>>2]=9204;c[a+-8+8>>2]=9184;c[a+-8+12>>2]=9220;Mqb(a+-8+44|0);urb(a+-8+12|0);qrb(a+-8+64|0);return}function ak(a){a=a|0;c[a+-8>>2]=9164;c[a+-8+64>>2]=9204;c[a+-8+8>>2]=9184;c[a+-8+12>>2]=9220;Mqb(a+-8+44|0);urb(a+-8+12|0);qrb(a+-8+64|0);oAb(a+-8|0);return}function bk(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[a>>2]=9164;c[a+64>>2]=9204;c[a+8>>2]=9184;c[a+12>>2]=9220;Mqb(a+44|0);urb(a+12|0);qrb(a+64|0);return}function ck(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[a>>2]=9164;c[a+64>>2]=9204;c[a+8>>2]=9184;c[a+12>>2]=9220;Mqb(a+44|0);urb(a+12|0);qrb(a+64|0);oAb(a);return}function dk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Nqb(b+32|0,d)|0;c[b+44>>2]=0;g=c[b+48>>2]|0;if(g&8|0){d=a[b+32>>0]|0;if(!(d&1)){c[b+44>>2]=((d&255)>>>1)+(b+32+1);d=((d&255)>>>1)+(b+32+1)|0;e=b+32+1|0;f=b+32+1|0}else{f=c[b+40>>2]|0;d=f+(c[b+36>>2]|0)|0;c[b+44>>2]=d;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[b+32>>0]|0;if(!(d&1)){c[b+44>>2]=b+32+1+((d&255)>>>1);e=10;g=(d&255)>>>1}else{g=c[b+36>>2]|0;c[b+44>>2]=(c[b+40>>2]|0)+g;e=(c[b+32>>2]&-2)+-1|0}Sqb(b+32|0,e,0);d=a[b+32>>0]|0;if(!(d&1)){f=b+32+1|0;d=(d&255)>>>1;e=b+32+1|0}else{e=c[b+40>>2]|0;f=e;d=c[b+36>>2]|0}c[b+24>>2]=e;c[b+20>>2]=e;c[b+28>>2]=f+d;if(!(c[b+48>>2]&3))return;c[b+24>>2]=e+g;return}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;ysb(j,b);if(!(a[j>>0]|0)){zsb(j);i=j;return b|0}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[j+8>>2]=c[h+24>>2];g=c[h+4>>2]|0;f=c[h+76>>2]|0;if((f|0)==-1){c[j+12>>2]=ssb(h)|0;f=Usb(j+12|0,1203596)|0;f=Xi[c[(c[f>>2]|0)+28>>2]&511](f,32)|0;bAb(j+12|0);c[h+76>>2]=f<<24>>24;f=f<<24>>24}c[j+12>>2]=c[j+8>>2];if(fk(j+12|0,d,(g&176|0)==32?d+e|0:d,d+e|0,h,f&255)|0){zsb(j);i=j;return b|0}d=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;qsb(d,c[d+16>>2]|5);zsb(j);i=j;return b|0}function fk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;l=i;i=i+16|0;j=c[b>>2]|0;if(!j){b=0;i=l;return b|0}k=c[g+12>>2]|0;k=(k|0)>(f-d|0)?k-(f-d)|0:0;if((e-d|0)>0)if((Gi[c[(c[j>>2]|0)+48>>2]&255](j,d,e-d|0)|0)!=(e-d|0)){c[b>>2]=0;b=0;i=l;return b|0}do if((k|0)>0){Jqb(l,k,h);if((Gi[c[(c[j>>2]|0)+48>>2]&255](j,(a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0,k)|0)==(k|0)){Mqb(l);break}c[b>>2]=0;Mqb(l);b=0;i=l;return b|0}while(0);if((f-e|0)>0)if((Gi[c[(c[j>>2]|0)+48>>2]&255](j,e,f-e|0)|0)!=(f-e|0)){c[b>>2]=0;b=0;i=l;return b|0}c[g+12>>2]=0;b=j;i=l;return b|0}function gk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16|0){e=c[d+44>>2]|0;f=c[d+24>>2]|0;if(e>>>0>>0)c[d+44>>2]=f;else f=e;d=c[d+20>>2]|0;h=f-d|0;if(h>>>0>4294967279)Fqb(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{e=YAb(h+16&-16)|0;c[b+8>>2]=e;c[b>>2]=h+16&-16|1;c[b+4>>2]=h}if((d|0)!=(f|0)){g=e;while(1){a[g>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(f|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}h=c[d+8>>2]|0;g=c[d+16>>2]|0;if((g-h|0)>>>0>4294967279)Fqb(b);if((g-h|0)>>>0<11){a[b>>0]=g-h<<1;e=b+1|0}else{e=YAb(g-h+16&-16)|0;c[b+8>>2]=e;c[b>>2]=g-h+16&-16|1;c[b+4>>2]=g-h}if((h|0)!=(g|0)){f=h;d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+(g-h)|0}a[e>>0]=0;return}function hk(a){a=a|0;if(sHa(a,179011,55900,234911)|0)return 1;dEa(a,0,1);return 1}function ik(a){a=a|0;if(sHa(a,234932,17263,252195)|0)return 1;dEa(a,0,1);return 1}function jk(a){a=a|0;Gs(a,25,621080);return 1}function kk(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((kDa(a)|0)>0){Fk(f+8|0,a,1);d=c[f+8>>2]|0;e=c[f+8+4>>2]|0}else{d=0;e=0}b=QE(621072)|0;if((kDa(a)|0)>0){c[f>>2]=d;c[f+4>>2]=e;c[f+16>>2]=c[f>>2];c[f+16+4>>2]=c[f+4>>2];bF(b,f+16|0)}Gs(a,25,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);i=f;return 1}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0;j=i;i=i+32|0;c[j+8>>2]=0;h=j+8+4|0;c[h>>2]=0;c[j+8+8>>2]=0;if((qDa(a,1)|0)==5){f=Es(a,1)|0;e=c[j+8>>2]|0;if((c[j+8+8>>2]|0)-e>>3>>>0<((f|0)/2|0)>>>0){b=(c[h>>2]|0)-e|0;if((f+1|0)>>>0<3)d=0;else d=YAb(((f|0)/2|0)<<3)|0;k=d+(b>>3<<3)|0;mBb(k+(0-(b>>3)<<3)|0,e|0,b|0)|0;c[j+8>>2]=k+(0-(b>>3)<<3);c[h>>2]=k;c[j+8+8>>2]=d+(((f|0)/2|0)<<3);if(e|0)oAb(e)}if((f|0)>=1){d=1;do{VDa(a,1,d);VDa(a,1,d+1|0);g[j>>2]=0.0;g[j+4>>2]=0.0;g[j>>2]=+_Ga(a,-2);g[j+4>>2]=+_Ga(a,-1);b=c[h>>2]|0;if((b|0)==(c[j+8+8>>2]|0))mk(j+8|0,j);else{k=c[j+4>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=k;c[h>>2]=(c[h>>2]|0)+8}lDa(a,-3);d=d+2|0}while((d|0)<=(f|0))}}else{f=kDa(a)|0;b=c[j+8>>2]|0;if((c[j+8+8>>2]|0)-b>>3>>>0<((f|0)/2|0)>>>0){d=(c[h>>2]|0)-b|0;if((f+1|0)>>>0<3)e=0;else e=YAb(((f|0)/2|0)<<3)|0;k=e+(d>>3<<3)|0;mBb(k+(0-(d>>3)<<3)|0,b|0,d|0)|0;c[j+8>>2]=k+(0-(d>>3)<<3);c[h>>2]=k;c[j+8+8>>2]=e+(((f|0)/2|0)<<3);if(b|0)oAb(b)}if((f|0)>=1){d=1;do{g[j>>2]=0.0;g[j+4>>2]=0.0;g[j>>2]=+_Ga(a,d);g[j+4>>2]=+_Ga(a,d+1|0);b=c[h>>2]|0;if((b|0)==(c[j+8+8>>2]|0))mk(j+8|0,j);else{k=c[j+4>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=k;c[h>>2]=(c[h>>2]|0)+8}d=d+2|0}while((d|0)<=(f|0))}}b=RE(621072,j+8|0)|0;Gs(a,26,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);b=c[j+8>>2]|0;if(!b){i=j;return 1}d=c[h>>2]|0;if((d|0)!=(b|0))c[h>>2]=d+(~((d+-8-b|0)>>>3)<<3);oAb(b);i=j;return 1}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>3)+1|0;if(d>>>0>536870911)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>3>>>0<268435455){d=e>>2>>>0>>0?d:e>>2;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>3;d=f}else{h=f;e=f-j>>3;k=6}}else{e=c[a+4>>2]|0;d=536870911;h=e;e=e-j>>3;k=6}if((k|0)==6){i=d;g=YAb(d<<3)|0;d=h}k=g+(e<<3)|0;h=c[b+4>>2]|0;c[k>>2]=c[b>>2];c[k+4>>2]=h;b=d-j|0;mBb(k+(0-(b>>3)<<3)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>3)<<3);c[a+4>>2]=k+8;c[a+8>>2]=g+(i<<3);if(!j)return;oAb(j);return}function nk(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0;j=i;i=i+112|0;c[j+16>>2]=0;h=j+16+4|0;c[h>>2]=0;c[j+16+8>>2]=0;if((qDa(a,1)|0)==5){f=Es(a,1)|0;b=c[j+16>>2]|0;if((((c[j+16+8>>2]|0)-b|0)/20|0)>>>0<((f|0)/2|0)>>>0){d=(c[h>>2]|0)-b|0;if((f+1|0)>>>0<3)e=0;else e=YAb(((f|0)/2|0)*20|0)|0;k=e+(((d|0)/20|0)*20|0)|0;mBb(k+(((d|0)/-20|0)*20|0)|0,b|0,d|0)|0;c[j+16>>2]=k+(((d|0)/-20|0)*20|0);c[h>>2]=k;c[j+16+8>>2]=e+(((f|0)/2|0)*20|0);if(b|0)oAb(b)}if((f|0)<1)b=j+16|0;else{d=1;do{VDa(a,1,d);VDa(a,1,d+1|0);g[j+40>>2]=+_Ga(a,-2);g[j+40+4>>2]=+_Ga(a,-1);b=c[h>>2]|0;if((b|0)==(c[j+16+8>>2]|0))ok(j+16|0,j+40|0);else{c[b>>2]=c[j+40>>2];c[b+4>>2]=c[j+40+4>>2];c[b+8>>2]=c[j+40+8>>2];c[b+12>>2]=c[j+40+12>>2];c[b+16>>2]=c[j+40+16>>2];c[h>>2]=b+20}lDa(a,-3);d=d+2|0}while((d|0)<=(f|0));b=j+16|0}}else{f=kDa(a)|0;b=c[j+16>>2]|0;if((((c[j+16+8>>2]|0)-b|0)/20|0)>>>0<((f|0)/2|0)>>>0){d=(c[h>>2]|0)-b|0;if((f+1|0)>>>0<3)e=0;else e=YAb(((f|0)/2|0)*20|0)|0;k=e+(((d|0)/20|0)*20|0)|0;mBb(k+(((d|0)/-20|0)*20|0)|0,b|0,d|0)|0;c[j+16>>2]=k+(((d|0)/-20|0)*20|0);c[h>>2]=k;c[j+16+8>>2]=e+(((f|0)/2|0)*20|0);if(b|0)oAb(b)}if((f|0)<1)b=j+16|0;else{d=1;do{g[j+40>>2]=+_Ga(a,d);g[j+40+4>>2]=+_Ga(a,d+1|0);b=c[h>>2]|0;if((b|0)==(c[j+16+8>>2]|0))ok(j+16|0,j+40|0);else{c[b>>2]=c[j+40>>2];c[b+4>>2]=c[j+40+4>>2];c[b+8>>2]=c[j+40+8>>2];c[b+12>>2]=c[j+40+12>>2];c[b+16>>2]=c[j+40+16>>2];c[h>>2]=b+20}d=d+2|0}while((d|0)<=(f|0));b=j+16|0}}b=c[b>>2]|0;d=(c[h>>2]|0)-b|0;if(((d|0)/20|0)>>>0<3)b=PGa(a,252204,j)|0;else{c[j+4>>2]=0;f=j+4+4|0;c[f>>2]=0;c[j+4+8>>2]=0;if((d|0)==60){c[j+40>>2]=c[b>>2];c[j+40+4>>2]=c[b+4>>2];c[j+40+8>>2]=c[b+8>>2];c[j+40+12>>2]=c[b+12>>2];c[j+40+16>>2]=c[b+16>>2];k=j+40+20|0;c[k>>2]=c[b+20>>2];c[k+4>>2]=c[b+20+4>>2];c[k+8>>2]=c[b+20+8>>2];c[k+12>>2]=c[b+20+12>>2];c[k+16>>2]=c[b+20+16>>2];k=j+40+40|0;c[k>>2]=c[b+40>>2];c[k+4>>2]=c[b+40+4>>2];c[k+8>>2]=c[b+40+8>>2];c[k+12>>2]=c[b+40+12>>2];c[k+16>>2]=c[b+40+16>>2];pk(j+4|0,j+40|0)}else{SE(j+28|0,621072,j+16|0);b=c[j+4>>2]|0;if(!b)b=j+4+8|0;else{d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~(((d+-60-b|0)>>>0)/60|0)*60|0);oAb(b);c[j+4+8>>2]=0;c[f>>2]=0;c[j+4>>2]=0;b=j+4+8|0}c[j+4>>2]=c[j+28>>2];c[f>>2]=c[j+28+4>>2];c[b>>2]=c[j+28+8>>2];c[j+28+8>>2]=0;c[j+28+4>>2]=0;c[j+28>>2]=0}WDa(a,((c[f>>2]|0)-(c[j+4>>2]|0)|0)/60|0,0);e=0;while(1){b=c[f>>2]|0;d=c[j+4>>2]|0;if((e|0)>=((b-d|0)/60|0|0))break;WDa(a,6,0);IDa(a,+g[d+(e*60|0)>>2]);aEa(a,-2,1);IDa(a,+g[d+(e*60|0)+4>>2]);aEa(a,-2,2);IDa(a,+g[d+(e*60|0)+20>>2]);aEa(a,-2,3);IDa(a,+g[d+(e*60|0)+24>>2]);aEa(a,-2,4);IDa(a,+g[d+(e*60|0)+40>>2]);aEa(a,-2,5);IDa(a,+g[d+(e*60|0)+44>>2]);aEa(a,-2,6);k=e+1|0;aEa(a,-2,k);e=k}if(d|0){if((b|0)!=(d|0))c[f>>2]=b+(~(((b+-60-d|0)>>>0)/60|0)*60|0);oAb(d)}b=1}d=c[j+16>>2]|0;if(!d){i=j;return b|0}e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~(((e+-20-d|0)>>>0)/20|0)*20|0);oAb(d);i=j;return b|0}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;e=(((c[a+4>>2]|0)-j|0)/20|0)+1|0;if(e>>>0>214748364)jzb(a);d=((c[a+8>>2]|0)-j|0)/20|0;if(d>>>0<107374182){d=d<<1>>>0>>0?e:d<<1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=(f-j|0)/20|0;d=f}else{h=f;e=(f-j|0)/20|0;k=6}}else{e=c[a+4>>2]|0;d=214748364;h=e;e=(e-j|0)/20|0;k=6}if((k|0)==6){i=d;g=YAb(d*20|0)|0;d=h}k=g+(e*20|0)|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];b=d-j|0;mBb(k+(((b|0)/-20|0)*20|0)|0,j|0,b|0)|0;c[a>>2]=k+(((b|0)/-20|0)*20|0);c[a+4>>2]=k+20;c[a+8>>2]=g+(i*20|0);if(!j)return;oAb(j);return}function pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;e=(((c[a+4>>2]|0)-k|0)/60|0)+1|0;if(e>>>0>71582788)jzb(a);d=((c[a+8>>2]|0)-k|0)/60|0;if(d>>>0<35791394){d=d<<1>>>0>>0?e:d<<1;f=c[a+4>>2]|0;if(!d){i=0;d=0;e=(f-k|0)/60|0;j=f}else{g=f;e=(f-k|0)/60|0;h=6}}else{e=c[a+4>>2]|0;d=71582788;g=e;e=(e-k|0)/60|0;h=6}if((h|0)==6){i=d;d=YAb(d*60|0)|0;j=g}h=d+(e*60|0)|0;f=d+(i*60|0)|0;g=h;d=b;e=g+60|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));b=j-k|0;mBb(h+(((b|0)/-60|0)*60|0)|0,k|0,b|0)|0;c[a>>2]=h+(((b|0)/-60|0)*60|0);c[a+4>>2]=h+60;c[a+8>>2]=f;if(!k)return;oAb(k);return}function qk(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0;j=i;i=i+32|0;c[j+20>>2]=0;h=j+20+4|0;c[h>>2]=0;c[j+20+8>>2]=0;if((qDa(a,1)|0)==5){f=Es(a,1)|0;e=c[j+20>>2]|0;if((((c[j+20+8>>2]|0)-e|0)/20|0)>>>0<((f|0)/2|0)>>>0){b=(c[h>>2]|0)-e|0;if((f+1|0)>>>0<3)d=0;else d=YAb(((f|0)/2|0)*20|0)|0;k=d+(((b|0)/20|0)*20|0)|0;mBb(k+(((b|0)/-20|0)*20|0)|0,e|0,b|0)|0;c[j+20>>2]=k+(((b|0)/-20|0)*20|0);c[h>>2]=k;c[j+20+8>>2]=d+(((f|0)/2|0)*20|0);if(e|0)oAb(e)}if((f|0)>=1){d=1;do{VDa(a,1,d);VDa(a,1,d+1|0);g[j>>2]=+_Ga(a,-2);g[j+4>>2]=+_Ga(a,-1);b=c[h>>2]|0;if((b|0)==(c[j+20+8>>2]|0))ok(j+20|0,j);else{c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[h>>2]=b+20}lDa(a,-3);d=d+2|0}while((d|0)<=(f|0))}}else{f=kDa(a)|0;b=c[j+20>>2]|0;if((((c[j+20+8>>2]|0)-b|0)/20|0)>>>0<((f|0)/2|0)>>>0){d=(c[h>>2]|0)-b|0;if((f+1|0)>>>0<3)e=0;else e=YAb(((f|0)/2|0)*20|0)|0;k=e+(((d|0)/20|0)*20|0)|0;mBb(k+(((d|0)/-20|0)*20|0)|0,b|0,d|0)|0;c[j+20>>2]=k+(((d|0)/-20|0)*20|0);c[h>>2]=k;c[j+20+8>>2]=e+(((f|0)/2|0)*20|0);if(b|0)oAb(b)}if((f|0)>=1){d=1;do{g[j>>2]=+_Ga(a,d);g[j+4>>2]=+_Ga(a,d+1|0);b=c[h>>2]|0;if((b|0)==(c[j+20+8>>2]|0))ok(j+20|0,j);else{c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];c[b+16>>2]=c[j+16>>2];c[h>>2]=b+20}d=d+2|0}while((d|0)<=(f|0))}}gs(a,UE(621072,j+20|0)|0);b=c[j+20>>2]|0;if(!b){i=j;return 1}d=c[h>>2]|0;if((d|0)!=(b|0))c[h>>2]=d+(~(((d+-20-b|0)>>>0)/20|0)*20|0);oAb(b);i=j;return 1}function rk(a){a=a|0;var b=0.0,c=0,d=0,e=0,f=0;f=i;i=i+16|0;d=sk(a,f)|0;if((d|0)>0)e=0;else{i=f;return d|0}do{c=f+(e<<2)|0;b=+g[c>>2];if((e|0)<3){b=+VE(621072,b);g[c>>2]=b}IDa(a,b*255.0);e=e+1|0}while((e|0)!=(d|0));i=f;return d|0}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0;do if((qDa(a,1)|0)==5){d=Es(a,1)|0;if((d|0)>0){e=1;c=0}else{lDa(a,-1);break}while(1){VDa(a,1,e);g[b+(e+-1<<2)>>2]=+_Ga(a,-1)/255.0;f=c+1|0;h=e;e=e+1|0;if(!((h|0)<(d|0)&(e|0)<5))break;else c=f}lDa(a,-2-c|0);h=f;return h|0}else{d=kDa(a)|0;if((d|0)>0){e=1;c=0;do{g[b+(e+-1<<2)>>2]=+_Ga(a,e)/255.0;c=c+1|0;h=e;e=e+1|0}while((h|0)<(d|0)&(e|0)<5);return c|0}}while(0);+_Ga(a,1);h=0;return h|0}function tk(a){a=a|0;var b=0.0,c=0,d=0,e=0,f=0;f=i;i=i+16|0;d=sk(a,f)|0;if((d|0)>0)e=0;else{i=f;return d|0}do{c=f+(e<<2)|0;b=+g[c>>2];if((e|0)<3){b=+WE(621072,b);g[c>>2]=b}IDa(a,b*255.0);e=e+1|0}while((e|0)!=(d|0));i=f;return d|0}function uk(a){a=a|0;var b=0.0,c=0,d=0,e=0,f=0;e=i;i=i+16|0;c=kDa(a)|0;c=(c|0)<1?1:c;c=(c|0)>4?4:c;if((c|0)>0){d=0;do{f=d;d=d+1|0;g[e+(f<<2)>>2]=+_Ga(a,d)}while((d|0)<(c|0))}switch(c|0){case 1:{b=+_r(+g[e>>2])*.5+.5;break}case 2:{b=+$r(+g[e>>2],+g[e+4>>2])*.5+.5;break}case 3:{b=+Yr(+g[e>>2],+g[e+4>>2],+g[e+8>>2])*.5+.5;break}case 4:{b=+Zr(+g[e>>2],+g[e+4>>2],+g[e+8>>2],+g[e+12>>2])*.5+.5;break}default:b=0.0}IDa(a,b);i=e;return 1}function vk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((qDa(a,2)|0)<1)c[d+8>>2]=0;else{b=UGa(a,2,0)|0;c[d+8>>2]=0;if(b)if(!(JE(b,d+8|0)|0)){c[d>>2]=b;a=PGa(a,252244,d)|0;i=d;return a|0}}b=~~+$Ga(a,3,-1.0);if(!(uDa(a,1)|0)){e=wk(a,1,2)|0;b=XE(621072,c[d+8>>2]|0,e,b)|0}else{c[d+4>>2]=0;e=UGa(a,1,d+4|0)|0;b=YE(621072,c[d+8>>2]|0,e,c[d+4>>2]|0,b)|0}Gs(a,27,b);e=1;i=d;return e|0}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function xk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;c[e+12>>2]=0;if(Hs(a,1,27)|0){b=xF(a,1)|0;c[e+12>>2]=wE(b)|0;b=ZE(621072,b,e+12|0)|0}else{c[e+8>>2]=0;b=UGa(a,2,0)|0;if(!(JE(b,e+8|0)|0)){c[e>>2]=b;a=PGa(a,252244,e)|0;i=e;return a|0}c[e+4>>2]=0;if(Hs(a,1,2)|0){b=wk(a,1,2)|0;d=vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0;b=vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0;c[e+4>>2]=b}else{d=UGa(a,1,e+4|0)|0;b=c[e+4>>2]|0}b=_E(621072,c[e+8>>2]|0,d,b,e+12|0)|0}KDa(a,b,c[e+12>>2]|0);if(!b){a=1;i=e;return a|0}aBb(b);a=1;i=e;return a|0}function yk(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;Hi[c[(c[155268]|0)+8>>2]&1023](621072);c[d>>2]=621072;c[d+4>>2]=519048;c[d+8>>2]=3;c[d+12>>2]=9624;c[d+16>>2]=9712;b=qs(a,d)|0;sHa(a,252408,3426,255834)|0;pDa(a,-2);QDa(a,9728);dEa(a,2,0);i=d;return b|0}function zk(a){a=+a;return +(+_r(a)*.5+.5)}function Ak(a,b){a=+a;b=+b;return +(+$r(a,b)*.5+.5)}function Bk(a,b,c){a=+a;b=+b;c=+c;return +(+Yr(a,b,c)*.5+.5)}function Ck(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+Zr(a,b,c,d)*.5+.5)}function Dk(a){a=+a;return +(+VE(621072,a))}function Ek(a){a=+a;return +(+WE(621072,a))}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0;g=(qDa(b,d+1|0)|0)<1;e=+_Ga(b,d);f=e!=e|0.0!=0.0|(e==s|e==-s);if(g){if(f)OGa(b,d,255848)|0;g=+N(e)>=1.0?(e>0.0?~~+$(+M(e/4294967296.0),4294967295.0)>>>0:~~+Z((e-+(~~e>>>0))/4294967296.0)>>>0):0;c[a>>2]=~~e>>>0;c[a+4>>2]=g;return}if(f)OGa(b,d,255848)|0;c[a>>2]=~~e>>>0;e=+_Ga(b,d+1|0);if(e!=e|0.0!=0.0|(e==s|e==-s))OGa(b,d+1|0,255848)|0;c[a+4>>2]=~~e>>>0;return}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Hk(a){a=a|0;var b=0;b=cF(Gk(a,1,25)|0)|0;IDa(a,(+(b>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);return 1}function Ik(a){a=a|0;var b=0.0,c=0,d=0.0;c=Gk(a,1,25)|0;b=+$Ga(a,2,1.0);d=+$Ga(a,3,0.0);IDa(a,d+ +dF(c,b));return 1}function Jk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=Gk(a,1,25)|0;Fk(b,a,2);c[b+8>>2]=c[b>>2];c[b+8+4>>2]=c[b+4>>2];bF(d,b+8|0);i=b;return 0}function Kk(a){a=a|0;var b=0;b=i;i=i+16|0;eF(b,Gk(a,1,25)|0);IDa(a,+((c[b>>2]|0)>>>0));IDa(a,+((c[b+4>>2]|0)>>>0));i=b;return 2}function Lk(a){a=a|0;var b=0,c=0;b=i;i=i+16|0;c=Gk(a,1,25)|0;js(b,a,2);fF(c,b);Mqb(b);i=b;return 0}function Mk(a){a=a|0;var b=0;b=i;i=i+16|0;gF(b,Gk(a,1,25)|0);ks(a,b);Mqb(b);i=b;return 1}function Nk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=9752;c[d+4>>2]=0;b=xs(a,25,255868,d)|0;Cs(a,25);if((qDa(a,-1)|0)!=5){lDa(a,-2);i=d;return b|0}sHa(a,255939,2474,258413)|0;pDa(a,-2);QDa(a,9808);dEa(a,2,0);lDa(a,-2);i=d;return b|0}function Ok(a){a=a|0;var b=0.0;if(!a){b=0.0;return +b}if(!(c[(c[155773]|0)+(c[a>>2]<<3)>>2]&33554432)){b=0.0;return +b}a=cF(c[a+4>>2]|0)|0;b=(+(a>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20;return +b}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(uDa(a,1)|0)){if(Hs(a,1,5)|0)b=4;else if(Hs(a,1,7)|0)b=4}else b=4;if((b|0)==4)Js(a,1,435893,437001)|0;e=Qk(a,1,22)|0;d=~~+$Ga(a,2,0.0);b=~~+$Ga(a,3,0.0);f=c[155681]|0;b=cj[c[(c[f>>2]|0)+24>>2]&127](f,e,d,b)|0;Gs(a,31,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function Qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Rk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=UGa(a,1,0)|0;if(bG(b,d+4|0)|0){b=c[155681]|0;Gs(a,31,Xi[c[(c[b>>2]|0)+28>>2]&511](b,c[d+4>>2]|0)|0);a=1;i=d;return a|0}else{c[d>>2]=b;a=PGa(a,258438,d)|0;i=d;return a|0}return 0}function Sk(a){a=a|0;var b=0;if((qDa(a,1)|0)<1){a=c[155681]|0;Hi[c[(c[a>>2]|0)+36>>2]&1023](a);return 0}else{a=eG(a,1)|0;b=c[155681]|0;si[c[(c[b>>2]|0)+32>>2]&511](b,a);return 0}return 0}function Tk(a){a=a|0;var b=0;b=c[155681]|0;b=vi[c[(c[b>>2]|0)+40>>2]&2047](b)|0;if(!b){HDa(a);return 1}else{Gs(a,31,b);return 1}return 0}function Uk(a){a=a|0;var b=0;b=c[155681]|0;gs(a,vi[c[(c[b>>2]|0)+44>>2]&2047](b)|0);return 1}function Vk(a){a=a|0;var b=0;b=c[155681]|0;IDa(a,+Mi[c[(c[b>>2]|0)+48>>2]&63](b));return 1}function Wk(a){a=a|0;var b=0;b=c[155681]|0;IDa(a,+Mi[c[(c[b>>2]|0)+52>>2]&63](b));return 1}function Xk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155681]|0;$i[c[(c[d>>2]|0)+56>>2]&255](d,b+8|0,b);IDa(a,+h[b+8>>3]);IDa(a,+h[b>>3]);i=b;return 2}function Yk(a){a=a|0;var b=0.0;b=+_Ga(a,1);a=c[155681]|0;pi[c[(c[a>>2]|0)+60>>2]&31](a,b);return 0}function Zk(a){a=a|0;var b=0.0;b=+_Ga(a,1);a=c[155681]|0;pi[c[(c[a>>2]|0)+64>>2]&31](a,b);return 0}function _k(a){a=a|0;var b=0.0,d=0.0;d=+_Ga(a,1);b=+_Ga(a,2);a=c[155681]|0;Fi[c[(c[a>>2]|0)+68>>2]&3](a,d,b);return 0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=kDa(a)|0;c[h+4>>2]=0;g=h+4+4|0;c[g>>2]=0;c[h+4+8>>2]=0;if(b|0){f=YAb(b<<2)|0;c[h+4>>2]=f;c[g>>2]=f;c[h+4+8>>2]=f+(b<<2);if((b|0)>0){f=0;do{f=f+1|0;d=~~+_Ga(a,f);c[h>>2]=d;e=c[g>>2]|0;if(e>>>0<(c[h+4+8>>2]|0)>>>0){c[e>>2]=d;c[g>>2]=e+4}else al(h+4|0,h)}while((f|0)<(b|0))}}b=c[155681]|0;gs(a,Xi[c[(c[b>>2]|0)+76>>2]&511](b,h+4|0)|0);b=c[h+4>>2]|0;if(!b){i=h;return 1}d=c[g>>2]|0;if((d|0)!=(b|0))c[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b);i=h;return 1}function al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function bl(a){a=a|0;var b=0;a=fs(a,1)|0;b=c[155681]|0;si[c[(c[b>>2]|0)+72>>2]&511](b,a);return 0}function cl(a){a=a|0;var b=0;b=c[155681]|0;gs(a,vi[c[(c[b>>2]|0)+80>>2]&2047](b)|0);return 1}function dl(a){a=a|0;var b=0;a=fs(a,1)|0;b=c[155681]|0;si[c[(c[b>>2]|0)+84>>2]&511](b,a);return 0}function el(a){a=a|0;var b=0;b=c[155681]|0;gs(a,vi[c[(c[b>>2]|0)+88>>2]&2047](b)|0);return 1}function fl(a){a=a|0;var b=0,d=0;b=fs(a,1)|0;d=c[155681]|0;gs(a,Xi[c[(c[d>>2]|0)+92>>2]&511](d,b)|0);return 1}function gl(a){a=a|0;var b=0;b=c[155681]|0;gs(a,vi[c[(c[b>>2]|0)+96>>2]&2047](b)|0);return 1}function hl(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155681]|0;if(!b){b=YAb(24)|0;ZF(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=356601;c[d+8>>2]=3;c[d+12>>2]=9812;c[d+16>>2]=9964;a=qs(a,d)|0;i=d;return a|0}function il(a){a=a|0;var b=0,d=0.0,e=0.0;e=+$Ga(a,1,0.0);d=+$Ga(a,2,0.0);b=hs(a,3,1)|0;b=CG(c[155682]|0,e,d,b)|0;Gs(a,32,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function jl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0;g=i;i=i+16|0;d=fn(a,1)|0;e=+$Ga(a,2,0.0);f=+$Ga(a,3,0.0);c[g+4>>2]=1;do if((qDa(a,4)|0)<1)b=1;else{b=BDa(a,4,0)|0;if(!b)b=1;else{if(Hn(b,g+4|0)|0){b=c[g+4>>2]|0;break}c[g>>2]=b;a=PGa(a,258589,g)|0;i=g;return a|0}}while(0);d=DG(c[155682]|0,d,e,f,b)|0;Gs(a,34,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);a=1;i=g;return a|0}function kl(a){a=a|0;var b=0,d=0.0,e=0;e=OJ(a,1)|0;b=Km(a,2)|0;d=+$Ga(a,3,1.0);b=ZG(c[155682]|0,e,b,d)|0;Gs(a,35,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function ll(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=i;i=i+16|0;switch(kDa(a)|0){case 1:{e=+_Ga(a,1);d=EG(c[155682]|0,e)|0;Gs(a,37,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);a=1;i=b;return a|0}case 3:{g=+_Ga(a,1);f=+_Ga(a,2);e=+_Ga(a,3);d=FG(c[155682]|0,g,f,e)|0;Gs(a,37,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);d=1;i=b;return d|0}default:{d=PGa(a,258611,b)|0;i=b;return d|0}}return 0}function ml(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0;d=i;i=i+16|0;b=kDa(a)|0;if((b|0)==2){f=+_Ga(a,1);e=+_Ga(a,2);b=IG(c[155682]|0,f,e)|0;Gs(a,38,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;i=d;return a|0}if((b|1|0)==5){j=+_Ga(a,1);h=+_Ga(a,2);g=+_Ga(a,3);e=+_Ga(a,4);f=+$Ga(a,5,0.0);b=JG(c[155682]|0,j,h,g,e,f)|0;Gs(a,38,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;i=d;return a|0}else{a=PGa(a,258611,d)|0;i=d;return a|0}return 0}function nl(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0.0;g=+_Ga(a,1);f=+_Ga(a,2);e=+_Ga(a,3);d=+_Ga(a,4);b=KG(c[155682]|0,g,f,e,d)|0;Gs(a,39,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function ol(a){a=a|0;return LG(c[155682]|0,a)|0}function pl(a){a=a|0;return MG(c[155682]|0,a)|0}function ql(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0.0,h=0,i=0;i=OJ(a,1)|0;h=OJ(a,2)|0;g=+_Ga(a,3);f=+_Ga(a,4);e=+_Ga(a,5);d=+_Ga(a,6);b=hs(a,7,0)|0;b=NG(c[155682]|0,i,h,g,f,e,d,b)|0;Gs(a,43,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function rl(a){a=a|0;var b=0,d=0.0,e=0.0;b=OJ(a,1)|0;e=+_Ga(a,2);d=+_Ga(a,3);b=OG(c[155682]|0,b,e,d)|0;Gs(a,42,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function sl(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,g=0;g=OJ(a,1)|0;f=OJ(a,2)|0;e=+_Ga(a,3);d=+_Ga(a,4);b=hs(a,5,0)|0;b=PG(c[155682]|0,g,f,e,d,b)|0;Gs(a,45,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function tl(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0;e=OJ(a,1)|0;f=OJ(a,2)|0;g=+_Ga(a,3);h=+_Ga(a,4);k=(kDa(a)|0)>7;b=+_Ga(a,5);d=+_Ga(a,6);if(k){i=+_Ga(a,7);j=+_Ga(a,8);k=hs(a,9,0)|0}else{i=b;j=d;k=hs(a,7,0)|0;b=g;d=h}k=QG(c[155682]|0,e,f,g,h,b,d,i,j,k)|0;Gs(a,44,k);Hi[c[(c[k>>2]|0)+12>>2]&1023](k);return 1}function ul(a){a=a|0;var b=0,d=0,e=0.0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;b=i;i=i+64|0;h=OJ(a,1)|0;f=OJ(a,2)|0;r=+_Ga(a,3);q=+_Ga(a,4);p=+_Ga(a,5);o=+_Ga(a,6);n=+_Ga(a,7);m=+_Ga(a,8);l=+_Ga(a,9);k=+_Ga(a,10);e=+$Ga(a,11,1.0);d=hs(a,12,1)|0;j=c[155682]|0;g[b+24>>2]=r;g[b+24+4>>2]=q;g[b+16>>2]=p;g[b+16+4>>2]=o;g[b+8>>2]=n;g[b+8+4>>2]=m;g[b>>2]=l;g[b+4>>2]=k;c[b+32>>2]=c[b+24>>2];c[b+32+4>>2]=c[b+24+4>>2];c[b+40>>2]=c[b+16>>2];c[b+40+4>>2]=c[b+16+4>>2];c[b+48>>2]=c[b+8>>2];c[b+48+4>>2]=c[b+8+4>>2];c[b+56>>2]=c[b>>2];c[b+56+4>>2]=c[b+4>>2];d=RG(j,h,f,b+32|0,b+40|0,b+48|0,b+56|0,e,d)|0;Gs(a,46,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);i=b;return 1}function vl(a){a=a|0;var b=0,d=0.0,e=0,f=0;f=HM(a,1)|0;e=HM(a,2)|0;d=+$Ga(a,3,1.0);b=hs(a,4,0)|0;b=SG(c[155682]|0,f,e,d,b)|0;Gs(a,47,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function wl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0,h=0.0,i=0.0;b=OJ(a,1)|0;d=OJ(a,2)|0;e=+_Ga(a,3);f=+_Ga(a,4);if((kDa(a)|0)>5){h=+_Ga(a,5);i=+_Ga(a,6);g=hs(a,7,0)|0}else{g=hs(a,5,0)|0;h=e;i=f}g=TG(c[155682]|0,b,d,e,f,h,i,g)|0;Gs(a,48,g);Hi[c[(c[g>>2]|0)+12>>2]&1023](g);return 1}function xl(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0,h=0.0,i=0.0;b=OJ(a,1)|0;d=OJ(a,2)|0;e=+_Ga(a,3);f=+_Ga(a,4);if((kDa(a)|0)>5){h=+_Ga(a,5);i=+_Ga(a,6);g=hs(a,7,0)|0}else{g=hs(a,5,0)|0;h=e;i=f}g=UG(c[155682]|0,b,d,e,f,h,i,g)|0;Gs(a,49,g);Hi[c[(c[g>>2]|0)+12>>2]&1023](g);return 1}function yl(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0;e=OJ(a,1)|0;f=OJ(a,2)|0;g=+_Ga(a,3);h=+_Ga(a,4);k=(kDa(a)|0)>7;b=+_Ga(a,5);d=+_Ga(a,6);if(k){i=+_Ga(a,7);j=+_Ga(a,8);k=hs(a,9,0)|0}else{i=b;j=d;k=hs(a,7,0)|0;b=g;d=h}k=VG(c[155682]|0,e,f,g,h,b,d,i,j,k)|0;Gs(a,51,k);Hi[c[(c[k>>2]|0)+12>>2]&1023](k);return 1}function zl(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0,j=0;j=OJ(a,1)|0;i=OJ(a,2)|0;h=+_Ga(a,3);g=+_Ga(a,4);f=+_Ga(a,5);e=+_Ga(a,6);d=+_Ga(a,7);b=hs(a,8,0)|0;b=WG(c[155682]|0,j,i,h,g,f,e,d,b)|0;Gs(a,50,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function Al(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=OJ(a,1)|0;d=OJ(a,2)|0;if((qDa(a,3)|0)<1)b=XG(c[155682]|0,b,d)|0;else{f=+_Ga(a,3);e=hs(a,4,0)|0;b=YG(c[155682]|0,b,d,f,e)|0}Gs(a,52,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function Bl(a){a=a|0;return _G(c[155682]|0,a)|0}function Cl(a){a=a|0;bH(~~+_Ga(a,1));return 0}function Dl(a){a=a|0;JDa(a,cH()|0);return 1}function El(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155682]|0;if(!b){b=YAb(8)|0;c[b>>2]=0;c[b+4>>2]=0;Jj(b);c[b>>2]=16356}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=258642;c[d+8>>2]=3;c[d+12>>2]=9972;c[d+16>>2]=10156;a=qs(a,d)|0;i=d;return a|0}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Gl(a){a=a|0;var b=0;b=Fl(a,1,38)|0;mDa(a,1);return iH(b,a)|0}function Hl(a){a=a|0;gs(a,jH(Fl(a,1,38)|0)|0);return 1}function Il(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=10612;c[b+4>>2]=10244;c[b+8>>2]=0;a=xs(a,38,258949,b)|0;i=b;return a|0}function Jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Kl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+nH(b));i=c;return 1}function Ll(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+oH(b));i=c;return 1}function Ml(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;pH(b,fs(a,2)|0);i=c;return 0}function Nl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;gs(a,qH(b)|0);i=c;return 1}function Ol(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;rH(b,+_Ga(a,2));i=c;return 0}function Pl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;sH(b,+_Ga(a,2));i=c;return 0}function Ql(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+tH(b));i=c;return 1}function Rl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+uH(b,+_Ga(a,2)));i=c;return 1}function Sl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+vH(b));i=c;return 1}function Tl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;wH(b,fs(a,2)|0);i=c;return 0}function Ul(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;gs(a,xH(b)|0);i=c;return 1}function Vl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;yH(b,+_Ga(a,2));i=c;return 0}function Wl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;zH(b,+_Ga(a,2));i=c;return 0}function Xl(a){a=a|0;var b=0,c=0,d=0.0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;d=+_Ga(a,2);AH(b,d,+_Ga(a,3));i=c;return 0}function Yl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+BH(b));i=c;return 1}function Zl(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+CH(b));i=c;return 1}function _l(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Jl(a,1,44)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;mDa(a,1);a=DH(b,a)|0;i=c;return a|0}function $l(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10268;c[b+8>>2]=0;a=xs(a,44,258971,b)|0;i=b;return a|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function bm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=am(a,1,46)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;mDa(a,1);a=HH(b,a)|0;i=c;return a|0}function cm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=am(a,1,46)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+IH(b));i=c;return 1}function dm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=am(a,1,46)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+JH(b));i=c;return 1}function em(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=am(a,1,46)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+KH(b));i=c;return 1}function fm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10412;c[b+8>>2]=0;a=xs(a,46,259034,b)|0;i=b;return a|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function hm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+OH(b));i=c;return 1}function im(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+PH(b));i=c;return 1}function jm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;QH(b,fs(a,2)|0);i=c;return 0}function km(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;gs(a,RH(b)|0);i=c;return 1}function lm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;SH(b,+_Ga(a,2));i=c;return 0}function mm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;TH(b,+_Ga(a,2));i=c;return 0}function nm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+UH(b));i=c;return 1}function om(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+VH(b,+_Ga(a,2)));i=c;return 1}function pm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+WH(b));i=c;return 1}function qm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;XH(b,fs(a,2)|0);i=c;return 0}function rm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;gs(a,YH(b)|0);i=c;return 1}function sm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;ZH(b,+_Ga(a,2));i=c;return 0}function tm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;_H(b,+_Ga(a,2));i=c;return 0}function um(a){a=a|0;var b=0,c=0,d=0.0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;d=+_Ga(a,2);$H(b,d,+_Ga(a,3));i=c;return 0}function vm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+aI(b));i=c;return 1}function wm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+bI(b));i=c;return 1}function xm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gm(a,1,45)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;mDa(a,1);a=cI(b,a)|0;i=c;return a|0}function ym(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10452;c[b+8>>2]=0;a=xs(a,45,259085,b)|0;i=b;return a|0}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Am(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=zm(a,1,50)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+gI(b));i=c;return 1}function Bm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10596;c[b+8>>2]=0;a=xs(a,50,259223,b)|0;i=b;return a|0}function Cm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=Dm(a,1,36)|0;c[b>>2]=1279070;Mn(kI(d)|0,b)|0;LDa(a,c[b>>2]|0);i=b;return 1}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Em(a){a=a|0;IDa(a,+lI(Dm(a,1,36)|0));return 1}function Fm(a){a=a|0;JDa(a,mI(Dm(a,1,36)|0)|0);return 1}function Gm(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0;f=Dm(a,1,36)|0;e=+_Ga(a,2);d=+_Ga(a,3);c=+_Ga(a,4);b=+_Ga(a,5);PDa(a,(nI(f,e,d,c,b,+_Ga(a,6))|0)&1);return 1}function Hm(a){a=a|0;var b=0;b=Dm(a,1,36)|0;mDa(a,1);return oI(b,a)|0}function Im(a){a=a|0;var b=0;b=Dm(a,1,36)|0;mDa(a,1);return pI(b,a)|0}function Jm(a){a=a|0;var b=0;b=Dm(a,1,36)|0;mDa(a,1);return qI(b,a)|0}function Km(a,b){a=a|0;b=b|0;return Dm(a,b,36)|0}function Lm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=10612;c[b+4>>2]=0;a=xs(a,36,259284,b)|0;i=b;return a|0}function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Nm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Mm(a,1,49)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;uI(b,+_Ga(a,2));i=c;return 0}function Om(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Mm(a,1,49)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+vI(b));i=c;return 1}function Pm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Mm(a,1,49)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;wI(b,+_Ga(a,2));i=c;return 0}function Qm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Mm(a,1,49)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+xI(b));i=c;return 1}function Rm(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10676;c[b+8>>2]=0;a=xs(a,49,259290,b)|0;i=b;return a|0}function Sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Tm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+BI(b));i=c;return 1}function Um(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+CI(b));i=c;return 1}function Vm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;DI(b,fs(a,2)|0);i=c;return 0}function Wm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;gs(a,EI(b)|0);i=c;return 1}function Xm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;FI(b,+_Ga(a,2));i=c;return 0}function Ym(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+GI(b));i=c;return 1}function Zm(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;HI(b,+_Ga(a,2));i=c;return 0}function _m(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+II(b));i=c;return 1}function $m(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+JI(b,+_Ga(a,2)));i=c;return 1}function an(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;KI(b,+_Ga(a,2));i=c;return 0}function bn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+LI(b));i=c;return 1}function cn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;MI(b,+_Ga(a,2));i=c;return 0}function dn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=Sm(a,1,51)|0;if(!(pG(b)|0))PGa(a,356428,c)|0;IDa(a,+NI(b));i=c;return 1}function en(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=17812;c[b+4>>2]=10716;c[b+8>>2]=0;a=xs(a,51,259300,b)|0;i=b;return a|0}function fn(a,b){a=a|0;b=b|0;var c=0;c=i;i=i+16|0;b=gn(a,b,32)|0;if(tJ(b)|0){i=c;return b|0}PGa(a,259537,c)|0;i=c;return b|0}function gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function hn(a){a=a|0;var b=0,c=0,d=0.0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;d=+_Ga(a,2);wJ(b,a);sJ(b,d);i=c;return 0}function jn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=uJ(b,a)|0;i=c;return a|0}function kn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=vJ(b,a)|0;i=c;return a|0}function ln(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=xJ(b,a)|0;i=c;return a|0}function mn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=yJ(b,a)|0;i=c;return a|0}function nn(a){a=a|0;var b=0,c=0,d=0.0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;d=+_Ga(a,2);zJ(b,d,+_Ga(a,3));i=c;return 0}function on(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=AJ(b,a)|0;i=c;return a|0}function pn(a){a=a|0;var b=0,c=0,d=0.0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;d=+_Ga(a,2);BJ(b,d,+_Ga(a,3));i=c;return 0}function qn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;CJ(b,fs(a,2)|0);i=c;return 0}function rn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;gs(a,DJ(b)|0);i=c;return 1}function sn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;gs(a,EJ(b)|0);i=c;return 1}function tn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;JDa(a,FJ(b)|0);i=c;return 1}function un(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;JDa(a,GJ(b)|0);i=c;return 1}function vn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;JDa(a,HJ(b)|0);i=c;return 1}function wn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=IJ(b,a)|0;i=c;return a|0}function xn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=JJ(b,a)|0;i=c;return a|0}function yn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=KJ(b,a)|0;i=c;return a|0}function zn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=MJ(b,a)|0;i=c;return a|0}function An(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;mDa(a,1);a=NJ(b,a)|0;i=c;return a|0}function Bn(a){a=a|0;var b=0,c=0;c=i;i=i+16|0;b=gn(a,1,32)|0;if(!(tJ(b)|0))PGa(a,259537,c)|0;VI(b);i=c;return 0}function Cn(a){a=a|0;gs(a,(tJ(gn(a,1,32)|0)|0)^1);return 1}function Dn(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=10828;c[b+4>>2]=0;a=xs(a,32,259569,b)|0;i=b;return a|0}function En(a){a=a|0;return}function Fn(){a[622772]=0;a[622784]=0;a[622796]=0;a[622808]=0;a[622820]=0;a[622832]=0;a[622844]=0;a[622856]=0;c[155715]=0;c[155716]=0;c[155717]=0;c[155718]=0;Gn(622764,434485,1)|0;Gn(622764,434477,2)|0;Gn(622764,259754,3)|0;return}function Gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=g&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+1&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+2&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+3&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+4&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+5&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+6&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+7&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>3){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+96+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function Hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=j+f&7;if(!(a[622764+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[622764+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=8){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[622764+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function In(a,b){a=a|0;b=b|0;if(a>>>0>3)a=0;else{a=c[622860+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function Jn(a){a=a|0;return}function Kn(){a[622884]=0;a[622896]=0;a[622908]=0;a[622920]=0;a[622932]=0;a[622944]=0;a[622956]=0;a[622968]=0;a[622980]=0;a[622992]=0;c[155749]=0;c[155750]=0;c[155751]=0;c[155752]=0;c[155753]=0;Ln(622876,329171,1)|0;Ln(622876,329190,2)|0;Ln(622876,259785,3)|0;Ln(622876,259790,4)|0;return}function Ln(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+6|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+7|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+8|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+9|0)>>>0)%10|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>4){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+120+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function Mn(a,b){a=a|0;b=b|0;if(a>>>0>4)a=0;else{a=c[622996+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function Nn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=Ku(b,1)|0;e=~~+$Ga(b,2,16384.0);g=c[155683]|0;e=Gi[c[(c[g>>2]|0)+24>>2]&255](g,d,e)|0;Hi[c[(c[d>>2]|0)+12>>2]&1023](d);if(!e){g=uu(d)|0;c[f>>2]=(a[g>>0]&1)==0?g+1|0:c[g+8>>2]|0;g=PGa(b,259818,f)|0;i=f;return g|0}else{Gs(b,30,e);Hi[c[(c[e>>2]|0)+12>>2]&1023](e);g=1;i=f;return g|0}return 0}function On(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(tDa(a,1)|0)){if(!(Hs(a,1,30)|0)){Nn(a)|0;oDa(a,1)}b=c[155683]|0;b=VN(b,kO(a,1)|0)|0}else{f=~~+_Ga(a,1);e=~~+$Ga(a,2,44100.0);d=~~+$Ga(a,3,16.0);b=~~+$Ga(a,4,2.0);b=WN(c[155683]|0,f,e,d,b)|0}Gs(a,29,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function Pn(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155683]|0;if(!b){b=YAb(8)|0;mN(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=325253;c[d+8>>2]=59;c[d+12>>2]=11004;c[d+16>>2]=11028;a=qs(a,d)|0;i=d;return a|0}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Rn(a){a=a|0;var b=0;b=Qn(a,1,29)|0;JDa(a,vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0);return 1}function Sn(a){a=a|0;var b=0;b=Qn(a,1,29)|0;JDa(a,vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0);return 1}function Tn(a){a=a|0;var b=0;b=Qn(a,1,29)|0;JDa(a,vi[c[(c[b>>2]|0)+32>>2]&2047](b)|0);return 1}function Un(a){a=a|0;var b=0;b=Qn(a,1,29)|0;JDa(a,vi[c[(c[b>>2]|0)+36>>2]&2047](b)|0);return 1}function Vn(a){a=a|0;var b=0;b=Qn(a,1,29)|0;IDa(a,+Mi[c[(c[b>>2]|0)+40>>2]&63](b));return 1}function Wn(a){a=a|0;var b=0,c=0;c=Qn(a,1,29)|0;b=aHa(a,2)|0;iO(c,b,+_Ga(a,3));return 0}function Xn(a){a=a|0;var b=0;b=Qn(a,1,29)|0;IDa(a,+jO(b,aHa(a,2)|0));return 1}function Yn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=12068;c[d+4>>2]=11040;c[d+8>>2]=0;b=xs(a,29,259848,d)|0;Cs(a,29);if((qDa(a,-1)|0)!=5){lDa(a,-2);i=d;return b|0}sHa(a,259893,4222,264115)|0;pDa(a,-2);dEa(a,1,0);lDa(a,-2);i=d;return b|0}function Zn(a){a=a|0;var b=0;b=i;i=i+16|0;GO(b,c[155684]|0);ks(a,b);Mqb(b);i=b;return 1}function _n(a){a=a|0;var b=0;b=c[155684]|0;JDa(a,vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0);return 1}function $n(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=UGa(a,1,0)|0;a=c[155684]|0;d=c[(c[a>>2]|0)+28>>2]|0;Iqb(b,e,rnb(e)|0);si[d&511](a,b);Mqb(b);i=b;return 0}function ao(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155684]|0;si[c[(c[d>>2]|0)+32>>2]&511](b,d);ks(a,b);Mqb(b);i=b;return 1}function bo(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d+8>>2]=-1;c[d+4>>2]=-1;b=c[155684]|0;if(HO(Gi[c[(c[b>>2]|0)+36>>2]&255](b,d+8|0,d+4|0)|0,d)|0)b=c[d>>2]|0;else{c[d>>2]=439634;b=439634}LDa(a,b);b=c[d+4>>2]|0;if((b|0)>-1)JDa(a,b);else HDa(a);b=c[d+8>>2]|0;if((b|0)>-1){JDa(a,b);i=d;return 3}else{HDa(a);i=d;return 3}return 0}function co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;js(b,a,1);d=c[155684]|0;gs(a,Xi[c[(c[d>>2]|0)+40>>2]&511](d,b)|0);Mqb(b);i=b;return 1}function eo(a){a=a|0;var b=0.0;b=+$Ga(a,1,.5);a=c[155684]|0;pi[c[(c[a>>2]|0)+44>>2]&31](a,b);return 0}function fo(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155684]|0;if(!b){b=YAb(8)|0;zO(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=353800;c[d+8>>2]=3;c[d+12>>2]=11104;c[d+16>>2]=0;a=qs(a,d)|0;i=d;return a|0}function go(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;Iqb(g+36|0,264216,11);if(!(uDa(b,1)|0)){if(Hs(b,1,5)|0)Js(b,1,352526,326700)|0}else{c[g+32>>2]=0;d=BDa(b,1,g+32|0)|0;e=c[g+32>>2]|0;if(e>>>0>1023)f=4;else if(!(omb(d,10,e)|0))Js(b,1,352526,326700)|0;else f=4;if((f|0)==4){pDa(b,1);LDa(b,519683);c[g+24>>2]=(kDa(b)|0)+-1;c[g+24+4>>2]=kDa(b)|0;Ks(b,g+24|0,2,352526,326700)|0;lDa(b,-2);oDa(b,1)}}if(!(Hs(b,1,7)|0)){f=wk(b,1,2)|0;e=c[155685]|0;d=c[e>>2]|0;d=d+24|0;d=c[d>>2]|0;f=Gi[d&255](e,g+36|0,f)|0;Gs(b,53,f);b=c[f>>2]|0;b=b+12|0;b=c[b>>2]|0;Hi[b&1023](f);Mqb(g+36|0);i=g;return 1}d=ho(b,1,7)|0;Iqb(g,439705,1);f=tu(d)|0;e=a[f>>0]|0;f=Vqb(g,(e&1)==0?f+1|0:c[f+8>>2]|0,(e&1)==0?(e&255)>>>1:c[f+4>>2]|0)|0;c[g+12>>2]=c[f>>2];c[g+12+4>>2]=c[f+4>>2];c[g+12+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;if(!(a[g+36>>0]&1)){a[g+36+1>>0]=0;a[g+36>>0]=0}else{a[c[g+36+8>>2]>>0]=0;c[g+36+4>>2]=0}Qqb(g+36|0,0);c[g+36>>2]=c[g+12>>2];c[g+36+4>>2]=c[g+12+4>>2];c[g+36+8>>2]=c[g+12+8>>2];c[g+12>>2]=0;c[g+12+4>>2]=0;c[g+12+8>>2]=0;Mqb(g+12|0);Mqb(g);f=d;e=c[155685]|0;d=c[e>>2]|0;d=d+24|0;d=c[d>>2]|0;f=Gi[d&255](e,g+36|0,f)|0;Gs(b,53,f);b=c[f>>2]|0;b=b+12|0;b=c[b>>2]|0;Hi[b&1023](f);Mqb(g+36|0);i=g;return 1}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function io(a){a=a|0;var b=0;b=c[155685]|0;b=vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0;Gs(a,54,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function jo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;js(b,a,1);d=c[155685]|0;d=Xi[c[(c[d>>2]|0)+32>>2]&511](d,b)|0;Gs(a,54,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);Mqb(b);i=b;return 1}function ko(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155685]|0;if(!b){b=YAb(8)|0;c[b>>2]=0;c[b+4>>2]=0;Jj(b);c[b>>2]=18552}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=516185;c[d+8>>2]=3;c[d+12>>2]=11168;c[d+16>>2]=11200;a=qs(a,d)|0;i=d;return a|0}function lo(a){a=a|0;a=c[155686]|0;Hi[c[(c[a>>2]|0)+24>>2]&1023](a);return 0}function mo(a){a=a|0;var b=0;b=c[155686]|0;IDa(a,+Mi[c[(c[b>>2]|0)+32>>2]&63](b));return 1}function no(a){a=a|0;var b=0;b=c[155686]|0;JDa(a,vi[c[(c[b>>2]|0)+36>>2]&2047](b)|0);return 1}function oo(a){a=a|0;var b=0;b=c[155686]|0;IDa(a,+Mi[c[(c[b>>2]|0)+40>>2]&63](b));return 1}function po(a){a=a|0;var b=0.0,d=0,e=0;d=c[155686]|0;e=c[(c[d>>2]|0)+28>>2]|0;b=+_Ga(a,1);pi[e&31](d,b);return 0}function qo(a){a=a|0;var b=0;b=c[155686]|0;IDa(a,+Mi[c[(c[b>>2]|0)+44>>2]&63](b));return 1}function ro(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155686]|0;if(!b){b=YAb(72)|0;xP(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=264260;c[d+8>>2]=3;c[d+12>>2]=11212;c[d+16>>2]=0;a=qs(a,d)|0;i=d;return a|0}function so(a){a=a|0;var b=0,d=0,e=0;e=c[155687]|0;e=vi[c[(c[e>>2]|0)+24>>2]&2047](e)|0;WDa(a,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/48|0,0);b=c[e>>2]|0;if((c[e+4>>2]|0)==(b|0))return 1;else d=0;do{QDa(a,c[b+(d*48|0)>>2]|0);d=d+1|0;aEa(a,-2,d);b=c[e>>2]|0}while(d>>>0<(((c[e+4>>2]|0)-b|0)/48|0)>>>0);return 1}function to(a){a=a|0;var b=0,d=0.0,e=0;if((qDa(a,1)|0)==2)b=EDa(a,1)|0;else b=Ns(a,1,264306)|0;e=c[155687]|0;b=Gi[c[(c[e>>2]|0)+28>>2]&255](e,b,((b|0)<0)<<31>>31)|0;d=+h[b+16>>3];IDa(a,+h[b+8>>3]);IDa(a,d);return 2}function uo(a){a=a|0;var b=0,d=0;if((qDa(a,1)|0)==2)b=EDa(a,1)|0;else b=Ns(a,1,264306)|0;d=c[155687]|0;IDa(a,+h[(Gi[c[(c[d>>2]|0)+28>>2]&255](d,b,((b|0)<0)<<31>>31)|0)+40>>3]);return 1}function vo(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155687]|0;if(!b){b=YAb(20)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;Jj(b);c[b>>2]=18840;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=264315;c[d+8>>2]=3;c[d+12>>2]=11268;c[d+16>>2]=0;a=qs(a,d)|0;i=d;return a|0}function wo(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=Ju(a,1)|0;if(!(vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0))if(!(Xi[c[(c[b>>2]|0)+16>>2]&511](b,1)|0))PGa(a,264344,d)|0;e=c[155689]|0;b=Xi[c[(c[e>>2]|0)+24>>2]&511](e,b)|0;Gs(a,55,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);i=d;return 1}function xo(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155689]|0;if(!b){b=YAb(12)|0;YP(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=327848;c[d+8>>2]=3;c[d+12>>2]=11300;c[d+16>>2]=11316;a=qs(a,d)|0;i=d;return a|0}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function zo(a){a=a|0;var b=0,d=0;b=yo(a,1,55)|0;if(Hs(a,2,28)|0){d=c[(EDa(a,2)|0)+4>>2]|0;a=YAb(12)|0;UQ(a,d);si[c[(c[b>>2]|0)+64>>2]&511](b,a);Hi[c[(c[a>>2]|0)+12>>2]&1023](a);a=0;return a|0}if(Hs(a,2,55)|0){d=c[(EDa(a,2)|0)+4>>2]|0;a=c[(c[b>>2]|0)+64>>2]|0;d=vi[c[(c[d>>2]|0)+68>>2]&2047](d)|0;si[a&511](b,d);d=0;return d|0}if((qDa(a,2)|0)<1){d=YAb(40)|0;TQ(d);SQ(d,vi[c[(c[b>>2]|0)+68>>2]&2047](b)|0);si[c[(c[b>>2]|0)+64>>2]&511](b,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);d=0;return d|0}else{d=Ns(a,2,264382)|0;return d|0}return 0}function Ao(a){a=a|0;var b=0;b=yo(a,1,55)|0;ks(a,vi[c[(c[b>>2]|0)+40>>2]&2047](b)|0);return 1}function Bo(a){a=a|0;a=yo(a,1,55)|0;Hi[c[(c[a>>2]|0)+44>>2]&1023](a);return 0}function Co(a){a=a|0;a=yo(a,1,55)|0;Hi[c[(c[a>>2]|0)+48>>2]&1023](a);return 0}function Do(a){a=a|0;var b=0.0,d=0;d=yo(a,1,55)|0;b=+_Ga(a,2);pi[c[(c[d>>2]|0)+52>>2]&31](d,b);return 0}function Eo(a){a=a|0;a=yo(a,1,55)|0;pi[c[(c[a>>2]|0)+52>>2]&31](a,0.0);return 0}function Fo(a){a=a|0;var b=0;b=yo(a,1,55)|0;IDa(a,+Mi[c[(c[b>>2]|0)+56>>2]&63](b));return 1}function Go(a){a=a|0;var b=0;b=yo(a,1,55)|0;gs(a,vi[c[(c[b>>2]|0)+60>>2]&2047](b)|0);return 1}function Ho(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=11324;c[b+4>>2]=0;a=xs(a,55,264411,b)|0;i=b;return a|0}function Io(a){a=a|0;var b=0;b=c[155688]|0;JDa(a,vi[c[(c[b>>2]|0)+48>>2]&2047](b)|0);return 1}function Jo(a){a=a|0;var b=0,d=0;b=~~+_Ga(a,1)+-1|0;d=c[155688]|0;LDa(a,Xi[c[(c[d>>2]|0)+52>>2]&511](d,b)|0);return 1}function Ko(b){b=b|0;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+80|0;e=~~+_Ga(b,1);f=~~+_Ga(b,2);if((qDa(b,3)|0)<1){g=c[155688]|0;gs(b,cj[c[(c[g>>2]|0)+24>>2]&127](g,e,f,0)|0);g=1;i=j;return g|0}YGa(b,3,5);HDa(b);a:do if(lEa(b,3)|0){while(1){if((qDa(b,-2)|0)!=4){g=6;break}d=UGa(b,-2,0)|0;if(!($R(d,j+76|0)|0)){g=9;break}lDa(b,-2);if(!(lEa(b,3)|0))break a}if((g|0)==6){g=Ns(b,-2,519683)|0;i=j;return g|0}else if((g|0)==9){c[j+64>>2]=d;g=PGa(b,264431,j+64|0)|0;i=j;return g|0}}while(0);a[j>>0]=0;c[j+4>>2]=1;a[j+8>>0]=1;c[j+12>>2]=0;a[j+16>>0]=0;c[j+20>>2]=1;c[j+24>>2]=1;a[j+28>>0]=0;a[j+29>>0]=1;c[j+32>>2]=0;a[j+36>>0]=0;h[j+40>>3]=0.0;a[j+48>>0]=0;c[j+52>>2]=0;c[j+56>>2]=0;c[j+76>>2]=0;aS(1,j+76|0)|0;TDa(b,3,c[j+76>>2]|0);if((qDa(b,-1)|0)<1){c[j+4>>2]=1;g=14}else{d=UGa(b,-1,0)|0;if(YR(d,j+4|0)|0)g=14;else{c[j+72>>2]=d;d=PGa(b,264458,j+72|0)|0}}if((g|0)==14){lDa(b,-2);c[j+76>>2]=0;aS(0,j+76|0)|0;a[j>>0]=(ls(b,3,c[j+76>>2]|0,0)|0)&1;c[j+76>>2]=0;aS(2,j+76|0)|0;a[j+8>>0]=(ls(b,3,c[j+76>>2]|0,1)|0)&1;c[j+76>>2]=0;aS(3,j+76|0)|0;c[j+12>>2]=ms(b,3,c[j+76>>2]|0,0)|0;c[j+76>>2]=0;aS(4,j+76|0)|0;a[j+16>>0]=(ls(b,3,c[j+76>>2]|0,0)|0)&1;c[j+76>>2]=0;aS(5,j+76|0)|0;c[j+20>>2]=ms(b,3,c[j+76>>2]|0,1)|0;c[j+76>>2]=0;aS(6,j+76|0)|0;c[j+24>>2]=ms(b,3,c[j+76>>2]|0,1)|0;c[j+76>>2]=0;aS(7,j+76|0)|0;a[j+28>>0]=(ls(b,3,c[j+76>>2]|0,0)|0)&1;c[j+76>>2]=0;aS(8,j+76|0)|0;a[j+29>>0]=(ls(b,3,c[j+76>>2]|0,1)|0)&1;c[j+76>>2]=0;aS(9,j+76|0)|0;c[j+32>>2]=(ms(b,3,c[j+76>>2]|0,1)|0)+-1;c[j+76>>2]=0;aS(10,j+76|0)|0;a[j+36>>0]=(ls(b,3,c[j+76>>2]|0,0)|0)&1;c[j+76>>2]=0;aS(12,j+76|0)|0;TDa(b,3,c[j+76>>2]|0);c[j+76>>2]=0;aS(13,j+76|0)|0;TDa(b,3,c[j+76>>2]|0);if((qDa(b,-2)|0)<1){d=(qDa(b,-1)|0)>0;a[j+48>>0]=d&1;if(d)g=17}else{a[j+48>>0]=1;g=17}if((g|0)==17){c[j+52>>2]=~~+$Ga(b,-2,0.0);c[j+56>>2]=~~+$Ga(b,-1,0.0)}lDa(b,-3);d=c[155688]|0;gs(b,cj[c[(c[d>>2]|0)+24>>2]&127](d,e,f,j)|0);d=1}g=d;i=j;return g|0}function Lo(b){b=b|0;var d=0,e=0;d=i;i=i+80|0;a[d>>0]=0;c[d+4>>2]=1;a[d+8>>0]=1;c[d+12>>2]=0;a[d+16>>0]=0;c[d+20>>2]=1;c[d+24>>2]=1;a[d+28>>0]=0;a[d+29>>0]=1;c[d+32>>2]=0;a[d+36>>0]=0;h[d+40>>3]=0.0;a[d+48>>0]=0;c[d+52>>2]=0;c[d+56>>2]=0;e=c[155688]|0;kj[c[(c[e>>2]|0)+28>>2]&127](e,d+72|0,d+68|0,d);IDa(b,+(c[d+72>>2]|0));IDa(b,+(c[d+68>>2]|0));WDa(b,0,0);c[d+64>>2]=358581;_R(c[d+4>>2]|0,d+64|0)|0;LDa(b,c[d+64>>2]|0);c[d+76>>2]=0;aS(1,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d>>0]|0)!=0);c[d+76>>2]=0;aS(0,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d+8>>0]|0)!=0);c[d+76>>2]=0;aS(2,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,c[d+12>>2]|0);c[d+76>>2]=0;aS(3,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d+16>>0]|0)!=0);c[d+76>>2]=0;aS(4,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,c[d+20>>2]|0);c[d+76>>2]=0;aS(5,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,c[d+24>>2]|0);c[d+76>>2]=0;aS(6,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d+28>>0]|0)!=0);c[d+76>>2]=0;aS(7,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d+29>>0]|0)!=0);c[d+76>>2]=0;aS(8,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,(c[d+32>>2]|0)+1|0);c[d+76>>2]=0;aS(9,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);gs(b,(a[d+36>>0]|0)!=0);c[d+76>>2]=0;aS(10,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);IDa(b,+h[d+40>>3]);c[d+76>>2]=0;aS(11,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,c[d+52>>2]|0);c[d+76>>2]=0;aS(12,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);JDa(b,c[d+56>>2]|0);c[d+76>>2]=0;aS(13,d+76|0)|0;_Da(b,-2,c[d+76>>2]|0);i=d;return 3}function Mo(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;c[f+16>>2]=0;if((qDa(a,1)|0)<1){b=c[155688]|0;kj[c[(c[b>>2]|0)+68>>2]&127](b,f+4|0,f,f+16|0);b=c[f+16>>2]|0}else{b=~~+_Ga(a,1)+-1|0;c[f+16>>2]=b}e=c[155688]|0;$i[c[(c[e>>2]|0)+56>>2]&255](f+4|0,e,b);WDa(a,(c[f+4+4>>2]|0)-(c[f+4>>2]|0)>>3,0);e=0;while(1){b=c[f+4+4>>2]|0;d=c[f+4>>2]|0;if(e>>>0>=b-d>>3>>>0)break;d=e+1|0;JDa(a,d);WDa(a,0,2);JDa(a,c[(c[f+4>>2]|0)+(e<<3)>>2]|0);_Da(a,-2,607135);JDa(a,c[(c[f+4>>2]|0)+(e<<3)+4>>2]|0);_Da(a,-2,607141);ZDa(a,-3);e=d}if(!d){i=f;return 1}if((b|0)!=(d|0))c[f+4+4>>2]=b+(~((b+-8-d|0)>>>3)<<3);oAb(d);i=f;return 1}function No(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=fs(a,1)|0;c[g+4>>2]=2;do if((qDa(a,2)|0)<1)f=5;else{b=UGa(a,2,0)|0;if(!b)f=5;else if(YR(b,g+4|0)|0){d=c[g+4>>2]|0;b=c[155688]|0;if((d|0)==2){f=7;break}b=Gi[c[(c[b>>2]|0)+36>>2]&255](b,e,d)|0;break}else{c[g>>2]=b;f=PGa(a,264458,g)|0;i=g;return f|0}}while(0);if((f|0)==5){b=c[155688]|0;f=7}if((f|0)==7)b=Xi[c[(c[b>>2]|0)+40>>2]&511](b,e)|0;gs(a,b);f=1;i=g;return f|0}function Oo(b){b=b|0;var d=0,e=0;d=i;i=i+80|0;a[d>>0]=0;c[d+4>>2]=1;a[d+8>>0]=1;c[d+12>>2]=0;a[d+16>>0]=0;c[d+20>>2]=1;c[d+24>>2]=1;a[d+28>>0]=0;a[d+29>>0]=1;c[d+32>>2]=0;a[d+36>>0]=0;h[d+40>>3]=0.0;a[d+48>>0]=0;c[d+52>>2]=0;c[d+56>>2]=0;e=c[155688]|0;kj[c[(c[e>>2]|0)+28>>2]&127](e,d+76|0,d+72|0,d);if(_R(c[d+4>>2]|0,d+68|0)|0){e=a[d>>0]|0;e=e<<24>>24!=0;gs(b,e);e=c[d+68>>2]|0;LDa(b,e);i=d;return 2}PGa(b,264486,d+64|0)|0;e=a[d>>0]|0;e=e<<24>>24!=0;gs(b,e);e=c[d+68>>2]|0;LDa(b,e);i=d;return 2}function Po(a){a=a|0;var b=0;b=c[155688]|0;gs(a,vi[c[(c[b>>2]|0)+72>>2]&2047](b)|0);return 1}function Qo(a){a=a|0;a=c[155688]|0;Hi[c[(c[a>>2]|0)+32>>2]&1023](a);return 0}function Ro(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+32|0;c[d+16>>2]=0;c[d+12>>2]=0;c[d+8>>2]=0;if((qDa(a,1)|0)<1){b=c[155688]|0;kj[c[(c[b>>2]|0)+68>>2]&127](b,d+4|0,d,d+8|0);b=c[d+8>>2]|0}else{b=~~+_Ga(a,1)+-1|0;c[d+8>>2]=b}e=c[155688]|0;kj[c[(c[e>>2]|0)+60>>2]&127](e,b,d+16|0,d+12|0);JDa(a,c[d+16>>2]|0);JDa(a,c[d+12>>2]|0);i=d;return 2}function So(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=~~+_Ga(a,1);d=~~+_Ga(a,2);c[e+8>>2]=0;if((qDa(a,3)|0)<1){a=c[155688]|0;kj[c[(c[a>>2]|0)+68>>2]&127](a,e+4|0,e,e+8|0);a=c[e+8>>2]|0}else{a=~~+_Ga(a,3)+-1|0;c[e+8>>2]=a}f=c[155688]|0;kj[c[(c[f>>2]|0)+64>>2]&127](f,b,d,a);i=e;return 0}function To(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b+8>>2]=0;c[b+4>>2]=0;c[b>>2]=0;d=c[155688]|0;kj[c[(c[d>>2]|0)+68>>2]&127](d,b+8|0,b+4|0,b);JDa(a,c[b+8>>2]|0);JDa(a,c[b+4>>2]|0);JDa(a,(c[b>>2]|0)+1|0);i=b;return 3}function Uo(a){a=a|0;var b=0,d=0;b=Qk(a,1,22)|0;d=c[155688]|0;gs(a,Xi[c[(c[d>>2]|0)+84>>2]&511](d,b)|0);return 1}function Vo(a){a=a|0;var b=0;b=c[155688]|0;Gs(a,22,vi[c[(c[b>>2]|0)+88>>2]&2047](b)|0);return 1}function Wo(a){a=a|0;var b=0,d=0;b=c[155688]|0;d=c[(c[b>>2]|0)+92>>2]|0;a=fs(a,1)|0;si[d&511](b,a);return 0}function Xo(a){a=a|0;var b=0;b=c[155688]|0;gs(a,vi[c[(c[b>>2]|0)+96>>2]&2047](b)|0);return 1}function Yo(a){a=a|0;var b=0;b=i;i=i+16|0;js(b,a,1);a=c[155688]|0;si[c[(c[a>>2]|0)+76>>2]&511](a,b);Mqb(b);i=b;return 0}function Zo(a){a=a|0;var b=0;b=c[155688]|0;ks(a,vi[c[(c[b>>2]|0)+80>>2]&2047](b)|0);return 1}function _o(a){a=a|0;var b=0;b=c[155688]|0;gs(a,vi[c[(c[b>>2]|0)+112>>2]&2047](b)|0);return 1}function $o(a){a=a|0;var b=0;b=c[155688]|0;gs(a,vi[c[(c[b>>2]|0)+116>>2]&2047](b)|0);return 1}function ap(a){a=a|0;var b=0;b=c[155688]|0;gs(a,vi[c[(c[b>>2]|0)+120>>2]&2047](b)|0);return 1}function bp(a){a=a|0;var b=0;b=c[155688]|0;IDa(a,+Mi[c[(c[b>>2]|0)+152>>2]&63](b));return 1}function cp(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;d=i;i=i+16|0;b=+_Ga(a,1);if((qDa(a,2)|0)<1){e=c[155688]|0;IDa(a,+aj[c[(c[e>>2]|0)+156>>2]&15](e,b));a=1;i=d;return a|0}else{f=+_Ga(a,2);h[d+8>>3]=0.0;h[d>>3]=0.0;e=c[155688]|0;yi[c[(c[e>>2]|0)+160>>2]&3](e,b,f,d+8|0,d);IDa(a,+h[d+8>>3]);IDa(a,+h[d>>3]);e=2;i=d;return e|0}return 0}function dp(a){a=a|0;var b=0.0,d=0,e=0,f=0.0;d=i;i=i+16|0;b=+_Ga(a,1);if((qDa(a,2)|0)<1){e=c[155688]|0;IDa(a,+aj[c[(c[e>>2]|0)+164>>2]&15](e,b));a=1;i=d;return a|0}else{f=+_Ga(a,2);h[d+8>>3]=0.0;h[d>>3]=0.0;e=c[155688]|0;yi[c[(c[e>>2]|0)+168>>2]&3](e,b,f,d+8|0,d);IDa(a,+h[d+8>>3]);IDa(a,+h[d>>3]);e=2;i=d;return e|0}return 0}function ep(a){a=a|0;a=c[155688]|0;Hi[c[(c[a>>2]|0)+100>>2]&1023](a);return 0}function fp(a){a=a|0;a=c[155688]|0;Hi[c[(c[a>>2]|0)+104>>2]&1023](a);return 0}function gp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+96|0;g=h+32+32|0;d=h+32|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[h+32+48>>0]=0;c[h+32>>2]=2;Rqb(h+32+4|0,UGa(b,1,0)|0)|0;Rqb(h+32+16|0,UGa(b,2,0)|0)|0;do if((qDa(b,3)|0)==5){d=Es(b,3)|0;if(!d){f=PGa(b,264511,h)|0;break}f=0;do{f=f+1|0;VDa(b,3,f);js(h+20|0,b,-1);e=c[g>>2]|0;if(e>>>0<(c[h+32+36>>2]|0)>>>0){c[e>>2]=c[h+20>>2];c[e+4>>2]=c[h+20+4>>2];c[e+8>>2]=c[h+20+8>>2];c[h+20>>2]=0;c[h+20+4>>2]=0;c[h+20+8>>2]=0;c[g>>2]=(c[g>>2]|0)+12}else hp(h+32+28|0,h+20|0);Mqb(h+20|0);lDa(b,-2)}while(f>>>0>>0);TDa(b,3,264553);if((qDa(b,-1)|0)<1)d=0;else d=~~+_Ga(b,-1)+-1|0;c[h+32+40>>2]=d;lDa(b,-2);TDa(b,3,264565);if((qDa(b,-1)|0)<1)d=((c[g>>2]|0)-(c[h+32+28>>2]|0)|0)/12|0;else d=~~+_Ga(b,-1);c[h+32+44>>2]=d+-1;lDa(b,-2);if((qDa(b,4)|0)>=1){d=UGa(b,4,0)|0;if(d|0)if(!(bS(d,h+32|0)|0)){c[h+8>>2]=d;f=PGa(b,264578,h+8|0)|0;break}}a[h+32+48>>0]=(hs(b,5,1)|0)&1;f=c[155688]|0;JDa(b,(Xi[c[(c[f>>2]|0)+180>>2]&511](f,h+32|0)|0)+1|0);f=1}else{if((qDa(b,3)|0)>=1){d=UGa(b,3,0)|0;if(d|0)if(!(bS(d,h+32|0)|0)){c[h+16>>2]=d;f=PGa(b,264578,h+16|0)|0;break}}f=hs(b,4,1)|0;a[h+32+48>>0]=f&1;e=c[155688]|0;gs(b,Ci[c[(c[e>>2]|0)+176>>2]&127](e,h+32+4|0,h+32+16|0,c[h+32>>2]|0,f)|0);f=1}while(0);d=c[h+32+28>>2]|0;if(!d){Mqb(h+32+16|0);Mqb(h+32+4|0);i=h;return f|0}e=c[g>>2]|0;if((e|0)!=(d|0)){do{b=e+-12|0;c[g>>2]=b;Mqb(b);e=c[g>>2]|0}while((e|0)!=(d|0));d=c[h+32+28>>2]|0}oAb(d);Mqb(h+32+16|0);Mqb(h+32+4|0);i=h;return f|0}function hp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=c[a>>2]|0;e=(((c[a+4>>2]|0)-f|0)/12|0)+1|0;if(e>>>0>357913941)jzb(a);d=((c[a+8>>2]|0)-f|0)/12|0;if(d>>>0<178956970){d=d<<1>>>0>>0?e:d<<1;e=((c[a+4>>2]|0)-f|0)/12|0;if(!d){g=0;f=0;d=e}else h=6}else{d=357913941;e=((c[a+4>>2]|0)-f|0)/12|0;h=6}if((h|0)==6){g=d;f=YAb(d*12|0)|0;d=e}i=f+(d*12|0)|0;h=f+(g*12|0)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=c[a>>2]|0;d=c[a+4>>2]|0;if((d|0)==(g|0)){e=i;f=g;d=g}else{f=i;e=i;do{b=f+-12|0;d=d+-12|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f=e+-12|0;e=f}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=i+12;c[a+8>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-12|0;Mqb(d)}while((d|0)!=(e|0));if(!f)return;oAb(f);return}function ip(a){a=a|0;var b=0;a=hs(a,1,0)|0;b=c[155688]|0;si[c[(c[b>>2]|0)+184>>2]&511](b,a);return 0}function jp(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155688]|0;if(!b){b=YAb(128)|0;TR(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=435306;c[d+8>>2]=3;c[d+12>>2]=11396;c[d+16>>2]=0;a=qs(a,d)|0;i=d;return a|0}function kp(a){a=a|0;qr()|0;oe(3)|0;VGa(a,264909)|0;WDa(a,0,0);Os(a,0,11636);_Da(a,-2,520409);ODa(a,271,0);_Da(a,-2,520300);VGa(a,264986)|0;WDa(a,0,0);Os(a,0,11772);_Da(a,-2,520409);ODa(a,1475,0);_Da(a,-2,518860);WDa(a,0,0);WDa(a,0,0);LDa(a,439741);_Da(a,-2,517912);bEa(a,-2)|0;_Da(a,-1e4,264975);Os(a,265735,11900);return 1}function lp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+32|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,e)|0;i=e;return a|0}if((kDa(a)|0)>1)d=~~+_Ga(a,2);else d=0;b=$q(b,e+12|0,d)|0;do if(!b)b=0;else if((b|0)<0){b=PGa(a,264954,e+8|0)|0;break}else{mp(a,e+12|0);b=1;break}while(0);a=b;i=e;return a|0}function mp(a,b){a=a|0;b=b|0;var e=0;WDa(a,0,0);e=c[b+4>>2]|0;if(e|0){np(a,e);_Da(a,-2,264996)}switch(c[b>>2]|0){case 1:{JDa(a,c[b+12>>2]|0);_Da(a,-2,361348);LDa(a,361649);_Da(a,-2,518979);return}case 2:{JDa(a,c[b+12>>2]|0);_Da(a,-2,361348);LDa(a,265001);_Da(a,-2,518979);return}case 3:{e=c[b+16>>2]|0;KDa(a,c[e+8>>2]|0,c[e+12>>2]|0);_Da(a,-2,361348);JDa(a,d[b+8>>0]|0);_Da(a,-2,524104);LDa(a,361842);qq(c[b+16>>2]|0);_Da(a,-2,518979);return}case 0:{LDa(a,522333);_Da(a,-2,518979);return}default:{_Da(a,-2,518979);return}}}function np(a,b){a=a|0;b=b|0;TDa(a,-1e4,264975);QDa(a,b);SDa(a,-2);if(qDa(a,-1)|0){mDa(a,-2);return}lDa(a,-2);c[(nEa(a,4)|0)>>2]=b;TDa(a,-1e4,264986);bEa(a,-2)|0;QDa(a,b);pDa(a,-2);ZDa(a,-4);mDa(a,-2);return}function op(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}b=Zq(b,d+12|0)|0;do if(!b)b=0;else if((b|0)<0){b=PGa(a,265025,d+8|0)|0;break}else{mp(a,d+12|0);b=1;break}while(0);a=b;i=d;return a|0}function pp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;do if(!b)b=PGa(a,264927,d)|0;else if(!(cq(b)|0)){PDa(a,1);b=1;break}else{PDa(a,0);b=1;break}while(0);i=d;return b|0}function qp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;d=c[(WGa(a,1,264909)|0)>>2]|0;if(!d){a=PGa(a,264927,g)|0;i=g;return a|0}rp(a,UGa(a,2,0)|0,g+16|0);switch(kDa(a)|0){case 4:{if(!(qDa(a,4)|0)){b=0;f=6}else{b=~~+_Ga(a,4);f=6}break}case 3:{b=0;f=6;break}default:{e=1;b=0}}if((f|0)==6)if(!(qDa(a,3)|0))e=1;else e=~~+_Ga(a,3);b=fq(d,g+16|0,e,b)|0;if(!b)b=PGa(a,265166,g+8|0)|0;else{np(a,b);b=1}a=b;i=g;return a|0}function rp(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+192|0;g=m+64|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=m+32|0;h=g+32|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=a[e>>0]|0;if(!(g<<24>>24)){a[m+64>>0]=0;a[m+32>>0]=0;g=0;l=11}else{j=g;h=0;g=0;k=0;do{if((h|0)>127|(g|0)>31){PGa(d,265072,m)|0;j=a[e>>0]|0}if(!k)if(j<<24>>24==58)k=1;else{a[m+64+h>>0]=j;h=h+1|0;k=0}else{a[m+32+g>>0]=j;g=g+1|0}e=e+1|0;j=a[e>>0]|0}while(j<<24>>24!=0);a[m+64+h>>0]=0;a[m+32+g>>0]=0;if(!h)l=11}if((l|0)==11)PGa(d,265090,m+8|0)|0;if(!g)PGa(d,265114,m+16|0)|0;if(!(Imb(504178,m+64|0)|0))c[f>>2]=0;else if(ur(f,m+64|0)|0)PGa(d,265138,m+24|0)|0;if(!(Imb(504178,m+32|0)|0)){d=0;l=f+4|0;b[l>>1]=d;i=m;return}d=(Hpb(m+32|0)|0)&65535;l=f+4|0;b[l>>1]=d;i=m;return}function sp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{Pq(b);a=0;i=d;return a|0}return 0}function tp(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=c[(WGa(b,1,264909)|0)>>2]|0;if(!d){b=PGa(b,264927,e)|0;i=e;return b|0}else{b=up(b,e+4|0)|0;gq(d,a[e+4>>0]|0,b);b=0;i=e;return b|0}return 0}function up(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=kDa(b)|0;g=UGa(b,2,h+12|0)|0;a[d>>0]=0;if((e|0)>3)if(!(qDa(b,4)|0)){e=1;f=8}else{e=UGa(b,4,0)|0;if(!(Imb(265188,e)|0)){e=2;f=8}else if(!(Imb(265200,e)|0)){e=1;f=8}else if(!(Imb(265209,e)|0)){e=0;f=8}else{c[h>>2]=e;PGa(b,265220,h)|0;e=1;f=8}}else if((e|0)>2){e=1;f=8}else e=1;if((f|0)==8)if(qDa(b,3)|0)a[d>>0]=~~+_Ga(b,3);e=pq(g,c[h+12>>2]|0,e)|0;if(e|0){i=h;return e|0}PGa(b,265244,h+8|0)|0;i=h;return e|0}function vp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{iq(b,~~+_Ga(a,2));a=0;i=d;return a|0}return 0}function wp(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{e=~~+_Ga(a,2);jq(b,e,~~+_Ga(a,2));a=0;i=d;return a|0}return 0}function xp(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+48|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{xr(c[b>>2]|0,d+32|0)|0;f=c[d+32>>2]|0;b=e[d+32+4>>1]|0;c[d+8>>2]=f&255;c[d+8+4>>2]=f>>>8&255;c[d+8+8>>2]=f>>>16&255;c[d+8+12>>2]=f>>>24;c[d+8+16>>2]=b;NDa(a,265317,d+8|0)|0;a=1;i=d;return a|0}return 0}function yp(a){a=a|0;var b=0;a=WGa(a,1,264909)|0;b=c[a>>2]|0;if(b|0)eq(b);c[a>>2]=0;return 0}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{JDa(a,c[b+10364>>2]|0);a=1;i=d;return a|0}return 0}function Ap(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{JDa(a,c[b+10372>>2]|0);a=1;i=d;return a|0}return 0}function Bp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{JDa(a,c[b+48>>2]|0);a=1;i=d;return a|0}return 0}function Cp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){a=PGa(a,264927,d)|0;i=d;return a|0}else{JDa(a,c[b+40>>2]|0);a=1;i=d;return a|0}return 0}function Dp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=c[(WGa(a,1,264909)|0)>>2]|0;if(!b){e=PGa(a,264927,f)|0;i=f;return e|0}d=~~+_Ga(a,2);if((d|0)<1)e=5;else if((d+-1|0)>>>0>=(c[b+40>>2]|0)>>>0)e=5;if((e|0)==5)OGa(a,2,265420)|0;np(a,(c[b+36>>2]|0)+((d+-1|0)*380|0)|0);e=1;i=f;return e|0}function Ep(a){a=a|0;var b=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1)a=~~+_Ga(a,2);else a=0;Iq(b,a);return 0}function Fp(a){a=a|0;var b=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1)a=~~+_Ga(a,2);else a=0;Hq(b,a);return 0}function Gp(a){a=a|0;var b=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1)a=~~+_Ga(a,2);else a=0;Jq(b,a);return 0}function Hp(a){a=a|0;Dq(c[(WGa(a,1,264986)|0)>>2]|0);return 0}function Ip(a){a=a|0;Eq(c[(WGa(a,1,264986)|0)>>2]|0);return 0}function Jp(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=c[(WGa(b,1,264986)|0)>>2]|0;a[f>>0]=0;if((kDa(b)|0)>1)a[f>>0]=~~+_Ga(b,2);e=wq(e,f)|0;if(!e){b=0;i=f;return b|0}KDa(b,c[e+8>>2]|0,c[e+12>>2]|0);JDa(b,d[f>>0]|0);qq(e);b=2;i=f;return b|0}function Kp(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=c[(WGa(b,1,264986)|0)>>2]|0;b=up(b,d)|0;vq(e,a[d>>0]|0,b)|0;i=d;return 0}function Lp(a){a=a|0;var b=0,d=0,e=0;e=c[(WGa(a,1,264986)|0)>>2]|0;d=~~+_Ga(a,2);b=~~+_Ga(a,3);rq(e,d,b,~~+_Ga(a,4));return 0}function Mp(a){a=a|0;var b=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1)Fq(b,~~+_Ga(a,2));JDa(a,c[b+136>>2]|0);return 1}function Np(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[(WGa(a,1,264986)|0)>>2]|0;switch(kDa(a)|0){case 4:{if(!(qDa(a,4)|0)){b=0;g=4}else{b=~~+_Ga(a,4);g=4}break}case 3:{b=0;g=4;break}case 2:{b=0;d=0;g=6;break}default:{e=0;b=0;d=0}}if((g|0)==4)if(!(qDa(a,3)|0)){d=0;g=6}else{d=~~+_Ga(a,3);g=6}if((g|0)==6)if(!(qDa(a,2)|0))e=0;else e=~~+_Ga(a,2);Gq(f,e,d,b);JDa(a,c[f+140>>2]|0);JDa(a,c[f+144>>2]|0);JDa(a,c[f+148>>2]|0);return 3}function Op(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=c[(WGa(a,1,264986)|0)>>2]|0;b=c[e+8>>2]|0;f=c[b+40>>2]|0;a:do if(!f)b=0;else{d=c[b+36>>2]|0;b=0;while(1){if((d+(b*380|0)|0)==(e|0))break;b=b+1|0;if(b>>>0>=f>>>0)break a}f=b+1|0;JDa(a,f);i=g;return 1}while(0);PGa(a,265509,g)|0;f=b;f=f+1|0;JDa(a,f);i=g;return 1}function Pp(a){a=a|0;do switch(c[(c[(WGa(a,1,264986)|0)>>2]|0)+36>>2]|0){case 0:{LDa(a,265545);break}case 1:{LDa(a,265558);break}case 2:{LDa(a,265569);break}case 3:{LDa(a,265591);break}case 4:{LDa(a,265610);break}case 5:{LDa(a,265631);break}case 6:{LDa(a,265454);break}case 7:{LDa(a,265641);break}case 8:{LDa(a,265655);break}case 9:{LDa(a,265680);break}default:LDa(a,439634)}while(0);return 1}function Qp(a){a=a|0;JDa(a,c[(c[(WGa(a,1,264986)|0)>>2]|0)+16>>2]|0);return 1}function Rp(a){a=a|0;var b=0,d=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1){d=~~+_Ga(a,2);c[b+168>>2]=d;b=d;JDa(a,b);return 1}else{d=c[b+168>>2]|0;JDa(a,d);return 1}return 0}function Sp(a){a=a|0;var b=0,d=0;b=c[(WGa(a,1,264986)|0)>>2]|0;if((kDa(a)|0)>1){d=~~+_Ga(a,2);c[b+152>>2]=d;b=d;JDa(a,b);return 1}else{d=c[b+152>>2]|0;JDa(a,d);return 1}return 0}function Tp(a){a=a|0;var b=0,d=0;b=i;i=i+128|0;d=c[(WGa(a,1,264986)|0)>>2]|0;vr(d+24|0,b,128)|0;LDa(a,b);LDa(a,439695);JDa(a,e[d+28>>1]|0);mEa(a,3);i=b;return 1}function Up(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!(kDa(a)|0))g=0;else if(!(qDa(a,1)|0))g=0;else{rp(a,UGa(a,1,0)|0,j);g=1}switch(kDa(a)|0){case 5:{if(!(qDa(a,5)|0)){b=0;h=7}else{b=~~+_Ga(a,5);h=7}break}case 4:{b=0;h=7;break}case 3:{d=0;b=0;h=9;break}case 2:{e=1;d=0;b=0;h=11;break}default:{f=1;d=0;b=0;e=64}}if((h|0)==7)if(!(qDa(a,4)|0)){d=0;h=9}else{d=~~+_Ga(a,4);h=9}if((h|0)==9)if(!(qDa(a,3)|0)){e=1;h=11}else{e=~~+_Ga(a,3);h=11}if((h|0)==11)if(!(qDa(a,2)|0)){f=e;e=64}else{f=e;e=~~+_Ga(a,2)}b=dq(g|0?j:0,e,f,d,b)|0;if(!b){HDa(a);LDa(a,265752);a=2;i=j;return a|0}else{c[(nEa(a,4)|0)>>2]=b;TDa(a,-1e4,264909);bEa(a,-2)|0;a=1;i=j;return a|0}return 0}function Vp(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=(Wp()|0)>>>16&255;e=(Wp()|0)>>>8&255;d=(Wp()|0)&255;c[b>>2]=f;c[b+4>>2]=e;c[b+8>>2]=d;NDa(a,265816,b)|0;i=b;return 1}function Wp(){return 66315}function Xp(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;c[b>>2]=Vpb(c[b+4>>2]|0)|0;if(!(c[b>>2]|0))Ph();else{i=b;return c[b>>2]|0}return 0}function Yp(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;Wpb(c[b>>2]|0);i=b;return}function Zp(){var a=0,b=0;a=i;i=i+16|0;c[a>>2]=Xp(65536)|0;if(!(c[a>>2]|0)){c[a+4>>2]=0;b=c[a+4>>2]|0;i=a;return b|0}else{c[a+4>>2]=c[a>>2];b=c[a+4>>2]|0;i=a;return b|0}return 0}function _p(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;c[b>>2]=c[b+4>>2];if(!(c[b>>2]|0)){i=b;return}Yp(c[b>>2]|0);i=b;return}function $p(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;n=i;i=i+112|0;c[n+80>>2]=f;c[n+76>>2]=g;c[n+72>>2]=h;c[n+68>>2]=j;c[n+64>>2]=k;c[n+60>>2]=l;c[n+56>>2]=c[n+80>>2];c[n+52>>2]=c[n+64>>2];c[n+48>>2]=(c[n+64>>2]|0)+(c[n+60>>2]|0);c[n+36>>2]=0;c[n+32>>2]=-1;b[n+94>>1]=0;c[n+24>>2]=0;c[n+20>>2]=0;if((c[n+56>>2]|0)==0|(c[n+72>>2]|0)>>>0<=0|(c[n+68>>2]|0)>>>0<=0){c[n+84>>2]=0;m=c[n+84>>2]|0;i=n;return m|0}c[n+44>>2]=c[c[n+76>>2]>>2];c[n+40>>2]=(c[n+44>>2]|0)+(c[(c[n+76>>2]|0)+4>>2]|0);c[n+76>>2]=(c[n+76>>2]|0)+8;c[n+72>>2]=(c[n+72>>2]|0)+-1;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+28>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+28>>2]>>0]=0;a[(c[n+28>>2]|0)+1>>0]=0;b[(c[n+28>>2]|0)+2>>1]=0;b[(c[n+28>>2]|0)+4>>1]=0;b[(c[n+28>>2]|0)+6>>1]=0;b[(c[n+28>>2]|0)+8>>1]=0;b[(c[n+28>>2]|0)+10>>1]=0;b[(c[n+28>>2]|0)+12>>1]=0;b[(c[n+28>>2]|0)+14>>1]=0;b[(c[n+28>>2]|0)+10>>1]=1;b[(c[n+28>>2]|0)+12>>1]=257;b[(c[n+28>>2]|0)+8>>1]=0;a:while(1){c[n+8>>2]=n+94;if((c[n+44>>2]|0)>>>0>=(c[n+40>>2]|0)>>>0){if((c[n+72>>2]|0)>>>0<=0){m=75;break}c[n+44>>2]=c[c[n+76>>2]>>2];c[n+40>>2]=(c[n+44>>2]|0)+(c[(c[n+76>>2]|0)+4>>2]|0);c[n+76>>2]=(c[n+76>>2]|0)+8;c[n+72>>2]=(c[n+72>>2]|0)+-1}l=c[n+44>>2]|0;c[n+44>>2]=l+1;a[n+96>>0]=a[l>>0]|0;c[n+16>>2]=(c[n+56>>2]|0)+(e[n+94>>1]<<4);while(1){f=d[n+96>>0]|0;if((c[n+16>>2]|0)==(c[n+28>>2]|0)){m=46;break}b[n+90>>1]=0;b[n+92>>1]=0;do if(b[(c[n+16>>2]|0)+8>>1]|0){c[n+4>>2]=(c[n+16>>2]|0)+(e[(c[n+16>>2]|0)+8>>1]<<4);while(1){if((d[n+96>>0]|0)<(d[c[n+4>>2]>>0]|0)){m=(c[n+4>>2]|0)+2|0;b[m>>1]=(e[m>>1]|0)+2;if(!(b[(c[n+4>>2]|0)+4>>1]|0)){m=15;break}c[n+4>>2]=(c[n+4>>2]|0)+(e[(c[n+4>>2]|0)+4>>1]<<4);continue}f=c[n+4>>2]|0;if((d[n+96>>0]|0)<=(d[c[n+4>>2]>>0]|0)){m=20;break}b[n+90>>1]=(e[n+90>>1]|0)+(e[f+2>>1]|0);if(!(b[(c[n+4>>2]|0)+6>>1]|0)){m=19;break}c[n+4>>2]=(c[n+4>>2]|0)+(e[(c[n+4>>2]|0)+6>>1]<<4)}if((m|0)==15){m=0;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=2;b[(c[n+12>>2]|0)+2>>1]=2;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n+4>>2]|0)+4>>1]=((c[n+12>>2]|0)-(c[n+4>>2]|0)|0)/16|0;break}else if((m|0)==19){m=0;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=2;b[(c[n+12>>2]|0)+2>>1]=2;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n+4>>2]|0)+6>>1]=((c[n+12>>2]|0)-(c[n+4>>2]|0)|0)/16|0;break}else if((m|0)==20){m=0;b[n+92>>1]=(e[n+92>>1]|0)+(d[f+1>>0]|0);b[n+90>>1]=(e[n+90>>1]|0)+((e[(c[n+4>>2]|0)+2>>1]|0)-(d[(c[n+4>>2]|0)+1>>0]|0));l=(c[n+4>>2]|0)+2|0;b[l>>1]=(e[l>>1]|0)+2;l=(c[n+4>>2]|0)+1|0;a[l>>0]=(d[l>>0]|0)+2;c[n+12>>2]=c[n+4>>2];break}}else{l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=2;b[(c[n+12>>2]|0)+2>>1]=2;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n+16>>2]|0)+8>>1]=((c[n+12>>2]|0)-(c[n+16>>2]|0)|0)/16|0}while(0);b[c[n+8>>2]>>1]=((c[n+12>>2]|0)-(c[n+56>>2]|0)|0)/16|0;c[n+8>>2]=(c[n+12>>2]|0)+14;b[n+88>>1]=b[(c[n+16>>2]|0)+12>>1]|0;b:do if((e[n+92>>1]|0)>0){c[n+32>>2]=((c[n+32>>2]|0)>>>0)/((e[n+88>>1]|0)>>>0)|0;l=_((e[(c[n+16>>2]|0)+10>>1]|0)+(e[n+90>>1]|0)|0,c[n+32>>2]|0)|0;c[n+36>>2]=(c[n+36>>2]|0)+l;c[n+32>>2]=_(c[n+32>>2]|0,e[n+92>>1]|0)|0;while(1){if((c[n+36>>2]^(c[n+36>>2]|0)+(c[n+32>>2]|0))>>>0>=16777216){if((c[n+32>>2]|0)>>>0>=65536)break b;c[n+32>>2]=0-(c[n+36>>2]|0)&65535}if((c[n+64>>2]|0)>>>0>=(c[n+48>>2]|0)>>>0){m=27;break a}k=(c[n+36>>2]|0)>>>24&255;l=c[n+64>>2]|0;c[n+64>>2]=l+1;a[l>>0]=k;c[n+32>>2]=c[n+32>>2]<<8;c[n+36>>2]=c[n+36>>2]<<8}}else{c:do if((e[(c[n+16>>2]|0)+10>>1]|0)>0)if((e[(c[n+16>>2]|0)+10>>1]|0)<(e[n+88>>1]|0)){c[n+32>>2]=((c[n+32>>2]|0)>>>0)/((e[n+88>>1]|0)>>>0)|0;c[n+36>>2]=(c[n+36>>2]|0)+0;c[n+32>>2]=_(c[n+32>>2]|0,e[(c[n+16>>2]|0)+10>>1]|0)|0;while(1){if((c[n+36>>2]^(c[n+36>>2]|0)+(c[n+32>>2]|0))>>>0>=16777216){if((c[n+32>>2]|0)>>>0>=65536)break c;c[n+32>>2]=0-(c[n+36>>2]|0)&65535}if((c[n+64>>2]|0)>>>0>=(c[n+48>>2]|0)>>>0){m=36;break a}k=(c[n+36>>2]|0)>>>24&255;l=c[n+64>>2]|0;c[n+64>>2]=l+1;a[l>>0]=k;c[n+32>>2]=c[n+32>>2]<<8;c[n+36>>2]=c[n+36>>2]<<8}}while(0);l=(c[n+16>>2]|0)+10|0;b[l>>1]=(e[l>>1]|0)+5;l=(c[n+16>>2]|0)+12|0;b[l>>1]=(e[l>>1]|0)+5}while(0);l=(c[n+16>>2]|0)+12|0;b[l>>1]=(e[l>>1]|0)+2;if((e[n+92>>1]|0)>251)m=41;else if((e[(c[n+16>>2]|0)+12>>1]|0)>65280)m=41;if((m|0)==41){m=0;if(e[(c[n+16>>2]|0)+8>>1]|0)f=(aq((c[n+16>>2]|0)+(e[(c[n+16>>2]|0)+8>>1]<<4)|0)|0)&65535;else f=0;b[(c[n+16>>2]|0)+12>>1]=f;l=(c[n+16>>2]|0)+10|0;b[l>>1]=(e[l>>1]|0)-(e[(c[n+16>>2]|0)+10>>1]>>1);l=(c[n+16>>2]|0)+12|0;b[l>>1]=(e[l>>1]|0)+((e[(c[n+16>>2]|0)+10>>1]|0)+0)}if((e[n+92>>1]|0)>0)break;c[n+16>>2]=(c[n+56>>2]|0)+(e[(c[n+16>>2]|0)+14>>1]<<4)}do if((m|0)==46){m=0;b[n+90>>1]=f;b[n+92>>1]=1;do if(b[(c[n+28>>2]|0)+8>>1]|0){c[n>>2]=(c[n+28>>2]|0)+(e[(c[n+28>>2]|0)+8>>1]<<4);while(1){if((d[n+96>>0]|0)<(d[c[n>>2]>>0]|0)){m=(c[n>>2]|0)+2|0;b[m>>1]=(e[m>>1]|0)+3;if(!(b[(c[n>>2]|0)+4>>1]|0)){m=52;break}c[n>>2]=(c[n>>2]|0)+(e[(c[n>>2]|0)+4>>1]<<4);continue}f=c[n>>2]|0;if((d[n+96>>0]|0)<=(d[c[n>>2]>>0]|0)){m=57;break}b[n+90>>1]=(e[n+90>>1]|0)+(e[f+2>>1]|0);if(!(b[(c[n>>2]|0)+6>>1]|0)){m=56;break}c[n>>2]=(c[n>>2]|0)+(e[(c[n>>2]|0)+6>>1]<<4)}if((m|0)==52){m=0;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=3;b[(c[n+12>>2]|0)+2>>1]=3;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n>>2]|0)+4>>1]=((c[n+12>>2]|0)-(c[n>>2]|0)|0)/16|0;break}else if((m|0)==56){m=0;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=3;b[(c[n+12>>2]|0)+2>>1]=3;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n>>2]|0)+6>>1]=((c[n+12>>2]|0)-(c[n>>2]|0)|0)/16|0;break}else if((m|0)==57){m=0;b[n+92>>1]=(e[n+92>>1]|0)+(d[f+1>>0]|0);b[n+90>>1]=(e[n+90>>1]|0)+((e[(c[n>>2]|0)+2>>1]|0)-(d[(c[n>>2]|0)+1>>0]|0));l=(c[n>>2]|0)+2|0;b[l>>1]=(e[l>>1]|0)+3;l=(c[n>>2]|0)+1|0;a[l>>0]=(d[l>>0]|0)+3;c[n+12>>2]=c[n>>2];break}}else{l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+12>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+12>>2]>>0]=a[n+96>>0]|0;a[(c[n+12>>2]|0)+1>>0]=3;b[(c[n+12>>2]|0)+2>>1]=3;b[(c[n+12>>2]|0)+4>>1]=0;b[(c[n+12>>2]|0)+6>>1]=0;b[(c[n+12>>2]|0)+8>>1]=0;b[(c[n+12>>2]|0)+10>>1]=0;b[(c[n+12>>2]|0)+12>>1]=0;b[(c[n+12>>2]|0)+14>>1]=0;b[(c[n+28>>2]|0)+8>>1]=((c[n+12>>2]|0)-(c[n+28>>2]|0)|0)/16|0}while(0);b[c[n+8>>2]>>1]=((c[n+12>>2]|0)-(c[n+56>>2]|0)|0)/16|0;c[n+8>>2]=(c[n+12>>2]|0)+14;b[n+88>>1]=b[(c[n+28>>2]|0)+12>>1]|0;c[n+32>>2]=((c[n+32>>2]|0)>>>0)/((e[n+88>>1]|0)>>>0)|0;l=_((e[(c[n+28>>2]|0)+10>>1]|0)+(e[n+90>>1]|0)|0,c[n+32>>2]|0)|0;c[n+36>>2]=(c[n+36>>2]|0)+l;c[n+32>>2]=_(c[n+32>>2]|0,e[n+92>>1]|0)|0;while(1){if((c[n+36>>2]^(c[n+36>>2]|0)+(c[n+32>>2]|0))>>>0>=16777216){if((c[n+32>>2]|0)>>>0>=65536)break;c[n+32>>2]=0-(c[n+36>>2]|0)&65535}if((c[n+64>>2]|0)>>>0>=(c[n+48>>2]|0)>>>0){m=63;break a}k=(c[n+36>>2]|0)>>>24&255;l=c[n+64>>2]|0;c[n+64>>2]=l+1;a[l>>0]=k;c[n+32>>2]=c[n+32>>2]<<8;c[n+36>>2]=c[n+36>>2]<<8}l=(c[n+28>>2]|0)+12|0;b[l>>1]=(e[l>>1]|0)+3;if((e[n+92>>1]|0)<=250)if((e[(c[n+28>>2]|0)+12>>1]|0)<=65280)break;if(e[(c[n+28>>2]|0)+8>>1]|0)f=(aq((c[n+28>>2]|0)+(e[(c[n+28>>2]|0)+8>>1]<<4)|0)|0)&65535;else f=0;b[(c[n+28>>2]|0)+12>>1]=f;l=(c[n+28>>2]|0)+10|0;b[l>>1]=(e[l>>1]|0)-(e[(c[n+28>>2]|0)+10>>1]>>1);l=(c[n+28>>2]|0)+12|0;b[l>>1]=(e[l>>1]|0)+((e[(c[n+28>>2]|0)+10>>1]|0)+256)}while(0);if((c[n+24>>2]|0)>>>0>=2)b[n+94>>1]=b[(c[n+56>>2]|0)+(e[n+94>>1]<<4)+14>>1]|0;else c[n+24>>2]=(c[n+24>>2]|0)+1;if((c[n+20>>2]|0)>>>0<4094)continue;c[n+20>>2]=0;l=c[n+20>>2]|0;c[n+20>>2]=l+1;c[n+28>>2]=(c[n+56>>2]|0)+(l<<4);a[c[n+28>>2]>>0]=0;a[(c[n+28>>2]|0)+1>>0]=0;b[(c[n+28>>2]|0)+2>>1]=0;b[(c[n+28>>2]|0)+4>>1]=0;b[(c[n+28>>2]|0)+6>>1]=0;b[(c[n+28>>2]|0)+8>>1]=0;b[(c[n+28>>2]|0)+10>>1]=0;b[(c[n+28>>2]|0)+12>>1]=0;b[(c[n+28>>2]|0)+14>>1]=0;b[(c[n+28>>2]|0)+10>>1]=1;b[(c[n+28>>2]|0)+12>>1]=257;b[(c[n+28>>2]|0)+8>>1]=0;b[n+94>>1]=0;c[n+24>>2]=0}if((m|0)==27){c[n+84>>2]=0;m=c[n+84>>2]|0;i=n;return m|0}else if((m|0)==36){c[n+84>>2]=0;m=c[n+84>>2]|0;i=n;return m|0}else if((m|0)==63){c[n+84>>2]=0;m=c[n+84>>2]|0;i=n;return m|0}else if((m|0)==75){while(1){f=c[n+64>>2]|0;if(!(c[n+36>>2]|0)){m=79;break}if(f>>>0>=(c[n+48>>2]|0)>>>0){m=77;break}l=(c[n+36>>2]|0)>>>24&255;m=c[n+64>>2]|0;c[n+64>>2]=m+1;a[m>>0]=l;c[n+36>>2]=c[n+36>>2]<<8;m=75}if((m|0)==77){c[n+84>>2]=0;m=c[n+84>>2]|0;i=n;return m|0}else if((m|0)==79){c[n+84>>2]=f-(c[n+52>>2]|0);m=c[n+84>>2]|0;i=n;return m|0}}return 0}function aq(f){f=f|0;var g=0,h=0;g=i;i=i+16|0;c[g>>2]=f;b[g+4>>1]=0;while(1){f=(c[g>>2]|0)+1|0;a[f>>0]=(d[f>>0]|0)-(d[(c[g>>2]|0)+1>>0]>>1);b[(c[g>>2]|0)+2>>1]=d[(c[g>>2]|0)+1>>0]|0;if(b[(c[g>>2]|0)+4>>1]|0){h=(aq((c[g>>2]|0)+(e[(c[g>>2]|0)+4>>1]<<4)|0)|0)&65535;f=(c[g>>2]|0)+2|0;b[f>>1]=(e[f>>1]|0)+h}b[g+4>>1]=(e[g+4>>1]|0)+(e[(c[g>>2]|0)+2>>1]|0);if(!(b[(c[g>>2]|0)+6>>1]|0))break;c[g>>2]=(c[g>>2]|0)+(e[(c[g>>2]|0)+6>>1]<<4)}i=g;return b[g+4>>1]|0}function bq(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0;l=i;i=i+128|0;c[l+84>>2]=f;c[l+80>>2]=g;c[l+76>>2]=h;c[l+72>>2]=j;c[l+68>>2]=k;c[l+64>>2]=c[l+84>>2];c[l+60>>2]=c[l+72>>2];c[l+56>>2]=(c[l+72>>2]|0)+(c[l+68>>2]|0);c[l+52>>2]=(c[l+80>>2]|0)+(c[l+76>>2]|0);c[l+48>>2]=0;c[l+44>>2]=0;c[l+40>>2]=-1;b[l+110>>1]=0;c[l+32>>2]=0;c[l+28>>2]=0;if((c[l+64>>2]|0)==0|(c[l+76>>2]|0)>>>0<=0){c[l+88>>2]=0;k=c[l+88>>2]|0;i=l;return k|0}k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+36>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+36>>2]>>0]=0;a[(c[l+36>>2]|0)+1>>0]=0;b[(c[l+36>>2]|0)+2>>1]=0;b[(c[l+36>>2]|0)+4>>1]=0;b[(c[l+36>>2]|0)+6>>1]=0;b[(c[l+36>>2]|0)+8>>1]=0;b[(c[l+36>>2]|0)+10>>1]=0;b[(c[l+36>>2]|0)+12>>1]=0;b[(c[l+36>>2]|0)+14>>1]=0;b[(c[l+36>>2]|0)+10>>1]=1;b[(c[l+36>>2]|0)+12>>1]=257;b[(c[l+36>>2]|0)+8>>1]=0;if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]<<24}if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]<<16}if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]<<8}if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]}a:while(1){a[l+112>>0]=0;c[l+12>>2]=l+110;c[l+24>>2]=(c[l+64>>2]|0)+(e[l+110>>1]<<4);b:while(1){if((c[l+24>>2]|0)==(c[l+36>>2]|0)){g=47;break}c:do if((e[(c[l+24>>2]|0)+10>>1]|0)>0){b[l+100>>1]=b[(c[l+24>>2]|0)+12>>1]|0;if((e[(c[l+24>>2]|0)+10>>1]|0)<(e[l+100>>1]|0)){j=(c[l+44>>2]|0)-(c[l+48>>2]|0)|0;k=((c[l+40>>2]|0)>>>0)/((e[l+100>>1]|0)>>>0)|0;c[l+40>>2]=k;b[l+108>>1]=(j>>>0)/(k>>>0)|0;if((e[l+108>>1]|0)>=(e[(c[l+24>>2]|0)+10>>1]|0)){g=23;break b}c[l+48>>2]=(c[l+48>>2]|0)+0;c[l+40>>2]=_(c[l+40>>2]|0,e[(c[l+24>>2]|0)+10>>1]|0)|0;while(1){if((c[l+48>>2]^(c[l+48>>2]|0)+(c[l+40>>2]|0))>>>0>=16777216){if((c[l+40>>2]|0)>>>0>=65536)break c;c[l+40>>2]=0-(c[l+48>>2]|0)&65535}c[l+44>>2]=c[l+44>>2]<<8;if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]}c[l+40>>2]=c[l+40>>2]<<8;c[l+48>>2]=c[l+48>>2]<<8}}}while(0);c[l+24>>2]=(c[l+64>>2]|0)+(e[(c[l+24>>2]|0)+14>>1]<<4)}do if((g|0)==23){g=0;b[l+108>>1]=(e[l+108>>1]|0)-(e[(c[l+24>>2]|0)+10>>1]|0);b[l+106>>1]=0;b[l+104>>1]=0;if(!(b[(c[l+24>>2]|0)+8>>1]|0)){g=24;break a}c[l+8>>2]=(c[l+24>>2]|0)+(e[(c[l+24>>2]|0)+8>>1]<<4);while(1){b[l+98>>1]=(e[l+106>>1]|0)+(e[(c[l+8>>2]|0)+2>>1]|0)+0;b[l+96>>1]=(d[(c[l+8>>2]|0)+1>>0]|0)+0;if((e[l+108>>1]|0)>=(e[l+98>>1]|0)){b[l+106>>1]=(e[l+106>>1]|0)+(e[(c[l+8>>2]|0)+2>>1]|0);if(!(b[(c[l+8>>2]|0)+6>>1]|0)){g=29;break a}c[l+8>>2]=(c[l+8>>2]|0)+(e[(c[l+8>>2]|0)+6>>1]<<4);continue}f=c[l+8>>2]|0;if((e[l+108>>1]|0)>=((e[l+98>>1]|0)-(e[l+96>>1]|0)|0))break;b[f+2>>1]=(e[f+2>>1]|0)+2;if(!(b[(c[l+8>>2]|0)+4>>1]|0)){g=33;break a}c[l+8>>2]=(c[l+8>>2]|0)+(e[(c[l+8>>2]|0)+4>>1]<<4)}a[l+112>>0]=a[f>>0]|0;b[l+104>>1]=(e[l+104>>1]|0)+(d[(c[l+8>>2]|0)+1>>0]|0);b[l+106>>1]=(e[l+98>>1]|0)-(e[l+96>>1]|0);k=(c[l+8>>2]|0)+2|0;b[k>>1]=(e[k>>1]|0)+2;k=(c[l+8>>2]|0)+1|0;a[k>>0]=(d[k>>0]|0)+2;c[l+20>>2]=c[l+8>>2];b[l+102>>1]=((c[l+20>>2]|0)-(c[l+64>>2]|0)|0)/16|0;k=_((e[(c[l+24>>2]|0)+10>>1]|0)+(e[l+106>>1]|0)|0,c[l+40>>2]|0)|0;c[l+48>>2]=(c[l+48>>2]|0)+k;c[l+40>>2]=_(c[l+40>>2]|0,e[l+104>>1]|0)|0;while(1){if((c[l+48>>2]^(c[l+48>>2]|0)+(c[l+40>>2]|0))>>>0>=16777216){if((c[l+40>>2]|0)>>>0>=65536)break;c[l+40>>2]=0-(c[l+48>>2]|0)&65535}c[l+44>>2]=c[l+44>>2]<<8;if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]}c[l+40>>2]=c[l+40>>2]<<8;c[l+48>>2]=c[l+48>>2]<<8}k=(c[l+24>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+2;if((e[l+104>>1]|0)<=251)if((e[(c[l+24>>2]|0)+12>>1]|0)<=65280)break;if(e[(c[l+24>>2]|0)+8>>1]|0)f=(aq((c[l+24>>2]|0)+(e[(c[l+24>>2]|0)+8>>1]<<4)|0)|0)&65535;else f=0;b[(c[l+24>>2]|0)+12>>1]=f;k=(c[l+24>>2]|0)+10|0;b[k>>1]=(e[k>>1]|0)-(e[(c[l+24>>2]|0)+10>>1]>>1);k=(c[l+24>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+((e[(c[l+24>>2]|0)+10>>1]|0)+0)}else if((g|0)==47){g=0;b[l+100>>1]=b[(c[l+36>>2]|0)+12>>1]|0;j=(c[l+44>>2]|0)-(c[l+48>>2]|0)|0;k=((c[l+40>>2]|0)>>>0)/((e[l+100>>1]|0)>>>0)|0;c[l+40>>2]=k;b[l+108>>1]=(j>>>0)/(k>>>0)|0;if((e[l+108>>1]|0)<(e[(c[l+36>>2]|0)+10>>1]|0)){g=48;break a}b[l+108>>1]=(e[l+108>>1]|0)-(e[(c[l+36>>2]|0)+10>>1]|0);b[l+106>>1]=0;b[l+104>>1]=1;do if(b[(c[l+36>>2]|0)+8>>1]|0){c[l+4>>2]=(c[l+36>>2]|0)+(e[(c[l+36>>2]|0)+8>>1]<<4);while(1){b[l+94>>1]=(e[l+106>>1]|0)+(e[(c[l+4>>2]|0)+2>>1]|0)+((d[c[l+4>>2]>>0]|0)+1);b[l+92>>1]=(d[(c[l+4>>2]|0)+1>>0]|0)+1;if((e[l+108>>1]|0)>=(e[l+94>>1]|0)){b[l+106>>1]=(e[l+106>>1]|0)+(e[(c[l+4>>2]|0)+2>>1]|0);f=c[l+4>>2]|0;if(!(b[(c[l+4>>2]|0)+6>>1]|0)){g=61;break}c[l+4>>2]=(c[l+4>>2]|0)+(e[f+6>>1]<<4);continue}f=c[l+4>>2]|0;if((e[l+108>>1]|0)>=((e[l+94>>1]|0)-(e[l+92>>1]|0)|0)){g=66;break}b[f+2>>1]=(e[f+2>>1]|0)+3;f=c[l+4>>2]|0;if(!(b[(c[l+4>>2]|0)+4>>1]|0)){g=65;break}c[l+4>>2]=(c[l+4>>2]|0)+(e[f+4>>1]<<4)}if((g|0)==61){g=0;a[l+112>>0]=(d[f>>0]|0)+1+(((e[l+108>>1]|0)-(e[l+94>>1]|0)|0)/1|0);b[l+106>>1]=(e[l+108>>1]|0)-(((e[l+108>>1]|0)-(e[l+94>>1]|0)|0)%1|0);k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=3;b[(c[l+20>>2]|0)+2>>1]=3;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l+4>>2]|0)+6>>1]=((c[l+20>>2]|0)-(c[l+4>>2]|0)|0)/16|0;break}else if((g|0)==65){g=0;a[l+112>>0]=(d[f>>0]|0)-1-(((e[l+94>>1]|0)-(e[l+92>>1]|0)-(e[l+108>>1]|0)-1|0)/1|0);b[l+106>>1]=(e[l+108>>1]|0)-(((e[l+94>>1]|0)-(e[l+92>>1]|0)-(e[l+108>>1]|0)-1|0)%1|0);k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=3;b[(c[l+20>>2]|0)+2>>1]=3;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l+4>>2]|0)+4>>1]=((c[l+20>>2]|0)-(c[l+4>>2]|0)|0)/16|0;break}else if((g|0)==66){g=0;a[l+112>>0]=a[f>>0]|0;b[l+104>>1]=(e[l+104>>1]|0)+(d[(c[l+4>>2]|0)+1>>0]|0);b[l+106>>1]=(e[l+94>>1]|0)-(e[l+92>>1]|0);k=(c[l+4>>2]|0)+2|0;b[k>>1]=(e[k>>1]|0)+3;k=(c[l+4>>2]|0)+1|0;a[k>>0]=(d[k>>0]|0)+3;c[l+20>>2]=c[l+4>>2];break}}else{a[l+112>>0]=(e[l+108>>1]|0)/1|0;b[l+106>>1]=(e[l+108>>1]|0)-((e[l+108>>1]|0)%1|0);k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=3;b[(c[l+20>>2]|0)+2>>1]=3;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l+36>>2]|0)+8>>1]=((c[l+20>>2]|0)-(c[l+36>>2]|0)|0)/16|0}while(0);b[l+102>>1]=((c[l+20>>2]|0)-(c[l+64>>2]|0)|0)/16|0;k=_((e[(c[l+36>>2]|0)+10>>1]|0)+(e[l+106>>1]|0)|0,c[l+40>>2]|0)|0;c[l+48>>2]=(c[l+48>>2]|0)+k;c[l+40>>2]=_(c[l+40>>2]|0,e[l+104>>1]|0)|0;while(1){if((c[l+48>>2]^(c[l+48>>2]|0)+(c[l+40>>2]|0))>>>0>=16777216){if((c[l+40>>2]|0)>>>0>=65536)break;c[l+40>>2]=0-(c[l+48>>2]|0)&65535}c[l+44>>2]=c[l+44>>2]<<8;if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]}c[l+40>>2]=c[l+40>>2]<<8;c[l+48>>2]=c[l+48>>2]<<8}k=(c[l+36>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+3;if((e[l+104>>1]|0)<=250)if((e[(c[l+36>>2]|0)+12>>1]|0)<=65280)break;if(e[(c[l+36>>2]|0)+8>>1]|0)f=(aq((c[l+36>>2]|0)+(e[(c[l+36>>2]|0)+8>>1]<<4)|0)|0)&65535;else f=0;b[(c[l+36>>2]|0)+12>>1]=f;k=(c[l+36>>2]|0)+10|0;b[k>>1]=(e[k>>1]|0)-(e[(c[l+36>>2]|0)+10>>1]>>1);k=(c[l+36>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+((e[(c[l+36>>2]|0)+10>>1]|0)+256)}while(0);c[l+16>>2]=(c[l+64>>2]|0)+(e[l+110>>1]<<4);while(1){if((c[l+16>>2]|0)==(c[l+24>>2]|0))break;b[l+106>>1]=0;b[l+104>>1]=0;do if(b[(c[l+16>>2]|0)+8>>1]|0){c[l>>2]=(c[l+16>>2]|0)+(e[(c[l+16>>2]|0)+8>>1]<<4);while(1){if((d[l+112>>0]|0)<(d[c[l>>2]>>0]|0)){k=(c[l>>2]|0)+2|0;b[k>>1]=(e[k>>1]|0)+2;if(!(b[(c[l>>2]|0)+4>>1]|0)){g=87;break}c[l>>2]=(c[l>>2]|0)+(e[(c[l>>2]|0)+4>>1]<<4);continue}f=c[l>>2]|0;if((d[l+112>>0]|0)<=(d[c[l>>2]>>0]|0)){g=92;break}b[l+106>>1]=(e[l+106>>1]|0)+(e[f+2>>1]|0);if(!(b[(c[l>>2]|0)+6>>1]|0)){g=91;break}c[l>>2]=(c[l>>2]|0)+(e[(c[l>>2]|0)+6>>1]<<4)}if((g|0)==87){g=0;k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=2;b[(c[l+20>>2]|0)+2>>1]=2;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l>>2]|0)+4>>1]=((c[l+20>>2]|0)-(c[l>>2]|0)|0)/16|0;break}else if((g|0)==91){g=0;k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=2;b[(c[l+20>>2]|0)+2>>1]=2;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l>>2]|0)+6>>1]=((c[l+20>>2]|0)-(c[l>>2]|0)|0)/16|0;break}else if((g|0)==92){g=0;b[l+104>>1]=(e[l+104>>1]|0)+(d[f+1>>0]|0);b[l+106>>1]=(e[l+106>>1]|0)+((e[(c[l>>2]|0)+2>>1]|0)-(d[(c[l>>2]|0)+1>>0]|0));k=(c[l>>2]|0)+2|0;b[k>>1]=(e[k>>1]|0)+2;k=(c[l>>2]|0)+1|0;a[k>>0]=(d[k>>0]|0)+2;c[l+20>>2]=c[l>>2];break}}else{k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+20>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+20>>2]>>0]=a[l+112>>0]|0;a[(c[l+20>>2]|0)+1>>0]=2;b[(c[l+20>>2]|0)+2>>1]=2;b[(c[l+20>>2]|0)+4>>1]=0;b[(c[l+20>>2]|0)+6>>1]=0;b[(c[l+20>>2]|0)+8>>1]=0;b[(c[l+20>>2]|0)+10>>1]=0;b[(c[l+20>>2]|0)+12>>1]=0;b[(c[l+20>>2]|0)+14>>1]=0;b[(c[l+16>>2]|0)+8>>1]=((c[l+20>>2]|0)-(c[l+16>>2]|0)|0)/16|0}while(0);b[c[l+12>>2]>>1]=((c[l+20>>2]|0)-(c[l+64>>2]|0)|0)/16|0;c[l+12>>2]=(c[l+20>>2]|0)+14;if((e[l+104>>1]|0)<=0){k=(c[l+16>>2]|0)+10|0;b[k>>1]=(e[k>>1]|0)+5;k=(c[l+16>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+5}k=(c[l+16>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+2;if((e[l+104>>1]|0)>251)g=97;else if((e[(c[l+16>>2]|0)+12>>1]|0)>65280)g=97;if((g|0)==97){g=0;if(e[(c[l+16>>2]|0)+8>>1]|0)f=(aq((c[l+16>>2]|0)+(e[(c[l+16>>2]|0)+8>>1]<<4)|0)|0)&65535;else f=0;b[(c[l+16>>2]|0)+12>>1]=f;k=(c[l+16>>2]|0)+10|0;b[k>>1]=(e[k>>1]|0)-(e[(c[l+16>>2]|0)+10>>1]>>1);k=(c[l+16>>2]|0)+12|0;b[k>>1]=(e[k>>1]|0)+((e[(c[l+16>>2]|0)+10>>1]|0)+0)}c[l+16>>2]=(c[l+64>>2]|0)+(e[(c[l+16>>2]|0)+14>>1]<<4)}b[c[l+12>>2]>>1]=b[l+102>>1]|0;if((c[l+72>>2]|0)>>>0>=(c[l+56>>2]|0)>>>0){g=102;break}j=a[l+112>>0]|0;k=c[l+72>>2]|0;c[l+72>>2]=k+1;a[k>>0]=j;if((c[l+32>>2]|0)>>>0>=2)b[l+110>>1]=b[(c[l+64>>2]|0)+(e[l+110>>1]<<4)+14>>1]|0;else c[l+32>>2]=(c[l+32>>2]|0)+1;if((c[l+28>>2]|0)>>>0<4094)continue;c[l+28>>2]=0;k=c[l+28>>2]|0;c[l+28>>2]=k+1;c[l+36>>2]=(c[l+64>>2]|0)+(k<<4);a[c[l+36>>2]>>0]=0;a[(c[l+36>>2]|0)+1>>0]=0;b[(c[l+36>>2]|0)+2>>1]=0;b[(c[l+36>>2]|0)+4>>1]=0;b[(c[l+36>>2]|0)+6>>1]=0;b[(c[l+36>>2]|0)+8>>1]=0;b[(c[l+36>>2]|0)+10>>1]=0;b[(c[l+36>>2]|0)+12>>1]=0;b[(c[l+36>>2]|0)+14>>1]=0;b[(c[l+36>>2]|0)+10>>1]=1;b[(c[l+36>>2]|0)+12>>1]=257;b[(c[l+36>>2]|0)+8>>1]=0;b[l+110>>1]=0;c[l+32>>2]=0}if((g|0)==24){c[l+88>>2]=0;k=c[l+88>>2]|0;i=l;return k|0}else if((g|0)==29){c[l+88>>2]=0;k=c[l+88>>2]|0;i=l;return k|0}else if((g|0)==33){c[l+88>>2]=0;k=c[l+88>>2]|0;i=l;return k|0}else if((g|0)==48){c[l+48>>2]=(c[l+48>>2]|0)+0;c[l+40>>2]=_(c[l+40>>2]|0,e[(c[l+36>>2]|0)+10>>1]|0)|0;while(1){if((c[l+48>>2]^(c[l+48>>2]|0)+(c[l+40>>2]|0))>>>0>=16777216){if((c[l+40>>2]|0)>>>0>=65536)break;c[l+40>>2]=0-(c[l+48>>2]|0)&65535}c[l+44>>2]=c[l+44>>2]<<8;if((c[l+80>>2]|0)>>>0<(c[l+52>>2]|0)>>>0){k=c[l+80>>2]|0;c[l+80>>2]=k+1;c[l+44>>2]=c[l+44>>2]|d[k>>0]}c[l+40>>2]=c[l+40>>2]<<8;c[l+48>>2]=c[l+48>>2]<<8}c[l+88>>2]=(c[l+72>>2]|0)-(c[l+60>>2]|0);k=c[l+88>>2]|0;i=l;return k|0}else if((g|0)==102){c[l+88>>2]=0;k=c[l+88>>2]|0;i=l;return k|0}return 0}function cq(a){a=a|0;var b=0;b=i;i=i+32|0;c[b+16>>2]=a;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=Zp()|0;if(!(c[b>>2]|0)){c[b+20>>2]=-1;a=c[b+20>>2]|0;i=b;return a|0}else{c[b+4>>2]=47;c[b+8>>2]=66;c[b+12>>2]=687;hq(c[b+16>>2]|0,b);c[b+20>>2]=0;a=c[b+20>>2]|0;i=b;return a|0}return 0}function dq(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+32|0;c[j+24>>2]=d;c[j+20>>2]=e;c[j+16>>2]=f;c[j+12>>2]=g;c[j+8>>2]=h;if((c[j+20>>2]|0)>>>0>4095){c[j+28>>2]=0;e=c[j+28>>2]|0;i=j;return e|0}c[j+4>>2]=Xp(10396)|0;if(!(c[j+4>>2]|0)){c[j+28>>2]=0;e=c[j+28>>2]|0;i=j;return e|0}hBb(c[j+4>>2]|0,0,10396)|0;d=Xp((c[j+20>>2]|0)*380|0)|0;c[(c[j+4>>2]|0)+36>>2]=d;d=c[j+4>>2]|0;if(!(c[(c[j+4>>2]|0)+36>>2]|0)){Yp(d);c[j+28>>2]=0;e=c[j+28>>2]|0;i=j;return e|0}hBb(c[d+36>>2]|0,0,(c[j+20>>2]|0)*380|0)|0;e=yr(2)|0;c[c[j+4>>2]>>2]=e;do if((c[c[j+4>>2]>>2]|0)!=-1){if(c[j+24>>2]|0)if((wr(c[c[j+4>>2]>>2]|0,c[j+24>>2]|0)|0)<0)break;zr(c[c[j+4>>2]>>2]|0,1,1)|0;zr(c[c[j+4>>2]>>2]|0,2,1)|0;zr(c[c[j+4>>2]>>2]|0,3,262144)|0;zr(c[c[j+4>>2]>>2]|0,4,262144)|0;if(c[j+24>>2]|0)if((xr(c[c[j+4>>2]>>2]|0,(c[j+4>>2]|0)+4|0)|0)<0){e=(c[j+4>>2]|0)+4|0;h=c[j+24>>2]|0;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2]}if((c[j+16>>2]|0)==0?1:(c[j+16>>2]|0)>>>0>255)c[j+16>>2]=255;else if((c[j+16>>2]|0)>>>0<1)c[j+16>>2]=1;c[(c[j+4>>2]|0)+28>>2]=c[j+4>>2];h=sr()|0;e=(c[j+4>>2]|0)+28|0;c[e>>2]=(c[e>>2]|0)+h;c[(c[j+4>>2]|0)+28>>2]=c[(c[j+4>>2]|0)+28>>2]<<16|(c[(c[j+4>>2]|0)+28>>2]|0)>>>16;c[(c[j+4>>2]|0)+44>>2]=c[j+16>>2];c[(c[j+4>>2]|0)+12>>2]=c[j+12>>2];c[(c[j+4>>2]|0)+16>>2]=c[j+8>>2];c[(c[j+4>>2]|0)+20>>2]=0;c[(c[j+4>>2]|0)+32>>2]=0;c[(c[j+4>>2]|0)+24>>2]=1400;c[(c[j+4>>2]|0)+40>>2]=c[j+20>>2];c[(c[j+4>>2]|0)+1608>>2]=0;c[(c[j+4>>2]|0)+2132>>2]=0;c[(c[j+4>>2]|0)+2136>>2]=0;c[(c[j+4>>2]|0)+10348>>2]=0;b[(c[j+4>>2]|0)+10348+4>>1]=0;c[(c[j+4>>2]|0)+10356>>2]=0;c[(c[j+4>>2]|0)+10360>>2]=0;c[(c[j+4>>2]|0)+10364>>2]=0;c[(c[j+4>>2]|0)+10368>>2]=0;c[(c[j+4>>2]|0)+10372>>2]=0;c[(c[j+4>>2]|0)+10376>>2]=0;c[(c[j+4>>2]|0)+10384>>2]=0;c[(c[j+4>>2]|0)+10388>>2]=0;c[(c[j+4>>2]|0)+10392>>2]=4095;c[(c[j+4>>2]|0)+2140>>2]=0;c[(c[j+4>>2]|0)+2140+4>>2]=0;c[(c[j+4>>2]|0)+2140+8>>2]=0;c[(c[j+4>>2]|0)+2140+12>>2]=0;c[(c[j+4>>2]|0)+10380>>2]=0;lq((c[j+4>>2]|0)+52|0);c[j>>2]=c[(c[j+4>>2]|0)+36>>2];while(1){d=c[j+4>>2]|0;if((c[j>>2]|0)>>>0>=((c[(c[j+4>>2]|0)+36>>2]|0)+((c[(c[j+4>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;c[(c[j>>2]|0)+8>>2]=d;b[(c[j>>2]|0)+14>>1]=((c[j>>2]|0)-(c[(c[j+4>>2]|0)+36>>2]|0)|0)/380|0;a[(c[j>>2]|0)+21>>0]=-1;a[(c[j>>2]|0)+20>>0]=-1;c[(c[j>>2]|0)+32>>2]=0;lq((c[j>>2]|0)+192|0);lq((c[j>>2]|0)+200|0);lq((c[j>>2]|0)+208|0);lq((c[j>>2]|0)+216|0);lq((c[j>>2]|0)+224|0);lq((c[j>>2]|0)+232|0);Dq(c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+380}c[j+28>>2]=d;e=c[j+28>>2]|0;i=j;return e|0}while(0);if((c[c[j+4>>2]>>2]|0)!=-1)Ar(c[c[j+4>>2]>>2]|0);Yp(c[(c[j+4>>2]|0)+36>>2]|0);Yp(c[j+4>>2]|0);c[j+28>>2]=0;e=c[j+28>>2]|0;i=j;return e|0}function eq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;if(!(c[b+4>>2]|0)){i=b;return}Ar(c[c[b+4>>2]>>2]|0);c[b>>2]=c[(c[b+4>>2]|0)+36>>2];while(1){if((c[b>>2]|0)>>>0>=((c[(c[b+4>>2]|0)+36>>2]|0)+((c[(c[b+4>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;Dq(c[b>>2]|0);c[b>>2]=(c[b>>2]|0)+380}if(c[(c[b+4>>2]|0)+2140>>2]|0)if(c[(c[b+4>>2]|0)+2140+12>>2]|0)Hi[c[(c[b+4>>2]|0)+2140+12>>2]&1023](c[(c[b+4>>2]|0)+2140>>2]|0);Yp(c[(c[b+4>>2]|0)+36>>2]|0);Yp(c[b+4>>2]|0);i=b;return}function fq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;i=i+80|0;c[h+20>>2]=d;c[h+16>>2]=e;c[h+12>>2]=f;c[h+8>>2]=g;if((c[h+12>>2]|0)>>>0<1)c[h+12>>2]=1;else if((c[h+12>>2]|0)>>>0>255)c[h+12>>2]=255;c[h+4>>2]=c[(c[h+20>>2]|0)+36>>2];while(1){if((c[h+4>>2]|0)>>>0>=((c[(c[h+20>>2]|0)+36>>2]|0)+((c[(c[h+20>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;if(!(c[(c[h+4>>2]|0)+36>>2]|0))break;c[h+4>>2]=(c[h+4>>2]|0)+380}if((c[h+4>>2]|0)>>>0>=((c[(c[h+20>>2]|0)+36>>2]|0)+((c[(c[h+20>>2]|0)+40>>2]|0)*380|0)|0)>>>0){c[h+24>>2]=0;d=c[h+24>>2]|0;i=h;return d|0}d=Xp((c[h+12>>2]|0)*60|0)|0;c[(c[h+4>>2]|0)+40>>2]=d;if(!(c[(c[h+4>>2]|0)+40>>2]|0)){c[h+24>>2]=0;d=c[h+24>>2]|0;i=h;return d|0}c[(c[h+4>>2]|0)+44>>2]=c[h+12>>2];c[(c[h+4>>2]|0)+36>>2]=1;g=(c[h+4>>2]|0)+24|0;d=c[h+16>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];g=(c[h+20>>2]|0)+28|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;c[(c[h+4>>2]|0)+16>>2]=d;if(!(c[(c[h+20>>2]|0)+16>>2]|0))c[(c[h+4>>2]|0)+180>>2]=65536;else c[(c[h+4>>2]|0)+180>>2]=(((c[(c[h+20>>2]|0)+16>>2]|0)>>>0)/65536|0)<<12;e=(c[h+4>>2]|0)+180|0;if((c[(c[h+4>>2]|0)+180>>2]|0)>>>0<4096)c[e>>2]=4096;else if((c[e>>2]|0)>>>0>65536)c[(c[h+4>>2]|0)+180>>2]=65536;c[h>>2]=c[(c[h+4>>2]|0)+40>>2];while(1){if((c[h>>2]|0)>>>0>=((c[(c[h+4>>2]|0)+40>>2]|0)+((c[h+12>>2]|0)*60|0)|0)>>>0)break;b[c[h>>2]>>1]=0;b[(c[h>>2]|0)+2>>1]=0;b[(c[h>>2]|0)+38>>1]=0;b[(c[h>>2]|0)+40>>1]=0;lq((c[h>>2]|0)+44|0);lq((c[h>>2]|0)+52|0);b[(c[h>>2]|0)+4>>1]=0;e=(c[h>>2]|0)+6|0;f=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(f|0));c[h>>2]=(c[h>>2]|0)+60}a[h+32>>0]=-126;a[h+32+1>>0]=-1;d=Hob(b[(c[h+4>>2]|0)+14>>1]|0)|0;a[h+32+4>>0]=d;a[h+32+4+1>>0]=d>>8;a[h+32+6>>0]=a[(c[h+4>>2]|0)+21>>0]|0;a[h+32+7>>0]=a[(c[h+4>>2]|0)+20>>0]|0;d=Iob(c[(c[h+4>>2]|0)+176>>2]|0)|0;a[h+32+8>>0]=d;a[h+32+8+1>>0]=d>>8;a[h+32+8+2>>0]=d>>16;a[h+32+8+3>>0]=d>>24;d=Iob(c[(c[h+4>>2]|0)+180>>2]|0)|0;a[h+32+12>>0]=d;a[h+32+12+1>>0]=d>>8;a[h+32+12+2>>0]=d>>16;a[h+32+12+3>>0]=d>>24;d=Iob(c[h+12>>2]|0)|0;a[h+32+16>>0]=d;a[h+32+16+1>>0]=d>>8;a[h+32+16+2>>0]=d>>16;a[h+32+16+3>>0]=d>>24;d=Iob(c[(c[h+20>>2]|0)+12>>2]|0)|0;a[h+32+20>>0]=d;a[h+32+20+1>>0]=d>>8;a[h+32+20+2>>0]=d>>16;a[h+32+20+3>>0]=d>>24;d=Iob(c[(c[h+20>>2]|0)+16>>2]|0)|0;a[h+32+24>>0]=d;a[h+32+24+1>>0]=d>>8;a[h+32+24+2>>0]=d>>16;a[h+32+24+3>>0]=d>>24;d=Iob(c[(c[h+4>>2]|0)+132>>2]|0)|0;a[h+32+28>>0]=d;a[h+32+28+1>>0]=d>>8;a[h+32+28+2>>0]=d>>16;a[h+32+28+3>>0]=d>>24;d=Iob(c[(c[h+4>>2]|0)+124>>2]|0)|0;a[h+32+32>>0]=d;a[h+32+32+1>>0]=d>>8;a[h+32+32+2>>0]=d>>16;a[h+32+32+3>>0]=d>>24;d=Iob(c[(c[h+4>>2]|0)+128>>2]|0)|0;a[h+32+36>>0]=d;a[h+32+36+1>>0]=d>>8;a[h+32+36+2>>0]=d>>16;a[h+32+36+3>>0]=d>>24;d=c[(c[h+4>>2]|0)+16>>2]|0;a[h+32+40>>0]=d;a[h+32+40+1>>0]=d>>8;a[h+32+40+2>>0]=d>>16;a[h+32+40+3>>0]=d>>24;d=Iob(c[h+8>>2]|0)|0;a[h+32+44>>0]=d;a[h+32+44+1>>0]=d>>8;a[h+32+44+2>>0]=d>>16;a[h+32+44+3>>0]=d>>24;sq(c[h+4>>2]|0,h+32|0,0,0,0)|0;c[h+24>>2]=c[h+4>>2];d=c[h+24>>2]|0;i=h;return d|0}function gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+8>>2]=b;a[f+12>>0]=d;c[f+4>>2]=e;c[f>>2]=c[(c[f+8>>2]|0)+36>>2];while(1){if((c[f>>2]|0)>>>0>=((c[(c[f+8>>2]|0)+36>>2]|0)+((c[(c[f+8>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;if((c[(c[f>>2]|0)+36>>2]|0)==5)vq(c[f>>2]|0,a[f+12>>0]|0,c[f+4>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+380}if(c[c[f+4>>2]>>2]|0){i=f;return}qq(c[f+4>>2]|0);i=f;return}function hq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;if(c[(c[d+4>>2]|0)+2140>>2]|0)if(c[(c[d+4>>2]|0)+2140+12>>2]|0)Hi[c[(c[d+4>>2]|0)+2140+12>>2]&1023](c[(c[d+4>>2]|0)+2140>>2]|0);b=(c[d+4>>2]|0)+2140|0;if(c[d>>2]|0){a=c[d>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];i=d;return}else{c[b>>2]=0;i=d;return}}function iq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;if((c[d>>2]|0)==0|(c[d>>2]|0)>>>0>255)c[d>>2]=255;else if((c[d>>2]|0)>>>0<1)c[d>>2]=1;c[(c[d+4>>2]|0)+44>>2]=c[d>>2];i=d;return}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;c[(c[e+8>>2]|0)+12>>2]=c[e+4>>2];c[(c[e+8>>2]|0)+16>>2]=c[e>>2];c[(c[e+8>>2]|0)+32>>2]=1;i=e;return}function kq(b){b=b|0;var d=0,e=0;e=i;i=i+96|0;c[e+40>>2]=b;c[e+36>>2]=tr()|0;c[e+32>>2]=(c[e+36>>2]|0)-(c[(c[e+40>>2]|0)+20>>2]|0);c[e+28>>2]=c[(c[e+40>>2]|0)+10384>>2];c[e+24>>2]=-1;c[e+20>>2]=-1;c[e+16>>2]=0;c[e+12>>2]=0;c[e+8>>2]=(c[(c[e+40>>2]|0)+10388>>2]|0)>>>0>0?1:0;if((c[e+32>>2]|0)>>>0<1e3){i=e;return}c[(c[e+40>>2]|0)+20>>2]=c[e+36>>2];if(!(c[e+28>>2]|0)){i=e;return}a:do if(c[(c[e+40>>2]|0)+16>>2]|0){c[e+24>>2]=0;c[e+20>>2]=((_(c[(c[e+40>>2]|0)+16>>2]|0,c[e+32>>2]|0)|0)>>>0)/1e3|0;c[e+4>>2]=c[(c[e+40>>2]|0)+36>>2];while(1){if((c[e+4>>2]|0)>>>0>=((c[(c[e+40>>2]|0)+36>>2]|0)+((c[(c[e+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break a;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5){if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=8}else d=8;if((d|0)==8){d=0;c[e+24>>2]=(c[e+24>>2]|0)+(c[(c[e+4>>2]|0)+68>>2]|0)}c[e+4>>2]=(c[e+4>>2]|0)+380}}while(0);b:while(1){if(!((c[e+28>>2]|0)>>>0>0?(c[e+8>>2]|0)!=0:0))break;c[e+8>>2]=0;if((c[e+24>>2]|0)>>>0<=(c[e+20>>2]|0)>>>0)c[e+16>>2]=32;else c[e+16>>2]=(c[e+20>>2]<<5>>>0)/((c[e+24>>2]|0)>>>0)|0;c[e+4>>2]=c[(c[e+40>>2]|0)+36>>2];while(1){if((c[e+4>>2]|0)>>>0>=((c[(c[e+40>>2]|0)+36>>2]|0)+((c[(c[e+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)continue b;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5){if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=18}else d=18;if((d|0)==18){d=0;if(c[(c[e+4>>2]|0)+48>>2]|0)if((c[(c[e+4>>2]|0)+60>>2]|0)!=(c[e+36>>2]|0)){c[e>>2]=((_(c[(c[e+4>>2]|0)+48>>2]|0,c[e+32>>2]|0)|0)>>>0)/1e3|0;b=((_(c[e+16>>2]|0,c[(c[e+4>>2]|0)+68>>2]|0)|0)>>>0)/32|0;if(b>>>0>(c[e>>2]|0)>>>0){c[(c[e+4>>2]|0)+112>>2]=(c[e>>2]<<5>>>0)/((c[(c[e+4>>2]|0)+68>>2]|0)>>>0)|0;if(!(c[(c[e+4>>2]|0)+112>>2]|0))c[(c[e+4>>2]|0)+112>>2]=1;if((c[(c[e+4>>2]|0)+108>>2]|0)>>>0>(c[(c[e+4>>2]|0)+112>>2]|0)>>>0)c[(c[e+4>>2]|0)+108>>2]=c[(c[e+4>>2]|0)+112>>2];c[(c[e+4>>2]|0)+60>>2]=c[e+36>>2];c[(c[e+4>>2]|0)+64>>2]=0;c[(c[e+4>>2]|0)+68>>2]=0;c[e+8>>2]=1;c[e+28>>2]=(c[e+28>>2]|0)+-1;c[e+20>>2]=(c[e+20>>2]|0)-(c[e>>2]|0);c[e+24>>2]=(c[e+24>>2]|0)-(c[e>>2]|0)}}}c[e+4>>2]=(c[e+4>>2]|0)+380}}c:do if((c[e+28>>2]|0)>>>0>0){if((c[e+24>>2]|0)>>>0<=(c[e+20>>2]|0)>>>0)c[e+16>>2]=32;else c[e+16>>2]=(c[e+20>>2]<<5>>>0)/((c[e+24>>2]|0)>>>0)|0;c[e+4>>2]=c[(c[e+40>>2]|0)+36>>2];while(1){if((c[e+4>>2]|0)>>>0>=((c[(c[e+40>>2]|0)+36>>2]|0)+((c[(c[e+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break c;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5){if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=35}else d=35;if((d|0)==35){d=0;if((c[(c[e+4>>2]|0)+60>>2]|0)!=(c[e+36>>2]|0)){c[(c[e+4>>2]|0)+112>>2]=c[e+16>>2];if((c[(c[e+4>>2]|0)+108>>2]|0)>>>0>(c[(c[e+4>>2]|0)+112>>2]|0)>>>0)c[(c[e+4>>2]|0)+108>>2]=c[(c[e+4>>2]|0)+112>>2];c[(c[e+4>>2]|0)+64>>2]=0;c[(c[e+4>>2]|0)+68>>2]=0}}c[e+4>>2]=(c[e+4>>2]|0)+380}}while(0);if(!(c[(c[e+40>>2]|0)+32>>2]|0)){i=e;return}c[(c[e+40>>2]|0)+32>>2]=0;c[e+28>>2]=c[(c[e+40>>2]|0)+10384>>2];c[e+20>>2]=c[(c[e+40>>2]|0)+12>>2];c[e+8>>2]=1;d:do if(!(c[e+20>>2]|0))c[e+12>>2]=0;else e:while(1){if(!((c[e+28>>2]|0)>>>0>0?(c[e+8>>2]|0)!=0:0))break d;c[e+8>>2]=0;c[e+12>>2]=((c[e+20>>2]|0)>>>0)/((c[e+28>>2]|0)>>>0)|0;c[e+4>>2]=c[(c[e+40>>2]|0)+36>>2];while(1){if((c[e+4>>2]|0)>>>0>=((c[(c[e+40>>2]|0)+36>>2]|0)+((c[(c[e+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)continue e;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5){if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=48}else d=48;do if((d|0)==48){d=0;if((c[(c[e+4>>2]|0)+56>>2]|0)!=(c[e+36>>2]|0)){if((c[(c[e+4>>2]|0)+52>>2]|0)>>>0>0)if((c[(c[e+4>>2]|0)+52>>2]|0)>>>0>=(c[e+12>>2]|0)>>>0)break;c[(c[e+4>>2]|0)+56>>2]=c[e+36>>2];c[e+8>>2]=1;c[e+28>>2]=(c[e+28>>2]|0)+-1;c[e+20>>2]=(c[e+20>>2]|0)-(c[(c[e+4>>2]|0)+52>>2]|0)}}while(0);c[e+4>>2]=(c[e+4>>2]|0)+380}}while(0);c[e+4>>2]=c[(c[e+40>>2]|0)+36>>2];while(1){if((c[e+4>>2]|0)>>>0>=((c[(c[e+40>>2]|0)+36>>2]|0)+((c[(c[e+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5){if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=57}else d=57;if((d|0)==57){d=0;a[e+48>>0]=-118;a[e+48+1>>0]=-1;b=Iob(c[(c[e+40>>2]|0)+16>>2]|0)|0;a[e+48+8>>0]=b;a[e+48+8+1>>0]=b>>8;a[e+48+8+2>>0]=b>>16;a[e+48+8+3>>0]=b>>24;if((c[(c[e+4>>2]|0)+56>>2]|0)==(c[e+36>>2]|0)){b=Iob(c[(c[e+4>>2]|0)+52>>2]|0)|0;a[e+48+4>>0]=b;a[e+48+4+1>>0]=b>>8;a[e+48+4+2>>0]=b>>16;a[e+48+4+3>>0]=b>>24}else{b=Iob(c[e+12>>2]|0)|0;a[e+48+4>>0]=b;a[e+48+4+1>>0]=b>>8;a[e+48+4+2>>0]=b>>16;a[e+48+4+3>>0]=b>>24}sq(c[e+4>>2]|0,e+48|0,0,0,0)|0}c[e+4>>2]=(c[e+4>>2]|0)+380}i=e;return}function lq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;c[c[b>>2]>>2]=c[b>>2];c[(c[b>>2]|0)+4>>2]=c[b>>2];i=b;return}function mq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;c[d>>2]=c[d+4>>2];c[(c[d>>2]|0)+4>>2]=c[(c[d+8>>2]|0)+4>>2];c[c[d>>2]>>2]=c[d+8>>2];c[c[(c[d>>2]|0)+4>>2]>>2]=c[d>>2];c[(c[d+8>>2]|0)+4>>2]=c[d>>2];i=d;return c[d>>2]|0}function nq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;c[c[(c[b>>2]|0)+4>>2]>>2]=c[c[b>>2]>>2];c[(c[c[b>>2]>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];i=b;return c[b>>2]|0}function oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[e+4>>2]=c[e+12>>2];c[e>>2]=c[e+8>>2];c[c[(c[e+4>>2]|0)+4>>2]>>2]=c[c[e>>2]>>2];c[(c[c[e>>2]>>2]|0)+4>>2]=c[(c[e+4>>2]|0)+4>>2];c[(c[e+4>>2]|0)+4>>2]=c[(c[e+16>>2]|0)+4>>2];c[c[e>>2]>>2]=c[e+16>>2];c[c[(c[e+4>>2]|0)+4>>2]>>2]=c[e+4>>2];c[(c[e+16>>2]|0)+4>>2]=c[e>>2];i=e;return c[e+4>>2]|0}function pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+12>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[e>>2]=Xp(24)|0;if(!(c[e>>2]|0)){c[e+16>>2]=0;d=c[e+16>>2]|0;i=e;return d|0}do if(c[e+4>>2]&4|0)c[(c[e>>2]|0)+8>>2]=c[e+12>>2];else{if((c[e+8>>2]|0)>>>0<=0){c[(c[e>>2]|0)+8>>2]=0;break}d=Xp(c[e+8>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=d;if(!(c[(c[e>>2]|0)+8>>2]|0)){Yp(c[e>>2]|0);c[e+16>>2]=0;d=c[e+16>>2]|0;i=e;return d|0}else{if(!(c[e+12>>2]|0))break;mBb(c[(c[e>>2]|0)+8>>2]|0,c[e+12>>2]|0,c[e+8>>2]|0)|0;break}}while(0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+4>>2]=c[e+4>>2];c[(c[e>>2]|0)+12>>2]=c[e+8>>2];c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+20>>2]=0;c[e+16>>2]=c[e>>2];d=c[e+16>>2]|0;i=e;return d|0}function qq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;if(!(c[b>>2]|0)){i=b;return}if(c[(c[b>>2]|0)+16>>2]|0)Hi[c[(c[b>>2]|0)+16>>2]&1023](c[b>>2]|0);if(!(c[(c[b>>2]|0)+4>>2]&4))if(c[(c[b>>2]|0)+8>>2]|0)Yp(c[(c[b>>2]|0)+8>>2]|0);Yp(c[b>>2]|0);i=b;return}function rq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+64|0;c[g+12>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;c[(c[g+12>>2]|0)+132>>2]=c[g+8>>2];c[(c[g+12>>2]|0)+124>>2]=c[g+4>>2];c[(c[g+12>>2]|0)+128>>2]=c[g>>2];a[g+16>>0]=-117;a[g+16+1>>0]=-1;b=Iob(c[g+8>>2]|0)|0;a[g+16+4>>0]=b;a[g+16+4+1>>0]=b>>8;a[g+16+4+2>>0]=b>>16;a[g+16+4+3>>0]=b>>24;b=Iob(c[g+4>>2]|0)|0;a[g+16+8>>0]=b;a[g+16+8+1>>0]=b>>8;a[g+16+8+2>>0]=b>>16;a[g+16+8+3>>0]=b>>24;b=Iob(c[g>>2]|0)|0;a[g+16+12>>0]=b;a[g+16+12+1>>0]=b>>8;a[g+16+12+2>>0]=b>>16;a[g+16+12+3>>0]=b>>24;sq(c[g+12>>2]|0,g+16|0,0,0,0)|0;i=g;return}function sq(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+32|0;c[j+16>>2]=d;c[j+12>>2]=e;c[j+8>>2]=f;c[j+4>>2]=g;b[j+24>>1]=h;c[j>>2]=Xp(84)|0;if(!(c[j>>2]|0)){c[j+20>>2]=0;d=c[j+20>>2]|0;i=j;return d|0}e=(c[j>>2]|0)+32|0;h=c[j+12>>2]|0;g=e+48|0;do{a[e>>0]=a[h>>0]|0;e=e+1|0;h=h+1|0}while((e|0)<(g|0));c[(c[j>>2]|0)+24>>2]=c[j+4>>2];b[(c[j>>2]|0)+28>>1]=b[j+24>>1]|0;c[(c[j>>2]|0)+80>>2]=c[j+8>>2];if(c[j+8>>2]|0){d=c[j+8>>2]|0;c[d>>2]=(c[d>>2]|0)+1}tq(c[j+16>>2]|0,c[j>>2]|0);c[j+20>>2]=c[j>>2];d=c[j+20>>2]|0;i=j;return d|0}function tq(f,g){f=f|0;g=g|0;var h=0;h=i;i=i+16|0;c[h+8>>2]=f;c[h+4>>2]=g;c[h>>2]=(c[(c[h+8>>2]|0)+40>>2]|0)+((d[(c[h+4>>2]|0)+32+1>>0]|0)*60|0);g=Oq(a[(c[h+4>>2]|0)+32>>0]|0)|0;f=(c[h+8>>2]|0)+68|0;c[f>>2]=(c[f>>2]|0)+(g+(e[(c[h+4>>2]|0)+28>>1]|0));do if((d[(c[h+4>>2]|0)+32+1>>0]|0|0)==255){f=(c[h+8>>2]|0)+188|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[(c[h+4>>2]|0)+8>>1]=b[(c[h+8>>2]|0)+188>>1]|0;b[(c[h+4>>2]|0)+10>>1]=0}else{if((d[(c[h+4>>2]|0)+32>>0]|0)&128|0){f=c[h>>2]|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[(c[h>>2]|0)+2>>1]=0;b[(c[h+4>>2]|0)+8>>1]=b[c[h>>2]>>1]|0;b[(c[h+4>>2]|0)+10>>1]=0;break}if((d[(c[h+4>>2]|0)+32>>0]|0)&64|0){f=(c[h+8>>2]|0)+246|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;b[(c[h+4>>2]|0)+8>>1]=0;b[(c[h+4>>2]|0)+10>>1]=0;break}if(!(c[(c[h+4>>2]|0)+24>>2]|0)){f=(c[h>>2]|0)+2|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16}b[(c[h+4>>2]|0)+8>>1]=b[c[h>>2]>>1]|0;b[(c[h+4>>2]|0)+10>>1]=b[(c[h>>2]|0)+2>>1]|0}while(0);b[(c[h+4>>2]|0)+30>>1]=0;c[(c[h+4>>2]|0)+12>>2]=0;c[(c[h+4>>2]|0)+16>>2]=0;c[(c[h+4>>2]|0)+20>>2]=0;f=Hob(b[(c[h+4>>2]|0)+8>>1]|0)|0;b[(c[h+4>>2]|0)+32+2>>1]=f;switch((d[(c[h+4>>2]|0)+32>>0]|0)&15|0){case 7:{f=Hob(b[(c[h+4>>2]|0)+10>>1]|0)|0;b[(c[h+4>>2]|0)+32+4>>1]=f;break}case 9:{f=Hob(b[(c[h+8>>2]|0)+246>>1]|0)|0;b[(c[h+4>>2]|0)+32+4>>1]=f;break}default:{}}g=c[h+8>>2]|0;if((d[(c[h+4>>2]|0)+32>>0]|0)&128|0){mq(g+216|0,c[h+4>>2]|0)|0;i=h;return}else{mq(g+224|0,c[h+4>>2]|0)|0;i=h;return}}function uq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;if((c[(c[d+4>>2]|0)+152>>2]|0)>>>0<=(c[(c[d+4>>2]|0)+160>>2]|0)>>>0)c[(c[d+4>>2]|0)+108>>2]=c[(c[d+4>>2]|0)+112>>2];else{if((c[d>>2]|0)>>>0<(c[(c[d+4>>2]|0)+152>>2]|0)>>>0){b=(c[d+4>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+(c[(c[d+4>>2]|0)+124>>2]|0);if((c[(c[d+4>>2]|0)+108>>2]|0)>>>0>(c[(c[d+4>>2]|0)+112>>2]|0)>>>0)c[(c[d+4>>2]|0)+108>>2]=c[(c[d+4>>2]|0)+112>>2];c[d+8>>2]=1;b=c[d+8>>2]|0;i=d;return b|0}if((c[d>>2]|0)>>>0>((c[(c[d+4>>2]|0)+152>>2]|0)+(c[(c[d+4>>2]|0)+160>>2]<<1)|0)>>>0){a=c[d+4>>2]|0;if((c[(c[d+4>>2]|0)+108>>2]|0)>>>0>(c[(c[d+4>>2]|0)+128>>2]|0)>>>0){b=(c[d+4>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)-(c[a+128>>2]|0)}else c[a+108>>2]=0;c[d+8>>2]=-1;b=c[d+8>>2]|0;i=d;return b|0}}c[d+8>>2]=0;b=c[d+8>>2]|0;i=d;return b|0}function vq(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;i=i+112|0;c[k+40>>2]=f;a[k+104>>0]=g;c[k+36>>2]=h;c[k+32>>2]=(c[(c[k+40>>2]|0)+40>>2]|0)+((d[k+104>>0]|0)*60|0);if((c[(c[k+40>>2]|0)+36>>2]|0)==5)if((d[k+104>>0]|0)>>>0<(c[(c[k+40>>2]|0)+44>>2]|0)>>>0)if((c[(c[k+36>>2]|0)+12>>2]|0)>>>0<=1073741824){c[k+28>>2]=(c[(c[k+40>>2]|0)+176>>2]|0)-4-24;if(c[(c[(c[k+40>>2]|0)+8>>2]|0)+2136>>2]|0)c[k+28>>2]=(c[k+28>>2]|0)-4;if((c[(c[k+36>>2]|0)+12>>2]|0)>>>0<=(c[k+28>>2]|0)>>>0){a[k+56+1>>0]=a[k+104>>0]|0;do if((c[(c[k+36>>2]|0)+4>>2]&3|0)==2){a[k+56>>0]=73;j=Hob(c[(c[k+36>>2]|0)+12>>2]&65535)|0;a[k+56+6>>0]=j;a[k+56+6+1>>0]=j>>8}else{if(!(c[(c[k+36>>2]|0)+4>>2]&1))if((e[(c[k+32>>2]|0)+2>>1]|0|0)<65535){a[k+56>>0]=7;j=Hob(c[(c[k+36>>2]|0)+12>>2]&65535)|0;a[k+56+6>>0]=j;a[k+56+6+1>>0]=j>>8;break}a[k+56>>0]=-122;j=Hob(c[(c[k+36>>2]|0)+12>>2]&65535)|0;a[k+56+4>>0]=j;a[k+56+4+1>>0]=j>>8}while(0);if(!(sq(c[k+40>>2]|0,k+56|0,c[k+36>>2]|0,0,c[(c[k+36>>2]|0)+12>>2]&65535)|0)){c[k+44>>2]=-1;j=c[k+44>>2]|0;i=k;return j|0}else{c[k+44>>2]=0;j=c[k+44>>2]|0;i=k;return j|0}}c[k+24>>2]=(((c[(c[k+36>>2]|0)+12>>2]|0)+(c[k+28>>2]|0)-1|0)>>>0)/((c[k+28>>2]|0)>>>0)|0;if((c[k+24>>2]|0)>>>0>1048576){c[k+44>>2]=-1;j=c[k+44>>2]|0;i=k;return j|0}if((c[(c[k+36>>2]|0)+4>>2]&9|0)==8)if((e[(c[k+32>>2]|0)+2>>1]|0|0)<65535){a[k+50>>0]=12;b[k+48>>1]=Hob((e[(c[k+32>>2]|0)+2>>1]|0)+1&65535)|0}else j=13;else j=13;if((j|0)==13){a[k+50>>0]=-120;b[k+48>>1]=Hob((e[c[k+32>>2]>>1]|0)+1&65535)|0}lq(k+8|0);c[k+20>>2]=0;c[k+16>>2]=0;while(1){if((c[k+16>>2]|0)>>>0>=(c[(c[k+36>>2]|0)+12>>2]|0)>>>0)break;if(((c[(c[k+36>>2]|0)+12>>2]|0)-(c[k+16>>2]|0)|0)>>>0<(c[k+28>>2]|0)>>>0)c[k+28>>2]=(c[(c[k+36>>2]|0)+12>>2]|0)-(c[k+16>>2]|0);c[k>>2]=Xp(84)|0;if(!(c[k>>2]|0)){j=19;break}c[(c[k>>2]|0)+24>>2]=c[k+16>>2];b[(c[k>>2]|0)+28>>1]=c[k+28>>2];c[(c[k>>2]|0)+80>>2]=c[k+36>>2];a[(c[k>>2]|0)+32>>0]=a[k+50>>0]|0;a[(c[k>>2]|0)+32+1>>0]=a[k+104>>0]|0;b[(c[k>>2]|0)+32+4>>1]=b[k+48>>1]|0;f=Hob(c[k+28>>2]&65535)|0;b[(c[k>>2]|0)+32+6>>1]=f;f=Iob(c[k+24>>2]|0)|0;c[(c[k>>2]|0)+32+8>>2]=f;f=Iob(c[k+20>>2]|0)|0;c[(c[k>>2]|0)+32+12>>2]=f;f=Iob(c[(c[k+36>>2]|0)+12>>2]|0)|0;c[(c[k>>2]|0)+32+16>>2]=f;f=Tob(c[k+16>>2]|0)|0;c[(c[k>>2]|0)+32+20>>2]=f;mq(k+8|0,c[k>>2]|0)|0;c[k+20>>2]=(c[k+20>>2]|0)+1;c[k+16>>2]=(c[k+16>>2]|0)+(c[k+28>>2]|0)}if((j|0)==19){while(1){if(!((c[k+8>>2]|0)==(k+8|0)^1))break;c[k>>2]=nq(c[k+8>>2]|0)|0;Yp(c[k>>2]|0);j=19}c[k+44>>2]=-1;j=c[k+44>>2]|0;i=k;return j|0}j=c[k+36>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[k+20>>2]|0);while(1){if(!((c[k+8>>2]|0)==(k+8|0)^1))break;c[k>>2]=nq(c[k+8>>2]|0)|0;tq(c[k+40>>2]|0,c[k>>2]|0)}c[k+44>>2]=0;j=c[k+44>>2]|0;i=k;return j|0}c[k+44>>2]=-1;j=c[k+44>>2]|0;i=k;return j|0}function wq(b,d){b=b|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+12>>2]=b;c[e+8>>2]=d;if((c[(c[e+12>>2]|0)+232>>2]|0)==((c[e+12>>2]|0)+232|0)){c[e+16>>2]=0;b=c[e+16>>2]|0;i=e;return b|0}c[e+4>>2]=nq(c[(c[e+12>>2]|0)+232>>2]|0)|0;if(c[e+8>>2]|0)a[c[e+8>>2]>>0]=a[(c[e+4>>2]|0)+12+1>>0]|0;c[e>>2]=c[(c[e+4>>2]|0)+72>>2];b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;if(c[(c[e+4>>2]|0)+68>>2]|0)Yp(c[(c[e+4>>2]|0)+68>>2]|0);Yp(c[e+4>>2]|0);c[e+16>>2]=c[e>>2];b=c[e+16>>2]|0;i=e;return b|0}function xq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;if(c[(c[b+4>>2]|0)+240>>2]|0){nq(c[b+4>>2]|0)|0;c[(c[b+4>>2]|0)+240>>2]=0}while(1){a=c[b+4>>2]|0;if(!((c[(c[b+4>>2]|0)+192>>2]|0)==((c[b+4>>2]|0)+192|0)^1))break;Yp(nq(c[a+192>>2]|0)|0)}yq(a+200|0);yq((c[b+4>>2]|0)+208|0);yq((c[b+4>>2]|0)+216|0);yq((c[b+4>>2]|0)+224|0);zq((c[b+4>>2]|0)+232|0);if(!(c[(c[b+4>>2]|0)+40>>2]|0)){a=c[b+4>>2]|0;a=a+40|0;c[a>>2]=0;a=c[b+4>>2]|0;a=a+44|0;c[a>>2]=0;i=b;return}if((c[(c[b+4>>2]|0)+44>>2]|0)>>>0<=0){a=c[b+4>>2]|0;a=a+40|0;c[a>>2]=0;a=c[b+4>>2]|0;a=a+44|0;c[a>>2]=0;i=b;return}c[b>>2]=c[(c[b+4>>2]|0)+40>>2];while(1){if((c[b>>2]|0)>>>0>=((c[(c[b+4>>2]|0)+40>>2]|0)+((c[(c[b+4>>2]|0)+44>>2]|0)*60|0)|0)>>>0)break;zq((c[b>>2]|0)+44|0);zq((c[b>>2]|0)+52|0);c[b>>2]=(c[b>>2]|0)+60}Yp(c[(c[b+4>>2]|0)+40>>2]|0);a=c[b+4>>2]|0;a=a+40|0;c[a>>2]=0;a=c[b+4>>2]|0;a=a+44|0;c[a>>2]=0;i=b;return}function yq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;while(1){if(!((c[c[b+4>>2]>>2]|0)==(c[b+4>>2]|0)^1))break;c[b>>2]=nq(c[c[b+4>>2]>>2]|0)|0;if(c[(c[b>>2]|0)+80>>2]|0){a=c[(c[b>>2]|0)+80>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(!(c[c[(c[b>>2]|0)+80>>2]>>2]|0))qq(c[(c[b>>2]|0)+80>>2]|0)}Yp(c[b>>2]|0)}i=b;return}function zq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;Aq(c[b>>2]|0,c[c[b>>2]>>2]|0,c[b>>2]|0);i=b;return}function Aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[e+4>>2]=c[e+12>>2];while(1){if((c[e+4>>2]|0)==(c[e+8>>2]|0))break;c[e>>2]=c[e+4>>2];c[e+4>>2]=c[c[e+4>>2]>>2];nq(c[e>>2]|0)|0;if(c[(c[e>>2]|0)+72>>2]|0){b=c[(c[e>>2]|0)+72>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;if(!(c[c[(c[e>>2]|0)+72>>2]>>2]|0))qq(c[(c[e>>2]|0)+72>>2]|0)}if(c[(c[e>>2]|0)+68>>2]|0)Yp(c[(c[e>>2]|0)+68>>2]|0);Yp(c[e>>2]|0)}i=e;return}function Bq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;if((c[(c[b>>2]|0)+36>>2]|0)==5){i=b;return}if((c[(c[b>>2]|0)+36>>2]|0)==6){i=b;return}if(c[(c[b>>2]|0)+48>>2]|0){a=(c[(c[b>>2]|0)+8>>2]|0)+10388|0;c[a>>2]=(c[a>>2]|0)+1}a=(c[(c[b>>2]|0)+8>>2]|0)+10384|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Cq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;if((c[(c[b>>2]|0)+36>>2]|0)!=5)if((c[(c[b>>2]|0)+36>>2]|0)!=6){i=b;return}if(c[(c[b>>2]|0)+48>>2]|0){a=(c[(c[b>>2]|0)+8>>2]|0)+10388|0;c[a>>2]=(c[a>>2]|0)+-1}a=(c[(c[b>>2]|0)+8>>2]|0)+10384|0;c[a>>2]=(c[a>>2]|0)+-1;i=b;return}function Dq(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;c[e>>2]=a;Cq(c[e>>2]|0);b[(c[e>>2]|0)+12>>1]=4095;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+36>>2]=0;c[(c[e>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+56>>2]=0;c[(c[e>>2]|0)+60>>2]=0;c[(c[e>>2]|0)+64>>2]=0;c[(c[e>>2]|0)+68>>2]=0;c[(c[e>>2]|0)+72>>2]=0;c[(c[e>>2]|0)+76>>2]=0;c[(c[e>>2]|0)+80>>2]=0;c[(c[e>>2]|0)+84>>2]=0;c[(c[e>>2]|0)+88>>2]=0;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+96>>2]=0;c[(c[e>>2]|0)+100>>2]=0;c[(c[e>>2]|0)+104>>2]=0;c[(c[e>>2]|0)+108>>2]=32;c[(c[e>>2]|0)+112>>2]=32;c[(c[e>>2]|0)+116>>2]=0;c[(c[e>>2]|0)+120>>2]=0;c[(c[e>>2]|0)+124>>2]=2;c[(c[e>>2]|0)+128>>2]=2;c[(c[e>>2]|0)+132>>2]=5e3;c[(c[e>>2]|0)+136>>2]=500;c[(c[e>>2]|0)+140>>2]=32;c[(c[e>>2]|0)+144>>2]=5e3;c[(c[e>>2]|0)+148>>2]=3e4;c[(c[e>>2]|0)+152>>2]=500;c[(c[e>>2]|0)+156>>2]=500;c[(c[e>>2]|0)+160>>2]=0;c[(c[e>>2]|0)+164>>2]=0;c[(c[e>>2]|0)+168>>2]=500;c[(c[e>>2]|0)+172>>2]=0;c[(c[e>>2]|0)+176>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[(c[e>>2]|0)+184>>2]=0;b[(c[e>>2]|0)+188>>1]=0;c[(c[e>>2]|0)+180>>2]=65536;b[(c[e>>2]|0)+244>>1]=0;b[(c[e>>2]|0)+246>>1]=0;c[(c[e>>2]|0)+376>>2]=0;a=(c[e>>2]|0)+248|0;d=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));xq(c[e>>2]|0);i=e;return}function Eq(b){b=b|0;var d=0;d=i;i=i+64|0;c[d>>2]=b;if((c[(c[d>>2]|0)+36>>2]|0)!=5){i=d;return}a[d+8>>0]=-123;a[d+8+1>>0]=-1;sq(c[d>>2]|0,d+8|0,0,0,0)|0;i=d;return}function Fq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;c[(c[d+4>>2]|0)+136>>2]=c[d>>2]|0?c[d>>2]|0:500;i=d;return}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[f>>2]=e;c[(c[f+12>>2]|0)+140>>2]=c[f+8>>2]|0?c[f+8>>2]|0:32;c[(c[f+12>>2]|0)+144>>2]=c[f+4>>2]|0?c[f+4>>2]|0:5e3;c[(c[f+12>>2]|0)+148>>2]=c[f>>2]|0?c[f>>2]|0:3e4;i=f;return}function Hq(b,d){b=b|0;d=d|0;var e=0;e=i;i=i+64|0;c[e+4>>2]=b;c[e>>2]=d;if(!(c[(c[e+4>>2]|0)+36>>2]|0)){i=e;return}if((c[(c[e+4>>2]|0)+36>>2]|0)!=9)if((c[(c[e+4>>2]|0)+36>>2]|0)!=7){xq(c[e+4>>2]|0);a[e+8>>0]=68;a[e+8+1>>0]=-1;b=Iob(c[e>>2]|0)|0;a[e+8+4>>0]=b;a[e+8+4+1>>0]=b>>8;a[e+8+4+2>>0]=b>>16;a[e+8+4+3>>0]=b>>24;sq(c[e+4>>2]|0,e+8|0,0,0,0)|0;Pq(c[(c[e+4>>2]|0)+8>>2]|0)}Dq(c[e+4>>2]|0);i=e;return}function Iq(b,e){b=b|0;e=e|0;var f=0,g=0;g=i;i=i+64|0;c[g+4>>2]=b;c[g>>2]=e;if((c[(c[g+4>>2]|0)+36>>2]|0)==7){i=g;return}if(!(c[(c[g+4>>2]|0)+36>>2]|0)){i=g;return}if((c[(c[g+4>>2]|0)+36>>2]|0)==8){i=g;return}if((c[(c[g+4>>2]|0)+36>>2]|0)==9){i=g;return}xq(c[g+4>>2]|0);a[g+8>>0]=4;a[g+8+1>>0]=-1;b=Iob(c[g>>2]|0)|0;a[g+8+4>>0]=b;a[g+8+4+1>>0]=b>>8;a[g+8+4+2>>0]=b>>16;a[g+8+4+3>>0]=b>>24;if((c[(c[g+4>>2]|0)+36>>2]|0)==5)f=7;else if((c[(c[g+4>>2]|0)+36>>2]|0)==6)f=7;else a[g+8>>0]=d[g+8>>0]|0|64;if((f|0)==7)a[g+8>>0]=d[g+8>>0]|0|128;sq(c[g+4>>2]|0,g+8|0,0,0,0)|0;if((c[(c[g+4>>2]|0)+36>>2]|0)!=5)if((c[(c[g+4>>2]|0)+36>>2]|0)!=6){Pq(c[(c[g+4>>2]|0)+8>>2]|0);Dq(c[g+4>>2]|0);i=g;return}Cq(c[g+4>>2]|0);c[(c[g+4>>2]|0)+36>>2]=7;i=g;return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;c[e+4>>2]=a;c[e>>2]=b;if((c[(c[e+4>>2]|0)+36>>2]|0)==5)d=3;else if((c[(c[e+4>>2]|0)+36>>2]|0)==6)d=3;do if((d|0)==3){if((c[(c[e+4>>2]|0)+216>>2]|0)==((c[e+4>>2]|0)+216|0))if((c[(c[e+4>>2]|0)+224>>2]|0)==((c[e+4>>2]|0)+224|0))if((c[(c[e+4>>2]|0)+200>>2]|0)==((c[e+4>>2]|0)+200|0))break;c[(c[e+4>>2]|0)+36>>2]=6;c[(c[e+4>>2]|0)+376>>2]=c[e>>2];i=e;return}while(0);Iq(c[e+4>>2]|0,c[e>>2]|0);i=e;return}function Kq(f,g,h){f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+32|0;c[j+12>>2]=f;c[j+8>>2]=g;b[j+24>>1]=h;if((d[(c[j+8>>2]|0)+1>>0]|0)>>>0<(c[(c[j+12>>2]|0)+44>>2]|0)>>>0){c[j>>2]=(c[(c[j+12>>2]|0)+40>>2]|0)+((d[(c[j+8>>2]|0)+1>>0]|0)*60|0);h=(c[j+8>>2]|0)+2|0;b[j+22>>1]=((d[h>>0]|d[h+1>>0]<<8)&65535|0)/4096|0;b[j+20>>1]=(e[(c[j>>2]|0)+38>>1]|0|0)/4096|0;h=(c[j+8>>2]|0)+2|0;if(((d[h>>0]|d[h+1>>0]<<8)&65535|0)<(e[(c[j>>2]|0)+38>>1]|0|0))b[j+22>>1]=(e[j+22>>1]|0)+16;if((e[j+22>>1]|0|0)>=((e[j+20>>1]|0)+8-1|0))if((e[j+22>>1]|0|0)<=((e[j+20>>1]|0)+8|0)){c[j+16>>2]=0;h=c[j+16>>2]|0;i=j;return h|0}}c[j+4>>2]=Xp(60)|0;if(!(c[j+4>>2]|0)){c[j+16>>2]=0;h=c[j+16>>2]|0;i=j;return h|0}else{g=(c[j+12>>2]|0)+68|0;c[g>>2]=(c[g>>2]|0)+8;c[(c[j+4>>2]|0)+8>>2]=e[j+24>>1];g=(c[j+4>>2]|0)+12|0;f=c[j+8>>2]|0;h=g+48|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0));mq((c[j+12>>2]|0)+192|0,c[j+4>>2]|0)|0;c[j+16>>2]=c[j+4>>2];h=c[j+16>>2]|0;i=j;return h|0}return 0}function Lq(a,f){a=a|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;c[g+20>>2]=a;c[g+16>>2]=f;a=c[(c[g+16>>2]|0)+52>>2]|0;c[g+4>>2]=a;c[g+8>>2]=a;c[g+12>>2]=a;a:while(1){if((c[g+4>>2]|0)==((c[g+16>>2]|0)+52|0))break;c[g>>2]=c[g+4>>2];b:do if(((d[(c[g>>2]|0)+12>>0]|0)&15|0)!=9){f=c[g>>2]|0;do if((e[(c[g>>2]|0)+8>>1]|0|0)==(e[(c[g+16>>2]|0)+38>>1]|0|0)){if((c[f+64>>2]|0)>>>0<=0){b[(c[g+16>>2]|0)+40>>1]=b[(c[g>>2]|0)+10>>1]|0;break b}if((c[g+8>>2]|0)==(c[g+4>>2]|0)){if((c[g+12>>2]|0)==(c[g+4>>2]|0))break;c[g+12>>2]=c[(c[g+4>>2]|0)+4>>2];break}oq((c[g+20>>2]|0)+232|0,c[g+8>>2]|0,c[(c[g+4>>2]|0)+4>>2]|0)|0;if(!(c[(c[g+20>>2]|0)+240>>2]|0)){mq((c[(c[g+20>>2]|0)+8>>2]|0)+52|0,c[g+20>>2]|0)|0;c[(c[g+20>>2]|0)+240>>2]=1}c[g+12>>2]=c[g+4>>2]}else{b[g+26>>1]=(e[f+8>>1]|0|0)/4096|0;b[g+24>>1]=(e[(c[g+16>>2]|0)+38>>1]|0|0)/4096|0;if((e[(c[g>>2]|0)+8>>1]|0|0)<(e[(c[g+16>>2]|0)+38>>1]|0|0))b[g+26>>1]=(e[g+26>>1]|0)+16;if((e[g+26>>1]|0|0)>=(e[g+24>>1]|0|0))if((e[g+26>>1]|0|0)<((e[g+24>>1]|0)+8-1|0))break a;c[g+12>>2]=c[c[g+4>>2]>>2];if((c[g+8>>2]|0)!=(c[g+4>>2]|0)){oq((c[g+20>>2]|0)+232|0,c[g+8>>2]|0,c[(c[g+4>>2]|0)+4>>2]|0)|0;if(!(c[(c[g+20>>2]|0)+240>>2]|0)){mq((c[(c[g+20>>2]|0)+8>>2]|0)+52|0,c[g+20>>2]|0)|0;c[(c[g+20>>2]|0)+240>>2]=1}}}while(0);c[g+8>>2]=c[c[g+4>>2]>>2]}while(0);c[g+4>>2]=c[c[g+4>>2]>>2]}if((c[g+8>>2]|0)==(c[g+4>>2]|0)){h=c[g+16>>2]|0;h=h+52|0;f=c[g+16>>2]|0;f=f+52|0;f=c[f>>2]|0;a=c[g+12>>2]|0;Aq(h,f,a);i=g;return}oq((c[g+20>>2]|0)+232|0,c[g+8>>2]|0,c[(c[g+4>>2]|0)+4>>2]|0)|0;if(!(c[(c[g+20>>2]|0)+240>>2]|0)){mq((c[(c[g+20>>2]|0)+8>>2]|0)+52|0,c[g+20>>2]|0)|0;c[(c[g+20>>2]|0)+240>>2]=1}c[g+12>>2]=c[g+4>>2];f=c[g+16>>2]|0;f=f+52|0;a=c[g+16>>2]|0;a=a+52|0;a=c[a>>2]|0;h=c[g+12>>2]|0;Aq(f,a,h);i=g;return}function Mq(a,d){a=a|0;d=d|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;c[f+8>>2]=d;c[f+4>>2]=c[(c[f+8>>2]|0)+44>>2];while(1){if((c[f+4>>2]|0)==((c[f+8>>2]|0)+44|0))break;c[f>>2]=c[f+4>>2];if((c[(c[f>>2]|0)+64>>2]|0)>>>0>0)break;if((e[(c[f>>2]|0)+8>>1]|0|0)!=((e[(c[f+8>>2]|0)+38>>1]|0)+1&65535|0))break;b[(c[f+8>>2]|0)+38>>1]=b[(c[f>>2]|0)+8>>1]|0;if((c[(c[f>>2]|0)+60>>2]|0)>>>0>0){a=(c[f+8>>2]|0)+38|0;b[a>>1]=(e[a>>1]|0)+((c[(c[f>>2]|0)+60>>2]|0)-1)}c[f+4>>2]=c[c[f+4>>2]>>2]}if((c[f+4>>2]|0)==(c[(c[f+8>>2]|0)+44>>2]|0)){i=f;return}b[(c[f+8>>2]|0)+40>>1]=0;oq((c[f+12>>2]|0)+232|0,c[(c[f+8>>2]|0)+44>>2]|0,c[(c[f+4>>2]|0)+4>>2]|0)|0;if(!(c[(c[f+12>>2]|0)+240>>2]|0)){mq((c[(c[f+12>>2]|0)+8>>2]|0)+52|0,c[f+12>>2]|0)|0;c[(c[f+12>>2]|0)+240>>2]=1}if((c[(c[f+8>>2]|0)+52>>2]|0)==((c[f+8>>2]|0)+52|0)){i=f;return}Lq(c[f+12>>2]|0,c[f+8>>2]|0);i=f;return}function Nq(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+48|0;c[l+32>>2]=f;c[l+28>>2]=g;c[l+24>>2]=h;c[l+20>>2]=j;c[l+16>>2]=(c[(c[l+32>>2]|0)+40>>2]|0)+((d[(c[l+28>>2]|0)+1>>0]|0)*60|0);c[l+12>>2]=0;c[l+8>>2]=0;a:do if((c[(c[l+32>>2]|0)+36>>2]|0)==6)k=44;else{if(((d[c[l+28>>2]>>0]|0)&15|0)!=9){f=(c[l+28>>2]|0)+2|0;c[l+8>>2]=(d[f>>0]|d[f+1>>0]<<8)&65535;b[l+42>>1]=((c[l+8>>2]|0)>>>0)/4096|0;b[l+40>>1]=(e[(c[l+16>>2]|0)+38>>1]|0|0)/4096|0;if((c[l+8>>2]|0)>>>0<(e[(c[l+16>>2]|0)+38>>1]|0)>>>0)b[l+42>>1]=(e[l+42>>1]|0)+16;if((e[l+42>>1]|0|0)<(e[l+40>>1]|0|0)){k=44;break}if((e[l+42>>1]|0|0)>=((e[l+40>>1]|0)+8-1|0)){k=44;break}}b:do switch((d[c[l+28>>2]>>0]|0)&15|0){case 6:case 8:{if((c[l+8>>2]|0)==(e[(c[l+16>>2]|0)+38>>1]|0|0)){k=44;break a}c[l>>2]=c[(c[l+16>>2]|0)+44+4>>2];while(1){if((c[l>>2]|0)==((c[l+16>>2]|0)+44|0))break b;c[l+4>>2]=c[l>>2];g=e[(c[l+4>>2]|0)+8>>1]|0;j=e[(c[l+16>>2]|0)+38>>1]|0;if((c[l+8>>2]|0)>>>0>=(e[(c[l+16>>2]|0)+38>>1]|0)>>>0){if((g|0)>=(j|0))k=14}else if((g|0)>=(j|0))break b;else k=14;if((k|0)==14){k=0;if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0<=(c[l+8>>2]|0)>>>0)break}c[l>>2]=c[(c[l>>2]|0)+4>>2]}if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0>=(c[l+8>>2]|0)>>>0){k=44;break a}break}case 12:case 7:{f=(c[l+28>>2]|0)+4|0;c[l+12>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;if((c[l+8>>2]|0)==(e[(c[l+16>>2]|0)+38>>1]|0|0))if((c[l+12>>2]|0)>>>0<=(e[(c[l+16>>2]|0)+40>>1]|0)>>>0){k=44;break a}c[l>>2]=c[(c[l+16>>2]|0)+52+4>>2];c:while(1){if((c[l>>2]|0)==((c[l+16>>2]|0)+52|0))break b;c[l+4>>2]=c[l>>2];do if(((d[c[l+28>>2]>>0]|0)&15|0)!=9){g=e[(c[l+4>>2]|0)+8>>1]|0;j=e[(c[l+16>>2]|0)+38>>1]|0;if((c[l+8>>2]|0)>>>0>=(e[(c[l+16>>2]|0)+38>>1]|0)>>>0){if((g|0)<(j|0))break}else if((g|0)>=(j|0))break b;if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0<(c[l+8>>2]|0)>>>0)break b;if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0<=(c[l+8>>2]|0)>>>0)if((e[(c[l+4>>2]|0)+10>>1]|0)>>>0<=(c[l+12>>2]|0)>>>0)break c}while(0);c[l>>2]=c[(c[l>>2]|0)+4>>2]}if((e[(c[l+4>>2]|0)+10>>1]|0)>>>0>=(c[l+12>>2]|0)>>>0){k=44;break a}break}case 9:{c[l>>2]=(c[l+16>>2]|0)+52;break}default:{k=44;break a}}while(0);c[l+4>>2]=Xp(76)|0;if(c[l+4>>2]|0){g=(c[l+28>>2]|0)+2|0;b[(c[l+4>>2]|0)+8>>1]=d[g>>0]|d[g+1>>0]<<8;b[(c[l+4>>2]|0)+10>>1]=c[l+12>>2];g=(c[l+4>>2]|0)+12|0;j=c[l+28>>2]|0;h=g+48|0;do{a[g>>0]=a[j>>0]|0;g=g+1|0;j=j+1|0}while((g|0)<(h|0));c[(c[l+4>>2]|0)+60>>2]=c[l+20>>2];c[(c[l+4>>2]|0)+64>>2]=c[l+20>>2];c[(c[l+4>>2]|0)+72>>2]=c[l+24>>2];c[(c[l+4>>2]|0)+68>>2]=0;do if((c[l+20>>2]|0)>>>0>0){if((c[l+20>>2]|0)>>>0<=1048576){f=Xp(((((c[l+20>>2]|0)+31|0)>>>0)/32|0)<<2)|0;c[(c[l+4>>2]|0)+68>>2]=f}g=c[l+4>>2]|0;if(!(c[(c[l+4>>2]|0)+68>>2]|0)){Yp(g);break a}else{hBb(c[g+68>>2]|0,0,((((c[l+20>>2]|0)+31|0)>>>0)/32|0)<<2|0)|0;break}}while(0);if(c[l+24>>2]|0){k=c[l+24>>2]|0;c[k>>2]=(c[k>>2]|0)+1}mq(c[c[l>>2]>>2]|0,c[l+4>>2]|0)|0;switch((d[c[l+28>>2]>>0]|0)&15|0){case 6:case 8:{Mq(c[l+32>>2]|0,c[l+16>>2]|0);break}default:Lq(c[l+32>>2]|0,c[l+16>>2]|0)}c[l+36>>2]=c[l+4>>2];k=c[l+36>>2]|0;i=l;return k|0}}while(0);if((k|0)==44)if((c[l+20>>2]|0)>>>0<=0){if(c[l+24>>2]|0)if(!(c[c[l+24>>2]>>2]|0))qq(c[l+24>>2]|0);c[l+36>>2]=623016;k=c[l+36>>2]|0;i=l;return k|0}if(c[l+24>>2]|0)if(!(c[c[l+24>>2]>>2]|0))qq(c[l+24>>2]|0);c[l+36>>2]=0;k=c[l+36>>2]|0;i=l;return k|0}function Oq(b){b=b|0;var e=0;e=i;i=i+16|0;a[e>>0]=b;i=e;return c[11924+(((d[e>>0]|0)&15)<<2)>>2]|0}function Pq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;a=tr()|0;c[(c[b>>2]|0)+48>>2]=a;Qq(c[b>>2]|0,0,0)|0;i=b;return}function Qq(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;i=i+64|0;c[k+40>>2]=f;c[k+36>>2]=g;c[k+32>>2]=h;c[k+28>>2]=k+48;c[k+16>>2]=0;c[(c[k+40>>2]|0)+60>>2]=1;a:while(1){if(!(c[(c[k+40>>2]|0)+60>>2]|0)){j=59;break}c[(c[k+40>>2]|0)+60>>2]=0;c[k+24>>2]=c[(c[k+40>>2]|0)+36>>2];while(1){if((c[k+24>>2]|0)>>>0>=((c[(c[k+40>>2]|0)+36>>2]|0)+((c[(c[k+40>>2]|0)+40>>2]|0)*380|0)|0)>>>0)continue a;do if(c[(c[k+24>>2]|0)+36>>2]|0)if((c[(c[k+24>>2]|0)+36>>2]|0)!=9){b[(c[k+40>>2]|0)+68>>1]=0;c[(c[k+40>>2]|0)+1608>>2]=0;c[(c[k+40>>2]|0)+2132>>2]=1;c[(c[k+40>>2]|0)+64>>2]=4;if((c[(c[k+24>>2]|0)+192>>2]|0)!=((c[k+24>>2]|0)+192|0))Rq(c[k+40>>2]|0,c[k+24>>2]|0);if(c[k+32>>2]|0)if((c[(c[k+24>>2]|0)+200>>2]|0)!=((c[k+24>>2]|0)+200|0))if(((c[(c[k+40>>2]|0)+48>>2]|0)-(c[(c[k+24>>2]|0)+80>>2]|0)|0)>>>0<864e5)if((Uq(c[k+40>>2]|0,c[k+24>>2]|0,c[k+36>>2]|0)|0)==1){if(!(c[k+36>>2]|0))break;if(c[c[k+36>>2]>>2]|0){j=15;break a}else break}if((c[(c[k+24>>2]|0)+216>>2]|0)==((c[k+24>>2]|0)+216|0))j=18;else if(Wq(c[k+40>>2]|0,c[k+24>>2]|0)|0)j=18;if((j|0)==18){j=0;if((c[(c[k+24>>2]|0)+200>>2]|0)==((c[k+24>>2]|0)+200|0)){if(((c[(c[k+40>>2]|0)+48>>2]|0)-(c[(c[k+24>>2]|0)+76>>2]|0)|0)>>>0>=864e5)h=(c[(c[k+24>>2]|0)+76>>2]|0)-(c[(c[k+40>>2]|0)+48>>2]|0)|0;else h=(c[(c[k+40>>2]|0)+48>>2]|0)-(c[(c[k+24>>2]|0)+76>>2]|0)|0;if(h>>>0>=(c[(c[k+24>>2]|0)+136>>2]|0)>>>0)if(((c[(c[k+24>>2]|0)+176>>2]|0)-(c[(c[k+40>>2]|0)+64>>2]|0)|0)>>>0>=4){Eq(c[k+24>>2]|0);Wq(c[k+40>>2]|0,c[k+24>>2]|0)|0}}}if((c[(c[k+24>>2]|0)+224>>2]|0)!=((c[k+24>>2]|0)+224|0))Xq(c[k+40>>2]|0,c[k+24>>2]|0);if(c[(c[k+40>>2]|0)+1608>>2]|0){h=c[(c[k+40>>2]|0)+48>>2]|0;g=(c[k+24>>2]|0)+88|0;if(!(c[(c[k+24>>2]|0)+88>>2]|0))c[g>>2]=h;else{if((h-(c[g>>2]|0)|0)>>>0>=864e5)h=(c[(c[k+24>>2]|0)+88>>2]|0)-(c[(c[k+40>>2]|0)+48>>2]|0)|0;else h=(c[(c[k+40>>2]|0)+48>>2]|0)-(c[(c[k+24>>2]|0)+88>>2]|0)|0;if(h>>>0>=1e4)if((c[(c[k+24>>2]|0)+92>>2]|0)>>>0>0){c[k+12>>2]=(c[(c[k+24>>2]|0)+96>>2]<<16>>>0)/((c[(c[k+24>>2]|0)+92>>2]|0)>>>0)|0;f=(c[k+24>>2]|0)+104|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[k+24>>2]|0)+104>>2]|0)>>>0)/4|0);if((c[k+12>>2]|0)>>>0>=(c[(c[k+24>>2]|0)+100>>2]|0)>>>0){f=(c[k+24>>2]|0)+100|0;c[f>>2]=(c[f>>2]|0)+((((c[k+12>>2]|0)-(c[(c[k+24>>2]|0)+100>>2]|0)|0)>>>0)/8|0);f=(c[k+24>>2]|0)+104|0;c[f>>2]=(c[f>>2]|0)+((((c[k+12>>2]|0)-(c[(c[k+24>>2]|0)+100>>2]|0)|0)>>>0)/4|0)}else{f=(c[k+24>>2]|0)+100|0;c[f>>2]=(c[f>>2]|0)-((((c[(c[k+24>>2]|0)+100>>2]|0)-(c[k+12>>2]|0)|0)>>>0)/8|0);f=(c[k+24>>2]|0)+104|0;c[f>>2]=(c[f>>2]|0)+((((c[(c[k+24>>2]|0)+100>>2]|0)-(c[k+12>>2]|0)|0)>>>0)/4|0)}c[(c[k+24>>2]|0)+88>>2]=c[(c[k+40>>2]|0)+48>>2];c[(c[k+24>>2]|0)+92>>2]=0;c[(c[k+24>>2]|0)+96>>2]=0}}c[(c[k+40>>2]|0)+1612>>2]=k+48;h=c[k+40>>2]|0;if((e[(c[k+40>>2]|0)+68>>1]|0)&32768|0){g=Hob(c[h+48>>2]&65535)|0;f=(c[k+28>>2]|0)+2|0;a[f>>0]=g;a[f+1>>0]=g>>8;c[(c[k+40>>2]|0)+1612+4>>2]=4}else c[h+1612+4>>2]=2;c[k+16>>2]=0;if(c[(c[k+40>>2]|0)+2140>>2]|0)if(c[(c[k+40>>2]|0)+2140+4>>2]|0){c[k+8>>2]=(c[(c[k+40>>2]|0)+64>>2]|0)-4;c[k+4>>2]=ti[c[(c[k+40>>2]|0)+2140+4>>2]&63](c[(c[k+40>>2]|0)+2140>>2]|0,(c[k+40>>2]|0)+1612+8|0,(c[(c[k+40>>2]|0)+2132>>2]|0)-1|0,c[k+8>>2]|0,(c[k+40>>2]|0)+2156+4096|0,c[k+8>>2]|0)|0;if((c[k+4>>2]|0)>>>0>0)if((c[k+4>>2]|0)>>>0<(c[k+8>>2]|0)>>>0){f=(c[k+40>>2]|0)+68|0;b[f>>1]=e[f>>1]|0|16384;c[k+16>>2]=c[k+4>>2]}}if((e[(c[k+24>>2]|0)+12>>1]|0|0)<4095){f=(c[k+40>>2]|0)+68|0;b[f>>1]=e[f>>1]|0|(d[(c[k+24>>2]|0)+20>>0]|0)<<12}g=Hob((e[(c[k+24>>2]|0)+12>>1]|0|(e[(c[k+40>>2]|0)+68>>1]|0))&65535)|0;f=c[k+28>>2]|0;a[f>>0]=g;a[f+1>>0]=g>>8;if(c[(c[k+40>>2]|0)+2136>>2]|0){c[k>>2]=k+48+(c[(c[k+40>>2]|0)+1612+4>>2]|0);if((e[(c[k+24>>2]|0)+12>>1]|0|0)<4095)h=c[(c[k+24>>2]|0)+16>>2]|0;else h=0;c[c[k>>2]>>2]=h;f=(c[k+40>>2]|0)+1612+4|0;c[f>>2]=(c[f>>2]|0)+4;f=Xi[c[(c[k+40>>2]|0)+2136>>2]&511]((c[k+40>>2]|0)+1612|0,c[(c[k+40>>2]|0)+2132>>2]|0)|0;c[c[k>>2]>>2]=f}if((c[k+16>>2]|0)>>>0>0){c[(c[k+40>>2]|0)+1612+8>>2]=(c[k+40>>2]|0)+2156+4096;c[(c[k+40>>2]|0)+1612+8+4>>2]=c[k+16>>2];c[(c[k+40>>2]|0)+2132>>2]=2}c[(c[k+24>>2]|0)+72>>2]=c[(c[k+40>>2]|0)+48>>2];c[k+20>>2]=Br(c[c[k+40>>2]>>2]|0,(c[k+24>>2]|0)+24|0,(c[k+40>>2]|0)+1612|0,c[(c[k+40>>2]|0)+2132>>2]|0)|0;Yq(c[k+24>>2]|0);if((c[k+20>>2]|0)<0){j=56;break a}f=(c[k+40>>2]|0)+10364|0;c[f>>2]=(c[f>>2]|0)+(c[k+20>>2]|0);f=(c[k+40>>2]|0)+10368|0;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[k+24>>2]=(c[k+24>>2]|0)+380}}if((j|0)==15){c[k+44>>2]=1;j=c[k+44>>2]|0;i=k;return j|0}else if((j|0)==56){c[k+44>>2]=-1;j=c[k+44>>2]|0;i=k;return j|0}else if((j|0)==59){c[k+44>>2]=0;j=c[k+44>>2]|0;i=k;return j|0}return 0}function Rq(e,f){e=e|0;f=f|0;var g=0,h=0;h=i;i=i+32|0;c[h+20>>2]=e;c[h+16>>2]=f;c[h+12>>2]=(c[h+20>>2]|0)+70+((c[(c[h+20>>2]|0)+1608>>2]|0)*48|0);c[h+8>>2]=(c[h+20>>2]|0)+1612+(c[(c[h+20>>2]|0)+2132>>2]<<3);c[h>>2]=c[(c[h+16>>2]|0)+192>>2];while(1){if((c[h>>2]|0)==((c[h+16>>2]|0)+192|0)){g=10;break}if((c[h+12>>2]|0)>>>0>=((c[h+20>>2]|0)+70+1536|0)>>>0)break;if((c[h+8>>2]|0)>>>0>=((c[h+20>>2]|0)+1612+520|0)>>>0)break;if(((c[(c[h+16>>2]|0)+176>>2]|0)-(c[(c[h+20>>2]|0)+64>>2]|0)|0)>>>0<8)break;c[h+4>>2]=c[h>>2];c[h>>2]=c[c[h>>2]>>2];c[c[h+8>>2]>>2]=c[h+12>>2];c[(c[h+8>>2]|0)+4>>2]=8;e=(c[h+20>>2]|0)+64|0;c[e>>2]=(c[e>>2]|0)+(c[(c[h+8>>2]|0)+4>>2]|0);b[h+24>>1]=Hob(b[(c[h+4>>2]|0)+12+2>>1]|0)|0;a[c[h+12>>2]>>0]=1;a[(c[h+12>>2]|0)+1>>0]=a[(c[h+4>>2]|0)+12+1>>0]|0;e=b[h+24>>1]|0;f=(c[h+12>>2]|0)+2|0;a[f>>0]=e;a[f+1>>0]=e>>8;f=b[h+24>>1]|0;e=(c[h+12>>2]|0)+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;e=Hob(c[(c[h+4>>2]|0)+8>>2]&65535)|0;f=(c[h+12>>2]|0)+6|0;a[f>>0]=e;a[f+1>>0]=e>>8;if(((d[(c[h+4>>2]|0)+12>>0]|0)&15|0)==4)Sq(c[h+20>>2]|0,c[h+16>>2]|0,9);nq(c[h+4>>2]|0)|0;Yp(c[h+4>>2]|0);c[h+12>>2]=(c[h+12>>2]|0)+48;c[h+8>>2]=(c[h+8>>2]|0)+8}if((g|0)==10){g=c[h+12>>2]|0;f=c[h+20>>2]|0;f=f+70|0;f=g-f|0;f=(f|0)/48|0;g=c[h+20>>2]|0;g=g+1608|0;c[g>>2]=f;g=c[h+8>>2]|0;f=c[h+20>>2]|0;f=f+1612|0;f=g-f|0;f=(f|0)/8|0;g=c[h+20>>2]|0;g=g+2132|0;c[g>>2]=f;i=h;return}c[(c[h+20>>2]|0)+60>>2]=1;g=c[h+12>>2]|0;f=c[h+20>>2]|0;f=f+70|0;f=g-f|0;f=(f|0)/48|0;g=c[h+20>>2]|0;g=g+1608|0;c[g>>2]=f;g=c[h+8>>2]|0;f=c[h+20>>2]|0;f=f+1612|0;f=g-f|0;f=(f|0)/8|0;g=c[h+20>>2]|0;g=g+2132|0;c[g>>2]=f;i=h;return}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;Tq(c[e+8>>2]|0,c[e+4>>2]|0,c[e>>2]|0);if(c[(c[e+4>>2]|0)+240>>2]|0){i=e;return}mq((c[e+8>>2]|0)+52|0,c[e+4>>2]|0)|0;c[(c[e+4>>2]|0)+240>>2]=1;i=e;return}function Tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[e+4>>2]|0;if((c[e>>2]|0)==5|(c[e>>2]|0)==6)Bq(a);else Cq(a);c[(c[e+4>>2]|0)+36>>2]=c[e>>2];i=e;return}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;g=i;i=i+32|0;c[g+20>>2]=a;c[g+16>>2]=b;c[g+12>>2]=d;c[g+4>>2]=c[(c[g+16>>2]|0)+200>>2];c[g>>2]=c[(c[g+16>>2]|0)+216>>2];while(1){if((c[g+4>>2]|0)==((c[g+16>>2]|0)+200|0)){f=26;break}c[g+8>>2]=c[g+4>>2];c[g+4>>2]=c[c[g+4>>2]>>2];if(((c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+8>>2]|0)+12>>2]|0)|0)>>>0>=864e5)d=(c[(c[g+8>>2]|0)+12>>2]|0)-(c[(c[g+20>>2]|0)+48>>2]|0)|0;else d=(c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+8>>2]|0)+12>>2]|0)|0;if(d>>>0<(c[(c[g+8>>2]|0)+16>>2]|0)>>>0)continue;if(!(c[(c[g+16>>2]|0)+84>>2]|0))f=9;else if(((c[(c[g+8>>2]|0)+12>>2]|0)-(c[(c[g+16>>2]|0)+84>>2]|0)|0)>>>0>=864e5)f=9;if((f|0)==9){f=0;c[(c[g+16>>2]|0)+84>>2]=c[(c[g+8>>2]|0)+12>>2]}if(c[(c[g+16>>2]|0)+84>>2]|0){if(((c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+16>>2]|0)+84>>2]|0)|0)>>>0>=864e5)d=(c[(c[g+16>>2]|0)+84>>2]|0)-(c[(c[g+20>>2]|0)+48>>2]|0)|0;else d=(c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+16>>2]|0)+84>>2]|0)|0;if(d>>>0>=(c[(c[g+16>>2]|0)+148>>2]|0)>>>0){f=20;break}if((c[(c[g+8>>2]|0)+16>>2]|0)>>>0>=(c[(c[g+8>>2]|0)+20>>2]|0)>>>0){if(((c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+16>>2]|0)+84>>2]|0)|0)>>>0>=864e5)d=(c[(c[g+16>>2]|0)+84>>2]|0)-(c[(c[g+20>>2]|0)+48>>2]|0)|0;else d=(c[(c[g+20>>2]|0)+48>>2]|0)-(c[(c[g+16>>2]|0)+84>>2]|0)|0;if(d>>>0>=(c[(c[g+16>>2]|0)+144>>2]|0)>>>0){f=20;break}}}if(c[(c[g+8>>2]|0)+80>>2]|0){b=(c[g+16>>2]|0)+184|0;c[b>>2]=(c[b>>2]|0)-(e[(c[g+8>>2]|0)+28>>1]|0)}b=(c[g+16>>2]|0)+96|0;c[b>>2]=(c[b>>2]|0)+1;b=(c[g+8>>2]|0)+16|0;c[b>>2]=c[b>>2]<<1;b=c[g>>2]|0;mq(b,nq(c[g+8>>2]|0)|0)|0;if((c[g+4>>2]|0)!=(c[(c[g+16>>2]|0)+200>>2]|0))continue;if((c[(c[g+16>>2]|0)+200>>2]|0)==((c[g+16>>2]|0)+200|0))continue;c[g+8>>2]=c[g+4>>2];c[(c[g+16>>2]|0)+80>>2]=(c[(c[g+8>>2]|0)+12>>2]|0)+(c[(c[g+8>>2]|0)+16>>2]|0)}if((f|0)==20){Vq(c[g+20>>2]|0,c[g+16>>2]|0,c[g+12>>2]|0);c[g+24>>2]=1;f=c[g+24>>2]|0;i=g;return f|0}else if((f|0)==26){c[g+24>>2]=0;f=c[g+24>>2]|0;i=g;return f|0}return 0}function Vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;if((c[(c[e+4>>2]|0)+36>>2]|0)>>>0>=3)c[(c[e+8>>2]|0)+32>>2]=1;if((c[(c[e+4>>2]|0)+36>>2]|0)!=1)if((c[(c[e+4>>2]|0)+36>>2]|0)>>>0<4){Dq(c[e+4>>2]|0);i=e;return}if(c[e>>2]|0){c[c[e>>2]>>2]=2;c[(c[e>>2]|0)+4>>2]=c[e+4>>2];c[(c[e>>2]|0)+12>>2]=0;Dq(c[e+4>>2]|0);i=e;return}else{c[(c[e+4>>2]|0)+376>>2]=0;Sq(c[e+8>>2]|0,c[e+4>>2]|0,9);i=e;return}}function Wq(f,g){f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+64|0;c[k+44>>2]=f;c[k+40>>2]=g;c[k+36>>2]=(c[k+44>>2]|0)+70+((c[(c[k+44>>2]|0)+1608>>2]|0)*48|0);c[k+32>>2]=(c[k+44>>2]|0)+1612+(c[(c[k+44>>2]|0)+2132>>2]<<3);c[k+12>>2]=0;c[k+8>>2]=0;c[k+4>>2]=1;c[k+24>>2]=c[(c[k+40>>2]|0)+216>>2];while(1){if((c[k+24>>2]|0)==((c[k+40>>2]|0)+216|0)){j=39;break}c[k+28>>2]=c[k+24>>2];if((d[(c[k+28>>2]|0)+32+1>>0]|0)>>>0<(c[(c[k+40>>2]|0)+44>>2]|0)>>>0)f=(c[(c[k+40>>2]|0)+40>>2]|0)+((d[(c[k+28>>2]|0)+32+1>>0]|0)*60|0)|0;else f=0;c[k+20>>2]=f;b[k+48>>1]=(e[(c[k+28>>2]|0)+8>>1]|0|0)/4096|0;if(c[k+20>>2]|0){do if(!(c[k+8>>2]|0))if((e[(c[k+28>>2]|0)+30>>1]|0|0)<1)if(!((e[(c[k+28>>2]|0)+8>>1]|0|0)%4096|0)){if((e[(c[k+20>>2]|0)+6+((((e[k+48>>1]|0)+16-1|0)%16|0)<<1)>>1]|0|0)<4096)if(!((e[(c[k+20>>2]|0)+4>>1]|0)&(255<<(e[k+48>>1]|0)|255>>4096-(e[k+48>>1]|0))))break;c[k+8>>2]=1}while(0);if(c[k+8>>2]|0){c[k+24>>2]=c[c[k+24>>2]>>2];continue}}if(c[(c[k+28>>2]|0)+80>>2]|0){if(!(c[k+12>>2]|0)){c[k>>2]=((_(c[(c[k+40>>2]|0)+108>>2]|0,c[(c[k+40>>2]|0)+180>>2]|0)|0)>>>0)/32|0;if((c[k>>2]|0)>>>0>(c[(c[k+40>>2]|0)+176>>2]|0)>>>0)f=c[k>>2]|0;else f=c[(c[k+40>>2]|0)+176>>2]|0;if(((c[(c[k+40>>2]|0)+184>>2]|0)+(e[(c[k+28>>2]|0)+28>>1]|0)|0)>>>0>f>>>0)c[k+12>>2]=1}if(c[k+12>>2]|0){c[k+24>>2]=c[c[k+24>>2]>>2];continue}}c[k+4>>2]=0;c[k+16>>2]=c[11924+(((d[(c[k+28>>2]|0)+32>>0]|0)&15)<<2)>>2];if((c[k+36>>2]|0)>>>0>=((c[k+44>>2]|0)+70+1536|0)>>>0)break;if(((c[k+32>>2]|0)+8|0)>>>0>=((c[k+44>>2]|0)+1612+520|0)>>>0)break;if(((c[(c[k+40>>2]|0)+176>>2]|0)-(c[(c[k+44>>2]|0)+64>>2]|0)|0)>>>0<(c[k+16>>2]|0)>>>0)break;if(c[(c[k+28>>2]|0)+80>>2]|0)if(((c[(c[k+40>>2]|0)+176>>2]|0)-(c[(c[k+44>>2]|0)+64>>2]|0)&65535|0)<((c[k+16>>2]|0)+(e[(c[k+28>>2]|0)+28>>1]|0)&65535|0))break;c[k+24>>2]=c[c[k+24>>2]>>2];if(c[k+20>>2]|0)if((e[(c[k+28>>2]|0)+30>>1]|0|0)<1){h=(c[k+20>>2]|0)+4|0;b[h>>1]=e[h>>1]|0|1<<(e[k+48>>1]|0);h=(c[k+20>>2]|0)+6+((e[k+48>>1]|0)<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16}h=(c[k+28>>2]|0)+30|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(c[(c[k+28>>2]|0)+16>>2]|0)){c[(c[k+28>>2]|0)+16>>2]=(c[(c[k+40>>2]|0)+168>>2]|0)+(c[(c[k+40>>2]|0)+172>>2]<<2);h=_(c[(c[k+40>>2]|0)+140>>2]|0,c[(c[k+28>>2]|0)+16>>2]|0)|0;c[(c[k+28>>2]|0)+20>>2]=h}if((c[(c[k+40>>2]|0)+200>>2]|0)==((c[k+40>>2]|0)+200|0))c[(c[k+40>>2]|0)+80>>2]=(c[(c[k+44>>2]|0)+48>>2]|0)+(c[(c[k+28>>2]|0)+16>>2]|0);f=(c[k+40>>2]|0)+200|0;mq(f,nq(c[k+28>>2]|0)|0)|0;c[(c[k+28>>2]|0)+12>>2]=c[(c[k+44>>2]|0)+48>>2];c[c[k+32>>2]>>2]=c[k+36>>2];c[(c[k+32>>2]|0)+4>>2]=c[k+16>>2];f=(c[k+44>>2]|0)+64|0;c[f>>2]=(c[f>>2]|0)+(c[(c[k+32>>2]|0)+4>>2]|0);f=(c[k+44>>2]|0)+68|0;b[f>>1]=e[f>>1]|0|32768;f=c[k+36>>2]|0;g=(c[k+28>>2]|0)+32|0;h=f+48|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));if(c[(c[k+28>>2]|0)+80>>2]|0){c[k+32>>2]=(c[k+32>>2]|0)+8;c[c[k+32>>2]>>2]=(c[(c[(c[k+28>>2]|0)+80>>2]|0)+8>>2]|0)+(c[(c[k+28>>2]|0)+24>>2]|0);c[(c[k+32>>2]|0)+4>>2]=e[(c[k+28>>2]|0)+28>>1];h=(c[k+44>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(e[(c[k+28>>2]|0)+28>>1]|0);h=(c[k+40>>2]|0)+184|0;c[h>>2]=(c[h>>2]|0)+(e[(c[k+28>>2]|0)+28>>1]|0)}h=(c[k+40>>2]|0)+92|0;c[h>>2]=(c[h>>2]|0)+1;c[k+36>>2]=(c[k+36>>2]|0)+48;c[k+32>>2]=(c[k+32>>2]|0)+8}if((j|0)==39){j=c[k+36>>2]|0;h=c[k+44>>2]|0;h=h+70|0;h=j-h|0;h=(h|0)/48|0;j=c[k+44>>2]|0;j=j+1608|0;c[j>>2]=h;j=c[k+32>>2]|0;h=c[k+44>>2]|0;h=h+1612|0;h=j-h|0;h=(h|0)/8|0;j=c[k+44>>2]|0;j=j+2132|0;c[j>>2]=h;j=c[k+4>>2]|0;i=k;return j|0}c[(c[k+44>>2]|0)+60>>2]=1;j=c[k+36>>2]|0;h=c[k+44>>2]|0;h=h+70|0;h=j-h|0;h=(h|0)/48|0;j=c[k+44>>2]|0;j=j+1608|0;c[j>>2]=h;j=c[k+32>>2]|0;h=c[k+44>>2]|0;h=h+1612|0;h=j-h|0;h=(h|0)/8|0;j=c[k+44>>2]|0;j=j+2132|0;c[j>>2]=h;j=c[k+4>>2]|0;i=k;return j|0}function Xq(f,g){f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;c[k+24>>2]=f;c[k+20>>2]=g;c[k+16>>2]=(c[k+24>>2]|0)+70+((c[(c[k+24>>2]|0)+1608>>2]|0)*48|0);c[k+12>>2]=(c[k+24>>2]|0)+1612+(c[(c[k+24>>2]|0)+2132>>2]<<3);c[k+4>>2]=c[(c[k+20>>2]|0)+224>>2];a:while(1){if((c[k+4>>2]|0)==((c[k+20>>2]|0)+224|0))break;c[k+8>>2]=c[k+4>>2];c[k>>2]=c[11924+(((d[(c[k+8>>2]|0)+32>>0]|0)&15)<<2)>>2];if((c[k+16>>2]|0)>>>0>=((c[k+24>>2]|0)+70+1536|0)>>>0){j=8;break}if(((c[k+12>>2]|0)+8|0)>>>0>=((c[k+24>>2]|0)+1612+520|0)>>>0){j=8;break}if(((c[(c[k+20>>2]|0)+176>>2]|0)-(c[(c[k+24>>2]|0)+64>>2]|0)|0)>>>0<(c[k>>2]|0)>>>0){j=8;break}if(c[(c[k+8>>2]|0)+80>>2]|0)if(((c[(c[k+20>>2]|0)+176>>2]|0)-(c[(c[k+24>>2]|0)+64>>2]|0)|0)>>>0<((c[k>>2]|0)+(e[(c[k+8>>2]|0)+28>>1]|0)|0)>>>0){j=8;break}c[k+4>>2]=c[c[k+4>>2]>>2];if(c[(c[k+8>>2]|0)+80>>2]|0)if(!(c[(c[k+8>>2]|0)+24>>2]|0)){h=(c[k+20>>2]|0)+116|0;c[h>>2]=(c[h>>2]|0)+7;h=(c[k+20>>2]|0)+116|0;c[h>>2]=((c[h>>2]|0)>>>0)%32|0;if((c[(c[k+20>>2]|0)+116>>2]|0)>>>0>(c[(c[k+20>>2]|0)+108>>2]|0)>>>0){b[k+30>>1]=b[(c[k+8>>2]|0)+8>>1]|0;b[k+28>>1]=b[(c[k+8>>2]|0)+10>>1]|0;while(1){h=c[(c[k+8>>2]|0)+80>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if(!(c[c[(c[k+8>>2]|0)+80>>2]>>2]|0))qq(c[(c[k+8>>2]|0)+80>>2]|0);nq(c[k+8>>2]|0)|0;Yp(c[k+8>>2]|0);if((c[k+4>>2]|0)==((c[k+20>>2]|0)+224|0))continue a;c[k+8>>2]=c[k+4>>2];if((e[(c[k+8>>2]|0)+8>>1]|0|0)!=(e[k+30>>1]|0|0))continue a;if((e[(c[k+8>>2]|0)+10>>1]|0|0)!=(e[k+28>>1]|0|0))continue a;c[k+4>>2]=c[c[k+4>>2]>>2]}}}c[c[k+12>>2]>>2]=c[k+16>>2];c[(c[k+12>>2]|0)+4>>2]=c[k>>2];f=(c[k+24>>2]|0)+64|0;c[f>>2]=(c[f>>2]|0)+(c[(c[k+12>>2]|0)+4>>2]|0);f=c[k+16>>2]|0;g=(c[k+8>>2]|0)+32|0;h=f+48|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));nq(c[k+8>>2]|0)|0;if(c[(c[k+8>>2]|0)+80>>2]|0){c[k+12>>2]=(c[k+12>>2]|0)+8;c[c[k+12>>2]>>2]=(c[(c[(c[k+8>>2]|0)+80>>2]|0)+8>>2]|0)+(c[(c[k+8>>2]|0)+24>>2]|0);c[(c[k+12>>2]|0)+4>>2]=e[(c[k+8>>2]|0)+28>>1];h=(c[k+24>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[(c[k+12>>2]|0)+4>>2]|0);mq((c[k+20>>2]|0)+208|0,c[k+8>>2]|0)|0}else Yp(c[k+8>>2]|0);c[k+16>>2]=(c[k+16>>2]|0)+48;c[k+12>>2]=(c[k+12>>2]|0)+8}if((j|0)==8)c[(c[k+24>>2]|0)+60>>2]=1;c[(c[k+24>>2]|0)+1608>>2]=((c[k+16>>2]|0)-((c[k+24>>2]|0)+70)|0)/48|0;c[(c[k+24>>2]|0)+2132>>2]=((c[k+12>>2]|0)-((c[k+24>>2]|0)+1612)|0)/8|0;if((c[(c[k+20>>2]|0)+36>>2]|0)!=6){i=k;return}if((c[(c[k+20>>2]|0)+216>>2]|0)!=((c[k+20>>2]|0)+216|0)){i=k;return}if((c[(c[k+20>>2]|0)+224>>2]|0)!=((c[k+20>>2]|0)+224|0)){i=k;return}if((c[(c[k+20>>2]|0)+200>>2]|0)!=((c[k+20>>2]|0)+200|0)){i=k;return}Iq(c[k+20>>2]|0,c[(c[k+20>>2]|0)+376>>2]|0);i=k;return}function Yq(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;while(1){if(!((c[(c[b+4>>2]|0)+208>>2]|0)==((c[b+4>>2]|0)+208|0)^1))break;c[b>>2]=c[(c[b+4>>2]|0)+208>>2];nq(c[b>>2]|0)|0;if(c[(c[b>>2]|0)+80>>2]|0){a=c[(c[b>>2]|0)+80>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(!(c[c[(c[b>>2]|0)+80>>2]>>2]|0)){a=(c[(c[b>>2]|0)+80>>2]|0)+4|0;c[a>>2]=c[a>>2]|256;qq(c[(c[b>>2]|0)+80>>2]|0)}}Yp(c[b>>2]|0)}i=b;return}function Zq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[d+8>>2]=-1;a=c[d+8>>2]|0;i=d;return a|0}else{c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[d+8>>2]=_q(c[d+4>>2]|0,c[d>>2]|0)|0;a=c[d+8>>2]|0;i=d;return a|0}return 0}function _q(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;a:while(1){if(!((c[(c[d+8>>2]|0)+52>>2]|0)==((c[d+8>>2]|0)+52|0)^1)){b=11;break}c[d>>2]=nq(c[(c[d+8>>2]|0)+52>>2]|0)|0;c[(c[d>>2]|0)+240>>2]=0;switch(c[(c[d>>2]|0)+36>>2]|0){case 4:case 3:{b=4;break a}case 9:{b=5;break a}case 5:break;default:continue a}if((c[(c[d>>2]|0)+232>>2]|0)==((c[d>>2]|0)+232|0))continue;a=wq(c[d>>2]|0,(c[d+4>>2]|0)+8|0)|0;c[(c[d+4>>2]|0)+16>>2]=a;if(c[(c[d+4>>2]|0)+16>>2]|0){b=8;break}}if((b|0)==4){Tq(c[d+8>>2]|0,c[d>>2]|0,5);c[c[d+4>>2]>>2]=1;c[(c[d+4>>2]|0)+4>>2]=c[d>>2];c[(c[d+4>>2]|0)+12>>2]=c[(c[d>>2]|0)+376>>2];c[d+12>>2]=1;a=c[d+12>>2]|0;i=d;return a|0}else if((b|0)==5){c[(c[d+8>>2]|0)+32>>2]=1;c[c[d+4>>2]>>2]=2;c[(c[d+4>>2]|0)+4>>2]=c[d>>2];c[(c[d+4>>2]|0)+12>>2]=c[(c[d>>2]|0)+376>>2];Dq(c[d>>2]|0);c[d+12>>2]=1;a=c[d+12>>2]|0;i=d;return a|0}else if((b|0)==8){c[c[d+4>>2]>>2]=3;c[(c[d+4>>2]|0)+4>>2]=c[d>>2];if((c[(c[d>>2]|0)+232>>2]|0)!=((c[d>>2]|0)+232|0)){c[(c[d>>2]|0)+240>>2]=1;mq((c[d+8>>2]|0)+52|0,c[d>>2]|0)|0}c[d+12>>2]=1;a=c[d+12>>2]|0;i=d;return a|0}else if((b|0)==11){c[d+12>>2]=0;a=c[d+12>>2]|0;i=d;return a|0}return 0}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;c[f+12>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;a:do if(c[f+8>>2]|0){c[c[f+8>>2]>>2]=0;c[(c[f+8>>2]|0)+4>>2]=0;c[(c[f+8>>2]|0)+16>>2]=0;switch(_q(c[f+12>>2]|0,c[f+8>>2]|0)|0){case 1:{c[f+16>>2]=1;break a}case -1:{c[f+16>>2]=-1;break a}default:{e=5;break a}}}else e=5;while(0);b:do if((e|0)==5){e=tr()|0;c[(c[f+12>>2]|0)+48>>2]=e;c[f+4>>2]=(c[f+4>>2]|0)+(c[(c[f+12>>2]|0)+48>>2]|0);c:while(1){b=c[f+12>>2]|0;if(((c[(c[f+12>>2]|0)+48>>2]|0)-(c[(c[f+12>>2]|0)+20>>2]|0)|0)>>>0>=864e5)b=(c[b+20>>2]|0)-(c[(c[f+12>>2]|0)+48>>2]|0)|0;else b=(c[b+48>>2]|0)-(c[(c[f+12>>2]|0)+20>>2]|0)|0;if(b>>>0>=1e3)kq(c[f+12>>2]|0);switch(Qq(c[f+12>>2]|0,c[f+8>>2]|0,1)|0){case 1:{e=12;break c}case -1:{e=13;break c}default:{}}switch(ar(c[f+12>>2]|0,c[f+8>>2]|0)|0){case 1:{e=15;break c}case -1:{e=16;break c}default:{}}switch(Qq(c[f+12>>2]|0,c[f+8>>2]|0,1)|0){case 1:{e=18;break c}case -1:{e=19;break c}default:{}}if(c[f+8>>2]|0)switch(_q(c[f+12>>2]|0,c[f+8>>2]|0)|0){case 1:{e=22;break c}case -1:{e=23;break c}default:{}}do{e=tr()|0;c[(c[f+12>>2]|0)+48>>2]=e;if(((c[(c[f+12>>2]|0)+48>>2]|0)-(c[f+4>>2]|0)|0)>>>0<864e5){e=25;break c}c[f>>2]=6;if(((c[f+4>>2]|0)-(c[(c[f+12>>2]|0)+48>>2]|0)|0)>>>0>=864e5)b=(c[(c[f+12>>2]|0)+48>>2]|0)-(c[f+4>>2]|0)|0;else b=(c[f+4>>2]|0)-(c[(c[f+12>>2]|0)+48>>2]|0)|0;if(Dr(c[c[f+12>>2]>>2]|0,f,b)|0){e=30;break c}}while((c[f>>2]&4|0)!=0);e=tr()|0;c[(c[f+12>>2]|0)+48>>2]=e;if(!(c[f>>2]&2)){e=33;break}}switch(e|0){case 12:{c[f+16>>2]=1;break b}case 13:{c[f+16>>2]=-1;break b}case 15:{c[f+16>>2]=1;break b}case 16:{c[f+16>>2]=-1;break b}case 18:{c[f+16>>2]=1;break b}case 19:{c[f+16>>2]=-1;break b}case 22:{c[f+16>>2]=1;break b}case 23:{c[f+16>>2]=-1;break b}case 25:{c[f+16>>2]=0;break b}case 30:{c[f+16>>2]=-1;break b}case 33:{c[f+16>>2]=0;break b}}}while(0);i=f;return c[f+16>>2]|0}function ar(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+32|0;c[d+16>>2]=a;c[d+12>>2]=b;a:while(1){c[d>>2]=(c[d+16>>2]|0)+2156;c[d+4>>2]=4096;c[d+8>>2]=Cr(c[c[d+16>>2]>>2]|0,(c[d+16>>2]|0)+10348|0,d,1)|0;if((c[d+8>>2]|0)<0){b=3;break}if(!(c[d+8>>2]|0)){b=5;break}c[(c[d+16>>2]|0)+10356>>2]=(c[d+16>>2]|0)+2156;c[(c[d+16>>2]|0)+10360>>2]=c[d+8>>2];a=(c[d+16>>2]|0)+10372|0;c[a>>2]=(c[a>>2]|0)+(c[d+8>>2]|0);a=(c[d+16>>2]|0)+10376|0;c[a>>2]=(c[a>>2]|0)+1;b:do if(c[(c[d+16>>2]|0)+10380>>2]|0){switch(Xi[c[(c[d+16>>2]|0)+10380>>2]&511](c[d+16>>2]|0,c[d+12>>2]|0)|0){case -1:{b=11;break a}case 1:break;default:break b}if(!(c[d+12>>2]|0))continue a;if(c[c[d+12>>2]>>2]|0){b=10;break a}else continue a}while(0);switch(br(c[d+16>>2]|0,c[d+12>>2]|0)|0){case 1:{b=13;break a}case -1:{b=14;break a}default:{}}}if((b|0)==3){c[d+20>>2]=-1;a=c[d+20>>2]|0;i=d;return a|0}else if((b|0)==5){c[d+20>>2]=0;a=c[d+20>>2]|0;i=d;return a|0}else if((b|0)==10){c[d+20>>2]=1;a=c[d+20>>2]|0;i=d;return a|0}else if((b|0)==11){c[d+20>>2]=-1;a=c[d+20>>2]|0;i=d;return a|0}else if((b|0)==13){c[d+20>>2]=1;a=c[d+20>>2]|0;i=d;return a|0}else if((b|0)==14){c[d+20>>2]=-1;a=c[d+20>>2]|0;i=d;return a|0}return 0}function br(f,g){f=f|0;g=g|0;var h=0,j=0;j=i;i=i+80|0;c[j+52>>2]=f;c[j+48>>2]=g;if((c[(c[j+52>>2]|0)+10360>>2]|0)>>>0<(2|0)>>>0){c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}c[j+44>>2]=c[(c[j+52>>2]|0)+10356>>2];f=c[j+44>>2]|0;b[j+64>>1]=Xob(d[f>>0]|d[f+1>>0]<<8)|0;a[j+67>>0]=((e[j+64>>1]|0)&12288)>>12;b[j+62>>1]=(e[j+64>>1]|0)&49152;b[j+64>>1]=(e[j+64>>1]|0)&-61441;c[j+28>>2]=(e[j+62>>1]|0)&32768|0?4:2|0;if(c[(c[j+52>>2]|0)+2136>>2]|0)c[j+28>>2]=(c[j+28>>2]|0)+4;a:do if((e[j+64>>1]|0|0)==4095)c[j+36>>2]=0;else{if((e[j+64>>1]|0)>>>0>=(c[(c[j+52>>2]|0)+40>>2]|0)>>>0){c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}c[j+36>>2]=(c[(c[j+52>>2]|0)+36>>2]|0)+((e[j+64>>1]|0)*380|0);do if(c[(c[j+36>>2]|0)+36>>2]|0)if((c[(c[j+36>>2]|0)+36>>2]|0)!=9){if((c[(c[j+52>>2]|0)+10348>>2]|0)!=(c[(c[j+36>>2]|0)+24>>2]|0))h=13;else if((e[(c[j+52>>2]|0)+10348+4>>1]|0|0)!=(e[(c[j+36>>2]|0)+24+4>>1]|0|0))h=13;if((h|0)==13)if((c[(c[j+36>>2]|0)+24>>2]|0)!=-1)break;if((e[(c[j+36>>2]|0)+12>>1]|0|0)>=4095)break a;if((d[j+67>>0]|0|0)==(d[(c[j+36>>2]|0)+21>>0]|0|0))break a}while(0);c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}while(0);do if((e[j+62>>1]|0)&16384|0){if(c[(c[j+52>>2]|0)+2140>>2]|0)if(c[(c[j+52>>2]|0)+2140+8>>2]|0){c[j+24>>2]=Ci[c[(c[j+52>>2]|0)+2140+8>>2]&127](c[(c[j+52>>2]|0)+2140>>2]|0,(c[(c[j+52>>2]|0)+10356>>2]|0)+(c[j+28>>2]|0)|0,(c[(c[j+52>>2]|0)+10360>>2]|0)-(c[j+28>>2]|0)|0,(c[j+52>>2]|0)+2156+4096+(c[j+28>>2]|0)|0,4096-(c[j+28>>2]|0)|0)|0;if((c[j+24>>2]|0)>>>0>0)if((c[j+24>>2]|0)>>>0<=(4096-(c[j+28>>2]|0)|0)>>>0){mBb((c[j+52>>2]|0)+2156+4096|0,c[j+44>>2]|0,c[j+28>>2]|0)|0;c[(c[j+52>>2]|0)+10356>>2]=(c[j+52>>2]|0)+2156+4096;c[(c[j+52>>2]|0)+10360>>2]=(c[j+28>>2]|0)+(c[j+24>>2]|0);break}c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}while(0);if(c[(c[j+52>>2]|0)+2136>>2]|0){c[j+20>>2]=(c[(c[j+52>>2]|0)+10356>>2]|0)+((c[j+28>>2]|0)-4);c[j+16>>2]=c[c[j+20>>2]>>2];if(c[j+36>>2]|0)g=c[(c[j+36>>2]|0)+16>>2]|0;else g=0;c[c[j+20>>2]>>2]=g;c[j+8>>2]=c[(c[j+52>>2]|0)+10356>>2];c[j+8+4>>2]=c[(c[j+52>>2]|0)+10360>>2];h=Xi[c[(c[j+52>>2]|0)+2136>>2]&511](j+8|0,1)|0;if((h|0)!=(c[j+16>>2]|0)){c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}}if(c[j+36>>2]|0){c[(c[j+36>>2]|0)+24>>2]=c[(c[j+52>>2]|0)+10348>>2];b[(c[j+36>>2]|0)+24+4>>1]=b[(c[j+52>>2]|0)+10348+4>>1]|0;h=(c[j+36>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[(c[j+52>>2]|0)+10360>>2]|0)}c[j+32>>2]=(c[(c[j+52>>2]|0)+10356>>2]|0)+(c[j+28>>2]|0);b:while(1){if((c[j+32>>2]|0)>>>0>=((c[(c[j+52>>2]|0)+10356>>2]|0)+(c[(c[j+52>>2]|0)+10360>>2]|0)|0)>>>0)break;c[j+40>>2]=c[j+32>>2];if(((c[j+32>>2]|0)+4|0)>>>0>((c[(c[j+52>>2]|0)+10356>>2]|0)+(c[(c[j+52>>2]|0)+10360>>2]|0)|0)>>>0)break;a[j+66>>0]=(d[c[j+40>>2]>>0]|0)&15;if((d[j+66>>0]|0|0)>=13)break;c[j>>2]=c[11924+((d[j+66>>0]|0)<<2)>>2];if(!(c[j>>2]|0))break;if(((c[j+32>>2]|0)+(c[j>>2]|0)|0)>>>0>((c[(c[j+52>>2]|0)+10356>>2]|0)+(c[(c[j+52>>2]|0)+10360>>2]|0)|0)>>>0)break;c[j+32>>2]=(c[j+32>>2]|0)+(c[j>>2]|0);if(!(c[j+36>>2]|0))if((d[j+66>>0]|0|0)!=2)break;f=(c[j+40>>2]|0)+2|0;f=Xob(d[f>>0]|d[f+1>>0]<<8)|0;h=(c[j+40>>2]|0)+2|0;a[h>>0]=f;a[h+1>>0]=f>>8;do switch(d[j+66>>0]|0|0){case 1:{if(cr(c[j+52>>2]|0,c[j+48>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 2:{if(c[j+36>>2]|0)break b;c[j+36>>2]=fr(c[j+52>>2]|0,c[j+44>>2]|0,c[j+40>>2]|0)|0;if(!(c[j+36>>2]|0))break b;break}case 3:{if(gr(c[j+52>>2]|0,c[j+48>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 4:{if(hr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 5:{if(ir(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 6:{if(jr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0,j+32|0)|0)break b;break}case 7:{if(kr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0,j+32|0)|0)break b;break}case 9:{if(lr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0,j+32|0)|0)break b;break}case 8:{if(mr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0,j+32|0)|0)break b;break}case 10:{if(nr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 11:{if(or(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0)|0)break b;break}case 12:{if(pr(c[j+52>>2]|0,c[j+36>>2]|0,c[j+40>>2]|0,j+32|0)|0)break b;break}default:break b}while(0);if(!(c[j+36>>2]|0))continue;if(!((d[c[j+40>>2]>>0]|0)&128))continue;if(!((e[j+62>>1]|0)&32768))break;h=(c[j+44>>2]|0)+2|0;b[j+60>>1]=Xob(d[h>>0]|d[h+1>>0]<<8)|0;switch(c[(c[j+36>>2]|0)+36>>2]|0){case 9:case 0:case 2:case 7:continue b;case 8:break;default:{Kq(c[j+36>>2]|0,c[j+40>>2]|0,b[j+60>>1]|0)|0;continue b}}if(((d[c[j+40>>2]>>0]|0)&15|0)!=4)continue;Kq(c[j+36>>2]|0,c[j+40>>2]|0,b[j+60>>1]|0)|0}if(c[j+48>>2]|0)if(c[c[j+48>>2]>>2]|0){c[j+56>>2]=1;h=c[j+56>>2]|0;i=j;return h|0}c[j+56>>2]=0;h=c[j+56>>2]|0;i=j;return h|0}function cr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+48|0;c[j+28>>2]=b;c[j+24>>2]=e;c[j+20>>2]=f;c[j+16>>2]=g;if(c[(c[j+20>>2]|0)+36>>2]|0)if((c[(c[j+20>>2]|0)+36>>2]|0)!=9){f=(c[j+16>>2]|0)+6|0;c[j+8>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;c[j+8>>2]=c[j+8>>2]|c[(c[j+28>>2]|0)+48>>2]&-65536;if((c[j+8>>2]&32768)>>>0>(c[(c[j+28>>2]|0)+48>>2]&32768)>>>0)c[j+8>>2]=(c[j+8>>2]|0)-65536;if(((c[(c[j+28>>2]|0)+48>>2]|0)-(c[j+8>>2]|0)|0)>>>0>=864e5){c[j+32>>2]=0;h=c[j+32>>2]|0;i=j;return h|0}c[(c[j+20>>2]|0)+76>>2]=c[(c[j+28>>2]|0)+48>>2];c[(c[j+20>>2]|0)+84>>2]=0;if(((c[(c[j+28>>2]|0)+48>>2]|0)-(c[j+8>>2]|0)|0)>>>0>=864e5)g=(c[j+8>>2]|0)-(c[(c[j+28>>2]|0)+48>>2]|0)|0;else g=(c[(c[j+28>>2]|0)+48>>2]|0)-(c[j+8>>2]|0)|0;c[j+12>>2]=g;uq(c[j+20>>2]|0,c[j+12>>2]|0)|0;f=(c[j+20>>2]|0)+172|0;c[f>>2]=(c[f>>2]|0)-(((c[(c[j+20>>2]|0)+172>>2]|0)>>>0)/4|0);if((c[j+12>>2]|0)>>>0>=(c[(c[j+20>>2]|0)+168>>2]|0)>>>0){f=(c[j+20>>2]|0)+168|0;c[f>>2]=(c[f>>2]|0)+((((c[j+12>>2]|0)-(c[(c[j+20>>2]|0)+168>>2]|0)|0)>>>0)/8|0);f=(c[j+20>>2]|0)+172|0;c[f>>2]=(c[f>>2]|0)+((((c[j+12>>2]|0)-(c[(c[j+20>>2]|0)+168>>2]|0)|0)>>>0)/4|0)}else{f=(c[j+20>>2]|0)+168|0;c[f>>2]=(c[f>>2]|0)-((((c[(c[j+20>>2]|0)+168>>2]|0)-(c[j+12>>2]|0)|0)>>>0)/8|0);f=(c[j+20>>2]|0)+172|0;c[f>>2]=(c[f>>2]|0)+((((c[(c[j+20>>2]|0)+168>>2]|0)-(c[j+12>>2]|0)|0)>>>0)/4|0)}if((c[(c[j+20>>2]|0)+168>>2]|0)>>>0<(c[(c[j+20>>2]|0)+156>>2]|0)>>>0)c[(c[j+20>>2]|0)+156>>2]=c[(c[j+20>>2]|0)+168>>2];if((c[(c[j+20>>2]|0)+172>>2]|0)>>>0>(c[(c[j+20>>2]|0)+164>>2]|0)>>>0)c[(c[j+20>>2]|0)+164>>2]=c[(c[j+20>>2]|0)+172>>2];if(!(c[(c[j+20>>2]|0)+120>>2]|0))h=23;else{if(((c[(c[j+28>>2]|0)+48>>2]|0)-(c[(c[j+20>>2]|0)+120>>2]|0)|0)>>>0>=864e5)g=(c[(c[j+20>>2]|0)+120>>2]|0)-(c[(c[j+28>>2]|0)+48>>2]|0)|0;else g=(c[(c[j+28>>2]|0)+48>>2]|0)-(c[(c[j+20>>2]|0)+120>>2]|0)|0;if(g>>>0>=(c[(c[j+20>>2]|0)+132>>2]|0)>>>0)h=23}if((h|0)==23){c[(c[j+20>>2]|0)+152>>2]=c[(c[j+20>>2]|0)+156>>2];c[(c[j+20>>2]|0)+160>>2]=c[(c[j+20>>2]|0)+164>>2];c[(c[j+20>>2]|0)+156>>2]=c[(c[j+20>>2]|0)+168>>2];c[(c[j+20>>2]|0)+164>>2]=c[(c[j+20>>2]|0)+172>>2];c[(c[j+20>>2]|0)+120>>2]=c[(c[j+28>>2]|0)+48>>2]}h=(c[j+16>>2]|0)+4|0;c[j+4>>2]=(Xob(d[h>>0]|d[h+1>>0]<<8)|0)&65535;c[j>>2]=dr(c[j+20>>2]|0,c[j+4>>2]&65535,a[(c[j+16>>2]|0)+1>>0]|0)|0;a:do switch(c[(c[j+20>>2]|0)+36>>2]|0){case 2:{if((c[j>>2]|0)==3){er(c[j+28>>2]|0,c[j+20>>2]|0,c[j+24>>2]|0);break a}c[j+32>>2]=-1;h=c[j+32>>2]|0;i=j;return h|0}case 7:{if((c[j>>2]|0)==4){Vq(c[j+28>>2]|0,c[j+20>>2]|0,c[j+24>>2]|0);break a}c[j+32>>2]=-1;h=c[j+32>>2]|0;i=j;return h|0}case 6:{if((c[(c[j+20>>2]|0)+216>>2]|0)==((c[j+20>>2]|0)+216|0))if((c[(c[j+20>>2]|0)+224>>2]|0)==((c[j+20>>2]|0)+224|0))if((c[(c[j+20>>2]|0)+200>>2]|0)==((c[j+20>>2]|0)+200|0))Iq(c[j+20>>2]|0,c[(c[j+20>>2]|0)+376>>2]|0);break}default:{}}while(0);c[j+32>>2]=0;h=c[j+32>>2]|0;i=j;return h|0}c[j+32>>2]=0;h=c[j+32>>2]|0;i=j;return h|0}function dr(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;i=i+48|0;c[k+20>>2]=f;b[k+30>>1]=g;a[k+32>>0]=h;c[k+16>>2]=0;c[k+4>>2]=1;c[k+12>>2]=c[(c[k+20>>2]|0)+200>>2];while(1){if((c[k+12>>2]|0)==((c[k+20>>2]|0)+200|0))break;c[k+16>>2]=c[k+12>>2];if((e[(c[k+16>>2]|0)+8>>1]|0)==(e[k+30>>1]|0))if((d[(c[k+16>>2]|0)+32+1>>0]|0)==(d[k+32>>0]|0))break;c[k+12>>2]=c[c[k+12>>2]>>2]}do if((c[k+12>>2]|0)==((c[k+20>>2]|0)+200|0)){c[k+12>>2]=c[(c[k+20>>2]|0)+216>>2];while(1){if((c[k+12>>2]|0)==((c[k+20>>2]|0)+216|0))break;c[k+16>>2]=c[k+12>>2];if((e[(c[k+16>>2]|0)+30>>1]|0)<1){j=10;break}if((e[(c[k+16>>2]|0)+8>>1]|0)==(e[k+30>>1]|0))if((d[(c[k+16>>2]|0)+32+1>>0]|0)==(d[k+32>>0]|0))break;c[k+12>>2]=c[c[k+12>>2]>>2]}if((j|0)==10){c[k+24>>2]=0;j=c[k+24>>2]|0;i=k;return j|0}if((c[k+12>>2]|0)!=((c[k+20>>2]|0)+216|0)){c[k+4>>2]=0;break}c[k+24>>2]=0;j=c[k+24>>2]|0;i=k;return j|0}while(0);if(!(c[k+16>>2]|0)){c[k+24>>2]=0;j=c[k+24>>2]|0;i=k;return j|0}if((d[k+32>>0]|0)>>>0<(c[(c[k+20>>2]|0)+44>>2]|0)>>>0){c[k>>2]=(c[(c[k+20>>2]|0)+40>>2]|0)+((d[k+32>>0]|0)*60|0);b[k+28>>1]=(e[k+30>>1]|0)/4096|0;if((e[(c[k>>2]|0)+6+(e[k+28>>1]<<1)>>1]|0)>0){j=(c[k>>2]|0)+6+(e[k+28>>1]<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;if(!(b[(c[k>>2]|0)+6+(e[k+28>>1]<<1)>>1]|0)){j=(c[k>>2]|0)+4|0;b[j>>1]=e[j>>1]&~(1<>1])}}}c[k+8>>2]=d[(c[k+16>>2]|0)+32>>0]&15;nq(c[k+16>>2]|0)|0;if(c[(c[k+16>>2]|0)+80>>2]|0){if(c[k+4>>2]|0){j=(c[k+20>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)-(e[(c[k+16>>2]|0)+28>>1]|0)}j=c[(c[k+16>>2]|0)+80>>2]|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[c[(c[k+16>>2]|0)+80>>2]>>2]|0)){j=(c[(c[k+16>>2]|0)+80>>2]|0)+4|0;c[j>>2]=c[j>>2]|256;qq(c[(c[k+16>>2]|0)+80>>2]|0)}}Yp(c[k+16>>2]|0);if((c[(c[k+20>>2]|0)+200>>2]|0)==((c[k+20>>2]|0)+200|0)){c[k+24>>2]=c[k+8>>2];j=c[k+24>>2]|0;i=k;return j|0}else{c[k+16>>2]=c[(c[k+20>>2]|0)+200>>2];c[(c[k+20>>2]|0)+80>>2]=(c[(c[k+16>>2]|0)+12>>2]|0)+(c[(c[k+16>>2]|0)+16>>2]|0);c[k+24>>2]=c[k+8>>2];j=c[k+24>>2]|0;i=k;return j|0}return 0}function er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;c[(c[e+8>>2]|0)+32>>2]=1;d=c[e+8>>2]|0;a=c[e+4>>2]|0;if(c[e>>2]|0){Tq(d,a,5);c[c[e>>2]>>2]=1;c[(c[e>>2]|0)+4>>2]=c[e+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[e+4>>2]|0)+376>>2];i=e;return}else{Sq(d,a,(c[(c[e+4>>2]|0)+36>>2]|0)==1?4:3);i=e;return}}function fr(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;i=i+112|0;c[k+36>>2]=f;c[k+32>>2]=g;c[k+28>>2]=h;c[k+8>>2]=0;c[k>>2]=0;f=(c[k+28>>2]|0)+16|0;c[k+12>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;if((c[k+12>>2]|0)>>>0<1?1:(c[k+12>>2]|0)>>>0>255){c[k+40>>2]=0;j=c[k+40>>2]|0;i=k;return j|0}c[k+4>>2]=c[(c[k+36>>2]|0)+36>>2];while(1){if((c[k+4>>2]|0)>>>0>=((c[(c[k+36>>2]|0)+36>>2]|0)+((c[(c[k+36>>2]|0)+40>>2]|0)*380|0)|0)>>>0)break;if(!(c[(c[k+4>>2]|0)+36>>2]|0)){if(!(c[k>>2]|0))c[k>>2]=c[k+4>>2]}else if((c[(c[k+4>>2]|0)+36>>2]|0)!=1)if((c[(c[k+4>>2]|0)+24>>2]|0)==(c[(c[k+36>>2]|0)+10348>>2]|0)){if((e[(c[k+4>>2]|0)+24+4>>1]|0|0)==(e[(c[k+36>>2]|0)+10348+4>>1]|0|0)){f=(c[k+28>>2]|0)+40|0;if((c[(c[k+4>>2]|0)+16>>2]|0)==(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24|0)){j=12;break}}c[k+8>>2]=(c[k+8>>2]|0)+1}c[k+4>>2]=(c[k+4>>2]|0)+380}if((j|0)==12){c[k+40>>2]=0;j=c[k+40>>2]|0;i=k;return j|0}if(c[k>>2]|0)if((c[k+8>>2]|0)>>>0<(c[(c[k+36>>2]|0)+10392>>2]|0)>>>0){if((c[k+12>>2]|0)>>>0>(c[(c[k+36>>2]|0)+44>>2]|0)>>>0)c[k+12>>2]=c[(c[k+36>>2]|0)+44>>2];f=Xp((c[k+12>>2]|0)*60|0)|0;c[(c[k>>2]|0)+40>>2]=f;if(!(c[(c[k>>2]|0)+40>>2]|0)){c[k+40>>2]=0;j=c[k+40>>2]|0;i=k;return j|0}c[(c[k>>2]|0)+44>>2]=c[k+12>>2];c[(c[k>>2]|0)+36>>2]=2;f=(c[k+28>>2]|0)+40|0;c[(c[k>>2]|0)+16>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;f=(c[k>>2]|0)+24|0;g=(c[k+36>>2]|0)+10348|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];f=(c[k+28>>2]|0)+4|0;f=Xob(d[f>>0]|d[f+1>>0]<<8)|0;b[(c[k>>2]|0)+12>>1]=f;f=(c[k+28>>2]|0)+20|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+48>>2]=f;f=(c[k+28>>2]|0)+24|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+52>>2]=f;f=(c[k+28>>2]|0)+28|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+132>>2]=f;f=(c[k+28>>2]|0)+32|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+124>>2]=f;f=(c[k+28>>2]|0)+36|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+128>>2]=f;f=(c[k+28>>2]|0)+44|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[k>>2]|0)+376>>2]=f;if((d[(c[k+28>>2]|0)+6>>0]|0|0)==255)h=a[(c[k>>2]|0)+20>>0]|0;else h=a[(c[k+28>>2]|0)+6>>0]|0;a[k+97>>0]=h;a[k+97>>0]=(d[k+97>>0]|0)+1&3;if((d[k+97>>0]|0|0)==(d[(c[k>>2]|0)+20>>0]|0|0))a[k+97>>0]=(d[k+97>>0]|0)+1&3;a[(c[k>>2]|0)+20>>0]=a[k+97>>0]|0;if((d[(c[k+28>>2]|0)+7>>0]|0|0)==255)h=a[(c[k>>2]|0)+21>>0]|0;else h=a[(c[k+28>>2]|0)+7>>0]|0;a[k+96>>0]=h;a[k+96>>0]=(d[k+96>>0]|0)+1&3;if((d[k+96>>0]|0|0)==(d[(c[k>>2]|0)+21>>0]|0|0))a[k+96>>0]=(d[k+96>>0]|0)+1&3;a[(c[k>>2]|0)+21>>0]=a[k+96>>0]|0;c[k+16>>2]=c[(c[k>>2]|0)+40>>2];while(1){if((c[k+16>>2]|0)>>>0>=((c[(c[k>>2]|0)+40>>2]|0)+((c[k+12>>2]|0)*60|0)|0)>>>0)break;b[c[k+16>>2]>>1]=0;b[(c[k+16>>2]|0)+2>>1]=0;b[(c[k+16>>2]|0)+38>>1]=0;b[(c[k+16>>2]|0)+40>>1]=0;lq((c[k+16>>2]|0)+44|0);lq((c[k+16>>2]|0)+52|0);b[(c[k+16>>2]|0)+4>>1]=0;h=(c[k+16>>2]|0)+6|0;g=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(g|0));c[k+16>>2]=(c[k+16>>2]|0)+60}f=(c[k+28>>2]|0)+8|0;c[k+24>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;if((c[k+24>>2]|0)>>>0<576)c[k+24>>2]=576;else if((c[k+24>>2]|0)>>>0>4096)c[k+24>>2]=4096;c[(c[k>>2]|0)+176>>2]=c[k+24>>2];if(!(c[(c[k+36>>2]|0)+16>>2]|0))if(!(c[(c[k>>2]|0)+48>>2]|0))c[(c[k>>2]|0)+180>>2]=65536;else j=42;else j=42;do if((j|0)==42){if(c[(c[k+36>>2]|0)+16>>2]|0)if(c[(c[k>>2]|0)+48>>2]|0){if((c[(c[k+36>>2]|0)+16>>2]|0)>>>0<(c[(c[k>>2]|0)+48>>2]|0)>>>0)h=c[(c[k+36>>2]|0)+16>>2]|0;else h=c[(c[k>>2]|0)+48>>2]|0;c[(c[k>>2]|0)+180>>2]=((h>>>0)/65536|0)<<12;break}if((c[(c[k+36>>2]|0)+16>>2]|0)>>>0>(c[(c[k>>2]|0)+48>>2]|0)>>>0)h=c[(c[k+36>>2]|0)+16>>2]|0;else h=c[(c[k>>2]|0)+48>>2]|0;c[(c[k>>2]|0)+180>>2]=((h>>>0)/65536|0)<<12}while(0);h=(c[k>>2]|0)+180|0;if((c[(c[k>>2]|0)+180>>2]|0)>>>0<4096)c[h>>2]=4096;else if((c[h>>2]|0)>>>0>65536)c[(c[k>>2]|0)+180>>2]=65536;if(!(c[(c[k+36>>2]|0)+12>>2]|0))c[k+20>>2]=65536;else c[k+20>>2]=(((c[(c[k+36>>2]|0)+12>>2]|0)>>>0)/65536|0)<<12;f=c[k+20>>2]|0;j=(c[k+28>>2]|0)+12|0;if(f>>>0>(Tob(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)>>>0){j=(c[k+28>>2]|0)+12|0;c[k+20>>2]=Tob(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0}if((c[k+20>>2]|0)>>>0<4096)c[k+20>>2]=4096;else if((c[k+20>>2]|0)>>>0>65536)c[k+20>>2]=65536;a[k+48>>0]=-125;a[k+48+1>>0]=-1;j=Hob(b[(c[k>>2]|0)+14>>1]|0)|0;a[k+48+4>>0]=j;a[k+48+4+1>>0]=j>>8;a[k+48+6>>0]=a[k+97>>0]|0;a[k+48+7>>0]=a[k+96>>0]|0;j=Iob(c[(c[k>>2]|0)+176>>2]|0)|0;a[k+48+8>>0]=j;a[k+48+8+1>>0]=j>>8;a[k+48+8+2>>0]=j>>16;a[k+48+8+3>>0]=j>>24;j=Iob(c[k+20>>2]|0)|0;a[k+48+12>>0]=j;a[k+48+12+1>>0]=j>>8;a[k+48+12+2>>0]=j>>16;a[k+48+12+3>>0]=j>>24;j=Iob(c[k+12>>2]|0)|0;a[k+48+16>>0]=j;a[k+48+16+1>>0]=j>>8;a[k+48+16+2>>0]=j>>16;a[k+48+16+3>>0]=j>>24;j=Iob(c[(c[k+36>>2]|0)+12>>2]|0)|0;a[k+48+20>>0]=j;a[k+48+20+1>>0]=j>>8;a[k+48+20+2>>0]=j>>16;a[k+48+20+3>>0]=j>>24;j=Iob(c[(c[k+36>>2]|0)+16>>2]|0)|0;a[k+48+24>>0]=j;a[k+48+24+1>>0]=j>>8;a[k+48+24+2>>0]=j>>16;a[k+48+24+3>>0]=j>>24;j=Iob(c[(c[k>>2]|0)+132>>2]|0)|0;a[k+48+28>>0]=j;a[k+48+28+1>>0]=j>>8;a[k+48+28+2>>0]=j>>16;a[k+48+28+3>>0]=j>>24;j=Iob(c[(c[k>>2]|0)+124>>2]|0)|0;a[k+48+32>>0]=j;a[k+48+32+1>>0]=j>>8;a[k+48+32+2>>0]=j>>16;a[k+48+32+3>>0]=j>>24;j=Iob(c[(c[k>>2]|0)+128>>2]|0)|0;a[k+48+36>>0]=j;a[k+48+36+1>>0]=j>>8;a[k+48+36+2>>0]=j>>16;a[k+48+36+3>>0]=j>>24;j=c[(c[k>>2]|0)+16>>2]|0;a[k+48+40>>0]=j;a[k+48+40+1>>0]=j>>8;a[k+48+40+2>>0]=j>>16;a[k+48+40+3>>0]=j>>24;sq(c[k>>2]|0,k+48|0,0,0,0)|0;c[k+40>>2]=c[k>>2];j=c[k+40>>2]|0;i=k;return j|0}c[k+40>>2]=0;j=c[k+40>>2]|0;i=k;return j|0}function gr(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+32|0;c[j+24>>2]=e;c[j+20>>2]=f;c[j+16>>2]=g;c[j+12>>2]=h;if((c[(c[j+16>>2]|0)+36>>2]|0)!=1){c[j+28>>2]=0;g=c[j+28>>2]|0;i=j;return g|0}g=(c[j+12>>2]|0)+16|0;c[j>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if(!((c[j>>2]|0)>>>0<1|(c[j>>2]|0)>>>0>255)){g=(c[j+12>>2]|0)+28|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if((g|0)==(c[(c[j+16>>2]|0)+132>>2]|0)){g=(c[j+12>>2]|0)+32|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if((g|0)==(c[(c[j+16>>2]|0)+124>>2]|0)){g=(c[j+12>>2]|0)+36|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if((g|0)==(c[(c[j+16>>2]|0)+128>>2]|0)){g=(c[j+12>>2]|0)+40|0;if((d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)==(c[(c[j+16>>2]|0)+16>>2]|0)){dr(c[j+16>>2]|0,1,-1)|0;if((c[j>>2]|0)>>>0<(c[(c[j+16>>2]|0)+44>>2]|0)>>>0)c[(c[j+16>>2]|0)+44>>2]=c[j>>2];g=(c[j+12>>2]|0)+4|0;g=Xob(d[g>>0]|d[g+1>>0]<<8)|0;b[(c[j+16>>2]|0)+12>>1]=g;a[(c[j+16>>2]|0)+21>>0]=a[(c[j+12>>2]|0)+6>>0]|0;a[(c[j+16>>2]|0)+20>>0]=a[(c[j+12>>2]|0)+7>>0]|0;g=(c[j+12>>2]|0)+8|0;c[j+8>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if((c[j+8>>2]|0)>>>0<576)c[j+8>>2]=576;else if((c[j+8>>2]|0)>>>0>4096)c[j+8>>2]=4096;if((c[j+8>>2]|0)>>>0<(c[(c[j+16>>2]|0)+176>>2]|0)>>>0)c[(c[j+16>>2]|0)+176>>2]=c[j+8>>2];g=(c[j+12>>2]|0)+12|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[j+4>>2]=g;g=(c[j+4>>2]|0)>>>0<4096?4096:g;c[j+4>>2]=g;c[j+4>>2]=(c[j+4>>2]|0)>>>0>65536?65536:g;if((c[j+4>>2]|0)>>>0<(c[(c[j+16>>2]|0)+180>>2]|0)>>>0)c[(c[j+16>>2]|0)+180>>2]=c[j+4>>2];g=(c[j+12>>2]|0)+20|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[(c[j+16>>2]|0)+48>>2]=g;g=(c[j+12>>2]|0)+24|0;g=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[(c[j+16>>2]|0)+52>>2]=g;er(c[j+24>>2]|0,c[j+16>>2]|0,c[j+20>>2]|0);c[j+28>>2]=0;g=c[j+28>>2]|0;i=j;return g|0}}}}}c[(c[j+16>>2]|0)+376>>2]=0;Sq(c[j+24>>2]|0,c[j+16>>2]|0,9);c[j+28>>2]=-1;g=c[j+28>>2]|0;i=j;return g|0}function hr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;c[g+8>>2]=a;c[g+4>>2]=b;c[g>>2]=e;if(c[(c[g+4>>2]|0)+36>>2]|0)if((c[(c[g+4>>2]|0)+36>>2]|0)!=9)if((c[(c[g+4>>2]|0)+36>>2]|0)!=8){xq(c[g+4>>2]|0);do if((c[(c[g+4>>2]|0)+36>>2]|0)==4)f=8;else if((c[(c[g+4>>2]|0)+36>>2]|0)==7)f=8;else if((c[(c[g+4>>2]|0)+36>>2]|0)==1)f=8;else{if((c[(c[g+4>>2]|0)+36>>2]|0)!=5)if((c[(c[g+4>>2]|0)+36>>2]|0)!=6){if((c[(c[g+4>>2]|0)+36>>2]|0)==3)c[(c[g+8>>2]|0)+32>>2]=1;Dq(c[g+4>>2]|0);break}e=c[g+8>>2]|0;a=c[g+4>>2]|0;if((d[c[g>>2]>>0]|0)&128|0){Tq(e,a,8);break}else{Sq(e,a,9);break}}while(0);if((f|0)==8)Sq(c[g+8>>2]|0,c[g+4>>2]|0,9);if(c[(c[g+4>>2]|0)+36>>2]|0){f=(c[g>>2]|0)+4|0;f=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;c[(c[g+4>>2]|0)+376>>2]=f}c[g+12>>2]=0;f=c[g+12>>2]|0;i=g;return f|0}c[g+12>>2]=0;f=c[g+12>>2]|0;i=g;return f|0}function ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;if((c[(c[e+4>>2]|0)+36>>2]|0)!=5)if((c[(c[e+4>>2]|0)+36>>2]|0)!=6){c[e+12>>2]=-1;b=c[e+12>>2]|0;i=e;return b|0}c[e+12>>2]=0;b=c[e+12>>2]|0;i=e;return b|0}function jr(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=i;i=i+32|0;c[g+20>>2]=a;c[g+16>>2]=b;c[g+12>>2]=e;c[g+8>>2]=f;do if((d[(c[g+12>>2]|0)+1>>0]|0)>>>0<(c[(c[g+16>>2]|0)+44>>2]|0)>>>0){if((c[(c[g+16>>2]|0)+36>>2]|0)!=5)if((c[(c[g+16>>2]|0)+36>>2]|0)!=6)break;b=(c[g+12>>2]|0)+4|0;c[g>>2]=(Xob(d[b>>0]|d[b+1>>0]<<8)|0)&65535;b=c[g+8>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)>>>0<=1073741824)if((c[c[g+8>>2]>>2]|0)>>>0>=(c[(c[g+20>>2]|0)+10356>>2]|0)>>>0)if((c[c[g+8>>2]>>2]|0)>>>0<=((c[(c[g+20>>2]|0)+10356>>2]|0)+(c[(c[g+20>>2]|0)+10360>>2]|0)|0)>>>0){c[g+4>>2]=pq((c[g+12>>2]|0)+6|0,c[g>>2]|0,1)|0;if(c[g+4>>2]|0)if(Nq(c[g+16>>2]|0,c[g+12>>2]|0,c[g+4>>2]|0,0)|0){c[g+24>>2]=0;b=c[g+24>>2]|0;i=g;return b|0}c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}while(0);c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}function kr(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=i;i=i+32|0;c[g+20>>2]=a;c[g+16>>2]=b;c[g+12>>2]=e;c[g+8>>2]=f;do if((d[(c[g+12>>2]|0)+1>>0]|0)>>>0<(c[(c[g+16>>2]|0)+44>>2]|0)>>>0){if((c[(c[g+16>>2]|0)+36>>2]|0)!=5)if((c[(c[g+16>>2]|0)+36>>2]|0)!=6)break;b=(c[g+12>>2]|0)+6|0;c[g>>2]=(Xob(d[b>>0]|d[b+1>>0]<<8)|0)&65535;b=c[g+8>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)>>>0<=1073741824)if((c[c[g+8>>2]>>2]|0)>>>0>=(c[(c[g+20>>2]|0)+10356>>2]|0)>>>0)if((c[c[g+8>>2]>>2]|0)>>>0<=((c[(c[g+20>>2]|0)+10356>>2]|0)+(c[(c[g+20>>2]|0)+10360>>2]|0)|0)>>>0){c[g+4>>2]=pq((c[g+12>>2]|0)+8|0,c[g>>2]|0,0)|0;if(c[g+4>>2]|0)if(Nq(c[g+16>>2]|0,c[g+12>>2]|0,c[g+4>>2]|0,0)|0){c[g+24>>2]=0;b=c[g+24>>2]|0;i=g;return b|0}c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}while(0);c[g+24>>2]=-1;b=c[g+24>>2]|0;i=g;return b|0}function lr(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+48|0;c[j+28>>2]=a;c[j+24>>2]=f;c[j+20>>2]=g;c[j+16>>2]=h;do if((d[(c[j+20>>2]|0)+1>>0]|0)>>>0<(c[(c[j+24>>2]|0)+44>>2]|0)>>>0){if((c[(c[j+24>>2]|0)+36>>2]|0)!=5)if((c[(c[j+24>>2]|0)+36>>2]|0)!=6)break;f=(c[j+20>>2]|0)+6|0;c[j>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;f=c[j+16>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);if((c[j>>2]|0)>>>0<=1073741824)if((c[c[j+16>>2]>>2]|0)>>>0>=(c[(c[j+28>>2]|0)+10356>>2]|0)>>>0)if((c[c[j+16>>2]>>2]|0)>>>0<=((c[(c[j+28>>2]|0)+10356>>2]|0)+(c[(c[j+28>>2]|0)+10360>>2]|0)|0)>>>0){f=(c[j+20>>2]|0)+4|0;c[j+8>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;c[j+4>>2]=((c[j+8>>2]|0)>>>0)%1024|0;if((c[j+8>>2]|0)>>>0<(e[(c[j+24>>2]|0)+244>>1]|0)>>>0)c[j+8>>2]=(c[j+8>>2]|0)+65536;if((c[j+8>>2]|0)>>>0>=((e[(c[j+24>>2]|0)+244>>1]|0)+32768|0)>>>0){c[j+32>>2]=0;f=c[j+32>>2]|0;i=j;return f|0}c[j+8>>2]=c[j+8>>2]&65535;if(((c[j+8>>2]|0)-(c[j+4>>2]|0)|0)!=(e[(c[j+24>>2]|0)+244>>1]|0|0)){b[(c[j+24>>2]|0)+244>>1]=(c[j+8>>2]|0)-(c[j+4>>2]|0);g=(c[j+24>>2]|0)+248|0;h=g+128|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}else if(c[(c[j+24>>2]|0)+248+((((c[j+4>>2]|0)>>>0)/32|0)<<2)>>2]&1<<(((c[j+4>>2]|0)>>>0)%32|0)|0){c[j+32>>2]=0;f=c[j+32>>2]|0;i=j;return f|0}c[j+12>>2]=pq((c[j+20>>2]|0)+8|0,c[j>>2]|0,2)|0;if(c[j+12>>2]|0)if(Nq(c[j+24>>2]|0,c[j+20>>2]|0,c[j+12>>2]|0,0)|0){f=(c[j+24>>2]|0)+248+((((c[j+4>>2]|0)>>>0)/32|0)<<2)|0;c[f>>2]=c[f>>2]|1<<(((c[j+4>>2]|0)>>>0)%32|0);c[j+32>>2]=0;f=c[j+32>>2]|0;i=j;return f|0}c[j+32>>2]=-1;f=c[j+32>>2]|0;i=j;return f|0}c[j+32>>2]=-1;f=c[j+32>>2]|0;i=j;return f|0}while(0);c[j+32>>2]=-1;f=c[j+32>>2]|0;i=j;return f|0}function mr(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+128|0;c[l+56>>2]=f;c[l+52>>2]=g;c[l+48>>2]=h;c[l+44>>2]=j;c[l+8>>2]=0;do if((d[(c[l+48>>2]|0)+1>>0]|0)>>>0<(c[(c[l+52>>2]|0)+44>>2]|0)>>>0){if((c[(c[l+52>>2]|0)+36>>2]|0)!=5)if((c[(c[l+52>>2]|0)+36>>2]|0)!=6)break;g=(c[l+48>>2]|0)+6|0;c[l+28>>2]=(Xob(d[g>>0]|d[g+1>>0]<<8)|0)&65535;g=c[l+44>>2]|0;c[g>>2]=(c[g>>2]|0)+(c[l+28>>2]|0);if((c[l+28>>2]|0)>>>0<=1073741824)if((c[c[l+44>>2]>>2]|0)>>>0>=(c[(c[l+56>>2]|0)+10356>>2]|0)>>>0)if((c[c[l+44>>2]>>2]|0)>>>0<=((c[(c[l+56>>2]|0)+10356>>2]|0)+(c[(c[l+56>>2]|0)+10360>>2]|0)|0)>>>0){c[l+16>>2]=(c[(c[l+52>>2]|0)+40>>2]|0)+((d[(c[l+48>>2]|0)+1>>0]|0)*60|0);g=(c[l+48>>2]|0)+4|0;c[l+24>>2]=(Xob(d[g>>0]|d[g+1>>0]<<8)|0)&65535;b[l+66>>1]=((c[l+24>>2]|0)>>>0)/4096|0;b[l+64>>1]=(e[(c[l+16>>2]|0)+38>>1]|0|0)/4096|0;if((c[l+24>>2]|0)>>>0<(e[(c[l+16>>2]|0)+38>>1]|0)>>>0)b[l+66>>1]=(e[l+66>>1]|0)+16;if((e[l+66>>1]|0|0)>=(e[l+64>>1]|0|0))if((e[l+66>>1]|0|0)<((e[l+64>>1]|0)+8-1|0)){g=(c[l+48>>2]|0)+12|0;c[l+40>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;g=(c[l+48>>2]|0)+8|0;c[l+36>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;g=(c[l+48>>2]|0)+20|0;c[l+32>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;g=(c[l+48>>2]|0)+16|0;c[l+20>>2]=Tob(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;if((c[l+36>>2]|0)>>>0<=1048576)if(!((c[l+20>>2]|0)>>>0>1073741824?1:(c[l+40>>2]|0)>>>0>=(c[l+36>>2]|0)>>>0))if((c[l+32>>2]|0)>>>0<(c[l+20>>2]|0)>>>0)if((c[l+28>>2]|0)>>>0<=((c[l+20>>2]|0)-(c[l+32>>2]|0)|0)>>>0){c[l+12>>2]=c[(c[l+16>>2]|0)+44+4>>2];while(1){if((c[l+12>>2]|0)==((c[l+16>>2]|0)+44|0))break;c[l+4>>2]=c[l+12>>2];h=e[(c[l+4>>2]|0)+8>>1]|0;j=e[(c[l+16>>2]|0)+38>>1]|0;if((c[l+24>>2]|0)>>>0>=(e[(c[l+16>>2]|0)+38>>1]|0)>>>0){if((h|0)>=(j|0))k=24}else if((h|0)>=(j|0))break;else k=24;if((k|0)==24){k=0;if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0<=(c[l+24>>2]|0)>>>0){k=25;break}}c[l+12>>2]=c[(c[l+12>>2]|0)+4>>2]}a:do if((k|0)==25)if((e[(c[l+4>>2]|0)+8>>1]|0)>>>0>=(c[l+24>>2]|0)>>>0){do if(((d[(c[l+4>>2]|0)+12>>0]|0)&15|0)==8){if((c[l+20>>2]|0)!=(c[(c[(c[l+4>>2]|0)+72>>2]|0)+12>>2]|0))break;if((c[l+36>>2]|0)!=(c[(c[l+4>>2]|0)+60>>2]|0))break;c[l+8>>2]=c[l+4>>2];break a}while(0);c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}while(0);if(!(c[l+8>>2]|0)){h=l+72|0;j=c[l+48>>2]|0;f=h+48|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(f|0));c[l>>2]=pq(0,c[l+20>>2]|0,1)|0;if(!(c[l>>2]|0)){c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}k=c[l+24>>2]&65535;a[l+72+2>>0]=k;a[l+72+2+1>>0]=k>>8;c[l+8>>2]=Nq(c[l+52>>2]|0,l+72|0,c[l>>2]|0,c[l+36>>2]|0)|0;if(!(c[l+8>>2]|0)){c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}}do if(!(c[(c[(c[l+8>>2]|0)+68>>2]|0)+((((c[l+40>>2]|0)>>>0)/32|0)<<2)>>2]&1<<(((c[l+40>>2]|0)>>>0)%32|0))){k=(c[l+8>>2]|0)+64|0;c[k>>2]=(c[k>>2]|0)+-1;k=(c[(c[l+8>>2]|0)+68>>2]|0)+((((c[l+40>>2]|0)>>>0)/32|0)<<2)|0;c[k>>2]=c[k>>2]|1<<(((c[l+40>>2]|0)>>>0)%32|0);if(((c[l+32>>2]|0)+(c[l+28>>2]|0)|0)>>>0>(c[(c[(c[l+8>>2]|0)+72>>2]|0)+12>>2]|0)>>>0)c[l+28>>2]=(c[(c[(c[l+8>>2]|0)+72>>2]|0)+12>>2]|0)-(c[l+32>>2]|0);mBb((c[(c[(c[l+8>>2]|0)+72>>2]|0)+8>>2]|0)+(c[l+32>>2]|0)|0,(c[l+48>>2]|0)+24|0,c[l+28>>2]|0)|0;if((c[(c[l+8>>2]|0)+64>>2]|0)>>>0>0)break;Mq(c[l+52>>2]|0,c[l+16>>2]|0)}while(0);c[l+60>>2]=0;k=c[l+60>>2]|0;i=l;return k|0}c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}c[l+60>>2]=0;k=c[l+60>>2]|0;i=l;return k|0}c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}while(0);c[l+60>>2]=-1;k=c[l+60>>2]|0;i=l;return k|0}function nr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;c[g+8>>2]=a;c[g+4>>2]=b;c[g>>2]=e;if((c[(c[g+4>>2]|0)+36>>2]|0)!=5)if((c[(c[g+4>>2]|0)+36>>2]|0)!=6){c[g+12>>2]=-1;f=c[g+12>>2]|0;i=g;return f|0}if(c[(c[g+4>>2]|0)+48>>2]|0){b=(c[g+8>>2]|0)+10388|0;c[b>>2]=(c[b>>2]|0)+-1}b=(c[g>>2]|0)+4|0;b=Tob(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[(c[g+4>>2]|0)+48>>2]=b;b=(c[g>>2]|0)+8|0;b=Tob(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[(c[g+4>>2]|0)+52>>2]=b;if(c[(c[g+4>>2]|0)+48>>2]|0){b=(c[g+8>>2]|0)+10388|0;c[b>>2]=(c[b>>2]|0)+1}if(!(c[(c[g+4>>2]|0)+48>>2]|0))if(!(c[(c[g+8>>2]|0)+16>>2]|0))c[(c[g+4>>2]|0)+180>>2]=65536;else f=11;else f=11;if((f|0)==11){if((c[(c[g+4>>2]|0)+48>>2]|0)>>>0<(c[(c[g+8>>2]|0)+16>>2]|0)>>>0)e=c[(c[g+4>>2]|0)+48>>2]|0;else e=c[(c[g+8>>2]|0)+16>>2]|0;c[(c[g+4>>2]|0)+180>>2]=((e>>>0)/65536|0)<<12}e=(c[g+4>>2]|0)+180|0;if((c[(c[g+4>>2]|0)+180>>2]|0)>>>0<4096)c[e>>2]=4096;else if((c[e>>2]|0)>>>0>65536)c[(c[g+4>>2]|0)+180>>2]=65536;c[g+12>>2]=0;f=c[g+12>>2]|0;i=g;return f|0}function or(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+8>>2]=a;c[f+4>>2]=b;c[f>>2]=e;if((c[(c[f+4>>2]|0)+36>>2]|0)!=5)if((c[(c[f+4>>2]|0)+36>>2]|0)!=6){c[f+12>>2]=-1;b=c[f+12>>2]|0;i=f;return b|0}b=(c[f>>2]|0)+4|0;b=Tob(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[(c[f+4>>2]|0)+132>>2]=b;b=(c[f>>2]|0)+8|0;b=Tob(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[(c[f+4>>2]|0)+124>>2]=b;b=(c[f>>2]|0)+12|0;b=Tob(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;c[(c[f+4>>2]|0)+128>>2]=b;c[f+12>>2]=0;b=c[f+12>>2]|0;i=f;return b|0}function pr(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;i=i+80|0;c[k+60>>2]=a;c[k+56>>2]=f;c[k+52>>2]=g;c[k+48>>2]=h;c[k+8>>2]=0;do if((d[(c[k+52>>2]|0)+1>>0]|0)>>>0<(c[(c[k+56>>2]|0)+44>>2]|0)>>>0){if((c[(c[k+56>>2]|0)+36>>2]|0)!=5)if((c[(c[k+56>>2]|0)+36>>2]|0)!=6)break;f=(c[k+52>>2]|0)+6|0;c[k+32>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;f=c[k+48>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[k+32>>2]|0);if((c[k+32>>2]|0)>>>0<=1073741824)if((c[c[k+48>>2]>>2]|0)>>>0>=(c[(c[k+60>>2]|0)+10356>>2]|0)>>>0)if((c[c[k+48>>2]>>2]|0)>>>0<=((c[(c[k+60>>2]|0)+10356>>2]|0)+(c[(c[k+60>>2]|0)+10360>>2]|0)|0)>>>0){c[k+16>>2]=(c[(c[k+56>>2]|0)+40>>2]|0)+((d[(c[k+52>>2]|0)+1>>0]|0)*60|0);f=(c[k+52>>2]|0)+2|0;c[k+28>>2]=(d[f>>0]|d[f+1>>0]<<8)&65535;f=(c[k+52>>2]|0)+4|0;c[k+24>>2]=(Xob(d[f>>0]|d[f+1>>0]<<8)|0)&65535;b[k+70>>1]=((c[k+28>>2]|0)>>>0)/4096|0;b[k+68>>1]=(e[(c[k+16>>2]|0)+38>>1]|0|0)/4096|0;if((c[k+28>>2]|0)>>>0<(e[(c[k+16>>2]|0)+38>>1]|0)>>>0)b[k+70>>1]=(e[k+70>>1]|0)+16;if((e[k+70>>1]|0|0)>=(e[k+68>>1]|0|0))if((e[k+70>>1]|0|0)<((e[k+68>>1]|0)+8-1|0)){if((c[k+28>>2]|0)==(e[(c[k+16>>2]|0)+38>>1]|0|0))if((c[k+24>>2]|0)>>>0<=(e[(c[k+16>>2]|0)+40>>1]|0)>>>0){c[k+64>>2]=0;j=c[k+64>>2]|0;i=k;return j|0}f=(c[k+52>>2]|0)+12|0;c[k+44>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;f=(c[k+52>>2]|0)+8|0;c[k+40>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;f=(c[k+52>>2]|0)+20|0;c[k+36>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;f=(c[k+52>>2]|0)+16|0;c[k+20>>2]=Tob(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;if((c[k+40>>2]|0)>>>0<=1048576)if(!((c[k+20>>2]|0)>>>0>1073741824?1:(c[k+44>>2]|0)>>>0>=(c[k+40>>2]|0)>>>0))if((c[k+36>>2]|0)>>>0<(c[k+20>>2]|0)>>>0)if((c[k+32>>2]|0)>>>0<=((c[k+20>>2]|0)-(c[k+36>>2]|0)|0)>>>0){c[k+12>>2]=c[(c[k+16>>2]|0)+52+4>>2];a:while(1){if((c[k+12>>2]|0)==((c[k+16>>2]|0)+52|0))break;c[k+4>>2]=c[k+12>>2];g=e[(c[k+4>>2]|0)+8>>1]|0;h=e[(c[k+16>>2]|0)+38>>1]|0;if((c[k+28>>2]|0)>>>0>=(e[(c[k+16>>2]|0)+38>>1]|0)>>>0){if((g|0)>=(h|0))j=27}else if((g|0)>=(h|0))break;else j=27;do if((j|0)==27){j=0;if((e[(c[k+4>>2]|0)+8>>1]|0)>>>0<(c[k+28>>2]|0)>>>0)break a;if((e[(c[k+4>>2]|0)+8>>1]|0)>>>0>(c[k+28>>2]|0)>>>0)break;if((e[(c[k+4>>2]|0)+10>>1]|0)>>>0<=(c[k+24>>2]|0)>>>0){j=30;break a}}while(0);c[k+12>>2]=c[(c[k+12>>2]|0)+4>>2]}b:do if((j|0)==30)if((e[(c[k+4>>2]|0)+10>>1]|0)>>>0>=(c[k+24>>2]|0)>>>0){do if(((d[(c[k+4>>2]|0)+12>>0]|0)&15|0)==12){if((c[k+20>>2]|0)!=(c[(c[(c[k+4>>2]|0)+72>>2]|0)+12>>2]|0))break;if((c[k+40>>2]|0)!=(c[(c[k+4>>2]|0)+60>>2]|0))break;c[k+8>>2]=c[k+4>>2];break b}while(0);c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}while(0);do if(!(c[k+8>>2]|0)){c[k>>2]=pq(0,c[k+20>>2]|0,8)|0;if(!(c[k>>2]|0)){c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}c[k+8>>2]=Nq(c[k+56>>2]|0,c[k+52>>2]|0,c[k>>2]|0,c[k+40>>2]|0)|0;if(c[k+8>>2]|0)break;c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}while(0);do if(!(c[(c[(c[k+8>>2]|0)+68>>2]|0)+((((c[k+44>>2]|0)>>>0)/32|0)<<2)>>2]&1<<(((c[k+44>>2]|0)>>>0)%32|0))){j=(c[k+8>>2]|0)+64|0;c[j>>2]=(c[j>>2]|0)+-1;j=(c[(c[k+8>>2]|0)+68>>2]|0)+((((c[k+44>>2]|0)>>>0)/32|0)<<2)|0;c[j>>2]=c[j>>2]|1<<(((c[k+44>>2]|0)>>>0)%32|0);if(((c[k+36>>2]|0)+(c[k+32>>2]|0)|0)>>>0>(c[(c[(c[k+8>>2]|0)+72>>2]|0)+12>>2]|0)>>>0)c[k+32>>2]=(c[(c[(c[k+8>>2]|0)+72>>2]|0)+12>>2]|0)-(c[k+36>>2]|0);mBb((c[(c[(c[k+8>>2]|0)+72>>2]|0)+8>>2]|0)+(c[k+36>>2]|0)|0,(c[k+52>>2]|0)+24|0,c[k+32>>2]|0)|0;if((c[(c[k+8>>2]|0)+64>>2]|0)>>>0>0)break;Lq(c[k+56>>2]|0,c[k+16>>2]|0)}while(0);c[k+64>>2]=0;j=c[k+64>>2]|0;i=k;return j|0}c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}c[k+64>>2]=0;j=c[k+64>>2]|0;i=k;return j|0}c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}while(0);c[k+64>>2]=-1;j=c[k+64>>2]|0;i=k;return j|0}function qr(){return 0}function rr(){return}function sr(){return jh(0)|0}function tr(){var a=0;a=i;i=i+16|0;hf(a|0,0)|0;i=a;return ((c[a>>2]|0)*1e3|0)+((c[a+4>>2]|0)/1e3|0)-0|0}function ur(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;c[d>>2]=0;c[d>>2]=Bf(c[d+4>>2]|0)|0;if(c[d>>2]|0)if((c[(c[d>>2]|0)+8>>2]|0)==2){c[c[d+8>>2]>>2]=c[c[c[(c[d>>2]|0)+16>>2]>>2]>>2];c[d+12>>2]=0;b=c[d+12>>2]|0;i=d;return b|0}if(Uob(c[d+4>>2]|0,c[d+8>>2]|0)|0){c[d+12>>2]=0;b=c[d+12>>2]|0;i=d;return b|0}else{c[d+12>>2]=-1;b=c[d+12>>2]|0;i=d;return b|0}return 0}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+12>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[e+20>>2]=c[c[e+12>>2]>>2];c[e>>2]=Vob(e+20|0)|0;if(c[e>>2]|0){Rob(c[e+8>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[e+16>>2]=0;d=c[e+16>>2]|0;i=e;return d|0}else{c[e+16>>2]=-1;d=c[e+16>>2]|0;i=e;return d|0}return 0}function wr(a,d){a=a|0;d=d|0;var e=0;e=i;i=i+32|0;c[e+20>>2]=a;c[e+16>>2]=d;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b[e>>1]=2;if(c[e+16>>2]|0){b[e+2>>1]=Hob(b[(c[e+16>>2]|0)+4>>1]|0)|0;c[e+4>>2]=c[c[e+16>>2]>>2];a=c[e+20>>2]|0;a=Kob(a,e,16)|0;i=e;return a|0}else{b[e+2>>1]=0;c[e+4>>2]=0;a=c[e+20>>2]|0;a=Kob(a,e,16)|0;i=e;return a|0}return 0}function xr(a,d){a=a|0;d=d|0;var e=0;e=i;i=i+48|0;c[e+28>>2]=a;c[e+24>>2]=d;c[e>>2]=16;if((Oob(c[e+28>>2]|0,e+8|0,e)|0)==-1){c[e+32>>2]=-1;a=c[e+32>>2]|0;i=e;return a|0}else{c[c[e+24>>2]>>2]=c[e+8+4>>2];a=Xob(b[e+8+2>>1]|0)|0;b[(c[e+24>>2]|0)+4>>1]=a;c[e+32>>2]=0;a=c[e+32>>2]|0;i=e;return a|0}return 0}function yr(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;a=wob(2,(c[b>>2]|0)==2?2:1,0)|0;i=b;return a|0}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+48|0;c[e+36>>2]=a;c[e+32>>2]=b;c[e+28>>2]=d;c[e+24>>2]=-1;switch(c[e+32>>2]|0){case 1:{d=c[e+36>>2]|0;c[e>>2]=e+28;c[e+24>>2]=Nnb(d,21537,e)|0;break}case 2:{c[e+24>>2]=Job(c[e+36>>2]|0,1,6,e+28|0,4)|0;break}case 5:{c[e+24>>2]=Job(c[e+36>>2]|0,1,2,e+28|0,4)|0;break}case 3:{c[e+24>>2]=Job(c[e+36>>2]|0,1,8,e+28|0,4)|0;break}case 4:{c[e+24>>2]=Job(c[e+36>>2]|0,1,7,e+28|0,4)|0;break}case 6:{c[e+16>>2]=(c[e+28>>2]|0)/1e3|0;c[e+16+4>>2]=((c[e+28>>2]|0)%1e3|0)*1e3;c[e+24>>2]=Job(c[e+36>>2]|0,1,20,e+16|0,8)|0;break}case 7:{c[e+8>>2]=(c[e+28>>2]|0)/1e3|0;c[e+8+4>>2]=((c[e+28>>2]|0)%1e3|0)*1e3;c[e+24>>2]=Job(c[e+36>>2]|0,1,21,e+8|0,8)|0;break}case 9:{c[e+24>>2]=Job(c[e+36>>2]|0,6,1,e+28|0,4)|0;break}default:{}}i=e;return ((c[e+24>>2]|0)==-1?-1:0)|0}function Ar(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;if((c[b>>2]|0)==-1){i=b;return}Wmb(c[b>>2]|0)|0;i=b;return}function Br(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+80|0;c[g+64>>2]=a;c[g+60>>2]=d;c[g+56>>2]=e;c[g+52>>2]=f;c[g+24>>2]=0;c[g+24+4>>2]=0;c[g+24+8>>2]=0;c[g+24+12>>2]=0;c[g+24+16>>2]=0;c[g+24+20>>2]=0;c[g+24+24>>2]=0;if(c[g+60>>2]|0){c[g+8>>2]=0;c[g+8+4>>2]=0;c[g+8+8>>2]=0;c[g+8+12>>2]=0;b[g+8>>1]=2;b[g+8+2>>1]=Hob(b[(c[g+60>>2]|0)+4>>1]|0)|0;c[g+8+4>>2]=c[c[g+60>>2]>>2];c[g+24>>2]=g+8;c[g+24+4>>2]=16}c[g+24+8>>2]=c[g+56>>2];c[g+24+12>>2]=c[g+52>>2];c[g>>2]=_ob(c[g+64>>2]|0,g+24|0,16384)|0;if((c[g>>2]|0)!=-1){c[g+68>>2]=c[g>>2];a=c[g+68>>2]|0;i=g;return a|0}if((c[(Mlb()|0)>>2]|0)==11){c[g+68>>2]=0;a=c[g+68>>2]|0;i=g;return a|0}else{c[g+68>>2]=-1;a=c[g+68>>2]|0;i=g;return a|0}return 0}function Cr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+80|0;c[g+64>>2]=a;c[g+60>>2]=d;c[g+56>>2]=e;c[g+52>>2]=f;c[g+24>>2]=0;c[g+24+4>>2]=0;c[g+24+8>>2]=0;c[g+24+12>>2]=0;c[g+24+16>>2]=0;c[g+24+20>>2]=0;c[g+24+24>>2]=0;if(c[g+60>>2]|0){c[g+24>>2]=g+8;c[g+24+4>>2]=16}c[g+24+8>>2]=c[g+56>>2];c[g+24+12>>2]=c[g+52>>2];c[g>>2]=Zob(c[g+64>>2]|0,g+24|0,16384)|0;if((c[g>>2]|0)!=-1){if(c[g+60>>2]|0){c[c[g+60>>2]>>2]=c[g+8+4>>2];a=Xob(b[g+8+2>>1]|0)|0;b[(c[g+60>>2]|0)+4>>1]=a}c[g+68>>2]=c[g>>2];a=c[g+68>>2]|0;i=g;return a|0}if((c[(Mlb()|0)>>2]|0)==11){c[g+68>>2]=0;a=c[g+68>>2]|0;i=g;return a|0}else{c[g+68>>2]=-1;a=c[g+68>>2]|0;i=g;return a|0}return 0}function Dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+304|0;c[e+296>>2]=a;c[e+292>>2]=b;c[e+288>>2]=d;c[e+24>>2]=((c[e+288>>2]|0)>>>0)/1e3|0;c[e+24+4>>2]=(((c[e+288>>2]|0)>>>0)%1e3|0)*1e3;c[e+8>>2]=e+160;c[e+12>>2]=32;while(1){if(!(c[e+12>>2]|0))break;d=c[e+8>>2]|0;c[e+8>>2]=d+4;c[d>>2]=0;c[e+12>>2]=(c[e+12>>2]|0)+-1}c[e>>2]=e+32;c[e+4>>2]=32;while(1){if(!(c[e+4>>2]|0))break;d=c[e>>2]|0;c[e>>2]=d+4;c[d>>2]=0;c[e+4>>2]=(c[e+4>>2]|0)+-1}if(c[c[e+292>>2]>>2]&1|0){d=e+32+((((c[e+296>>2]|0)>>>0)/32|0)<<2)|0;c[d>>2]=c[d>>2]|1<<(((c[e+296>>2]|0)>>>0)%32|0)}if(c[c[e+292>>2]>>2]&2|0){d=e+160+((((c[e+296>>2]|0)>>>0)/32|0)<<2)|0;c[d>>2]=c[d>>2]|1<<(((c[e+296>>2]|0)>>>0)%32|0)}c[e+16>>2]=fpb((c[e+296>>2]|0)+1|0,e+160|0,e+32|0,0,e+24|0)|0;if((c[e+16>>2]|0)<0){if((c[(Mlb()|0)>>2]|0)==4)if(c[c[e+292>>2]>>2]&4|0){c[c[e+292>>2]>>2]=4;c[e+300>>2]=0;d=c[e+300>>2]|0;i=e;return d|0}c[e+300>>2]=-1;d=c[e+300>>2]|0;i=e;return d|0}c[c[e+292>>2]>>2]=0;if(!(c[e+16>>2]|0)){c[e+300>>2]=0;d=c[e+300>>2]|0;i=e;return d|0}if(c[e+32+((((c[e+296>>2]|0)>>>0)/32|0)<<2)>>2]&1<<(((c[e+296>>2]|0)>>>0)%32|0)|0){d=c[e+292>>2]|0;c[d>>2]=c[d>>2]|1}if(c[e+160+((((c[e+296>>2]|0)>>>0)/32|0)<<2)>>2]&1<<(((c[e+296>>2]|0)>>>0)%32|0)|0){d=c[e+292>>2]|0;c[d>>2]=c[d>>2]|2}c[e+300>>2]=0;d=c[e+300>>2]|0;i=e;return d|0}function Er(a){a=a|0;TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1476,0);_Da(a,-2,265825);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1477,0);_Da(a,-2,265837);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1478,0);_Da(a,-2,361353);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1479,0);_Da(a,-2,279047);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1480,0);_Da(a,-2,291260);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1481,0);_Da(a,-2,299459);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1482,0);_Da(a,-2,361447);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1483,0);_Da(a,-2,309877);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1484,0);_Da(a,-2,313504);lDa(a,-3);TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,1485,0);_Da(a,-2,324051);lDa(a,-3);return 0}function Fr(a){a=a|0;if(!(sHa(a,265847,4061,269908)|0))dEa(a,0,0);TDa(a,-10002,361353);return 1}function Gr(a){a=a|0;if(!(sHa(a,269919,9120,279039)|0))dEa(a,0,0);TDa(a,-10002,279047);return 1}function Hr(a){a=a|0;if(!(sHa(a,279058,12193,291251)|0))dEa(a,0,0);TDa(a,-10002,291260);return 1}function Ir(a){a=a|0;if(!(sHa(a,291272,8177,299449)|0))dEa(a,0,0);TDa(a,-10002,299459);return 1}function Jr(a){a=a|0;if(!(sHa(a,299465,2433,301898)|0))dEa(a,0,0);TDa(a,-10002,361447);return 1}function Kr(a){a=a|0;if(!(sHa(a,301907,7961,309868)|0))dEa(a,0,0);TDa(a,-10002,309877);return 1}function Lr(a){a=a|0;if(!(sHa(a,309889,3608,313497)|0))dEa(a,0,0);TDa(a,-10002,313504);return 1}function Mr(a){a=a|0;if(!(sHa(a,313514,10529,324043)|0))dEa(a,0,0);TDa(a,-10002,324051);return 1}function Nr(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+4>>2]=a;WDa(c[b+4>>2]|0,0,6);c[b>>2]=11976;while(1){if(!(c[c[b>>2]>>2]|0))break;if(c[(c[b>>2]|0)+4>>2]|0){ODa(c[b+4>>2]|0,c[(c[b>>2]|0)+4>>2]|0,0);_Da(c[b+4>>2]|0,-2,c[c[b>>2]>>2]|0)}c[b>>2]=(c[b>>2]|0)+8}KDa(c[b+4>>2]|0,324270,16);_Da(c[b+4>>2]|0,-2,324258);i=b;return 1}function Or(b){b=b|0;var d=0,e=0;e=i;i=i+32|0;c[e+20>>2]=b;c[e+12>>2]=UGa(c[e+20>>2]|0,1,e+16|0)|0;c[e+8>>2]=aHa(c[e+20>>2]|0,2)|0;c[e+4>>2]=(c[e+8>>2]|0)>=0?1:(c[e+16>>2]|0)+1|0;b=bHa(c[e+20>>2]|0,3,c[e+4>>2]|0)|0;c[e+4>>2]=Pr(b,c[e+16>>2]|0)|0;if(1<=(c[e+4>>2]|0)){b=(c[e+4>>2]|0)+-1|0;c[e+4>>2]=b;if((b|0)>(c[e+16>>2]|0))d=3}else d=3;if((d|0)==3)OGa(c[e+20>>2]|0,3,324069)|0;a:do if(!(c[e+8>>2]|0))while(1){if((c[e+4>>2]|0)<=0)break a;if((a[(c[e+12>>2]|0)+(c[e+4>>2]|0)>>0]&192|0)!=128)break a;c[e+4>>2]=(c[e+4>>2]|0)+-1}else{if((a[(c[e+12>>2]|0)+(c[e+4>>2]|0)>>0]&192|0)==128)PGa(c[e+20>>2]|0,324091,e)|0;if((c[e+8>>2]|0)<0)while(1){if(!((c[e+8>>2]|0)<0?(c[e+4>>2]|0)>0:0))break a;do{c[e+4>>2]=(c[e+4>>2]|0)+-1;if((c[e+4>>2]|0)<=0)break}while((a[(c[e+12>>2]|0)+(c[e+4>>2]|0)>>0]&192|0)==128);c[e+8>>2]=(c[e+8>>2]|0)+1}c[e+8>>2]=(c[e+8>>2]|0)+-1;while(1){if((c[e+8>>2]|0)<=0)break a;if((c[e+4>>2]|0)>=(c[e+16>>2]|0))break a;do c[e+4>>2]=(c[e+4>>2]|0)+1;while((a[(c[e+12>>2]|0)+(c[e+4>>2]|0)>>0]&192|0)==128);c[e+8>>2]=(c[e+8>>2]|0)+-1}}while(0);b=c[e+20>>2]|0;if(!(c[e+8>>2]|0)){JDa(b,(c[e+4>>2]|0)+1|0);i=e;return 1}else{HDa(b);i=e;return 1}return 0}function Pr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;b=c[d+4>>2]|0;do if((c[d+4>>2]|0)>=0)c[d+8>>2]=b;else if((0-b|0)>>>0>(c[d>>2]|0)>>>0){c[d+8>>2]=0;break}else{c[d+8>>2]=(c[d>>2]|0)+(c[d+4>>2]|0)+1;break}while(0);i=d;return c[d+8>>2]|0}function Qr(a){a=a|0;var b=0,d=0;d=i;i=i+48|0;c[d+40>>2]=a;c[d+32>>2]=UGa(c[d+40>>2]|0,1,d+36|0)|0;b=bHa(c[d+40>>2]|0,2,1)|0;c[d+28>>2]=Pr(b,c[d+36>>2]|0)|0;b=bHa(c[d+40>>2]|0,3,c[d+28>>2]|0)|0;c[d+24>>2]=Pr(b,c[d+36>>2]|0)|0;if((c[d+28>>2]|0)<1)OGa(c[d+40>>2]|0,2,324141)|0;if((c[d+24>>2]|0)>(c[d+36>>2]|0))OGa(c[d+40>>2]|0,3,324141)|0;if((c[d+28>>2]|0)>(c[d+24>>2]|0)){c[d+44>>2]=0;b=c[d+44>>2]|0;i=d;return b|0}c[d+20>>2]=(c[d+24>>2]|0)-(c[d+28>>2]|0)+1;a=c[d+40>>2]|0;if(((c[d+28>>2]|0)+(c[d+20>>2]|0)|0)<=(c[d+24>>2]|0)){c[d+44>>2]=PGa(a,519695,d)|0;b=c[d+44>>2]|0;i=d;return b|0}XGa(a,c[d+20>>2]|0,519695);c[d+20>>2]=0;c[d+16>>2]=(c[d+32>>2]|0)+(c[d+24>>2]|0);c[d+32>>2]=(c[d+32>>2]|0)+((c[d+28>>2]|0)-1);while(1){if((c[d+32>>2]|0)>>>0>=(c[d+16>>2]|0)>>>0){b=14;break}c[d+32>>2]=Rr(c[d+32>>2]|0,d+12|0)|0;a=c[d+40>>2]|0;if(!(c[d+32>>2]|0)){b=12;break}JDa(a,c[d+12>>2]|0);c[d+20>>2]=(c[d+20>>2]|0)+1}if((b|0)==12){c[d+44>>2]=PGa(a,324154,d+8|0)|0;b=c[d+44>>2]|0;i=d;return b|0}else if((b|0)==14){c[d+44>>2]=c[d+20>>2];b=c[d+44>>2]|0;i=d;return b|0}return 0}function Rr(a,b){a=a|0;b=b|0;var e=0,f=0;f=i;i=i+32|0;c[f+24>>2]=a;c[f+20>>2]=b;c[f+16>>2]=c[f+24>>2];c[f+12>>2]=d[c[f+16>>2]>>0];c[f+8>>2]=0;do if((c[f+12>>2]|0)>>>0<128)c[f+8>>2]=c[f+12>>2];else{c[f+4>>2]=0;while(1){if(!(c[f+12>>2]&64))break;b=(c[f+4>>2]|0)+1|0;c[f+4>>2]=b;c[f>>2]=d[(c[f+16>>2]|0)+b>>0];if((c[f>>2]&192|0)!=128){e=6;break}c[f+8>>2]=c[f+8>>2]<<6|c[f>>2]&63;c[f+12>>2]=c[f+12>>2]<<1}if((e|0)==6){c[f+28>>2]=0;e=c[f+28>>2]|0;i=f;return e|0}c[f+8>>2]=c[f+8>>2]|(c[f+12>>2]&127)<<(c[f+4>>2]|0)*5;if(!((c[f+4>>2]|0)>3?1:(c[f+8>>2]|0)>>>0>1114111))if((c[f+8>>2]|0)>>>0>(c[12032+(c[f+4>>2]<<2)>>2]|0)>>>0){c[f+16>>2]=(c[f+16>>2]|0)+(c[f+4>>2]|0);break}c[f+28>>2]=0;e=c[f+28>>2]|0;i=f;return e|0}while(0);if(c[f+20>>2]|0)c[c[f+20>>2]>>2]=c[f+8>>2];c[f+28>>2]=(c[f+16>>2]|0)+1;e=c[f+28>>2]|0;i=f;return e|0}function Sr(a){a=a|0;var b=0;b=i;i=i+1056|0;c[b+1044>>2]=a;c[b+1040>>2]=kDa(c[b+1044>>2]|0)|0;a=c[b+1044>>2]|0;if((c[b+1040>>2]|0)==1){Tr(a,1);i=b;return 1}jHa(a,b);c[b+1036>>2]=1;while(1){if((c[b+1036>>2]|0)>(c[b+1040>>2]|0))break;Tr(c[b+1044>>2]|0,c[b+1036>>2]|0);nHa(b);c[b+1036>>2]=(c[b+1036>>2]|0)+1}mHa(b);i=b;return 1}function Tr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+32|0;c[d+12>>2]=a;c[d+8>>2]=b;c[d+4>>2]=aHa(c[d+12>>2]|0,c[d+8>>2]|0)|0;if(!(0<=(c[d+4>>2]|0)?(c[d+4>>2]|0)<=1114111:0))OGa(c[d+12>>2]|0,c[d+8>>2]|0,324173)|0;c[d>>2]=Ur(d+16|0,c[d+4>>2]|0)|0;KDa(c[d+12>>2]|0,d+16+8+(0-(c[d>>2]|0))|0,c[d>>2]|0);i=d;return}function Ur(b,d){b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+12>>2]=b;c[e+8>>2]=d;c[e+4>>2]=1;if((c[e+8>>2]|0)>>>0<128){a[(c[e+12>>2]|0)+7>>0]=c[e+8>>2];d=c[e+4>>2]|0;i=e;return d|0}c[e>>2]=63;do{b=(128|c[e+8>>2]&63)&255;d=c[e+4>>2]|0;c[e+4>>2]=d+1;a[(c[e+12>>2]|0)+(8-d)>>0]=b;c[e+8>>2]=(c[e+8>>2]|0)>>>6;c[e>>2]=(c[e>>2]|0)>>>1}while((c[e+8>>2]|0)>>>0>(c[e>>2]|0)>>>0);a[(c[e+12>>2]|0)+(8-(c[e+4>>2]|0))>>0]=~c[e>>2]<<1|c[e+8>>2];d=c[e+4>>2]|0;i=e;return d|0}function Vr(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;c[d+24>>2]=a;c[d+20>>2]=0;c[d+12>>2]=UGa(c[d+24>>2]|0,1,d+16|0)|0;a=bHa(c[d+24>>2]|0,2,1)|0;c[d+8>>2]=Pr(a,c[d+16>>2]|0)|0;a=bHa(c[d+24>>2]|0,3,-1)|0;c[d+4>>2]=Pr(a,c[d+16>>2]|0)|0;if(1<=(c[d+8>>2]|0)){a=(c[d+8>>2]|0)+-1|0;c[d+8>>2]=a;if((a|0)>(c[d+16>>2]|0))b=3}else b=3;if((b|0)==3)OGa(c[d+24>>2]|0,2,324192)|0;b=(c[d+4>>2]|0)+-1|0;c[d+4>>2]=b;if((b|0)>=(c[d+16>>2]|0))OGa(c[d+24>>2]|0,3,324223)|0;while(1){if((c[d+8>>2]|0)>(c[d+4>>2]|0)){b=11;break}c[d>>2]=Rr((c[d+12>>2]|0)+(c[d+8>>2]|0)|0,0)|0;if(!(c[d>>2]|0)){b=9;break}c[d+8>>2]=(c[d>>2]|0)-(c[d+12>>2]|0);c[d+20>>2]=(c[d+20>>2]|0)+1}if((b|0)==9){HDa(c[d+24>>2]|0);JDa(c[d+24>>2]|0,(c[d+8>>2]|0)+1|0);c[d+28>>2]=2;b=c[d+28>>2]|0;i=d;return b|0}else if((b|0)==11){JDa(c[d+24>>2]|0,c[d+20>>2]|0);c[d+28>>2]=1;b=c[d+28>>2]|0;i=d;return b|0}return 0}function Wr(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;UGa(c[b>>2]|0,1,0)|0;ODa(c[b>>2]|0,1486,0);pDa(c[b>>2]|0,1);JDa(c[b>>2]|0,0);i=b;return 3}function Xr(b){b=b|0;var d=0;d=i;i=i+32|0;c[d+24>>2]=b;c[d+16>>2]=UGa(c[d+24>>2]|0,1,d+20|0)|0;c[d+12>>2]=(zDa(c[d+24>>2]|0,2)|0)-1;a:do if((c[d+12>>2]|0)<0)c[d+12>>2]=0;else if((c[d+12>>2]|0)<(c[d+20>>2]|0)){c[d+12>>2]=(c[d+12>>2]|0)+1;while(1){if((a[(c[d+16>>2]|0)+(c[d+12>>2]|0)>>0]&192|0)!=128)break a;c[d+12>>2]=(c[d+12>>2]|0)+1}}while(0);if((c[d+12>>2]|0)>=(c[d+20>>2]|0)){c[d+28>>2]=0;b=c[d+28>>2]|0;i=d;return b|0}c[d+4>>2]=Rr((c[d+16>>2]|0)+(c[d+12>>2]|0)|0,d+8|0)|0;if(c[d+4>>2]|0)if((a[c[d+4>>2]>>0]&192|0)!=128){JDa(c[d+24>>2]|0,(c[d+12>>2]|0)+1|0);JDa(c[d+24>>2]|0,c[d+8>>2]|0);c[d+28>>2]=2;b=c[d+28>>2]|0;i=d;return b|0}c[d+28>>2]=PGa(c[d+24>>2]|0,324154,d)|0;b=c[d+28>>2]|0;i=d;return b|0}function Yr(a,b,c){a=+a;b=+b;c=+c;var e=0,f=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;o=a-+((!(a>0.0)<<31>>31)+~~a|0);p=b-+((!(b>0.0)<<31>>31)+~~b|0);q=c-+((!(c>0.0)<<31>>31)+~~c|0);n=(!(a>0.0)<<31>>31)+~~a+1&255;j=(!(b>0.0)<<31>>31)+~~b+1&255;k=(!(a>0.0)<<31>>31)+~~a&255;g=(!(b>0.0)<<31>>31)+~~b&255;h=d[324287+((!(c>0.0)<<31>>31)+~~c&255)>>0]|0;m=d[324287+(h+g)>>0]|0;e=d[324287+(m+k)>>0]|0;a=(e&15)>>>0<8?o:p;if((e&15)>>>0<4)b=p;else b=(e&15|2|0)==14?o:q;f=(e&1|0?-a:a)+(e&2|0?-b:b);i=d[324287+((!(c>0.0)<<31>>31)+~~c+1&255)>>0]|0;l=d[324287+(i+g)>>0]|0;e=d[324287+(l+k)>>0]|0;b=(e&15)>>>0<8?o:p;if((e&15)>>>0<4)a=p;else a=(e&15|2|0)==14?o:q+-1.0;c=f+q*(q*q)*(q*(q*6.0+-15.0)+10.0)*((e&1|0?-b:b)+(e&2|0?-a:a)-f);h=d[324287+(h+j)>>0]|0;e=d[324287+(h+k)>>0]|0;a=(e&15)>>>0<8?o:p+-1.0;if((e&15)>>>0<4)b=p+-1.0;else b=(e&15|2|0)==14?o:q;f=(e&1|0?-a:a)+(e&2|0?-b:b);g=d[324287+(i+j)>>0]|0;e=d[324287+(g+k)>>0]|0;a=(e&15)>>>0<8?o:p+-1.0;if((e&15)>>>0<4)b=p+-1.0;else b=(e&15|2|0)==14?o:q+-1.0;c=c+p*(p*p)*(p*(p*6.0+-15.0)+10.0)*(f+q*(q*q)*(q*(q*6.0+-15.0)+10.0)*((e&1|0?-a:a)+(e&2|0?-b:b)-f)-c);e=d[324287+(m+n)>>0]|0;a=(e&15)>>>0<8?o+-1.0:p;if((e&15)>>>0<4)b=p;else b=(e&15|2|0)==14?o+-1.0:q;f=(e&1|0?-a:a)+(e&2|0?-b:b);e=d[324287+(l+n)>>0]|0;a=(e&15)>>>0<8?o+-1.0:p;if((e&15)>>>0<4)b=p;else b=(e&15|2|0)==14?o+-1.0:q+-1.0;f=f+q*(q*q)*(q*(q*6.0+-15.0)+10.0)*((e&1|0?-a:a)+(e&2|0?-b:b)-f);e=d[324287+(h+n)>>0]|0;a=(e&15)>>>0<8?o+-1.0:p+-1.0;if((e&15)>>>0<4)b=p+-1.0;else b=(e&15|2|0)==14?o+-1.0:q;b=(e&1|0?-a:a)+(e&2|0?-b:b);e=d[324287+(g+n)>>0]|0;a=(e&15)>>>0<8?o+-1.0:p+-1.0;if((e&15)>>>0<4){s=p+-1.0;n=e&1;n=(n|0)!=0;r=-a;r=n?r:a;n=e&2;n=(n|0)!=0;a=-s;a=n?a:s;a=r+a;a=a-b;q=q*(q*q)*(q*(q*6.0+-15.0)+10.0)*a;q=b+q;q=q-f;q=p*(p*p)*(p*(p*6.0+-15.0)+10.0)*q;q=f+q;q=q-c;q=o*(o*o)*(o*(o*6.0+-15.0)+10.0)*q;q=c+q;q=q*.9359999895095825;return +q}s=(e&15|2|0)==14?o+-1.0:q+-1.0;n=e&1;n=(n|0)!=0;r=-a;r=n?r:a;n=e&2;n=(n|0)!=0;a=-s;s=n?a:s;s=r+s;s=s-b;s=q*(q*q)*(q*(q*6.0+-15.0)+10.0)*s;s=b+s;s=s-f;s=p*(p*p)*(p*(p*6.0+-15.0)+10.0)*s;s=f+s;s=s-c;s=o*(o*o)*(o*(o*6.0+-15.0)+10.0)*s;s=c+s;s=s*.9359999895095825;return +s}function Zr(a,b,c,e){a=+a;b=+b;c=+c;e=+e;var f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=a-+((!(a>0.0)<<31>>31)+~~a|0);l=b-+((!(b>0.0)<<31>>31)+~~b|0);k=c-+((!(c>0.0)<<31>>31)+~~c|0);j=e-+((!(e>0.0)<<31>>31)+~~e|0);g=(!(a>0.0)<<31>>31)+~~a+1&255;n=(!(b>0.0)<<31>>31)+~~b+1&255;w=(!(c>0.0)<<31>>31)+~~c+1&255;v=(!(a>0.0)<<31>>31)+~~a&255;r=(!(b>0.0)<<31>>31)+~~b&255;p=(!(c>0.0)<<31>>31)+~~c&255;o=d[324287+((!(e>0.0)<<31>>31)+~~e&255)>>0]|0;q=d[324287+(o+p)>>0]|0;u=d[324287+(q+r)>>0]|0;x=d[324287+(u+v)>>0]|0;b=(x&31)>>>0<24?m:l;c=(x&31)>>>0<16?l:k;a=(x&31)>>>0<8?k:j;c=(x&4|0?-a:a)+((x&1|0?-b:b)+(x&2|0?-c:c));x=d[324287+((!(e>0.0)<<31>>31)+~~e+1&255)>>0]|0;p=d[324287+(x+p)>>0]|0;t=d[324287+(p+r)>>0]|0;s=d[324287+(t+v)>>0]|0;b=(s&31)>>>0<24?m:l;a=(s&31)>>>0<16?l:k;e=(s&31)>>>0<8?k:j+-1.0;c=c+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((s&4|0?-e:e)+((s&1|0?-b:b)+(s&2|0?-a:a))-c);o=d[324287+(o+w)>>0]|0;s=d[324287+(o+r)>>0]|0;y=d[324287+(s+v)>>0]|0;a=(y&31)>>>0<24?m:l;b=(y&31)>>>0<16?l:k+-1.0;e=(y&31)>>>0<8?k+-1.0:j;b=(y&4|0?-e:e)+((y&1|0?-a:a)+(y&2|0?-b:b));w=d[324287+(x+w)>>0]|0;r=d[324287+(w+r)>>0]|0;x=d[324287+(r+v)>>0]|0;a=(x&31)>>>0<24?m:l;e=(x&31)>>>0<16?l:k+-1.0;h=(x&31)>>>0<8?k+-1.0:j+-1.0;c=c+k*(k*k)*(k*(k*6.0+-15.0)+10.0)*(b+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((x&4|0?-h:h)+((x&1|0?-a:a)+(x&2|0?-e:e))-b)-c);q=d[324287+(q+n)>>0]|0;x=d[324287+(q+v)>>0]|0;b=(x&31)>>>0<24?m:l+-1.0;e=(x&31)>>>0<16?l+-1.0:k;a=(x&31)>>>0<8?k:j;e=(x&4|0?-a:a)+((x&1|0?-b:b)+(x&2|0?-e:e));p=d[324287+(p+n)>>0]|0;x=d[324287+(p+v)>>0]|0;b=(x&31)>>>0<24?m:l+-1.0;a=(x&31)>>>0<16?l+-1.0:k;h=(x&31)>>>0<8?k:j+-1.0;e=e+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((x&4|0?-h:h)+((x&1|0?-b:b)+(x&2|0?-a:a))-e);o=d[324287+(o+n)>>0]|0;x=d[324287+(o+v)>>0]|0;a=(x&31)>>>0<24?m:l+-1.0;b=(x&31)>>>0<16?l+-1.0:k+-1.0;h=(x&31)>>>0<8?k+-1.0:j;b=(x&4|0?-h:h)+((x&1|0?-a:a)+(x&2|0?-b:b));n=d[324287+(w+n)>>0]|0;v=d[324287+(n+v)>>0]|0;a=(v&31)>>>0<24?m:l+-1.0;h=(v&31)>>>0<16?l+-1.0:k+-1.0;f=(v&31)>>>0<8?k+-1.0:j+-1.0;c=c+l*(l*l)*(l*(l*6.0+-15.0)+10.0)*(e+k*(k*k)*(k*(k*6.0+-15.0)+10.0)*(b+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((v&4|0?-f:f)+((v&1|0?-a:a)+(v&2|0?-h:h))-b)-e)-c);u=d[324287+(u+g)>>0]|0;e=(u&31)>>>0<24?m+-1.0:l;b=(u&31)>>>0<16?l:k;h=(u&31)>>>0<8?k:j;b=(u&4|0?-h:h)+((u&1|0?-e:e)+(u&2|0?-b:b));t=d[324287+(t+g)>>0]|0;e=(t&31)>>>0<24?m+-1.0:l;h=(t&31)>>>0<16?l:k;a=(t&31)>>>0<8?k:j+-1.0;b=b+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((t&4|0?-a:a)+((t&1|0?-e:e)+(t&2|0?-h:h))-b);s=d[324287+(s+g)>>0]|0;h=(s&31)>>>0<24?m+-1.0:l;e=(s&31)>>>0<16?l:k+-1.0;a=(s&31)>>>0<8?k+-1.0:j;e=(s&4|0?-a:a)+((s&1|0?-h:h)+(s&2|0?-e:e));r=d[324287+(r+g)>>0]|0;h=(r&31)>>>0<24?m+-1.0:l;a=(r&31)>>>0<16?l:k+-1.0;f=(r&31)>>>0<8?k+-1.0:j+-1.0;b=b+k*(k*k)*(k*(k*6.0+-15.0)+10.0)*(e+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((r&4|0?-f:f)+((r&1|0?-h:h)+(r&2|0?-a:a))-e)-b);q=d[324287+(q+g)>>0]|0;e=(q&31)>>>0<24?m+-1.0:l+-1.0;a=(q&31)>>>0<16?l+-1.0:k;h=(q&31)>>>0<8?k:j;a=(q&4|0?-h:h)+((q&1|0?-e:e)+(q&2|0?-a:a));p=d[324287+(p+g)>>0]|0;e=(p&31)>>>0<24?m+-1.0:l+-1.0;h=(p&31)>>>0<16?l+-1.0:k;f=(p&31)>>>0<8?k:j+-1.0;a=a+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((p&4|0?-f:f)+((p&1|0?-e:e)+(p&2|0?-h:h))-a);o=d[324287+(o+g)>>0]|0;h=(o&31)>>>0<24?m+-1.0:l+-1.0;e=(o&31)>>>0<16?l+-1.0:k+-1.0;f=(o&31)>>>0<8?k+-1.0:j;e=(o&4|0?-f:f)+((o&1|0?-h:h)+(o&2|0?-e:e));g=d[324287+(n+g)>>0]|0;h=(g&31)>>>0<24?m+-1.0:l+-1.0;f=(g&31)>>>0<16?l+-1.0:k+-1.0;i=(g&31)>>>0<8?k+-1.0:j+-1.0;return +((c+m*(m*m)*(m*(m*6.0+-15.0)+10.0)*(b+l*(l*l)*(l*(l*6.0+-15.0)+10.0)*(a+k*(k*k)*(k*(k*6.0+-15.0)+10.0)*(e+j*(j*j)*(j*(j*6.0+-15.0)+10.0)*((g&4|0?-i:i)+((g&1|0?-h:h)+(g&2|0?-f:f))-e)-a)-b)-c))*.8700000047683716)}function _r(a){a=+a;var b=0,c=0.0,e=0.0,f=0;c=a-+((!(a>0.0)<<31>>31)+~~a|0);f=d[324287+((!(a>0.0)<<31>>31)+~~a&255)>>0]|0;e=(1.0-(c+-1.0)*(c+-1.0))*(1.0-(c+-1.0)*(c+-1.0));b=d[324287+((!(a>0.0)<<31>>31)+~~a+1&255)>>0]|0;return +(((1.0-c*c)*(1.0-c*c)*((1.0-c*c)*(1.0-c*c))*(c*((f&8|0)==0?+((f&7)+1|0):-+((f&7)+1|0)))+e*e*((c+-1.0)*((b&8|0)==0?+((b&7)+1|0):-+((b&7)+1|0))))*.39500001072883606)}function $r(a,b){a=+a;b=+b;var c=0.0,e=0.0,f=0.0,g=0,h=0,i=0,j=0.0;h=(!((a+b)*.366025403+a>0.0)<<31>>31)+~~((a+b)*.366025403+a)|0;g=(!((a+b)*.366025403+b>0.0)<<31>>31)+~~((a+b)*.366025403+b)|0;f=a-(+(h|0)-+(h+g|0)*.211324865);c=b-(+(g|0)-+(h+g|0)*.211324865);a=c-+(f>c^1|0)+.211324865;if(.5-f*f-c*c<0.0)e=0.0;else{b=(.5-f*f-c*c)*(.5-f*f-c*c);i=d[324287+((d[324287+(g&255)>>0]|0)+(h&255))>>0]|0;e=(i&4)>>>0<4?f:c;e=b*b*((i&1|0?-e:e)+((i&4)>>>0<4?c:f)*(i&2|0?-2.0:2.0))}b=.5-(f-+(f>c&1)+.211324865)*(f-+(f>c&1)+.211324865)-a*a;if(b<0.0)b=0.0;else{i=d[324287+((f>c&1)+(h&255)+(d[324287+((f>c^1)+(g&255))>>0]|0))>>0]|0;j=(i&4)>>>0<4?f-+(f>c&1)+.211324865:a;b=b*b*(b*b)*((i&1|0?-j:j)+((i&4)>>>0<4?a:f-+(f>c&1)+.211324865)*(i&2|0?-2.0:2.0))}a=.5-(f+-1.0+.42264973)*(f+-1.0+.42264973)-(c+-1.0+.42264973)*(c+-1.0+.42264973);if(a<0.0){j=0.0;f=e+b;j=f+j;j=j*45.22999954223633;return +j}i=d[324287+((h&255)+1+(d[324287+((g&255)+1)>>0]|0))>>0]|0;j=(i&4)>>>0<4?f+-1.0+.42264973:c+-1.0+.42264973;j=a*a*(a*a)*((i&1|0?-j:j)+((i&4)>>>0<4?c+-1.0+.42264973:f+-1.0+.42264973)*(i&2|0?-2.0:2.0));f=e+b;j=f+j;j=j*45.22999954223633;return +j}function as(a){a=a|0;c[a>>2]=12056;Mqb(a+4|0);return}function bs(a){a=a|0;c[a>>2]=12056;Mqb(a+4|0);oAb(a);return}function cs(b){b=b|0;if(!(a[b+4>>0]&1)){b=b+4+1|0;return b|0}else{b=c[b+12>>2]|0;return b|0}return 0}function ds(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;c[b>>2]=12056;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;f=256;while(1){h=_Ab((f|0)>-1?f:-1)|0;hBb(h|0,0,f|0)|0;c[j+16>>2]=e;g=tmb(h,f,d,j+16|0)|0;if((g|0)==(f+-1|0)|((g|0)==(f|0)|(g|0)==-1))f=f<<1;else{if((g|0)<=(f|0))break;f=g+2|0}aBb(h)}Iqb(j,h,rnb(h)|0);if(!(a[b+4>>0]&1)){a[b+4+1>>0]=0;a[b+4>>0]=0}else{a[c[b+12>>2]>>0]=0;c[b+8>>2]=0}Qqb(b+4|0,0);c[b+4>>2]=c[j>>2];c[b+4+4>>2]=c[j+4>>2];c[b+4+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Mqb(j);aBb(h);i=j;return}function es(a,b){a=a|0;b=b|0;if((qDa(a,-1)|0)==(b|0)){b=YAb(12)|0;h_(b,a);return b|0}else{lDa(a,-2);b=0;return b|0}return 0}function fs(a,b){a=a|0;b=b|0;return (ADa(a,b)|0)!=0|0}function gs(a,b){a=a|0;b=b|0;PDa(a,b&1);return}function hs(a,b,c){a=a|0;b=b|0;c=c|0;if((qDa(a,b)|0)!=1){b=c;return b|0}b=(ADa(a,b)|0)==1;return b|0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;d=BDa(b,d,e)|0;Iqb(a,d,c[e>>2]|0);i=e;return}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;d=UGa(b,d,e)|0;Iqb(a,d,c[e>>2]|0);i=e;return}function ks(b,d){b=b|0;d=d|0;var e=0;e=a[d>>0]|0;KDa(b,(e&1)==0?d+1|0:c[d+8>>2]|0,(e&1)==0?(e&255)>>>1:c[d+4>>2]|0);return}function ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;TDa(a,b,c);if((qDa(a,-1)|0)>=1)d=(ADa(a,-1)|0)!=0;lDa(a,-2);return d|0}function ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;TDa(a,b,c);if(tDa(a,-1)|0)d=zDa(a,-1)|0;lDa(a,-2);return d|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=kDa(a)|0;if((d|0)>=(b|0)){b=0;i=e;return b|0}c[e>>2]=d;c[e+4>>2]=b;b=PGa(a,324817,e)|0;i=e;return b|0}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=kDa(a)|0;if(!((e|0)<(b|0)|(e|0)>(d|0))){b=0;i=f;return b|0}c[f>>2]=e;c[f+4>>2]=b;c[f+8>>2]=d;b=PGa(a,324881,f)|0;i=f;return b|0}function ps(a,b){a=a|0;b=b|0;TDa(a,-10002,521011);LDa(a,b);dEa(a,1,1);return 1}function qs(a,b){a=a|0;b=b|0;var d=0,e=0;Ts(c[b+8>>2]|0,c[b+4>>2]|0);rs(a,324939)|0;d=nEa(a,8)|0;e=c[b>>2]|0;c[d+4>>2]=e;c[d>>2]=c[b+8>>2];VGa(a,vi[c[(c[e>>2]|0)+20>>2]&2047](e)|0)|0;pDa(a,-1);_Da(a,-2,520409);ODa(a,1487,0);_Da(a,-2,520300);bEa(a,-2)|0;_Da(a,-2,c[b+4>>2]|0);lDa(a,-2);TDa(a,-10002,442638);if((qDa(a,-1)|0)!=5){lDa(a,-2);WDa(a,0,0);pDa(a,-1);_Da(a,-10002,442638)}WDa(a,0,0);d=c[b+12>>2]|0;if(d|0)if(c[d>>2]|0)do{ODa(a,c[d+4>>2]|0,0);_Da(a,-2,c[d>>2]|0);d=d+8|0}while((c[d>>2]|0)!=0);e=c[b+16>>2]|0;if(e|0){d=c[e>>2]|0;if(d|0)do{vi[d&2047](a)|0;e=e+4|0;d=c[e>>2]|0}while((d|0)!=0)}pDa(a,-1);_Da(a,-3,c[b+4>>2]|0);mDa(a,-2);Bj(c[b>>2]|0);return 1}function rs(a,b){a=a|0;b=b|0;TDa(a,-10002,442638);if((qDa(a,-1)|0)!=5){lDa(a,-2);WDa(a,0,0);pDa(a,-1);_Da(a,-10002,442638)}ss(a,-1,b)|0;oDa(a,-2);return 1}function ss(a,b,c){a=a|0;b=b|0;c=c|0;if(b>>>0>4294957296)b=b+1+(kDa(a)|0)|0;TDa(a,b,c);if((qDa(a,-1)|0)==5)return 1;lDa(a,-2);WDa(a,0,0);pDa(a,-1);_Da(a,b,c);return 1}function ts(a){a=a|0;a=c[(EDa(a,1)|0)+4>>2]|0;Hi[c[(c[a>>2]|0)+12>>2]&1023](a);return 0}function us(a,b){a=a|0;b=b|0;var c=0;c=i;i=i+16|0;switch(b|0){case 0:{rs(a,324939)|0;a=1;break}case 1:{TDa(a,-1e4,324948);if((qDa(a,-1)|0)==5)a=1;else{lDa(a,-2);WDa(a,0,0);pDa(a,-1);_Da(a,-1e4,324948);a=1}break}default:a=PGa(a,324961,c)|0}i=c;return a|0}function vs(a,b){a=a|0;b=b|0;TDa(a,-10002,b);if((qDa(a,-1)|0)==5)return 1;lDa(a,-2);WDa(a,0,0);pDa(a,-1);_Da(a,-10002,b);return 1}function ws(a,b,c){a=a|0;b=b|0;c=c|0;TDa(a,-10002,520305);TDa(a,-1,520417);ODa(a,b,0);_Da(a,-2,c);lDa(a,-3);return 0}function xs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;Ts(b,d);TDa(a,-1e4,324948);if((qDa(a,-1)|0)==5)lDa(a,-2);else{WDa(a,0,0);oDa(a,-2);WDa(a,0,0);KDa(a,439741,1);_Da(a,-2,517912);bEa(a,-2)|0;_Da(a,-1e4,324948)}VGa(a,d)|0;pDa(a,-1);_Da(a,-2,520409);ODa(a,1487,0);_Da(a,-2,520300);ODa(a,1488,0);_Da(a,-2,516215);LDa(a,d);ODa(a,1489,1);_Da(a,-2,518860);LDa(a,d);ODa(a,1490,1);_Da(a,-2,518979);ODa(a,1491,0);_Da(a,-2,324996);c[f>>2]=e;e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4;if(!d){lDa(a,-2);i=f;return 0}do{if(c[d>>2]|0)do{ODa(a,c[d+4>>2]|0,0);_Da(a,-2,c[d>>2]|0);d=d+8|0}while((c[d>>2]|0)!=0);e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4}while((d|0)!=0);lDa(a,-2);i=f;return 0}function ys(a){a=a|0;var b=0,d=0;d=EDa(a,1)|0;b=EDa(a,2)|0;PDa(a,(c[d+4>>2]|0)==(c[b+4>>2]|0)&1);return 1}function zs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=EDa(a,1)|0;e=BDa(a,-10003,0)|0;d=c[d+4>>2]|0;c[b>>2]=e;c[b+4>>2]=d;NDa(a,517831,b)|0;i=b;return 1}function As(a){a=a|0;pDa(a,-10003);return 1}function Bs(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=EDa(a,1)|0;c[b>>2]=0;Us(UGa(a,2,0)|0,b)|0;d=c[b>>2]|0;PDa(a,(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0&1);i=b;return 1}function Cs(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=0;if(Vs(b,d)|0){TDa(a,-1e4,c[d>>2]|0);i=d;return}else{HDa(a);i=d;return}}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)<0)b=b+1+(kDa(a)|0)|0;if((c|0)<0)e=c+1+(kDa(a)|0)|0;else e=c;if((d|0)==-1){pDa(a,e);aEa(a,b,(CDa(a,b)|0)+1|0);return 0}if((d|0)<0)d=d+1+(CDa(a,b)|0)|0;c=CDa(a,b)|0;if((c|0)>=(d|0)){c=c+1|0;do{f=c;c=c+-1|0;VDa(a,b,c);aEa(a,b,f)}while((c|0)>(d|0))}pDa(a,e);aEa(a,b,d);return 0}function Es(a,b){a=a|0;b=b|0;return CDa(a,b)|0}function Fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;i=i+16|0;TDa(a,-10002,520305);if(!(qDa(a,-1)|0)){c=PGa(a,325003,d)|0;i=d;return c|0}TDa(a,-1,520641);if(!(qDa(a,-1)|0)){lDa(a,-2);TDa(a,-1,325058)}if(!(qDa(a,-1)|0)){c=PGa(a,325068,d+8|0)|0;i=d;return c|0}else{ODa(a,b,0);Ds(a,-2,-1,c)|0;lDa(a,-4);c=0;i=d;return c|0}return 0}function Gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if(!d){HDa(a);i=e;return}TDa(a,-1e4,324948);if((qDa(a,-1)|0)!=5){lDa(a,-2);f=nEa(a,8)|0;Hi[c[(c[d>>2]|0)+8>>2]&1023](d);c[f+4>>2]=d;c[f>>2]=b;c[e>>2]=439265;Vs(b,e)|0;VGa(a,c[e>>2]|0)|0;bEa(a,-2)|0;i=e;return}QDa(a,d);SDa(a,-2);if((qDa(a,-1)|0)!=7){lDa(a,-2);f=nEa(a,8)|0;Hi[c[(c[d>>2]|0)+8>>2]&1023](d);c[f+4>>2]=d;c[f>>2]=b;c[e>>2]=439265;Vs(b,e)|0;VGa(a,c[e>>2]|0)|0;bEa(a,-2)|0;QDa(a,d);pDa(a,-2);ZDa(a,-4)}mDa(a,-2);i=e;return}function Hs(a,b,d){a=a|0;b=b|0;d=d|0;if((qDa(a,b)|0)!=7){d=0;return d|0}a=c[(EDa(a,b)|0)>>2]|0;if((a+-1|0)>>>0>=59){d=0;return d|0}d=(c[(c[155773]|0)+(a<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;return d|0}function Is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+32|0;TDa(a,-10002,442638);if(!(qDa(a,-1)|0)){b=PGa(a,325131,e)|0;i=e;return b|0}TDa(a,-1,b);if(!(qDa(a,-1)|0)){c[e+8>>2]=b;b=PGa(a,325159,e+8|0)|0;i=e;return b|0}TDa(a,-1,d);if(!(qDa(a,-1)|0)){c[e+16>>2]=b;c[e+16+4>>2]=d;b=PGa(a,325183,e+16|0)|0;i=e;return b|0}else{mDa(a,-2);mDa(a,-2);b=0;i=e;return b|0}return 0}function Js(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;i=i+16|0;if(b>>>0>4294957296)b=b+1+(kDa(a)|0)|0;Is(a,c,d)|0;pDa(a,b);dEa(a,1,2);do if((qDa(a,-2)|0)<1)if(!(uDa(a,-1)|0)){PGa(a,517348,e+8|0)|0;break}else{PGa(a,BDa(a,-1,0)|0,e)|0;break}while(0);lDa(a,-2);oDa(a,b);i=e;return 0}function Ks(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+16|0;Is(a,e,f)|0;if((d|0)>0){f=0;do{pDa(a,c[b+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(d|0))}dEa(a,d,2);do if((qDa(a,-2)|0)<1)if(!(uDa(a,-1)|0)){PGa(a,517348,g+8|0)|0;break}else{PGa(a,BDa(a,-1,0)|0,g)|0;break}while(0);lDa(a,-2);if((d|0)<=0){i=g;return 0}oDa(a,c[b>>2]|0);i=g;return 0}function Ls(a){a=a|0;var b=0;TDa(a,-1e4,325210);if((qDa(a,-1)|0)<1){lDa(a,-2);RDa(a)|0;pDa(a,-1);_Da(a,-1e4,325210)}b=FDa(a,-1)|0;lDa(a,-2);return b|0}function Ms(a){a=a|0;var b=0;TDa(a,-1e4,325210);b=FDa(a,-1)|0;lDa(a,-2);return b|0}function Ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=qDa(a,b)|0;if((f|0)==7)if(!(cHa(a,b,518979)|0))g=6;else{pDa(a,b);if(!(eEa(a,1,1,0)|0))if((qDa(a,-1)|0)==4){e=BDa(a,-1,0)|0;if((e|0)==0|(Us(e,h+8|0)|0)^1)g=6}else g=6;else g=6}else g=6;if((g|0)==6)e=rDa(a,f)|0;c[h>>2]=d;c[h+4>>2]=e;g=OGa(a,b,NDa(a,516686,h)|0)|0;i=h;return g|0}function Os(a,b,d){a=a|0;b=b|0;d=d|0;if(b|0){WDa(a,0,0);if(d|0)if(c[d>>2]|0)do{ODa(a,c[d+4>>2]|0,0);_Da(a,-2,c[d>>2]|0);d=d+8|0}while((c[d>>2]|0)!=0);pDa(a,-1);_Da(a,-10002,b);return}if(!d)return;if(!(c[d>>2]|0))return;do{ODa(a,c[d+4>>2]|0,0);_Da(a,-2,c[d>>2]|0);d=d+8|0}while((c[d>>2]|0)!=0);return}function Ps(){var a=0,b=0;a=i;i=i+480|0;c[a+472>>2]=1;c[a+472+4>>2]=0;Qs(a+472|0,0)|0;b=c[a+472+4>>2]|0;c[155136]=c[a+472>>2];c[155137]=b;c[a+464>>2]=1;c[a+464+4>>2]=0;Qs(a+464|0,1)|0;b=c[a+464+4>>2]|0;c[155138]=c[a+464>>2];c[155139]=b;c[a+456>>2]=1;c[a+456+4>>2]=0;Qs(a+456|0,2)|0;b=c[a+456+4>>2]|c[155139];c[155140]=c[a+456>>2]|c[155138];c[155141]=b;c[a+448>>2]=1;c[a+448+4>>2]=0;Qs(a+448|0,3)|0;b=c[a+448+4>>2]|c[155139];c[155142]=c[a+448>>2]|c[155138];c[155143]=b;c[a+440>>2]=1;c[a+440+4>>2]=0;Qs(a+440|0,4)|0;b=c[a+440+4>>2]|c[155139];c[155144]=c[a+440>>2]|c[155138];c[155145]=b;c[a+432>>2]=1;c[a+432+4>>2]=0;Qs(a+432|0,5)|0;b=c[a+432+4>>2]|c[155139];c[155146]=c[a+432>>2]|c[155138];c[155147]=b;c[a+424>>2]=1;c[a+424+4>>2]=0;Qs(a+424|0,6)|0;b=c[a+424+4>>2]|c[155147];c[155148]=c[a+424>>2]|c[155146];c[155149]=b;c[a+416>>2]=1;c[a+416+4>>2]=0;Qs(a+416|0,7)|0;b=c[a+416+4>>2]|c[155141];c[155150]=c[a+416>>2]|c[155140];c[155151]=b;c[a+408>>2]=1;c[a+408+4>>2]=0;Qs(a+408|0,8)|0;b=c[a+408+4>>2]|c[155141];c[155152]=c[a+408>>2]|c[155140];c[155153]=b;c[a+400>>2]=1;c[a+400+4>>2]=0;Qs(a+400|0,9)|0;b=c[a+400+4>>2]|c[155139];c[155154]=c[a+400>>2]|c[155138];c[155155]=b;c[a+392>>2]=1;c[a+392+4>>2]=0;Qs(a+392|0,10)|0;b=c[a+392+4>>2]|c[155139];c[155156]=c[a+392>>2]|c[155138];c[155157]=b;c[a+384>>2]=1;c[a+384+4>>2]=0;Qs(a+384|0,11)|0;b=c[a+384+4>>2]|c[155157];c[155158]=c[a+384>>2]|c[155156];c[155159]=b;c[a+376>>2]=1;c[a+376+4>>2]=0;Qs(a+376|0,12)|0;b=c[a+376+4>>2]|c[155159];c[155160]=c[a+376>>2]|c[155158];c[155161]=b;c[a+368>>2]=1;c[a+368+4>>2]=0;Qs(a+368|0,13)|0;b=c[a+368+4>>2]|c[155139];c[155162]=c[a+368>>2]|c[155138];c[155163]=b;c[a+360>>2]=1;c[a+360+4>>2]=0;Qs(a+360|0,14)|0;b=c[a+360+4>>2]|c[155139];c[155164]=c[a+360>>2]|c[155138];c[155165]=b;c[a+352>>2]=1;c[a+352+4>>2]=0;Qs(a+352|0,15)|0;b=c[a+352+4>>2]|c[155157];c[155166]=c[a+352>>2]|c[155156];c[155167]=b;c[a+344>>2]=1;c[a+344+4>>2]=0;Qs(a+344|0,16)|0;b=c[a+344+4>>2]|c[155157];c[155168]=c[a+344>>2]|c[155156];c[155169]=b;c[a+336>>2]=1;c[a+336+4>>2]=0;Qs(a+336|0,17)|0;b=c[a+336+4>>2]|c[155159];c[155170]=c[a+336>>2]|c[155158];c[155171]=b;c[a+328>>2]=1;c[a+328+4>>2]=0;Qs(a+328|0,18)|0;b=c[a+328+4>>2]|c[155139];c[155172]=c[a+328>>2]|c[155138];c[155173]=b;c[a+320>>2]=1;c[a+320+4>>2]=0;Qs(a+320|0,19)|0;b=c[a+320+4>>2]|c[155157];c[155174]=c[a+320>>2]|c[155156];c[155175]=b;c[a+312>>2]=1;c[a+312+4>>2]=0;Qs(a+312|0,20)|0;b=c[a+312+4>>2]|c[155157];c[155176]=c[a+312>>2]|c[155156];c[155177]=b;c[a+304>>2]=1;c[a+304+4>>2]=0;Qs(a+304|0,21)|0;b=c[a+304+4>>2]|c[155157];c[155178]=c[a+304>>2]|c[155156];c[155179]=b;c[a+296>>2]=1;c[a+296+4>>2]=0;Qs(a+296|0,22)|0;b=c[a+296+4>>2]|c[155141];c[155180]=c[a+296>>2]|c[155140];c[155181]=b;c[a+288>>2]=1;c[a+288+4>>2]=0;Qs(a+288|0,23)|0;b=c[a+288+4>>2]|c[155141];c[155182]=c[a+288>>2]|c[155140];c[155183]=b;c[a+280>>2]=1;c[a+280+4>>2]=0;Qs(a+280|0,24)|0;b=c[a+280+4>>2]|c[155139];c[155184]=c[a+280>>2]|c[155138];c[155185]=b;c[a+272>>2]=1;c[a+272+4>>2]=0;Qs(a+272|0,25)|0;b=c[a+272+4>>2]|c[155139];c[155186]=c[a+272>>2]|c[155138];c[155187]=b;c[a+264>>2]=1;c[a+264+4>>2]=0;Qs(a+264|0,26)|0;b=c[a+264+4>>2]|c[155139];c[155188]=c[a+264>>2]|c[155138];c[155189]=b;c[a+256>>2]=1;c[a+256+4>>2]=0;Qs(a+256|0,27)|0;b=c[a+256+4>>2]|c[155141];c[155190]=c[a+256>>2]|c[155140];c[155191]=b;c[a+248>>2]=1;c[a+248+4>>2]=0;Qs(a+248|0,28)|0;b=c[a+248+4>>2]|c[155139];c[155192]=c[a+248>>2]|c[155138];c[155193]=b;c[a+240>>2]=1;c[a+240+4>>2]=0;Qs(a+240|0,29)|0;b=c[a+240+4>>2]|c[155141];c[155194]=c[a+240>>2]|c[155140];c[155195]=b;c[a+232>>2]=1;c[a+232+4>>2]=0;Qs(a+232|0,30)|0;b=c[a+232+4>>2]|0;c[155196]=c[a+232>>2];c[155197]=b;c[a+224>>2]=1;c[a+224+4>>2]=0;Qs(a+224|0,31)|0;b=c[a+224+4>>2]|c[155139];c[155198]=c[a+224>>2]|c[155138];c[155199]=b;c[a+216>>2]=1;c[a+216+4>>2]=0;Qs(a+216|0,32)|0;b=c[a+216+4>>2]|c[155139];c[155200]=c[a+216>>2]|c[155138];c[155201]=b;c[a+208>>2]=1;c[a+208+4>>2]=0;Qs(a+208|0,33)|0;b=c[a+208+4>>2]|c[155139];c[155202]=c[a+208>>2]|c[155138];c[155203]=b;c[a+200>>2]=1;c[a+200+4>>2]=0;Qs(a+200|0,34)|0;b=c[a+200+4>>2]|c[155139];c[155204]=c[a+200>>2]|c[155138];c[155205]=b;c[a+192>>2]=1;c[a+192+4>>2]=0;Qs(a+192|0,35)|0;b=c[a+192+4>>2]|c[155139];c[155206]=c[a+192>>2]|c[155138];c[155207]=b;c[a+184>>2]=1;c[a+184+4>>2]=0;Qs(a+184|0,36)|0;b=c[a+184+4>>2]|c[155139];c[155208]=c[a+184>>2]|c[155138];c[155209]=b;c[a+176>>2]=1;c[a+176+4>>2]=0;Qs(a+176|0,37)|0;b=c[a+176+4>>2]|c[155209];c[155210]=c[a+176>>2]|c[155208];c[155211]=b;c[a+168>>2]=1;c[a+168+4>>2]=0;Qs(a+168|0,38)|0;b=c[a+168+4>>2]|c[155209];c[155212]=c[a+168>>2]|c[155208];c[155213]=b;c[a+160>>2]=1;c[a+160+4>>2]=0;Qs(a+160|0,39)|0;b=c[a+160+4>>2]|c[155209];c[155214]=c[a+160>>2]|c[155208];c[155215]=b;c[a+152>>2]=1;c[a+152+4>>2]=0;Qs(a+152|0,40)|0;b=c[a+152+4>>2]|c[155209];c[155216]=c[a+152>>2]|c[155208];c[155217]=b;c[a+144>>2]=1;c[a+144+4>>2]=0;Qs(a+144|0,41)|0;b=c[a+144+4>>2]|c[155139];c[155218]=c[a+144>>2]|c[155138];c[155219]=b;c[a+136>>2]=1;c[a+136+4>>2]=0;Qs(a+136|0,42)|0;b=c[a+136+4>>2]|c[155219];c[155220]=c[a+136>>2]|c[155218];c[155221]=b;c[a+128>>2]=1;c[a+128+4>>2]=0;Qs(a+128|0,43)|0;b=c[a+128+4>>2]|c[155219];c[155222]=c[a+128>>2]|c[155218];c[155223]=b;c[a+120>>2]=1;c[a+120+4>>2]=0;Qs(a+120|0,44)|0;b=c[a+120+4>>2]|c[155219];c[155224]=c[a+120>>2]|c[155218];c[155225]=b;c[a+112>>2]=1;c[a+112+4>>2]=0;Qs(a+112|0,45)|0;b=c[a+112+4>>2]|c[155219];c[155226]=c[a+112>>2]|c[155218];c[155227]=b;c[a+104>>2]=1;c[a+104+4>>2]=0;Qs(a+104|0,46)|0;b=c[a+104+4>>2]|c[155219];c[155228]=c[a+104>>2]|c[155218];c[155229]=b;c[a+96>>2]=1;c[a+96+4>>2]=0;Qs(a+96|0,47)|0;b=c[a+96+4>>2]|c[155219];c[155230]=c[a+96>>2]|c[155218];c[155231]=b;c[a+88>>2]=1;c[a+88+4>>2]=0;Qs(a+88|0,48)|0;b=c[a+88+4>>2]|c[155219];c[155232]=c[a+88>>2]|c[155218];c[155233]=b;c[a+80>>2]=1;c[a+80+4>>2]=0;Qs(a+80|0,49)|0;b=c[a+80+4>>2]|c[155219];c[155234]=c[a+80>>2]|c[155218];c[155235]=b;c[a+72>>2]=1;c[a+72+4>>2]=0;Qs(a+72|0,50)|0;b=c[a+72+4>>2]|c[155219];c[155236]=c[a+72>>2]|c[155218];c[155237]=b;c[a+64>>2]=1;c[a+64+4>>2]=0;Qs(a+64|0,51)|0;b=c[a+64+4>>2]|c[155219];c[155238]=c[a+64>>2]|c[155218];c[155239]=b;c[a+56>>2]=1;c[a+56+4>>2]=0;Qs(a+56|0,52)|0;b=c[a+56+4>>2]|c[155219];c[155240]=c[a+56>>2]|c[155218];c[155241]=b;c[a+48>>2]=1;c[a+48+4>>2]=0;Qs(a+48|0,53)|0;b=c[a+48+4>>2]|c[155139];c[155242]=c[a+48>>2]|c[155138];c[155243]=b;c[a+40>>2]=1;c[a+40+4>>2]=0;Qs(a+40|0,54)|0;b=c[a+40+4>>2]|c[155139];c[155244]=c[a+40>>2]|c[155138];c[155245]=b;c[a+32>>2]=1;c[a+32+4>>2]=0;Qs(a+32|0,55)|0;b=c[a+32+4>>2]|c[155145];c[155246]=c[a+32>>2]|c[155144];c[155247]=b;c[a+24>>2]=1;c[a+24+4>>2]=0;Qs(a+24|0,56)|0;b=c[a+24+4>>2]|c[155143];c[155248]=c[a+24>>2]|c[155142];c[155249]=b;c[a+16>>2]=1;c[a+16+4>>2]=0;Qs(a+16|0,57)|0;b=c[a+16+4>>2]|c[155143];c[155250]=c[a+16>>2]|c[155142];c[155251]=b;c[a+8>>2]=1;c[a+8+4>>2]=0;Qs(a+8|0,58)|0;b=c[a+8+4>>2]|c[155143];c[155252]=c[a+8>>2]|c[155142];c[155253]=b;c[a>>2]=1;c[a+4>>2]=0;Qs(a,59)|0;b=c[a+4>>2]|c[155143];c[155254]=c[a>>2]|c[155142];c[155255]=b;c[155773]=620544;Ss(623096,0,0);i=a;return}function Qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;e=b>>>0>60?60:b;if((60-e&31|0)==28){b=(60-e|0)>>>5<<5|28;if((b|0)>0){g=(b|0)<28?b:28;c[a+4>>2]=c[a+4>>2]&-268435456|c[a+((60-e|0)>>>5<<2)>>2]&268435455;d=a+4+(0-((b-g|0)>>>5)<<2)|0;nBb(d|0,a+((60-e|0)>>>5<<2)+(0-((b-g|0)>>>5)<<2)|0,(b-g|0)>>>3|0)|0;b=60-e-g&31}else{b=28;d=a+4|0}c[f>>2]=d;c[f+4>>2]=b}else{c[f+24>>2]=a;c[f+24+4>>2]=0;c[f+16>>2]=a+((60-e|0)>>>5<<2);c[f+16+4>>2]=60-e&31;c[f+8>>2]=a+4;c[f+8+4>>2]=28;Rs(f,f+24|0,f+16|0,f+8|0)}if(!e){i=f;return a|0}hBb(a|0,0,e>>>5<<2|0)|0;if((e>>>5<<5|0)==(e|0)){i=f;return a|0}c[a+(e>>>5<<2)>>2]=c[a+(e>>>5<<2)>>2]&~(-1>>>(32-e+(e>>>5<<5)|0));i=f;return a|0}function Rs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=c[d>>2]|0;h=c[d+4>>2]|0;f=(g-(c[b>>2]|0)<<3)+h-(c[b+4>>2]|0)|0;if((f|0)<=0){d=e+4|0;e=c[e>>2]|0;c[a>>2]=e;a=a+4|0;e=c[d>>2]|0;c[a>>2]=e;return}if(!h)j=e+4|0;else{i=(f|0)<(h|0)?f:h;g=-1<>>(32-h|0)&c[g>>2];b=c[e+4>>2]|0;h=(b|0)<(i|0)?b:i;if(!h)b=i;else{j=c[e>>2]|0;l=c[j>>2]&~(-1<>>(32-b|0));c[j>>2]=l;b=c[e+4>>2]|0;k=c[d+4>>2]|0;c[j>>2]=l|(b>>>0>k>>>0?g<>>(k-b|0));c[e+4>>2]=(c[e+4>>2]|0)-h&31;b=i-h|0}if((b|0)>0){j=(c[e>>2]|0)+-4|0;c[e>>2]=j;l=0-b&31;c[e+4>>2]=l;c[j>>2]=c[j>>2]&~(-1<>2]|0)-(b+h)|0;c[d+4>>2]=l;c[j>>2]=c[j>>2]|g<<(c[e+4>>2]|0)-l;j=e+4|0;f=f-i|0}else{j=e+4|0;f=f-i|0}}b=32-(c[j>>2]|0)|0;if(f>>>0>31){g=f;do{k=(c[d>>2]|0)+-4|0;c[d>>2]=k;k=c[k>>2]|0;l=c[e>>2]|0;c[l>>2]=c[l>>2]&~(-1>>>b)|k>>>b;c[e>>2]=l+-4;i=c[l+-4>>2]&-1>>>b;c[l+-4>>2]=i;c[l+-4>>2]=i|k<>2];g=g+-32|0}while(g>>>0>31);h=f&31}else h=f;if((h|0)<=0){k=j;l=c[e>>2]|0;c[a>>2]=l;l=a+4|0;k=c[k>>2]|0;c[l>>2]=k;return}g=(c[d>>2]|0)+-4|0;c[d>>2]=g;g=c[g>>2]&-1<<32-h;l=c[j>>2]|0;f=(l|0)<(h|0)?l:h;b=c[e>>2]|0;l=c[b>>2]&~(-1<>>(32-l|0));c[b>>2]=l;c[b>>2]=l|g>>>(32-(c[j>>2]|0)|0);c[j>>2]=(c[j>>2]|0)-f&31;f=h-f|0;if((f|0)<=0){k=j;l=c[e>>2]|0;c[a>>2]=l;l=a+4|0;k=c[k>>2]|0;c[l>>2]=k;return}c[e>>2]=b+-4;c[j>>2]=0-f&31;k=c[b+-4>>2]&~(-1<<(0-f&31));c[b+-4>>2]=k;c[b+-4>>2]=k|g<>2]|0);k=j;l=c[e>>2]|0;c[a>>2]=l;l=a+4|0;k=c[k>>2]|0;c[l>>2]=k;return}function Ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;a[b+8>>0]=0;a[b+20>>0]=0;a[b+32>>0]=0;a[b+44>>0]=0;a[b+56>>0]=0;a[b+68>>0]=0;a[b+80>>0]=0;a[b+92>>0]=0;a[b+104>>0]=0;a[b+116>>0]=0;a[b+128>>0]=0;a[b+140>>0]=0;a[b+152>>0]=0;a[b+164>>0]=0;a[b+176>>0]=0;a[b+188>>0]=0;a[b+200>>0]=0;a[b+212>>0]=0;a[b+224>>0]=0;a[b+236>>0]=0;a[b+248>>0]=0;a[b+260>>0]=0;a[b+272>>0]=0;a[b+284>>0]=0;a[b+296>>0]=0;a[b+308>>0]=0;a[b+320>>0]=0;a[b+332>>0]=0;a[b+344>>0]=0;a[b+356>>0]=0;a[b+368>>0]=0;a[b+380>>0]=0;a[b+392>>0]=0;a[b+404>>0]=0;a[b+416>>0]=0;a[b+428>>0]=0;a[b+440>>0]=0;a[b+452>>0]=0;a[b+464>>0]=0;a[b+476>>0]=0;a[b+488>>0]=0;a[b+500>>0]=0;a[b+512>>0]=0;a[b+524>>0]=0;a[b+536>>0]=0;a[b+548>>0]=0;a[b+560>>0]=0;a[b+572>>0]=0;a[b+584>>0]=0;a[b+596>>0]=0;a[b+608>>0]=0;a[b+620>>0]=0;a[b+632>>0]=0;a[b+644>>0]=0;a[b+656>>0]=0;a[b+668>>0]=0;a[b+680>>0]=0;a[b+692>>0]=0;a[b+704>>0]=0;a[b+716>>0]=0;a[b+728>>0]=0;a[b+740>>0]=0;a[b+752>>0]=0;a[b+764>>0]=0;a[b+776>>0]=0;a[b+788>>0]=0;a[b+800>>0]=0;a[b+812>>0]=0;a[b+824>>0]=0;a[b+836>>0]=0;a[b+848>>0]=0;a[b+860>>0]=0;a[b+872>>0]=0;a[b+884>>0]=0;a[b+896>>0]=0;a[b+908>>0]=0;a[b+920>>0]=0;a[b+932>>0]=0;a[b+944>>0]=0;a[b+956>>0]=0;a[b+968>>0]=0;a[b+980>>0]=0;a[b+992>>0]=0;a[b+1004>>0]=0;a[b+1016>>0]=0;a[b+1028>>0]=0;a[b+1040>>0]=0;a[b+1052>>0]=0;a[b+1064>>0]=0;a[b+1076>>0]=0;a[b+1088>>0]=0;a[b+1100>>0]=0;a[b+1112>>0]=0;a[b+1124>>0]=0;a[b+1136>>0]=0;a[b+1148>>0]=0;a[b+1160>>0]=0;a[b+1172>>0]=0;a[b+1184>>0]=0;a[b+1196>>0]=0;a[b+1208>>0]=0;a[b+1220>>0]=0;a[b+1232>>0]=0;a[b+1244>>0]=0;a[b+1256>>0]=0;a[b+1268>>0]=0;a[b+1280>>0]=0;a[b+1292>>0]=0;a[b+1304>>0]=0;a[b+1316>>0]=0;a[b+1328>>0]=0;a[b+1340>>0]=0;a[b+1352>>0]=0;a[b+1364>>0]=0;a[b+1376>>0]=0;a[b+1388>>0]=0;a[b+1400>>0]=0;a[b+1412>>0]=0;a[b+1424>>0]=0;a[b+1436>>0]=0;hBb(b+1440|0,0,240)|0;if(!(e>>>3)){i=n;return}else l=0;do{j=c[d+(l<<3)>>2]|0;k=c[d+(l<<3)+4>>2]|0;f=a[j>>0]|0;if(!(f<<24>>24))g=5381;else{h=j;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}h=0;do{f=((h+g|0)>>>0)%120|0;h=h+1|0;if(!(a[b+(f*12|0)+8>>0]|0)){m=8;break}}while(h>>>0<120);if((m|0)==8){m=0;a[b+(f*12|0)+8>>0]=1;c[b+(f*12|0)>>2]=j;c[b+(f*12|0)+4>>2]=k}if(k>>>0>59){c[n>>2]=j;c[n+4>>2]=k;vpb(441068,n)|0}else c[b+1440+(k<<2)>>2]=j;l=l+1|0}while((l|0)!=(e>>>3|0));i=n;return}function Ts(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(b>>>0<=59)if(c[624536+(b<<2)>>2]|0){i=j;return}e=a[d>>0]|0;if(!(e<<24>>24))f=5381;else{g=d;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}g=0;do{e=((g+f|0)>>>0)%120|0;g=g+1|0;if(!(a[623096+(e*12|0)+8>>0]|0)){h=8;break}}while(g>>>0<120);if((h|0)==8){a[623096+(e*12|0)+8>>0]=1;c[623096+(e*12|0)>>2]=d;c[623096+(e*12|0)+4>>2]=b}if(b>>>0>59){c[j>>2]=d;c[j+4>>2]=b;vpb(441068,j)|0;i=j;return}else{c[624536+(b<<2)>>2]=d;i=j;return}}function Us(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=((j+f|0)>>>0)%120|0;if(!(a[623096+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[623096+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=120){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[623096+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function Vs(a,b){a=a|0;b=b|0;if(a>>>0>59)a=0;else{a=c[624536+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function Ws(a){a=a|0;var b=0,d=0;b=wk(a,1,2)|0;d=vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0;KDa(a,d,vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0);return 1}function Xs(a){a=a|0;var b=0;b=wk(a,1,2)|0;QDa(a,vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0);return 1}function Ys(a){a=a|0;var b=0;b=wk(a,1,2)|0;IDa(a,+((vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0)>>>0));return 1}function Zs(a,b){a=a|0;b=b|0;return wk(a,b,2)|0}function _s(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=12068;c[b+4>>2]=0;xs(a,2,325248,b)|0;i=b;return 0}function $s(a){a=a|0;var b=0;b=c[155672]|0;JDa(a,vi[c[(c[b>>2]|0)+32>>2]&2047](b)|0);return 1}function at(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if(!(uDa(a,1)|0)){if(Hs(a,1,5)|0)d=4;else if(Hs(a,1,7)|0)d=4}else d=4;if((d|0)==4)Js(a,1,325253,325259)|0;c[e+4>>2]=1;if((qDa(a,2)|0)>=1){b=BDa(a,2,0)|0;if(b|0){if(!(l2(b,e+4|0)|0)){c[e>>2]=b;d=PGa(a,325270,e)|0;i=e;return d|0}if(!(c[e+4>>2]|0))if(Hs(a,1,30)|0)Js(a,1,325253,325294)|0}}if(Hs(a,1,29)|0){d=c[155672]|0;f=c[(c[d>>2]|0)+28>>2]|0;b=c[(EDa(a,1)|0)+4>>2]|0;b=Xi[f&511](d,b)|0;d=16}else if(Hs(a,1,30)|0){d=c[155672]|0;f=c[(c[d>>2]|0)+24>>2]|0;b=c[(EDa(a,1)|0)+4>>2]|0;b=Xi[f&511](d,b)|0;d=16}if((d|0)==16)if(b|0){Gs(a,28,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);f=1;i=e;return f|0}f=Ns(a,1,325307)|0;i=e;return f|0}function bt(a){a=a|0;var b=0,d=0;b=tt(a,1)|0;d=c[155672]|0;gs(a,Xi[c[(c[d>>2]|0)+44>>2]&511](d,b)|0);return 1}function ct(a){a=a|0;if(!(kDa(a)|0)){a=c[155672]|0;Hi[c[(c[a>>2]|0)+52>>2]&1023](a);return 0}else{a=tt(a,1)|0;Hi[c[(c[a>>2]|0)+24>>2]&1023](a);return 0}return 0}function dt(a){a=a|0;if(!(kDa(a)|0)){a=c[155672]|0;Hi[c[(c[a>>2]|0)+60>>2]&1023](a);return 0}else{a=tt(a,1)|0;Hi[c[(c[a>>2]|0)+28>>2]&1023](a);return 0}return 0}function et(a){a=a|0;if(!(kDa(a)|0)){a=c[155672]|0;Hi[c[(c[a>>2]|0)+68>>2]&1023](a);return 0}else{a=tt(a,1)|0;Hi[c[(c[a>>2]|0)+32>>2]&1023](a);return 0}return 0}function ft(a){a=a|0;if(!(kDa(a)|0)){a=c[155672]|0;Hi[c[(c[a>>2]|0)+76>>2]&1023](a);return 0}else{a=tt(a,1)|0;Hi[c[(c[a>>2]|0)+36>>2]&1023](a);return 0}return 0}function gt(a){a=a|0;var b=0.0;b=+_Ga(a,1);a=c[155672]|0;pi[c[(c[a>>2]|0)+80>>2]&31](a,b);return 0}function ht(a){a=a|0;var b=0;b=c[155672]|0;IDa(a,+Mi[c[(c[b>>2]|0)+84>>2]&63](b));return 1}function it(a){a=a|0;var b=0;b=i;i=i+16|0;g[b>>2]=+_Ga(a,1);g[b+4>>2]=+_Ga(a,2);g[b+8>>2]=+$Ga(a,3,0.0);a=c[155672]|0;si[c[(c[a>>2]|0)+92>>2]&511](a,b);i=b;return 0}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155672]|0;si[c[(c[d>>2]|0)+88>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);i=b;return 3}function kt(a){a=a|0;var b=0;b=i;i=i+32|0;g[b>>2]=+_Ga(a,1);g[b+4>>2]=+_Ga(a,2);g[b+8>>2]=+_Ga(a,3);g[b+12>>2]=+_Ga(a,4);g[b+16>>2]=+_Ga(a,5);g[b+20>>2]=+_Ga(a,6);a=c[155672]|0;si[c[(c[a>>2]|0)+100>>2]&511](a,b);i=b;return 0}function lt(a){a=a|0;var b=0,d=0;b=i;i=i+32|0;d=c[155672]|0;si[c[(c[d>>2]|0)+96>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);IDa(a,+g[b+12>>2]);IDa(a,+g[b+16>>2]);IDa(a,+g[b+20>>2]);i=b;return 6}function mt(a){a=a|0;var b=0;b=i;i=i+16|0;g[b>>2]=+_Ga(a,1);g[b+4>>2]=+_Ga(a,2);g[b+8>>2]=+$Ga(a,3,0.0);a=c[155672]|0;si[c[(c[a>>2]|0)+108>>2]&511](a,b);i=b;return 0}function nt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155672]|0;si[c[(c[d>>2]|0)+104>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);i=b;return 3}function ot(a){a=a|0;var b=0.0,d=0,e=0;d=c[155672]|0;e=c[(c[d>>2]|0)+112>>2]|0;b=+_Ga(a,1);pi[e&31](d,b);return 0}function pt(a){a=a|0;var b=0;b=c[155672]|0;IDa(a,+Mi[c[(c[b>>2]|0)+116>>2]&63](b));return 1}function qt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=UGa(a,1,0)|0;if(e2(b,d+4|0)|0){a=c[155672]|0;si[c[(c[a>>2]|0)+140>>2]&511](a,c[d+4>>2]|0);a=0;i=d;return a|0}else{c[d>>2]=b;a=PGa(a,325328,d)|0;i=d;return a|0}return 0}function rt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155672]|0;if(!(f2(vi[c[(c[d>>2]|0)+136>>2]&2047](d)|0,b)|0)){d=0;i=b;return d|0}LDa(a,c[b>>2]|0);d=1;i=b;return d|0}function st(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155672]|0;if(!b){b=YAb(32)|0;A0(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=325355;c[d+8>>2]=3;c[d+12>>2]=12100;c[d+16>>2]=12260;a=qs(a,d)|0;i=d;return a|0}function tt(a,b){a=a|0;b=b|0;return ut(a,b,28)|0}function ut(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function vt(a){a=a|0;var b=0;b=ut(a,1,28)|0;b=vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0;Gs(a,28,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function wt(a){a=a|0;var b=0;b=ut(a,1,28)|0;gs(a,vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0);return 1}function xt(a){a=a|0;a=ut(a,1,28)|0;Hi[c[(c[a>>2]|0)+24>>2]&1023](a);return 0}function yt(a){a=a|0;a=ut(a,1,28)|0;Hi[c[(c[a>>2]|0)+28>>2]&1023](a);return 0}function zt(a){a=a|0;a=ut(a,1,28)|0;Hi[c[(c[a>>2]|0)+32>>2]&1023](a);return 0}function At(a){a=a|0;a=ut(a,1,28)|0;Hi[c[(c[a>>2]|0)+36>>2]&1023](a);return 0}function Bt(a){a=a|0;var b=0,d=0.0,e=0;e=i;i=i+16|0;b=ut(a,1,28)|0;d=+_Ga(a,2);if(!(d>1797693134862315708145274.0e284))if(!(d!=d|0.0!=0.0|d<2.2250738585072014e-308)){pi[c[(c[b>>2]|0)+56>>2]&31](b,d);a=0;i=e;return a|0}a=PGa(a,325482,e)|0;i=e;return a|0}function Ct(a){a=a|0;var b=0;b=ut(a,1,28)|0;IDa(a,+Mi[c[(c[b>>2]|0)+60>>2]&63](b));return 1}function Dt(a){a=a|0;var b=0.0,d=0;d=ut(a,1,28)|0;b=+_Ga(a,2);pi[c[(c[d>>2]|0)+64>>2]&31](d,b);return 0}function Et(a){a=a|0;var b=0;b=ut(a,1,28)|0;IDa(a,+Mi[c[(c[b>>2]|0)+68>>2]&63](b));return 1}function Ft(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0;g=i;i=i+16|0;d=ut(a,1,28)|0;e=+_Ga(a,2);if(e<0.0){f=OGa(a,2,325518)|0;i=g;return f|0}c[g+4>>2]=0;do if((qDa(a,3)|0)<1){b=0;f=8}else{b=BDa(a,3,0)|0;if(!b){b=0;f=8}else if(o2(b,g+4|0)|0){b=c[g+4>>2]|0;f=8;break}else{c[g>>2]=b;b=PGa(a,325552,g)|0;break}}while(0);if((f|0)==8){Di[c[(c[d>>2]|0)+72>>2]&3](d,e,b);b=0}f=b;i=g;return f|0}function Gt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=ut(a,1,28)|0;c[e+4>>2]=0;do if((qDa(a,2)|0)<1)b=0;else{b=BDa(a,2,0)|0;if(!b)b=0;else{if(o2(b,e+4|0)|0){b=c[e+4>>2]|0;break}c[e>>2]=b;a=PGa(a,325552,e)|0;i=e;return a|0}}while(0);IDa(a,+_i[c[(c[d>>2]|0)+76>>2]&15](d,b));a=1;i=e;return a|0}function Ht(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=ut(a,1,28)|0;c[e+4>>2]=0;do if((qDa(a,2)|0)<1)b=0;else{b=BDa(a,2,0)|0;if(!b)b=0;else{if(o2(b,e+4|0)|0){b=c[e+4>>2]|0;break}c[e>>2]=b;a=PGa(a,325552,e)|0;i=e;return a|0}}while(0);IDa(a,+_i[c[(c[d>>2]|0)+80>>2]&15](d,b));a=1;i=e;return a|0}function It(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;g[b>>2]=+_Ga(a,2);g[b+4>>2]=+_Ga(a,3);g[b+8>>2]=+$Ga(a,4,0.0);si[c[(c[d>>2]|0)+84>>2]&511](d,b);i=b;return 0}function Jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;si[c[(c[d>>2]|0)+88>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);i=b;return 3}function Kt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;g[b>>2]=+_Ga(a,2);g[b+4>>2]=+_Ga(a,3);g[b+8>>2]=+$Ga(a,4,0.0);si[c[(c[d>>2]|0)+92>>2]&511](d,b);i=b;return 0}function Lt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;si[c[(c[d>>2]|0)+96>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);i=b;return 3}function Mt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;g[b>>2]=+_Ga(a,2);g[b+4>>2]=+_Ga(a,3);g[b+8>>2]=+$Ga(a,4,0.0);si[c[(c[d>>2]|0)+100>>2]&511](d,b);i=b;return 0}function Nt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;si[c[(c[d>>2]|0)+104>>2]&511](d,b);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);i=b;return 3}function Ot(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;f=ut(a,1,28)|0;e=+_Ga(a,2);d=+_Ga(a,3);b=+$Ga(a,4,0.0);Bi[c[(c[f>>2]|0)+108>>2]&7](f,e,d,b);return 0}function Pt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;kj[c[(c[d>>2]|0)+112>>2]&127](d,b+8|0,b+4|0,b);IDa(a,+g[b+8>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 3}function Qt(a){a=a|0;var b=0,d=0;b=ut(a,1,28)|0;d=c[(c[b>>2]|0)+116>>2]|0;a=fs(a,2)|0;si[d&511](b,a);return 0}function Rt(a){a=a|0;var b=0;b=ut(a,1,28)|0;gs(a,vi[c[(c[b>>2]|0)+120>>2]&2047](b)|0);return 1}function St(a){a=a|0;var b=0,d=0;b=ut(a,1,28)|0;d=c[(c[b>>2]|0)+124>>2]|0;a=fs(a,2)|0;si[d&511](b,a);return 0}function Tt(a){a=a|0;var b=0;b=ut(a,1,28)|0;gs(a,vi[c[(c[b>>2]|0)+128>>2]&2047](b)|0);return 1}function Ut(a){a=a|0;var b=0;b=ut(a,1,28)|0;gs(a,vi[c[(c[b>>2]|0)+40>>2]&2047](b)|0);return 1}function Vt(a){a=a|0;var b=0;b=ut(a,1,28)|0;gs(a,vi[c[(c[b>>2]|0)+44>>2]&2047](b)|0);return 1}function Wt(a){a=a|0;var b=0;b=ut(a,1,28)|0;if(vi[c[(c[b>>2]|0)+40>>2]&2047](b)|0){b=0;gs(a,b);return 1}b=(vi[c[(c[b>>2]|0)+44>>2]&2047](b)|0)^1;gs(a,b);return 1}function Xt(a){a=a|0;var b=0,d=0.0,e=0.0,f=0;f=i;i=i+16|0;b=ut(a,1,28)|0;d=+_Ga(a,2);e=+_Ga(a,3);if(e>1.0|(d<0.0|d>1.0|e<0.0)){h[f>>3]=d;h[f+8>>3]=e;a=PGa(a,325581,f)|0;i=f;return a|0}else{pi[c[(c[b>>2]|0)+132>>2]&31](b,d);pi[c[(c[b>>2]|0)+140>>2]&31](b,e);a=0;i=f;return a|0}return 0}function Yt(a){a=a|0;var b=0;b=ut(a,1,28)|0;IDa(a,+Mi[c[(c[b>>2]|0)+136>>2]&63](b));IDa(a,+Mi[c[(c[b>>2]|0)+144>>2]&63](b));return 2}function Zt(a){a=a|0;var b=0,d=0.0,e=0.0,f=0;f=i;i=i+16|0;b=ut(a,1,28)|0;d=+_Ga(a,2);e=+_Ga(a,3);if(d<0.0|e<0.0){h[f>>3]=d;h[f+8>>3]=e;a=PGa(a,325630,f)|0;i=f;return a|0}else{pi[c[(c[b>>2]|0)+148>>2]&31](b,d);pi[c[(c[b>>2]|0)+164>>2]&31](b,e);a=0;i=f;return a|0}return 0}function _t(a){a=a|0;var b=0;b=ut(a,1,28)|0;IDa(a,+Mi[c[(c[b>>2]|0)+152>>2]&63](b));IDa(a,+Mi[c[(c[b>>2]|0)+168>>2]&63](b));return 2}function $t(a){a=a|0;var b=0,d=0.0,e=0;e=i;i=i+16|0;b=ut(a,1,28)|0;d=+_Ga(a,2);if(d<0.0){h[e>>3]=d;a=PGa(a,325669,e)|0;i=e;return a|0}else{pi[c[(c[b>>2]|0)+156>>2]&31](b,d);a=0;i=e;return a|0}return 0}function au(a){a=a|0;var b=0;b=ut(a,1,28)|0;IDa(a,+Mi[c[(c[b>>2]|0)+160>>2]&63](b));return 1}function bu(a){a=a|0;var b=0;b=ut(a,1,28)|0;JDa(a,vi[c[(c[b>>2]|0)+172>>2]&2047](b)|0);return 1}function cu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=ut(a,1,28)|0;d=vi[c[(c[d>>2]|0)+176>>2]&2047](d)|0;c[b+4>>2]=0;if(n2(d,b+4|0)|0){LDa(a,c[b+4>>2]|0);d=1;i=b;return d|0}else{d=PGa(a,325703,b)|0;i=b;return d|0}return 0}function du(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=12268;c[b+4>>2]=0;a=xs(a,28,325724,b)|0;i=b;return a|0}function eu(a){a=a|0;ODa(a,1492,0);return 1}function fu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;c[b>>2]=0;if(!(U2(c[155673]|0,b)|0)){a=0;i=b;return a|0}a=O2(c[b>>2]|0,a)|0;d=c[b>>2]|0;Hi[c[(c[d>>2]|0)+12>>2]&1023](d);i=b;return a|0}function gu(a){a=a|0;a=c[155673]|0;Hi[c[(c[a>>2]|0)+28>>2]&1023](a);return 0}function hu(a){a=a|0;var b=0;b=c[155673]|0;b=vi[c[(c[b>>2]|0)+32>>2]&2047](b)|0;if(!b){a=0;return a|0}a=O2(b,a)|0;Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return a|0}function iu(a){a=a|0;var b=0;b=P2(a,1)|0;gs(a,(b|0)!=0);if(!b)return 1;Q2(c[155673]|0,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function ju(a){a=a|0;a=c[155673]|0;Hi[c[(c[a>>2]|0)+24>>2]&1023](a);return 0}function ku(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;c[f+16>>2]=0;e=f+16+4|0;c[e>>2]=0;c[f+16+8>>2]=0;b=r_(a,1,1)|0;if(b|0){c[f+12>>2]=b;Hi[c[(c[b>>2]|0)+8>>2]&1023](b);d=c[e>>2]|0;if(d>>>0<(c[f+16+8>>2]|0)>>>0){c[d>>2]=b;Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[e>>2]=(c[e>>2]|0)+4}else lu(f+16|0,f+12|0);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b)}b=YAb(32)|0;Iqb(f,363542,4);M2(b,f,f+16|0);Mqb(f);Q2(c[155673]|0,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);gs(a,1);b=c[f+16>>2]|0;if(!b){i=f;return 1}d=c[e>>2]|0;if((d|0)!=(b|0)){do{d=d+-4|0;c[e>>2]=d;a=c[d>>2]|0;if(a){Hi[c[(c[a>>2]|0)+12>>2]&1023](a);d=c[e>>2]|0}}while((d|0)!=(b|0));b=c[f+16>>2]|0}oAb(b);i=f;return 1}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=c[a>>2]|0;e=((c[a+4>>2]|0)-h>>2)+1|0;if(e>>>0>1073741823)jzb(a);d=(c[a+8>>2]|0)-h|0;if(d>>2>>>0<536870911){d=d>>1>>>0>>0?e:d>>1;f=c[a+4>>2]|0;if(!d){i=0;d=0;e=f-h>>2}else{g=f;e=f-h>>2;j=6}}else{e=c[a+4>>2]|0;d=1073741823;g=e;e=e-h>>2;j=6}if((j|0)==6){i=d;d=YAb(d<<2)|0;f=g}j=d+(e<<2)|0;i=d+(i<<2)|0;d=c[b>>2]|0;c[j>>2]=d;if(!d)d=f;else{Hi[c[(c[d>>2]|0)+8>>2]&1023](d);d=c[a+4>>2]|0;h=c[a>>2]|0}if((d|0)==(h|0)){e=j;g=d}else{f=d;g=j;d=j;do{f=f+-4|0;e=c[f>>2]|0;c[g+-4>>2]=e;if(e|0)Hi[c[(c[e>>2]|0)+8>>2]&1023](e);g=d+-4|0;d=g}while((f|0)!=(h|0));e=d;g=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=j+4;c[a+8>>2]=i;f=g;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0)Hi[c[(c[e>>2]|0)+12>>2]&1023](e)}while((d|0)!=(f|0));if(!g)return;oAb(g);return}function mu(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155673]|0;if(!b){b=YAb(36)|0;G2(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=325977;c[d+8>>2]=3;c[d+12>>2]=12564;c[d+16>>2]=0;a=qs(a,d)|0;i=d;return a|0}function nu(a){a=a|0;var b=0;c[a>>2]=12628;b=c[a+8>>2]|0;if(b|0)aBb(b);Mqb(a+36|0);Mqb(a+24|0);return}function ou(a){a=a|0;var b=0;c[a>>2]=12628;b=c[a+8>>2]|0;if(b|0)aBb(b);Mqb(a+36|0);Mqb(a+24|0);oAb(a);return}function pu(a){a=a|0;return c[a+8>>2]|0}function qu(a){a=a|0;var b=0;b=c[a+16>>2]|0;a=c[a+16+4>>2]|0;a=a>>>0<0|(a|0)==0&b>>>0<4294967295?b:-1;return a|0}function ru(){var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;a[624784]=0;a[624796]=0;a[624808]=0;a[624820]=0;c[156206]=0;c[156207]=0;b=a[518996]|0;if(!(b<<24>>24))d=5381;else{e=518996;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=5}else{b=d+1&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=5}else{b=d+2&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=5}else{b=d+3&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=5}}}}if((f|0)==5){a[b>>0]=1;c[624776+(d*12|0)>>2]=518996;c[624776+(d*12|0)+4>>2]=0}if(0>1){c[g>>2]=518996;c[g+4>>2]=0;vpb(441068,g)|0}else c[156206]=518996;b=a[326035]|0;if(!(b<<24>>24))d=5381;else{e=326035;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=17}else{b=d+1&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=17}else{b=d+2&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=17}else{b=d+3&3;if(!(a[624776+(b*12|0)+8>>0]|0)){d=b;b=624776+(b*12|0)+8|0;f=17}}}}if((f|0)==17){a[b>>0]=1;c[624776+(d*12|0)>>2]=326035;c[624776+(d*12|0)+4>>2]=1}if(1>1){c[g+8>>2]=326035;c[g+8+4>>2]=1;vpb(441068,g+8|0)|0;i=g;return}else{c[156207]=326035;i=g;return}}function su(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=i;i=i+16|0;Jj(b);c[b>>2]=12628;c[b+8>>2]=0;c[b+16>>2]=d;c[b+16+4>>2]=0;Hqb(b+24|0,f);c[b+36>>2]=0;c[b+36+4>>2]=0;c[b+36+8>>2]=0;c[b+8>>2]=_Ab(d)|0;if((crb(f,46,-1)|0)==-1){i=e;return}Kqb(e,f,(crb(f,46,-1)|0)+1|0,-1,f);if(!(a[b+36>>0]&1)){a[b+36+1>>0]=0;a[b+36>>0]=0}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0}Qqb(b+36|0,0);c[b+36>>2]=c[e>>2];c[b+36+4>>2]=c[e+4>>2];c[b+36+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Mqb(e);i=e;return}function tu(a){a=a|0;return a+24|0}function uu(a){a=a|0;return a+36|0}function vu(a,b){a=a|0;b=b|0;return wu(624776,a,b)|0}function wu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=a[d>>0]|0;if(!(g<<24>>24))m=5381;else{h=d;i=g;f=5381;do{h=h+1|0;f=(f*33|0)+(i<<24>>24)|0;i=a[h>>0]|0}while(i<<24>>24!=0);m=f}f=m&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;a:do if(!(h<<24>>24)){h=g;l=8}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;while(1){i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=8;break a}if(!(h<<24>>24?j<<24>>24==h<<24>>24:0)){l=10;break}}}else l=10;while(0);if((l|0)==8)if(h<<24>>24)l=10;do if((l|0)==10){f=m+1&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;b:do if(!(h<<24>>24)){h=g;l=16}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=16;break b}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==16)if(!(h<<24>>24))break;f=m+2&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;c:do if(!(h<<24>>24)){h=g;l=22}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=22;break c}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==22)if(!(h<<24>>24))break;f=m+3&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}h=c[b+(f*12|0)>>2]|0;i=a[h>>0]|0;d:do if(i<<24>>24){if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){e=0;b=0;b=e&b;return b|0}while(1){h=h+1|0;d=d+1|0;i=a[h>>0]|0;g=a[d>>0]|0;if(!(i<<24>>24))break d;if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){f=0;g=0;break}}b=f&g;return b|0}while(0);if(g<<24>>24){e=0;b=0;b=e&b;return b|0}}while(0);c[e>>2]=c[b+(f*12|0)+4>>2];e=1;b=1;b=e&b;return b|0}function xu(){var a=0;a=c[155674]|0;if(!a){a=0;return a|0}a=vi[c[(c[a>>2]|0)+36>>2]&2047](a)|0;return a|0}function yu(a){a=a|0;var b=0;a=UGa(a,1,0)|0;b=c[155674]|0;si[c[(c[b>>2]|0)+24>>2]&511](b,a);return 0}function zu(a){a=a|0;var b=0,d=0;b=c[155674]|0;d=c[(c[b>>2]|0)+28>>2]|0;a=fs(a,1)|0;si[d&511](b,a);return 0}function Au(a){a=a|0;var b=0;b=c[155674]|0;gs(a,vi[c[(c[b>>2]|0)+32>>2]&2047](b)|0);return 1}function Bu(a){a=a|0;var b=0;a=hs(a,1,0)|0;b=c[155674]|0;si[c[(c[b>>2]|0)+40>>2]&511](b,a);return 0}function Cu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;e=UGa(a,1,0)|0;d=hs(a,2,0)|0;f=c[155674]|0;if(Gi[c[(c[f>>2]|0)+48>>2]&255](f,e,d)|0){f=0;i=b;return f|0}f=PGa(a,504391,b)|0;i=b;return f|0}function Du(a){a=a|0;var b=0;b=c[155674]|0;LDa(a,vi[c[(c[b>>2]|0)+52>>2]&2047](b)|0);return 1}function Eu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=UGa(a,1,0)|0;e=c[155674]|0;if(Xi[c[(c[e>>2]|0)+56>>2]&511](e,d)|0){e=0;i=b;return e|0}e=PGa(a,326042,b)|0;i=b;return e|0}function Fu(a){a=a|0;var b=0;b=c[155674]|0;LDa(a,vi[c[(c[b>>2]|0)+60>>2]&2047](b)|0);return 1}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0;e=UGa(a,1,0)|0;d=UGa(a,2,0)|0;b=hs(a,3,0)|0;f=c[155674]|0;gs(a,cj[c[(c[f>>2]|0)+64>>2]&127](f,e,d,b)|0);return 1}function Hu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+68>>2]&511](d,b)|0);return 1}function Iu(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=UGa(a,1,0)|0;c[e+12>>2]=0;if(uDa(a,2)|0){d=UGa(a,2,0)|0;if(!(f4(d,e+12|0)|0)){c[e>>2]=d;a=PGa(a,364091,e)|0;i=e;return a|0}}d=c[155674]|0;b=Xi[c[(c[d>>2]|0)+72>>2]&511](d,b)|0;d=c[e+12>>2]|0;if(d|0)if(!(Xi[c[(c[b>>2]|0)+16>>2]&511](b,d)|0)){a=nf(16)|0;ds(a,364201,e+8|0);zc(a|0,96,27)}Gs(a,5,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;i=e;return a|0}function Ju(a,b){a=a|0;b=b|0;if(!(uDa(a,b)|0)){b=K4(a,b)|0;return b|0}else{b=UGa(a,b,0)|0;a=c[155674]|0;b=Xi[c[(c[a>>2]|0)+72>>2]&511](a,b)|0;return b|0}return 0}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!(uDa(a,b)|0))if(Hs(a,b,5)|0)e=3;else if(Hs(a,b,7)|0){f=M4(a,b)|0;Hi[c[(c[f>>2]|0)+8>>2]&1023](f);d=0}else{f=0;d=0}else e=3;if((e|0)==3){if(!(uDa(a,b)|0))d=K4(a,b)|0;else{d=UGa(a,b,0)|0;f=c[155674]|0;d=Xi[c[(c[f>>2]|0)+72>>2]&511](f,d)|0}Hi[c[(c[d>>2]|0)+8>>2]&1023](d);f=0}e=(d|0)!=0;if(!(e|(f|0)!=0)){OGa(a,b,326064)|0;b=0;return b|0}if(!e){b=f;return b|0}b=Gi[c[(c[d>>2]|0)+32>>2]&255](d,-1,-1)|0;Hi[c[(c[d>>2]|0)+12>>2]&1023](d);return b|0}function Lu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((kDa(a)|0)==1){if(uDa(a,1)|0)Js(a,1,352526,326101)|0;if(Hs(a,1,5)|0){f=K4(a,1)|0;f=Gi[c[(c[f>>2]|0)+32>>2]&255](f,-1,-1)|0;Gs(a,7,f);Hi[c[(c[f>>2]|0)+12>>2]&1023](f);f=1;i=g;return f|0}else{f=OGa(a,1,326109)|0;i=g;return f|0}}c[g+16>>2]=0;b=UGa(a,1,g+16|0)|0;d=UGa(a,2,0)|0;a:do if(!(uDa(a,3)|0)){c[g+12>>2]=0;f=13}else{e=BDa(a,3,0)|0;c[g+12>>2]=0;if(!e)f=13;else{if(!(vu(e,g+12|0)|0)){c[g>>2]=e;b=PGa(a,326135,g)|0;break}switch(c[g+12>>2]|0){case 0:{f=13;break a}case 1:{f=c[155674]|0;b=Gi[c[(c[f>>2]|0)+80>>2]&255](f,b,d)|0;f=16;break a}default:{c[g+8>>2]=e;b=PGa(a,326135,g+8|0)|0;break a}}}}while(0);if((f|0)==13){e=c[155674]|0;b=cj[c[(c[e>>2]|0)+76>>2]&127](e,b,c[g+16>>2]|0,d)|0;f=16}if((f|0)==16){Gs(a,7,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);b=1}f=b;i=g;return f|0}function Mu(a){a=a|0;var b=0;b=c[155674]|0;LDa(a,vi[c[(c[b>>2]|0)+84>>2]&2047](b)|0);return 1}function Nu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155674]|0;si[c[(c[d>>2]|0)+88>>2]&511](b,d);ks(a,b);Mqb(b);i=b;return 1}function Ou(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155674]|0;si[c[(c[d>>2]|0)+92>>2]&511](b,d);ks(a,b);Mqb(b);i=b;return 1}function Pu(a){a=a|0;var b=0;b=c[155674]|0;LDa(a,vi[c[(c[b>>2]|0)+96>>2]&2047](b)|0);return 1}function Qu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155674]|0;si[c[(c[d>>2]|0)+100>>2]&511](b,d);ks(a,b);Mqb(b);i=b;return 1}function Ru(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=UGa(b,1,0)|0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;f=c[155674]|0;$i[c[(c[f>>2]|0)+104>>2]&255](d,f,e);if(!(a[d+12>>0]&1)){a[d+12+1>>0]=0;a[d+12>>0]=0}else{a[c[d+12+8>>2]>>0]=0;c[d+12+4>>2]=0}Qqb(d+12|0,0);c[d+12>>2]=c[d>>2];c[d+12+4>>2]=c[d+4>>2];c[d+12+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Mqb(d);LDa(b,(a[d+12>>0]&1)==0?d+12+1|0:c[d+12+8>>2]|0);Mqb(d+12|0);i=d;return 1}function Su(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[155674]|0;si[c[(c[d>>2]|0)+176>>2]&511](b,d);ks(a,b);Mqb(b);i=b;return 1}function Tu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+108>>2]&511](d,b)|0);return 1}function Uu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+112>>2]&511](d,b)|0);return 1}function Vu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+116>>2]&511](d,b)|0);return 1}function Wu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+120>>2]&511](d,b)|0);return 1}function Xu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+124>>2]&511](d,b)|0);return 1}function Yu(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;gs(a,Xi[c[(c[d>>2]|0)+128>>2]&511](d,b)|0);return 1}function Zu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=UGa(a,1,0)|0;b=bHa(a,2,-1)|0;f=c[155674]|0;b=cj[c[(c[f>>2]|0)+132>>2]&127](f,e,b,((b|0)<0)<<31>>31)|0;if(!b){f=t4(a,326164,d)|0;i=d;return f|0}else{f=vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0;KDa(a,f,vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0);JDa(a,vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);f=2;i=d;return f|0}return 0}function _u(a){a=a|0;return $u(a,2)|0}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=UGa(a,1,0)|0;c[j>>2]=0;do if(Hs(a,2,2)|0){d=c[(EDa(a,2)|0)+4>>2]|0;h=vi[c[(c[d>>2]|0)+16>>2]&2047](d)|0;d=vi[c[(c[d>>2]|0)+20>>2]&2047](d)|0;c[j>>2]=d}else{if(uDa(a,2)|0){h=BDa(a,2,j)|0;d=c[j>>2]|0;break}b=OGa(a,2,326188)|0;i=j;return b|0}while(0);d=bHa(a,3,d)|0;c[j>>2]=d;e=c[155674]|0;f=c[e>>2]|0;if((b|0)==3)qi[c[f+140>>2]&15](e,g,h,d,0);else qi[c[f+136>>2]&15](e,g,h,d,0);gs(a,1);b=1;i=j;return b|0}function av(a){a=a|0;return $u(a,3)|0}function bv(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=UGa(b,1,0)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;e=c[155674]|0;$i[c[(c[e>>2]|0)+144>>2]&255](e,f,g);WDa(b,((c[g+4>>2]|0)-(c[g>>2]|0)|0)/12|0,0);f=0;while(1){e=c[g+4>>2]|0;d=c[g>>2]|0;if((f|0)>=((e-d|0)/12|0|0))break;e=d+(f*12|0)|0;if(!(a[e>>0]&1))d=e+1|0;else d=c[d+(f*12|0)+8>>2]|0;LDa(b,d);e=f+1|0;aEa(b,-2,e);f=e}if(!d){i=g;return 1}if((e|0)!=(d|0)){do{f=e+-12|0;c[g+4>>2]=f;Mqb(f);e=c[g+4>>2]|0}while((e|0)!=(d|0));d=c[g>>2]|0}oAb(d);i=g;return 1}function cv(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if(!(uDa(a,1)|0)){a=OGa(a,1,326212)|0;i=d;return a|0}e=c[155674]|0;f=c[(c[e>>2]|0)+72>>2]|0;b=BDa(a,1,0)|0;b=Xi[f&511](e,b)|0;if(Xi[c[(c[b>>2]|0)+16>>2]&511](b,1)|0){Gs(a,5,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);ODa(a,1493,1);f=1;i=d;return f|0}else{Hi[c[(c[b>>2]|0)+12>>2]&1023](b);f=PGa(a,364201,d)|0;i=d;return f|0}return 0}function dv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+48|0;f=UGa(b,1,0)|0;Iqb(d+24|0,f,rnb(f)|0);f=c[155674]|0;f=cj[c[(c[f>>2]|0)+132>>2]&127](f,(a[d+24>>0]&1)==0?d+24+1|0:c[d+24+8>>2]|0,-1,-1)|0;g=vi[c[(c[f>>2]|0)+16>>2]&2047](f)|0;e=vi[c[(c[f>>2]|0)+20>>2]&2047](f)|0;c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;h=a[d+24>>0]|0;h=(h&1)==0?(h&255)>>>1:c[d+24+4>>2]|0;frb(d+12|0,439705,1,h+1|0);Vqb(d+12|0,(a[d+24>>0]&1)==0?d+24+1|0:c[d+24+8>>2]|0,h)|0;e=sHa(b,g,e,(a[d+12>>0]&1)==0?d+12+1|0:c[d+12+8>>2]|0)|0;Mqb(d+12|0);Hi[c[(c[f>>2]|0)+12>>2]&1023](f);switch(e|0){case 4:{c[d>>2]=BDa(b,-1,0)|0;h=PGa(b,326231,d)|0;Mqb(d+24|0);i=d;return h|0}case 3:{c[d+8>>2]=BDa(b,-1,0)|0;h=PGa(b,326260,d+8|0)|0;Mqb(d+24|0);i=d;return h|0}default:{h=1;Mqb(d+24|0);i=d;return h|0}}return 0}function ev(a){a=a|0;var b=0,d=0;b=UGa(a,1,0)|0;d=c[155674]|0;b=Xi[c[(c[d>>2]|0)+148>>2]&511](d,b)|0;IDa(a,+(b>>>0)+4294967296.0*+(C|0));return 1}function fv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=UGa(a,1,0)|0;d=c[155674]|0;b=Xi[c[(c[d>>2]|0)+152>>2]&511](d,b)|0;d=C;if((b|0)==-1&(d|0)==-1){a=t4(a,364041,e)|0;i=e;return a|0}if((d|0)>2097151|(d|0)==2097151&b>>>0>4294967295){a=t4(a,326278,e+8|0)|0;i=e;return a|0}else{IDa(a,+(b>>>0)+4294967296.0*+(d|0));a=1;i=e;return a|0}return 0}function gv(a){a=a|0;var b=0,d=0;b=c[155674]|0;d=c[(c[b>>2]|0)+156>>2]|0;a=fs(a,1)|0;si[d&511](b,a);return 0}function hv(a){a=a|0;var b=0;b=c[155674]|0;gs(a,vi[c[(c[b>>2]|0)+160>>2]&2047](b)|0);return 1}function iv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+176|0;c[j+16+8>>2]=9184;g=j+16+12|0;c[j+16>>2]=9388;c[j+16+64>>2]=9408;c[j+16+4>>2]=0;rsb(j+16+64|0,g);c[j+16+136>>2]=0;c[j+16+140>>2]=-1;c[j+16>>2]=9164;c[j+16+64>>2]=9204;c[j+16+8>>2]=9184;tsb(g);c[g>>2]=9220;h=j+16+44|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[j+16+60>>2]=24;c[j+160>>2]=0;c[j+160+4>>2]=0;c[j+160+8>>2]=0;dk(g,j+160|0);Mqb(j+160|0);f=c[155674]|0;f=vi[c[(c[f>>2]|0)+164>>2]&2047](f)|0;d=c[f>>2]|0;f=c[f+4>>2]|0;if((d|0)!=(f|0)){e=0;while(1){if(e)ek(j+16+8|0,439697,1)|0;e=a[d>>0]|0;ek(j+16+8|0,(e&1)==0?d+1|0:c[d+8>>2]|0,(e&1)==0?(e&255)>>>1:c[d+4>>2]|0)|0;d=d+12|0;if((d|0)==(f|0))break;else e=1}}gk(j,g);ks(b,j);Mqb(j);c[j+16>>2]=9164;c[j+16+64>>2]=9204;c[j+16+8>>2]=9184;c[g>>2]=9220;Mqb(h);urb(g);qrb(j+16+64|0);i=j;return 1}function jv(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+176|0;js(f+144|0,b,1);e=c[155674]|0;e=vi[c[(c[e>>2]|0)+164>>2]&2047](e)|0;d=c[e>>2]|0;b=c[e+4>>2]|0;if((b|0)!=(d|0))do{g=b+-12|0;c[e+4>>2]=g;Mqb(g);b=c[e+4>>2]|0}while((b|0)!=(d|0));c[f+8>>2]=9184;c[f>>2]=9388;c[f+64>>2]=9408;c[f+4>>2]=0;rsb(f+64|0,f+12|0);c[f+136>>2]=0;c[f+140>>2]=-1;c[f>>2]=9164;c[f+64>>2]=9204;c[f+8>>2]=9184;tsb(f+12|0);c[f+12>>2]=9220;c[f+44>>2]=0;c[f+44+4>>2]=0;c[f+44+8>>2]=0;c[f+44+12>>2]=0;c[f+60>>2]=24;c[f+156>>2]=0;c[f+156+4>>2]=0;c[f+156+8>>2]=0;dk(f+12|0,f+156|0);Mqb(f+156|0);g=a[f+144>>0]|0;ek(f+8|0,(g&1)==0?f+144+1|0:c[f+144+8>>2]|0,(g&1)==0?(g&255)>>>1:c[f+144+4>>2]|0)|0;while(1){g=kv(f,f+144|0,59)|0;if(c[g+(c[(c[g>>2]|0)+-12>>2]|0)+16>>2]&5|0)break;b=c[e+4>>2]|0;if((b|0)==(c[e+8>>2]|0)){lv(e,f+144|0);continue}else{Hqb(b,f+144|0);c[e+4>>2]=(c[e+4>>2]|0)+12;continue}}c[f>>2]=9164;c[f+64>>2]=9204;c[f+8>>2]=9184;c[f+12>>2]=9220;Mqb(f+44|0);urb(f+12|0);qrb(f+64|0);Mqb(f+144|0);i=f;return 0}function kv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;wsb(l,b,1);if(!(a[l>>0]|0)){i=l;return b|0}if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0;k=e+4|0}else{a[c[e+8>>2]>>0]=0;c[e+4>>2]=0;k=e+4|0}g=0;while(1){h=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;j=c[h+12>>2]|0;if((j|0)==(c[h+16>>2]|0)){h=vi[c[(c[h>>2]|0)+40>>2]&2047](h)|0;if((h|0)==-1){h=2;break}}else{c[h+12>>2]=j+1;h=d[j>>0]|0}g=g+1|0;h=h&255;if(h<<24>>24==f<<24>>24){h=0;break}Xqb(e,h);if((a[e>>0]&1)!=0&(c[k>>2]|0)==-17){h=4;break}}e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;qsb(e,c[e+16>>2]|((g|0)==0?h|4:h));i=l;return b|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=c[a>>2]|0;e=(((c[a+4>>2]|0)-f|0)/12|0)+1|0;if(e>>>0>357913941)jzb(a);d=((c[a+8>>2]|0)-f|0)/12|0;if(d>>>0<178956970){d=d<<1>>>0>>0?e:d<<1;e=((c[a+4>>2]|0)-f|0)/12|0;if(!d){g=0;f=0;d=e}else h=6}else{d=357913941;e=((c[a+4>>2]|0)-f|0)/12|0;h=6}if((h|0)==6){g=d;f=YAb(d*12|0)|0;d=e}i=f+(d*12|0)|0;h=f+(g*12|0)|0;Hqb(i,b);g=c[a>>2]|0;d=c[a+4>>2]|0;if((d|0)==(g|0)){e=i;f=g;d=g}else{f=i;e=i;do{b=f+-12|0;d=d+-12|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f=e+-12|0;e=f}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=i+12;c[a+8>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-12|0;Mqb(d)}while((d|0)!=(e|0));if(!f)return;oAb(f);return}function mv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;is(j+16|0,b,1);d=a[j+16>>0]|0;e=(d&1)==0?j+16+1|0:c[j+16+8>>2]|0;d=(d&1)==0?(d&255)>>>1:c[j+16+4>>2]|0;if(d|0){f=e;do{if((a[f>>0]|0)==46)a[f>>0]=47;f=f+1|0}while((f|0)!=(e+d|0))}g=c[155674]|0;h=vi[c[(c[g>>2]|0)+164>>2]&2047](g)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;a:do if((e|0)!=(h|0)){d=0;while(1){Hqb(j+4|0,e);f=brb(j+4|0,63,0)|0;if((f|0)!=-1){k=a[j+16>>0]|0;$qb(j+4|0,f,1,(k&1)==0?j+16+1|0:c[j+16+8>>2]|0,(k&1)==0?(k&255)>>>1:c[j+16+4>>2]|0)|0}if(Xi[c[(c[g>>2]|0)+116>>2]&511](g,(a[j+4>>0]&1)==0?j+4+1|0:c[j+4+8>>2]|0)|0){lDa(b,-2);LDa(b,(a[j+4>>0]&1)==0?j+4+1|0:c[j+4+8>>2]|0);f=0;d=dv(b)|0}else f=1;Mqb(j+4|0);e=e+12|0;if(!f)break;if((e|0)==(h|0))break a}Mqb(j+16|0);i=j;return d|0}while(0);Iqb(j+4|0,326319,35);k=(a[j+4>>0]&1)==0?j+4+1|0:c[j+4+8>>2]|0;c[j>>2]=(a[j+16>>0]&1)==0?j+16+1|0:c[j+16+8>>2]|0;NDa(b,k,j)|0;Mqb(j+4|0);k=1;Mqb(j+16|0);i=j;return k|0}function nv(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155674]|0;if(!b){b=YAb(112)|0;H3(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);Fs(a,1494,2)|0;c[d>>2]=b;c[d+4>>2]=352526;c[d+8>>2]=56;c[d+12>>2]=12652;c[d+16>>2]=12956;a=qs(a,d)|0;i=d;return a|0}function ov(a){a=a|0;var b=0,d=0;if((qDa(a,1)|0)!=3)if((qDa(a,2)|0)!=3)if((qDa(a,1)|0)!=-1)if((qDa(a,2)|0)<1){d=Ku(a,1)|0;b=c[155675]|0;b=Xi[c[(c[b>>2]|0)+24>>2]&511](b,d)|0;Hi[c[(c[d>>2]|0)+12>>2]&1023](d);Gs(a,9,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;return a|0}else{qv(a)|0;d=1;return d|0}d=pv(a)|0;return d|0}function pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;c[g+12>>2]=0;if((qDa(a,1)|0)==3)f=3;else if((qDa(a,1)|0)==-1)f=3;else{if(Hs(a,1,2)|0){e=Zs(a,1)|0;Hi[c[(c[e>>2]|0)+8>>2]&1023](e)}else e=Ku(a,1)|0;d=~~+$Ga(a,2,12.0);do if((qDa(a,3)|0)<1)b=0;else{b=UGa(a,3,0)|0;if(!b)b=0;else{if(I6(b,g+12|0)|0){b=c[g+12>>2]|0;break}c[g+8>>2]=b;a=PGa(a,326742,g+8|0)|0;i=g;return a|0}}while(0);h=c[155675]|0;b=cj[c[(c[h>>2]|0)+32>>2]&127](h,e,d,b)|0;Hi[c[(c[e>>2]|0)+12>>2]&1023](e)}if((f|0)==3){d=~~+$Ga(a,1,12.0);do if((qDa(a,2)|0)<1)b=0;else{b=UGa(a,2,0)|0;if(!b)b=0;else{if(I6(b,g+12|0)|0){b=c[g+12>>2]|0;break}c[g>>2]=b;h=PGa(a,326742,g)|0;i=g;return h|0}}while(0);h=c[155675]|0;b=Gi[c[(c[h>>2]|0)+28>>2]&255](h,d,b)|0}Gs(a,9,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);h=1;i=g;return h|0}function qv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=Ku(a,1)|0;c[j+4>>2]=0;h=j+4+4|0;c[h>>2]=0;c[j+4+8>>2]=0;a:do if((qDa(a,2)|0)==5){e=1;while(1){if((e|0)>(Es(a,2)|0))break a;VDa(a,2,e);if((qDa(a,1)|0)==4)f=8;else if(Hs(a,-1,5)|0)f=8;else if(Hs(a,-1,7)|0)f=8;if((f|0)==8){f=0;Js(a,-1,435893,437001)|0}b=Qk(a,-1,22)|0;c[j>>2]=b;d=c[h>>2]|0;if((d|0)==(c[j+4+8>>2]|0))rv(j+4|0,j);else{c[d>>2]=b;c[h>>2]=(c[h>>2]|0)+4}Hi[c[(c[b>>2]|0)+8>>2]&1023](b);lDa(a,-2);e=e+1|0}}else{e=2;while(1){if((e|0)>(kDa(a)|0))break a;if((qDa(a,1)|0)==4)f=17;else if(Hs(a,e,5)|0)f=17;else if(Hs(a,e,7)|0)f=17;if((f|0)==17){f=0;Js(a,e,435893,437001)|0}b=Qk(a,e,22)|0;c[j>>2]=b;d=c[h>>2]|0;if((d|0)==(c[j+4+8>>2]|0))rv(j+4|0,j);else{c[d>>2]=b;c[h>>2]=(c[h>>2]|0)+4}Hi[c[(c[b>>2]|0)+8>>2]&1023](b);e=e+1|0}}while(0);e=c[155675]|0;e=Gi[c[(c[e>>2]|0)+36>>2]&255](e,g,j+4|0)|0;Hi[c[(c[g>>2]|0)+12>>2]&1023](g);b=c[j+4>>2]|0;d=c[h>>2]|0;if((b|0)!=(d|0))do{g=c[b>>2]|0;Hi[c[(c[g>>2]|0)+12>>2]&1023](g);b=b+4|0}while((b|0)!=(d|0));Gs(a,9,e);Hi[c[(c[e>>2]|0)+12>>2]&1023](e);b=c[j+4>>2]|0;if(!b){i=j;return 1}d=c[h>>2]|0;if((d|0)!=(b|0))c[h>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b);i=j;return 1}function rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function sv(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((qDa(a,1)|0)==4)b=4;else if(Hs(a,1,5)|0)b=4;else if(Hs(a,1,7)|0)b=4;if((b|0)==4)Js(a,1,435893,437001)|0;e=Qk(a,1,22)|0;js(d,a,2);b=~~+$Ga(a,3,0.0);f=c[155675]|0;b=cj[c[(c[f>>2]|0)+40>>2]&127](f,e,d,b)|0;Gs(a,9,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);Mqb(d);i=d;return 1}function tv(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=Gv(a,1)|0;if((qDa(a,2)|0)==4){js(d,a,2);e=c[155675]|0;b=Gi[c[(c[e>>2]|0)+48>>2]&255](e,b,d)|0;Mqb(d)}else{e=~~+_Ga(a,2)>>>0;f=c[155675]|0;b=Gi[c[(c[f>>2]|0)+52>>2]&255](f,b,e)|0}Gs(a,8,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);i=d;return 1}function uv(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155675]|0;if(!b){b=YAb(12)|0;W4(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=327208;c[d+8>>2]=3;c[d+12>>2]=12972;c[d+16>>2]=13020;a=qs(a,d)|0;i=d;return a|0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function wv(a){a=a|0;var b=0;b=vv(a,1,8)|0;JDa(a,vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0);return 1}function xv(a){a=a|0;var b=0;b=vv(a,1,8)|0;JDa(a,vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0);return 1}function yv(a){a=a|0;var b=0;b=vv(a,1,8)|0;JDa(a,vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0);JDa(a,vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0);return 2}function zv(a){a=a|0;IDa(a,+((d6(vv(a,1,8)|0)|0)>>>0));return 1}function Av(a){a=a|0;var b=0;b=i;i=i+16|0;e6(b,vv(a,1,8)|0);ks(a,b);Mqb(b);i=b;return 1}function Bv(a){a=a|0;JDa(a,g6(vv(a,1,8)|0)|0);return 1}function Cv(a){a=a|0;var b=0;b=vv(a,1,8)|0;JDa(a,h6(b)|0);JDa(a,i6(b)|0);return 2}function Dv(a){a=a|0;var b=0,c=0,d=0,e=0;b=vv(a,1,8)|0;c=j6(b)|0;e=k6(b)|0;d=l6(b)|0;b=(m6(b)|0)-e|0;JDa(a,c);JDa(a,e);JDa(a,d-c|0);JDa(a,b);return 4}function Ev(a){a=a|0;var b=0;b=i;i=i+16|0;if(o6(n6(vv(a,1,8)|0)|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);a=1;i=b;return a|0}else{a=PGa(a,326836,b)|0;i=b;return a|0}return 0}function Fv(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=12068;c[b+4>>2]=13032;c[b+8>>2]=0;a=xs(a,8,326862,b)|0;i=b;return a|0}function Gv(a,b){a=a|0;b=b|0;return Hv(a,b,9)|0}function Hv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Iv(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+16>>2]&2047](b)|0);return 1}function Jv(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0);return 1}function Kv(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0);return 1}function Lv(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0);return 1}function Mv(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+32>>2]&2047](b)|0);return 1}function Nv(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=Hv(a,1,9)|0;if((qDa(a,2)|0)==4){js(d,a,2);b=Xi[c[(c[b>>2]|0)+40>>2]&511](b,d)|0;Mqb(d)}else{e=~~+_Ga(a,2)>>>0;b=Xi[c[(c[b>>2]|0)+36>>2]&511](b,e)|0}Gs(a,8,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);i=d;return 1}function Ov(a){a=a|0;var b=0;b=Hv(a,1,9)|0;JDa(a,vi[c[(c[b>>2]|0)+44>>2]&2047](b)|0);return 1}function Pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=Hv(a,1,9)|0;e=(kDa(a)|0)+-1|0;e=(e|0)<1?1:e;a:do if((e|0)>0){f=2;while(1){if((qDa(a,f)|0)==4){b=c[(c[d>>2]|0)+52>>2]|0;js(g,a,f);b=Xi[b&511](d,g)|0;Mqb(g);if(!b){b=0;break a}}else{h=c[(c[d>>2]|0)+48>>2]|0;b=~~+_Ga(a,f)>>>0;b=Xi[h&511](d,b)|0;if(!b){b=0;break a}}if((f|0)>(e|0)){b=b&1;break}else f=f+1|0}}else b=0;while(0);gs(a,b<<24>>24!=0);i=g;return 1}function Qv(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=13112;c[b+4>>2]=0;a=xs(a,9,326907,b)|0;i=b;return a|0}function Rv(a){a=a|0;R9(c[155676]|0);return 0}function Sv(b){b=b|0;var d=0,e=0,f=0,h=0.0;f=i;i=i+32|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;do if((qDa(b,1)|0)<1){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0}else{if((qDa(b,1)|0)!=5){g[f>>2]=+_Ga(b,1);g[f+4>>2]=+_Ga(b,2);g[f+8>>2]=+_Ga(b,3);g[f+12>>2]=+$Ga(b,4,255.0);break}d=kDa(b)|0;c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;do if(!d)e=0;else if(d>>>0>214748364)jzb(f+16|0);else{e=YAb(d*20|0)|0;c[f+16>>2]=e;c[f+16+8>>2]=e+(d*20|0);hBb(e|0,0,d*20|0)|0;c[f+16+4>>2]=e+(d*20|0);e=0;break}while(0);while(1){if((e|0)>=(kDa(b)|0))break;d=e+1|0;if((qDa(b,d)|0)>=1)if(Es(b,d)|0){VDa(b,d,1);VDa(b,d,2);VDa(b,d,3);VDa(b,d,4);a[(c[f+16>>2]|0)+(e*20|0)+16>>0]=1;h=+_Ga(b,-4);g[(c[f+16>>2]|0)+(e*20|0)>>2]=h;h=+_Ga(b,-3);g[(c[f+16>>2]|0)+(e*20|0)+4>>2]=h;h=+_Ga(b,-2);g[(c[f+16>>2]|0)+(e*20|0)+8>>2]=h;h=+$Ga(b,-1,255.0);g[(c[f+16>>2]|0)+(e*20|0)+12>>2]=h;lDa(b,-5);e=d;continue}a[(c[f+16>>2]|0)+(e*20|0)+16>>0]=0;e=d}V9(c[155676]|0,f+16|0);d=c[f+16>>2]|0;if(d|0){b=c[f+16+4>>2]|0;if((b|0)!=(d|0))c[f+16+4>>2]=b+(~(((b+-20-d|0)>>>0)/20|0)*20|0);oAb(d)}i=f;return 0}while(0);e=c[155676]|0;c[f+16>>2]=c[f>>2];c[f+16+4>>2]=c[f+4>>2];c[f+16+8>>2]=c[f+8>>2];c[f+16+12>>2]=c[f+12>>2];U9(e,f+16|0);i=f;return 0}function Tv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+48|0;c[j+24>>2]=0;h=j+24+4|0;c[h>>2]=0;c[j+24+8>>2]=0;a:do if((qDa(a,1)|0)==5){f=1;while(1){if(f>>>0>(Es(a,1)|0)>>>0)break a;VDa(a,1,f);e=hs(a,-1,1)|0;d=c[h>>2]|0;b=c[j+24+8>>2]|0;if((d|0)==(b<<5|0)){if((d+1|0)<0)break;if(b<<5>>>0>1073741822)b=2147483647;else b=b<<6>>>0<(d+32&-32)>>>0?d+32&-32:b<<6;Uv(j+24|0,b);b=c[h>>2]|0}else b=d;c[h>>2]=b+1;d=(c[j+24>>2]|0)+(b>>>5<<2)|0;b=1<<(b&31);if(e)b=c[d>>2]|b;else b=c[d>>2]&~b;c[d>>2]=b;lDa(a,-2);f=f+1|0}jzb(j+24|0)}else{f=hs(a,1,1)|0;uaa(j+12|0,c[155676]|0);b=c[j+12+4>>2]|0;d=c[j+12>>2]|0;g=b-d>>2>>>0>1?b-d>>2:1;if(d|0){if((b|0)!=(d|0))c[j+12+4>>2]=b+(~((b+-4-d|0)>>>2)<<2);oAb(d)}c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;do if(!g){b=0;g=0;e=0}else{if((g|0)<0)jzb(j);e=YAb(((g+-1|0)>>>5)+1<<2)|0;c[j>>2]=e;c[j+8>>2]=((g+-1|0)>>>5)+1;c[j+4>>2]=g;if(f){hBb(e|0,-1,g>>>5<<2|0)|0;if((g>>>5<<5|0)==(g|0)){b=((g+-1|0)>>>5)+1|0;break}c[e+(g>>>5<<2)>>2]=c[e+(g>>>5<<2)>>2]|-1>>>(32-g+(g>>>5<<5)|0);b=((g+-1|0)>>>5)+1|0;break}else{hBb(e|0,0,g>>>5<<2|0)|0;if((g>>>5<<5|0)==(g|0)){b=((g+-1|0)>>>5)+1|0;break}c[e+(g>>>5<<2)>>2]=c[e+(g>>>5<<2)>>2]&~(-1>>>(32-g+(g>>>5<<5)|0));b=((g+-1|0)>>>5)+1|0;break}}while(0);d=c[j+24>>2]|0;if(!d)d=g;else{oAb(d);c[j+24>>2]=0;c[j+24+8>>2]=0;c[h>>2]=0;e=c[j>>2]|0;d=c[j+4>>2]|0;b=c[j+8>>2]|0}c[j+24>>2]=e;c[h>>2]=d;c[j+24+8>>2]=b;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0}while(0);b=hs(a,2,1)|0;W9(c[155676]|0,j+24|0,b);b=c[j+24>>2]|0;if(!b){i=j;return 0}oAb(b);i=j;return 0}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+32|0;if(c[a+8>>2]<<5>>>0>=b>>>0){i=d;return}c[d+16>>2]=0;c[d+16+4>>2]=0;c[d+16+8>>2]=0;if((b|0)<0)jzb(d+16|0);c[d+16>>2]=YAb(((b+-1|0)>>>5)+1<<2)|0;c[d+16+4>>2]=0;c[d+16+8>>2]=((b+-1|0)>>>5)+1;e=c[a>>2]|0;c[d+8>>2]=e;c[d+8+4>>2]=0;b=c[a+4>>2]|0;c[d>>2]=e+(b>>>5<<2);c[d+4>>2]=b&31;Vv(d+16|0,d+8|0,d);b=c[a>>2]|0;c[a>>2]=c[d+16>>2];c[d+16>>2]=b;e=c[a+4>>2]|0;c[a+4>>2]=c[d+16+4>>2];c[d+16+4>>2]=e;e=c[a+8>>2]|0;c[a+8>>2]=c[d+16+8>>2];c[d+16+8>>2]=e;if(b|0)oAb(b);i=d;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=c[a+4>>2]|0;h=c[b>>2]|0;e=c[b+4>>2]|0;f=c[d>>2]|0;d=c[d+4>>2]|0;c[a+4>>2]=g-e+d+(f-h<<3);b=(c[a>>2]|0)+(g>>>5<<2)|0;if((e|0)!=(g&31|0)){c[j+24>>2]=h;c[j+24+4>>2]=e;c[j+16>>2]=f;c[j+16+4>>2]=d;c[j+8>>2]=b;c[j+8+4>>2]=g&31;Wv(j,j+24|0,j+16|0,j+8|0);i=j;return}d=d-e+(f-h<<3)|0;if((d|0)>0){if(!e){e=0;a=h;g=h}else{f=(d|0)<(32-e|0)?d:32-e|0;c[b>>2]=c[b>>2]&~(-1>>>(32-e-f|0)&-1<>2]&(-1>>>(32-e-f|0)&-1<>>5<<2)|0;e=f+e&31;a=h+4|0;g=h+4|0;d=d-f|0}f=d>>>5;nBb(b|0,a|0,f<<2|0)|0;d=d-(f<<5)|0;b=b+(f<<2)|0;if((d|0)>0){c[b>>2]=c[b>>2]&~(-1>>>(32-d|0))|c[g+(f<<2)>>2]&-1>>>(32-d|0);e=d}}c[j>>2]=b;c[j+4>>2]=e;i=j;return}function Wv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=c[b>>2]|0;f=c[b+4>>2]|0;j=((c[d>>2]|0)-g<<3)+(c[d+4>>2]|0)-f|0;if((j|0)<=0){l=e+4|0;e=c[e>>2]|0;c[a>>2]=e;a=a+4|0;e=c[l>>2]|0;c[a>>2]=e;return}if(!f){l=e+4|0;d=g;f=c[e+4>>2]|0}else{i=(j|0)<(32-f|0)?j:32-f|0;d=-1>>>(32-f-i|0)&-1<>2];k=c[e+4>>2]|0;f=(32-k|0)>>>0>>0?32-k|0:i;g=c[e>>2]|0;k=c[g>>2]&~(-1>>>(32-k-f|0)&-1<>2]=k;h=c[e+4>>2]|0;l=c[b+4>>2]|0;c[g>>2]=k|(h>>>0>l>>>0?d<>>(l-h|0));h=(c[e+4>>2]|0)+f|0;c[e>>2]=g+(h>>>5<<2);c[e+4>>2]=h&31;if((i-f|0)>0){l=c[g+(h>>>5<<2)>>2]&~(-1>>>(32-(i-f)|0));c[g+(h>>>5<<2)>>2]=l;c[g+(h>>>5<<2)>>2]=l|d>>>((c[b+4>>2]|0)+f|0);c[e+4>>2]=i-f;f=i-f|0}else f=h&31;d=(c[b>>2]|0)+4|0;c[b>>2]=d;l=e+4|0;j=j-i|0}k=32-f|0;g=-1<>>0>31){f=j;do{i=c[d>>2]|0;d=c[e>>2]|0;h=c[d>>2]&~g;c[d>>2]=h;c[d>>2]=h|i<>2];c[e>>2]=d+4;c[d+4>>2]=c[d+4>>2]&g|i>>>k;f=f+-32|0;d=(c[b>>2]|0)+4|0;c[b>>2]=d}while(f>>>0>31);j=j&31}if((j|0)<=0){e=c[e>>2]|0;c[a>>2]=e;a=a+4|0;e=c[l>>2]|0;c[a>>2]=e;return}g=c[d>>2]&-1>>>(32-j|0);h=(k|0)<(j|0)?k:j;i=c[e>>2]|0;f=c[i>>2]&~(-1<>2]&-1>>>(k-h|0));c[i>>2]=f;c[i>>2]=f|g<>2];f=(c[l>>2]|0)+h|0;c[e>>2]=i+(f>>>5<<2);c[l>>2]=f&31;d=j-h|0;if((d|0)<=0){e=c[e>>2]|0;c[a>>2]=e;a=a+4|0;e=c[l>>2]|0;c[a>>2]=e;return}c[i+(f>>>5<<2)>>2]=c[i+(f>>>5<<2)>>2]&~(-1>>>(32-d|0))|g>>>h;c[l>>2]=d;e=c[e>>2]|0;c[a>>2]=e;a=a+4|0;e=c[l>>2]|0;c[a>>2]=e;return}function Xv(a){a=a|0;X9(c[155676]|0);return 0}function Yv(a){a=a|0;gs(a,N9(c[155676]|0)|0);return 1}function Zv(a){a=a|0;var b=0;b=c[155676]|0;gs(a,vi[c[(c[b>>2]|0)+40>>2]&2047](b)|0);return 1}function _v(a){a=a|0;gs(a,P9(c[155676]|0)|0);return 1}function $v(a){a=a|0;JDa(a,Y9(c[155676]|0)|0);return 1}function aw(a){a=a|0;JDa(a,Z9(c[155676]|0)|0);return 1}function bw(a){a=a|0;JDa(a,Y9(c[155676]|0)|0);JDa(a,Z9(c[155676]|0)|0);return 2}function cw(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,g=0;g=i;i=i+16|0;switch(kDa(a)|0){case 0:{b=6;break}case 4:{if(!(qDa(a,1)|0))if(!(qDa(a,2)|0))if(!(qDa(a,3)|0))if(!(qDa(a,4)|0))b=6;break}default:{}}if((b|0)==6){C9(c[155676]|0);a=0;i=g;return a|0}d=+_Ga(a,1);e=+_Ga(a,2);b=~~+_Ga(a,3);f=~~+_Ga(a,4);if((f|b|0)<0){a=PGa(a,326956,g)|0;i=g;return a|0}else{B9(c[155676]|0,~~d,~~e,b,f);a=0;i=g;return a|0}return 0}function dw(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0;g=i;i=i+16|0;b=+_Ga(a,1);d=+_Ga(a,2);e=~~+_Ga(a,3);f=~~+_Ga(a,4);if((f|e|0)<0){a=PGa(a,326956,g)|0;i=g;return a|0}else{_9(c[155676]|0,~~b,~~d,e,f);a=0;i=g;return a|0}return 0}function ew(a){a=a|0;var b=0;b=i;i=i+16|0;if(!($9(c[155676]|0,b+12|0,b+8|0,b+4|0,b)|0)){a=0;i=b;return a|0}JDa(a,c[b+12>>2]|0);JDa(a,c[b+8>>2]|0);JDa(a,c[b+4>>2]|0);JDa(a,c[b>>2]|0);a=4;i=b;return a|0}function fw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;YGa(a,1,6);c[d+4>>2]=0;if((qDa(a,2)|0)>=1){b=UGa(a,2,0)|0;if(!(OA(b,d+4|0)|0)){c[d>>2]=b;a=PGa(a,327009,d)|0;i=d;return a|0}}b=~~+$Ga(a,3,1.0);if(!(ADa(a,4)|0))caa(c[155676]|0);aaa(c[155676]|0,c[d+4>>2]|0,b);pDa(a,1);dEa(a,0,0);S9(c[155676]|0);a=0;i=d;return a|0}function gw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d+4>>2]=6;do if((qDa(a,1)|0)<1){b=6;a=0}else{b=UGa(a,1,0)|0;if(PA(b,d+4|0)|0){a=~~+_Ga(a,2);b=c[d+4>>2]|0;break}c[d>>2]=b;a=PGa(a,327041,d)|0;i=d;return a|0}while(0);D9(c[155676]|0,b,a);a=0;i=d;return a|0}function hw(a){a=a|0;var b=0;b=i;i=i+16|0;c[b+12>>2]=6;c[b+8>>2]=1;baa(c[155676]|0,b+12|0,b+8|0);if(QA(c[b+12>>2]|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);IDa(a,+(c[b+8>>2]|0));a=2;i=b;return a|0}else{a=PGa(a,327066,b)|0;i=b;return a|0}return 0}function iw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+80|0;if(!(N9(c[155676]|0)|0))PGa(b,327088,k)|0;c[k+44>>2]=0;j=k+44+4|0;c[j>>2]=0;c[k+44+8>>2]=0;c[k+24>>2]=0;h=k+24+4|0;c[h>>2]=0;c[k+24+8>>2]=0;a[k+64>>0]=0;a[k+64+1>>0]=0;if((qDa(b,2)|0)>=1){YGa(b,2,5);c[k+60>>2]=0;Iba(0,k+60|0)|0;a[k+64>>0]=(ls(b,2,c[k+60>>2]|0,(a[k+64>>0]|0)!=0)|0)&1;c[k+60>>2]=0;Iba(1,k+60|0)|0;a[k+64+1>>0]=(ls(b,2,c[k+60>>2]|0,(a[k+64+1>>0]|0)!=0)|0)&1}do if(!(uDa(b,1)|0))if(Hs(b,1,5)|0)e=8;else if(Hs(b,1,7)|0)e=8;else if(Hs(b,1,23)|0){d=zD(b,1)|0;c[k+56>>2]=d;e=c[h>>2]|0;if(e>>>0<(c[k+24+8>>2]|0)>>>0){c[e>>2]=d;c[h>>2]=(c[h>>2]|0)+4;g=0;e=26;break}else{jw(k+24|0,k+56|0);g=0;e=26;break}}else{d=LD(b,1)|0;c[k+40>>2]=d;e=c[j>>2]|0;if(e>>>0<(c[k+44+8>>2]|0)>>>0){c[e>>2]=d;c[j>>2]=(c[j>>2]|0)+4;g=0;e=26;break}else{kw(k+44|0,k+40|0);g=0;e=26;break}}else e=8;while(0);do if((e|0)==8){d=c[155677]|0;if(!d){f=PGa(b,327136,k+8|0)|0;break}f=Ku(b,1)|0;if(Xi[c[(c[d>>2]|0)+40>>2]&511](d,f)|0){d=Xi[c[(c[d>>2]|0)+36>>2]&511](d,f)|0;c[k+60>>2]=d;e=c[h>>2]|0;if(e>>>0<(c[k+24+8>>2]|0)>>>0){c[e>>2]=d;c[h>>2]=(c[h>>2]|0)+4}else jw(k+24|0,k+60|0);Hi[c[(c[f>>2]|0)+12>>2]&1023](f);g=1;e=26;break}else{d=Xi[c[(c[d>>2]|0)+24>>2]&511](d,f)|0;c[k+60>>2]=d;e=c[j>>2]|0;if(e>>>0<(c[k+44+8>>2]|0)>>>0){c[e>>2]=d;c[j>>2]=(c[j>>2]|0)+4}else kw(k+44|0,k+60|0);Hi[c[(c[f>>2]|0)+12>>2]&1023](f);g=1;e=26;break}}while(0);do if((e|0)==26){if((qDa(b,2)|0)==5){c[k+60>>2]=0;Iba(0,k+60|0)|0;TDa(b,2,c[k+60>>2]|0);a:do if((qDa(b,-1)|0)==5){f=1;while(1){if(f>>>0>(Es(b,-1)|0)>>>0)break a;VDa(b,-1,f);do if((c[k+44>>2]|0)==(c[j>>2]|0)){if((c[k+24>>2]|0)!=(c[h>>2]|0)){if(!(Hs(b,-1,23)|0))Js(b,-1,435893,345804)|0;d=zD(b,-1)|0;c[k+20>>2]=d;e=c[h>>2]|0;if(e>>>0<(c[k+24+8>>2]|0)>>>0){c[e>>2]=d;c[h>>2]=(c[h>>2]|0)+4;break}else{jw(k+24|0,k+20|0);break}}}else{if(!(Hs(b,-1,22)|0))Js(b,-1,435893,437001)|0;d=LD(b,-1)|0;c[k+36>>2]=d;e=c[j>>2]|0;if(e>>>0<(c[k+44+8>>2]|0)>>>0){c[e>>2]=d;c[j>>2]=(c[j>>2]|0)+4;break}else{kw(k+44|0,k+36|0);break}}while(0);lDa(b,-2);f=f+1|0}}while(0);lDa(b,-2)}if((c[k+24>>2]|0)==(c[h>>2]|0))if((c[k+44>>2]|0)==(c[j>>2]|0))f=0;else f=daa(c[155676]|0,k+44|0,k+64|0)|0;else f=eaa(c[155676]|0,k+24|0,k+64|0)|0;if(g<<24>>24){d=c[k+44>>2]|0;e=c[j>>2]|0;if((d|0)!=(e|0))do{g=c[d>>2]|0;Hi[c[(c[g>>2]|0)+12>>2]&1023](g);d=d+4|0}while((d|0)!=(e|0));d=c[k+24>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0))do{g=c[d>>2]|0;Hi[c[(c[g>>2]|0)+12>>2]&1023](g);d=d+4|0}while((d|0)!=(e|0))}if(!f){f=PGa(b,327186,k+16|0)|0;break}else{Gs(b,12,f);Hi[c[(c[f>>2]|0)+12>>2]&1023](f);f=1;break}}while(0);d=c[k+24>>2]|0;if(d|0){e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);oAb(d)}d=c[k+44>>2]|0;if(!d){i=k;return f|0}e=c[j>>2]|0;if((e|0)!=(d|0))c[j>>2]=e+(~((e+-4-d|0)>>>2)<<2);oAb(d);i=k;return f|0}function jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function kw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function lw(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,j=0.0,k=0.0,l=0.0;b=i;i=i+80|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,b+32|0)|0;l=+_Ga(a,1);k=+_Ga(a,2);j=+_Ga(a,3);g=+_Ga(a,4);f=+_Ga(a,5);e=+_Ga(a,6);d=c[155676]|0;h[b>>3]=l;h[b+8>>3]=k;h[b+16>>3]=j;h[b+24>>3]=g;c[b+40>>2]=c[b>>2];c[b+40+4>>2]=c[b+4>>2];c[b+40+8>>2]=c[b+8>>2];c[b+40+12>>2]=c[b+12>>2];c[b+40+16>>2]=c[b+16>>2];c[b+40+20>>2]=c[b+20>>2];c[b+40+24>>2]=c[b+24>>2];c[b+40+28>>2]=c[b+28>>2];d=faa(d,b+40|0,f,e)|0;Gs(a,13,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);i=b;return 1}function mw(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,f)|0;if(!(Hs(a,1,9)|0)){c[f+8>>2]=0;e=f+8+4|0;c[e>>2]=0;c[f+8+8>>2]=0;b=0;while(1){if((b|0)>=(kDa(a)|0))break;b=b+1|0;c[f+4>>2]=b;d=c[e>>2]|0;if(d>>>0<(c[f+8+8>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=d+4;continue}else{al(f+8|0,f+4|0);continue}}b=c[f+8>>2]|0;Ks(a,b,(c[e>>2]|0)-b>>2,327208,327213)|0;b=c[f+8>>2]|0;if(b|0){d=c[e>>2]|0;if((d|0)!=(b|0))c[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}}d=Hv(a,1,9)|0;e=c[155676]|0;e=M9(e,d,yaa(e)|0)|0;Gs(a,14,e);Hi[c[(c[e>>2]|0)+12>>2]&1023](e);i=f;return 1}function nw(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+48|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,f)|0;e=yaa(c[155676]|0)|0;c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];do if(Hs(a,1,12)|0){e=ow(a,1,12)|0;b=vi[c[(c[e>>2]|0)+36>>2]&2047](e)|0;c[f+24>>2]=c[b>>2];c[f+24+4>>2]=c[b+4>>2];c[f+24+8>>2]=c[b+8>>2];c[f+24+12>>2]=c[b+12>>2];e=Aba(e)|0;b=c[e>>2]|0;if((b|0)!=(c[e+4>>2]|0)){Gs(a,22,c[b>>2]|0);oDa(a,1);break}a=OGa(a,1,327227)|0;i=f;return a|0}while(0);if(!(Hs(a,1,9)|0)){YGa(a,2,4);c[f+8>>2]=0;e=f+8+4|0;c[e>>2]=0;c[f+8+8>>2]=0;b=0;while(1){if((b|0)>=(kDa(a)|0))break;b=b+1|0;c[f+4>>2]=b;d=c[e>>2]|0;if(d>>>0<(c[f+8+8>>2]|0)>>>0){c[d>>2]=b;c[e>>2]=d+4;continue}else{al(f+8|0,f+4|0);continue}}b=c[f+8>>2]|0;Ks(a,b,(c[e>>2]|0)-b>>2,327208,327257)|0;b=c[f+8>>2]|0;if(b|0){d=c[e>>2]|0;if((d|0)!=(b|0))c[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}}e=Hv(a,1,9)|0;e=M9(c[155676]|0,e,f+24|0)|0;Gs(a,14,e);Hi[c[(c[e>>2]|0)+12>>2]&1023](e);a=1;i=f;return a|0}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function pw(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,f)|0;d=jD(a,1)|0;e=~~+$Ga(a,2,1.0e3);c[f+12>>2]=1;do if((kDa(a)|0)>2){b=UGa(a,3,0)|0;if(Eca(b,f+12|0)|0){b=c[f+12>>2]|0;break}c[f+8>>2]=b;a=PGa(a,327276,f+8|0)|0;i=f;return a|0}else b=1;while(0);e=gaa(c[155676]|0,d,e,b)|0;Gs(a,16,e);Hi[c[(c[e>>2]|0)+12>>2]&1023](e);a=1;i=f;return a|0}function qw(a){a=a|0;var b=0,d=0.0,e=0;e=i;i=i+16|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,e)|0;b=jD(a,1)|0;d=+$Ga(a,2,1.0e3);if(d<1.0|d>536870911.0){a=PGa(a,327311,e+8|0)|0;i=e;return a|0}else{b=haa(c[155676]|0,b,~~d)|0;Gs(a,15,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;i=e;return a|0}return 0}function rw(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0;g=i;i=i+32|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,g)|0;e=+$Ga(a,1,+(Y9(c[155676]|0)|0));f=+$Ga(a,2,+(Z9(c[155676]|0)|0));b=TGa(a,3,518066,0)|0;d=+$Ga(a,4,0.0);if(!(l7(b,g+20|0)|0)){c[g+8>>2]=b;a=PGa(a,327339,g+8|0)|0;i=g;return a|0}b=iaa(c[155676]|0,~~e,~~f,c[g+20>>2]|0,~~d)|0;if(!b){a=PGa(a,327365,g+16|0)|0;i=g;return a|0}else{Gs(a,17,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);a=1;i=g;return a|0}return 0}function sw(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+96|0;if(!(N9(c[155676]|0)|0))PGa(b,327088,g)|0;lDa(b,2);do if(!(uDa(b,1)|0))f=12;else{Is(b,352526,352537)|0;pDa(b,1);dEa(b,1,1);e=fs(b,-1)|0;lDa(b,-2);if(e){Is(b,352526,518755)|0;pDa(b,1);dEa(b,1,1);oDa(b,1);f=12;break}c[g+64>>2]=0;d=BDa(b,1,g+64|0)|0;if(((c[g+64>>2]|0)+-1|0)>>>0<255)if(!(Unb(d,10)|0)){e=Unb(d,46)|0;if(e|0)if(!(Unb(e,59)|0))if(!(Unb(e,32)|0))break}f=12}while(0);a:do if((f|0)==12){do if(uDa(b,2)|0){Is(b,352526,352537)|0;pDa(b,2);dEa(b,1,1);e=fs(b,-1)|0;lDa(b,-2);if(e){Is(b,352526,518755)|0;pDa(b,2);dEa(b,1,1);oDa(b,2);break}c[g+64>>2]=0;d=BDa(b,2,g+64|0)|0;if(((c[g+64>>2]|0)+-1|0)>>>0<255)if(!(Unb(d,10)|0)){e=Unb(d,46)|0;if(e|0)if(!(Unb(e,59)|0))if(!(Unb(e,32)|0))break a}}while(0);d=uDa(b,1)|0;e=uDa(b,2)|0;if(!(e|d))UGa(b,1,0)|0;Is(b,327422,327431)|0;pDa(b,1);pDa(b,2);if(eEa(b,2,2,0)|0){c[g+16>>2]=BDa(b,-1,0)|0;b=PGa(b,593061,g+16|0)|0;i=g;return b|0};c[g+64>>2]=0;c[g+64+4>>2]=0;c[g+64+8>>2]=0;c[g+64+12>>2]=0;c[g+64+16>>2]=0;c[g+64+20>>2]=0;if(!(uDa(b,-2)|0))if((d|0)!=0&(e|0)!=0)d=PGa(b,327449,g+24|0)|0;else f=24;else{js(g+48|0,b,-2);if(!(a[g+64>>0]&1)){a[g+64+1>>0]=0;a[g+64>>0]=0}else{a[c[g+64+8>>2]>>0]=0;c[g+64+4>>2]=0}Qqb(g+64|0,0);c[g+64>>2]=c[g+48>>2];c[g+64+4>>2]=c[g+48+4>>2];c[g+64+8>>2]=c[g+48+8>>2];c[g+48>>2]=0;c[g+48+4>>2]=0;c[g+48+8>>2]=0;Mqb(g+48|0);f=24}b:do if((f|0)==24){if(!(uDa(b,-1)|0)){if((d|0)!=0&(e|0)!=0){d=PGa(b,327515,g+32|0)|0;break}}else{js(g+36|0,b,-1);d=g+64+12|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[g+64+20>>2]>>0]=0;c[g+64+16>>2]=0}Qqb(d,0);c[d>>2]=c[g+36>>2];c[d+4>>2]=c[g+36+4>>2];c[d+8>>2]=c[g+36+8>>2];c[g+36>>2]=0;c[g+36+4>>2]=0;c[g+36+8>>2]=0;Mqb(g+36|0)}f=a[g+64>>0]|0;do if(!(((f&1)==0?(f&255)>>>1:c[g+64+4>>2]|0)|0)){f=a[g+64+12>>0]|0;if(!(((f&1)==0?(f&255)>>>1:c[g+64+16>>2]|0)|0)){if(!(uDa(b,1)|0))if(!(uDa(b,2)|0))break;else d=2;else d=1;d=OGa(b,d,327578)|0;break b}}while(0);d=Q9(c[155676]|0,g+64|0)|0;Gs(b,18,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);d=1}while(0);Mqb(g+64+12|0);Mqb(g+64|0);b=d;i=g;return b|0}while(0);c[g+8>>2]=d;b=PGa(b,504351,g+8|0)|0;i=g;return b|0}function tw(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+96|0;if(!(N9(c[155676]|0)|0))PGa(b,327088,p)|0;d=qDa(b,1)|0;switch(d|0){case 3:case 5:break;default:OGa(b,1,327619)|0}e=qDa(b,2)|0;if((d|0)==5)if((e|0)==3|(e|2|0)==7){c[p+52>>2]=0;o=p+52+4|0;c[o>>2]=0;c[p+52+8>>2]=0;c[p+72>>2]=0;if((qDa(b,3)|0)>=1){d=UGa(b,3,0)|0;if(d|0)if(!(Fca(d,p+72|0)|0)){c[p+8>>2]=d;PGa(b,341e3,p+8|0)|0}}h=c[p+72>>2]|0;c[p+72>>2]=1;if((qDa(b,4)|0)>=1){d=UGa(b,4,0)|0;if(d|0)if(!(Eca(d,p+72|0)|0)){c[p+16>>2]=d;PGa(b,327644,p+16|0)|0}}f=c[p+72>>2]|0;VDa(b,1,1);do if((qDa(b,-1)|0)==5){lDa(b,-2);e=1;while(1){if((e|0)>(Es(b,1)|0)){m=27;break}VDa(b,1,e);VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);c[p+72>>2]=0;c[p+72+4>>2]=0;c[p+72+8>>2]=0;Rqb(p+72|0,UGa(b,-3,0)|0)|0;d=UGa(b,-2,0)|0;if(!(Hca(d,p+72+12|0)|0)){m=20;break}d=~~+_Ga(b,-1);c[p+72+16>>2]=d;if((d+-1|0)>>>0>3){m=22;break}lDa(b,-5);d=c[o>>2]|0;if((d|0)==(c[p+52+8>>2]|0))uw(p+52|0,p+72|0);else{Hqb(d,p+72|0);n=c[p+72+12+4>>2]|0;c[d+12>>2]=c[p+72+12>>2];c[d+12+4>>2]=n;c[o>>2]=(c[o>>2]|0)+20}Mqb(p+72|0);e=e+1|0}if((m|0)==20){c[p+24>>2]=d;PGa(b,327697,p+24|0)|0;Mqb(p+72|0);f=0;break}else if((m|0)==22){c[p+32>>2]=d;PGa(b,327736,p+32|0)|0;Mqb(p+72|0);f=0;break}else if((m|0)==27){if(tDa(b,2)|0){n=~~+_Ga(b,2);f=laa(c[155676]|0,p+52|0,n,h,f)|0;break}if(Hs(b,2,2)|0){n=wk(b,2,2)|0;l=c[155676]|0;m=vi[c[(c[n>>2]|0)+16>>2]&2047](n)|0;f=maa(l,p+52|0,m,vi[c[(c[n>>2]|0)+20>>2]&2047](n)|0,h,f)|0;break}VDa(b,2,1);if((qDa(b,-1)|0)!=5){OGa(b,2,327807)|0;f=0;break}lDa(b,-2);n=Es(b,2)|0;f=laa(c[155676]|0,p+52|0,n,h,f)|0;m=0;while(1){if(m>>>0>=n>>>0)break;l=m+1|0;VDa(b,2,l);YGa(b,-1,5);d=c[p+52>>2]|0;if((c[o>>2]|0)!=(d|0)){e=0;k=0;do{j=c[d+(k*20|0)+16>>2]|0;if((j|0)>0){h=0;d=e;while(1){e=d+1|0;VDa(b,~h,e);h=h+1|0;if((h|0)>=(j|0))break;else d=e}d=c[p+52>>2]|0}Mx(b,0-j|0,c[d+(k*20|0)+12>>2]|0,j,p+72|0)|0;lDa(b,~j);fca(f,m,k,p+72|0,16);k=k+1|0;d=c[p+52>>2]|0}while(k>>>0<(((c[o>>2]|0)-d|0)/20|0)>>>0)}lDa(b,-2);m=l}sca(f);break}}else{OGa(b,1,327672)|0;f=0}while(0);d=c[p+52>>2]|0;if(d|0){e=c[o>>2]|0;if((e|0)!=(d|0)){do{n=e+-20|0;c[o>>2]=n;Mqb(n);e=c[o>>2]|0}while((e|0)!=(d|0));d=c[p+52>>2]|0}oAb(d)}o=f;Gs(b,19,o);b=c[o>>2]|0;b=b+12|0;b=c[b>>2]|0;Hi[b&1023](o);i=p;return 1}c[p+72>>2]=0;if((qDa(b,2)|0)>=1){d=UGa(b,2,0)|0;if(d|0)if(!(Fca(d,p+72|0)|0)){c[p+40>>2]=d;PGa(b,341e3,p+40|0)|0}}k=c[p+72>>2]|0;c[p+72>>2]=1;if((qDa(b,3)|0)>=1){d=UGa(b,3,0)|0;if(d|0)if(!(Eca(d,p+72|0)|0)){c[p+48>>2]=d;PGa(b,327644,p+48|0)|0}}j=c[p+72>>2]|0;if((qDa(b,1)|0)==5){d=Es(b,1)|0;c[p+72>>2]=0;l=p+72+4|0;c[l>>2]=0;c[p+72+8>>2]=0;a:do if(!d)m=65;else{f=YAb(d*20|0)|0;c[p+72>>2]=f;c[l>>2]=f;c[p+72+8>>2]=f+(d*20|0);f=1;while(1){VDa(b,1,f);if((qDa(b,-1)|0)!=5)break;VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);VDa(b,-4,4);VDa(b,-5,5);VDa(b,-6,6);VDa(b,-7,7);VDa(b,-8,8);g[p+52>>2]=+_Ga(b,-8);g[p+52+4>>2]=+_Ga(b,-7);g[p+52+8>>2]=+$Ga(b,-6,0.0);g[p+52+12>>2]=+$Ga(b,-5,0.0);a[p+52+16>>0]=~~+$Ga(b,-4,255.0);a[p+52+17>>0]=~~+$Ga(b,-3,255.0);a[p+52+18>>0]=~~+$Ga(b,-2,255.0);a[p+52+19>>0]=~~+$Ga(b,-1,255.0);lDa(b,-10);e=c[l>>2]|0;if((e|0)==(c[p+72+8>>2]|0))ok(p+72|0,p+52|0);else{c[e>>2]=c[p+52>>2];c[e+4>>2]=c[p+52+4>>2];c[e+8>>2]=c[p+52+8>>2];c[e+12>>2]=c[p+52+12>>2];c[e+16>>2]=c[p+52+16>>2];c[l>>2]=e+20}f=f+1|0;if(f>>>0>d>>>0){m=65;break a}}Ns(b,1,327832)|0;h=1;d=0}while(0);if((m|0)==65){h=0;d=jaa(c[155676]|0,p+72|0,k,j)|0}e=c[p+72>>2]|0;if(e|0){f=c[l>>2]|0;if((f|0)!=(e|0))c[l>>2]=f+(~(((f+-20-e|0)>>>0)/20|0)*20|0);oAb(e)}if(h){o=0;Gs(b,19,o);b=c[o>>2]|0;b=b+12|0;b=c[b>>2]|0;Hi[b&1023](o);i=p;return 1}}else{d=~~+_Ga(b,1);d=kaa(c[155676]|0,d,k,j)|0}o=d;Gs(b,19,o);b=c[o>>2]|0;b=b+12|0;b=c[b>>2]|0;Hi[b&1023](o);i=p;return 1}function uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;e=(((c[a+4>>2]|0)-f|0)/20|0)+1|0;if(e>>>0>214748364)jzb(a);d=((c[a+8>>2]|0)-f|0)/20|0;if(d>>>0<107374182){d=d<<1>>>0>>0?e:d<<1;e=((c[a+4>>2]|0)-f|0)/20|0;if(!d){f=0;d=0}else g=6}else{d=214748364;e=((c[a+4>>2]|0)-f|0)/20|0;g=6}if((g|0)==6){f=d;d=YAb(d*20|0)|0}i=d+(e*20|0)|0;h=d+(f*20|0)|0;Hqb(i,b);f=c[b+12+4>>2]|0;g=d+(e*20|0)+12|0;c[g>>2]=c[b+12>>2];c[g+4>>2]=f;g=c[a>>2]|0;d=c[a+4>>2]|0;if((d|0)==(g|0)){e=i;f=g;d=g}else{f=i;e=i;do{j=f+-20|0;k=d;d=d+-20|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;j=c[k+-8+4>>2]|0;b=f+-8|0;c[b>>2]=c[k+-8>>2];c[b+4>>2]=j;f=e+-20|0;e=f}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=i+20;c[a+8>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-20|0;Mqb(d)}while((d|0)!=(e|0));if(!f)return;oAb(f);return}function vw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,f)|0;b=nga(a,1)|0;if((qDa(a,2)|0)<1){e=c[155676]|0;c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;e=naa(e,b,f+4|0)|0;b=c[f+4>>2]|0;if(b|0){d=c[f+4+4>>2]|0;if((d|0)!=(b|0)){do{g=d+-16|0;c[f+4+4>>2]=g;Mqb(g);d=c[f+4+4>>2]|0}while((d|0)!=(b|0));b=c[f+4>>2]|0}oAb(b)}g=e;Gs(a,20,g);a=c[g>>2]|0;a=a+12|0;a=c[a>>2]|0;Hi[a&1023](g);i=f;return 1}else{c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;Sz(a,2,f+4|0);e=naa(c[155676]|0,b,f+4|0)|0;b=c[f+4>>2]|0;if(b|0){d=c[f+4+4>>2]|0;if((d|0)!=(b|0)){do{g=d+-16|0;c[f+4+4>>2]=g;Mqb(g);d=c[f+4+4>>2]|0}while((d|0)!=(b|0));b=c[f+4>>2]|0}oAb(b)}g=e;Gs(a,20,g);a=c[g>>2]|0;a=a+12|0;a=c[a>>2]|0;Hi[a&1023](g);i=f;return 1}return 0}function ww(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if(!(N9(c[155676]|0)|0))PGa(a,327088,b)|0;if(!(Hs(a,1,55)|0))Js(a,1,327848,327854)|0;d=yo(a,1,55)|0;d=oaa(c[155676]|0,d)|0;Gs(a,21,d);Hi[c[(c[d>>2]|0)+12>>2]&1023](d);i=b;return 1}function xw(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,h=0;h=i;i=i+32|0;if((qDa(a,1)|0)==5){VDa(a,1,1);VDa(a,1,2);VDa(a,1,3);VDa(a,1,4);f=+_Ga(a,-4);d=+_Ga(a,-3);e=+_Ga(a,-2);b=+$Ga(a,-1,255.0);lDa(a,-5)}else{f=+_Ga(a,1);d=+_Ga(a,2);e=+_Ga(a,3);b=+$Ga(a,4,255.0)}a=c[155676]|0;g[h>>2]=f;g[h+4>>2]=d;g[h+8>>2]=e;g[h+12>>2]=b;c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];v9(a,h+16|0);i=h;return 0}function yw(a){a=a|0;var b=0;b=i;i=i+16|0;paa(b,c[155676]|0);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);IDa(a,+g[b+12>>2]);i=b;return 4}function zw(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,h=0;h=i;i=i+32|0;if((qDa(a,1)|0)==5){VDa(a,1,1);VDa(a,1,2);VDa(a,1,3);VDa(a,1,4);f=+_Ga(a,-4);d=+_Ga(a,-3);e=+_Ga(a,-2);b=+$Ga(a,-1,255.0);lDa(a,-5)}else{f=+_Ga(a,1);d=+_Ga(a,2);e=+_Ga(a,3);b=+$Ga(a,4,255.0)}a=c[155676]|0;g[h>>2]=f;g[h+4>>2]=d;g[h+8>>2]=e;g[h+12>>2]=b;c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];w9(a,h+16|0);i=h;return 0}function Aw(a){a=a|0;var b=0;b=i;i=i+16|0;qaa(b,c[155676]|0);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);IDa(a,+g[b+8>>2]);IDa(a,+g[b+12>>2]);i=b;return 4}function Bw(a){a=a|0;mw(a)|0;a=Cw(a,-1,14)|0;E9(c[155676]|0,a);return 1}function Cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Dw(a){a=a|0;a=Cw(a,1,14)|0;E9(c[155676]|0,a);return 0}function Ew(a){a=a|0;Gs(a,14,raa(c[155676]|0)|0);return 1}function Fw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((kDa(b)|0)<2)if((qDa(b,1)|0)<1){f=1;b=16777216;d=256;e=65536}else g=3;else g=3;if((g|0)==3){f=(fs(b,1)|0)&1;d=(fs(b,2)|0)&1;e=(fs(b,3)|0)&1;b=((fs(b,4)|0)&1)<<24;d=d<<8;e=e<<16}g=c[155676]|0;c[h>>2]=e|b|d|f;a[h+4>>0]=a[h>>0]|0;a[h+4+1>>0]=a[h+1>>0]|0;a[h+4+2>>0]=a[h+2>>0]|0;a[h+4+3>>0]=a[h+3>>0]|0;G9(g,h+4|0);i=h;return 0}function Gw(b){b=b|0;var d=0;d=i;i=i+16|0;vaa(d,c[155676]|0);gs(b,(a[d>>0]|0)!=0);gs(b,(a[d+1>>0]|0)!=0);gs(b,(a[d+2>>0]|0)!=0);gs(b,(a[d+3>>0]|0)!=0);i=d;return 4}function Hw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+32|0;b=UGa(a,1,0)|0;if(!(EA(b,e+16|0)|0)){c[e>>2]=b;d=PGa(a,327869,e)|0;i=e;return d|0}c[e+12>>2]=0;do if((qDa(a,2)|0)<1){b=0;d=7}else{b=UGa(a,2,0)|0;if(GA(b,e+12|0)|0){b=c[e+12>>2]|0;d=7;break}else{c[e+8>>2]=b;b=PGa(a,327892,e+8|0)|0;break}}while(0);if((d|0)==7){m9(c[155676]|0,c[e+16>>2]|0,b);b=0}d=b;i=e;return d|0}function Iw(a){a=a|0;var b=0;b=i;i=i+32|0;if(!(FA(xaa(c[155676]|0,b+12|0)|0,b+20|0)|0)){a=PGa(a,327921,b)|0;i=b;return a|0}if(IA(c[b+12>>2]|0,b+16|0)|0){LDa(a,c[b+20>>2]|0);LDa(a,c[b+16>>2]|0);a=2;i=b;return a|0}else{a=PGa(a,327940,b+8|0)|0;i=b;return a|0}return 0}function Jw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+32|0;c[e+16>>2]=1;c[e+16+4>>2]=1;c[e+16+8>>2]=0;g[e+16+12>>2]=1.0;b=UGa(a,1,0)|0;d=TGa(a,2,b,0)|0;if(!(WC(b,e+16|0)|0)){c[e>>2]=b;a=PGa(a,437032,e)|0;i=e;return a|0}if(WC(d,e+16+4|0)|0){g[e+16+12>>2]=+$Ga(a,3,1.0);I9(c[155676]|0,e+16|0);a=0;i=e;return a|0}else{c[e+8>>2]=d;a=PGa(a,437032,e+8|0)|0;i=e;return a|0}return 0}function Kw(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=yaa(c[155676]|0)|0;if(!(XC(c[b>>2]|0,d+16|0)|0)){a=PGa(a,327965,d)|0;i=d;return a|0}if(XC(c[b+4>>2]|0,d+12|0)|0){LDa(a,c[d+16>>2]|0);LDa(a,c[d+12>>2]|0);IDa(a,+g[b+12>>2]);a=3;i=d;return a|0}else{a=PGa(a,327998,d+8|0)|0;i=d;return a|0}return 0}function Lw(a){a=a|0;var b=0,d=0,e=0.0;d=i;i=i+16|0;c[d+4>>2]=0;if((qDa(a,1)|0)>=1){b=UGa(a,1,0)|0;if(!(WC(b,d+4|0)|0)){c[d>>2]=b;a=PGa(a,437032,d)|0;i=d;return a|0}}e=+$Ga(a,2,0.0);J9(c[155676]|0,c[d+4>>2]|0,e);a=0;i=d;return a|0}function Mw(a){a=a|0;var b=0,d=0.0;b=i;i=i+16|0;zaa(c[155676]|0,b+8|0,b+4|0);if(XC(c[b+8>>2]|0,b)|0){LDa(a,c[b>>2]|0);d=+g[b+4>>2];IDa(a,d);i=b;return 2}else{HDa(a);d=+g[b+4>>2];IDa(a,d);i=b;return 2}return 0}function Nw(a){a=a|0;var b=0.0;b=+_Ga(a,1);x9(c[155676]|0,b);return 0}function Ow(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=UGa(a,1,0)|0;if(JA(b,d+4|0)|0){y9(c[155676]|0,c[d+4>>2]|0);a=0;i=d;return a|0}else{c[d>>2]=b;a=PGa(a,328032,d)|0;i=d;return a|0}return 0}function Pw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=UGa(a,1,0)|0;if(MA(b,d+4|0)|0){z9(c[155676]|0,c[d+4>>2]|0);a=0;i=d;return a|0}else{c[d>>2]=b;a=PGa(a,328055,d)|0;i=d;return a|0}return 0}function Qw(a){a=a|0;IDa(a,+Aaa(c[155676]|0));return 1}function Rw(a){a=a|0;var b=0;b=i;i=i+16|0;if(LA(Baa(c[155676]|0)|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);a=1;i=b;return a|0}else{a=PGa(a,328082,b)|0;i=b;return a|0}return 0}function Sw(a){a=a|0;var b=0;b=i;i=i+16|0;if(NA(Caa(c[155676]|0)|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);a=1;i=b;return a|0}else{a=PGa(a,328101,b)|0;i=b;return a|0}return 0}function Tw(a){a=a|0;var b=0.0;b=+_Ga(a,1);A9(c[155676]|0,b);return 0}function Uw(a){a=a|0;IDa(a,+Daa(c[155676]|0));return 1}function Vw(a){a=a|0;var b=0;b=c[155676]|0;H9(b,fs(a,1)|0);return 0}function Ww(a){a=a|0;gs(a,Eaa(c[155676]|0)|0);return 1}function Xw(a){a=a|0;var b=0,d=0;d=Yw(a,58)|0;b=hs(a,1,0)|0;b=Paa(c[155676]|0,d,b)|0;Gs(a,22,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;c[e+12>>2]=439265;Vs(b,e+12|0)|0;us(a,0)|0;TDa(a,-1,c[e+12>>2]|0);if(!(vDa(a,-1)|0)){c[e>>2]=c[e+12>>2];PGa(a,328119,e)|0}d=EDa(a,-1)|0;if(c[(c[155773]|0)+(c[d>>2]<<3)+(b>>>5<<2)>>2]&1<<(b&31)|0){lDa(a,-3);b=d+4|0;b=c[b>>2]|0;i=e;return b|0}c[e+8>>2]=c[e+12>>2];PGa(a,328155,e+8|0)|0;lDa(a,-3);b=d+4|0;b=c[b>>2]|0;i=e;return b|0}function Zw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;S9(c[155676]|0);if((qDa(a,1)|0)<1){O9(c[155676]|0);i=g;return 0}e=(qDa(a,1)|0)==5;c[g+8>>2]=0;f=g+8+4|0;c[f>>2]=0;c[g+8+8>>2]=0;a:do if(e){e=1;while(1){if((e|0)>(Es(a,1)|0))break a;VDa(a,1,e);b=gga(a,-1)|0;c[g+4>>2]=b;d=c[f>>2]|0;if(d>>>0<(c[g+8+8>>2]|0)>>>0){c[d>>2]=b;c[f>>2]=(c[f>>2]|0)+4}else _w(g+8|0,g+4|0);lDa(a,-2);e=e+1|0}}else{e=1;while(1){if((e|0)>(kDa(a)|0))break a;b=gga(a,e)|0;c[g>>2]=b;d=c[f>>2]|0;if(d>>>0<(c[g+8+8>>2]|0)>>>0){c[d>>2]=b;c[f>>2]=(c[f>>2]|0)+4}else _w(g+8|0,g);e=e+1|0}}while(0);b=c[155676]|0;if((c[f>>2]|0)==(c[g+8>>2]|0))O9(b);else e9(b,g+8|0);b=c[g+8>>2]|0;if(b|0){d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}i=g;return 0}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function $w(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;uaa(f,c[155676]|0);b=c[f>>2]|0;d=c[f+4>>2]|0;if((b|0)==(d|0)){HDa(a);e=1}else{e=0;do{Gs(a,17,c[b>>2]|0);e=e+1|0;b=b+4|0}while((b|0)!=(d|0))}d=c[f>>2]|0;if(!d){i=f;return e|0}b=c[f+4>>2]|0;if((b|0)!=(d|0))c[f+4>>2]=b+(~((b+-4-d|0)>>>2)<<2);oAb(d);i=f;return e|0}function ax(a){a=a|0;if((qDa(a,1)|0)<1){saa(c[155676]|0);return 0}else{a=qz(a,1)|0;F9(c[155676]|0,a);return 0}return 0}function bx(a){a=a|0;var b=0;b=taa(c[155676]|0)|0;if(!b){HDa(a);return 1}else{Gs(a,18,b);return 1}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+208|0;YGa(b,1,5);TDa(b,1,328175);VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);c[h+176>>2]=0;c[h+176+4>>2]=0;c[h+176+8>>2]=0;c[h+176+12>>2]=0;c[h+176+16>>2]=0;c[h+176+20>>2]=0;js(h+160|0,b,-3);if(!(a[h+176>>0]&1)){a[h+176+1>>0]=0;a[h+176>>0]=0}else{a[c[h+176+8>>2]>>0]=0;c[h+176+4>>2]=0}Qqb(h+176|0,0);c[h+176>>2]=c[h+160>>2];c[h+176+4>>2]=c[h+160+4>>2];c[h+176+8>>2]=c[h+160+8>>2];c[h+160>>2]=0;c[h+160+4>>2]=0;c[h+160+8>>2]=0;Mqb(h+160|0);js(h+120|0,b,-2);d=h+176+12|0;if(!(a[d>>0]&1)){a[d+1>>0]=0;a[d>>0]=0}else{a[c[h+176+20>>2]>>0]=0;c[h+176+16>>2]=0}Qqb(d,0);c[d>>2]=c[h+120>>2];c[d+4>>2]=c[h+120+4>>2];c[d+8>>2]=c[h+120+8>>2];c[h+120>>2]=0;c[h+120+4>>2]=0;c[h+120+8>>2]=0;Mqb(h+120|0);c[h+136>>2]=0;c[h+136+4>>2]=0;c[h+136+8>>2]=0;c[h+136+12>>2]=0;c[h+136+16>>2]=0;c[h+136+20>>2]=0;js(h+60|0,b,-3);if(!(a[h+136>>0]&1)){a[h+136+1>>0]=0;a[h+136>>0]=0}else{a[c[h+136+8>>2]>>0]=0;c[h+136+4>>2]=0}Qqb(h+136|0,0);c[h+136>>2]=c[h+60>>2];c[h+136+4>>2]=c[h+60+4>>2];c[h+136+8>>2]=c[h+60+8>>2];c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;Mqb(h+60|0);js(h+48|0,b,-1);e=h+136+12|0;if(!(a[e>>0]&1)){a[e+1>>0]=0;a[e>>0]=0}else{a[c[h+136+20>>2]>>0]=0;c[h+136+16>>2]=0}Qqb(e,0);c[e>>2]=c[h+48>>2];c[e+4>>2]=c[h+48+4>>2];c[e+8>>2]=c[h+48+8>>2];c[h+48>>2]=0;c[h+48+4>>2]=0;c[h+48+8>>2]=0;Mqb(h+48|0);lDa(b,-5);TDa(b,1,328182);VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);c[h+96>>2]=0;c[h+96+4>>2]=0;c[h+96+8>>2]=0;c[h+96+12>>2]=0;c[h+96+16>>2]=0;c[h+96+20>>2]=0;js(h+36|0,b,-3);if(!(a[h+96>>0]&1)){a[h+96+1>>0]=0;a[h+96>>0]=0}else{a[c[h+96+8>>2]>>0]=0;c[h+96+4>>2]=0}Qqb(h+96|0,0);c[h+96>>2]=c[h+36>>2];c[h+96+4>>2]=c[h+36+4>>2];c[h+96+8>>2]=c[h+36+8>>2];c[h+36>>2]=0;c[h+36+4>>2]=0;c[h+36+8>>2]=0;Mqb(h+36|0);js(h+24|0,b,-2);f=h+96+12|0;if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[h+96+20>>2]>>0]=0;c[h+96+16>>2]=0}Qqb(f,0);c[f>>2]=c[h+24>>2];c[f+4>>2]=c[h+24+4>>2];c[f+8>>2]=c[h+24+8>>2];c[h+24>>2]=0;c[h+24+4>>2]=0;c[h+24+8>>2]=0;Mqb(h+24|0);c[h+72>>2]=0;c[h+72+4>>2]=0;c[h+72+8>>2]=0;c[h+72+12>>2]=0;c[h+72+16>>2]=0;c[h+72+20>>2]=0;js(h+12|0,b,-3);if(!(a[h+72>>0]&1)){a[h+72+1>>0]=0;a[h+72>>0]=0}else{a[c[h+72+8>>2]>>0]=0;c[h+72+4>>2]=0}Qqb(h+72|0,0);c[h+72>>2]=c[h+12>>2];c[h+72+4>>2]=c[h+12+4>>2];c[h+72+8>>2]=c[h+12+8>>2];c[h+12>>2]=0;c[h+12+4>>2]=0;c[h+12+8>>2]=0;Mqb(h+12|0);js(h,b,-1);g=h+72+12|0;if(!(a[g>>0]&1)){a[g+1>>0]=0;a[g>>0]=0}else{a[c[h+72+20>>2]>>0]=0;c[h+72+16>>2]=0}Qqb(g,0);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Mqb(h);lDa(b,-5);Nqb(631332,h+176|0)|0;Nqb(631344,d)|0;Nqb(631356,h+96|0)|0;Nqb(631368,f)|0;Nqb(631380,h+136|0)|0;Nqb(631392,e)|0;Nqb(631404,h+72|0)|0;Nqb(631416,g)|0;Mqb(g);Mqb(h+72|0);Mqb(f);Mqb(h+96|0);Mqb(e);Mqb(h+136|0);Mqb(d);Mqb(h+176|0);i=h;return 0}function dx(a){a=a|0;var b=0;b=i;i=i+16|0;WDa(a,0,3);c[b>>2]=0;if(RA(0,b)|0){gs(a,waa(c[155676]|0,0)|0);_Da(a,-2,c[b>>2]|0)}c[b>>2]=0;if(RA(1,b)|0){gs(a,waa(c[155676]|0,1)|0);_Da(a,-2,c[b>>2]|0)}c[b>>2]=0;if(!(RA(2,b)|0)){i=b;return 1}gs(a,waa(c[155676]|0,2)|0);_Da(a,-2,c[b>>2]|0);i=b;return 1}function ex(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;WDa(a,0,17);b=0;do{c[d>>2]=0;if(m7(b,d)|0){gs(a,k7(b)|0);_Da(a,-2,c[d>>2]|0)}b=b+1|0}while((b|0)!=17);i=d;return 1}function fx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;WDa(a,0,37);b=0;while(1){c[d>>2]=0;if(!b){b=1;continue}if(yD(b,d)|0){gs(a,xba(b,0)|0);_Da(a,-2,c[d>>2]|0)}b=b+1|0;if((b|0)==37)break}i=d;return 1}function gx(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+96|0;b=d;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Qaa(d+48|0,c[155676]|0);hx(d,d+48|0)|0;Mqb(d+48+36|0);Mqb(d+48+24|0);Mqb(d+48+12|0);Mqb(d+48|0);ks(a,d);ks(a,d+12|0);ks(a,d+24|0);ks(a,d+36|0);Mqb(d+36|0);Mqb(d+24|0);Mqb(d+12|0);Mqb(d);i=d;return 4}function hx(b,d){b=b|0;d=d|0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[b+8>>2]>>0]=0;c[b+4>>2]=0}Qqb(b,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;if(!(a[b+12>>0]&1)){a[b+12+1>>0]=0;a[b+12>>0]=0}else{a[c[b+20>>2]>>0]=0;c[b+16>>2]=0}Qqb(b+12|0,0);c[b+12>>2]=c[d+12>>2];c[b+12+4>>2]=c[d+12+4>>2];c[b+12+8>>2]=c[d+12+8>>2];c[d+12>>2]=0;c[d+12+4>>2]=0;c[d+12+8>>2]=0;if(!(a[b+24>>0]&1)){a[b+24+1>>0]=0;a[b+24>>0]=0}else{a[c[b+32>>2]>>0]=0;c[b+28>>2]=0}Qqb(b+24|0,0);c[b+24>>2]=c[d+24>>2];c[b+24+4>>2]=c[d+24+4>>2];c[b+24+8>>2]=c[d+24+8>>2];c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;if(!(a[b+36>>0]&1)){a[b+36+1>>0]=0;a[b+36>>0]=0;Qqb(b+36|0,0);c[b+36>>2]=c[d+36>>2];c[b+36+4>>2]=c[d+36+4>>2];c[b+36+8>>2]=c[d+36+8>>2];c[d+36>>2]=0;c[d+36+4>>2]=0;c[d+36+8>>2]=0;return b|0}else{a[c[b+44>>2]>>0]=0;c[b+40>>2]=0;Qqb(b+36|0,0);c[b+36>>2]=c[d+36>>2];c[b+36+4>>2]=c[d+36+4>>2];c[b+36+8>>2]=c[d+36+8>>2];c[d+36>>2]=0;c[d+36+4>>2]=0;c[d+36+8>>2]=0;return b|0}return 0}function ix(a){a=a|0;var b=0;b=i;i=i+16|0;WDa(a,0,4);c[b>>2]=0;if(SA(0,b)|0){IDa(a,+Saa(c[155676]|0,0));_Da(a,-2,c[b>>2]|0)}c[b>>2]=0;if(SA(1,b)|0){IDa(a,+Saa(c[155676]|0,1));_Da(a,-2,c[b>>2]|0)}c[b>>2]=0;if(SA(2,b)|0){IDa(a,+Saa(c[155676]|0,2));_Da(a,-2,c[b>>2]|0)}c[b>>2]=0;if(!(SA(3,b)|0)){i=b;return 1}IDa(a,+Saa(c[155676]|0,3));_Da(a,-2,c[b>>2]|0);i=b;return 1}function jx(a){a=a|0;var b=0;b=i;i=i+32|0;Raa(b+8|0,c[155676]|0);WDa(a,0,6);c[b>>2]=0;VA(0,b)|0;JDa(a,c[b+8>>2]|0);_Da(a,-2,c[b>>2]|0);VA(1,b)|0;JDa(a,c[b+8+4>>2]|0);_Da(a,-2,c[b>>2]|0);VA(2,b)|0;JDa(a,c[b+8+8>>2]|0);_Da(a,-2,c[b>>2]|0);VA(3,b)|0;JDa(a,c[b+8+12>>2]|0);_Da(a,-2,c[b>>2]|0);VA(4,b)|0;JDa(a,c[b+8+16>>2]|0);_Da(a,-2,c[b>>2]|0);VA(5,b)|0;IDa(a,+((c[b+8+20>>2]|0)>>>0));_Da(a,-2,c[b>>2]|0);i=b;return 1}function kx(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0;if(Hs(a,2,13)|0){o=jD(a,1)|0;m=0;n=c[(EDa(a,2)|0)+4>>2]|0;d=3}else{if(!(qDa(a,2)|0))if((qDa(a,3)|0)>=1){o=Ns(a,2,345210)|0;return o|0}m=lx(a,1,10)|0;n=0;d=2;o=0}e=+$Ga(a,d,0.0);f=+$Ga(a,d+1|0,0.0);g=+$Ga(a,d+2|0,0.0);h=+$Ga(a,d+3|0,1.0);i=+$Ga(a,d|4,h);j=+$Ga(a,d+5|0,0.0);k=+$Ga(a,d+6|0,0.0);l=+$Ga(a,d+7|0,0.0);b=+$Ga(a,d|8,0.0);if(!((n|0)==0|(o|0)==0)){Zi[c[(c[o>>2]|0)+20>>2]&3](o,n,e,f,g,h,i,j,k,l,b);o=0;return o|0}if(!m){o=0;return o|0}ui[c[(c[m>>2]|0)+16>>2]&7](m,e,f,g,h,i,j,k,l,b);o=0;return o|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function mx(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0;d=i;i=i+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Sz(a,1,d);n=+$Ga(a,2,0.0);m=+$Ga(a,3,0.0);l=+$Ga(a,4,0.0);k=+$Ga(a,5,1.0);j=+$Ga(a,6,k);h=+$Ga(a,7,0.0);g=+$Ga(a,8,0.0);f=+$Ga(a,9,0.0);e=+$Ga(a,10,0.0);Faa(c[155676]|0,d,n,m,l,k,j,h,g,f,e);a=c[d>>2]|0;if(!a){i=d;return 0}b=c[d+4>>2]|0;if((b|0)!=(a|0)){do{o=b+-16|0;c[d+4>>2]=o;Mqb(o);b=c[d+4>>2]|0}while((b|0)!=(a|0));a=c[d>>2]|0}oAb(a);i=d;return 0}function nx(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;q=i;i=i+32|0;c[q+8>>2]=0;c[q+8+4>>2]=0;c[q+8+8>>2]=0;Sz(a,1,q+8|0);m=+_Ga(a,2);n=+_Ga(a,3);o=+_Ga(a,4);c[q+4>>2]=0;do if((kDa(a)|0)>4){if(qDa(a,5)|0){b=UGa(a,5,0)|0;if(!(y8(b,q+4|0)|0)){c[q>>2]=b;d=PGa(a,328191,q)|0;break}}k=+$Ga(a,6,0.0);h=+$Ga(a,7,1.0);j=+$Ga(a,8,h);f=+$Ga(a,9,0.0);g=+$Ga(a,10,0.0);l=+$Ga(a,11,0.0);e=+$Ga(a,12,0.0);p=6}else{k=0.0;l=0.0;e=0.0;f=0.0;g=0.0;h=1.0;j=1.0;p=6}while(0);if((p|0)==6){Gaa(c[155676]|0,q+8|0,m,n,o,c[q+4>>2]|0,k,h,j,f,g,l,e);d=0}b=c[q+8>>2]|0;if(!b){i=q;return d|0}a=c[q+8+4>>2]|0;if((a|0)!=(b|0)){do{p=a+-16|0;c[q+8+4>>2]=p;Mqb(p);a=c[q+8+4>>2]|0}while((a|0)!=(b|0));b=c[q+8>>2]|0}oAb(b);i=q;return d|0}function ox(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;d=kDa(b)|0;if((d|0)==1)if((qDa(b,1)|0)==5){d=Es(b,1)|0;VDa(b,1,1);h=(qDa(b,-1)|0)==5;lDa(b,-2);f=1}else{d=1;f=0;h=0}else{f=0;h=0}if(!((d&1|0)==0|h)){b=PGa(b,328215,m)|0;i=m;return b|0}k=h?d:(d|0)/2|0;j=_Ab(k<<1>>>0>1073741823?-1:k<<1<<2)|0;if(h)l=_Ab((k|0)<0?-1:k<<2)|0;else l=0;e=(d|0)>0;do if(f)if(h){if(e)e=0;else break;do{h=e;e=e+1|0;VDa(b,1,e);VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);VDa(b,-4,4);VDa(b,-5,5);VDa(b,-6,6);g[j+(h<<1<<2)>>2]=+yDa(b,-6);g[j+((h<<1|1)<<2)>>2]=+yDa(b,-5);a[l+(h<<2)>>0]=~~+$Ga(b,-4,255.0);a[l+(h<<2|1)>>0]=~~+$Ga(b,-3,255.0);a[l+(h<<2|2)>>0]=~~+$Ga(b,-2,255.0);a[l+(h<<2|3)>>0]=~~+$Ga(b,-1,255.0);lDa(b,-8)}while((e|0)!=(d|0))}else{if(e)e=0;else break;do{h=e;e=e+1|0;VDa(b,1,e);g[j+(h<<2)>>2]=+yDa(b,-1);lDa(b,-2)}while((e|0)!=(d|0))}else if(e){e=0;do{h=e;e=e+1|0;g[j+(h<<2)>>2]=+yDa(b,e)}while((e|0)!=(d|0))}while(0);Haa(c[155676]|0,j,l,k);aBb(j);if(!l){b=0;i=m;return b|0}aBb(l);b=0;i=m;return b|0}function px(a){a=a|0;var b=0,d=0,e=0,f=0,h=0;f=i;i=i+16|0;b=kDa(a)|0;if((b|0)==1){if((qDa(a,1)|0)==5){b=Es(a,1)|0;d=1;e=4}}else{d=0;e=4}if((e|0)==4)if(!(b&1)){if((b|0)<4){a=PGa(a,328269,f+8|0)|0;i=f;return a|0}e=_Ab(b>>>0>1073741823?-1:b<<2)|0;if(d){d=0;do{h=d;d=d+1|0;VDa(a,1,d);g[e+(h<<2)>>2]=+yDa(a,-1);lDa(a,-2)}while((d|0)!=(b|0))}else{d=0;do{h=d;d=d+1|0;g[e+(h<<2)>>2]=+yDa(a,d)}while((d|0)!=(b|0))}Iaa(c[155676]|0,e,b);aBb(e);h=0;i=f;return h|0}h=PGa(a,328215,f)|0;i=f;return h|0}function qx(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0;l=i;i=i+16|0;b=UGa(a,1,0)|0;if(!(BA(b,l+4|0)|0)){c[l>>2]=b;a=PGa(a,328311,l)|0;i=l;return a|0}h=+_Ga(a,2);j=+_Ga(a,3);k=+_Ga(a,4);e=+_Ga(a,5);if((qDa(a,6)|0)<1){Jaa(c[155676]|0,c[l+4>>2]|0,h,j,k,e);a=0;i=l;return a|0}f=+$Ga(a,6,0.0);g=+$Ga(a,7,f);if((qDa(a,8)|0)<1){d=f20.0)b=~~(d*.5);else b=10}else b=~~+_Ga(a,8);Laa(c[155676]|0,c[l+4>>2]|0,h,j,k,e,f,g,b);a=0;i=l;return a|0}function rx(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0;g=i;i=i+16|0;b=UGa(a,1,0)|0;if(!(BA(b,g+4|0)|0)){c[g>>2]=b;a=PGa(a,328311,g)|0;i=g;return a|0}d=+_Ga(a,2);e=+_Ga(a,3);f=+_Ga(a,4);if((qDa(a,5)|0)<1)b=f>10.0?~~f:10;else b=~~+_Ga(a,5);Maa(c[155676]|0,c[g+4>>2]|0,d,e,f,b);a=0;i=g;return a|0}function sx(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,g=0.0,h=0;h=i;i=i+16|0;b=UGa(a,1,0)|0;if(!(BA(b,h+4|0)|0)){c[h>>2]=b;a=PGa(a,328311,h)|0;i=h;return a|0}e=+_Ga(a,2);f=+_Ga(a,3);g=+_Ga(a,4);d=+$Ga(a,5,g);if((qDa(a,6)|0)<1)b=g+d>30.0?~~((g+d)*.5):15;else b=~~+_Ga(a,6);Naa(c[155676]|0,c[h+4>>2]|0,e,f,g,d,b);a=0;i=h;return a|0}function tx(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0,m=0;m=i;i=i+32|0;b=UGa(a,1,0)|0;if(!(BA(b,m+16|0)|0)){c[m>>2]=b;a=PGa(a,328311,m)|0;i=m;return a|0}c[m+12>>2]=2;if((qDa(a,2)|0)==4){b=UGa(a,2,0)|0;if(DA(b,m+12|0)|0){l=3;d=6}else{c[m+8>>2]=b;b=PGa(a,328333,m+8|0)|0}}else{l=2;d=6}if((d|0)==6){k=+_Ga(a,l);f=+_Ga(a,l+1|0);g=+_Ga(a,l+2|0);h=+_Ga(a,l+3|0);j=+_Ga(a,l|4);e=+N(+(h-j));if(e<6.2831854820251465)b=~~(+(~~g|0)*(e/6.2831854820251465));else b=~~g;b=~~+$Ga(a,l+5|0,+(((b|0)<10?10:b)|0));Oaa(c[155676]|0,c[m+16>>2]|0,c[m+12>>2]|0,k,f,g,h,j,b);b=0}a=b;i=m;return a|0}function ux(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0;h=i;i=i+32|0;b=(kDa(a)|0)+-1|0;d=UGa(a,1,0)|0;if(!(BA(d,h+20|0)|0)){c[h>>2]=d;a=PGa(a,328311,h)|0;i=h;return a|0}if((b|0)==1){if((qDa(a,2)|0)==5){b=Es(a,2)|0;d=1;e=6}}else{d=0;e=6}if((e|0)==6)if(!(b&1)){if((b|0)<6){a=PGa(a,328354,h+16|0)|0;i=h;return a|0}e=b+2|0;f=_Ab(e>>>0>1073741823?-1:e<<2)|0;if(d){d=0;do{j=d;d=d+1|0;VDa(a,2,d);g[f+(j<<2)>>2]=+yDa(a,-1);lDa(a,-2)}while((d|0)!=(b|0))}else{d=0;do{g[f+(d<<2)>>2]=+yDa(a,d+2|0);d=d+1|0}while((d|0)!=(b|0))}c[f+(b<<2)>>2]=c[f>>2];c[f+(b+1<<2)>>2]=c[f+4>>2];Kaa(c[155676]|0,c[h+20>>2]|0,f,e);aBb(f);j=0;i=h;return j|0}j=PGa(a,328215,h+8|0)|0;i=h;return j|0}function vx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d+4>>2]=1;do if((qDa(a,1)|0)<1)b=1;else{b=UGa(a,1,0)|0;if(!b)b=1;else{if(TA(b,d+4|0)|0){b=c[d+4>>2]|0;break}c[d>>2]=b;a=PGa(a,328401,d)|0;i=d;return a|0}}while(0);Taa(c[155676]|0,b);a=0;i=d;return a|0}function wx(a){a=a|0;Xaa(c[155676]|0);return 0}function xx(a){a=a|0;var b=0.0;b=+_Ga(a,1);Yaa(c[155676]|0,b);return 0}function yx(a){a=a|0;var b=0.0,d=0.0;d=+$Ga(a,1,1.0);b=+$Ga(a,2,d);Zaa(c[155676]|0,d,b);return 0}function zx(a){a=a|0;var b=0.0,d=0.0;d=+_Ga(a,1);b=+_Ga(a,2);_aa(c[155676]|0,d,b);return 0}function Ax(a){a=a|0;var b=0.0,d=0.0;d=+_Ga(a,1);b=+_Ga(a,2);$aa(c[155676]|0,d,b);return 0}function Bx(a){a=a|0;T9(c[155676]|0);return 0}function Cx(a){a=a|0;var b=0,d=0;d=i;i=i+32|0;b=c[155676]|0;if(!b){b=YAb(68)|0;r9(b)}else Hi[c[(c[b>>2]|0)+8>>2]&1023](b);c[d>>2]=b;c[d+4>>2]=327422;c[d+8>>2]=57;c[d+12>>2]=13184;c[d+16>>2]=13840;b=qs(a,d)|0;if(sHa(a,329220,11561,340781)|0){i=d;return b|0}dEa(a,0,0);i=d;return b|0}function Dx(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=0;a=xs(a,10,329211,b)|0;i=b;return a|0}function Ex(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+32|0;b=ow(a,1,12)|0;d=vi[c[(c[b>>2]|0)+36>>2]&2047](b)|0;c[e+8>>2]=c[d>>2];c[e+8+4>>2]=c[d+4>>2];c[e+8+8>>2]=c[d+8>>2];c[e+8+12>>2]=c[d+12>>2];if((qDa(a,2)|0)<1)c[e+8+8>>2]=0;else{d=UGa(a,2,0)|0;if(!(WC(d,e+8+8|0)|0)){c[e>>2]=d;a=PGa(a,437032,e)|0;i=e;return a|0}}si[c[(c[b>>2]|0)+32>>2]&511](b,e+8|0);yba(b,+$Ga(a,3,0.0));a=0;i=e;return a|0}function Fx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=ow(a,1,12)|0;if(XC(c[(vi[c[(c[b>>2]|0)+36>>2]&2047](b)|0)+8>>2]|0,d)|0)LDa(a,c[d>>2]|0);else HDa(a);IDa(a,+Cba(b));i=d;return 2}function Gx(a){a=a|0;gs(a,wba(ow(a,1,12)|0)|0);return 1}function Hx(a){a=a|0;var b=0,d=0,e=0,f=0;b=ow(a,1,12)|0;f=~~+$Ga(a,2,0.0);e=~~+$Ga(a,3,0.0);d=~~+$Ga(a,4,+(vi[c[(c[b>>2]|0)+24>>2]&2047](b)|0));zba(b,f,e,d,~~+$Ga(a,5,+(vi[c[(c[b>>2]|0)+28>>2]&2047](b)|0)))|0;return 0}function Ix(a){a=a|0;var b=0,d=0,e=0;b=ow(a,1,12)|0;if(wba(b)|0){d=Bba(b)|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==(d|0)){a=0;return a|0}e=b;do{Gs(a,23,c[e>>2]|0);e=e+4|0}while((e|0)!=(d|0));a=((d+-4-b|0)>>>2)+1|0;return a|0}else{d=Aba(b)|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==(d|0)){a=0;return a|0}e=b;do{Gs(a,22,c[e>>2]|0);e=e+4|0}while((e|0)!=(d|0));a=((d+-4-b|0)>>>2)+1|0;return a|0}return 0}function Jx(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=Dba(ow(b,1,12)|0)|0;f=a[e>>0]|0;e=a[e+1>>0]|0;WDa(b,0,2);PDa(b,f&1);c[d>>2]=0;Iba(0,d)|0;_Da(b,-2,c[d>>2]|0);PDa(b,e&1);c[d>>2]=0;Iba(1,d)|0;_Da(b,-2,c[d>>2]|0);i=d;return 1}function Kx(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=15104;c[b+4>>2]=13892;c[b+8>>2]=0;a=xs(a,12,340799,b)|0;i=b;return a|0}function Lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Mx(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 0:{if((e|0)>0){d=0;do{a[f+d>>0]=~~+$Ga(b,d+c|0,255.0);d=d+1|0}while((d|0)!=(e|0))}c=f+e|0;return c|0}case 1:{if((e|0)>0){d=0;do{g[f+(d<<2)>>2]=+$Ga(b,d+c|0,0.0);d=d+1|0}while((d|0)!=(e|0))}c=f+(e<<2)|0;return c|0}default:{c=f;return c|0}}return 0}function Nx(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+16|0;r=Lx(b,1,19)|0;d=(~~+$Ga(b,3,1.0)>>>0)+-1|0;if(d>>>0>=(hca(r)|0)>>>0){c[v>>2]=hca(r)|0;b=PGa(b,340862,v)|0;i=v;return b|0}t=ica(r)|0;u=_(t,d)|0;if(Hs(b,2,2)|0){s=wk(b,2,2)|0;b=vi[c[(c[s>>2]|0)+20>>2]&2047](s)|0;t=_((hca(r)|0)-d|0,t)|0;b=t>>>0>>0?t:b;t=(qca(r)|0)+u|0;mBb(t|0,vi[c[(c[s>>2]|0)+16>>2]&2047](s)|0,b|0)|0;rca(r,u,b);b=0;i=v;return b|0}YGa(b,2,5);s=Es(b,2)|0;if((s+d|0)>>>0>(hca(r)|0)>>>0){c[v+8>>2]=(hca(r)|0)-d;c[v+8+4>>2]=s;b=PGa(b,340916,v+8|0)|0;i=v;return b|0}q=jca(r)|0;d=c[q>>2]|0;f=c[q+4>>2]|0;if((d|0)==(f|0))e=0;else{e=0;do{e=(c[d+16>>2]|0)+e|0;d=d+20|0}while((d|0)!=(f|0))}d=(qca(r)|0)+u|0;a:do if(s|0){o=0-e|0;p=-2-e|0;if((e|0)<1){m=0;while(1){m=m+1|0;VDa(b,2,m);YGa(b,-1,5);e=c[q>>2]|0;l=c[q+4>>2]|0;b:do if((e|0)!=(l|0)){k=o;while(1){j=e+16|0;h=c[j>>2]|0;switch(c[e+12>>2]|0){case 0:{if((h|0)>0){f=0;do{a[d+f>>0]=~~+$Ga(b,f+k|0,255.0);f=f+1|0}while((f|0)!=(h|0))}d=d+h|0;break}case 1:{if((h|0)>0){f=0;do{g[d+(f<<2)>>2]=+$Ga(b,f+k|0,0.0);f=f+1|0}while((f|0)!=(h|0))}d=d+(h<<2)|0;break}default:{}}e=e+20|0;if((e|0)==(l|0))break b;else k=(c[j>>2]|0)+k|0}}while(0);lDa(b,p);if((m|0)==(s|0))break a}}else n=0;do{n=n+1|0;VDa(b,2,n);YGa(b,-1,5);f=1;while(1){VDa(b,0-f|0,f);if((f|0)==(e|0))break;else f=f+1|0}f=c[q>>2]|0;m=c[q+4>>2]|0;c:do if((f|0)!=(m|0)){l=o;while(1){k=f+16|0;j=c[k>>2]|0;switch(c[f+12>>2]|0){case 0:{if((j|0)>0){h=0;do{a[d+h>>0]=~~+$Ga(b,h+l|0,255.0);h=h+1|0}while((h|0)!=(j|0))}d=d+j|0;break}case 1:{if((j|0)>0){h=0;do{g[d+(h<<2)>>2]=+$Ga(b,h+l|0,0.0);h=h+1|0}while((h|0)!=(j|0))}d=d+(j<<2)|0;break}default:{}}f=f+20|0;if((f|0)==(m|0))break c;else l=(c[k>>2]|0)+l|0}}while(0);lDa(b,p)}while((n|0)!=(s|0))}while(0);rca(r,u,_(s,t)|0);b=0;i=v;return b|0}function Ox(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=Lx(b,1,19)|0;l=(aHa(b,2)|0)+-1|0;j=(qDa(b,3)|0)==5;n=jca(k)|0;m=eca(k)|0;d=c[n>>2]|0;n=c[n+4>>2]|0;if(!j){if((d|0)==(n|0)){b=ica(k)|0;cca(k,l,m,b);return 0}else{j=3;e=m}while(1){i=d+16|0;h=c[i>>2]|0;switch(c[d+12>>2]|0){case 0:{if((h|0)>0){f=0;do{a[e+f>>0]=~~+$Ga(b,f+j|0,255.0);f=f+1|0}while((f|0)!=(h|0))}e=e+h|0;break}case 1:{if((h|0)>0){f=0;do{g[e+(f<<2)>>2]=+$Ga(b,f+j|0,0.0);f=f+1|0}while((f|0)!=(h|0))}e=e+(h<<2)|0;break}default:{}}d=d+20|0;if((d|0)==(n|0))break;else j=(c[i>>2]|0)+j|0}b=ica(k)|0;cca(k,l,m,b);return 0}if((d|0)==(n|0)){b=ica(k)|0;cca(k,l,m,b);return 0}else{j=1;f=m}while(1){i=d+16|0;e=c[i>>2]|0;if((e|0)>0){h=j;do{VDa(b,3,h);h=h+1|0;e=c[i>>2]|0}while((h|0)<(e+j|0))}switch(c[d+12>>2]|0){case 0:{if((e|0)>0){h=0;do{a[f+h>>0]=~~+$Ga(b,h-e|0,255.0);h=h+1|0}while((h|0)!=(e|0))}f=f+e|0;break}case 1:{if((e|0)>0){h=0;do{g[f+(h<<2)>>2]=+$Ga(b,h-e|0,0.0);h=h+1|0}while((h|0)!=(e|0))}f=f+(e<<2)|0;break}default:{}}e=c[i>>2]|0;lDa(b,~e);d=d+20|0;if((d|0)==(n|0))break;else j=e+j|0}b=ica(k)|0;cca(k,l,m,b);return 0}function Px(a){a=a|0;var b=0,e=0,f=0,h=0,i=0,j=0,k=0;b=Lx(a,1,19)|0;j=aHa(a,2)|0;k=jca(b)|0;e=eca(b)|0;dca(b,j+-1|0,e,ica(b)|0)|0;b=c[k>>2]|0;k=c[k+4>>2]|0;if((b|0)==(k|0)){a=0;return a|0}else{j=b;b=0}do{i=j+16|0;h=c[i>>2]|0;switch(c[j+12>>2]|0){case 0:{if((h|0)>0){f=0;do{IDa(a,+(d[e+f>>0]|0));f=f+1|0}while((f|0)!=(h|0))}e=e+h|0;break}case 1:{if((h|0)>0){f=0;do{IDa(a,+g[e+(f<<2)>>2]);f=f+1|0}while((f|0)!=(h|0))}e=e+(h<<2)|0;break}default:{}}b=(c[i>>2]|0)+b|0;j=j+20|0}while((j|0)!=(k|0));return b|0}function Qx(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0;k=i;i=i+32|0;f=Lx(b,1,19)|0;h=(aHa(b,2)|0)+-1|0;j=(aHa(b,3)|0)+-1|0;d=kca(f,j,k)|0;e=c[k>>2]|0;switch(d|0){case 0:{if((e|0)>0){d=0;do{a[k+8+d>>0]=~~+$Ga(b,d+4|0,255.0);d=d+1|0}while((d|0)!=(e|0));d=k+8|0}else d=k+8|0;break}case 1:{if((e|0)>0){d=0;do{g[k+8+(d<<2)>>2]=+$Ga(b,d+4|0,0.0);d=d+1|0}while((d|0)!=(e|0));d=k+8|0}else d=k+8|0;break}default:d=k+8|0}fca(f,h,j,d,16);i=k;return 0}function Rx(a){a=a|0;var b=0,e=0,f=0,h=0,j=0;f=i;i=i+32|0;j=Lx(a,1,19)|0;h=(aHa(a,2)|0)+-1|0;e=(aHa(a,3)|0)+-1|0;b=kca(j,e,f)|0;gca(j,h,e,f+8|0,16)|0;e=c[f>>2]|0;switch(b|0){case 0:{if((e|0)>0){b=0;do{IDa(a,+(d[f+8+b>>0]|0));b=b+1|0}while((b|0)!=(e|0))}break}case 1:{if((e|0)>0){b=0;do{IDa(a,+g[f+8+(b<<2)>>2]);b=b+1|0}while((b|0)!=(e|0))}break}default:{}}i=f;return c[f>>2]|0}function Sx(a){a=a|0;JDa(a,hca(Lx(a,1,19)|0)|0);return 1}function Tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=jca(Lx(b,1,19)|0)|0;WDa(b,((c[g+4>>2]|0)-(c[g>>2]|0)|0)/20|0,0);c[j+4>>2]=0;d=c[g>>2]|0;if((c[g+4>>2]|0)==(d|0)){h=1;i=j;return h|0}f=0;while(1){if(!(Jca(c[d+(f*20|0)+12>>2]|0,j+4|0)|0))break;WDa(b,3,0);d=c[g>>2]|0;e=d+(f*20|0)|0;if(!(a[e>>0]&1))d=e+1|0;else d=c[d+(f*20|0)+8>>2]|0;LDa(b,d);aEa(b,-2,1);LDa(b,c[j+4>>2]|0);aEa(b,-2,2);JDa(b,c[(c[g>>2]|0)+(f*20|0)+16>>2]|0);aEa(b,-2,3);f=f+1|0;aEa(b,-2,f);d=c[g>>2]|0;if(f>>>0>=(((c[g+4>>2]|0)-d|0)/20|0)>>>0){d=1;h=9;break}}if((h|0)==9){i=j;return d|0}h=PGa(b,340964,j)|0;i=j;return h|0}function Ux(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+16|0;c=Lx(a,1,19)|0;d=UGa(a,2,0)|0;a=fs(a,3)|0;Iqb(b,d,rnb(d)|0);mca(c,b,a);Mqb(b);i=b;return 0}function Vx(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+16|0;c=Lx(a,1,19)|0;d=UGa(a,2,0)|0;Iqb(b,d,rnb(d)|0);c=(nca(c,b)|0)&1;Mqb(b);PDa(a,c);i=b;return 1}function Wx(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+16|0;c=Lx(a,1,19)|0;d=UGa(a,2,0)|0;a=Lx(a,3,19)|0;Iqb(b,d,rnb(d)|0);pca(c,b,a);Mqb(b);i=b;return 0}function Xx(a){a=a|0;sca(Lx(a,1,19)|0);return 0}function Yx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=Lx(a,1,19)|0;if((qDa(a,2)|0)<1){uca(g);i=j;return 0}b=(qDa(a,2)|0)==5;if(b)f=Es(a,2)|0;else f=(kDa(a)|0)+-1|0;c[j+8>>2]=0;h=j+8+4|0;c[h>>2]=0;c[j+8+8>>2]=0;if(f|0){e=YAb(f<<2)|0;c[j+8>>2]=e;c[h>>2]=e;c[j+8+8>>2]=e+(f<<2)}a:do if(b){b=0;while(1){if((b|0)>=(f|0))break a;b=b+1|0;VDa(a,2,b);d=(aHa(a,-1)|0)+-1|0;c[j+4>>2]=d;e=c[h>>2]|0;if(e>>>0<(c[j+8+8>>2]|0)>>>0){c[e>>2]=d;c[h>>2]=e+4}else Zx(j+8|0,j+4|0);lDa(a,-2)}}else if((f|0)>0){e=0;do{b=(aHa(a,e+2|0)|0)+-1|0;c[j>>2]=b;d=c[h>>2]|0;if(d>>>0<(c[j+8+8>>2]|0)>>>0){c[d>>2]=b;c[h>>2]=d+4}else Zx(j+8|0,j);e=e+1|0}while((e|0)<(f|0))}while(0);tca(g,j+8|0);b=c[j+8>>2]|0;if(b|0){d=c[h>>2]|0;if((d|0)!=(b|0))c[h>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}i=j;return 0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function _x(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=Lx(a,1,19)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a:do if(vca(d,e)|0){b=(c[e+4>>2]|0)-(c[e>>2]|0)>>2;WDa(a,b,0);d=0;while(1){if((d|0)>=(b|0))break a;JDa(a,(c[(c[e>>2]|0)+(d<<2)>>2]|0)+1|0);f=d+1|0;aEa(a,-2,f);d=f}}else HDa(a);while(0);b=c[e>>2]|0;if(!b){i=e;return 1}a=c[e+4>>2]|0;if((a|0)!=(b|0))c[e+4>>2]=a+(~((a+-4-b|0)>>>2)<<2);oAb(b);i=e;return 1}function $x(a){a=a|0;var b=0;b=Lx(a,1,19)|0;if((qDa(a,2)|0)<1){xca(b);return 0}else{wca(b,jD(a,2)|0);return 0}return 0}function ay(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=yca(Lx(a,1,19)|0)|0;if(!b){a=0;i=e;return a|0}d=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((d|0)==(c[493]|0)){Gs(a,12,b);a=1;i=e;return a|0}if((d|0)==(c[465]|0)){Gs(a,17,b);a=1;i=e;return a|0}else{a=PGa(a,342755,e)|0;i=e;return a|0}return 0}function by(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=Lx(a,1,19)|0;d=UGa(a,2,0)|0;if(Fca(d,e+4|0)|0){zca(b,c[e+4>>2]|0);a=0;i=e;return a|0}else{c[e>>2]=d;a=PGa(a,341e3,e)|0;i=e;return a|0}return 0}function cy(a){a=a|0;var b=0;b=i;i=i+16|0;if(Gca(Aca(Lx(a,1,19)|0)|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);a=1;i=b;return a|0}else{a=PGa(a,341027,b)|0;i=b;return a|0}return 0}function dy(a){a=a|0;var b=0,c=0;b=Lx(a,1,19)|0;if((qDa(a,2)|0)<1){Cca(b);return 0}else{c=~~+_Ga(a,2)+-1|0;Bca(b,c,~~+_Ga(a,3)+-1|0);return 0}return 0}function ey(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=Lx(a,1,19)|0;c[d+4>>2]=-1;c[d>>2]=-1;Dca(b,d+4|0,d);b=c[d+4>>2]|0;if((c[d>>2]|b|0)<0){a=0;i=d;return a|0}JDa(a,b+1|0);JDa(a,(c[d>>2]|0)+1|0);a=2;i=d;return a|0}function fy(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=13948;c[b+4>>2]=0;a=xs(a,19,341051,b)|0;i=b;return a|0}function gy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function hy(a){a=a|0;var b=0;b=gy(a,1,15)|0;b=vi[c[(c[b>>2]|0)+20>>2]&2047](b)|0;Gs(a,15,b);Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return 1}function iy(a){a=a|0;var b=0;b=gy(a,1,15)|0;mB(b,jD(a,2)|0);return 0}function jy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=nB(gy(a,1,15)|0)|0;if(!b)WAb();d=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((d|0)==(c[493]|0)){Gs(a,12,b);a=1;i=e;return a|0}if((d|0)==(c[465]|0)){Gs(a,17,b);a=1;i=e;return a|0}else{a=PGa(a,342755,e)|0;i=e;return a|0}return 0}function ky(a){a=a|0;var b=0,d=0.0,e=0;e=i;i=i+16|0;b=gy(a,1,15)|0;d=+_Ga(a,2);if(d<1.0|d>536870911.0){a=PGa(a,345042,e)|0;i=e;return a|0}else{si[c[(c[b>>2]|0)+24>>2]&511](b,~~d>>>0);a=0;i=e;return a|0}return 0}function ly(a){a=a|0;JDa(a,jB(gy(a,1,15)|0)|0);return 1}function my(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=gy(a,1,15)|0;d=UGa(a,2,0)|0;if(zC(d,e+4|0)|0){oB(b,c[e+4>>2]|0);a=0;i=e;return a|0}else{c[e>>2]=d;a=PGa(a,341257,e)|0;i=e;return a|0}return 0}function ny(a){a=a|0;var b=0;b=i;i=i+16|0;if(AC(pB(gy(a,1,15)|0)|0,b+4|0)|0){LDa(a,c[b+4>>2]|0);a=1;i=b;return a|0}else{a=PGa(a,341283,b)|0;i=b;return a|0}return 0}function oy(a){a=a|0;var b=0;b=gy(a,1,15)|0;qB(b,+_Ga(a,2));return 0}function py(a){a=a|0;IDa(a,+rB(gy(a,1,15)|0));return 1}function qy(a){a=a|0;var b=0;b=gy(a,1,15)|0;sB(b,+_Ga(a,2));return 0}function ry(a){a=a|0;IDa(a,+tB(gy(a,1,15)|0));return 1}function sy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);uB(c,b,+$Ga(a,3,b));return 0}function ty(a){a=a|0;var b=0;b=i;i=i+16|0;vB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function uy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);wB(c,b,+_Ga(a,3));return 0}function vy(a){a=a|0;var b=0.0,c=0;c=xB(gy(a,1,15)|0)|0;b=+g[c+4>>2];IDa(a,+g[c>>2]);IDa(a,b);return 2}function wy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);yB(c,b,+_Ga(a,3));return 0}function xy(a){a=a|0;var b=0,d=0.0,e=0.0,f=0,g=0;g=i;i=i+16|0;f=gy(a,1,15)|0;c[g+12>>2]=0;do if((qDa(a,2)|0)<1){b=0;e=0.0;d=0.0}else{b=UGa(a,2,0)|0;if(!b){b=0;e=0.0;d=0.0}else{if(!(xC(b,g+12|0)|0)){c[g>>2]=b;f=PGa(a,341303,g)|0;i=g;return f|0}if(!(c[g+12>>2]|0)){b=0;e=0.0;d=0.0}else{e=+_Ga(a,3);d=+_Ga(a,4);if(!(e<0.0|d<0.0)){b=c[g+12>>2]|0;break}f=PGa(a,341337,g+8|0)|0;i=g;return f|0}}}while(0);zB(f,b,e,d);f=0;i=g;return f|0}function yy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=gy(a,1,15)|0;yC(AB(d)|0,b)|0;d=BB(d)|0;LDa(a,c[b>>2]|0);IDa(a,+g[d>>2]);IDa(a,+g[d+4>>2]);i=b;return 3}function zy(a){a=a|0;var b=0;b=gy(a,1,15)|0;CB(b,+_Ga(a,2));return 0}function Ay(a){a=a|0;IDa(a,+DB(gy(a,1,15)|0));return 1}function By(a){a=a|0;var b=0;b=gy(a,1,15)|0;EB(b,+_Ga(a,2));return 0}function Cy(a){a=a|0;IDa(a,+FB(gy(a,1,15)|0));return 1}function Dy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);GB(c,b,+$Ga(a,3,b));return 0}function Ey(a){a=a|0;var b=0;b=i;i=i+16|0;HB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Fy(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0;e=gy(a,1,15)|0;d=+_Ga(a,2);b=+_Ga(a,3);c=+$Ga(a,4,d);IB(e,d,b,c,+$Ga(a,5,b));return 0}function Gy(a){a=a|0;var b=0,c=0;b=i;i=i+16|0;c=gy(a,1,15)|0;g[b+8>>2]=0.0;g[b+8+4>>2]=0.0;g[b>>2]=0.0;g[b+4>>2]=0.0;JB(c,b+8|0,b);IDa(a,+g[b+8>>2]);IDa(a,+g[b+8+4>>2]);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);i=b;return 4}function Hy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);KB(c,b,+$Ga(a,3,b));return 0}function Iy(a){a=a|0;var b=0;b=i;i=i+16|0;LB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Jy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);MB(c,b,+$Ga(a,3,b));return 0}function Ky(a){a=a|0;var b=0;b=i;i=i+16|0;NB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Ly(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);OB(c,b,+$Ga(a,3,b));return 0}function My(a){a=a|0;var b=0;b=i;i=i+16|0;PB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Ny(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0;f=i;i=i+16|0;b=gy(a,1,15)|0;d=(kDa(a)|0)+-1|0;if(d>>>0>8){e=PGa(a,341383,f)|0;i=f;return e|0}if(d>>>0<2){QB(b,+_Ga(a,2));e=0;i=f;return e|0}c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;e=YAb(d<<2)|0;c[f+4>>2]=e;c[f+4+8>>2]=e+(d<<2);hBb(e|0,0,d<<2|0)|0;c[f+4+4>>2]=e+(d<<2);e=0;do{h=+_Ga(a,e+2|0);g[(c[f+4>>2]|0)+(e<<2)>>2]=h;e=e+1|0}while(e>>>0>>0);SB(b,f+4|0);b=c[f+4>>2]|0;if(b|0){d=c[f+4+4>>2]|0;if((d|0)!=(b|0))c[f+4+4>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}e=0;i=f;return e|0}function Oy(a){a=a|0;var b=0,d=0,e=0,f=0;f=UB(gy(a,1,15)|0)|0;b=c[f>>2]|0;if((c[f+4>>2]|0)==(b|0)){a=0;return a|0}else{d=b;e=0}do{IDa(a,+g[d+(e<<2)>>2]);e=e+1|0;d=c[f>>2]|0;b=(c[f+4>>2]|0)-d>>2}while(e>>>0>>0);return b|0}function Py(a){a=a|0;var b=0,c=0.0,d=0;d=i;i=i+16|0;b=gy(a,1,15)|0;c=+_Ga(a,2);if(c<0.0|c>1.0){a=PGa(a,341420,d)|0;i=d;return a|0}else{VB(b,c);a=0;i=d;return a|0}return 0}function Qy(a){a=a|0;IDa(a,+WB(gy(a,1,15)|0));return 1}function Ry(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);XB(c,b,+$Ga(a,3,b));return 0}function Sy(a){a=a|0;var b=0;b=i;i=i+16|0;YB(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Ty(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);ZB(c,b,+$Ga(a,3,b));return 0}function Uy(a){a=a|0;var b=0;b=i;i=i+16|0;_B(gy(a,1,15)|0,b+4|0,b);IDa(a,+g[b+4>>2]);IDa(a,+g[b>>2]);i=b;return 2}function Vy(a){a=a|0;var b=0;b=gy(a,1,15)|0;$B(b,+_Ga(a,2));return 0}function Wy(a){a=a|0;IDa(a,+aC(gy(a,1,15)|0));return 1}function Xy(a){a=a|0;var b=0.0,c=0;c=gy(a,1,15)|0;b=+_Ga(a,2);bC(c,b,+_Ga(a,3));return 0}function Yy(a){a=a|0;var b=0;b=i;i=i+16|0;cC(b,gy(a,1,15)|0);IDa(a,+g[b>>2]);IDa(a,+g[b+4>>2]);i=b;return 2}function Zy(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;l=gy(a,1,15)|0;j=(qDa(a,2)|0)==5;k=kDa(a)|0;if(j){if((k+-1|0)>8){a=PGa(a,341473,m)|0;i=m;return a|0}c[m+20>>2]=0;j=m+20+4|0;c[j>>2]=0;c[m+20+8>>2]=0;if(k+-1|0){if((k+-1|0)>>>0>268435455)jzb(m+20|0);d=YAb(k+-1<<4)|0;c[j>>2]=d;c[m+20>>2]=d;c[m+20+8>>2]=d+(k+-1<<4);b=k+-1|0;e=d;while(1){c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b=b+-1|0;if(!b)break;else e=e+16|0}c[j>>2]=d+((k<<4)+-16)}a:do if((k|0)>1){d=0;while(1){b=d+2|0;YGa(a,b,5);if((Es(a,b)|0)>>>0<3)break;else e=0;while(1){if((e|0)>=4)break;f=e+1|0;VDa(a,b,f);e=f}n=+_Ga(a,-4);g[(c[m+20>>2]|0)+(d<<4)>>2]=n;n=+_Ga(a,-3);g[(c[m+20>>2]|0)+(d<<4)+4>>2]=n;n=+_Ga(a,-2);g[(c[m+20>>2]|0)+(d<<4)+8>>2]=n;n=+$Ga(a,-1,255.0);g[(c[m+20>>2]|0)+(d<<4)+12>>2]=n;lDa(a,-5);d=d+1|0;if((d|0)>=(k+-1|0)){h=16;break a}}e=OGa(a,b,341511)|0;f=1}else h=16;while(0);if((h|0)==16){dC(l,m+20|0);e=0;f=0}b=c[m+20>>2]|0;if(b|0){d=c[j>>2]|0;if((d|0)!=(b|0))c[j>>2]=d+(~((d+-16-b|0)>>>4)<<4);oAb(b)}if(f|0){a=e;i=m;return a|0}}else{f=(k+2|0)/4|0;if((k+-1|0)!=3)if((k+-1|0)==0|((k+-1|0)%4|0|0)!=0){c[m+8>>2]=(k+-1|0)%4|0;a=PGa(a,341539,m+8|0)|0;i=m;return a|0}if((k+2|0)>35){a=PGa(a,341473,m+16|0)|0;i=m;return a|0}c[m+20>>2]=0;h=m+20+4|0;c[h>>2]=0;c[m+20+8>>2]=0;if((k+5|0)>>>0>=7){if(f>>>0>268435455)jzb(m+20|0);d=YAb(f<<4)|0;c[h>>2]=d;c[m+20>>2]=d;c[m+20+8>>2]=d+(f<<4);b=f;e=d;while(1){c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b=b+-1|0;if(!b)break;else e=e+16|0}c[h>>2]=d+(f<<4)}if((k+2|0)>3){b=0;do{k=b<<2;n=+_Ga(a,(k|1)+1|0);g[(c[m+20>>2]|0)+(b<<4)>>2]=n;n=+_Ga(a,k|3);g[(c[m+20>>2]|0)+(b<<4)+4>>2]=n;n=+_Ga(a,(k|1)+3|0);g[(c[m+20>>2]|0)+(b<<4)+8>>2]=n;n=+_Ga(a,(k|1)+4|0);g[(c[m+20>>2]|0)+(b<<4)+12>>2]=n;b=b+1|0}while((b|0)<(f|0))}dC(l,m+20|0);d=c[m+20>>2]|0;if(d|0){b=c[h>>2]|0;if((b|0)!=(d|0))c[h>>2]=b+(~((b+-16-d|0)>>>4)<<4);oAb(d)}}a=0;i=m;return a|0}function _y(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;fC(f,gy(a,1,15)|0);b=c[f+4>>2]|0;d=c[f>>2]|0;if((b|0)==(d|0)){a=d;d=0}else{b=0;do{WDa(a,4,0);IDa(a,+g[(c[f>>2]|0)+(b<<4)>>2]);aEa(a,-2,1);IDa(a,+g[(c[f>>2]|0)+(b<<4)+4>>2]);aEa(a,-2,2);IDa(a,+g[(c[f>>2]|0)+(b<<4)+8>>2]);aEa(a,-2,3);IDa(a,+g[(c[f>>2]|0)+(b<<4)+12>>2]);aEa(a,-2,4);b=b+1|0;d=c[f+4>>2]|0;e=c[f>>2]|0}while(b>>>0>4>>>0);b=d;a=e;d=d-e>>4}if(!a){i=f;return d|0}if((b|0)!=(a|0))c[f+4>>2]=b+(~((b+-16-a|0)>>>4)<<4);oAb(a);i=f;return d|0}function $y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=gy(a,1,15)|0;c[h+4>>2]=0;g=h+4+4|0;c[g>>2]=0;c[h+4+8>>2]=0;a:do if((qDa(a,2)|0)==5){e=1;while(1){if((e|0)>(Es(a,2)|0))break a;VDa(a,2,e);d=az(a,-1,13)|0;c[h>>2]=d;b=c[g>>2]|0;if((b|0)==(c[h+4+8>>2]|0))bz(h+4|0,h);else{c[b>>2]=d;c[g>>2]=(c[g>>2]|0)+4}lDa(a,-2);e=e+1|0}}else{e=2;while(1){if((e|0)>(kDa(a)|0))break a;b=az(a,e,13)|0;c[h>>2]=b;d=c[g>>2]|0;if((d|0)==(c[h+4+8>>2]|0))bz(h+4|0,h);else{c[d>>2]=b;c[g>>2]=(c[g>>2]|0)+4}e=e+1|0}}while(0);gC(f,h+4|0);b=c[h+4>>2]|0;if(!b){i=h;return 0}d=c[g>>2]|0;if((d|0)!=(b|0))c[g>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b);i=h;return 0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function cz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;kC(f,gy(a,1,15)|0);WDa(a,(c[f+4>>2]|0)-(c[f>>2]|0)>>2,0);e=0;while(1){b=c[f+4>>2]|0;d=c[f>>2]|0;if((e|0)>=(b-d>>2|0))break;Gs(a,13,c[d+(e<<2)>>2]|0);d=e+1|0;aEa(a,-2,d);e=d}if(!d){i=f;return 1}if((b|0)!=(d|0))c[f+4>>2]=b+(~((b+-4-d|0)>>>2)<<2);oAb(d);i=f;return 1}function dz(a){a=a|0;var b=0;b=gy(a,1,15)|0;mC(b,fs(a,2)|0);return 0}function ez(a){a=a|0;gs(a,nC(gy(a,1,15)|0)|0);return 1}function fz(a){a=a|0;IDa(a,+((oC(gy(a,1,15)|0)|0)>>>0));return 1}function gz(a){a=a|0;pC(gy(a,1,15)|0);return 0}function hz(a){a=a|0;qC(gy(a,1,15)|0);return 0}function iz(a){a=a|0;rC(gy(a,1,15)|0);return 0}function jz(a){a=a|0;iB(gy(a,1,15)|0);return 0}function kz(a){a=a|0;var b=0;b=gy(a,1,15)|0;sC(b,~~+_Ga(a,2));return 0}function lz(a){a=a|0;gs(a,tC(gy(a,1,15)|0)|0);return 1}function mz(a){a=a|0;gs(a,uC(gy(a,1,15)|0)|0);return 1}function nz(a){a=a|0;gs(a,vC(gy(a,1,15)|0)|0);return 1}function oz(a){a=a|0;var b=0;b=gy(a,1,15)|0;wC(b,+_Ga(a,2));return 0}function pz(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=14108;c[b+4>>2]=0;a=xs(a,15,341606,b)|0;i=b;return a|0}function qz(a,b){a=a|0;b=b|0;return rz(a,b,18)|0}function rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function sz(b){b=b|0;var d=0;d=i;i=i+16|0;Aea(d,rz(b,1,18)|0);LDa(b,(a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0);Mqb(d);i=d;return 1}function tz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+48|0;j=rz(a,1,18)|0;k=UGa(a,2,0)|0;l=(kDa(a)|0)+-2|0;if((l|0)<1){l=PGa(a,342265,m)|0;i=m;return l|0}a:do if(!(tDa(a,3)|0))if((qDa(a,3)|0)==1)e=5;else{if((qDa(a,3)|0)!=5){l=Ns(a,3,342358)|0;i=m;return l|0}d=Es(a,3)|0;b=_(d,l)|0;b=_Ab(b>>>0>1073741823?-1:b<<2)|0;f=0;b:while(1){h=f+3|0;if((qDa(a,h)|0)!=5){e=15;break}if((Es(a,h)|0)!=(d|0)){e=19;break}if((d|0)>=1){e=(_(f,d)|0)+-1|0;g=1;while(1){VDa(a,h,g);if(!(tDa(a,-1)|0)){if((qDa(a,-1)|0)!=1){e=25;break b}c[b+(e+g<<2)>>2]=ADa(a,-1)|0}else c[b+(e+g<<2)>>2]=~~+yDa(a,-1);if((g|0)<(d|0))g=g+1|0;else break}}lDa(a,~d);f=f+1|0;if((f|0)>=(l|0)){e=29;break a}}if((e|0)==15){aBb(b);Ns(a,h,519474)|0;e=28;break}else if((e|0)==19){aBb(b);l=Es(a,h)|0;c[m+8>>2]=h;c[m+8+4>>2]=d;c[m+8+8>>2]=l;PGa(a,342304,m+8|0)|0;e=28;break}else if((e|0)==25){aBb(b);Ns(a,-1,342286)|0;e=28;break}}else e=5;while(0);c:do if((e|0)==5){b=_Ab(l>>>0>1073741823?-1:l<<2)|0;e=0;while(1){d=e+3|0;if(!(tDa(a,d)|0)){if((qDa(a,d)|0)!=1)break;c[b+(e<<2)>>2]=ADa(a,d)|0}else c[b+(e<<2)>>2]=~~+yDa(a,d);e=e+1|0;if((e|0)>=(l|0)){d=1;e=29;break c}}aBb(b);Ns(a,d,342286)|0;e=28}while(0);if((e|0)==28){l=PGa(a,342384,m+24|0)|0;i=m;return l|0}else if((e|0)==29){Iqb(m+28|0,k,rnb(k)|0);Dea(j,m+28|0,d,b,l);Mqb(m+28|0);aBb(b);l=0;i=m;return l|0}return 0}function uz(a){a=a|0;return vz(a,0)|0}function vz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=rz(a,1,18)|0;o=UGa(a,2,0)|0;p=kDa(a)|0;if((p+-2|0)<1){p=PGa(a,342265,q)|0;i=q;return p|0}a:do if(!(tDa(a,3)|0))if((qDa(a,3)|0)==1)m=5;else{if((qDa(a,3)|0)!=5){p=Ns(a,3,342358)|0;i=q;return p|0}d=Es(a,3)|0;f=_(d,p+-2|0)|0;f=_Ab(f>>>0>1073741823?-1:f<<2)|0;k=0;b:while(1){e=k+3|0;if((qDa(a,e)|0)!=5){m=15;break}if((Es(a,e)|0)!=(d|0)){m=19;break}if((d|0)>=1){j=(_(k,d)|0)+-1|0;l=1;while(1){VDa(a,e,l);if(!(tDa(a,-1)|0)){if((qDa(a,-1)|0)!=1){m=25;break b}g[f+(j+l<<2)>>2]=+(ADa(a,-1)|0)}else g[f+(j+l<<2)>>2]=+yDa(a,-1);if((l|0)<(d|0))l=l+1|0;else break}}lDa(a,~d);k=k+1|0;if((k|0)>=(p+-2|0)){a=d;break a}}if((m|0)==15){aBb(f);Ns(a,e,519474)|0;m=28;break}else if((m|0)==19){aBb(f);p=Es(a,e)|0;c[q+8>>2]=e;c[q+8+4>>2]=d;c[q+8+8>>2]=p;PGa(a,342304,q+8|0)|0;m=28;break}else if((m|0)==25){aBb(f);Ns(a,-1,342286)|0;m=28;break}}else m=5;while(0);c:do if((m|0)==5){f=_Ab((p+-2|0)>>>0>1073741823?-1:p+-2<<2)|0;e=0;while(1){d=e+3|0;if(!(tDa(a,d)|0)){if((qDa(a,d)|0)!=1)break;g[f+(e<<2)>>2]=+(ADa(a,d)|0)}else g[f+(e<<2)>>2]=+yDa(a,d);e=e+1|0;if((e|0)>=(p+-2|0)){a=1;break c}}aBb(f);Ns(a,d,342286)|0;m=28}while(0);if((m|0)==28){p=PGa(a,342384,q+24|0)|0;i=q;return p|0}if(b){j=zA()|0;if((p|0)>2&(a|0)>0){l=0;do{k=_(l,a)|0;if(j){e=0;do{d=f+(e+k<<2)|0;h=+g[d>>2]/255.0;if((e|0)<3)h=+VE(621072,h);g[d>>2]=h;e=e+1|0}while((e|0)!=(a|0))}else{d=0;do{m=f+(d+k<<2)|0;g[m>>2]=+g[m>>2]/255.0;d=d+1|0}while((d|0)!=(a|0))}l=l+1|0}while((l|0)!=(p+-2|0))}}Iqb(q+28|0,o,rnb(o)|0);Eea(n,q+28|0,a,f,p+-2|0);Mqb(q+28|0);aBb(f);p=0;i=q;return p|0}function wz(a){a=a|0;return vz(a,1)|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;r=kDa(a)|0;s=rz(a,1,18)|0;t=UGa(a,2,0)|0;if((qDa(a,3)|0)!=5){a=Ns(a,3,342404)|0;i=u;return a|0}VDa(a,3,1);if((qDa(a,-1)|0)==5){b=Es(a,3)|0;lDa(a,-2);if(!b)d=6;else q=b}else{lDa(a,-2);d=6}if((d|0)==6){TDa(a,3,342417);if((qDa(a,-1)|0)<1)b=~~+O(+(+((Es(a,3)|0)>>>0)));else b=zDa(a,-1)|0;lDa(a,-2);q=b}if((q+-2|0)>>>0>2){c[u>>2]=q;c[u+4>>2]=q;a=PGa(a,342427,u)|0;i=u;return a|0}j=_(q,q)|0;o=_(j,r+-2|0)|0;o=_Ab(o>>>0>1073741823?-1:o<<2)|0;a:do if((r|0)>2){k=(q|0)<1;l=-2-q|0;m=q+1|0;n=0;while(1){p=n+3|0;VDa(a,p,1);d=(qDa(a,-1)|0)==5;if(d){b=Es(a,-1)|0;lDa(a,-2)}else{lDa(a,-2);b=~~+O(+(+((Es(a,p)|0)>>>0)))}if((b|0)!=(q|0))break;if(d){if(!k){b=_(j,n)|0;d=1;f=0;while(1){VDa(a,p,d);e=1;h=f;while(1){VDa(a,0-e|0,e);g[o+(h+b<<2)>>2]=+yDa(a,-1);e=e+1|0;if((e|0)==(m|0))break;else h=h+1|0}lDa(a,l);d=d+1|0;if((d|0)==(m|0))break;else f=q+f|0}}}else{if(j|0){b=(_(j,n)|0)+-1|0;d=1;while(1){VDa(a,p,d);g[o+(b+d<<2)>>2]=+yDa(a,-1);if((d|0)<(j|0))d=d+1|0;else break}}lDa(a,~j)}n=n+1|0;if((n|0)>=(r+-2|0))break a}aBb(o);c[u+8>>2]=p;c[u+8+4>>2]=q;c[u+8+8>>2]=q;c[u+8+12>>2]=b;c[u+8+16>>2]=b;a=PGa(a,342502,u+8|0)|0;i=u;return a|0}while(0);Iqb(u+28|0,t,rnb(t)|0);Fea(s,u+28|0,q,o,r+-2|0);Mqb(u+28|0);aBb(o);a=0;i=u;return a|0}function yz(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+16|0;c=rz(a,1,18)|0;d=UGa(a,2,0)|0;a=jD(a,3)|0;Iqb(b,d,rnb(d)|0);Gea(c,b,a);Mqb(b);i=b;return 0}function zz(a){a=a|0;var b=0;switch(qDa(a,3)|0){case 1:case 3:{a=vz(a,0)|0;return a|0}case 7:{b=c[(EDa(a,3)|0)>>2]|0;if(c[(c[155773]|0)+(b<<3)>>2]&2048|0){yz(a)|0;a=0;return a|0}break}case 5:{VDa(a,3,1);b=qDa(a,-1)|0;lDa(a,-2);if((b|2|0)==3){a=vz(a,0)|0;return a|0}if((b|0)==5){a=xz(a)|0;return a|0}break}default:{}}a=OGa(a,3,342570)|0;return a|0}function Az(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+32|0;b=rz(a,1,18)|0;e=UGa(a,2,0)|0;c[d+24>>2]=0;c[d+20>>2]=0;Iqb(d+4|0,e,rnb(e)|0);b=Oea(b,d+4|0,d+24|0,d+20|0)|0;Mqb(d+4|0);if((c[d+24>>2]|0)<=0){HDa(a);HDa(a);HDa(a);e=3;i=d;return e|0}c[d+16>>2]=0;if(Sea(b,d+16|0)|0){LDa(a,c[d+16>>2]|0);JDa(a,c[d+24>>2]|0);JDa(a,c[d+20>>2]|0);e=3;i=d;return e|0}else{e=PGa(a,342620,d)|0;i=d;return e|0}return 0}function Bz(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=14596;c[b+4>>2]=0;a=xs(a,18,342655,b)|0;i=b;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Dz(a){a=a|0;JDa(a,(Ez(a,Cz(a,1,16)|0,2,-1)|0)+1|0);return 1}function Ez(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;if(Hs(a,d,13)|0){g=d+1|0;d=c[(EDa(a,d)|0)+4>>2]|0}else if(!(qDa(a,d)|0))if((qDa(a,d+1|0)|0)<1){g=d;d=0}else{b=Ns(a,d,345210)|0;return b|0}else{g=d;d=0}h=+$Ga(a,g,0.0);i=+$Ga(a,g+1|0,0.0);j=+$Ga(a,g+2|0,0.0);k=+$Ga(a,g+3|0,1.0);l=+$Ga(a,g+4|0,k);m=+$Ga(a,g+5|0,0.0);n=+$Ga(a,g+6|0,0.0);o=+$Ga(a,g+7|0,0.0);f=+$Ga(a,g+8|0,0.0);if(!d){b=cfa(b,h,i,j,k,l,m,n,o,f,e)|0;return b|0}else{b=efa(b,d,h,i,j,k,l,m,n,o,f,e)|0;return b|0}return 0}function Fz(a){a=a|0;var b=0;b=Cz(a,1,16)|0;Ez(a,b,3,~~+_Ga(a,2)+-1|0)|0;return 0}function Gz(a){a=a|0;ffa(Cz(a,1,16)|0);return 0}function Hz(a){a=a|0;gfa(Cz(a,1,16)|0);return 0}function Iz(a){a=a|0;var b=0;b=Cz(a,1,16)|0;hfa(b,jD(a,2)|0);return 0}function Jz(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=ifa(Cz(a,1,16)|0)|0;if(!b)WAb();d=c[(c[(c[b>>2]|0)+-4>>2]|0)+4>>2]|0;if((d|0)==(c[493]|0)){Gs(a,12,b);a=1;i=e;return a|0}if((d|0)==(c[465]|0)){Gs(a,17,b);a=1;i=e;return a|0}else{a=PGa(a,342755,e)|0;i=e;return a|0}return 0}function Kz(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=Cz(b,1,16)|0;c[e>>2]=0;if((kDa(b)|0)<2){kfa(d);i=e;return 0}if((qDa(b,2)|0)==5){VDa(b,2,1);VDa(b,2,2);VDa(b,2,3);VDa(b,2,4);a[e>>0]=~~+_Ga(b,-4);a[e+1>>0]=~~+_Ga(b,-3);a[e+2>>0]=~~+_Ga(b,-2);a[e+3>>0]=~~+$Ga(b,-1,255.0);lDa(b,-5)}else{a[e>>0]=~~+_Ga(b,2);a[e+1>>0]=~~+_Ga(b,3);a[e+2>>0]=~~+_Ga(b,4);a[e+3>>0]=~~+$Ga(b,5,255.0)}jfa(d,e);i=e;return 0}function Lz(a){a=a|0;var b=0;b=lfa(Cz(a,1,16)|0)|0;if(!b){a=0;return a|0}IDa(a,+(d[b>>0]|0));IDa(a,+(d[b+1>>0]|0));IDa(a,+(d[b+2>>0]|0));IDa(a,+(d[b+3>>0]|0));a=4;return a|0}function Mz(a){a=a|0;JDa(a,mfa(Cz(a,1,16)|0)|0);return 1}function Nz(a){a=a|0;var b=0;b=Cz(a,1,16)|0;nfa(b,~~+_Ga(a,2));return 0}function Oz(a){a=a|0;JDa(a,ofa(Cz(a,1,16)|0)|0);return 1}function Pz(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+16|0;c=Cz(a,1,16)|0;d=UGa(a,2,0)|0;a=Lx(a,3,19)|0;Iqb(b,d,rnb(d)|0);pfa(c,b,a);Mqb(b);i=b;return 0}function Qz(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=14676;c[b+4>>2]=0;a=xs(a,16,342789,b)|0;i=b;return a|0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function Sz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=-1;if((qDa(b,d)|0)!=5){Rqb(j,UGa(b,d,0)|0)|0;f=c[e+4>>2]|0;if((f|0)==(c[e+8>>2]|0)){Tz(e,j);e=j;Mqb(e);i=j;return}else{Hqb(f,j);c[f+12>>2]=c[j+12>>2];c[e+4>>2]=(c[e+4>>2]|0)+16;e=j;Mqb(e);i=j;return}}g=Es(b,d)|0;if((g|0)<1){e=j;Mqb(e);i=j;return}h=1;while(1){VDa(b,d,h);do if((qDa(b,-1)|0)==5){VDa(b,-1,1);VDa(b,-2,2);VDa(b,-3,3);VDa(b,-4,4);a[j+12>>0]=~~+_Ga(b,-4);a[j+13>>0]=~~+_Ga(b,-3);a[j+14>>0]=~~+_Ga(b,-2);a[j+15>>0]=~~+$Ga(b,-1,255.0);lDa(b,-5)}else{Rqb(j,UGa(b,-1,0)|0)|0;f=c[e+4>>2]|0;if((f|0)==(c[e+8>>2]|0)){Tz(e,j);break}else{Hqb(f,j);c[f+12>>2]=c[j+12>>2];c[e+4>>2]=(c[e+4>>2]|0)+16;break}}while(0);lDa(b,-2);if((h|0)<(g|0))h=h+1|0;else{f=j;break}}Mqb(f);i=j;return}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a>>2]|0;d=((c[a+4>>2]|0)-f>>4)+1|0;if(d>>>0>268435455)jzb(a);e=(c[a+8>>2]|0)-f|0;if(e>>4>>>0<134217727){d=e>>3>>>0>>0?d:e>>3;e=(c[a+4>>2]|0)-f>>4;if(!d){f=0;d=0}else g=6}else{d=268435455;e=(c[a+4>>2]|0)-f>>4;g=6}if((g|0)==6){f=d;d=YAb(d<<4)|0}i=d+(e<<4)|0;h=d+(f<<4)|0;Hqb(i,b);c[d+(e<<4)+12>>2]=c[b+12>>2];g=c[a>>2]|0;d=c[a+4>>2]|0;if((d|0)==(g|0)){e=i;f=g;d=g}else{f=i;e=i;do{j=f+-16|0;b=d;d=d+-16|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[f+-4>>2]=c[b+-4>>2];f=e+-16|0;e=f}while((d|0)!=(g|0));f=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=i+16;c[a+8>>2]=h;e=f;if((d|0)!=(e|0))do{d=d+-16|0;Mqb(d)}while((d|0)!=(e|0));if(!f)return;oAb(f);return}function Uz(a){a=a|0;var b=0,d=0,e=0.0,f=0;f=i;i=i+32|0;b=Rz(a,1,20)|0;if((qDa(a,2)|0)<1){Ifa(b);a=0;i=f;return a|0}if((qDa(a,3)|0)<1){c[f+16>>2]=0;c[f+16+4>>2]=0;c[f+16+8>>2]=0;Sz(a,2,f+16|0);Hfa(b,f+16|0);b=c[f+16>>2]|0;if(b|0){d=c[f+16+4>>2]|0;if((d|0)!=(b|0)){do{a=d+-16|0;c[f+16+4>>2]=a;Mqb(a);d=c[f+16+4>>2]|0}while((d|0)!=(b|0));b=c[f+16>>2]|0}oAb(b)}a=0;i=f;return a|0}e=+_Ga(a,3);d=UGa(a,4,0)|0;if(!(y8(d,f+16|0)|0)){c[f>>2]=d;a=PGa(a,342885,f)|0;i=f;return a|0}c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;Sz(a,2,f+4|0);Gfa(b,f+4|0,e,c[f+16>>2]|0);b=c[f+4>>2]|0;if(b|0){d=c[f+4+4>>2]|0;if((d|0)!=(b|0)){do{a=d+-16|0;c[f+4+4>>2]=a;Mqb(a);d=c[f+4+4>>2]|0}while((d|0)!=(b|0));b=c[f+4>>2]|0}oAb(b)}a=0;i=f;return a|0}function Vz(a){a=a|0;var b=0,d=0,e=0.0,f=0;f=i;i=i+32|0;b=Rz(a,1,20)|0;e=+_Ga(a,3);d=UGa(a,4,0)|0;if(!(y8(d,f+16|0)|0)){c[f>>2]=d;a=PGa(a,342885,f)|0;i=f;return a|0}c[f+4>>2]=0;c[f+4+4>>2]=0;c[f+4+8>>2]=0;Sz(a,2,f+4|0);Gfa(b,f+4|0,e,c[f+16>>2]|0);b=c[f+4>>2]|0;if(b|0){d=c[f+4+4>>2]|0;if((d|0)!=(b|0)){do{a=d+-16|0;c[f+4+4>>2]=a;Mqb(a);d=c[f+4+4>>2]|0}while((d|0)!=(b|0));b=c[f+4>>2]|0}oAb(b)}a=0;i=f;return a|0}function Wz(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;d=i;i=i+16|0;b=Rz(a,1,20)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Sz(a,2,d);m=+$Ga(a,3,0.0);l=+$Ga(a,4,0.0);k=+$Ga(a,5,0.0);j=+$Ga(a,6,1.0);h=+$Ga(a,7,j);g=+$Ga(a,8,0.0);f=+$Ga(a,9,0.0);e=+$Ga(a,10,0.0);IDa(a,+((Jfa(b,d,m,l,k,j,h,g,f,e,+$Ga(a,11,0.0))|0)+1|0));a=c[d>>2]|0;if(!a){i=d;return 1}b=c[d+4>>2]|0;if((b|0)!=(a|0)){do{n=b+-16|0;c[d+4>>2]=n;Mqb(n);b=c[d+4>>2]|0}while((b|0)!=(a|0));a=c[d>>2]|0}oAb(a);i=d;return 1}function Xz(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;f=i;i=i+32|0;b=Rz(a,1,20)|0;c[f+8>>2]=0;c[f+8+4>>2]=0;c[f+8+8>>2]=0;Sz(a,2,f+8|0);e=+_Ga(a,3);c[f+4>>2]=4;d=UGa(a,4,0)|0;if(y8(d,f+4|0)|0){p=+$Ga(a,5,0.0);o=+$Ga(a,6,0.0);n=+$Ga(a,7,0.0);m=+$Ga(a,8,1.0);l=+$Ga(a,9,m);k=+$Ga(a,10,0.0);j=+$Ga(a,11,0.0);h=+$Ga(a,12,0.0);g=+$Ga(a,13,0.0);IDa(a,+((Kfa(b,f+8|0,e,c[f+4>>2]|0,p,o,n,m,l,k,j,h,g)|0)+1|0));a=1}else{c[f>>2]=d;a=PGa(a,342885,f)|0}b=c[f+8>>2]|0;if(!b){i=f;return a|0}d=c[f+8+4>>2]|0;if((d|0)!=(b|0)){do{q=d+-16|0;c[f+8+4>>2]=q;Mqb(q);d=c[f+8+4>>2]|0}while((d|0)!=(b|0));b=c[f+8>>2]|0}oAb(b);i=f;return a|0}function Yz(a){a=a|0;Bfa(Rz(a,1,20)|0);return 0}function Zz(a){a=a|0;var b=0;b=Rz(a,1,20)|0;Lfa(b,Cw(a,2,14)|0);return 0}function _z(a){a=a|0;Gs(a,14,Mfa(Rz(a,1,20)|0)|0);return 1}function $z(a){a=a|0;var b=0;b=Rz(a,1,20)|0;IDa(a,+(Nfa(b,~~+$Ga(a,2,0.0)+-1|0)|0));return 1}function aA(a){a=a|0;var b=0;b=Rz(a,1,20)|0;IDa(a,+(Ofa(b,~~+$Ga(a,2,0.0)+-1|0)|0));return 1}function bA(a){a=a|0;var b=0,c=0;c=Rz(a,1,20)|0;b=~~+$Ga(a,2,0.0)+-1|0;IDa(a,+(Nfa(c,b)|0));IDa(a,+(Ofa(c,b)|0));return 2}function cA(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=14780;c[b+4>>2]=0;a=xs(a,20,342908,b)|0;i=b;return a|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((qDa(a,b)|0)!=7){c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0}e=EDa(a,b)|0;if(c[(c[155773]|0)+(c[e>>2]<<3)+(d>>>5<<2)>>2]&1<<(d&31)|0){d=e+4|0;d=c[d>>2]|0;i=f;return d|0}c[f>>2]=439265;Vs(d,f)|0;Ns(a,b,c[f>>2]|0)|0;d=e+4|0;d=c[d>>2]|0;i=f;return d|0}function eA(a){a=a|0;Gs(a,55,$fa(dA(a,1,21)|0)|0);return 1}function fA(a){a=a|0;var b=0;b=dA(a,1,21)|0;if(!(aga(b)|0)){HDa(a);return 1}else{Gs(a,28,aga(b)|0);return 1}return 0}function gA(a){a=a|0;var b=0;b=dA(a,1,21)|0;if((qDa(a,2)|0)<1){bga(b,0);return 0}else{bga(b,ut(a,2,28)|0);return 0}return 0}function hA(a){a=a|0;IDa(a,+(cga(dA(a,1,21)|0)|0));return 1}function iA(a){a=a|0;IDa(a,+(dga(dA(a,1,21)|0)|0));return 1}function jA(a){a=a|0;var b=0;b=dA(a,1,21)|0;IDa(a,+(cga(b)|0));IDa(a,+(dga(b)|0));return 2}function kA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;b=dA(a,1,21)|0;d=fga(b)|0;c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];d=UGa(a,2,0)|0;e=TGa(a,3,d,0)|0;if(!(WC(d,f+16|0)|0)){c[f>>2]=d;a=PGa(a,437032,f)|0;i=f;return a|0}if(WC(e,f+16+4|0)|0){g[f+16+12>>2]=+$Ga(a,4,1.0);ega(b,f+16|0);a=0;i=f;return a|0}else{c[f+8>>2]=e;a=PGa(a,437032,f+8|0)|0;i=f;return a|0}return 0}function lA(a){a=a|0;var b=0,d=0.0,e=0,f=0,h=0;e=i;i=i+32|0;h=fga(dA(a,1,21)|0)|0;f=c[h>>2]|0;b=c[h+4>>2]|0;d=+g[h+12>>2];c[e+16>>2]=0;c[e+12>>2]=0;if(!(XC(f,e+16|0)|0)){h=PGa(a,345239,e)|0;i=e;return h|0}if(XC(b,e+12|0)|0){LDa(a,c[e+16>>2]|0);LDa(a,c[e+12>>2]|0);IDa(a,d);h=3;i=e;return h|0}else{h=PGa(a,345239,e+8|0)|0;i=e;return h|0}return 0}function mA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=14868;c[d+4>>2]=0;b=xs(a,21,342939,d)|0;sHa(a,342976,1619,344595)|0;Cs(a,21);dEa(a,1,0);i=d;return b|0}function nA(a){a=a|0;wj(a);return}function oA(a){a=a|0;return 4}function pA(){var b=0,d=0,e=0,f=0,g=0;g=i;i=i+64|0;a[624840]=0;a[624852]=0;a[624864]=0;a[624876]=0;c[156220]=0;c[156221]=0;b=a[518843]|0;if(!(b<<24>>24))d=5381;else{e=518843;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=5}else{b=d+1&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=5}else{b=d+2&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=5}else{b=d+3&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=5}}}}if((f|0)==5){a[b>>0]=1;c[624832+(d*12|0)>>2]=518843;c[624832+(d*12|0)+4>>2]=0}if(0>1){c[g>>2]=518843;c[g+4>>2]=0;vpb(441068,g)|0}else c[156220]=518843;b=a[344605]|0;if(!(b<<24>>24))d=5381;else{e=344605;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=17}else{b=d+1&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=17}else{b=d+2&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=17}else{b=d+3&3;if(!(a[624832+(b*12|0)+8>>0]|0)){d=b;b=624832+(b*12|0)+8|0;f=17}}}}if((f|0)==17){a[b>>0]=1;c[624832+(d*12|0)>>2]=344605;c[624832+(d*12|0)+4>>2]=1}if(1>1){c[g+8>>2]=344605;c[g+8+4>>2]=1;vpb(441068,g+8|0)|0}else c[156221]=344605;a[624896]=0;a[624908]=0;a[624920]=0;a[624932]=0;a[624944]=0;a[624956]=0;c[156240]=0;c[156241]=0;c[156242]=0;qA(624888,518938,0)|0;qA(624888,503939,1)|0;qA(624888,344610,2)|0;a[624980]=0;a[624992]=0;a[625004]=0;a[625016]=0;a[625028]=0;a[625040]=0;a[625052]=0;a[625064]=0;a[625076]=0;a[625088]=0;a[625100]=0;a[625112]=0;a[625124]=0;a[625136]=0;a[625148]=0;a[625160]=0;c[156291]=0;c[156292]=0;c[156293]=0;c[156294]=0;c[156295]=0;c[156296]=0;c[156297]=0;c[156298]=0;rA(624972,344614,0)|0;rA(624972,344620,1)|0;rA(624972,344624,2)|0;rA(624972,344633,3)|0;rA(624972,344642,4)|0;rA(624972,344650,5)|0;rA(624972,344657,6)|0;rA(624972,344664,7)|0;a[625204]=0;a[625216]=0;a[625228]=0;a[625240]=0;c[156311]=0;c[156312]=0;b=a[344672]|0;if(!(b<<24>>24))d=5381;else{e=344672;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=25}else{b=d+1&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=25}else{b=d+2&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=25}else{b=d+3&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=25}}}}if((f|0)==25){a[b>>0]=1;c[625196+(d*12|0)>>2]=344672;c[625196+(d*12|0)+4>>2]=0}if(0>1){c[g+16>>2]=344672;c[g+16+4>>2]=0;vpb(441068,g+16|0)|0}else c[156311]=344672;b=a[344686]|0;if(!(b<<24>>24))d=5381;else{e=344686;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=37}else{b=d+1&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=37}else{b=d+2&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=37}else{b=d+3&3;if(!(a[625196+(b*12|0)+8>>0]|0)){d=b;b=625196+(b*12|0)+8|0;f=37}}}}if((f|0)==37){a[b>>0]=1;c[625196+(d*12|0)>>2]=344686;c[625196+(d*12|0)+4>>2]=1}if(1>1){c[g+24>>2]=344686;c[g+24+4>>2]=1;vpb(441068,g+24|0)|0}else c[156312]=344686;a[625260]=0;a[625272]=0;a[625284]=0;a[625296]=0;c[156325]=0;c[156326]=0;b=a[590273]|0;if(!(b<<24>>24))d=5381;else{e=590273;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=45}else{b=d+1&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=45}else{b=d+2&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=45}else{b=d+3&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=45}}}}if((f|0)==45){a[b>>0]=1;c[625252+(d*12|0)>>2]=590273;c[625252+(d*12|0)+4>>2]=1}if(1>1){c[g+32>>2]=590273;c[g+32+4>>2]=1;vpb(441068,g+32|0)|0}else c[156326]=590273;b=a[344700]|0;if(!(b<<24>>24))d=5381;else{e=344700;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=57}else{b=d+1&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=57}else{b=d+2&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=57}else{b=d+3&3;if(!(a[625252+(b*12|0)+8>>0]|0)){d=b;b=625252+(b*12|0)+8|0;f=57}}}}if((f|0)==57){a[b>>0]=1;c[625252+(d*12|0)>>2]=344700;c[625252+(d*12|0)+4>>2]=0}if(0>1){c[g+40>>2]=344700;c[g+40+4>>2]=0;vpb(441068,g+40|0)|0}else c[156325]=344700;a[625316]=0;a[625328]=0;a[625340]=0;a[625352]=0;a[625364]=0;a[625376]=0;c[156345]=0;c[156346]=0;c[156347]=0;sA(625308,522333,0)|0;sA(625308,344706,1)|0;sA(625308,344712,2)|0;a[625400]=0;a[625412]=0;a[625424]=0;a[625436]=0;a[625448]=0;a[625460]=0;a[625472]=0;a[625484]=0;a[625496]=0;a[625508]=0;a[625520]=0;a[625532]=0;c[156384]=0;c[156385]=0;c[156386]=0;c[156387]=0;c[156388]=0;c[156389]=0;tA(625392,344664,0)|0;tA(625392,344718,1)|0;tA(625392,344728,2)|0;tA(625392,344738,3)|0;tA(625392,344752,4)|0;tA(625392,344766,5)|0;a[625568]=0;a[625580]=0;a[625592]=0;a[625604]=0;a[625616]=0;a[625628]=0;a[625640]=0;a[625652]=0;a[625664]=0;a[625676]=0;a[625688]=0;a[625700]=0;a[625712]=0;a[625724]=0;c[156432]=0;c[156433]=0;c[156434]=0;c[156435]=0;c[156436]=0;c[156437]=0;c[156438]=0;uA(625560,344773,0)|0;uA(625560,344778,1)|0;uA(625560,344785,2)|0;uA(625560,344791,3)|0;uA(625560,344798,4)|0;uA(625560,344806,5)|0;uA(625560,344815,6)|0;a[625764]=0;a[625776]=0;a[625788]=0;a[625800]=0;a[625812]=0;a[625824]=0;c[156457]=0;c[156458]=0;c[156459]=0;vA(625756,344822,0)|0;vA(625756,345185,1)|0;vA(625756,344642,2)|0;a[625848]=0;a[625860]=0;a[625872]=0;a[625884]=0;a[625896]=0;a[625908]=0;a[625920]=0;a[625932]=0;c[156484]=0;c[156485]=0;c[156486]=0;c[156487]=0;wA(625840,344841,0)|0;wA(625840,344851,1)|0;wA(625840,344863,2)|0;wA(625840,344875,3)|0;a[625960]=0;a[625972]=0;a[625984]=0;a[625996]=0;c[156500]=0;c[156501]=0;b=a[525064]|0;if(!(b<<24>>24))d=5381;else{e=525064;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;do if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=65}else{b=d+1&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=65;break}b=d+2&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=65;break}b=d+3&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=65}}while(0);if((f|0)==65){a[b>>0]=1;c[625952+(d*12|0)>>2]=525064;c[625952+(d*12|0)+4>>2]=0}if(0>1){c[g+48>>2]=525064;c[g+48+4>>2]=0;vpb(441068,g+48|0)|0}else c[156500]=525064;b=a[344886]|0;if(!(b<<24>>24))d=5381;else{e=344886;d=5381;do{e=e+1|0;d=(d*33|0)+(b<<24>>24)|0;b=a[e>>0]|0}while(b<<24>>24!=0)}b=d&3;do if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=77}else{b=d+1&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=77;break}b=d+2&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=77;break}b=d+3&3;if(!(a[625952+(b*12|0)+8>>0]|0)){d=b;b=625952+(b*12|0)+8|0;f=77}}while(0);if((f|0)==77){a[b>>0]=1;c[625952+(d*12|0)>>2]=344886;c[625952+(d*12|0)+4>>2]=1}if(1>1){c[g+56>>2]=344886;c[g+56+4>>2]=1;vpb(441068,g+56|0)|0;a[626016]=0;a[626028]=0;a[626040]=0;a[626052]=0;a[626064]=0;a[626076]=0;a[626088]=0;a[626100]=0;a[626112]=0;a[626124]=0;a[626136]=0;a[626148]=0;c[156538]=0;c[156539]=0;c[156540]=0;c[156541]=0;c[156542]=0;c[156543]=0;xA(626008,344896,0)|0;xA(626008,344906,1)|0;xA(626008,344921,2)|0;xA(626008,344930,3)|0;xA(626008,344937,4)|0;xA(626008,344943,5)|0;i=g;return}else{c[156501]=344886;a[626016]=0;a[626028]=0;a[626040]=0;a[626052]=0;a[626064]=0;a[626076]=0;a[626088]=0;a[626100]=0;a[626112]=0;a[626124]=0;a[626136]=0;a[626148]=0;c[156538]=0;c[156539]=0;c[156540]=0;c[156541]=0;c[156542]=0;c[156543]=0;xA(626008,344896,0)|0;xA(626008,344906,1)|0;xA(626008,344921,2)|0;xA(626008,344930,3)|0;xA(626008,344937,4)|0;xA(626008,344943,5)|0;i=g;return}}function qA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>2){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+72+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function rA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=g&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+1&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+2&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+3&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+4&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+5&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+6&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+7&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+8&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+9&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+10&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+11&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+12&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+13&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+14&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+15&15;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}}}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>7){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+192+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function sA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>2){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+72+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function tA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+6|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+7|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+8|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+9|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+10|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+11|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>5){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+144+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function uA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+6|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+7|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+8|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+9|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+10|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+11|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+12|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+13|0)>>>0)%14|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>6){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+168+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function vA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>2){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+72+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function wA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=g&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+1&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+2&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+3&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+4&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+5&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+6&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=g+7&7;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>3){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+96+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function xA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+6|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+7|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+8|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+9|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+10|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+11|0)>>>0)%12|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}}}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>5){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+144+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function yA(b){b=b|0;a[1247314]=b&1;return}function zA(){return (a[1247314]|0)!=0|0}function AA(b){b=b|0;if(!(a[1247314]|0))return;g[b>>2]=+VE(621072,+g[b>>2]);g[b+4>>2]=+VE(621072,+g[b+4>>2]);g[b+8>>2]=+VE(621072,+g[b+8>>2]);return}function BA(a,b){a=a|0;b=b|0;return CA(624832,a,b)|0}function CA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=a[d>>0]|0;if(!(g<<24>>24))m=5381;else{h=d;i=g;f=5381;do{h=h+1|0;f=(f*33|0)+(i<<24>>24)|0;i=a[h>>0]|0}while(i<<24>>24!=0);m=f}f=m&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;a:do if(!(h<<24>>24)){h=g;l=8}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;while(1){i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=8;break a}if(!(h<<24>>24?j<<24>>24==h<<24>>24:0)){l=10;break}}}else l=10;while(0);if((l|0)==8)if(h<<24>>24)l=10;do if((l|0)==10){f=m+1&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;b:do if(!(h<<24>>24)){h=g;l=16}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=16;break b}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==16)if(!(h<<24>>24))break;f=m+2&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;c:do if(!(h<<24>>24)){h=g;l=22}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=22;break c}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==22)if(!(h<<24>>24))break;f=m+3&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}h=c[b+(f*12|0)>>2]|0;i=a[h>>0]|0;d:do if(i<<24>>24){if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){e=0;b=0;b=e&b;return b|0}while(1){h=h+1|0;d=d+1|0;i=a[h>>0]|0;g=a[d>>0]|0;if(!(i<<24>>24))break d;if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){f=0;g=0;break}}b=f&g;return b|0}while(0);if(g<<24>>24){e=0;b=0;b=e&b;return b|0}}while(0);c[e>>2]=c[b+(f*12|0)+4>>2];e=1;b=1;b=e&b;return b|0}function DA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=((j+f|0)>>>0)%6|0;if(!(a[624888+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[624888+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=6){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[624888+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function EA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=j+f&15;if(!(a[624972+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[624972+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=16){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[624972+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function FA(a,b){a=a|0;b=b|0;if(a>>>0>7)a=0;else{a=c[625164+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function GA(a,b){a=a|0;b=b|0;return HA(625196,a,b)|0}function HA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=a[d>>0]|0;if(!(g<<24>>24))m=5381;else{h=d;i=g;f=5381;do{h=h+1|0;f=(f*33|0)+(i<<24>>24)|0;i=a[h>>0]|0}while(i<<24>>24!=0);m=f}f=m&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;a:do if(!(h<<24>>24)){h=g;l=8}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;while(1){i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=8;break a}if(!(h<<24>>24?j<<24>>24==h<<24>>24:0)){l=10;break}}}else l=10;while(0);if((l|0)==8)if(h<<24>>24)l=10;do if((l|0)==10){f=m+1&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;b:do if(!(h<<24>>24)){h=g;l=16}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=16;break b}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==16)if(!(h<<24>>24))break;f=m+2&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;c:do if(!(h<<24>>24)){h=g;l=22}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=22;break c}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==22)if(!(h<<24>>24))break;f=m+3&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}h=c[b+(f*12|0)>>2]|0;i=a[h>>0]|0;d:do if(i<<24>>24){if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){e=0;b=0;b=e&b;return b|0}while(1){h=h+1|0;d=d+1|0;i=a[h>>0]|0;g=a[d>>0]|0;if(!(i<<24>>24))break d;if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){f=0;g=0;break}}b=f&g;return b|0}while(0);if(g<<24>>24){e=0;b=0;b=e&b;return b|0}}while(0);c[e>>2]=c[b+(f*12|0)+4>>2];e=1;b=1;b=e&b;return b|0}function IA(a,b){a=a|0;b=b|0;if(a>>>0>1)a=0;else{a=c[625244+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function JA(a,b){a=a|0;b=b|0;return KA(625252,a,b)|0}function KA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=a[d>>0]|0;if(!(g<<24>>24))m=5381;else{h=d;i=g;f=5381;do{h=h+1|0;f=(f*33|0)+(i<<24>>24)|0;i=a[h>>0]|0}while(i<<24>>24!=0);m=f}f=m&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;a:do if(!(h<<24>>24)){h=g;l=8}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;while(1){i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=8;break a}if(!(h<<24>>24?j<<24>>24==h<<24>>24:0)){l=10;break}}}else l=10;while(0);if((l|0)==8)if(h<<24>>24)l=10;do if((l|0)==10){f=m+1&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;b:do if(!(h<<24>>24)){h=g;l=16}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=16;break b}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==16)if(!(h<<24>>24))break;f=m+2&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;c:do if(!(h<<24>>24)){h=g;l=22}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=22;break c}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==22)if(!(h<<24>>24))break;f=m+3&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}h=c[b+(f*12|0)>>2]|0;i=a[h>>0]|0;d:do if(i<<24>>24){if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){e=0;b=0;b=e&b;return b|0}while(1){h=h+1|0;d=d+1|0;i=a[h>>0]|0;g=a[d>>0]|0;if(!(i<<24>>24))break d;if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){f=0;g=0;break}}b=f&g;return b|0}while(0);if(g<<24>>24){e=0;b=0;b=e&b;return b|0}}while(0);c[e>>2]=c[b+(f*12|0)+4>>2];e=1;b=1;b=e&b;return b|0}function LA(a,b){a=a|0;b=b|0;if(a>>>0>1)a=0;else{a=c[625300+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function MA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=((j+f|0)>>>0)%6|0;if(!(a[625308+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[625308+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=6){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[625308+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function NA(a,b){a=a|0;b=b|0;if(a>>>0>2)a=0;else{a=c[625380+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function OA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=((j+f|0)>>>0)%12|0;if(!(a[625392+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[625392+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=12){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[625392+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function PA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a[b>>0]|0;if(!(e<<24>>24))f=5381;else{g=b;f=5381;do{g=g+1|0;f=(f*33|0)+(e<<24>>24)|0;e=a[g>>0]|0}while(e<<24>>24!=0)}j=0;while(1){i=((j+f|0)>>>0)%14|0;if(!(a[625560+(i*12|0)+8>>0]|0)){e=1;f=0;k=11;break}g=c[625560+(i*12|0)>>2]|0;h=a[g>>0]|0;a:do if(!(h<<24>>24)){e=b;k=8}else{e=b;while(1){l=a[e>>0]|0;if(!(l<<24>>24?h<<24>>24==l<<24>>24:0))break a;g=g+1|0;e=e+1|0;h=a[g>>0]|0;if(!(h<<24>>24)){k=8;break}}}while(0);if((k|0)==8){k=0;if(!(a[e>>0]|0)){k=9;break}}j=j+1|0;if(j>>>0>=14){e=0;f=0;k=11;break}}if((k|0)==9){c[d>>2]=c[625560+(i*12|0)+4>>2];k=1;l=1;l=k&l;return l|0}else if((k|0)==11){l=e&f;return l|0}return 0}function QA(a,b){a=a|0;b=b|0;if(a>>>0>6)a=0;else{a=c[625728+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function RA(a,b){a=a|0;b=b|0;if(a>>>0>2)a=0;else{a=c[625828+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function SA(a,b){a=a|0;b=b|0;if(a>>>0>3)a=0;else{a=c[625936+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function TA(a,b){a=a|0;b=b|0;return UA(625952,a,b)|0}function UA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=a[d>>0]|0;if(!(g<<24>>24))m=5381;else{h=d;i=g;f=5381;do{h=h+1|0;f=(f*33|0)+(i<<24>>24)|0;i=a[h>>0]|0}while(i<<24>>24!=0);m=f}f=m&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;a:do if(!(h<<24>>24)){h=g;l=8}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;while(1){i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=8;break a}if(!(h<<24>>24?j<<24>>24==h<<24>>24:0)){l=10;break}}}else l=10;while(0);if((l|0)==8)if(h<<24>>24)l=10;do if((l|0)==10){f=m+1&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;b:do if(!(h<<24>>24)){h=g;l=16}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=16;break b}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==16)if(!(h<<24>>24))break;f=m+2&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}i=c[b+(f*12|0)>>2]|0;h=a[i>>0]|0;c:do if(!(h<<24>>24)){h=g;l=22}else if(g<<24>>24?h<<24>>24==g<<24>>24:0){k=d;do{i=i+1|0;k=k+1|0;j=a[i>>0]|0;h=a[k>>0]|0;if(!(j<<24>>24)){l=22;break c}}while(h<<24>>24?j<<24>>24==h<<24>>24:0)}while(0);if((l|0)==22)if(!(h<<24>>24))break;f=m+3&3;if(!(a[b+(f*12|0)+8>>0]|0)){e=1;b=0;b=e&b;return b|0}h=c[b+(f*12|0)>>2]|0;i=a[h>>0]|0;d:do if(i<<24>>24){if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){e=0;b=0;b=e&b;return b|0}while(1){h=h+1|0;d=d+1|0;i=a[h>>0]|0;g=a[d>>0]|0;if(!(i<<24>>24))break d;if(!(g<<24>>24?i<<24>>24==g<<24>>24:0)){f=0;g=0;break}}b=f&g;return b|0}while(0);if(g<<24>>24){e=0;b=0;b=e&b;return b|0}}while(0);c[e>>2]=c[b+(f*12|0)+4>>2];e=1;b=1;b=e&b;return b|0}function VA(a,b){a=a|0;b=b|0;if(a>>>0>5)a=0;else{a=c[626152+(a<<2)>>2]|0;if(!a)a=0;else{c[b>>2]=a;a=1}}return a|0}function WA(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=14948;b=c[a+8>>2]|0;if(b|0)aBb(b);c[a+8>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;b=c[a+212>>2]|0;if(b|0){d=c[a+216>>2]|0;if((d|0)!=(b|0)){do{d=d+-4|0;c[a+216>>2]=d;e=c[d>>2]|0;if(e){Hi[c[(c[e>>2]|0)+12>>2]&1023](e);d=c[a+216>>2]|0}}while((d|0)!=(b|0));b=c[a+212>>2]|0}oAb(b)}b=c[a+200>>2]|0;if(b|0){d=c[a+204>>2]|0;if((d|0)!=(b|0))c[a+204>>2]=d+(~((d+-16-b|0)>>>4)<<4);oAb(b)}b=c[a+152>>2]|0;if(b|0){d=c[a+156>>2]|0;if((d|0)!=(b|0))c[a+156>>2]=d+(~((d+-4-b|0)>>>2)<<2);oAb(b)}b=c[a+24>>2]|0;if(!b)return;Hi[c[(c[b>>2]|0)+12>>2]&1023](b);return}function XA(a){a=a|0;WA(a);oAb(a);return}function YA(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((b+-1|0)>>>0>536870910){a=nf(16)|0;ds(a,345042,e);zc(a|0,96,27)}d=c[a+8>>2]|0;if(d|0)aBb(d);c[a+8>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;ZA(a,b);d=c[a+8>>2]|0;if(!d){i=e;return}c[a+12>>2]=d;c[a+16>>2]=0;c[a+20>>2]=0;c[a+40>>2]=0;c[a+84>>2]=c[a+80>>2];g[a+48>>2]=0.0;i=e;return}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=_Ab(b>>>0>39768215?-1:b*108|0)|0;if(b|0){e=d;do{f=e+16|0;g=e+88|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=e+108|0}while((e|0)!=(d+(b*108|0)|0))}c[a+8>>2]=d;c[a+12>>2]=d;c[a+36>>2]=b;return}function _A(){$E(621024);a[626184]=0;a[626196]=0;a[626208]=0;a[626220]=0;a[626232]=0;a[626244]=0;c[156562]=0;c[156563]=0;c[156564]=0;$A(626176,522333,0)|0;$A(626176,345062,1)|0;$A(626176,518066,2)|0;a[626268]=0;a[626280]=0;a[626292]=0;a[626304]=0;a[626316]=0;a[626328]=0;c[156583]=0;c[156584]=0;c[156585]=0;aB(626260,345070,0)|0;aB(626260,345074,1)|0;aB(626260,519150,2)|0;return}function $A(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>2){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+72+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function aB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=a[d>>0]|0;if(!(f<<24>>24))g=5381;else{h=d;g=5381;do{h=h+1|0;g=(g*33|0)+(f<<24>>24)|0;f=a[h>>0]|0}while(f<<24>>24!=0)}f=(g>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+1|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+2|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+3|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+4|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else{f=((g+5|0)>>>0)%6|0;if(!(a[b+(f*12|0)+8>>0]|0)){g=f;f=b+(f*12|0)+8|0;j=5}else f=0}}}}}if((j|0)==5){a[f>>0]=1;c[b+(g*12|0)>>2]=d;c[b+(g*12|0)+4>>2]=e;f=1}if(e>>>0>2){c[k>>2]=d;c[k+4>>2]=e;vpb(441068,k)|0;j=0;i=k;return j|0}else{c[b+72+(e<<2)>>2]=d;j=f;i=k;return j|0}return 0}function bB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0;j=i;i=i+32|0;Jj(b);c[b>>2]=14948;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=d;if(d|0)Hi[c[(c[d>>2]|0)+8>>2]&1023](d);a[b+28>>0]=1;f=b+32|0;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));g[b+80>>2]=-1.0;f=b+84|0;h=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));h=vi[c[(c[d>>2]|0)+24>>2]&2047](d)|0;k=+(vi[c[(c[d>>2]|0)+28>>2]&2047](d)|0)*.5;g[b+188>>2]=+(h|0)*.5;g[b+192>>2]=k;a[b+196>>0]=1;c[b+200>>2]=0;c[b+200+4>>2]=0;c[b+200+8>>2]=0;c[b+200+12>>2]=0;c[b+200+16>>2]=0;c[b+200+20>>2]=0;a[b+200+24>>0]=0;if((e+-1|0)>>>0>536870910){b=nf(16)|0;ds(b,345081,j);zc(b|0,96,27)}g[j+24>>2]=1.0;d=c[b+156>>2]|0;if(d>>>0<(c[b+160>>2]|0)>>>0){c[d>>2]=1065353216;c[b+156>>2]=d+4;d=0;f=0}else{cB(b+152|0,j+24|0);d=c[b+204>>2]|0;f=c[b+208>>2]|0}g[j+8>>2]=1.0;g[j+8+4>>2]=1.0;g[j+8+8>>2]=1.0;g[j+8+12>>2]=1.0;if(d>>>0>>0){c[d>>2]=c[j+8>>2];c[d+4>>2]=c[j+8+4>>2];c[d+8>>2]=c[j+8+8>>2];c[d+12>>2]=c[j+8+12>>2];c[b+204>>2]=(c[b+204>>2]|0)+16;h=c[b>>2]|0;h=h+24|0;h=c[h>>2]|0;si[h&511](b,e);i=j;return}else{dB(b+200|0,j+8|0);h=c[b>>2]|0;h=h+24|0;h=c[h>>2]|0;si[h&511](b,e);i=j;return}}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function dB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>4)+1|0;if(d>>>0>268435455)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>4>>>0<134217727){d=e>>3>>>0>>0?d:e>>3;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>4;d=f}else{h=f;e=f-j>>4;k=6}}else{e=c[a+4>>2]|0;d=268435455;h=e;e=e-j>>4;k=6}if((k|0)==6){i=d;g=YAb(d<<4)|0;d=h}k=g+(e<<4)|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];b=d-j|0;mBb(k+(0-(b>>4)<<4)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>4)<<4);c[a+4>>2]=k+16;c[a+8>>2]=g+(i<<4);if(!j)return;oAb(j);return}function eB(b,d){b=b|0;d=d|0;var e=0;Jj(b);c[b>>2]=14948;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;e=c[d+24>>2]|0;c[b+24>>2]=e;if(e|0)Hi[c[(c[e>>2]|0)+8>>2]&1023](e);a[b+28>>0]=a[d+28>>0]|0;c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=0;c[b+44>>2]=c[d+44>>2];g[b+48>>2]=0.0;e=c[d+52+4>>2]|0;c[b+52>>2]=c[d+52>>2];c[b+52+4>>2]=e;e=c[d+60+4>>2]|0;c[b+60>>2]=c[d+60>>2];c[b+60+4>>2]=e;c[b+68>>2]=c[d+68>>2];e=c[d+72+4>>2]|0;c[b+72>>2]=c[d+72>>2];c[b+72+4>>2]=e;c[b+80>>2]=c[d+80>>2];c[b+84>>2]=c[d+80>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+96>>2]=c[d+96>>2];c[b+100>>2]=c[d+100>>2];c[b+104>>2]=c[d+104>>2];c[b+108>>2]=c[d+108>>2];e=c[d+112+4>>2]|0;c[b+112>>2]=c[d+112>>2];c[b+112+4>>2]=e;e=c[d+120+4>>2]|0;c[b+120>>2]=c[d+120>>2];c[b+120+4>>2]=e;c[b+128>>2]=c[d+128>>2];c[b+132>>2]=c[d+132>>2];c[b+136>>2]=c[d+136>>2];c[b+140>>2]=c[d+140>>2];c[b+144>>2]=c[d+144>>2];c[b+148>>2]=c[d+148>>2];fB(b+152|0,d+152|0);c[b+164>>2]=c[d+164>>2];c[b+168>>2]=c[d+168>>2];c[b+172>>2]=c[d+172>>2];c[b+176>>2]=c[d+176>>2];c[b+180>>2]=c[d+180>>2];c[b+184>>2]=c[d+184>>2];e=c[d+188+4>>2]|0;c[b+188>>2]=c[d+188>>2];c[b+188+4>>2]=e;a[b+196>>0]=a[d+196>>0]|0;gB(b+200|0,d+200|0);hB(b+212|0,d+212|0);a[b+224>>0]=a[d+224>>0]|0;si[c[(c[b>>2]|0)+24>>2]&511](b,c[b+36>>2]|0);return}function fB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;d=(c[b+4>>2]|0)-(c[b>>2]|0)|0;if(!(d>>2))return;if(d>>2>>>0>1073741823)jzb(a);g=YAb(d)|0;c[a+4>>2]=g;c[a>>2]=g;c[a+8>>2]=g+(d>>2<<2);f=c[b>>2]|0;b=c[b+4>>2]|0;if((f|0)==(b|0))return;d=f;e=g;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}c[a+4>>2]=g+(((b+-4-f|0)>>>2)+1<<2);return}function gB(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;e=(c[b+4>>2]|0)-(c[b>>2]|0)|0;if(!(e>>4))return;if(e>>4>>>0>268435455)jzb(a);d=YAb(e)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e>>4<<4);e=c[b>>2]|0;b=c[b+4>>2]|0;if((e|0)==(b|0))return;do{c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];d=(c[a+4>>2]|0)+16|0;c[a+4>>2]=d;e=e+16|0}while((e|0)!=(b|0));return}function hB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;e=(c[b+4>>2]|0)-(c[b>>2]|0)|0;if(!(e>>2))return;if(e>>2>>>0>1073741823)jzb(a);d=YAb(e)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(e>>2<<2);e=c[b>>2]|0;f=c[b+4>>2]|0;if((e|0)==(f|0))return;do{b=c[e>>2]|0;c[d>>2]=b;if(b){Hi[c[(c[b>>2]|0)+8>>2]&1023](b);d=c[a+4>>2]|0}d=d+4|0;c[a+4>>2]=d;e=e+4|0}while((e|0)!=(f|0));return}function iB(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(!b)return;c[a+12>>2]=b;c[a+16>>2]=0;c[a+20>>2]=0;c[a+40>>2]=0;c[a+84>>2]=c[a+80>>2];g[a+48>>2]=0.0;return}function jB(a){a=a|0;return c[a+36>>2]|0}function kB(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;if((c[a+40>>2]|0)==(c[a+36>>2]|0))return;g=c[a+12>>2]|0;c[a+12>>2]=g+108;lB(a,g,b);a:do switch(c[a+32>>2]|0){case 2:{d=cF(621024)|0;f=c[a+40>>2]|0;d=yBb(d|0,C|0,jBb(f|0,0,1,0)|0,C|0)|0;if((d|0)==(f|0)&(C|0)==0){d=c[a+16>>2]|0;if(d|0)c[d>>2]=g;c[g>>2]=0;c[g+4>>2]=d;c[a+16>>2]=g;break a}e=c[a+8>>2]|0;f=c[e+(d*108|0)+4>>2]|0;c[e+(d*108|0)+4>>2]=g;if(!f)c[a+20>>2]=g;else c[f>>2]=g;c[g>>2]=e+(d*108|0);c[g+4>>2]=f;break}case 1:{if(!(c[a+20>>2]|0)){c[a+20>>2]=g;c[g+4>>2]=0;d=a+16|0}else{d=c[a+16>>2]|0;c[d>>2]=g;c[g+4>>2]=d;d=a+16|0}c[g>>2]=0;c[d>>2]=g;break}default:{if(!(c[a+16>>2]|0)){c[a+16>>2]=g;c[g>>2]=0;d=a+20|0}else{d=c[a+20>>2]|0;c[d+4>>2]=g;c[g>>2]=d;d=a+20|0}c[g+4>>2]=0;c[d>>2]=g}}while(0);c[a+40>>2]=(c[a+40>>2]|0)+1;return}function lB(b,d,e){b=b|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0,k=0.0;i=+g[b+60>>2];h=+g[b+64>>2];i=i+(+g[b+52>>2]-i)*e;h=h+(+g[b+56>>2]-h)*e;e=+g[b+88>>2];f=+g[b+92>>2];if(!(e==f)){j=cF(621024)|0;e=e+(f-e)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20)}g[d+12>>2]=e;g[d+8>>2]=e;g[d+16>>2]=i;g[d+20>>2]=h;switch(c[b+68>>2]|0){case 1:{f=+g[b+72>>2];j=cF(621024)|0;g[d+16>>2]=+g[d+16>>2]+(-f+(f+f)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20));f=+g[b+76>>2];j=cF(621024)|0;g[d+20>>2]=+g[d+20>>2]+(-f+(f+f)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20));break}case 2:{g[d+16>>2]=+dF(621024,+g[b+72>>2])+ +g[d+16>>2];g[d+20>>2]=+dF(621024,+g[b+76>>2])+ +g[d+20>>2];break}default:{}}g[d+24>>2]=i;g[d+28>>2]=h;e=+g[b+104>>2];i=+g[b+108>>2];j=cF(621024)|0;e=e+(i-e)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+96>>2];h=+g[b+100>>2]*.5;j=cF(621024)|0;h=i-h+(+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20*(i+h-(i-h));i=+R(+h)*e;g[d+32>>2]=+Q(+h)*e;g[d+36>>2]=i;i=+g[b+112>>2];e=+g[b+120>>2];j=cF(621024)|0;g[d+40>>2]=i+(e-i)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+116>>2];e=+g[b+124>>2];j=cF(621024)|0;g[d+44>>2]=i+(e-i)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+128>>2];e=+g[b+132>>2];j=cF(621024)|0;g[d+48>>2]=i+(e-i)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+136>>2];e=+g[b+140>>2];j=cF(621024)|0;g[d+52>>2]=i+(e-i)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+144>>2];e=+g[b+148>>2];j=cF(621024)|0;g[d+56>>2]=i+(e-i)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+164>>2];j=cF(621024)|0;g[d+64>>2]=i*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);i=+g[b+164>>2];j=cF(621024)|0;e=+g[d+64>>2];g[d+68>>2]=1.0-i*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20)-e;j=c[b+152>>2]|0;c[d+60>>2]=c[j+((_(((c[b+156>>2]|0)-j>>2)+-1|0,~~(e+-.5)>>>0)|0)<<2)>>2];e=+g[b+168>>2];i=+g[b+172>>2];h=+g[b+176>>2];f=+g[b+180>>2]*.5*+g[b+184>>2];j=cF(621024)|0;k=(+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20;g[d+80>>2]=(h+f)*k+(h-f)*(1.0-k);k=+g[b+180>>2];f=+g[b+176>>2]*.5*+g[b+184>>2];j=cF(621024)|0;h=(+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20;g[d+84>>2]=(k+f)*h+(k-f)*(1.0-h);j=cF(621024)|0;e=e+(i-e)*((+(j>>>0)+4294967296.0*+(C>>>0))*5.421010862427522e-20);g[d+72>>2]=e;g[d+76>>2]=e;if(!(a[b+224>>0]|0)){j=d+88|0;b=b+200|0;b=c[b>>2]|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=d+104|0;c[j>>2]=0;return}g[d+76>>2]=e+ +W(+(+g[d+36>>2]),+(+g[d+32>>2]));j=d+88|0;b=b+200|0;b=c[b>>2]|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=d+104|0;c[j>>2]=0;return}function mB(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,j=0,k=0;k=i;i=i+32|0;if(d|0)Hi[c[(c[d>>2]|0)+8>>2]&1023](d);j=c[b+24>>2]|0;if(j|0)Hi[c[(c[j>>2]|0)+12>>2]&1023](j);c[b+24>>2]=d;if(!(a[b+196>>0]|0)){i=k;return}j=c[b+212>>2]|0;if((j|0)==(c[b+216>>2]|0)){f=+(vi[c[(c[d>>2]|0)+24>>2]&2047](d)|0)*.5;d=c[b+24>>2]|0;e=+(vi[c[(c[d>>2]|0)+28>>2]&2047](d)|0)*.5}else{GC(k,c[j>>2]|0);e=+h[k+8>>3]*.5;f=+h[k>>3]*.5}g[b+188>>2]=f;g[b+192>>2]=e;i=k;return}function nB(a){a=a|0;return c[a+24>>2]|0}function oB(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function pB(a){a=a|0;return c[a+32>>2]|0}function qB(a,b){a=a|0;b=+b;var c=0;c=i;i=i+16|0;if(b<0.0){a=nf(16)|0;ds(a,345110,c);zc(a|0,96,27)}else{g[a+44>>2]=b;i=c;return}}function rB(a){a=a|0;return +(+g[a+44>>2])}function sB(a,b){a=a|0;b=+b;g[a+80>>2]=b;g[a+84>>2]=b;return}function tB(a){a=a|0;return +(+g[a+80>>2])}function uB(a,b,c){a=a|0;b=+b;c=+c;g[a+88>>2]=b;g[a+92>>2]=c==0.0?b:c;return}function vB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+88>>2];c[d>>2]=c[a+92>>2];return}function wB(a,b,c){a=a|0;b=+b;c=+c;g[a+52>>2]=b;g[a+56>>2]=c;g[a+60>>2]=b;g[a+64>>2]=c;return}function xB(a){a=a|0;return a+52|0}function yB(a,b,c){a=a|0;b=+b;c=+c;g[a+52>>2]=b;g[a+56>>2]=c;return}function zB(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;g[a+72>>2]=d;g[a+76>>2]=e;c[a+68>>2]=b;return}function AB(a){a=a|0;return c[a+68>>2]|0}function BB(a){a=a|0;return a+72|0}function CB(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function DB(a){a=a|0;return +(+g[a+96>>2])}function EB(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function FB(a){a=a|0;return +(+g[a+100>>2])}function GB(a,b,c){a=a|0;b=+b;c=+c;g[a+104>>2]=b;g[a+108>>2]=c;return}function HB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+104>>2];c[d>>2]=c[a+108>>2];return}function IB(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;g[a+112>>2]=b;g[a+116>>2]=c;g[a+120>>2]=d;g[a+124>>2]=e;return}function JB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+112+4>>2]|0;c[b>>2]=c[a+112>>2];c[b+4>>2]=e;b=c[a+120+4>>2]|0;c[d>>2]=c[a+120>>2];c[d+4>>2]=b;return}function KB(a,b,c){a=a|0;b=+b;c=+c;g[a+128>>2]=b;g[a+132>>2]=c;return}function LB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+128>>2];c[d>>2]=c[a+132>>2];return}function MB(a,b,c){a=a|0;b=+b;c=+c;g[a+136>>2]=b;g[a+140>>2]=c;return}function NB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+136>>2];c[d>>2]=c[a+140>>2];return}function OB(a,b,c){a=a|0;b=+b;c=+c;g[a+144>>2]=b;g[a+148>>2]=c;return}function PB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+144>>2];c[d>>2]=c[a+148>>2];return}function QB(a,b){a=a|0;b=+b;var d=0,e=0;d=c[a+156>>2]|0;e=c[a+152>>2]|0;if(!(d-e>>2)){RB(a+152|0,1);a=c[a+152>>2]|0;g[a>>2]=b;return}if(d-e>>2>>>0<=1){a=e;g[a>>2]=b;return}if((d|0)==(e+4|0)){a=e;g[a>>2]=b;return}c[a+156>>2]=d+(~((d+-4-(e+4)|0)>>>2)<<2);a=e;g[a>>2]=b;return}function RB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+8>>2]|0;e=c[a+4>>2]|0;if(d-e>>2>>>0>=b>>>0){hBb(e|0,0,b<<2|0)|0;c[a+4>>2]=e+(b<<2);return}j=c[a>>2]|0;if(((e-j>>2)+b|0)>>>0>1073741823)jzb(a);if(d-j>>2>>>0<536870911){d=d-j>>1>>>0<((e-j>>2)+b|0)>>>0?(e-j>>2)+b|0:d-j>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=8}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=8}if((k|0)==8){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;hBb(k|0,0,b<<2|0)|0;h=d-j|0;mBb(k+(0-(h>>2)<<2)|0,j|0,h|0)|0;c[a>>2]=k+(0-(h>>2)<<2);c[a+4>>2]=k+(b<<2);c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function SB(a,b){a=a|0;b=b|0;if((a+152|0)==(b|0))return;TB(a+152|0,c[b>>2]|0,c[b+4>>2]|0);return}function TB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[a+8>>2]|0;f=c[a>>2]|0;if(d-b>>2>>>0<=e-f>>2>>>0){e=(c[a+4>>2]|0)-f>>2;h=d-b>>2>>>0>e>>>0?b+(e<<2)|0:d;nBb(f|0,b|0,h-b|0)|0;if(d-b>>2>>>0<=e>>>0){e=c[a+4>>2]|0;if((e|0)==(f+(h-b>>2<<2)|0))return;c[a+4>>2]=e+(~((e+-4-(f+(h-b>>2<<2))|0)>>>2)<<2);return}if((h|0)==(d|0))return;g=c[a+4>>2]|0;e=b+(e<<2)|0;f=g;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}c[a+4>>2]=g+(((d+-4-h|0)>>>2)+1<<2);return}if(f){e=c[a+4>>2]|0;if((e|0)!=(f|0))c[a+4>>2]=e+(~((e+-4-f|0)>>>2)<<2);oAb(f);c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=0;e=0}if(d-b>>2>>>0>1073741823)jzb(a);e=e-0|0;if(e>>2>>>0<536870911){e=e>>1>>>0>2>>>0?d-b>>2:e>>1;if(e>>>0>1073741823)jzb(a);else h=e}else h=1073741823;g=YAb(h<<2)|0;c[a+4>>2]=g;c[a>>2]=g;c[a+8>>2]=g+(h<<2);if((b|0)==(d|0))return;e=b;f=g;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}c[a+4>>2]=g+(((d+-4-b|0)>>>2)+1<<2);return}function UB(a){a=a|0;return a+152|0}function VB(a,b){a=a|0;b=+b;g[a+164>>2]=b;return}function WB(a){a=a|0;return +(+g[a+164>>2])}function XB(a,b,c){a=a|0;b=+b;c=+c;g[a+168>>2]=b;g[a+172>>2]=c;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+168>>2];c[d>>2]=c[a+172>>2];return}function ZB(a,b,c){a=a|0;b=+b;c=+c;g[a+176>>2]=b;g[a+180>>2]=c;return}function _B(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+176>>2];c[d>>2]=c[a+180>>2];return}function $B(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function aC(a){a=a|0;return +(+g[a+184>>2])}function bC(b,c,d){b=b|0;c=+c;d=+d;g[b+188>>2]=c;g[b+192>>2]=d;a[b+196>>0]=0;return}function cC(a,b){a=a|0;b=b|0;var d=0;d=c[b+188+4>>2]|0;c[a>>2]=c[b+188>>2];c[a+4>>2]=d;return}function dC(a,b){a=a|0;b=b|0;var d=0;if((a+200|0)!=(b|0))eC(a+200|0,c[b>>2]|0,c[b+4>>2]|0);b=c[a+200>>2]|0;a=c[a+204>>2]|0;if((b|0)==(a|0))return;do{g[b>>2]=+g[b>>2]/255.0;d=b+4|0;g[d>>2]=+g[d>>2]/255.0;d=b+8|0;g[d>>2]=+g[d>>2]/255.0;d=b+12|0;g[d>>2]=+g[d>>2]/255.0;b=b+16|0}while((b|0)!=(a|0));return}function eC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+8>>2]|0;g=c[a>>2]|0;if(d-b>>4>>>0<=e-g>>4>>>0){e=(c[a+4>>2]|0)-g>>4;f=d-b>>4>>>0>e>>>0?b+(e<<4)|0:d;nBb(g|0,b|0,f-b|0)|0;if(d-b>>4>>>0<=e>>>0){e=c[a+4>>2]|0;if((e|0)==(g+(f-b>>4<<4)|0))return;c[a+4>>2]=e+(~((e+-16-(g+(f-b>>4<<4))|0)>>>4)<<4);return}if((f|0)==(d|0))return;e=b+(e<<4)|0;b=c[a+4>>2]|0;do{c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=(c[a+4>>2]|0)+16|0;c[a+4>>2]=b;e=e+16|0}while((e|0)!=(d|0));return}if(g){e=c[a+4>>2]|0;if((e|0)!=(g|0))c[a+4>>2]=e+(~((e+-16-g|0)>>>4)<<4);oAb(g);c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=0;e=0}if(d-b>>4>>>0>268435455)jzb(a);e=e-0|0;if(e>>4>>>0<134217727){e=e>>3>>>0>4>>>0?d-b>>4:e>>3;if(e>>>0>268435455)jzb(a);else f=e}else f=268435455;e=YAb(f<<4)|0;c[a+4>>2]=e;c[a>>2]=e;c[a+8>>2]=e+(f<<4);if((b|0)==(d|0))return;do{c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=(c[a+4>>2]|0)+16|0;c[a+4>>2]=e;b=b+16|0}while((b|0)!=(d|0));return}function fC(a,b){a=a|0;b=b|0;var d=0;gB(a,b+200|0);b=c[a>>2]|0;a=c[a+4>>2]|0;if((b|0)==(a|0))return;do{g[b>>2]=+g[b>>2]*255.0;d=b+4|0;g[d>>2]=+g[d>>2]*255.0;d=b+8|0;g[d>>2]=+g[d>>2]*255.0;d=b+12|0;g[d>>2]=+g[d>>2]*255.0;b=b+16|0}while((b|0)!=(a|0));return}function gC(b,d){b=b|0;d=d|0;var e=0,f=0.0,j=0.0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;c[n+36>>2]=0;m=n+36+4|0;c[m>>2]=0;c[n+36+8>>2]=0;hC(n+36|0,(c[d+4>>2]|0)-(c[d>>2]|0)>>2);e=c[d>>2]|0;l=c[d+4>>2]|0;if((e|0)!=(l|0))do{k=c[e>>2]|0;c[n+32>>2]=k;if(k|0)Hi[c[(c[k>>2]|0)+8>>2]&1023](k);d=c[m>>2]|0;if(d>>>0<(c[n+36+8>>2]|0)>>>0){c[d>>2]=k;if(k){Hi[c[(c[k>>2]|0)+8>>2]&1023](k);d=c[m>>2]|0}c[m>>2]=d+4}else jC(n+36|0,n+32|0);if(k|0)Hi[c[(c[k>>2]|0)+12>>2]&1023](k);e=e+4|0}while((e|0)!=(l|0));if((b+212|0)!=(n+36|0))iC(b+212|0,c[n+36>>2]|0,c[m>>2]|0);if(a[b+196>>0]|0){d=c[b+212>>2]|0;if((d|0)==(c[b+216>>2]|0)){l=c[b+24>>2]|0;l=vi[c[(c[l>>2]|0)+24>>2]&2047](l)|0;k=c[b+24>>2]|0;f=+(vi[c[(c[k>>2]|0)+28>>2]&2047](k)|0)*.5;j=+(l|0)*.5}else{GC(n,c[d>>2]|0);f=+h[n+8>>3]*.5;j=+h[n>>3]*.5}g[b+188>>2]=j;g[b+192>>2]=f}d=c[n+36>>2]|0;if(!d){i=n;return}e=c[m>>2]|0;if((e|0)!=(d|0)){do{e=e+-4|0;c[m>>2]=e;k=c[e>>2]|0;if(k){Hi[c[(c[k>>2]|0)+12>>2]&1023](k);e=c[m>>2]|0}}while((e|0)!=(d|0));d=c[n+36>>2]|0}oAb(d);i=n;return}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;if((c[a+8>>2]|0)-h>>2>>>0>=b>>>0)return;e=c[a+4>>2]|0;if(!b)d=0;else d=YAb(b<<2)|0;i=d+(e-h>>2<<2)|0;g=d+(b<<2)|0;if((e|0)==(h|0)){b=i;f=h;d=h}else{f=i;d=i;do{e=e+-4|0;b=c[e>>2]|0;c[f+-4>>2]=b;if(b|0)Hi[c[(c[b>>2]|0)+8>>2]&1023](b);f=d+-4|0;d=f}while((e|0)!=(h|0));b=d;f=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=b;c[a+4>>2]=i;c[a+8>>2]=g;e=f;if((d|0)!=(e|0))do{d=d+-4|0;b=c[d>>2]|0;if(b|0)Hi[c[(c[b>>2]|0)+12>>2]&1023](b)}while((d|0)!=(e|0));if(!f)return;oAb(f);return}function iC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a+8>>2]|0;e=c[a>>2]|0;if(d-b>>2>>>0>f-e>>2>>>0){if(!e)e=f;else{f=c[a+4>>2]|0;if((f|0)!=(e|0)){do{f=f+-4|0;c[a+4>>2]=f;g=c[f>>2]|0;if(g){Hi[c[(c[g>>2]|0)+12>>2]&1023](g);f=c[a+4>>2]|0}}while((f|0)!=(e|0));e=c[a>>2]|0}oAb(e);c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=0;e=0}if(d-b>>2>>>0>1073741823)jzb(a);e=e-0|0;if(e>>2>>>0<536870911){e=e>>1>>>0>2>>>0?d-b>>2:e>>1;if(e>>>0>1073741823)jzb(a);else h=e}else h=1073741823;e=YAb(h<<2)|0;c[a+4>>2]=e;c[a>>2]=e;c[a+8>>2]=e+(h<<2);if((b|0)==(d|0))return;do{f=c[b>>2]|0;c[e>>2]=f;if(f){Hi[c[(c[f>>2]|0)+8>>2]&1023](f);e=c[a+4>>2]|0}e=e+4|0;c[a+4>>2]=e;b=b+4|0}while((b|0)!=(d|0));return}k=(c[a+4>>2]|0)-e>>2;j=d-b>>2>>>0>k>>>0?b+(k<<2)|0:d;if((j|0)==(b|0))g=e;else{f=b;g=e;while(1){h=c[f>>2]|0;if(h|0)Hi[c[(c[h>>2]|0)+8>>2]&1023](h);i=c[g>>2]|0;if(i|0)Hi[c[(c[i>>2]|0)+12>>2]&1023](i);c[g>>2]=h;f=f+4|0;if((f|0)==(j|0))break;else g=g+4|0}g=e+(((j+-4-b|0)>>>2)+1<<2)|0}if(d-b>>2>>>0<=k>>>0){e=c[a+4>>2]|0;if((e|0)==(g|0))return;do{e=e+-4|0;c[a+4>>2]=e;f=c[e>>2]|0;if(f){Hi[c[(c[f>>2]|0)+12>>2]&1023](f);e=c[a+4>>2]|0}}while((e|0)!=(g|0));return}if((j|0)==(d|0))return;b=b+(k<<2)|0;e=c[a+4>>2]|0;do{f=c[b>>2]|0;c[e>>2]=f;if(f){Hi[c[(c[f>>2]|0)+8>>2]&1023](f);e=c[a+4>>2]|0}e=e+4|0;c[a+4>>2]=e;b=b+4|0}while((b|0)!=(d|0));return}function jC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=c[a>>2]|0;e=((c[a+4>>2]|0)-h>>2)+1|0;if(e>>>0>1073741823)jzb(a);d=(c[a+8>>2]|0)-h|0;if(d>>2>>>0<536870911){d=d>>1>>>0>>0?e:d>>1;f=c[a+4>>2]|0;if(!d){i=0;d=0;e=f-h>>2}else{g=f;e=f-h>>2;j=6}}else{e=c[a+4>>2]|0;d=1073741823;g=e;e=e-h>>2;j=6}if((j|0)==6){i=d;d=YAb(d<<2)|0;f=g}j=d+(e<<2)|0;i=d+(i<<2)|0;d=c[b>>2]|0;c[j>>2]=d;if(!d)d=f;else{Hi[c[(c[d>>2]|0)+8>>2]&1023](d);d=c[a+4>>2]|0;h=c[a>>2]|0}if((d|0)==(h|0)){e=j;g=d}else{f=d;g=j;d=j;do{f=f+-4|0;e=c[f>>2]|0;c[g+-4>>2]=e;if(e|0)Hi[c[(c[e>>2]|0)+8>>2]&1023](e);g=d+-4|0;d=g}while((f|0)!=(h|0));e=d;g=c[a>>2]|0;d=c[a+4>>2]|0}c[a>>2]=e;c[a+4>>2]=j+4;c[a+8>>2]=i;f=g;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;if(e|0)Hi[c[(c[e>>2]|0)+12>>2]&1023](e)}while((d|0)!=(f|0));if(!g)return;oAb(g);return}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;g=c[b+216>>2]|0;b=c[b+212>>2]|0;if(!(g-b>>2)){e=0;d=0}else{d=YAb(g-b|0)|0;c[a>>2]=d;c[a+4>>2]=d;c[a+8>>2]=d+(g-b>>2<<2);e=d+(g-b>>2<<2)|0}if((b|0)==(g|0)){i=h;return}f=e;while(1){e=c[b>>2]|0;c[h>>2]=e;if(d>>>0>>0){c[d>>2]=e;c[a+4>>2]=(c[a+4>>2]|0)+4}else lC(a,h);b=b+4|0;if((b|0)==(g|0))break;d=c[a+4>>2]|0;f=c[a+8>>2]|0}i=h;return}function lC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a>>2]|0;d=((c[a+4>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)jzb(a);e=(c[a+8>>2]|0)-j|0;if(e>>2>>>0<536870911){d=e>>1>>>0>>0?d:e>>1;f=c[a+4>>2]|0;if(!d){i=0;g=0;e=f-j>>2;d=f}else{h=f;e=f-j>>2;k=6}}else{e=c[a+4>>2]|0;d=1073741823;h=e;e=e-j>>2;k=6}if((k|0)==6){i=d;g=YAb(d<<2)|0;d=h}k=g+(e<<2)|0;c[k>>2]=c[b>>2];b=d-j|0;mBb(k+(0-(b>>2)<<2)|0,j|0,b|0)|0;c[a>>2]=k+(0-(b>>2)<<2);c[a+4>>2]=k+4;c[a+8>>2]=g+(i<<2);if(!j)return;oAb(j);return}function mC(b,c){b=b|0;c=c|0;a[b+224>>0]=c&1;return}function nC(b){b=b|0;return (a[b+224>>0]|0)!=0|0}function oC(a){a=a|0;return c[a+40>>2]|0}function pC(b){b=b|0;a[b+28>>0]=1;return}function qC(b){b=b|0;a[b+28>>0]=0;c[b+84>>2]=c[b+80>>2];g[b+48>>2]=0.0;return}function rC(b){b=b|0;a[b+28>>0]=0;return}function sC(b,d){b=b|0;d=d|0;var e=0;if(!(a[b+28>>0]|0))return;e=(c[b+36>>2]|0)-(c[b+40>>2]|0)|0;d=e>>>0>>0?e:d;if(!d)return;do{d=d+-1|0;kB(b,1.0)}while((d|0)!=0);return}function tC(b){b=b|0;return (a[b+28>>0]|0)!=0|0}function uC(b){b=b|0;if(a[b+28>>0]|0){b=0;return b|0}b=+g[b+84>>2]<+g[b+80>>2];return b|0}function vC(b){b=b|0;if(a[b+28>>0]|0){b=0;return b|0}b=+g[b+84>>2]>=+g[b+80>>2];return b|0}function wC(b,d){b=b|0;d=+d;var e=0.0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;if(d==0.0|(c[b+8>>2]|0)==0)return;f=c[b+16>>2]|0;if(f|0)do{n=f+12|0;o=+g[n>>2]-d;g[n>>2]=o;if(!(o<=0.0)){h=f+16|0;p=+g[h>>2];k=f+20|0;q=+g[k>>2];e=p-+g[f+24>>2];i=q-+g[f+28>>2];j=+O(+(e*e+i*i));if(j>0.0){e=e*(1.0/j);i=i*(1.0/j)}t=+g[f+48>>2];j=+g[f+52>>2];m=f+32|0;n=f+36|0;r=(i*t+e*j+ +g[f+44>>2])*d+ +g[n>>2];s=1.0/(+g[f+56>>2]*d+1.0);j=(+g[m>>2]+(+g[f+40>>2]+(e*t-i*j))*d)*s;g[m>>2]=j;g[n>>2]=r*s;g[h>>2]=p+j*d;g[k>>2]=q+r*s*d;i=1.0-o/+g[f+8>>2];h=f+72|0;e=+g[h>>2]+(+g[f+84>>2]*i+ +g[f+80>>2]*(1.0-i))*d;g[h>>2]=e;h=f+76|0;g[h>>2]=e;if(a[b+224>>0]|0)g[h>>2]=e+ +W(+(r*s),+j);n=c[b+152>>2]|0;m=((c[b+156>>2]|0)-n>>2)+-1|0;q=(+g[f+64>>2]+i*+g[f+68>>2])*+(m>>>0);g[f+60>>2]=+g[n+(((~~q>>>0|0)!=(m|0)&1)+(~~q>>>0)<<2)>>2]*(q-+(~~q>>>0>>>0))+ +g[n+(~~q>>>0<<2)>>2]*(1.0-(q-+(~~q>>>0>>>0)));n=c[b+200>>2]|0;m=((c[b+204>>2]|0)-n>>4)+-1|0;h=~~(i*+(m>>>0))>>>0;q=i*+(m>>>0)-+(h>>>0);r=+g[n+(((h|0)!=(m|0)&1)+h<<4)+4>>2]*q+ +g[n+(h<<4)+4>>2]*(1.0-q);s=+g[n+(((h|0)!=(m|0)&1)+h<<4)+8>>2]*q+ +g[n+(h<<4)+8>>2]*(1.0-q);t=+g[n+(h<<4)+12>>2]*(1.0-q)+q*+g[n+(((h|0)!=(m|0)&1)+h<<4)+12>>2];g[f+88>>2]=+g[n+(((h|0)!=(m|0)&1)+h<<4)>>2]*q+ +g[n+(h<<4)>>2]*(1.0-q);g[f+92>>2]=r;g[f+96>>2]=s;g[f+100>>2]=t;h=(c[b+216>>2]|0)-(c[b+212>>2]|0)>>2;if(h|0){n=i*+(h>>>0)>0.0?~~(i*+(h>>>0))>>>0:0;c[f+104>>2]=n>>>0