/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/fasttextweb@1.0.4/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
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_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!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;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){return read(f)}}Module["readBinary"]=function readBinary(f){var 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){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}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()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;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 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;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 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}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}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()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}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=27200,DYNAMIC_BASE=5270080,DYNAMICTOP_PTR=27168;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;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)}INITIAL_TOTAL_MEMORY=buffer.byteLength;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 initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;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)}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 getUniqueRunDependency(id){return id}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}var tempDouble;var tempI64;var ASM_CONSTS=[function(){FS.mkdir("/working");FS.mount(NODEFS,{root:"."},"/working")}];function _emscripten_asm_const_i(code){return ASM_CONSTS[code]()}__ATINIT__.push({func:function(){globalCtors()}});memoryInitializer="index.js.mem";var tempDoublePtr=27184;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)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted}function ___cxa_begin_catch(ptr){var info=___exception_infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;___exception_caught.push(ptr);___exception_addRef(___exception_deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___cxa_uncaught_exception(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___gxx_personality_v0(){}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(1);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(13)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(9);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-20}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-22}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-22;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-22}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-13}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(9);return stream},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();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-75}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-22}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-22;case 9:___setErrNo(22);return-1;default:{return-22}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-25;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-25;return 0}case 21519:{if(!stream.tty)return-25;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-25;return-22}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-25;return 0}case 21524:{if(!stream.tty)return-25;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr==-1||len==0){return-22}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}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)}}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}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};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)}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 BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}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})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}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 simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}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 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 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 heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}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 getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}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_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}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 _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return HEAP8.length}var ENV={};function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cond_wait(){return 0}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){return date.tm_wday},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();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}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":___assert_fail,"e":___cxa_allocate_exception,"f":___cxa_begin_catch,"g":___cxa_pure_virtual,"h":___cxa_throw,"i":___cxa_uncaught_exception,"j":___exception_addRef,"k":___exception_deAdjust,"l":___gxx_personality_v0,"m":___lock,"n":___map_file,"o":___setErrNo,"p":___syscall140,"q":___syscall145,"r":___syscall146,"s":___syscall221,"t":___syscall5,"u":___syscall54,"v":___syscall6,"w":___syscall91,"x":___unlock,"y":__addDays,"z":__arraySum,"A":__embind_register_bool,"B":__embind_register_emval,"C":__embind_register_float,"D":__embind_register_function,"E":__embind_register_integer,"F":__embind_register_memory_view,"G":__embind_register_std_string,"H":__embind_register_std_wstring,"I":__embind_register_void,"J":__emscripten_syscall_munmap,"K":__emval_decref,"L":__emval_register,"M":__isLeapYear,"N":_abort,"O":_embind_repr,"P":_emscripten_asm_const_i,"Q":_emscripten_get_heap_size,"R":_emscripten_memcpy_big,"S":_emscripten_resize_heap,"T":_getenv,"U":_llvm_stackrestore,"V":_llvm_stacksave,"W":_llvm_trap,"X":_pthread_cond_wait,"Y":_strftime,"Z":_strftime_l,"_":abortOnCannotGrowMemory,"$":count_emval_handles,"aa":craftInvokerFunction,"ab":createNamedFunction,"ac":embind__requireFunction,"ad":embind_init_charCodes,"ae":ensureOverloadTable,"af":exposePublicSymbol,"ag":extendError,"ah":floatReadValueFromPointer,"ai":getShiftFromSize,"aj":getTypeName,"ak":get_first_emval,"al":heap32VectorToArray,"am":init_emval,"an":integerReadValueFromPointer,"ao":makeLegalFunctionName,"ap":new_,"aq":readLatin1String,"ar":registerType,"as":replacePublicSymbol,"at":runDestructors,"au":simpleReadValueFromPointer,"av":throwBindingError,"aw":throwInternalError,"ax":throwUnboundTypeError,"ay":whenDependentTypesAreResolved,"az":tempDoublePtr,"aA":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.az|0,i=env.aA|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.exp,x=global.Math.log,y=global.Math.ceil,z=global.Math.imul,A=global.Math.min,B=global.Math.clz32,C=env.a,D=env.b,E=env.c,F=env.d,G=env.e,H=env.f,I=env.g,J=env.h,K=env.i,L=env.j,M=env.k,N=env.l,O=env.m,P=env.n,Q=env.o,R=env.p,S=env.q,T=env.r,U=env.s,V=env.t,W=env.u,X=env.v,Y=env.w,Z=env.x,_=env.y,$=env.z,aa=env.A,ba=env.B,ca=env.C,da=env.D,ea=env.E,fa=env.F,ga=env.G,ha=env.H,ia=env.I,ja=env.J,ka=env.K,la=env.L,ma=env.M,na=env.N,oa=env.O,pa=env.P,qa=env.Q,ra=env.R,sa=env.S,ta=env.T,ua=env.U,va=env.V,wa=env.W,xa=env.X,ya=env.Y,za=env.Z,Aa=env._,Ba=env.$,Ca=env.aa,Da=env.ab,Ea=env.ac,Fa=env.ad,Ga=env.ae,Ha=env.af,Ia=env.ag,Ja=env.ah,Ka=env.ai,La=env.aj,Ma=env.ak,Na=env.al,Oa=env.am,Pa=env.an,Qa=env.ao,Ra=env.ap,Sa=env.aq,Ta=env.ar,Ua=env.as,Va=env.at,Wa=env.au,Xa=env.av,Ya=env.aw,Za=env.ax,_a=env.ay,$a=27200,ab=5270080,bb=0.0;
// EMSCRIPTEN_START_FUNCS
function Ye(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=$a;$a=$a+16|0;f=e;g=d+4|0;h=c[d>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;if(h>>>0>4294967279)kt(f);if(h>>>0<11){a[f+11>>0]=h;if(!h)i=f;else{j=f;k=6}}else{d=h+16&-16;l=at(d)|0;c[f>>2]=l;c[f+8>>2]=d|-2147483648;c[f+4>>2]=h;j=l;k=6}if((k|0)==6){rv(j|0,g|0,h|0)|0;i=j}a[i+h>>0]=0;qb[b&255](f);if((a[f+11>>0]|0)>=0){$a=e;return}ct(c[f>>2]|0);$a=e;return}function Ze(a){a=a|0;_d(24080,a);Hb(25648,15366,40)|0;Hb(25648,15125,1)|0;return}function _e(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,u=0,v=0,w=0,x=0;h=$a;$a=$a+48|0;i=h+36|0;j=h+24|0;k=h+12|0;l=h;m=d+4|0;n=c[d>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;if(n>>>0>4294967279)kt(i);if(n>>>0<11){a[i+11>>0]=n;if(!n)o=i;else{p=i;q=6}}else{d=n+16&-16;r=at(d)|0;c[i>>2]=r;c[i+8>>2]=d|-2147483648;c[i+4>>2]=n;p=r;q=6}if((q|0)==6){rv(p|0,m|0,n|0)|0;o=p}a[o+n>>0]=0;n=e+4|0;o=c[e>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(o>>>0>4294967279)kt(j);if(o>>>0<11){a[j+11>>0]=o;if(!o)s=j;else{t=j;q=12}}else{e=o+16&-16;p=at(e)|0;c[j>>2]=p;c[j+8>>2]=e|-2147483648;c[j+4>>2]=o;t=p;q=12}if((q|0)==12){rv(t|0,n|0,o|0)|0;s=t}a[s+o>>0]=0;o=f+4|0;s=c[f>>2]|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;if(s>>>0>4294967279)kt(k);if(s>>>0<11){a[k+11>>0]=s;if(!s)u=k;else{v=k;q=18}}else{f=s+16&-16;t=at(f)|0;c[k>>2]=t;c[k+8>>2]=f|-2147483648;c[k+4>>2]=s;v=t;q=18}if((q|0)==18){rv(v|0,o|0,s|0)|0;u=v}a[u+s>>0]=0;s=g+4|0;u=c[g>>2]|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if(u>>>0>4294967279)kt(l);if(u>>>0<11){a[l+11>>0]=u;if(!u)w=l;else{x=l;q=24}}else{g=u+16&-16;v=at(g)|0;c[l>>2]=v;c[l+8>>2]=g|-2147483648;c[l+4>>2]=u;x=v;q=24}if((q|0)==24){rv(x|0,s|0,u|0)|0;w=x}a[w+u>>0]=0;vb[b&15](i,j,k,l);if((a[l+11>>0]|0)<0)ct(c[l>>2]|0);if((a[k+11>>0]|0)<0)ct(c[k>>2]|0);if((a[j+11>>0]|0)<0)ct(c[j>>2]|0);if((a[i+11>>0]|0)>=0){$a=h;return}ct(c[i>>2]|0);$a=h;return}function $e(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.0,l=0,m=0,n=0;g=$a;$a=$a+160|0;h=g+12|0;i=g;j=St(e,0,10)|0;k=+Zt(f,0);f=h+60|0;e=h+8|0;c[h>>2]=5988;c[f>>2]=6008;c[h+4>>2]=0;pj(h+60|0,e);c[h+132>>2]=0;c[h+136>>2]=-1;c[h>>2]=9172;c[f>>2]=9192;tj(e);c[e>>2]=9208;l=h+40|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[h+56>>2]=8;af(e,d);d=a[b+11>>0]|0;if(((d<<24>>24<0?c[b+4>>2]|0:d&255)|0)==12)m=(Ft(b,0,-1,15112,12)|0)==0;else m=0;c[i>>2]=0;b=i+4|0;c[b>>2]=0;c[i+8>>2]=0;while(1){if(!(Te(24080,h,i,j,k)|0))break;bf(i,m,0)}Hb(25648,15125,1)|0;m=c[i>>2]|0;if(m|0){j=c[b>>2]|0;if((j|0)==(m|0))n=m;else{d=j;do{j=d+-12|0;d=d+-16|0;if((a[j+11>>0]|0)<0)ct(c[j>>2]|0)}while((d|0)!=(m|0));n=c[i>>2]|0}c[b>>2]=m;ct(n)}c[h>>2]=9172;c[f>>2]=9192;c[e>>2]=9208;if((a[l+11>>0]|0)>=0){li(e);Zi(h,9268);gi(f);$a=g;return}ct(c[l>>2]|0);li(e);Zi(h,9268);gi(f);$a=g;return}function af(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;e=b+32|0;rt(e,d)|0;d=b+44|0;c[d>>2]=0;f=b+48|0;g=c[f>>2]|0;if(g&8|0){h=a[e+11>>0]|0;if(h<<24>>24<0){i=c[e>>2]|0;j=i;k=i+(c[b+36>>2]|0)|0}else{j=e;k=e+(h&255)|0}c[d>>2]=k;c[b+8>>2]=j;c[b+12>>2]=j;c[b+16>>2]=k}if(!(g&16))return;g=e+11|0;k=a[g>>0]|0;if(k<<24>>24<0){j=c[b+36>>2]|0;c[d>>2]=(c[e>>2]|0)+j;l=(c[b+40>>2]&2147483647)+-1|0;m=j}else{j=k&255;c[d>>2]=e+j;l=10;m=j}xt(e,l,0);l=a[g>>0]|0;if(l<<24>>24<0){n=c[b+36>>2]|0;o=c[e>>2]|0}else{n=l&255;o=e}e=b+24|0;c[e>>2]=o;c[b+20>>2]=o;c[b+28>>2]=o+n;if(!(c[f>>2]&3))return;if((m|0)>=0)if(!m)return;else{p=o;q=m}else{f=o+2147483647|0;o=m+-2147483647|0;m=(o|0)<0;n=m?f+2147483647|0:f;c[e>>2]=n;p=n;q=m?1:o}c[e>>2]=p+q;return}function bf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=$a;$a=$a+16|0;h=g;i=c[b>>2]|0;j=c[b+4>>2]|0;a:do if((i|0)!=(j|0)){if(e){b=i;while(1){k=b+4|0;l=a[k+11>>0]|0;m=l<<24>>24<0;Hb(25648,m?c[k>>2]|0:k,m?c[b+8>>2]|0:l&255)|0;if(d){l=Hb(25648,15127,1)|0;Ej(l,+f[b>>2])|0}rj(h,25648+(c[(c[6412]|0)+-12>>2]|0)|0);l=Pk(h,26520)|0;m=gb[c[(c[l>>2]|0)+28>>2]&31](l,10)|0;Qk(h);Fj(25648,m)|0;wj(25648)|0;b=b+16|0;if((b|0)==(j|0)){n=11;break a}}}b=i+4|0;m=a[b+11>>0]|0;l=m<<24>>24<0;Hb(25648,l?c[b>>2]|0:b,l?c[i+8>>2]|0:m&255)|0;if(d){m=Hb(25648,15127,1)|0;Ej(m,+f[i>>2])|0}m=i+16|0;if((m|0)!=(j|0)){l=m;do{Hb(25648,15127,1)|0;m=l+4|0;b=a[m+11>>0]|0;k=b<<24>>24<0;Hb(25648,k?c[m>>2]|0:m,k?c[l+8>>2]|0:b&255)|0;if(d){b=Hb(25648,15127,1)|0;Ej(b,+f[l>>2])|0}l=l+16|0}while((l|0)!=(j|0));n=11}}else n=11;while(0);if((n|0)==11?e:0){Hb(25648,15125,1)|0;$a=g;return}rj(h,25648+(c[(c[6412]|0)+-12>>2]|0)|0);e=Pk(h,26520)|0;n=gb[c[(c[e>>2]|0)+28>>2]&31](e,10)|0;Qk(h);Fj(25648,n)|0;wj(25648)|0;Hb(25648,15125,1)|0;$a=g;return}function cf(b){b=b|0;var d=0;c[b>>2]=9208;d=b+32|0;if((a[d+11>>0]|0)<0)ct(c[d>>2]|0);li(b);return}function df(b){b=b|0;var d=0;c[b>>2]=9208;d=b+32|0;if((a[d+11>>0]|0)<0)ct(c[d>>2]|0);li(b);ct(b);return}function ef(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,q=0,r=0,s=0,t=0,u=0,v=0;i=d+44|0;j=c[i>>2]|0;k=d+24|0;l=c[k>>2]|0;if(j>>>0<l>>>0){c[i>>2]=l;m=l}else m=j;j=h&24;a:do if((j|0)!=0?!((g|0)==1&(j|0)==24):0){if(!m){n=0;o=0}else{i=d+32|0;if((a[i+11>>0]|0)<0)p=c[i>>2]|0;else p=i;i=m-p|0;n=((i|0)<0)<<31>>31;o=i}b:do switch(g|0){case 0:{q=0;r=0;break}case 1:{if(!(h&8)){i=l-(c[d+20>>2]|0)|0;q=i;r=((i|0)<0)<<31>>31;break b}else{i=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;q=i;r=((i|0)<0)<<31>>31;break b}break}case 2:{q=o;r=n;break}default:{s=-1;t=-1;break a}}while(0);i=jv(q|0,r|0,e|0,f|0)|0;u=E()|0;if(!((u|0)<0|((n|0)<(u|0)|(n|0)==(u|0)&o>>>0<i>>>0))){v=h&8;if(!((i|0)==0&(u|0)==0)){if(v|0?(c[d+12>>2]|0)==0:0){s=-1;t=-1;break}if((h&16|0)!=0&(l|0)==0){s=-1;t=-1;break}}if(v|0){c[d+12>>2]=(c[d+8>>2]|0)+i;c[d+16>>2]=m}if(!(h&16)){s=i;t=u}else{c[k>>2]=(c[d+20>>2]|0)+i;s=i;t=u}}else{s=-1;t=-1}}else{s=-1;t=-1}while(0);d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=s;c[d+4>>2]=t;return}function ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+8|0;yb[c[(c[b>>2]|0)+16>>2]&15](a,b,c[f>>2]|0,c[f+4>>2]|0,0,e);return}function gf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0<f>>>0){c[b>>2]=f;g=f}else g=e;if(!(c[a+48>>2]&8)){h=-1;return h|0}e=a+16|0;f=c[e>>2]|0;if(f>>>0<g>>>0){c[e>>2]=g;i=g}else i=f;f=c[a+12>>2]|0;if(f>>>0>=i>>>0){h=-1;return h|0}h=d[f>>0]|0;return h|0}function hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b+44|0;f=c[e>>2]|0;g=c[b+24>>2]|0;if(f>>>0<g>>>0){c[e>>2]=g;h=g}else h=f;f=h;h=b+12|0;g=c[h>>2]|0;if((c[b+8>>2]|0)>>>0>=g>>>0){i=-1;return i|0}if((d|0)==-1){c[h>>2]=g+-1;c[b+16>>2]=f;i=0;return i|0}if(!(c[b+48>>2]&16)){e=d&255;j=g+-1|0;if((a[j>>0]|0)==e<<24>>24){k=j;l=e}else{i=-1;return i|0}}else{k=g+-1|0;l=d&255}c[h>>2]=k;c[b+16>>2]=f;a[k>>0]=l;i=d;return i|0}function jf(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,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;e=$a;$a=$a+16|0;f=e;if((d|0)==-1){g=0;$a=e;return g|0}h=b+12|0;i=b+8|0;j=(c[h>>2]|0)-(c[i>>2]|0)|0;k=b+24|0;l=c[k>>2]|0;m=b+28|0;n=c[m>>2]|0;if((l|0)==(n|0)){o=b+48|0;if(!(c[o>>2]&16)){g=-1;$a=e;return g|0}p=b+20|0;q=c[p>>2]|0;r=b+44|0;s=(c[r>>2]|0)-q|0;t=b+32|0;Ct(t,0);u=t+11|0;if((a[u>>0]|0)<0)v=(c[b+40>>2]&2147483647)+-1|0;else v=10;xt(t,v,0);v=a[u>>0]|0;if(v<<24>>24<0){w=c[b+36>>2]|0;x=c[t>>2]|0}else{w=v&255;x=t}t=x+w|0;c[p>>2]=x;c[m>>2]=t;m=x+(l-q)|0;c[k>>2]=m;q=x+s|0;c[r>>2]=q;y=r;z=m;A=q;B=t;C=r;D=o}else{o=b+44|0;y=o;z=l;A=c[o>>2]|0;B=n;C=o;D=b+48|0}o=z+1|0;c[f>>2]=o;n=c[(o>>>0<A>>>0?C:f)>>2]|0;c[y>>2]=n;if(c[D>>2]&8|0){D=b+32|0;if((a[D+11>>0]|0)<0)E=c[D>>2]|0;else E=D;c[i>>2]=E;c[h>>2]=E+j;c[b+16>>2]=n}if((z|0)==(B|0)){g=gb[c[(c[b>>2]|0)+52>>2]&31](b,d&255)|0;$a=e;return g|0}else{c[k>>2]=o;a[z>>0]=d;g=d&255;$a=e;return g|0}return 0}function kf(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=9172;d=b+60|0;c[d>>2]=9192;e=b+8|0;c[e>>2]=9208;f=b+40|0;if((a[f+11>>0]|0)<0)ct(c[f>>2]|0);li(e);Zi(b,9268);gi(d);return}function lf(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=9172;d=b+60|0;c[d>>2]=9192;e=b+8|0;c[e>>2]=9208;f=b+40|0;if((a[f+11>>0]|0)<0)ct(c[f>>2]|0);li(e);Zi(b,9268);gi(d);ct(b);return}function mf(b){b=b|0;var d=0,e=0,f=0;d=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[d>>2]=9172;b=d+60|0;c[b>>2]=9192;e=d+8|0;c[e>>2]=9208;f=d+40|0;if((a[f+11>>0]|0)<0)ct(c[f>>2]|0);li(e);Zi(d,9268);gi(b);return}function nf(b){b=b|0;var d=0,e=0,f=0;d=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;c[d>>2]=9172;b=d+60|0;c[b>>2]=9192;e=d+8|0;c[e>>2]=9208;f=d+40|0;if((a[f+11>>0]|0)<0)ct(c[f>>2]|0);li(e);Zi(d,9268);gi(b);ct(d);return}function of(a,b){a=a|0;b=b|0;pa(0)|0;Hb(25648,15125,1)|0;return 0}function pf(){qf();return}function qf(){ia(8384,15500);aa(8392,15505,1,1,0);ea(8400,15510,1,-128,127);ea(8416,15515,1,-128,127);ea(8408,15527,1,0,255);ea(8424,15541,2,-32768,32767);ea(8432,15547,2,0,65535);ea(8440,15562,4,-2147483648,2147483647);ea(8448,15566,4,0,-1);ea(8456,15579,4,-2147483648,2147483647);ea(8464,15584,4,0,-1);ca(8472,15598,4);ca(8480,15604,8);ga(6048,15611);ga(6080,15623);ha(6104,4,15656);ba(6128,15669);fa(6136,0,15685);fa(6144,0,15715);fa(6152,1,15752);fa(6160,2,15791);fa(6168,3,15822);fa(6176,4,15862);fa(6184,5,15891);fa(6192,4,15929);fa(6200,5,15959);fa(6144,0,15998);fa(6152,1,16030);fa(6160,2,16063);fa(6168,3,16096);fa(6176,4,16130);fa(6184,5,16163);fa(6208,6,16197);fa(6216,7,16228);fa(6224,7,16260);return}function rf(a){a=a|0;return ch(c[a+4>>2]|0)|0}function sf(a){a=a|0;var b=0,d=0;b=$a;$a=$a+16|0;d=b;c[d>>2]=xf(c[a+60>>2]|0)|0;a=vf(X(6,d|0)|0)|0;$a=b;return a|0}function tf(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,r=0,s=0,t=0,u=0,v=0;e=$a;$a=$a+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=vf(T(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;m=h;n=2;o=b;while(1){if((g|0)<0)break;o=o-g|0;p=c[m+4>>2]|0;q=g>>>0>p>>>0;r=q?m+8|0:m;s=n+(q<<31>>31)|0;t=g-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;g=vf(T(146,f|0)|0)|0;if((o|0)==(g|0)){u=3;break a}else{m=r;n=s}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((n|0)==2)v=0;else v=d-(c[m+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}$a=e;return v|0}function uf(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;f=$a;$a=$a+32|0;g=f+8|0;h=f;c[g>>2]=c[a+60>>2];c[g+4>>2]=d;c[g+8>>2]=b;c[g+12>>2]=h;c[g+16>>2]=e;if((vf(R(140,g|0)|0)|0)<0){g=h;c[g>>2]=-1;c[g+4>>2]=-1;i=-1;j=-1}else{g=h;i=c[g+4>>2]|0;j=c[g>>2]|0}D(i|0);$a=f;return j|0}function vf(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(wf()|0)>>2]=0-a;b=-1}else b=a;return b|0}function wf(){return 24940}function xf(a){a=a|0;return a|0}function yf(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;f=$a;$a=$a+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=vf(S(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}$a=f;return m|0}function zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,W(54,g|0)|0):0)a[b+75>>0]=-1;g=tf(b,d,e)|0;$a=f;return g|0}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Bf(a,b,c)|0;D(E()|0);return d|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Cf(a,b,c,-1,-1)|0;D(E()|0);return d|0}function Cf(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;g=$a;$a=$a+144|0;h=g;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;j=h+8|0;c[j>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;Df(h,0,0);k=Ef(h,d,1,e,f)|0;f=E()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[j>>2]|0));D(f|0);$a=g;return k|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;e=a+112|0;c[e>>2]=b;c[e+4>>2]=d;e=c[a+8>>2]|0;f=c[a+4>>2]|0;g=e-f|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=f+b;else c[a+104>>2]=e;return}function Ef(b,e,f,g,h){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=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;a:do if(e>>>0>36){c[(wf()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+104|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Ff(b)|0}while((Gf(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=d[o>>0]|0;q=m;break b}else{p=Ff(b)|0;q=m;break b}break}default:{p=n;q=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(p|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Ff(b)|0;if((r|32|0)!=120)if(m){s=8;t=r;u=47;break}else{v=e;w=r;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Ff(b)|0;if((d[289+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Df(b,0,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=16;t=x;u=47}}else{o=m?10:e;if(o>>>0>(d[289+p>>0]|0)>>>0){v=o;w=p;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Df(b,0,0);c[(wf()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((v|0)==10){m=w+-48|0;if(m>>>0<10){o=m;m=0;do{m=(m*10|0)+o|0;y=c[k>>2]|0;if(y>>>0<(c[l>>2]|0)>>>0){c[k>>2]=y+1;A=d[y>>0]|0}else A=Ff(b)|0;o=A+-48|0}while(o>>>0<10&m>>>0<429496729);if(o>>>0<10){y=m;B=0;C=A;F=o;while(1){G=iv(y|0,B|0,10,0)|0;H=E()|0;I=((F|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&G>>>0>~F>>>0){K=y;L=B;M=10;N=C;u=76;break c}y=jv(G|0,H|0,F|0,I|0)|0;B=E()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Ff(b)|0;F=O+-48|0;if(!(F>>>0<10&(B>>>0<429496729|(B|0)==429496729&y>>>0<2576980378)))break;else C=O}if(F>>>0>9){P=B;Q=y;R=q}else{K=y;L=B;M=10;N=O;u=76}}else{P=0;Q=m;R=q}}else{P=0;Q=0;R=q}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(s+-1&s)){C=a[16814+((s*23|0)>>>5&7)>>0]|0;o=a[289+t>>0]|0;I=o&255;if(s>>>0>I>>>0){H=I;G=0;do{G=H|G<<C;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Ff(b)|0;T=a[289+S>>0]|0;H=T&255}while(G>>>0<134217728&s>>>0>H>>>0);U=T;V=0;W=G;X=S;Y=H}else{U=o;V=0;W=0;X=t;Y=I}m=pv(-1,-1,C|0)|0;B=E()|0;if(s>>>0<=Y>>>0|(B>>>0<V>>>0|(B|0)==(V|0)&m>>>0<W>>>0)){K=W;L=V;M=s;N=X;u=76;break}y=W;F=V;J=U;while(1){Z=qv(y|0,F|0,C|0)|0;_=E()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Ff(b)|0;J=a[289+aa>>0]|0;if(s>>>0<=(J&255)>>>0|(_>>>0>B>>>0|(_|0)==(B|0)&$>>>0>m>>>0)){K=$;L=_;M=s;N=aa;u=76;break d}else{y=$;F=_}}}F=a[289+t>>0]|0;y=F&255;if(s>>>0>y>>>0){m=y;B=0;do{B=m+(z(B,s)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Ff(b)|0;ca=a[289+ba>>0]|0;m=ca&255}while(B>>>0<119304647&s>>>0>m>>>0);da=ca;ea=B;fa=0;ga=ba;ha=m}else{da=F;ea=0;fa=0;ga=t;ha=y}if(s>>>0>ha>>>0){J=nv(-1,-1,s|0,0)|0;C=E()|0;I=da;o=fa;H=ea;G=ga;while(1){if(o>>>0>C>>>0|(o|0)==(C|0)&H>>>0>J>>>0){K=H;L=o;M=s;N=G;u=76;break d}_=iv(H|0,o|0,s|0,0)|0;$=E()|0;Z=I&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=H;L=o;M=s;N=G;u=76;break d}ia=jv(_|0,$|0,Z|0,0)|0;Z=E()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Ff(b)|0;I=a[289+ja>>0]|0;if(s>>>0<=(I&255)>>>0){K=ia;L=Z;M=s;N=ja;u=76;break}else{o=Z;H=ia;G=ja}}}else{K=ea;L=fa;M=s;N=ga;u=76}}while(0);if((u|0)==76)if(M>>>0>(d[289+N>>0]|0)>>>0){do{G=c[k>>2]|0;if(G>>>0<(c[l>>2]|0)>>>0){c[k>>2]=G+1;ka=d[G>>0]|0}else ka=Ff(b)|0}while(M>>>0>(d[289+ka>>0]|0)>>>0);c[(wf()|0)>>2]=34;P=h;Q=g;R=(g&1|0)==0&0==0?q:0}else{P=L;Q=K;R=q}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(P>>>0<h>>>0|(P|0)==(h|0)&Q>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(R|0)!=0)){c[(wf()|0)>>2]=34;G=jv(g|0,h|0,-1,-1)|0;i=E()|0;j=G;break}if(P>>>0>h>>>0|(P|0)==(h|0)&Q>>>0>g>>>0){c[(wf()|0)>>2]=34;i=h;j=g;break}}G=((R|0)<0)<<31>>31;H=kv(Q^R|0,P^G|0,R|0,G|0)|0;i=E()|0;j=H}while(0);D(i|0);return j|0}function Ff(b){b=b|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;e=b+112|0;f=e;g=c[f>>2]|0;h=c[f+4>>2]|0;if(!((g|0)==0&(h|0)==0)?(f=b+120|0,i=c[f+4>>2]|0,!((i|0)<(h|0)|((i|0)==(h|0)?(c[f>>2]|0)>>>0<g>>>0:0))):0)j=4;else{g=Hf(b)|0;if((g|0)>=0){f=e;e=c[f>>2]|0;h=c[f+4>>2]|0;f=c[b+8>>2]|0;if(!((e|0)==0&(h|0)==0)){i=c[b+4>>2]|0;k=f-i|0;l=((k|0)<0)<<31>>31;m=b+120|0;n=kv(e|0,h|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=E()|0;h=f;if((m|0)>(l|0)|(m|0)==(l|0)&n>>>0>k>>>0){o=h;j=9}else{c[b+104>>2]=i+(n+-1);p=h}}else{o=f;j=9}if((j|0)==9){c[b+104>>2]=f;p=o}o=b+4|0;if(!p)q=c[o>>2]|0;else{f=c[o>>2]|0;o=p+1-f|0;p=b+120|0;h=p;n=jv(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=E()|0;h=p;c[h>>2]=n;c[h+4>>2]=o;q=f}f=q+-1|0;if((g|0)==(d[f>>0]|0|0))r=g;else{a[f>>0]=g;r=g}}else j=4}if((j|0)==4){c[b+104>>2]=0;r=-1}return r|0}function Gf(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Hf(a){a=a|0;var b=0,e=0,f=0;b=$a;$a=$a+16|0;e=b;if((If(a)|0)==0?(hb[c[a+32>>2]&31](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;$a=b;return f|0}function If(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)hb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Kf(a,b,c)|0;D(E()|0);return d|0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Cf(a,b,c,0,-2147483648)|0;D(E()|0);return d|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Cf(a,b,c,-2147483648,0)|0;E()|0;return d|0}function Mf(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function Nf(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=b;b=c;do{d=d+1|0;b=b+1|0;c=a[d>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function Of(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Pf(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qf(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;g=$a;$a=$a+160|0;h=g+144|0;i=g;rv(i|0,6664,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){j=1;k=h;l=4}else{c[(wf()|0)>>2]=75;m=-1}else{j=d;k=b;l=4}if((l|0)==4){l=-2-k|0;b=j>>>0>l>>>0?l:j;c[i+48>>2]=b;j=i+20|0;c[j>>2]=k;c[i+44>>2]=k;l=k+b|0;k=i+16|0;c[k>>2]=l;c[i+28>>2]=l;l=Rf(i,e,f)|0;if(!b)m=l;else{b=c[j>>2]|0;a[b+(((b|0)==(c[k>>2]|0))<<31>>31)>>0]=0;m=l}}$a=g;return m|0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;return Uf(a,b,c,1,49)|0}function Sf(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,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0,B=0,C=0,D=0,F=0.0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.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.0,ia=0.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;j=$a;$a=$a+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=kg(e)|0;r=E()|0;if((r|0)<0){s=-e;t=kg(s)|0;u=E()|0;v=t;w=1;x=16840;y=s}else{u=r;v=q;w=(h&2049|0)!=0&1;x=(h&2048|0)==0?((h&1|0)==0?16841:16846):16843;y=e}do if(0==0&(u&2146435072|0)==2146435072){q=(i&32|0)!=0;v=w+3|0;dg(b,32,f,v,h&-65537);Yf(b,x,w);Yf(b,y!=y|0.0!=0.0?(q?16882:16867):q?16859:16863,3);dg(b,32,f,v,h^8192);A=v}else{e=+lg(y,l)*2.0;v=e!=0.0;if(v)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?x:x+9|0;B=w|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){D=C;s=8.0;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){F=-(s+(-e-s));break}else{F=e+s-s;break}}else F=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;G=bg(D,((D|0)<0)<<31>>31,p)|0;if((G|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=G;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;G=(g|0)<1;D=(h&8|0)==0;I=m;J=F;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[1024+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(G&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){G=p;D=C;N=g+2+G-D|0;O=G;P=D}else{D=p;G=C;N=D-n-G+I|0;O=D;P=G}G=N+B|0;dg(b,32,f,G,h);Yf(b,t,B);dg(b,48,f,G,h^65536);D=I-n|0;Yf(b,m,D);I=O-P|0;dg(b,48,N-(D+I)|0,0,0);Yf(b,C,I);dg(b,32,f,G,h^8192);A=G;break}G=(g|0)<0?6:g;if(v){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=I;R=e*268435456.0}else{Q=c[l>>2]|0;R=e}I=(Q|0)<0?k:k+288|0;J=R;D=I;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);v=I;if((Q|0)>0){C=Q;B=I;t=D;while(1){r=(C|0)<29?C:29;L=t+-4|0;if(L>>>0>=B>>>0){K=0;S=L;do{L=qv(c[S>>2]|0,0,r|0)|0;T=jv(L|0,E()|0,K|0,0)|0;L=E()|0;K=nv(T|0,L|0,1e9,0)|0;U=iv(K|0,E()|0,1e9,0)|0;V=kv(T|0,L|0,U|0,E()|0)|0;E()|0;c[S>>2]=V;S=S+-4|0}while(S>>>0>=B>>>0);if(K){S=B+-4|0;c[S>>2]=K;W=S}else W=B}else W=B;a:do if(t>>>0>W>>>0){S=t;while(1){V=S+-4|0;if(c[V>>2]|0){X=S;break a}if(V>>>0>W>>>0)S=V;else{X=V;break}}}else X=t;while(0);K=(c[l>>2]|0)-r|0;c[l>>2]=K;if((K|0)>0){C=K;B=W;t=X}else{Y=K;Z=W;_=X;break}}}else{Y=Q;Z=I;_=D}if((Y|0)<0){t=((G+25|0)/9|0)+1|0;B=(q|0)==102;C=Y;K=Z;S=_;while(1){V=0-C|0;U=(V|0)<9?V:9;if(K>>>0<S>>>0){V=(1<<U)+-1|0;L=1e9>>>U;T=0;$=K;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=z(aa&V,L)|0;$=$+4|0}while($>>>0<S>>>0);$=(c[K>>2]|0)==0?K+4|0:K;if(!T){ba=$;ca=S}else{c[S>>2]=T;ba=$;ca=S+4|0}}else{ba=(c[K>>2]|0)==0?K+4|0:K;ca=S}$=B?I:ba;L=(ca-$>>2|0)>(t|0)?$+(t<<2)|0:ca;C=(c[l>>2]|0)+U|0;c[l>>2]=C;if((C|0)>=0){da=ba;ea=L;break}else{K=ba;S=L}}}else{da=Z;ea=_}if(da>>>0<ea>>>0){S=(v-da>>2)*9|0;K=c[da>>2]|0;if(K>>>0<10)fa=S;else{C=S;S=10;while(1){S=S*10|0;t=C+1|0;if(K>>>0<S>>>0){fa=t;break}else C=t}}}else fa=0;C=(q|0)==103;S=(G|0)!=0;K=G-((q|0)==102?0:fa)+((S&C)<<31>>31)|0;if((K|0)<(((ea-v>>2)*9|0)+-9|0)){t=K+9216|0;K=(t|0)/9|0;B=I+4+(K+-1024<<2)|0;D=t-(K*9|0)|0;if((D|0)<8){K=10;t=D;while(1){D=K*10|0;if((t|0)<7){K=D;t=t+1|0}else{ga=D;break}}}else ga=10;t=c[B>>2]|0;K=(t>>>0)/(ga>>>0)|0;q=t-(z(K,ga)|0)|0;D=(B+4|0)==(ea|0);if(!(D&(q|0)==0)){s=(K&1|0)==0?9007199254740992.0:9007199254740994.0;K=ga>>>1;J=q>>>0<K>>>0?.5:D&(q|0)==(K|0)?1.0:1.5;if(!w){ha=s;ia=J}else{K=(a[x>>0]|0)==45;ha=K?-s:s;ia=K?-J:J}K=t-q|0;c[B>>2]=K;if(ha+ia!=ha){q=K+ga|0;c[B>>2]=q;if(q>>>0>999999999){q=da;K=B;while(1){t=K+-4|0;c[K>>2]=0;if(t>>>0<q>>>0){D=q+-4|0;c[D>>2]=0;ja=D}else ja=q;D=(c[t>>2]|0)+1|0;c[t>>2]=D;if(D>>>0>999999999){q=ja;K=t}else{ka=ja;la=t;break}}}else{ka=da;la=B}K=(v-ka>>2)*9|0;q=c[ka>>2]|0;if(q>>>0<10){ma=ka;na=la;oa=K}else{t=K;K=10;while(1){K=K*10|0;D=t+1|0;if(q>>>0<K>>>0){ma=ka;na=la;oa=D;break}else t=D}}}else{ma=da;na=B;oa=fa}}else{ma=da;na=B;oa=fa}t=na+4|0;pa=ma;qa=oa;ra=ea>>>0>t>>>0?t:ea}else{pa=da;qa=fa;ra=ea}t=0-qa|0;b:do if(ra>>>0>pa>>>0){K=ra;while(1){q=K+-4|0;if(c[q>>2]|0){sa=1;ta=K;break b}if(q>>>0>pa>>>0)K=q;else{sa=0;ta=q;break}}}else{sa=0;ta=ra}while(0);do if(C){B=G+((S^1)&1)|0;if((B|0)>(qa|0)&(qa|0)>-5){ua=B+-1-qa|0;va=i+-1|0}else{ua=B+-1|0;va=i+-2|0}if(!(h&8)){if(sa?(B=c[ta+-4>>2]|0,(B|0)!=0):0)if(!((B>>>0)%10|0)){K=10;U=0;while(1){K=K*10|0;T=U+1|0;if((B>>>0)%(K>>>0)|0|0){wa=T;break}else U=T}}else wa=0;else wa=9;U=((ta-v>>2)*9|0)+-9|0;if((va|32|0)==102){K=U-wa|0;B=(K|0)>0?K:0;xa=(ua|0)<(B|0)?ua:B;ya=va;break}else{B=U+qa-wa|0;U=(B|0)>0?B:0;xa=(ua|0)<(U|0)?ua:U;ya=va;break}}else{xa=ua;ya=va}}else{xa=G;ya=i}while(0);G=(xa|0)!=0;v=G?1:h>>>3&1;S=(ya|32|0)==102;if(S){za=0;Aa=(qa|0)>0?qa:0}else{C=(qa|0)<0?t:qa;U=bg(C,((C|0)<0)<<31>>31,p)|0;C=p;if((C-U|0)<2){B=U;while(1){K=B+-1|0;a[K>>0]=48;if((C-K|0)<2)B=K;else{Ba=K;break}}}else Ba=U;a[Ba+-1>>0]=(qa>>31&2)+43;B=Ba+-2|0;a[B>>0]=ya;za=B;Aa=C-B|0}B=w+1+xa+v+Aa|0;dg(b,32,f,B,h);Yf(b,x,w);dg(b,48,f,B,h^65536);if(S){t=pa>>>0>I>>>0?I:pa;K=m+9|0;T=K;q=m+8|0;D=t;do{L=bg(c[D>>2]|0,0,K)|0;if((D|0)==(t|0))if((L|0)==(K|0)){a[q>>0]=48;Ca=q}else Ca=L;else if(L>>>0>m>>>0){tv(m|0,48,L-n|0)|0;$=L;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=L;Yf(b,Ca,T-Ca|0);D=D+4|0}while(D>>>0<=I>>>0);if(!((h&8|0)==0&(G^1)))Yf(b,16871,1);if(D>>>0<ta>>>0&(xa|0)>0){I=D;T=xa;while(1){q=bg(c[I>>2]|0,0,K)|0;if(q>>>0>m>>>0){tv(m|0,48,q-n|0)|0;t=q;while(1){S=t+-1|0;if(S>>>0>m>>>0)t=S;else{Da=S;break}}}else Da=q;Yf(b,Da,(T|0)<9?T:9);I=I+4|0;t=T+-9|0;if(!(I>>>0<ta>>>0&(T|0)>9)){Ea=t;break}else T=t}}else Ea=xa;dg(b,48,Ea+9|0,9,0)}else{T=sa?ta:pa+4|0;if(pa>>>0<T>>>0&(xa|0)>-1){I=m+9|0;K=(h&8|0)==0;D=I;G=0-n|0;t=m+8|0;L=pa;S=xa;while(1){v=bg(c[L>>2]|0,0,I)|0;if((v|0)==(I|0)){a[t>>0]=48;Fa=t}else Fa=v;do if((L|0)==(pa|0)){v=Fa+1|0;Yf(b,Fa,1);if(K&(S|0)<1){Ga=v;break}Yf(b,16871,1);Ga=v}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}tv(m|0,48,Fa+G|0)|0;v=Fa;while(1){C=v+-1|0;if(C>>>0>m>>>0)v=C;else{Ga=C;break}}}while(0);q=D-Ga|0;Yf(b,Ga,(S|0)>(q|0)?q:S);v=S-q|0;L=L+4|0;if(!(L>>>0<T>>>0&(v|0)>-1)){Ha=v;break}else S=v}}else Ha=xa;dg(b,48,Ha+18|0,18,0);Yf(b,za,p-za|0)}dg(b,32,f,B,h^8192);A=B}while(0);$a=j;return ((A|0)<(f|0)?f:A)|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0.0;d=(c[b>>2]|0)+(8-1)&~(8-1);e=+g[d>>3];c[b>>2]=d+8;g[a>>3]=e;return}function Uf(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,u=0,v=0;h=$a;$a=$a+224|0;i=h+208|0;j=h+160|0;k=h+80|0;l=h;m=j;n=m+40|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[i>>2]=c[e>>2];if((Vf(0,d,i,k,j,f,g)|0)<0)o=-1;else{if((c[b+76>>2]|0)>-1)p=Wf(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){n=b+44|0;q=c[n>>2]|0;c[n>>2]=l;r=b+28|0;c[r>>2]=l;s=b+20|0;c[s>>2]=l;c[e>>2]=80;t=b+16|0;c[t>>2]=l+80;l=Vf(b,d,i,k,j,f,g)|0;if(!q)u=l;else{hb[c[b+36>>2]&31](b,0,0)|0;v=(c[s>>2]|0)==0?-1:l;c[n>>2]=q;c[e>>2]=0;c[t>>2]=0;c[r>>2]=0;c[s>>2]=0;u=v}}else u=Vf(b,d,i,k,j,f,g)|0;g=c[b>>2]|0;c[b>>2]=g|m;if(p|0)Xf(b);o=(g&32|0)==0?u:-1}$a=h;return o|0}function Vf(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=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;l=$a;$a=$a+64|0;m=l+56|0;n=l+40|0;o=l;p=l+48|0;q=l+60|0;c[m>>2]=e;e=(d|0)!=0;r=o+40|0;s=r;t=o+39|0;o=p+4|0;u=0;v=0;w=0;a:while(1){x=u;y=v;while(1){do if((x|0)>-1)if((y|0)>(2147483647-x|0)){c[(wf()|0)>>2]=75;z=-1;break}else{z=y+x|0;break}else z=x;while(0);A=c[m>>2]|0;B=a[A>>0]|0;if(!(B<<24>>24)){C=92;break a}D=B;B=A;b:while(1){switch(D<<24>>24){case 37:{C=10;break b;break}case 0:{F=B;break b;break}default:{}}G=B+1|0;c[m>>2]=G;D=a[G>>0]|0;B=G}c:do if((C|0)==10){C=0;D=B;G=B;while(1){if((a[D+1>>0]|0)!=37){F=G;break c}H=G+1|0;D=D+2|0;c[m>>2]=D;if((a[D>>0]|0)!=37){F=H;break}else G=H}}while(0);y=F-A|0;if(e)Yf(d,A,y);if(!y)break;else x=z}x=(Pf(a[(c[m>>2]|0)+1>>0]|0)|0)==0;y=c[m>>2]|0;if(!x?(a[y+2>>0]|0)==36:0){I=3;J=(a[y+1>>0]|0)+-48|0;K=1}else{I=1;J=-1;K=w}x=y+I|0;c[m>>2]=x;y=a[x>>0]|0;B=(y<<24>>24)+-32|0;if(B>>>0>31|(1<<B&75913|0)==0){L=y;M=0;N=x}else{y=0;G=x;x=B;while(1){B=1<<x|y;D=G+1|0;c[m>>2]=D;H=a[D>>0]|0;x=(H<<24>>24)+-32|0;if(x>>>0>31|(1<<x&75913|0)==0){L=H;M=B;N=D;break}else{y=B;G=D}}}if(L<<24>>24==42){if((Pf(a[N+1>>0]|0)|0)!=0?(G=c[m>>2]|0,(a[G+2>>0]|0)==36):0){y=G+1|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;O=1;P=G+3|0;Q=c[h+((a[y>>0]|0)+-48<<3)>>2]|0}else{if(K|0){R=-1;break}if(e){y=(c[f>>2]|0)+(4-1)&~(4-1);G=c[y>>2]|0;c[f>>2]=y+4;S=G}else S=0;O=0;P=(c[m>>2]|0)+1|0;Q=S}c[m>>2]=P;G=(Q|0)<0;T=P;U=G?M|8192:M;V=O;W=G?0-Q|0:Q}else{G=Zf(m)|0;if((G|0)<0){R=-1;break}T=c[m>>2]|0;U=M;V=K;W=G}do if((a[T>>0]|0)==46){G=T+1|0;if((a[G>>0]|0)!=42){c[m>>2]=G;G=Zf(m)|0;X=c[m>>2]|0;Y=G;break}if(Pf(a[T+2>>0]|0)|0?(G=c[m>>2]|0,(a[G+3>>0]|0)==36):0){y=G+2|0;c[i+((a[y>>0]|0)+-48<<2)>>2]=10;x=c[h+((a[y>>0]|0)+-48<<3)>>2]|0;y=G+4|0;c[m>>2]=y;X=y;Y=x;break}if(V|0){R=-1;break a}if(e){x=(c[f>>2]|0)+(4-1)&~(4-1);y=c[x>>2]|0;c[f>>2]=x+4;Z=y}else Z=0;y=(c[m>>2]|0)+2|0;c[m>>2]=y;X=y;Y=Z}else{X=T;Y=-1}while(0);y=X;x=0;while(1){if(((a[y>>0]|0)+-65|0)>>>0>57){R=-1;break a}G=y;y=y+1|0;c[m>>2]=y;_=a[(a[G>>0]|0)+-65+(560+(x*58|0))>>0]|0;$=_&255;if(($+-1|0)>>>0>=8)break;else x=$}if(!(_<<24>>24)){R=-1;break}G=(J|0)>-1;do if(_<<24>>24==19)if(G){R=-1;break a}else C=54;else{if(G){c[i+(J<<2)>>2]=$;D=h+(J<<3)|0;B=c[D+4>>2]|0;H=n;c[H>>2]=c[D>>2];c[H+4>>2]=B;C=54;break}if(!e){R=0;break a}_f(n,$,f,k);aa=c[m>>2]|0;C=55}while(0);if((C|0)==54){C=0;if(e){aa=y;C=55}else ba=0}d:do if((C|0)==55){C=0;G=a[aa+-1>>0]|0;B=(x|0)!=0&(G&15|0)==3?G&-33:G;G=U&-65537;H=(U&8192|0)==0?U:G;e:do switch(B|0){case 110:{switch((x&255)<<24>>24){case 0:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 1:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 2:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}case 3:{b[c[n>>2]>>1]=z;ba=0;break d;break}case 4:{a[c[n>>2]>>0]=z;ba=0;break d;break}case 6:{c[c[n>>2]>>2]=z;ba=0;break d;break}case 7:{D=c[n>>2]|0;c[D>>2]=z;c[D+4>>2]=((z|0)<0)<<31>>31;ba=0;break d;break}default:{ba=0;break d}}break}case 112:{ca=H|8;da=Y>>>0>8?Y:8;ea=120;C=67;break}case 88:case 120:{ca=H;da=Y;ea=B;C=67;break}case 111:{D=n;fa=ag(c[D>>2]|0,c[D+4>>2]|0,r)|0;D=s-fa|0;ga=fa;ha=H;ia=(H&8|0)==0|(Y|0)>(D|0)?Y:D+1|0;ja=0;ka=16823;C=73;break}case 105:case 100:{D=n;fa=c[D>>2]|0;la=c[D+4>>2]|0;if((la|0)<0){D=kv(0,0,fa|0,la|0)|0;ma=E()|0;na=n;c[na>>2]=D;c[na+4>>2]=ma;oa=D;pa=ma;qa=1;ra=16823;C=72;break e}else{oa=fa;pa=la;qa=(H&2049|0)!=0&1;ra=(H&2048|0)==0?((H&1|0)==0?16823:16825):16824;C=72;break e}break}case 117:{la=n;oa=c[la>>2]|0;pa=c[la+4>>2]|0;qa=0;ra=16823;C=72;break}case 99:{a[t>>0]=c[n>>2];sa=t;ta=G;ua=1;va=0;wa=16823;xa=s;break}case 115:{la=c[n>>2]|0;fa=(la|0)==0?16833:la;la=cg(fa,0,Y)|0;ma=(la|0)==0;sa=fa;ta=G;ua=ma?Y:la-fa|0;va=0;wa=16823;xa=ma?fa+Y|0:la;break}case 67:{c[p>>2]=c[n>>2];c[o>>2]=0;c[n>>2]=p;ya=-1;C=79;break}case 83:{if(!Y){dg(d,32,W,0,H);za=0;C=89}else{ya=Y;C=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{ba=fb[j&1](d,+g[n>>3],W,Y,H,B)|0;break d;break}default:{sa=A;ta=H;ua=Y;va=0;wa=16823;xa=s}}while(0);f:do if((C|0)==67){C=0;B=n;G=$f(c[B>>2]|0,c[B+4>>2]|0,r,ea&32)|0;B=n;la=(ca&8|0)==0|(c[B>>2]|0)==0&(c[B+4>>2]|0)==0;ga=G;ha=ca;ia=da;ja=la?0:2;ka=la?16823:16823+(ea>>>4)|0;C=73}else if((C|0)==72){C=0;ga=bg(oa,pa,r)|0;ha=H;ia=Y;ja=qa;ka=ra;C=73}else if((C|0)==79){C=0;la=0;G=c[n>>2]|0;while(1){B=c[G>>2]|0;if(!B){Aa=la;break}fa=eg(q,B)|0;Ba=(fa|0)<0;if(Ba|fa>>>0>(ya-la|0)>>>0){C=83;break}B=fa+la|0;if(ya>>>0>B>>>0){la=B;G=G+4|0}else{Aa=B;break}}if((C|0)==83){C=0;if(Ba){R=-1;break a}else Aa=la}dg(d,32,W,Aa,H);if(!Aa){za=0;C=89}else{G=0;B=c[n>>2]|0;while(1){fa=c[B>>2]|0;if(!fa){za=Aa;C=89;break f}ma=eg(q,fa)|0;G=ma+G|0;if((G|0)>(Aa|0)){za=Aa;C=89;break f}Yf(d,q,ma);if(G>>>0>=Aa>>>0){za=Aa;C=89;break}else B=B+4|0}}}while(0);if((C|0)==73){C=0;B=n;G=(c[B>>2]|0)!=0|(c[B+4>>2]|0)!=0;B=(ia|0)!=0|G;la=s-ga+((G^1)&1)|0;sa=B?ga:r;ta=(ia|0)>-1?ha&-65537:ha;ua=B?((ia|0)>(la|0)?ia:la):0;va=ja;wa=ka;xa=s}else if((C|0)==89){C=0;dg(d,32,W,za,H^8192);ba=(W|0)>(za|0)?W:za;break}la=xa-sa|0;B=(ua|0)<(la|0)?la:ua;G=B+va|0;ma=(W|0)<(G|0)?G:W;dg(d,32,ma,G,ta);Yf(d,wa,va);dg(d,48,ma,G,ta^65536);dg(d,48,B,la,0);Yf(d,sa,la);dg(d,32,ma,G,ta^8192);ba=ma}while(0);u=z;v=ba;w=V}g:do if((C|0)==92)if(!d)if(!w)R=0;else{V=1;while(1){ba=c[i+(V<<2)>>2]|0;if(!ba)break;_f(h+(V<<3)|0,ba,f,k);ba=V+1|0;if(ba>>>0<10)V=ba;else{R=1;break g}}ba=V;while(1){if(c[i+(ba<<2)>>2]|0){R=-1;break g}ba=ba+1|0;if(ba>>>0>=10){R=1;break}}}else R=z;while(0);$a=l;return R|0}function Wf(a){a=a|0;return 1}function Xf(a){a=a|0;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ig(b,d,a)|0;return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(Pf(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(Pf(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function _f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;c[a>>2]=h;break a;break}case 10:{h=(c[d>>2]|0)+(4-1)&~(4-1);f=c[h>>2]|0;c[d>>2]=h+4;h=a;c[h>>2]=f;c[h+4>>2]=((f|0)<0)<<31>>31;break a;break}case 11:{f=(c[d>>2]|0)+(4-1)&~(4-1);h=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=h;c[f+4>>2]=0;break a;break}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=f;i=c[h>>2]|0;j=c[h+4>>2]|0;c[d>>2]=f+8;f=a;c[f>>2]=i;c[f+4>>2]=j;break a;break}case 13:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&65535)<<16>>16;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 14:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&65535;c[j+4>>2]=0;break a;break}case 15:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=(f&255)<<24>>24;f=a;c[f>>2]=j;c[f+4>>2]=((j|0)<0)<<31>>31;break a;break}case 16:{j=(c[d>>2]|0)+(4-1)&~(4-1);f=c[j>>2]|0;c[d>>2]=j+4;j=a;c[j>>2]=f&255;c[j+4>>2]=0;break a;break}case 17:{j=(c[d>>2]|0)+(8-1)&~(8-1);k=+g[j>>3];c[d>>2]=j+8;g[a>>3]=k;break a;break}case 18:{rb[e&63](a,d);break a;break}default:break a}while(0);while(0);return}function $f(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=b;b=c;c=e;while(1){e=c+-1|0;a[e>>0]=d[1024+(h&15)>>0]|0|f;h=pv(h|0,b|0,4)|0;b=E()|0;if((h|0)==0&(b|0)==0){g=e;break}else c=e}}return g|0}function ag(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=b;b=c;c=d;while(1){d=c+-1|0;a[d>>0]=f&7|48;f=pv(f|0,b|0,3)|0;b=E()|0;if((f|0)==0&(b|0)==0){e=d;break}else c=d}}return e|0}function bg(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=b;f=c;c=d;do{g=e;e=nv(e|0,f|0,10,0)|0;h=f;f=E()|0;i=iv(e|0,f|0,10,0)|0;j=kv(g|0,h|0,i|0,E()|0)|0;E()|0;c=c+-1|0;a[c>>0]=j&255|48}while(h>>>0>9|(h|0)==9&g>>>0>4294967295);k=c;l=e}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=k;k=(k>>>0)/10|0;d=b+-1|0;a[d>>0]=l-(k*10|0)|48;if(l>>>0<10){m=d;break}else b=d}}return m|0}function cg(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=e;r=b;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[l>>0]|0)==r<<24>>24)if(!k){m=16;break}else{t=l;break}q=z(f,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){b=c[g>>2]^q;if((b&-2139062144^-2139062144)&b+-16843009|0){u=g;v=s;break c}b=g+4|0;e=s+-4|0;if(e>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!w){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[g>>0]|0)==r<<24>>24){t=g;break b}q=q+-1|0;if(!q){m=16;break}else g=g+1|0}}while(0);if((m|0)==16)t=0;return t|0}function dg(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,h=0;f=$a;$a=$a+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;tv(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Yf(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Yf(a,g,h)}$a=f;return}function eg(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=fg(a,b,0)|0;return c|0}function fg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(gg()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(wf()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=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;f=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;f=4;break}else{c[(wf()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function gg(){return hg()|0}function hg(){return 9348}function ig(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;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(jg(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=hb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=k;m=0;n=d;o=b}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=k;m=0;n=d;o=b;break b}else f=p}p=hb[c[e+36>>2]&31](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=c[g>>2]|0;m=f;n=d-f|0;o=b+f|0}while(0);rv(l|0,o|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function jg(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function kg(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;D(c[h+4>>2]|0);return b|0}function lg(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0,k=0.0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=pv(d|0,e|0,52)|0;E()|0;switch(f&2047){case 0:{if(a!=0.0){i=+lg(a*18446744073709551616.0,b);j=(c[b>>2]|0)+-64|0;k=i}else{j=0;k=a}c[b>>2]=j;l=k;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function mg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;rv(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ng(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function og(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Pf(a)|0)!=0)&1|0}function pg(){return 9592}function qg(){var a=0;a=(c[c[(rg()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function rg(){return hg()|0}function sg(){return 9596}function tg(){return 9600}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=24;h=-149;i=4;break}case 1:{g=53;h=-1074;i=4;break}case 2:{g=53;h=-1074;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+104|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Ff(b)|0}while((Gf(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Ff(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=o;n=0;while(1){if((l|32|0)!=(a[16873+n>>0]|0)){q=l;t=n;break}do if(n>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Ff(b)|0;break}}else v=l;while(0);n=n+1|0;if(n>>>0>=8){q=v;t=8;break}else l=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{l=(f|0)!=0;if(l&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){n=q;u=0;while(1){if((n|32|0)!=(a[16882+u>>0]|0)){w=n;x=u;break d}do if(u>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Ff(b)|0;break}}else z=n;while(0);u=u+1|0;if(u>>>0>=3){w=z;x=3;break}else n=z}}else{w=q;x=t}while(0);switch(x|0){case 3:{n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;A=d[n>>0]|0}else A=Ff(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}n=1;while(1){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;B=d[u>>0]|0}else B=Ff(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;n=n+1|0}if((B|0)==41){j=r;break a}u=(c[k>>2]|0)==0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!l){c[(wf()|0)>>2]=22;Df(b,0,0);j=0.0;break a}if(!n){j=r;break a}y=n;while(1){y=y+-1|0;if(!u)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((w|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Ff(b)|0;if((C|32|0)==120){j=+vg(b,g,h,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=w;j=+wg(b,D,g,h,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(wf()|0)>>2]=22;Df(b,0,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){u=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;u=u+-1|0}while(u>>>0>3)}}j=+(p|0)*s}while(0);return +j}function vg(a,b,e,f,g){a=a|0;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.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0,M=0.0,N=0,O=0.0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+104|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Ff(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=0;o=i;p=k;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Ff(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Ff(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Ff(a)|0;r=jv(s|0,i|0,-1,-1)|0;v=E()|0;if((u|0)==48){s=r;i=v}else{m=r;n=v;o=u;p=1;q=1;break}}}else{m=0;n=0;o=t;p=k;q=1}}k=0;t=0;u=m;m=n;n=o;o=p;p=q;q=0;w=1.0;i=0;x=0.0;while(1){s=n+-48|0;v=n|32;if(s>>>0>=10){r=(n|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=n;break}if(r)if(!p){z=t;A=k;B=t;C=k;D=o;F=1;G=q;H=w;I=i;J=x}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(n|0)>57?v+-87|0:s;do if(!((k|0)<0|(k|0)==0&t>>>0<8))if((k|0)<0|(k|0)==0&t>>>0<14){K=w*.0625;L=q;M=K;N=i;O=x+K*+(r|0);break}else{s=(q|0)!=0|(r|0)==0;L=s?q:1;M=w;N=i;O=s?x:x+w*.5;break}else{L=q;M=w;N=r+(i<<4)|0;O=x}while(0);r=jv(t|0,k|0,1,0)|0;z=u;A=m;B=r;C=E()|0;D=1;F=p;G=L;H=M;I=N;J=O}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Ff(a)|0;k=C;t=B;u=z;m=A;n=P;o=D;p=F;q=G;w=H;i=I;x=J}do if(!o){I=(c[j>>2]|0)==0;if(!I)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!I?(c[h>>2]=(c[h>>2]|0)+-1,!((p|0)==0|I)):0)c[h>>2]=(c[h>>2]|0)+-1}else Df(a,0,0);Q=+(f|0)*0.0}else{I=(p|0)==0;G=I?t:u;q=I?k:m;if((k|0)<0|(k|0)==0&t>>>0<8){I=t;F=k;D=i;while(1){P=D<<4;n=I;I=jv(I|0,F|0,1,0)|0;A=F;F=E()|0;if(!((A|0)<0|(A|0)==0&n>>>0<7)){R=P;break}else D=P}}else R=i;if((y|32|0)==112){D=xg(a,g)|0;F=E()|0;if((D|0)==0&(F|0)==-2147483648){if(!g){Df(a,0,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=D;T=F}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}F=qv(G|0,q|0,2)|0;D=jv(F|0,E()|0,-32,-1)|0;F=jv(D|0,E()|0,S|0,T|0)|0;D=E()|0;if(!R){Q=+(f|0)*0.0;break}I=0-e|0;P=((I|0)<0)<<31>>31;if((D|0)>(P|0)|(D|0)==(P|0)&F>>>0>I>>>0){c[(wf()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}I=e+-106|0;P=((I|0)<0)<<31>>31;if((D|0)<(P|0)|(D|0)==(P|0)&F>>>0<I>>>0){c[(wf()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){I=F;P=D;n=R;J=x;while(1){A=!(J>=.5);z=n<<1|(A^1)&1;H=J+(A?J:J+-1.0);A=jv(I|0,P|0,-1,-1)|0;B=E()|0;if((z|0)>-1){I=A;P=B;n=z;J=H}else{U=A;V=B;W=z;X=H;break}}}else{U=F;V=D;W=R;X=x}n=((b|0)<0)<<31>>31;P=kv(32,0,e|0,((e|0)<0)<<31>>31|0)|0;I=jv(P|0,E()|0,U|0,V|0)|0;P=E()|0;if((P|0)<(n|0)|(P|0)==(n|0)&I>>>0<b>>>0)if((I|0)>0){Y=I;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){J=+(f|0);$=+zg(+yg(1.0,_),J);aa=Z;ba=J}I=(W&1|0)==0&(X!=0.0&(aa|0)<32);J=(I?0.0:X)*ba+($+ba*+((W+(I&1)|0)>>>0))-$;if(!(J!=0.0))c[(wf()|0)>>2]=34;Q=+Bg(J,U)}while(0);return +Q}function wg(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,r=0,s=0,t=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=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.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,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0,qb=0.0;i=$a;$a=$a+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+104|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=0;s=o;t=b;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Ff(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Ff(a)|0;if((y|0)==48){x=0;o=0;while(1){w=jv(x|0,o|0,-1,-1)|0;A=E()|0;B=c[m>>2]|0;if(B>>>0<(c[n>>2]|0)>>>0){c[m>>2]=B+1;C=d[B>>0]|0}else C=Ff(a)|0;if((C|0)==48){x=w;o=A}else{q=w;r=A;s=C;t=1;v=1;break}}}else{q=0;r=0;s=y;t=b;v=1}}c[j>>2]=0;b=s+-48|0;y=(s|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=q;x=r;A=0;w=0;B=s;D=y;F=t;G=v;H=0;I=0;J=0;K=b;c:while(1){do if(D)if(!G){L=A;M=w;N=A;O=w;P=F;Q=1;R=H;S=I;T=J}else break c;else{U=jv(A|0,w|0,1,0)|0;V=E()|0;W=(B|0)!=48;if((I|0)>=125){if(!W){L=o;M=x;N=U;O=V;P=F;Q=G;R=H;S=I;T=J;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=U;O=V;P=F;Q=G;R=H;S=I;T=J;break}X=j+(I<<2)|0;if(!H)Y=K;else Y=B+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=H+1|0;Z=(X|0)==9;L=o;M=x;N=U;O=V;P=1;Q=G;R=Z?0:X;S=I+(Z&1)|0;T=W?U:J}while(0);U=c[m>>2]|0;if(U>>>0<(c[n>>2]|0)>>>0){c[m>>2]=U+1;_=d[U>>0]|0}else _=Ff(a)|0;K=_+-48|0;D=(_|0)==46;if(!(D|K>>>0<10)){$=L;aa=N;ba=M;ca=O;da=_;ea=P;fa=Q;ga=R;ha=S;ia=T;p=31;break b}else{o=L;x=M;A=N;w=O;B=_;F=P;G=Q;H=R;I=S;J=T}}ja=A;ka=w;la=o;ma=x;na=H;oa=I;pa=J;qa=(F|0)!=0;p=39}else{$=q;aa=0;ba=r;ca=0;da=s;ea=t;fa=v;ga=0;ha=0;ia=0;p=31}while(0);do if((p|0)==31){v=(fa|0)==0;t=v?aa:$;s=v?ca:ba;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=aa;ka=ca;la=t;ma=s;na=ga;oa=ha;pa=ia;qa=v;p=39;break}else{ra=aa;sa=ca;ta=t;ua=s;va=ga;wa=ha;xa=ia;ya=v;p=41;break}v=xg(a,h)|0;r=E()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Df(a,0,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=jv(Aa|0,Ba|0,t|0,s|0)|0;Ca=r;Da=aa;Ea=E()|0;Fa=ca;Ga=ga;Ha=ha;Ia=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=la;Da=ja;Ea=ma;Fa=ka;Ga=na;Ha=oa;Ia=pa;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=pa;ya=qa;p=41}if((p|0)==41)if(ya){Ca=ta;Da=ra;Ea=ua;Fa=sa;Ga=va;Ha=wa;Ia=xa;p=43}else p=42;do if((p|0)==42){c[(wf()|0)>>2]=22;Df(a,0,0);za=0.0}else if((p|0)==43){xa=c[j>>2]|0;if(!xa){za=+(g|0)*0.0;break}if(((Fa|0)<0|(Fa|0)==0&Da>>>0<10)&((Ca|0)==(Da|0)&(Ea|0)==(Fa|0))?(e|0)>30|(xa>>>e|0)==0:0){za=+(g|0)*+(xa>>>0);break}xa=(f|0)/-2|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)>(wa|0)|(Ea|0)==(wa|0)&Ca>>>0>xa>>>0){c[(wf()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}xa=f+-106|0;wa=((xa|0)<0)<<31>>31;if((Ea|0)<(wa|0)|(Ea|0)==(wa|0)&Ca>>>0<xa>>>0){c[(wf()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ga)Ja=Ha;else{if((Ga|0)<9){xa=j+(Ha<<2)|0;wa=Ga;va=c[xa>>2]|0;while(1){va=va*10|0;if((wa|0)>=8)break;else wa=wa+1|0}c[xa>>2]=va}Ja=Ha+1|0}if((Ia|0)<9?(Ia|0)<=(Ca|0)&(Ca|0)<18:0){if((Ca|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Ca|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[4880+(8-Ca<<2)>>2]|0);break}wa=e+27+(z(Ca,-3)|0)|0;F=c[j>>2]|0;if((wa|0)>30|(F>>>wa|0)==0){za=+(g|0)*+(F>>>0)*+(c[4880+(Ca+-10<<2)>>2]|0);break}}F=(Ca|0)%9|0;if(!F){Ka=0;La=Ca;Ma=Ja}else{wa=(Ca|0)>-1?F:F+9|0;F=c[4880+(8-wa<<2)>>2]|0;if(Ja){J=1e9/(F|0)|0;I=0;H=0;x=0;o=Ca;do{w=j+(x<<2)|0;A=c[w>>2]|0;sa=(A>>>0)/(F>>>0)|0;ua=A-(z(sa,F)|0)|0;A=sa+H|0;c[w>>2]=A;H=z(J,ua)|0;ua=(x|0)==(I|0)&(A|0)==0;o=ua?o+-9|0:o;I=ua?I+1&127:I;x=x+1|0}while((x|0)!=(Ja|0));if(!H){Na=I;Oa=o;Pa=Ja}else{c[j+(Ja<<2)>>2]=H;Na=I;Oa=o;Pa=Ja+1|0}}else{Na=0;Oa=Ca;Pa=0}Ka=Na;La=9-wa+Oa|0;Ma=Pa}x=Ka;J=0;F=La;va=Ma;d:while(1){xa=(F|0)<18;ua=(F|0)==18;A=j+(x<<2)|0;Qa=J;Ra=va;while(1){if(!xa){if(!ua){Sa=F;break d}if((c[A>>2]|0)>>>0>=9007199){Sa=18;break d}}w=0;sa=Ra+127|0;Ta=Ra;while(1){ra=sa&127;ta=j+(ra<<2)|0;ya=qv(c[ta>>2]|0,0,29)|0;qa=jv(ya|0,E()|0,w|0,0)|0;ya=E()|0;if(ya>>>0>0|(ya|0)==0&qa>>>0>1e9){pa=nv(qa|0,ya|0,1e9,0)|0;oa=iv(pa|0,E()|0,1e9,0)|0;na=kv(qa|0,ya|0,oa|0,E()|0)|0;E()|0;Ua=na;Va=pa}else{Ua=qa;Va=0}c[ta>>2]=Ua;ta=(ra|0)==(x|0);Wa=(ra|0)!=(Ta+127&127|0)|ta?Ta:(Ua|0)==0?ra:Ta;if(ta)break;else{w=Va;sa=ra+-1|0;Ta=Wa}}Xa=Qa+-29|0;if(!Va){Qa=Xa;Ra=Ta}else break}A=x+127&127;ua=Wa+127&127;xa=j+((Wa+126&127)<<2)|0;if((A|0)==(Wa|0)){c[xa>>2]=c[xa>>2]|c[j+(ua<<2)>>2];Ya=ua}else Ya=Ta;c[j+(A<<2)>>2]=Va;x=A;J=Xa;F=F+9|0;va=Ya}va=x;F=Qa;J=Sa;wa=Ra;e:while(1){o=wa+1&127;I=j+((wa+127&127)<<2)|0;H=va;A=F;ua=J;while(1){xa=(ua|0)==18;sa=(ua|0)>27?9:1;Za=H;_a=A;while(1){w=0;while(1){ra=w+Za&127;if((ra|0)==(wa|0)){p=92;break}ta=c[j+(ra<<2)>>2]|0;ra=c[9604+(w<<2)>>2]|0;if(ta>>>0<ra>>>0){p=92;break}if(ta>>>0>ra>>>0)break;if((w+1|0)>>>0<2)w=1;else{p=92;break}}if((p|0)==92?(p=0,xa):0)break e;ab=sa+_a|0;if((Za|0)==(wa|0)){Za=wa;_a=ab}else break}xa=(1<<sa)+-1|0;w=1e9>>>sa;bb=Za;cb=0;ra=Za;db=ua;do{ta=j+(ra<<2)|0;qa=c[ta>>2]|0;pa=(qa>>>sa)+cb|0;c[ta>>2]=pa;cb=z(qa&xa,w)|0;qa=(ra|0)==(bb|0)&(pa|0)==0;db=qa?db+-9|0:db;bb=qa?bb+1&127:bb;ra=ra+1&127}while((ra|0)!=(wa|0));if(cb|0){if((o|0)!=(bb|0))break;c[I>>2]=c[I>>2]|1}H=bb;A=ab;ua=db}c[j+(wa<<2)>>2]=cb;va=bb;F=ab;J=db;wa=o}J=0;eb=0.0;F=wa;while(1){va=J+Za&127;x=F+1&127;if((va|0)==(F|0)){c[j+(x+-1<<2)>>2]=0;fb=x}else fb=F;eb=eb*1.0e9+ +((c[j+(va<<2)>>2]|0)>>>0);J=J+1|0;if((J|0)==2)break;else F=fb}gb=+(g|0);hb=eb*gb;F=_a+53|0;J=F-f|0;wa=(J|0)<(e|0);va=wa?((J|0)>0?J:0):e;if((va|0)<53){ib=+zg(+yg(1.0,105-va|0),hb);jb=+Ag(hb,+yg(1.0,53-va|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}x=Za+2&127;if((x|0)!=(fb|0)){ua=c[j+(x<<2)>>2]|0;do if(ua>>>0>=5e8){if((ua|0)!=5e8){nb=gb*.75+lb;break}if((Za+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ua|0)==0?(Za+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-va|0)>1?!(+Ag(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((F&2147483647|0)>(-2-k|0)){ua=!(+u(+gb)>=9007199254740992.0);x=_a+((ua^1)&1)|0;eb=ua?gb:gb*.5;if((x+50|0)<=(l|0)?!(ob!=0.0&(wa&((va|0)!=(J|0)|ua))):0){pb=x;qb=eb;break}c[(wf()|0)>>2]=34;pb=x;qb=eb}else{pb=_a;qb=gb}while(0);za=+Bg(qb,pb)}while(0);$a=i;return +za}function xg(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+104|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Ff(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Ff(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=j;o=f;p=i;m=12}break}default:{n=h;o=0;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=n;n=0;while(1){n=p+-48+(n*10|0)|0;h=c[e>>2]|0;if(h>>>0<(c[g>>2]|0)>>>0){c[e>>2]=h+1;q=d[h>>0]|0}else q=Ff(a)|0;r=q+-48|0;if(!(r>>>0<10&(n|0)<214748364))break;else p=q}p=((n|0)<0)<<31>>31;if(r>>>0<10){r=n;h=p;i=q;while(1){q=iv(r|0,h|0,10,0)|0;f=E()|0;j=jv(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;r=jv(j|0,E()|0,q|0,f|0)|0;h=E()|0;f=c[e>>2]|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;s=d[f>>0]|0}else s=Ff(a)|0;t=s+-48|0;if(!(t>>>0<10&((h|0)<21474836|(h|0)==21474836&r>>>0<2061584302)))break;else i=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Ff(a)|0}while((u+-48|0)>>>0<10);v=r;w=h}else{v=r;w=h}}else{v=n;w=p}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;p=(o|0)==0;o=kv(0,0,v|0,w|0)|0;n=E()|0;k=p?w:n;l=p?v:o}if((m|0)==14)if(!(c[g>>2]|0)){k=-2147483648;l=0}else{c[e>>2]=(c[e>>2]|0)+-1;k=-2147483648;l=0}D(k|0);return l|0}function yg(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0,j=0.0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?((f|0)>-1022?f:-1022):b+1022|0;j=e?d*2.2250738585072014e-308:d}else{i=b;j=a}else{d=a*8988465674311579538646525.0e283;e=(b|0)>2046;f=b+-2046|0;i=e?((f|0)<1023?f:1023):b+-1023|0;j=e?d*8988465674311579538646525.0e283:d}e=qv(i+1023|0,0,52)|0;i=E()|0;c[h>>2]=e;c[h+4>>2]=i;return +(j*+g[h>>3])}function zg(a,b){a=+a;b=+b;return +(+Mf(a,b))}function Ag(a,b){a=+a;b=+b;return +(+Cg(a,b))}function Bg(a,b){a=+a;b=b|0;return +(+yg(a,b))}function Cg(a,b){a=+a;b=+b;var d=0,e=0,f=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,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.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=pv(d|0,e|0,52)|0;E()|0;k=j&2047;j=pv(f|0,i|0,52)|0;E()|0;l=j&2047;j=e&-2147483648;m=qv(f|0,i|0,1)|0;n=E()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=Dg(b)|0,p=(E()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=qv(d|0,e|0,1)|0;p=E()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=qv(d|0,e|0,12)|0;o=E()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=p;p=o;o=0;while(1){r=o+-1|0;q=qv(q|0,p|0,1)|0;p=E()|0;if(!((p|0)>-1|(p|0)==-1&q>>>0>4294967295)){s=r;break}else o=r}}else s=0;o=qv(d|0,e|0,1-s|0)|0;t=o;u=E()|0;v=s}else{t=d;u=e&1048575|1048576;v=k}if(!l){o=qv(f|0,i|0,12)|0;q=E()|0;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){p=o;o=q;q=0;while(1){r=q+-1|0;p=qv(p|0,o|0,1)|0;o=E()|0;if(!((o|0)>-1|(o|0)==-1&p>>>0>4294967295)){w=r;break}else q=r}}else w=0;q=qv(f|0,i|0,1-w|0)|0;x=q;y=E()|0;z=w}else{x=f;y=i&1048575|1048576;z=l}q=kv(t|0,u|0,x|0,y|0)|0;p=E()|0;o=(p|0)>-1|(p|0)==-1&q>>>0>4294967295;b:do if((v|0)>(z|0)){r=t;A=u;B=q;C=p;D=o;F=v;while(1){if(D)if((B|0)==0&(C|0)==0)break;else{G=B;H=C}else{G=r;H=A}I=qv(G|0,H|0,1)|0;J=E()|0;K=F+-1|0;L=kv(I|0,J|0,x|0,y|0)|0;M=E()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(z|0)){r=I;A=J;B=L;C=M;D=N;F=K}else{O=L;P=M;Q=I;R=J;S=N;T=K;break b}}U=a*0.0;break a}else{O=q;P=p;Q=t;R=u;S=o;T=v}while(0);if(S)if((O|0)==0&(P|0)==0){U=a*0.0;break}else{V=P;W=O}else{V=R;W=Q}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=W;p=V;q=T;while(1){F=qv(o|0,p|0,1)|0;D=E()|0;C=q+-1|0;if(D>>>0<1048576|(D|0)==1048576&F>>>0<0){o=F;p=D;q=C}else{X=F;Y=D;Z=C;break}}}else{X=W;Y=V;Z=T}if((Z|0)>0){q=jv(X|0,Y|0,0,-1048576)|0;p=E()|0;o=qv(Z|0,0,52)|0;_=p|(E()|0);$=q|o}else{o=pv(X|0,Y|0,1-Z|0)|0;_=E()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function Dg(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;D(c[h+4>>2]|0);return b|0}function Eg(a){a=a|0;return 0}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Gg(a,b){a=a|0;b=b|0;return -1|0}function Hg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=d;h=b;while(1){if(!(a[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){e=j;f=5;break}else h=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0;d=$a;$a=$a+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=vf(Y(91,e|0)|0)|0;$a=d;return b|0}function Jg(b,c){b=b|0;c=c|0;var d=0;d=Kg(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Kg(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;e=d&255;a:do if(!e)f=b+(Hg(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=z(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function Lg(){return}function Mg(a){a=a|0;if(Ng(a)|0)Uh(a);return}function Ng(a){a=a|0;return (a|0)!=9308&((a|0)!=0&(a|0)!=24916)&1|0}function Og(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;h=$a;$a=$a+16|0;i=h;j=(g|0)==0?24944:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(Pg()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[80+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=o;r=n;s=e+1|0;l=11}}else{q=g;r=f;s=e;l=11}b:do if((l|0)==11){n=d[s>>0]|0;o=n>>>3;if((o+-16|o+(q>>26))>>>0>7){l=19;break a}o=n+-128|q<<6;n=r+-1|0;if((o|0)<0){t=n;u=o;v=s;while(1){v=v+1|0;if(!t){p=u;break b}w=a[v>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=t+-1|0;if((x|0)>=0){y=w;z=x;break}else{t=w;u=x}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(wf()|0)>>2]=84;k=-1}$a=h;return k|0}function Pg(){return hg()|0}function Qg(a,b){a=a|0;b=b|0;return Pf(a)|0}function Rg(a,b){a=a|0;b=b|0;return og(a)|0}function Sg(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,r=0,s=0,t=0,u=0,v=0;e=$a;$a=$a+272|0;f=e;g=e+256|0;do if(!(a[d>>0]|0)){h=ta(16886)|0;if(h|0?a[h>>0]|0:0){i=h;break}h=ta(4912+(b*12|0)|0)|0;if(h|0?a[h>>0]|0:0){i=h;break}h=ta(16893)|0;if(h|0?a[h>>0]|0:0){i=h;break}i=16898}else i=d;while(0);d=0;a:while(1){switch(a[i+d>>0]|0){case 47:case 0:{j=d;break a;break}default:{}}d=d+1|0;if(d>>>0>=15){j=15;break}}d=a[i>>0]|0;if(d<<24>>24!=46?(a[i+j>>0]|0)==0:0)if(d<<24>>24==67){k=i;l=15}else{m=i;l=16}else{k=16898;l=15}if((l|0)==15)if(!(a[k+1>>0]|0)){n=k;l=18}else{m=k;l=16}b:do if((l|0)==16)if((Nf(m,16898)|0)!=0?(Nf(m,16906)|0)!=0:0){k=c[6237]|0;if(k|0){i=k;do{if(!(Nf(m,i+8|0)|0)){o=i;break b}i=c[i+24>>2]|0}while((i|0)!=0)}O(24952);i=c[6237]|0;c:do if(i|0){k=i;while(1){if(!(Nf(m,k+8|0)|0))break;d=c[k+24>>2]|0;if(!d)break c;else k=d}Z(24952);o=k;break b}while(0);d:do if(((c[6215]|0)==0?(i=ta(16912)|0,(i|0)!=0):0)?(a[i>>0]|0)!=0:0){d=254-j|0;h=j+1|0;p=i;while(1){i=Kg(p,58)|0;q=a[i>>0]|0;r=i-p+((q<<24>>24!=0)<<31>>31)|0;if(r>>>0<d>>>0){rv(f|0,p|0,r|0)|0;s=f+r|0;a[s>>0]=47;rv(s+1|0,m|0,j|0)|0;a[f+(h+r)>>0]=0;t=P(f|0,g|0)|0;if(t|0)break;u=a[i>>0]|0}else u=q;p=i+(u<<24>>24!=0&1)|0;if(!(a[p>>0]|0)){l=41;break d}}p=Th(28)|0;if(!p){Ig(t,c[g>>2]|0)|0;l=41;break}else{c[p>>2]=t;c[p+4>>2]=c[g>>2];h=p+8|0;rv(h|0,m|0,j|0)|0;a[h+j>>0]=0;c[p+24>>2]=c[6237];c[6237]=p;v=p;break}}else l=41;while(0);if((l|0)==41){p=Th(28)|0;if(!p)v=p;else{c[p>>2]=c[2320];c[p+4>>2]=c[2321];h=p+8|0;rv(h|0,m|0,j|0)|0;a[h+j>>0]=0;c[p+24>>2]=c[6237];c[6237]=p;v=p}}Z(24952);o=(b|0)==0&(v|0)==0?9280:v}else{n=m;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[n+1>>0]|0)==46:0){o=9280;break}o=0}while(0);$a=e;return o|0}function Tg(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;e=$a;$a=$a+32|0;f=e;a:do if(!(Ng(d)|0)){g=(d|0)!=0;h=0;i=0;do{j=1<<h&a;if(g&(j|0)==0)k=c[d+(h<<2)>>2]|0;else k=Sg(h,(j|0)==0?26968:b)|0;i=i+((k|0)!=0&1)|0;c[f+(h<<2)>>2]=k;h=h+1|0}while((h|0)!=6);switch(i&2147483647|0){case 0:{l=24916;break a;break}case 1:{if((c[f>>2]|0)==9280){l=9308;break a}break}default:{}}l=d}else{h=0;do{if(1<<h&a|0)c[d+(h<<2)>>2]=Sg(h,b)|0;h=h+1|0}while((h|0)!=6);l=d}while(0);$a=e;return l|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;c[g>>2]=e;e=Qf(a,b,d,g)|0;$a=f;return e|0}function Vg(a){a=a|0;var b=0,d=0;b=(Wg()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?24892:a;return ((d|0)==24892?-1:d)|0}function Wg(){return hg()|0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(d|0){e=a;f=d;d=b;while(1){f=f+-1|0;c[e>>2]=c[d>>2];if(!f)break;else{e=e+4|0;d=d+4|0}}}return a|0}function Yg(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;f=z(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(Wf(e)|0)==0;h=ig(a,f,e)|0;if(d)i=h;else{Xf(e);i=h}}else i=ig(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function Zg(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;d=a+128|0;if(b|0)c[b+128>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(_g()|0)+232|0;else e=a+132|0;c[e>>2]=b}return}function _g(){return hg()|0}function $g(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=$a;$a=$a+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(jg(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0<k>>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((hb[c[b+36>>2]&31](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);$a=f;return m|0}function ah(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=$a;$a=$a+16|0;h=g;a:do if(!e)i=0;else{do if(f|0){j=(b|0)==0?h:b;k=a[e>>0]|0;if(k<<24>>24>-1){c[j>>2]=k&255;i=k<<24>>24!=0&1;break a}k=(c[c[(bh()|0)+188>>2]>>2]|0)==0;l=a[e>>0]|0;if(k){c[j>>2]=l<<24>>24&57343;i=1;break a}k=(l&255)+-194|0;if(k>>>0<=50){l=e+1|0;m=c[80+(k<<2)>>2]|0;if(f>>>0<4?m&-2147483648>>>((f*6|0)+-6|0)|0:0)break;k=d[l>>0]|0;l=k>>>3;if((l+-16|l+(m>>26))>>>0<=7){l=k+-128|m<<6;if((l|0)>=0){c[j>>2]=l;i=2;break a}m=(d[e+2>>0]|0)+-128|0;if(m>>>0<=63){k=m|l<<6;if((k|0)>=0){c[j>>2]=k;i=3;break a}l=(d[e+3>>0]|0)+-128|0;if(l>>>0<=63){c[j>>2]=l|k<<6;i=4;break a}}}}}while(0);c[(wf()|0)>>2]=84;i=-1}while(0);$a=g;return i|0}function bh(){return hg()|0}function ch(a){a=a|0;var b=0,c=0,d=0;b=(Hg(a)|0)+1|0;c=Th(b)|0;if(!c)d=0;else d=rv(c|0,a|0,b|0)|0;return d|0}function dh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=$a;$a=$a+48|0;f=e+32|0;g=e+16|0;h=e;if(Jg(16925,a[d>>0]|0)|0){i=eh(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=vf(V(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;U(221,g|0)|0}g=fh(b,d)|0;if(!g){c[f>>2]=b;X(6,f|0)|0;j=0}else j=g}else j=0}else{c[(wf()|0)>>2]=22;j=0}$a=e;return j|0}function eh(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Jg(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(Jg(b,120)|0)==0;f=c?e:e|128;e=(Jg(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function fh(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;e=$a;$a=$a+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(Jg(16925,a[d>>0]|0)|0){k=Th(1176)|0;if(!k)l=0;else{tv(k|0,0,144)|0;if(!(Jg(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(Jg(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;U(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=U(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;U(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+152;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(W(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=1;c[k+12>>2]=7;if(!(c[6214]|0))c[k+76>>2]=-1;gh(k)|0;l=k}}else{c[(wf()|0)>>2]=22;l=0}$a=e;return l|0}function gh(a){a=a|0;var b=0,d=0;b=hh()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;ih();return a|0}function hh(){O(24960);return 24968}function ih(){Z(24960);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=Wf(a)|0;else b=0;Zg(a);d=(c[a>>2]&1|0)!=0;if(!d){e=hh()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;ih()}h=kh(a)|0;e=eb[c[a+12>>2]&127](a)|0|h;h=c[a+96>>2]|0;if(h|0)Uh(h);if(d){if(b|0)Xf(a)}else Uh(a);return e|0}function kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=lh(a)|0;break}d=(Wf(a)|0)==0;e=lh(a)|0;if(d)b=e;else{Xf(a);b=e}}else{if(!(c[2336]|0))f=0;else f=kh(c[2336]|0)|0;e=c[(hh()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Wf(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=lh(d)|0|e;else i=e;if(h|0)Xf(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}ih();b=g}while(0);return b|0}function lh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(hb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0){j=g-i|0;ib[c[a+40>>2]&7](a,j,((j|0)<0)<<31>>31,1)|0;E()|0}c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$a;$a=$a+16|0;f=e;c[f>>2]=d;d=nh(a,b,f)|0;$a=e;return d|0}function nh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$a;$a=$a+144|0;f=e;tv(f|0,0,144)|0;c[f+32>>2]=27;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=ph(f,b,d)|0;$a=e;return a|0}function oh(a,b,c){a=a|0;b=b|0;c=c|0;return th(a,b,c)|0}function ph(e,h,i){e=e|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,B=0,C=0,D=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.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,ab=0,bb=0;j=$a;$a=$a+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=Wf(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+104|0;s=e+120|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=0;A=p;B=0;C=0;D=0;F=h;G=0;b:while(1){c:do if(!(Gf(A&255)|0)){H=(a[F>>0]|0)==37;d:do if(H){I=F+1|0;J=a[I>>0]|0;e:do switch(J<<24>>24){case 37:{break d;break}case 42:{K=0;L=F+2|0;break}default:{if(Pf(J&255)|0?(a[F+2>>0]|0)==36:0){K=qh(i,(d[I>>0]|0)+-48|0)|0;L=F+3|0;break e}M=(c[i>>2]|0)+(4-1)&~(4-1);N=c[M>>2]|0;c[i>>2]=M+4;K=N;L=I}}while(0);if(!(Pf(d[L>>0]|0)|0)){O=L;P=0}else{I=L;J=0;while(1){N=(J*10|0)+-48+(d[I>>0]|0)|0;M=I+1|0;if(!(Pf(d[M>>0]|0)|0)){O=M;P=N;break}else{I=M;J=N}}}J=a[O>>0]|0;I=O+1|0;if(J<<24>>24==109){Q=0;R=a[I>>0]|0;S=(K|0)!=0&1;T=O+2|0;U=I;V=0}else{Q=z;R=J;S=0;T=I;U=O;V=G}switch(R<<24>>24){case 104:{I=(a[T>>0]|0)==104;W=I?U+2|0:T;X=I?-2:-1;break}case 108:{I=(a[T>>0]|0)==108;W=I?U+2|0:T;X=I?3:1;break}case 106:{W=T;X=3;break}case 116:case 122:{W=T;X=1;break}case 76:{W=T;X=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{W=U;X=0;break}default:{Y=Q;Z=V;_=143;break b}}I=d[W>>0]|0;J=(I&47|0)==3;N=J?I|32:I;I=J?1:X;J=N&255;switch(J<<24>>24){case 99:{$=B;aa=C;ba=(P|0)>1?P:1;break}case 91:{$=B;aa=C;ba=P;break}case 110:{rh(K,I,B,C);ca=Q;da=B;ea=C;fa=D;ga=W;ha=V;break c;break}default:{Df(e,0,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;ia=d[M>>0]|0}else ia=Ff(e)|0}while((Gf(ia)|0)!=0);if(!(c[r>>2]|0))ja=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ja=M}M=s;ka=ja-(c[t>>2]|0)|0;la=jv(c[M>>2]|0,c[M+4>>2]|0,B|0,C|0)|0;M=jv(la|0,E()|0,ka|0,((ka|0)<0)<<31>>31|0)|0;$=M;aa=E()|0;ba=P}}M=((ba|0)<0)<<31>>31;Df(e,ba,M);ka=c[q>>2]|0;la=c[r>>2]|0;if(ka>>>0<la>>>0){c[q>>2]=ka+1;ma=la}else{if((Ff(e)|0)<0){Y=Q;Z=V;_=143;break b}ma=c[r>>2]|0}if(ma|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(J<<24>>24){case 91:case 99:case 115:{la=(N|0)==99;g:do if((N|16|0)==115){tv(l|0,-1,257)|0;a[l>>0]=0;if((N|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;na=W}else na=W}else{ka=W+1|0;oa=(a[ka>>0]|0)==94;pa=oa&1;qa=oa?W+2|0:ka;tv(l|0,pa|0,257)|0;a[l>>0]=0;switch(a[qa>>0]|0){case 45:{ka=(pa^1)&255;a[w>>0]=ka;ra=ka;sa=qa+1|0;break}case 93:{ka=(pa^1)&255;a[x>>0]=ka;ra=ka;sa=qa+1|0;break}default:{ra=(pa^1)&255;sa=qa}}qa=sa;while(1){pa=a[qa>>0]|0;h:do switch(pa<<24>>24){case 0:{Y=Q;Z=V;_=143;break b;break}case 93:{na=qa;break g;break}case 45:{ka=qa+1|0;oa=a[ka>>0]|0;switch(oa<<24>>24){case 93:case 0:{ta=45;ua=qa;break h;break}default:{}}va=a[qa+-1>>0]|0;if((va&255)<(oa&255)){wa=va&255;do{wa=wa+1|0;a[l+wa>>0]=ra;va=a[ka>>0]|0}while(wa>>>0<(va&255)>>>0);ta=va;ua=ka}else{ta=oa;ua=ka}break}default:{ta=pa;ua=qa}}while(0);a[l+((ta&255)+1)>>0]=ra;qa=ua+1|0}}while(0);qa=la?ba+1|0:31;pa=(I|0)==1;wa=(S|0)!=0;i:do if(pa){if(wa){va=Th(qa<<2)|0;if(!va){Y=0;Z=0;_=143;break b}else xa=va}else xa=K;c[k>>2]=0;c[y>>2]=0;va=xa;ya=0;za=qa;j:while(1){Aa=(va|0)==0;Ba=ya;while(1){k:while(1){Ca=c[q>>2]|0;if(Ca>>>0<(c[r>>2]|0)>>>0){c[q>>2]=Ca+1;Da=d[Ca>>0]|0}else Da=Ff(e)|0;if(!(a[l+(Da+1)>>0]|0))break j;a[n>>0]=Da;switch(Og(m,n,1,k)|0){case -1:{Y=va;Z=0;_=143;break b;break}case -2:break;default:break k}}if(Aa)Ea=Ba;else{c[va+(Ba<<2)>>2]=c[m>>2];Ea=Ba+1|0}if(wa&(Ea|0)==(za|0))break;else Ba=Ea}za=za<<1|1;Aa=Vh(va,za<<2)|0;if(!Aa){Y=va;Z=0;_=143;break b}else{va=Aa;ya=Ea}}if(!(sh(k)|0)){Y=va;Z=0;_=143;break b}else{Fa=va;Ga=Ba;Ha=0;Ia=va}}else{if(wa){ya=Th(qa)|0;if(!ya){Y=0;Z=0;_=143;break b}za=0;Aa=qa;ka=ya;while(1){ya=za;do{oa=c[q>>2]|0;if(oa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=oa+1;Ja=d[oa>>0]|0}else Ja=Ff(e)|0;if(!(a[l+(Ja+1)>>0]|0)){Fa=0;Ga=ya;Ha=ka;Ia=0;break i}oa=ya;ya=ya+1|0;a[ka+oa>>0]=Ja}while((ya|0)!=(Aa|0));Aa=Aa<<1|1;oa=Vh(ka,Aa)|0;if(!oa){Y=0;Z=ka;_=143;break b}else{za=ya;ka=oa}}}if(!K)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ka=d[ka>>0]|0}else Ka=Ff(e)|0;if(!(a[l+(Ka+1)>>0]|0)){Fa=0;Ga=0;Ha=0;Ia=0;break i}}ka=0;while(1){za=c[q>>2]|0;if(za>>>0<(c[r>>2]|0)>>>0){c[q>>2]=za+1;La=d[za>>0]|0}else La=Ff(e)|0;if(!(a[l+(La+1)>>0]|0)){Fa=0;Ga=ka;Ha=K;Ia=0;break i}a[K+ka>>0]=La;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ma=c[q>>2]|0;else{qa=(c[q>>2]|0)+-1|0;c[q>>2]=qa;Ma=qa}qa=s;ka=Ma-(c[t>>2]|0)|0;za=jv(c[qa>>2]|0,c[qa+4>>2]|0,ka|0,((ka|0)<0)<<31>>31|0)|0;ka=E()|0;if((za|0)==0&(ka|0)==0){Na=Fa;Oa=S;Pa=D;Qa=Ha;break b}if(!((za|0)==(ba|0)&(ka|0)==(M|0)|la^1)){Na=Fa;Oa=S;Pa=D;Qa=Ha;break b}do if(wa)if(pa){c[K>>2]=Ia;break}else{c[K>>2]=Ha;break}while(0);if(la){Ra=Fa;Sa=na;Ta=Ha}else{if(Ia|0)c[Ia+(Ga<<2)>>2]=0;if(!Ha){Ra=Fa;Sa=na;Ta=0;break f}a[Ha+Ga>>0]=0;Ra=Fa;Sa=na;Ta=Ha}break}case 120:case 88:case 112:{Ua=16;_=131;break}case 111:{Ua=8;_=131;break}case 117:case 100:{Ua=10;_=131;break}case 105:{Ua=0;_=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Va=+ug(e,I,0);pa=s;wa=c[pa>>2]|0;ka=c[pa+4>>2]|0;pa=(c[q>>2]|0)-(c[t>>2]|0)|0;za=kv(0,0,pa|0,((pa|0)<0)<<31>>31|0)|0;if((wa|0)==(za|0)&(ka|0)==(E()|0)){Na=Q;Oa=S;Pa=D;Qa=V;break b}if(!K){Ra=Q;Sa=W;Ta=V}else switch(I|0){case 0:{f[K>>2]=Va;Ra=Q;Sa=W;Ta=V;break f;break}case 1:{g[K>>3]=Va;Ra=Q;Sa=W;Ta=V;break f;break}case 2:{g[K>>3]=Va;Ra=Q;Sa=W;Ta=V;break f;break}default:{Ra=Q;Sa=W;Ta=V;break f}}break}default:{Ra=Q;Sa=W;Ta=V}}while(0);do if((_|0)==131){_=0;M=Ef(e,Ua,0,-1,-1)|0;J=E()|0;ka=s;za=c[ka>>2]|0;wa=c[ka+4>>2]|0;ka=(c[q>>2]|0)-(c[t>>2]|0)|0;pa=kv(0,0,ka|0,((ka|0)<0)<<31>>31|0)|0;if((za|0)==(pa|0)&(wa|0)==(E()|0)){Na=Q;Oa=S;Pa=D;Qa=V;break b}if((K|0)!=0&(N|0)==112){c[K>>2]=M;Ra=Q;Sa=W;Ta=V;break}else{rh(K,I,M,J);Ra=Q;Sa=W;Ta=V;break}}while(0);I=s;N=(c[q>>2]|0)-(c[t>>2]|0)|0;J=jv(c[I>>2]|0,c[I+4>>2]|0,$|0,aa|0)|0;I=jv(J|0,E()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=Ra;da=I;ea=E()|0;fa=D+((K|0)!=0&1)|0;ga=Sa;ha=Ta;break c}while(0);I=F+(H&1)|0;Df(e,0,0);N=c[q>>2]|0;if(N>>>0<(c[r>>2]|0)>>>0){c[q>>2]=N+1;Wa=d[N>>0]|0}else Wa=Ff(e)|0;if((Wa|0)!=(d[I>>0]|0)){_=23;break b}N=jv(B|0,C|0,1,0)|0;ca=z;da=N;ea=E()|0;fa=D;ga=I;ha=G}else{I=F;while(1){N=I+1|0;if(!(Gf(d[N>>0]|0)|0))break;else I=N}Df(e,0,0);do{H=c[q>>2]|0;if(H>>>0<(c[r>>2]|0)>>>0){c[q>>2]=H+1;Xa=d[H>>0]|0}else Xa=Ff(e)|0}while((Gf(Xa)|0)!=0);if(!(c[r>>2]|0))Ya=c[q>>2]|0;else{H=(c[q>>2]|0)+-1|0;c[q>>2]=H;Ya=H}H=s;N=Ya-(c[t>>2]|0)|0;J=jv(c[H>>2]|0,c[H+4>>2]|0,B|0,C|0)|0;H=jv(J|0,E()|0,N|0,((N|0)<0)<<31>>31|0)|0;ca=z;da=H;ea=E()|0;fa=D;ga=I;ha=G}while(0);F=ga+1|0;A=a[F>>0]|0;if(!(A<<24>>24)){Za=fa;break a}else{z=ca;B=da;C=ea;D=fa;G=ha}}if((_|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((D|0)!=0|(Wa|0)>-1){Za=D;break}else{_a=z;ab=0;bb=G;_=144}}else if((_|0)==143)if(!D){_a=Y;ab=S;bb=Z;_=144}else{Na=Y;Oa=S;Pa=D;Qa=Z}if((_|0)==144){Na=_a;Oa=ab;Pa=-1;Qa=bb}if(!Oa)Za=Pa;else{Uh(Qa);Uh(Na);Za=Pa}}else Za=0;while(0);if(o|0)Xf(e);$a=j;return Za|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=$a;$a=$a+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}$a=d;return f|0}function rh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function sh(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=cg(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0<d>>>0?i:d;rv(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$a;$a=$a+16|0;f=e;c[f>>2]=d;d=Rf(a,b,f)|0;$a=e;return d|0}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((c[a+76>>2]|0)>-1){f=(Wf(a)|0)==0;g=wh(a,b,d,e)|0;if(f)h=g;else{Xf(a);h=g}}else h=wh(a,b,d,e)|0;return h|0}function wh(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;if((e|0)==1){f=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;g=kv(b|0,d|0,f|0,((f|0)<0)<<31>>31|0)|0;h=g;i=E()|0}else{h=b;i=d}d=a+20|0;b=a+28|0;if((c[d>>2]|0)>>>0>(c[b>>2]|0)>>>0?(hb[c[a+36>>2]&31](a,0,0)|0,(c[d>>2]|0)==0):0)j=-1;else{c[a+16>>2]=0;c[b>>2]=0;c[d>>2]=0;ib[c[a+40>>2]&7](a,h,i,e)|0;if((E()|0)<0)j=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;j=0}}return j|0}function xh(a,b,c){a=a|0;b=b|0;c=c|0;return Og(0,a,b,(c|0)==0?24972:c)|0}function yh(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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=$a;$a=$a+1040|0;h=g;i=g+1024|0;j=c[b>>2]|0;c[i>>2]=j;k=(a|0)!=0;l=k?e:256;e=k?a:h;a=j;a:do if((l|0)!=0&(j|0)!=0){m=a;n=0;o=d;p=l;q=e;while(1){r=o>>>2;s=r>>>0>=p>>>0;if(!(o>>>0>131|s)){t=m;u=n;v=o;w=p;x=q;break a}y=s?p:r;z=o-y|0;r=zh(q,i,y,f)|0;if((r|0)==-1)break;y=(q|0)==(h|0);s=p-(y?0:r)|0;A=y?q:q+(r<<2)|0;y=r+n|0;r=c[i>>2]|0;if((s|0)!=0&(r|0)!=0){m=r;n=y;o=z;p=s;q=A}else{t=r;u=y;v=z;w=s;x=A;break a}}t=c[i>>2]|0;u=-1;v=z;w=0;x=q}else{t=a;u=0;v=d;w=l;x=e}while(0);b:do if((t|0)!=0?(w|0)!=0&(v|0)!=0:0){e=t;l=u;d=v;a=w;z=x;while(1){B=Og(z,e,d,f)|0;if((B+2|0)>>>0<3)break;e=(c[i>>2]|0)+B|0;c[i>>2]=e;d=d-B|0;a=a+-1|0;h=l+1|0;if(!((a|0)!=0&(d|0)!=0)){C=h;break b}else{l=h;z=z+4|0}}switch(B|0){case -1:{C=B;break b;break}case 0:{c[i>>2]=0;C=l;break b;break}default:{c[f>>2]=0;C=l;break b}}}else C=u;while(0);if(k)c[b>>2]=c[i>>2];$a=g;return C|0}function zh(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,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;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=i;k=h;l=f;m=26}else{c[g>>2]=0;n=i;o=h;p=f;q=b;m=48}else m=5;a:do if((m|0)==5){i=(b|0)!=0;if(c[c[(Ah()|0)+188>>2]>>2]|0)if(i){r=h;s=f;t=b;m=33;break}else{u=h;v=f;m=15;break}if(!i){w=Hg(h)|0;m=63;break}b:do if(!f)x=h;else{i=h;g=f;y=b;while(1){z=a[i>>0]|0;if(!(z<<24>>24))break;A=i+1|0;c[y>>2]=z<<24>>24&57343;z=g+-1|0;if(!z){x=A;break b}else{i=A;g=z;y=y+4|0}}c[y>>2]=0;c[e>>2]=0;w=f-g|0;m=63;break a}while(0);c[e>>2]=x;w=f;m=63}while(0);c:while(1){d:do if((m|0)==15){m=0;x=u;h=v;while(1){i=a[x>>0]|0;if(((i&255)+-1|0)>>>0<127?(x&3|0)==0:0){z=c[x>>2]|0;A=z&255;if(!((z+-16843009|z)&-2139062144)){z=x;B=h;do{z=z+4|0;B=B+-4|0;C=c[z>>2]|0}while(!((C+-16843009|C)&-2139062144|0));D=C&255;E=z;F=B}else{D=A;E=x;F=h}}else{D=i;E=x;F=h}G=D&255;if((G+-1|0)>>>0>=127)break;x=E+1|0;h=F+-1|0}h=G+-194|0;if(h>>>0>50){H=E;I=F;J=b;m=57}else{j=c[80+(h<<2)>>2]|0;k=E+1|0;l=F;m=26;continue c}}else if((m|0)==26){m=0;h=(d[k>>0]|0)>>>3;if((h+-16|h+(j>>26))>>>0>7){K=j;L=k;M=l;N=b;m=56}else{h=k+1|0;if(j&33554432){if((a[h>>0]&-64)<<24>>24!=-128){K=j;L=k;M=l;N=b;m=56;break}x=k+2|0;if(!(j&524288))O=x;else{if((a[x>>0]&-64)<<24>>24!=-128){K=j;L=k;M=l;N=b;m=56;break}O=k+3|0}}else O=h;u=O;v=l+-1|0;m=15;continue c}}else if((m|0)==33){m=0;e:do if(!s)P=r;else{h=r;x=s;g=t;while(1){y=d[h>>0]|0;Q=y+-1|0;if(Q>>>0<127)if((h&3|0)==0&x>>>0>4){R=h;S=x;T=g;while(1){U=c[R>>2]|0;if((U+-16843009|U)&-2139062144|0){m=42;break}c[T>>2]=U&255;c[T+4>>2]=d[R+1>>0];c[T+8>>2]=d[R+2>>0];V=R+4|0;W=T+16|0;c[T+12>>2]=d[R+3>>0];X=S+-4|0;if(X>>>0>4){R=V;S=X;T=W}else{m=41;break}}if((m|0)==41){m=0;Y=a[V>>0]|0;Z=V;_=X;$=W}else if((m|0)==42){m=0;Y=U&255;Z=R;_=S;$=T}aa=Y&255;ba=aa;ca=Z;da=aa+-1|0;ea=_;fa=$;m=44}else{ga=y;ha=h;ia=x;ja=g}else{ba=y;ca=h;da=Q;ea=x;fa=g;m=44}if((m|0)==44){m=0;if(da>>>0<127){ga=ba;ha=ca;ia=ea;ja=fa}else break}aa=ha+1|0;c[ja>>2]=ga;x=ia+-1|0;if(!x){P=aa;break e}else{h=aa;g=ja+4|0}}g=ba+-194|0;if(g>>>0>50){H=ca;I=ea;J=fa;m=57;break d}n=c[80+(g<<2)>>2]|0;o=ca+1|0;p=ea;q=fa;m=48;continue c}while(0);c[e>>2]=P;w=f;m=63;continue c}else if((m|0)==48){m=0;g=d[o>>0]|0;h=g>>>3;if((h+-16|h+(n>>26))>>>0>7){K=n;L=o;M=p;N=q;m=56}else{h=o+1|0;x=g+-128|n<<6;do if((x|0)<0){g=(d[h>>0]|0)+-128|0;if(g>>>0<=63){i=o+2|0;A=g|x<<6;if((A|0)>=0){ka=A;la=i;break}g=(d[i>>0]|0)+-128|0;if(g>>>0<=63){ka=g|A<<6;la=o+3|0;break}}c[(wf()|0)>>2]=84;ma=o+-1|0;break d}else{ka=x;la=h}while(0);c[q>>2]=ka;r=la;s=p+-1|0;t=q+4|0;m=33;continue c}}else if((m|0)==63){m=0;return w|0}while(0);if((m|0)==56){m=0;h=L+-1|0;if(!K){H=h;I=M;J=N;m=57}else{na=h;oa=N;m=61}}if((m|0)==57){m=0;if(!(a[H>>0]|0)){if(J|0){c[J>>2]=0;c[e>>2]=0}w=f-I|0;m=63;continue}else{na=H;oa=J;m=61}}if((m|0)==61){m=0;c[(wf()|0)>>2]=84;if(!oa){w=-1;m=63;continue}else ma=na}c[e>>2]=ma;w=-1;m=63}return 0}function Ah(){return hg()|0}function Bh(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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=$a;$a=$a+272|0;g=f;h=f+256|0;i=c[b>>2]|0;c[h>>2]=i;j=(a|0)!=0;k=j?e:256;e=j?a:g;a=i;a:do if((k|0)!=0&(i|0)!=0){l=a;m=0;n=k;o=e;p=d;while(1){q=p>>>0>=n>>>0;if(!(q|p>>>0>32)){r=l;s=m;t=n;u=o;v=p;break a}w=q?n:p;x=p-w|0;q=Ch(o,h,w,0)|0;if((q|0)==-1)break;w=(o|0)==(g|0);y=n-(w?0:q)|0;z=w?o:o+q|0;w=q+m|0;q=c[h>>2]|0;if((y|0)!=0&(q|0)!=0){l=q;m=w;n=y;o=z;p=x}else{r=q;s=w;t=y;u=z;v=x;break a}}r=c[h>>2]|0;s=-1;t=0;u=o;v=x}else{r=a;s=0;t=k;u=e;v=d}while(0);b:do if((r|0)!=0?(t|0)!=0&(v|0)!=0:0){d=r;e=s;k=t;a=u;x=v;while(1){A=fg(a,c[d>>2]|0,0)|0;if((A+1|0)>>>0<2)break;d=(c[h>>2]|0)+4|0;c[h>>2]=d;x=x+-1|0;k=k-A|0;g=A+e|0;if(!((k|0)!=0&(x|0)!=0)){B=g;break b}else{e=g;a=a+A|0}}if(!A){c[h>>2]=0;B=e}else B=-1}else B=s;while(0);if(j)c[b>>2]=c[h>>2];$a=f;return B|0}function Ch(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=$a;$a=$a+16|0;g=f;a:do if(!b){h=c[d>>2]|0;i=c[h>>2]|0;if(!i)j=0;else{k=i;i=0;l=h;while(1){if(k>>>0>127){h=fg(g,k,0)|0;if((h|0)==-1){j=-1;break a}else m=h}else m=1;h=m+i|0;l=l+4|0;k=c[l>>2]|0;if(!k){j=h;break}else i=h}}}else{b:do if(e>>>0>3){i=c[d>>2]|0;k=e;l=b;while(1){h=c[i>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;n=fg(l,h,0)|0;if((n|0)==-1){j=-1;break a}o=i;p=k-n|0;q=l+n|0}else{a[l>>0]=h;o=c[d>>2]|0;p=k+-1|0;q=l+1|0}i=o+4|0;c[d>>2]=i;if(p>>>0<=3){r=p;s=q;break b}else{k=p;l=q}}a[l>>0]=0;c[d>>2]=0;j=e-k|0;break a}else{r=e;s=b}while(0);if(r){i=c[d>>2]|0;h=r;n=s;while(1){t=c[i>>2]|0;if((t+-1|0)>>>0>126){if(!t){u=20;break}v=fg(g,t,0)|0;if((v|0)==-1){j=-1;break a}if(h>>>0<v>>>0){u=23;break}fg(n,c[i>>2]|0,0)|0;w=i;x=h-v|0;y=n+v|0}else{a[n>>0]=t;w=c[d>>2]|0;x=h+-1|0;y=n+1|0}i=w+4|0;c[d>>2]=i;if(!x){j=e;break a}else{h=x;n=y}}if((u|0)==20){a[n>>0]=0;c[d>>2]=0;j=e-h|0;break}else if((u|0)==23){j=e-h|0;break}}else j=e}while(0);$a=f;return j|0}function Dh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Wf(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=Hf(a)|0;Xf(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=Hf(a)|0;break}}while(0);return g|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=$a;$a=$a+16|0;f=e;c[f>>2]=c[d>>2];g=Qf(0,0,b,f)|0;if((g|0)>=0?(f=g+1|0,g=Th(f)|0,c[a>>2]=g,(g|0)!=0):0)h=Qf(g,f,b,d)|0;else h=-1;$a=e;return h|0}function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)e=Wf(d)|0;else e=0;f=d+4|0;g=c[f>>2]|0;if(!g){If(d)|0;h=c[f>>2]|0;if(h|0){i=h;j=6}}else{i=g;j=6}if((j|0)==6?i>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){g=i+-1|0;c[f>>2]=g;a[g>>0]=b;c[d>>2]=c[d>>2]&-17;if(!e){k=b;break}Xf(d);k=b;break}if(e){Xf(d);k=-1}else k=-1}else k=-1;while(0);return k|0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){b=(Wf(a)|0)==0;d=Hh(a)|0;e=E()|0;if(b){f=e;g=d}else{Xf(a);f=e;g=d}}else{d=Hh(a)|0;f=E()|0;g=d}D(f|0);return g|0}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=ib[c[a+40>>2]&7](a,0,0,b)|0;b=E()|0;if((b|0)<0){e=b;f=d}else{g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;h=kv(d|0,b|0,g|0,((g|0)<0)<<31>>31|0)|0;g=E()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;a=jv(h|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;e=E()|0;f=a}D(e|0);return f|0}function Ih(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?(Wf(d)|0)!=0:0){e=b&255;f=b&255;if((f|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]=e;i=f}else i=$g(d,b)|0;Xf(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=$g(d,b)|0}while(0);return j|0}function Jh(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,o=0,p=0;g=z(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=Wf(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0<g>>>0?k:g;rv(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=b+l|0;n=g-l|0}else{m=b;n=g}a:do if(!n)o=13;else{b=f+32|0;l=m;j=n;while(1){if(If(f)|0)break;e=hb[c[b>>2]&31](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)Xf(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Xf(f);p=h}return p|0}function Kh(a,b){a=a|0;b=b|0;return +(+Lh(a,b,1))}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=$a;$a=$a+144|0;f=e;tv(f|0,0,144)|0;g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Df(f,0,0);i=+ug(f,d,1);d=f+120|0;f=(c[g>>2]|0)-(c[h>>2]|0)|0;h=jv(c[d>>2]|0,c[d+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=E()|0;if(b|0)c[b>>2]=(h|0)==0&(f|0)==0?a:a+h|0;$a=e;return +i}function Mh(a,b){a=a|0;b=b|0;return +(+Lh(a,b,0))}function Nh(a,b){a=a|0;b=b|0;return +(+Lh(a,b,2))}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Mh(a,b))}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Kh(a,b))}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Nh(a,b))}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(d|0){e=a;f=d;while(1){f=f+-1|0;c[e>>2]=b;if(!f)break;else e=e+4|0}}return a|0}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;f=d;g=b;while(1){f=f+-1|0;c[e>>2]=c[g>>2];if(!f)break;else{e=e+4|0;g=g+4|0}}}}else{g=d;do{g=g+-1|0;c[a+(g<<2)>>2]=c[b+(g<<2)>>2]}while((g|0)!=0)}return a|0}function Th(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,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;b=$a;$a=$a+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[6244]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=25016+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[6244]=g&~(1<<i);else{c[n+12>>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;$a=b;return o|0}m=c[6246]|0;if(e>>>0>m>>>0){if(h|0){i=2<<f;n=h<<f&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=25016+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<<j);c[6244]=i;p=i}else{c[n+12>>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[6249]|0;h=m>>>3;l=25016+(h<<1<<2)|0;i=1<<h;if(!(p&i)){c[6244]=p|i;q=l+8|0;r=l}else{i=l+8|0;q=i;r=c[i>>2]|0}c[q>>2]=n;c[r+12>>2]=n;c[n+8>>2]=r;c[n+12>>2]=l}c[6246]=j;c[6249]=k;o=f;$a=b;return o|0}f=c[6245]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[25280+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(c[s+4>>2]&-8)-e|0;h=s;n=s;while(1){s=c[h+16>>2]|0;if(!s){l=c[h+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0<i>>>0;i=l?s:i;h=t;n=l?t:n}h=n+e|0;if(h>>>0>n>>>0){l=c[n+24>>2]|0;s=c[n+12>>2]|0;do if((s|0)==(n|0)){j=n+20|0;k=c[j>>2]|0;if(!k){u=n+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[n+8>>2]|0;c[u+12>>2]=s;c[s+8>>2]=u;w=s}while(0);do if(l|0){s=c[n+28>>2]|0;u=25280+(s<<2)|0;if((n|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[6245]=f&~(1<<s);break}}else{s=l+16|0;c[((c[s>>2]|0)==(n|0)?s:l+20|0)>>2]=w;if(!w)break}c[w+24>>2]=l;s=c[n+16>>2]|0;if(s|0){c[w+16>>2]=s;c[s+24>>2]=w}s=c[n+20>>2]|0;if(s|0){c[w+20>>2]=s;c[s+24>>2]=w}}while(0);if(i>>>0<16){l=i+e|0;c[n+4>>2]=l|3;f=n+l+4|0;c[f>>2]=c[f>>2]|1}else{c[n+4>>2]=e|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(m|0){f=c[6249]|0;l=m>>>3;s=25016+(l<<1<<2)|0;u=1<<l;if(!(u&g)){c[6244]=u|g;D=s+8|0;E=s}else{u=s+8|0;D=u;E=c[u>>2]|0}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=s}c[6246]=i;c[6249]=h}o=n+8|0;$a=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){s=a+11|0;f=s&-8;u=c[6245]|0;if(u){l=0-f|0;v=s>>>8;if(v)if(f>>>0>16777215)G=31;else{s=(v+1048320|0)>>>16&8;z=v<<s;v=(z+520192|0)>>>16&4;A=z<<v;z=(A+245760|0)>>>16&2;H=14-(v|s|z)+(A<<z>>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[25280+(G<<2)>>2]|0;a:do if(!H){I=l;J=0;K=0;L=61}else{z=l;A=0;s=f<<((G|0)==31?0:25-(G>>>1)|0);v=H;M=0;while(1){N=(c[v+4>>2]&-8)-f|0;if(N>>>0<z>>>0)if(!N){O=0;P=v;Q=v;L=65;break a}else{R=N;S=v}else{R=z;S=M}N=c[v+20>>2]|0;v=c[v+16+(s>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(v|0)?A:N;if(!v){I=R;J=T;K=S;L=61;break}else{z=R;A=T;s=s<<1;M=S}}}while(0);if((L|0)==61){if((J|0)==0&(K|0)==0){H=2<<G;l=(H|0-H)&u;if(!l){F=f;break}H=(l&0-l)+-1|0;l=H>>>12&16;e=H>>>l;H=e>>>5&8;n=e>>>H;e=n>>>2&4;h=n>>>e;n=h>>>1&2;i=h>>>n;h=i>>>1&1;U=c[25280+((H|l|e|n|h)+(i>>>h)<<2)>>2]|0;V=0}else{U=J;V=K}if(!U){W=I;X=V}else{O=I;P=U;Q=V;L=65}}if((L|0)==65){h=O;i=P;n=Q;while(1){e=(c[i+4>>2]&-8)-f|0;l=e>>>0<h>>>0;H=l?e:h;e=l?i:n;l=c[i+16>>2]|0;if(!l)Y=c[i+20>>2]|0;else Y=l;if(!Y){W=H;X=e;break}else{h=H;i=Y;n=e}}}if(((X|0)!=0?W>>>0<((c[6246]|0)-f|0)>>>0:0)?(n=X+f|0,n>>>0>X>>>0):0){i=c[X+24>>2]|0;h=c[X+12>>2]|0;do if((h|0)==(X|0)){e=X+20|0;H=c[e>>2]|0;if(!H){l=X+16|0;g=c[l>>2]|0;if(!g){Z=0;break}else{_=g;$=l}}else{_=H;$=e}e=_;H=$;while(1){l=e+20|0;g=c[l>>2]|0;if(!g){m=e+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=l}e=aa;H=ba}c[H>>2]=0;Z=e}else{l=c[X+8>>2]|0;c[l+12>>2]=h;c[h+8>>2]=l;Z=h}while(0);do if(i){h=c[X+28>>2]|0;l=25280+(h<<2)|0;if((X|0)==(c[l>>2]|0)){c[l>>2]=Z;if(!Z){l=u&~(1<<h);c[6245]=l;ca=l;break}}else{l=i+16|0;c[((c[l>>2]|0)==(X|0)?l:i+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=i;l=c[X+16>>2]|0;if(l|0){c[Z+16>>2]=l;c[l+24>>2]=Z}l=c[X+20>>2]|0;if(l){c[Z+20>>2]=l;c[l+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(W>>>0<16){u=W+f|0;c[X+4>>2]=u|3;i=X+u+4|0;c[i>>2]=c[i>>2]|1}else{c[X+4>>2]=f|3;c[n+4>>2]=W|1;c[n+W>>2]=W;i=W>>>3;if(W>>>0<256){u=25016+(i<<1<<2)|0;l=c[6244]|0;h=1<<i;if(!(l&h)){c[6244]=l|h;da=u+8|0;ea=u}else{h=u+8|0;da=h;ea=c[h>>2]|0}c[da>>2]=n;c[ea+12>>2]=n;c[n+8>>2]=ea;c[n+12>>2]=u;break}u=W>>>8;if(u)if(W>>>0>16777215)fa=31;else{h=(u+1048320|0)>>>16&8;l=u<<h;u=(l+520192|0)>>>16&4;i=l<<u;l=(i+245760|0)>>>16&2;g=14-(u|h|l)+(i<<l>>>15)|0;fa=W>>>(g+7|0)&1|g<<1}else fa=0;g=25280+(fa<<2)|0;c[n+28>>2]=fa;l=n+16|0;c[l+4>>2]=0;c[l>>2]=0;l=1<<fa;if(!(ca&l)){c[6245]=ca|l;c[g>>2]=n;c[n+24>>2]=g;c[n+12>>2]=n;c[n+8>>2]=n;break}l=c[g>>2]|0;c:do if((c[l+4>>2]&-8|0)==(W|0))ga=l;else{g=W<<((fa|0)==31?0:25-(fa>>>1)|0);i=l;while(1){ha=i+16+(g>>>31<<2)|0;h=c[ha>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(W|0)){ga=h;break c}else{g=g<<1;i=h}}c[ha>>2]=n;c[n+24>>2]=i;c[n+12>>2]=n;c[n+8>>2]=n;break b}while(0);l=ga+8|0;e=c[l>>2]|0;c[e+12>>2]=n;c[l>>2]=n;c[n+8>>2]=e;c[n+12>>2]=ga;c[n+24>>2]=0}while(0);o=X+8|0;$a=b;return o|0}else F=f}else F=f}else F=-1;while(0);X=c[6246]|0;if(X>>>0>=F>>>0){ga=X-F|0;ha=c[6249]|0;if(ga>>>0>15){W=ha+F|0;c[6249]=W;c[6246]=ga;c[W+4>>2]=ga|1;c[ha+X>>2]=ga;c[ha+4>>2]=F|3}else{c[6246]=0;c[6249]=0;c[ha+4>>2]=X|3;ga=ha+X+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;$a=b;return o|0}ha=c[6247]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[6247]=ga;X=c[6250]|0;W=X+F|0;c[6250]=W;c[W+4>>2]=ga|1;c[X+4>>2]=F|3;o=X+8|0;$a=b;return o|0}if(!(c[6362]|0)){c[6364]=4096;c[6363]=4096;c[6365]=-1;c[6366]=-1;c[6367]=0;c[6355]=0;c[6362]=d&-16^1431655768;ia=4096}else ia=c[6364]|0;d=F+48|0;X=F+47|0;ga=ia+X|0;W=0-ia|0;ia=ga&W;if(ia>>>0<=F>>>0){o=0;$a=b;return o|0}fa=c[6354]|0;if(fa|0?(ca=c[6352]|0,ea=ca+ia|0,ea>>>0<=ca>>>0|ea>>>0>fa>>>0):0){o=0;$a=b;return o|0}d:do if(!(c[6355]&4)){fa=c[6250]|0;e:do if(fa){ea=25424;while(1){ca=c[ea>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[ea+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[ea+8>>2]|0;if(!ca){L=128;break e}else ea=ca}ca=ga-ha&W;if(ca>>>0<2147483647){da=vv(ca|0)|0;if((da|0)==((c[ea>>2]|0)+(c[ea+4>>2]|0)|0))if((da|0)==(-1|0))ja=ca;else{ka=da;la=ca;L=145;break d}else{ma=da;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=vv(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[6363]|0,da=ca+-1|0,Z=((da&f|0)==0?0:(da+f&0-ca)-f|0)+ia|0,f=c[6352]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){da=c[6354]|0;if(da|0?ca>>>0<=f>>>0|ca>>>0>da>>>0:0){ja=0;break}da=vv(Z|0)|0;if((da|0)==(fa|0)){ka=fa;la=Z;L=145;break d}else{ma=da;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=ma;la=na;L=145;break d}da=c[6364]|0;fa=X-na+da&0-da;if(fa>>>0>=2147483647){ka=ma;la=na;L=145;break d}if((vv(fa|0)|0)==(-1|0)){vv(Z|0)|0;ja=0;break}else{ka=ma;la=fa+na|0;L=145;break d}}while(0);c[6355]=c[6355]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=vv(ia|0)|0,ia=vv(0)|0,na=ia-ja|0,ma=na>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|ma^1|ja>>>0<ia>>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=ja;la=ma?na:oa;L=145}if((L|0)==145){oa=(c[6352]|0)+la|0;c[6352]=oa;if(oa>>>0>(c[6353]|0)>>>0)c[6353]=oa;oa=c[6250]|0;f:do if(oa){na=25424;while(1){pa=c[na>>2]|0;qa=c[na+4>>2]|0;if((ka|0)==(pa+qa|0)){L=154;break}ma=c[na+8>>2]|0;if(!ma)break;else na=ma}if(((L|0)==154?(ma=na+4|0,(c[na+12>>2]&8|0)==0):0)?ka>>>0>oa>>>0&pa>>>0<=oa>>>0:0){c[ma>>2]=qa+la;ma=(c[6247]|0)+la|0;ja=oa+8|0;ia=(ja&7|0)==0?0:0-ja&7;ja=oa+ia|0;X=ma-ia|0;c[6250]=ja;c[6247]=X;c[ja+4>>2]=X|1;c[oa+ma+4>>2]=40;c[6251]=c[6366];break}if(ka>>>0<(c[6248]|0)>>>0)c[6248]=ka;ma=ka+la|0;X=25424;while(1){if((c[X>>2]|0)==(ma|0)){L=162;break}ja=c[X+8>>2]|0;if(!ja)break;else X=ja}if((L|0)==162?(c[X+12>>2]&8|0)==0:0){c[X>>2]=ka;na=X+4|0;c[na>>2]=(c[na>>2]|0)+la;na=ka+8|0;ja=ka+((na&7|0)==0?0:0-na&7)|0;na=ma+8|0;ia=ma+((na&7|0)==0?0:0-na&7)|0;na=ja+F|0;d=ia-ja-F|0;c[ja+4>>2]=F|3;g:do if((oa|0)==(ia|0)){W=(c[6247]|0)+d|0;c[6247]=W;c[6250]=na;c[na+4>>2]=W|1}else{if((c[6249]|0)==(ia|0)){W=(c[6246]|0)+d|0;c[6246]=W;c[6249]=na;c[na+4>>2]=W|1;c[na+W>>2]=W;break}W=c[ia+4>>2]|0;if((W&3|0)==1){ha=W&-8;ga=W>>>3;h:do if(W>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[6244]=c[6244]&~(1<<ga);break}else{c[fa+12>>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){da=ia+16|0;ca=da+4|0;f=c[ca>>2]|0;if(!f){ba=c[da>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=da}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){da=ca+20|0;ba=c[da>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=da}ca=ua;f=va}c[f>>2]=0;ra=ca}else{da=c[ia+8>>2]|0;c[da+12>>2]=Z;c[Z+8>>2]=da;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;i=25280+(Z<<2)|0;do if((c[i>>2]|0)!=(ia|0)){da=fa+16|0;c[((c[da>>2]|0)==(ia|0)?da:fa+20|0)>>2]=ra;if(!ra)break h}else{c[i>>2]=ra;if(ra|0)break;c[6245]=c[6245]&~(1<<Z);break h}while(0);c[ra+24>>2]=fa;Z=ia+16|0;i=c[Z>>2]|0;if(i|0){c[ra+16>>2]=i;c[i+24>>2]=ra}i=c[Z+4>>2]|0;if(!i)break;c[ra+20>>2]=i;c[i+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[na+4>>2]=xa|1;c[na+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){W=25016+(ga<<1<<2)|0;ea=c[6244]|0;i=1<<ga;if(!(ea&i)){c[6244]=ea|i;ya=W+8|0;za=W}else{i=W+8|0;ya=i;za=c[i>>2]|0}c[ya>>2]=na;c[za+12>>2]=na;c[na+8>>2]=za;c[na+12>>2]=W;break}W=xa>>>8;do if(!W)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}i=(W+1048320|0)>>>16&8;ea=W<<i;ga=(ea+520192|0)>>>16&4;Z=ea<<ga;ea=(Z+245760|0)>>>16&2;da=14-(ga|i|ea)+(Z<<ea>>>15)|0;Aa=xa>>>(da+7|0)&1|da<<1}while(0);W=25280+(Aa<<2)|0;c[na+28>>2]=Aa;ha=na+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[6245]|0;da=1<<Aa;if(!(ha&da)){c[6245]=ha|da;c[W>>2]=na;c[na+24>>2]=W;c[na+12>>2]=na;c[na+8>>2]=na;break}da=c[W>>2]|0;i:do if((c[da+4>>2]&-8|0)==(xa|0))Ba=da;else{W=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=da;while(1){Ca=ha+16+(W>>>31<<2)|0;ea=c[Ca>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(xa|0)){Ba=ea;break i}else{W=W<<1;ha=ea}}c[Ca>>2]=na;c[na+24>>2]=ha;c[na+12>>2]=na;c[na+8>>2]=na;break g}while(0);da=Ba+8|0;W=c[da>>2]|0;c[W+12>>2]=na;c[da>>2]=na;c[na+8>>2]=W;c[na+12>>2]=Ba;c[na+24>>2]=0}while(0);o=ja+8|0;$a=b;return o|0}na=25424;while(1){d=c[na>>2]|0;if(d>>>0<=oa>>>0?(Da=d+(c[na+4>>2]|0)|0,Da>>>0>oa>>>0):0)break;na=c[na+8>>2]|0}na=Da+-47|0;ja=na+8|0;d=na+((ja&7|0)==0?0:0-ja&7)|0;ja=oa+16|0;na=d>>>0<ja>>>0?oa:d;d=na+8|0;ia=la+-40|0;ma=ka+8|0;X=(ma&7|0)==0?0:0-ma&7;ma=ka+X|0;W=ia-X|0;c[6250]=ma;c[6247]=W;c[ma+4>>2]=W|1;c[ka+ia+4>>2]=40;c[6251]=c[6366];ia=na+4|0;c[ia>>2]=27;c[d>>2]=c[6356];c[d+4>>2]=c[6357];c[d+8>>2]=c[6358];c[d+12>>2]=c[6359];c[6356]=ka;c[6357]=la;c[6359]=0;c[6358]=d;d=na+24|0;do{W=d;d=d+4|0;c[d>>2]=7}while((W+8|0)>>>0<Da>>>0);if((na|0)!=(oa|0)){d=na-oa|0;c[ia>>2]=c[ia>>2]&-2;c[oa+4>>2]=d|1;c[na>>2]=d;W=d>>>3;if(d>>>0<256){ma=25016+(W<<1<<2)|0;X=c[6244]|0;da=1<<W;if(!(X&da)){c[6244]=X|da;Ea=ma+8|0;Fa=ma}else{da=ma+8|0;Ea=da;Fa=c[da>>2]|0}c[Ea>>2]=oa;c[Fa+12>>2]=oa;c[oa+8>>2]=Fa;c[oa+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ga=31;else{da=(ma+1048320|0)>>>16&8;X=ma<<da;ma=(X+520192|0)>>>16&4;W=X<<ma;X=(W+245760|0)>>>16&2;fa=14-(ma|da|X)+(W<<X>>>15)|0;Ga=d>>>(fa+7|0)&1|fa<<1}else Ga=0;fa=25280+(Ga<<2)|0;c[oa+28>>2]=Ga;c[oa+20>>2]=0;c[ja>>2]=0;X=c[6245]|0;W=1<<Ga;if(!(X&W)){c[6245]=X|W;c[fa>>2]=oa;c[oa+24>>2]=fa;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}W=c[fa>>2]|0;j:do if((c[W+4>>2]&-8|0)==(d|0))Ha=W;else{fa=d<<((Ga|0)==31?0:25-(Ga>>>1)|0);X=W;while(1){Ia=X+16+(fa>>>31<<2)|0;da=c[Ia>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(d|0)){Ha=da;break j}else{fa=fa<<1;X=da}}c[Ia>>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break f}while(0);d=Ha+8|0;W=c[d>>2]|0;c[W+12>>2]=oa;c[d>>2]=oa;c[oa+8>>2]=W;c[oa+12>>2]=Ha;c[oa+24>>2]=0}}else{W=c[6248]|0;if((W|0)==0|ka>>>0<W>>>0)c[6248]=ka;c[6356]=ka;c[6357]=la;c[6359]=0;c[6253]=c[6362];c[6252]=-1;c[6257]=25016;c[6256]=25016;c[6259]=25024;c[6258]=25024;c[6261]=25032;c[6260]=25032;c[6263]=25040;c[6262]=25040;c[6265]=25048;c[6264]=25048;c[6267]=25056;c[6266]=25056;c[6269]=25064;c[6268]=25064;c[6271]=25072;c[6270]=25072;c[6273]=25080;c[6272]=25080;c[6275]=25088;c[6274]=25088;c[6277]=25096;c[6276]=25096;c[6279]=25104;c[6278]=25104;c[6281]=25112;c[6280]=25112;c[6283]=25120;c[6282]=25120;c[6285]=25128;c[6284]=25128;c[6287]=25136;c[6286]=25136;c[6289]=25144;c[6288]=25144;c[6291]=25152;c[6290]=25152;c[6293]=25160;c[6292]=25160;c[6295]=25168;c[6294]=25168;c[6297]=25176;c[6296]=25176;c[6299]=25184;c[6298]=25184;c[6301]=25192;c[6300]=25192;c[6303]=25200;c[6302]=25200;c[6305]=25208;c[6304]=25208;c[6307]=25216;c[6306]=25216;c[6309]=25224;c[6308]=25224;c[6311]=25232;c[6310]=25232;c[6313]=25240;c[6312]=25240;c[6315]=25248;c[6314]=25248;c[6317]=25256;c[6316]=25256;c[6319]=25264;c[6318]=25264;W=la+-40|0;d=ka+8|0;ja=(d&7|0)==0?0:0-d&7;d=ka+ja|0;na=W-ja|0;c[6250]=d;c[6247]=na;c[d+4>>2]=na|1;c[ka+W+4>>2]=40;c[6251]=c[6366]}while(0);ka=c[6247]|0;if(ka>>>0>F>>>0){la=ka-F|0;c[6247]=la;ka=c[6250]|0;oa=ka+F|0;c[6250]=oa;c[oa+4>>2]=la|1;c[ka+4>>2]=F|3;o=ka+8|0;$a=b;return o|0}}c[(wf()|0)>>2]=12;o=0;$a=b;return o|0}function Uh(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[6248]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<d>>>0)return;if((c[6249]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=h;n=i;break}c[6246]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[6244]=c[6244]&~(1<<k);l=h;m=h;n=i;break}else{c[g+12>>2]=j;c[j+8>>2]=g;l=h;m=h;n=i;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=25280+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[6245]=c[6245]&~(1<<j);l=h;m=h;n=i;break}}else{j=g+16|0;c[((c[j>>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=h;n=i;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=h;n=i}else{l=h;m=h;n=i}}else{l=h;m=h;n=i}}else{l=b;m=b;n=a}while(0);if(l>>>0>=f>>>0)return;a=f+4|0;b=c[a>>2]|0;if(!(b&1))return;if(!(b&2)){if((c[6250]|0)==(f|0)){r=(c[6247]|0)+n|0;c[6247]=r;c[6250]=m;c[m+4>>2]=r|1;if((m|0)!=(c[6249]|0))return;c[6249]=0;c[6246]=0;return}if((c[6249]|0)==(f|0)){r=(c[6246]|0)+n|0;c[6246]=r;c[6249]=l;c[m+4>>2]=r|1;c[l+r>>2]=r;return}r=(b&-8)+n|0;x=b>>>3;do if(b>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[6244]=c[6244]&~(1<<x);break}else{c[w+12>>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;i=25280+(t<<2)|0;if((c[i>>2]|0)==(f|0)){c[i>>2]=y;if(!y){c[6245]=c[6245]&~(1<<t);break}}else{t=w+16|0;c[((c[t>>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;i=c[t>>2]|0;if(i|0){c[y+16>>2]=i;c[i+24>>2]=y}i=c[t+4>>2]|0;if(i|0){c[y+20>>2]=i;c[i+24>>2]=y}}}while(0);c[m+4>>2]=r|1;c[l+r>>2]=r;if((m|0)==(c[6249]|0)){c[6246]=r;return}else D=r}else{c[a>>2]=b&-2;c[m+4>>2]=n|1;c[l+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){l=25016+(n<<1<<2)|0;b=c[6244]|0;a=1<<n;if(!(b&a)){c[6244]=b|a;E=l+8|0;F=l}else{a=l+8|0;E=a;F=c[a>>2]|0}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=l;return}l=D>>>8;if(l)if(D>>>0>16777215)G=31;else{F=(l+1048320|0)>>>16&8;E=l<<F;l=(E+520192|0)>>>16&4;a=E<<l;E=(a+245760|0)>>>16&2;b=14-(l|F|E)+(a<<E>>>15)|0;G=D>>>(b+7|0)&1|b<<1}else G=0;b=25280+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[6245]|0;a=1<<G;a:do if(!(E&a)){c[6245]=E|a;c[b>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m}else{F=c[b>>2]|0;b:do if((c[F+4>>2]&-8|0)==(D|0))H=F;else{l=D<<((G|0)==31?0:25-(G>>>1)|0);n=F;while(1){I=n+16+(l>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{l=l<<1;n=r}}c[I>>2]=m;c[m+24>>2]=n;c[m+12>>2]=m;c[m+8>>2]=m;break a}while(0);F=H+8|0;w=c[F>>2]|0;c[w+12>>2]=m;c[F>>2]=m;c[m+8>>2]=w;c[m+12>>2]=H;c[m+24>>2]=0}while(0);m=(c[6252]|0)+-1|0;c[6252]=m;if(m|0)return;m=25432;while(1){H=c[m>>2]|0;if(!H)break;else m=H+8|0}c[6252]=-1;return}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Th(b)|0;return d|0}if(b>>>0>4294967231){c[(wf()|0)>>2]=12;d=0;return d|0}e=Wh(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Th(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;rv(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Uh(a);d=e;return d|0}function Wh(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[6364]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;Xh(j,i);h=a;return h|0}if((c[6250]|0)==(g|0)){i=(c[6247]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[6250]=k;c[6247]=j;h=a;return h|0}if((c[6249]|0)==(g|0)){j=(c[6246]|0)+f|0;if(j>>>0<b>>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[6246]=o;c[6249]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0<b>>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[6244]=c[6244]&~(1<<k);break}else{c[j+12>>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=25280+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[6245]=c[6245]&~(1<<i);break}}else{i=j+16|0;c[((c[i>>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;Xh(r,f);h=a;return h|0}return 0}
function zb(){Ij();Ob();Ve();pf();Jj()}function Ab(a){a=a|0;var b=0;b=$a;$a=$a+a|0;$a=$a+15&-16;return b|0}function Bb(){return $a|0}function Cb(a){a=a|0;$a=a}function Db(a,b){a=a|0;b=b|0;$a=a;ab=b}function Eb(a){a=a|0;var b=0,d=0;b=a+96|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=a+112|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=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;g[a+24>>3]=.05;c[a+36>>2]=100;c[a+40>>2]=5;c[a+44>>2]=5;c[a+48>>2]=5;c[a+52>>2]=0;c[a+56>>2]=5;c[a+60>>2]=1;c[a+64>>2]=2;c[a+68>>2]=2;c[a+72>>2]=2e6;c[a+76>>2]=3;c[a+80>>2]=6;c[a+84>>2]=12;c[a+32>>2]=100;g[a+88>>3]=.0001;wt(b,13120)|0;c[a+108>>2]=2;wt(d,26968)|0;d=a+124|0;c[d>>2]=0;c[d+4>>2]=0;c[a+132>>2]=2;return}function Fb(a){a=a|0;H(a|0)|0;Bu()}function Gb(a,b){a=a|0;b=b|0;Bj(b,a+36|0,4)|0;Bj(b,a+40|0,4)|0;Bj(b,a+44|0,4)|0;Bj(b,a+48|0,4)|0;Bj(b,a+56|0,4)|0;Bj(b,a+60|0,4)|0;Bj(b,a+64|0,4)|0;Bj(b,a+68|0,4)|0;Bj(b,a+72|0,4)|0;Bj(b,a+76|0,4)|0;Bj(b,a+80|0,4)|0;Bj(b,a+32|0,4)|0;Bj(b,a+88|0,8)|0;return}function Hb(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;f=$a;$a=$a+16|0;g=f+12|0;h=f;i=f+8|0;xj(h,b);if(!(a[h>>0]|0)){yj(h);$a=f;return b|0}j=(c[b>>2]|0)+-12|0;c[i>>2]=c[b+(c[j>>2]|0)+24>>2];k=b+(c[j>>2]|0)|0;j=c[k+4>>2]|0;l=d+e|0;e=k+76|0;m=c[e>>2]|0;if((m|0)==-1){rj(g,k);n=Pk(g,26520)|0;o=gb[c[(c[n>>2]|0)+28>>2]&31](n,32)|0;Qk(g);n=o<<24>>24;c[e>>2]=n;p=n}else p=m;c[g>>2]=c[i>>2];if(Ib(g,d,(j&176|0)==32?l:d,l,k,p&255)|0){yj(h);$a=f;return b|0}p=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(p,c[p+16>>2]|5);yj(h);$a=f;return b|0}function Ib(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,q=0,r=0,s=0;i=$a;$a=$a+16|0;j=i;k=c[b>>2]|0;if(!k){l=0;$a=i;return l|0}m=f;f=d;n=m-f|0;o=g+12|0;g=c[o>>2]|0;p=(g|0)>(n|0)?g-n|0:0;n=e;g=n-f|0;if((g|0)>0?(hb[c[(c[k>>2]|0)+48>>2]&31](k,d,g)|0)!=(g|0):0){c[b>>2]=0;l=0;$a=i;return l|0}do if((p|0)>0){c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(p>>>0<11){g=j+11|0;a[g>>0]=p;q=j;r=j;s=g}else{g=p+16&-16;d=at(g)|0;c[j>>2]=d;c[j+8>>2]=g|-2147483648;c[j+4>>2]=p;q=j;r=d;s=j+11|0}tv(r|0,h|0,p|0)|0;a[r+p>>0]=0;if((hb[c[(c[k>>2]|0)+48>>2]&31](k,(a[s>>0]|0)<0?c[q>>2]|0:j,p)|0)==(p|0)){if((a[s>>0]|0)<0)ct(c[q>>2]|0);break}c[b>>2]=0;if((a[s>>0]|0)<0)ct(c[q>>2]|0);l=0;$a=i;return l|0}while(0);q=m-n|0;if((q|0)>0?(hb[c[(c[k>>2]|0)+48>>2]&31](k,e,q)|0)!=(q|0):0){c[b>>2]=0;l=0;$a=i;return l|0}c[o>>2]=0;l=k;$a=i;return l|0}function Jb(a){a=a|0;var b=0;c[a>>2]=8512;b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Kb(a){a=a|0;return}function Lb(a){a=a|0;wa()}function Mb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[a>>2]=8512;g=a+8|0;c[g>>2]=b;c[g+4>>2]=d;d=a+16|0;c[d>>2]=e;c[d+4>>2]=f;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d>>>0<0|(d|0)==0&b>>>0<2){e=(b|0)==0&(d|0)==0?a+8|0:a+16|0;a=c[e>>2]|0;D(c[e+4>>2]|0);return a|0}else F(13149,13170,18,13180);return 0}function Ob(){c[6204]=0;c[6205]=0;c[6206]=0;a[24827]=4;c[6204]=1047736124;a[24820]=0;c[6207]=0;c[6208]=0;c[6209]=0;a[24839]=1;a[24828]=60;a[24829]=0;c[6210]=0;c[6211]=0;c[6212]=0;a[24851]=1;a[24840]=62;a[24841]=0;return}function Pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a>>2]=c[b>>2];e=c[b+4>>2]|0;c[a+4>>2]=e;if(e|0){b=e+4|0;c[b>>2]=(c[b>>2]|0)+1}b=a+64|0;e=a+8|0;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=b;c[e>>2]=-1;c[e+4>>2]=-1;e=a+72|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[a+88>>2]=1065353216;Qb(a,d);return}function Qb(b,d){b=b|0;d=d|0;var e=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,w=0,x=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0;e=$a;$a=$a+48|0;h=e;i=e+40|0;j=b+20|0;k=c[j>>2]|0;l=b+24|0;m=c[l>>2]|0;if((m|0)!=(k|0)){n=m;do{m=c[n+-12>>2]|0;if(m|0){c[n+-8>>2]=m;ct(m)}n=n+-40|0;if((a[n+11>>0]|0)<0)ct(c[n>>2]|0)}while((n|0)!=(k|0))}c[l>>2]=k;k=b+44|0;Bj(d,k,4)|0;Bj(d,b+48|0,4)|0;Bj(d,b+52|0,4)|0;n=b+56|0;Bj(d,n,8)|0;m=b+64|0;Bj(d,m,8)|0;a:do if((c[k>>2]|0)>0){o=h+28|0;p=h+32|0;q=h+36|0;r=h+16|0;s=h+24|0;t=b+28|0;u=h+11|0;w=h+28|0;x=0;while(1){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;while(1){A=zj(d)|0;if(!(A&255))break;Ct(h,A&255)}Bj(d,r,8)|0;Bj(d,s,1)|0;A=c[l>>2]|0;if((A|0)==(c[t>>2]|0)){Rb(j,h);B=c[o>>2]|0}else{mt(A,h);C=A+16|0;c[C>>2]=c[r>>2];c[C+4>>2]=c[r+4>>2];a[C+8>>0]=a[r+8>>0]|0;D=A+28|0;c[D>>2]=0;C=A+32|0;c[C>>2]=0;E=A+36|0;c[E>>2]=0;A=c[w>>2]|0;F=(c[p>>2]|0)-A|0;G=F>>2;if(F){if(G>>>0>1073741823)break;H=at(F)|0;c[C>>2]=H;c[D>>2]=H;c[E>>2]=H+(G<<2);G=c[w>>2]|0;E=(c[p>>2]|0)-G|0;if((E|0)>0){rv(H|0,G|0,E|0)|0;c[C>>2]=H+(E>>>2<<2);I=G}else I=G}else I=A;c[l>>2]=(c[l>>2]|0)+40;B=I}if(B|0){c[p>>2]=B;ct(B)}if((a[u>>0]|0)<0)ct(c[h>>2]|0);x=x+1|0;if((x|0)>=(c[k>>2]|0))break a}du(D)}while(0);D=b+72|0;B=b+84|0;if(c[B>>2]|0){I=b+80|0;l=c[I>>2]|0;if(l|0){x=l;do{l=x;x=c[x>>2]|0;ct(l)}while((x|0)!=0)}c[I>>2]=0;I=c[b+76>>2]|0;if(I|0){x=0;do{c[(c[D>>2]|0)+(x<<2)>>2]=0;x=x+1|0}while((x|0)!=(I|0))}c[B>>2]=0}B=m;I=c[B+4>>2]|0;if((I|0)>0|(I|0)==0&(c[B>>2]|0)>>>0>0){B=0;do{Bj(d,h,4)|0;Bj(d,i,4)|0;I=c[i>>2]|0;c[(Vb(D,h)|0)>>2]=I;B=B+1|0;I=m;x=c[I+4>>2]|0}while((x|0)>0|((x|0)==0?(c[I>>2]|0)>>>0>B>>>0:0))}B=b+32|0;m=c[k>>2]|0;D=b+36|0;i=c[B>>2]|0;d=(c[D>>2]|0)-i>>2;if(m>>>0<=d>>>0)if(m>>>0<d>>>0){c[D>>2]=i+(m<<2);J=m}else J=m;else{Sb(B,m-d|0);J=c[k>>2]|0}if(J|0){d=c[b+20>>2]|0;m=n;K=+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0);L=+g[(c[b>>2]|0)+88>>3];m=c[B>>2]|0;B=0;do{n=d+(B*40|0)+16|0;M=L/((+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0))/K);f[m+(B<<2)>>2]=M+ +v(+M);B=B+1|0}while((B|0)!=(J|0))}Tb(b);J=~~+y(+(+(c[k>>2]|0)/.7));B=b+8|0;c[h>>2]=-1;Ub(B,J,h);if((c[k>>2]|0)<=0){$a=e;return}h=c[j>>2]|0;j=0;do{J=h+(j*40|0)|0;m=a[J+11>>0]|0;d=m<<24>>24<0;n=d?c[h+(j*40|0)+4>>2]|0:m&255;if(n){m=d?c[J>>2]|0:J;d=z(a[m>>0]^-2128831035,16777619)|0;if((n|0)==1)N=d;else{i=d;d=1;while(1){D=z(i^a[m+d>>0],16777619)|0;d=d+1|0;if(d>>>0>=n>>>0){N=D;break}else i=D}}}else N=-2128831035;i=Wb(b,J,N)|0;c[(c[B>>2]|0)+(i<<2)>>2]=j;j=j+1|0}while((j|0)<(c[k>>2]|0));$a=e;return}function Rb(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,r=0,s=0;e=b+4|0;f=c[b>>2]|0;g=((c[e>>2]|0)-f|0)/40|0;h=g+1|0;if(h>>>0>107374182)du(b);i=b+8|0;j=((c[i>>2]|0)-f|0)/40|0;f=j<<1;k=j>>>0<53687091?(f>>>0<h>>>0?h:f):107374182;do if(k)if(k>>>0>107374182){f=G(8)|0;ht(f,14992);c[f>>2]=13e3;J(f|0,8288,153)}else{l=at(k*40|0)|0;break}else l=0;while(0);f=l+(g*40|0)|0;h=l+(k*40|0)|0;mt(f,d);k=l+(g*40|0)+16|0;j=d+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];a[k+8>>0]=a[j+8>>0]|0;j=l+(g*40|0)+28|0;c[j>>2]=0;k=l+(g*40|0)+32|0;c[k>>2]=0;m=l+(g*40|0)+36|0;c[m>>2]=0;g=c[d+28>>2]|0;l=(c[d+32>>2]|0)-g|0;d=l>>2;if(l|0){if(d>>>0>1073741823)du(j);n=at(l)|0;c[k>>2]=n;c[j>>2]=n;c[m>>2]=n+(d<<2);if((l|0)>0){rv(n|0,g|0,l|0)|0;c[k>>2]=n+(l>>>2<<2)}}l=f+40|0;n=c[b>>2]|0;k=c[e>>2]|0;if((k|0)==(n|0)){o=f;p=n;q=n}else{g=f;f=k;do{k=g;g=g+-40|0;d=f;f=f+-40|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;m=k+-24|0;j=d+-24|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];a[m+8>>0]=a[j+8>>0]|0;j=k+-12|0;m=d+-12|0;c[j>>2]=0;r=k+-8|0;c[r>>2]=0;s=k+-4|0;c[s>>2]=0;c[j>>2]=c[m>>2];j=d+-8|0;c[r>>2]=c[j>>2];r=d+-4|0;c[s>>2]=c[r>>2];c[r>>2]=0;c[j>>2]=0;c[m>>2]=0}while((f|0)!=(n|0));o=g;p=c[b>>2]|0;q=c[e>>2]|0}c[b>>2]=o;c[e>>2]=l;c[i>>2]=h;h=p;if((q|0)!=(h|0)){i=q;do{q=c[i+-12>>2]|0;if(q|0){c[i+-8>>2]=q;ct(q)}i=i+-40|0;if((a[i+11>>0]|0)<0)ct(c[i>>2]|0)}while((i|0)!=(h|0))}if(!p)return;ct(p);return}function Sb(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=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>2>>>0>=b>>>0){tv(g|0,0,b<<2|0)|0;c[f>>2]=g+(b<<2);return}h=c[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)du(a);k=e-h|0;e=k>>1;l=k>>2>>>0<536870911?(e>>>0<j>>>0?j:e):1073741823;do if(l)if(l>>>0>1073741823){e=G(8)|0;ht(e,14992);c[e>>2]=13e3;J(e|0,8288,153)}else{e=at(l<<2)|0;m=e;n=e;break}else{m=0;n=0}while(0);e=n+(g<<2)|0;tv(e|0,0,b<<2|0)|0;if((i|0)>0)rv(m|0,h|0,i|0)|0;c[a>>2]=n;c[f>>2]=e+(b<<2);c[d>>2]=n+(l<<2);if(!h)return;ct(h);return}function Tb(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=$a;$a=$a+32|0;e=d+12|0;f=d;g=b+44|0;if(!(c[g>>2]|0)){$a=d;return}h=b+20|0;i=f+11|0;j=e+11|0;k=0;do{Zb(f,24828,(c[h>>2]|0)+(k*40|0)|0);l=a[24851]|0;m=l<<24>>24<0;n=At(f,m?c[6210]|0:24840,m?c[6211]|0:l&255)|0;c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;if((a[i>>0]|0)<0)ct(c[f>>2]|0);n=c[h>>2]|0;l=n+(k*40|0)+28|0;m=c[l>>2]|0;o=n+(k*40|0)+32|0;c[o>>2]=m;c[f>>2]=k;p=m;if((c[n+(k*40|0)+36>>2]|0)>>>0>p>>>0){c[p>>2]=k;c[o>>2]=p+4;q=n}else{_b(l,f);q=c[h>>2]|0}l=q+(k*40|0)|0;n=a[l+11>>0]|0;p=n<<24>>24<0;o=n&255;n=p?c[q+(k*40|0)+4>>2]|0:o;m=a[24827]|0;r=m<<24>>24<0;a:do if((n|0)==((r?c[6205]|0:m&255)|0)){s=c[l>>2]|0;t=p?s:l;u=r?c[6204]|0:24816;v=(n|0)==0;w=s&255;if(p){if(v)break;if(!(Of(t,u,n)|0))break;else{x=18;break}}if(!v)if((a[u>>0]|0)==w<<24>>24){w=o;v=l;t=u;while(1){w=w+-1|0;v=v+1|0;if(!w)break a;t=t+1|0;if((a[v>>0]|0)!=(a[t>>0]|0)){x=18;break}}}else x=18}else x=18;while(0);if((x|0)==18){x=0;$b(b,e,q+(k*40|0)+28|0,0)}if((a[j>>0]|0)<0)ct(c[e>>2]|0);k=k+1|0}while(k>>>0<(c[g>>2]|0)>>>0);$a=d;return}function Ub(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;e=a+8|0;f=c[e>>2]|0;g=c[a>>2]|0;h=g;if(f-g>>2>>>0<b>>>0){if(!g)i=f;else{f=a+4|0;c[f>>2]=g;ct(g);c[e>>2]=0;c[f>>2]=0;c[a>>2]=0;i=0}if(b>>>0>1073741823)du(a);f=i>>1;j=i>>2>>>0<536870911?(f>>>0<b>>>0?b:f):1073741823;if(j>>>0>1073741823)du(a);f=at(j<<2)|0;i=a+4|0;c[i>>2]=f;c[a>>2]=f;c[e>>2]=f+(j<<2);j=f;e=b;while(1){c[j>>2]=c[d>>2];e=e+-1|0;if(!e)break;else j=j+4|0}k=i;l=f+(b<<2)|0;c[k>>2]=l;return}else{f=a+4|0;a=c[f>>2]|0;i=a-g>>2;g=i>>>0<b>>>0;j=g?i:b;e=a;if(j|0){a=h;m=j;while(1){c[a>>2]=c[d>>2];m=m+-1|0;if(!m)break;else a=a+4|0}}if(!g){k=f;l=h+(b<<2)|0;c[k>>2]=l;return}h=b-i|0;i=e;b=h;while(1){c[i>>2]=c[d>>2];b=b+-1|0;if(!b)break;else i=i+4|0}k=f;l=e+(h<<2)|0;c[k>>2]=l;return}}function Vb(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0;d=c[b>>2]|0;b=a+4|0;e=c[b>>2]|0;g=(e|0)==0;a:do if(!g){h=e+-1|0;i=(h&e|0)==0;if(!i)if(d>>>0<e>>>0)j=d;else j=(d>>>0)%(e>>>0)|0;else j=h&d;k=c[(c[a>>2]|0)+(j<<2)>>2]|0;if((k|0)!=0?(l=c[k>>2]|0,(l|0)!=0):0){if(i){i=l;while(1){k=c[i+4>>2]|0;if(!((k|0)==(d|0)|(k&h|0)==(j|0))){m=j;break a}if((c[i+8>>2]|0)==(d|0)){n=i;break}i=c[i>>2]|0;if(!i){m=j;break a}}o=n+12|0;return o|0}i=l;while(1){h=c[i+4>>2]|0;if((h|0)!=(d|0)){if(h>>>0<e>>>0)p=h;else p=(h>>>0)%(e>>>0)|0;if((p|0)!=(j|0)){m=j;break a}}if((c[i+8>>2]|0)==(d|0)){n=i;break}i=c[i>>2]|0;if(!i){m=j;break a}}o=n+12|0;return o|0}else m=j}else m=0;while(0);j=at(16)|0;c[j+8>>2]=d;c[j+12>>2]=0;c[j+4>>2]=d;c[j>>2]=0;p=a+12|0;q=+(((c[p>>2]|0)+1|0)>>>0);r=+f[a+16>>2];do if(g|r*+(e>>>0)<q){i=e<<1|(e>>>0<3|(e+-1&e|0)!=0)&1;l=~~+y(+(q/r))>>>0;Xb(a,i>>>0<l>>>0?l:i);i=c[b>>2]|0;l=i+-1|0;if(!(l&i)){s=i;t=l&d;break}if(d>>>0<i>>>0){s=i;t=d}else{s=i;t=(d>>>0)%(i>>>0)|0}}else{s=e;t=m}while(0);m=(c[a>>2]|0)+(t<<2)|0;t=c[m>>2]|0;if(!t){e=a+8|0;c[j>>2]=c[e>>2];c[e>>2]=j;c[m>>2]=e;e=c[j>>2]|0;if(e|0){m=c[e+4>>2]|0;e=s+-1|0;if(e&s)if(m>>>0<s>>>0)u=m;else u=(m>>>0)%(s>>>0)|0;else u=m&e;v=(c[a>>2]|0)+(u<<2)|0;w=33}}else{c[j>>2]=c[t>>2];v=t;w=33}if((w|0)==33)c[v>>2]=j;c[p>>2]=(c[p>>2]|0)+1;n=j;o=n+12|0;return o|0}function Wb(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,r=0;f=c[b+8>>2]|0;g=(c[b+12>>2]|0)-f>>2;h=(e>>>0)%(g>>>0)|0;e=f;f=c[e+(h<<2)>>2]|0;if((f|0)==-1){i=h;return i|0}j=c[b+20>>2]|0;b=a[d+11>>0]|0;k=b<<24>>24<0;l=k?c[d+4>>2]|0:b&255;b=k?c[d>>2]|0:d;d=(l|0)==0;k=f;f=h;a:while(1){h=j+(k*40|0)|0;m=a[h+11>>0]|0;n=m<<24>>24<0;o=m&255;do if(((n?c[j+(k*40|0)+4>>2]|0:o)|0)==(l|0)){m=c[h>>2]|0;p=n?m:h;q=m&255;if(n){if(d){i=f;r=13;break a}if(!(Of(p,b,l)|0)){i=f;r=13;break a}else break}if(d){i=f;r=13;break a}if((a[b>>0]|0)==q<<24>>24){q=o;p=h;m=b;do{q=q+-1|0;p=p+1|0;if(!q){i=f;r=13;break a}m=m+1|0}while((a[p>>0]|0)==(a[m>>0]|0))}}while(0);h=(f+1|0)%(g|0)|0;k=c[e+(h<<2)>>2]|0;if((k|0)==-1){i=h;r=13;break}else f=h}if((r|0)==13)return i|0;return 0}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0;if((b|0)!=1)if(!(b+-1&b))d=b;else d=ei(b)|0;else d=2;b=c[a+4>>2]|0;if(d>>>0>b>>>0){Yb(a,d);return}if(d>>>0>=b>>>0)return;e=~~+y(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(b>>>0>2&(b+-1&b|0)==0){g=1<<32-(B(e+-1|0)|0);h=e>>>0<2?e:g}else h=ei(e)|0;e=d>>>0<h>>>0?h:d;if(e>>>0>=b>>>0)return;Yb(a,e);return}function Yb(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;if(!b){e=c[a>>2]|0;c[a>>2]=0;if(e|0)ct(e);c[d>>2]=0;return}if(b>>>0>1073741823){e=G(8)|0;ht(e,14992);c[e>>2]=13e3;J(e|0,8288,153)}e=at(b<<2)|0;f=c[a>>2]|0;c[a>>2]=e;if(f|0)ct(f);c[d>>2]=b;d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0));d=a+8|0;f=c[d>>2]|0;if(!f)return;e=c[f+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(e>>>0<b>>>0)i=e;else i=(e>>>0)%(b>>>0)|0;else i=e&g;c[(c[a>>2]|0)+(i<<2)>>2]=d;d=c[f>>2]|0;if(!d)return;if(h){h=d;e=i;j=f;while(1){k=c[h+4>>2]&g;do if((k|0)==(e|0)){l=e;m=h}else{n=(c[a>>2]|0)+(k<<2)|0;if(!(c[n>>2]|0)){c[n>>2]=j;l=k;m=h;break}n=c[h>>2]|0;a:do if(!n)o=h;else{p=c[h+8>>2]|0;q=n;r=h;while(1){if((p|0)!=(c[q+8>>2]|0)){o=r;break a}s=c[q>>2]|0;if(!s){o=q;break}else{t=q;q=s;r=t}}}while(0);c[j>>2]=c[o>>2];c[o>>2]=c[c[(c[a>>2]|0)+(k<<2)>>2]>>2];c[c[(c[a>>2]|0)+(k<<2)>>2]>>2]=h;l=e;m=j}while(0);h=c[m>>2]|0;if(!h)break;else{e=l;j=m}}return}m=d;d=i;i=f;while(1){f=c[m+4>>2]|0;if(f>>>0<b>>>0)u=f;else u=(f>>>0)%(b>>>0)|0;do if((u|0)==(d|0)){v=d;w=m}else{f=(c[a>>2]|0)+(u<<2)|0;if(!(c[f>>2]|0)){c[f>>2]=i;v=u;w=m;break}f=c[m>>2]|0;b:do if(!f)x=m;else{j=c[m+8>>2]|0;l=f;e=m;while(1){if((j|0)!=(c[l+8>>2]|0)){x=e;break b}h=c[l>>2]|0;if(!h){x=l;break}else{o=l;l=h;e=o}}}while(0);c[i>>2]=c[x>>2];c[x>>2]=c[c[(c[a>>2]|0)+(u<<2)>>2]>>2];c[c[(c[a>>2]|0)+(u<<2)>>2]>>2]=m;v=d;w=i}while(0);m=c[w>>2]|0;if(!m)break;else{d=v;i=w}}return}function Zb(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;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=a[d+11>>0]|0;g=f<<24>>24<0;h=g?c[d+4>>2]|0:f&255;f=a[e+11>>0]|0;i=f<<24>>24<0;j=i?c[e+4>>2]|0:f&255;f=g?c[d>>2]|0:d;d=j+h|0;if(d>>>0>4294967279)kt(b);if(d>>>0<11){a[b+11>>0]=h;k=b}else{g=d+16&-16;d=at(g)|0;c[b>>2]=d;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;k=d}if(!h){l=k+h|0;a[l>>0]=0;m=c[e>>2]|0;n=i?m:e;At(b,n,j)|0;return}rv(k|0,f|0,h|0)|0;l=k+h|0;a[l>>0]=0;m=c[e>>2]|0;n=i?m:e;At(b,n,j)|0;return}function _b(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=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e|0;g=f>>2;h=g+1|0;if(h>>>0>1073741823)du(a);i=a+8|0;j=(c[i>>2]|0)-e|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0<h>>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{k=at(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=n+(g<<2)|0;c[k>>2]=c[b>>2];if((f|0)>0)rv(m|0,e|0,f|0)|0;c[a>>2]=n;c[d>>2]=k+4;c[i>>2]=n+(l<<2);if(!e)return;ct(e);return}function $b(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=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;g=$a;$a=$a+16|0;h=g;i=d+11|0;j=a[i>>0]|0;k=j<<24>>24<0;l=d+4|0;m=c[l>>2]|0;if(!((k?m:j&255)|0)){$a=g;return}n=h+11|0;o=h+4|0;p=(f|0)==0;q=f+4|0;r=f+8|0;s=j;j=m;m=0;t=k;while(1){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if((a[(t?c[d>>2]|0:d)+m>>0]&-64)<<24>>24!=-128?(k=s<<24>>24<0,m>>>0<(k?j:s&255)>>>0):0){u=(m|0)==0;v=j;w=s;x=m;y=1;A=k;while(1){if(y>>>0>(c[(c[b>>2]|0)+80>>2]|0)>>>0){B=v;C=w;break}Ct(h,a[(A?c[d>>2]|0:d)+x>>0]|0);k=x+1|0;D=a[i>>0]|0;E=D<<24>>24<0;F=c[l>>2]|0;a:do if(k>>>0<(E?F:D&255)>>>0){G=F;H=D;I=k;J=E;while(1){K=a[(J?c[d>>2]|0:d)+I>>0]|0;if((K&-64)<<24>>24!=-128){L=H;M=G;N=I;O=J;break a}Ct(h,K);K=I+1|0;P=a[i>>0]|0;Q=P<<24>>24<0;R=c[l>>2]|0;if(K>>>0<(Q?R:P&255)>>>0){G=R;H=P;I=K;J=Q}else{L=P;M=R;N=K;O=Q;break}}}else{L=D;M=F;N=k;O=E}while(0);E=c[b>>2]|0;do if(y>>>0>=(c[E+76>>2]|0)>>>0){if((y|0)==1){if(u)break;if((N|0)==((O?M:L&255)|0))break}k=a[n>>0]|0;F=k<<24>>24<0;D=F?c[o>>2]|0:k&255;if(D){k=F?c[h>>2]|0:h;F=z(a[k>>0]^-2128831035,16777619)|0;if((D|0)==1)S=F;else{J=F;F=1;while(1){I=z(J^a[k+F>>0],16777619)|0;F=F+1|0;if(F>>>0>=D>>>0){S=I;break}else J=I}}}else S=-2128831035;ac(b,e,(S>>>0)%((c[E+72>>2]|0)>>>0)|0);if(!p){J=c[q>>2]|0;if((J|0)==(c[r>>2]|0)){bc(f,h);break}else{mt(J,h);c[q>>2]=(c[q>>2]|0)+12;break}}}while(0);E=a[i>>0]|0;A=E<<24>>24<0;J=c[l>>2]|0;if(N>>>0>=(A?J:E&255)>>>0){B=J;C=E;break}else{v=J;w=E;x=N;y=y+1|0}}if((a[n>>0]|0)<0){ct(c[h>>2]|0);T=a[i>>0]|0;U=c[l>>2]|0}else{T=C;U=B}}else{T=s;U=j}m=m+1|0;t=T<<24>>24<0;if(m>>>0>=(t?U:T&255)>>>0)break;else{s=T;j=U}}$a=g;return}function ac(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,r=0,s=0;e=$a;$a=$a+16|0;f=e+4|0;g=e;c[f>>2]=d;h=a+64|0;i=c[h>>2]|0;j=c[h+4>>2]|0;if((d|0)<0|(i|0)==0&(j|0)==0){$a=e;return}if((j|0)>0|(j|0)==0&i>>>0>0){i=a+72|0;j=c[a+76>>2]|0;if(!j){$a=e;return}h=j+-1|0;k=(h&j|0)==0;if(!k)if(j>>>0>d>>>0)l=d;else l=(d>>>0)%(j>>>0)|0;else l=h&d;m=c[(c[i>>2]|0)+(l<<2)>>2]|0;if(!m){$a=e;return}n=c[m>>2]|0;if(!n){$a=e;return}a:do if(k){m=n;while(1){o=c[m+4>>2]|0;p=(o|0)==(d|0);if(!(p|(o&h|0)==(l|0))){q=28;break}if(p?(c[m+8>>2]|0)==(d|0):0)break a;m=c[m>>2]|0;if(!m){q=28;break}}if((q|0)==28){$a=e;return}}else{m=n;while(1){p=c[m+4>>2]|0;if((p|0)==(d|0)){if((c[m+8>>2]|0)==(d|0))break a}else{if(p>>>0<j>>>0)r=p;else r=(p>>>0)%(j>>>0)|0;if((r|0)!=(l|0)){q=28;break}}m=c[m>>2]|0;if(!m){q=28;break}}if((q|0)==28){$a=e;return}}while(0);q=c[(cc(i,f)|0)>>2]|0;c[f>>2]=q;s=q}else s=d;d=s+(c[a+48>>2]|0)|0;c[g>>2]=d;a=b+4|0;s=c[a>>2]|0;if(s>>>0<(c[b+8>>2]|0)>>>0){c[s>>2]=d;c[a>>2]=s+4}else _b(b,g);$a=e;return}function bc(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;e=b+4|0;f=c[b>>2]|0;g=((c[e>>2]|0)-f|0)/12|0;h=g+1|0;if(h>>>0>357913941)du(b);i=b+8|0;j=((c[i>>2]|0)-f|0)/12|0;f=j<<1;k=j>>>0<178956970?(f>>>0<h>>>0?h:f):357913941;do if(k)if(k>>>0>357913941){f=G(8)|0;ht(f,14992);c[f>>2]=13e3;J(f|0,8288,153)}else{l=at(k*12|0)|0;break}else l=0;while(0);f=l+(g*12|0)|0;g=l+(k*12|0)|0;mt(f,d);d=f+12|0;k=c[b>>2]|0;l=c[e>>2]|0;if((l|0)==(k|0)){m=f;n=k;o=k}else{h=f;f=l;do{h=h+-12|0;f=f+-12|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0}while((f|0)!=(k|0));m=h;n=c[b>>2]|0;o=c[e>>2]|0}c[b>>2]=m;c[e>>2]=d;c[i>>2]=g;g=n;if((o|0)!=(g|0)){i=o;do{i=i+-12|0;if((a[i+11>>0]|0)<0)ct(c[i>>2]|0)}while((i|0)!=(g|0))}if(!n)return;ct(n);return}function cc(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;d=c[b>>2]|0;b=c[a+4>>2]|0;a:do if(b|0){e=b+-1|0;f=(e&b|0)==0;if(!f)if(d>>>0<b>>>0)g=d;else g=(d>>>0)%(b>>>0)|0;else g=e&d;h=c[(c[a>>2]|0)+(g<<2)>>2]|0;if(h|0?(i=c[h>>2]|0,i|0):0){if(f){f=i;while(1){h=c[f+4>>2]|0;j=(d|0)==(h|0);if(!(j|(h&e|0)==(g|0)))break a;if(j?(c[f+8>>2]|0)==(d|0):0){k=f;break}f=c[f>>2]|0;if(!f)break a}l=k+12|0;return l|0}f=i;while(1){e=c[f+4>>2]|0;if((d|0)==(e|0)){if((c[f+8>>2]|0)==(d|0)){k=f;break}}else{if(e>>>0<b>>>0)m=e;else m=(e>>>0)%(b>>>0)|0;if((m|0)!=(g|0))break a}f=c[f>>2]|0;if(!f)break a}l=k+12|0;return l|0}}while(0);l=G(8)|0;ht(l,13185);c[l>>2]=13020;J(l|0,8304,153);return 0}function dc(a){a=a|0;return c[a+52>>2]|0}function ec(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=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e|0;g=f>>2;h=g+1|0;if(h>>>0>1073741823)du(a);i=a+8|0;j=(c[i>>2]|0)-e|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0<h>>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{k=at(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=n+(g<<2)|0;c[k>>2]=c[b>>2];if((f|0)>0)rv(m|0,e|0,f|0)|0;c[a>>2]=n;c[d>>2]=k+4;c[i>>2]=n+(l<<2);if(!e)return;ct(e);return}function fc(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,n=0,o=0,p=0;b=c[e+(c[(c[e>>2]|0)+-12>>2]|0)+24>>2]|0;g=f+11|0;if((a[g>>0]|0)<0){a[c[f>>2]>>0]=0;h=f+4|0;c[h>>2]=0;i=h}else{a[f>>0]=0;a[g>>0]=0;i=f+4|0}h=b+12|0;j=b+16|0;a:while(1){k=c[h>>2]|0;if((k|0)==(c[j>>2]|0)){l=eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((l|0)==-1){m=18;break}else n=l}else{c[h>>2]=k+1;n=d[k>>0]|0}o=(n|0)==10;switch(n|0){case 0:case 9:case 10:case 11:case 12:case 13:case 32:{k=a[g>>0]|0;if((k<<24>>24<0?c[i>>2]|0:k&255)|0){m=13;break a}if(o){m=12;break a}break}default:Ct(f,n&255)}}if((m|0)==12){n=a[24827]|0;j=n<<24>>24<0;At(f,j?c[6204]|0:24816,j?c[6205]|0:n&255)|0;p=1;return p|0}else if((m|0)==13){if(!o){p=1;return p|0}o=c[h>>2]|0;if((c[b+8>>2]|0)==(o|0)){gb[c[(c[b>>2]|0)+44>>2]&31](b,-1)|0;p=1;return p|0}else{c[h>>2]=o+-1;p=1;return p|0}}else if((m|0)==18){zj(e)|0;e=a[g>>0]|0;p=((e<<24>>24<0?c[i>>2]|0:e&255)|0)!=0;return p|0}return 0}function gc(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;c[b>>2]=0;f=b+4|0;c[f>>2]=0;g=b+8|0;c[g>>2]=0;h=c[d+20>>2]|0;i=c[d+24>>2]|0;if((h|0)==(i|0))return;d=h;do{do if((a[d+24>>0]|0)==e<<24>>24){h=d+16|0;j=c[f>>2]|0;if((j|0)==(c[g>>2]|0)){hc(b,h);break}else{k=h;h=c[k+4>>2]|0;l=j;c[l>>2]=c[k>>2];c[l+4>>2]=h;c[f>>2]=j+8;break}}while(0);d=d+40|0}while((d|0)!=(i|0));return}function hc(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=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e|0;g=f>>3;h=g+1|0;if(h>>>0>536870911)du(a);i=a+8|0;j=(c[i>>2]|0)-e|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0<h>>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{k=at(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=n+(g<<3)|0;g=b;b=c[g+4>>2]|0;h=k;c[h>>2]=c[g>>2];c[h+4>>2]=b;if((f|0)>0)rv(m|0,e|0,f|0)|0;c[a>>2]=n;c[d>>2]=k+8;c[i>>2]=n+(l<<3);if(!e)return;ct(e);return}function ic(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,o=0,p=0,q=0,r=0;g=$a;$a=$a+48|0;h=g+32|0;i=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[k>>2]=f;if((f|0)>=0){if((c[(c[b>>2]|0)+80>>2]|0)>=1){if((c[b+48>>2]|0)<=(f|0))F(13244,13218,87,13232);o=c[b+20>>2]|0;c[l>>2]=c[d+4>>2];c[m>>2]=c[o+(f*40|0)+28>>2];c[n>>2]=c[o+(f*40|0)+32>>2];c[j>>2]=c[l>>2];c[i>>2]=c[m>>2];c[h>>2]=c[n>>2];jc(d,j,i,h)|0;$a=g;return}j=d+4|0;n=c[j>>2]|0;if((n|0)==(c[d+8>>2]|0)){ec(d,k);$a=g;return}else{c[n>>2]=f;c[j>>2]=n+4;$a=g;return}}n=a[e+11>>0]|0;j=n<<24>>24<0;f=n&255;n=j?c[e+4>>2]|0:f;k=a[24827]|0;m=k<<24>>24<0;a:do if((n|0)==((m?c[6205]|0:k&255)|0)){l=c[e>>2]|0;o=j?l:e;p=m?c[6204]|0:24816;q=(n|0)==0;r=l&255;if(j){if(q){$a=g;return}if(Of(o,p,n)|0)break;$a=g;return}if(q){$a=g;return}if((a[p>>0]|0)==r<<24>>24){r=f;q=e;o=p;while(1){r=r+-1|0;q=q+1|0;if(!r)break;o=o+1|0;if((a[q>>0]|0)!=(a[o>>0]|0))break a}$a=g;return}}while(0);Zb(i,24828,e);e=a[24851]|0;f=e<<24>>24<0;n=At(i,f?c[6210]|0:24840,f?c[6211]|0:e&255)|0;c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;$b(b,h,d,0);if((a[h+11>>0]|0)<0)ct(c[h>>2]|0);if((a[i+11>>0]|0)<0)ct(c[i>>2]|0);$a=g;return}function jc(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;f=c[a>>2]|0;g=f;h=(c[b>>2]|0)-g|0;b=h>>2;i=f+(b<<2)|0;j=c[d>>2]|0;d=c[e>>2]|0;e=d-j|0;k=e>>2;if((e|0)<=0){l=i;return l|0}e=a+8|0;m=c[e>>2]|0;n=a+4|0;o=c[n>>2]|0;p=o;if((k|0)>(m-p>>2|0)){q=(p-g>>2)+k|0;if(q>>>0>1073741823)du(a);r=m-g|0;g=r>>1;m=r>>2>>>0<536870911?(g>>>0<q>>>0?q:g):1073741823;g=i;q=h>>2;do if(m)if(m>>>0>1073741823){r=G(8)|0;ht(r,14992);c[r>>2]=13e3;J(r|0,8288,153)}else{s=at(m<<2)|0;break}else s=0;while(0);r=s+(q<<2)|0;q=s+(m<<2)|0;m=j;s=d;if((m|0)==(s|0))t=r;else{u=((s+-4-j|0)>>>2)+1|0;v=m;m=r;while(1){c[m>>2]=c[v>>2];v=v+4|0;if((v|0)==(s|0))break;else m=m+4|0}t=r+(u<<2)|0}u=r+(0-b<<2)|0;if((h|0)>0)rv(u|0,f|0,h|0)|0;h=p-g|0;if((h|0)>0){rv(t|0,i|0,h|0)|0;w=t+(h>>>2<<2)|0}else w=t;c[a>>2]=u;c[n>>2]=w;c[e>>2]=q;if(!f){l=r;return l|0}ct(f);l=r;return l|0}r=i;f=p-r|0;q=f>>2;do if((k|0)>(q|0)){e=j+(q<<2)|0;w=e;u=d;if((e|0)==(u|0))x=o;else{a=u+-4-w|0;t=e;e=o;while(1){c[e>>2]=c[t>>2];t=t+4|0;if((t|0)==(u|0))break;else e=e+4|0}e=o+((a>>>2)+1<<2)|0;c[n>>2]=e;x=e}if((f|0)>0){y=x;z=w;A=x;break}else{l=i;return l|0}}else{y=o;z=d;A=p}while(0);p=A-(i+(k<<2))|0;k=p>>2;A=i+(k<<2)|0;if(A>>>0<o>>>0){d=(o+(0-k<<2)+~r|0)>>>2;r=y;x=A;while(1){c[r>>2]=c[x>>2];x=x+4|0;if(x>>>0>=o>>>0)break;else r=r+4|0}c[n>>2]=y+(d+1<<2)}if(p|0)sv(y+(0-k<<2)|0,i|0,p|0)|0;p=j;j=z;if((j|0)==(p|0)){l=i;return l|0}z=p;p=i;while(1){c[p>>2]=c[z>>2];z=z+4|0;if((z|0)==(j|0)){l=i;break}else p=p+4|0}return l|0}function kc(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,A=0,B=0,C=0,D=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;h=$a;$a=$a+64|0;i=h+16|0;j=h;k=h+44|0;l=h+32|0;c[k>>2]=0;m=k+4|0;c[m>>2]=0;n=k+8|0;c[n>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;o=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;if(c[o+16>>2]&2|0){oj(o,0);c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];Cj(e,i)|0}c[f+4>>2]=c[f>>2];j=g+4|0;c[j>>2]=c[g>>2];o=l+11|0;p=l+4|0;q=b+8|0;r=b+44|0;s=b+20|0;t=b+48|0;u=g+8|0;v=0;a:while(1){if(!(fc(0,e,l)|0)){w=v;break}x=a[o>>0]|0;y=x<<24>>24<0;A=y?c[p>>2]|0:x&255;if(A){x=y?c[l>>2]|0:l;B=z(a[x>>0]^-2128831035,16777619)|0;if((A|0)==1)C=B;else{D=B;B=1;while(1){G=z(D^a[x+B>>0],16777619)|0;B=B+1|0;if(B>>>0>=A>>>0){C=G;break}else D=G}}}else C=-2128831035;D=Wb(b,l,C)|0;B=c[(c[q>>2]|0)+(D<<2)>>2]|0;do if((B|0)<0){D=c[b>>2]|0;x=D+96|0;G=y?c[l>>2]|0:l;H=a[x+11>>0]|0;I=H<<24>>24<0;J=I?c[x>>2]|0:x;x=I?c[D+100>>2]|0:H&255;if(!x){K=v+1|0;break}H=G+A|0;D=H;I=G;b:do if((A|0)<(x|0)){L=H;M=D}else{N=d[J>>0]|0;O=G;P=A;while(1){Q=P-x+1|0;if(!Q){L=H;M=D;break b}R=cg(O,N,Q)|0;if(!R){L=H;M=D;break b}if(!(Of(R,J,x)|0))break;O=R+1|0;P=D-O|0;if((P|0)<(x|0)){L=H;M=D;break b}}L=R;M=R}while(0);S=(M|0)==(I|0)&(L|0)!=(H|0)&1;T=23}else{if((c[r>>2]|0)<=(B|0)){T=21;break a}S=a[(c[s>>2]|0)+(B*40|0)+24>>0]|0;T=23}while(0);do if((T|0)==23){T=0;A=v+1|0;if(!(S<<24>>24)){ic(b,f,l,B);c[i>>2]=C;y=c[m>>2]|0;if(y>>>0<(c[n>>2]|0)>>>0){c[y>>2]=C;c[m>>2]=y+4}else _b(k,i);K=A;break}if((B|0)>-1&S<<24>>24==1){y=B-(c[t>>2]|0)|0;c[i>>2]=y;D=c[j>>2]|0;if(D>>>0<(c[u>>2]|0)>>>0){c[D>>2]=y;c[j>>2]=D+4}else _b(g,i);K=A}else K=A}while(0);B=a[o>>0]|0;A=B<<24>>24<0;D=B&255;B=A?c[p>>2]|0:D;y=a[24827]|0;x=y<<24>>24<0;do if((B|0)==((x?c[6205]|0:y&255)|0)){J=c[l>>2]|0;G=A?J:l;P=x?c[6204]|0:24816;O=(B|0)==0;N=J&255;if(A){if(O){w=K;break a}if(!(Of(G,P,B)|0)){w=K;break a}else break}if(O){w=K;break a}if((a[P>>0]|0)==N<<24>>24){N=D;O=l;G=P;do{N=N+-1|0;O=O+1|0;if(!N){w=K;break a}G=G+1|0}while((a[O>>0]|0)==(a[G>>0]|0))}}while(0);v=K}if((T|0)==21)F(13264,13218,141,13256);T=c[(c[b>>2]|0)+60>>2]|0;K=c[m>>2]|0;v=c[k>>2]|0;p=v;if((K|0)==(v|0))U=p;else{i=v;v=K;K=p;p=0;while(1){g=i;j=p;p=p+1|0;u=v-i>>2;t=j+T|0;if((p|0)<(t|0)&p>>>0<u>>>0){S=c[g+(j<<2)>>2]|0;j=S;C=((S|0)<0)<<31>>31;S=g;g=p;do{n=iv(j|0,C|0,116049371,0)|0;s=E()|0;r=c[S+(g<<2)>>2]|0;j=jv(n|0,s|0,r|0,((r|0)<0)<<31>>31|0)|0;C=E()|0;r=c[(c[b>>2]|0)+72>>2]|0;s=ov(j|0,C|0,r|0,((r|0)<0)<<31>>31|0)|0;E()|0;ac(b,f,s);g=g+1|0;V=c[m>>2]|0;S=c[k>>2]|0;W=V-S>>2}while((g|0)<(t|0)&g>>>0<W>>>0);X=S;Y=S;Z=V;_=W}else{X=i;Y=K;Z=v;_=u}if(p>>>0>=_>>>0){U=Y;break}else{i=X;v=Z;K=Y}}}if((a[o>>0]|0)<0){ct(c[l>>2]|0);$=c[k>>2]|0}else $=U;if(!$){$a=h;return w|0}c[m>>2]=$;ct($);$a=h;return w|0}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=$a;$a=$a+48|0;f=e+24|0;g=e+12|0;h=e;i=b+52|0;if((d|0)>=0?(c[i>>2]|0)>(d|0):0){mt(a,(c[b+20>>2]|0)+(((c[b+48>>2]|0)+d|0)*40|0)|0);$a=e;return}e=G(8)|0;au(h,c[i>>2]|0);i=Et(h,0,13275)|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;i=Bt(g,13305)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;et(e,f);c[e>>2]=12980;J(e|0,8272,153)}function mc(a){a=a|0;var b=0;c[a>>2]=8556;b=c[a+16>>2]|0;if(b|0){c[a+20>>2]=b;ct(b)}b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;ct(b);return}function nc(a){a=a|0;wa()}function oc(a,b,d,e,g){a=a|0;b=b|0;d=+d;e=e|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;rb[c[(c[a>>2]|0)+12>>2]&63](a,g);pc(0,b,d,e,g+28|0);g=c[e>>2]|0;b=c[e+4>>2]|0;e=b-g|0;if((e|0)<=8)return;a=g+4|0;h=g+8|0;i=h;j=g+16|0;k=j;l=b;b=e>>>3;while(1){e=l;l=l+-8|0;m=c[g>>2]|0;c[g>>2]=c[l>>2];c[l>>2]=m;m=e+-4|0;e=c[a>>2]|0;c[a>>2]=c[m>>2];c[m>>2]=e;e=b;b=b+-1|0;if((e|0)==2){n=14;break}m=(e+-3|0)/2|0;if((e|0)>3){o=+f[h>>2]>+f[j>>2];p=o?2:1;q=o?k:i}else{p=1;q=i}d=+f[g>>2];if(!(+f[q>>2]>d)){o=c[a>>2]|0;r=g;s=p;t=q;while(1){u=r;r=t;c[u>>2]=c[t>>2];c[u+4>>2]=c[r+4>>2];if((m|0)<(s|0))break;u=s<<1|1;v=g+(u<<3)|0;w=v;x=u+1|0;if((x|0)<(b|0)){y=v+8|0;z=+f[v>>2]>+f[y>>2];A=z?x:u;B=z?y:w}else{A=u;B=w}if(+f[B>>2]>d)break;else{s=A;t=B}}f[t>>2]=d;c[t+4>>2]=o}if((e|0)<=2){n=14;break}}if((n|0)==14)return}function pc(a,b,d,e,g){a=a|0;b=b|0;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=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.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;a=$a;$a=$a+16|0;h=a;i=g+4|0;j=c[g>>2]|0;if((c[i>>2]|0)==(j|0)){$a=a;return}k=e+4|0;l=h+4|0;m=e+8|0;n=j;j=0;do{o=+f[n+(j<<2)>>2];do if(!(o<d)){p=c[k>>2]|0;q=c[e>>2]|0;r=p;if((p-q>>3|0)==(b|0)){s=+x(+(o+1.0e-05));if(+f[q>>2]>s)break;else t=s}else t=+x(+(o+1.0e-05));f[h>>2]=t;c[l>>2]=j;if((c[m>>2]|0)>>>0>r>>>0){r=h;q=c[r+4>>2]|0;u=p;c[u>>2]=c[r>>2];c[u+4>>2]=q;q=(c[k>>2]|0)+8|0;c[k>>2]=q;v=q}else{qc(e,h);v=c[k>>2]|0}q=v;u=c[e>>2]|0;r=u;p=q-r|0;w=(p|0)>8;if(w?(y=((p>>>3)+-2|0)/2|0,z=u+(y<<3)|0,A=v+-8|0,s=+f[A>>2],+f[z>>2]>s):0){B=c[v+-4>>2]|0;C=A;A=y;y=z;while(1){c[C>>2]=c[y>>2];c[C+4>>2]=c[y+4>>2];if(!A)break;A=(A+-1|0)/2|0;z=u+(A<<3)|0;if(!(+f[z>>2]>s))break;else{D=y;y=z;C=D}}f[y>>2]=s;c[y+4>>2]=B}if(q-r>>3>>>0>b>>>0){C=p>>3;A=v+-8|0;if(w?(D=c[u>>2]|0,c[u>>2]=c[A>>2],c[A>>2]=D,D=u+4|0,z=v+-4|0,E=c[D>>2]|0,c[D>>2]=c[z>>2],c[z>>2]=E,E=C+-1|0,(p|0)!=16):0){z=(C+-3|0)/2|0;C=u+8|0;F=C;if((p|0)>24){G=u+16|0;H=+f[C>>2]>+f[G>>2];I=H?2:1;J=H?G:F}else{I=1;J=F}K=+f[u>>2];if(!(+f[J>>2]>K)){F=c[D>>2]|0;D=u;G=I;H=J;while(1){C=D;D=H;c[C>>2]=c[H>>2];c[C+4>>2]=c[D+4>>2];if((z|0)<(G|0))break;C=G<<1|1;L=u+(C<<3)|0;M=L;N=C+1|0;if((N|0)<(E|0)){O=L+8|0;P=+f[L>>2]>+f[O>>2];Q=P?N:C;R=P?O:M}else{Q=C;R=M}if(+f[R>>2]>K)break;else{G=Q;H=R}}f[H>>2]=K;c[H+4>>2]=F}}c[k>>2]=A}}while(0);j=j+1|0;n=c[g>>2]|0}while((c[i>>2]|0)-n>>2>>>0>j>>>0);$a=a;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;d=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e|0;g=f>>3;h=g+1|0;if(h>>>0>536870911)du(a);i=a+8|0;j=(c[i>>2]|0)-e|0;k=j>>2;l=j>>3>>>0<268435455?(k>>>0<h>>>0?h:k):536870911;do if(l)if(l>>>0>536870911){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{k=at(l<<3)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=n+(g<<3)|0;g=b;b=c[g+4>>2]|0;h=k;c[h>>2]=c[g>>2];c[h+4>>2]=b;if((f|0)>0)rv(m|0,e|0,f|0)|0;c[a>>2]=n;c[d>>2]=k+8;c[i>>2]=n+(l<<3);if(!e)return;ct(e);return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0.0,i=0.0;d=b+28|0;zd(d,c[c[a+28>>2]>>2]|0,b+16|0);e=c[d>>2]|0;d=(c[b+32>>2]|0)-e|0;b=d>>2;g=e;if((d|0)<=0)return;d=a+4|0;a=0;do{e=g+(a<<2)|0;h=+f[e>>2];if(!(h<-8.0))if(h>8.0)i=1.0;else i=+f[(c[d>>2]|0)+(~~((h+8.0)*512.0*.125*.5)>>>0<<2)>>2];else i=0.0;f[e>>2]=i;a=a+1|0}while((a|0)<(b|0));return}function sc(a){a=a|0;var b=0;c[a>>2]=8556;b=c[a+16>>2]|0;if(b|0){c[a+20>>2]=b;ct(b)}b=c[a+4>>2]|0;if(!b){ct(a);return}c[a+8>>2]=b;ct(b);ct(a);return}function tc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;var h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0;d=(c[e+32>>2]|0)-(c[e+28>>2]|0)|0;h=d>>2;if((d|0)<=0){i=0.0;return +i}d=b+4|0;j=0.0;k=0;while(1){l=c[b>>2]|0;m=c[d>>2]|0;a:do if((l|0)==(m|0))n=l;else{o=l;while(1){if((c[o>>2]|0)==(k|0)){n=o;break a}o=o+4|0;if((o|0)==(m|0)){n=m;break}}}while(0);p=j+ +uc(a,k,e,(n|0)!=(m|0),f,g);k=k+1|0;if((k|0)>=(h|0)){i=p;break}else j=p}return +i}function uc(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;i=a+28|0;j=c[c[i>>2]>>2]|0;k=d+16|0;l=((b|0)<0)<<31>>31;m=+cb[c[(c[j>>2]|0)+8>>2]&3](j,k,b,l);if(!(m<-8.0))if(m>8.0)n=1.0;else n=+f[(c[a+4>>2]|0)+(~~((m+8.0)*512.0*.125*.5)>>>0<<2)>>2];else n=0.0;if(h){m=(+(e&1)-n)*g;xd(d+40|0,c[c[i>>2]>>2]|0,b,l,m);d=c[c[i>>2]>>2]|0;wb[c[(c[d>>2]|0)+12>>2]&3](d,k,b,l,m)}if(e){if(n>1.0){o=0.0;p=-o;return +p}o=+f[(c[a+16>>2]|0)+(~~(n*512.0)>>>0<<2)>>2];p=-o;return +p}else{m=1.0-n;if(m>1.0){o=0.0;p=-o;return +p}o=+f[(c[a+16>>2]|0)+(~~(m*512.0)>>>0<<2)>>2];p=-o;return +p}return +(0.0)}function vc(a){a=a|0;var b=0;c[a>>2]=8612;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;ct(b)}c[a>>2]=8556;b=c[a+16>>2]|0;if(b|0){c[a+20>>2]=b;ct(b)}b=c[a+4>>2]|0;if(!b)return;c[a+8>>2]=b;ct(b);return}function wc(a){a=a|0;var b=0;c[a>>2]=8612;b=c[a+36>>2]|0;if(b|0){c[a+40>>2]=b;ct(b)}c[a>>2]=8556;b=c[a+16>>2]|0;if(b|0){c[a+20>>2]=b;ct(b)}b=c[a+4>>2]|0;if(!b){ct(a);return}c[a+8>>2]=b;ct(b);ct(a);return}function xc(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0;if((d|0)<=-1)F(13382,13399,170,13407);i=c[b>>2]|0;if((c[b+4>>2]|0)-i>>2>>>0<=d>>>0)F(13415,13399,171,13407);b=c[i+(d<<2)>>2]|0;d=a+28|0;i=c[c[d>>2]>>2]|0;j=e+16|0;k=((b|0)<0)<<31>>31;l=+cb[c[(c[i>>2]|0)+8>>2]&3](i,j,b,k);if(!(l<-8.0))if(l>8.0)m=1.0;else m=+f[(c[a+4>>2]|0)+(~~((l+8.0)*512.0*.125*.5)>>>0<<2)>>2];else m=0.0;if(h){l=(1.0-m)*g;xd(e+40|0,c[c[d>>2]>>2]|0,b,k,l);i=c[c[d>>2]>>2]|0;wb[c[(c[i>>2]|0)+12>>2]&3](i,j,b,k,l)}if(m>1.0)n=0.0;else n=+f[(c[a+16>>2]|0)+(~~(m*512.0)>>>0<<2)>>2];m=-n;k=a+32|0;if((c[k>>2]|0)<=0){o=m;return +o}i=e+52|0;p=a+48|0;q=a+36|0;r=e+40|0;e=a+4|0;s=a+16|0;if(h){n=m;h=0;while(1){do{a=yc(p,i,p)|0;t=c[(c[q>>2]|0)+(a<<2)>>2]|0}while((t|0)==(b|0));a=c[c[d>>2]>>2]|0;u=((t|0)<0)<<31>>31;l=+cb[c[(c[a>>2]|0)+8>>2]&3](a,j,t,u);if(!(l<-8.0))if(l>8.0)v=1.0;else v=+f[(c[e>>2]|0)+(~~((l+8.0)*512.0*.125*.5)>>>0<<2)>>2];else v=0.0;l=(0.0-v)*g;xd(r,c[c[d>>2]>>2]|0,t,u,l);a=c[c[d>>2]>>2]|0;wb[c[(c[a>>2]|0)+12>>2]&3](a,j,t,u,l);l=1.0-v;if(l>1.0)w=0.0;else w=+f[(c[s>>2]|0)+(~~(l*512.0)>>>0<<2)>>2];l=n-w;h=h+1|0;if((h|0)>=(c[k>>2]|0)){o=l;break}else n=l}return +o}else{n=m;h=0;while(1){do{t=yc(p,i,p)|0;x=c[(c[q>>2]|0)+(t<<2)>>2]|0}while((x|0)==(b|0));t=c[c[d>>2]>>2]|0;m=+cb[c[(c[t>>2]|0)+8>>2]&3](t,j,x,((x|0)<0)<<31>>31);if(!(m<-8.0))if(m>8.0)y=1.0;else y=+f[(c[e>>2]|0)+(~~((m+8.0)*512.0*.125*.5)>>>0<<2)>>2];else y=0.0;m=1.0-y;if(m>1.0)z=0.0;else z=+f[(c[s>>2]|0)+(~~(m*512.0)>>>0<<2)>>2];m=n-z;h=h+1|0;if((h|0)>=(c[k>>2]|0)){o=m;break}else n=m}return +o}return +(0.0)}function yc(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=$a;$a=$a+80|0;f=b+73|0;g=b+72|0;h=b+36|0;i=b;j=c[e>>2]|0;k=(c[e+4>>2]|0)-j|0;l=k+1|0;if(!k){m=j;$a=b;return m|0}if(!l){c[h>>2]=d;c[h+4>>2]=32;c[h+12>>2]=2;c[h+8>>2]=16;c[h+20>>2]=2147418112;c[h+16>>2]=2;c[h+24>>2]=2147352576;c[h+28>>2]=65535;c[h+32>>2]=131071;a[f>>0]=a[g>>0]|0;m=zc(h,f)|0;$a=b;return m|0}h=32-(B(l|0)|0)|0;j=h+(((-1>>>(33-h|0)&l|0)==0)<<31>>31)|0;c[i>>2]=d;c[i+4>>2]=j;d=(j>>>0)/30|0;h=d+((j-(d*30|0)|0)!=0&1)|0;d=i+12|0;c[d>>2]=h;k=(j>>>0)/(h>>>0)|0;n=i+8|0;c[n>>2]=k;o=k>>>0<32?2147483646>>>k<<k:0;p=i+20|0;c[p>>2]=o;do if((2147483646-o|0)>>>0>((o>>>0)/(h>>>0)|0)>>>0){q=h+1|0;c[d>>2]=q;r=(j>>>0)/(q>>>0)|0;c[n>>2]=r;if(r>>>0<32){c[p>>2]=2147483646>>>r<<r;s=r;t=q;u=8;break}else{c[p>>2]=0;c[i+16>>2]=q-(j-(z(r,q)|0));v=r;w=0;x=0;break}}else{s=k;t=h;u=8}while(0);if((u|0)==8){c[i+16>>2]=t-((j>>>0)%(t>>>0)|0);if(s>>>0<31){t=s+1|0;v=s;w=1;x=2147483646>>>t<<t}else{v=s;w=0;x=0}}c[i+24>>2]=x;c[i+28>>2]=(v|0)==0?0:-1>>>(32-v|0);c[i+32>>2]=w?-1>>>(31-v|0):-1;do{a[f>>0]=a[g>>0]|0;y=zc(i,f)|0}while(y>>>0>=l>>>0);m=(c[e>>2]|0)+y|0;$a=b;return m|0}function zc(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=c[a+16>>2]|0;if(!b){d=0;e=0}else{f=c[a>>2]|0;g=c[a+20>>2]|0;h=c[a+8>>2]|0;i=c[a+28>>2]|0;j=c[f>>2]|0;if(h>>>0<32){k=0;l=0;m=j;while(1){n=m;do{o=(n>>>0)/44488|0;p=(n-(o*44488|0)|0)*48271|0;q=o*3399|0;n=(p>>>0<q>>>0?2147483647:0)+(p-q)|0;r=n+-1|0}while(r>>>0>=g>>>0);q=(k<<h)+(i&r)|0;l=l+1|0;if(l>>>0>=b>>>0){s=q;t=n;break}else{k=q;m=n}}}else{m=0;k=j;while(1){u=k;do{j=(u>>>0)/44488|0;l=(u-(j*44488|0)|0)*48271|0;r=j*3399|0;u=(l>>>0<r>>>0?2147483647:0)+(l-r)|0;v=u+-1|0}while(v>>>0>=g>>>0);m=m+1|0;if(m>>>0>=b>>>0)break;else k=u}s=i&v;t=u}c[f>>2]=t;d=b;e=s}s=c[a+12>>2]|0;if(d>>>0>=s>>>0){w=e;return w|0}b=c[a>>2]|0;t=c[a+24>>2]|0;f=c[a+8>>2]|0;u=f+1|0;v=c[a+32>>2]|0;a=c[b>>2]|0;if(f>>>0<31){f=e;e=d;i=a;while(1){k=i;do{m=(k>>>0)/44488|0;g=(k-(m*44488|0)|0)*48271|0;n=m*3399|0;k=(g>>>0<n>>>0?2147483647:0)+(g-n)|0;x=k+-1|0}while(x>>>0>=t>>>0);n=(f<<u)+(v&x)|0;e=e+1|0;if(e>>>0>=s>>>0){y=n;z=k;break}else{f=n;i=k}}}else{i=d;d=a;while(1){A=d;do{a=(A>>>0)/44488|0;f=(A-(a*44488|0)|0)*48271|0;e=a*3399|0;A=(f>>>0<e>>>0?2147483647:0)+(f-e)|0;B=A+-1|0}while(B>>>0>=t>>>0);i=i+1|0;if(i>>>0>=s>>>0)break;else d=A}y=v&B;z=A}c[b>>2]=z;w=y;return w|0}function Ac(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[a>>2]=8640;b=c[a+56>>2]|0;if(b|0){c[a+60>>2]=b;ct(b)}b=a+44|0;d=c[b>>2]|0;if(d|0){e=a+48|0;f=c[e>>2]|0;if((f|0)==(d|0))g=d;else{h=f;do{h=h+-12|0;f=c[h>>2]|0;if(f|0)ct(f)}while((h|0)!=(d|0));g=c[b>>2]|0}c[e>>2]=d;ct(g)}g=a+32|0;d=c[g>>2]|0;if(d|0){e=a+36|0;b=c[e>>2]|0;if((b|0)==(d|0))i=d;else{h=b;do{b=h;h=h+-12|0;f=c[h>>2]|0;if(f|0){c[b+-8>>2]=f;ct(f)}}while((h|0)!=(d|0));i=c[g>>2]|0}c[e>>2]=d;ct(i)}c[a>>2]=8556;i=c[a+16>>2]|0;if(i|0){c[a+20>>2]=i;ct(i)}i=c[a+4>>2]|0;if(!i)return;c[a+8>>2]=i;ct(i);return}function Bc(a){a=a|0;Ac(a);ct(a);return}function Cc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;var h=0,i=0,j=0.0,k=0,l=0.0,m=0.0;h=c[(c[b>>2]|0)+(d<<2)>>2]|0;d=c[a+32>>2]|0;b=d+(h*12|0)|0;i=d+(h*12|0)+4|0;d=c[b>>2]|0;if((c[i>>2]|0)==(d|0)){j=0.0;return +j}k=(c[a+44>>2]|0)+(h*12|0)|0;h=d;d=0;l=0.0;while(1){m=l+ +uc(a,c[h+(d<<2)>>2]|0,e,(c[(c[k>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0,f,g);d=d+1|0;h=c[b>>2]|0;if(d>>>0>=(c[i>>2]|0)-h>>2>>>0){j=m;break}else l=m}return +j}function Dc(a,b,d,e,g){a=a|0;b=b|0;d=+d;e=e|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;Ec(a,b,d,(c[a+68>>2]<<1)+-2|0,0.0,e,g+16|0);g=c[e>>2]|0;a=c[e+4>>2]|0;e=a-g|0;if((e|0)<=8)return;b=g+4|0;h=g+8|0;i=h;j=g+16|0;k=j;l=a;a=e>>>3;while(1){e=l;l=l+-8|0;m=c[g>>2]|0;c[g>>2]=c[l>>2];c[l>>2]=m;m=e+-4|0;e=c[b>>2]|0;c[b>>2]=c[m>>2];c[m>>2]=e;e=a;a=a+-1|0;if((e|0)==2){n=14;break}m=(e+-3|0)/2|0;if((e|0)>3){o=+f[h>>2]>+f[j>>2];p=o?2:1;q=o?k:i}else{p=1;q=i}d=+f[g>>2];if(!(+f[q>>2]>d)){o=c[b>>2]|0;r=g;s=p;t=q;while(1){u=r;r=t;c[u>>2]=c[t>>2];c[u+4>>2]=c[r+4>>2];if((m|0)<(s|0))break;u=s<<1|1;v=g+(u<<3)|0;w=v;x=u+1|0;if((x|0)<(a|0)){y=v+8|0;z=+f[v>>2]>+f[y>>2];A=z?x:u;B=z?y:w}else{A=u;B=w}if(+f[B>>2]>d)break;else{s=A;t=B}}f[t>>2]=d;c[t+4>>2]=o}if((e|0)<=2){n=14;break}}if((n|0)==14)return}function Ec(a,b,d,e,g,h,i){a=a|0;b=b|0;d=+d;e=e|0;g=+g;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.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=$a;$a=$a+16|0;k=j;if(+x(+(d+1.0e-05))>g){$a=j;return}l=h+4|0;m=c[l>>2]|0;n=c[h>>2]|0;o=m;if((m-n>>3|0)==(b|0)?+f[n>>2]>g:0){$a=j;return}n=a+56|0;p=c[n>>2]|0;if((c[p+(e<<5)+4>>2]|0)==-1?(c[p+(e<<5)+8>>2]|0)==-1:0){f[k>>2]=g;c[k+4>>2]=e;if((c[h+8>>2]|0)>>>0>o>>>0){o=k;p=c[o+4>>2]|0;q=m;c[q>>2]=c[o>>2];c[q+4>>2]=p;p=(c[l>>2]|0)+8|0;c[l>>2]=p;r=p}else{qc(h,k);r=c[l>>2]|0}k=r;p=c[h>>2]|0;q=p;o=k-q|0;m=(o|0)>8;if(m?(s=((o>>>3)+-2|0)/2|0,t=p+(s<<3)|0,u=r+-8|0,v=+f[u>>2],+f[t>>2]>v):0){y=c[r+-4>>2]|0;z=u;u=s;s=t;while(1){c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];if(!u)break;u=(u+-1|0)/2|0;t=p+(u<<3)|0;if(!(+f[t>>2]>v))break;else{A=s;s=t;z=A}}f[s>>2]=v;c[s+4>>2]=y}if(k-q>>3>>>0<=b>>>0){$a=j;return}q=o>>3;k=r+-8|0;if(m?(m=c[p>>2]|0,c[p>>2]=c[k>>2],c[k>>2]=m,m=p+4|0,y=r+-4|0,r=c[m>>2]|0,c[m>>2]=c[y>>2],c[y>>2]=r,r=q+-1|0,(o|0)!=16):0){y=(q+-3|0)/2|0;q=p+8|0;s=q;if((o|0)>24){o=p+16|0;z=+f[q>>2]>+f[o>>2];B=z?2:1;C=z?o:s}else{B=1;C=s}v=+f[p>>2];if(!(+f[C>>2]>v)){s=c[m>>2]|0;m=p;o=B;B=C;while(1){C=m;m=B;c[C>>2]=c[B>>2];c[C+4>>2]=c[m+4>>2];if((y|0)<(o|0))break;C=o<<1|1;z=p+(C<<3)|0;q=z;u=C+1|0;if((u|0)<(r|0)){A=z+8|0;t=+f[z>>2]>+f[A>>2];D=t?u:C;E=t?A:q}else{D=C;E=q}if(+f[E>>2]>v)break;else{o=D;B=E}}f[B>>2]=v;c[B+4>>2]=s}}c[l>>2]=k;$a=j;return}k=c[c[a+28>>2]>>2]|0;l=e-(c[a+68>>2]|0)|0;v=1.0/(+w(+-+cb[c[(c[k>>2]|0)+8>>2]&3](k,i,l,((l|0)<0)<<31>>31))+1.0);Ec(a,b,d,c[(c[n>>2]|0)+(e<<5)+4>>2]|0,+x(+(1.0-v+1.0e-05))+g,h,i);Ec(a,b,d,c[(c[n>>2]|0)+(e<<5)+8>>2]|0,+x(+(v+1.0e-05))+g,h,i);$a=j;return}function Fc(a){a=a|0;var b=0;c[a>>2]=8556;b=c[a+16>>2]|0;if(b|0){c[a+20>>2]=b;ct(b)}b=c[a+4>>2]|0;if(!b){ct(a);return}c[a+8>>2]=b;ct(b);ct(a);return}function Gc(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0;rb[c[(c[a>>2]|0)+12>>2]&63](a,e);if((d|0)<=-1)F(13382,13399,330,13407);i=c[b>>2]|0;if((c[b+4>>2]|0)-i>>2>>>0<=d>>>0)F(13415,13399,331,13407);b=c[i+(d<<2)>>2]|0;if(h?(h=a+28|0,d=Nb(c[c[h>>2]>>2]|0,0,0)|0,E()|0,(d|0)>0):0){i=e+28|0;j=e+40|0;k=e+16|0;l=0;do{m=(((l|0)==(b|0)?1.0:0.0)-+f[(c[i>>2]|0)+(l<<2)>>2])*g;xd(j,c[c[h>>2]>>2]|0,l,0,m);n=c[c[h>>2]>>2]|0;wb[c[(c[n>>2]|0)+12>>2]&3](n,k,l,0,m);l=l+1|0}while((l|0)!=(d|0))}g=+f[(c[e+28>>2]|0)+(b<<2)>>2];if(g>1.0){o=0.0;p=-o;return +p}o=+f[(c[a+16>>2]|0)+(~~(g*512.0)>>>0<<2)>>2];p=-o;return +p}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0.0,g=0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0;d=b+28|0;zd(d,c[c[a+28>>2]>>2]|0,b+16|0);a=c[d>>2]|0;e=+f[a>>2];d=(c[b+32>>2]|0)-a|0;b=d>>2;g=(d|0)>0;if(!g)return;if((d|0)>4){h=e;i=1;while(1){j=+f[a+(i<<2)>>2];k=j<h?h:j;i=i+1|0;if((i|0)>=(b|0)){l=k;break}else h=k}}else l=e;if(!g)return;h=+w(+(e-l));f[a>>2]=h;e=h+0.0;if((d|0)>4){h=e;d=1;while(1){k=+w(+(+f[a+(d<<2)>>2]-l));f[a+(d<<2)>>2]=k;j=h+k;d=d+1|0;if((d|0)>=(b|0)){m=j;break}else h=j}}else m=e;if(!g)return;g=0;do{d=a+(g<<2)|0;f[d>>2]=+f[d>>2]/m;g=g+1|0}while((g|0)<(b|0));return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;d=$a;$a=$a+16|0;e=d;c[a>>2]=8556;g=a+4|0;h=a+8|0;i=a+12|0;j=a+16|0;k=a+20|0;l=a+24|0;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;c[a+28>>2]=b;b=at(2052)|0;a=b+2052|0;c[g>>2]=b;c[h>>2]=b;c[i>>2]=a;m=b;b=a;a=0;while(1){n=qv(a<<1|0,0,3)|0;o=1.0/(+w(+-((+(n>>>0)+4294967296.0*+(E()|0))*.001953125+-8.0))+1.0);f[e>>2]=o;if(m>>>0<b>>>0){f[m>>2]=o;c[h>>2]=m+4}else Jc(g,e);n=a+1|0;if(n>>>0>=513)break;m=c[h>>2]|0;b=c[i>>2]|0;a=n}a=c[j>>2]|0;if((c[l>>2]|0)-a>>2>>>0<513){i=(c[k>>2]|0)-a|0;b=at(2052)|0;if((i|0)>0)rv(b|0,a|0,i|0)|0;c[j>>2]=b;c[k>>2]=b+(i>>2<<2);c[l>>2]=b+2052;if(a|0)ct(a)}a=0;do{o=+x(+((+(a|0)+1.0e-05)*.001953125));f[e>>2]=o;b=c[k>>2]|0;if(b>>>0<(c[l>>2]|0)>>>0){f[b>>2]=o;c[k>>2]=b+4}else Jc(j,e);a=a+1|0}while(a>>>0<513);$a=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e|0;g=f>>2;h=g+1|0;if(h>>>0>1073741823)du(a);i=a+8|0;j=(c[i>>2]|0)-e|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0<h>>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{k=at(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=n+(g<<2)|0;c[k>>2]=c[b>>2];if((f|0)>0)rv(m|0,e|0,f|0)|0;c[a>>2]=n;c[d>>2]=k+4;c[i>>2]=n+(l<<2);if(!e)return;ct(e);return}function Kc(a,b){a=a|0;b=b|0;Ic(a,b);c[a>>2]=8584;return}function Lc(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.0,p=0.0,q=0,r=0;f=$a;$a=$a+16|0;g=f;Ic(a,b);c[a>>2]=8612;c[a+32>>2]=d;d=a+36|0;b=a+40|0;h=a+44|0;i=a+48|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a+52>>2]=-1;a=e+4|0;j=c[a>>2]|0;k=c[e>>2]|0;l=(j|0)==(k|0);m=k;if(!l){n=j-k>>3;k=0;o=0.0;do{j=m+(k<<3)|0;o=+u(+(+v(+(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0)))))+o;k=k+1|0}while(k>>>0<n>>>0);if(!l){l=m;m=0;do{n=l+(m<<3)|0;p=+u(+(+v(+(+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0)))))*1.0e7/o;if(p>0.0){n=0;do{c[g>>2]=m;k=c[b>>2]|0;if(k>>>0<(c[h>>2]|0)>>>0){c[k>>2]=m;c[b>>2]=k+4}else _b(d,g);n=n+1|0}while(p>+(n>>>0))}m=m+1|0;l=c[e>>2]|0}while(m>>>0<(c[a>>2]|0)-l>>3>>>0);q=c[b>>2]|0;r=c[d>>2]|0}else{q=0;r=0}}else{q=0;r=0}d=i;c[d>>2]=0;c[d+4>>2]=(q-r>>2)+-1;$a=f;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;Ic(a,b);c[a>>2]=8640;b=a+68|0;e=d+4|0;f=a+32|0;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b>>2]=(c[e>>2]|0)-(c[d>>2]|0)>>3;Nc(a,d);return}function Nc(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,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,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;e=$a;$a=$a+64|0;f=e+48|0;g=e+40|0;h=e+32|0;i=e+24|0;j=e+12|0;k=e;l=b+56|0;m=b+68|0;n=c[m>>2]|0;o=(n<<1)+-1|0;p=b+60|0;q=c[l>>2]|0;r=(c[p>>2]|0)-q>>5;if(o>>>0<=r>>>0)if(o>>>0<r>>>0){c[p>>2]=q+(o<<5);s=n;t=o}else{s=n;t=o}else{Oc(l,o-r|0);r=c[m>>2]|0;s=r;t=(r<<1)+-1|0}r=(s|0)>0;if(r){o=c[l>>2]|0;n=0;do{c[o+(n<<5)>>2]=-1;c[o+(n<<5)+4>>2]=-1;c[o+(n<<5)+8>>2]=-1;q=o+(n<<5)+16|0;c[q>>2]=-1530494976;c[q+4>>2]=232830;a[o+(n<<5)+24>>0]=0;n=n+1|0}while((n|0)<(t|0));if(r){n=c[d>>2]|0;d=c[l>>2]|0;o=0;do{q=n+(o<<3)|0;p=c[q+4>>2]|0;u=d+(o<<5)+16|0;c[u>>2]=c[q>>2];c[u+4>>2]=p;o=o+1|0}while((o|0)!=(s|0))}}if((s|0)<(t|0)){o=c[l>>2]|0;d=s;n=s+-1|0;p=s;while(1){if((n|0)>-1?(u=o+(n<<5)+16|0,q=c[u+4>>2]|0,v=o+(p<<5)+16|0,w=c[v+4>>2]|0,(q|0)<(w|0)|((q|0)==(w|0)?(c[u>>2]|0)>>>0<(c[v>>2]|0)>>>0:0)):0){x=n;y=n+-1|0;z=p}else{x=p;y=n;z=p+1|0}if((y|0)>-1){v=o+(y<<5)+16|0;u=c[v>>2]|0;w=c[v+4>>2]|0;v=o+(z<<5)+16|0;q=c[v>>2]|0;A=c[v+4>>2]|0;if((w|0)<(A|0)|(w|0)==(A|0)&u>>>0<q>>>0){B=u;C=w;D=y;F=y+-1|0;G=z}else{H=q;I=A;J=57}}else{A=o+(z<<5)+16|0;H=c[A>>2]|0;I=c[A+4>>2]|0;J=57}if((J|0)==57){J=0;B=H;C=I;D=z;F=y;G=z+1|0}c[o+(d<<5)+4>>2]=x;c[o+(d<<5)+8>>2]=D;A=o+(x<<5)+16|0;q=jv(B|0,C|0,c[A>>2]|0,c[A+4>>2]|0)|0;A=E()|0;w=o+(d<<5)+16|0;c[w>>2]=q;c[w+4>>2]=A;c[o+(x<<5)>>2]=d;c[o+(D<<5)>>2]=d;a[o+(D<<5)+24>>0]=1;d=d+1|0;if((d|0)==(t|0))break;else{n=F;p=G}}}if(!r){$a=e;return}r=j+4|0;G=j+8|0;p=k+4|0;F=k+8|0;n=b+36|0;t=b+40|0;d=b+32|0;D=b+48|0;o=b+52|0;x=b+44|0;b=h+4|0;C=i+4|0;B=s;s=0;a:while(1){c[j>>2]=0;c[r>>2]=0;c[G>>2]=0;c[k>>2]=0;c[p>>2]=0;c[F>>2]=0;z=c[l>>2]|0;y=c[z+(s<<5)>>2]|0;b:do if((y|0)!=-1){I=z;H=y;A=B;w=0;q=0;u=s;while(1){v=H-A|0;c[f>>2]=v;if(w>>>0<q>>>0){c[w>>2]=v;c[r>>2]=w+4;K=I}else{_b(j,f);K=c[l>>2]|0}v=K+(u<<5)+24|0;L=c[p>>2]|0;M=c[F>>2]|0;if((L|0)==(M<<5|0)){if((L+1|0)<0){J=29;break a}N=M<<6;M=L+32&-32;Pc(k,L>>>0<1073741823?(N>>>0<M>>>0?M:N):2147483647);O=c[p>>2]|0}else O=L;c[p>>2]=O+1;L=(c[k>>2]|0)+(O>>>5<<2)|0;N=1<<(O&31);if(!(a[v>>0]|0))P=c[L>>2]&~N;else P=c[L>>2]|N;c[L>>2]=P;L=c[l>>2]|0;N=c[L+(u<<5)>>2]|0;v=c[L+(N<<5)>>2]|0;if((v|0)==-1)break b;I=L;H=v;A=c[m>>2]|0;w=c[r>>2]|0;q=c[G>>2]|0;u=N}}while(0);Q=c[n>>2]|0;if((Q|0)==(c[t>>2]|0))Qc(d,j);else{c[Q>>2]=0;y=Q+4|0;c[y>>2]=0;z=Q+8|0;c[z>>2]=0;u=(c[r>>2]|0)-(c[j>>2]|0)|0;q=u>>2;if(u|0){if(q>>>0>1073741823){J=39;break}w=at(u)|0;c[y>>2]=w;c[Q>>2]=w;c[z>>2]=w+(q<<2);q=c[j>>2]|0;z=(c[r>>2]|0)-q|0;if((z|0)>0){rv(w|0,q|0,z|0)|0;c[y>>2]=w+(z>>>2<<2)}}c[n>>2]=(c[n>>2]|0)+12}R=c[D>>2]|0;if((R|0)==(c[o>>2]|0))Sc(x,k);else{c[R>>2]=0;z=R+4|0;c[z>>2]=0;w=R+8|0;c[w>>2]=0;y=c[p>>2]|0;if(!y)S=R;else{if((y|0)<0){J=47;break}q=((y+-1|0)>>>5)+1|0;c[R>>2]=at(q<<2)|0;c[z>>2]=0;c[w>>2]=q;q=c[k>>2]|0;c[h>>2]=q;c[b>>2]=0;w=c[p>>2]|0;c[i>>2]=q+(w>>>5<<2);c[C>>2]=w&31;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];Rc(R,g,f);S=c[D>>2]|0}c[D>>2]=S+12}w=c[k>>2]|0;if(w|0)ct(w);w=c[j>>2]|0;if(w|0){c[r>>2]=w;ct(w)}s=s+1|0;B=c[m>>2]|0;if((s|0)>=(B|0)){J=21;break}}if((J|0)==21){$a=e;return}else if((J|0)==29)du(k);else if((J|0)==39)du(Q);else if((J|0)==47)du(R)}function Oc(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=a+8|0;e=c[d>>2]|0;f=a+4|0;g=c[f>>2]|0;if(e-g>>5>>>0>=b>>>0){h=g;i=b;do{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;h=(c[f>>2]|0)+32|0;c[f>>2]=h;i=i+-1|0}while((i|0)!=0);return}i=c[a>>2]|0;h=g-i|0;g=h>>5;j=g+b|0;if(j>>>0>134217727)du(a);k=e-i|0;e=k>>4;l=k>>5>>>0<67108863?(e>>>0<j>>>0?j:e):134217727;do if(l)if(l>>>0>134217727){e=G(8)|0;ht(e,14992);c[e>>2]=13e3;J(e|0,8288,153)}else{e=at(l<<5)|0;m=e;n=e;break}else{m=0;n=0}while(0);tv(n+(g<<5)|0,0,b<<5|0)|0;if((h|0)>0)rv(m|0,i|0,h|0)|0;c[a>>2]=n;c[f>>2]=n+(j<<5);c[d>>2]=n+(l<<5);if(!i)return;ct(i);return}function Pc(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;d=$a;$a=$a+32|0;e=d+16|0;f=d+8|0;g=d;h=a+8|0;if(c[h>>2]<<5>>>0>=b>>>0){$a=d;return}c[e>>2]=0;i=e+4|0;c[i>>2]=0;j=e+8|0;c[j>>2]=0;if((b|0)<0)du(e);k=((b+-1|0)>>>5)+1|0;c[e>>2]=at(k<<2)|0;c[i>>2]=0;c[j>>2]=k;k=c[a>>2]|0;c[f>>2]=k;c[f+4>>2]=0;b=a+4|0;l=c[b>>2]|0;c[g>>2]=k+(l>>>5<<2);c[g+4>>2]=l&31;Uc(e,f,g);g=c[a>>2]|0;c[a>>2]=c[e>>2];c[e>>2]=g;e=c[b>>2]|0;c[b>>2]=c[i>>2];c[i>>2]=e;e=c[h>>2]|0;c[h>>2]=c[j>>2];c[j>>2]=e;if(g|0)ct(g);$a=d;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;d=a+4|0;e=c[d>>2]|0;f=c[a>>2]|0;g=(e-f|0)/12|0;h=g+1|0;i=f;j=e;if(h>>>0>357913941)du(a);e=a+8|0;k=((c[e>>2]|0)-f|0)/12|0;l=k<<1;m=k>>>0<178956970?(l>>>0<h>>>0?h:l):357913941;do if(m)if(m>>>0>357913941){l=G(8)|0;ht(l,14992);c[l>>2]=13e3;J(l|0,8288,153)}else{n=at(m*12|0)|0;break}else n=0;while(0);l=n+(g*12|0)|0;h=n+(m*12|0)|0;c[l>>2]=0;m=n+(g*12|0)+4|0;c[m>>2]=0;k=n+(g*12|0)+8|0;c[k>>2]=0;g=c[b>>2]|0;n=(c[b+4>>2]|0)-g|0;b=n>>2;if(n|0){if(b>>>0>1073741823)du(l);o=at(n)|0;c[m>>2]=o;c[l>>2]=o;c[k>>2]=o+(b<<2);if((n|0)>0){rv(o|0,g|0,n|0)|0;c[m>>2]=o+(n>>>2<<2)}}n=l+12|0;if((j|0)!=(i|0)){o=l;m=j;do{j=o;o=o+-12|0;g=m;m=m+-12|0;c[o>>2]=0;b=j+-8|0;c[b>>2]=0;k=j+-4|0;c[k>>2]=0;c[o>>2]=c[m>>2];j=g+-8|0;c[b>>2]=c[j>>2];b=g+-4|0;c[k>>2]=c[b>>2];c[b>>2]=0;c[j>>2]=0;c[m>>2]=0}while((m|0)!=(i|0));i=c[a>>2]|0;m=c[d>>2]|0;j=i;c[a>>2]=o;c[d>>2]=n;c[e>>2]=h;if((m|0)==(j|0))p=i;else{o=m;do{m=o;o=o+-12|0;b=c[o>>2]|0;if(b|0){c[m+-8>>2]=b;ct(b)}}while((o|0)!=(j|0));p=i}}else{c[a>>2]=l;c[d>>2]=n;c[e>>2]=h;p=f}if(!p)return;ct(p);return}function Rc(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,r=0,s=0,t=0,u=0,v=0,w=0;e=$a;$a=$a+48|0;f=e+40|0;g=e+32|0;h=e+8|0;i=e;j=e+24|0;k=e+16|0;l=a+4|0;m=c[l>>2]|0;n=b;b=c[n>>2]|0;o=c[n+4>>2]|0;n=d;d=c[n>>2]|0;p=c[n+4>>2]|0;n=d-b<<3;c[l>>2]=m-o+p+n;l=(c[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;c[q>>2]=b;c[q+4>>2]=o;q=i;c[q>>2]=d;c[q+4>>2]=p;c[j>>2]=m;c[j+4>>2]=a;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];Tc(k,g,f,j);$a=e;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=l;s=n;t=j;u=0}else{b=32-o|0;p=(j|0)<(b|0)?j:b;f=-1>>>(b-p|0)&-1<<o;c[l>>2]=c[l>>2]&~f|c[n>>2]&f;f=p+o|0;r=l+(f>>>5<<2)|0;s=n+4|0;t=j-p|0;u=f&31}f=(t|0)/32|0;sv(r|0,s|0,f<<2|0)|0;p=t-(f<<5)|0;t=r+(f<<2)|0;r=t;if((p|0)>0){j=-1>>>(32-p|0);c[t>>2]=c[t>>2]&~j|c[s+(f<<2)>>2]&j;v=r;w=p}else{v=r;w=u}}else{v=m;w=o}c[k>>2]=v;c[k+4>>2]=w;$a=e;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,r=0,s=0,t=0,u=0,v=0,w=0;d=$a;$a=$a+32|0;e=d+24|0;f=d+16|0;g=d+8|0;h=d;i=a+4|0;j=c[i>>2]|0;k=c[a>>2]|0;l=(j-k|0)/12|0;m=l+1|0;n=k;o=j;if(m>>>0>357913941)du(a);j=a+8|0;p=((c[j>>2]|0)-k|0)/12|0;k=p<<1;q=p>>>0<178956970?(k>>>0<m>>>0?m:k):357913941;do if(q)if(q>>>0>357913941){k=G(8)|0;ht(k,14992);c[k>>2]=13e3;J(k|0,8288,153)}else{r=at(q*12|0)|0;break}else r=0;while(0);k=r+(l*12|0)|0;m=r+(q*12|0)|0;c[k>>2]=0;q=r+(l*12|0)+4|0;c[q>>2]=0;p=r+(l*12|0)+8|0;c[p>>2]=0;l=c[b+4>>2]|0;do if(l)if((l|0)<0)du(k);else{r=((l+-1|0)>>>5)+1|0;c[k>>2]=at(r<<2)|0;c[q>>2]=0;c[p>>2]=r;r=c[b>>2]|0;c[g>>2]=r;c[g+4>>2]=0;c[h>>2]=r+(l>>>5<<2);c[h+4>>2]=l&31;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];Rc(k,f,e);s=c[i>>2]|0;t=c[a>>2]|0;break}else{s=o;t=n}while(0);n=k+12|0;if((s|0)==(t|0)){u=k;v=t;w=s}else{o=k;k=s;do{s=o;o=o+-12|0;e=k;k=k+-12|0;c[o>>2]=c[k>>2];f=e+-8|0;c[s+-8>>2]=c[f>>2];h=e+-4|0;c[s+-4>>2]=c[h>>2];c[k>>2]=0;c[f>>2]=0;c[h>>2]=0}while((k|0)!=(t|0));u=o;v=c[a>>2]|0;w=c[i>>2]|0}c[a>>2]=u;c[i>>2]=n;c[j>>2]=m;m=v;if((w|0)!=(m|0)){j=w;do{j=j+-12|0;w=c[j>>2]|0;if(w|0)ct(w)}while((j|0)!=(m|0))}if(!v){$a=d;return}ct(v);$a=d;return}function Tc(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;f=c[b>>2]|0;g=c[b+4>>2]|0;h=((c[d>>2]|0)-f<<3)+(c[d+4>>2]|0)-g|0;d=f;if((h|0)<=0){i=c[e+4>>2]|0;j=c[e>>2]|0;c[a>>2]=j;k=a+4|0;c[k>>2]=i;return}if(!g){f=e+4|0;l=c[f>>2]|0;m=d;n=f;o=h}else{f=32-g|0;p=(h|0)<(f|0)?h:f;q=-1>>>(f-p|0)&-1<<g&c[d>>2];f=e+4|0;r=c[f>>2]|0;s=32-r|0;t=s>>>0<p>>>0?s:p;u=c[e>>2]|0;c[u>>2]=c[u>>2]&~(-1>>>(s-t|0)&-1<<r)|(r>>>0>g>>>0?q<<r-g:q>>>(g-r|0));s=t+r|0;r=u+(s>>>5<<2)|0;c[e>>2]=r;u=s&31;c[f>>2]=u;s=p-t|0;if((s|0)>0){c[r>>2]=c[r>>2]&~(-1>>>(32-s|0))|q>>>(t+g|0);c[f>>2]=s;v=s}else v=u;u=d+4|0;c[b>>2]=u;l=v;m=u;n=f;o=h-p|0}p=32-l|0;h=-1<<l;if((o|0)>31){f=~h;u=c[e>>2]|0;v=~o;d=o+((v|0)>-64?v:-64)+32|0;v=(d>>>5)+1|0;s=o+-32-(d&-32)|0;d=c[u>>2]|0;g=o;t=u;q=m;while(1){r=c[q>>2]|0;c[t>>2]=d&f|r<<l;t=t+4|0;d=c[t>>2]&h|r>>>p;c[t>>2]=d;if((g|0)<=63)break;else{g=g+-32|0;q=q+4|0}}q=m+(v<<2)|0;c[b>>2]=q;c[e>>2]=u+(v<<2);w=q;x=s}else{w=m;x=o}if((x|0)<=0){i=l;j=c[e>>2]|0;c[a>>2]=j;k=a+4|0;c[k>>2]=i;return}o=c[w>>2]&-1>>>(32-x|0);w=(p|0)<(x|0)?p:x;m=c[e>>2]|0;c[m>>2]=c[m>>2]&~(-1>>>(p-w|0)&h)|o<<l;h=w+l|0;l=m+(h>>>5<<2)|0;c[e>>2]=l;m=h&31;c[n>>2]=m;h=x-w|0;if((h|0)<=0){i=m;j=c[e>>2]|0;c[a>>2]=j;k=a+4|0;c[k>>2]=i;return}c[l>>2]=c[l>>2]&~(-1>>>(32-h|0))|o>>>w;c[n>>2]=h;i=h;j=c[e>>2]|0;c[a>>2]=j;k=a+4|0;c[k>>2]=i;return}function Uc(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,r=0,s=0,t=0,u=0;e=$a;$a=$a+32|0;f=e+24|0;g=e+16|0;h=e+8|0;i=e;j=a+4|0;k=c[j>>2]|0;l=c[b>>2]|0;m=c[b+4>>2]|0;b=c[d>>2]|0;n=c[d+4>>2]|0;d=n-m+(b-l<<3)|0;c[j>>2]=d+k;j=(c[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){c[f>>2]=l;c[f+4>>2]=m;c[g>>2]=b;c[g+4>>2]=n;c[h>>2]=k;c[h+4>>2]=a;Vc(i,f,g,h);$a=e;return}h=l;if((d|0)>0){if(!m){o=l;p=h;q=d;r=j;s=0}else{l=32-m|0;g=(d|0)<(l|0)?d:l;f=-1>>>(l-g|0)&-1<<m;c[j>>2]=c[j>>2]&~f|c[h>>2]&f;f=g+m|0;l=h+4|0;o=l;p=l;q=d-g|0;r=j+(f>>>5<<2)|0;s=f&31}f=(q|0)/32|0;sv(r|0,o|0,f<<2|0)|0;o=q-(f<<5)|0;q=r+(f<<2)|0;r=q;if((o|0)>0){j=-1>>>(32-o|0);c[q>>2]=c[q>>2]&~j|c[p+(f<<2)>>2]&j;t=r;u=o}else{t=r;u=s}}else{t=k;u=m}c[i>>2]=t;c[i+4>>2]=u;$a=e;return}function Vc(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;f=c[b>>2]|0;g=b+4|0;h=c[g>>2]|0;i=((c[d>>2]|0)-f<<3)+(c[d+4>>2]|0)-h|0;d=f;if((i|0)<=0){j=c[e+4>>2]|0;k=c[e>>2]|0;c[a>>2]=k;l=a+4|0;c[l>>2]=j;return}if(!h){f=e+4|0;m=c[f>>2]|0;n=d;o=f;p=i}else{f=32-h|0;q=(i|0)<(f|0)?i:f;r=-1>>>(f-q|0)&-1<<h&c[d>>2];d=e+4|0;f=c[d>>2]|0;s=32-f|0;t=s>>>0<q>>>0?s:q;u=c[e>>2]|0;c[u>>2]=c[u>>2]&~(-1>>>(s-t|0)&-1<<f)|(f>>>0>h>>>0?r<<f-h:r>>>(h-f|0));h=t+f|0;f=u+(h>>>5<<2)|0;c[e>>2]=f;u=h&31;c[d>>2]=u;h=q-t|0;if((h|0)>0){c[f>>2]=r>>>((c[g>>2]|0)+t|0)|c[f>>2]&~(-1>>>(32-h|0));c[d>>2]=h;v=h}else v=u;u=(c[b>>2]|0)+4|0;c[b>>2]=u;m=v;n=u;o=d;p=i-q|0}q=32-m|0;i=-1<<m;if((p|0)>31){d=~i;u=~p;v=p+((u|0)>-64?u:-64)+32&-32;u=n;h=p;while(1){f=c[u>>2]|0;t=c[e>>2]|0;c[t>>2]=c[t>>2]&d|f<<m;g=t+4|0;c[e>>2]=g;c[g>>2]=c[g>>2]&i|f>>>q;u=(c[b>>2]|0)+4|0;c[b>>2]=u;if((h|0)<=63)break;else h=h+-32|0}w=u;x=p+-32-v|0}else{w=n;x=p}if((x|0)<=0){j=m;k=c[e>>2]|0;c[a>>2]=k;l=a+4|0;c[l>>2]=j;return}p=c[w>>2]&-1>>>(32-x|0);w=(q|0)<(x|0)?q:x;n=c[e>>2]|0;c[n>>2]=c[n>>2]&~(-1>>>(q-w|0)&i)|p<<m;i=w+m|0;m=n+(i>>>5<<2)|0;c[e>>2]=m;n=i&31;c[o>>2]=n;i=x-w|0;if((i|0)<=0){j=n;k=c[e>>2]|0;c[a>>2]=k;l=a+4|0;c[l>>2]=j;return}c[m>>2]=c[m>>2]&~(-1>>>(32-i|0))|p>>>w;c[o>>2]=i;j=i;k=c[e>>2]|0;c[a>>2]=k;l=a+4|0;c[l>>2]=j;return}function Wc(a,b){a=a|0;b=b|0;Ic(a,b);c[a>>2]=8668;return}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=z(c[a+4>>2]|0,b)|0;if(((c[a+32>>2]|0)+-1|0)==(b|0)){b=z(c[a+36>>2]|0,e)|0;f=(z(c[a+40>>2]|0,d&255)|0)+b|0;g=a+44|0;h=c[g>>2]|0;i=h+(f<<2)|0;return i|0}else{f=z(c[a+36>>2]|0,e+(d&255)|0)|0;g=a+44|0;h=c[g>>2]|0;i=h+(f<<2)|0;return i|0}return 0}function Yc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,A=0.0;i=c[b+36>>2]|0;j=c[b+32>>2]|0;k=e+(z(j,g)|0)|0;if((j|0)<=0){l=0.0;m=l*h;return +m}g=j+-1|0;e=c[b+4>>2]|0;n=b+40|0;o=c[d>>2]|0;d=c[b+44>>2]|0;b=i;p=0;q=0.0;while(1){r=a[k+p>>0]|0;s=z(e,p)|0;if((g|0)==(p|0)){t=z(s,i)|0;u=c[n>>2]|0;v=u;w=(z(u,r&255)|0)+t|0}else{v=b;w=z(s+(r&255)|0,i)|0}r=d+(w<<2)|0;if((v|0)>0){s=z(p,i)|0;t=0;x=q;while(1){y=x+ +f[o+(t+s<<2)>>2]*+f[r+(t<<2)>>2];t=t+1|0;if((t|0)==(v|0)){A=y;break}else x=y}}else A=q;p=p+1|0;if((p|0)==(j|0)){l=A;break}else{b=v;q=A}}m=l*h;return +m}function Zc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var 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;i=c[b+36>>2]|0;j=c[b+32>>2]|0;k=e+(z(j,g)|0)|0;if((j|0)<=0)return;g=j+-1|0;e=b+40|0;l=b+44|0;m=c[b+4>>2]|0;b=i;n=0;while(1){o=a[k+n>>0]|0;p=z(m,n)|0;if((g|0)==(n|0)){q=z(p,i)|0;r=c[e>>2]|0;s=r;t=(z(r,o&255)|0)+q|0}else{s=b;t=z(p+(o&255)|0,i)|0}o=(c[l>>2]|0)+(t<<2)|0;if((s|0)>0){p=z(n,i)|0;q=c[d>>2]|0;r=0;do{u=q+(r+p<<2)|0;f[u>>2]=+f[o+(r<<2)>>2]*h+ +f[u>>2];r=r+1|0}while((r|0)!=(s|0))}n=n+1|0;if((n|0)==(j|0))break;else b=s}return}function _c(a,b){a=a|0;b=b|0;var d=0;Gj(b,a+28|0,4)|0;Gj(b,a+32|0,4)|0;Gj(b,a+36|0,4)|0;Gj(b,a+40|0,4)|0;d=c[a+44>>2]|0;Gj(b,d,(c[a+48>>2]|0)-d|0)|0;return}function $c(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;d=a+28|0;Bj(b,d,4)|0;Bj(b,a+32|0,4)|0;Bj(b,a+36|0,4)|0;Bj(b,a+40|0,4)|0;e=a+44|0;f=z(c[a+4>>2]|0,c[d>>2]|0)|0;d=a+48|0;a=c[d>>2]|0;g=c[e>>2]|0;h=a-g>>2;i=g;if(f>>>0<=h>>>0)if(f>>>0<h>>>0){j=i+(f<<2)|0;c[d>>2]=j;k=i;l=j;m=g}else{k=i;l=a;m=g}else{Sb(e,f-h|0);h=c[e>>2]|0;k=h;l=c[d>>2]|0;m=h}if((l|0)==(m|0))return;m=k;k=0;do{Bj(b,m+(k<<2)|0,4)|0;k=k+1|0;m=c[e>>2]|0}while(k>>>0<(c[d>>2]|0)-m>>2>>>0);return}function ad(a){a=a|0;var b=0;c[a>>2]=8696;b=c[a+24>>2]|0;if(!b)return;c[a+28>>2]=b;ct(b);return}function bd(a){a=a|0;var b=0;c[a>>2]=8696;b=c[a+24>>2]|0;if(!b){ct(a);return}c[a+28>>2]=b;ct(b);ct(a);return}function cd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0;if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295))F(13844,13585,89,13778);g=a+8|0;i=c[g+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(c[g>>2]|0)>>>0>d>>>0:0)))F(13785,13585,90,13778);g=c[b>>2]|0;i=(c[b+4>>2]|0)-g|0;b=i>>2;j=a+16|0;k=g;if(!((c[j+4>>2]|0)==0?(c[j>>2]|0)==(b|0):0))F(13792,13585,91,13778);a:do if(!i)l=0.0;else{j=iv(b|0,0,d|0,e|0)|0;g=E()|0;m=c[a+24>>2]|0;n=(c[a+28>>2]|0)-m>>2;o=m;m=0;p=0;q=0.0;while(1){r=jv(m|0,p|0,j|0,g|0)|0;s=E()|0;if(!((s|0)<0|(s|0)==0&r>>>0<n>>>0))break;t=q+ +f[o+(r<<2)>>2]*+f[k+(m<<2)>>2];m=jv(m|0,p|0,1,0)|0;p=E()|0;if(!(p>>>0<0|(p|0)==0&m>>>0<b>>>0)){l=t;break a}else q=t}F(13540,13566,45,13582)}while(0);if(((f[h>>2]=l,c[h>>2]|0)&2147483647)>>>0>2139095040){b=G(8)|0;jt(b,13674);J(b|0,8256,155)}else return +l;return +(0.0)}function dd(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0.0,m=0;if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295))F(13844,13585,103,13659);h=a+8|0;i=c[h+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(c[h>>2]|0)>>>0>d>>>0:0)))F(13785,13585,104,13659);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;b=i>>2;j=a+16|0;k=h;if(!((c[j+4>>2]|0)==0?(c[j>>2]|0)==(b|0):0))F(13792,13585,105,13659);if(!i)return;i=iv(b|0,0,d|0,e|0)|0;e=E()|0;d=c[a+24>>2]|0;a=0;j=0;do{l=+f[k+(a<<2)>>2]*g;h=jv(a|0,j|0,i|0,e|0)|0;E()|0;m=d+(h<<2)|0;f[m>>2]=l+ +f[m>>2];a=jv(a|0,j|0,1,0)|0;j=E()|0}while(j>>>0<0|(j|0)==0&a>>>0<b>>>0);return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((d|0)<=-1)F(13844,13585,112,13600);e=((d|0)<0)<<31>>31;g=Nb(a,0,0)|0;h=E()|0;if(!((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0))F(13615,13585,113,13600);g=(c[b+4>>2]|0)-(c[b>>2]|0)>>2;h=Nb(a,1,0)|0;if(!((h|0)==(g|0)&(E()|0)==0))F(13633,13585,114,13600);g=a+16|0;h=c[g>>2]|0;i=c[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0))return;g=c[a+24>>2]|0;j=(c[a+28>>2]|0)-g>>2;a=g;g=c[b>>2]|0;b=iv(h|0,i|0,d|0,e|0)|0;e=E()|0;d=0;k=0;while(1){l=jv(b|0,e|0,d|0,k|0)|0;m=E()|0;if(!((m|0)<0|(m|0)==0&l>>>0<j>>>0)){n=11;break}m=g+(d<<2)|0;f[m>>2]=+f[a+(l<<2)>>2]+ +f[m>>2];d=jv(d|0,k|0,1,0)|0;k=E()|0;if(!((k|0)<(i|0)|(k|0)==(i|0)&d>>>0<h>>>0)){n=9;break}}if((n|0)==9)return;else if((n|0)==11)F(13540,13566,45,13582)}function fd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d|0)<=-1)F(13844,13585,121,13600);g=((d|0)<0)<<31>>31;h=Nb(a,0,0)|0;i=E()|0;if(!((i|0)>(g|0)|(i|0)==(g|0)&h>>>0>d>>>0))F(13615,13585,122,13600);h=(c[b+4>>2]|0)-(c[b>>2]|0)>>2;i=Nb(a,1,0)|0;if(!((i|0)==(h|0)&(E()|0)==0))F(13633,13585,123,13600);h=a+16|0;i=c[h>>2]|0;j=c[h+4>>2]|0;if(!((j|0)>0|(j|0)==0&i>>>0>0))return;h=c[a+24>>2]|0;k=(c[a+28>>2]|0)-h>>2;a=h;h=c[b>>2]|0;b=iv(i|0,j|0,d|0,g|0)|0;g=E()|0;d=0;l=0;while(1){m=jv(b|0,g|0,d|0,l|0)|0;n=E()|0;if(!((n|0)<0|(n|0)==0&m>>>0<k>>>0)){o=11;break}n=h+(d<<2)|0;f[n>>2]=+f[a+(m<<2)>>2]*e+ +f[n>>2];d=jv(d|0,l|0,1,0)|0;l=E()|0;if(!((l|0)<(j|0)|(l|0)==(j|0)&d>>>0<i>>>0)){o=9;break}}if((o|0)==9)return;else if((o|0)==11)F(13540,13566,45,13582)}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;Gj(b,d,8)|0;e=a+16|0;Gj(b,e,8)|0;f=c[a+24>>2]|0;a=d;d=e;e=iv(c[d>>2]|0,c[d+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;E()|0;Gj(b,f,e<<2)|0;return}function hd(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,r=0,s=0,t=0;d=$a;$a=$a+16|0;e=d;f=a+8|0;Bj(b,f,8)|0;g=a+16|0;Bj(b,g,8)|0;h=f;i=g;j=iv(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;E()|0;c[e>>2]=0;h=e+4|0;c[h>>2]=0;i=e+8|0;c[i>>2]=0;do if(j)if(j>>>0>1073741823)du(e);else{k=j<<2;l=at(k)|0;c[e>>2]=l;m=l+(j<<2)|0;c[i>>2]=m;tv(l|0,0,k|0)|0;c[h>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);h=a+24|0;i=c[h>>2]|0;if(!i){p=a+28|0;q=a+32|0;r=j;c[h>>2]=n;c[p>>2]=o;c[q>>2]=o;s=n;t=r<<2;Bj(b,s,t)|0;$a=d;return}else{j=a+28|0;c[j>>2]=i;ct(i);i=a+32|0;c[i>>2]=0;c[j>>2]=0;c[h>>2]=0;a=f;f=g;g=iv(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;E()|0;p=j;q=i;r=g;c[h>>2]=n;c[p>>2]=o;c[q>>2]=o;s=n;t=r<<2;Bj(b,s,t)|0;$a=d;return}}function id(a,b){a=a|0;b=b|0;var d=0,e=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;d=$a;$a=$a+16|0;e=d;g=a+8|0;h=g;i=Hb(Dj(b,c[h>>2]|0,c[h+4>>2]|0)|0,15127,1)|0;h=a+16|0;j=h;k=Dj(i,c[j>>2]|0,c[j+4>>2]|0)|0;rj(e,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=Pk(e,26520)|0;i=gb[c[(c[j>>2]|0)+28>>2]&31](j,10)|0;Qk(e);Fj(k,i)|0;wj(k)|0;k=g;i=c[k+4>>2]|0;if(!((i|0)>0|(i|0)==0&(c[k>>2]|0)>>>0>0)){$a=d;return}k=a+24|0;i=a+28|0;a=0;j=0;a:while(1){l=h;m=c[l>>2]|0;n=c[l+4>>2]|0;if((n|0)>0|(n|0)==0&m>>>0>0){l=0;o=0;p=m;m=n;do{if((l|0)==0&(o|0)==0){q=p;r=m}else{Hb(b,15127,1)|0;n=h;q=c[n>>2]|0;r=c[n+4>>2]|0}n=iv(q|0,r|0,a|0,j|0)|0;s=jv(n|0,E()|0,l|0,o|0)|0;n=E()|0;t=c[k>>2]|0;if(!((n|0)<0|((n|0)==0?s>>>0<(c[i>>2]|0)-t>>2>>>0:0))){u=10;break a}Ej(b,+f[t+(s<<2)>>2])|0;l=jv(l|0,o|0,1,0)|0;o=E()|0;s=h;p=c[s>>2]|0;m=c[s+4>>2]|0}while((o|0)<(m|0)|(o|0)==(m|0)&l>>>0<p>>>0)}rj(e,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);p=Pk(e,26520)|0;l=gb[c[(c[p>>2]|0)+28>>2]&31](p,10)|0;Qk(e);Fj(b,l)|0;wj(b)|0;a=jv(a|0,j|0,1,0)|0;j=E()|0;l=g;p=c[l+4>>2]|0;if(!((j|0)<(p|0)|((j|0)==(p|0)?a>>>0<(c[l>>2]|0)>>>0:0))){u=3;break}}if((u|0)==3){$a=d;return}else if((u|0)==10)F(13540,13566,45,13582)}function jd(a){a=a|0;Mb(a,0,0,0,0);c[a>>2]=8696;c[a+24>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;return}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=8740;b=c[a+44>>2]|0;if(b|0){c[a+48>>2]=b;ct(b)}b=c[a+32>>2]|0;if(b|0){c[a+36>>2]=b;ct(b)}b=a+28|0;d=c[b>>2]|0;c[b>>2]=0;if(d|0){b=c[d+44>>2]|0;if(b|0){c[d+48>>2]=b;ct(b)}ct(d)}d=a+24|0;a=c[d>>2]|0;c[d>>2]=0;if(!a)return;d=c[a+44>>2]|0;if(d|0){c[a+48>>2]=d;ct(d)}ct(a);return}function ld(a){a=a|0;kd(a);ct(a);return}function md(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0;if(!((g|0)>-1|(g|0)==-1&e>>>0>4294967295))F(13844,13763,53,13778);h=b+8|0;i=c[h+4>>2]|0;if(!((i|0)>(g|0)|((i|0)==(g|0)?(c[h>>2]|0)>>>0>e>>>0:0)))F(13785,13763,54,13778);h=b+16|0;if(!((c[h+4>>2]|0)==0?(c[h>>2]|0)==((c[d+4>>2]|0)-(c[d>>2]|0)>>2|0):0))F(13792,13763,55,13778);if(!(a[b+56>>0]|0)){j=e;k=1.0;l=b+24|0;m=c[l>>2]|0;n=b+32|0;o=c[n>>2]|0;p=+Yc(m,d,o,j,k);return +p}else{j=e;k=+f[(Xc(c[b+28>>2]|0,0,a[(c[b+44>>2]|0)+e>>0]|0)|0)>>2];l=b+24|0;m=c[l>>2]|0;n=b+32|0;o=c[n>>2]|0;p=+Yc(m,d,o,j,k);return +p}return +(0.0)}function nd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;d=G(8)|0;jt(d,13716);J(d|0,8256,155)}function od(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0;if(!(a[b+56>>0]|0))g=1.0;else g=+f[(Xc(c[b+28>>2]|0,0,a[(c[b+44>>2]|0)+e>>0]|0)|0)>>2];Zc(c[b+24>>2]|0,d,c[b+32>>2]|0,e,g);return}function pd(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0.0;if(!(a[b+56>>0]|0))h=1.0;else h=+f[(Xc(c[b+28>>2]|0,0,a[(c[b+44>>2]|0)+e>>0]|0)|0)>>2];Zc(c[b+24>>2]|0,d,c[b+32>>2]|0,e,h*g);return}function qd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+56|0;Gj(d,e,1)|0;f=b+8|0;Gj(d,f,8)|0;Gj(d,b+16|0,8)|0;g=b+60|0;Gj(d,g,4)|0;Gj(d,c[b+32>>2]|0,c[g>>2]|0)|0;_c(c[b+24>>2]|0,d);if(!(a[e>>0]|0))return;Gj(d,c[b+44>>2]|0,c[f>>2]|0)|0;_c(c[b+28>>2]|0,d);return}function rd(b,d){b=b|0;d=d|0;var e=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;e=$a;$a=$a+16|0;g=e;h=b+56|0;Bj(d,h,1)|0;i=b+8|0;Bj(d,i,8)|0;Bj(d,b+16|0,8)|0;j=b+60|0;Bj(d,j,4)|0;k=c[j>>2]|0;c[g>>2]=0;l=g+4|0;c[l>>2]=0;m=g+8|0;c[m>>2]=0;if(!k)n=0;else{if((k|0)<0)du(g);o=at(k)|0;c[l>>2]=o;c[g>>2]=o;c[m>>2]=o+k;p=o;o=k;do{a[p>>0]=0;p=(c[l>>2]|0)+1|0;c[l>>2]=p;o=o+-1|0}while((o|0)!=0);n=p}p=b+32|0;o=c[p>>2]|0;if(!o){q=b+36|0;r=b+40|0}else{l=b+36|0;c[l>>2]=o;ct(o);o=b+40|0;c[o>>2]=0;c[l>>2]=0;c[p>>2]=0;q=l;r=o}o=c[g>>2]|0;c[p>>2]=o;c[q>>2]=n;c[r>>2]=c[m>>2];Bj(d,o,c[j>>2]|0)|0;j=at(60)|0;c[j>>2]=8;c[j+4>>2]=256;c[j+8>>2]=256;c[j+12>>2]=65536;c[j+16>>2]=1234;c[j+20>>2]=25;f[j+24>>2]=1.0000000116860974e-07;c[j+44>>2]=0;c[j+48>>2]=0;c[j+52>>2]=0;c[j+56>>2]=1;o=b+24|0;m=c[o>>2]|0;c[o>>2]=j;if(!m)s=j;else{j=c[m+44>>2]|0;if(j|0){c[m+48>>2]=j;ct(j)}ct(m);s=c[o>>2]|0}$c(s,d);if(!(a[h>>0]|0)){$a=e;return}h=c[i>>2]|0;c[g>>2]=0;s=g+4|0;c[s>>2]=0;o=g+8|0;c[o>>2]=0;if(!h)t=0;else{if((h|0)<0)du(g);m=at(h)|0;c[s>>2]=m;c[g>>2]=m;c[o>>2]=m+h;j=m;m=h;do{a[j>>0]=0;j=(c[s>>2]|0)+1|0;c[s>>2]=j;m=m+-1|0}while((m|0)!=0);t=j}j=b+44|0;m=c[j>>2]|0;if(!m){u=b+48|0;v=b+52|0}else{s=b+48|0;c[s>>2]=m;ct(m);m=b+52|0;c[m>>2]=0;c[s>>2]=0;c[j>>2]=0;u=s;v=m}m=c[g>>2]|0;c[j>>2]=m;c[u>>2]=t;c[v>>2]=c[o>>2];Bj(d,m,c[i>>2]|0)|0;i=at(60)|0;c[i>>2]=8;c[i+4>>2]=256;c[i+8>>2]=256;c[i+12>>2]=65536;c[i+16>>2]=1234;c[i+20>>2]=25;f[i+24>>2]=1.0000000116860974e-07;c[i+44>>2]=0;c[i+48>>2]=0;c[i+52>>2]=0;c[i+56>>2]=1;m=b+28|0;b=c[m>>2]|0;c[m>>2]=i;if(!b)w=i;else{i=c[b+44>>2]|0;if(i|0){c[b+48>>2]=i;ct(i)}ct(b);w=c[m>>2]|0}$c(w,d);$a=e;return}function sd(a,b){a=a|0;b=b|0;b=G(8)|0;jt(b,13716);J(b|0,8256,155)}function td(b){b=b|0;var d=0;Jb(b);c[b>>2]=8740;d=b+24|0;c[b+60>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;a[d+32>>0]=0;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;d=a+4|0;c[d>>2]=0;e=a+8|0;c[e>>2]=0;if(!b)return;if(b>>>0>1073741823)du(a);f=b<<2;g=at(f)|0;c[a>>2]=g;a=g+(b<<2)|0;c[e>>2]=a;tv(g|0,0,f|0)|0;c[d>>2]=a;return}function vd(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=(c[a+4>>2]|0)-b|0;if((d|0)<=0)return;tv(b|0,0,d|0)|0;return}function wd(a,b){a=a|0;b=+b;var d=0,e=0,g=0,h=0;d=c[a+4>>2]|0;e=c[a>>2]|0;a=e;if((d|0)==(e|0))return;g=d-e>>2;e=0;d=0;do{h=a+(e<<2)|0;f[h>>2]=+f[h>>2]*b;e=jv(e|0,d|0,1,0)|0;d=E()|0}while(d>>>0<0|(d|0)==0&e>>>0<g>>>0);return}function xd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0;if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295))F(13844,13834,56,13851);g=Nb(b,0,0)|0;h=E()|0;if(!((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0))F(13858,13834,57,13851);g=(c[a+4>>2]|0)-(c[a>>2]|0)>>2;e=Nb(b,1,0)|0;if((e|0)==(g|0)&(E()|0)==0){ub[c[(c[b>>2]|0)+20>>2]&3](b,a,d,f);return}else F(13872,13834,58,13851)}function yd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!((e|0)>-1|(e|0)==-1&d>>>0>4294967295))F(13844,13834,63,13851);f=Nb(b,0,0)|0;g=E()|0;if(!((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>d>>>0))F(13858,13834,64,13851);f=(c[a+4>>2]|0)-(c[a>>2]|0)>>2;e=Nb(b,1,0)|0;if((e|0)==(f|0)&(E()|0)==0){tb[c[(c[b>>2]|0)+16>>2]&3](b,a,d);return}else F(13872,13834,65,13851)}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0;e=Nb(b,0,0)|0;g=E()|0;h=a+4|0;if(!((g|0)==0?(e|0)==((c[h>>2]|0)-(c[a>>2]|0)>>2|0):0))F(13892,13834,70,13912);e=Nb(b,1,0)|0;g=E()|0;if(!((g|0)==0?(e|0)==((c[d+4>>2]|0)-(c[d>>2]|0)>>2|0):0))F(13916,13834,71,13912);if((c[h>>2]|0)==(c[a>>2]|0))return;e=0;g=0;do{i=+cb[c[(c[b>>2]|0)+8>>2]&3](b,d,e,g);j=c[a>>2]|0;f[j+(e<<2)>>2]=i;e=jv(e|0,g|0,1,0)|0;g=E()|0}while(g>>>0<0|((g|0)==0?e>>>0<(c[h>>2]|0)-j>>2>>>0:0));return}function Ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0;f[a>>2]=0.0;g=a+8|0;c[g>>2]=0;c[g+4>>2]=0;g=((b|0)<0)<<31>>31;ud(a+16|0,b,g);ud(a+28|0,d,((d|0)<0)<<31>>31);ud(a+40|0,b,g);g=(e>>>0)%2147483647|0;c[a+52>>2]=(g|0)==0?1:g;return}function Bd(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;h=g&1;c[b>>2]=c[d>>2];g=c[d+4>>2]|0;c[b+4>>2]=g;if(g|0){d=g+4|0;c[d>>2]=(c[d>>2]|0)+1}c[b+8>>2]=c[e>>2];d=c[e+4>>2]|0;c[b+12>>2]=d;if(d|0){e=d+4|0;c[e>>2]=(c[e>>2]|0)+1}c[b+16>>2]=c[f>>2];e=c[f+4>>2]|0;c[b+20>>2]=e;if(!e){i=b+24|0;a[i>>0]=h;return}f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;i=b+24|0;a[i>>0]=h;return}function Cd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((d|0)!=-1)if((d|0)<1){h=G(8)|0;ht(h,13940);c[h>>2]=12980;J(h|0,8272,153)}else i=d;else{d=Nb(c[a+8>>2]|0,0,0)|0;E()|0;i=d}Dd(f,i+1|0);d=g+16|0;vd(d);h=c[b>>2]|0;j=b+4|0;if((h|0)==(c[j>>2]|0)){k=h;l=k;m=k}else{k=h;do{h=c[k>>2]|0;yd(d,c[a>>2]|0,h,((h|0)<0)<<31>>31);k=k+4|0}while((k|0)!=(c[j>>2]|0));l=k;m=c[b>>2]|0}wd(d,1.0/+(l-m>>2>>>0));m=c[a+16>>2]|0;sb[c[(c[m>>2]|0)+16>>2]&3](m,i,e,f,g);return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+8|0;e=c[a>>2]|0;if((c[d>>2]|0)-e>>3>>>0>=b>>>0)return;f=a+4|0;if(b>>>0>536870911){g=G(8)|0;ht(g,14992);c[g>>2]=13e3;J(g|0,8288,153)}g=(c[f>>2]|0)-e|0;h=at(b<<3)|0;if((g|0)>0)rv(h|0,e|0,g|0)|0;c[a>>2]=h;c[f>>2]=h+(g>>3<<3);c[d>>2]=h+(b<<3);if(!e)return;ct(e);return}function Ed(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;e=$a;$a=$a+64|0;f=e+24|0;g=e+16|0;h=e+8|0;i=e;j=e+48|0;k=e+32|0;l=c[b>>2]|0;switch(c[l+64>>2]|0){case 1:{m=c[b+8>>2]|0;if((c[l+68>>2]|0)==3)gc(k,m,1);else gc(k,m,0);m=at(84)|0;c[m+4>>2]=0;c[m+8>>2]=0;c[m>>2]=8784;n=m+12|0;Mc(n,d,k);o=j+4|0;c[j>>2]=n;c[o>>2]=m;c[i>>2]=n;c[i+4>>2]=n;Fd(j,i);c[a>>2]=c[j>>2];c[a+4>>2]=c[o>>2];c[j>>2]=0;c[o>>2]=0;o=c[k>>2]|0;if(o|0){c[k+4>>2]=o;ct(o)}$a=e;return}case 2:{o=c[b+8>>2]|0;if((c[l+68>>2]|0)==3)gc(k,o,1);else gc(k,o,0);o=at(68)|0;c[o+4>>2]=0;c[o+8>>2]=0;c[o>>2]=8812;b=o+12|0;Lc(b,d,c[l+56>>2]|0,k);l=j+4|0;c[j>>2]=b;c[l>>2]=o;c[h>>2]=b;c[h+4>>2]=b;Gd(j,h);c[a>>2]=c[j>>2];c[a+4>>2]=c[l>>2];c[j>>2]=0;c[l>>2]=0;l=c[k>>2]|0;if(l|0){c[k+4>>2]=l;ct(l)}$a=e;return}case 3:{l=at(44)|0;c[l+4>>2]=0;c[l+8>>2]=0;c[l>>2]=8840;k=l+12|0;Wc(k,d);h=j+4|0;c[j>>2]=k;c[h>>2]=l;c[g>>2]=k;c[g+4>>2]=k;Hd(j,g);c[a>>2]=c[j>>2];c[a+4>>2]=c[h>>2];$a=e;return}case 4:{h=at(44)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=8868;g=h+12|0;Kc(g,d);d=j+4|0;c[j>>2]=g;c[d>>2]=h;c[f>>2]=g;c[f+4>>2]=g;Id(j,f);c[a>>2]=c[j>>2];c[a+4>>2]=c[d>>2];$a=e;return}default:{e=G(8)|0;jt(e,13967);J(e|0,8256,155)}}}function Fd(a,b){a=a|0;b=b|0;return}function Gd(a,b){a=a|0;b=b|0;return}function Hd(a,b){a=a|0;b=b|0;return}function Id(a,b){a=a|0;b=b|0;return}function Jd(a){a=a|0;var b=0;c[a>>2]=8868;c[a+12>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);return}c[a+20>>2]=b;ct(b);Xs(a);return}function Kd(a){a=a|0;var b=0;c[a>>2]=8868;c[a+12>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);ct(a);return}c[a+20>>2]=b;ct(b);Xs(a);ct(a);return}function Ld(a){a=a|0;var b=0;b=a+12|0;qb[c[c[b>>2]>>2]&255](b);return}function Md(a){a=a|0;ct(a);return}function Nd(a){a=a|0;var b=0;c[a>>2]=8840;c[a+12>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);return}c[a+20>>2]=b;ct(b);Xs(a);return}function Od(a){a=a|0;var b=0;c[a>>2]=8840;c[a+12>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);ct(a);return}c[a+20>>2]=b;ct(b);Xs(a);ct(a);return}function Pd(a){a=a|0;var b=0;b=a+12|0;qb[c[c[b>>2]>>2]&255](b);return}function Qd(a){a=a|0;ct(a);return}function Rd(a){a=a|0;var b=0,d=0;c[a>>2]=8812;b=a+12|0;c[b>>2]=8612;d=c[a+48>>2]|0;if(d|0){c[a+52>>2]=d;ct(d)}c[b>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);return}c[a+20>>2]=b;ct(b);Xs(a);return}function Sd(a){a=a|0;var b=0,d=0;c[a>>2]=8812;b=a+12|0;c[b>>2]=8612;d=c[a+48>>2]|0;if(d|0){c[a+52>>2]=d;ct(d)}c[b>>2]=8556;b=c[a+28>>2]|0;if(b|0){c[a+32>>2]=b;ct(b)}b=c[a+16>>2]|0;if(!b){Xs(a);ct(a);return}c[a+20>>2]=b;ct(b);Xs(a);ct(a);return}function Td(a){a=a|0;var b=0;b=a+12|0;qb[c[c[b>>2]>>2]&255](b);return}function Ud(a){a=a|0;ct(a);return}function Vd(a){a=a|0;c[a>>2]=8784;Ac(a+12|0);Xs(a);return}function Wd(a){a=a|0;c[a>>2]=8784;Ac(a+12|0);Xs(a);ct(a);return}function Xd(a){a=a|0;var b=0;b=a+12|0;qb[c[c[b>>2]>>2]&255](b);return}function Yd(a){a=a|0;ct(a);return}function Zd(b){b=b|0;var d=0;d=b+56|0;c[d>>2]=0;c[d+4>>2]=0;a[b+64>>0]=0;c[b+72>>2]=0;d=b;b=d+52|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function _d(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;e=$a;$a=$a+208|0;f=e+188|0;g=e;h=g+108|0;i=g+8|0;c[g>>2]=5836;c[h>>2]=5856;c[g+4>>2]=0;pj(g+108|0,i);c[g+180>>2]=0;c[g+184>>2]=-1;c[g>>2]=8900;c[h>>2]=8920;$d(i);j=g+72|0;if((c[j>>2]|0)==0?(k=dh((a[d+11>>0]|0)<0?c[d>>2]|0:d,14306)|0,c[j>>2]=k,(k|0)!=0):0)c[g+96>>2]=12;else l=4;if((l|0)==4?(l=g+(c[(c[g>>2]|0)+-12>>2]|0)|0,oj(l,c[l+16>>2]|4),(c[j>>2]|0)==0):0){l=G(8)|0;be(f,d,14309);et(l,f);c[l>>2]=12980;J(l|0,8272,153)}Bj(g,f,4)|0;if((c[f>>2]|0)!=793712314){m=G(8)|0;be(f,d,14340);et(m,f);c[m>>2]=12980;J(m|0,8272,153)}l=b+68|0;Bj(g,l,4)|0;if((c[l>>2]|0)>=13){m=G(8)|0;be(f,d,14340);et(m,f);c[m>>2]=12980;J(m|0,8272,153)}ce(b,g);b=c[j>>2]|0;if((b|0?(m=eb[c[(c[i>>2]|0)+24>>2]&127](i)|0,(jh(b)|0)==0):0)?(c[j>>2]=0,(m|0)==0):0){c[g>>2]=8900;c[h>>2]=8920;ae(i);Zi(g,8932);gi(h);$a=e;return}m=g+(c[(c[g>>2]|0)+-12>>2]|0)|0;oj(m,c[m+16>>2]|4);c[g>>2]=8900;c[h>>2]=8920;ae(i);Zi(g,8932);gi(h);$a=e;return}function $d(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;e=$a;$a=$a+16|0;f=e;tj(d);c[d>>2]=9092;c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;g=d+52|0;h=d+68|0;i=d+98|0;j=g;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));b[g+44>>1]=0;a[g+46>>0]=0;g=d+4|0;Rs(f,g);j=Us(f,26824)|0;Qk(f);if(!j){l=c[d>>2]|0;m=l+12|0;n=c[m>>2]|0;hb[n&31](d,0,4096)|0;$a=e;return}Rs(f,g);c[h>>2]=Pk(f,26824)|0;Qk(f);f=c[h>>2]|0;a[i>>0]=(eb[c[(c[f>>2]|0)+28>>2]&127](f)|0)&1;l=c[d>>2]|0;m=l+12|0;n=c[m>>2]|0;hb[n&31](d,0,4096)|0;$a=e;return}function ae(b){b=b|0;var d=0,e=0;c[b>>2]=9092;d=b+64|0;e=c[d>>2]|0;if(e|0?(Fe(b)|0,(jh(e)|0)==0):0)c[d>>2]=0;if(a[b+96>>0]|0?(d=c[b+32>>2]|0,d|0):0)dt(d);if(!(a[b+97>>0]|0)){li(b);return}d=c[b+56>>2]|0;if(!d){li(b);return}dt(d);li(b);return}function be(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;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=a[d+11>>0]|0;if(f<<24>>24<0){g=c[d+4>>2]|0;h=Hg(e)|0;i=h;j=c[d>>2]|0;k=g}else{i=Hg(e)|0;j=d;k=f&255}f=k+i|0;if(f>>>0>4294967279)kt(b);if(f>>>0<11){a[b+11>>0]=k;l=b}else{d=f+16&-16;f=at(d)|0;c[b>>2]=f;c[b+8>>2]=d|-2147483648;c[b+4>>2]=k;l=f}if(!k){m=l+k|0;a[m>>0]=0;At(b,e,i)|0;return}rv(l|0,j|0,k|0)|0;m=l+k|0;a[m>>0]=0;At(b,e,i)|0;return}function ce(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,r=0,s=0,t=0;e=$a;$a=$a+48|0;f=e+32|0;g=e+24|0;h=e+16|0;i=e+8|0;j=e;k=e+40|0;l=at(152)|0;c[l+4>>2]=0;c[l+8>>2]=0;c[l>>2]=8952;m=l+16|0;Eb(m);n=k+4|0;c[k>>2]=m;c[n>>2]=l;c[j>>2]=m;c[j+4>>2]=m;de(k,j);m=c[k>>2]|0;l=c[n>>2]|0;c[k>>2]=0;c[n>>2]=0;c[b>>2]=m;m=b+4|0;o=c[m>>2]|0;c[m>>2]=l;if(o|0?(l=o+4|0,m=c[l>>2]|0,c[l>>2]=m+-1,(m|0)==0):0){qb[c[(c[o>>2]|0)+8>>2]&255](o);Zs(o)}o=c[n>>2]|0;if(o|0?(n=o+4|0,m=c[n>>2]|0,c[n>>2]=m+-1,(m|0)==0):0){qb[c[(c[o>>2]|0)+8>>2]&255](o);Zs(o)}o=at(56)|0;c[o+4>>2]=0;c[o+8>>2]=0;c[o>>2]=8980;m=o+16|0;jd(m);n=j+4|0;c[j>>2]=m;c[n>>2]=o;c[i>>2]=m;c[i+4>>2]=m;ee(j,i);m=b+16|0;o=c[j>>2]|0;l=c[n>>2]|0;c[j>>2]=0;c[n>>2]=0;c[m>>2]=o;o=b+20|0;p=c[o>>2]|0;c[o>>2]=l;if(p|0?(l=p+4|0,q=c[l>>2]|0,c[l>>2]=q+-1,(q|0)==0):0){qb[c[(c[p>>2]|0)+8>>2]&255](p);Zs(p)}p=c[n>>2]|0;if(p|0?(n=p+4|0,q=c[n>>2]|0,c[n>>2]=q+-1,(q|0)==0):0){qb[c[(c[p>>2]|0)+8>>2]&255](p);Zs(p)}p=at(56)|0;c[p+4>>2]=0;c[p+8>>2]=0;c[p>>2]=8980;q=p+16|0;jd(q);n=i+4|0;c[i>>2]=q;c[n>>2]=p;c[h>>2]=q;c[h+4>>2]=q;ee(i,h);q=b+24|0;p=c[i>>2]|0;l=c[n>>2]|0;c[i>>2]=0;c[n>>2]=0;c[q>>2]=p;p=b+28|0;r=c[p>>2]|0;c[p>>2]=l;if(r|0?(l=r+4|0,s=c[l>>2]|0,c[l>>2]=s+-1,(s|0)==0):0){qb[c[(c[r>>2]|0)+8>>2]&255](r);Zs(r)}r=c[n>>2]|0;if(r|0?(n=r+4|0,s=c[n>>2]|0,c[n>>2]=s+-1,(s|0)==0):0){qb[c[(c[r>>2]|0)+8>>2]&255](r);Zs(r)}Gb(c[b>>2]|0,d);if((c[b+68>>2]|0)==11?(r=c[b>>2]|0,(c[r+68>>2]|0)==3):0)c[r+80>>2]=0;fe(h,b,d);r=b+8|0;s=c[h>>2]|0;n=h+4|0;l=c[n>>2]|0;c[h>>2]=0;c[n>>2]=0;c[r>>2]=s;s=b+12|0;t=c[s>>2]|0;c[s>>2]=l;if(t|0?(l=t+4|0,s=c[l>>2]|0,c[l>>2]=s+-1,(s|0)==0):0){qb[c[(c[t>>2]|0)+8>>2]&255](t);Zs(t)}t=c[n>>2]|0;if(t|0?(n=t+4|0,s=c[n>>2]|0,c[n>>2]=s+-1,(s|0)==0):0){qb[c[(c[t>>2]|0)+8>>2]&255](t);Zs(t)}Bj(d,h,1)|0;if(a[h>>0]|0?(a[b+64>>0]=1,t=at(80)|0,c[t+4>>2]=0,c[t+8>>2]=0,c[t>>2]=9008,s=t+16|0,td(s),n=i+4|0,c[i>>2]=s,c[n>>2]=t,c[g>>2]=s,c[g+4>>2]=s,ge(i,g),g=c[i>>2]|0,s=c[n>>2]|0,c[i>>2]=0,c[n>>2]=0,c[m>>2]=g,g=c[o>>2]|0,c[o>>2]=s,g|0):0){s=g+4|0;o=c[s>>2]|0;c[s>>2]=o+-1;if(!o){qb[c[(c[g>>2]|0)+8>>2]&255](g);Zs(g)}g=c[n>>2]|0;if(g|0?(n=g+4|0,o=c[n>>2]|0,c[n>>2]=o+-1,(o|0)==0):0){qb[c[(c[g>>2]|0)+8>>2]&255](g);Zs(g)}}g=c[m>>2]|0;rb[c[(c[g>>2]|0)+28>>2]&63](g,d);if((a[h>>0]|0)==0?(h=(c[r>>2]|0)+64|0,r=c[h+4>>2]|0,(r|0)>-1|(r|0)==-1&(c[h>>2]|0)>>>0>4294967295):0){h=G(8)|0;ht(h,14364);c[h>>2]=12980;J(h|0,8272,153)}Bj(d,(c[b>>2]|0)+125|0,1)|0;if((a[b+64>>0]|0?a[(c[b>>2]|0)+125>>0]|0:0)?(h=at(80)|0,c[h+4>>2]=0,c[h+8>>2]=0,c[h>>2]=9008,r=h+16|0,td(r),g=i+4|0,c[i>>2]=r,c[g>>2]=h,c[f>>2]=r,c[f+4>>2]=r,ge(i,f),f=c[i>>2]|0,r=c[g>>2]|0,c[i>>2]=0,c[g>>2]=0,c[q>>2]=f,f=c[p>>2]|0,c[p>>2]=r,f|0):0){r=f+4|0;p=c[r>>2]|0;c[r>>2]=p+-1;if(!p){qb[c[(c[f>>2]|0)+8>>2]&255](f);Zs(f)}f=c[g>>2]|0;if(f|0?(g=f+4|0,p=c[g>>2]|0,c[g>>2]=p+-1,(p|0)==0):0){qb[c[(c[f>>2]|0)+8>>2]&255](f);Zs(f)}}f=c[q>>2]|0;rb[c[(c[f>>2]|0)+28>>2]&63](f,d);Ed(i,b,q);a[j>>0]=(c[(c[b>>2]|0)+68>>2]|0)==3&1;he(k,m,q,i,j);j=c[k>>2]|0;q=k+4|0;m=c[q>>2]|0;c[k>>2]=0;c[q>>2]=0;c[b+32>>2]=j;j=b+36|0;b=c[j>>2]|0;c[j>>2]=m;if(b|0?(m=b+4|0,j=c[m>>2]|0,c[m>>2]=j+-1,(j|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[q>>2]|0;if(b|0?(q=b+4|0,j=c[q>>2]|0,c[q>>2]=j+-1,(j|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[i+4>>2]|0;if(!b){$a=e;return}i=b+4|0;j=c[i>>2]|0;c[i>>2]=j+-1;if(j|0){$a=e;return}qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b);$a=e;return}function de(a,b){a=a|0;b=b|0;return}function ee(a,b){a=a|0;b=b|0;return}function fe(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;e=$a;$a=$a+16|0;f=e;g=e+8|0;h=at(112)|0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=9064;i=h+16|0;c[g>>2]=c[b>>2];j=g+4|0;k=c[b+4>>2]|0;c[j>>2]=k;if(k|0){b=k+4|0;c[b>>2]=(c[b>>2]|0)+1}Pb(i,g,d);d=c[j>>2]|0;if(d|0?(j=d+4|0,g=c[j>>2]|0,c[j>>2]=g+-1,(g|0)==0):0){qb[c[(c[d>>2]|0)+8>>2]&255](d);Zs(d)}c[a>>2]=i;c[a+4>>2]=h;c[f>>2]=i;c[f+4>>2]=i;re(a,f);$a=e;return}function ge(a,b){a=a|0;b=b|0;return}function he(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;h=$a;$a=$a+32|0;i=h;j=h+24|0;k=h+16|0;l=h+8|0;m=at(40)|0;c[m+4>>2]=0;c[m+8>>2]=0;c[m>>2]=9036;n=m+12|0;c[j>>2]=c[d>>2];o=j+4|0;p=c[d+4>>2]|0;c[o>>2]=p;if(p|0){d=p+4|0;c[d>>2]=(c[d>>2]|0)+1}c[k>>2]=c[e>>2];d=k+4|0;p=c[e+4>>2]|0;c[d>>2]=p;if(p|0){e=p+4|0;c[e>>2]=(c[e>>2]|0)+1}c[l>>2]=c[f>>2];e=l+4|0;p=c[f+4>>2]|0;c[e>>2]=p;if(p|0){f=p+4|0;c[f>>2]=(c[f>>2]|0)+1}Bd(n,j,k,l,(a[g>>0]|0)!=0);g=c[e>>2]|0;if(g|0?(e=g+4|0,l=c[e>>2]|0,c[e>>2]=l+-1,(l|0)==0):0){qb[c[(c[g>>2]|0)+8>>2]&255](g);Zs(g)}g=c[d>>2]|0;if(g|0?(d=g+4|0,l=c[d>>2]|0,c[d>>2]=l+-1,(l|0)==0):0){qb[c[(c[g>>2]|0)+8>>2]&255](g);Zs(g)}g=c[o>>2]|0;if(!g){q=b+4|0;c[b>>2]=n;c[q>>2]=m;c[i>>2]=n;r=i+4|0;c[r>>2]=n;ie(b,i);$a=h;return}o=g+4|0;l=c[o>>2]|0;c[o>>2]=l+-1;if(l|0){q=b+4|0;c[b>>2]=n;c[q>>2]=m;c[i>>2]=n;r=i+4|0;c[r>>2]=n;ie(b,i);$a=h;return}qb[c[(c[g>>2]|0)+8>>2]&255](g);Zs(g);q=b+4|0;c[b>>2]=n;c[q>>2]=m;c[i>>2]=n;r=i+4|0;c[r>>2]=n;ie(b,i);$a=h;return}function ie(a,b){a=a|0;b=b|0;return}function je(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=9036;b=c[a+32>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+24>>2]|0;if(b|0?(e=b+4|0,d=c[e>>2]|0,c[e>>2]=d+-1,(d|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+16>>2]|0;if(!b){Xs(a);return}d=b+4|0;e=c[d>>2]|0;c[d>>2]=e+-1;if(e|0){Xs(a);return}qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b);Xs(a);return}function ke(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=9036;b=c[a+32>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+24>>2]|0;if(b|0?(e=b+4|0,d=c[e>>2]|0,c[e>>2]=d+-1,(d|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+16>>2]|0;if(!b){Xs(a);ct(a);return}d=b+4|0;e=c[d>>2]|0;c[d>>2]=e+-1;if(e|0){Xs(a);ct(a);return}qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b);Xs(a);ct(a);return}function le(a){a=a|0;var b=0,d=0,e=0;b=c[a+32>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+24>>2]|0;if(b|0?(e=b+4|0,d=c[e>>2]|0,c[e>>2]=d+-1,(d|0)==0):0){qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b)}b=c[a+16>>2]|0;if(!b)return;a=b+4|0;d=c[a>>2]|0;c[a>>2]=d+-1;if(d|0)return;qb[c[(c[b>>2]|0)+8>>2]&255](b);Zs(b);return}function me(a){a=a|0;ct(a);return}function ne(a){a=a|0;c[a>>2]=9008;kd(a+16|0);Xs(a);return}function oe(a){a=a|0;c[a>>2]=9008;kd(a+16|0);Xs(a);ct(a);return}function pe(a){a=a|0;var b=0;b=a+16|0;qb[c[c[b>>2]>>2]&255](b);return}function qe(a){a=a|0;ct(a);return}function re(a,b){a=a|0;b=b|0;return}function se(a){a=a|0;c[a>>2]=9064;we(a+16|0);Xs(a);return}function te(a){a=a|0;c[a>>2]=9064;we(a+16|0);Xs(a);ct(a);return}function ue(a){a=a|0;we(a+16|0);return}function ve(a){a=a|0;ct(a);return}function we(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+80>>2]|0;if(d|0){e=d;do{d=e;e=c[e>>2]|0;ct(d)}while((e|0)!=0)}e=b+72|0;d=c[e>>2]|0;c[e>>2]=0;if(d|0)ct(d);d=c[b+32>>2]|0;if(d|0){c[b+36>>2]=d;ct(d)}d=b+20|0;e=c[d>>2]|0;if(e|0){f=b+24|0;g=c[f>>2]|0;if((g|0)==(e|0))h=e;else{i=g;do{g=c[i+-12>>2]|0;if(g|0){c[i+-8>>2]=g;ct(g)}i=i+-40|0;if((a[i+11>>0]|0)<0)ct(c[i>>2]|0)}while((i|0)!=(e|0));h=c[d>>2]|0}c[f>>2]=e;ct(h)}h=c[b+8>>2]|0;if(h|0){c[b+12>>2]=h;ct(h)}h=c[b+4>>2]|0;if(!h)return;b=h+4|0;e=c[b>>2]|0;c[b>>2]=e+-1;if(e|0)return;qb[c[(c[h>>2]|0)+8>>2]&255](h);Zs(h);return}function xe(a){a=a|0;var b=0;c[a>>2]=8980;c[a+16>>2]=8696;b=c[a+40>>2]|0;if(!b){Xs(a);return}c[a+44>>2]=b;ct(b);Xs(a);return}function ye(a){a=a|0;var b=0;c[a>>2]=8980;c[a+16>>2]=8696;b=c[a+40>>2]|0;if(!b){Xs(a);ct(a);return}c[a+44>>2]=b;ct(b);Xs(a);ct(a);return}function ze(a){a=a|0;var b=0;b=a+16|0;qb[c[c[b>>2]>>2]&255](b);return}function Ae(a){a=a|0;ct(a);return}function Be(b){b=b|0;var d=0,e=0;c[b>>2]=8952;d=b+16|0;e=b+128|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+112|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+28|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);if((a[d+11>>0]|0)>=0){Xs(b);return}ct(c[d>>2]|0);Xs(b);return}function Ce(b){b=b|0;var d=0,e=0;c[b>>2]=8952;d=b+16|0;e=b+128|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+112|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+28|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);if((a[d+11>>0]|0)>=0){Xs(b);ct(b);return}ct(c[d>>2]|0);Xs(b);ct(b);return}function De(b){b=b|0;var d=0,e=0;d=b+16|0;e=b+128|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+112|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);e=b+28|0;if((a[e+11>>0]|0)<0)ct(c[e>>2]|0);if((a[d+11>>0]|0)>=0)return;ct(c[d>>2]|0);return}function Ee(a){a=a|0;ct(a);return}function Fe(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,r=0,s=0,t=0,u=0,v=0,w=0;d=$a;$a=$a+16|0;e=d;f=b+64|0;if(!(c[f>>2]|0)){g=0;$a=d;return g|0}h=b+68|0;i=c[h>>2]|0;if(!i){j=G(4)|0;bv(j);J(j|0,8320,160)}j=b+92|0;k=c[j>>2]|0;do if(!(k&16)){if(k&8|0){l=b+80|0;m=c[l+4>>2]|0;n=e;c[n>>2]=c[l>>2];c[n+4>>2]=m;do if(!(a[b+98>>0]|0)){m=eb[c[(c[i>>2]|0)+24>>2]&127](i)|0;n=b+36|0;l=c[n>>2]|0;o=(c[b+40>>2]|0)-l|0;p=((o|0)<0)<<31>>31;if((m|0)>0){q=z((c[b+16>>2]|0)-(c[b+12>>2]|0)|0,m)|0;m=jv(q|0,((q|0)<0)<<31>>31|0,o|0,p|0)|0;r=m;s=E()|0;t=0;break}m=c[b+12>>2]|0;if((m|0)==(c[b+16>>2]|0)){r=o;s=p;t=0}else{q=c[h>>2]|0;u=b+32|0;v=kb[c[(c[q>>2]|0)+32>>2]&31](q,e,c[u>>2]|0,l,m-(c[b+8>>2]|0)|0)|0;m=(c[n>>2]|0)-v-(c[u>>2]|0)|0;u=jv(m|0,((m|0)<0)<<31>>31|0,o|0,p|0)|0;r=u;s=E()|0;t=1}}else{u=(c[b+16>>2]|0)-(c[b+12>>2]|0)|0;r=u;s=((u|0)<0)<<31>>31;t=0}while(0);u=c[f>>2]|0;p=kv(0,0,r|0,s|0)|0;if(vh(u,p,E()|0,1)|0){g=-1;$a=d;return g|0}if(t){p=e;u=c[p+4>>2]|0;o=b+72|0;c[o>>2]=c[p>>2];c[o+4>>2]=u}u=c[b+32>>2]|0;c[b+40>>2]=u;c[b+36>>2]=u;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[j>>2]=0}}else{if((c[b+24>>2]|0)!=(c[b+20>>2]|0)?(gb[c[(c[b>>2]|0)+52>>2]&31](b,-1)|0)==-1:0){g=-1;$a=d;return g|0}u=b+72|0;o=b+32|0;p=b+52|0;a:while(1){m=c[h>>2]|0;v=c[o>>2]|0;n=kb[c[(c[m>>2]|0)+20>>2]&31](m,u,v,v+(c[p>>2]|0)|0,e)|0;v=c[o>>2]|0;m=(c[e>>2]|0)-v|0;if((Yg(v,1,m,c[f>>2]|0)|0)!=(m|0)){g=-1;w=24;break}switch(n|0){case 1:break;case 2:{g=-1;w=24;break a;break}default:{w=10;break a}}}if((w|0)==10){if(!(kh(c[f>>2]|0)|0))break;else g=-1;$a=d;return g|0}else if((w|0)==24){$a=d;return g|0}}while(0);g=0;$a=d;return g|0}function Ge(a){a=a|0;ae(a);ct(a);return}function He(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;e=Pk(d,26824)|0;c[b+68>>2]=e;d=b+98|0;f=a[d>>0]|0;g=eb[c[(c[e>>2]|0)+28>>2]&127](e)|0;a[d>>0]=g&1;if((f&255|0)==(g&1|0))return;f=b+8|0;d=b+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=(a[d>>0]|0)!=0;if(g){g=b+32|0;if(f?(e=c[g>>2]|0,e|0):0)dt(e);e=b+97|0;a[d>>0]=a[e>>0]|0;h=b+60|0;c[b+52>>2]=c[h>>2];i=b+56|0;c[g>>2]=c[i>>2];c[h>>2]=0;c[i>>2]=0;a[e>>0]=0;return}if(!f?(f=b+32|0,e=c[f>>2]|0,(e|0)!=(b+44|0)):0){i=c[b+52>>2]|0;c[b+60>>2]=i;c[b+56>>2]=e;a[b+97>>0]=0;c[f>>2]=bt(i)|0;a[d>>0]=1;return}d=c[b+52>>2]|0;c[b+60>>2]=d;c[b+56>>2]=bt(d)|0;a[b+97>>0]=1;return}function Ie(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;f=b+8|0;g=b+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;if(a[g>>0]|0?(f=c[b+32>>2]|0,f|0):0)dt(f);f=b+97|0;if(a[f>>0]|0?(h=c[b+56>>2]|0,h|0):0)dt(h);h=b+52|0;c[h>>2]=e;do if(e>>>0>8){i=a[b+98>>0]|0;if((d|0)!=0&i<<24>>24!=0){c[b+32>>2]=d;a[g>>0]=0;break}else{c[b+32>>2]=bt(e)|0;a[g>>0]=1;j=i;k=12;break}}else{c[b+32>>2]=b+44;c[h>>2]=8;a[g>>0]=0;j=a[b+98>>0]|0;k=12}while(0);if((k|0)==12?j<<24>>24==0:0){j=(e|0)>8?e:8;c[b+60>>2]=j;if((d|0)!=0&j>>>0>7){l=0;m=d;n=b+56|0;c[n>>2]=m;a[f>>0]=l;return b|0}l=1;m=bt(j)|0;n=b+56|0;c[n>>2]=m;a[f>>0]=l;return b|0}c[b+60>>2]=0;l=0;m=0;n=b+56|0;c[n>>2]=m;a[f>>0]=l;return b|0}function Je(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,k=0,l=0,m=0,n=0,o=0;g=c[b+68>>2]|0;if(!g){h=G(4)|0;bv(h);J(h|0,8320,160)}h=eb[c[(c[g>>2]|0)+24>>2]&127](g)|0;g=b+64|0;if((((c[g>>2]|0)!=0?!(((d|0)!=0|(e|0)!=0)&(h|0)<1):0)?(eb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==0&f>>>0<3:0)?(i=c[g>>2]|0,j=(h|0)>0,k=iv(h|0,((h|0)<0)<<31>>31|0,d|0,e|0)|0,e=E()|0,(vh(i,j?k:0,j?e:0,f)|0)==0):0){f=Gh(c[g>>2]|0)|0;g=E()|0;e=b+72|0;l=c[e>>2]|0;m=c[e+4>>2]|0;n=f;o=g}else{l=0;m=0;n=-1;o=-1}g=a;c[g>>2]=l;c[g+4>>2]=m;m=a+8|0;c[m>>2]=n;c[m+4>>2]=o;return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;e=b+64|0;if(c[e>>2]|0?(eb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==0:0){f=d+8|0;if(!(vh(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0,0)|0)){f=d;e=c[f+4>>2]|0;g=b+72|0;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];return}else{d=a;c[d>>2]=0;c[d+4>>2]=0;d=a+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}d=a;c[d>>2]=0;c[d+4>>2]=0;d=a+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function Le(b){b=b|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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,K=0;e=$a;$a=$a+16|0;f=e+4|0;g=e;h=b+64|0;if(!(c[h>>2]|0)){i=-1;$a=e;return i|0}j=b+92|0;if(!(c[j>>2]&8)){c[b+24>>2]=0;c[b+20>>2]=0;c[b+28>>2]=0;k=(a[b+98>>0]|0)==0;l=c[(k?b+56|0:b+32|0)>>2]|0;m=l+(c[(k?b+60|0:b+52|0)>>2]|0)|0;c[b+8>>2]=l;l=b+12|0;c[l>>2]=m;c[b+16>>2]=m;c[j>>2]=8;n=m;o=l;p=1}else{l=b+12|0;n=c[l>>2]|0;o=l;p=0}if(!n){l=f+1|0;c[b+8>>2]=f;c[o>>2]=l;c[b+16>>2]=l;q=l}else q=n;n=b+16|0;if(p){r=c[n>>2]|0;s=0}else{p=c[n>>2]|0;l=(p-(c[b+8>>2]|0)|0)/2|0;r=p;s=l>>>0<4?l:4}do if((q|0)==(r|0)){l=b+8|0;sv(c[l>>2]|0,q+(0-s)|0,s|0)|0;if(a[b+98>>0]|0){p=c[l>>2]|0;m=Jh(p+s|0,1,(c[n>>2]|0)-s-p|0,c[h>>2]|0)|0;if(!m){t=l;u=-1;break}p=(c[l>>2]|0)+s|0;c[o>>2]=p;c[n>>2]=p+m;t=l;u=d[p>>0]|0;break}p=b+40|0;m=c[p>>2]|0;j=b+36|0;k=c[j>>2]|0;v=m;w=k;if((m|0)==(k|0)){x=p;y=v;z=w;A=b+32|0}else{m=b+32|0;sv(c[m>>2]|0,k|0,v-w|0)|0;x=p;y=c[p>>2]|0;z=c[j>>2]|0;A=m}m=c[A>>2]|0;w=m+(y-z)|0;c[j>>2]=w;if((m|0)==(b+44|0))B=8;else B=c[b+52>>2]|0;v=m+B|0;c[p>>2]=v;m=b+60|0;k=(c[m>>2]|0)-s|0;C=v-w|0;v=b+72|0;D=v;E=c[D+4>>2]|0;F=b+80|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;E=Jh(w,1,C>>>0<k>>>0?C:k,c[h>>2]|0)|0;if(!E){t=l;u=-1}else{k=c[b+68>>2]|0;if(!k){C=G(4)|0;bv(C);J(C|0,8320,160)}C=(c[j>>2]|0)+E|0;c[p>>2]=C;p=c[l>>2]|0;if((ob[c[(c[k>>2]|0)+16>>2]&15](k,v,c[A>>2]|0,C,j,p+s|0,p+(c[m>>2]|0)|0,g)|0)!=3){m=c[g>>2]|0;p=(c[l>>2]|0)+s|0;if((m|0)==(p|0))H=-1;else{c[o>>2]=p;c[n>>2]=m;I=p;K=26}}else{p=c[A>>2]|0;m=c[x>>2]|0;c[l>>2]=p;c[o>>2]=p;c[n>>2]=m;I=p;K=26}if((K|0)==26)H=d[I>>0]|0;t=l;u=H}}else{t=b+8|0;u=d[q>>0]|0}while(0);if((c[t>>2]|0)==(f|0)){c[t>>2]=0;c[o>>2]=0;c[n>>2]=0}i=u;$a=e;return i|0}function Me(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(c[b+64>>2]|0)){e=-1;return e|0}f=b+12|0;g=c[f>>2]|0;if((c[b+8>>2]|0)>>>0>=g>>>0){e=-1;return e|0}if((d|0)==-1){c[f>>2]=g+-1;e=0;return e|0}if(!(c[b+88>>2]&16)){b=d&255;h=g+-1|0;if((a[h>>0]|0)==b<<24>>24){i=h;j=b}else{e=-1;return e|0}}else{i=g+-1|0;j=d&255}c[f>>2]=i;a[i>>0]=j;e=d;return e|0}function Ne(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,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,H=0,I=0,K=0,L=0;e=$a;$a=$a+16|0;f=e+8|0;g=e+4|0;h=e;i=b+64|0;if(!(c[i>>2]|0)){j=-1;$a=e;return j|0}k=b+92|0;if(!(c[k>>2]&16)){c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;l=c[b+52>>2]|0;do if(l>>>0>8)if(!(a[b+98>>0]|0)){m=c[b+56>>2]|0;n=m+((c[b+60>>2]|0)+-1)|0;c[b+24>>2]=m;o=b+20|0;c[o>>2]=m;p=b+28|0;c[p>>2]=n;q=o;r=p;s=m;t=n;u=m;break}else{m=c[b+32>>2]|0;n=m+(l+-1)|0;c[b+24>>2]=m;p=b+20|0;c[p>>2]=m;o=b+28|0;c[o>>2]=n;q=p;r=o;s=m;t=n;u=m;break}else{c[b+24>>2]=0;m=b+20|0;c[m>>2]=0;n=b+28|0;c[n>>2]=0;q=m;r=n;s=0;t=0;u=0}while(0);c[k>>2]=16;v=r;w=q;x=u;y=t;z=s;A=q;B=r}else{r=b+20|0;q=c[r>>2]|0;s=b+28|0;v=s;w=r;x=q;y=c[s>>2]|0;z=q;A=r;B=s}s=(d|0)==-1;r=b+24|0;q=c[r>>2]|0;if(s){C=q;D=z}else{if(!q){c[r>>2]=f;c[A>>2]=f;c[B>>2]=f+1;E=f}else E=q;a[E>>0]=d;E=(c[r>>2]|0)+1|0;c[r>>2]=E;C=E;D=c[A>>2]|0}a:do if((C|0)==(D|0))F=33;else{do if(!(a[b+98>>0]|0)){E=b+32|0;c[g>>2]=c[E>>2];q=b+68|0;f=b+72|0;B=b+52|0;z=c[q>>2]|0;if(!z){H=G(4)|0;bv(H);J(H|0,8320,160)}t=z;while(1){z=c[E>>2]|0;u=ob[c[(c[t>>2]|0)+12>>2]&15](t,f,c[A>>2]|0,c[r>>2]|0,h,z,z+(c[B>>2]|0)|0,g)|0;I=c[A>>2]|0;if((c[h>>2]|0)==(I|0)){F=31;break}if((u|0)==3){F=23;break}if(u>>>0>=2){F=31;break}z=c[E>>2]|0;k=(c[g>>2]|0)-z|0;if((Yg(z,1,k,c[i>>2]|0)|0)!=(k|0)){F=31;break}if((u|0)!=1){F=29;break}u=c[r>>2]|0;c[w>>2]=c[h>>2];c[v>>2]=u;c[r>>2]=u;t=c[q>>2]|0;if(!t){F=20;break}}if((F|0)==20){H=G(4)|0;bv(H);J(H|0,8320,160)}else if((F|0)==23){t=(c[r>>2]|0)-I|0;if((Yg(I,1,t,c[i>>2]|0)|0)==(t|0))F=30;else F=31}else if((F|0)==29)F=30;if((F|0)==30){K=r;break}else if((F|0)==31){L=-1;break a}}else{t=C-D|0;if((Yg(D,1,t,c[i>>2]|0)|0)!=(t|0)){L=-1;break a}K=r}while(0);c[K>>2]=x;c[w>>2]=x;c[v>>2]=y;F=33}while(0);if((F|0)==33)L=s?0:d;j=L;$a=e;return j|0}function Oe(a){a=a|0;var b=0;c[a>>2]=8900;b=a+108|0;c[b>>2]=8920;ae(a+8|0);Zi(a,8932);gi(b);return}function Pe(a){a=a|0;var b=0;c[a>>2]=8900;b=a+108|0;c[b>>2]=8920;ae(a+8|0);Zi(a,8932);gi(b);ct(a);return}function Qe(a){a=a|0;var b=0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[b>>2]=8900;a=b+108|0;c[a>>2]=8920;ae(b+8|0);Zi(b,8932);gi(a);return}function Re(a){a=a|0;var b=0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;c[b>>2]=8900;a=b+108|0;c[a>>2]=8920;ae(b+8|0);Zi(b,8932);gi(a);ct(b);return}function Se(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0;g=$a;$a=$a+64|0;h=g;if((c[d>>2]|0)==(c[d+4>>2]|0)){$a=g;return}i=c[(c[a>>2]|0)+36>>2]|0;Ad(h,i,dc(c[a+8>>2]|0)|0,0);if((c[(c[a>>2]|0)+68>>2]|0)!=3){i=G(8)|0;ht(i,14947);c[i>>2]=12980;J(i|0,8272,153)}Cd(c[a+32>>2]|0,d,b,f,e,h);e=c[h+40>>2]|0;if(e|0){c[h+44>>2]=e;ct(e)}e=c[h+28>>2]|0;if(e|0){c[h+32>>2]=e;ct(e)}e=c[h+16>>2]|0;if(e|0){c[h+20>>2]=e;ct(e)}$a=g;return}function Te(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var 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,x=0,y=0,z=0,A=0;i=$a;$a=$a+80|0;j=i+56|0;k=i+44|0;l=i+32|0;m=i+16|0;n=i;o=c[e>>2]|0;p=e+4|0;q=c[p>>2]|0;if((q|0)!=(o|0)){r=q;do{q=r+-12|0;r=r+-16|0;if((a[q+11>>0]|0)<0)ct(c[q>>2]|0)}while((r|0)!=(o|0))}c[p>>2]=o;if((Aj(d)|0)==-1){s=0;$a=i;return s|0}c[j>>2]=0;o=j+4|0;c[o>>2]=0;c[j+8>>2]=0;c[k>>2]=0;r=k+4|0;c[r>>2]=0;c[k+8>>2]=0;q=b+8|0;kc(c[q>>2]|0,d,j,k)|0;c[l>>2]=0;d=l+4|0;c[d>>2]=0;c[l+8>>2]=0;Se(b,g,j,l,h);g=c[l>>2]|0;b=c[d>>2]|0;if((g|0)==(b|0))t=g;else{u=m+4|0;v=e+8|0;x=u+11|0;y=n+11|0;z=g;do{h=+w(+(+f[z>>2]));lc(n,c[q>>2]|0,c[z+4>>2]|0);f[m>>2]=h;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=c[p>>2]|0;if(g>>>0>=(c[v>>2]|0)>>>0){Ue(e,m);if((a[x>>0]|0)<0)ct(c[u>>2]|0)}else{f[g>>2]=h;A=g+4|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[p>>2]=(c[p>>2]|0)+16}if((a[y>>0]|0)<0)ct(c[n>>2]|0);z=z+8|0}while((z|0)!=(b|0));t=c[l>>2]|0}if(t|0){c[d>>2]=t;ct(t)}t=c[k>>2]|0;if(t|0){c[r>>2]=t;ct(t)}t=c[j>>2]|0;if(t|0){c[o>>2]=t;ct(t)}s=1;$a=i;return s|0}function Ue(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,r=0;e=b+4|0;f=c[b>>2]|0;g=(c[e>>2]|0)-f>>4;h=g+1|0;if(h>>>0>268435455)du(b);i=b+8|0;j=(c[i>>2]|0)-f|0;f=j>>3;k=j>>4>>>0<134217727?(f>>>0<h>>>0?h:f):268435455;do if(k)if(k>>>0>268435455){f=G(8)|0;ht(f,14992);c[f>>2]=13e3;J(f|0,8288,153)}else{l=at(k<<4)|0;break}else l=0;while(0);f=l+(g<<4)|0;h=l+(k<<4)|0;c[f>>2]=c[d>>2];k=l+(g<<4)+4|0;j=d+4|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;j=f+16|0;k=c[b>>2]|0;d=k;m=c[e>>2]|0;if((m|0)==(k|0)){n=f;o=d;p=k}else{q=g+-1-((m+-16-d|0)>>>4)|0;d=f;f=m;do{m=d;d=d+-16|0;g=f;f=f+-16|0;c[d>>2]=c[f>>2];r=m+-12|0;m=g+-12|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0}while((f|0)!=(k|0));n=l+(q<<4)|0;o=c[b>>2]|0;p=c[e>>2]|0}c[b>>2]=n;c[e>>2]=j;c[i>>2]=h;h=o;if((p|0)!=(h|0)){i=p;do{p=i+-12|0;i=i+-16|0;if((a[p+11>>0]|0)<0)ct(c[p>>2]|0)}while((i|0)!=(h|0))}if(!o)return;ct(o);return}function Ve(){Zd(24080);da(15060,1,9148,15073,164,3);da(15076,2,9152,15086,48,165);da(15090,5,16,15105,4,10);return}function We(a){a=a|0;pb[a&7]();return}function Xe(){Hb(25648,15407,25)|0;Hb(25648,15125,1)|0;return}
function Xh(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,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;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[6249]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[6246]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[6244]=c[6244]&~(1<<j);k=g;l=h;break}else{c[f+12>>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=25280+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[6245]=c[6245]&~(1<<i);k=g;l=h;break}}else{i=f+16|0;c[((c[i>>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[6250]|0)==(d|0)){p=(c[6247]|0)+l|0;c[6247]=p;c[6250]=k;c[k+4>>2]=p|1;if((k|0)!=(c[6249]|0))return;c[6249]=0;c[6246]=0;return}if((c[6249]|0)==(d|0)){p=(c[6246]|0)+l|0;c[6246]=p;c[6249]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[6244]=c[6244]&~(1<<v);break}else{c[u+12>>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=25280+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[6245]=c[6245]&~(1<<r);break}}else{r=u+16|0;c[((c[r>>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[6249]|0)){c[6246]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=25016+(l<<1<<2)|0;b=c[6244]|0;p=1<<l;if(!(b&p)){c[6244]=b|p;C=a+8|0;D=a}else{p=a+8|0;C=p;D=c[p>>2]|0}c[C>>2]=k;c[D+12>>2]=k;c[k+8>>2]=D;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{D=(a+1048320|0)>>>16&8;C=a<<D;a=(C+520192|0)>>>16&4;p=C<<a;C=(p+245760|0)>>>16&2;b=14-(a|D|C)+(p<<C>>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=25280+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;C=c[6245]|0;p=1<<E;if(!(C&p)){c[6245]=C|p;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);C=p;while(1){G=C+16+(b>>>31<<2)|0;D=c[G>>2]|0;if(!D)break;if((c[D+4>>2]&-8|0)==(B|0)){F=D;break a}else{b=b<<1;C=D}}c[G>>2]=k;c[k+24>>2]=C;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function Yh(a){a=a|0;return 0}function Zh(a){a=a|0;return 0}function _h(a,b){a=a|0;b=b|0;var d=0;if(!a){d=22;return d|0}b=Th(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;d=0;return d|0}function $h(a){a=a|0;var b=0;if((c[a+4>>2]|0)!=38177486){b=0;return b|0}b=c[a>>2]|0;return b|0}function ai(a,b){a=a|0;b=b|0;var d=0,e=0;d=a;if((c[d+4>>2]|0)!=38177486){e=22;return e|0}c[d>>2]=b;e=0;return e|0}function bi(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;pb[b&7]();c[a>>2]=324508639;return 0}function ci(){return (di()|0)>0|0}function di(){return (K()|0)&1|0}function ei(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,x=0,y=0,A=0,B=0,C=0,D=0,E=0;b=$a;$a=$a+16|0;d=b;e=b+8|0;f=b+4|0;c[e>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;c[f>>2]=a-h;i=g;g=h;h=0;j=(fi(5184,5376,f,d)|0)-5184>>2;a:while(1){k=(c[5184+(j<<2)>>2]|0)+g|0;l=5;while(1){if(l>>>0>=47){m=6;break}n=c[4992+(l<<2)>>2]|0;o=(k>>>0)/(n>>>0)|0;if(o>>>0<n>>>0){m=107;break a}if((k|0)==(z(o,n)|0)){p=h;break}else l=l+1|0}b:do if((m|0)==6){m=0;l=211;n=h;c:while(1){o=(k>>>0)/(l>>>0)|0;do if(o>>>0>=l>>>0)if((k|0)!=(z(o,l)|0)){q=l+10|0;r=(k>>>0)/(q>>>0)|0;if(r>>>0>=q>>>0)if((k|0)!=(z(r,q)|0)){r=l+12|0;s=(k>>>0)/(r>>>0)|0;if(s>>>0>=r>>>0)if((k|0)!=(z(s,r)|0)){s=l+16|0;t=(k>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((k|0)!=(z(t,s)|0)){t=l+18|0;u=(k>>>0)/(t>>>0)|0;if(u>>>0>=t>>>0)if((k|0)!=(z(u,t)|0)){u=l+22|0;v=(k>>>0)/(u>>>0)|0;if(v>>>0>=u>>>0)if((k|0)!=(z(v,u)|0)){v=l+28|0;w=(k>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((k|0)==(z(w,v)|0)){x=9;y=v;A=n}else{w=l+30|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+36|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+40|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+42|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+46|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+52|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+58|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+60|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+66|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+70|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+72|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+78|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+82|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+88|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+96|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+100|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+102|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+106|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+108|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+112|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+120|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+126|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+130|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+136|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+138|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+142|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+148|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+150|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+156|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+162|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+166|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+168|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+172|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+178|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+180|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+186|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+190|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+192|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+196|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+198|0;B=(k>>>0)/(w>>>0)|0;if(B>>>0<w>>>0){x=1;y=w;A=k;break}if((k|0)==(z(B,w)|0)){x=9;y=w;A=n;break}w=l+208|0;B=(k>>>0)/(w>>>0)|0;C=B>>>0<w>>>0;D=(k|0)==(z(B,w)|0);x=C?1:D?9:0;y=C|D?w:l+210|0;A=C?k:n}else{x=1;y=v;A=k}}else{x=9;y=u;A=n}else{x=1;y=u;A=k}}else{x=9;y=t;A=n}else{x=1;y=t;A=k}}else{x=9;y=s;A=n}else{x=1;y=s;A=k}}else{x=9;y=r;A=n}else{x=1;y=r;A=k}}else{x=9;y=q;A=n}else{x=1;y=q;A=k}}else{x=9;y=l;A=n}else{x=1;y=l;A=k}while(0);switch(x&15){case 9:{p=A;break b;break}case 0:{l=y;n=A;break}default:break c}}if(!x)p=A;else{m=108;break a}}while(0);n=j+1|0;l=(n|0)==48;o=i+(l&1)|0;i=o;g=o*210|0;h=p;j=l?0:n}if((m|0)==107){c[e>>2]=k;E=k;break}else if((m|0)==108){c[e>>2]=k;E=A;break}}else E=c[(fi(4992,5184,e,d)|0)>>2]|0;while(0);$a=b;return E|0}function fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;e=c[d>>2]|0;d=a;f=b-a>>2;while(1){if(!f)break;a=(f|0)/2|0;b=d+(a<<2)|0;g=(c[b>>2]|0)>>>0<e>>>0;d=g?b+4|0:d;f=g?f+-1-a|0:a}return d|0}function gi(a){a=a|0;hi(a);return}function hi(a){a=a|0;c[a>>2]=9620;ii(a,0);Qk(a+28|0);Uh(c[a+32>>2]|0);Uh(c[a+36>>2]|0);Uh(c[a+48>>2]|0);Uh(c[a+60>>2]|0);return}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=a+36|0;f=c[a+40>>2]|0;while(1){if(!f)break;g=f+-1|0;tb[c[(c[d>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[e>>2]|0)+(g<<2)>>2]|0);f=g}return}function ji(a){a=a|0;hi(a);ct(a);return}function ki(a){a=a|0;hi(a);return}function li(a){a=a|0;c[a>>2]=9636;Qk(a+4|0);return}function mi(a){a=a|0;li(a);ct(a);return}function ni(a,b){a=a|0;b=b|0;return}function oi(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function pi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ri(a){a=a|0;return 0}function si(a){a=a|0;return 0}function ti(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;zi()|0;f=b+12|0;g=b+16|0;h=0;i=d;while(1){if((h|0)>=(e|0))break;d=c[f>>2]|0;j=c[g>>2]|0;if(d>>>0<j>>>0){k=j-d|0;j=e-h|0;l=(j|0)<(k|0)?j:k;Bi(i,d,l)|0;c[f>>2]=(c[f>>2]|0)+l;m=l;n=i+l|0}else{l=eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((l|0)==-1)break;a[i>>0]=Ci(l)|0;m=1;n=i+1|0}h=m+h|0;i=n}return h|0}function ui(a){a=a|0;return zi()|0}function vi(b){b=b|0;var d=0,e=0;d=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(zi()|0))e=zi()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;e=Ai(a[b>>0]|0)|0}return e|0}function wi(a,b){a=a|0;b=b|0;return zi()|0}function xi(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;f=zi()|0;g=b+24|0;h=b+28|0;i=0;j=d;while(1){if((i|0)>=(e|0))break;d=c[g>>2]|0;k=c[h>>2]|0;if(d>>>0<k>>>0){l=k-d|0;k=e-i|0;m=(k|0)<(l|0)?k:l;Bi(d,j,m)|0;c[g>>2]=(c[g>>2]|0)+m;n=m+i|0;o=j+m|0}else{m=c[(c[b>>2]|0)+52>>2]|0;d=Ai(a[j>>0]|0)|0;if((gb[m&31](b,d)|0)==(f|0))break;n=i+1|0;o=j+1|0}i=n;j=o}return i|0}function yi(a,b){a=a|0;b=b|0;return zi()|0}function zi(){return -1}function Ai(a){a=a|0;return a&255|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)rv(a|0,b|0,c|0)|0;return a|0}function Ci(a){a=a|0;return a&255|0}function Di(a){a=a|0;c[a>>2]=9700;Qk(a+4|0);return}function Ei(a){a=a|0;Di(a);ct(a);return}function Fi(a,b){a=a|0;b=b|0;return}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function Ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function Ji(a){a=a|0;return 0}function Ki(a){a=a|0;return 0}function Li(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;Ri()|0;e=a+12|0;f=a+16|0;g=0;h=b;while(1){if((g|0)>=(d|0))break;b=c[e>>2]|0;i=c[f>>2]|0;if(b>>>0<i>>>0){j=i-b>>2;i=d-g|0;k=(i|0)<(j|0)?i:j;Ti(h,b,k)|0;c[e>>2]=(c[e>>2]|0)+(k<<2);l=k;m=h+(k<<2)|0}else{k=eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((k|0)==-1)break;c[h>>2]=Ui(k)|0;l=1;m=h+4|0}g=l+g|0;h=m}return g|0}function Mi(a){a=a|0;return Ri()|0}function Ni(a){a=a|0;var b=0,d=0;b=eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(Ri()|0))d=Ri()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;d=Si(c[a>>2]|0)|0}return d|0}function Oi(a,b){a=a|0;b=b|0;return Ri()|0}function Pi(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;e=Ri()|0;f=a+24|0;g=a+28|0;h=0;i=b;while(1){if((h|0)>=(d|0))break;b=c[f>>2]|0;j=c[g>>2]|0;if(b>>>0<j>>>0){k=j-b>>2;j=d-h|0;l=(j|0)<(k|0)?j:k;Ti(b,i,l)|0;c[f>>2]=(c[f>>2]|0)+(l<<2);m=l+h|0;n=i+(l<<2)|0}else{l=c[(c[a>>2]|0)+52>>2]|0;b=Si(c[i>>2]|0)|0;if((gb[l&31](a,b)|0)==(e|0))break;m=h+1|0;n=i+4|0}h=m;i=n}return h|0}function Qi(a,b){a=a|0;b=b|0;return Ri()|0}function Ri(){return -1}function Si(a){a=a|0;return a|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{Xg(a,b,c)|0;d=a}return d|0}function Ui(a){a=a|0;return a|0}function Vi(a){a=a|0;Zi(a,9796);gi(a+8|0);return}function Wi(a){a=a|0;Vi(a);ct(a);return}function Xi(a){a=a|0;Vi(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Yi(a){a=a|0;Wi(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Zi(a,b){a=a|0;b=b|0;return}function _i(a){a=a|0;cj(a,9844);ki(a+8|0);return}function $i(a){a=a|0;_i(a);ct(a);return}function aj(a){a=a|0;_i(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function bj(a){a=a|0;$i(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function cj(a,b){a=a|0;b=b|0;return}function dj(a){a=a|0;hj(a,9892);gi(a+4|0);return}function ej(a){a=a|0;dj(a);ct(a);return}function fj(a){a=a|0;dj(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function gj(a){a=a|0;ej(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function hj(a,b){a=a|0;b=b|0;return}function ij(a){a=a|0;mj(a,9940);ki(a+4|0);return}function jj(a){a=a|0;ij(a);ct(a);return}function kj(a){a=a|0;ij(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function lj(a){a=a|0;jj(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function mj(a,b){a=a|0;b=b|0;return}function nj(a){a=a|0;return Hg(a)|0}function oj(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function pj(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;b=a+28|0;d=a+32|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));Ts(b);return}function qj(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function rj(a,b){a=a|0;b=b|0;Rs(a,b+28|0);return}function sj(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function tj(a){a=a|0;var b=0;c[a>>2]=9636;Ts(a+4|0);b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function uj(a){a=a|0;var b=0;c[a>>2]=9700;Ts(a+4|0);b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function vj(d,e,f){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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=$a;$a=$a+16|0;h=g;a[d>>0]=0;i=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;j=c[i+16>>2]|0;if(!j){k=c[i+72>>2]|0;if(k|0)wj(k)|0;do if(!f?(k=e+(c[(c[e>>2]|0)+-12>>2]|0)|0,c[k+4>>2]&4096|0):0){rj(h,k);k=Pk(h,26520)|0;Qk(h);l=c[e+(c[(c[e>>2]|0)+-12>>2]|0)+24>>2]|0;m=k+8|0;k=l;n=(l|0)==0;o=k+12|0;p=k+16|0;q=l;while(1){if(n){r=0;s=0;break}t=c[o>>2]|0;if((t|0)==(c[p>>2]|0))u=eb[c[(c[q>>2]|0)+36>>2]&127](k)|0;else u=Ai(a[t>>0]|0)|0;t=qj(u,zi()|0)|0;v=t?0:l;if(t){r=0;s=0;break}t=v;w=t+12|0;x=c[w>>2]|0;y=t+16|0;if((x|0)==(c[y>>2]|0))z=eb[c[(c[v>>2]|0)+36>>2]&127](t)|0;else z=Ai(a[x>>0]|0)|0;if((z&255)<<24>>24<=-1){A=21;break}if(!(b[(c[m>>2]|0)+(z<<24>>24<<1)>>1]&8192)){A=21;break}x=c[w>>2]|0;if((x|0)==(c[y>>2]|0))eb[c[(c[v>>2]|0)+40>>2]&127](t)|0;else{c[w>>2]=x+1;Ai(a[x>>0]|0)|0}}if((A|0)==21){r=v;s=l}if(s|0){m=c[r+12>>2]|0;if((m|0)==(c[r+16>>2]|0))B=eb[c[(c[s>>2]|0)+36>>2]&127](r)|0;else B=Ai(a[m>>0]|0)|0;if(!(qj(B,zi()|0)|0))break}m=e+(c[(c[e>>2]|0)+-12>>2]|0)|0;oj(m,c[m+16>>2]|6)}while(0);a[d>>0]=(c[e+(c[(c[e>>2]|0)+-12>>2]|0)+16>>2]|0)==0&1}else oj(i,j|4);$a=g;return}function wj(b){b=b|0;var d=0,e=0,f=0;d=$a;$a=$a+16|0;e=d;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){xj(e,b);if(a[e>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(eb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(f,c[f+16>>2]|1)}yj(e)}$a=d;return b|0}function xj(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[e+16>>2]|0)){d=c[e+72>>2]|0;if(d|0)wj(d)|0;a[b>>0]=1}return}function yj(a){a=a|0;var b=0,d=0;b=a+4|0;a=c[b>>2]|0;d=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;if((((c[d+24>>2]|0?(c[d+16>>2]|0)==0:0)?c[d+4>>2]&8192|0:0)?!(ci()|0):0)?(d=c[b>>2]|0,a=c[d+(c[(c[d>>2]|0)+-12>>2]|0)+24>>2]|0,(eb[c[(c[a>>2]|0)+24>>2]&127](a)|0)==-1):0){a=c[b>>2]|0;b=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;oj(b,c[b+16>>2]|1)}return}function zj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=$a;$a=$a+16|0;e=d;f=b+4|0;c[f>>2]=0;g=zi()|0;vj(e,b,1);do if(a[e>>0]|0){h=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))k=eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+1;k=Ai(a[j>>0]|0)|0}if(qj(k,zi()|0)|0){j=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(j,c[j+16>>2]|6);l=k;break}else{c[f>>2]=1;l=k;break}}else l=g;while(0);$a=d;return l|0}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=$a;$a=$a+16|0;e=d;c[b+4>>2]=0;f=zi()|0;vj(e,b,1);if(a[e>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;g=c[e+12>>2]|0;if((g|0)==(c[e+16>>2]|0))h=eb[c[(c[e>>2]|0)+36>>2]&127](e)|0;else h=Ai(a[g>>0]|0)|0;if(qj(h,zi()|0)|0){g=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(g,c[g+16>>2]|2);i=h}else i=h}else i=f;$a=d;return i|0}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$a;$a=$a+16|0;g=f;h=b+4|0;c[h>>2]=0;vj(g,b,1);i=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if(a[g>>0]|0){g=c[i+24>>2]|0;j=hb[c[(c[g>>2]|0)+32>>2]&31](g,d,e)|0;c[h>>2]=j;if((j|0)!=(e|0)){e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(e,c[e+16>>2]|6)}}else oj(i,c[i+16>>2]|4);$a=f;return b|0}function Cj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=$a;$a=$a+48|0;f=e+16|0;g=e+32|0;h=e;i=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(i,c[i+16>>2]&-3);vj(g,b,1);if(a[g>>0]|0?(g=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,i=c[(c[g>>2]|0)+20>>2]|0,c[f>>2]=c[d>>2],c[f+4>>2]=c[d+4>>2],c[f+8>>2]=c[d+8>>2],c[f+12>>2]=c[d+12>>2],vb[i&15](h,g,f,8),f=h+8|0,(c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(f,c[f+16>>2]|4)}$a=e;return b|0}function Dj(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;f=$a;$a=$a+16|0;g=f+12|0;h=f+8|0;i=f;xj(i,b);if(a[i>>0]|0){rj(g,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);j=Pk(g,26576)|0;Qk(g);k=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;l=c[k+24>>2]|0;m=zi()|0;n=k+76|0;if(qj(m,c[n>>2]|0)|0){rj(g,k);m=Pk(g,26520)|0;o=gb[c[(c[m>>2]|0)+28>>2]&31](m,32)|0;Qk(g);m=o<<24>>24;c[n>>2]=m;p=m}else p=c[n>>2]|0;n=c[(c[j>>2]|0)+20>>2]|0;c[h>>2]=l;c[g>>2]=c[h>>2];if(!(mb[n&63](j,g,k,p&255,d,e)|0)){e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(e,c[e+16>>2]|5)}}yj(i);$a=f;return b|0}function Ej(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=$a;$a=$a+16|0;f=e+12|0;g=e+8|0;h=e;xj(h,b);if(a[h>>0]|0){rj(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);i=Pk(f,26576)|0;Qk(f);j=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;k=c[j+24>>2]|0;l=zi()|0;m=j+76|0;if(qj(l,c[m>>2]|0)|0){rj(f,j);l=Pk(f,26520)|0;n=gb[c[(c[l>>2]|0)+28>>2]&31](l,32)|0;Qk(f);l=n<<24>>24;c[m>>2]=l;o=l}else o=c[m>>2]|0;m=c[(c[i>>2]|0)+32>>2]|0;c[g>>2]=k;c[f>>2]=c[g>>2];if(!(jb[m&7](i,f,j,o&255,d)|0)){o=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(o,c[o+16>>2]|5)}}yj(h);$a=e;return b|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=$a;$a=$a+16|0;f=e;xj(f,b);do if(a[f>>0]|0){g=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;h=g;if(g|0){i=h+24|0;j=c[i>>2]|0;if((j|0)==(c[h+28>>2]|0)){k=c[(c[g>>2]|0)+52>>2]|0;g=Ai(d)|0;l=gb[k&31](h,g)|0}else{c[i>>2]=j+1;a[j>>0]=d;l=Ai(d)|0}if(!(qj(l,zi()|0)|0))break}j=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(j,c[j+16>>2]|1)}while(0);yj(f);$a=e;return b|0}function Gj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=$a;$a=$a+16|0;g=f;xj(g,b);if((e|0)!=0&(a[g>>0]|0)!=0?(h=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(hb[c[(c[h>>2]|0)+48>>2]&31](h,d,e)|0)!=(e|0)):0){e=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;oj(e,c[e+16>>2]|1)}yj(g);$a=f;return b|0}function Hj(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;return}function Ij(){Kj();return}function Jj(){return}function Kj(){Lj(0);return}function Lj(a){a=a|0;var b=0,d=0;a=c[2334]|0;Mj(26152,a,26208);c[6368]=9768;c[6370]=9788;c[6369]=0;pj(25480,26152);c[6388]=0;c[6389]=zi()|0;Nj(26216,a,26272);c[6390]=9816;c[6392]=9836;c[6391]=0;pj(25568,26216);c[6410]=0;c[6411]=Ri()|0;a=c[2335]|0;Oj(26280,a,26328);c[6412]=9864;c[6413]=9884;pj(25652,26280);c[6431]=0;c[6432]=zi()|0;Pj(26336,a,26384);c[6433]=9912;c[6434]=9932;pj(25736,26336);c[6452]=0;c[6453]=Ri()|0;a=c[2333]|0;Oj(26392,a,26440);c[6454]=9864;c[6455]=9884;pj(25820,26392);c[6473]=0;c[6474]=zi()|0;b=c[25816+(c[(c[6454]|0)+-12>>2]|0)+24>>2]|0;c[6496]=9864;c[6497]=9884;pj(25988,b);c[6515]=0;c[6516]=zi()|0;Pj(26448,a,26496);c[6475]=9912;c[6476]=9932;pj(25904,26448);c[6494]=0;c[6495]=Ri()|0;a=c[25900+(c[(c[6475]|0)+-12>>2]|0)+24>>2]|0;c[6517]=9912;c[6518]=9932;pj(26072,a);c[6536]=0;c[6537]=Ri()|0;c[25472+(c[(c[6368]|0)+-12>>2]|0)+72>>2]=25648;c[25560+(c[(c[6390]|0)+-12>>2]|0)+72>>2]=25732;a=(c[6454]|0)+-12|0;b=25816+(c[a>>2]|0)+4|0;c[b>>2]=c[b>>2]|8192;b=(c[6475]|0)+-12|0;d=25900+(c[b>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[25816+(c[a>>2]|0)+72>>2]=25648;c[25900+(c[b>>2]|0)+72>>2]=25732;return}function Mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;tj(b);c[b>>2]=10148;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=zi()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;Rs(g,b+4|0);rb[e&63](b,g);Qk(g);$a=f;return}function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;uj(b);c[b>>2]=10084;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=Ri()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;Rs(g,b+4|0);rb[e&63](b,g);Qk(g);$a=f;return}function Oj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;tj(b);c[b>>2]=10020;c[b+32>>2]=d;Rs(g,b+4|0);d=Pk(g,26824)|0;Qk(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;$a=f;return}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;uj(b);c[b>>2]=9956;c[b+32>>2]=d;Rs(g,b+4|0);d=Pk(g,26832)|0;Qk(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;$a=f;return}function Qj(a){a=a|0;Di(a);ct(a);return}function Rj(b,d){b=b|0;d=d|0;var e=0;eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;e=Pk(d,26832)|0;c[b+36>>2]=e;a[b+44>>0]=(eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function Sj(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;b=$a;$a=$a+16|0;d=b+8|0;e=b;f=a+36|0;g=a+40|0;h=d+8|0;i=d;j=a+32|0;a:while(1){a=c[f>>2]|0;k=kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;a=(c[e>>2]|0)-i|0;if((Yg(d,1,a,c[j>>2]|0)|0)!=(a|0)){l=-1;break}switch(k|0){case 1:break;case 2:{l=-1;break a;break}default:{m=4;break a}}}if((m|0)==4)l=((kh(c[j>>2]|0)|0)!=0)<<31>>31;$a=b;return l|0}function Tj(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;a:do if(!(a[b+44>>0]|0)){f=0;g=d;while(1){if((f|0)>=(e|0)){h=f;break a}i=c[(c[b>>2]|0)+52>>2]|0;j=Si(c[g>>2]|0)|0;k=gb[i&31](b,j)|0;if((k|0)==(Ri()|0)){h=f;break a}f=f+1|0;g=g+4|0}}else h=Yg(d,4,e,c[b+32>>2]|0)|0;while(0);return h|0}function Uj(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,r=0,s=0,t=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+8|0;h=e+4|0;i=e;do if(!(sj(d,Ri()|0)|0)){c[g>>2]=Ui(d)|0;if(a[b+44>>0]|0){if((Yg(g,4,1,c[b+32>>2]|0)|0)==1){j=15;break}k=Ri()|0;break}c[h>>2]=f;l=g+4|0;m=b+36|0;n=b+40|0;o=f+8|0;p=f;q=b+32|0;r=g;while(1){s=c[m>>2]|0;t=ob[c[(c[s>>2]|0)+12>>2]&15](s,c[n>>2]|0,r,l,i,f,o,h)|0;if((c[i>>2]|0)==(r|0)){j=14;break}if((t|0)==3){j=8;break}if(t>>>0>=2){j=14;break}s=(c[h>>2]|0)-p|0;if((Yg(f,1,s,c[q>>2]|0)|0)!=(s|0)){j=14;break}if((t|0)==1)r=c[i>>2]|0;else{j=13;break}}if((j|0)==8)if((Yg(r,1,1,c[q>>2]|0)|0)==1)j=13;else j=14;if((j|0)==13){j=15;break}else if((j|0)==14){k=Ri()|0;break}}else j=15;while(0);if((j|0)==15)k=Vj(d)|0;$a=e;return k|0}function Vj(a){a=a|0;var b=0;if(sj(a,Ri()|0)|0)b=~(Ri()|0);else b=a;return b|0}function Wj(a){a=a|0;li(a);ct(a);return}function Xj(b,d){b=b|0;d=d|0;var e=0;eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;e=Pk(d,26824)|0;c[b+36>>2]=e;a[b+44>>0]=(eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;return}function Yj(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;b=$a;$a=$a+16|0;d=b+8|0;e=b;f=a+36|0;g=a+40|0;h=d+8|0;i=d;j=a+32|0;a:while(1){a=c[f>>2]|0;k=kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;a=(c[e>>2]|0)-i|0;if((Yg(d,1,a,c[j>>2]|0)|0)!=(a|0)){l=-1;break}switch(k|0){case 1:break;case 2:{l=-1;break a;break}default:{m=4;break a}}}if((m|0)==4)l=((kh(c[j>>2]|0)|0)!=0)<<31>>31;$a=b;return l|0}function Zj(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;a:do if(!(a[b+44>>0]|0)){f=0;g=d;while(1){if((f|0)>=(e|0)){h=f;break a}i=c[(c[b>>2]|0)+52>>2]|0;j=Ai(a[g>>0]|0)|0;k=gb[i&31](b,j)|0;if((k|0)==(zi()|0)){h=f;break a}f=f+1|0;g=g+1|0}}else h=Yg(d,1,e,c[b+32>>2]|0)|0;while(0);return h|0}function _j(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,r=0,s=0,t=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+8|0;h=e+4|0;i=e;do if(!(qj(d,zi()|0)|0)){a[g>>0]=Ci(d)|0;if(a[b+44>>0]|0){if((Yg(g,1,1,c[b+32>>2]|0)|0)==1){j=15;break}k=zi()|0;break}c[h>>2]=f;l=g+1|0;m=b+36|0;n=b+40|0;o=f+8|0;p=f;q=b+32|0;r=g;while(1){s=c[m>>2]|0;t=ob[c[(c[s>>2]|0)+12>>2]&15](s,c[n>>2]|0,r,l,i,f,o,h)|0;if((c[i>>2]|0)==(r|0)){j=14;break}if((t|0)==3){j=8;break}if(t>>>0>=2){j=14;break}s=(c[h>>2]|0)-p|0;if((Yg(f,1,s,c[q>>2]|0)|0)!=(s|0)){j=14;break}if((t|0)==1)r=c[i>>2]|0;else{j=13;break}}if((j|0)==8)if((Yg(r,1,1,c[q>>2]|0)|0)==1)j=13;else j=14;if((j|0)==13){j=15;break}else if((j|0)==14){k=zi()|0;break}}else j=15;while(0);if((j|0)==15)k=$j(d)|0;$a=e;return k|0}function $j(a){a=a|0;var b=0;if(qj(a,zi()|0)|0)b=~(zi()|0);else b=a;return b|0}function ak(a){a=a|0;Di(a);ct(a);return}function bk(b,d){b=b|0;d=d|0;var e=0,f=0;e=Pk(d,26832)|0;d=b+36|0;c[d>>2]=e;f=b+44|0;c[f>>2]=eb[c[(c[e>>2]|0)+24>>2]&127](e)|0;e=c[d>>2]|0;a[b+53>>0]=(eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[f>>2]|0)>8)ho(17367);else return}function ck(a){a=a|0;return fk(a,0)|0}function dk(a){a=a|0;return fk(a,1)|0}function ek(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,r=0,s=0,t=0,u=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+8|0;h=e+4|0;i=e;j=sj(d,Ri()|0)|0;k=b+52|0;l=(a[k>>0]|0)!=0;do if(j)if(l)m=d;else{n=c[b+48>>2]|0;a[k>>0]=((sj(n,Ri()|0)|0)^1)&1;m=n}else{if(l){n=b+48|0;c[h>>2]=Ui(c[n>>2]|0)|0;o=c[b+36>>2]|0;switch(ob[c[(c[o>>2]|0)+12>>2]&15](o,c[b+40>>2]|0,h,h+4|0,i,f,f+8|0,g)|0){case 1:case 2:{p=11;break}case 3:{a[f>>0]=c[n>>2];c[g>>2]=f+1;p=8;break}default:p=8}a:do if((p|0)==8){o=b+32|0;while(1){q=c[g>>2]|0;if(q>>>0<=f>>>0){r=1;s=0;break a}t=q+-1|0;c[g>>2]=t;if((Fh(a[t>>0]|0,c[o>>2]|0)|0)==-1){p=11;break}}}while(0);if((p|0)==11){r=0;s=Ri()|0}if(r)u=n;else{m=s;break}}else u=b+48|0;c[u>>2]=d;a[k>>0]=1;m=d}while(0);$a=e;return m|0}function fk(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+8|0;h=e+4|0;i=e;j=b+52|0;if(a[j>>0]|0){k=b+48|0;l=c[k>>2]|0;if(d){c[k>>2]=Ri()|0;a[j>>0]=0;m=l}else m=l}else{l=c[b+44>>2]|0;j=(l|0)>1?l:1;l=b+32|0;k=0;while(1){if(k>>>0>=j>>>0){n=9;break}o=Dh(c[l>>2]|0)|0;if((o|0)==-1){n=8;break}a[f+k>>0]=o;k=k+1|0}if((n|0)==8)p=Ri()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){k=b+40|0;o=b+36|0;q=g+4|0;r=j;a:while(1){s=c[k>>2]|0;t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=c[o>>2]|0;w=f+r|0;switch(ob[c[(c[t>>2]|0)+16>>2]&15](t,s,f,w,h,g,q,i)|0){case 3:{n=15;break a;break}case 2:{n=17;break a;break}case 1:break;default:break a}s=c[k>>2]|0;c[s>>2]=u;c[s+4>>2]=v;if((r|0)==8){n=17;break}v=Dh(c[l>>2]|0)|0;if((v|0)==-1){n=17;break}a[w>>0]=v;r=r+1|0}if((n|0)==15)c[g>>2]=a[f>>0];else if((n|0)==17){x=Ri()|0;break}y=r;n=19}else{c[g>>2]=a[f>>0];y=j;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=Si(c[g>>2]|0)|0;else{j=y;do{if((j|0)<=0)break c;j=j+-1|0;i=Si(a[f+j>>0]|0)|0}while((Fh(i,c[l>>2]|0)|0)!=-1);x=Ri()|0;break b}while(0);x=Si(c[g>>2]|0)|0}while(0);p=x}m=p}$a=e;return m|0}function gk(a){a=a|0;li(a);ct(a);return}function hk(b,d){b=b|0;d=d|0;var e=0,f=0;e=Pk(d,26824)|0;d=b+36|0;c[d>>2]=e;f=b+44|0;c[f>>2]=eb[c[(c[e>>2]|0)+24>>2]&127](e)|0;e=c[d>>2]|0;a[b+53>>0]=(eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[f>>2]|0)>8)ho(17367);else return}function ik(a){a=a|0;return lk(a,0)|0}function jk(a){a=a|0;return lk(a,1)|0}function kk(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,r=0,s=0,t=0,u=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+4|0;h=e+8|0;i=e;j=qj(d,zi()|0)|0;k=b+52|0;l=(a[k>>0]|0)!=0;do if(j)if(l)m=d;else{n=c[b+48>>2]|0;a[k>>0]=((qj(n,zi()|0)|0)^1)&1;m=n}else{if(l){n=b+48|0;a[h>>0]=Ci(c[n>>2]|0)|0;o=c[b+36>>2]|0;switch(ob[c[(c[o>>2]|0)+12>>2]&15](o,c[b+40>>2]|0,h,h+1|0,i,f,f+8|0,g)|0){case 1:case 2:{p=11;break}case 3:{a[f>>0]=c[n>>2];c[g>>2]=f+1;p=8;break}default:p=8}a:do if((p|0)==8){o=b+32|0;while(1){q=c[g>>2]|0;if(q>>>0<=f>>>0){r=1;s=0;break a}t=q+-1|0;c[g>>2]=t;if((Fh(a[t>>0]|0,c[o>>2]|0)|0)==-1){p=11;break}}}while(0);if((p|0)==11){r=0;s=zi()|0}if(r)u=n;else{m=s;break}}else u=b+48|0;c[u>>2]=d;a[k>>0]=1;m=d}while(0);$a=e;return m|0}function lk(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=$a;$a=$a+32|0;f=e+16|0;g=e+8|0;h=e+4|0;i=e;j=b+52|0;if(a[j>>0]|0){k=b+48|0;l=c[k>>2]|0;if(d){c[k>>2]=zi()|0;a[j>>0]=0;m=l}else m=l}else{l=c[b+44>>2]|0;j=(l|0)>1?l:1;l=b+32|0;k=0;while(1){if(k>>>0>=j>>>0){n=9;break}o=Dh(c[l>>2]|0)|0;if((o|0)==-1){n=8;break}a[f+k>>0]=o;k=k+1|0}if((n|0)==8)p=zi()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){k=b+40|0;o=b+36|0;q=g+1|0;r=j;a:while(1){s=c[k>>2]|0;t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=c[o>>2]|0;w=f+r|0;switch(ob[c[(c[t>>2]|0)+16>>2]&15](t,s,f,w,h,g,q,i)|0){case 3:{n=15;break a;break}case 2:{n=17;break a;break}case 1:break;default:break a}s=c[k>>2]|0;c[s>>2]=u;c[s+4>>2]=v;if((r|0)==8){n=17;break}v=Dh(c[l>>2]|0)|0;if((v|0)==-1){n=17;break}a[w>>0]=v;r=r+1|0}if((n|0)==15)a[g>>0]=a[f>>0]|0;else if((n|0)==17){x=zi()|0;break}y=r;n=19}else{a[g>>0]=a[f>>0]|0;y=j;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=Ai(a[g>>0]|0)|0;else{j=y;do{if((j|0)<=0)break c;j=j+-1|0;i=Ai(a[f+j>>0]|0)|0}while((Fh(i,c[l>>2]|0)|0)!=-1);x=zi()|0;break b}while(0);x=Ai(a[g>>0]|0)|0}while(0);p=x}m=p}$a=e;return m|0}function mk(a){a=a|0;uk(a);return}function nk(a){a=a|0;mk(a);ct(a);return}function ok(a){a=a|0;if(a|0)qb[c[(c[a>>2]|0)+4>>2]&255](a);return}function pk(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,i=0;b=c;c=e;while(1){if((c|0)==(f|0)){g=7;break}if((b|0)==(d|0)){h=-1;break}e=a[b>>0]|0;i=a[c>>0]|0;if(e<<24>>24<i<<24>>24){h=-1;break}if(i<<24>>24<e<<24>>24){h=1;break}b=b+1|0;c=c+1|0}if((g|0)==7)h=(b|0)!=(d|0)&1;return h|0}function qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;sk(a,d,e);return}function rk(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;e=c;while(1){if((e|0)==(d|0))break;c=(b<<4)+(a[e>>0]|0)|0;f=c&-268435456;b=(f>>>24|f)^c;e=e+1|0}return b|0}function sk(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;f=$a;$a=$a+16|0;g=d;h=f;i=e-g|0;if(i>>>0>4294967279)kt(b);if(i>>>0<11){a[b+11>>0]=i;j=b}else{k=i+16&-16;l=at(k)|0;c[b>>2]=l;c[b+8>>2]=k|-2147483648;c[b+4>>2]=i;j=l}l=e-g|0;g=d;d=j;while(1){if((g|0)==(e|0))break;tk(d,g);g=g+1|0;d=d+1|0}a[h>>0]=0;tk(j+l|0,h);$a=f;return}function tk(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function uk(a){a=a|0;return}function vk(a){a=a|0;uk(a);return}function wk(a){a=a|0;vk(a);ct(a);return}function xk(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;a=b;b=e;while(1){if((b|0)==(f|0)){g=7;break}if((a|0)==(d|0)){h=-1;break}e=c[a>>2]|0;i=c[b>>2]|0;if((e|0)<(i|0)){h=-1;break}if((i|0)<(e|0)){h=1;break}a=a+4|0;b=b+4|0}if((g|0)==7)h=(a|0)!=(d|0)&1;return h|0}function yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Ak(a,d,e);return}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;e=b;while(1){if((e|0)==(d|0))break;b=(c[e>>2]|0)+(a<<4)|0;f=b&-268435456;a=(f>>>24|f)^b;e=e+4|0}return a|0}function Ak(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;f=$a;$a=$a+16|0;g=f;h=e-d>>2;if(h>>>0>1073741807)kt(b);do if(h>>>0>=2){i=h+4&-4;if(i>>>0>1073741823)na();else{j=at(i<<2)|0;c[b>>2]=j;c[b+8>>2]=i|-2147483648;c[b+4>>2]=h;k=j;break}}else{a[b+8+3>>0]=h;k=b}while(0);b=d;d=k;while(1){if((b|0)==(e|0))break;Bk(d,b);b=b+4|0;d=d+4|0}c[g>>2]=0;Bk(d,g);$a=f;return}function Bk(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function Ck(a){a=a|0;uk(a);return}function Dk(a){a=a|0;uk(a);ct(a);return}function Ek(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,q=0;i=$a;$a=$a+48|0;j=i+40|0;k=i;l=i+36|0;m=i+32|0;n=i+28|0;o=i+24|0;if(!(c[f+4>>2]&1)){c[l>>2]=-1;p=c[(c[b>>2]|0)+16>>2]|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];c[k>>2]=c[m>>2];c[j>>2]=c[n>>2];c[d>>2]=mb[p&63](b,k,j,f,g,l)|0;switch(c[l>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}q=c[d>>2]|0}else{rj(j,f);l=Pk(j,26520)|0;Qk(j);rj(j,f);f=Pk(j,26536)|0;Qk(j);rb[c[(c[f>>2]|0)+24>>2]&63](k,f);rb[c[(c[f>>2]|0)+28>>2]&63](k+12|0,f);c[o>>2]=c[e>>2];e=k+24|0;c[j>>2]=c[o>>2];a[h>>0]=(xl(d,j,k,e,l,g,1)|0)==(k|0)&1;g=c[d>>2]|0;d=e;do{d=d+-12|0;qt(d)}while((d|0)!=(k|0));q=g}$a=i;return q|0}function Fk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=vl(a,j,i,e,f,g)|0;$a=h;return l|0}function Gk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=tl(a,j,i,e,f,g)|0;$a=h;return l|0}function Hk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=rl(a,j,i,e,f,g)|0;$a=h;return l|0}function Ik(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=pl(a,j,i,e,f,g)|0;$a=h;return l|0}function Jk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=nl(a,j,i,e,f,g)|0;$a=h;return l|0}function Kk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=hl(a,j,i,e,f,g)|0;$a=h;return l|0}function Lk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=fl(a,j,i,e,f,g)|0;$a=h;return l|0}function Mk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=dl(a,j,i,e,f,g)|0;$a=h;return l|0}function Nk(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=_k(a,j,i,e,f,g)|0;$a=h;return l|0}function Ok(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,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;b=$a;$a=$a+240|0;i=b+192|0;j=b+160|0;k=b+220|0;l=b+208|0;m=b+204|0;n=b;o=b+200|0;p=b+196|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[k+(q<<2)>>2]=0;q=q+1|0}rj(l,f);f=Pk(l,26520)|0;ib[c[(c[f>>2]|0)+32>>2]&7](f,5376,5402,j)|0;Qk(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;q=l+8|0;if((a[f>>0]|0)<0)r=(c[q>>2]&2147483647)+-1|0;else r=10;xt(l,r,0);r=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=r;c[o>>2]=n;c[p>>2]=0;s=l+4|0;t=c[d>>2]|0;u=t;v=t;t=r;a:while(1){if(v){r=c[v+12>>2]|0;if((r|0)==(c[v+16>>2]|0))w=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else w=Ai(a[r>>0]|0)|0;if(qj(w,zi()|0)|0){c[d>>2]=0;x=0;y=0;z=1}else{x=v;y=u;z=0}}else{x=0;y=0;z=1}r=c[e>>2]|0;do if(r){A=c[r+12>>2]|0;if((A|0)==(c[r+16>>2]|0))B=eb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else B=Ai(a[A>>0]|0)|0;if(!(qj(B,zi()|0)|0))if(z){C=r;break}else{D=r;E=t;break a}else{c[e>>2]=0;F=22;break}}else F=22;while(0);if((F|0)==22){F=0;if(z){D=0;E=t;break}else C=0}r=a[f>>0]|0;A=r<<24>>24<0?c[s>>2]|0:r&255;if((c[m>>2]|0)==(t+A|0)){xt(l,A<<1,0);if((a[f>>0]|0)<0)G=(c[q>>2]&2147483647)+-1|0;else G=10;xt(l,G,0);r=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=r+A;H=r}else H=t;r=x+12|0;A=c[r>>2]|0;I=x+16|0;if((A|0)==(c[I>>2]|0))J=eb[c[(c[x>>2]|0)+36>>2]&127](x)|0;else J=Ai(a[A>>0]|0)|0;if(Rk(J&255,16,H,m,p,0,k,n,o,j)|0){D=C;E=H;break}A=c[r>>2]|0;if((A|0)==(c[I>>2]|0))eb[c[(c[x>>2]|0)+40>>2]&127](x)|0;else{c[r>>2]=A+1;Ai(a[A>>0]|0)|0}u=y;v=x;t=H}xt(l,(c[m>>2]|0)-E|0,0);E=(a[f>>0]|0)<0?c[l>>2]|0:l;f=Sk()|0;c[i>>2]=h;if((Tk(E,f,17515,i)|0)!=1)c[g>>2]=4;if(x){i=c[x+12>>2]|0;if((i|0)==(c[x+16>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](x)|0;else K=Ai(a[i>>0]|0)|0;if(qj(K,zi()|0)|0){c[d>>2]=0;L=1}else L=0}else L=1;do if(D){K=c[D+12>>2]|0;if((K|0)==(c[D+16>>2]|0))M=eb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=Ai(a[K>>0]|0)|0;if(!(qj(M,zi()|0)|0))if(L)break;else{F=52;break}else{c[e>>2]=0;F=50;break}}else F=50;while(0);if((F|0)==50?L:0)F=52;if((F|0)==52)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=b;return g|0}function Pk(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;return Vk(d,Uk(b)|0)|0}function Qk(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;a=b+4|0;d=c[a>>2]|0;c[a>>2]=d+-1;if(!d)qb[c[(c[b>>2]|0)+8>>2]&255](b);return}function Rk(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=c[f>>2]|0;n=(m|0)==(e|0);do if(n){o=(a[l+24>>0]|0)==b<<24>>24;if(!o?(a[l+25>>0]|0)!=b<<24>>24:0){p=5;break}c[f>>2]=e+1;a[e>>0]=o?43:45;c[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((o<<24>>24<0?c[i+4>>2]|0:o&255)|0)!=0:0){o=c[k>>2]|0;if((o-j|0)>=160){q=0;break}r=c[g>>2]|0;c[k>>2]=o+4;c[o>>2]=r;c[g>>2]=0;q=0;break}r=l+26|0;o=0;while(1){s=l+o|0;if((o|0)==26){t=r;break}if((a[s>>0]|0)==b<<24>>24){t=s;break}else o=o+1|0}o=t-l|0;if((o|0)>23)q=-1;else{switch(d|0){case 10:case 8:{if((o|0)>=(d|0)){q=-1;break a}break}case 16:{if((o|0)>=22){if(n){q=-1;break a}if((m-e|0)>=3){q=-1;break a}if((a[m+-1>>0]|0)!=48){q=-1;break a}c[g>>2]=0;r=a[5376+o>>0]|0;c[f>>2]=m+1;a[m>>0]=r;q=0;break a}break}default:{}}r=a[5376+o>>0]|0;c[f>>2]=m+1;a[m>>0]=r;c[g>>2]=(c[g>>2]|0)+1;q=0}}while(0);return q|0}function Sk(){if((a[24160]|0)==0?cv(24160)|0:0)c[6632]=Tg(2147483647,17518,0)|0;return c[6632]|0}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;c[g>>2]=e;e=Vg(b)|0;b=nh(a,d,g)|0;if(e|0)Vg(e)|0;$a=f;return b|0}function Uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=$a;$a=$a+48|0;d=b+32|0;e=b+24|0;f=b;g=b+16|0;c[g>>2]=166;c[g+4>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];Xk(f,d,a);if((c[a>>2]|0)!=-1){c[d>>2]=f;c[e>>2]=d;_s(a,e,167)}$a=b;return (c[a+4>>2]|0)+-1|0}function Vk(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function Wk(a){a=a|0;var b=0;b=c[6633]|0;c[6633]=b+1;c[a+4>>2]=b+1;return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]|0;f=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=f;return}function Yk(a){a=a|0;Zk(c[c[a>>2]>>2]|0);return}function Zk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=c[a+8>>2]|0;e=(c[a>>2]|0)+(d>>1)|0;if(!(d&1))f=b;else f=c[(c[e>>2]|0)+b>>2]|0;qb[f&255](e);return}function _k(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|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,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;b=$a;$a=$a+240|0;j=b+160|0;k=b+231|0;l=b+230|0;m=b+216|0;n=b+204|0;o=b+200|0;p=b;q=b+196|0;r=b+192|0;s=b+229|0;t=b+228|0;$k(m,f,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[n+(f<<2)>>2]=0;f=f+1|0}f=n+11|0;u=n+8|0;if((a[f>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Ai(a[v>>0]|0)|0;if(qj(A,zi()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Ai(a[E>>0]|0)|0;if(!(qj(F,zi()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[f>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[f>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Ai(a[E>>0]|0)|0;if(al(N&255,s,t,L,o,a[k>>0]|0,a[l>>0]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+1;Ai(a[E>>0]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}g[i>>3]=+bl(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Ai(a[q>>0]|0)|0;if(qj(O,zi()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Ai(a[O>>0]|0)|0;if(!(qj(Q,zi()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function $k(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;h=$a;$a=$a+16|0;i=h;rj(i,d);d=Pk(i,26520)|0;ib[c[(c[d>>2]|0)+32>>2]&7](d,5376,5408,e)|0;e=Pk(i,26536)|0;a[f>>0]=eb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=eb[c[(c[e>>2]|0)+16>>2]&127](e)|0;rb[c[(c[e>>2]|0)+20>>2]&63](b,e);Qk(i);$a=h;return}function al(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=46;o=a[j+11>>0]|0;if(((o<<24>>24<0?c[j+4>>2]|0:o&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){p=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=p;q=0}else q=0}else q=-1;else{if(b<<24>>24==i<<24>>24?(p=a[j+11>>0]|0,(p<<24>>24<0?c[j+4>>2]|0:p&255)|0):0){if(!(a[d>>0]|0)){q=-1;break}p=c[l>>2]|0;if((p-k|0)>=160){q=0;break}o=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=o;c[m>>2]=0;q=0;break}o=n+32|0;p=0;while(1){r=n+p|0;if((p|0)==32){s=o;break}if((a[r>>0]|0)==b<<24>>24){s=r;break}else p=p+1|0}p=s-n|0;if((p|0)>31)q=-1;else{o=a[5376+p>>0]|0;switch(p|0){case 24:case 25:{r=c[g>>2]|0;if((r|0)!=(f|0)?(a[r+-1>>0]&95)!=(a[e>>0]&127):0){q=-1;break a}c[g>>2]=r+1;a[r>>0]=o;q=0;break a;break}case 23:case 22:{a[e>>0]=80;r=c[g>>2]|0;c[g>>2]=r+1;a[r>>0]=o;q=0;break a;break}default:{r=o&95;if((((r|0)==(a[e>>0]|0)?(a[e>>0]=r|128,a[d>>0]|0):0)?(a[d>>0]=0,r=a[j+11>>0]|0,(r<<24>>24<0?c[j+4>>2]|0:r&255)|0):0)?(r=c[l>>2]|0,(r-k|0)<160):0){t=c[m>>2]|0;c[l>>2]=r+4;c[r>>2]=t}t=c[g>>2]|0;c[g>>2]=t+1;a[t>>0]=o;if((p|0)>21){q=0;break a}c[m>>2]=(c[m>>2]|0)+1;q=0;break a}}}}while(0);return q|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0;e=$a;$a=$a+16|0;f=e;if((a|0)==(b|0)){c[d>>2]=4;g=0.0}else{h=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;i=+Qh(a,f,Sk()|0);a=c[(wf()|0)>>2]|0;if(!a)c[(wf()|0)>>2]=h;if((c[f>>2]|0)==(b|0))if((a|0)==34){j=i;k=6}else l=i;else{j=0.0;k=6}if((k|0)==6){c[d>>2]=4;l=j}g=l}$a=e;return +g}function cl(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+11|0;h=a[g>>0]|0;i=b+4|0;j=c[i>>2]|0;k=h&255;do if((h<<24>>24<0?j:k)|0){if((d|0)==(e|0)){l=h;m=j;n=k}else{o=d;p=e;while(1){q=p+-4|0;if(o>>>0>=q>>>0)break;r=c[o>>2]|0;c[o>>2]=c[q>>2];c[q>>2]=r;o=o+4|0;p=q}p=a[g>>0]|0;l=p;m=c[i>>2]|0;n=p&255}p=l<<24>>24<0;o=p?c[b>>2]|0:b;q=e+-4|0;r=o+(p?m:n)|0;p=o;o=d;while(1){s=a[p>>0]|0;t=s<<24>>24>0&s<<24>>24!=127;if(o>>>0>=q>>>0)break;if(t?(c[o>>2]|0)!=(s<<24>>24|0):0){u=11;break}p=(r-p|0)>1?p+1|0:p;o=o+4|0}if((u|0)==11){c[f>>2]=4;break}if(t?((c[q>>2]|0)+-1|0)>>>0>=s<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function dl(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|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,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;b=$a;$a=$a+240|0;j=b+160|0;k=b+231|0;l=b+230|0;m=b+216|0;n=b+204|0;o=b+200|0;p=b;q=b+196|0;r=b+192|0;s=b+229|0;t=b+228|0;$k(m,f,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[n+(f<<2)>>2]=0;f=f+1|0}f=n+11|0;u=n+8|0;if((a[f>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Ai(a[v>>0]|0)|0;if(qj(A,zi()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Ai(a[E>>0]|0)|0;if(!(qj(F,zi()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[f>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[f>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Ai(a[E>>0]|0)|0;if(al(N&255,s,t,L,o,a[k>>0]|0,a[l>>0]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+1;Ai(a[E>>0]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}g[i>>3]=+el(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Ai(a[q>>0]|0)|0;if(qj(O,zi()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Ai(a[O>>0]|0)|0;if(!(qj(Q,zi()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function el(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0;e=$a;$a=$a+16|0;f=e;if((a|0)==(b|0)){c[d>>2]=4;g=0.0}else{h=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;i=+Ph(a,f,Sk()|0);a=c[(wf()|0)>>2]|0;if(!a)c[(wf()|0)>>2]=h;if((c[f>>2]|0)==(b|0))if((a|0)==34){j=i;k=6}else l=i;else{j=0.0;k=6}if((k|0)==6){c[d>>2]=4;l=j}g=l}$a=e;return +g}function fl(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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,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;b=$a;$a=$a+240|0;j=b+160|0;k=b+231|0;l=b+230|0;m=b+216|0;n=b+204|0;o=b+200|0;p=b;q=b+196|0;r=b+192|0;s=b+229|0;t=b+228|0;$k(m,g,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[n+(g<<2)>>2]=0;g=g+1|0}g=n+11|0;u=n+8|0;if((a[g>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[g>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Ai(a[v>>0]|0)|0;if(qj(A,zi()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Ai(a[E>>0]|0)|0;if(!(qj(F,zi()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[g>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[g>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[g>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Ai(a[E>>0]|0)|0;if(al(N&255,s,t,L,o,a[k>>0]|0,a[l>>0]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+1;Ai(a[E>>0]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}f[i>>2]=+gl(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Ai(a[q>>0]|0)|0;if(qj(O,zi()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Ai(a[O>>0]|0)|0;if(!(qj(Q,zi()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0;e=$a;$a=$a+16|0;f=e;if((a|0)==(b|0)){c[d>>2]=4;g=0.0}else{h=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;i=+Oh(a,f,Sk()|0);a=c[(wf()|0)>>2]|0;if(!a)c[(wf()|0)>>2]=h;if((c[f>>2]|0)==(b|0))if((a|0)==34){j=i;k=6}else l=i;else{j=0.0;k=6}if((k|0)==6){c[d>>2]=4;l=j}g=l}$a=e;return +g}function hl(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,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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=$a;$a=$a+240|0;j=i+224|0;k=i+212|0;l=i+200|0;m=i+196|0;n=i;o=i+192|0;p=i+188|0;q=il(f)|0;r=jl(b,f,i+160|0)|0;kl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Ai(a[s>>0]|0)|0;if(qj(x,zi()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Ai(a[B>>0]|0)|0;if(!(qj(C,zi()|0)|0))if(A){D=s;break}else{F=s;G=u;break a}else{c[e>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(A){F=0;G=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)I=(c[b>>2]&2147483647)+-1|0;else I=10;xt(l,I,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;J=s}else J=u;s=y+12|0;B=c[s>>2]|0;K=y+16|0;if((B|0)==(c[K>>2]|0))L=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=Ai(a[B>>0]|0)|0;if(Rk(L&255,q,J,m,p,a[j>>0]|0,k,n,o,r)|0){F=D;G=J;break}B=c[s>>2]|0;if((B|0)==(c[K>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+1;Ai(a[B>>0]|0)|0}v=y;w=z;u=J}J=a[k+11>>0]|0;if((J<<24>>24<0?c[k+4>>2]|0:J&255)|0?(J=c[o>>2]|0,(J-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=J+4;c[J>>2]=u}u=ll(G,c[m>>2]|0,g,q)|0;q=E()|0;m=h;c[m>>2]=u;c[m+4>>2]=q;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))M=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else M=Ai(a[o>>0]|0)|0;if(qj(M,zi()|0)|0){c[d>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Ai(a[M>>0]|0)|0;if(!(qj(O,zi()|0)|0))if(N)break;else{H=50;break}else{c[e>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function il(a){a=a|0;var b=0;switch(c[a+4>>2]&74){case 64:{b=8;break}case 8:{b=16;break}case 0:{b=0;break}default:b=10}return b|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;return ml(a,b,c)|0}function kl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;rj(g,d);d=Pk(g,26536)|0;a[e>>0]=eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;rb[c[(c[d>>2]|0)+20>>2]&63](b,d);Qk(g);$a=f;return}function ll(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,o=0,p=0,q=0,r=0,s=0;g=$a;$a=$a+16|0;h=g;do if((b|0)==(d|0)){c[e>>2]=4;i=0;j=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;i=0;j=0;break}k=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;l=Af(b,h,f,Sk()|0)|0;m=E()|0;n=c[(wf()|0)>>2]|0;if(!n)c[(wf()|0)>>2]=k;if((c[h>>2]|0)==(d|0))if((n|0)==34){o=-1;p=-1;q=8}else{r=l;s=m}else{o=0;p=0;q=8}if((q|0)==8){c[e>>2]=4;r=o;s=p}i=s;j=r}while(0);D(i|0);$a=g;return j|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;return 5376}function nl(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,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;i=$a;$a=$a+240|0;j=i+224|0;k=i+212|0;l=i+200|0;m=i+196|0;n=i;o=i+192|0;p=i+188|0;q=il(f)|0;r=jl(b,f,i+160|0)|0;kl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Ai(a[s>>0]|0)|0;if(qj(x,zi()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Ai(a[B>>0]|0)|0;if(!(qj(C,zi()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Ai(a[B>>0]|0)|0;if(Rk(K&255,q,I,m,p,a[j>>0]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+1;Ai(a[B>>0]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=ol(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Ai(a[o>>0]|0)|0;if(qj(L,zi()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Ai(a[L>>0]|0)|0;if(!(qj(N,zi()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function ol(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;g=$a;$a=$a+16|0;h=g;do if((b|0)==(d|0)){c[e>>2]=4;i=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;i=0;break}j=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;k=Af(b,h,f,Sk()|0)|0;l=E()|0;m=c[(wf()|0)>>2]|0;if(!m)c[(wf()|0)>>2]=j;do if((c[h>>2]|0)==(d|0))if(l>>>0>0|(l|0)==0&k>>>0>4294967295|(m|0)==34){c[e>>2]=4;n=-1;break}else{n=k;break}else{c[e>>2]=4;n=0}while(0);i=n}while(0);$a=g;return i|0}function pl(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,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;i=$a;$a=$a+240|0;j=i+224|0;k=i+212|0;l=i+200|0;m=i+196|0;n=i;o=i+192|0;p=i+188|0;q=il(f)|0;r=jl(b,f,i+160|0)|0;kl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Ai(a[s>>0]|0)|0;if(qj(x,zi()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Ai(a[B>>0]|0)|0;if(!(qj(C,zi()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Ai(a[B>>0]|0)|0;if(Rk(K&255,q,I,m,p,a[j>>0]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+1;Ai(a[B>>0]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=ql(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Ai(a[o>>0]|0)|0;if(qj(L,zi()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Ai(a[L>>0]|0)|0;if(!(qj(N,zi()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function ql(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;g=$a;$a=$a+16|0;h=g;do if((b|0)==(d|0)){c[e>>2]=4;i=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;i=0;break}j=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;k=Af(b,h,f,Sk()|0)|0;l=E()|0;m=c[(wf()|0)>>2]|0;if(!m)c[(wf()|0)>>2]=j;do if((c[h>>2]|0)==(d|0))if(l>>>0>0|(l|0)==0&k>>>0>4294967295|(m|0)==34){c[e>>2]=4;n=-1;break}else{n=k;break}else{c[e>>2]=4;n=0}while(0);i=n}while(0);$a=g;return i|0}function rl(d,e,f,g,h,i){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,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;j=$a;$a=$a+240|0;k=j+224|0;l=j+212|0;m=j+200|0;n=j+196|0;o=j;p=j+192|0;q=j+188|0;r=il(g)|0;s=jl(d,g,j+160|0)|0;kl(l,g,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[m+(g<<2)>>2]=0;g=g+1|0}g=m+11|0;d=m+8|0;if((a[g>>0]|0)<0)t=(c[d>>2]&2147483647)+-1|0;else t=10;xt(m,t,0);t=(a[g>>0]|0)<0?c[m>>2]|0:m;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[e>>2]|0;w=v;x=v;v=t;a:while(1){if(w){t=c[w+12>>2]|0;if((t|0)==(c[w+16>>2]|0))y=eb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else y=Ai(a[t>>0]|0)|0;if(qj(y,zi()|0)|0){c[e>>2]=0;z=0;A=0;B=1}else{z=w;A=x;B=0}}else{z=0;A=0;B=1}t=c[f>>2]|0;do if(t){C=c[t+12>>2]|0;if((C|0)==(c[t+16>>2]|0))D=eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else D=Ai(a[C>>0]|0)|0;if(!(qj(D,zi()|0)|0))if(B){E=t;break}else{F=t;G=v;break a}else{c[f>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=0;G=v;break}else E=0}t=a[g>>0]|0;C=t<<24>>24<0?c[u>>2]|0:t&255;if((c[n>>2]|0)==(v+C|0)){xt(m,C<<1,0);if((a[g>>0]|0)<0)I=(c[d>>2]&2147483647)+-1|0;else I=10;xt(m,I,0);t=(a[g>>0]|0)<0?c[m>>2]|0:m;c[n>>2]=t+C;J=t}else J=v;t=z+12|0;C=c[t>>2]|0;K=z+16|0;if((C|0)==(c[K>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else L=Ai(a[C>>0]|0)|0;if(Rk(L&255,r,J,n,q,a[k>>0]|0,l,o,p,s)|0){F=E;G=J;break}C=c[t>>2]|0;if((C|0)==(c[K>>2]|0))eb[c[(c[z>>2]|0)+40>>2]&127](z)|0;else{c[t>>2]=C+1;Ai(a[C>>0]|0)|0}w=z;x=A;v=J}J=a[l+11>>0]|0;if((J<<24>>24<0?c[l+4>>2]|0:J&255)|0?(J=c[p>>2]|0,(J-o|0)<160):0){v=c[q>>2]|0;c[p>>2]=J+4;c[J>>2]=v}b[i>>1]=sl(G,c[n>>2]|0,h,r)|0;cl(l,o,c[p>>2]|0,h);if(z){p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))M=eb[c[(c[A>>2]|0)+36>>2]&127](z)|0;else M=Ai(a[p>>0]|0)|0;if(qj(M,zi()|0)|0){c[e>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Ai(a[M>>0]|0)|0;if(!(qj(O,zi()|0)|0))if(N)break;else{H=50;break}else{c[f>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;qt(m);qt(l);$a=j;return h|0}function sl(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;g=$a;$a=$a+16|0;h=g;do if((b|0)==(d|0)){c[e>>2]=4;i=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;i=0;break}j=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;k=Af(b,h,f,Sk()|0)|0;l=E()|0;m=c[(wf()|0)>>2]|0;if(!m)c[(wf()|0)>>2]=j;do if((c[h>>2]|0)==(d|0))if(l>>>0>0|(l|0)==0&k>>>0>65535|(m|0)==34){c[e>>2]=4;n=-1;break}else{n=k&65535;break}else{c[e>>2]=4;n=0}while(0);i=n}while(0);$a=g;return i|0}function tl(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,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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=$a;$a=$a+240|0;j=i+224|0;k=i+212|0;l=i+200|0;m=i+196|0;n=i;o=i+192|0;p=i+188|0;q=il(f)|0;r=jl(b,f,i+160|0)|0;kl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Ai(a[s>>0]|0)|0;if(qj(x,zi()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Ai(a[B>>0]|0)|0;if(!(qj(C,zi()|0)|0))if(A){D=s;break}else{F=s;G=u;break a}else{c[e>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(A){F=0;G=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)I=(c[b>>2]&2147483647)+-1|0;else I=10;xt(l,I,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;J=s}else J=u;s=y+12|0;B=c[s>>2]|0;K=y+16|0;if((B|0)==(c[K>>2]|0))L=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=Ai(a[B>>0]|0)|0;if(Rk(L&255,q,J,m,p,a[j>>0]|0,k,n,o,r)|0){F=D;G=J;break}B=c[s>>2]|0;if((B|0)==(c[K>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+1;Ai(a[B>>0]|0)|0}v=y;w=z;u=J}J=a[k+11>>0]|0;if((J<<24>>24<0?c[k+4>>2]|0:J&255)|0?(J=c[o>>2]|0,(J-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=J+4;c[J>>2]=u}u=ul(G,c[m>>2]|0,g,q)|0;q=E()|0;m=h;c[m>>2]=u;c[m+4>>2]=q;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))M=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else M=Ai(a[o>>0]|0)|0;if(qj(M,zi()|0)|0){c[d>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Ai(a[M>>0]|0)|0;if(!(qj(O,zi()|0)|0))if(N)break;else{H=50;break}else{c[e>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function ul(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;f=$a;$a=$a+16|0;g=f;if((a|0)==(b|0)){c[d>>2]=4;h=0;i=0}else{j=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;k=Jf(a,g,e,Sk()|0)|0;e=E()|0;a=c[(wf()|0)>>2]|0;if(!a)c[(wf()|0)>>2]=j;if((c[g>>2]|0)==(b|0))if((a|0)==34){c[d>>2]=4;a=(e|0)>0|(e|0)==0&k>>>0>0;l=a?-1:0;m=a?2147483647:-2147483648}else{l=k;m=e}else{c[d>>2]=4;l=0;m=0}h=m;i=l}D(h|0);$a=f;return i|0}function vl(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,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;i=$a;$a=$a+240|0;j=i+224|0;k=i+212|0;l=i+200|0;m=i+196|0;n=i;o=i+192|0;p=i+188|0;q=il(f)|0;r=jl(b,f,i+160|0)|0;kl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Ai(a[s>>0]|0)|0;if(qj(x,zi()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Ai(a[B>>0]|0)|0;if(!(qj(C,zi()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Ai(a[B>>0]|0)|0;if(Rk(K&255,q,I,m,p,a[j>>0]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+1;Ai(a[B>>0]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=wl(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Ai(a[o>>0]|0)|0;if(qj(L,zi()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Ai(a[L>>0]|0)|0;if(!(qj(N,zi()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function wl(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;f=$a;$a=$a+16|0;g=f;if((a|0)==(b|0)){c[d>>2]=4;h=0}else{i=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;j=Jf(a,g,e,Sk()|0)|0;e=E()|0;a=c[(wf()|0)>>2]|0;if(!a)c[(wf()|0)>>2]=i;a:do if((c[g>>2]|0)==(b|0)){do if((a|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&j>>>0>0){k=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&j>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&j>>>0>2147483647){c[d>>2]=4;k=2147483647;break a}else{k=j;break a}}while(0);k=-2147483648}else{c[d>>2]=4;k=0}while(0);h=k}$a=f;return h|0}function xl(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,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;j=$a;$a=$a+112|0;k=j;l=(f-e|0)/12|0;if(l>>>0>100){m=Th(l)|0;if(!m)$s();else{n=m;o=m}}else{n=0;o=k}k=e;m=0;p=l;l=o;while(1){if((k|0)==(f|0))break;q=a[k+11>>0]|0;if(q<<24>>24<0)r=c[k+4>>2]|0;else r=q&255;if(!r){a[l>>0]=2;s=m+1|0;t=p+-1|0}else{a[l>>0]=1;s=m;t=p}k=k+12|0;m=s;p=t;l=l+1|0}l=0;t=m;m=p;while(1){p=c[b>>2]|0;do if(p){s=c[p+12>>2]|0;if((s|0)==(c[p+16>>2]|0))u=eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else u=Ai(a[s>>0]|0)|0;if(qj(u,zi()|0)|0){c[b>>2]=0;v=1;break}else{v=(c[b>>2]|0)==0;break}}else v=1;while(0);p=c[d>>2]|0;if(p){s=c[p+12>>2]|0;if((s|0)==(c[p+16>>2]|0))w=eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else w=Ai(a[s>>0]|0)|0;if(qj(w,zi()|0)|0){c[d>>2]=0;x=1;y=0}else{x=0;y=p}}else{x=1;y=0}z=c[b>>2]|0;if(!((m|0)!=0&(v^x)))break;p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))A=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else A=Ai(a[p>>0]|0)|0;p=A&255;if(i)B=p;else B=gb[c[(c[g>>2]|0)+12>>2]&31](g,p)|0;p=l+1|0;s=0;k=e;r=t;q=m;C=o;while(1){if((k|0)==(f|0))break;do if((a[C>>0]|0)==1){D=k+11|0;if((a[D>>0]|0)<0)E=c[k>>2]|0;else E=k;F=a[E+l>>0]|0;if(i)G=F;else G=gb[c[(c[g>>2]|0)+12>>2]&31](g,F)|0;if(B<<24>>24!=G<<24>>24){a[C>>0]=0;H=s;I=r;J=q+-1|0;break}F=a[D>>0]|0;if(F<<24>>24<0)K=c[k+4>>2]|0;else K=F&255;if((K|0)==(p|0)){a[C>>0]=2;H=1;I=r+1|0;J=q+-1|0}else{H=1;I=r;J=q}}else{H=s;I=r;J=q}while(0);s=H;k=k+12|0;r=I;q=J;C=C+1|0}a:do if(s){C=c[b>>2]|0;k=C+12|0;F=c[k>>2]|0;if((F|0)==(c[C+16>>2]|0))eb[c[(c[C>>2]|0)+40>>2]&127](C)|0;else{c[k>>2]=F+1;Ai(a[F>>0]|0)|0}if((r+q|0)>>>0>1){F=e;k=r;C=o;while(1){if((F|0)==(f|0)){L=k;break a}if((a[C>>0]|0)==2){D=a[F+11>>0]|0;if(D<<24>>24<0)M=c[F+4>>2]|0;else M=D&255;if((M|0)!=(p|0)){a[C>>0]=0;N=k+-1|0}else N=k}else N=k;F=F+12|0;k=N;C=C+1|0}}else L=r}else L=r;while(0);l=p;t=L;m=q}do if(z){m=c[z+12>>2]|0;if((m|0)==(c[z+16>>2]|0))O=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else O=Ai(a[m>>0]|0)|0;if(qj(O,zi()|0)|0){c[b>>2]=0;P=1;break}else{P=(c[b>>2]|0)==0;break}}else P=1;while(0);do if(y){b=c[y+12>>2]|0;if((b|0)==(c[y+16>>2]|0))Q=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else Q=Ai(a[b>>0]|0)|0;if(!(qj(Q,zi()|0)|0))if(P)break;else{R=79;break}else{c[d>>2]=0;R=41;break}}else R=41;while(0);if((R|0)==41?P:0)R=79;if((R|0)==79)c[h>>2]=c[h>>2]|2;P=e;e=o;while(1){if((P|0)==(f|0)){R=84;break}if((a[e>>0]|0)==2){S=P;break}P=P+12|0;e=e+1|0}if((R|0)==84){c[h>>2]=c[h>>2]|4;S=f}Uh(n);$a=j;return S|0}function yl(a){a=a|0;uk(a);return}function zl(a){a=a|0;uk(a);ct(a);return}function Al(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,q=0;i=$a;$a=$a+48|0;j=i+40|0;k=i;l=i+36|0;m=i+32|0;n=i+28|0;o=i+24|0;if(!(c[f+4>>2]&1)){c[l>>2]=-1;p=c[(c[b>>2]|0)+16>>2]|0;c[m>>2]=c[d>>2];c[n>>2]=c[e>>2];c[k>>2]=c[m>>2];c[j>>2]=c[n>>2];c[d>>2]=mb[p&63](b,k,j,f,g,l)|0;switch(c[l>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}q=c[d>>2]|0}else{rj(j,f);l=Pk(j,26552)|0;Qk(j);rj(j,f);f=Pk(j,26560)|0;Qk(j);rb[c[(c[f>>2]|0)+24>>2]&63](k,f);rb[c[(c[f>>2]|0)+28>>2]&63](k+12|0,f);c[o>>2]=c[e>>2];e=k+24|0;c[j>>2]=c[o>>2];a[h>>0]=(_l(d,j,k,e,l,g,1)|0)==(k|0)&1;g=c[d>>2]|0;d=e;do{d=d+-12|0;Jt(d)}while((d|0)!=(k|0));q=g}$a=i;return q|0}function Bl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Zl(a,j,i,e,f,g)|0;$a=h;return l|0}function Cl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Yl(a,j,i,e,f,g)|0;$a=h;return l|0}function Dl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Xl(a,j,i,e,f,g)|0;$a=h;return l|0}function El(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Wl(a,j,i,e,f,g)|0;$a=h;return l|0}function Fl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Vl(a,j,i,e,f,g)|0;$a=h;return l|0}function Gl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Rl(a,j,i,e,f,g)|0;$a=h;return l|0}function Hl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Ql(a,j,i,e,f,g)|0;$a=h;return l|0}function Il(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Pl(a,j,i,e,f,g)|0;$a=h;return l|0}function Jl(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Ml(a,j,i,e,f,g)|0;$a=h;return l|0}function Kl(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,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;b=$a;$a=$a+304|0;i=b+264|0;j=b+160|0;k=b+292|0;l=b+280|0;m=b+276|0;n=b;o=b+272|0;p=b+268|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[k+(q<<2)>>2]=0;q=q+1|0}rj(l,f);f=Pk(l,26552)|0;ib[c[(c[f>>2]|0)+48>>2]&7](f,5376,5402,j)|0;Qk(l);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;q=l+8|0;if((a[f>>0]|0)<0)r=(c[q>>2]&2147483647)+-1|0;else r=10;xt(l,r,0);r=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=r;c[o>>2]=n;c[p>>2]=0;s=l+4|0;t=c[d>>2]|0;u=t;v=t;t=r;a:while(1){if(v){r=c[v+12>>2]|0;if((r|0)==(c[v+16>>2]|0))w=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else w=Si(c[r>>2]|0)|0;if(sj(w,Ri()|0)|0){c[d>>2]=0;x=0;y=0;z=1}else{x=v;y=u;z=0}}else{x=0;y=0;z=1}r=c[e>>2]|0;do if(r){A=c[r+12>>2]|0;if((A|0)==(c[r+16>>2]|0))B=eb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else B=Si(c[A>>2]|0)|0;if(!(sj(B,Ri()|0)|0))if(z){C=r;break}else{D=r;E=t;break a}else{c[e>>2]=0;F=22;break}}else F=22;while(0);if((F|0)==22){F=0;if(z){D=0;E=t;break}else C=0}r=a[f>>0]|0;A=r<<24>>24<0?c[s>>2]|0:r&255;if((c[m>>2]|0)==(t+A|0)){xt(l,A<<1,0);if((a[f>>0]|0)<0)G=(c[q>>2]&2147483647)+-1|0;else G=10;xt(l,G,0);r=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=r+A;H=r}else H=t;r=x+12|0;A=c[r>>2]|0;I=x+16|0;if((A|0)==(c[I>>2]|0))J=eb[c[(c[x>>2]|0)+36>>2]&127](x)|0;else J=Si(c[A>>2]|0)|0;if(Ll(J,16,H,m,p,0,k,n,o,j)|0){D=C;E=H;break}A=c[r>>2]|0;if((A|0)==(c[I>>2]|0))eb[c[(c[x>>2]|0)+40>>2]&127](x)|0;else{c[r>>2]=A+4;Si(c[A>>2]|0)|0}u=y;v=x;t=H}xt(l,(c[m>>2]|0)-E|0,0);E=(a[f>>0]|0)<0?c[l>>2]|0:l;f=Sk()|0;c[i>>2]=h;if((Tk(E,f,17515,i)|0)!=1)c[g>>2]=4;if(x){i=c[x+12>>2]|0;if((i|0)==(c[x+16>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](x)|0;else K=Si(c[i>>2]|0)|0;if(sj(K,Ri()|0)|0){c[d>>2]=0;L=1}else L=0}else L=1;do if(D){K=c[D+12>>2]|0;if((K|0)==(c[D+16>>2]|0))M=eb[c[(c[D>>2]|0)+36>>2]&127](D)|0;else M=Si(c[K>>2]|0)|0;if(!(sj(M,Ri()|0)|0))if(L)break;else{F=52;break}else{c[e>>2]=0;F=50;break}}else F=50;while(0);if((F|0)==50?L:0)F=52;if((F|0)==52)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=b;return g|0}function Ll(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=c[f>>2]|0;n=(m|0)==(e|0);do if(n){o=(c[l+96>>2]|0)==(b|0);if(!o?(c[l+100>>2]|0)!=(b|0):0){p=5;break}c[f>>2]=e+1;a[e>>0]=o?43:45;c[g>>2]=0;q=0}else p=5;while(0);a:do if((p|0)==5){o=a[i+11>>0]|0;if((b|0)==(h|0)?((o<<24>>24<0?c[i+4>>2]|0:o&255)|0)!=0:0){o=c[k>>2]|0;if((o-j|0)>=160){q=0;break}r=c[g>>2]|0;c[k>>2]=o+4;c[o>>2]=r;c[g>>2]=0;q=0;break}r=l+104|0;o=0;while(1){s=l+(o<<2)|0;if((o|0)==26){t=r;break}if((c[s>>2]|0)==(b|0)){t=s;break}else o=o+1|0}o=t-l|0;r=o>>2;if((o|0)>92)q=-1;else{switch(d|0){case 10:case 8:{if((r|0)>=(d|0)){q=-1;break a}break}case 16:{if((o|0)>=88){if(n){q=-1;break a}if((m-e|0)>=3){q=-1;break a}if((a[m+-1>>0]|0)!=48){q=-1;break a}c[g>>2]=0;o=a[5376+r>>0]|0;c[f>>2]=m+1;a[m>>0]=o;q=0;break a}break}default:{}}o=a[5376+r>>0]|0;c[f>>2]=m+1;a[m>>0]=o;c[g>>2]=(c[g>>2]|0)+1;q=0}}while(0);return q|0}function Ml(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|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,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;b=$a;$a=$a+336|0;j=b+160|0;k=b+328|0;l=b+324|0;m=b+312|0;n=b+300|0;o=b+296|0;p=b;q=b+292|0;r=b+288|0;s=b+333|0;t=b+332|0;Nl(m,f,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[n+(f<<2)>>2]=0;f=f+1|0}f=n+11|0;u=n+8|0;if((a[f>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Si(c[v>>2]|0)|0;if(sj(A,Ri()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Si(c[E>>2]|0)|0;if(!(sj(F,Ri()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[f>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[f>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Si(c[E>>2]|0)|0;if(Ol(N,s,t,L,o,c[k>>2]|0,c[l>>2]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+4;Si(c[E>>2]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}g[i>>3]=+bl(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Si(c[q>>2]|0)|0;if(sj(O,Ri()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Si(c[O>>2]|0)|0;if(!(sj(Q,Ri()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function Nl(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;g=$a;$a=$a+16|0;h=g;rj(h,b);b=Pk(h,26552)|0;ib[c[(c[b>>2]|0)+48>>2]&7](b,5376,5408,d)|0;d=Pk(h,26560)|0;c[e>>2]=eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;rb[c[(c[d>>2]|0)+20>>2]&63](a,d);Qk(h);$a=g;return}function Ol(b,d,e,f,g,h,i,j,k,l,m,n){b=b|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;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=46;o=a[j+11>>0]|0;if(((o<<24>>24<0?c[j+4>>2]|0:o&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){p=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=p;q=0}else q=0}else q=-1;else{if((b|0)==(i|0)?(p=a[j+11>>0]|0,(p<<24>>24<0?c[j+4>>2]|0:p&255)|0):0){if(!(a[d>>0]|0)){q=-1;break}p=c[l>>2]|0;if((p-k|0)>=160){q=0;break}o=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=o;c[m>>2]=0;q=0;break}o=n+128|0;p=0;while(1){r=n+(p<<2)|0;if((p|0)==32){s=o;break}if((c[r>>2]|0)==(b|0)){s=r;break}else p=p+1|0}p=s-n|0;if((p|0)<=124){o=a[5376+(p>>2)>>0]|0;r=p+-88|0;switch(r>>>2|r<<30|0){case 2:case 3:{r=c[g>>2]|0;if((r|0)!=(f|0)?(a[r+-1>>0]&95)!=(a[e>>0]&127):0){q=-1;break a}c[g>>2]=r+1;a[r>>0]=o;q=0;break a;break}case 1:case 0:{a[e>>0]=80;break}default:{r=o&95;if((((r|0)==(a[e>>0]|0)?(a[e>>0]=r|128,a[d>>0]|0):0)?(a[d>>0]=0,r=a[j+11>>0]|0,(r<<24>>24<0?c[j+4>>2]|0:r&255)|0):0)?(r=c[l>>2]|0,(r-k|0)<160):0){t=c[m>>2]|0;c[l>>2]=r+4;c[r>>2]=t}}}t=c[g>>2]|0;c[g>>2]=t+1;a[t>>0]=o;if((p|0)>84)q=0;else{c[m>>2]=(c[m>>2]|0)+1;q=0}}else q=-1}while(0);return q|0}function Pl(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|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,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;b=$a;$a=$a+336|0;j=b+160|0;k=b+328|0;l=b+324|0;m=b+312|0;n=b+300|0;o=b+296|0;p=b;q=b+292|0;r=b+288|0;s=b+333|0;t=b+332|0;Nl(m,f,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[n+(f<<2)>>2]=0;f=f+1|0}f=n+11|0;u=n+8|0;if((a[f>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Si(c[v>>2]|0)|0;if(sj(A,Ri()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Si(c[E>>2]|0)|0;if(!(sj(F,Ri()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[f>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[f>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[f>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Si(c[E>>2]|0)|0;if(Ol(N,s,t,L,o,c[k>>2]|0,c[l>>2]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+4;Si(c[E>>2]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}g[i>>3]=+el(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Si(c[q>>2]|0)|0;if(sj(O,Ri()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Si(c[O>>2]|0)|0;if(!(sj(Q,Ri()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function Ql(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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,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;b=$a;$a=$a+336|0;j=b+160|0;k=b+328|0;l=b+324|0;m=b+312|0;n=b+300|0;o=b+296|0;p=b;q=b+292|0;r=b+288|0;s=b+333|0;t=b+332|0;Nl(m,g,j,k,l);c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[n+(g<<2)>>2]=0;g=g+1|0}g=n+11|0;u=n+8|0;if((a[g>>0]|0)<0)v=(c[u>>2]&2147483647)+-1|0;else v=10;xt(n,v,0);v=(a[g>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v;c[q>>2]=p;c[r>>2]=0;a[s>>0]=1;a[t>>0]=69;w=n+4|0;x=c[d>>2]|0;y=x;z=x;x=v;a:while(1){if(y){v=c[y+12>>2]|0;if((v|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Si(c[v>>2]|0)|0;if(sj(A,Ri()|0)|0){c[d>>2]=0;B=0;C=0;D=1}else{B=y;C=z;D=0}}else{B=0;C=0;D=1}v=c[e>>2]|0;do if(v){E=c[v+12>>2]|0;if((E|0)==(c[v+16>>2]|0))F=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else F=Si(c[E>>2]|0)|0;if(!(sj(F,Ri()|0)|0))if(D){G=v;break}else{H=v;I=x;break a}else{c[e>>2]=0;J=19;break}}else J=19;while(0);if((J|0)==19){J=0;if(D){H=0;I=x;break}else G=0}v=a[g>>0]|0;E=v<<24>>24<0?c[w>>2]|0:v&255;if((c[o>>2]|0)==(x+E|0)){xt(n,E<<1,0);if((a[g>>0]|0)<0)K=(c[u>>2]&2147483647)+-1|0;else K=10;xt(n,K,0);v=(a[g>>0]|0)<0?c[n>>2]|0:n;c[o>>2]=v+E;L=v}else L=x;v=B+12|0;E=c[v>>2]|0;M=B+16|0;if((E|0)==(c[M>>2]|0))N=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else N=Si(c[E>>2]|0)|0;if(Ol(N,s,t,L,o,c[k>>2]|0,c[l>>2]|0,m,p,q,r,j)|0){H=G;I=L;break}E=c[v>>2]|0;if((E|0)==(c[M>>2]|0))eb[c[(c[B>>2]|0)+40>>2]&127](B)|0;else{c[v>>2]=E+4;Si(c[E>>2]|0)|0}y=B;z=C;x=L}L=a[m+11>>0]|0;if(!((a[s>>0]|0)==0?1:((L<<24>>24<0?c[m+4>>2]|0:L&255)|0)==0)?(L=c[q>>2]|0,(L-p|0)<160):0){s=c[r>>2]|0;c[q>>2]=L+4;c[L>>2]=s}f[i>>2]=+gl(I,c[o>>2]|0,h);cl(m,p,c[q>>2]|0,h);if(B){q=c[B+12>>2]|0;if((q|0)==(c[B+16>>2]|0))O=eb[c[(c[C>>2]|0)+36>>2]&127](B)|0;else O=Si(c[q>>2]|0)|0;if(sj(O,Ri()|0)|0){c[d>>2]=0;P=1}else P=0}else P=1;do if(H){O=c[H+12>>2]|0;if((O|0)==(c[H+16>>2]|0))Q=eb[c[(c[H>>2]|0)+36>>2]&127](H)|0;else Q=Si(c[O>>2]|0)|0;if(!(sj(Q,Ri()|0)|0))if(P)break;else{J=50;break}else{c[e>>2]=0;J=48;break}}else J=48;while(0);if((J|0)==48?P:0)J=50;if((J|0)==50)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;qt(n);qt(m);$a=b;return h|0}function Rl(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,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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=$a;$a=$a+304|0;j=i+300|0;k=i+288|0;l=i+276|0;m=i+272|0;n=i;o=i+268|0;p=i+264|0;q=il(f)|0;r=Sl(b,f,i+160|0)|0;Tl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Si(c[s>>2]|0)|0;if(sj(x,Ri()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Si(c[B>>2]|0)|0;if(!(sj(C,Ri()|0)|0))if(A){D=s;break}else{F=s;G=u;break a}else{c[e>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(A){F=0;G=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)I=(c[b>>2]&2147483647)+-1|0;else I=10;xt(l,I,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;J=s}else J=u;s=y+12|0;B=c[s>>2]|0;K=y+16|0;if((B|0)==(c[K>>2]|0))L=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=Si(c[B>>2]|0)|0;if(Ll(L,q,J,m,p,c[j>>2]|0,k,n,o,r)|0){F=D;G=J;break}B=c[s>>2]|0;if((B|0)==(c[K>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+4;Si(c[B>>2]|0)|0}v=y;w=z;u=J}J=a[k+11>>0]|0;if((J<<24>>24<0?c[k+4>>2]|0:J&255)|0?(J=c[o>>2]|0,(J-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=J+4;c[J>>2]=u}u=ll(G,c[m>>2]|0,g,q)|0;q=E()|0;m=h;c[m>>2]=u;c[m+4>>2]=q;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))M=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else M=Si(c[o>>2]|0)|0;if(sj(M,Ri()|0)|0){c[d>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Si(c[M>>2]|0)|0;if(!(sj(O,Ri()|0)|0))if(N)break;else{H=50;break}else{c[e>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function Sl(a,b,c){a=a|0;b=b|0;c=c|0;return Ul(a,b,c)|0}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=$a;$a=$a+16|0;f=e;rj(f,b);b=Pk(f,26560)|0;c[d>>2]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](a,b);Qk(f);$a=e;return}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=$a;$a=$a+16|0;e=a;rj(e,b);b=Pk(e,26552)|0;ib[c[(c[b>>2]|0)+48>>2]&7](b,5376,5402,d)|0;Qk(e);$a=a;return d|0}function Vl(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,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;i=$a;$a=$a+304|0;j=i+300|0;k=i+288|0;l=i+276|0;m=i+272|0;n=i;o=i+268|0;p=i+264|0;q=il(f)|0;r=Sl(b,f,i+160|0)|0;Tl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Si(c[s>>2]|0)|0;if(sj(x,Ri()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Si(c[B>>2]|0)|0;if(!(sj(C,Ri()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Si(c[B>>2]|0)|0;if(Ll(K,q,I,m,p,c[j>>2]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+4;Si(c[B>>2]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=ol(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Si(c[o>>2]|0)|0;if(sj(L,Ri()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Si(c[L>>2]|0)|0;if(!(sj(N,Ri()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function Wl(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,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;i=$a;$a=$a+304|0;j=i+300|0;k=i+288|0;l=i+276|0;m=i+272|0;n=i;o=i+268|0;p=i+264|0;q=il(f)|0;r=Sl(b,f,i+160|0)|0;Tl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Si(c[s>>2]|0)|0;if(sj(x,Ri()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Si(c[B>>2]|0)|0;if(!(sj(C,Ri()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Si(c[B>>2]|0)|0;if(Ll(K,q,I,m,p,c[j>>2]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+4;Si(c[B>>2]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=ql(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Si(c[o>>2]|0)|0;if(sj(L,Ri()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Si(c[L>>2]|0)|0;if(!(sj(N,Ri()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function Xl(d,e,f,g,h,i){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,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;j=$a;$a=$a+304|0;k=j+300|0;l=j+288|0;m=j+276|0;n=j+272|0;o=j;p=j+268|0;q=j+264|0;r=il(g)|0;s=Sl(d,g,j+160|0)|0;Tl(l,g,k);c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[m+(g<<2)>>2]=0;g=g+1|0}g=m+11|0;d=m+8|0;if((a[g>>0]|0)<0)t=(c[d>>2]&2147483647)+-1|0;else t=10;xt(m,t,0);t=(a[g>>0]|0)<0?c[m>>2]|0:m;c[n>>2]=t;c[p>>2]=o;c[q>>2]=0;u=m+4|0;v=c[e>>2]|0;w=v;x=v;v=t;a:while(1){if(w){t=c[w+12>>2]|0;if((t|0)==(c[w+16>>2]|0))y=eb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else y=Si(c[t>>2]|0)|0;if(sj(y,Ri()|0)|0){c[e>>2]=0;z=0;A=0;B=1}else{z=w;A=x;B=0}}else{z=0;A=0;B=1}t=c[f>>2]|0;do if(t){C=c[t+12>>2]|0;if((C|0)==(c[t+16>>2]|0))D=eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else D=Si(c[C>>2]|0)|0;if(!(sj(D,Ri()|0)|0))if(B){E=t;break}else{F=t;G=v;break a}else{c[f>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(B){F=0;G=v;break}else E=0}t=a[g>>0]|0;C=t<<24>>24<0?c[u>>2]|0:t&255;if((c[n>>2]|0)==(v+C|0)){xt(m,C<<1,0);if((a[g>>0]|0)<0)I=(c[d>>2]&2147483647)+-1|0;else I=10;xt(m,I,0);t=(a[g>>0]|0)<0?c[m>>2]|0:m;c[n>>2]=t+C;J=t}else J=v;t=z+12|0;C=c[t>>2]|0;K=z+16|0;if((C|0)==(c[K>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else L=Si(c[C>>2]|0)|0;if(Ll(L,r,J,n,q,c[k>>2]|0,l,o,p,s)|0){F=E;G=J;break}C=c[t>>2]|0;if((C|0)==(c[K>>2]|0))eb[c[(c[z>>2]|0)+40>>2]&127](z)|0;else{c[t>>2]=C+4;Si(c[C>>2]|0)|0}w=z;x=A;v=J}J=a[l+11>>0]|0;if((J<<24>>24<0?c[l+4>>2]|0:J&255)|0?(J=c[p>>2]|0,(J-o|0)<160):0){v=c[q>>2]|0;c[p>>2]=J+4;c[J>>2]=v}b[i>>1]=sl(G,c[n>>2]|0,h,r)|0;cl(l,o,c[p>>2]|0,h);if(z){p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))M=eb[c[(c[A>>2]|0)+36>>2]&127](z)|0;else M=Si(c[p>>2]|0)|0;if(sj(M,Ri()|0)|0){c[e>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Si(c[M>>2]|0)|0;if(!(sj(O,Ri()|0)|0))if(N)break;else{H=50;break}else{c[f>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[h>>2]=c[h>>2]|2;h=c[e>>2]|0;qt(m);qt(l);$a=j;return h|0}function Yl(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,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,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=$a;$a=$a+304|0;j=i+300|0;k=i+288|0;l=i+276|0;m=i+272|0;n=i;o=i+268|0;p=i+264|0;q=il(f)|0;r=Sl(b,f,i+160|0)|0;Tl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Si(c[s>>2]|0)|0;if(sj(x,Ri()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Si(c[B>>2]|0)|0;if(!(sj(C,Ri()|0)|0))if(A){D=s;break}else{F=s;G=u;break a}else{c[e>>2]=0;H=19;break}}else H=19;while(0);if((H|0)==19){H=0;if(A){F=0;G=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)I=(c[b>>2]&2147483647)+-1|0;else I=10;xt(l,I,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;J=s}else J=u;s=y+12|0;B=c[s>>2]|0;K=y+16|0;if((B|0)==(c[K>>2]|0))L=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else L=Si(c[B>>2]|0)|0;if(Ll(L,q,J,m,p,c[j>>2]|0,k,n,o,r)|0){F=D;G=J;break}B=c[s>>2]|0;if((B|0)==(c[K>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+4;Si(c[B>>2]|0)|0}v=y;w=z;u=J}J=a[k+11>>0]|0;if((J<<24>>24<0?c[k+4>>2]|0:J&255)|0?(J=c[o>>2]|0,(J-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=J+4;c[J>>2]=u}u=ul(G,c[m>>2]|0,g,q)|0;q=E()|0;m=h;c[m>>2]=u;c[m+4>>2]=q;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))M=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else M=Si(c[o>>2]|0)|0;if(sj(M,Ri()|0)|0){c[d>>2]=0;N=1}else N=0}else N=1;do if(F){M=c[F+12>>2]|0;if((M|0)==(c[F+16>>2]|0))O=eb[c[(c[F>>2]|0)+36>>2]&127](F)|0;else O=Si(c[M>>2]|0)|0;if(!(sj(O,Ri()|0)|0))if(N)break;else{H=50;break}else{c[e>>2]=0;H=48;break}}else H=48;while(0);if((H|0)==48?N:0)H=50;if((H|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}
function op(b,e,f,g,h,i,j,k,l,m,n){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;m=m|0;n=n|0;var 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,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,ab=0;o=$a;$a=$a+512|0;p=o+496|0;q=o;r=o+488|0;s=o+480|0;t=o+476|0;u=o+500|0;v=o+472|0;w=o+468|0;x=o+456|0;y=o+444|0;z=o+432|0;A=o+420|0;B=o+408|0;C=o+404|0;D=o+400|0;c[p>>2]=n;c[r>>2]=q;c[r+4>>2]=168;c[s>>2]=q;c[t>>2]=q+400;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[x+(q<<2)>>2]=0;q=q+1|0}c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[y+(q<<2)>>2]=0;q=q+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[z+(q<<2)>>2]=0;q=q+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[A+(q<<2)>>2]=0;q=q+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;q=0;while(1){if((q|0)==3)break;c[B+(q<<2)>>2]=0;q=q+1|0}sp(f,g,u,v,w,x,y,z,A,C);c[m>>2]=c[l>>2];g=z+8+3|0;f=z+4|0;q=A+8+3|0;n=A+4|0;E=x+11|0;F=x+4|0;G=(h&512|0)!=0;h=y+8+3|0;H=u+3|0;I=y+4|0;J=B+8+3|0;K=B+4|0;L=0;M=0;a:while(1){if(L>>>0>=4){N=239;break}O=c[b>>2]|0;do if(O){P=c[O+12>>2]|0;if((P|0)==(c[O+16>>2]|0))Q=eb[c[(c[O>>2]|0)+36>>2]&127](O)|0;else Q=Si(c[P>>2]|0)|0;if(sj(Q,Ri()|0)|0){c[b>>2]=0;R=1;break}else{R=(c[b>>2]|0)==0;break}}else R=1;while(0);O=c[e>>2]|0;do if(O){P=c[O+12>>2]|0;if((P|0)==(c[O+16>>2]|0))S=eb[c[(c[O>>2]|0)+36>>2]&127](O)|0;else S=Si(c[P>>2]|0)|0;if(!(sj(S,Ri()|0)|0))if(R){T=O;break}else{N=239;break a}else{c[e>>2]=0;N=31;break}}else N=31;while(0);if((N|0)==31){N=0;if(R){N=239;break}else T=0}b:do switch(a[u+L>>0]|0){case 1:{if((L|0)==3)U=M;else{O=c[b>>2]|0;P=c[O+12>>2]|0;if((P|0)==(c[O+16>>2]|0))V=eb[c[(c[O>>2]|0)+36>>2]&127](O)|0;else V=Si(c[P>>2]|0)|0;if(!(hb[c[(c[k>>2]|0)+12>>2]&31](k,8192,V)|0)){N=44;break a}P=c[b>>2]|0;O=P+12|0;W=c[O>>2]|0;if((W|0)==(c[P+16>>2]|0))X=eb[c[(c[P>>2]|0)+40>>2]&127](P)|0;else{c[O>>2]=W+4;X=Si(c[W>>2]|0)|0}Rt(B,X);N=46}break}case 0:{if((L|0)==3)U=M;else N=46;break}case 3:{W=a[g>>0]|0;O=W<<24>>24<0?c[f>>2]|0:W&255;W=a[q>>0]|0;P=W<<24>>24<0?c[n>>2]|0:W&255;if((O|0)==(0-P|0))U=M;else{W=(O|0)==0;O=c[b>>2]|0;Y=c[O+12>>2]|0;Z=(Y|0)==(c[O+16>>2]|0);if(W|(P|0)==0){if(Z)_=eb[c[(c[O>>2]|0)+36>>2]&127](O)|0;else _=Si(c[Y>>2]|0)|0;if(W){if((_|0)!=(c[((a[q>>0]|0)<0?c[A>>2]|0:A)>>2]|0)){U=M;break b}W=c[b>>2]|0;P=W+12|0;$=c[P>>2]|0;if(($|0)==(c[W+16>>2]|0))eb[c[(c[W>>2]|0)+40>>2]&127](W)|0;else{c[P>>2]=$+4;Si(c[$>>2]|0)|0}a[j>>0]=1;$=a[q>>0]|0;U=($<<24>>24<0?c[n>>2]|0:$&255)>>>0>1?A:M;break b}if((_|0)!=(c[((a[g>>0]|0)<0?c[z>>2]|0:z)>>2]|0)){a[j>>0]=1;U=M;break b}$=c[b>>2]|0;P=$+12|0;W=c[P>>2]|0;if((W|0)==(c[$+16>>2]|0))eb[c[(c[$>>2]|0)+40>>2]&127]($)|0;else{c[P>>2]=W+4;Si(c[W>>2]|0)|0}W=a[g>>0]|0;U=(W<<24>>24<0?c[f>>2]|0:W&255)>>>0>1?z:M;break b}if(Z)aa=eb[c[(c[O>>2]|0)+36>>2]&127](O)|0;else aa=Si(c[Y>>2]|0)|0;Y=c[b>>2]|0;O=Y+12|0;Z=c[O>>2]|0;W=(Z|0)==(c[Y+16>>2]|0);if((aa|0)==(c[((a[g>>0]|0)<0?c[z>>2]|0:z)>>2]|0)){if(W)eb[c[(c[Y>>2]|0)+40>>2]&127](Y)|0;else{c[O>>2]=Z+4;Si(c[Z>>2]|0)|0}O=a[g>>0]|0;U=(O<<24>>24<0?c[f>>2]|0:O&255)>>>0>1?z:M;break b}if(W)ba=eb[c[(c[Y>>2]|0)+36>>2]&127](Y)|0;else ba=Si(c[Z>>2]|0)|0;if((ba|0)!=(c[((a[q>>0]|0)<0?c[A>>2]|0:A)>>2]|0)){N=103;break a}Z=c[b>>2]|0;Y=Z+12|0;W=c[Y>>2]|0;if((W|0)==(c[Z+16>>2]|0))eb[c[(c[Z>>2]|0)+40>>2]&127](Z)|0;else{c[Y>>2]=W+4;Si(c[W>>2]|0)|0}a[j>>0]=1;W=a[q>>0]|0;U=(W<<24>>24<0?c[n>>2]|0:W&255)>>>0>1?A:M}break}case 2:{if(L>>>0<2|(M|0)!=0){W=a[h>>0]|0;Y=c[y>>2]|0;Z=W<<24>>24<0?Y:y;if(!L){ca=Y;da=W;ea=Z}else{fa=Z;ga=Y;ha=W;N=108}}else{if(!(G|(L|0)==2&(a[H>>0]|0)!=0)){U=0;break b}W=a[h>>0]|0;Y=c[y>>2]|0;fa=W<<24>>24<0?Y:y;ga=Y;ha=W;N=108}c:do if((N|0)==108){N=0;if((d[u+(L+-1)>>0]|0)<2){W=ha;Y=ga;Z=fa;while(1){O=W<<24>>24<0;P=Z;if(((O?Y:y)+((O?c[I>>2]|0:W&255)<<2)|0)==(P|0)){ia=W;ja=Y;break}if(!(hb[c[(c[k>>2]|0)+12>>2]&31](k,8192,c[P>>2]|0)|0)){N=112;break}W=a[h>>0]|0;Y=c[y>>2]|0;Z=P+4|0}if((N|0)==112){N=0;ia=a[h>>0]|0;ja=c[y>>2]|0}Y=ia<<24>>24<0?ja:y;W=Y;P=Z-W>>2;O=a[J>>0]|0;$=O<<24>>24<0;ka=c[K>>2]|0;la=O&255;if(P>>>0>($?ka:la)>>>0){ca=ja;da=ia;ea=W}else{O=(c[B>>2]|0)+(ka<<2)|0;ka=B+(la<<2)|0;la=$?O:ka;ma=($?O:ka)+(0-P<<2)|0;P=Y;while(1){if((ma|0)==(la|0)){ca=ja;da=ia;ea=Z;break c}if((c[ma>>2]|0)!=(c[P>>2]|0)){ca=ja;da=ia;ea=W;break c}ma=ma+4|0;P=P+4|0}}}else{ca=ga;da=ha;ea=fa}}while(0);P=da;ma=ca;W=T;Z=ea;d:while(1){la=P<<24>>24<0;if((Z|0)==((la?ma:y)+((la?c[I>>2]|0:P&255)<<2)|0))break;la=c[b>>2]|0;do if(la){Y=c[la+12>>2]|0;if((Y|0)==(c[la+16>>2]|0))na=eb[c[(c[la>>2]|0)+36>>2]&127](la)|0;else na=Si(c[Y>>2]|0)|0;if(sj(na,Ri()|0)|0){c[b>>2]=0;oa=1;break}else{oa=(c[b>>2]|0)==0;break}}else oa=1;while(0);do if(W){la=c[W+12>>2]|0;if((la|0)==(c[W+16>>2]|0))pa=eb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else pa=Si(c[la>>2]|0)|0;if(!(sj(pa,Ri()|0)|0))if(oa){qa=W;break}else break d;else{c[e>>2]=0;N=134;break}}else N=134;while(0);if((N|0)==134){N=0;if(oa)break;else qa=0}la=c[b>>2]|0;Y=c[la+12>>2]|0;if((Y|0)==(c[la+16>>2]|0))ra=eb[c[(c[la>>2]|0)+36>>2]&127](la)|0;else ra=Si(c[Y>>2]|0)|0;if((ra|0)!=(c[Z>>2]|0))break;Y=c[b>>2]|0;la=Y+12|0;ka=c[la>>2]|0;if((ka|0)==(c[Y+16>>2]|0))eb[c[(c[Y>>2]|0)+40>>2]&127](Y)|0;else{c[la>>2]=ka+4;Si(c[ka>>2]|0)|0}P=a[h>>0]|0;ma=c[y>>2]|0;W=qa;Z=Z+4|0}if(G?(W=a[h>>0]|0,ma=W<<24>>24<0,(Z|0)!=((ma?c[y>>2]|0:y)+((ma?c[I>>2]|0:W&255)<<2)|0)):0){N=146;break a}else U=M;break}case 4:{W=T;ma=T;P=0;e:while(1){ka=c[b>>2]|0;do if(ka){la=c[ka+12>>2]|0;if((la|0)==(c[ka+16>>2]|0))sa=eb[c[(c[ka>>2]|0)+36>>2]&127](ka)|0;else sa=Si(c[la>>2]|0)|0;if(sj(sa,Ri()|0)|0){c[b>>2]=0;ta=1;break}else{ta=(c[b>>2]|0)==0;break}}else ta=1;while(0);do if(W){ka=c[W+12>>2]|0;if((ka|0)==(c[W+16>>2]|0))ua=eb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else ua=Si(c[ka>>2]|0)|0;if(!(sj(ua,Ri()|0)|0))if(ta){va=ma;wa=W;break}else{xa=ma;break e}else{c[e>>2]=0;ya=0;N=160;break}}else{ya=ma;N=160}while(0);if((N|0)==160){N=0;if(ta){xa=ya;break}else{va=ya;wa=0}}ka=c[b>>2]|0;la=c[ka+12>>2]|0;if((la|0)==(c[ka+16>>2]|0))za=eb[c[(c[ka>>2]|0)+36>>2]&127](ka)|0;else za=Si(c[la>>2]|0)|0;if(hb[c[(c[k>>2]|0)+12>>2]&31](k,2048,za)|0){la=c[m>>2]|0;if((la|0)==(c[p>>2]|0)){tp(l,m,p);Aa=c[m>>2]|0}else Aa=la;c[m>>2]=Aa+4;c[Aa>>2]=za;Ba=P+1|0}else{la=a[E>>0]|0;if(!((za|0)==(c[w>>2]|0)&(P|0?((la<<24>>24<0?c[F>>2]|0:la&255)|0)!=0:0))){xa=va;break}la=c[s>>2]|0;if((la|0)==(c[t>>2]|0)){jp(r,s,t);Ca=c[s>>2]|0}else Ca=la;c[s>>2]=Ca+4;c[Ca>>2]=P;Ba=0}la=c[b>>2]|0;ka=la+12|0;Y=c[ka>>2]|0;if((Y|0)==(c[la+16>>2]|0))eb[c[(c[la>>2]|0)+40>>2]&127](la)|0;else{c[ka>>2]=Y+4;Si(c[Y>>2]|0)|0}W=wa;ma=va;P=Ba}ma=c[s>>2]|0;if(P|0?(c[r>>2]|0)!=(ma|0):0){if((ma|0)==(c[t>>2]|0)){jp(r,s,t);Da=c[s>>2]|0}else Da=ma;c[s>>2]=Da+4;c[Da>>2]=P}f:do if((c[C>>2]|0)>0){ma=c[b>>2]|0;do if(ma){W=c[ma+12>>2]|0;if((W|0)==(c[ma+16>>2]|0))Ea=eb[c[(c[ma>>2]|0)+36>>2]&127](ma)|0;else Ea=Si(c[W>>2]|0)|0;if(sj(Ea,Ri()|0)|0){c[b>>2]=0;Fa=1;break}else{Fa=(c[b>>2]|0)==0;break}}else Fa=1;while(0);do if(xa){ma=c[xa+12>>2]|0;if((ma|0)==(c[xa+16>>2]|0))Ga=eb[c[(c[xa>>2]|0)+36>>2]&127](xa)|0;else Ga=Si(c[ma>>2]|0)|0;if(!(sj(Ga,Ri()|0)|0))if(Fa){Ha=xa;break}else{N=201;break a}else{c[e>>2]=0;N=195;break}}else N=195;while(0);if((N|0)==195){N=0;if(Fa){N=201;break a}else Ha=0}ma=c[b>>2]|0;W=c[ma+12>>2]|0;if((W|0)==(c[ma+16>>2]|0))Ia=eb[c[(c[ma>>2]|0)+36>>2]&127](ma)|0;else Ia=Si(c[W>>2]|0)|0;if((Ia|0)!=(c[v>>2]|0)){N=201;break a}W=c[b>>2]|0;ma=W+12|0;Z=c[ma>>2]|0;if((Z|0)==(c[W+16>>2]|0))eb[c[(c[W>>2]|0)+40>>2]&127](W)|0;else{c[ma>>2]=Z+4;Si(c[Z>>2]|0)|0}Z=Ha;while(1){if((c[C>>2]|0)<=0)break f;ma=c[b>>2]|0;do if(ma){W=c[ma+12>>2]|0;if((W|0)==(c[ma+16>>2]|0))Ja=eb[c[(c[ma>>2]|0)+36>>2]&127](ma)|0;else Ja=Si(c[W>>2]|0)|0;if(sj(Ja,Ri()|0)|0){c[b>>2]=0;Ka=1;break}else{Ka=(c[b>>2]|0)==0;break}}else Ka=1;while(0);do if(Z){ma=c[Z+12>>2]|0;if((ma|0)==(c[Z+16>>2]|0))La=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else La=Si(c[ma>>2]|0)|0;if(!(sj(La,Ri()|0)|0))if(Ka){Ma=Z;break}else{N=226;break a}else{c[e>>2]=0;N=220;break}}else N=220;while(0);if((N|0)==220){N=0;if(Ka){N=226;break a}else Ma=0}ma=c[b>>2]|0;W=c[ma+12>>2]|0;if((W|0)==(c[ma+16>>2]|0))Na=eb[c[(c[ma>>2]|0)+36>>2]&127](ma)|0;else Na=Si(c[W>>2]|0)|0;if(!(hb[c[(c[k>>2]|0)+12>>2]&31](k,2048,Na)|0)){N=226;break a}if((c[m>>2]|0)==(c[p>>2]|0))tp(l,m,p);W=c[b>>2]|0;ma=c[W+12>>2]|0;if((ma|0)==(c[W+16>>2]|0))Oa=eb[c[(c[W>>2]|0)+36>>2]&127](W)|0;else Oa=Si(c[ma>>2]|0)|0;ma=c[m>>2]|0;c[m>>2]=ma+4;c[ma>>2]=Oa;c[C>>2]=(c[C>>2]|0)+-1;ma=c[b>>2]|0;W=ma+12|0;Y=c[W>>2]|0;if((Y|0)==(c[ma+16>>2]|0))eb[c[(c[ma>>2]|0)+40>>2]&127](ma)|0;else{c[W>>2]=Y+4;Si(c[Y>>2]|0)|0}Z=Ma}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){N=237;break a}else U=M;break}default:U=M}while(0);g:do if((N|0)==46){N=0;P=T;while(1){Z=c[b>>2]|0;do if(Z){Y=c[Z+12>>2]|0;if((Y|0)==(c[Z+16>>2]|0))Pa=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else Pa=Si(c[Y>>2]|0)|0;if(sj(Pa,Ri()|0)|0){c[b>>2]=0;Qa=1;break}else{Qa=(c[b>>2]|0)==0;break}}else Qa=1;while(0);do if(P){Z=c[P+12>>2]|0;if((Z|0)==(c[P+16>>2]|0))Ra=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else Ra=Si(c[Z>>2]|0)|0;if(!(sj(Ra,Ri()|0)|0))if(Qa){Sa=P;break}else{U=M;break g}else{c[e>>2]=0;N=60;break}}else N=60;while(0);if((N|0)==60){N=0;if(Qa){U=M;break g}else Sa=0}Z=c[b>>2]|0;Y=c[Z+12>>2]|0;if((Y|0)==(c[Z+16>>2]|0))Ta=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else Ta=Si(c[Y>>2]|0)|0;if(!(hb[c[(c[k>>2]|0)+12>>2]&31](k,8192,Ta)|0)){U=M;break g}Y=c[b>>2]|0;Z=Y+12|0;W=c[Z>>2]|0;if((W|0)==(c[Y+16>>2]|0))Ua=eb[c[(c[Y>>2]|0)+40>>2]&127](Y)|0;else{c[Z>>2]=W+4;Ua=Si(c[W>>2]|0)|0}Rt(B,Ua);P=Sa}}while(0);L=L+1|0;M=U}h:do if((N|0)==44){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==103){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==146){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==201){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==226){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==237){c[i>>2]=c[i>>2]|4;Va=0}else if((N|0)==239){i:do if(M|0){U=M+8+3|0;L=M+4|0;Sa=1;j:while(1){Ua=a[U>>0]|0;if(Ua<<24>>24<0)Wa=c[L>>2]|0;else Wa=Ua&255;if(Sa>>>0>=Wa>>>0)break i;Ua=c[b>>2]|0;do if(Ua){Ta=c[Ua+12>>2]|0;if((Ta|0)==(c[Ua+16>>2]|0))Xa=eb[c[(c[Ua>>2]|0)+36>>2]&127](Ua)|0;else Xa=Si(c[Ta>>2]|0)|0;if(sj(Xa,Ri()|0)|0){c[b>>2]=0;Ya=1;break}else{Ya=(c[b>>2]|0)==0;break}}else Ya=1;while(0);Ua=c[e>>2]|0;do if(Ua){Ta=c[Ua+12>>2]|0;if((Ta|0)==(c[Ua+16>>2]|0))Za=eb[c[(c[Ua>>2]|0)+36>>2]&127](Ua)|0;else Za=Si(c[Ta>>2]|0)|0;if(!(sj(Za,Ri()|0)|0))if(Ya)break;else break j;else{c[e>>2]=0;N=258;break}}else N=258;while(0);if((N|0)==258?(N=0,Ya):0)break;Ua=c[b>>2]|0;Ta=c[Ua+12>>2]|0;if((Ta|0)==(c[Ua+16>>2]|0))_a=eb[c[(c[Ua>>2]|0)+36>>2]&127](Ua)|0;else _a=Si(c[Ta>>2]|0)|0;if((a[U>>0]|0)<0)ab=c[M>>2]|0;else ab=M;if((_a|0)!=(c[ab+(Sa<<2)>>2]|0))break;Ta=c[b>>2]|0;Ua=Ta+12|0;k=c[Ua>>2]|0;if((k|0)==(c[Ta+16>>2]|0))eb[c[(c[Ta>>2]|0)+40>>2]&127](Ta)|0;else{c[Ua>>2]=k+4;Si(c[k>>2]|0)|0}Sa=Sa+1|0}c[i>>2]=c[i>>2]|4;Va=0;break h}while(0);Sa=c[r>>2]|0;U=c[s>>2]|0;if((Sa|0)!=(U|0)){c[D>>2]=0;cl(x,Sa,U,D);if(!(c[D>>2]|0)){Va=1;break}else{c[i>>2]=c[i>>2]|4;Va=0;break}}else Va=1}while(0);Jt(B);Jt(A);Jt(z);Jt(y);qt(x);x=c[r>>2]|0;c[r>>2]=0;if(x|0)qb[c[r+4>>2]&255](x);$a=o;return Va|0}function pp(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,r=0,s=0;f=$a;$a=$a+16|0;g=f;h=b+8|0;i=h+3|0;j=a[i>>0]|0;k=j<<24>>24<0;if(k){l=(c[h>>2]&2147483647)+-1|0;m=c[b+4>>2]|0}else{l=1;m=j&255}h=e-d|0;n=h>>2;do if(h|0){if(k){o=c[b>>2]|0;p=c[b+4>>2]|0}else{o=b;p=j&255}if(qp(d,o,o+(p<<2)|0)|0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;rp(g,d,e);q=a[g+8+3>>0]|0;r=q<<24>>24<0;Qt(b,r?c[g>>2]|0:g,r?c[g+4>>2]|0:q&255)|0;Jt(g);break}if((l-m|0)>>>0<n>>>0)Pt(b,l,m+n-l|0,m,m,0,0);if((a[i>>0]|0)<0)s=c[b>>2]|0;else s=b;q=d;r=s+(m<<2)|0;while(1){if((q|0)==(e|0))break;Bk(r,q);q=q+4|0;r=r+4|0}c[g>>2]=0;Bk(r,g);q=m+n|0;if((a[i>>0]|0)<0){c[b+4>>2]=q;break}else{a[i>>0]=q;break}}while(0);$a=f;return b|0}function qp(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function rp(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;f=$a;$a=$a+16|0;g=f;h=e-d>>2;if(h>>>0>1073741807)kt(b);do if(h>>>0>=2){i=h+4&-4;if(i>>>0>1073741823)na();else{j=at(i<<2)|0;c[b>>2]=j;c[b+8>>2]=i|-2147483648;c[b+4>>2]=h;k=j;break}}else{a[b+8+3>>0]=h;k=b}while(0);b=d;d=k;while(1){if((b|0)==(e|0))break;Bk(d,b);b=b+4|0;d=d+4|0}c[g>>2]=0;Bk(d,g);$a=f;return}function sp(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=$a;$a=$a+16|0;n=m+12|0;o=m;if(b){b=Pk(d,26768)|0;rb[c[(c[b>>2]|0)+44>>2]&63](n,b);p=c[n>>2]|0;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);p=k+8+3|0;if((a[p>>0]|0)<0){q=c[k>>2]|0;c[n>>2]=0;Bk(q,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[p>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];p=0;while(1){if((p|0)==3)break;c[o+(p<<2)>>2]=0;p=p+1|0}Jt(o);rb[c[(c[b>>2]|0)+28>>2]&63](o,b);p=j+8+3|0;if((a[p>>0]|0)<0){q=c[j>>2]|0;c[n>>2]=0;Bk(q,n);c[j+4>>2]=0}else{c[n>>2]=0;Bk(j,n);a[p>>0]=0}Nt(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];p=0;while(1){if((p|0)==3)break;c[o+(p<<2)>>2]=0;p=p+1|0}Jt(o);c[f>>2]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);p=h+11|0;if((a[p>>0]|0)<0){q=c[h>>2]|0;a[n>>0]=0;tk(q,n);c[h+4>>2]=0;r=h}else{a[n>>0]=0;tk(h,n);a[p>>0]=0;r=h}vt(h,0);c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);r=i+8+3|0;if((a[r>>0]|0)<0){p=c[i>>2]|0;c[n>>2]=0;Bk(p,n);c[i+4>>2]=0}else{c[n>>2]=0;Bk(i,n);a[r>>0]=0}Nt(i,0);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}Jt(o);s=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Pk(d,26760)|0;rb[c[(c[b>>2]|0)+44>>2]&63](n,b);d=c[n>>2]|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);d=k+8+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;Bk(e,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[d>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];k=0;while(1){if((k|0)==3)break;c[o+(k<<2)>>2]=0;k=k+1|0}Jt(o);rb[c[(c[b>>2]|0)+28>>2]&63](o,b);k=j+8+3|0;if((a[k>>0]|0)<0){d=c[j>>2]|0;c[n>>2]=0;Bk(d,n);c[j+4>>2]=0}else{c[n>>2]=0;Bk(j,n);a[k>>0]=0}Nt(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];j=0;while(1){if((j|0)==3)break;c[o+(j<<2)>>2]=0;j=j+1|0}Jt(o);c[f>>2]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);g=h+11|0;if((a[g>>0]|0)<0){f=c[h>>2]|0;a[n>>0]=0;tk(f,n);c[h+4>>2]=0;t=h}else{a[n>>0]=0;tk(h,n);a[g>>0]=0;t=h}vt(h,0);c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];t=0;while(1){if((t|0)==3)break;c[o+(t<<2)>>2]=0;t=t+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);t=i+8+3|0;if((a[t>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;Bk(h,n);c[i+4>>2]=0}else{c[n>>2]=0;Bk(i,n);a[t>>0]=0}Nt(i,0);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];i=0;while(1){if((i|0)==3)break;c[o+(i<<2)>>2]=0;i=i+1|0}Jt(o);s=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[l>>2]=s;$a=m;return}function tp(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;e=a+4|0;f=(c[e>>2]|0)!=168;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i<<1;k=i>>>0<2147483647?((j|0)==0?4:j):-1;j=(c[b>>2]|0)-h>>2;h=Vh(f?g:0,k)|0;if(!h)$s();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)l=h;else{qb[c[e>>2]&255](f);l=c[a>>2]|0}}else{c[a>>2]=h;l=h}c[e>>2]=169;c[b>>2]=l+(j<<2);c[d>>2]=(c[a>>2]|0)+(k>>>2<<2);return}function up(a){a=a|0;uk(a);return}function vp(a){a=a|0;uk(a);ct(a);return}function wp(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;b=$a;$a=$a+416|0;j=b+336|0;k=b+328|0;l=b+224|0;m=b+400|0;n=b+112|0;o=b+396|0;p=b+408|0;q=b+405|0;r=b+404|0;s=b+384|0;t=b+372|0;u=b+360|0;v=b+356|0;w=b;x=b+352|0;y=b+344|0;z=b+348|0;c[m>>2]=l;g[j>>3]=i;A=Ug(l,100,19002,j)|0;if(A>>>0>99){l=Sk()|0;g[k>>3]=i;B=mm(m,l,19002,k)|0;k=c[m>>2]|0;if(!k)$s();l=Th(B)|0;if(!l)$s();else{C=l;D=l;E=k;F=B}}else{C=n;D=0;E=0;F=A}rj(o,f);A=Pk(o,26520)|0;n=c[m>>2]|0;ib[c[(c[A>>2]|0)+32>>2]&7](A,n,n+F|0,C)|0;if(!F)G=0;else G=(a[c[m>>2]>>0]|0)==45;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[s+(m<<2)>>2]=0;m=m+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[t+(m<<2)>>2]=0;m=m+1|0}c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[u+(m<<2)>>2]=0;m=m+1|0}yp(e,G,o,p,q,r,s,t,u,v);e=c[v>>2]|0;if((F|0)>(e|0)){v=a[u+11>>0]|0;m=a[t+11>>0]|0;H=e+1+(F-e<<1)|0;I=v<<24>>24<0?c[u+4>>2]|0:v&255;J=m<<24>>24<0?c[t+4>>2]|0:m&255}else{m=a[u+11>>0]|0;v=a[t+11>>0]|0;H=e+2|0;I=m<<24>>24<0?c[u+4>>2]|0:m&255;J=v<<24>>24<0?c[t+4>>2]|0:v&255}v=H+I+J|0;if(v>>>0>100){J=Th(v)|0;if(!J)$s();else{K=J;L=J}}else{K=0;L=w}zp(L,x,y,c[f+4>>2]|0,C,C+F|0,A,G,p,a[q>>0]|0,a[r>>0]|0,s,t,u,e);c[z>>2]=c[d>>2];d=c[x>>2]|0;x=c[y>>2]|0;c[j>>2]=c[z>>2];z=Ib(j,L,d,x,f,h)|0;if(K|0)Uh(K);qt(u);qt(t);qt(s);Qk(o);if(D|0)Uh(D);if(E|0)Uh(E);$a=b;return z|0}function xp(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,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;b=$a;$a=$a+176|0;i=b+156|0;j=b+152|0;k=b+164|0;l=b+161|0;m=b+160|0;n=b+140|0;o=b+128|0;p=b+116|0;q=b+112|0;r=b;s=b+108|0;t=b+104|0;u=b+100|0;rj(j,f);v=Pk(j,26520)|0;w=h+11|0;x=a[w>>0]|0;y=x<<24>>24<0;z=h+4|0;if(!((y?c[z>>2]|0:x&255)|0))A=0;else{x=a[(y?c[h>>2]|0:h)>>0]|0;A=x<<24>>24==(gb[c[(c[v>>2]|0)+28>>2]&31](v,45)|0)<<24>>24};c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[n+(x<<2)>>2]=0;x=x+1|0}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[o+(x<<2)>>2]=0;x=x+1|0}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[p+(x<<2)>>2]=0;x=x+1|0}yp(e,A,j,k,l,m,n,o,p,q);e=a[w>>0]|0;w=e<<24>>24<0;x=w?c[z>>2]|0:e&255;e=c[q>>2]|0;if((x|0)>(e|0)){q=a[p+11>>0]|0;z=a[o+11>>0]|0;B=e+1+(x-e<<1)|0;C=z<<24>>24<0?c[o+4>>2]|0:z&255;D=q<<24>>24<0?c[p+4>>2]|0:q&255}else{q=a[p+11>>0]|0;z=a[o+11>>0]|0;B=e+2|0;C=z<<24>>24<0?c[o+4>>2]|0:z&255;D=q<<24>>24<0?c[p+4>>2]|0:q&255}q=B+D+C|0;if(q>>>0>100){C=Th(q)|0;if(!C)$s();else{E=C;F=C}}else{E=0;F=r}r=w?c[h>>2]|0:h;zp(F,s,t,c[f+4>>2]|0,r,r+x|0,v,A,k,a[l>>0]|0,a[m>>0]|0,n,o,p,e);c[u>>2]=c[d>>2];d=c[s>>2]|0;s=c[t>>2]|0;c[i>>2]=c[u>>2];u=Ib(i,F,d,s,f,g)|0;if(E|0)Uh(E);qt(p);qt(o);qt(n);Qk(j);$a=b;return u|0}function yp(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var 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;m=$a;$a=$a+16|0;n=m+12|0;o=m;if(b){b=Pk(e,26752)|0;if(d){rb[c[(c[b>>2]|0)+44>>2]&63](n,b);p=c[n>>2]|0;a[f>>0]=p;a[f+1>>0]=p>>8;a[f+2>>0]=p>>16;a[f+3>>0]=p>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);p=k+11|0;if((a[p>>0]|0)<0){q=c[k>>2]|0;a[n>>0]=0;tk(q,n);c[k+4>>2]=0;r=k}else{a[n>>0]=0;tk(k,n);a[p>>0]=0;r=k}vt(k,0);c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}qt(o);s=b}else{rb[c[(c[b>>2]|0)+40>>2]&63](n,b);r=c[n>>2]|0;a[f>>0]=r;a[f+1>>0]=r>>8;a[f+2>>0]=r>>16;a[f+3>>0]=r>>24;rb[c[(c[b>>2]|0)+28>>2]&63](o,b);r=k+11|0;if((a[r>>0]|0)<0){p=c[k>>2]|0;a[n>>0]=0;tk(p,n);c[k+4>>2]=0;t=k}else{a[n>>0]=0;tk(k,n);a[r>>0]=0;t=k}vt(k,0);c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];t=0;while(1){if((t|0)==3)break;c[o+(t<<2)>>2]=0;t=t+1|0}qt(o);s=b}a[g>>0]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[s>>2]|0)+20>>2]&63](o,b);t=i+11|0;if((a[t>>0]|0)<0){r=c[i>>2]|0;a[n>>0]=0;tk(r,n);c[i+4>>2]=0;u=i}else{a[n>>0]=0;tk(i,n);a[t>>0]=0;u=i}vt(i,0);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];u=0;while(1){if((u|0)==3)break;c[o+(u<<2)>>2]=0;u=u+1|0}qt(o);rb[c[(c[s>>2]|0)+24>>2]&63](o,b);s=j+11|0;if((a[s>>0]|0)<0){u=c[j>>2]|0;a[n>>0]=0;tk(u,n);c[j+4>>2]=0;v=j}else{a[n>>0]=0;tk(j,n);a[s>>0]=0;v=j}vt(j,0);c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];v=0;while(1){if((v|0)==3)break;c[o+(v<<2)>>2]=0;v=v+1|0}qt(o);w=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Pk(e,26744)|0;if(d){rb[c[(c[b>>2]|0)+44>>2]&63](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);d=k+11|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;a[n>>0]=0;tk(e,n);c[k+4>>2]=0;x=k}else{a[n>>0]=0;tk(k,n);a[d>>0]=0;x=k}vt(k,0);c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];x=0;while(1){if((x|0)==3)break;c[o+(x<<2)>>2]=0;x=x+1|0}qt(o);y=b}else{rb[c[(c[b>>2]|0)+40>>2]&63](n,b);x=c[n>>2]|0;a[f>>0]=x;a[f+1>>0]=x>>8;a[f+2>>0]=x>>16;a[f+3>>0]=x>>24;rb[c[(c[b>>2]|0)+28>>2]&63](o,b);x=k+11|0;if((a[x>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;tk(f,n);c[k+4>>2]=0;z=k}else{a[n>>0]=0;tk(k,n);a[x>>0]=0;z=k}vt(k,0);c[z>>2]=c[o>>2];c[z+4>>2]=c[o+4>>2];c[z+8>>2]=c[o+8>>2];z=0;while(1){if((z|0)==3)break;c[o+(z<<2)>>2]=0;z=z+1|0}qt(o);y=b}a[g>>0]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[y>>2]|0)+20>>2]&63](o,b);h=i+11|0;if((a[h>>0]|0)<0){g=c[i>>2]|0;a[n>>0]=0;tk(g,n);c[i+4>>2]=0;A=i}else{a[n>>0]=0;tk(i,n);a[h>>0]=0;A=i}vt(i,0);c[A>>2]=c[o>>2];c[A+4>>2]=c[o+4>>2];c[A+8>>2]=c[o+8>>2];A=0;while(1){if((A|0)==3)break;c[o+(A<<2)>>2]=0;A=A+1|0}qt(o);rb[c[(c[y>>2]|0)+24>>2]&63](o,b);y=j+11|0;if((a[y>>0]|0)<0){A=c[j>>2]|0;a[n>>0]=0;tk(A,n);c[j+4>>2]=0;B=j}else{a[n>>0]=0;tk(j,n);a[y>>0]=0;B=j}vt(j,0);c[B>>2]=c[o>>2];c[B+4>>2]=c[o+4>>2];c[B+8>>2]=c[o+8>>2];B=0;while(1){if((B|0)==3)break;c[o+(B<<2)>>2]=0;B=B+1|0}qt(o);w=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[l>>2]=w;$a=m;return}function zp(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|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;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var 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;c[f>>2]=d;s=q+11|0;t=q+4|0;u=p+11|0;v=p+4|0;w=(g&512|0)==0;x=j+8|0;y=(r|0)>0;z=o+11|0;A=o+4|0;B=h;h=0;while(1){if((h|0)==4)break;a:do switch(a[l+h>>0]|0){case 0:{c[e>>2]=c[f>>2];C=B;break}case 1:{c[e>>2]=c[f>>2];D=gb[c[(c[j>>2]|0)+28>>2]&31](j,32)|0;E=c[f>>2]|0;c[f>>2]=E+1;a[E>>0]=D;C=B;break}case 3:{D=a[s>>0]|0;E=D<<24>>24<0;if(!((E?c[t>>2]|0:D&255)|0))C=B;else{D=a[(E?c[q>>2]|0:q)>>0]|0;E=c[f>>2]|0;c[f>>2]=E+1;a[E>>0]=D;C=B}break}case 2:{D=a[u>>0]|0;E=D<<24>>24<0;F=E?c[v>>2]|0:D&255;if(w|(F|0)==0)C=B;else{D=E?c[p>>2]|0:p;E=D+F|0;F=c[f>>2]|0;G=D;while(1){if((G|0)==(E|0))break;a[F>>0]=a[G>>0]|0;F=F+1|0;G=G+1|0}c[f>>2]=F;C=B}break}case 4:{G=c[f>>2]|0;E=k?B+1|0:B;D=E;while(1){if(D>>>0>=i>>>0)break;H=a[D>>0]|0;if(H<<24>>24<=-1)break;if(!(b[(c[x>>2]|0)+(H<<24>>24<<1)>>1]&2048))break;D=D+1|0}if(y){F=D;H=r;while(1){I=(H|0)>0;if(!(F>>>0>E>>>0&I))break;J=F+-1|0;K=a[J>>0]|0;L=c[f>>2]|0;c[f>>2]=L+1;a[L>>0]=K;F=J;H=H+-1|0}if(I)M=gb[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;else M=0;J=H;while(1){N=c[f>>2]|0;c[f>>2]=N+1;if((J|0)<=0)break;a[N>>0]=M;J=J+-1|0}a[N>>0]=m;O=F}else O=D;b:do if((O|0)==(E|0)){J=gb[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=J}else{J=a[z>>0]|0;H=J<<24>>24<0;if(!((H?c[A>>2]|0:J&255)|0))P=-1;else P=a[(H?c[o>>2]|0:o)>>0]|0;H=O;J=P;K=0;L=0;while(1){if((H|0)==(E|0))break b;if((L|0)==(J|0)){Q=c[f>>2]|0;c[f>>2]=Q+1;a[Q>>0]=n;Q=K+1|0;R=a[z>>0]|0;S=R<<24>>24<0;if(Q>>>0<(S?c[A>>2]|0:R&255)>>>0){R=a[(S?c[o>>2]|0:o)+Q>>0]|0;T=R<<24>>24==127?-1:R<<24>>24;U=Q;V=0}else{T=L;U=Q;V=0}}else{T=J;U=K;V=L}Q=H+-1|0;R=a[Q>>0]|0;S=c[f>>2]|0;c[f>>2]=S+1;a[S>>0]=R;H=Q;J=T;K=U;L=V+1|0}}while(0);D=c[f>>2]|0;if((G|0)==(D|0))C=E;else{F=G;L=D;while(1){D=L+-1|0;if(F>>>0>=D>>>0){C=E;break a}K=a[F>>0]|0;a[F>>0]=a[D>>0]|0;a[D>>0]=K;F=F+1|0;L=D}}break}default:C=B}while(0);B=C;h=h+1|0}h=a[s>>0]|0;s=h<<24>>24<0;C=s?c[t>>2]|0:h&255;if(C>>>0>1){h=s?c[q>>2]|0:q;q=h+C|0;C=h;h=c[f>>2]|0;while(1){s=C+1|0;if((s|0)==(q|0))break;a[h>>0]=a[s>>0]|0;C=s;h=h+1|0}c[f>>2]=h}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function Ap(a){a=a|0;uk(a);return}function Bp(a){a=a|0;uk(a);ct(a);return}function Cp(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;b=$a;$a=$a+992|0;j=b+912|0;k=b+904|0;l=b+800|0;m=b+984|0;n=b+400|0;o=b+980|0;p=b+988|0;q=b+976|0;r=b+972|0;s=b+960|0;t=b+948|0;u=b+936|0;v=b+932|0;w=b;x=b+928|0;y=b+920|0;z=b+924|0;c[m>>2]=l;g[j>>3]=i;A=Ug(l,100,19002,j)|0;if(A>>>0>99){l=Sk()|0;g[k>>3]=i;B=mm(m,l,19002,k)|0;k=c[m>>2]|0;if(!k)$s();l=Th(B<<2)|0;if(!l)$s();else{C=l;D=l;E=k;F=B}}else{C=n;D=0;E=0;F=A}rj(o,f);A=Pk(o,26552)|0;n=c[m>>2]|0;ib[c[(c[A>>2]|0)+48>>2]&7](A,n,n+F|0,C)|0;if(!F)G=0;else G=(a[c[m>>2]>>0]|0)==45;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[s+(m<<2)>>2]=0;m=m+1|0}c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[t+(m<<2)>>2]=0;m=m+1|0}c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;m=0;while(1){if((m|0)==3)break;c[u+(m<<2)>>2]=0;m=m+1|0}Ep(e,G,o,p,q,r,s,t,u,v);e=c[v>>2]|0;if((F|0)>(e|0)){v=a[u+8+3>>0]|0;m=a[t+8+3>>0]|0;H=e+1+(F-e<<1)|0;I=v<<24>>24<0?c[u+4>>2]|0:v&255;J=m<<24>>24<0?c[t+4>>2]|0:m&255}else{m=a[u+8+3>>0]|0;v=a[t+8+3>>0]|0;H=e+2|0;I=m<<24>>24<0?c[u+4>>2]|0:m&255;J=v<<24>>24<0?c[t+4>>2]|0:v&255}v=H+I+J|0;if(v>>>0>100){J=Th(v<<2)|0;if(!J)$s();else{K=J;L=J}}else{K=0;L=w}Fp(L,x,y,c[f+4>>2]|0,C,C+(F<<2)|0,A,G,p,c[q>>2]|0,c[r>>2]|0,s,t,u,e);c[z>>2]=c[d>>2];d=c[x>>2]|0;x=c[y>>2]|0;c[j>>2]=c[z>>2];z=Am(j,L,d,x,f,h)|0;if(K|0)Uh(K);Jt(u);Jt(t);qt(s);Qk(o);if(D|0)Uh(D);if(E|0)Uh(E);$a=b;return z|0}function Dp(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,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;b=$a;$a=$a+480|0;i=b+464|0;j=b+460|0;k=b+468|0;l=b+456|0;m=b+452|0;n=b+440|0;o=b+428|0;p=b+416|0;q=b+412|0;r=b;s=b+408|0;t=b+404|0;u=b+400|0;rj(j,f);v=Pk(j,26552)|0;w=h+8+3|0;x=a[w>>0]|0;y=x<<24>>24<0;z=h+4|0;if(!((y?c[z>>2]|0:x&255)|0))A=0;else{x=c[(y?c[h>>2]|0:h)>>2]|0;A=(x|0)==(gb[c[(c[v>>2]|0)+44>>2]&31](v,45)|0)};c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[n+(x<<2)>>2]=0;x=x+1|0}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[o+(x<<2)>>2]=0;x=x+1|0}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;x=0;while(1){if((x|0)==3)break;c[p+(x<<2)>>2]=0;x=x+1|0}Ep(e,A,j,k,l,m,n,o,p,q);e=a[w>>0]|0;w=e<<24>>24<0;x=w?c[z>>2]|0:e&255;e=c[q>>2]|0;if((x|0)>(e|0)){q=a[p+8+3>>0]|0;z=a[o+8+3>>0]|0;B=e+1+(x-e<<1)|0;C=z<<24>>24<0?c[o+4>>2]|0:z&255;D=q<<24>>24<0?c[p+4>>2]|0:q&255}else{q=a[p+8+3>>0]|0;z=a[o+8+3>>0]|0;B=e+2|0;C=z<<24>>24<0?c[o+4>>2]|0:z&255;D=q<<24>>24<0?c[p+4>>2]|0:q&255}q=B+D+C|0;if(q>>>0>100){C=Th(q<<2)|0;if(!C)$s();else{E=C;F=C}}else{E=0;F=r}r=w?c[h>>2]|0:h;Fp(F,s,t,c[f+4>>2]|0,r,r+(x<<2)|0,v,A,k,c[l>>2]|0,c[m>>2]|0,n,o,p,e);c[u>>2]=c[d>>2];d=c[s>>2]|0;s=c[t>>2]|0;c[i>>2]=c[u>>2];u=Am(i,F,d,s,f,g)|0;if(E|0)Uh(E);Jt(p);Jt(o);qt(n);Qk(j);$a=b;return u|0}function Ep(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=$a;$a=$a+16|0;n=m+12|0;o=m;if(b){b=Pk(e,26768)|0;if(d){rb[c[(c[b>>2]|0)+44>>2]&63](n,b);p=c[n>>2]|0;a[f>>0]=p;a[f+1>>0]=p>>8;a[f+2>>0]=p>>16;a[f+3>>0]=p>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);p=k+8+3|0;if((a[p>>0]|0)<0){q=c[k>>2]|0;c[n>>2]=0;Bk(q,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[p>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];p=0;while(1){if((p|0)==3)break;c[o+(p<<2)>>2]=0;p=p+1|0}Jt(o)}else{rb[c[(c[b>>2]|0)+40>>2]&63](n,b);p=c[n>>2]|0;a[f>>0]=p;a[f+1>>0]=p>>8;a[f+2>>0]=p>>16;a[f+3>>0]=p>>24;rb[c[(c[b>>2]|0)+28>>2]&63](o,b);p=k+8+3|0;if((a[p>>0]|0)<0){q=c[k>>2]|0;c[n>>2]=0;Bk(q,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[p>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];p=0;while(1){if((p|0)==3)break;c[o+(p<<2)>>2]=0;p=p+1|0}Jt(o)}c[g>>2]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);p=i+11|0;if((a[p>>0]|0)<0){q=c[i>>2]|0;a[n>>0]=0;tk(q,n);c[i+4>>2]=0;r=i}else{a[n>>0]=0;tk(i,n);a[p>>0]=0;r=i}vt(i,0);c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);r=j+8+3|0;if((a[r>>0]|0)<0){p=c[j>>2]|0;c[n>>2]=0;Bk(p,n);c[j+4>>2]=0}else{c[n>>2]=0;Bk(j,n);a[r>>0]=0}Nt(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}Jt(o);s=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Pk(e,26760)|0;if(d){rb[c[(c[b>>2]|0)+44>>2]&63](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);d=k+8+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;Bk(e,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[d>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];d=0;while(1){if((d|0)==3)break;c[o+(d<<2)>>2]=0;d=d+1|0}Jt(o)}else{rb[c[(c[b>>2]|0)+40>>2]&63](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;rb[c[(c[b>>2]|0)+28>>2]&63](o,b);d=k+8+3|0;if((a[d>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;Bk(f,n);c[k+4>>2]=0}else{c[n>>2]=0;Bk(k,n);a[d>>0]=0}Nt(k,0);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];k=0;while(1){if((k|0)==3)break;c[o+(k<<2)>>2]=0;k=k+1|0}Jt(o)}c[g>>2]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);h=i+11|0;if((a[h>>0]|0)<0){g=c[i>>2]|0;a[n>>0]=0;tk(g,n);c[i+4>>2]=0;t=i}else{a[n>>0]=0;tk(i,n);a[h>>0]=0;t=i}vt(i,0);c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];t=0;while(1){if((t|0)==3)break;c[o+(t<<2)>>2]=0;t=t+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);t=j+8+3|0;if((a[t>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;Bk(i,n);c[j+4>>2]=0}else{c[n>>2]=0;Bk(j,n);a[t>>0]=0}Nt(j,0);c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];j=0;while(1){if((j|0)==3)break;c[o+(j<<2)>>2]=0;j=j+1|0}Jt(o);s=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[l>>2]=s;$a=m;return}function Fp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|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;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;c[e>>2]=b;r=p+8+3|0;s=p+4|0;t=o+8+3|0;u=o+4|0;v=(f&512|0)==0;w=(q|0)>0;x=n+11|0;y=n+4|0;z=g;g=0;while(1){if((g|0)==4)break;a:do switch(a[k+g>>0]|0){case 0:{c[d>>2]=c[e>>2];A=z;break}case 1:{c[d>>2]=c[e>>2];B=gb[c[(c[i>>2]|0)+44>>2]&31](i,32)|0;C=c[e>>2]|0;c[e>>2]=C+4;c[C>>2]=B;A=z;break}case 3:{B=a[r>>0]|0;C=B<<24>>24<0;if(!((C?c[s>>2]|0:B&255)|0))A=z;else{B=c[(C?c[p>>2]|0:p)>>2]|0;C=c[e>>2]|0;c[e>>2]=C+4;c[C>>2]=B;A=z}break}case 2:{B=a[t>>0]|0;C=B<<24>>24<0;D=C?c[u>>2]|0:B&255;if(v|(D|0)==0)A=z;else{B=C?c[o>>2]|0:o;C=B+(D<<2)|0;E=c[e>>2]|0;F=B;B=E;while(1){if((F|0)==(C|0))break;c[B>>2]=c[F>>2];F=F+4|0;B=B+4|0}c[e>>2]=E+(D<<2);A=z}break}case 4:{B=c[e>>2]|0;F=j?z+4|0:z;C=F;while(1){if(C>>>0>=h>>>0)break;if(!(hb[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[C>>2]|0)|0))break;C=C+4|0}if(w){D=C;E=q;while(1){G=(E|0)>0;if(!(D>>>0>F>>>0&G))break;H=D+-4|0;I=c[H>>2]|0;J=c[e>>2]|0;c[e>>2]=J+4;c[J>>2]=I;D=H;E=E+-1|0}if(G)K=gb[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;else K=0;H=E;I=c[e>>2]|0;while(1){L=I+4|0;if((H|0)<=0)break;c[I>>2]=K;H=H+-1|0;I=L}c[e>>2]=L;c[I>>2]=l;M=D}else M=C;if((M|0)==(F|0)){H=gb[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;E=c[e>>2]|0;J=E+4|0;c[e>>2]=J;c[E>>2]=H;N=J}else{J=a[x>>0]|0;H=J<<24>>24<0;if(!((H?c[y>>2]|0:J&255)|0))O=-1;else O=a[(H?c[n>>2]|0:n)>>0]|0;H=M;J=O;E=0;P=0;while(1){if((H|0)==(F|0))break;Q=c[e>>2]|0;if((P|0)==(J|0)){R=Q+4|0;c[e>>2]=R;c[Q>>2]=m;S=E+1|0;T=a[x>>0]|0;U=T<<24>>24<0;if(S>>>0<(U?c[y>>2]|0:T&255)>>>0){T=a[(U?c[n>>2]|0:n)+S>>0]|0;V=R;W=T<<24>>24==127?-1:T<<24>>24;X=S;Y=0}else{V=R;W=P;X=S;Y=0}}else{V=Q;W=J;X=E;Y=P}Q=H+-4|0;S=c[Q>>2]|0;c[e>>2]=V+4;c[V>>2]=S;H=Q;J=W;E=X;P=Y+1|0}N=c[e>>2]|0}if((B|0)==(N|0))A=F;else{P=B;E=N;while(1){J=E+-4|0;if(P>>>0>=J>>>0){A=F;break a}H=c[P>>2]|0;c[P>>2]=c[J>>2];c[J>>2]=H;P=P+4|0;E=J}}break}default:A=z}while(0);z=A;g=g+1|0}g=a[r>>0]|0;r=g<<24>>24<0;A=r?c[s>>2]|0:g&255;if(A>>>0>1){g=c[p>>2]|0;z=r?g+4|0:s;s=(r?g:p)+(A<<2)|0;A=c[e>>2]|0;p=s-z|0;g=z;z=A;while(1){if((g|0)==(s|0))break;c[z>>2]=c[g>>2];g=g+4|0;z=z+4|0}c[e>>2]=A+(p>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function Gp(a){a=a|0;uk(a);return}function Hp(a){a=a|0;uk(a);ct(a);return}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;e=Gg((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Jp(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;d=$a;$a=$a+16|0;i=d;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;j=0;while(1){if((j|0)==3)break;c[i+(j<<2)>>2]=0;j=j+1|0}j=a[h+11>>0]|0;k=j<<24>>24<0;l=k?c[h>>2]|0:h;m=l+(k?c[h+4>>2]|0:j&255)|0;j=l;while(1){if(j>>>0>=m>>>0)break;Ct(i,a[j>>0]|0);j=j+1|0}j=(a[i+11>>0]|0)<0?c[i>>2]|0:i;m=Fg((e|0)==-1?-1:e<<1,f,g,j)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[b+(g<<2)>>2]=0;g=g+1|0}g=j+(Hg(m)|0)|0;m=j;while(1){if(m>>>0>=g>>>0)break;Ct(b,a[m>>0]|0);m=m+1|0}qt(i);$a=d;return}function Kp(a,b){a=a|0;b=b|0;return}function Lp(a){a=a|0;uk(a);return}function Mp(a){a=a|0;uk(a);ct(a);return}function Np(b,d,e){b=b|0;d=d|0;e=e|0;e=Gg((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Op(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,q=0,r=0,s=0,t=0,u=0;d=$a;$a=$a+176|0;i=d+168|0;j=d;k=d+164|0;l=d+160|0;m=d+128|0;n=d+152|0;o=d+144|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;p=0;while(1){if((p|0)==3)break;c[m+(p<<2)>>2]=0;p=p+1|0}c[n+4>>2]=0;c[n>>2]=12212;p=a[h+8+3>>0]|0;q=p<<24>>24<0;r=q?c[h>>2]|0:h;s=r+((q?c[h+4>>2]|0:p&255)<<2)|0;p=j+32|0;h=0;q=r;while(1){if(!((h|0)!=2&q>>>0<s>>>0))break;c[l>>2]=q;r=ob[c[(c[n>>2]|0)+12>>2]&15](n,i,q,s,l,j,p,k)|0;if((r|0)==2?1:(c[l>>2]|0)==(q|0)){t=8;break}u=j;while(1){if(u>>>0>=(c[k>>2]|0)>>>0)break;Ct(m,a[u>>0]|0);u=u+1|0}h=r;q=c[l>>2]|0}if((t|0)==8)ho(0);uk(n);n=(a[m+11>>0]|0)<0?c[m>>2]|0:m;q=Fg((e|0)==-1?-1:e<<1,f,g,n)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=0;while(1){if((g|0)==3)break;c[b+(g<<2)>>2]=0;g=g+1|0}c[o+4>>2]=0;c[o>>2]=12260;g=n+(Hg(q)|0)|0;q=g;f=j+128|0;e=n;n=0;while(1){if(!((n|0)!=2&e>>>0<g>>>0)){t=23;break}c[l>>2]=e;h=ob[c[(c[o>>2]|0)+16>>2]&15](o,i,e,(q-e|0)>32?e+32|0:g,l,j,f,k)|0;if((h|0)==2?1:(c[l>>2]|0)==(e|0)){t=19;break}p=j;while(1){if(p>>>0>=(c[k>>2]|0)>>>0)break;Rt(b,c[p>>2]|0);p=p+4|0}e=c[l>>2]|0;n=h}if((t|0)==19)ho(0);else if((t|0)==23){uk(o);qt(m);$a=d;return}}function Pp(a,b){a=a|0;b=b|0;return}function Qp(a){a=a|0;uk(a);ct(a);return}function Rp(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;b=$a;$a=$a+16|0;a=b+4|0;j=b;c[a>>2]=d;c[j>>2]=g;k=_p(d,e,a,g,h,j,1114111,0)|0;c[f>>2]=c[a>>2];c[i>>2]=c[j>>2];$a=b;return k|0}function Sp(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;b=$a;$a=$a+16|0;a=b+4|0;j=b;c[a>>2]=d;c[j>>2]=g;k=Zp(d,e,a,g,h,j,1114111,0)|0;c[f>>2]=c[a>>2];c[i>>2]=c[j>>2];$a=b;return k|0}function Tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Up(a){a=a|0;return 0}function Vp(a){a=a|0;return 0}function Wp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Yp(c,d,e,1114111,0)|0}function Xp(a){a=a|0;return 4}function Yp(b,c,e,f,g){b=b|0;c=c|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;h=c;if((((g&4|0)!=0?(h-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)i=(a[b+2>>0]|0)==-65?b+3|0:b;else i=b;g=i;i=0;a:while(1){if(!(i>>>0<e>>>0&g>>>0<c>>>0))break;j=a[g>>0]|0;k=j&255;do if(j<<24>>24<=-1){if((j&255)<194)break a;if((j&255)<224){if((h-g|0)<2)break a;l=d[g+1>>0]|0;if((l&192|0)!=128)break a;if((l&63|k<<6&1984)>>>0>f>>>0)break a;m=g+2|0;break}if((j&255)<240){if((h-g|0)<3)break a;l=a[g+1>>0]|0;n=a[g+2>>0]|0;switch(j<<24>>24){case -32:{if((l&-32)<<24>>24!=-96)break a;break}case -19:{if((l&-32)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}o=n&255;if((o&192|0)!=128)break a;if(((l&63)<<6|k<<12&61440|o&63)>>>0>f>>>0)break a;else{m=g+3|0;break}}if((j&255)>=245)break a;if((h-g|0)<4)break a;o=a[g+1>>0]|0;l=a[g+2>>0]|0;n=a[g+3>>0]|0;switch(j<<24>>24){case -16:{if((o+112&255)>=48)break a;break}case -12:{if((o&-16)<<24>>24!=-128)break a;break}default:if((o&-64)<<24>>24!=-128)break a}p=l&255;if((p&192|0)!=128)break a;l=n&255;if((l&192|0)!=128)break a;if(((o&63)<<12|k<<18&1835008|p<<6&4032|l&63)>>>0>f>>>0)break a;else m=g+4|0}else{if(k>>>0>f>>>0)break a;m=g+1|0}while(0);g=m;i=i+1|0}return g-b|0}function Zp(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,r=0,s=0,t=0;c[f>>2]=b;c[i>>2]=g;if(k&4){k=c[f>>2]|0;g=e;if((((g-k|0)>2?(a[k>>0]|0)==-17:0)?(a[k+1>>0]|0)==-69:0)?(a[k+2>>0]|0)==-65:0){c[f>>2]=k+3;l=g}else l=g}else l=e;a:while(1){g=c[f>>2]|0;if(g>>>0>=e>>>0){m=0;break}k=c[i>>2]|0;if(k>>>0>=h>>>0){m=1;break}b=a[g>>0]|0;n=b&255;do if(b<<24>>24>-1)if(n>>>0>j>>>0){m=2;break a}else{o=1;p=n}else{if((b&255)<194){m=2;break a}if((b&255)<224){if((l-g|0)<2){m=1;break a}q=d[g+1>>0]|0;if((q&192|0)!=128){m=2;break a}r=q&63|n<<6&1984;if(r>>>0>j>>>0){m=2;break a}else{o=2;p=r;break}}if((b&255)<240){if((l-g|0)<3){m=1;break a}r=a[g+1>>0]|0;q=a[g+2>>0]|0;switch(b<<24>>24){case -32:{if((r&-32)<<24>>24!=-96){m=2;break a}break}case -19:{if((r&-32)<<24>>24!=-128){m=2;break a}break}default:if((r&-64)<<24>>24!=-128){m=2;break a}}s=q&255;if((s&192|0)!=128){m=2;break a}q=(r&63)<<6|n<<12&61440|s&63;if(q>>>0>j>>>0){m=2;break a}else{o=3;p=q;break}}if((b&255)>=245){m=2;break a}if((l-g|0)<4){m=1;break a}q=a[g+1>>0]|0;s=a[g+2>>0]|0;r=a[g+3>>0]|0;switch(b<<24>>24){case -16:{if((q+112&255)>=48){m=2;break a}break}case -12:{if((q&-16)<<24>>24!=-128){m=2;break a}break}default:if((q&-64)<<24>>24!=-128){m=2;break a}}t=s&255;if((t&192|0)!=128){m=2;break a}s=r&255;if((s&192|0)!=128){m=2;break a}r=(q&63)<<12|n<<18&1835008|t<<6&4032|s&63;if(r>>>0>j>>>0){m=2;break a}else{o=4;p=r}}while(0);c[k>>2]=p;c[f>>2]=g+o;c[i>>2]=(c[i>>2]|0)+4}return m|0}function _p(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;c[e>>2]=b;c[h>>2]=f;b=g;if(j&2)if((b-f|0)<3)k=1;else{c[h>>2]=f+1;a[f>>0]=-17;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=-69;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=-65;l=4}else l=4;a:do if((l|0)==4){f=c[e>>2]|0;while(1){if(f>>>0>=d>>>0){k=0;break a}j=c[f>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){k=2;break a}do if(j>>>0>=128){if(j>>>0<2048){g=c[h>>2]|0;if((b-g|0)<2){k=1;break a}c[h>>2]=g+1;a[g>>0]=j>>>6|192;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=j&63|128;break}g=c[h>>2]|0;m=b-g|0;if(j>>>0<65536){if((m|0)<3){k=1;break a}c[h>>2]=g+1;a[g>>0]=j>>>12|224;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j>>>6&63|128;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j&63|128;break}else{if((m|0)<4){k=1;break a}c[h>>2]=g+1;a[g>>0]=j>>>18|240;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=j>>>12&63|128;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=j>>>6&63|128;g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=j&63|128;break}}else{g=c[h>>2]|0;if((b-g|0)<1){k=1;break a}c[h>>2]=g+1;a[g>>0]=j}while(0);j=(c[e>>2]|0)+4|0;c[e>>2]=j;f=j}}while(0);return k|0}function $p(a){a=a|0;uk(a);ct(a);return}function aq(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;c[f>>2]=d;c[i>>2]=g;return 3}function bq(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;c[f>>2]=d;c[i>>2]=g;return 3}function cq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function dq(a){a=a|0;return 1}function eq(a){a=a|0;return 1}function fq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=d-c|0;return (b>>>0<e>>>0?b:e)|0}function gq(a){a=a|0;return 1}function hq(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,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;k=$a;$a=$a+16|0;l=k;m=k+8|0;n=e;while(1){if((n|0)==(f|0)){o=f;break}if(!(c[n>>2]|0)){o=n;break}n=n+4|0}c[j>>2]=h;c[g>>2]=e;n=i;p=b+8|0;b=o;o=e;e=h;a:while(1){if((e|0)==(i|0)|(o|0)==(f|0)){q=o;r=36;break}h=d;s=c[h+4>>2]|0;t=l;c[t>>2]=c[h>>2];c[t+4>>2]=s;s=Vg(c[p>>2]|0)|0;t=Bh(e,g,b-o>>2,n-e|0,d)|0;if(s|0)Vg(s)|0;switch(t|0){case -1:{r=10;break a;break}case 0:{u=1;r=33;break a;break}default:{}}s=(c[j>>2]|0)+t|0;c[j>>2]=s;if((s|0)==(i|0)){r=34;break}if((b|0)==(f|0)){v=s;w=c[g>>2]|0;x=f}else{s=Vg(c[p>>2]|0)|0;t=fg(m,0,d)|0;if(s|0)Vg(s)|0;if((t|0)==-1){y=2;r=32;break}if(t>>>0>(n-(c[j>>2]|0)|0)>>>0){y=1;r=32;break}s=t;t=m;while(1){if(!s)break;h=a[t>>0]|0;z=c[j>>2]|0;c[j>>2]=z+1;a[z>>0]=h;s=s+-1|0;t=t+1|0}t=(c[g>>2]|0)+4|0;c[g>>2]=t;s=t;while(1){if((s|0)==(f|0)){A=f;break}if(!(c[s>>2]|0)){A=s;break}s=s+4|0}v=c[j>>2]|0;w=t;x=A}b=x;o=w;e=v}if((r|0)==10){c[j>>2]=e;v=e;e=o;while(1){if((e|0)==(c[g>>2]|0))break;o=c[e>>2]|0;w=Vg(c[p>>2]|0)|0;x=fg(v,o,l)|0;if(w|0)Vg(w)|0;if((x|0)==-1)break;w=(c[j>>2]|0)+x|0;c[j>>2]=w;v=w;e=e+4|0}c[g>>2]=e;u=2;r=33}else if((r|0)==32){u=y;r=33}else if((r|0)==34){q=c[g>>2]|0;r=36}if((r|0)==33)B=u;else if((r|0)==36)B=(q|0)!=(f|0)&1;$a=k;return B|0}function iq(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,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=$a;$a=$a+16|0;l=k;m=e;while(1){if((m|0)==(f|0)){n=f;break}if(!(a[m>>0]|0)){n=m;break}m=m+1|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;b=n;n=e;e=h;while(1){if((e|0)==(i|0)|(n|0)==(f|0)){p=n;q=33;break}h=d;r=c[h+4>>2]|0;s=l;c[s>>2]=c[h>>2];c[s+4>>2]=r;r=Vg(c[o>>2]|0)|0;s=yh(e,g,b-n|0,m-e>>2,d)|0;if(r|0)Vg(r)|0;if((s|0)==-1){q=10;break}r=(c[j>>2]|0)+(s<<2)|0;c[j>>2]=r;if((r|0)==(i|0)){q=30;break}s=c[g>>2]|0;if((b|0)==(f|0)){t=r;u=s;v=f}else{h=Vg(c[o>>2]|0)|0;w=Og(r,s,1,d)|0;if(h|0)Vg(h)|0;if(w|0){x=2;q=29;break}c[j>>2]=(c[j>>2]|0)+4;w=(c[g>>2]|0)+1|0;c[g>>2]=w;h=w;while(1){if((h|0)==(f|0)){y=f;break}if(!(a[h>>0]|0)){y=h;break}h=h+1|0}t=c[j>>2]|0;u=w;v=y}b=v;n=u;e=t}do if((q|0)==10){t=b;u=n;v=e;a:while(1){c[j>>2]=v;if((u|0)==(c[g>>2]|0)){q=19;break}y=Vg(c[o>>2]|0)|0;d=Og(v,u,t-u|0,l)|0;if(y|0)Vg(y)|0;switch(d|0){case -1:{q=15;break a;break}case -2:{q=16;break a;break}case 0:{z=1;break}default:z=d}u=u+z|0;v=(c[j>>2]|0)+4|0}if((q|0)==15){c[g>>2]=u;x=2;q=29;break}else if((q|0)==16){c[g>>2]=u;x=1;q=29;break}else if((q|0)==19){c[g>>2]=u;x=(u|0)!=(f|0)&1;q=29;break}}else if((q|0)==30){p=c[g>>2]|0;q=33}while(0);if((q|0)==29)A=x;else if((q|0)==33)A=(p|0)!=(f|0)&1;$a=k;return A|0}function jq(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;h=$a;$a=$a+16|0;i=h;c[g>>2]=e;e=Vg(c[b+8>>2]|0)|0;b=fg(i,0,d)|0;if(e|0)Vg(e)|0;a:do if((b+1|0)>>>0>=2){e=b+-1|0;if(e>>>0>(f-(c[g>>2]|0)|0)>>>0)j=1;else{d=e;e=i;while(1){if(!d){j=0;break a}k=a[e>>0]|0;l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=k;d=d+-1|0;e=e+1|0}}}else j=2;while(0);$a=h;return j|0}function kq(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;a=Vg(c[b>>2]|0)|0;d=ah(0,0,4)|0;if(a|0)Vg(a)|0;if(!d){d=c[b>>2]|0;if(!d)e=1;else{b=Vg(d)|0;d=qg()|0;if(b|0)Vg(b)|0;return (d|0)==1|0}}else e=-1;return e|0}function lq(a){a=a|0;return 0}function mq(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;g=e;h=a+8|0;a=d;d=0;i=0;a:while(1){if((a|0)==(e|0)|i>>>0>=f>>>0)break;j=Vg(c[h>>2]|0)|0;k=xh(a,g-a|0,b)|0;if(j|0)Vg(j)|0;switch(k|0){case -2:case -1:{break a;break}case 0:{l=1;break}default:l=k}a=a+l|0;d=l+d|0;i=i+1|0}return d|0}function nq(a){a=a|0;var b=0,d=0;b=c[a+8>>2]|0;if(b){a=Vg(b)|0;b=qg()|0;if(!a)d=b;else{Vg(a)|0;d=b}}else d=1;return d|0}function oq(a){a=a|0;var b=0,d=0;c[a>>2]=12308;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(Sk()|0))Mg(c[b>>2]|0);uk(a);return}function pq(a){a=a|0;oq(a);ct(a);return}function qq(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;b=$a;$a=$a+16|0;a=b+4|0;j=b;c[a>>2]=d;c[j>>2]=g;k=zq(d,e,a,g,h,j,1114111,0)|0;c[f>>2]=c[a>>2];c[i>>2]=c[j>>2];$a=b;return k|0}function rq(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;b=$a;$a=$a+16|0;a=b+4|0;j=b;c[a>>2]=d;c[j>>2]=g;k=yq(d,e,a,g,h,j,1114111,0)|0;c[f>>2]=c[a>>2];c[i>>2]=c[j>>2];$a=b;return k|0}function sq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function tq(a){a=a|0;return 0}function uq(a){a=a|0;return 0}function vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return xq(c,d,e,1114111,0)|0}function wq(a){a=a|0;return 4}function xq(b,c,e,f,g){b=b|0;c=c|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;h=c;if((((g&4|0)!=0?(h-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)i=(a[b+2>>0]|0)==-65?b+3|0:b;else i=b;g=i;i=0;a:while(1){if(!(i>>>0<e>>>0&g>>>0<c>>>0))break;j=a[g>>0]|0;k=j&255;if(k>>>0>f>>>0)break;do if(j<<24>>24<=-1){if((j&255)<194)break a;if((j&255)<224){if((h-g|0)<2)break a;l=d[g+1>>0]|0;if((l&192|0)!=128)break a;if((l&63|k<<6&1984)>>>0>f>>>0)break a;else{m=g+2|0;n=i;break}}if((j&255)<240){if((h-g|0)<3)break a;l=a[g+1>>0]|0;o=a[g+2>>0]|0;switch(j<<24>>24){case -32:{if((l&-32)<<24>>24!=-96)break a;break}case -19:{if((l&-32)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}p=o&255;if((p&192|0)!=128)break a;if(((l&63)<<6|k<<12&61440|p&63)>>>0>f>>>0)break a;else{m=g+3|0;n=i;break}}if((j&255)>=245)break a;if((e-i|0)>>>0<2|(h-g|0)<4)break a;p=a[g+1>>0]|0;l=a[g+2>>0]|0;o=a[g+3>>0]|0;switch(j<<24>>24){case -16:{if((p+112&255)>=48)break a;break}case -12:{if((p&-16)<<24>>24!=-128)break a;break}default:if((p&-64)<<24>>24!=-128)break a}q=l&255;if((q&192|0)!=128)break a;l=o&255;if((l&192|0)!=128)break a;if(((p&63)<<12|k<<18&1835008|q<<6&4032|l&63)>>>0>f>>>0)break a;else{m=g+4|0;n=i+1|0}}else{m=g+1|0;n=i}while(0);g=m;i=n+1|0}return g-b|0}function yq(e,f,g,h,i,j,k,l){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,r=0,s=0,t=0,u=0,v=0,w=0;c[g>>2]=e;c[j>>2]=h;if(l&4){l=c[g>>2]|0;h=f;if((((h-l|0)>2?(a[l>>0]|0)==-17:0)?(a[l+1>>0]|0)==-69:0)?(a[l+2>>0]|0)==-65:0){c[g>>2]=l+3;m=h}else m=h}else m=f;h=i;a:while(1){l=c[g>>2]|0;if(l>>>0>=f>>>0){n=0;break}e=c[j>>2]|0;if(e>>>0>=i>>>0){n=1;break}o=a[l>>0]|0;p=o&255;if(p>>>0>k>>>0){n=2;break}do if(o<<24>>24>-1){b[e>>1]=o&255;q=l+1|0}else{if((o&255)<194){n=2;break a}if((o&255)<224){if((m-l|0)<2){n=1;break a}r=d[l+1>>0]|0;if((r&192|0)!=128){n=2;break a}s=r&63|p<<6&1984;if(s>>>0>k>>>0){n=2;break a}b[e>>1]=s;q=l+2|0;break}if((o&255)<240){if((m-l|0)<3){n=1;break a}s=a[l+1>>0]|0;r=a[l+2>>0]|0;switch(o<<24>>24){case -32:{if((s&-32)<<24>>24!=-96){n=2;break a}break}case -19:{if((s&-32)<<24>>24!=-128){n=2;break a}break}default:if((s&-64)<<24>>24!=-128){n=2;break a}}t=r&255;if((t&192|0)!=128){n=2;break a}r=(s&63)<<6|p<<12|t&63;if((r&65535)>>>0>k>>>0){n=2;break a}b[e>>1]=r;q=l+3|0;break}if((o&255)>=245){n=2;break a}if((m-l|0)<4){n=1;break a}r=a[l+1>>0]|0;t=a[l+2>>0]|0;s=a[l+3>>0]|0;switch(o<<24>>24){case -16:{if((r+112&255)>=48){n=2;break a}break}case -12:{if((r&-16)<<24>>24!=-128){n=2;break a}break}default:if((r&-64)<<24>>24!=-128){n=2;break a}}u=t&255;if((u&192|0)!=128){n=2;break a}t=s&255;if((t&192|0)!=128){n=2;break a}if((h-e|0)<4){n=1;break a}s=p&7;v=r&255;r=u<<6;w=t&63;if((v<<12&258048|s<<18|r&4032|w)>>>0>k>>>0){n=2;break a}b[e>>1]=v<<2&60|u>>>4&3|((v>>>4&3|s<<2)<<6)+16320|55296;s=e+2|0;c[j>>2]=s;b[s>>1]=w|r&960|56320;q=(c[g>>2]|0)+4|0}while(0);c[g>>2]=q;c[j>>2]=(c[j>>2]|0)+2}return n|0}function zq(d,f,g,h,i,j,k,l){d=d|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,r=0;c[g>>2]=d;c[j>>2]=h;d=i;if(l&2)if((d-h|0)<3)m=1;else{c[j>>2]=h+1;a[h>>0]=-17;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=-69;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=-65;n=4}else n=4;a:do if((n|0)==4){h=f;l=c[g>>2]|0;while(1){if(l>>>0>=f>>>0){m=0;break a}i=b[l>>1]|0;o=i&65535;if(o>>>0>k>>>0){m=2;break a}do if((i&65535)<128){p=c[j>>2]|0;if((d-p|0)<1){m=1;break a}c[j>>2]=p+1;a[p>>0]=i}else{if((i&65535)<2048){p=c[j>>2]|0;if((d-p|0)<2){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>6|192;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((i&65535)<55296){p=c[j>>2]|0;if((d-p|0)<3){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((i&65535)>=56320){if((i&65535)<57344){m=2;break a}p=c[j>>2]|0;if((d-p|0)<3){m=1;break a}c[j>>2]=p+1;a[p>>0]=o>>>12|224;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o>>>6&63|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o&63|128;break}if((h-l|0)<4){m=1;break a}p=l+2|0;q=e[p>>1]|0;if((q&64512|0)!=56320){m=2;break a}if((d-(c[j>>2]|0)|0)<4){m=1;break a}r=o&960;if(((r<<10)+65536|o<<10&64512|q&1023)>>>0>k>>>0){m=2;break a}c[g>>2]=p;p=(r>>>6)+1|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=p>>>2|240;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=o>>>2&15|p<<4&48|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=o<<4&48|q>>>6&15|128;p=c[j>>2]|0;c[j>>2]=p+1;a[p>>0]=q&63|128}while(0);o=(c[g>>2]|0)+2|0;c[g>>2]=o;l=o}}while(0);return m|0}function Aq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=12356;b=a+8|0;d=a+12|0;e=0;while(1){f=c[b>>2]|0;if(e>>>0>=(c[d>>2]|0)-f>>2>>>0)break;g=c[f+(e<<2)>>2]|0;if(g|0?(f=g+4|0,h=c[f>>2]|0,c[f>>2]=h+-1,(h|0)==0):0)qb[c[(c[g>>2]|0)+8>>2]&255](g);e=e+1|0}qt(a+144|0);Cq(b);uk(a);return}function Bq(a){a=a|0;Aq(a);ct(a);return}function Cq(b){b=b|0;var d=0;d=c[b>>2]|0;do if(d|0){c[b+4>>2]=d;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{ct(d);break}}while(0);return}function Dq(b){b=b|0;var d=0;c[b>>2]=12376;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)dt(d);uk(b);return}function Eq(a){a=a|0;Dq(a);ct(a);return}function Fq(a,b){a=a|0;b=b|0;var d=0;if(b<<24>>24>-1)d=c[(Oq()|0)+((b&255)<<2)>>2]&255;else d=b;return d|0}function Gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=d;while(1){if((b|0)==(e|0))break;d=a[b>>0]|0;if(d<<24>>24>-1){f=Oq()|0;g=c[f+(a[b>>0]<<2)>>2]&255}else g=d;a[b>>0]=g;b=b+1|0}return e|0}function Hq(a,b){a=a|0;b=b|0;var d=0;if(b<<24>>24>-1)d=c[(Nq()|0)+(b<<24>>24<<2)>>2]&255;else d=b;return d|0}function Iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=d;while(1){if((b|0)==(e|0))break;d=a[b>>0]|0;if(d<<24>>24>-1){f=Nq()|0;g=c[f+(a[b>>0]<<2)>>2]&255}else g=d;a[b>>0]=g;b=b+1|0}return e|0}function Jq(a,b){a=a|0;b=b|0;return b|0}function Kq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=e;e=c;while(1){if((e|0)==(d|0))break;a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}return d|0}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function Mq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;b=f;f=c;while(1){if((f|0)==(d|0))break;c=a[f>>0]|0;a[b>>0]=c<<24>>24>-1?c:e;b=b+1|0;f=f+1|0}return d|0}function Nq(){return c[(sg()|0)>>2]|0}function Oq(){return c[(tg()|0)>>2]|0}function Pq(){return c[(pg()|0)>>2]|0}function Qq(a){a=a|0;c[a>>2]=12428;qt(a+12|0);uk(a);return}function Rq(a){a=a|0;Qq(a);ct(a);return}function Sq(b){b=b|0;return a[b+8>>0]|0}function Tq(b){b=b|0;return a[b+9>>0]|0}function Uq(a,b){a=a|0;b=b|0;mt(a,b+12|0);return}function Vq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;nt(a,19579,nj(19579)|0);return}function Wq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;nt(a,19573,nj(19573)|0);return}function Xq(a){a=a|0;c[a>>2]=12468;qt(a+16|0);uk(a);return}function Yq(a){a=a|0;Xq(a);ct(a);return}function Zq(a){a=a|0;return c[a+8>>2]|0}function _q(a){a=a|0;return c[a+12>>2]|0}function $q(a,b){a=a|0;b=b|0;mt(a,b+16|0);return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Gt(a,12524,Cn(12524)|0);return}function br(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Gt(a,12500,Cn(12500)|0);return}function cr(a){a=a|0;uk(a);ct(a);return}function dr(a){a=a|0;uk(a);ct(a);return}function er(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(d>>>0<128)e=(b[(Pq()|0)+(d<<1)>>1]&c)<<16>>16!=0;else e=0;return e|0}function fr(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0;a=d;d=g;while(1){if((a|0)==(f|0))break;if((c[a>>2]|0)>>>0<128){g=Pq()|0;h=e[g+(c[a>>2]<<1)>>1]|0}else h=0;b[d>>1]=h;a=a+4|0;d=d+2|0}return f|0}function gr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;a=e;while(1){if((a|0)==(f|0)){g=f;break}if((c[a>>2]|0)>>>0<128?(e=Pq()|0,(b[e+(c[a>>2]<<1)>>1]&d)<<16>>16):0){g=a;break}a=a+4|0}return g|0}function hr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;a=e;while(1){if((a|0)==(f|0)){g=f;break}if((c[a>>2]|0)>>>0>=128){g=a;break}e=Pq()|0;if(!((b[e+(c[a>>2]<<1)>>1]&d)<<16>>16)){g=a;break}a=a+4|0}return g|0}function ir(a,b){a=a|0;b=b|0;var d=0;if(b>>>0<128)d=c[(Oq()|0)+(b<<2)>>2]|0;else d=b;return d|0}function jr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b;while(1){if((a|0)==(d|0))break;b=c[a>>2]|0;if(b>>>0<128){e=Oq()|0;f=c[e+(c[a>>2]<<2)>>2]|0}else f=b;c[a>>2]=f;a=a+4|0}return d|0}function kr(a,b){a=a|0;b=b|0;var d=0;if(b>>>0<128)d=c[(Nq()|0)+(b<<2)>>2]|0;else d=b;return d|0}function lr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b;while(1){if((a|0)==(d|0))break;b=c[a>>2]|0;if(b>>>0<128){e=Nq()|0;f=c[e+(c[a>>2]<<2)>>2]|0}else f=b;c[a>>2]=f;a=a+4|0}return d|0}function mr(a,b){a=a|0;b=b|0;return b<<24>>24|0}function nr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=f;f=d;while(1){if((f|0)==(e|0))break;c[b>>2]=a[f>>0];b=b+4|0;f=f+1|0}return e|0}function or(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function pr(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;b=(e-d|0)>>>2;h=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[h>>0]=i>>>0<128?i&255:f;h=h+1|0;g=g+4|0}return d+(b<<2)|0}function qr(a){a=a|0;uk(a);ct(a);return}function rr(a){a=a|0;uk(a);ct(a);return}function sr(a){a=a|0;uk(a);ct(a);return}function tr(a){a=a|0;c[a>>2]=12784;return}function ur(a){a=a|0;c[a>>2]=12820;return}function vr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=12376;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=Pq()|0;return}function wr(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=12356;b=a+8|0;xr(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;nt(d,17518,nj(17518)|0);c[a+12>>2]=c[b>>2];yr();zr(a,24328);Ar();Br(a,24336);Cr();Dr(a,24344);Er();Fr(a,24360);Gr();Hr(a,24368);Ir();Jr(a,24376);Kr();Lr(a,24392);Mr();Nr(a,24400);Or();Pr(a,24408);Qr();Rr(a,24432);Sr();Tr(a,24464);Ur();Vr(a,24472);Wr();Xr(a,24480);Yr();Zr(a,24488);_r();$r(a,24496);as();bs(a,24504);cs();ds(a,24512);es();fs(a,24520);gs();hs(a,24528);is();js(a,24536);ks();ls(a,24544);ms();ns(a,24552);os();ps(a,24560);qs();rs(a,24576);ss();ts(a,24592);us();vs(a,24608);ws();xs(a,24624);ys();zs(a,24632);return}function xr(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){Ms(b,d);Ds(b,d)}return}function yr(){c[6083]=0;c[6082]=10212;return}function zr(a,b){a=a|0;b=b|0;As(a,b,Uk(26504)|0);return}function Ar(){c[6085]=0;c[6084]=10244;return}function Br(a,b){a=a|0;b=b|0;As(a,b,Uk(26512)|0);return}function Cr(){vr(24344,0,0,1);return}function Dr(a,b){a=a|0;b=b|0;As(a,b,Uk(26520)|0);return}function Er(){c[6091]=0;c[6090]=12572;return}function Fr(a,b){a=a|0;b=b|0;As(a,b,Uk(26552)|0);return}function Gr(){c[6093]=0;c[6092]=12640;return}function Hr(a,b){a=a|0;b=b|0;As(a,b,Uk(26824)|0);return}function Ir(){Ls(24376,1);return}function Jr(a,b){a=a|0;b=b|0;As(a,b,Uk(26832)|0);return}function Kr(){c[6099]=0;c[6098]=12688;return}function Lr(a,b){a=a|0;b=b|0;As(a,b,Uk(26840)|0);return}function Mr(){c[6101]=0;c[6100]=12736;return}function Nr(a,b){a=a|0;b=b|0;As(a,b,Uk(26848)|0);return}function Or(){Ks(24408,1);return}function Pr(a,b){a=a|0;b=b|0;As(a,b,Uk(26536)|0);return}function Qr(){Js(24432,1);return}function Rr(a,b){a=a|0;b=b|0;As(a,b,Uk(26560)|0);return}function Sr(){c[6117]=0;c[6116]=10276;return}function Tr(a,b){a=a|0;b=b|0;As(a,b,Uk(26544)|0);return}function Ur(){c[6119]=0;c[6118]=10340;return}function Vr(a,b){a=a|0;b=b|0;As(a,b,Uk(26568)|0);return}function Wr(){c[6121]=0;c[6120]=10404;return}function Xr(a,b){a=a|0;b=b|0;As(a,b,Uk(26576)|0);return}function Yr(){c[6123]=0;c[6122]=10456;return}function Zr(a,b){a=a|0;b=b|0;As(a,b,Uk(26584)|0);return}function _r(){c[6125]=0;c[6124]=11812;return}function $r(a,b){a=a|0;b=b|0;As(a,b,Uk(26744)|0);return}function as(){c[6127]=0;c[6126]=11868;return}function bs(a,b){a=a|0;b=b|0;As(a,b,Uk(26752)|0);return}function cs(){c[6129]=0;c[6128]=11924;return}function ds(a,b){a=a|0;b=b|0;As(a,b,Uk(26760)|0);return}function es(){c[6131]=0;c[6130]=11980;return}function fs(a,b){a=a|0;b=b|0;As(a,b,Uk(26768)|0);return}function gs(){c[6133]=0;c[6132]=12036;return}function hs(a,b){a=a|0;b=b|0;As(a,b,Uk(26776)|0);return}function is(){c[6135]=0;c[6134]=12064;return}function js(a,b){a=a|0;b=b|0;As(a,b,Uk(26784)|0);return}function ks(){c[6137]=0;c[6136]=12092;return}function ls(a,b){a=a|0;b=b|0;As(a,b,Uk(26792)|0);return}function ms(){c[6139]=0;c[6138]=12120;return}function ns(a,b){a=a|0;b=b|0;As(a,b,Uk(26800)|0);return}function os(){c[6141]=0;c[6140]=12552;tr(24568);c[6140]=10508;c[6142]=10556;return}function ps(a,b){a=a|0;b=b|0;As(a,b,Uk(26652)|0);return}function qs(){c[6145]=0;c[6144]=12552;ur(24584);c[6144]=10592;c[6146]=10640;return}function rs(a,b){a=a|0;b=b|0;As(a,b,Uk(26720)|0);return}function ss(){c[6149]=0;c[6148]=12552;c[6150]=Sk()|0;c[6148]=11764;return}function ts(a,b){a=a|0;b=b|0;As(a,b,Uk(26728)|0);return}function us(){c[6153]=0;c[6152]=12552;c[6154]=Sk()|0;c[6152]=11788;return}function vs(a,b){a=a|0;b=b|0;As(a,b,Uk(26736)|0);return}function ws(){c[6157]=0;c[6156]=12148;return}function xs(a,b){a=a|0;b=b|0;As(a,b,Uk(26808)|0);return}function ys(){c[6159]=0;c[6158]=12180;return}function zs(a,b){a=a|0;b=b|0;As(a,b,Uk(26816)|0);return}function As(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=a+8|0;f=c[e>>2]|0;if((c[a+12>>2]|0)-f>>2>>>0>d>>>0){g=f;h=e}else{Bs(e,d+1|0);g=c[e>>2]|0;h=e}e=c[g+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)qb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[h>>2]|0)+(d<<2)>>2]=b;return}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;e=c[a>>2]|0;f=(c[d>>2]|0)-e>>2;g=e;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[d>>2]=g+(b<<2)}else Cs(a,b-f|0);return}function Cs(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;d=$a;$a=$a+32|0;e=d;f=a+8|0;g=a+4|0;h=c[g>>2]|0;do if((c[f>>2]|0)-h>>2>>>0<b>>>0){i=(h-(c[a>>2]|0)>>2)+b|0;j=Es(a)|0;if(j>>>0<i>>>0)du(a);else{k=c[a>>2]|0;l=(c[f>>2]|0)-k|0;m=l>>1;Fs(e,l>>2>>>0<j>>>1>>>0?(m>>>0<i>>>0?i:m):j,(c[g>>2]|0)-k>>2,a+16|0);Gs(e,b);Hs(a,e);Is(e);break}}else Ds(a,b);while(0);$a=d;return}function Ds(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;a=c[d>>2]|0;e=b;do{c[a>>2]=0;a=(c[d>>2]|0)+4|0;c[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function Es(a){a=a|0;return 1073741823}function Fs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+12|0;c[g>>2]=0;c[b+16>>2]=f;do if(d){h=f+112|0;if(d>>>0<29&(a[h>>0]|0)==0){a[h>>0]=1;i=f;break}else{i=at(d<<2)|0;break}}else i=0;while(0);c[b>>2]=i;f=i+(e<<2)|0;c[b+8>>2]=f;c[b+4>>2]=f;c[g>>2]=i+(d<<2);return}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;a=c[d>>2]|0;e=b;do{c[a>>2]=0;a=(c[d>>2]|0)+4|0;c[d>>2]=a;e=e+-1|0}while((e|0)!=0);return}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a>>2]|0;e=a+4|0;f=b+4|0;g=(c[e>>2]|0)-d|0;h=(c[f>>2]|0)+(0-(g>>2)<<2)|0;c[f>>2]=h;if((g|0)>0){rv(h|0,d|0,g|0)|0;i=f;j=c[f>>2]|0}else{i=f;j=h}h=c[a>>2]|0;c[a>>2]=j;c[i>>2]=h;h=b+8|0;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;j=a+8|0;a=b+12|0;h=c[j>>2]|0;c[j>>2]=c[a>>2];c[a>>2]=h;c[b>>2]=c[i>>2];return}function Is(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}f=c[b>>2]|0;do if(f|0){e=c[b+16>>2]|0;if((f|0)==(e|0)){a[e+112>>0]=0;break}else{ct(f);break}}while(0);return}function Js(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=12468;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function Ks(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=12428;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function Ls(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=12308;c[a+8>>2]=Sk()|0;return}function Ms(b,d){b=b|0;d=d|0;var e=0,f=0;if((Es(b)|0)>>>0<d>>>0)du(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;f=b+16|0}else f=at(d<<2)|0;c[b+4>>2]=f;c[b>>2]=f;c[b+8>>2]=f+(d<<2);return}function Ns(){if((a[24640]|0)==0?cv(24640)|0:0){Os()|0;c[6715]=26856}return c[6715]|0}function Os(){Ps();c[6714]=24648;return 26856}function Ps(){wr(24648,1);return}function Qs(){Rs(26864,Ns()|0);return 26864}function Rs(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;a=d+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function Ss(){if((a[24808]|0)==0?cv(24808)|0:0){Qs()|0;c[6717]=26864}return c[6717]|0}function Ts(a){a=a|0;var b=0;b=c[(Ss()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function Us(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;return Vs(d,Uk(b)|0)|0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)e=(c[d+(b<<2)>>2]|0)!=0;else e=0;return e|0}function Ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=0;else d=Of(a,b,c)|0;return d|0}function Xs(a){a=a|0;return}function Ys(a,b){a=a|0;b=b|0;return 0}function Zs(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))qb[c[(c[a>>2]|0)+16>>2]&255](a);return}function _s(a,b,d){a=a|0;b=b|0;d=d|0;Yh(26872)|0;while(1){if((c[a>>2]|0)!=1)break;xa(26900,26872)|0}if(!(c[a>>2]|0)){c[a>>2]=1;Zh(26872)|0;qb[d&255](b);Yh(26872)|0;c[a>>2]=-1;Zh(26872)|0;uv(26900)|0}else Zh(26872)|0;return}function $s(){na()}function at(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=Th(b)|0;if(a|0){c=a;break}a=ev()|0;if(!a){c=0;break}pb[a&7]()}return c|0}function bt(a){a=a|0;return at(a)|0}function ct(a){a=a|0;Uh(a);return}function dt(a){a=a|0;ct(a);return}function et(b,d){b=b|0;d=d|0;c[b>>2]=12940;ft(b+4|0,(a[d+11>>0]|0)<0?c[d>>2]|0:d);return}function ft(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Hg(b)|0;e=at(d+13|0)|0;c[e>>2]=d;c[e+4>>2]=d;c[e+8>>2]=0;f=gt(e)|0;rv(f|0,b|0,d+1|0)|0;c[a>>2]=f;return}function gt(a){a=a|0;return a+12|0}function ht(a,b){a=a|0;b=b|0;c[a>>2]=12940;ft(a+4|0,b);return}function it(a){a=a|0;return 1}function jt(a,b){a=a|0;b=b|0;c[a>>2]=12960;ft(a+4|0,b);return}function kt(a){a=a|0;na()}function lt(a){a=a|0;na()}function mt(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)nt(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function nt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$a;$a=$a+16|0;g=f;if(e>>>0>4294967279)kt(b);if(e>>>0<11){a[b+11>>0]=e;h=b}else{i=e+16&-16;j=at(i)|0;c[b>>2]=j;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;h=j}Bi(h,d,e)|0;a[g>>0]=0;tk(h+e|0,g);$a=f;return}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$a;$a=$a+16|0;g=f;if(d>>>0>4294967279)kt(b);if(d>>>0<11){a[b+11>>0]=d;h=b}else{i=d+16&-16;j=at(i)|0;c[b>>2]=j;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;h=j}pt(h,d,e)|0;a[g>>0]=0;tk(h+d|0,g);$a=f;return}function pt(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)tv(a|0,(Ai(c)|0)&255|0,b|0)|0;return a|0}function qt(b){b=b|0;if((a[b+11>>0]|0)<0)ct(c[b>>2]|0);return}function rt(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d+11>>0]|0;f=e<<24>>24<0;st(b,f?c[d>>2]|0:d,f?c[d+4>>2]|0:e&255)|0}return b|0}function st(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;f=$a;$a=$a+16|0;g=f;h=b+11|0;i=a[h>>0]|0;j=i<<24>>24<0;if(j)k=(c[b+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=e>>>0){if(j)l=c[b>>2]|0;else l=b;tt(l,d,e)|0;a[g>>0]=0;tk(l+e|0,g);if((a[h>>0]|0)<0){c[b+4>>2]=e;break}else{a[h>>0]=e;break}}else{if(j)m=c[b+4>>2]|0;else m=i&255;ut(b,k,e-k|0,m,0,m,e,d)}while(0);$a=f;return b|0}function tt(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)sv(a|0,b|0,c|0)|0;return a|0}function ut(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,p=0;k=$a;$a=$a+16|0;l=k;if((-18-d|0)>>>0<e>>>0)kt(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){n=e+d|0;e=d<<1;o=n>>>0<e>>>0?e:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=at(p)|0;if(g|0)Bi(o,m,g)|0;if(i|0)Bi(o+g|0,j,i)|0;j=f-h|0;f=j-g|0;if(f|0)Bi(o+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)ct(m);c[b>>2]=o;c[b+8>>2]=p|-2147483648;p=j+i|0;c[b+4>>2]=p;a[l>>0]=0;tk(o+p|0,l);$a=k;return}function vt(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,r=0,s=0;if(d>>>0>4294967279)kt(b);e=b+11|0;f=a[e>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;i=10}j=h>>>0>d>>>0?h:d;d=j>>>0<11;k=d?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(d){j=c[b>>2]|0;if(g){l=b;m=0;n=j;o=13}else{Bi(b,j,(f&255)+1|0)|0;ct(j);o=16}}else{j=k+1|0;p=at(j)|0;if(g){l=p;m=1;n=c[b>>2]|0;o=13;break}else{Bi(p,b,(f&255)+1|0)|0;q=p;r=b+4|0;s=j;o=15;break}}while(0);if((o|0)==13){j=b+4|0;Bi(l,n,(c[j>>2]|0)+1|0)|0;ct(n);if(m){q=l;r=j;s=k+1|0;o=15}else o=16}if((o|0)==15){c[b+8>>2]=s|-2147483648;c[r>>2]=h;c[b>>2]=q;break}else if((o|0)==16){a[e>>0]=h;break}}while(0);return}function wt(a,b){a=a|0;b=b|0;return st(a,b,nj(b)|0)|0}function xt(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;f=$a;$a=$a+16|0;g=f;h=b+11|0;i=a[h>>0]|0;j=i<<24>>24<0;if(j)k=c[b+4>>2]|0;else k=i&255;do if(k>>>0>=d>>>0)if(j){i=(c[b>>2]|0)+d|0;a[g>>0]=0;tk(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;tk(b+d|0,g);a[h>>0]=d;break}else yt(b,d-k|0,e)|0;while(0);$a=f;return}function yt(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;f=$a;$a=$a+16|0;g=f;if(d|0){h=b+11|0;i=a[h>>0]|0;if(i<<24>>24<0){j=c[b+4>>2]|0;k=(c[b+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0<d>>>0){zt(b,k,j+d-k|0,j,j,0,0);l=a[h>>0]|0}else l=i;if(l<<24>>24<0)m=c[b>>2]|0;else m=b;pt(m+j|0,d,e)|0;e=j+d|0;if((a[h>>0]|0)<0)c[b+4>>2]=e;else a[h>>0]=e;a[g>>0]=0;tk(m+e|0,g)}$a=f;return b|0}function zt(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,m=0;if((-17-d|0)>>>0<e>>>0)kt(b);if((a[b+11>>0]|0)<0)j=c[b>>2]|0;else j=b;if(d>>>0<2147483623){k=e+d|0;e=d<<1;l=k>>>0<e>>>0?e:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=at(m)|0;if(g|0)Bi(l,j,g)|0;k=f-h-g|0;if(k|0)Bi(l+g+i|0,j+g+h|0,k)|0;if((d|0)!=10)ct(j);c[b>>2]=l;c[b+8>>2]=m|-2147483648;return}function At(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;f=$a;$a=$a+16|0;g=f;h=b+11|0;i=a[h>>0]|0;j=i<<24>>24<0;if(j){k=c[b+4>>2]|0;l=(c[b+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=e>>>0){if(e|0){if(j)m=c[b>>2]|0;else m=b;Bi(m+k|0,d,e)|0;j=k+e|0;if((a[h>>0]|0)<0)c[b+4>>2]=j;else a[h>>0]=j;a[g>>0]=0;tk(m+j|0,g)}}else ut(b,l,k+e-l|0,k,k,0,e,d);$a=f;return b|0}function Bt(a,b){a=a|0;b=b|0;return At(a,b,nj(b)|0)|0}function Ct(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;e=$a;$a=$a+16|0;f=e+1|0;g=e;a[f>>0]=d;d=b+11|0;h=a[d>>0]|0;i=h<<24>>24<0;if(i){j=(c[b+8>>2]&2147483647)+-1|0;k=c[b+4>>2]|0}else{j=10;k=h&255}if((k|0)==(j|0)){zt(b,j,1,j,j,0,0);if((a[d>>0]|0)<0)l=8;else l=7}else if(i)l=8;else l=7;if((l|0)==7){a[d>>0]=k+1;m=b}else if((l|0)==8){l=c[b>>2]|0;c[b+4>>2]=k+1;m=l}l=m+k|0;tk(l,f);a[g>>0]=0;tk(l+1|0,g);$a=e;return}function Dt(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,o=0;g=$a;$a=$a+16|0;h=g;i=b+11|0;j=a[i>>0]|0;k=j<<24>>24<0;if(k)l=c[b+4>>2]|0;else l=j&255;if(l>>>0<d>>>0)lt(b);if(k)m=(c[b+8>>2]&2147483647)+-1|0;else m=10;if((m-l|0)>>>0>=f>>>0){if(f|0){if(k)n=c[b>>2]|0;else n=b;k=l-d|0;j=n+d|0;if(!k)o=e;else{tt(j+f|0,j,k)|0;o=j>>>0<=e>>>0&(n+l|0)>>>0>e>>>0?e+f|0:e}tt(j,o,f)|0;o=l+f|0;if((a[i>>0]|0)<0)c[b+4>>2]=o;else a[i>>0]=o;a[h>>0]=0;tk(n+o|0,h)}}else ut(b,m,l+f-m|0,l,d,0,f,e);$a=g;return b|0}function Et(a,b,c){a=a|0;b=b|0;c=c|0;return Dt(a,b,c,nj(c)|0)|0}function Ft(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;h=a[b+11>>0]|0;i=h<<24>>24<0;if(i)j=c[b+4>>2]|0;else j=h&255;if((g|0)==-1|j>>>0<d>>>0)lt(b);h=j-d|0;j=h>>>0<e>>>0?h:e;if(i)k=c[b>>2]|0;else k=b;b=j>>>0>g>>>0;i=Ws(k+d|0,f,b?g:j)|0;if(!i)return (j>>>0<g>>>0?-1:b&1)|0;else return i|0;return 0}function Gt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$a;$a=$a+16|0;g=f;if(e>>>0>1073741807)kt(b);do if(e>>>0>=2){h=e+4&-4;if(h>>>0>1073741823)na();else{i=at(h<<2)|0;c[b>>2]=i;c[b+8>>2]=h|-2147483648;c[b+4>>2]=e;j=i;break}}else{a[b+8+3>>0]=e;j=b}while(0);Ti(j,d,e)|0;c[g>>2]=0;Bk(j+(e<<2)|0,g);$a=f;return}function Ht(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=$a;$a=$a+16|0;g=f;if(d>>>0>1073741807)kt(b);do if(d>>>0>=2){h=d+4&-4;if(h>>>0>1073741823)na();else{i=at(h<<2)|0;c[b>>2]=i;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;j=i;break}}else{a[b+8+3>>0]=d;j=b}while(0);It(j,d,e)|0;c[g>>2]=0;Bk(j+(d<<2)|0,g);$a=f;return}function It(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!b)d=a;else{Rh(a,c,b)|0;d=a}return d|0}function Jt(b){b=b|0;if((a[b+8+3>>0]|0)<0)ct(c[b>>2]|0);return}function Kt(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;f=$a;$a=$a+16|0;g=f;h=b+8|0;i=h+3|0;j=a[i>>0]|0;k=j<<24>>24<0;if(k)l=(c[h>>2]&2147483647)+-1|0;else l=1;do if(l>>>0>=e>>>0){if(k)m=c[b>>2]|0;else m=b;Lt(m,d,e)|0;c[g>>2]=0;Bk(m+(e<<2)|0,g);if((a[i>>0]|0)<0){c[b+4>>2]=e;break}else{a[i>>0]=e;break}}else{if(k)n=c[b+4>>2]|0;else n=j&255;Mt(b,l,e-l|0,n,0,n,e,d)}while(0);$a=f;return b|0}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)d=a;else{Sh(a,b,c)|0;d=a}return d|0}function Mt(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,p=0,q=0;k=$a;$a=$a+16|0;l=k;if((1073741806-d|0)>>>0<e>>>0)kt(b);m=b+8|0;if((a[m+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){o=e+d|0;e=d<<1;p=o>>>0<e>>>0?e:o;o=p>>>0<2?2:p+4&-4;if(o>>>0>1073741823)na();else q=o}else q=1073741807;o=at(q<<2)|0;if(g|0)Ti(o,n,g)|0;if(i|0)Ti(o+(g<<2)|0,j,i)|0;j=f-h|0;f=j-g|0;if(f|0)Ti(o+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,f)|0;if((d|0)!=1)ct(n);c[b>>2]=o;c[m>>2]=q|-2147483648;q=j+i|0;c[b+4>>2]=q;c[l>>2]=0;Bk(o+(q<<2)|0,l);$a=k;return}function Nt(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,r=0,s=0,t=0;if(d>>>0>1073741807)kt(b);e=b+8|0;f=e+3|0;g=a[f>>0]|0;h=g<<24>>24<0;if(h){i=c[b+4>>2]|0;j=(c[e>>2]&2147483647)+-1|0}else{i=g&255;j=1}k=i>>>0>d>>>0?i:d;d=k>>>0<2;l=d?1:(k+4&-4)+-1|0;do if((l|0)!=(j|0)){do if(d){k=c[b>>2]|0;if(h){m=b;n=0;o=k;p=15}else{Ti(b,k,(g&255)+1|0)|0;ct(k);p=18}}else{k=l+1|0;if(k>>>0>1073741823)na();q=at(k<<2)|0;if(h){m=q;n=1;o=c[b>>2]|0;p=15;break}else{Ti(q,b,(g&255)+1|0)|0;r=q;s=b+4|0;t=k;p=17;break}}while(0);if((p|0)==15){k=b+4|0;Ti(m,o,(c[k>>2]|0)+1|0)|0;ct(o);if(n){r=m;s=k;t=l+1|0;p=17}else p=18}if((p|0)==17){c[e>>2]=t|-2147483648;c[s>>2]=i;c[b>>2]=r;break}else if((p|0)==18){a[f>>0]=i;break}}while(0);return}function Ot(a,b){a=a|0;b=b|0;return Kt(a,b,Cn(b)|0)|0}function Pt(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,m=0,n=0;if((1073741807-d|0)>>>0<e>>>0)kt(b);j=b+8|0;if((a[j+3>>0]|0)<0)k=c[b>>2]|0;else k=b;if(d>>>0<536870887){l=e+d|0;e=d<<1;m=l>>>0<e>>>0?e:l;l=m>>>0<2?2:m+4&-4;if(l>>>0>1073741823)na();else n=l}else n=1073741807;l=at(n<<2)|0;if(g|0)Ti(l,k,g)|0;m=f-h-g|0;if(m|0)Ti(l+(g<<2)+(i<<2)|0,k+(g<<2)+(h<<2)|0,m)|0;if((d|0)!=1)ct(k);c[b>>2]=l;c[j>>2]=n|-2147483648;return}function Qt(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;f=$a;$a=$a+16|0;g=f;h=b+8|0;i=h+3|0;j=a[i>>0]|0;k=j<<24>>24<0;if(k){l=c[b+4>>2]|0;m=(c[h>>2]&2147483647)+-1|0}else{l=j&255;m=1}if((m-l|0)>>>0>=e>>>0){if(e|0){if(k)n=c[b>>2]|0;else n=b;Ti(n+(l<<2)|0,d,e)|0;k=l+e|0;if((a[i>>0]|0)<0)c[b+4>>2]=k;else a[i>>0]=k;c[g>>2]=0;Bk(n+(k<<2)|0,g)}}else Mt(b,m,l+e-m|0,l,l,0,e,d);$a=f;return b|0}function Rt(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;e=$a;$a=$a+16|0;f=e+4|0;g=e;c[f>>2]=d;d=b+8|0;h=d+3|0;i=a[h>>0]|0;j=i<<24>>24<0;if(j){k=(c[d>>2]&2147483647)+-1|0;l=c[b+4>>2]|0}else{k=1;l=i&255}if((l|0)==(k|0)){Pt(b,k,1,k,k,0,0);if((a[h>>0]|0)<0)m=8;else m=7}else if(j)m=8;else m=7;if((m|0)==7){a[h>>0]=l+1;n=b}else if((m|0)==8){m=c[b>>2]|0;c[b+4>>2]=l+1;n=m}m=n+(l<<2)|0;Bk(m,f);c[g>>2]=0;Bk(m+4|0,g);$a=e;return}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=$a;$a=$a+16|0;f=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;nt(f,19681,nj(19681)|0);g=Tt(f,a,b,d)|0;qt(f);$a=e;return g|0}function Tt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ut(a,b,c,d)|0}function Ut(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;g=$a;$a=$a+16|0;h=g;c[h>>2]=0;i=(a[d+11>>0]|0)<0?c[d>>2]|0:d;d=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;j=Lf(i,h,f)|0;f=wf()|0;k=c[f>>2]|0;c[f>>2]=d;if((k|0)==34)Vt(b);k=c[h>>2]|0;if((k|0)==(i|0))Wt(b);if(e|0)c[e>>2]=k-i;$a=g;return j|0}function Vt(a){a=a|0;var b=0,c=0;b=$a;$a=$a+16|0;c=b;be(c,a,19706);Yt(c)}function Wt(a){a=a|0;var b=0,c=0;b=$a;$a=$a+16|0;c=b;be(c,a,19686);Xt(c)}function Xt(b){b=b|0;var d=0,e=0;d=$a;$a=$a+16|0;e=d;d=c[2333]|0;c[e>>2]=(a[b+11>>0]|0)<0?c[b>>2]|0:b;uh(d,19702,e)|0;na()}function Yt(b){b=b|0;var d=0,e=0;d=$a;$a=$a+16|0;e=d;d=c[2333]|0;c[e>>2]=(a[b+11>>0]|0)<0?c[b>>2]|0:b;uh(d,19702,e)|0;na()}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=$a;$a=$a+16|0;e=d;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;nt(e,19721,nj(19721)|0);f=+_t(e,a,b);qt(e);$a=d;return +f}function _t(a,b,c){a=a|0;b=b|0;c=c|0;return +(+$t(a,b,c))}function $t(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0,k=0;f=$a;$a=$a+16|0;g=f;c[g>>2]=0;h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;d=c[(wf()|0)>>2]|0;c[(wf()|0)>>2]=0;i=+Mh(h,g);j=wf()|0;k=c[j>>2]|0;c[j>>2]=d;if((k|0)==34)Vt(b);k=c[g>>2]|0;if((k|0)==(h|0))Wt(b);if(e|0)c[e>>2]=k-h;$a=f;return +i}function au(a,b){a=a|0;b=b|0;var c=0,d=0;c=$a;$a=$a+16|0;d=c;bu(d);cu(a,d,b);qt(d);$a=c;return}function bu(b){b=b|0;var d=0,e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}if((a[b+11>>0]|0)<0)e=(c[b+8>>2]&2147483647)+-1|0;else e=10;xt(b,e,0);return}function cu(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;f=$a;$a=$a+16|0;g=f;h=d+11|0;i=a[h>>0]|0;if(i<<24>>24<0)j=c[d+4>>2]|0;else j=i&255;k=i;i=j;while(1){if(k<<24>>24<0)l=c[d>>2]|0;else l=d;c[g>>2]=e;m=Ug(l,i+1|0,19726,g)|0;if((m|0)>-1)if(m>>>0>i>>>0)n=m;else break;else n=i<<1|1;xt(d,n,0);k=a[h>>0]|0;i=n}xt(d,m,0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}$a=f;return}function du(a){a=a|0;na()}function eu(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=$a;$a=$a+48|0;b=a+32|0;d=a+24|0;e=a+16|0;f=a;g=a+36|0;a=fu()|0;if(a|0?(h=c[a>>2]|0,h|0):0){a=h+48|0;i=c[a>>2]|0;j=c[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){c[d>>2]=19865;gu(19815,d)}if((i|0)==1126902529&(j|0)==1129074247)k=c[h+44>>2]|0;else k=h+80|0;c[g>>2]=k;k=c[h>>2]|0;h=c[k+4>>2]|0;if(hb[c[(c[2044]|0)+16>>2]&31](8176,k,g)|0){k=c[g>>2]|0;g=eb[c[(c[k>>2]|0)+8>>2]&127](k)|0;c[f>>2]=19865;c[f+4>>2]=h;c[f+8>>2]=g;gu(19729,f)}else{c[e>>2]=19865;c[e+4>>2]=h;gu(19774,e)}}gu(19853,b)}function fu(){var a=0,b=0;a=$a;$a=$a+16|0;if(!(bi(26948,4)|0)){b=$h(c[6738]|0)|0;$a=a;return b|0}else gu(20004,a);return 0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0;d=$a;$a=$a+16|0;e=d;c[e>>2]=b;b=c[2333]|0;Rf(b,a,e)|0;Ih(10,b)|0;na()}function hu(a){a=a|0;return}function iu(a){a=a|0;hu(a);ct(a);return}function ju(a){a=a|0;return}function ku(a){a=a|0;return}function lu(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;e=$a;$a=$a+64|0;f=e;if(!(pu(a,b,0)|0))if((b|0)!=0?(g=tu(b,8200,8184,0)|0,(g|0)!=0):0){b=f+4|0;h=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(h|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;vb[c[(c[g>>2]|0)+28>>2]&15](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];i=1}else i=0;j=i}else j=0;else j=1;$a=e;return j|0}function mu(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(pu(a,c[b+8>>2]|0,g)|0)su(0,b,d,e,f);return}function nu(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(!(pu(b,c[d+8>>2]|0,g)|0)){if(pu(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;h=d+40|0;c[h>>2]=(c[h>>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 ru(0,d,e,f);while(0);return}function ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(pu(a,c[b+8>>2]|0,0)|0)qu(0,b,d,e);return}function pu(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function qu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}h=d+24|0;if((c[h>>2]|0)==2)c[h>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ru(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((c[b+4>>2]|0)==(d|0)?(d=b+28|0,(c[d>>2]|0)!=1):0)c[d>>2]=e;return}function su(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;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;h=c[b>>2]|0;if(!h){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((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54>>0]=1;break}h=d+24|0;b=c[h>>2]|0;if((b|0)==2){c[h>>2]=g;i=g}else i=b;if((i|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function tu(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;h=$a;$a=$a+64|0;i=h;j=c[d>>2]|0;k=d+(c[j+-8>>2]|0)|0;l=c[j+-4>>2]|0;c[i>>2]=f;c[i+4>>2]=d;c[i+8>>2]=e;c[i+12>>2]=g;g=i+16|0;e=i+20|0;d=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(pu(l,f,0)|0){c[i+48>>2]=1;yb[c[(c[l>>2]|0)+20>>2]&15](l,i,k,k,1,0);q=(c[d>>2]|0)==1?k:0}else{xb[c[(c[l>>2]|0)+24>>2]&7](l,i,k,1,0);switch(c[i+36>>2]|0){case 0:{q=(c[n>>2]|0)==1&(c[j>>2]|0)==1&(c[m>>2]|0)==1?c[e>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((c[d>>2]|0)!=1?!((c[n>>2]|0)==0&(c[j>>2]|0)==1&(c[m>>2]|0)==1):0){q=0;break}q=c[g>>2]|0}while(0);$a=h;return q|0}function uu(a){a=a|0;hu(a);ct(a);return}function vu(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(pu(a,c[b+8>>2]|0,g)|0)su(0,b,d,e,f);else{h=c[a+8>>2]|0;yb[c[(c[h>>2]|0)+20>>2]&15](h,b,d,e,f,g)}return}function wu(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;do if(!(pu(b,c[d+8>>2]|0,g)|0)){if(!(pu(b,c[d>>2]|0,g)|0)){h=c[b+8>>2]|0;xb[c[(c[h>>2]|0)+24>>2]&7](h,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;j=d+52|0;a[j>>0]=0;k=d+53|0;a[k>>0]=0;l=c[b+8>>2]|0;yb[c[(c[l>>2]|0)+20>>2]&15](l,d,e,e,1,g);if(a[k>>0]|0)if(!(a[j>>0]|0)){m=1;n=11}else n=15;else{m=0;n=11}do if((n|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(m){n=15;break}else{o=4;break}}if(m)n=15;else o=4}while(0);if((n|0)==15)o=3;c[i>>2]=o;break}if((f|0)==1)c[d+32>>2]=1}else ru(0,d,e,f);while(0);return}function xu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(pu(a,c[b+8>>2]|0,0)|0)qu(0,b,d,e);else{f=c[a+8>>2]|0;vb[c[(c[f>>2]|0)+28>>2]&15](f,b,d,e)}return}function yu(a){a=a|0;return}function zu(){var a=0;a=$a;$a=$a+16|0;if(!(_h(26952,170)|0)){$a=a;return}else gu(20053,a)}function Au(a){a=a|0;var b=0;b=$a;$a=$a+16|0;Uh(a);if(!(ai(c[6738]|0,0)|0)){$a=b;return}else gu(20103,b)}function Bu(){var a=0,b=0;a=fu()|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)Cu(c[b+12>>2]|0);Cu(Du()|0)}function Cu(a){a=a|0;var b=0;b=$a;$a=$a+16|0;pb[a&7]();gu(20156,b)}function Du(){var a=0;a=c[3212]|0;c[3212]=a+0;return a|0}function Eu(a){a=a|0;return}function Fu(a){a=a|0;c[a>>2]=12940;Ju(a+4|0);return}function Gu(a){a=a|0;Fu(a);ct(a);return}function Hu(a){a=a|0;return Iu(a+4|0)|0}function Iu(a){a=a|0;return c[a>>2]|0}function Ju(a){a=a|0;var b=0,d=0;if(it(a)|0?(b=Ku(c[a>>2]|0)|0,a=b+8|0,d=c[a>>2]|0,c[a>>2]=d+-1,(d+-1|0)<0):0)ct(b);return}function Ku(a){a=a|0;return a+-12|0}function Lu(a){a=a|0;c[a>>2]=12960;Ju(a+4|0);return}function Mu(a){a=a|0;Lu(a);ct(a);return}function Nu(a){a=a|0;return Iu(a+4|0)|0}function Ou(a){a=a|0;Fu(a);ct(a);return}function Pu(a){a=a|0;Fu(a);ct(a);return}function Qu(a){a=a|0;Fu(a);ct(a);return}function Ru(a){a=a|0;return}function Su(a){a=a|0;Ru(a);ct(a);return}function Tu(a){a=a|0;return 20285}function Uu(a){a=a|0;hu(a);ct(a);return}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;return pu(a,b,0)|0}function Wu(a){a=a|0;hu(a);ct(a);return}function Xu(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,q=0,r=0;if(pu(b,c[d+8>>2]|0,h)|0)su(0,d,e,f,g);else{i=d+52|0;j=a[i>>0]|0;k=d+53|0;l=a[k>>0]|0;m=c[b+12>>2]|0;n=b+16+(m<<3)|0;a[i>>0]=0;a[k>>0]=0;$u(b+16|0,d,e,f,g,h);a:do if((m|0)>1){o=d+24|0;p=b+8|0;q=d+54|0;r=b+24|0;do{if(a[q>>0]|0)break a;if(!(a[i>>0]|0)){if(a[k>>0]|0?(c[p>>2]&1|0)==0:0)break a}else{if((c[o>>2]|0)==1)break a;if(!(c[p>>2]&2))break a}a[i>>0]=0;a[k>>0]=0;$u(r,d,e,f,g,h);r=r+8|0}while(r>>>0<n>>>0)}while(0);a[i>>0]=j;a[k>>0]=l}return}function Yu(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,u=0,v=0,w=0;a:do if(!(pu(b,c[d+8>>2]|0,g)|0)){if(!(pu(b,c[d>>2]|0,g)|0)){h=c[b+12>>2]|0;i=b+16+(h<<3)|0;av(b+16|0,d,e,f,g);j=b+24|0;if((h|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(h&1)){h=d+54|0;l=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1)break a;av(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}l=d+24|0;h=d+54|0;m=j;while(1){if(a[h>>0]|0)break a;if((c[k>>2]|0)==1?(c[l>>2]|0)==1:0)break a;av(m,d,e,f,g);m=m+8|0;if(m>>>0>=i>>>0)break a}}m=d+54|0;l=j;while(1){if(a[m>>0]|0)break a;av(l,d,e,f,g);l=l+8|0;if(l>>>0>=i>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;l=d+44|0;if((c[l>>2]|0)==4)break;m=b+16+(c[b+12>>2]<<3)|0;j=d+52|0;k=d+53|0;h=d+54|0;n=b+8|0;o=d+24|0;p=0;q=0;r=b+16|0;b:while(1){if(r>>>0>=m>>>0){s=q;t=18;break}a[j>>0]=0;a[k>>0]=0;$u(r,d,e,e,1,g);if(a[h>>0]|0){s=q;t=18;break}do if(a[k>>0]|0){if(!(a[j>>0]|0))if(!(c[n>>2]&1)){s=1;t=18;break b}else{u=p;v=1;break}if((c[o>>2]|0)==1){t=23;break b}if(!(c[n>>2]&2)){t=23;break b}else{u=1;v=1}}else{u=p;v=q}while(0);p=u;q=v;r=r+8|0}do if((t|0)==18){if((!p?(c[i>>2]=e,r=d+40|0,c[r>>2]=(c[r>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[h>>0]=1;if(s){t=23;break}else{w=4;break}}if(s)t=23;else w=4}while(0);if((t|0)==23)w=3;c[l>>2]=w;break}if((f|0)==1)c[d+32>>2]=1}else ru(0,d,e,f);while(0);return}function Zu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do if(!(pu(b,c[d+8>>2]|0,0)|0)){g=c[b+12>>2]|0;h=b+16+(g<<3)|0;_u(b+16|0,d,e,f);if((g|0)>1){g=d+54|0;i=b+24|0;do{_u(i,d,e,f);if(a[g>>0]|0)break a;i=i+8|0}while(i>>>0<h>>>0)}}else qu(0,d,e,f);while(0);return}function _u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[a+4>>2]|0;g=f>>8;if(!(f&1))h=g;else h=c[(c[d>>2]|0)+g>>2]|0;g=c[a>>2]|0;vb[c[(c[g>>2]|0)+28>>2]&15](g,b,d+h|0,(f&2|0)==0?2:e);return}function $u(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+4>>2]|0;i=h>>8;if(!(h&1))j=i;else j=c[(c[e>>2]|0)+i>>2]|0;i=c[a>>2]|0;yb[c[(c[i>>2]|0)+20>>2]&15](i,b,d,e+j|0,(h&2|0)==0?2:f,g);return}function av(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;g=c[a+4>>2]|0;h=g>>8;if(!(g&1))i=h;else i=c[(c[d>>2]|0)+h>>2]|0;h=c[a>>2]|0;xb[c[(c[h>>2]|0)+24>>2]&7](h,b,d+i|0,(g&2|0)==0?2:e,f);return}function bv(a){a=a|0;c[a>>2]=13040;return}function cv(b){b=b|0;var c=0;if((a[b>>0]|0)==1)c=0;else{a[b>>0]=1;c=1}return c|0}function dv(a){a=a|0;return}function ev(){var a=0;a=c[6739]|0;c[6739]=a+0;return a|0}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=$a;$a=$a+16|0;f=e;c[f>>2]=c[d>>2];g=hb[c[(c[a>>2]|0)+16>>2]&31](a,b,f)|0;if(g)c[d>>2]=c[f>>2];$a=e;return g&1|0}function gv(a){a=a|0;var b=0;if(!a)b=0;else b=(tu(a,8200,8352,0)|0)!=0&1;return b|0}function hv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=z(d,c)|0;f=a>>>16;a=(e>>>16)+(z(d,f)|0)|0;d=b>>>16;b=z(d,c)|0;return (D((a>>>16)+(z(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=hv(e,a)|0;f=E()|0;return (D((z(b,a)|0)+(z(d,e)|0)+f|f&0|0),c|0|0)|0}function jv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (D(b+d+(e>>>0<a>>>0|0)>>>0|0),e|0)|0}function kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D(e|0),a-c>>>0|0)|0}function lv(a){a=a|0;return (a?31-(B(a^a-1)|0)|0:32)|0}function mv(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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,F=0,G=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D(n|0),o)|0}else{if(!m){n=0;o=0;return (D(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(B(l|0)|0)-(B(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (D(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D(n|0),o)|0}r=j-1|0;if(r&j|0){s=(B(j|0)|0)+33-(B(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D(n|0),o)|0}else{r=lv(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((lv(l|0)|0)>>>0);return (D(n|0),o)|0}r=(B(l|0)|0)-(B(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (D(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D(n|0),o)|0}while(0);if(!t){C=x;F=w;G=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=jv(b|0,d|0,-1,-1)|0;k=E()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;kv(e|0,k|0,g|0,a|0)|0;i=E()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=kv(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=E()|0;u=u-1|0}while((u|0)!=0);C=h;F=x;G=w;H=v;I=0;J=t}t=F;F=0;if(f|0){c[f>>2]=H;c[f+4>>2]=G}n=(t|0)>>>31|(C|F)<<1|(F<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (D(n|0),o)|0}function nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return mv(a,b,c,d,0)|0}function ov(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f|0;mv(a,b,d,e,g)|0;$a=f;return (D(c[g+4>>2]|0),c[g>>2]|0)|0}function pv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}D(0);return b>>>c-32|0}function qv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}D(a<<c-32|0);return 0}function rv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ra(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|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)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|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 f|0}function sv(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 rv(b,c,d)|0;return b|0}function tv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function uv(a){a=a|0;return 0}function vv(a){a=a|0;var b=0,d=0,e=0;b=qa()|0;d=c[i>>2]|0;e=d+a|0;if((a|0)>0&(e|0)<(d|0)|(e|0)<0){Aa(e|0)|0;Q(12);return -1}if((e|0)>(b|0))if(!(sa(e|0)|0)){Q(12);return -1}c[i>>2]=e;return d|0}function wv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +cb[a&3](b|0,c|0,d|0,e|0)}function xv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=g|0;return +db[a&7](b|0,c|0,d|0,e|0,+f,g|0)}function yv(a,b){a=a|0;b=b|0;return eb[a&127](b|0)|0}function zv(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 fb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Av(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&31](b|0,c|0)|0}function Bv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hb[a&31](b|0,c|0,d|0)|0}function Cv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ib[a&7](b|0,c|0,d|0,e|0)|0}function Dv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return jb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Ev(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return kb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Fv(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;return lb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Gv(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;return mb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Hv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return nb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Iv(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;return ob[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Jv(a){a=a|0;pb[a&7]()}function Kv(a,b){a=a|0;b=b|0;qb[a&255](b|0)}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;rb[a&63](b|0,c|0)}function Mv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;sb[a&3](b|0,c|0,+d,e|0,f|0)}function Nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;tb[a&3](b|0,c|0,d|0)}function Ov(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ub[a&3](b|0,c|0,d|0,+e)}function Pv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vb[a&15](b|0,c|0,d|0,e|0)}function Qv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;wb[a&3](b|0,c|0,d|0,e|0,+f)}function Rv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;xb[a&7](b|0,c|0,d|0,e|0,f|0)}function Sv(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;yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Tv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;C(0);return 0.0}function Uv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;C(1);return 0.0}function Vv(a){a=a|0;C(2);return 0}function Wv(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;C(3);return 0}function Xv(a,b){a=a|0;b=b|0;C(4);return 0}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;C(5);return 0}function Zv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;C(6);return 0}function _v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;C(7);return 0}function $v(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;C(8);return 0}function aw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;C(9);return 0}function bw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;C(10);return 0}function cw(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;C(11);return 0}function dw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;C(12);return 0}function ew(){C(13)}function fw(){I()}function gw(a){a=a|0;C(14)}function hw(a,b){a=a|0;b=b|0;C(15)}function iw(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;C(16)}function jw(a,b,c){a=a|0;b=b|0;c=c|0;C(17)}function kw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;C(18)}function lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;C(19)}function mw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;C(20)}function nw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;C(21)}function ow(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;C(22)}
function Zl(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,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;i=$a;$a=$a+304|0;j=i+300|0;k=i+288|0;l=i+276|0;m=i+272|0;n=i;o=i+268|0;p=i+264|0;q=il(f)|0;r=Sl(b,f,i+160|0)|0;Tl(k,f,j);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;f=0;while(1){if((f|0)==3)break;c[l+(f<<2)>>2]=0;f=f+1|0}f=l+11|0;b=l+8|0;if((a[f>>0]|0)<0)s=(c[b>>2]&2147483647)+-1|0;else s=10;xt(l,s,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s;c[o>>2]=n;c[p>>2]=0;t=l+4|0;u=c[d>>2]|0;v=u;w=u;u=s;a:while(1){if(v){s=c[v+12>>2]|0;if((s|0)==(c[v+16>>2]|0))x=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=Si(c[s>>2]|0)|0;if(sj(x,Ri()|0)|0){c[d>>2]=0;y=0;z=0;A=1}else{y=v;z=w;A=0}}else{y=0;z=0;A=1}s=c[e>>2]|0;do if(s){B=c[s+12>>2]|0;if((B|0)==(c[s+16>>2]|0))C=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else C=Si(c[B>>2]|0)|0;if(!(sj(C,Ri()|0)|0))if(A){D=s;break}else{E=s;F=u;break a}else{c[e>>2]=0;G=19;break}}else G=19;while(0);if((G|0)==19){G=0;if(A){E=0;F=u;break}else D=0}s=a[f>>0]|0;B=s<<24>>24<0?c[t>>2]|0:s&255;if((c[m>>2]|0)==(u+B|0)){xt(l,B<<1,0);if((a[f>>0]|0)<0)H=(c[b>>2]&2147483647)+-1|0;else H=10;xt(l,H,0);s=(a[f>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=s+B;I=s}else I=u;s=y+12|0;B=c[s>>2]|0;J=y+16|0;if((B|0)==(c[J>>2]|0))K=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else K=Si(c[B>>2]|0)|0;if(Ll(K,q,I,m,p,c[j>>2]|0,k,n,o,r)|0){E=D;F=I;break}B=c[s>>2]|0;if((B|0)==(c[J>>2]|0))eb[c[(c[y>>2]|0)+40>>2]&127](y)|0;else{c[s>>2]=B+4;Si(c[B>>2]|0)|0}v=y;w=z;u=I}I=a[k+11>>0]|0;if((I<<24>>24<0?c[k+4>>2]|0:I&255)|0?(I=c[o>>2]|0,(I-n|0)<160):0){u=c[p>>2]|0;c[o>>2]=I+4;c[I>>2]=u}c[h>>2]=wl(F,c[m>>2]|0,g,q)|0;cl(k,n,c[o>>2]|0,g);if(y){o=c[y+12>>2]|0;if((o|0)==(c[y+16>>2]|0))L=eb[c[(c[z>>2]|0)+36>>2]&127](y)|0;else L=Si(c[o>>2]|0)|0;if(sj(L,Ri()|0)|0){c[d>>2]=0;M=1}else M=0}else M=1;do if(E){L=c[E+12>>2]|0;if((L|0)==(c[E+16>>2]|0))N=eb[c[(c[E>>2]|0)+36>>2]&127](E)|0;else N=Si(c[L>>2]|0)|0;if(!(sj(N,Ri()|0)|0))if(M)break;else{G=50;break}else{c[e>>2]=0;G=48;break}}else G=48;while(0);if((G|0)==48?M:0)G=50;if((G|0)==50)c[g>>2]=c[g>>2]|2;g=c[d>>2]|0;qt(l);qt(k);$a=i;return g|0}function _l(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,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;j=$a;$a=$a+112|0;k=j;l=(f-e|0)/12|0;if(l>>>0>100){m=Th(l)|0;if(!m)$s();else{n=m;o=m}}else{n=0;o=k}k=e;m=0;p=l;l=o;while(1){if((k|0)==(f|0))break;q=a[k+8+3>>0]|0;if(q<<24>>24<0)r=c[k+4>>2]|0;else r=q&255;if(!r){a[l>>0]=2;s=m+1|0;t=p+-1|0}else{a[l>>0]=1;s=m;t=p}k=k+12|0;m=s;p=t;l=l+1|0}l=0;t=m;m=p;while(1){p=c[b>>2]|0;do if(p){s=c[p+12>>2]|0;if((s|0)==(c[p+16>>2]|0))u=eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else u=Si(c[s>>2]|0)|0;if(sj(u,Ri()|0)|0){c[b>>2]=0;v=1;break}else{v=(c[b>>2]|0)==0;break}}else v=1;while(0);p=c[d>>2]|0;if(p){s=c[p+12>>2]|0;if((s|0)==(c[p+16>>2]|0))w=eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else w=Si(c[s>>2]|0)|0;if(sj(w,Ri()|0)|0){c[d>>2]=0;x=1;y=0}else{x=0;y=p}}else{x=1;y=0}z=c[b>>2]|0;if(!((m|0)!=0&(v^x)))break;p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))A=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else A=Si(c[p>>2]|0)|0;if(i)B=A;else B=gb[c[(c[g>>2]|0)+28>>2]&31](g,A)|0;p=l+1|0;s=0;k=e;r=t;q=m;C=o;while(1){if((k|0)==(f|0))break;do if((a[C>>0]|0)==1){D=k+8+3|0;if((a[D>>0]|0)<0)E=c[k>>2]|0;else E=k;F=c[E+(l<<2)>>2]|0;if(i)G=F;else G=gb[c[(c[g>>2]|0)+28>>2]&31](g,F)|0;if((B|0)!=(G|0)){a[C>>0]=0;H=s;I=r;J=q+-1|0;break}F=a[D>>0]|0;if(F<<24>>24<0)K=c[k+4>>2]|0;else K=F&255;if((K|0)==(p|0)){a[C>>0]=2;H=1;I=r+1|0;J=q+-1|0}else{H=1;I=r;J=q}}else{H=s;I=r;J=q}while(0);s=H;k=k+12|0;r=I;q=J;C=C+1|0}a:do if(s){C=c[b>>2]|0;k=C+12|0;F=c[k>>2]|0;if((F|0)==(c[C+16>>2]|0))eb[c[(c[C>>2]|0)+40>>2]&127](C)|0;else{c[k>>2]=F+4;Si(c[F>>2]|0)|0}if((r+q|0)>>>0>1){F=e;k=r;C=o;while(1){if((F|0)==(f|0)){L=k;break a}if((a[C>>0]|0)==2){D=a[F+8+3>>0]|0;if(D<<24>>24<0)M=c[F+4>>2]|0;else M=D&255;if((M|0)!=(p|0)){a[C>>0]=0;N=k+-1|0}else N=k}else N=k;F=F+12|0;k=N;C=C+1|0}}else L=r}else L=r;while(0);l=p;t=L;m=q}do if(z){m=c[z+12>>2]|0;if((m|0)==(c[z+16>>2]|0))O=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else O=Si(c[m>>2]|0)|0;if(sj(O,Ri()|0)|0){c[b>>2]=0;P=1;break}else{P=(c[b>>2]|0)==0;break}}else P=1;while(0);do if(y){b=c[y+12>>2]|0;if((b|0)==(c[y+16>>2]|0))Q=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else Q=Si(c[b>>2]|0)|0;if(!(sj(Q,Ri()|0)|0))if(P)break;else{R=79;break}else{c[d>>2]=0;R=41;break}}else R=41;while(0);if((R|0)==41?P:0)R=79;if((R|0)==79)c[h>>2]=c[h>>2]|2;P=e;e=o;while(1){if((P|0)==(f|0)){R=84;break}if((a[e>>0]|0)==2){S=P;break}P=P+12|0;e=e+1|0}if((R|0)==84){c[h>>2]=c[h>>2]|4;S=f}Uh(n);$a=j;return S|0}function $l(a){a=a|0;uk(a);return}function am(a){a=a|0;uk(a);ct(a);return}function bm(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;h=$a;$a=$a+16|0;i=h+4|0;j=h;if(!(c[e+4>>2]&1)){k=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];l=kb[k&31](b,i,e,f,g&1)|0}else{rj(i,e);e=Pk(i,26536)|0;Qk(i);f=c[e>>2]|0;if(g)rb[c[f+24>>2]&63](i,e);else rb[c[f+28>>2]&63](i,e);e=i+11|0;f=a[e>>0]|0;g=c[i>>2]|0;b=i+4|0;k=f;j=g;m=f<<24>>24<0?g:i;while(1){g=k<<24>>24<0;if((m|0)==((g?j:i)+(g?c[b>>2]|0:k&255)|0))break;g=a[m>>0]|0;f=c[d>>2]|0;if(f|0){n=f+24|0;o=c[n>>2]|0;if((o|0)==(c[f+28>>2]|0)){p=c[(c[f>>2]|0)+52>>2]|0;q=Ai(g)|0;r=gb[p&31](f,q)|0}else{c[n>>2]=o+1;a[o>>0]=g;r=Ai(g)|0}if(qj(r,zi()|0)|0)c[d>>2]=0}k=a[e>>0]|0;j=c[i>>2]|0;m=m+1|0}m=c[d>>2]|0;qt(i);l=m}$a=h;return l|0}function cm(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;b=$a;$a=$a+32|0;h=b;i=b+16|0;j=b+12|0;k=b+4|0;l=b+8|0;a[i>>0]=a[17736]|0;a[i+1>>0]=a[17737]|0;a[i+2>>0]=a[17738]|0;a[i+3>>0]=a[17739]|0;a[i+4>>0]=a[17740]|0;a[i+5>>0]=a[17741]|0;m=e+4|0;om(i+1|0,17742,1,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n+13|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;c[h>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,e)|0;q=$a;$a=$a+((1*((n<<1|24)+-1|0)|0)+15&-16)|0;rj(h,e);pm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[d>>2];d=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Ib(h,q,d,j,e,f)|0;ua(o|0);$a=b;return l|0}function dm(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=$a;$a=$a+32|0;h=a+8|0;i=a;j=a+24|0;k=a+16|0;l=a+20|0;m=i;c[m>>2]=37;c[m+4>>2]=0;m=d+4|0;om(i+1|0,17733,1,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n+23|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,d)|0;q=$a;$a=$a+((1*((n<<1|44)+-1|0)|0)+15&-16)|0;rj(h,d);pm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[b>>2];b=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Ib(h,q,b,j,d,e)|0;ua(o|0);$a=a;return l|0}function em(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;b=$a;$a=$a+32|0;h=b;i=b+16|0;j=b+12|0;k=b+4|0;l=b+8|0;a[i>>0]=a[17736]|0;a[i+1>>0]=a[17737]|0;a[i+2>>0]=a[17738]|0;a[i+3>>0]=a[17739]|0;a[i+4>>0]=a[17740]|0;a[i+5>>0]=a[17741]|0;m=e+4|0;om(i+1|0,17742,0,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n|12;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;c[h>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,e)|0;q=$a;$a=$a+((1*(n<<1|21)|0)+15&-16)|0;rj(h,e);pm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[d>>2];d=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Ib(h,q,d,j,e,f)|0;ua(o|0);$a=b;return l|0}function fm(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=$a;$a=$a+32|0;h=a+8|0;i=a;j=a+24|0;k=a+16|0;l=a+20|0;m=i;c[m>>2]=37;c[m+4>>2]=0;m=d+4|0;om(i+1|0,17733,0,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1|22;m=n+1|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,d)|0;q=$a;$a=$a+((1*((n<<1)+-1|0)|0)+15&-16)|0;rj(h,d);pm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[b>>2];b=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Ib(h,q,b,j,d,e)|0;ua(o|0);$a=a;return l|0}function gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;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;a=$a;$a=$a+176|0;h=a+168|0;i=a+144|0;j=a+128|0;k=a+120|0;l=a+104|0;m=a+96|0;n=a+64|0;o=a+164|0;p=a;q=a+160|0;r=a+156|0;s=a+152|0;t=m;c[t>>2]=37;c[t+4>>2]=0;t=lm(m+1|0,26968,c[d+4>>2]|0)|0;c[o>>2]=n;u=Sk()|0;if(t){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;v=jm(n,30,u,m,l)|0}else{g[k>>3]=f;v=jm(n,30,u,m,k)|0}if((v|0)>29){k=Sk()|0;if(t){c[j>>2]=c[d+8>>2];g[j+8>>3]=f;w=mm(o,k,m,j)|0}else{g[i>>3]=f;w=mm(o,k,m,i)|0}i=c[o>>2]|0;if(!i)$s();else{x=i;y=i;z=w}}else{x=c[o>>2]|0;y=0;z=v}v=x+z|0;o=km(x,v,d)|0;if((x|0)!=(n|0)){n=Th(z<<1)|0;if(!n)$s();else{A=n;B=n}}else{A=p;B=0}rj(h,d);nm(x,o,v,A,q,r,h);Qk(h);c[s>>2]=c[b>>2];b=c[q>>2]|0;q=c[r>>2]|0;c[h>>2]=c[s>>2];s=Ib(h,A,b,q,d,e)|0;Uh(B);Uh(y);$a=a;return s|0}function hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;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;a=$a;$a=$a+176|0;h=a+168|0;i=a+144|0;j=a+128|0;k=a+120|0;l=a+104|0;m=a+96|0;n=a+64|0;o=a+164|0;p=a;q=a+160|0;r=a+156|0;s=a+152|0;t=m;c[t>>2]=37;c[t+4>>2]=0;t=lm(m+1|0,17731,c[d+4>>2]|0)|0;c[o>>2]=n;u=Sk()|0;if(t){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;v=jm(n,30,u,m,l)|0}else{g[k>>3]=f;v=jm(n,30,u,m,k)|0}if((v|0)>29){k=Sk()|0;if(t){c[j>>2]=c[d+8>>2];g[j+8>>3]=f;w=mm(o,k,m,j)|0}else{g[i>>3]=f;w=mm(o,k,m,i)|0}i=c[o>>2]|0;if(!i)$s();else{x=i;y=i;z=w}}else{x=c[o>>2]|0;y=0;z=v}v=x+z|0;o=km(x,v,d)|0;if((x|0)!=(n|0)){n=Th(z<<1)|0;if(!n)$s();else{A=n;B=n}}else{A=p;B=0}rj(h,d);nm(x,o,v,A,q,r,h);Qk(h);c[s>>2]=c[b>>2];b=c[q>>2]|0;q=c[r>>2]|0;c[h>>2]=c[s>>2];s=Ib(h,A,b,q,d,e)|0;Uh(B);Uh(y);$a=a;return s|0}function im(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;b=$a;$a=$a+96|0;h=b+72|0;i=b+80|0;j=b+48|0;k=b;l=b+76|0;a[i>>0]=a[17725]|0;a[i+1>>0]=a[17726]|0;a[i+2>>0]=a[17727]|0;a[i+3>>0]=a[17728]|0;a[i+4>>0]=a[17729]|0;a[i+5>>0]=a[17730]|0;m=Sk()|0;c[h>>2]=g;g=jm(j,20,m,i,h)|0;i=j+g|0;m=km(j,i,e)|0;rj(h,e);n=Pk(h,26520)|0;Qk(h);ib[c[(c[n>>2]|0)+32>>2]&7](n,j,i,k)|0;n=k+g|0;c[l>>2]=c[d>>2];c[h>>2]=c[l>>2];l=Ib(h,k,(m|0)==(i|0)?n:k+(m-j)|0,n,e,f)|0;$a=b;return l|0}function jm(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;g=$a;$a=$a+16|0;h=g;c[h>>2]=f;f=Vg(d)|0;d=Qf(a,b,e,h)|0;if(f|0)Vg(f)|0;$a=g;return d|0}function km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=b+1|0;break a;break}default:{}}if((d-b|0)>1&f<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{h=7;break a}}g=b+2|0}else h=7;break}case 32:{g=d;break}default:h=7}while(0);if((h|0)==7)g=b;return g|0}function lm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!(d&2048))e=b;else{a[b>>0]=43;e=b+1|0}if(!(d&1024))f=e;else{a[e>>0]=35;f=e+1|0}e=d&260;b=d&16384;d=(e|0)==260;if(d){g=f;h=0}else{a[f>>0]=46;a[f+1>>0]=42;g=f+2|0;h=1}f=g;g=c;while(1){c=a[g>>0]|0;if(!(c<<24>>24))break;a[f>>0]=c;f=f+1|0;g=g+1|0}a:do switch(e&511){case 4:{i=b>>>9&255^102;break}case 256:{i=b>>>9&255^101;break}default:{g=b>>>9&255;if(d){i=g^97;break a}else{i=g^103;break a}}}while(0);a[f>>0]=i;return h|0}function mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$a;$a=$a+16|0;g=f;c[g>>2]=e;e=Vg(b)|0;b=Eh(a,d,g)|0;if(e|0)Vg(e)|0;$a=f;return b|0}function nm(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,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;j=$a;$a=$a+16|0;k=j;l=Pk(i,26520)|0;m=Pk(i,26536)|0;rb[c[(c[m>>2]|0)+20>>2]&63](k,m);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{n=gb[c[(c[l>>2]|0)+28>>2]&31](l,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=n;o=b+1|0;break}default:o=b}n=e;a:do if((n-o|0)>1?(a[o>>0]|0)==48:0){i=o+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{p=4;break a}}q=gb[c[(c[l>>2]|0)+28>>2]&31](l,48)|0;r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=q;q=o+2|0;r=gb[c[(c[l>>2]|0)+28>>2]&31](l,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=r;r=q;while(1){if(r>>>0>=e>>>0){s=q;t=r;break a}i=a[r>>0]|0;if(!(Rg(i,Sk()|0)|0)){s=q;t=r;break a}r=r+1|0}}else p=4;while(0);b:do if((p|0)==4){r=o;while(1){if(r>>>0>=e>>>0){s=o;t=r;break b}q=a[r>>0]|0;if(!(Qg(q,Sk()|0)|0)){s=o;t=r;break b}r=r+1|0}}while(0);o=k+11|0;r=a[o>>0]|0;q=k+4|0;c:do if((r<<24>>24<0?c[q>>2]|0:r&255)|0){d:do if((s|0)!=(t|0)){i=s;u=t;while(1){v=u+-1|0;if(i>>>0>=v>>>0)break d;w=a[i>>0]|0;a[i>>0]=a[v>>0]|0;a[v>>0]=w;i=i+1|0;u=v}}while(0);u=eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;i=0;v=0;w=s;while(1){if(w>>>0>=t>>>0)break;x=a[((a[o>>0]|0)<0?c[k>>2]|0:k)+v>>0]|0;if(x<<24>>24>0&(i|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=u;x=a[o>>0]|0;y=0;z=v+(v>>>0<((x<<24>>24<0?c[q>>2]|0:x&255)+-1|0)>>>0&1)|0}else{y=i;z=v}x=gb[c[(c[l>>2]|0)+28>>2]&31](l,a[w>>0]|0)|0;A=c[h>>2]|0;c[h>>2]=A+1;a[A>>0]=x;i=y+1|0;v=z;w=w+1|0}w=f+(s-b)|0;v=c[h>>2]|0;if((w|0)==(v|0))B=l;else{i=w;w=v;while(1){v=w+-1|0;if(i>>>0>=v>>>0){B=l;break c}u=a[i>>0]|0;a[i>>0]=a[v>>0]|0;a[v>>0]=u;i=i+1|0;w=v}}}else{ib[c[(c[l>>2]|0)+32>>2]&7](l,s,t,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(t-s);B=l}while(0);s=t;while(1){if(s>>>0>=e>>>0){C=s;break}t=a[s>>0]|0;if(t<<24>>24==46){p=32;break}z=gb[c[(c[B>>2]|0)+28>>2]&31](l,t)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t>>0]=z;s=s+1|0}if((p|0)==32){p=eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=p;C=s+1|0}ib[c[(c[l>>2]|0)+32>>2]&7](l,C,e,c[h>>2]|0)|0;l=(c[h>>2]|0)+(n-C)|0;c[h>>2]=l;c[g>>2]=(d|0)==(e|0)?l:f+(d-b)|0;qt(k);$a=j;return}function om(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(e&2048))f=b;else{a[b>>0]=43;f=b+1|0}if(!(e&512))g=f;else{a[f>>0]=35;g=f+1|0}f=g;g=c;while(1){c=a[g>>0]|0;if(!(c<<24>>24))break;a[f>>0]=c;f=f+1|0;g=g+1|0}switch(e&74){case 64:{h=111;break}case 8:{h=e>>>9&32^120;break}default:h=d?100:117}a[f>>0]=h;return}function pm(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=$a;$a=$a+16|0;k=j;l=Pk(i,26520)|0;m=Pk(i,26536)|0;rb[c[(c[m>>2]|0)+20>>2]&63](k,m);i=k+11|0;n=a[i>>0]|0;o=k+4|0;if((n<<24>>24<0?c[o>>2]|0:n&255)|0){c[h>>2]=f;n=a[b>>0]|0;switch(n<<24>>24){case 43:case 45:{p=gb[c[(c[l>>2]|0)+28>>2]&31](l,n)|0;n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=p;q=b+1|0;break}default:q=b}a:do if((e-q|0)>1?(a[q>>0]|0)==48:0){p=q+1|0;switch(a[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}n=gb[c[(c[l>>2]|0)+28>>2]&31](l,48)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=n;n=gb[c[(c[l>>2]|0)+28>>2]&31](l,a[p>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=n;r=q+2|0}else r=q;while(0);b:do if((r|0)!=(e|0)){q=r;n=e;while(1){p=n+-1|0;if(q>>>0>=p>>>0)break b;s=a[q>>0]|0;a[q>>0]=a[p>>0]|0;a[p>>0]=s;q=q+1|0;n=p}}while(0);n=eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;m=0;q=0;p=r;while(1){if(p>>>0>=e>>>0)break;s=a[((a[i>>0]|0)<0?c[k>>2]|0:k)+q>>0]|0;if(s<<24>>24!=0&(m|0)==(s<<24>>24|0)){s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=n;s=a[i>>0]|0;t=0;u=q+(q>>>0<((s<<24>>24<0?c[o>>2]|0:s&255)+-1|0)>>>0&1)|0}else{t=m;u=q}s=gb[c[(c[l>>2]|0)+28>>2]&31](l,a[p>>0]|0)|0;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=s;m=t+1|0;q=u;p=p+1|0}p=b;u=f+(r-p)|0;r=c[h>>2]|0;if((u|0)==(r|0)){w=u;x=p}else{q=u;u=r;while(1){r=u+-1|0;if(q>>>0>=r>>>0)break;t=a[q>>0]|0;a[q>>0]=a[r>>0]|0;a[r>>0]=t;q=q+1|0;u=r}w=c[h>>2]|0;x=p}}else{ib[c[(c[l>>2]|0)+32>>2]&7](l,b,e,f)|0;l=b;b=f+(e-l)|0;c[h>>2]=b;w=b;x=l}c[g>>2]=(d|0)==(e|0)?w:f+(d-x)|0;qt(k);$a=j;return}function qm(a){a=a|0;uk(a);return}function rm(a){a=a|0;uk(a);ct(a);return}function sm(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;h=$a;$a=$a+16|0;i=h+4|0;j=h;if(!(c[e+4>>2]&1)){k=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];l=kb[k&31](b,i,e,f,g&1)|0}else{rj(i,e);e=Pk(i,26560)|0;Qk(i);f=c[e>>2]|0;if(g)rb[c[f+24>>2]&63](i,e);else rb[c[f+28>>2]&63](i,e);e=i+8+3|0;f=a[e>>0]|0;g=c[i>>2]|0;b=i+4|0;k=g;j=f;m=f<<24>>24<0?g:i;while(1){g=j<<24>>24<0;if((m|0)==((g?k:i)+((g?c[b>>2]|0:j&255)<<2)|0))break;g=c[m>>2]|0;f=c[d>>2]|0;if(f|0){n=f+24|0;o=c[n>>2]|0;if((o|0)==(c[f+28>>2]|0)){p=c[(c[f>>2]|0)+52>>2]|0;q=Si(g)|0;r=gb[p&31](f,q)|0}else{c[n>>2]=o+4;c[o>>2]=g;r=Si(g)|0}if(sj(r,Ri()|0)|0)c[d>>2]=0}k=c[i>>2]|0;j=a[e>>0]|0;m=m+4|0}m=c[d>>2]|0;Jt(i);l=m}$a=h;return l|0}function tm(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;b=$a;$a=$a+32|0;h=b;i=b+16|0;j=b+12|0;k=b+4|0;l=b+8|0;a[i>>0]=a[17736]|0;a[i+1>>0]=a[17737]|0;a[i+2>>0]=a[17738]|0;a[i+3>>0]=a[17739]|0;a[i+4>>0]=a[17740]|0;a[i+5>>0]=a[17741]|0;m=e+4|0;om(i+1|0,17742,1,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n+13|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;c[h>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,e)|0;q=$a;$a=$a+((1*((n<<1|24)+-1<<2)|0)+15&-16)|0;rj(h,e);Cm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[d>>2];d=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Am(h,q,d,j,e,f)|0;ua(o|0);$a=b;return l|0}function um(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=$a;$a=$a+32|0;h=a+8|0;i=a;j=a+24|0;k=a+16|0;l=a+20|0;m=i;c[m>>2]=37;c[m+4>>2]=0;m=d+4|0;om(i+1|0,17733,1,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n+23|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,d)|0;q=$a;$a=$a+((1*((n<<1|44)+-1<<2)|0)+15&-16)|0;rj(h,d);Cm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[b>>2];b=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Am(h,q,b,j,d,e)|0;ua(o|0);$a=a;return l|0}function vm(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;b=$a;$a=$a+32|0;h=b;i=b+16|0;j=b+12|0;k=b+4|0;l=b+8|0;a[i>>0]=a[17736]|0;a[i+1>>0]=a[17737]|0;a[i+2>>0]=a[17738]|0;a[i+3>>0]=a[17739]|0;a[i+4>>0]=a[17740]|0;a[i+5>>0]=a[17741]|0;m=e+4|0;om(i+1|0,17742,0,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1;m=n|12;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;c[h>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,e)|0;q=$a;$a=$a+((1*((n<<1|21)<<2)|0)+15&-16)|0;rj(h,e);Cm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[d>>2];d=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Am(h,q,d,j,e,f)|0;ua(o|0);$a=b;return l|0}function wm(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=$a;$a=$a+32|0;h=a+8|0;i=a;j=a+24|0;k=a+16|0;l=a+20|0;m=i;c[m>>2]=37;c[m+4>>2]=0;m=d+4|0;om(i+1|0,17733,0,c[m>>2]|0);n=(c[m>>2]|0)>>>9&1|22;m=n+1|0;o=va()|0;p=$a;$a=$a+((1*m|0)+15&-16)|0;q=Sk()|0;r=h;c[r>>2]=f;c[r+4>>2]=g;g=p+(jm(p,m,q,i,h)|0)|0;i=km(p,g,d)|0;q=$a;$a=$a+((1*((n<<1)+-1<<2)|0)+15&-16)|0;rj(h,d);Cm(p,i,g,q,j,k,h);Qk(h);c[l>>2]=c[b>>2];b=c[j>>2]|0;j=c[k>>2]|0;c[h>>2]=c[l>>2];l=Am(h,q,b,j,d,e)|0;ua(o|0);$a=a;return l|0}function xm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;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;a=$a;$a=$a+352|0;h=a+344|0;i=a+320|0;j=a+304|0;k=a+296|0;l=a+280|0;m=a+272|0;n=a+240|0;o=a+340|0;p=a;q=a+336|0;r=a+332|0;s=a+328|0;t=m;c[t>>2]=37;c[t+4>>2]=0;t=lm(m+1|0,26968,c[d+4>>2]|0)|0;c[o>>2]=n;u=Sk()|0;if(t){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;v=jm(n,30,u,m,l)|0}else{g[k>>3]=f;v=jm(n,30,u,m,k)|0}if((v|0)>29){k=Sk()|0;if(t){c[j>>2]=c[d+8>>2];g[j+8>>3]=f;w=mm(o,k,m,j)|0}else{g[i>>3]=f;w=mm(o,k,m,i)|0}i=c[o>>2]|0;if(!i)$s();else{x=i;y=i;z=w}}else{x=c[o>>2]|0;y=0;z=v}v=x+z|0;o=km(x,v,d)|0;do if((x|0)!=(n|0)){w=Th(z<<3)|0;if(!w)$s();else{A=w;B=w;C=0;break}}else{A=0;B=p;C=1}while(0);rj(h,d);Bm(x,o,v,B,q,r,h);Qk(h);c[s>>2]=c[b>>2];v=c[q>>2]|0;q=c[r>>2]|0;c[h>>2]=c[s>>2];s=Am(h,B,v,q,d,e)|0;c[b>>2]=s;if(!C)Uh(A);Uh(y);$a=a;return s|0}function ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;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;a=$a;$a=$a+352|0;h=a+344|0;i=a+320|0;j=a+304|0;k=a+296|0;l=a+280|0;m=a+272|0;n=a+240|0;o=a+340|0;p=a;q=a+336|0;r=a+332|0;s=a+328|0;t=m;c[t>>2]=37;c[t+4>>2]=0;t=lm(m+1|0,17731,c[d+4>>2]|0)|0;c[o>>2]=n;u=Sk()|0;if(t){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;v=jm(n,30,u,m,l)|0}else{g[k>>3]=f;v=jm(n,30,u,m,k)|0}if((v|0)>29){k=Sk()|0;if(t){c[j>>2]=c[d+8>>2];g[j+8>>3]=f;w=mm(o,k,m,j)|0}else{g[i>>3]=f;w=mm(o,k,m,i)|0}i=c[o>>2]|0;if(!i)$s();else{x=i;y=i;z=w}}else{x=c[o>>2]|0;y=0;z=v}v=x+z|0;o=km(x,v,d)|0;do if((x|0)!=(n|0)){w=Th(z<<3)|0;if(!w)$s();else{A=w;B=w;C=0;break}}else{A=0;B=p;C=1}while(0);rj(h,d);Bm(x,o,v,B,q,r,h);Qk(h);c[s>>2]=c[b>>2];v=c[q>>2]|0;q=c[r>>2]|0;c[h>>2]=c[s>>2];s=Am(h,B,v,q,d,e)|0;c[b>>2]=s;if(!C)Uh(A);Uh(y);$a=a;return s|0}function zm(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;b=$a;$a=$a+208|0;h=b+184|0;i=b+192|0;j=b+160|0;k=b;l=b+188|0;a[i>>0]=a[17725]|0;a[i+1>>0]=a[17726]|0;a[i+2>>0]=a[17727]|0;a[i+3>>0]=a[17728]|0;a[i+4>>0]=a[17729]|0;a[i+5>>0]=a[17730]|0;m=Sk()|0;c[h>>2]=g;g=jm(j,20,m,i,h)|0;i=j+g|0;m=km(j,i,e)|0;rj(h,e);n=Pk(h,26552)|0;Qk(h);ib[c[(c[n>>2]|0)+48>>2]&7](n,j,i,k)|0;n=k+(g<<2)|0;c[l>>2]=c[d>>2];c[h>>2]=c[l>>2];l=Am(h,k,(m|0)==(i|0)?n:k+(m-j<<2)|0,n,e,f)|0;$a=b;return l|0}function Am(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,q=0,r=0;i=$a;$a=$a+16|0;j=i;k=c[b>>2]|0;a:do if(!k)l=0;else{m=f;n=d;o=m-n>>2;p=g+12|0;q=c[p>>2]|0;r=(q|0)>(o|0)?q-o|0:0;o=e;q=o-n|0;n=q>>2;if((q|0)>0?(hb[c[(c[k>>2]|0)+48>>2]&31](k,d,n)|0)!=(n|0):0){c[b>>2]=0;l=0;break}do if((r|0)>0){c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;Ht(j,r,h);if((hb[c[(c[k>>2]|0)+48>>2]&31](k,(a[j+8+3>>0]|0)<0?c[j>>2]|0:j,r)|0)==(r|0)){Jt(j);break}else{c[b>>2]=0;Jt(j);l=0;break a}}while(0);r=m-o|0;n=r>>2;if((r|0)>0?(hb[c[(c[k>>2]|0)+48>>2]&31](k,e,n)|0)!=(n|0):0){c[b>>2]=0;l=0;break}c[p>>2]=0;l=k}while(0);$a=i;return l|0}function Bm(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,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;j=$a;$a=$a+16|0;k=j;l=Pk(i,26552)|0;m=Pk(i,26560)|0;rb[c[(c[m>>2]|0)+20>>2]&63](k,m);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{n=gb[c[(c[l>>2]|0)+44>>2]&31](l,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=n;o=b+1|0;break}default:o=b}n=e;a:do if((n-o|0)>1?(a[o>>0]|0)==48:0){i=o+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{p=4;break a}}q=gb[c[(c[l>>2]|0)+44>>2]&31](l,48)|0;r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=q;q=o+2|0;r=gb[c[(c[l>>2]|0)+44>>2]&31](l,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;r=q;while(1){if(r>>>0>=e>>>0){s=q;t=r;break a}i=a[r>>0]|0;if(!(Rg(i,Sk()|0)|0)){s=q;t=r;break a}r=r+1|0}}else p=4;while(0);b:do if((p|0)==4){r=o;while(1){if(r>>>0>=e>>>0){s=o;t=r;break b}q=a[r>>0]|0;if(!(Qg(q,Sk()|0)|0)){s=o;t=r;break b}r=r+1|0}}while(0);o=k+11|0;r=a[o>>0]|0;q=k+4|0;c:do if((r<<24>>24<0?c[q>>2]|0:r&255)|0){d:do if((s|0)!=(t|0)){i=s;u=t;while(1){v=u+-1|0;if(i>>>0>=v>>>0)break d;w=a[i>>0]|0;a[i>>0]=a[v>>0]|0;a[v>>0]=w;i=i+1|0;u=v}}while(0);u=eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;i=0;v=0;w=s;while(1){if(w>>>0>=t>>>0)break;x=a[((a[o>>0]|0)<0?c[k>>2]|0:k)+v>>0]|0;if(x<<24>>24>0&(i|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=u;x=a[o>>0]|0;y=0;z=v+(v>>>0<((x<<24>>24<0?c[q>>2]|0:x&255)+-1|0)>>>0&1)|0}else{y=i;z=v}x=gb[c[(c[l>>2]|0)+44>>2]&31](l,a[w>>0]|0)|0;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=x;i=y+1|0;v=z;w=w+1|0}w=f+(s-b<<2)|0;v=c[h>>2]|0;if((w|0)==(v|0)){B=l;C=w}else{i=w;w=v;while(1){u=w+-4|0;if(i>>>0>=u>>>0){B=l;C=v;break c}x=c[i>>2]|0;c[i>>2]=c[u>>2];c[u>>2]=x;i=i+4|0;w=u}}}else{ib[c[(c[l>>2]|0)+48>>2]&7](l,s,t,c[h>>2]|0)|0;w=(c[h>>2]|0)+(t-s<<2)|0;c[h>>2]=w;B=l;C=w}while(0);s=C;C=t;while(1){if(C>>>0>=e>>>0){D=s;E=C;break}t=a[C>>0]|0;if(t<<24>>24==46){p=32;break}z=gb[c[(c[B>>2]|0)+44>>2]&31](l,t)|0;t=c[h>>2]|0;y=t+4|0;c[h>>2]=y;c[t>>2]=z;s=y;C=C+1|0}if((p|0)==32){p=eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;m=c[h>>2]|0;s=m+4|0;c[h>>2]=s;c[m>>2]=p;D=s;E=C+1|0}ib[c[(c[l>>2]|0)+48>>2]&7](l,E,e,D)|0;D=(c[h>>2]|0)+(n-E<<2)|0;c[h>>2]=D;c[g>>2]=(d|0)==(e|0)?D:f+(d-b<<2)|0;qt(k);$a=j;return}function Cm(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=$a;$a=$a+16|0;k=j;l=Pk(i,26552)|0;m=Pk(i,26560)|0;rb[c[(c[m>>2]|0)+20>>2]&63](k,m);i=k+11|0;n=a[i>>0]|0;o=k+4|0;if((n<<24>>24<0?c[o>>2]|0:n&255)|0){c[h>>2]=f;n=a[b>>0]|0;switch(n<<24>>24){case 43:case 45:{p=gb[c[(c[l>>2]|0)+44>>2]&31](l,n)|0;n=c[h>>2]|0;c[h>>2]=n+4;c[n>>2]=p;q=b+1|0;break}default:q=b}a:do if((e-q|0)>1?(a[q>>0]|0)==48:0){p=q+1|0;switch(a[p>>0]|0){case 88:case 120:break;default:{r=q;break a}}n=gb[c[(c[l>>2]|0)+44>>2]&31](l,48)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=n;n=gb[c[(c[l>>2]|0)+44>>2]&31](l,a[p>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=n;r=q+2|0}else r=q;while(0);b:do if((r|0)!=(e|0)){q=r;n=e;while(1){p=n+-1|0;if(q>>>0>=p>>>0)break b;s=a[q>>0]|0;a[q>>0]=a[p>>0]|0;a[p>>0]=s;q=q+1|0;n=p}}while(0);n=eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;m=0;q=0;p=r;while(1){if(p>>>0>=e>>>0)break;s=a[((a[i>>0]|0)<0?c[k>>2]|0:k)+q>>0]|0;if(s<<24>>24!=0&(m|0)==(s<<24>>24|0)){s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=n;s=a[i>>0]|0;t=0;u=q+(q>>>0<((s<<24>>24<0?c[o>>2]|0:s&255)+-1|0)>>>0&1)|0}else{t=m;u=q}s=gb[c[(c[l>>2]|0)+44>>2]&31](l,a[p>>0]|0)|0;v=c[h>>2]|0;c[h>>2]=v+4;c[v>>2]=s;m=t+1|0;q=u;p=p+1|0}p=b;u=f+(r-p<<2)|0;r=c[h>>2]|0;if((u|0)==(r|0)){w=u;x=p}else{q=u;u=r;while(1){r=u+-4|0;if(q>>>0>=r>>>0)break;t=c[q>>2]|0;c[q>>2]=c[r>>2];c[r>>2]=t;q=q+4|0;u=r}w=c[h>>2]|0;x=p}}else{ib[c[(c[l>>2]|0)+48>>2]&7](l,b,e,f)|0;l=b;b=f+(e-l<<2)|0;c[h>>2]=b;w=b;x=l}c[g>>2]=(d|0)==(e|0)?w:f+(d-x<<2)|0;qt(k);$a=j;return}function Dm(a){a=a|0;uk(a);return}function Em(a){a=a|0;uk(a);ct(a);return}function Fm(a){a=a|0;return 2}function Gm(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=Ym(a,j,i,e,f,g,18261,18269)|0;$a=h;return l|0}function Hm(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;i=$a;$a=$a+16|0;j=i+12|0;k=i+8|0;l=i+4|0;m=i;n=b+8|0;o=eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o+11>>0]|0;d=e<<24>>24<0;n=d?c[o>>2]|0:o;p=n+(d?c[o+4>>2]|0:e&255)|0;c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=Ym(b,k,j,f,g,h,n,p)|0;$a=i;return m|0}function Im(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26520)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Wm(a,g+24|0,b,i,f,e);$a=h;return c[b>>2]|0}function Jm(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26520)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Xm(a,g+16|0,b,i,f,e);$a=h;return c[b>>2]|0}function Km(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26520)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];hn(a,g+20|0,b,i,f,e);$a=h;return c[b>>2]|0}function Lm(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,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;j=$a;$a=$a+144|0;k=j+128|0;l=j+112|0;m=j+124|0;n=j+120|0;o=j+116|0;p=j+108|0;q=j+104|0;r=j+100|0;s=j+96|0;t=j+92|0;u=j+88|0;v=j+84|0;w=j+80|0;x=j+76|0;y=j+72|0;z=j+68|0;A=j+64|0;B=j+60|0;C=j+56|0;D=j+52|0;E=j+48|0;F=j+44|0;G=j+40|0;H=j+36|0;I=j+32|0;J=j+28|0;K=j+24|0;L=j+20|0;M=j+16|0;N=j+12|0;O=j+8|0;P=j+4|0;Q=j;c[g>>2]=0;rj(k,f);R=Pk(k,26520)|0;Qk(k);do switch(i<<24>>24|0){case 65:case 97:{c[m>>2]=c[e>>2];c[k>>2]=c[m>>2];Wm(b,h+24|0,d,k,g,R);S=26;break}case 104:case 66:case 98:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];Xm(b,h+16|0,d,k,g,R);S=26;break}case 99:{T=b+8|0;U=eb[c[(c[T>>2]|0)+12>>2]&127](T)|0;c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];T=a[U+11>>0]|0;V=T<<24>>24<0;W=V?c[U>>2]|0:U;X=W+(V?c[U+4>>2]|0:T&255)|0;c[l>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=Ym(b,l,k,f,g,h,W,X)|0;S=26;break}case 101:case 100:{c[q>>2]=c[e>>2];c[k>>2]=c[q>>2];Zm(b,h+12|0,d,k,g,R);S=26;break}case 68:{c[r>>2]=c[d>>2];c[s>>2]=c[e>>2];c[l>>2]=c[r>>2];c[k>>2]=c[s>>2];c[d>>2]=Ym(b,l,k,f,g,h,18221,18229)|0;S=26;break}case 70:{c[t>>2]=c[d>>2];c[u>>2]=c[e>>2];c[l>>2]=c[t>>2];c[k>>2]=c[u>>2];c[d>>2]=Ym(b,l,k,f,g,h,18229,18237)|0;S=26;break}case 72:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];_m(b,h+8|0,d,k,g,R);S=26;break}case 73:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];$m(b,h+8|0,d,k,g,R);S=26;break}case 106:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];an(b,h+28|0,d,k,g,R);S=26;break}case 109:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];bn(b,h+16|0,d,k,g,R);S=26;break}case 77:{c[z>>2]=c[e>>2];c[k>>2]=c[z>>2];cn(b,h+4|0,d,k,g,R);S=26;break}case 116:case 110:{c[A>>2]=c[e>>2];c[k>>2]=c[A>>2];dn(b,d,k,g,R);S=26;break}case 112:{c[B>>2]=c[e>>2];c[k>>2]=c[B>>2];en(b,h+8|0,d,k,g,R);S=26;break}case 114:{c[C>>2]=c[d>>2];c[D>>2]=c[e>>2];c[l>>2]=c[C>>2];c[k>>2]=c[D>>2];c[d>>2]=Ym(b,l,k,f,g,h,18237,18248)|0;S=26;break}case 82:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[l>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=Ym(b,l,k,f,g,h,18248,18253)|0;S=26;break}case 83:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];fn(b,h,d,k,g,R);S=26;break}case 84:{c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[l>>2]=c[H>>2];c[k>>2]=c[I>>2];c[d>>2]=Ym(b,l,k,f,g,h,18253,18261)|0;S=26;break}case 119:{c[J>>2]=c[e>>2];c[k>>2]=c[J>>2];gn(b,h+24|0,d,k,g,R);S=26;break}case 120:{X=c[(c[b>>2]|0)+20>>2]|0;c[K>>2]=c[d>>2];c[L>>2]=c[e>>2];c[l>>2]=c[K>>2];c[k>>2]=c[L>>2];Y=mb[X&63](b,l,k,f,g,h)|0;break}case 88:{X=b+8|0;W=eb[c[(c[X>>2]|0)+24>>2]&127](X)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];X=a[W+11>>0]|0;T=X<<24>>24<0;U=T?c[W>>2]|0:W;V=U+(T?c[W+4>>2]|0:X&255)|0;c[l>>2]=c[M>>2];c[k>>2]=c[N>>2];c[d>>2]=Ym(b,l,k,f,g,h,U,V)|0;S=26;break}case 121:{c[O>>2]=c[e>>2];c[k>>2]=c[O>>2];hn(b,h+20|0,d,k,g,R);S=26;break}case 89:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];jn(b,h+20|0,d,k,g,R);S=26;break}case 37:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];kn(b,d,k,g,R);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)Y=c[d>>2]|0;$a=j;return Y|0}function Mm(b){b=b|0;if((a[24232]|0)==0?cv(24232)|0:0){Vm();c[6662]=23152}return c[6662]|0}function Nm(b){b=b|0;if((a[24216]|0)==0?cv(24216)|0:0){Um();c[6661]=22864}return c[6661]|0}function Om(b){b=b|0;if((a[24200]|0)==0?cv(24200)|0:0){Tm();c[6660]=22576}return c[6660]|0}function Pm(b){b=b|0;if((a[24192]|0)==0?cv(24192)|0:0){c[6657]=0;c[6658]=0;c[6659]=0;nt(26628,17979,nj(17979)|0)}return 26628}function Qm(b){b=b|0;if((a[24184]|0)==0?cv(24184)|0:0){c[6654]=0;c[6655]=0;c[6656]=0;nt(26616,17967,nj(17967)|0)}return 26616}function Rm(b){b=b|0;if((a[24176]|0)==0?cv(24176)|0:0){c[6651]=0;c[6652]=0;c[6653]=0;nt(26604,17958,nj(17958)|0)}return 26604}function Sm(b){b=b|0;if((a[24168]|0)==0?cv(24168)|0:0){c[6648]=0;c[6649]=0;c[6650]=0;nt(26592,17949,nj(17949)|0)}return 26592}function Tm(){var b=0,d=0;if((a[24208]|0)==0?cv(24208)|0:0){b=22576;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=22864)}wt(22576,18e3)|0;wt(22588,18003)|0;return}function Um(){var b=0,d=0;if((a[24224]|0)==0?cv(24224)|0:0){b=22864;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=23152)}wt(22864,18006)|0;wt(22876,18014)|0;wt(22888,18023)|0;wt(22900,18029)|0;wt(22912,18035)|0;wt(22924,18039)|0;wt(22936,18044)|0;wt(22948,18049)|0;wt(22960,18056)|0;wt(22972,18066)|0;wt(22984,18074)|0;wt(22996,18083)|0;wt(23008,18092)|0;wt(23020,18096)|0;wt(23032,18100)|0;wt(23044,18104)|0;wt(23056,18035)|0;wt(23068,18108)|0;wt(23080,18112)|0;wt(23092,18116)|0;wt(23104,18120)|0;wt(23116,18124)|0;wt(23128,18128)|0;wt(23140,18132)|0;return}function Vm(){var b=0,d=0;if((a[24240]|0)==0?cv(24240)|0:0){b=23152;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=23320)}wt(23152,18136)|0;wt(23164,18143)|0;wt(23176,18150)|0;wt(23188,18158)|0;wt(23200,18168)|0;wt(23212,18177)|0;wt(23224,18184)|0;wt(23236,18193)|0;wt(23248,18197)|0;wt(23260,18201)|0;wt(23272,18205)|0;wt(23284,18209)|0;wt(23296,18213)|0;wt(23308,18217)|0;return}function Wm(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,k=0;h=$a;$a=$a+16|0;i=h+4|0;j=h;k=a+8|0;a=eb[c[c[k>>2]>>2]&127](k)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];j=(xl(d,i,a,a+168|0,g,f,0)|0)-a|0;if((j|0)<168)c[b>>2]=((j|0)/12|0|0)%7|0;$a=h;return}function Xm(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,k=0;h=$a;$a=$a+16|0;i=h+4|0;j=h;k=a+8|0;a=eb[c[(c[k>>2]|0)+4>>2]&127](k)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];j=(xl(d,i,a,a+288|0,g,f,0)|0)-a|0;if((j|0)<288)c[b>>2]=((j|0)/12|0|0)%12|0;$a=h;return}function Ym(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,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;l=$a;$a=$a+16|0;m=l+12|0;n=l+8|0;o=l+4|0;p=l;rj(m,g);q=Pk(m,26520)|0;Qk(m);c[h>>2]=0;r=q+8|0;s=0;t=j;a:while(1){j=c[e>>2]|0;if(!((t|0)!=(k|0)&(s|0)==0)){u=j;break}v=j;if(j){w=c[j+12>>2]|0;if((w|0)==(c[j+16>>2]|0))x=eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else x=Ai(a[w>>0]|0)|0;if(qj(x,zi()|0)|0){c[e>>2]=0;y=0;z=0;A=1}else{y=v;z=j;A=0}}else{y=v;z=0;A=1}v=c[f>>2]|0;j=v;do if(v){w=c[v+12>>2]|0;if((w|0)==(c[v+16>>2]|0))B=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else B=Ai(a[w>>0]|0)|0;if(!(qj(B,zi()|0)|0))if(A){C=j;D=v;break}else{E=63;break a}else{c[f>>2]=0;F=0;E=15;break}}else{F=j;E=15}while(0);if((E|0)==15){E=0;if(A){E=63;break}else{C=F;D=0}}b:do if((hb[c[(c[q>>2]|0)+36>>2]&31](q,a[t>>0]|0,0)|0)<<24>>24==37){j=t+1|0;if((j|0)==(k|0)){E=63;break a}v=hb[c[(c[q>>2]|0)+36>>2]&31](q,a[j>>0]|0,0)|0;switch(v<<24>>24){case 48:case 69:{w=t+2|0;if((w|0)==(k|0)){E=63;break a}G=j;H=hb[c[(c[q>>2]|0)+36>>2]&31](q,a[w>>0]|0,0)|0;I=v;break}default:{G=t;H=v;I=0}}v=c[(c[d>>2]|0)+36>>2]|0;c[o>>2]=y;c[p>>2]=C;c[n>>2]=c[o>>2];c[m>>2]=c[p>>2];c[e>>2]=ob[v&15](d,n,m,g,h,i,H,I)|0;J=G+2|0}else{v=a[t>>0]|0;if(v<<24>>24>-1?(w=c[r>>2]|0,b[w+(v<<24>>24<<1)>>1]&8192):0){v=t;while(1){j=v+1|0;if((j|0)==(k|0)){K=k;break}L=a[j>>0]|0;if(L<<24>>24<=-1){K=j;break}if(!(b[w+(L<<24>>24<<1)>>1]&8192)){K=j;break}else v=j}v=z;w=D;while(1){if(v){j=c[v+12>>2]|0;if((j|0)==(c[v+16>>2]|0))M=eb[c[(c[v>>2]|0)+36>>2]&127](v)|0;else M=Ai(a[j>>0]|0)|0;if(qj(M,zi()|0)|0){c[e>>2]=0;N=0;O=1}else{N=v;O=0}}else{N=0;O=1}do if(w){j=c[w+12>>2]|0;if((j|0)==(c[w+16>>2]|0))P=eb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else P=Ai(a[j>>0]|0)|0;if(!(qj(P,zi()|0)|0))if(O){Q=w;break}else{J=K;break b}else{c[f>>2]=0;E=42;break}}else E=42;while(0);if((E|0)==42){E=0;if(O){J=K;break b}else Q=0}j=N+12|0;L=c[j>>2]|0;R=N+16|0;if((L|0)==(c[R>>2]|0))S=eb[c[(c[N>>2]|0)+36>>2]&127](N)|0;else S=Ai(a[L>>0]|0)|0;if((S&255)<<24>>24<=-1){J=K;break b}if(!(b[(c[r>>2]|0)+(S<<24>>24<<1)>>1]&8192)){J=K;break b}L=c[j>>2]|0;if((L|0)==(c[R>>2]|0))eb[c[(c[N>>2]|0)+40>>2]&127](N)|0;else{c[j>>2]=L+1;Ai(a[L>>0]|0)|0}v=N;w=Q}}w=z+12|0;v=c[w>>2]|0;L=z+16|0;if((v|0)==(c[L>>2]|0))T=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else T=Ai(a[v>>0]|0)|0;v=gb[c[(c[q>>2]|0)+12>>2]&31](q,T&255)|0;if(v<<24>>24!=(gb[c[(c[q>>2]|0)+12>>2]&31](q,a[t>>0]|0)|0)<<24>>24){c[h>>2]=4;J=t;break}v=c[w>>2]|0;if((v|0)==(c[L>>2]|0))eb[c[(c[z>>2]|0)+40>>2]&127](z)|0;else{c[w>>2]=v+1;Ai(a[v>>0]|0)|0}J=t+1|0}while(0);s=c[h>>2]|0;t=J}if((E|0)==63){c[h>>2]=4;u=z}if(u){z=c[u+12>>2]|0;if((z|0)==(c[u+16>>2]|0))U=eb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else U=Ai(a[z>>0]|0)|0;if(qj(U,zi()|0)|0){c[e>>2]=0;V=1;W=0}else{V=0;W=u}}else{V=1;W=0}u=c[f>>2]|0;do if(u){e=c[u+12>>2]|0;if((e|0)==(c[u+16>>2]|0))X=eb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else X=Ai(a[e>>0]|0)|0;if(!(qj(X,zi()|0)|0))if(V)break;else{E=78;break}else{c[f>>2]=0;E=76;break}}else E=76;while(0);if((E|0)==76?V:0)E=78;if((E|0)==78)c[h>>2]=c[h>>2]|2;$a=l;return W|0}function Zm(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i+-1|0)>>>0<31&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function _m(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<24&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function $m(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i+-1|0)>>>0<12&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function an(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,3)|0;g=c[f>>2]|0;if((i|0)<366&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function bn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<13&(g&4|0)==0)c[b>>2]=i+-1;else c[f>>2]=g|4;$a=a;return}function cn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<60&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function dn(d,e,f,g,h){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,q=0,r=0,s=0,t=0;d=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))j=eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else j=Ai(a[i>>0]|0)|0;if(qj(j,zi()|0)|0){c[e>>2]=0;k=1;break}else{k=(c[e>>2]|0)==0;break}}else k=1;while(0);h=c[f>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))l=eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else l=Ai(a[i>>0]|0)|0;if(!(qj(l,zi()|0)|0))if(k){m=h;break}else{n=h;break a}else{c[f>>2]=0;o=15;break}}else o=15;while(0);if((o|0)==15){o=0;if(k){n=0;break}else m=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))p=eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else p=Ai(a[i>>0]|0)|0;if((p&255)<<24>>24<=-1){n=m;break}if(!(b[(c[d>>2]|0)+(p<<24>>24<<1)>>1]&8192)){n=m;break}i=c[e>>2]|0;h=i+12|0;q=c[h>>2]|0;if((q|0)==(c[i+16>>2]|0))eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[h>>2]=q+1;Ai(a[q>>0]|0)|0}}m=c[e>>2]|0;do if(m){p=c[m+12>>2]|0;if((p|0)==(c[m+16>>2]|0))r=eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else r=Ai(a[p>>0]|0)|0;if(qj(r,zi()|0)|0){c[e>>2]=0;s=1;break}else{s=(c[e>>2]|0)==0;break}}else s=1;while(0);do if(n){e=c[n+12>>2]|0;if((e|0)==(c[n+16>>2]|0))t=eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else t=Ai(a[e>>0]|0)|0;if(!(qj(t,zi()|0)|0))if(s)break;else{o=41;break}else{c[f>>2]=0;o=39;break}}else o=39;while(0);if((o|0)==39?s:0)o=41;if((o|0)==41)c[g>>2]=c[g>>2]|2;return}function en(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;i=$a;$a=$a+16|0;j=i+4|0;k=i;l=b+8|0;b=eb[c[(c[l>>2]|0)+8>>2]&127](l)|0;l=a[b+11>>0]|0;if(l<<24>>24<0)m=c[b+4>>2]|0;else m=l&255;l=a[b+12+11>>0]|0;if(l<<24>>24<0)n=c[b+16>>2]|0;else n=l&255;do if((m|0)!=(0-n|0)){c[k>>2]=c[f>>2];c[j>>2]=c[k>>2];l=(xl(e,j,b,b+24|0,h,g,0)|0)-b|0;o=c[d>>2]|0;if((o|0)==12&(l|0)==0){c[d>>2]=0;break}if((o|0)<12&(l|0)==12)c[d>>2]=o+12}else c[g>>2]=c[g>>2]|4;while(0);$a=i;return}function fn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<61&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function gn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,1)|0;g=c[f>>2]|0;if((i|0)<7&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function hn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,4)|0;if(!(c[f>>2]&4)){if((i|0)<69)j=i+2e3|0;else j=(i|0)<100?i+1900|0:i;c[b>>2]=j+-1900}$a=a;return}function jn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=ln(d,h,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=i+-1900;$a=a;return}function kn(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;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))i=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else i=Ai(a[h>>0]|0)|0;if(qj(i,zi()|0)|0){c[d>>2]=0;j=1;break}else{j=(c[d>>2]|0)==0;break}}else j=1;while(0);i=c[e>>2]|0;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))k=eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else k=Ai(a[b>>0]|0)|0;if(!(qj(k,zi()|0)|0))if(j){l=i;m=17;break}else{m=16;break}else{c[e>>2]=0;m=14;break}}else m=14;while(0);if((m|0)==14)if(j)m=16;else{l=0;m=17}a:do if((m|0)==16)c[f>>2]=c[f>>2]|6;else if((m|0)==17){j=c[d>>2]|0;i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))n=eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else n=Ai(a[i>>0]|0)|0;if((hb[c[(c[g>>2]|0)+36>>2]&31](g,n&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}i=c[d>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+1;Ai(a[k>>0]|0)|0}k=c[d>>2]|0;do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))o=eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else o=Ai(a[j>>0]|0)|0;if(qj(o,zi()|0)|0){c[d>>2]=0;p=1;break}else{p=(c[d>>2]|0)==0;break}}else p=1;while(0);do if(l){k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0))q=eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else q=Ai(a[k>>0]|0)|0;if(!(qj(q,zi()|0)|0))if(p)break a;else break;else{c[e>>2]=0;m=38;break}}else m=38;while(0);if((m|0)==38?!p:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function ln(d,e,f,g,h){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,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=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))k=eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else k=Ai(a[j>>0]|0)|0;if(qj(k,zi()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);k=c[e>>2]|0;do if(k){i=c[k+12>>2]|0;if((i|0)==(c[k+16>>2]|0))m=eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=Ai(a[i>>0]|0)|0;if(!(qj(m,zi()|0)|0))if(l){n=k;o=17;break}else{o=16;break}else{c[e>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(l)o=16;else{n=0;o=17}a:do if((o|0)==16){c[f>>2]=c[f>>2]|6;p=0}else if((o|0)==17){l=c[d>>2]|0;k=c[l+12>>2]|0;if((k|0)==(c[l+16>>2]|0))q=eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else q=Ai(a[k>>0]|0)|0;k=q&255;if(k<<24>>24>-1?(l=g+8|0,b[(c[l>>2]|0)+(q<<24>>24<<1)>>1]&2048):0){m=(hb[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;k=c[d>>2]|0;i=k+12|0;j=c[i>>2]|0;if((j|0)==(c[k+16>>2]|0))eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[i>>2]=j+1;Ai(a[j>>0]|0)|0}j=n;i=n;k=h;r=m;while(1){s=r+-48|0;m=k+-1|0;t=c[d>>2]|0;do if(t){u=c[t+12>>2]|0;if((u|0)==(c[t+16>>2]|0))v=eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else v=Ai(a[u>>0]|0)|0;if(qj(v,zi()|0)|0){c[d>>2]=0;w=1;break}else{w=(c[d>>2]|0)==0;break}}else w=1;while(0);if(j){t=c[j+12>>2]|0;if((t|0)==(c[j+16>>2]|0))x=eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else x=Ai(a[t>>0]|0)|0;if(qj(x,zi()|0)|0){c[e>>2]=0;y=1;z=0;A=0}else{y=0;z=i;A=j}}else{y=1;z=i;A=0}B=c[d>>2]|0;if(!((k|0)>1&(w^y)))break;t=c[B+12>>2]|0;if((t|0)==(c[B+16>>2]|0))C=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else C=Ai(a[t>>0]|0)|0;t=C&255;if(t<<24>>24<=-1){p=s;break a}if(!(b[(c[l>>2]|0)+(C<<24>>24<<1)>>1]&2048)){p=s;break a}u=(s*10|0)+((hb[c[(c[g>>2]|0)+36>>2]&31](g,t,0)|0)<<24>>24)|0;t=c[d>>2]|0;D=t+12|0;E=c[D>>2]|0;if((E|0)==(c[t+16>>2]|0))eb[c[(c[t>>2]|0)+40>>2]&127](t)|0;else{c[D>>2]=E+1;Ai(a[E>>0]|0)|0}j=A;i=z;k=m;r=u}do if(B){r=c[B+12>>2]|0;if((r|0)==(c[B+16>>2]|0))F=eb[c[(c[B>>2]|0)+36>>2]&127](B)|0;else F=Ai(a[r>>0]|0)|0;if(qj(F,zi()|0)|0){c[d>>2]=0;G=1;break}else{G=(c[d>>2]|0)==0;break}}else G=1;while(0);do if(z){r=c[z+12>>2]|0;if((r|0)==(c[z+16>>2]|0))H=eb[c[(c[z>>2]|0)+36>>2]&127](z)|0;else H=Ai(a[r>>0]|0)|0;if(!(qj(H,zi()|0)|0))if(G){p=s;break a}else break;else{c[e>>2]=0;o=63;break}}else o=63;while(0);if((o|0)==63?!G:0){p=s;break}c[f>>2]=c[f>>2]|2;p=s;break}c[f>>2]=c[f>>2]|4;p=0}while(0);return p|0}function mn(a){a=a|0;uk(a);return}function nn(a){a=a|0;uk(a);ct(a);return}function on(a){a=a|0;return 2}function pn(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,k=0,l=0;h=$a;$a=$a+16|0;i=h+12|0;j=h+8|0;k=h+4|0;l=h;c[k>>2]=c[b>>2];c[l>>2]=c[d>>2];c[j>>2]=c[k>>2];c[i>>2]=c[l>>2];l=In(a,j,i,e,f,g,5600,5632)|0;$a=h;return l|0}function qn(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;i=$a;$a=$a+16|0;j=i+12|0;k=i+8|0;l=i+4|0;m=i;n=b+8|0;o=eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o+8+3>>0]|0;d=e<<24>>24<0;n=d?c[o>>2]|0:o;p=n+((d?c[o+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[l>>2];c[j>>2]=c[m>>2];m=In(b,k,j,f,g,h,n,p)|0;$a=i;return m|0}function rn(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26552)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Gn(a,g+24|0,b,i,f,e);$a=h;return c[b>>2]|0}function sn(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26552)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Hn(a,g+16|0,b,i,f,e);$a=h;return c[b>>2]|0}function tn(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=$a;$a=$a+16|0;i=h+4|0;j=h;rj(i,e);e=Pk(i,26552)|0;Qk(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Tn(a,g+20|0,b,i,f,e);$a=h;return c[b>>2]|0}function un(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,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;j=$a;$a=$a+144|0;k=j+128|0;l=j+112|0;m=j+124|0;n=j+120|0;o=j+116|0;p=j+108|0;q=j+104|0;r=j+100|0;s=j+96|0;t=j+92|0;u=j+88|0;v=j+84|0;w=j+80|0;x=j+76|0;y=j+72|0;z=j+68|0;A=j+64|0;B=j+60|0;C=j+56|0;D=j+52|0;E=j+48|0;F=j+44|0;G=j+40|0;H=j+36|0;I=j+32|0;J=j+28|0;K=j+24|0;L=j+20|0;M=j+16|0;N=j+12|0;O=j+8|0;P=j+4|0;Q=j;c[g>>2]=0;rj(k,f);R=Pk(k,26552)|0;Qk(k);do switch(i<<24>>24|0){case 65:case 97:{c[m>>2]=c[e>>2];c[k>>2]=c[m>>2];Gn(b,h+24|0,d,k,g,R);S=26;break}case 104:case 66:case 98:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];Hn(b,h+16|0,d,k,g,R);S=26;break}case 99:{T=b+8|0;U=eb[c[(c[T>>2]|0)+12>>2]&127](T)|0;c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];T=a[U+8+3>>0]|0;V=T<<24>>24<0;W=V?c[U>>2]|0:U;X=W+((V?c[U+4>>2]|0:T&255)<<2)|0;c[l>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=In(b,l,k,f,g,h,W,X)|0;S=26;break}case 101:case 100:{c[q>>2]=c[e>>2];c[k>>2]=c[q>>2];Jn(b,h+12|0,d,k,g,R);S=26;break}case 68:{c[r>>2]=c[d>>2];c[s>>2]=c[e>>2];c[l>>2]=c[r>>2];c[k>>2]=c[s>>2];c[d>>2]=In(b,l,k,f,g,h,5424,5456)|0;S=26;break}case 70:{c[t>>2]=c[d>>2];c[u>>2]=c[e>>2];c[l>>2]=c[t>>2];c[k>>2]=c[u>>2];c[d>>2]=In(b,l,k,f,g,h,5456,5488)|0;S=26;break}case 72:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];Kn(b,h+8|0,d,k,g,R);S=26;break}case 73:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];Ln(b,h+8|0,d,k,g,R);S=26;break}case 106:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];Mn(b,h+28|0,d,k,g,R);S=26;break}case 109:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];Nn(b,h+16|0,d,k,g,R);S=26;break}case 77:{c[z>>2]=c[e>>2];c[k>>2]=c[z>>2];On(b,h+4|0,d,k,g,R);S=26;break}case 116:case 110:{c[A>>2]=c[e>>2];c[k>>2]=c[A>>2];Pn(b,d,k,g,R);S=26;break}case 112:{c[B>>2]=c[e>>2];c[k>>2]=c[B>>2];Qn(b,h+8|0,d,k,g,R);S=26;break}case 114:{c[C>>2]=c[d>>2];c[D>>2]=c[e>>2];c[l>>2]=c[C>>2];c[k>>2]=c[D>>2];c[d>>2]=In(b,l,k,f,g,h,5488,5532)|0;S=26;break}case 82:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[l>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=In(b,l,k,f,g,h,5536,5556)|0;S=26;break}case 83:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];Rn(b,h,d,k,g,R);S=26;break}case 84:{c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[l>>2]=c[H>>2];c[k>>2]=c[I>>2];c[d>>2]=In(b,l,k,f,g,h,5568,5600)|0;S=26;break}case 119:{c[J>>2]=c[e>>2];c[k>>2]=c[J>>2];Sn(b,h+24|0,d,k,g,R);S=26;break}case 120:{X=c[(c[b>>2]|0)+20>>2]|0;c[K>>2]=c[d>>2];c[L>>2]=c[e>>2];c[l>>2]=c[K>>2];c[k>>2]=c[L>>2];Y=mb[X&63](b,l,k,f,g,h)|0;break}case 88:{X=b+8|0;W=eb[c[(c[X>>2]|0)+24>>2]&127](X)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];X=a[W+8+3>>0]|0;T=X<<24>>24<0;U=T?c[W>>2]|0:W;V=U+((T?c[W+4>>2]|0:X&255)<<2)|0;c[l>>2]=c[M>>2];c[k>>2]=c[N>>2];c[d>>2]=In(b,l,k,f,g,h,U,V)|0;S=26;break}case 121:{c[O>>2]=c[e>>2];c[k>>2]=c[O>>2];Tn(b,h+20|0,d,k,g,R);S=26;break}case 89:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];Un(b,h+20|0,d,k,g,R);S=26;break}case 37:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];Vn(b,d,k,g,R);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)Y=c[d>>2]|0;$a=j;return Y|0}function vn(b){b=b|0;if((a[24312]|0)==0?cv(24312)|0:0){Fn();c[6679]=23904}return c[6679]|0}function wn(b){b=b|0;if((a[24296]|0)==0?cv(24296)|0:0){En();c[6678]=23616}return c[6678]|0}function xn(b){b=b|0;if((a[24280]|0)==0?cv(24280)|0:0){Dn();c[6677]=23328}return c[6677]|0}function yn(b){b=b|0;if((a[24272]|0)==0?cv(24272)|0:0){c[6674]=0;c[6675]=0;c[6676]=0;Gt(26696,10788,Cn(10788)|0)}return 26696}function zn(b){b=b|0;if((a[24264]|0)==0?cv(24264)|0:0){c[6671]=0;c[6672]=0;c[6673]=0;Gt(26684,10740,Cn(10740)|0)}return 26684}function An(b){b=b|0;if((a[24256]|0)==0?cv(24256)|0:0){c[6668]=0;c[6669]=0;c[6670]=0;Gt(26672,10704,Cn(10704)|0)}return 26672}function Bn(b){b=b|0;if((a[24248]|0)==0?cv(24248)|0:0){c[6665]=0;c[6666]=0;c[6667]=0;Gt(26660,10668,Cn(10668)|0)}return 26660}function Cn(a){a=a|0;return ng(a)|0}function Dn(){var b=0,d=0;if((a[24288]|0)==0?cv(24288)|0:0){b=23328;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=23616)}Ot(23328,10872)|0;Ot(23340,10884)|0;return}function En(){var b=0,d=0;if((a[24304]|0)==0?cv(24304)|0:0){b=23616;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=23904)}Ot(23616,10896)|0;Ot(23628,10928)|0;Ot(23640,10964)|0;Ot(23652,10988)|0;Ot(23664,11012)|0;Ot(23676,11028)|0;Ot(23688,11048)|0;Ot(23700,11068)|0;Ot(23712,11096)|0;Ot(23724,11136)|0;Ot(23736,11168)|0;Ot(23748,11204)|0;Ot(23760,11240)|0;Ot(23772,11256)|0;Ot(23784,11272)|0;Ot(23796,11288)|0;Ot(23808,11012)|0;Ot(23820,11304)|0;Ot(23832,11320)|0;Ot(23844,11336)|0;Ot(23856,11352)|0;Ot(23868,11368)|0;Ot(23880,11384)|0;Ot(23892,11400)|0;return}function Fn(){var b=0,d=0;if((a[24320]|0)==0?cv(24320)|0:0){b=23904;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}b=b+12|0}while((b|0)!=24072)}Ot(23904,11416)|0;Ot(23916,11444)|0;Ot(23928,11472)|0;Ot(23940,11504)|0;Ot(23952,11544)|0;Ot(23964,11580)|0;Ot(23976,11608)|0;Ot(23988,11644)|0;Ot(24e3,11660)|0;Ot(24012,11676)|0;Ot(24024,11692)|0;Ot(24036,11708)|0;Ot(24048,11724)|0;Ot(24060,11740)|0;return}function Gn(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,k=0;h=$a;$a=$a+16|0;i=h+4|0;j=h;k=a+8|0;a=eb[c[c[k>>2]>>2]&127](k)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];j=(_l(d,i,a,a+168|0,g,f,0)|0)-a|0;if((j|0)<168)c[b>>2]=((j|0)/12|0|0)%7|0;$a=h;return}function Hn(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,k=0;h=$a;$a=$a+16|0;i=h+4|0;j=h;k=a+8|0;a=eb[c[(c[k>>2]|0)+4>>2]&127](k)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];j=(_l(d,i,a,a+288|0,g,f,0)|0)-a|0;if((j|0)<288)c[b>>2]=((j|0)/12|0|0)%12|0;$a=h;return}function In(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,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;j=$a;$a=$a+16|0;k=j+12|0;l=j+8|0;m=j+4|0;n=j;rj(k,e);o=Pk(k,26552)|0;Qk(k);c[f>>2]=0;p=0;q=h;a:while(1){h=c[b>>2]|0;if(!((q|0)!=(i|0)&(p|0)==0)){r=h;break}s=h;if(h){t=c[h+12>>2]|0;if((t|0)==(c[h+16>>2]|0))u=eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else u=Si(c[t>>2]|0)|0;if(sj(u,Ri()|0)|0){c[b>>2]=0;v=0;w=0;x=1}else{v=s;w=h;x=0}}else{v=s;w=0;x=1}s=c[d>>2]|0;h=s;do if(s){t=c[s+12>>2]|0;if((t|0)==(c[s+16>>2]|0))y=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else y=Si(c[t>>2]|0)|0;if(!(sj(y,Ri()|0)|0))if(x){z=h;A=s;break}else{B=60;break a}else{c[d>>2]=0;C=0;B=15;break}}else{C=h;B=15}while(0);if((B|0)==15){B=0;if(x){B=60;break}else{z=C;A=0}}b:do if((hb[c[(c[o>>2]|0)+52>>2]&31](o,c[q>>2]|0,0)|0)<<24>>24==37){h=q+4|0;if((h|0)==(i|0)){B=60;break a}s=hb[c[(c[o>>2]|0)+52>>2]&31](o,c[h>>2]|0,0)|0;switch(s<<24>>24){case 48:case 69:{t=q+8|0;if((t|0)==(i|0)){B=60;break a}D=h;E=hb[c[(c[o>>2]|0)+52>>2]&31](o,c[t>>2]|0,0)|0;F=s;break}default:{D=q;E=s;F=0}}s=c[(c[a>>2]|0)+36>>2]|0;c[m>>2]=v;c[n>>2]=z;c[l>>2]=c[m>>2];c[k>>2]=c[n>>2];c[b>>2]=ob[s&15](a,l,k,e,f,g,E,F)|0;G=D+8|0}else{if(!(hb[c[(c[o>>2]|0)+12>>2]&31](o,8192,c[q>>2]|0)|0)){s=w+12|0;t=c[s>>2]|0;h=w+16|0;if((t|0)==(c[h>>2]|0))H=eb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else H=Si(c[t>>2]|0)|0;t=gb[c[(c[o>>2]|0)+28>>2]&31](o,H)|0;if((t|0)!=(gb[c[(c[o>>2]|0)+28>>2]&31](o,c[q>>2]|0)|0)){c[f>>2]=4;G=q;break}t=c[s>>2]|0;if((t|0)==(c[h>>2]|0))eb[c[(c[w>>2]|0)+40>>2]&127](w)|0;else{c[s>>2]=t+4;Si(c[t>>2]|0)|0}G=q+4|0;break}t=q;while(1){s=t+4|0;if((s|0)==(i|0)){I=i;break}if(hb[c[(c[o>>2]|0)+12>>2]&31](o,8192,c[s>>2]|0)|0)t=s;else{I=s;break}}t=w;s=A;while(1){if(t){h=c[t+12>>2]|0;if((h|0)==(c[t+16>>2]|0))J=eb[c[(c[t>>2]|0)+36>>2]&127](t)|0;else J=Si(c[h>>2]|0)|0;if(sj(J,Ri()|0)|0){c[b>>2]=0;K=0;L=1}else{K=t;L=0}}else{K=0;L=1}do if(s){h=c[s+12>>2]|0;if((h|0)==(c[s+16>>2]|0))M=eb[c[(c[s>>2]|0)+36>>2]&127](s)|0;else M=Si(c[h>>2]|0)|0;if(!(sj(M,Ri()|0)|0))if(L){N=s;break}else{G=I;break b}else{c[d>>2]=0;B=40;break}}else B=40;while(0);if((B|0)==40){B=0;if(L){G=I;break b}else N=0}h=K+12|0;O=c[h>>2]|0;P=K+16|0;if((O|0)==(c[P>>2]|0))Q=eb[c[(c[K>>2]|0)+36>>2]&127](K)|0;else Q=Si(c[O>>2]|0)|0;if(!(hb[c[(c[o>>2]|0)+12>>2]&31](o,8192,Q)|0)){G=I;break b}O=c[h>>2]|0;if((O|0)==(c[P>>2]|0))eb[c[(c[K>>2]|0)+40>>2]&127](K)|0;else{c[h>>2]=O+4;Si(c[O>>2]|0)|0}t=K;s=N}}while(0);p=c[f>>2]|0;q=G}if((B|0)==60){c[f>>2]=4;r=w}if(r){w=c[r+12>>2]|0;if((w|0)==(c[r+16>>2]|0))R=eb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else R=Si(c[w>>2]|0)|0;if(sj(R,Ri()|0)|0){c[b>>2]=0;S=1;T=0}else{S=0;T=r}}else{S=1;T=0}r=c[d>>2]|0;do if(r){b=c[r+12>>2]|0;if((b|0)==(c[r+16>>2]|0))U=eb[c[(c[r>>2]|0)+36>>2]&127](r)|0;else U=Si(c[b>>2]|0)|0;if(!(sj(U,Ri()|0)|0))if(S)break;else{B=75;break}else{c[d>>2]=0;B=73;break}}else B=73;while(0);if((B|0)==73?S:0)B=75;if((B|0)==75)c[f>>2]=c[f>>2]|2;$a=j;return T|0}function Jn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i+-1|0)>>>0<31&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Kn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<24&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Ln(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i+-1|0)>>>0<12&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Mn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,3)|0;g=c[f>>2]|0;if((i|0)<366&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Nn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<13&(g&4|0)==0)c[b>>2]=i+-1;else c[f>>2]=g|4;$a=a;return}function On(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<60&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Pn(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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))h=eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else h=Si(c[g>>2]|0)|0;if(sj(h,Ri()|0)|0){c[b>>2]=0;i=1;break}else{i=(c[b>>2]|0)==0;break}}else i=1;while(0);a=c[d>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))j=eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else j=Si(c[g>>2]|0)|0;if(!(sj(j,Ri()|0)|0))if(i){k=a;break}else{l=a;break a}else{c[d>>2]=0;m=15;break}}else m=15;while(0);if((m|0)==15){m=0;if(i){l=0;break}else k=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))n=eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else n=Si(c[g>>2]|0)|0;if(!(hb[c[(c[f>>2]|0)+12>>2]&31](f,8192,n)|0)){l=k;break}g=c[b>>2]|0;a=g+12|0;o=c[a>>2]|0;if((o|0)==(c[g+16>>2]|0))eb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[a>>2]=o+4;Si(c[o>>2]|0)|0}}k=c[b>>2]|0;do if(k){n=c[k+12>>2]|0;if((n|0)==(c[k+16>>2]|0))p=eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else p=Si(c[n>>2]|0)|0;if(sj(p,Ri()|0)|0){c[b>>2]=0;q=1;break}else{q=(c[b>>2]|0)==0;break}}else q=1;while(0);do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))r=eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else r=Si(c[b>>2]|0)|0;if(!(sj(r,Ri()|0)|0))if(q)break;else{m=40;break}else{c[d>>2]=0;m=38;break}}else m=38;while(0);if((m|0)==38?q:0)m=40;if((m|0)==40)c[e>>2]=c[e>>2]|2;return}function Qn(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;i=$a;$a=$a+16|0;j=i+4|0;k=i;l=b+8|0;b=eb[c[(c[l>>2]|0)+8>>2]&127](l)|0;l=a[b+8+3>>0]|0;if(l<<24>>24<0)m=c[b+4>>2]|0;else m=l&255;l=a[b+20+3>>0]|0;if(l<<24>>24<0)n=c[b+16>>2]|0;else n=l&255;do if((m|0)!=(0-n|0)){c[k>>2]=c[f>>2];c[j>>2]=c[k>>2];l=(_l(e,j,b,b+24|0,h,g,0)|0)-b|0;o=c[d>>2]|0;if((o|0)==12&(l|0)==0){c[d>>2]=0;break}if((o|0)<12&(l|0)==12)c[d>>2]=o+12}else c[g>>2]=c[g>>2]|4;while(0);$a=i;return}function Rn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,2)|0;g=c[f>>2]|0;if((i|0)<61&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Sn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,1)|0;g=c[f>>2]|0;if((i|0)<7&(g&4|0)==0)c[b>>2]=i;else c[f>>2]=g|4;$a=a;return}function Tn(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,4)|0;if(!(c[f>>2]&4)){if((i|0)<69)j=i+2e3|0;else j=(i|0)<100?i+1900|0:i;c[b>>2]=j+-1900}$a=a;return}function Un(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;a=$a;$a=$a+16|0;h=a+4|0;i=a;c[i>>2]=c[e>>2];c[h>>2]=c[i>>2];i=Wn(d,h,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=i+-1900;$a=a;return}function Vn(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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))h=eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else h=Si(c[g>>2]|0)|0;if(sj(h,Ri()|0)|0){c[b>>2]=0;i=1;break}else{i=(c[b>>2]|0)==0;break}}else i=1;while(0);h=c[d>>2]|0;do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))j=eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else j=Si(c[a>>2]|0)|0;if(!(sj(j,Ri()|0)|0))if(i){k=h;l=17;break}else{l=16;break}else{c[d>>2]=0;l=14;break}}else l=14;while(0);if((l|0)==14)if(i)l=16;else{k=0;l=17}a:do if((l|0)==16)c[e>>2]=c[e>>2]|6;else if((l|0)==17){i=c[b>>2]|0;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))m=eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else m=Si(c[h>>2]|0)|0;if((hb[c[(c[f>>2]|0)+52>>2]&31](f,m,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}h=c[b>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;Si(c[j>>2]|0)|0}j=c[b>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))n=eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else n=Si(c[i>>2]|0)|0;if(sj(n,Ri()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))p=eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else p=Si(c[j>>2]|0)|0;if(!(sj(p,Ri()|0)|0))if(o)break a;else break;else{c[d>>2]=0;l=38;break}}else l=38;while(0);if((l|0)==38?!o:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Wn(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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))i=eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else i=Si(c[h>>2]|0)|0;if(sj(i,Ri()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);i=c[b>>2]|0;do if(i){g=c[i+12>>2]|0;if((g|0)==(c[i+16>>2]|0))k=eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else k=Si(c[g>>2]|0)|0;if(!(sj(k,Ri()|0)|0))if(j){l=i;m=17;break}else{m=16;break}else{c[b>>2]=0;m=14;break}}else m=14;while(0);if((m|0)==14)if(j)m=16;else{l=0;m=17}a:do if((m|0)==16){c[d>>2]=c[d>>2]|6;n=0}else if((m|0)==17){j=c[a>>2]|0;i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))o=eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else o=Si(c[i>>2]|0)|0;if(!(hb[c[(c[e>>2]|0)+12>>2]&31](e,2048,o)|0)){c[d>>2]=c[d>>2]|4;n=0;break}i=(hb[c[(c[e>>2]|0)+52>>2]&31](e,o,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;g=c[k>>2]|0;if((g|0)==(c[j+16>>2]|0))eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=g+4;Si(c[g>>2]|0)|0}g=l;k=l;j=f;h=i;while(1){p=h+-48|0;i=j+-1|0;q=c[a>>2]|0;do if(q){r=c[q+12>>2]|0;if((r|0)==(c[q+16>>2]|0))s=eb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else s=Si(c[r>>2]|0)|0;if(sj(s,Ri()|0)|0){c[a>>2]=0;t=1;break}else{t=(c[a>>2]|0)==0;break}}else t=1;while(0);if(g){q=c[g+12>>2]|0;if((q|0)==(c[g+16>>2]|0))u=eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else u=Si(c[q>>2]|0)|0;if(sj(u,Ri()|0)|0){c[b>>2]=0;v=1;w=0;x=0}else{v=0;w=k;x=g}}else{v=1;w=k;x=0}y=c[a>>2]|0;if(!((j|0)>1&(t^v)))break;q=c[y+12>>2]|0;if((q|0)==(c[y+16>>2]|0))z=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else z=Si(c[q>>2]|0)|0;if(!(hb[c[(c[e>>2]|0)+12>>2]&31](e,2048,z)|0)){n=p;break a}q=(p*10|0)+((hb[c[(c[e>>2]|0)+52>>2]&31](e,z,0)|0)<<24>>24)|0;r=c[a>>2]|0;A=r+12|0;B=c[A>>2]|0;if((B|0)==(c[r+16>>2]|0))eb[c[(c[r>>2]|0)+40>>2]&127](r)|0;else{c[A>>2]=B+4;Si(c[B>>2]|0)|0}g=x;k=w;j=i;h=q}do if(y){h=c[y+12>>2]|0;if((h|0)==(c[y+16>>2]|0))C=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else C=Si(c[h>>2]|0)|0;if(sj(C,Ri()|0)|0){c[a>>2]=0;D=1;break}else{D=(c[a>>2]|0)==0;break}}else D=1;while(0);do if(w){h=c[w+12>>2]|0;if((h|0)==(c[w+16>>2]|0))E=eb[c[(c[w>>2]|0)+36>>2]&127](w)|0;else E=Si(c[h>>2]|0)|0;if(!(sj(E,Ri()|0)|0))if(D){n=p;break a}else break;else{c[b>>2]=0;m=61;break}}else m=61;while(0);if((m|0)==61?!D:0){n=p;break}c[d>>2]=c[d>>2]|2;n=p}while(0);return n|0}function Xn(a){a=a|0;ao(a+8|0);uk(a);return}function Yn(a){a=a|0;ao(a+8|0);uk(a);ct(a);return}function Zn(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,m=0;f=$a;$a=$a+112|0;e=f;j=f+100|0;c[j>>2]=e+100;_n(b+8|0,e,j,g,h,i);i=c[j>>2]|0;j=e;e=c[d>>2]|0;while(1){if((j|0)==(i|0))break;d=a[j>>0]|0;if(!e)k=0;else{h=e+24|0;g=c[h>>2]|0;if((g|0)==(c[e+28>>2]|0)){b=c[(c[e>>2]|0)+52>>2]|0;l=Ai(d)|0;m=gb[b&31](e,l)|0}else{c[h>>2]=g+1;a[g>>0]=d;m=Ai(d)|0}d=qj(m,zi()|0)|0;k=d?0:e}j=j+1|0;e=k}$a=f;return e|0}function _n(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;i=$a;$a=$a+16|0;j=i;a[j>>0]=37;k=j+1|0;a[k>>0]=g;l=j+2|0;a[l>>0]=h;a[j+3>>0]=0;if(h<<24>>24){a[k>>0]=h;a[l>>0]=g}g=$n(d,c[e>>2]|0)|0;c[e>>2]=d+(za(d|0,g|0,j|0,f|0,c[b>>2]|0)|0);$a=i;return}function $n(a,b){a=a|0;b=b|0;return b-a|0}function ao(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(Sk()|0))Mg(c[a>>2]|0);return}function bo(a){a=a|0;ao(a+8|0);uk(a);return}function co(a){a=a|0;ao(a+8|0);uk(a);ct(a);return}function eo(a,b,d,e,f,g,h){a=a|0;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;e=$a;$a=$a+416|0;d=e;i=e+400|0;c[i>>2]=d+400;fo(a+8|0,d,i,f,g,h);h=c[i>>2]|0;i=d;d=c[b>>2]|0;while(1){if((i|0)==(h|0))break;b=c[i>>2]|0;if(!d)j=0;else{g=d+24|0;f=c[g>>2]|0;if((f|0)==(c[d+28>>2]|0)){a=c[(c[d>>2]|0)+52>>2]|0;k=Si(b)|0;l=gb[a&31](d,k)|0}else{c[g>>2]=f+4;c[f>>2]=b;l=Si(b)|0}b=sj(l,Ri()|0)|0;j=b?0:d}i=i+4|0;d=j}$a=e;return d|0}function fo(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,k=0,l=0;h=$a;$a=$a+128|0;i=h;j=h+116|0;k=h+104|0;l=h+112|0;c[j>>2]=i+100;_n(a,i,j,e,f,g);g=k;c[g>>2]=0;c[g+4>>2]=0;c[l>>2]=i;i=go(b,c[d>>2]|0)|0;g=Vg(c[a>>2]|0)|0;a=zh(b,l,i,k)|0;if(g|0)Vg(g)|0;if((a|0)==-1)ho(0);else{c[d>>2]=b+(a<<2);$a=h;return}}function go(a,b){a=a|0;b=b|0;return b-a>>2|0}function ho(a){a=a|0;na()}function io(a){a=a|0;uk(a);return}function jo(a){a=a|0;uk(a);ct(a);return}function ko(a){a=a|0;return 127}function lo(a){a=a|0;return 127}function mo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function no(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function oo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function po(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;ot(a,1,45);return}function qo(a){a=a|0;return 0}function ro(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function so(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function to(a){a=a|0;uk(a);return}function uo(a){a=a|0;uk(a);ct(a);return}function vo(a){a=a|0;return 127}function wo(a){a=a|0;return 127}function xo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function yo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function zo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Ao(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;ot(a,1,45);return}function Bo(a){a=a|0;return 0}function Co(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Do(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Eo(a){a=a|0;uk(a);return}function Fo(a){a=a|0;uk(a);ct(a);return}function Go(a){a=a|0;return 2147483647}function Ho(a){a=a|0;return 2147483647}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Jo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Ko(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Lo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Ht(a,1,45);return}function Mo(a){a=a|0;return 0}function No(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Oo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Po(a){a=a|0;uk(a);return}function Qo(a){a=a|0;uk(a);ct(a);return}function Ro(a){a=a|0;return 2147483647}function So(a){a=a|0;return 2147483647}function To(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Vo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Wo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Ht(a,1,45);return}function Xo(a){a=a|0;return 0}function Yo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Zo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function _o(a){a=a|0;uk(a);return}function $o(a){a=a|0;uk(a);ct(a);return}function ap(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,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;b=$a;$a=$a+256|0;j=b+240|0;k=b+216|0;l=b+112|0;m=b+232|0;n=b+228|0;o=b+224|0;p=b+250|0;q=b+220|0;r=b;c[m>>2]=l;c[m+4>>2]=168;rj(o,g);s=Pk(o,26520)|0;a[p>>0]=0;c[q>>2]=c[e>>2];t=c[g+4>>2]|0;c[j>>2]=c[q>>2];if(dp(d,j,f,o,t,h,p,s,m,n,l+100|0)|0){ib[c[(c[s>>2]|0)+32>>2]&7](s,18786,18796,j)|0;s=c[n>>2]|0;l=c[m>>2]|0;t=s-l|0;f=l;l=s;if((t|0)>98){s=Th(t+2|0)|0;if(!s)$s();else{u=s;v=s}}else{u=0;v=r}if(!(a[p>>0]|0))w=v;else{a[v>>0]=45;w=v+1|0}v=j+10|0;p=j;s=l;l=w;w=f;while(1){if(w>>>0>=s>>>0)break;f=a[w>>0]|0;t=j;while(1){if((t|0)==(v|0)){x=v;break}if((a[t>>0]|0)==f<<24>>24){x=t;break}t=t+1|0}a[l>>0]=a[18786+(x-p)>>0]|0;s=c[n>>2]|0;l=l+1|0;w=w+1|0}a[l>>0]=0;c[k>>2]=i;if((mh(r,18797,k)|0)!=1)ho(0);if(u|0)Uh(u)}u=c[d>>2]|0;do if(u){k=c[u+12>>2]|0;if((k|0)==(c[u+16>>2]|0))y=eb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=Ai(a[k>>0]|0)|0;if(qj(y,zi()|0)|0){c[d>>2]=0;z=1;break}else{z=(c[d>>2]|0)==0;break}}else z=1;while(0);y=c[e>>2]|0;do if(y){u=c[y+12>>2]|0;if((u|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Ai(a[u>>0]|0)|0;if(!(qj(A,zi()|0)|0))if(z)break;else{B=34;break}else{c[e>>2]=0;B=32;break}}else B=32;while(0);if((B|0)==32?z:0)B=34;if((B|0)==34)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;Qk(o);o=c[m>>2]|0;c[m>>2]=0;if(o|0)qb[c[m+4>>2]&255](o);$a=b;return h|0}function bp(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=$a;$a=$a+128|0;j=b+120|0;k=b;l=b+112|0;m=b+108|0;n=b+100|0;o=b+124|0;p=b+104|0;c[l>>2]=k;c[l+4>>2]=168;rj(n,g);q=Pk(n,26520)|0;a[o>>0]=0;r=c[e>>2]|0;c[p>>2]=r;s=c[g+4>>2]|0;c[j>>2]=c[p>>2];p=r;if(dp(d,j,f,n,s,h,o,q,l,m,k+100|0)|0){k=i+11|0;if((a[k>>0]|0)<0){s=c[i>>2]|0;a[j>>0]=0;tk(s,j);c[i+4>>2]=0}else{a[j>>0]=0;tk(i,j);a[k>>0]=0}if(a[o>>0]|0)Ct(i,gb[c[(c[q>>2]|0)+28>>2]&31](q,45)|0);o=gb[c[(c[q>>2]|0)+28>>2]&31](q,48)|0;q=c[m>>2]|0;m=q+-1|0;k=c[l>>2]|0;while(1){if(k>>>0>=m>>>0)break;if((a[k>>0]|0)!=o<<24>>24)break;k=k+1|0}ep(i,k,q)|0}q=c[d>>2]|0;do if(q){k=c[q+12>>2]|0;if((k|0)==(c[q+16>>2]|0))t=eb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else t=Ai(a[k>>0]|0)|0;if(qj(t,zi()|0)|0){c[d>>2]=0;u=1;break}else{u=(c[d>>2]|0)==0;break}}else u=1;while(0);do if(r){t=c[p+12>>2]|0;if((t|0)==(c[p+16>>2]|0))v=eb[c[(c[r>>2]|0)+36>>2]&127](p)|0;else v=Ai(a[t>>0]|0)|0;if(!(qj(v,zi()|0)|0))if(u)break;else{w=27;break}else{c[e>>2]=0;w=25;break}}else w=25;while(0);if((w|0)==25?u:0)w=27;if((w|0)==27)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;Qk(n);n=c[l>>2]|0;c[l>>2]=0;if(n|0)qb[c[l+4>>2]&255](n);$a=b;return h|0}function cp(a){a=a|0;return}function dp(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,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;p=$a;$a=$a+512|0;q=p+488|0;r=p;s=p+480|0;t=p+472|0;u=p+468|0;v=p+496|0;w=p+493|0;x=p+492|0;y=p+456|0;z=p+444|0;A=p+432|0;B=p+420|0;C=p+408|0;D=p+404|0;E=p+400|0;c[q>>2]=o;c[s>>2]=r;c[s+4>>2]=168;c[t>>2]=r;c[u>>2]=r+400;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;r=0;while(1){if((r|0)==3)break;c[y+(r<<2)>>2]=0;r=r+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;r=0;while(1){if((r|0)==3)break;c[z+(r<<2)>>2]=0;r=r+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;r=0;while(1){if((r|0)==3)break;c[A+(r<<2)>>2]=0;r=r+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;r=0;while(1){if((r|0)==3)break;c[B+(r<<2)>>2]=0;r=r+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;r=0;while(1){if((r|0)==3)break;c[C+(r<<2)>>2]=0;r=r+1|0}hp(g,h,v,w,x,y,z,A,B,D);c[n>>2]=c[m>>2];h=l+8|0;l=A+11|0;g=A+4|0;r=B+11|0;o=B+4|0;F=y+11|0;G=y+4|0;H=(i&512|0)!=0;i=z+11|0;I=v+3|0;J=z+4|0;K=C+11|0;L=C+4|0;M=0;N=0;a:while(1){if(M>>>0>=4){O=243;break}P=c[e>>2]|0;do if(P){Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))R=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else R=Ai(a[Q>>0]|0)|0;if(qj(R,zi()|0)|0){c[e>>2]=0;S=1;break}else{S=(c[e>>2]|0)==0;break}}else S=1;while(0);P=c[f>>2]|0;do if(P){Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))T=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else T=Ai(a[Q>>0]|0)|0;if(!(qj(T,zi()|0)|0))if(S){U=P;break}else{O=243;break a}else{c[f>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(S){O=243;break}else U=0}b:do switch(a[v+M>>0]|0){case 1:{if((M|0)==3)V=N;else{P=c[e>>2]|0;Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))W=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else W=Ai(a[Q>>0]|0)|0;if((W&255)<<24>>24<=-1){O=45;break a}if(!(b[(c[h>>2]|0)+(W<<24>>24<<1)>>1]&8192)){O=45;break a}Q=c[e>>2]|0;P=Q+12|0;X=c[P>>2]|0;if((X|0)==(c[Q+16>>2]|0))Y=eb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else{c[P>>2]=X+1;Y=Ai(a[X>>0]|0)|0}Ct(C,Y&255);O=47}break}case 0:{if((M|0)==3)V=N;else O=47;break}case 3:{X=a[l>>0]|0;P=X<<24>>24<0?c[g>>2]|0:X&255;X=a[r>>0]|0;Q=X<<24>>24<0?c[o>>2]|0:X&255;if((P|0)==(0-Q|0))V=N;else{X=(P|0)==0;P=c[e>>2]|0;Z=c[P+12>>2]|0;_=(Z|0)==(c[P+16>>2]|0);if(X|(Q|0)==0){if(_)$=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else $=Ai(a[Z>>0]|0)|0;Q=$&255;if(X){if((a[((a[r>>0]|0)<0?c[B>>2]|0:B)>>0]|0)!=Q<<24>>24){V=N;break b}X=c[e>>2]|0;aa=X+12|0;ba=c[aa>>2]|0;if((ba|0)==(c[X+16>>2]|0))eb[c[(c[X>>2]|0)+40>>2]&127](X)|0;else{c[aa>>2]=ba+1;Ai(a[ba>>0]|0)|0}a[k>>0]=1;ba=a[r>>0]|0;V=(ba<<24>>24<0?c[o>>2]|0:ba&255)>>>0>1?B:N;break b}if((a[((a[l>>0]|0)<0?c[A>>2]|0:A)>>0]|0)!=Q<<24>>24){a[k>>0]=1;V=N;break b}Q=c[e>>2]|0;ba=Q+12|0;aa=c[ba>>2]|0;if((aa|0)==(c[Q+16>>2]|0))eb[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else{c[ba>>2]=aa+1;Ai(a[aa>>0]|0)|0}aa=a[l>>0]|0;V=(aa<<24>>24<0?c[g>>2]|0:aa&255)>>>0>1?A:N;break b}if(_)ca=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else ca=Ai(a[Z>>0]|0)|0;Z=c[e>>2]|0;P=Z+12|0;_=c[P>>2]|0;aa=(_|0)==(c[Z+16>>2]|0);if((a[((a[l>>0]|0)<0?c[A>>2]|0:A)>>0]|0)==(ca&255)<<24>>24){if(aa)eb[c[(c[Z>>2]|0)+40>>2]&127](Z)|0;else{c[P>>2]=_+1;Ai(a[_>>0]|0)|0}P=a[l>>0]|0;V=(P<<24>>24<0?c[g>>2]|0:P&255)>>>0>1?A:N;break b}if(aa)da=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else da=Ai(a[_>>0]|0)|0;if((a[((a[r>>0]|0)<0?c[B>>2]|0:B)>>0]|0)!=(da&255)<<24>>24){O=105;break a}_=c[e>>2]|0;Z=_+12|0;aa=c[Z>>2]|0;if((aa|0)==(c[_+16>>2]|0))eb[c[(c[_>>2]|0)+40>>2]&127](_)|0;else{c[Z>>2]=aa+1;Ai(a[aa>>0]|0)|0}a[k>>0]=1;aa=a[r>>0]|0;V=(aa<<24>>24<0?c[o>>2]|0:aa&255)>>>0>1?B:N}break}case 2:{if(M>>>0<2|(N|0)!=0){aa=a[i>>0]|0;Z=aa<<24>>24<0;_=c[z>>2]|0;P=Z?_:z;ba=P;if(!M){ea=_;fa=aa;ga=ba}else{ha=aa;ia=ba;ja=_;ka=P;la=Z;O=110}}else{if(!(H|(M|0)==2&(a[I>>0]|0)!=0)){V=0;break b}Z=a[i>>0]|0;P=Z<<24>>24<0;_=c[z>>2]|0;ba=P?_:z;ha=Z;ia=ba;ja=_;ka=ba;la=P;O=110}c:do if((O|0)==110){O=0;if((d[v+(M+-1)>>0]|0)<2){P=ka+(la?c[J>>2]|0:ha&255)|0;ba=ia;while(1){_=ba;if((P|0)==(_|0))break;Z=a[_>>0]|0;if(Z<<24>>24<=-1)break;if(!(b[(c[h>>2]|0)+(Z<<24>>24<<1)>>1]&8192))break;ba=_+1|0}P=ba-ia|0;_=a[K>>0]|0;Z=_<<24>>24<0;aa=c[L>>2]|0;Q=_&255;if(P>>>0<=(Z?aa:Q)>>>0){_=(c[C>>2]|0)+aa|0;aa=C+Q|0;Q=Z?_:aa;X=Z?_+(0-P)|0:aa+(0-P)|0;P=ka;while(1){if((X|0)==(Q|0)){ea=ja;fa=ha;ga=ba;break c}if((a[X>>0]|0)!=(a[P>>0]|0)){ea=ja;fa=ha;ga=ia;break c}X=X+1|0;P=P+1|0}}else{ea=ja;fa=ha;ga=ia}}else{ea=ja;fa=ha;ga=ia}}while(0);P=fa;X=ea;ba=U;Q=ga;d:while(1){aa=P<<24>>24<0;if((Q|0)==((aa?X:z)+(aa?c[J>>2]|0:P&255)|0))break;aa=c[e>>2]|0;do if(aa){_=c[aa+12>>2]|0;if((_|0)==(c[aa+16>>2]|0))ma=eb[c[(c[aa>>2]|0)+36>>2]&127](aa)|0;else ma=Ai(a[_>>0]|0)|0;if(qj(ma,zi()|0)|0){c[e>>2]=0;na=1;break}else{na=(c[e>>2]|0)==0;break}}else na=1;while(0);do if(ba){aa=c[ba+12>>2]|0;if((aa|0)==(c[ba+16>>2]|0))oa=eb[c[(c[ba>>2]|0)+36>>2]&127](ba)|0;else oa=Ai(a[aa>>0]|0)|0;if(!(qj(oa,zi()|0)|0))if(na){pa=ba;break}else break d;else{c[f>>2]=0;O=136;break}}else O=136;while(0);if((O|0)==136){O=0;if(na)break;else pa=0}aa=c[e>>2]|0;_=c[aa+12>>2]|0;if((_|0)==(c[aa+16>>2]|0))qa=eb[c[(c[aa>>2]|0)+36>>2]&127](aa)|0;else qa=Ai(a[_>>0]|0)|0;if((a[Q>>0]|0)!=(qa&255)<<24>>24)break;_=c[e>>2]|0;aa=_+12|0;Z=c[aa>>2]|0;if((Z|0)==(c[_+16>>2]|0))eb[c[(c[_>>2]|0)+40>>2]&127](_)|0;else{c[aa>>2]=Z+1;Ai(a[Z>>0]|0)|0}P=a[i>>0]|0;X=c[z>>2]|0;ba=pa;Q=Q+1|0}if(H?(ba=a[i>>0]|0,X=ba<<24>>24<0,(Q|0)!=((X?c[z>>2]|0:z)+(X?c[J>>2]|0:ba&255)|0)):0){O=148;break a}else V=N;break}case 4:{ba=U;X=U;P=0;e:while(1){Z=c[e>>2]|0;do if(Z){aa=c[Z+12>>2]|0;if((aa|0)==(c[Z+16>>2]|0))ra=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else ra=Ai(a[aa>>0]|0)|0;if(qj(ra,zi()|0)|0){c[e>>2]=0;sa=1;break}else{sa=(c[e>>2]|0)==0;break}}else sa=1;while(0);do if(ba){Z=c[ba+12>>2]|0;if((Z|0)==(c[ba+16>>2]|0))ta=eb[c[(c[ba>>2]|0)+36>>2]&127](ba)|0;else ta=Ai(a[Z>>0]|0)|0;if(!(qj(ta,zi()|0)|0))if(sa){ua=X;va=ba;break}else{wa=X;break e}else{c[f>>2]=0;xa=0;O=162;break}}else{xa=X;O=162}while(0);if((O|0)==162){O=0;if(sa){wa=xa;break}else{ua=xa;va=0}}Z=c[e>>2]|0;aa=c[Z+12>>2]|0;if((aa|0)==(c[Z+16>>2]|0))ya=eb[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else ya=Ai(a[aa>>0]|0)|0;aa=ya&255;if(aa<<24>>24>-1?(b[(c[h>>2]|0)+(ya<<24>>24<<1)>>1]&2048)!=0:0){Z=c[n>>2]|0;if((Z|0)==(c[q>>2]|0)){ip(m,n,q);za=c[n>>2]|0}else za=Z;c[n>>2]=za+1;a[za>>0]=aa;Aa=P+1|0}else{Z=a[F>>0]|0;if(!((a[x>>0]|0)==aa<<24>>24&(P|0?((Z<<24>>24<0?c[G>>2]|0:Z&255)|0)!=0:0))){wa=ua;break}Z=c[t>>2]|0;if((Z|0)==(c[u>>2]|0)){jp(s,t,u);Ba=c[t>>2]|0}else Ba=Z;c[t>>2]=Ba+4;c[Ba>>2]=P;Aa=0}Z=c[e>>2]|0;aa=Z+12|0;_=c[aa>>2]|0;if((_|0)==(c[Z+16>>2]|0))eb[c[(c[Z>>2]|0)+40>>2]&127](Z)|0;else{c[aa>>2]=_+1;Ai(a[_>>0]|0)|0}ba=va;X=ua;P=Aa}X=c[t>>2]|0;if(P|0?(c[s>>2]|0)!=(X|0):0){if((X|0)==(c[u>>2]|0)){jp(s,t,u);Ca=c[t>>2]|0}else Ca=X;c[t>>2]=Ca+4;c[Ca>>2]=P}f:do if((c[D>>2]|0)>0){X=c[e>>2]|0;do if(X){ba=c[X+12>>2]|0;if((ba|0)==(c[X+16>>2]|0))Da=eb[c[(c[X>>2]|0)+36>>2]&127](X)|0;else Da=Ai(a[ba>>0]|0)|0;if(qj(Da,zi()|0)|0){c[e>>2]=0;Ea=1;break}else{Ea=(c[e>>2]|0)==0;break}}else Ea=1;while(0);do if(wa){X=c[wa+12>>2]|0;if((X|0)==(c[wa+16>>2]|0))Fa=eb[c[(c[wa>>2]|0)+36>>2]&127](wa)|0;else Fa=Ai(a[X>>0]|0)|0;if(!(qj(Fa,zi()|0)|0))if(Ea){Ga=wa;break}else{O=204;break a}else{c[f>>2]=0;O=198;break}}else O=198;while(0);if((O|0)==198){O=0;if(Ea){O=204;break a}else Ga=0}X=c[e>>2]|0;ba=c[X+12>>2]|0;if((ba|0)==(c[X+16>>2]|0))Ha=eb[c[(c[X>>2]|0)+36>>2]&127](X)|0;else Ha=Ai(a[ba>>0]|0)|0;if((a[w>>0]|0)!=(Ha&255)<<24>>24){O=204;break a}ba=c[e>>2]|0;X=ba+12|0;Q=c[X>>2]|0;if((Q|0)==(c[ba+16>>2]|0))eb[c[(c[ba>>2]|0)+40>>2]&127](ba)|0;else{c[X>>2]=Q+1;Ai(a[Q>>0]|0)|0}Q=Ga;while(1){if((c[D>>2]|0)<=0)break f;X=c[e>>2]|0;do if(X){ba=c[X+12>>2]|0;if((ba|0)==(c[X+16>>2]|0))Ia=eb[c[(c[X>>2]|0)+36>>2]&127](X)|0;else Ia=Ai(a[ba>>0]|0)|0;if(qj(Ia,zi()|0)|0){c[e>>2]=0;Ja=1;break}else{Ja=(c[e>>2]|0)==0;break}}else Ja=1;while(0);do if(Q){X=c[Q+12>>2]|0;if((X|0)==(c[Q+16>>2]|0))Ka=eb[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else Ka=Ai(a[X>>0]|0)|0;if(!(qj(Ka,zi()|0)|0))if(Ja){La=Q;break}else{O=230;break a}else{c[f>>2]=0;O=223;break}}else O=223;while(0);if((O|0)==223){O=0;if(Ja){O=230;break a}else La=0}X=c[e>>2]|0;ba=c[X+12>>2]|0;if((ba|0)==(c[X+16>>2]|0))Ma=eb[c[(c[X>>2]|0)+36>>2]&127](X)|0;else Ma=Ai(a[ba>>0]|0)|0;if((Ma&255)<<24>>24<=-1){O=230;break a}if(!(b[(c[h>>2]|0)+(Ma<<24>>24<<1)>>1]&2048)){O=230;break a}if((c[n>>2]|0)==(c[q>>2]|0))ip(m,n,q);ba=c[e>>2]|0;X=c[ba+12>>2]|0;if((X|0)==(c[ba+16>>2]|0))Na=eb[c[(c[ba>>2]|0)+36>>2]&127](ba)|0;else Na=Ai(a[X>>0]|0)|0;X=c[n>>2]|0;c[n>>2]=X+1;a[X>>0]=Na;c[D>>2]=(c[D>>2]|0)+-1;X=c[e>>2]|0;ba=X+12|0;_=c[ba>>2]|0;if((_|0)==(c[X+16>>2]|0))eb[c[(c[X>>2]|0)+40>>2]&127](X)|0;else{c[ba>>2]=_+1;Ai(a[_>>0]|0)|0}Q=La}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){O=241;break a}else V=N;break}default:V=N}while(0);g:do if((O|0)==47){O=0;P=U;while(1){Q=c[e>>2]|0;do if(Q){_=c[Q+12>>2]|0;if((_|0)==(c[Q+16>>2]|0))Oa=eb[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else Oa=Ai(a[_>>0]|0)|0;if(qj(Oa,zi()|0)|0){c[e>>2]=0;Pa=1;break}else{Pa=(c[e>>2]|0)==0;break}}else Pa=1;while(0);do if(P){Q=c[P+12>>2]|0;if((Q|0)==(c[P+16>>2]|0))Qa=eb[c[(c[P>>2]|0)+36>>2]&127](P)|0;else Qa=Ai(a[Q>>0]|0)|0;if(!(qj(Qa,zi()|0)|0))if(Pa){Ra=P;break}else{V=N;break g}else{c[f>>2]=0;O=61;break}}else O=61;while(0);if((O|0)==61){O=0;if(Pa){V=N;break g}else Ra=0}Q=c[e>>2]|0;_=c[Q+12>>2]|0;if((_|0)==(c[Q+16>>2]|0))Sa=eb[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else Sa=Ai(a[_>>0]|0)|0;if((Sa&255)<<24>>24<=-1){V=N;break g}if(!(b[(c[h>>2]|0)+(Sa<<24>>24<<1)>>1]&8192)){V=N;break g}_=c[e>>2]|0;Q=_+12|0;ba=c[Q>>2]|0;if((ba|0)==(c[_+16>>2]|0))Ta=eb[c[(c[_>>2]|0)+40>>2]&127](_)|0;else{c[Q>>2]=ba+1;Ta=Ai(a[ba>>0]|0)|0}Ct(C,Ta&255);P=Ra}}while(0);M=M+1|0;N=V}h:do if((O|0)==45){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==105){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==148){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==204){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==230){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==241){c[j>>2]=c[j>>2]|4;Ua=0}else if((O|0)==243){i:do if(N|0){V=N+11|0;M=N+4|0;Ra=1;j:while(1){Ta=a[V>>0]|0;if(Ta<<24>>24<0)Va=c[M>>2]|0;else Va=Ta&255;if(Ra>>>0>=Va>>>0)break i;Ta=c[e>>2]|0;do if(Ta){Sa=c[Ta+12>>2]|0;if((Sa|0)==(c[Ta+16>>2]|0))Wa=eb[c[(c[Ta>>2]|0)+36>>2]&127](Ta)|0;else Wa=Ai(a[Sa>>0]|0)|0;if(qj(Wa,zi()|0)|0){c[e>>2]=0;Xa=1;break}else{Xa=(c[e>>2]|0)==0;break}}else Xa=1;while(0);Ta=c[f>>2]|0;do if(Ta){Sa=c[Ta+12>>2]|0;if((Sa|0)==(c[Ta+16>>2]|0))Ya=eb[c[(c[Ta>>2]|0)+36>>2]&127](Ta)|0;else Ya=Ai(a[Sa>>0]|0)|0;if(!(qj(Ya,zi()|0)|0))if(Xa)break;else break j;else{c[f>>2]=0;O=262;break}}else O=262;while(0);if((O|0)==262?(O=0,Xa):0)break;Ta=c[e>>2]|0;Sa=c[Ta+12>>2]|0;if((Sa|0)==(c[Ta+16>>2]|0))Za=eb[c[(c[Ta>>2]|0)+36>>2]&127](Ta)|0;else Za=Ai(a[Sa>>0]|0)|0;if((a[V>>0]|0)<0)_a=c[N>>2]|0;else _a=N;if((a[_a+Ra>>0]|0)!=(Za&255)<<24>>24)break;Sa=c[e>>2]|0;Ta=Sa+12|0;h=c[Ta>>2]|0;if((h|0)==(c[Sa+16>>2]|0))eb[c[(c[Sa>>2]|0)+40>>2]&127](Sa)|0;else{c[Ta>>2]=h+1;Ai(a[h>>0]|0)|0}Ra=Ra+1|0}c[j>>2]=c[j>>2]|4;Ua=0;break h}while(0);Ra=c[s>>2]|0;V=c[t>>2]|0;if((Ra|0)!=(V|0)){c[E>>2]=0;cl(y,Ra,V,E);if(!(c[E>>2]|0)){Ua=1;break}else{c[j>>2]=c[j>>2]|4;Ua=0;break}}else Ua=1}while(0);qt(C);qt(B);qt(A);qt(z);qt(y);y=c[s>>2]|0;c[s>>2]=0;if(y|0)qb[c[s+4>>2]&255](y);$a=p;return Ua|0}function ep(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,r=0,s=0,t=0;f=$a;$a=$a+16|0;g=d;h=f;i=b+11|0;j=a[i>>0]|0;k=j<<24>>24<0;if(k){l=(c[b+8>>2]&2147483647)+-1|0;m=c[b+4>>2]|0}else{l=10;m=j&255}n=e-g|0;do if(n|0){if(k){o=c[b>>2]|0;p=c[b+4>>2]|0}else{o=b;p=j&255}if(fp(d,o,o+p|0)|0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gp(h,d,e);q=a[h+11>>0]|0;r=q<<24>>24<0;At(b,r?c[h>>2]|0:h,r?c[h+4>>2]|0:q&255)|0;qt(h);break}if((l-m|0)>>>0<n>>>0)zt(b,l,m+n-l|0,m,m,0,0);if((a[i>>0]|0)<0)s=c[b>>2]|0;else s=b;q=e+(m-g)|0;r=d;t=s+m|0;while(1){if((r|0)==(e|0))break;tk(t,r);r=r+1|0;t=t+1|0}a[h>>0]=0;tk(s+q|0,h);t=m+n|0;if((a[i>>0]|0)<0){c[b+4>>2]=t;break}else{a[i>>0]=t;break}}while(0);$a=f;return b|0}function fp(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function gp(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;f=$a;$a=$a+16|0;g=d;h=f;i=e-g|0;if(i>>>0>4294967279)kt(b);if(i>>>0<11){a[b+11>>0]=i;j=b}else{k=i+16&-16;l=at(k)|0;c[b>>2]=l;c[b+8>>2]=k|-2147483648;c[b+4>>2]=i;j=l}l=e-g|0;g=d;d=j;while(1){if((g|0)==(e|0))break;tk(d,g);g=g+1|0;d=d+1|0}a[h>>0]=0;tk(j+l|0,h);$a=f;return}function hp(b,d,e,f,g,h,i,j,k,l){b=b|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;l=l|0;var 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;m=$a;$a=$a+16|0;n=m+12|0;o=m;if(b){b=Pk(d,26752)|0;rb[c[(c[b>>2]|0)+44>>2]&63](n,b);p=c[n>>2]|0;a[e>>0]=p;a[e+1>>0]=p>>8;a[e+2>>0]=p>>16;a[e+3>>0]=p>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);p=k+11|0;if((a[p>>0]|0)<0){q=c[k>>2]|0;a[n>>0]=0;tk(q,n);c[k+4>>2]=0;r=k}else{a[n>>0]=0;tk(k,n);a[p>>0]=0;r=k}vt(k,0);c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];r=0;while(1){if((r|0)==3)break;c[o+(r<<2)>>2]=0;r=r+1|0}qt(o);rb[c[(c[b>>2]|0)+28>>2]&63](o,b);r=j+11|0;if((a[r>>0]|0)<0){p=c[j>>2]|0;a[n>>0]=0;tk(p,n);c[j+4>>2]=0;s=j}else{a[n>>0]=0;tk(j,n);a[r>>0]=0;s=j}vt(j,0);c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];s=0;while(1){if((s|0)==3)break;c[o+(s<<2)>>2]=0;s=s+1|0}qt(o);a[f>>0]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);s=h+11|0;if((a[s>>0]|0)<0){r=c[h>>2]|0;a[n>>0]=0;tk(r,n);c[h+4>>2]=0;t=h}else{a[n>>0]=0;tk(h,n);a[s>>0]=0;t=h}vt(h,0);c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];t=0;while(1){if((t|0)==3)break;c[o+(t<<2)>>2]=0;t=t+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);t=i+11|0;if((a[t>>0]|0)<0){s=c[i>>2]|0;a[n>>0]=0;tk(s,n);c[i+4>>2]=0;u=i}else{a[n>>0]=0;tk(i,n);a[t>>0]=0;u=i}vt(i,0);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];u=0;while(1){if((u|0)==3)break;c[o+(u<<2)>>2]=0;u=u+1|0}qt(o);v=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}else{b=Pk(d,26744)|0;rb[c[(c[b>>2]|0)+44>>2]&63](n,b);d=c[n>>2]|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;rb[c[(c[b>>2]|0)+32>>2]&63](o,b);d=k+11|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;a[n>>0]=0;tk(e,n);c[k+4>>2]=0;w=k}else{a[n>>0]=0;tk(k,n);a[d>>0]=0;w=k}vt(k,0);c[w>>2]=c[o>>2];c[w+4>>2]=c[o+4>>2];c[w+8>>2]=c[o+8>>2];w=0;while(1){if((w|0)==3)break;c[o+(w<<2)>>2]=0;w=w+1|0}qt(o);rb[c[(c[b>>2]|0)+28>>2]&63](o,b);w=j+11|0;if((a[w>>0]|0)<0){k=c[j>>2]|0;a[n>>0]=0;tk(k,n);c[j+4>>2]=0;x=j}else{a[n>>0]=0;tk(j,n);a[w>>0]=0;x=j}vt(j,0);c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];x=0;while(1){if((x|0)==3)break;c[o+(x<<2)>>2]=0;x=x+1|0}qt(o);a[f>>0]=eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;rb[c[(c[b>>2]|0)+20>>2]&63](o,b);g=h+11|0;if((a[g>>0]|0)<0){f=c[h>>2]|0;a[n>>0]=0;tk(f,n);c[h+4>>2]=0;y=h}else{a[n>>0]=0;tk(h,n);a[g>>0]=0;y=h}vt(h,0);c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];y=0;while(1){if((y|0)==3)break;c[o+(y<<2)>>2]=0;y=y+1|0}qt(o);rb[c[(c[b>>2]|0)+24>>2]&63](o,b);y=i+11|0;if((a[y>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;tk(h,n);c[i+4>>2]=0;z=i}else{a[n>>0]=0;tk(i,n);a[y>>0]=0;z=i}vt(i,0);c[z>>2]=c[o>>2];c[z+4>>2]=c[o+4>>2];c[z+8>>2]=c[o+8>>2];z=0;while(1){if((z|0)==3)break;c[o+(z<<2)>>2]=0;z=z+1|0}qt(o);v=eb[c[(c[b>>2]|0)+36>>2]&127](b)|0}c[l>>2]=v;$a=m;return}function ip(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;e=a+4|0;f=(c[e>>2]|0)!=168;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i<<1;k=i>>>0<2147483647?((j|0)==0?1:j):-1;j=(c[b>>2]|0)-h|0;h=Vh(f?g:0,k)|0;if(!h)$s();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)l=h;else{qb[c[e>>2]&255](f);l=c[a>>2]|0}}else{c[a>>2]=h;l=h}c[e>>2]=169;c[b>>2]=l+j;c[d>>2]=(c[a>>2]|0)+k;return}function jp(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;e=a+4|0;f=(c[e>>2]|0)!=168;g=c[a>>2]|0;h=g;i=(c[d>>2]|0)-h|0;j=i<<1;k=i>>>0<2147483647?((j|0)==0?4:j):-1;j=(c[b>>2]|0)-h>>2;h=Vh(f?g:0,k)|0;if(!h)$s();if(!f){f=c[a>>2]|0;c[a>>2]=h;if(!f)l=h;else{qb[c[e>>2]&255](f);l=c[a>>2]|0}}else{c[a>>2]=h;l=h}c[e>>2]=169;c[b>>2]=l+(j<<2);c[d>>2]=(c[a>>2]|0)+(k>>>2<<2);return}function kp(a){a=a|0;uk(a);return}function lp(a){a=a|0;uk(a);ct(a);return}function mp(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,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;b=$a;$a=$a+592|0;j=b+512|0;k=b+552|0;l=b+112|0;m=b+568|0;n=b+564|0;o=b+560|0;p=b+576|0;q=b+556|0;r=b;c[m>>2]=l;c[m+4>>2]=168;rj(o,g);s=Pk(o,26552)|0;a[p>>0]=0;c[q>>2]=c[e>>2];t=c[g+4>>2]|0;c[j>>2]=c[q>>2];if(op(d,j,f,o,t,h,p,s,m,n,l+400|0)|0){ib[c[(c[s>>2]|0)+48>>2]&7](s,18896,18906,j)|0;s=c[n>>2]|0;l=c[m>>2]|0;t=s-l|0;f=l;l=s;if((t|0)>392){s=Th((t>>>2)+2|0)|0;if(!s)$s();else{u=s;v=s}}else{u=0;v=r}if(!(a[p>>0]|0))w=v;else{a[v>>0]=45;w=v+1|0}v=j+40|0;p=j;s=l;l=w;w=f;while(1){if(w>>>0>=s>>>0)break;f=c[w>>2]|0;t=j;while(1){if((t|0)==(v|0)){x=v;break}if((c[t>>2]|0)==(f|0)){x=t;break}t=t+4|0}a[l>>0]=a[18896+(x-p>>2)>>0]|0;s=c[n>>2]|0;l=l+1|0;w=w+4|0}a[l>>0]=0;c[k>>2]=i;if((mh(r,18797,k)|0)!=1)ho(0);if(u|0)Uh(u)}u=c[d>>2]|0;do if(u){k=c[u+12>>2]|0;if((k|0)==(c[u+16>>2]|0))y=eb[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=Si(c[k>>2]|0)|0;if(sj(y,Ri()|0)|0){c[d>>2]=0;z=1;break}else{z=(c[d>>2]|0)==0;break}}else z=1;while(0);y=c[e>>2]|0;do if(y){u=c[y+12>>2]|0;if((u|0)==(c[y+16>>2]|0))A=eb[c[(c[y>>2]|0)+36>>2]&127](y)|0;else A=Si(c[u>>2]|0)|0;if(!(sj(A,Ri()|0)|0))if(z)break;else{B=34;break}else{c[e>>2]=0;B=32;break}}else B=32;while(0);if((B|0)==32?z:0)B=34;if((B|0)==34)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;Qk(o);o=c[m>>2]|0;c[m>>2]=0;if(o|0)qb[c[m+4>>2]&255](o);$a=b;return h|0}function np(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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=$a;$a=$a+432|0;j=b+424|0;k=b;l=b+416|0;m=b+408|0;n=b+400|0;o=b+428|0;p=b+404|0;c[l>>2]=k;c[l+4>>2]=168;rj(n,g);q=Pk(n,26552)|0;a[o>>0]=0;r=c[e>>2]|0;c[p>>2]=r;s=c[g+4>>2]|0;c[j>>2]=c[p>>2];p=r;if(op(d,j,f,n,s,h,o,q,l,m,k+400|0)|0){k=i+8+3|0;if((a[k>>0]|0)<0){s=c[i>>2]|0;c[j>>2]=0;Bk(s,j);c[i+4>>2]=0}else{c[j>>2]=0;Bk(i,j);a[k>>0]=0}if(a[o>>0]|0)Rt(i,gb[c[(c[q>>2]|0)+44>>2]&31](q,45)|0);o=gb[c[(c[q>>2]|0)+44>>2]&31](q,48)|0;q=c[m>>2]|0;m=q+-4|0;k=c[l>>2]|0;while(1){if(k>>>0>=m>>>0)break;if((c[k>>2]|0)!=(o|0))break;k=k+4|0}pp(i,k,q)|0}q=c[d>>2]|0;do if(q){k=c[q+12>>2]|0;if((k|0)==(c[q+16>>2]|0))t=eb[c[(c[q>>2]|0)+36>>2]&127](q)|0;else t=Si(c[k>>2]|0)|0;if(sj(t,Ri()|0)|0){c[d>>2]=0;u=1;break}else{u=(c[d>>2]|0)==0;break}}else u=1;while(0);do if(r){t=c[p+12>>2]|0;if((t|0)==(c[p+16>>2]|0))v=eb[c[(c[r>>2]|0)+36>>2]&127](p)|0;else v=Si(c[t>>2]|0)|0;if(!(sj(v,Ri()|0)|0))if(u)break;else{w=27;break}else{c[e>>2]=0;w=25;break}}else w=25;while(0);if((w|0)==25?u:0)w=27;if((w|0)==27)c[h>>2]=c[h>>2]|2;h=c[d>>2]|0;Qk(n);n=c[l>>2]|0;c[l>>2]=0;if(n|0)qb[c[l+4>>2]&255](n);$a=b;return h|0}

// EMSCRIPTEN_END_FUNCS
var cb=[Tv,cd,md,Tv];var db=[Uv,tc,xc,Cc,Gc,Uv,Uv,Uv];var eb=[Vv,Fe,si,Le,vi,ri,gf,sf,ui,Ji,Ki,Mi,Ni,Sj,Yj,ck,dk,ik,jk,Fm,Mm,Nm,Om,Pm,Qm,Rm,Sm,on,vn,wn,xn,yn,zn,An,Bn,ko,lo,qo,vo,wo,Bo,Go,Ho,Mo,Ro,So,Xo,Up,Vp,Xp,kq,lq,nq,Sq,Tq,Zq,_q,dq,eq,gq,tq,uq,wq,Hu,Nu,Tu,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv,Vv];var fb=[Wv,Sf];var gb=[Xv,Ys,Me,Ne,hf,jf,wi,yi,Oi,Qi,Uj,_j,ek,kk,Fq,Hq,Jq,ir,kr,mr,Xv,Xv,Xv,Xv,Xv,Xv,Xv,Xv,Xv,Xv,Xv,Xv];var hb=[Yv,Ie,ti,xi,oi,tf,yf,zf,mg,Gi,Li,Pi,Tj,Zj,rk,zk,Ip,Np,Gq,Iq,Lq,er,jr,lr,or,lu,Vu,oh,Yv,Yv,Yv,Yv];var ib=[Zv,uf,Kq,fr,gr,hr,nr,Zv];var jb=[_v,gm,hm,xm,ym,_v,_v,_v];var kb=[$v,pk,xk,bm,cm,em,im,sm,tm,vm,zm,Tp,Wp,jq,mq,Mq,pr,cq,fq,sq,vq,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v,$v];var lb=[aw,wp,Cp,aw];var mb=[bw,Ek,Fk,Gk,Hk,Ik,Jk,Kk,Lk,Mk,Nk,Ok,Al,Bl,Cl,Dl,El,Fl,Gl,Hl,Il,Jl,Kl,dm,fm,um,wm,Gm,Hm,Im,Jm,Km,pn,qn,rn,sn,tn,xp,Dp,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw,bw];var nb=[cw,Zn,eo,ap,bp,mp,np,cw];var ob=[dw,Lm,un,Rp,Sp,hq,iq,aq,bq,qq,rq,dw,dw,dw,dw,dw];var pb=[ew,fw,eu,Xe,zu,ew,ew,ew];var qb=[gw,Kb,Lb,mc,nc,sc,vc,wc,Ac,Bc,Fc,ad,bd,kd,ld,Vd,Wd,Xd,Yd,Rd,Sd,Td,Ud,Nd,Od,Pd,Qd,Jd,Kd,Ld,Md,Vi,Wi,Xi,Yi,Oe,Pe,Qe,Re,Be,Ce,De,Ee,xe,ye,ze,Ae,ne,oe,pe,qe,je,ke,le,me,se,te,ue,ve,ae,Ge,kf,lf,mf,nf,cf,df,hi,ji,li,mi,Di,Ei,_i,$i,aj,bj,dj,ej,fj,gj,ij,jj,kj,lj,Qj,Wj,ak,gk,mk,nk,ok,vk,wk,Ck,Dk,yl,zl,$l,am,qm,rm,Dm,Em,mn,nn,Xn,Yn,bo,co,io,jo,to,uo,Eo,Fo,Po,Qo,_o,$o,kp,lp,up,vp,Ap,Bp,Gp,Hp,Lp,Mp,uk,$p,Qp,oq,pq,Aq,Bq,Dq,Eq,Qq,Rq,Xq,Yq,cr,dr,qr,rr,sr,hu,iu,ju,ku,uu,Fu,Gu,Lu,Mu,Ou,Pu,Qu,Ru,Su,Uu,Wu,We,Ze,Wk,Yk,cp,Uh,Au,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw,gw];var rb=[hw,rc,Hc,gd,hd,id,qd,rd,sd,He,ni,Fi,Rj,Xj,bk,hk,mo,no,oo,po,ro,so,xo,yo,zo,Ao,Co,Do,Io,Jo,Ko,Lo,No,Oo,To,Uo,Vo,Wo,Yo,Zo,Kp,Pp,Uq,Vq,Wq,$q,ar,br,Ye,Tf,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw,hw];var sb=[iw,oc,Dc,iw];var tb=[jw,ed,od,jw];var ub=[kw,fd,pd,kw];var vb=[lw,Ke,ff,qi,Ii,qk,yk,ou,xu,Zu,$e,lw,lw,lw,lw,lw];var wb=[mw,dd,nd,mw];var xb=[nw,nu,wu,Yu,_e,nw,nw,nw];var yb=[ow,Je,ef,pi,Hi,Jp,Op,mu,vu,Xu,ow,ow,ow,ow,ow,ow];return{__ZSt18uncaught_exceptionv:ci,___cxa_can_catch:fv,___cxa_is_pointer_type:gv,___embind_register_native_and_builtin_types:qf,___errno_location:wf,___getTypeName:rf,___muldi3:iv,___udivdi3:nv,___uremdi3:ov,_bitshift64Lshr:pv,_bitshift64Shl:qv,_free:Uh,_i64Add:jv,_i64Subtract:kv,_main:of,_malloc:Th,_memcpy:rv,_memmove:sv,_memset:tv,_pthread_cond_broadcast:uv,_sbrk:vv,dynCall_diiii:wv,dynCall_diiiidi:xv,dynCall_ii:yv,dynCall_iidiiii:zv,dynCall_iii:Av,dynCall_iiii:Bv,dynCall_iiiii:Cv,dynCall_iiiiid:Dv,dynCall_iiiiii:Ev,dynCall_iiiiiid:Fv,dynCall_iiiiiii:Gv,dynCall_iiiiiiii:Hv,dynCall_iiiiiiiii:Iv,dynCall_v:Jv,dynCall_vi:Kv,dynCall_vii:Lv,dynCall_viidii:Mv,dynCall_viii:Nv,dynCall_viiid:Ov,dynCall_viiii:Pv,dynCall_viiiid:Qv,dynCall_viiiii:Rv,dynCall_viiiiii:Sv,establishStackSpace:Db,globalCtors:zb,stackAlloc:Ab,stackRestore:Cb,stackSave:Bb}})


// EMSCRIPTEN_END_ASM
(asmGlobalArg,asmLibraryArg,buffer);var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];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 ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];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 ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];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 _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];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_diiii=Module["dynCall_diiii"]=asm["dynCall_diiii"];var dynCall_diiiidi=Module["dynCall_diiiidi"]=asm["dynCall_diiiidi"];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_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];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_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiid=Module["dynCall_viiiid"]=asm["dynCall_viiiid"];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})};if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){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||[];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;initRuntime();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='"'+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();

