Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams.js/wasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

17 lines
487 KiB

var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;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;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}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}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(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 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>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)}}var ALLOC_NONE=3;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&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(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}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=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 len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}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()}var buffer,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 STACK_BASE=54864,DYNAMIC_BASE=5297744,DYNAMICTOP_PTR=54832;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];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(){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)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}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["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAIAAAACAAAAAwAAAAMAAAACgAAAA0AAAAQAAAACwAAAA4AAAASAAAADQAAABAAAAAUAAAADgAAABIAAAAXAAAAEAAAABQAAAAZAAAAEgAAABcAAAAdAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAAAAAABAAAABAAAAAUAAAACAAAAAwAAAAYAAAAHAAAACAAAAAkAAAAMAAAADQAAAAoAAAALAAAADgAAAA8AAAAAAAAABQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAAAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAsAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAEAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAAAQAAAAsAAAAEAAAAAAAAAAQAAAABAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAABAAAADwAAAAQAAAAEAAAABAAAAAUAAAAEAAAAAgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAADAAAABAAAAAgAAAAEAAAACQAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAcAAAAEAAAADAAAAAQAAAANAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAP8AAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAD/AAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAgAAAP8AAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAADAAAADwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAMAAAATAAAAAQAAABIAAAAAAAAAEQAAAAQAAAAQAAAAAwAAABcAAAABAAAAFgAAAAAAAAAVAAAABAAAABQAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAEAAAATAAAAAgAAABIAAAAEAAAAEQAAAP8AAAAQAAAAAQAAABcAAAACAAAAFgAAAAQAAAAVAAAA/wAAABQAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAASAAAAAQAAABMAAAAEAAAAEAAAAAQAAAARAAAAAQAAABYAAAABAAAAFwAAAAQAAAAUAAAABAAAABUAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAAAAAARAAAABAAAABAAAAAAAAAAEwAAAAQAAAASAAAAAAAAABUAAAAEAAAAFAAAAAAAAAAXAAAABAAAABYAAABUpgAAjKYAAKymAAAAAAAArqYAAAAAAwC+pgAAAAADAN6mAAAAAAMAAAAAAAAAAAD+pgAAAAADADKnAAAAAAQAaqcAAAAABADqpwAAAAAEAG6oAAAAAAQA2qgAAAAABACmqQAAAAAEAHaqAAAAAAQANqsAAAAABAAAAAAAAAAAAFKuAAAAAAQASrEAAAEABABKsQAAAgAEAEqxAAADAAQASrEAAAQABABKsQAABgAEAEqxAAAIAAQASrEAAAoABABKsQAADQAEAG60AAAEAAQAbrQAAAUABAButAAABgAEAG60AAAHAAQAbrQAAAgABAButAAACQAEAG60AAALAAQAbrQAAA0ABAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+j///8pAAAAif7//y4AAACk9v//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ZyhnKEcYRxhHGEcYRxhHGEcYRxhuYE5YLlAOUG5YTlAuSA5IDUANQE1ITUgtQC1ADTgNOG1QbVBNQE1ALTgtOA0wDTBrSGtIa0hrSGtIa0hrSGtISzhLOEs4SzhLOEs4SzhLOCswKzArMCswKzArMCswKzALKAsoCygLKAsoCygLKAsoAAAAAC9oL2gQgFCAMIAQeHCAUHgweBBwcHhQcDBwEGhvcG9wT2hPaC9gL2APYA9gb2hvaE9gT2AvWC9YD1gPWAAAAAAAAAAAZjhGICYgBhBmMEYYJhgGCGUoZSglECUQZCBkIGQgZCBkGGQYZBhkGEMQQxBDEEMQQxBDEEMQQxAAAAAAAAAAAGlISTgpOAkwCCgIKEgwSDAoMCgwCCAIIGdAZ0BnQGdARyhHKEcoRygnKCcoJygnKAcYBxgHGAcYAAAAAG14bXhugE6ALoAOgC54DnhOeC5wTXBNcA1wDXBtcG1wTWhNaC1oLWgNaA1obWhtaE1gTWAtYC1gDWANYAxYDFgMWAxYTFhMWExYTFgsWCxYLFgsWAxQDFAMUAxQbGBsYGxgbGBMUExQTFBMUCxQLFAsUCxQDEgMSAxIDEhrWGtYa1hrWGtYa1hrWGtYS0hLSEtIS0hLSEtIS0hLSCtIK0grSCtIK0grSCtIK0gLQAtAC0ALQAtAC0ALQAtAa1BrUGtQa1BrUGtQa1BrUEtAS0BLQEtAS0BLQEtAS0ArQCtAK0ArQCtAK0ArQCtACzgLOAs4CzgLOAs4CzgLOAAAAAAAAAAAAAAAAAAAAAAGGEY4JjgGEGZIRjAmMAYIJSglKEUoRSglICUgRSBFICUYJRhlQGVARRhFGCUQJRBkOGQ4ZDhkOGQwZDBkMGQwZChkKGQoZChkIGQgZCBkIGQYZBhkGGQYRBBEEEQQRBAkCCQIJAgkCAQABAAEAAQAAAAKgGqASoAqgAp4anhKeCp4CnBqcEpwKnAKaCloKWgJYAlgSWhJaClgKWAJWAlYaWhpaElgSWApWClYCVAJUGhgaGBoYGhgSFhIWEhYSFgoUChQKFAoUAhICEgISAhIaFhoWGhYaFhIUEhQSFBIUChIKEgoSChICEAIQAhACEAHOAc4BzgHOAc4BzgHOAc4BzAHMAcwBzAHMAcwBzAHMEdIR0hHSEdIR0hHSEdIR0gHKAcoBygHKAcoBygHKAcoZ1BnUGdQZ1BnUGdQZ1BnUEdAR0BHQEdAR0BHQEdAR0AnQCdAJ0AnQCdAJ0AnQCdAByAHIAcgByAHIAcgByAHIAYIJggAAAYABhAmEEYQAAAGGCYYRhhmGAYgJiBGIGYgBigmKEYoZigGMCYwRjBmMAY4JjhGOGY4BkAmQEZAZkAGSCZIRkhmSAZQJlBGUGZQBlgmWEZYZlgGYCZgRmBmYAZoJmhGaGZoBnAmcEZwZnAGeCZ4RnhmeAaAJoBGgGaAAABDEAIAAgAhCCEIIQghCGcgZyBIICggRxhHGCcYJxgGIAYgBiAGIAYYBhgGGAYYBhAGEAYQBhBmGGYYZhhmGCYQJhAmECYQBggGCAYIBggEAUQBggGiAUkAiQApABkAAwADAAMAAwADAAMAAwADANUA9QC1AHUA5QClAJMAkwBjAMMAUwAzAPkAeQC5ADkA2QBZAJkAGQDpAGkAqQApAMkASQCJAAkAAQAXAQcBFQAVAAMAAwADAAMAhgAXAQcBFwADAAMAAwADACcCBwIVAhUCJQElASUAJQCGABcAFQEVAQUBBQEFAAUAJwIHAhUCFQIlASUBJQAlAIgAFwEHARcAAwADAAMAAwCCATkCNwE3ARkDCQM5ACkCFwIXAicBJwEHAgcCJwAnADMDIwMGAYIBogEZAikBKQAHAQcBFQEVARUBFQEXABcABwAHADcDBwMlAyUDNQI1AjUANQATAzMBIwIDAggBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARAOCA6IDGQVZAcIDWQDiAykESQIXBBcERwFHAUcARwAJBCkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAhUCFQIVAiMBIwEFAiUAVQVFBVUEVQMzBUMEIwVTAgMFMwRDAzMDCAEIAhkCKQEVARUBFQEVAQcBBwEXABcABQAFAAUABQAGA4QDwgMZBVkB4gMCBCkESQIZBEcBRwEJBEkAKQM5AhkDOQEJAzkAJQIlAiUCJQIFAgUCBQIFAiUAJQAlACUAVwVXBEUFRQVTA1MDUwNTAzUFRQQjBSMFUwIDBTMEQwNTADMDCAEGAoQCxAICAxkCKQEpABcBFwEHAQcBFwAXAAcABwAiAzkFWQNCA0kEKQVZAhkFVwFXATcENwRHA0cDWQAJBCcERwI3A0cAFQQVBEUBRQElAzUCEwMTAzMBMwEFAzUAIwIDAlMFQwVTBAMFCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBGA8QDBgSCBKQE5AQkBRkHeQFiBYQFxAUZBmkBaQACBiIGQgYZBEkBSQApAzkCCQMXAxcDNwE3ATcANwAnAicCFQIlAQUCJQB3B2cHdwZXB3cFZwZFB0UHdQRVBmUFNQd1A3UDRQZFBlcFVwRlA2UDIwdzAmUEBQdzAHMAYwJjAkUFNQUDBgMGVQNFBDMGIwYlBVUCEwUTBVMBUwE1BEUDAwVTACMEQwIzAwMECAEIAggDBgQZAoIEFwEXAQcBBwEXABcABQAFAAUABQCkBOYEZAWiBcQFKQd5AgIGdwF3ARkHeQA5BmkDaQAiBkIGGQVnAmcCKQYJBhcGFwZnAWcBWQE5BFkAYgYpBEkCGQRJAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAiMBIwEjASMBAwIjAHUHZQd1BnUFZQZlBkUHRQd1BHUEVwdXBVUGZQUzBzMHcwNDBkUFVQQ1BVUDYwQDB0MEIwVTAgMFQwMzAwgBCAIIAwQERgTCBBkCKQHiBAkAFwEXAQcBBwEXABcABAVCBWIFggVZBjkHogUpB3kCSQZpBBkHeQHCBTkGaQNJBVkESQTiBScGJwZnAmcCZwFnARkGaQA5BVkDKQVZAhcFFwVXAVcBNwQ3BEcDRwNZAAkEJwQnBEcCRwIXBBcENQNFASUDNQJHAAcDNQA1ABMDEwMTAxMDMwEjAgMCIwB1B2UHcwZzBlMHcwVjBkMHcwRjBXMDUwUDB3MAAwYDBQgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMASARIBUgGSAdICEgJRgrGCkYLxgtGDMYMQg1kDaYNIg5EDoQOxA4ED4kBQg9iD4IPpA/iDxkFWQECECIQQhAZBEcBRwEJBEkAKQM5AhcDFwM3ATcBBwMHAzcANwAnAicCFQIlAQUCJQBoEGgRaBJmE+QTJBRmFOQUIhVEFYQVxBUEFkQWGQ/5AfkAghaiFsIW6QLiFhkO6QECFyIXQhdiF4IXohfJBjkNwhcpDdkCGQ25B+IXAhjJAyIYSQvXAdcBCQ3ZAIkKqQhJDMkEaQu5BjcMNwwnDCcMxwLHAlcLVwu5BYkJFwwXDMcBxwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAc2VuZABbIl9fYmFuZHdpZHRoIl0AZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgPSAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGF1ZGlvIGluaXQhICVkAG1wMyBpbml0IQBERUNPREVSIElOSVRJQUxJWkFUSU9OIEZBSUxFRAoASDI2NCBpbml0ADhCcm9hZHdheQAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgB2aWRlbyBkZWNvZGUgJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAABlVURENDQjIyMjExMTEwEBAQEBAQEBAQEBAQEBAQEA+enZyMi4uKenp6eXl5eXhoaGhoaGhoZ2dnZ2dnZ2dubWxralpZWVhISEhHR0dHRkZGRkVFRUVENDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTAwMDAwMDAwPWtsXFpaWVlYSEhIRUVFRURERERAQEBARzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTxbWlBZSUdHQ0NCQkg4ODg2NjY2NTU1NTQ0NDQxMTExO1laSkhIQkJBQUBARzc3NzY2NjY1NTU1NDQ0NDMzMzM6YGFRWEhISEk5OTk5OTk5Nzc3Nzc3Nzc2NjY2NjY2NjU1NTU1NTU1NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyOWBhUVdHR0dIODg4ODg4ODY2NjY2NjY2NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyNSUlJSUlJSUlJSUlJSUlJShgYlJRQUFBRzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzNSUlJSUlJSUlJSUlJSUlJSQkJCQkJCQkJCQkJCQkJCQhYGdXUkJCQkU1NTU1NTU1NiYmJiYmJiYmJiYmJiYmJiQkJCQkJCQkJCQkJCQkJCQjIyMjIyMjIyMjIyMjIyMjIVBWRkIyMjI1JSUlJSUlJSQkJCQkJCQkIyMjIyMjIyMgQUIyMzM1NTQUFBQUFBQUEEFENDIiIiIjExMTExMTExAxMyMiEhISECEiEhEQEiEgEBMiISAkMzIiISEgICU0MzIxISAgITI0MzY1MCAgAQAQIECCADBQoMDy8HCw0OBgkfIyUqLCEiJCgnKy0uERIUGBMVGhwXGx0eFhkmKS8fDwAXGx0eBwsNDicrLS4QAwUKDBMVGhwjJSosAQIECBESFBgGCRYZICEiJCgmKQAAAAAAAAAAAAAAAAAAAAAEBAUGBwgJCgwNDxEUFhkcICQoLTI4P0dQWmVxf5Citsvi//8AAAAAAAAAAAAAAAAAAAAAAgICAwMDAwQEBAYGBwcICAkJCgoLCwwMDQ0ODg8PEBARERISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAEBAAEBAQEBAQEBAQEBAQEBAQECAQECAQECAQECAQIDAQIDAgIDAgIEAgMEAgMEAwMFAwQGAwQGBAUHBAUIBAYJBQcKBggLBggNBwoOCAsQCQwSCg0UCw8XDREZbGF5ZXIzLmMABgUFBQkJCQkGCQkJBgUHAwkJDAYGCQwGCwoAABISAAAPEgAABwcHAAwMDAAGDwwABgYGAwwJCQYGDAkGCAgFAA8MCQAGEgkAAAAAAQACAAMDAAEBAQIBAwIBAgICAwMBAwIDAwQCBAMAAAAAAAAAAAAAAAEBAQECAgMDAwIAcmVxdWFudGl6ZSBvdmVyZmxvdyAoJWYgKiAyXiVkKQoALWJpdHNfbGVmdCA8PSBNQURfQlVGRkVSX0dVQVJEICogQ0hBUl9CSVQASUlJX2h1ZmZkZWNvZGUABAQEBAQEBgYGCAoMEBIWHCIoLjY2wAQEBAQEBAQEBAQEBAYGBgYGBgoKCgwMDA4ODhAQEBQUFBoaGkJCQgQEBAQEBAYGBAQEBgYGBgYGCgoKDAwMDg4OEBAQFBQUGhoaQkJCBAQEBAQEBgYICAoMEBQYHCIqMjZMngQEBAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhYWFh4eHjg4OAQEBAQEBAYGBAQEBgYGCAgICgoKDAwMDg4OEhISFhYWHh4eODg4BAQEBAQEBgYICgwQFBgeJi44RFRmGgQEBAQEBAQEBAQEBAYGBggICAwMDBAQEBQUFBoaGiIiIioqKgwMDAQEBAQEBAYGBAQEBgYGCAgIDAwMEBAQFBQUGhoaIiIiKioqDAwMBgYGBgYGCAoMDhASFhogJi42PkZMJAQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBgYGBggICAoKCgwMDA4ODhISEhgYGCAgICwsLAwMDAYGBgYGBggKDA4QFBgcICYuNDxEOjYEBAQEBAQEBAQGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIGBgYGBgYGBgYGBgYICAgKCgoODg4SEhIaGhogICAqKioSEhIEBAQEBAQEBAQGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIGBgYGBgYGBgYICAgKCgoMDAwODg4SEhIYGBgeHh4oKCgSEhIMDAwMDAwQFBgcICgwOEBMWgICAgICCAgICAgICAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaDAwMBAQECAgIDAwMEBAQFBQUGBgYHBwcJCQkAgICAgICAgICGhoaZGVub20gIT0gMAB0aW1lci5jAHNjYWxlX3JhdGlvbmFsAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAHQAaQBqAGwAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=54848;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===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&&!info.rethrown){if(info.destructor){Module["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 ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(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<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&&registeredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;this.contextGL.viewport(0,0,this.canvasElement.width,this.canvasElement.height);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;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}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall6,"D":__embind_create_inheriting_constructor,"E":__embind_register_bool,"F":__embind_register_class,"G":__embind_register_class_class_function,"H":__embind_register_class_function,"I":__embind_register_class_property,"J":__embind_register_emval,"K":__embind_register_float,"L":__embind_register_integer,"M":__embind_register_memory_view,"N":__embind_register_std_string,"O":__embind_register_std_wstring,"P":__embind_register_void,"Q":__emscripten_traverse_stack,"R":__emval_addMethodCaller,"S":__emval_allocateDestructors,"T":__emval_as,"U":__emval_call,"V":__emval_call_method,"W":__emval_call_void_method,"X":__emval_decref,"Y":__emval_get_global,"Z":__emval_get_method_caller,"_":__emval_get_property,"$":__emval_incref,"aa":__emval_lookupTypes,"ab":__emval_new,"ac":__emval_new_cstring,"ad":__emval_new_object,"ae":__emval_register,"af":__emval_run_destructors,"ag":__emval_set_property,"ah":__emval_take_value,"ai":__formatString,"aj":__reallyNegative,"ak":_abort,"al":_clock,"am":_embind_repr,"an":_emscripten_get_callstack_js,"ao":_emscripten_get_heap_size,"ap":_emscripten_log,"aq":_emscripten_log_js,"ar":_emscripten_memcpy_big,"as":_emscripten_resize_heap,"at":_init,"au":_llvm_trap,"av":abortOnCannotGrowMemory,"aw":constNoSmartPtrRawPointerToWireType,"ax":count_emval_handles,"ay":craftEmvalAllocator,"az":craftInvokerFunction,"aA":createNamedFunction,"aB":downcastPointer,"aC":embind__requireFunction,"aD":embind_init_charCodes,"aE":emval_get_global,"aF":ensureOverloadTable,"aG":exposePublicSymbol,"aH":extendError,"aI":floatReadValueFromPointer,"aJ":flushPendingDeletes,"aK":flush_NO_FILESYSTEM,"aL":genericPointerToWireType,"aM":getBasestPointer,"aN":getInheritedInstance,"aO":getInheritedInstanceCount,"aP":getLiveInheritedInstances,"aQ":getShiftFromSize,"aR":getStringOrSymbol,"aS":getTypeName,"aT":get_first_emval,"aU":heap32VectorToArray,"aV":init_ClassHandle,"aW":init_RegisteredPointer,"aX":init_embind,"aY":init_emval,"aZ":integerReadValueFromPointer,"a_":makeClassHandle,"a$":makeLegalFunctionName,"ba":new_,"bb":nonConstNoSmartPtrRawPointerToWireType,"bc":readLatin1String,"bd":registerInheritedInstance,"be":registerType,"bf":replacePublicSymbol,"bg":requireHandle,"bh":requireRegisteredType,"bi":runDestructor,"bj":runDestructors,"bk":setDelayFunction,"bl":shallowCopyInternalPointer,"bm":simpleReadValueFromPointer,"bn":throwBindingError,"bo":throwInstanceAlreadyDeleted,"bp":throwInternalError,"bq":throwUnboundTypeError,"br":unregisterInheritedInstance,"bs":upcastPointer,"bt":validateThis,"bu":whenDependentTypesAreResolved,"bv":tempDoublePtr,"bw":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM
var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.bv|0,i=env.bw|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=54864,Pb=5297744,Qb=0.0;
// EMSCRIPTEN_START_FUNCS
function pg(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){s=a+4108+(i*4608|0)|0;v=c[w>>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;qg(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=5200+(q<<2)|0;B=5200+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5200;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=7248+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function qg(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,m=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function rg(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=hg(f,l?8:9)|0;c[i+4>>2]=hg(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=hg(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=hg(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=hg(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=hg(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=hg(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(hg(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=hg(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=hg(f,3)|0}else{u=hg(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(hg(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=hg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=hg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=hg(f,3)|0}u=hg(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0}function sg(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=Ob;Ob=Ob+7296|0;xb=Ab+2448|0;wb=Ab+2432|0;vb=Ab+2416|0;tb=Ab+2400|0;sb=Ab+2384|0;rb=Ab+2368|0;yb=Ab+2352|0;ub=Ab+2336|0;qb=Ab+2320|0;pb=Ab+16|0;ob=Ab;hb=Ab+7224|0;nb=Ab+7216|0;zb=Ab+2608|0;lb=Ab+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;Ob=Ab;return zb|0}ib=(j|0)==0;gb=7376+(k*12|0)|0;kb=7376+(k*12|0)+8|0;db=7376+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;R=c[10200]|0;ab=h+4|0;T=hb+4|0;U=hb+8|0;cb=h+9264|0;V=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;W=pb+20|0;X=pb+22|0;Y=pb+24|0;Z=pb+26|0;_=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;S=zb+2304|0;$a=0;a:while(1){P=i+10+($a*116|0)|0;if(!ib){M=c[gb>>2]|0;O=($a|0)==0;N=0;do{y=i+10+($a*116|0)+(N*58|0)|0;k=nb+(N<<2)|0;c[k>>2]=M;z=i+10+($a*116|0)+(N*58|0)+9|0;n=(a[z>>0]|0)==2;if(n){L=c[((a[i+10+($a*116|0)+(N*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[jb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=pb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(N*58|0)+6>>1]|0;o=d[51068+(p<<1)>>0]|0;p=d[51068+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=hg(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=hg(f,p)|0;a[l+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[l+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;K=l|4;a[l+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+K>>0]=hg(f,p)|0;a[K+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+6+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;L=l|12;a[K+7+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+L>>0]=hg(f,p)|0;a[L+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;L=y+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(N*58|0)+18>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=hg(f,o)|0;l=(hg(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+($a*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(N*58|0)+24>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=hg(f,o)|0;l=(hg(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+($a*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(N*58|0)+29>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=hg(f,p)|0;l=(hg(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+($a*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(N*58|0)+34>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=hg(f,p)|0;l=(hg(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+($a*116|0)+(N*58|0)+38>>0]=l;a[i+10+($a*116|0)+(N*58|0)+39>>0]=0}l=eg(pb,f)|0}else{u=(N|0)==0?0:Fa;l=c[bb>>2]|0;L=f;p=c[L+4>>2]|0;m=pb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)w=((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else w=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=50996+(t*12|0)+(w<<2)|0;p=(1<<m)+-1|0;if(!(a[n>>0]|0))l=0;else{o=0;while(1){L=hg(f,m)|0;a[i+10+($a*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<<q)+-1|0;n=50996+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,q)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<<s)+-1|0;n=50996+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,s)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,0)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+($a*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=50996+(t*12|0)+(w<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=hg(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=50996+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)Yi(y+(l+18)|0,0,39-l|0)|0}l=eg(pb,f)|0}x=zb+(N*2304|0)|0;m=(e[y>>1]|0)-l|0;if((m|0)<0){mb=566;break a}s=(e[i+10+($a*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+($a*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[z>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=s-((o&d[51100+n>>0])+(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]|0)<<t);p=n+1|0;l=l+(d[k+n>>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+($a*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+($a*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+($a*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]<<t);K=n+1|0;c[pb+(K<<2)>>2]=q-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);K=n+2|0;c[pb+(K<<2)>>2]=o-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);l=((d[k+n>>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+18>>0]<<t);c[Ga>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+19>>0]<<t);c[Ra>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+20>>0]<<t);c[Ua>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+21>>0]<<t);c[Va>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+22>>0]<<t);c[Wa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+23>>0]<<t);c[Xa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+24>>0]<<t);c[Ya>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+25>>0]<<t);c[Za>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+26>>0]<<t);c[_a>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+27>>0]<<t);c[Ha>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+28>>0]<<t);l=d[i+10+($a*116|0)+(N*58|0)+29>>0]|0;if(!(n&4)){c[Ia>>2]=s-(l<<t);c[Ja>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+30>>0]<<t);c[Ka>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+31>>0]<<t);c[La>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+32>>0]<<t);c[Ma>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+33>>0]<<t);c[Na>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+34>>0]<<t);c[Oa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+35>>0]<<t);c[Pa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+36>>0]<<t);c[Qa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+37>>0]<<t);c[Sa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+38>>0]<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}else{c[Ia>>2]=s-(l+1<<t);c[Ja>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+30>>0]|0)+1<<t);c[Ka>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+31>>0]|0)+1<<t);c[La>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+32>>0]|0)+1<<t);c[Ma>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+33>>0]|0)+2<<t);c[Na>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+34>>0]|0)+2<<t);c[Oa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+35>>0]|0)+3<<t);c[Pa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+36>>0]|0)+3<<t);c[Qa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+37>>0]|0)+3<<t);c[Sa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+38>>0]|0)+2<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}}while(0);o=f;n=c[o>>2]|0;o=c[o+4>>2]|0;t=ob;c[t>>2]=n;c[t+4>>2]=o;gg(f,m);o=Ui(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=hg(ob,o)|0;t=d[i+10+($a*116|0)+(N*58|0)+10>>0]|0;q=c[4944+(t<<3)>>2]|0;if(!q){Q=165;break a}s=zb+(N*2304|0)+(d[k>>0]<<2)|0;y=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+($a*116|0)+(N*58|0)+17|0;I=k&65535;B=p;u=Ga;z=e[4944+(t<<3)+4>>1]|0;w=(d[i+10+($a*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;A=0;p=e[4944+(t<<3)+6>>1]|0;H=0;F=x;while(1){I=I+-1|0;if((F|0)==(s|0)){x=y+1|0;s=F+(d[y>>0]<<2)|0;k=w+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(N*58|0)+10+m>>0]|0;q=c[4944+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[4944+(p<<3)+4>>1]|0;p=e[4944+(p<<3)+6>>1]|0}}else t=z;y=c[u>>2]|0;G=y;u=u+4|0;z=t;E=k;D=m;t=(B|0)==(y|0)?A:0;y=x;C=p}else{G=B;E=w;D=m;t=A;C=p}k=31-o&-8;if((o|0)<21){n=hg(ob,k)|0|n<<k;l=l-k|0;o=k+o|0}k=n>>>(o-C|0)&(1<<C)+-1;if(!(a[q+(k<<1)>>0]&1)){m=C;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<<m)+-1)+((k&65535)>>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}A=q+(k<<1)|0;m=b[A>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;w=k&65535;b:do if(!z){if(!(k<<16>>16)){m=t;k=0}else{k=1<<w;if(!(k&t)){t=k|t;p=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;mh(R,51122,sb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else{m=t;k=c[hb+(w<<2)>>2]|0}B=o+-1|0;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8&15;w=B&65535;if(!(B<<16>>16)){x=n;k=0;t=m}else{k=1<<w;if(!(k&m)){t=k|m;k=(G|0)/4|0;p=G-(k<<2)|0;B=c[7484+(w<<2)>>2]|0;m=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;mh(R,51122,tb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else k=c[hb+(w<<2)>>2]|0;t=o+-1|0;x=n;o=t;k=(1<<t&n|0)==0?k:0-k|0;t=m}}else{c:do switch(m&15){case 0:{x=n;k=0;break}case 15:{if(o>>>0<(z+2|0)>>>0){n=hg(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-z|0;p=(G|0)%4|0;k=c[7484+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;mh(R,51122,qb)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<<w;if(k&t|0){k=c[hb+(w<<2)>>2]|0;Q=118;break c}t=k|t;p=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;mh(R,51122,ub)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8;w=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(o>>>0<(z+1|0)>>>0){n=hg(ob,16)|0|x<<16;l=l+-16|0;o=o+16|0}else n=x;o=o-z|0;p=(G|0)%4|0;k=c[7484+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;mh(R,51122,yb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(!p)break d;k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<w;if(k&t|0){n=x;k=c[hb+(w<<2)>>2]|0;break d}t=k|t;n=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;mh(R,51122,rb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(n)k=r((c[40312+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;n=x}}while(0);B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}while(0);c[F+4>>2]=k;k=H+2|0;m=o+l|0;if(!((I|0)!=0&(m|0)>0)){w=o;t=G;q=y;break}else{n=x;B=G;w=E;m=D;A=t;p=C;H=k;F=zb+(N*2304|0)+(k<<2)|0}}}else{x=n;w=o;t=p;u=Ga;q=y;k=0}if((m|0)<0){mb=568;break a}B=c[4936+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;mh(R,51122,vb)|0;n=2147483647;break}else{n=67108864<<n;break}else{n=-2-o|0;n=n>>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=x;x=q;while(1){z=zb+(N*2304|0)+(k<<2)|0;if((w|0)<10){A=hg(ob,16)|0|m<<16;l=l+-16|0;m=w+16|0}else{A=m;m=w}q=m+-4|0;o=B+((A>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=B+((A>>>(q-o|0)&(1<<o)+-1)+((p&65535)>>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}y=m-((p&255)>>>1&7)|0;if((z|0)==(s|0)){w=x+1|0;s=s+(d[x>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;mh(R,51122,wb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=w}else q=x;x=(p&16)==0;L=y+-1|0;m=0-n|0;y=x?y:L;c[z>>2]=x?0:(1<<L&A|0)==0?n:m;L=(a[o>>0]&32)==0;x=y+-1|0;y=L?y:x;c[z+4>>2]=L?0:(1<<x&A|0)==0?n:m;x=zb+(N*2304|0)+(k+2<<2)|0;if((x|0)==(s|0)){w=q+1|0;s=s+(d[q>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;mh(R,51122,xb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=w;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=y+-1|0;w=L?y:K;c[x>>2]=L?0:(1<<K&A|0)==0?p:m;K=(a[o>>0]|0)<0;L=w+-1|0;w=K?L:w;c[x+4>>2]=K?((1<<L&A|0)==0?p:m):0;k=k+4|0;m=w+l|0;if(!(k>>>0<573&(m|0)>0))break;else{m=A;n=p;x=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)Yi(zb+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0<j>>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){w=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){Q=276;break}O=eb&65535;b[pb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[za>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;e:do if(eb&1|0){u=c[jb>>2]|0;c[jb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[w+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0<n>>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[w+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0<o>>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[w+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[w+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+($a*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40460+(n<<2)>>2]|0)+32768>>16;l=(c[40460+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=zb+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[zb+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[w+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[zb+2304+(O<<2)>>2]=c[zb+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40340+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[zb+2304+(O<<2)>>2]=r((c[zb+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=zb+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[zb+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){P=a[w+n>>0]|0;k=P&255;if(P<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=zb+(P<<2)|0;P=zb+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){A=$a*18|0;z=0;do{y=h+48+(z*4608|0)+(A<<7)|0;x=i+10+($a*116|0)+(z*58|0)+9|0;w=zb+(z*2304|0)|0;if((a[x>>0]|0)==2){k=c[nb+(z<<2)>>2]|0;u=(a[i+10+($a*116|0)+(z*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[zb+(z*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[pb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}Wi(zb+(z*2304|0)+(s<<2)|0,pb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)tg(w,36)}else tg(w,576);k=a[x>>0]|0;l=a[i+10+($a*116|0)+(z*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){wg(w,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);wg(zb+(z*2304|0)+72|0,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}else{Q=l<<24>>24==0?k&255:0;ug(w,lb,Q);vg(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);ug(zb+(z*2304|0)+72|0,lb,Q);vg(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}l=y+132|0;P=y+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=y+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(z*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[x>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){wg(zb+(z*2304|0)+(k<<2)|0,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){ug(zb+(z*2304|0)+(m<<2)|0,lb,k&255);vg(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[x>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;w=c[cb>>2]|0;do{P=w+(z*2304|0)+(u*72|0)|0;c[h+48+(z*4608|0)+(A<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+4|0;k=y+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+8|0;c[y+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+12|0;p=y+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+16|0;c[y+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+20|0;q=y+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+24|0;c[y+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+28|0;s=y+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+32|0;c[y+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+36|0;t=y+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+40|0;c[y+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+44|0;l=y+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+48|0;c[y+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+52|0;m=y+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+56|0;c[y+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+60|0;n=y+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+64|0;c[y+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+68|0;o=y+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}z=z+1|0}while((z|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;Q=318;break}}if((Q|0)==165)mb=567;else if((Q|0)==202)J(51155,50987,1253,51197);else if((Q|0)==276){zb=569;Ob=Ab;return zb|0}else if((Q|0)==318){Ob=Ab;return k|0}zb=mb;Ob=Ab;return zb|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);return}function ug(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function wg(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,l=0,m=0,n=0;d=Ob;Ob=Ob+144|0;e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;Ob=d;return}function xg(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=fg(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}dg(h,e);h=0;return h|0}function yg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Ob;Ob=Ob+16|0;f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;gg(i,11);if(!(hg(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(hg(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;Ob=j;return k|0}}else c[g>>2]=e|4096;k=hg(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;Ob=j;return k|0}if(!(hg(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=ig(f,16,-1)|0}e=hg(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;Ob=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40488+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=hg(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;Ob=j;return k|0}e=c[40788+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(hg(i,1)|0)c[g>>2]=c[g>>2]|128;if(hg(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(hg(i,2)|0);c[a+8>>2]=hg(i,2)|0;if(hg(i,1)|0)c[g>>2]=c[g>>2]|32;if(hg(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=hg(i,2)|0;if(!(c[g>>2]&16)){k=0;Ob=j;return k|0}b[a+26>>1]=hg(i,16)|0;k=0;Ob=j;return k|0}function zg(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;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)J(51878,51889,144,51897);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Ag(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=Ob;Ob=Ob+112|0;j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(xg(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((yg(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=fg(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}gg(s,8)}while((xg(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;Ob=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;Ob=u;return t|0}function Bg(a){a=a|0;var b=0;Yi(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);Yi(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Cg(a){a=a|0;var b=0;Yi(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;Yi(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Dg(){Eg(0);return}function Eg(a){a=a|0;ga(1168,51912);X(1184,51917,1,1,0);ca(1192,51922,1,-128,127);ca(1208,51927,1,-128,127);ca(1200,51939,1,0,255);ca(1216,51953,2,-32768,32767);ca(1224,51959,2,0,65535);ca(1232,51974,4,-2147483648,2147483647);ca(1240,51978,4,0,-1);ca(1248,51991,4,-2147483648,2147483647);ca(1256,51996,4,0,-1);ba(1264,52010,4);ba(1272,52016,8);ea(552,52023);ea(736,52035);fa(760,4,52068);aa(576,52081);da(784,0,52097);da(792,0,52127);da(800,1,52164);da(808,2,52203);da(816,3,52234);da(824,4,52274);da(832,5,52303);da(840,4,52341);da(848,5,52371);da(792,0,52410);da(800,1,52442);da(808,2,52475);da(816,3,52508);da(824,4,52542);da(832,5,52575);da(856,6,52609);da(864,7,52640);da(872,7,52672);return}function Fg(a){a=a|0;return lh(c[a+4>>2]|0)|0}function Gg(a){a=a|0;var b=0,d=0;b=Ob;Ob=Ob+16|0;d=b;c[d>>2]=Lg(c[a+60>>2]|0)|0;a=Jg(V(6,d|0)|0)|0;Ob=b;return a|0}function Hg(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,l=0,m=0,n=0,o=0;m=Ob;Ob=Ob+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Jg(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Jg(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Ob=m;return d|0}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ob;Ob=Ob+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Jg(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Ob=g;return b|0}function Jg(a){a=a|0;if(a>>>0>4294963200){c[(Kg()|0)>>2]=0-a;a=-1}return a|0}function Kg(){return 54120}function Lg(a){a=a|0;return a|0}function Mg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Ng(a){a=a|0;return (a+-48|0)>>>0<10|0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c,1,17)|0}function Pg(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Ob;Ob=Ob+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;hh(e)|0;j=v()|0;if((j|0)<0){e=-e;hh(e)|0;D=1;C=53224;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?53225:53230):53227}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;ah(b,32,f,j,h&-65537);Vg(b,C,D);Vg(b,e!=e|0.0!=0.0?(G?53251:53255):G?53243:53247,3);ah(b,32,f,j,h^8192)}else{q=+ih(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=_g(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[528+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;ah(b,32,f,E,h);Vg(b,s,p);ah(b,48,f,E,h^65536);F=m-F|0;Vg(b,G,F);G=k-l|0;ah(b,48,j-(F+G)|0,0,0);Vg(b,n,G);ah(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=Vi(c[j>>2]|0,0,n|0)|0;t=Pi(t|0,v()|0,m|0,0)|0;x=v()|0;m=Ti(t|0,x|0,1e9,0)|0;y=Oi(m|0,v()|0,1e9,0)|0;y=Qi(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=_g(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;ah(b,32,f,j,h);Vg(b,C,D);ah(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=_g(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Yi(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Vg(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Vg(b,53259,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=_g(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){Yi(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Vg(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}ah(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=_g(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;Vg(b,l,1);if(t&(k|0)<1){l=m;break}Vg(b,53259,1);l=m}else{if(l>>>0<=G>>>0)break;Yi(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;Vg(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}ah(b,48,k+18|0,18,0);Vg(b,x,E-x|0)}ah(b,32,f,j,h^8192)}while(0);Ob=H;return ((j|0)<(f|0)?f:j)|0}function Qg(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Rg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Ob;Ob=Ob+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Sg(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Tg(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Sg(b,d,p,r,q,f,g)|0;if(j){Ub[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Sg(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Ug(b);e=(h&32|0)==0?e:-1}Ob=t;return e|0}function Sg(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Ob;Ob=Ob+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(Kg()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)Vg(d,r,l)}while((l|0)!=0);w=(Ng(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((Ng(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=Wg(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Wg(G)|0;m=c[G>>2]|0;break}if(Ng(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}Xg(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=Zg(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=53207;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Qi(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53207;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53207:53209):53208;x=72;break e}}case 117:{n=I;o=0;p=53207;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=53207;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?53217:s;t=$g(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=53207;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){ah(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Sb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=53207;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=Yg(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53207:53207+(m>>>4)|0;x=73}else if((x|0)==72){q=_g(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=bh(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}ah(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=bh(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}Vg(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;ah(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;ah(d,32,l,K,m);Vg(d,p,o);ah(d,48,l,K,m^65536);ah(d,48,s,t,0);Vg(d,r,t);ah(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Xg(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Ob=J;return e|0}function Tg(a){a=a|0;return 1}function Ug(a){a=a|0;return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))fh(b,d,a)|0;return}function Wg(b){b=b|0;var d=0,e=0;if(!(Ng(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ng(a[e>>0]|0)|0)!=0)}return d|0}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Yb[e&31](a,d);break a}default:break a}while(0);while(0);return}function Yg(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=Ui(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Zg(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Ui(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function _g(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=Ti(b|0,c|0,10,0)|0;f=c;c=v()|0;g=Oi(b|0,c|0,10,0)|0;g=Qi(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function $g(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Ob;Ob=Ob+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yi(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Vg(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Vg(a,f,e)}Ob=g;return}function bh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ch(a,b,0)|0;return a|0}function ch(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(dh()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(Kg()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Kg()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function dh(){return eh()|0}function eh(){return 40804}function fh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(gh(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Ub[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Ub[c[e+36>>2]&7](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Wi(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function gh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function hh(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function ih(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Ui(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ih(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function jh(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function kh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ob;Ob=Ob+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(gh(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Ub[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Ob=l;return f|0}function lh(a){a=a|0;var b=0,c=0;b=(jh(a)|0)+1|0;c=oh(b)|0;if(!c)a=0;else a=Wi(c|0,a|0,b|0)|0;return a|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d;d=Og(a,b,f)|0;Ob=e;return d|0}function nh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Tg(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=kh(d,b)|0;Ug(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=kh(d,b)|0}while(0);return e|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=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,w=0;w=Ob;Ob=Ob+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[13531]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=54164+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[13531]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Ob=w;return v|0}l=c[13533]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=54164+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[13531]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[13536]|0;b=l>>>3;d=54164+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13533]=h;c[13536]=f;v=i;Ob=w;return v|0}g=c[13532]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[54428+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=54428+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[13532]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[13536]|0;b=l>>>3;d=54164+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[13531]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13533]=j;c[13536]=h}v=i+8|0;Ob=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[13532]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[54428+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[54428+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[13533]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=54428+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[13532]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;d=(v+245760|0)>>>16&2;d=14-(t|u|d)+(v<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=54428+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<d;if(!(e&a)){c[13532]=e|a;c[b>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Ob=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[13533]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[13536]|0;if(b>>>0>15){v=a+m|0;c[13536]=v;c[13533]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[13533]=0;c[13536]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Ob=w;return v|0}h=c[13534]|0;if(h>>>0>m>>>0){t=h-m|0;c[13534]=t;v=c[13537]|0;u=v+m|0;c[13537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ob=w;return v|0}if(!(c[13649]|0)){c[13651]=4096;c[13650]=4096;c[13652]=-1;c[13653]=-1;c[13654]=0;c[13642]=0;c[13649]=n&-16^1431655768;a=4096}else a=c[13651]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Ob=w;return v|0}a=c[13641]|0;if(a|0?(l=c[13639]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Ob=w;return v|0}d:do if(!(c[13642]&4)){d=c[13537]|0;e:do if(d){e=54572;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Zi(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Zi(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[13650]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[13639]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[13641]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Zi(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[13651]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Zi(a|0)|0)==(-1|0)){Zi(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[13642]=c[13642]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Zi(k|0)|0,p=Zi(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[13639]|0)+h|0;c[13639]=b;if(b>>>0>(c[13640]|0)>>>0)c[13640]=b;j=c[13537]|0;f:do if(j){b=54572;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[13534]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[13538]=c[13653];break}if(g>>>0<(c[13535]|0)>>>0)c[13535]=g;d=g+h|0;b=54572;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[13534]|0)+i|0;c[13534]=v;c[13537]=k;c[k+4>>2]=v|1}else{if((c[13536]|0)==(b|0)){v=(c[13533]|0)+i|0;c[13533]=v;c[13536]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[13531]=c[13531]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=54428+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[13532]=c[13532]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=54428+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13532]|0;d=1<<e;if(!(a&d)){c[13532]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Ob=w;return v|0}b=54572;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[13538]=c[13653];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13643];c[b+4>>2]=c[13644];c[b+8>>2]=c[13645];c[b+12>>2]=c[13646];c[13643]=g;c[13644]=h;c[13646]=0;c[13645]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0<v>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<u;t=(v+520192|0)>>>16&4;v=v<<t;e=(v+245760|0)>>>16&2;e=14-(t|u|e)+(v<<e>>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=54428+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[13532]|0;a=1<<e;if(!(b&a)){c[13532]=b|a;c[d>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[13535]|0;if((v|0)==0|g>>>0<v>>>0)c[13535]=g;c[13643]=g;c[13644]=h;c[13646]=0;c[13540]=c[13649];c[13539]=-1;c[13544]=54164;c[13543]=54164;c[13546]=54172;c[13545]=54172;c[13548]=54180;c[13547]=54180;c[13550]=54188;c[13549]=54188;c[13552]=54196;c[13551]=54196;c[13554]=54204;c[13553]=54204;c[13556]=54212;c[13555]=54212;c[13558]=54220;c[13557]=54220;c[13560]=54228;c[13559]=54228;c[13562]=54236;c[13561]=54236;c[13564]=54244;c[13563]=54244;c[13566]=54252;c[13565]=54252;c[13568]=54260;c[13567]=54260;c[13570]=54268;c[13569]=54268;c[13572]=54276;c[13571]=54276;c[13574]=54284;c[13573]=54284;c[13576]=54292;c[13575]=54292;c[13578]=54300;c[13577]=54300;c[13580]=54308;c[13579]=54308;c[13582]=54316;c[13581]=54316;c[13584]=54324;c[13583]=54324;c[13586]=54332;c[13585]=54332;c[13588]=54340;c[13587]=54340;c[13590]=54348;c[13589]=54348;c[13592]=54356;c[13591]=54356;c[13594]=54364;c[13593]=54364;c[13596]=54372;c[13595]=54372;c[13598]=54380;c[13597]=54380;c[13600]=54388;c[13599]=54388;c[13602]=54396;c[13601]=54396;c[13604]=54404;c[13603]=54404;c[13606]=54412;c[13605]=54412;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[13538]=c[13653]}while(0);b=c[13534]|0;if(b>>>0>m>>>0){t=b-m|0;c[13534]=t;v=c[13537]|0;u=v+m|0;c[13537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ob=w;return v|0}}c[(Kg()|0)>>2]=12;v=0;Ob=w;return v|0}
function bc(){Id();Dg()}function cc(a){a=a|0;var b=0;b=Ob;Ob=Ob+a|0;Ob=Ob+15&-16;return b|0}function dc(){return Ob|0}function ec(a){a=a|0;Ob=a}function fc(a,b){a=a|0;b=b|0;Ob=a;Pb=b}function gc(){Ma();return 0}function hc(a){a=a|0;var b=0;Y(584,592,608,0,48202,3,48205,0,48205,0,47474,48207,22);b=vh(8)|0;c[b>>2]=2;c[b+4>>2]=0;_(584,47483,3,1344,48210,3,b|0,0);b=vh(8)|0;c[b>>2]=3;c[b+4>>2]=0;_(584,47489,3,1356,48210,4,b|0,0);b=vh(8)|0;c[b>>2]=23;c[b+4>>2]=0;_(584,47496,2,1368,48215,4,b|0,0);b=vh(8)|0;c[b>>2]=24;c[b+4>>2]=0;_(584,47503,2,1368,48215,4,b|0,0);b=vh(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=6;c[a+4>>2]=0;$(584,47521,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=vh(8)|0;c[b>>2]=8;c[b+4>>2]=0;$(584,47531,576,48219,1,a|0,576,48210,5,b|0);b=vh(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=10;c[a+4>>2]=0;$(584,47539,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=vh(8)|0;c[b>>2]=12;c[b+4>>2]=0;$(584,47551,576,48219,1,a|0,576,48210,5,b|0);b=vh(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=14;c[a+4>>2]=0;$(584,47563,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=15;c[a+4>>2]=0;$(584,47567,576,48219,1,a|0,0,0,0,0);Y(664,680,696,584,48202,4,48202,5,48202,6,47578,48207,25);a=vh(4)|0;c[a>>2]=26;_(664,48223,2,1376,48215,16,a|0,0);Z(584,48243,3,1384,48379,5,2);Z(584,48253,3,1508,48379,6,6);return}function ic(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,n=0,o=0;o=Ob;Ob=Ob+16|0;n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,47591,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=va(47597)|0;g=ra(g|0,j|0)|0;oa(j|0);j=Ac(g,47609)|0;oa(g|0);c[n>>2]=47617;c[n+4>>2]=j?47626:47631;Ia(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=$g(f,46,g)|0;if(!f){g=h;break a}if(!(Mg(f,47637,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=pa(47642)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=oh(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=oh(f+4|0)|0;c[g>>2]=f;e=d}Wi(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=ua(h|0,1,1304,n|0)|0;oa(h|0);yc(m,47652,47663);zc(n,b,47489);k=c[m>>2]|0;d=va(47675)|0;za(k|0,d|0,c[n>>2]|0);oa(d|0);oa(c[n>>2]|0);c[b+22900>>2]=Ea()|0;b=c[l>>2]|0;n=va(47685)|0;za(b|0,n|0,c[m>>2]|0);oa(n|0);oa(c[m>>2]|0);Ob=o;return}function jc(b,e){b=b|0;e=e|0;var f=0,h=0,i=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,w=0,x=0,y=0,z=0,A=0;z=Ob;Ob=Ob+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=va(47813)|0;c[w>>2]=ra(f|0,x|0)|0;oa(x|0);Dc(y,w);oa(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ea()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(Nh(y,0)|0)>>0]|0){case 1:{Ih(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Ec(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)wh(c[w>>2]|0);break a}case 2:{Ih(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Fc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)wh(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=va(47685)|0;e=ra(e|0,f|0)|0;oa(f|0);f=va(47839)|0;h=f;if((a[54e3]|0)==0?Hi(54e3)|0:0)c[13510]=qa(2,1332)|0;b=c[13510]|0;sa(f|0);c[w>>2]=h;na(b|0,e|0,47834,w|0);oa(f|0);oa(e|0);break a}default:{b=a[(Nh(y,0)|0)>>0]|0;c[k>>2]=47855;c[k+4>>2]=b;Ia(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Oh(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;Xi(f|0,f+13|0,b|0)|0;Kh(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;Ih(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Oh(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)wh(c[s>>2]|0);switch(k<<24>>24){case 8:{Ec(b,e,w);break}case 9:{Fc(b,e,w);break}default:{c[t>>2]=47818;c[t+4>>2]=k&255;Ia(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)wh(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;Xi(f|0,f+r|0,A|0)|0;Kh(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Ob=z;return}wh(c[y>>2]|0);Ob=z;return}function kc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;h=j;g=pa(48140)|0;f=b+22892|0;c[h>>2]=c[f>>2];oa(la(g|0,1,1340,h|0)|0);oa(g|0);g=b+22864|0;Xc(g);Wc(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);Yc(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)ph(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;Kh(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Ob=j;return}function lc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Ob;Ob=Ob+16|0;g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=Nc(c[m>>2]|0,48131,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Mc(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){wh(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){wh(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=Oc(c[m>>2]|0,48115,i)|0;Ob=o;return}while(0);a[b+22888>>0]=0;Ob=o;return}function mc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Aa(1184,f|0)|0;Ob=e;return}function nc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ob;Ob=Ob+16|0;g=e;f=+ka(c[d>>2]|0,1184,g|0);ya(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;Ob=e;return}function oc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Aa(1184,f|0)|0;Ob=e;return}function pc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ob;Ob=Ob+16|0;g=e;f=+ka(c[d>>2]|0,1184,g|0);ya(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;Ob=e;return}function qc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Aa(1232,e|0)|0;Ob=d;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1232,f|0);ya(c[f>>2]|0);c[a+22912>>2]=~~e;Ob=d;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Aa(1232,e|0)|0;Ob=d;return}function tc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1232,f|0);ya(c[f>>2]|0);c[a+22916>>2]=~~e;Ob=d;return}function uc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Aa(1272,e|0)|0;Ob=d;return}function vc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1272,f|0);ya(c[f>>2]|0);g[a+22920>>3]=e;Ob=d;return}function wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ob;Ob=Ob+16|0;e=d+4|0;f=d;c[e>>2]=wa()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;Zc(e,48153,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;_c(e,48159,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];$c(e,48164,f);b=c[e>>2]|0;c[a>>2]=b;sa(b|0);oa(c[e>>2]|0);Ob=d;return}function xc(a){a=a|0;oa(c[a>>2]|0);return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=va(b|0)|0;d=va(d|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);return}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=va(d|0)|0;d=ra(f|0,e|0)|0;oa(e|0);Cc(a,d,47789,b);oa(d|0);return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Ob;Ob=Ob+16|0;e=g;f=g+8|0;if((a[53960]|0)==0?Hi(53960)|0:0)c[13505]=qa(1,1300)|0;h=+ma(c[13505]|0,b|0,d|0,f|0,e|0);ya(c[f>>2]|0);Ob=g;return h!=0.0|0}function Bc(a){a=a|0;L(a|0)|0;ki()}function Cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Ob;Ob=Ob+16|0;g=i;h=i+8|0;if((a[53968]|0)==0?Hi(53968)|0:0)c[13506]=qa(2,1308)|0;k=c[13506]|0;sa(c[f>>2]|0);c[g>>2]=c[f>>2];j=+ma(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;ya(h|0);Ob=i;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;e=h;i=+ka(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Bh(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;ya(e|0);Ob=h;return}else d=b}else{j=g+16&-16;d=vh(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Wi(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;ya(e|0);Ob=h;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Hc(b,c[b+22912>>2]<<10,d,g);break}case 11:{Hc(b,16e3,16e3,g);break}case 2:{Hc(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){Ob=j;return}}g=b+28|0;if((h|0)!=2){Ob=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Ic(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){Ob=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){Ob=j;return}d=c[b+4>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,d|0,47938,i|0);Ob=j;return}function Fc(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,n=0,o=0,p=0,q=0;q=Ob;Ob=Ob+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=47984;Ia(0,j|0);break}case 12:{c[k>>2]=47999;Ia(0,k|0);break}default:{c[l>>2]=48014;c[l+4>>2]=f;Ia(0,l|0);Ob=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Ob=q;return}Lc(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=48074;Ia(0,m|0);Ob=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,48090,o|0);Ob=q;return}if(!d){Ob=q;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=Nc(c[h>>2]|0,48131,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=Oc(c[h>>2]|0,48115,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){Pc(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Ob=q;return}while(0);Mc(b+22728|0,e);Ob=q;return}function Gc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;wh(c[b>>2]|0);return}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Ob;Ob=Ob+32|0;h=i;a[b+22897>>0]=0;j=r(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=oh(j)|0;c[h>>2]=47958;c[h+4>>2]=j;Ia(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[53976]|0)==0?Hi(53976)|0:0)c[13507]=qa(5,16)|0;j=c[13507]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;na(j|0,b|0,47948,h|0);Ob=i;return}function Ic(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;Kh(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}Wi(m+n|0,h|0,i-j|0)|0;if((Jc(s)|0)==-1){s=0;return s|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(r((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Jc(s)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Jc(d){d=d|0;var e=0,f=0,g=0,h=0,i=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=Ob;Ob=Ob+272|0;t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=Kc(d,i)|0;if((j|0)==-1){d=-1;Ob=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;Ob=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=qh(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=ig(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;rg(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=fg(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;dg(t,e+(c[r>>2]|0)|0);e=hg(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))gg(t,16);j=hg(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Kh(t,f,0);h=t+11|0;Wi(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;Oh(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)wh(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}Xi(f|0,f+g|0,e|0)|0;Kh(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0<e>>>0|g>>>0<j>>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;dg(t,e+f|0);sg(t,p,s,o)|0;mg(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;Xi(f|0,f+g|0,e|0)|0;Kh(m,e,0);c[l>>2]=0;e=0}d=e;Ob=u;return d|0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;dg(a+28|0,b);c[a+20>>2]=b;yg(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;zg(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Ag(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function Lc(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,n=0;l=Ob;Ob=Ob+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=48104;c[j+4>>2]=e;Ia(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){Zb[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Ob=l;return}Zb[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);Ob=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;Zb[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);Ob=l;return}default:{Ob=l;return}}}function Mc(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,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;f=h;g=h+8|0;if((a[53984]|0)==0?Hi(53984)|0:0)c[13508]=qa(2,1316)|0;j=c[13508]|0;c[f>>2]=c[e>>2];i=+ma(j|0,b|0,d|0,g|0,f|0);ya(c[g>>2]|0);Ob=h;return ~~i|0}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;f=h;g=h+8|0;if((a[53992]|0)==0?Hi(53992)|0:0)c[13509]=qa(2,1324)|0;j=c[13509]|0;c[f>>2]=c[e>>2];i=+ma(j|0,b|0,d|0,g|0,f|0);ya(c[g>>2]|0);Ob=h;return ~~i|0}function Pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Ob;Ob=Ob+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{Xi(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{h=vh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){wh(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Ob=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{d=vh(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=vh(4080)|0;Sc(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Tc(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)wh(f);Ob=r;return}if((d|0)!=(b|0)){c[k>>2]=vh(4080)|0;Qc(a,k);Ob=r;return}c[k>>2]=vh(4080)|0;Rc(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{Xi(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{h=vh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){wh(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Ob=r;return}function Qc(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,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Xi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{i=vh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){wh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Rc(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,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Xi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{h=vh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){wh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Sc(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,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Xi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{i=vh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){wh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Tc(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,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Xi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{h=vh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){wh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Uc(a){a=a|0;var b=0,d=0,e=0,f=0;Xc(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{wh(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;wh(b);return}function Vc(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;ph(b);return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{wh(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Yc(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){wh(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Yc(a);return}wh(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Yc(a);return}function Xc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)wh(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{wh(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;zh(l,47870);c[l>>2]=41160;P(l|0,1104,16)}else{g=vh(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;wh(b);return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1248,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1248,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1256,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function ad(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function bd(a){a=a|0;if(!a)return;Xb[c[(c[a>>2]|0)+4>>2]&31](a);return}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Bh(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=vh(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Wi(b|0,d|0,e|0)|0;a[b+e>>0]=0;Yb[f&31](g,h);if((a[h+11>>0]|0)>=0){Ob=j;return}wh(c[h>>2]|0);Ob=j;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ob;Ob=Ob+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Yb[e&31](a,f);oa(c[f>>2]|0);Ob=g;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Xb[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Xb[e&31](a);return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ob;Ob=Ob+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Yb[d&31](e,a);sa(c[e>>2]|0);g=c[e>>2]|0;oa(g|0);Ob=f;return g|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ob;Ob=Ob+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Yb[e&31](a,f);oa(c[f>>2]|0);Ob=g;return}function hd(b,d){b=b|0;d=d|0;var e=0;e=vh(22936)|0;sd(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1404;return e|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=W(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function jd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function kd(a){a=a|0;if(!a)return;Xb[c[(c[a>>2]|0)+4>>2]&31](a);return}function ld(a){a=a|0;return a|0}function md(a){a=a|0;return a|0}function nd(a,b){a=a|0;b=b|0;Xb[c[a>>2]&31](b);return}function od(b){b=b|0;a[b+22928>>0]=1;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ob;Ob=Ob+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Tb[a&3](f,g)|0;oa(c[g>>2]|0);oa(c[f>>2]|0);Ob=e;return d|0}function qd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Ob;Ob=Ob+16|0;e=g;c[b>>2]=1420;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;oa(f|0);wd(b);Ob=g;return}f=c[d>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,48614,e|0);f=c[d>>2]|0;oa(f|0);wd(b);Ob=g;return}function rd(a){a=a|0;qd(a);wh(a);return}function sd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Ob;Ob=Ob+16|0;h=f+8|0;i=f;c[d>>2]=1436;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;jg(d+40|0);kg(d+104|0);lg(d+9372|0);c[i>>2]=48399;Ia(0,i|0);c[h>>2]=48384;c[h+4>>2]=d+28;Ia(0,h|0);ud(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;Ob=f;return}function td(a){a=a|0;qd(a);wh(a);return}function ud(b){b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1452;if(!(_f(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48440;Ia(0,e|0);Ob=f;return}else{c[d>>2]=48409;Ia(0,d|0);Ob=f;return}}function vd(b){b=b|0;var d=0,e=0,f=0;e=Ob;Ob=Ob+16|0;d=e+8|0;f=e;c[f>>2]=48546;Ia(0,f|0);ph(c[b+8>>2]|0);c[d>>2]=48569;Ia(0,d|0);ng(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)wh(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){Ob=e;return}wh(c[b>>2]|0);Ob=e;return}function wd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ob;Ob=Ob+16|0;g=i+8|0;d=i;c[b>>2]=1436;f=pa(48140)|0;c[d>>2]=c[b+22892>>2];oa(la(f|0,1,1340,d|0)|0);oa(f|0);c[g>>2]=48593;Ia(0,g|0);g=b+22864|0;Xc(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{wh(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)wh(d);zd(b+22728|0);vd(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;oa(b|0);Ob=i;return}wh(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;oa(b|0);Ob=i;return}function xd(a){a=a|0;wd(a);wh(a);return}function yd(b){b=b|0;var d=0;ng(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)wh(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;wh(c[b>>2]|0);return}function zd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+16|0;g=h;c[b>>2]=1452;d=b+40|0;e=c[d>>2]|0;if(e|0){$f(e);c[d>>2]=0}c[b>>2]=1484;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)ph(f);c[g>>2]=48475;Ia(0,g|0);Ob=h;return}function Ad(a){a=a|0;zd(a);wh(a);return}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Ed(a)|0;while((c[b>>2]|0)!=0);return}function Cd(b){b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[b>>2]=1484;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)ph(d);c[e>>2]=48475;Ia(0,e|0);Ob=f;return}function Dd(a){a=a|0;Na()}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=Ob;Ob=Ob+16|0;g=v+8|0;t=v;u=b+40|0;e=b+44|0;f=b+60|0;d=bg(c[u>>2]|0,e,f)|0;switch(d|0){case 4:{if(ag(c[u>>2]|0,b+80|0)|0){u=-1;Ob=v;return u|0}Fd(b,c[b+84>>2]|0,c[b+88>>2]|0);u=c[f>>2]|0;t=b+48|0;c[t>>2]=(c[e>>2]|0)-u+(c[t>>2]|0);c[e>>2]=u;u=0;Ob=v;return u|0}case 3:{s=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-s+(c[q>>2]|0);c[e>>2]=s;break}case 1:case -2:{c[b+48>>2]=0;u=d;Ob=v;return u|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48499;c[g+4>>2]=0-d;Ia(0,g|0);c[b+48>>2]=0;u=d;Ob=v;return u|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((cg(c[u>>2]|0,h,0)|0)!=2){u=d;Ob=v;return u|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;s=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=r(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Gd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);e=c[c[b>>2]>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,e|0,48541,t|0)}while((cg(c[u>>2]|0,h,0)|0)==2);Ob=v;return d|0}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ob;Ob=Ob+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48515;c[h+4>>2]=d;c[h+8>>2]=e;Ia(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=oh((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[54008]|0)==0?Hi(54008)|0:0)c[13511]=qa(4,48)|0;b=c[13511]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;na(b|0,d|0,48528,h|0);Ob=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[54008]|0)==0?Hi(54008)|0:0)c[13511]=qa(4,48)|0;b=c[13511]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;na(b|0,d|0,48528,h|0);Ob=i;return}}function Gd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Hd(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;l=Ob;Ob=Ob+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Bh(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=vh(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Wi(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Zb[b&7](h,j,k);sa(c[h>>2]|0);d=c[h>>2]|0;oa(d|0);oa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Ob=l;return d|0}wh(c[j>>2]|0);Ob=l;return d|0}function Id(){hc(0);return}function Jd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[49905+b>>0]|0;s=d[49957+b>>0]|0;b=c[1856+(s*12|0)>>2]<<g;h=c[1856+(s*12|0)+4>>2]<<g;g=c[1856+(s*12|0)+8>>2]<<g;if(!e)c[a>>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function Kd(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[49957+d>>0]|0;s=a[49905+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1856+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<<s+-2;d=h+f|0;B=f-h|0;C=g-i|0;D=i+g|0;c[b>>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function Ld(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1856+((d[49957+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[49905+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function Md(a,b){a=a|0;b=b|0;var c=0;b=1<<b+-1;if(b&a|0){a=0;return a|0}c=b;b=0;do{b=b+1|0;c=c>>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function Nd(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=Od(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[1928+(b+-1<<2)>>2]|0)&1;return b|0}function Od(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<<g}}else{h=a+8|0;if((e|0)>0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<<j;e=e+-8+g|0;if((e|0)>0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<<e|f;if((g|0)<=8)break;else g=g+-8|0}}}else f=0}e=k+b|0;c[n>>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function Pd(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((Qd(a)|0)>>>(32-b|0)|0)!=(1<<b+-1|0)|0;return 0}function Qd(a){a=a|0;var b=0,e=0,f=0,g=0;f=c[a+4>>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<<a;return f|0}if((e|0)<=0){f=0;return f|0}g=c[a+8>>2]|0;b=g+24|0;a=(d[f>>0]|0)<<b;e=e+-8+g|0;if((e|0)<=0){g=a;return g|0}while(1){f=f+1|0;b=b+-8|0;a=(d[f>>0]|0)<<b|a;if((e|0)<=8)break;else e=e+-8|0}return a|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+(d<<2)>>2]|0;d=d+1|0;a:do if(d>>>0<b>>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0<b>>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function Td(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function Ud(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,l=0,m=0,n=0,o=0;o=Ob;Ob=Ob+16|0;n=o;Vd(b,0,92);d=Od(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,Od(a,1)|0,Od(a,1)|0,(Od(a,1)|0)!=-1):0)?(Od(a,5)|0)!=-1:0)?(e=Od(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=Wd(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=Wd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<<d+4;d=Wd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=Wd(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<<d+4;break}case 1:{d=Od(a,1)|0;if((d|0)==-1){d=1;break a}c[b+24>>2]=(d|0)==1&1;d=Xd(a,b+28|0)|0;if(d|0)break a;d=Xd(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=Wd(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=Yd(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=Xd(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=Xd(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=Wd(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=Od(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=Wd(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=Wd(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(Od(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((Od(a,1)|0)!=-1?(k=Od(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=Wd(a,h)|0;if(d|0)break;e=b+68|0;d=Wd(a,e)|0;if(d|0)break;g=b+72|0;d=Wd(a,g)|0;if(d|0)break;f=b+76|0;d=Wd(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0<f>>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=Od(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=Yd(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=Zd(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);Nd(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);Ob=o;return d|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;Yi(a|0,b&255|0,c|0)|0;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qd(a)|0;if((d|0)<0){_d(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((_d(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((_d(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((_d(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=Md(d,28)|0;e=d+4|0;if((e|0)!=32){_d(a,d+5|0)|0;d=Od(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<<e)+-1+d;b=0;return b|0}c[b>>2]=0;_d(a,32)|0;if((Od(a,1)|0)!=1){b=1;return b|0}d=Qd(a)|0;if((_d(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[e>>2]=0;d=Wd(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}Ob=f;return a|0}function Yd(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0<a>>>0){a=0;return a|0}a=oh(r(b,a)|0)|0;return a|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Vd(b,0,952);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=Od(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=Od(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=Od(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=Qd(a)|0;if((d|0)==0|(_d(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=Qd(a)|0;if((d|0)==0|(_d(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=$d(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=$d(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=Wd(a,b+944|0)|0;if(d|0){b=d;return b|0}d=Wd(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function _d(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Wd(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=Od(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=Od(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=Wd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=Wd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=Od(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function be(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,l=0;k=Ob;Ob=Ob+16|0;i=k+4|0;j=k;Vd(b,0,72);d=Wd(a,b)|0;if(d|0){a=d;Ob=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;Ob=k;return a|0}e=b+4|0;d=Wd(a,e)|0;if(d|0){a=d;Ob=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;Ob=k;return a|0}if(Od(a,1)|0){a=1;Ob=k;return a|0}d=Od(a,1)|0;if((d|0)==-1){a=1;Ob=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=Wd(a,i)|0;if(d|0){a=d;Ob=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;Ob=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=Wd(a,e)|0;if(d|0){a=d;Ob=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;Ob=k;return a|0}switch(d|0){case 0:{g=Yd(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;Ob=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=Wd(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}Ob=k;return d|0}case 2:{g=b+24|0;c[g>>2]=Yd(4,(c[h>>2]|0)+-1|0)|0;f=Yd(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;Ob=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=Wd(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=Wd(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){Ob=k;return d|0}break}case 5:case 4:case 3:{d=Od(a,1)|0;if((d|0)==-1){a=1;Ob=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=Wd(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;Ob=k;return a|0}}case 6:{d=Wd(a,i)|0;if(d|0){a=d;Ob=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=Yd(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;Ob=k;return a|0}d=c[1960+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=Od(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}Ob=k;return d|0}default:break a}}while(0);d=Wd(a,i)|0;if(d|0){l=d;Ob=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;Ob=k;return l|0}c[b+48>>2]=d+1;d=Wd(a,i)|0;if(d|0){l=d;Ob=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;Ob=k;return l|0}if(Od(a,1)|0){l=1;Ob=k;return l|0}if((Od(a,2)|0)>>>0>2){l=1;Ob=k;return l|0}d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;Ob=k;return l|0}c[b+52>>2]=d;d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;Ob=k;return l|0}d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;Ob=k;return l|0}c[b+56>>2]=d;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+68>>2]=(d|0)==1&1;Nd(a)|0;l=0;Ob=k;return l|0}function ce(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=Ob;Ob=Ob+16|0;p=v+12|0;o=v+8|0;u=v+4|0;s=v;Vd(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;Ob=v;return u|0}g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;Ob=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;Ob=v;return u|0}if(!(c[d+44>>2]|0)){u=1;Ob=v;return u|0}}g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;Ob=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Od(a,h+-1|0)|0;if((g|0)==-1){u=1;Ob=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;Ob=v;return u|0}c[b+12>>2]=g;if(h){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;Ob=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Od(a,h+-1|0)|0;if((g|0)==-1){u=1;Ob=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=Xd(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;Ob=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;Ob=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;Ob=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=Xd(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;Ob=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;Ob=v;return u|0}}if(c[e+68>>2]|0){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;Ob=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=Od(a,1)|0;if((g|0)==-1){u=1;Ob=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;Ob=v;return u|0}}else{g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;Ob=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=Od(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=Wd(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=Wd(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=Wd(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;Ob=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=Od(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=Od(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=Wd(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=Wd(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;Ob=v;return u|0}while(0);g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;Ob=v;return u|0}do if(c[e+60>>2]|0){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;Ob=v;return u|0}if((g|0)!=1){g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Ob=v;return u|0}c[b+56>>2]=g<<1;g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Ob=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<<g&i))break;else h=g}g=Od(a,((1<<h)+-1&i|0)==0?h:g)|0;c[u>>2]=g;if((g|0)==-1){u=1;Ob=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;Ob=v;return u|0}}u=0;Ob=v;return u|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+32|0;e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Wd(d,e)|0;if(!a){a=Wd(d,e)|0;if(!a){a=Wd(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}Ob=f;return a|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ob;Ob=Ob+32|0;e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=Od(f,a+-1|0)|0;if((a|0)==-1){d=1;Ob=g;return d|0}c[d>>2]=a;d=0;Ob=g;return d|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Ob;Ob=Ob+32|0;f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=Wd(g,f)|0;if(!d){d=Wd(g,f)|0;if(!d){d=Wd(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((Od(g,d+-1|0)|0)==-1)d=1;else d=Wd(g,e)|0}}}}else d=1;Ob=h;return d|0}function ge(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;j=Ob;Ob=Ob+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){e=1;Ob=j;return e|0}if((d|0)==5?(g=Wd(i,h)|0,g|0):0){e=g;Ob=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=Od(i,f+-1|0)|0;if((a|0)==-1){e=1;Ob=j;return e|0}c[e>>2]=a;e=0;Ob=j;return e|0}function he(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;j=Ob;Ob=Ob+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){i=1;Ob=j;return i|0}if((d|0)==5?(g=Wd(i,h)|0,g|0):0){i=g;Ob=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){i=1;Ob=j;return i|0}i=Xd(i,e)|0;Ob=j;return i|0}function ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Ob;Ob=Ob+32|0;h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){j=1;Ob=k;return j|0}if((d|0)==5?(g=Wd(j,h)|0,g|0):0){j=g;Ob=k;return j|0}a=Xd(j,f)|0;if(a|0){j=a;Ob=k;return j|0}if(e|0?(i=Xd(j,f+4|0)|0,i|0):0){j=i;Ob=k;return j|0}j=0;Ob=k;return j|0}function je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Ob;Ob=Ob+32|0;k=l+24|0;i=l+20|0;j=l;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];c[j+16>>2]=c[b+16>>2];f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){e=1;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){e=1;Ob=l;return e|0}if(c[e+8>>2]|0?(h=Xd(j,i)|0,h|0):0){e=h;Ob=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=Xd(j,i)|0;if(f|0){e=f;Ob=l;return e|0}if(c[e+8>>2]|0?(m=Xd(j,i)|0,m|0):0){e=m;Ob=l;return e|0}}if(c[e+68>>2]|0?(n=Wd(j,k)|0,n|0):0){e=n;Ob=l;return e|0}e=Od(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;Ob=l;return e|0}function ke(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,m=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,z=0,A=0,B=0,C=0,D=0,E=0;A=Ob;Ob=Ob+448|0;n=A+8|0;v=A+4|0;t=A;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;w=b+1192|0;c[w>>2]=(c[w>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;x=e+4|0;j=e+44|0;g=b+1220|0;z=b+1176|0;k=b+1172|0;i=l+12|0;y=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}B=c[(c[m>>2]|0)+56>>2]|0;E=c[q>>2]|0;D=c[r>>2]|0;C=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[w>>2];c[e+(h*216|0)+8>>2]=E;c[e+(h*216|0)+12>>2]=D;c[e+(h*216|0)+16>>2]=C;c[e+(h*216|0)+24>>2]=B;e=c[x>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=Wd(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[z>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{Vd(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=le(a,l,(c[p>>2]|0)+(h*216|0)|0,c[x>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=me((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}y=y+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=Pd(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[x>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=Rd(c[k>>2]|0,c[z>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+y|0;if(e>>>0>(c[z>>2]|0)>>>0){E=1;Ob=A;return E|0}c[f>>2]=e;E=0;Ob=A;return E|0}else if((f|0)==20){Ob=A;return e|0}return 0}function le(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=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,w=0,x=0;x=Ob;Ob=Ob+16|0;t=x+12|0;r=x+8|0;w=x+4|0;v=x;Vd(d,0,2088);i=Wd(a,w)|0;h=c[w>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;Ob=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;Ob=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=Qd(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((_d(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=Qd(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((_d(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(Wd(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(Ye(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=Xd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(Wd(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(Wd(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(Wd(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(Wd(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;Ob=x;return a|0}do if((s|0)!=1){h=Ze(a,w,(s|0)==0&1)|0;if(!h){w=c[w>>2]|0;c[d+4>>2]=w;if(!w)break b;else break}else{a=h;Ob=x;return a|0}}else{w=c[u>>2]|0;s=w+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(w>>>0>18?15:0)}while(0);w=(Xd(a,v)|0)!=0;h=c[v>>2]|0;if(w|(h+26|0)>>>0>51){a=1;Ob=x;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=$e(a,d+1864|0,_e(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=$e(a,d+328+(j<<6)+4|0,_e(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=$e(a,d+328+(j<<6)|0,_e(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=$e(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=$e(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;Ob=x;return a|0}}else{g:do if(!(Xe(a)|0)){while(1){if(Od(a,1)|0){h=1;break}if(Xe(a)|0)break g}Ob=x;return h|0}while(0);i=0;f=d+328|0;while(1){h=Od(a,8)|0;c[w>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}Ob=x;return h|0}while(0);a=0;Ob=x;return a|0}function me(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;Sd(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}ne(f,k);k=0;return k|0}p=d+28|0;if(s){oe(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)Kd(e+1864|0,l);n=1992;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Jd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Jd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1520+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;Ld(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Jd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Jd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=pe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{Vd(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=qe(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;Wi(a|0,b|0,c|0)|0;return}function pe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Ob;Ob=Ob+80|0;h=j+32|0;i=j;Le(d,h,i,e);if((Me(c[a>>2]|0)|0)==1){e=Ne(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;Ob=j;return a|0}}else{e=Oe(a,g,b,h,i,f)|0;if(e|0){a=e;Ob=j;return a|0}}e=Pe(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;Ob=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;Ob=j;return a|0}ne(d,g);a=0;Ob=j;return a|0}
function qf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){Vd(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0<n>>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0<g>>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0<n>>>0}while(k>>>0<m>>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0<k>>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0<k>>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function rf(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ob;Ob=Ob+32|0;g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;Ob=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=de(a,g)|0;if(f|0){b=f;Ob=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;Ob=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;Ob=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;Ob=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ee(a,c[g>>2]|0,i)|0){b=1;Ob=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(fe(a,c[g>>2]|0,5,j)|0){b=1;Ob=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(ge(a,l,c[b>>2]|0,m)|0){b=1;Ob=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=he(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;Ob=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=ie(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;Ob=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;Ob=s;return b|0}default:{b=0;Ob=s;return b|0}}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0<l>>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0<l>>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function tf(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,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0<e>>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function uf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var 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,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;vf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0<o>>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{vf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0<k>>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}wf(c[a>>2]|0,d+1|0);a=q;return a|0}function vf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(xf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function wf(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,l=0,m=0,n=0,o=0,p=0,q=0;q=Ob;Ob=Ob+32|0;o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){Ob=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));Ob=q;return}function xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function yf(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function zf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{gf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}gf(b);c[a>>2]=0;e=a+4|0;gf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;gf(c[a>>2]|0);c[a>>2]=0;return}function Af(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0<b>>>0);return}function Bf(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;wf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Cf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Ef(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=Ob;Ob=Ob+176|0;Ia=Cb+40|0;mb=Cb;Ca=c[e+4>>2]|0;Ma=e+8|0;Bb=c[Ma>>2]|0;g=r(Bb,Ca)|0;if(!Bb){Ob=Cb;return}zb=Ia+24|0;Ab=Ia+16|0;Bb=Ia+8|0;Na=Ia+100|0;Oa=Ia+68|0;Pa=Ia+36|0;Qa=Ia+4|0;Fa=mb+28|0;Ja=mb+32|0;kb=mb+24|0;nb=Ia+120|0;ob=Ia+112|0;pb=Ia+104|0;qb=Ia+96|0;rb=Ia+88|0;sb=Ia+80|0;tb=Ia+72|0;ub=Ia+64|0;vb=Ia+56|0;wb=Ia+48|0;xb=Ia+40|0;yb=Ia+32|0;Ra=Ia+124|0;Sa=Ia+116|0;Ta=Ia+108|0;Ua=Ia+92|0;Va=Ia+84|0;Wa=Ia+76|0;Xa=Ia+60|0;Ya=Ia+52|0;Za=Ia+44|0;_a=Ia+28|0;$a=Ia+20|0;ab=Ia+12|0;eb=Ca<<4;Da=mb+12|0;Ea=mb+24|0;cb=Ca<<6;jb=0-eb|0;bb=jb<<1;ib=r(Ca,-48)|0;db=Ca<<5;gb=jb<<2;hb=Ca*48|0;Ha=mb+4|0;La=mb+8|0;Ga=mb+16|0;Ka=mb+20|0;lb=mb+12|0;fb=g<<8;ta=g<<6;ua=Ca<<3;ka=Ia+4|0;qa=Ia+36|0;ia=Ia+16|0;ma=Ia+20|0;oa=Ia+52|0;ya=Ia+8|0;la=Ia+68|0;Aa=Ia+24|0;ra=Ia+100|0;ja=Ia+80|0;na=Ia+84|0;pa=Ia+116|0;wa=Ia+24|0;va=Ia+64|0;za=Ia+72|0;Ba=Ia+88|0;xa=Ia+88|0;ga=0;sa=0;ha=f;while(1){g=c[ha+8>>2]|0;do if((g|0)!=1){fa=ha+200|0;n=c[fa>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ha+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);ea=ha+204|0;k=c[ea>>2]|0;do if(k){if((g|0)==2?(c[ha+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);da=(f&2|0)==0;do if(da){c[zb>>2]=0;c[Ab>>2]=0;c[Bb>>2]=0;c[Ia>>2]=0;i=0}else{if((c[ha>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+132>>1]|0)-(b[k+172>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ha+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ia>>2]=j;if((b[ha+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+136>>1]|0)-(b[k+176>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){h=(b[ha+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Bb>>2]=h;if((b[ha+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+148>>1]|0)-(b[k+188>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){i=(b[ha+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Ab>>2]=i;if((b[ha+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+152>>1]|0)-(b[k+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){g=(b[ha+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[zb>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[zb>>2]=4;c[Ab>>2]=4;c[Bb>>2]=4;c[Ia>>2]=4;i=1}while(0);ca=(f&4|0)==0;do if(ca){c[Na>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;g=0;f=c[ha>>2]|0;h=ha;ba=64}else{f=c[ha>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+132>>1]|0)-(b[n+152>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){k=(b[ha+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Qa>>2]=k;if((b[ha+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+140>>1]|0)-(b[n+160>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){l=(b[ha+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Pa>>2]=l;if((b[ha+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+164>>1]|0)-(b[n+184>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){m=(b[ha+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Oa>>2]=m;if((b[ha+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+172>>1]|0)-(b[n+192>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){j=(b[ha+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Na>>2]=j;g=k;h=ha;i=(k|i|l|m|j|0)!=0&1;ba=66;break}c[Na>>2]=4;c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;g=4;h=ha;i=1;ba=64}while(0);if((ba|0)==64){ba=0;if(f>>>0>5){c[nb>>2]=3;c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[Ra>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3}else ba=66}if((ba|0)==66){ba=0;a:do if((bf(f)|0)==1){p=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)K=0;else K=2;c[yb>>2]=K;f=b[ha+34>>1]|0;u=f<<16>>16==0;if(u?(b[ha+30>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;h=b[ha+40>>1]|0;v=h<<16>>16==0;if(v?(b[ha+36>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;j=b[ha+42>>1]|0;w=j<<16>>16==0;if(w?(b[ha+38>>1]|0)==0:0)G=0;else G=2;c[vb>>2]=G;t=b[ha+44>>1]|0;F=(t|s)<<16>>16==0?0:2;c[ub>>2]=F;q=b[ha+46>>1]|0;x=f<<16>>16!=0;E=(q|f)<<16>>16==0?0:2;c[tb>>2]=E;n=b[ha+52>>1]|0;o=h<<16>>16!=0;D=(n|h)<<16>>16==0?0:2;c[sb>>2]=D;m=b[ha+54>>1]|0;C=(m|j)<<16>>16==0?0:2;c[rb>>2]=C;f=b[ha+48>>1]|0;B=(f|t)<<16>>16==0?0:2;c[qb>>2]=B;h=b[ha+50>>1]|0;A=(h|q)<<16>>16==0?0:2;c[pb>>2]=A;j=b[ha+56>>1]|0;z=(j|n)<<16>>16==0?0:2;c[ob>>2]=z;k=b[ha+58>>1]|0;y=(k|m)<<16>>16==0?0:2;c[nb>>2]=y;l=b[ha+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[ab>>2]=p;_=b[ha+36>>1]|0;$=(_|l)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|u^1?2:0;c[Za>>2]=J;aa=x|v^1?2:0;c[Ya>>2]=aa;v=o|w^1?2:0;c[Xa>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Wa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Va>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Ua>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ta>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Sa>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Ra>>2]=h;k=m;m=q;q=aa;aa=p;u=E;s=F;p=G;l=H;j=I;f=K}else switch(c[h>>2]|0){case 2:{q=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[yb>>2]=f;t=b[ha+34>>1]|0;A=t<<16>>16==0;if(A?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;u=b[ha+40>>1]|0;B=u<<16>>16==0;if(B?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;n=b[ha+42>>1]|0;C=n<<16>>16==0;if(C?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;v=b[ha+48>>1]|0;if(v<<16>>16==0?(b[ha+44>>1]|0)==0:0)L=0;else L=2;c[qb>>2]=L;w=b[ha+50>>1]|0;D=w<<16>>16==0;if(D?(b[ha+46>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;x=b[ha+56>>1]|0;if(x<<16>>16==0?(b[ha+52>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;y=b[ha+58>>1]|0;if(y<<16>>16==0?(b[ha+54>>1]|0)==0:0)G=0;else G=2;c[nb>>2]=G;z=b[ha+44>>1]|0;h=b[ha+166>>1]|0;j=b[ha+142>>1]|0;do if(!((z|s)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}M=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else M=2;while(0);c[ub>>2]=M;o=b[ha+46>>1]|0;h=b[ha+170>>1]|0;j=b[ha+146>>1]|0;do if(!((o|t)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}K=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else K=2;while(0);c[tb>>2]=K;m=b[ha+52>>1]|0;h=b[ha+182>>1]|0;j=b[ha+158>>1]|0;do if(!((m|u)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}F=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;k=b[ha+54>>1]|0;h=b[ha+186>>1]|0;j=b[ha+162>>1]|0;do if(!((k|n)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}E=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else E=2;while(0);c[rb>>2]=E;h=b[ha+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[ab>>2]=j;_=b[ha+36>>1]|0;$=(_|h)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|A^1?2:0;c[Za>>2]=J;q=t<<16>>16!=0|B^1?2:0;c[Ya>>2]=q;aa=u<<16>>16!=0|C^1?2:0;c[Xa>>2]=aa;t=(o|z)<<16>>16==0?0:2;c[Wa>>2]=t;z=(m|o)<<16>>16==0?0:2;c[Va>>2]=z;o=(k|m)<<16>>16==0?0:2;c[Ua>>2]=o;n=v<<16>>16!=0|D^1?2:0;c[Ta>>2]=n;k=(x|w)<<16>>16==0?0:2;c[Sa>>2]=k;h=(y|x)<<16>>16==0?0:2;c[Ra>>2]=h;m=z;v=aa;aa=j;y=G;z=H;A=I;B=L;C=E;D=F;u=K;s=M;j=N;break a}case 3:{h=ha+28|0;j=b[ha+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;v=b[ha+34>>1]|0;k=v<<16>>16==0;if(k?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;w=b[ha+40>>1]|0;if(w<<16>>16==0?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;f=b[ha+42>>1]|0;m=f<<16>>16==0;if(m?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;n=b[ha+44>>1]|0;M=(n|j)<<16>>16==0?0:2;c[ub>>2]=M;x=b[ha+46>>1]|0;u=(x|v)<<16>>16==0?0:2;c[tb>>2]=u;E=b[ha+52>>1]|0;D=(E|w)<<16>>16==0?0:2;c[sb>>2]=D;o=b[ha+54>>1]|0;C=(o|f)<<16>>16==0?0:2;c[rb>>2]=C;q=b[ha+48>>1]|0;B=(q|n)<<16>>16==0?0:2;c[qb>>2]=B;G=b[ha+50>>1]|0;A=(G|x)<<16>>16==0?0:2;c[pb>>2]=A;H=b[ha+56>>1]|0;z=(H|E)<<16>>16==0?0:2;c[ob>>2]=z;s=b[ha+58>>1]|0;y=(s|o)<<16>>16==0?0:2;c[nb>>2]=y;t=b[ha+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)L=0;else L=2;c[ab>>2]=L;f=ha+36|0;if(!(b[ha+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){K=0;f=0}else ba=146}else{f=b[f>>1]|0;ba=146}if((ba|0)==146){ba=0;K=2}c[_a>>2]=K;J=j<<16>>16!=0|k^1?2:0;c[Za>>2]=J;I=w<<16>>16!=0|m^1?2:0;c[Xa>>2]=I;F=(x|n)<<16>>16==0?0:2;c[Wa>>2]=F;o=(o|E)<<16>>16==0?0:2;c[Ua>>2]=o;n=(G|q)<<16>>16==0?0:2;c[Ta>>2]=n;h=(s|H)<<16>>16==0?0:2;c[Ra>>2]=h;j=b[ha+150>>1]|0;k=b[ha+138>>1]|0;do if(!((f|t)<<16>>16)){aa=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}aa=j-k|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}s=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else s=2;while(0);c[$a>>2]=s;f=b[ha+158>>1]|0;j=b[ha+146>>1]|0;do if(!((w|v)<<16>>16)){aa=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;f=b[ha+182>>1]|0;j=b[ha+170>>1]|0;do if(!((E|x)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;f=b[ha+190>>1]|0;j=b[ha+178>>1]|0;do if(!((H|G)<<16>>16)){aa=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}f=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else f=2;while(0);c[Sa>>2]=f;k=f;t=F;v=I;_=K;$=s;aa=L;s=M;j=N;f=O;break a}default:{w=b[ha+32>>1]|0;h=b[ha+28>>1]|0;x=b[ha+142>>1]|0;k=b[ha+134>>1]|0;if(!((h|w)<<16>>16)){f=(b[ha+140>>1]|0)-(b[ha+132>>1]|0)|0;aa=x-k|0;f=((((aa|0)<0?0-aa|0:aa)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[yb>>2]=f;E=b[ha+34>>1]|0;m=b[ha+30>>1]|0;F=b[ha+146>>1]|0;n=b[ha+138>>1]|0;if(!((m|E)<<16>>16)){j=(b[ha+144>>1]|0)-(b[ha+136>>1]|0)|0;aa=F-n|0;j=((((aa|0)<0?0-aa|0:aa)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[xb>>2]=j;G=b[ha+40>>1]|0;o=b[ha+36>>1]|0;I=b[ha+158>>1]|0;t=b[ha+150>>1]|0;if(!((o|G)<<16>>16)){l=(b[ha+156>>1]|0)-(b[ha+148>>1]|0)|0;aa=I-t|0;l=((((aa|0)<0?0-aa|0:aa)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[wb>>2]=l;H=b[ha+42>>1]|0;q=b[ha+38>>1]|0;J=b[ha+162>>1]|0;v=b[ha+154>>1]|0;if(!((q|H)<<16>>16)){p=(b[ha+160>>1]|0)-(b[ha+152>>1]|0)|0;aa=J-v|0;p=((((aa|0)<0?0-aa|0:aa)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[vb>>2]=p;K=b[ha+44>>1]|0;L=b[ha+166>>1]|0;if(!((K|w)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)<=3?(aa=L-x|0,(((aa|0)<0?0-aa|0:aa)|0)<=3):0)s=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1;else s=1}else s=2;c[ub>>2]=s;M=b[ha+46>>1]|0;N=b[ha+170>>1]|0;do if(!((M|E)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3)u=1;else{aa=N-F|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){u=1;break}u=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}}else u=2;while(0);c[tb>>2]=u;O=b[ha+52>>1]|0;R=b[ha+182>>1]|0;do if(!((O|G)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}aa=R-I|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}D=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;P=b[ha+54>>1]|0;Q=b[ha+186>>1]|0;do if(!((P|H)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}aa=Q-J|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}C=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else C=2;while(0);c[rb>>2]=C;S=b[ha+48>>1]|0;T=b[ha+174>>1]|0;if(!((S|K)<<16>>16)){B=(b[ha+172>>1]|0)-(b[ha+164>>1]|0)|0;aa=T-L|0;B=((((aa|0)<0?0-aa|0:aa)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;U=b[ha+50>>1]|0;V=b[ha+178>>1]|0;if(!((U|M)<<16>>16)){A=(b[ha+176>>1]|0)-(b[ha+168>>1]|0)|0;aa=V-N|0;A=((((aa|0)<0?0-aa|0:aa)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;W=b[ha+56>>1]|0;Z=b[ha+190>>1]|0;if(!((W|O)<<16>>16)){z=(b[ha+188>>1]|0)-(b[ha+180>>1]|0)|0;aa=Z-R|0;z=((((aa|0)<0?0-aa|0:aa)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;X=b[ha+58>>1]|0;Y=b[ha+194>>1]|0;if(!((X|P)<<16>>16)){y=(b[ha+192>>1]|0)-(b[ha+184>>1]|0)|0;aa=Y-Q|0;y=((((aa|0)<0?0-aa|0:aa)|0)>3|(((y|0)<0?0-y|0:y)|0)>3)&1}else y=2;c[nb>>2]=y;if(!((m|h)<<16>>16)){aa=(b[ha+136>>1]|0)-(b[ha+132>>1]|0)|0;$=n-k|0;aa=(((($|0)<0?0-$|0:$)|0)>3|(((aa|0)<0?0-aa|0:aa)|0)>3)&1}else aa=2;c[ab>>2]=aa;do if(!((o|m)<<16>>16)){$=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=t-n|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else $=2;while(0);c[$a>>2]=$;if(!((q|o)<<16>>16)){_=(b[ha+152>>1]|0)-(b[ha+148>>1]|0)|0;v=v-t|0;_=((((v|0)<0?0-v|0:v)|0)>3|(((_|0)<0?0-_|0:_)|0)>3)&1}else _=2;c[_a>>2]=_;if(!((E|w)<<16>>16)){w=(b[ha+144>>1]|0)-(b[ha+140>>1]|0)|0;x=F-x|0;w=((((x|0)<0?0-x|0:x)|0)>3|(((w|0)<0?0-w|0:w)|0)>3)&1}else w=2;c[Za>>2]=w;do if(!((G|E)<<16>>16)){E=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((E|0)<0?0-E|0:E)|0)>3){q=1;break}F=I-F|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;if(!((H|G)<<16>>16)){v=(b[ha+160>>1]|0)-(b[ha+156>>1]|0)|0;J=J-I|0;v=((((J|0)<0?0-J|0:J)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Xa>>2]=v;if(!((M|K)<<16>>16)){t=(b[ha+168>>1]|0)-(b[ha+164>>1]|0)|0;L=N-L|0;t=((((L|0)<0?0-L|0:L)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Wa>>2]=t;do if(!((O|M)<<16>>16)){M=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((M|0)<0?0-M|0:M)|0)>3){m=1;break}N=R-N|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;if(!((P|O)<<16>>16)){o=(b[ha+184>>1]|0)-(b[ha+180>>1]|0)|0;R=Q-R|0;o=((((R|0)<0?0-R|0:R)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Ua>>2]=o;if(!((U|S)<<16>>16)){n=(b[ha+176>>1]|0)-(b[ha+172>>1]|0)|0;T=V-T|0;n=((((T|0)<0?0-T|0:T)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ta>>2]=n;do if(!((W|U)<<16>>16)){U=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((U|0)<0?0-U|0:U)|0)>3){k=1;break}V=Z-V|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}k=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else k=2;while(0);c[Sa>>2]=k;if(!((X|W)<<16>>16)){h=(b[ha+192>>1]|0)-(b[ha+188>>1]|0)|0;Z=Y-Z|0;h=((((Z|0)<0?0-Z|0:Z)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Ra>>2]=h;J=w;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|J|_|$|aa|y|z|A|B|C|D|u|s|p|l|j|f|0)==0:0)break}A=ha+20|0;h=c[A>>2]|0;C=ha+12|0;i=c[C>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;D=ha+16|0;j=c[D>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50727+k>>0]|0;c[Fa>>2]=l;m=d[50779+((m|0)>0?m:0)>>0]|0;c[Ja>>2]=m;k=50831+(k*3|0)|0;c[kb>>2]=k;do if(!da){f=c[(c[ea>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[mb>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ha>>2]=d[50727+aa>>0];c[La>>2]=d[50779+(($|0)>0?$:0)>>0];c[mb>>2]=50831+(aa*3|0);break}}while(0);do if(!ca){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ga>>2]=l;c[Ka>>2]=m;c[Da>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ga>>2]=d[50727+aa>>0];c[Ka>>2]=d[50779+(($|0)>0?$:0)>>0];c[lb>>2]=50831+(aa*3|0);break}}while(0);B=r(sa,Ca)|0;x=3;k=0;y=(c[e>>2]|0)+(B<<8)+(ga<<4)|0;z=Ia;while(1){if(g|0)Ff(y,g,Da,eb);g=c[z+12>>2]|0;if(g|0)Ff(y+4|0,g,Ea,eb);i=z+16|0;g=c[z+20>>2]|0;if(g|0)Ff(y+8|0,g,Ea,eb);j=z+24|0;g=c[z+28>>2]|0;if(g|0)Ff(y+12|0,g,Ea,eb);f=c[z>>2]|0;h=z+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[mb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=mb+(k*12|0)+4|0;l=mb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=y;q=16;while(1){h=p+bb|0;k=p+jb|0;i=p+eb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;aa=n-o|0;do if(((aa|0)<0?0-aa|0:aa)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;aa=m-n|0;f=c[l>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;j=g&255;aa=j-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;g=d[p+ib>>0]|0;aa=g-n|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+db>>0]|0;aa=h-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){aa=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((aa|0)<(t|0)?t:(aa|0)>(v|0)?v:aa)+j;g=g+1|0}$=4-j+(o-n<<2)+m>>3;aa=0-g|0;$=($|0)<(aa|0)?aa:($|0)>(g|0)?g:$;aa=a[49137+(o-$)>>0]|0;a[k>>0]=a[49137+($+n)>>0]|0;a[p>>0]=aa}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}w=mb+(k*12|0)+4|0;p=mb+(k*12|0)+8|0;u=y;v=16;while(1){j=u+bb|0;k=u+jb|0;o=u+eb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[w>>2]|0;c:do if(h>>>0<f>>>0){t=d[j>>0]|0;aa=t-q|0;i=c[p>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;n=g&255;aa=n-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;g=u+ib|0;m=u+db|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;aa=f-q|0;if(((aa|0)<0?0-aa|0:aa)>>>0<i>>>0){aa=s+q+t|0;a[k>>0]=(n+4+(aa<<1)+f|0)>>>3;a[j>>0]=(aa+2+f|0)>>>2;h=f*3|0;i=3;j=aa+4|0;f=d[u+gb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;aa=g-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=(c[p>>2]|0)>>>0)break;aa=n+q+s|0;a[u>>0]=((aa<<1)+4+t+g|0)>>>3;a[o>>0]=(aa+2+g|0)>>>2;a[m>>0]=(aa+4+(g*3|0)+(d[u+hb>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ba=276;while(0);do if((ba|0)==276){ba=0;if(f){Gf(y,f,mb+(k*12|0)|0,eb);g=c[h>>2]|0}if(g|0)Gf(y+4|0,g,mb+(k*12|0)|0,eb);g=c[i>>2]|0;if(g|0)Gf(y+8|0,g,mb+(k*12|0)|0,eb);g=c[j>>2]|0;if(!g)break;Gf(y+12|0,g,mb+(k*12|0)|0,eb)}while(0);if(!x)break;g=c[z+36>>2]|0;x=x+-1|0;k=2;y=y+cb|0;z=z+32|0}n=c[ha+24>>2]|0;l=c[A>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1520+(((m|0)>0?m:0)<<2)>>2]|0;k=c[C>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[D>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50727+h>>0]|0;c[Fa>>2]=i;j=d[50779+((j|0)>0?j:0)>>0]|0;c[Ja>>2]=j;h=50831+(h*3|0)|0;c[kb>>2]=h;do if(!da){g=c[(c[ea>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[mb>>2]=h;break}else{da=g+n|0;da=(da|0)<51?da:51;da=(m+1+(c[1520+(((da|0)>0?da:0)<<2)>>2]|0)|0)>>>1;ea=da+k|0;ea=(ea|0)<51?ea:51;ea=(ea|0)>0?ea:0;da=da+f|0;da=(da|0)<51?da:51;c[Ha>>2]=d[50727+ea>>0];c[La>>2]=d[50779+((da|0)>0?da:0)>>0];c[mb>>2]=50831+(ea*3|0);break}}while(0);do if(!ca){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ga>>2]=i;c[Ka>>2]=j;c[Da>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1520+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ga>>2]=d[50727+fa>>0];c[Ka>>2]=d[50779+((ea|0)>0?ea:0)>>0];c[lb>>2]=50831+(fa*3|0);break}}while(0);i=(c[e>>2]|0)+fb+(B<<6)+(ga<<3)|0;k=i+ta|0;g=c[ka>>2]|0;if(g|0){Hf(i,g,Da,ua);Hf(k,c[ka>>2]|0,Da,ua)}g=c[qa>>2]|0;if(g|0){Hf(i+eb|0,g,Da,ua);Hf(k+eb|0,c[qa>>2]|0,Da,ua)}g=c[ma>>2]|0;if(g|0){Hf(i+4|0,g,Ea,ua);Hf(k+4|0,c[ma>>2]|0,Ea,ua)}g=c[oa>>2]|0;if(g|0){Hf(i+eb+4|0,g,Ea,ua);Hf(k+eb+4|0,c[oa>>2]|0,Ea,ua)}f=c[Ia>>2]|0;g=c[ya>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ia>>2]|0):0)&(f|0)==(c[Aa>>2]|0)){if(!h){If(i,f,mb,ua);If(k,c[Ia>>2]|0,mb,ua)}}else{if(!h){Jf(i,f,mb,ua);Jf(k,c[Ia>>2]|0,mb,ua);g=c[ya>>2]|0}if(g|0){Jf(i+2|0,g,mb,ua);Jf(k+2|0,c[ya>>2]|0,mb,ua)}g=c[ia>>2]|0;if(g|0){Jf(i+4|0,g,mb,ua);Jf(k+4|0,c[ia>>2]|0,mb,ua)}g=c[wa>>2]|0;if(!g)break;Jf(i+6|0,g,mb,ua);Jf(k+6|0,c[wa>>2]|0,mb,ua)}while(0);j=i+db|0;i=k+db|0;g=c[la>>2]|0;if(g|0){Hf(j,g,Da,ua);Hf(i,c[la>>2]|0,Da,ua)}g=c[ra>>2]|0;if(g|0){Hf(j+eb|0,g,Da,ua);Hf(i+eb|0,c[ra>>2]|0,Da,ua)}g=c[na>>2]|0;if(g|0){Hf(j+4|0,g,Ea,ua);Hf(i+4|0,c[na>>2]|0,Ea,ua)}g=c[pa>>2]|0;if(g|0){Hf(j+eb+4|0,g,Ea,ua);Hf(i+eb+4|0,c[pa>>2]|0,Ea,ua)}f=c[va>>2]|0;g=c[za>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(h)break;If(j,f,Ea,ua);If(i,c[va>>2]|0,Ea,ua);break}if(!h){Jf(j,f,Ea,ua);Jf(i,c[va>>2]|0,Ea,ua);g=c[za>>2]|0}if(g|0){Jf(j+2|0,g,Ea,ua);Jf(i+2|0,c[za>>2]|0,Ea,ua)}g=c[ja>>2]|0;if(g|0){Jf(j+4|0,g,Ea,ua);Jf(i+4|0,c[ja>>2]|0,Ea,ua)}g=c[xa>>2]|0;if(!g)break;Jf(j+6|0,g,Ea,ua);Jf(i+6|0,c[xa>>2]|0,Ea,ua)}while(0);f=ga+1|0;g=(f|0)==(Ca|0);sa=sa+(g&1)|0;if(sa>>>0>=(c[Ma>>2]|0)>>>0)break;else{ga=g?0:f;ha=ha+216|0}}Ob=Cb;return}function Ff(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=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,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0<t>>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0<h>>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49137+(m-x)>>0]|0;a[k>>0]=a[49137+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0<f>>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0<w>>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0<x>>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0<f>>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49137+(l-i)>>0]|0;a[j>>0]=a[49137+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49137+(n-m)>>0]|0;a[j>>0]=a[49137+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49137+(n-f)>>0]|0;a[l>>0]=a[49137+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function If(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49137+(i-I)>>0]|0;a[f>>0]=a[49137+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Jf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0<e>>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49137+(j-t)>>0]|0;a[h>>0]=a[49137+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49137+(k-g)>>0]|0;a[i>>0]=a[49137+(g+j)>>0]|0;a[l>>0]=t;return}function Kf(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=re(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;Lf(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0<p>>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){Lf(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;Lf(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;Lf(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;Lf(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){Lf(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)Vd(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)oe(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function Lf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=Ob;Ob=Ob+480|0;fa=ha+96|0;ga=ha+32|0;k=ha+24|0;l=ha;da=c[e+4>>2]|0;v=c[e+8>>2]|0;Sd(e,(r(da,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,da)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{Vd(fa,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=da;c[l+8>>2]=v;c[l>>2]=i;if(!i){Vd(fa,0,384);break a}se(fa,k,l,j,f<<4,0,0,16,16);ne(e,fa);Ob=ha;return}}while(0);Vd(ga,0,64);if((f|0)!=0?(c[b+((0-da|0)*216|0)+196>>2]|0)!=0:0){ca=m+(0-(da<<4))|0;x=ca+1|0;y=x+1|0;w=y+1|0;t=w+1|0;w=(d[x>>0]|0)+(d[ca>>0]|0)+(d[y>>0]|0)+(d[w>>0]|0)|0;y=t+1|0;ca=y+1|0;x=ca+1|0;z=x+1|0;x=(d[y>>0]|0)+(d[t>>0]|0)+(d[ca>>0]|0)+(d[x>>0]|0)|0;ca=z+1|0;t=ca+1|0;y=t+1|0;ea=y+1|0;y=(d[ca>>0]|0)+(d[z>>0]|0)+(d[t>>0]|0)+(d[y>>0]|0)|0;t=ea+1|0;z=t+1|0;z=(d[t>>0]|0)+(d[ea>>0]|0)+(d[z>>0]|0)+(d[z+1>>0]|0)|0;ea=x+w|0;c[ga>>2]=y+ea+(c[ga>>2]|0)+z;t=ga+4|0;c[t>>2]=ea-y-z+(c[t>>2]|0);t=1}else{w=0;x=0;y=0;z=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(da*216|0)+196>>2]|0)!=0:0){ea=m+(da<<8)|0;B=ea+1|0;C=B+1|0;A=C+1|0;u=A+1|0;A=(d[B>>0]|0)+(d[ea>>0]|0)+(d[C>>0]|0)+(d[A>>0]|0)|0;C=u+1|0;ea=C+1|0;B=ea+1|0;D=B+1|0;B=(d[C>>0]|0)+(d[u>>0]|0)+(d[ea>>0]|0)+(d[B>>0]|0)|0;ea=D+1|0;u=ea+1|0;C=u+1|0;q=C+1|0;C=(d[ea>>0]|0)+(d[D>>0]|0)+(d[u>>0]|0)+(d[C>>0]|0)|0;u=q+1|0;D=u+1|0;D=(d[u>>0]|0)+(d[q>>0]|0)+(d[D>>0]|0)+(d[D+1>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;u=ga+4|0;c[u>>2]=q-C-D+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;A=0;B=0;C=0;D=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){ca=m+-1|0;ea=da<<4;k=da<<5;$=da*48|0;E=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=da<<6;ca=ca+s|0;Z=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;ca=ca+s|0;_=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=ca+s|0;$=(d[s+ea>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+$>>0]|0)|0;s=Z+E|0;c[ga>>2]=_+s+(c[ga>>2]|0)+$;k=ga+16|0;c[k>>2]=s-_-$+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;E=0;Z=0;_=0;$=0;s=0}do if((da+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=da<<4;l=da<<5;p=da*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=da<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ga>>2]=o+l+(c[ga>>2]|0)+p;i=ga+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ga+4|0;i=h;p=21;break}}else c[ga+4>>2]=_+$+Z+E-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ga+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ga+16>>2]=y+z+x+w-D-C-B-A>>5;k=n;ea=j;m=1;ca=1;break}i=ga+16|0;if(k){k=n;ea=j;ca=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;ea=j;ca=l}switch(k|0){case 1:{i=c[ga>>2]>>4;break}case 2:{i=c[ga>>2]>>5;break}case 3:{i=(c[ga>>2]|0)*21>>10;break}default:i=c[ga>>2]>>6}c[ga>>2]=i;aa=ga+4|0;j=c[aa>>2]|0;ba=ga+16|0;k=c[ba>>2]|0;if(!(k|j)){c[ga+60>>2]=i;c[ga+56>>2]=i;c[ga+52>>2]=i;c[ga+48>>2]=i;c[ga+44>>2]=i;c[ga+40>>2]=i;c[ga+36>>2]=i;c[ga+32>>2]=i;c[ga+28>>2]=i;c[ga+24>>2]=i;c[ga+20>>2]=i;c[ba>>2]=i;c[ga+12>>2]=i;c[ga+8>>2]=i;c[aa>>2]=i}else{U=i+j|0;W=j>>1;V=i+W|0;W=i-W|0;Y=i-j|0;c[ga>>2]=U+k;X=k>>1;c[ba>>2]=U+X;c[ga+32>>2]=U-X;c[ga+48>>2]=U-k;c[aa>>2]=V+k;c[ga+20>>2]=V+X;c[ga+36>>2]=V-X;c[ga+52>>2]=V-k;c[ga+8>>2]=W+k;c[ga+24>>2]=W+X;c[ga+40>>2]=W-X;c[ga+56>>2]=W-k;c[ga+12>>2]=Y+k;c[ga+28>>2]=Y+X;c[ga+44>>2]=Y-X;c[ga+60>>2]=Y-k}j=0;i=fa;l=ga;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,da)|0;V=da<<3;U=0-V|0;W=da<<6;X=da<<4;O=ga+60|0;P=ga+56|0;Q=ga+52|0;R=ga+48|0;S=ga+44|0;T=ga+40|0;H=ga+36|0;I=ga+32|0;J=ga+28|0;K=ga+24|0;L=ga+20|0;M=ga+12|0;N=ga+8|0;G=fa+256|0;Y=v<<6;u=w;t=x;s=y;j=z;q=A;p=B;n=C;l=D;F=0;o=E;h=Z;i=_;k=$;E=(c[e>>2]|0)+(v<<8)+(r(f<<6,da)|0)+(g<<3)|0;while(1){Vd(ga,0,64);if(m){u=E+U|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;z=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;z=(d[z+1>>0]|0)+(d[z>>0]|0)|0;j=t+u|0;c[ga>>2]=s+j+(c[ga>>2]|0)+z;c[aa>>2]=j-s-z+(c[aa>>2]|0);j=1}else{z=j;j=0}if(ca){A=E+W|0;q=A+1|0;B=q+1|0;A=(d[q>>0]|0)+(d[A>>0]|0)|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;D=(d[D+1>>0]|0)+(d[D>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;c[aa>>2]=q-C-D+(c[aa>>2]|0);q=j+1|0}else{A=q;B=p;C=n;D=l;q=j}if(ea){y=E+-1|0;v=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;w=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;x=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;y=(d[y+V>>0]|0)+(d[y>>0]|0)|0;j=w+v|0;c[ga>>2]=x+j+(c[ga>>2]|0)+y;c[ba>>2]=j-x-y+(c[ba>>2]|0);j=q+1|0;i=1}else{j=q;v=o;w=h;x=i;y=k;i=0}do if(b){p=E+8|0;h=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;n=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;o=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;p=(d[p+V>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ga>>2]=o+k+(c[ga>>2]|0)+p;k=k-o-p+(c[ba>>2]|0)|0;c[ba>>2]=k;l=(q|0)==0;if(!(ea&l))if(l){p=55;break}else{p=50;break}else{c[aa>>2]=x+y+w+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[aa>>2]=c[aa>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(ca&(m&k)){k=s+z+t+u-D-C-B-A>>4;p=56;break}if(!k){k=c[ba>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ba>>2]=k;switch(j|0){case 1:{i=c[ga>>2]>>3;break}case 2:{i=c[ga>>2]>>4;break}case 3:{i=(c[ga>>2]|0)*21>>9;break}default:i=c[ga>>2]>>5}c[ga>>2]=i;j=c[aa>>2]|0;k=c[ba>>2]|0;if(!(k|j)){c[O>>2]=i;c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[H>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[ba>>2]=i;c[M>>2]=i;c[N>>2]=i;c[aa>>2]=i}else{_=i+j|0;da=j>>1;$=i+da|0;da=i-da|0;f=i-j|0;c[ga>>2]=_+k;g=k>>1;c[ba>>2]=_+g;c[I>>2]=_-g;c[R>>2]=_-k;c[aa>>2]=$+k;c[L>>2]=$+g;c[H>>2]=$-g;c[Q>>2]=$-k;c[N>>2]=da+k;c[K>>2]=da+g;c[T>>2]=da-g;c[P>>2]=da-k;c[M>>2]=f+k;c[J>>2]=f+g;c[S>>2]=f-g;c[O>>2]=f-k}j=0;i=G+(F<<6)|0;l=ga;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}F=F+1|0;if((F|0)==2)break;else{j=z;q=A;p=B;n=C;l=D;o=v;h=w;i=x;k=y;E=E+Y|0}}ne(e,fa);Ob=ha;return}function Mf(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,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function Nf(a,b){a=a|0;b=b|0;var d=0;ef(a);d=Yd(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function Of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ob;Ob=Ob+208|0;k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(Td(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;Ob=s;return a|0}while(0);c[o>>2]=0;if(cf(r,q)|0){a=3;Ob=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;Ob=s;return a|0}b=rf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;Ob=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=yf(r)|0;Af(r);Kf(a,b,0)|0}else{b=a+1336|0;Kf(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(Ud(r,j)|0)){ff(a,j)|0;a=0;Ob=s;return a|0}else{a=j+40|0;gf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;gf(c[a>>2]|0);c[a>>2]=0;a=3;Ob=s;return a|0}case 8:if(!(be(r,i)|0)){hf(a,i)|0;a=0;Ob=s;return a|0}else{a=i+20|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;gf(c[a>>2]|0);c[a>>2]=0;a=3;Ob=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;Ob=s;return a|0}c[a+1184>>2]=1;if(nf(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;de(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=jf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;Ob=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=je(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Df(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;Ob=s;return a|0}}if(c[a+3380>>2]|0){a=3;Ob=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(ce(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;Ob=s;return a|0}if(!(nf(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Bf(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;Ob=s;return a|0}c[a+1336>>2]=yf(b)|0}Wi(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;pf(a,c[a+1432>>2]|0);Af(b);if(tf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;Ob=s;return a|0}b=a+1336|0;if(ke(r,a,b,j)|0){af(a,c[j>>2]|0);a=3;Ob=s;return a|0}if(!(of(a)|0)){a=0;Ob=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;Ob=s;return a|0}}while(0);Ef(h,c[a+1212>>2]|0);mf(a);g=Mf(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){uf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{uf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;Ob=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}Ob=s;return b|0}while(0);a=3;Ob=s;return a|0}function Pf(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){gf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;gf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;gf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){gf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;gf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;gf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;gf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;gf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;gf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;gf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;gf(c[e>>2]|0);c[e>>2]=0;zf(a+1220|0);return}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Cf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function Rf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function Sf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function Tf(a){a=a|0;Df(a+1220|0);return}function Uf(a){a=a|0;return (sf(a)|0)==0|0}function Vf(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function Wf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function Xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function Zf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=oh(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(Nf(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{Pf(e);ph(d);e=-4;return e|0}return 0}function $f(a){a=a|0;if(!a)return;Pf(a+8|0);ph(a);return}function ag(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(Rf(d)|0)<<4;c[b+8>>2]=(Sf(d)|0)<<4;c[b+12>>2]=Vf(d)|0;c[b+16>>2]=Wf(d)|0;Xf(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);Yf(d,b+20|0,b+24|0);c[b>>2]=Zf(d)|0;d=0;return d|0}function bg(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,l=0,m=0;l=Ob;Ob=Ob+16|0;j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=Of(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(Uf(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);Ob=l;return b|0}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+16|0;f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;Ob=h;return g|0}a=a+8|0;if(d|0)Tf(a);a=Qf(a,g,e,f)|0;if(!a){g=0;Ob=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;Ob=h;return g|0}function dg(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function eg(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function fg(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function gg(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function hg(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function ig(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[46962+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[46962+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[46962+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[46962+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function jg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;dg(a+28|0,0);dg(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=54048;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Cg(a);return}function lg(a){a=a|0;Bg(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}_b[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function ng(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;ph(a);c[b>>2]=0;return}function og(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;qg(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=5200+(v<<2)|0;B=5200+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=5200;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7248+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return}
function qe(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Ob;Ob=Ob+32|0;R=S;m=c[i+4>>2]|0;Q=(h>>>0)/(m>>>0)|0;P=Q<<4;Q=h-(r(Q,m)|0)<<4;c[R+4>>2]=m;c[R+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{y=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;w=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;w=0;k=0;s=-1}else{p=0;w=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|w&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)O=14;else{m=0;l=0}else O=14;if((O|0)==14){v=b[f+160>>1]|0;x=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23}else{n=-1;o=0;O=23}else O=18;do if((O|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;O=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;O=23}else l=w}while(0);do if((O|0)==23){m=(s|0)==(y|0);l=(q|0)==(y|0);if(((l&1)+(m&1)+((n|0)==(y|0)&1)|0)!=1){M=w<<16>>16;K=t<<16>>16;l=o<<16>>16;J=t<<16>>16>w<<16>>16;L=J?t:w;M=J?M:(K|0)<(M|0)?K:M;K=k<<16>>16;J=u<<16>>16;O=o>>16;I=u<<16>>16>k<<16>>16;N=I?u:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m|l){l=m?w:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(x&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}else{m=l&65535;l=k&65535}}k=re(g,y)|0;if(!k){R=1;Ob=S;return R|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=y;c[a+104>>2]=y;c[a+108>>2]=y;c[a+112>>2]=y;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[R>>2]=k;se(j,a+132|0,R,Q,P,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;o=c[y>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(z|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else O=44;do if((O|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(z|0);if((((n|0)==(z|0)&1)+(m&1)|0)!=1){K=l<<16>>16;J=s<<16>>16;M=o<<16>>16;O=s<<16>>16>l<<16>>16;L=O?s:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=t<<16>>16;O=o>>16;I=t<<16>>16>k<<16>>16;N=I?t:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}l=re(g,z)|0;if(!l){R=1;Ob=S;return R|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=z;c[a+104>>2]=z;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;w=b[f+166>>1]|0;x=c[f+148>>2]|0;l=c[y>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(x|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(z|0)==(x|0);if((((k|0)==(x|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{M=q<<16>>16;O=u<<16>>16;l=n<<16>>16;K=q<<16>>16<o<<16>>16;L=K?o:q;M=K?M:(O|0)<(M|0)?O:M;O=s<<16>>16;K=u>>16;k=n>>16;J=s<<16>>16<p<<16>>16;N=J?p:s;O=J?O:(K|0)<(O|0)?K:O;l=L<<16>>16<(n&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(n>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(w&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}k=re(g,x)|0;if(!k){R=1;Ob=S;return R|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+176>>2]=O;c[a+172>>2]=O;c[a+168>>2]=O;c[g>>2]=O;c[a+108>>2]=x;c[a+112>>2]=x;O=a+124|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];se(j,a+132|0,R,Q,P,0,0,16,8);c[R>>2]=c[O>>2];se(j,g,R,Q,P,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;y=c[f+144>>2]|0;x=a+4|0;n=c[x>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(y|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else O=82;do if((O|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(y|0);if(((m&1)+((n|0)==(y|0)&1)|0)!=1){K=l<<16>>16;J=q<<16>>16;M=p<<16>>16;O=q<<16>>16>l<<16>>16;L=O?q:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=s<<16>>16;O=p>>16;I=s<<16>>16>k<<16>>16;N=I?s:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(p&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(p>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}l=re(g,y)|0;if(!l){R=1;Ob=S;return R|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=y;c[a+108>>2]=y;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;w=c[f+148>>2]|0;m=c[x>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(w|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(y|0)==(w|0);l=(l|0)==(w|0);if(((l&1)+(m&1)|0)!=1){M=t<<16>>16;O=n<<16>>16;l=s<<16>>16;K=n<<16>>16>p<<16>>16;L=K?n:p;M=K?M:(M|0)>(O|0)?O:M;O=t>>16;K=o<<16>>16;k=s>>16;J=o<<16>>16>q<<16>>16;N=J?o:q;O=J?O:(O|0)>(K|0)?K:O;l=L<<16>>16<(s&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(s>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}k=re(g,w)|0;if(!k){R=1;Ob=S;return R|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+160>>2]=O;c[a+156>>2]=O;c[a+152>>2]=O;c[g>>2]=O;c[a+104>>2]=w;c[a+112>>2]=w;O=a+120|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];se(j,a+132|0,R,Q,P,0,0,8,16);c[R>>2]=c[O>>2];se(j,g,R,Q,P,8,0,8,16);break a}}default:{N=a+4|0;C=0;d:while(1){z=f+176+(C<<2)|0;B=te(c[z>>2]|0)|0;A=f+192+(C<<2)|0;c[a+100+(C<<2)>>2]=c[A>>2];O=re(g,c[A>>2]|0)|0;c[a+116+(C<<2)>>2]=O;if(!O){k=1;O=165;break}e:do if(B|0){E=C<<2;F=a+132+(E<<2)|0;J=a+132+(E<<2)+2|0;M=E|1;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;K=E|2;G=a+132+(K<<2)|0;K=a+132+(K<<2)+2|0;L=E|3;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;D=0;while(1){w=b[f+208+(C<<4)+(D<<2)>>1]|0;x=b[f+208+(C<<4)+(D<<2)+2>>1]|0;y=ue(c[z>>2]|0)|0;v=c[A>>2]|0;k=ve(a,c[2056+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;l=d[2056+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[N>>2]|0):0)if((c[k>>2]|0)>>>0<6){O=k+132+(l<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=O&65535;k=O>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=ve(a,c[2568+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[2568+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=ve(a,c[3080+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3080+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140}else{n=-1;p=0;O=140}else O=135;do if((O|0)==135){O=0;m=ve(a,c[3592+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3592+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[N>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;O=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;O=140}}while(0);do if((O|0)==140){O=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);w=(l&65535)+(w&65535)|0;m=w&65535;k=(k&65535)+(x&65535)|0;l=k&65535;if(((w<<16>>16)+8192|0)>>>0>16383){k=1;O=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;O=165;break d}switch(y|0){case 0:{b[F>>1]=m;b[J>>1]=l;b[I>>1]=m;b[M>>1]=l;b[G>>1]=m;b[K>>1]=l;b[H>>1]=m;k=L;O=151;break}case 1:{k=(D<<1)+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 2:{k=D+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 3:{k=D+E|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}default:{}}if((O|0)==151)b[k>>1]=l;D=D+1|0;if(D>>>0>=B>>>0)break e}}while(0);C=C+1|0;if(C>>>0>=4){O=154;break}}if((O|0)==154){m=0;while(1){c[R>>2]=c[a+116+(m<<2)>>2];g=ue(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{se(j,a+132+(m<<2<<2)|0,R,Q,P,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;se(j,g,R,Q,P,k,l,8,4);se(j,g+8|0,R,Q,P,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;se(j,g,R,Q,P,k,l,4,8);se(j,g+4|0,R,Q,P,k|4,l,4,8);break}default:{N=a+132+(m<<2<<2)|0;se(j,N,R,Q,P,k,l,4,4);O=k|4;se(j,N+4|0,R,Q,P,O,l,4,4);g=l|4;se(j,N+8|0,R,Q,P,k,g,4,4);se(j,N+12|0,R,Q,P,O,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((O|0)==165){Ob=S;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){R=0;Ob=S;return R|0}if(!(c[a>>2]|0)){ne(i,j);R=0;Ob=S;return R|0}else{we(i,h,j,f+328|0);R=0;Ob=S;return R|0}return 0}function re(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function se(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4104+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{xe(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{ye(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{ze(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{ye(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Ae(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Ce(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{De(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ee(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ee(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Ae(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Ce(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){Ge(f,q,h,o,i,p,e,a,n,m);return}if(g){He(f,q,h,o,i,p,e,n,m);return}if(l){Ie(f,q,h,o,i,p,a,n,m);return}else{xe(f,q,h,o,i,p,n,m,8);xe(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function te(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function ue(a){a=a|0;return a|0}function ve(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function we(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1728+(j<<2)>>2]|0;b=c[1792+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49137+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49137+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49137+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49137+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[49137+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[49137+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[49137+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[49137+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[49137+(u+b)>>0]|0;a[t+3>>0]=a[49137+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1728+(b<<2)>>2]|0;b=c[1792+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49137+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49137+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49137+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[49137+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49137+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49137+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;a[v+3>>0]=a[49137+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function xe(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){$b[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){$b[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){$b[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function ye(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=Ob;Ob=Ob+448|0;l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{xe(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Ob=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){Ob=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;x=d[k+s>>0]|0;y=d[k+g>>0]|0;A=d[k>>0]|0;z=y+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[49137+((d[k+q>>0]|0)+16-z-(z<<2)+v+((A+x|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;z=v+A|0;w=d[l+g>>0]|0;a[h+32>>0]=((d[49137+(y+16+((x+u|0)*20|0)-z-(z<<2)+w>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;z=w+x|0;y=d[l>>0]|0;a[h+16>>0]=((d[49137+(A+16+((v+u|0)*20|0)-z-(z<<2)+y>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=y+u|0;a[h>>0]=((d[49137+(x+16+((w+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}Ob=t;return}function ze(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=Ob;Ob=Ob+448|0;k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{xe(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Ob=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){Ob=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;w=d[j+g>>0]|0;y=d[j>>0]|0;x=w+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[49137+((d[j+o>>0]|0)+16-x-(x<<2)+t+((y+v|0)*20|0)>>5)>>0]|0;x=t+y|0;u=d[k+g>>0]|0;a[h+32>>0]=a[49137+(w+16+((v+s|0)*20|0)-x-(x<<2)+u>>5)>>0]|0;x=u+v|0;w=d[k>>0]|0;a[h+16>>0]=a[49137+(y+16+((t+s|0)*20|0)-x-(x<<2)+w>>5)>>0]|0;s=w+s|0;a[h>>0]=a[49137+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}Ob=q;return}function Ae(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=Ob;Ob=Ob+448|0;l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{xe(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){Ob=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;w=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49137+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49137+(w+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;w=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49137+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49137+(w+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){w=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49137+(l+16-w+((g+e|0)*20|0)-(w<<2)+m>>5)>>0]|0)|0)>>>1;w=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49137+(v+16+((e+f|0)*20|0)-w-(w<<2)+g>>5)>>0]|0)|0)>>>1;w=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49137+(l+16+((f+m|0)*20|0)-w-(w<<2)+e>>5)>>0]|0)|0)>>>1;w=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49137+(v+16+((g+m|0)*20|0)-w-(w<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}Ob=u;return}function Be(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=Ob;Ob=Ob+448|0;l=y;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{xe(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}x=l+((r(f,m)|0)+e)|0;f=x+(r(m,k>>>1&1|2)|0)+5|0;x=x+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;w=16-i|0;if(!u){f=c+((r(j+-1|0,w)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){z=o+g|0;A=o;o=d[l>>0]|0;a[h>>0]=a[49137+(f+16-z+((n+k|0)*20|0)-(z<<2)+o>>5)>>0]|0;z=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49137+(A+16+((k+g|0)*20|0)-z-(z<<2)+n>>5)>>0]|0;z=k+n|0;A=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49137+(f+16+((g+o|0)*20|0)-z-(z<<2)+k>>5)>>0]|0;z=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49137+(A+16+((n+o|0)*20|0)-z-(z<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{A=g;h=h+4|0;l=l+4|0;g=f;f=A}}p=p+-1|0;if(!p)break;else{t=t+s+w|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){Ob=y;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){Ob=y;return}k=f+(0-(j<<4))|0;n=x;g=x+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){A=d[l+o>>0]|0;c=d[l+s>>0]|0;w=d[l+m>>0]|0;u=d[l>>0]|0;j=w+A|0;z=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[49137+((d[l+p>>0]|0)+16-j-(j<<2)+z+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=z+u|0;j=d[h+m>>0]|0;x=f+32|0;a[x>>0]=((d[49137+(w+16+((c+A|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;x=d[h>>0]|0;v=j+c|0;w=f+16|0;a[w>>0]=((d[49137+(u+16+((z+A|0)*20|0)-v-(v<<2)+x>>5)>>0]|0)+1+(d[w>>0]|0)|0)>>>1;A=x+A|0;a[f>>0]=((d[49137+(c+16+((j+z|0)*20|0)-A-(A<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}Ob=y;return}function Ce(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;A=Ob;Ob=Ob+1792|0;m=A+1344|0;z=A;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{xe(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,w=q*3|0,x=0-h|0,s=x<<1,t=h<<1,u=q<<1,y=-5-j|0,q|0):0){i=z+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){B=d[m+s>>0]|0;C=d[m+x>>0]|0;G=d[m+h>>0]|0;H=d[m>>0]|0;F=G+B|0;D=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-F-(F<<2)+D+((H+C|0)*20|0);F=D+H|0;E=d[g+h>>0]|0;c[i+(q<<2)>>2]=((C+B|0)*20|0)+G-F-(F<<2)+E;F=d[g>>0]|0;G=E+C|0;c[i>>2]=((D+B|0)*20|0)+H-G-(G<<2)+F;B=F+B|0;c[i+(y<<2)>>2]=((E+D|0)*20|0)+C-B-(B<<2)+(d[g+x>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(w<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){Ob=A;return}u=j>>>2;w=(u|0)==0;v=16-j|0;t=j&-4;g=z+8+(l<<2)|0;f=z+20|0;while(1){if(!w){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){H=o+b|0;G=o;o=c[m>>2]|0;a[q>>0]=((d[49137+(i+512-H+((n+h|0)*20|0)-(H<<2)+o>>10)>>0]|0)+1+(d[49137+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49137+(G+512+((h+b|0)*20|0)-H-(H<<2)+n>>10)>>0]|0)+1+(d[49137+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=n+h|0;G=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49137+(i+512+((o+b|0)*20|0)-H-(H<<2)+h>>10)>>0]|0)+1+(d[49137+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49137+(G+512+((n+o|0)*20|0)-H-(H<<2)+i>>10)>>0]|0)+1+(d[49137+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{H=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=H}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}Ob=A;return}function De(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=Ob;Ob=Ob+448|0;k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{xe(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){Ob=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){Ob=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[49137+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49137+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49137+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49137+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}Ob=s;return}function Ee(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=Ob;Ob=Ob+1792|0;n=x+1344|0;w=x;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;xe(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=w;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){y=q+o|0;z=q;q=d[n>>0]|0;c[i>>2]=g-y+((p+h|0)*20|0)-(y<<2)+q;y=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+z-y-(y<<2)+p;y=h+p|0;z=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-y-(y<<2)+h;y=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=o;i=i+16|0;n=n+4|0;o=g;g=z}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=w+(j<<2)|0;f=k>>>2;if(!f){Ob=x;return}k=(j|0)==0;v=64-j|0;t=j*3|0;w=0-j|0;u=w<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){z=c[g+(u<<2)>>2]|0;e=c[g+(w<<2)>>2]|0;B=c[g+(j<<2)>>2]|0;C=c[g>>2]|0;A=B+z|0;y=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[49137+((c[g+(s<<2)>>2]|0)+512-A-(A<<2)+y+((C+e|0)*20|0)>>10)>>0]|0)+1+(d[49137+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=y+C|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49137+(B+512+((e+z|0)*20|0)-A-(A<<2)+l>>10)>>0]|0)+1+(d[49137+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=c[m>>2]|0;B=l+e|0;a[h+16>>0]=((d[49137+(C+512+((y+z|0)*20|0)-B-(B<<2)+A>>10)>>0]|0)+1+(d[49137+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;z=A+z|0;a[h>>0]=((d[49137+(e+512+((l+y|0)*20|0)-z-(z<<2)+(c[m+(w<<2)>>2]|0)>>10)>>0]|0)+1+(d[49137+((c[o+(w<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}Ob=x;return}function Fe(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Ob;Ob=Ob+1792|0;m=w+1344|0;v=w;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;xe(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){x=p+n|0;y=p;p=d[m>>0]|0;c[i>>2]=g-x+((o+h|0)*20|0)-(x<<2)+p;x=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+y-x-(x<<2)+o;x=h+o|0;y=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-x-(x<<2)+h;x=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+y-x-(x<<2)+g;f=f+-1|0;if(!f)break;else{y=n;i=i+16|0;m=m+4|0;n=g;g=y}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){Ob=w;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){Ob=w;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){y=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+y|0;x=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49137+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+x+((s+v|0)*20|0)>>10)>>0]|0;u=x+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49137+(t+512+((v+y|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[49137+(s+512+((x+y|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;y=u+y|0;a[g>>0]=a[49137+(v+512+((k+x|0)*20|0)-y-(y<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}Ob=w;return}function Ge(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=Ob;Ob=Ob+176|0;m=D;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{C=l+1|0;xe(b,m,e,f,g,h,n,C,n);xe(b+(r(h,g)|0)|0,m+(r(C,n)|0)|0,e,f,g,h,n,C,n);h=C;e=0;f=0}B=8-i|0;C=8-j|0;l=l>>>1;u=(l|0)==0;x=n<<1;y=k>>>1;v=(y|0)==0;z=16-k|0;A=x-k|0;w=k&-2;if(u|v){Ob=D;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+w|0;o=k;p=b;s=(r(g,j)|0)+(r(C,d[b>>0]|0)|0)|0;b=(r(d[b+x>>0]|0,j)|0)+(r(C,g)|0)|0;g=y;while(1){G=p+1|0;F=d[G+n>>0]|0;E=(r(F,j)|0)+(r(C,d[G>>0]|0)|0)|0;F=(r(d[G+x>>0]|0,j)|0)+(r(C,F)|0)|0;G=((r(s,B)|0)+32+(r(E,i)|0)|0)>>>6;a[o+8>>0]=((r(b,B)|0)+32+(r(F,i)|0)|0)>>>6;a[o>>0]=G;p=p+2|0;G=d[p+n>>0]|0;s=(r(G,j)|0)+(r(C,d[p>>0]|0)|0)|0;b=(r(d[p+x>>0]|0,j)|0)+(r(C,G)|0)|0;E=((r(E,B)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(F,B)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=E;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+w+z|0;b=q+A|0}}if(u|v){Ob=D;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+w|0;b=k;g=h;f=(r(m,j)|0)+(r(C,d[h>>0]|0)|0)|0;h=(r(d[h+x>>0]|0,j)|0)+(r(C,m)|0)|0;m=y;while(1){E=g+1|0;F=d[E+n>>0]|0;G=(r(F,j)|0)+(r(C,d[E>>0]|0)|0)|0;F=(r(d[E+x>>0]|0,j)|0)+(r(C,F)|0)|0;E=((r(f,B)|0)+32+(r(G,i)|0)|0)>>>6;a[b+8>>0]=((r(h,B)|0)+32+(r(F,i)|0)|0)>>>6;a[b>>0]=E;g=g+2|0;E=d[g+n>>0]|0;f=(r(E,j)|0)+(r(C,d[g>>0]|0)|0)|0;h=(r(d[g+x>>0]|0,j)|0)+(r(C,E)|0)|0;G=((r(G,B)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(F,B)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=G;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+w+z|0;h=e+A|0}}Ob=D;return}function He(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=Ob;Ob=Ob+144|0;l=y;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{xe(b,l,e,f,g,h,m,k,m);xe(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}x=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;w=(m<<1)-j|0;t=j&-2;if(q|p){Ob=y;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){z=b+1|0;A=d[b>>0]|0;B=d[z+m>>0]|0;z=d[z>>0]|0;a[j+8>>0]=(((r(B,i)|0)+(r(x,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(z,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(A,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+w|0}}if(q|p){Ob=y;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){B=h+1|0;A=d[h>>0]|0;z=d[B+m>>0]|0;B=d[B>>0]|0;a[b+8>>0]=(((r(z,i)|0)+(r(x,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(B,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(A,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+w|0}}Ob=y;return}function Ie(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Ob;Ob=Ob+144|0;l=z;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{y=k+1|0;xe(b,l,e,f,g,h,j,y,j);xe(b+(r(h,g)|0)|0,l+(r(y,j)|0)|0,e,f,g,h,j,y,j);h=y;g=j;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;w=16-j|0;u=g<<1;x=u-j|0;t=j&-2;if(q|p){Ob=z;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){A=d[b+g>>0]|0;C=b+1|0;B=d[b>>0]|0;a[m+8>>0]=(((r(y,A)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;A=d[C+g>>0]|0;B=d[C>>0]|0;a[m+9>>0]=(((r(y,A)|0)+(r(d[C+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+w|0;b=n+x|0}}if(q|p){Ob=z;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){C=d[h+g>>0]|0;A=h+1|0;B=d[h>>0]|0;a[b+8>>0]=(((r(y,C)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;C=d[A+g>>0]|0;B=d[A>>0]|0;a[b+9>>0]=(((r(y,C)|0)+(r(d[A+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+w|0;h=e+x|0}}Ob=z;return}function Je(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){Yi(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;Yi(c|0,a[b+-1>>0]|0,f|0)|0;return}function Ke(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oe(b,a,d);return}function Le(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function Me(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function Ne(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=Qe(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(Me(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=Qe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(Me(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=Qe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(Me(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(We(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);Yi(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}Re(e,f,0);Re(e,f+64|0,1);Re(e,f+128|0,2);Re(e,f+192|0,3);Re(e,f+256|0,4);Re(e,f+320|0,5);Re(e,f+384|0,6);Re(e,f+448|0,7);Re(e,f+512|0,8);Re(e,f+576|0,9);Re(e,f+640|0,10);Re(e,f+704|0,11);Re(e,f+768|0,12);Re(e,f+832|0,13);Re(e,f+896|0,14);Re(e,f+960|0,15);A=0;return A|0}function Oe(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=(i|0)!=0;K=0;a:while(1){m=Se(K)|0;l=c[m+4>>2]|0;m=ve(b,c[m>>2]|0)|0;i=Qe(b,m)|0;if(L&(i|0)!=0){J=(Me(c[m>>2]|0)|0)==2;i=J?0:i}n=Te(K)|0;k=c[n+4>>2]|0;n=ve(b,c[n>>2]|0)|0;j=Qe(b,n)|0;if(L&(j|0)!=0){J=(Me(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(Me(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(Me(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0<i>>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(Ue(K)|0)>>2]|0;j=ve(b,j)|0;k=Qe(b,j)|0;if(L&(k|0)!=0){J=(Me(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(Ve(K)|0)>>2]|0;j=ve(b,j)|0;l=Qe(b,j)|0;if(L&(l|0)!=0){J=(Me(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1728+(K<<2)>>2]|0;J=c[1792+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;Re(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function Pe(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=Qe(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(Me(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=Qe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(Me(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=Qe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(Me(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;Yi(e|0,b|0,4)|0;Yi(e+4|0,f|0,4)|0;Yi(e+8|0,b|0,4)|0;Yi(e+12|0,f|0,4)|0;Yi(e+16|0,b|0,4)|0;Yi(e+20|0,f|0,4)|0;m=e+32|0;Yi(e+24|0,b|0,4)|0;Yi(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;Yi(m|0,b|0,4)|0;Yi(e+36|0,f|0,4)|0;Yi(e+40|0,b|0,4)|0;Yi(e+44|0,f|0,4)|0;Yi(e+48|0,b|0,4)|0;Yi(e+52|0,f|0,4)|0;Yi(e+56|0,b|0,4)|0;Yi(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49137+(k>>5)>>0]|0;a[e+7>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49137+(k>>5)>>0]|0;a[e+15>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49137+(k>>5)>>0]|0;a[e+23>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49137+(k>>5)>>0]|0;a[e+31>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49137+(k>>5)>>0]|0;a[e+39>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49137+(k>>5)>>0]|0;a[e+47>>0]=a[49137+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49137+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49137+(l>>5)>>0]|0;a[e+55>>0]=a[49137+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49137+(m>>5)>>0]|0;a[e+63>>0]=a[49137+(m+f>>5)>>0]|0}}Re(e,n,o);f=o|1;Re(e,n+64|0,f);Re(e,n+128|0,f+1|0);Re(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function Qe(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function Re(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1792+(m<<2)>>2]|0,k)|0)+(c[1728+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49137+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49137+(m+l)>>0]|0;f=b+3|0;l=a[49137+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49137+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49137+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49137+(f+i)>>0]|0;l=b+3|0;i=a[49137+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49137+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49137+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49137+(l+j)>>0]|0;i=b+3|0;j=a[49137+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49137+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49137+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49137+(k+j)>>0]|0;b=b+3|0;e=a[49137+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49137+(h+g)>>0]|0;a[b>>0]=e;return}function Se(a){a=a|0;return 4744+(a<<3)|0}function Te(a){a=a|0;return 4552+(a<<3)|0}function Ue(a){a=a|0;return 4360+(a<<3)|0}function Ve(a){a=a|0;return 4168+(a<<3)|0}function We(a){a=a|0;return a+1&3|0}function Xe(a){a=a|0;return (c[a+8>>2]|0)==0|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=Wd(a,b)|0;return b|0}d=Od(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function Ze(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=Ob;Ob=Ob+16|0;f=g;if(Wd(a,f)|0){b=1;Ob=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;Ob=g;return b|0}c[b>>2]=d[((e|0)==0?50631:50679)+f>>0];b=0;Ob=g;return b|0}function _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Se(e)|0;e=Te(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(Qe(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(Qe(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(Qe(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(Qe(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function $e(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Ob;Ob=Ob+128|0;Q=S+64|0;R=S;o=Qd(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41268+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>16777215){n=e[41332+(o>>>22<<1)>>1]|0;J=25;break}if(o>>>0>2097151){n=e[41428+((o>>>18)+-8<<1)>>1]|0;J=25;break}else{n=e[41540+(m<<1)>>1]|0;J=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41604+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>33554431){n=e[41668+(o>>>23<<1)>>1]|0;J=25;break}else{n=e[41732+(o>>>18<<1)>>1]|0;J=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[41988+(f<<1)>>1]|0;J=25;break}n=e[42116+(o>>>22<<1)>>1]|0;J=25;break}if(f>>>0<17){n=e[42372+(o>>>26<<1)>>1]|0;J=25;break}f=o>>>29;if(f|0){n=e[42500+(f<<1)>>1]|0;J=25;break}n=e[42516+(o>>>24<<1)>>1]|0;J=25;break}while(0);if((J|0)==25)if(!n){R=1;Ob=S;return R|0}else p=n;n=p&31;f=o<<n;m=32-n|0;x=p>>>11;K=x&31;if(K>>>0>g>>>0){R=1;Ob=S;return R|0}v=p>>>5&63;do if(K){if(!v)n=0;else{do if(m>>>0<v>>>0)if((_d(a,n)|0)==-1){R=1;Ob=S;return R|0}else{m=32;f=Qd(a)|0;break}while(0);o=f>>>(32-v|0);f=f<<v;p=0;n=1<<v+-1;do{c[Q+(p<<2)>>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0<K>>>0){t=n;s=K>>>0>10&u&1;b:while(1){if(m>>>0<16){if((_d(a,32-m|0)|0)==-1){N=1;J=125;break}r=32;f=Qd(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){H=9;J=59}else{if(f>>>0>2097151){H=10;J=59;break}if(f>>>0>1048575){H=11;J=59;break}if(f>>>0>524287){H=12;J=59;break}if(f>>>0>262143){H=13;J=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){N=1;J=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}G=m;B=n<<q;y=o;z=q;w=p;q=(q|0)==0;J=60}else{H=8;J=59}else{H=7;J=59}else{H=6;J=59}else{H=5;J=59}else{H=4;J=59}else{H=3;J=59}else{H=2;J=59}else{H=1;J=59}else{H=0;J=59}while(0);if((J|0)==59){J=0;m=H+1|0;n=f<<m;m=r-m|0;f=H<<s;if(!s){E=m;F=n;A=f;C=0;D=1}else{G=n;B=f;y=m;z=s;w=s;q=0;J=60}}if((J|0)==60){J=0;if(y>>>0<w>>>0){if((_d(a,32-y|0)|0)==-1){N=1;J=125;break}f=32;m=Qd(a)|0}else{f=y;m=G}E=f-w|0;F=m<<w;A=(m>>>(32-w|0))+B|0;C=z;D=q}s=u&(t|0)==(v|0)?A+2|0:A;n=(s+2|0)>>>1;o=D?1:C;c[Q+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=K>>>0){l=E;j=F;break a}else{m=E;f=F;s=o+(o>>>0<6&(n|0)>(3<<o+-1|0)&1)|0}}if((J|0)==125){Ob=S;return N|0}}else{l=m;j=f}while(0);if(K>>>0<g>>>0){do if(l>>>0<9)if((_d(a,32-l|0)|0)==-1){R=1;Ob=S;return R|0}else{l=32;j=Qd(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((K|0)!=3)if(j>>>0>1073741823)k=18;else k=(K|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(x&31){case 1:{if(j>>>0>268435455)k=d[50009+(j>>>27)>>0]|0;else{I=50041+f|0;J=91}break}case 2:{I=50073+(j>>>26)|0;J=91;break}case 3:{I=50137+(j>>>26)|0;J=91;break}case 4:{I=50201+(j>>>27)|0;J=91;break}case 5:{I=50233+(j>>>27)|0;J=91;break}case 6:{I=50265+(j>>>26)|0;J=91;break}case 7:{I=50329+(j>>>26)|0;J=91;break}case 8:{I=50393+(j>>>26)|0;J=91;break}case 9:{I=50457+(j>>>26)|0;J=91;break}case 10:{I=50521+(j>>>27)|0;J=91;break}case 11:{I=50553+(j>>>28)|0;J=91;break}case 12:{I=50569+(j>>>28)|0;J=91;break}case 13:{I=50585+(j>>>29)|0;J=91;break}case 14:{I=50593+(j>>>30)|0;J=91;break}default:{k=j>>31&16|1;break c}}while(0);if((J|0)==91)k=d[I>>0]|0;if(!k){R=1;Ob=S;return R|0}}while(0);g=k&15;l=l-g|0;j=j<<g;k=k>>>4&15}else k=0;n=K+-1|0;if(!n){c[b+(k<<2)>>2]=c[Q+(n<<2)>>2];O=l;h=1<<k;break}m=0;f=k;d:while(1){if(!f){c[R+(m<<2)>>2]=1;P=l;i=0}else{if(l>>>0<11){if((_d(a,32-l|0)|0)==-1){N=1;J=125;break}l=32;j=Qd(a)|0}switch(f|0){case 1:{M=50597+(j>>>31)|0;J=117;break}case 2:{M=50599+(j>>>30)|0;J=117;break}case 3:{M=50603+(j>>>30)|0;J=117;break}case 4:{M=50607+(j>>>29)|0;J=117;break}case 5:{M=50615+(j>>>29)|0;J=117;break}case 6:{M=50623+(j>>>29)|0;J=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){N=1;J=125;break d}else L=k}}if((J|0)==117){J=0;L=d[M>>0]|0}if(!L){N=1;J=125;break}g=L&15;i=L>>>4&15;c[R+(m<<2)>>2]=i+1;P=l-g|0;j=j<<g;i=f-i|0}m=m+1|0;if(m>>>0>=n>>>0){J=122;break}else{l=P;f=i}}if((J|0)==122){c[b+(i<<2)>>2]=c[Q+(n<<2)>>2];j=K+-2|0;h=1<<i;while(1){i=(c[R+(j<<2)>>2]|0)+i|0;h=1<<i|h;c[b+(i<<2)>>2]=c[Q+(j<<2)>>2];if(!j){O=P;break}else j=j+-1|0}}else if((J|0)==125){Ob=S;return N|0}}else{O=m;h=0}while(0);R=(_d(a,32-O|0)|0)==0;R=R?h<<16|K<<4:1;Ob=S;return R|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=Rd(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function bf(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function cf(a,b){a=a|0;b=b|0;var d=0;if((Od(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=Od(a,2)|0;a=Od(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function df(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,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0<o>>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function ef(a){a=a|0;Vd(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=Yd(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){gf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;gf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(ae(b,c[d>>2]|0)|0){gf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;gf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;gf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;gf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function gf(a){a=a|0;ph(a);return}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=Yd(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;gf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;gf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;gf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;gf(c[(c[g>>2]|0)+44>>2]|0)}else{gf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;gf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;gf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;gf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function jf(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,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0<l>>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0<l>>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;gf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;gf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=Yd(216,c[g>>2]|0)|0;b=Yd(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}Vd(e,0,(c[g>>2]|0)*216|0);b=a+16|0;df(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=kf(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function kf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{gf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}gf(h);c[a>>2]=0;j=a+4|0;gf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;gf(c[j>>2]|0);c[j>>2]=0;return lf(a,b,d,e,f,g)|0}function lf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=Yd(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}Vd(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=Yd(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=Yd(4,17)|0;h=Yd(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}Vd(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function mf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0<d>>>0);return}function nf(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function of(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0<e>>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function pf(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;qf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return}
function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[13535]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[13536]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[13533]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[13531]=c[13531]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=54428+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[13532]=c[13532]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[13537]|0)==(j|0)){j=(c[13534]|0)+b|0;c[13534]=j;c[13537]=i;c[i+4>>2]=j|1;if((i|0)!=(c[13536]|0))return;c[13536]=0;c[13533]=0;return}if((c[13536]|0)==(j|0)){j=(c[13533]|0)+b|0;c[13533]=j;c[13536]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[13531]=c[13531]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=54428+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[13532]=c[13532]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[13536]|0)){c[13533]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=54164+(a<<1<<2)|0;b=c[13531]|0;a=1<<a;if(!(b&a)){c[13531]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=54428+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[13532]|0;d=1<<e;a:do if(!(b&d)){c[13532]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[13539]|0)+-1|0;c[13539]=j;if(j|0)return;a=54580;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13539]=-1;return}function qh(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=oh(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;Yi(a|0,0,d|0)|0;return a|0}function rh(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=oh(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function sh(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function th(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function uh(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Wb[b&3]();c[a>>2]=324508639;return 0}function vh(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=oh(b)|0;if(a|0)break;a=Ki()|0;if(!a){a=0;break}Wb[a&3]()}return a|0}function wh(a){a=a|0;ph(a);return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0;e=jh(b)|0;d=vh(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=yh(d)|0;Wi(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function yh(a){a=a|0;return a+12|0}function zh(a,b){a=a|0;b=b|0;c[a>>2]=41140;xh(a+4|0,b);return}function Ah(a){a=a|0;return 1}function Bh(a){a=a|0;Da()}function Ch(a){a=a|0;Da()}function Dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Ob;Ob=Ob+16|0;f=g;if(e>>>0>4294967279)Bh(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=vh(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Eh(b,d,e)|0;a[f>>0]=0;Fh(b+e|0,f);Ob=g;return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Wi(a|0,b|0,c|0)|0;return a|0}function Fh(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Yi(a|0,(Hh(c)|0)&255|0,b|0)|0;return a|0}function Hh(a){a=a|0;return a&255|0}function Ih(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)Ch(b);else{g=g-e|0;Dh(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Jh(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Ob;Ob=Ob+16|0;n=o;if((-18-d|0)>>>0<e>>>0)Bh(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=vh(k)|0;if(g|0)Eh(l,m,g)|0;if(i|0)Eh(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Eh(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)wh(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Fh(l+i|0,n);Ob=o;return}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Fh(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Fh(b+d|0,g);a[h>>0]=d;break}else Lh(b,d-f|0,e)|0;while(0);Ob=j;return}function Lh(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;k=Ob;Ob=Ob+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Mh(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Gh(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Fh(g+f|0,i)}Ob=k;return b|0}function Mh(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)Bh(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=vh(j)|0;if(g|0)Eh(k,l,g)|0;e=f-h-g|0;if(e|0)Eh(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)wh(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Nh(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Ch(b);if(f)b=c[b>>2]|0;return b+d|0}function Oh(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;k=Ob;Ob=Ob+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Eh(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Fh(g+f|0,i)}}else Jh(b,g,f+e-g|0,f,f,0,e,d);Ob=k;return b|0}function Ph(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ob;Ob=Ob+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Qh()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53397;Rh(53347,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Ub[c[(c[256]|0)+16>>2]&7](1024,e,f)|0){i=c[f>>2]|0;i=Rb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53397;c[g+4>>2]=a;c[g+8>>2]=i;Rh(53261,g)}else{c[i>>2]=53397;c[i+4>>2]=a;Rh(53306,i)}}Rh(53385,h)}function Qh(){var a=0,b=0;a=Ob;Ob=Ob+16|0;if(!(uh(54620,3)|0)){b=sh(c[13656]|0)|0;Ob=a;return b|0}else Rh(53536,a);return 0}function Rh(a,b){a=a|0;b=b|0;var d=0;d=Ob;Ob=Ob+16|0;c[d>>2]=b;b=c[10200]|0;Og(b,a,d)|0;nh(10,b)|0;Da()}function Sh(a){a=a|0;return}function Th(a){a=a|0;Sh(a);wh(a);return}function Uh(a){a=a|0;return}function Vh(a){a=a|0;return}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+64|0;f=h;if(!(_h(a,b,0)|0))if((b|0)!=0?(g=ci(b,1048,1032,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;_b[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Ob=h;return b|0}function Xh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(_h(a,c[b+8>>2]|0,g)|0)bi(0,b,d,e,f);return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(_h(b,c[d+8>>2]|0,g)|0)){if(_h(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else ai(0,d,e,f);while(0);return}function Zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(_h(a,c[b+8>>2]|0,0)|0)$h(0,b,d,e);return}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function ci(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Ob;Ob=Ob+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(_h(m,f,0)|0){c[n+48>>2]=1;ac[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{$b[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Ob=p;return d|0}function di(a){a=a|0;Sh(a);wh(a);return}function ei(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(_h(a,c[b+8>>2]|0,g)|0)bi(0,b,d,e,f);else{a=c[a+8>>2]|0;ac[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function fi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if(!(_h(b,c[d+8>>2]|0,g)|0)){if(!(_h(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;$b[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ac[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else ai(0,d,e,f);while(0);return}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(_h(a,c[b+8>>2]|0,0)|0)$h(0,b,d,e);else{a=c[a+8>>2]|0;_b[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function hi(a){a=a|0;return}function ii(){var a=0;a=Ob;Ob=Ob+16|0;if(!(rh(54624,27)|0)){Ob=a;return}else Rh(53585,a)}function ji(a){a=a|0;var b=0;b=Ob;Ob=Ob+16|0;ph(a);if(!(th(c[13656]|0,0)|0)){Ob=b;return}else Rh(53635,b)}function ki(){var a=0,b=0;a=Qh()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)li(c[b+12>>2]|0);li(mi()|0)}function li(a){a=a|0;var b=0;b=Ob;Ob=Ob+16|0;Wb[a&3]();Rh(53688,b)}function mi(){var a=0;a=c[10262]|0;c[10262]=a+0;return a|0}function ni(a){a=a|0;return}function oi(a){a=a|0;c[a>>2]=41140;si(a+4|0);return}function pi(a){a=a|0;oi(a);wh(a);return}function qi(a){a=a|0;return ri(a+4|0)|0}function ri(a){a=a|0;return c[a>>2]|0}function si(a){a=a|0;var b=0,d=0;if(Ah(a)|0?(b=ti(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)wh(b);return}function ti(a){a=a|0;return a+-12|0}function ui(a){a=a|0;oi(a);wh(a);return}function vi(a){a=a|0;Sh(a);wh(a);return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;return _h(a,b,0)|0}function xi(a){a=a|0;Sh(a);wh(a);return}function yi(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;j=Ob;Ob=Ob+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(zi(a,b,0)|0))if(((b|0)!=0?(e=ci(b,1048,1136,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(_h(c[a>>2]|0,c[b>>2]|0,0)|0)?!(_h(c[a>>2]|0,1168,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=ci(a,1048,1032,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=ci(f,1048,1032,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;_b[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Ob=j;return a|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;if(_h(a,b,0)|0)a=1;else a=_h(b,1176,0)|0;return a|0}function Ai(a){a=a|0;Sh(a);wh(a);return}function Bi(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,l=0,m=0,n=0,o=0,p=0;if(_h(b,c[d+8>>2]|0,h)|0)bi(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;Fi(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;Fi(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Ci(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!(_h(b,c[d+8>>2]|0,g)|0)){if(!(_h(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;Gi(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;Gi(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;Gi(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;Gi(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;Fi(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else ai(0,d,e,f);while(0);return}function Di(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(_h(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ei(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ei(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else $h(0,d,e,f);while(0);return}function Ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;_b[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function Fi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;ac[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Gi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;$b[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function Hi(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Ii(a){a=a|0;return}function Ji(a){a=a|0;return}function Ki(){var a=0;a=c[13657]|0;c[13657]=a+0;return a|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[e>>2]=c[d>>2];a=Ub[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Ob=f;return a&1|0}function Mi(a){a=a|0;if(!a)a=0;else a=(ci(a,1048,1136,0)|0)!=0&1;return a|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Ni(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function Ri(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function Si(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (u(o|0),p)|0}else{p=Ri(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Ri(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Pi(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Qi(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Qi(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Si(a,b,c,d,0)|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function Wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ka(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function Xi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Wi(b,c,d)|0;return b|0}function Yi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Zi(a){a=a|0;var b=0,d=0,e=0;e=Ha()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Oa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(La(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function _i(a,b){a=a|0;b=b|0;return Rb[a&7](b|0)|0}function $i(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return Tb[a&3](b|0,c|0)|0}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ub[a&7](b|0,c|0,d|0)|0}function cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Vb[a&1](b|0,c|0,d|0,e|0)|0}function dj(a){a=a|0;Wb[a&3]()}function ej(a,b){a=a|0;b=b|0;Xb[a&31](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Yb[a&31](b|0,c|0)}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zb[a&7](b|0,c|0,d|0)}function hj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&7](b|0,c|0,d|0,e|0)}function ij(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$b[a&7](b|0,c|0,d|0,e|0,f|0)}function jj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ac[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function kj(a){a=a|0;t(0);return 0}function lj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function mj(a,b){a=a|0;b=b|0;t(2);return 0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function pj(){t(5)}function qj(){O()}function rj(a){a=a|0;t(6)}function sj(a,b){a=a|0;b=b|0;t(7)}function tj(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function wj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)}
// EMSCRIPTEN_END_FUNCS
var Rb=[kj,Gg,qi,ad,jd,ld,md,kj];var Sb=[lj,Pg];var Tb=[mj,fd,hd,mj];var Ub=[nj,Hg,Wh,wi,yi,pd,Hd,nj];var Vb=[oj,Ig];var Wb=[pj,qj,Ph,ii];var Xb=[rj,qd,rd,td,wd,xd,zd,Ad,Vc,Cd,Dd,Sh,Th,Uh,Vh,di,oi,pi,ui,vi,xi,Ai,bd,kc,lc,kd,od,ji,rj,rj,rj,rj];var Yb=[sj,Mc,ic,jc,ed,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,nd,Qg,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj];var Zb=[tj,Lc,Bd,cd,dd,gd,id,tj];var _b=[uj,Zh,gi,Di,pg,og,uj,uj];var $b=[vj,Yh,fi,Ci,Ke,Je,vj,vj];var ac=[wj,Xh,ei,Bi];return{___cxa_can_catch:Li,___cxa_is_pointer_type:Mi,___errno_location:Kg,___getTypeName:Fg,___muldi3:Oi,___udivdi3:Ti,_bitshift64Lshr:Ui,_bitshift64Shl:Vi,_free:ph,_i64Add:Pi,_i64Subtract:Qi,_main:gc,_malloc:oh,_memcpy:Wi,_memmove:Xi,_memset:Yi,_sbrk:Zi,_strlen:jh,dynCall_ii:_i,dynCall_iidiiii:$i,dynCall_iii:aj,dynCall_iiii:bj,dynCall_iiiii:cj,dynCall_v:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_viii:gj,dynCall_viiii:hj,dynCall_viiiii:ij,dynCall_viiiiii:jj,establishStackSpace:fc,globalCtors:bc,stackAlloc:cc,stackRestore:ec,stackSave:dc}})
// EMSCRIPTEN_END_ASM
(asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();