summaryrefslogtreecommitdiff
path: root/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js')
-rw-r--r--extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js b/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js
new file mode 100644
index 00000000..13c6c731
--- /dev/null
+++ b/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/binPlayers/ogv.js/ogv-demuxer-ogg.js
@@ -0,0 +1,23 @@
+var OGVDemuxerOgg = function(Module) {
+ Module = Module || {};
+
+var options=Module;Module={print:(function(str){console.log(str)})};var Module;if(!Module)Module=(typeof OGVDemuxerOgg!=="undefined"?OGVDemuxerOgg:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<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];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<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){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;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){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;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}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+3392;__ATINIT__.push();allocate([0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,79,103,103,83,0,0,0,0,184,8,0,0,7,0,0,0,192,8,0,0,1,0,0,0,1,0,0,0,2,0,0,0,200,8,0,0,7,0,0,0,208,8,0,0,3,0,0,0,2,0,0,0,4,0,0,0,216,8,0,0,5,0,0,0,216,8,0,0,5,0,0,0,3,0,0,0,0,0,0,0,224,8,0,0,8,0,0,0,240,8,0,0,6,0,0,0,0,0,0,0,0,0,0,0,248,8,0,0,8,0,0,0,8,9,0,0,7,0,0,0,0,0,0,0,0,0,0,0,16,9,0,0,7,0,0,0,16,9,0,0,8,0,0,0,0,0,0,0,0,0,0,0,24,9,0,0,7,0,0,0,32,9,0,0,9,0,0,0,0,0,0,0,0,0,0,0,48,9,0,0,4,0,0,0,56,9,0,0,10,0,0,0,4,0,0,0,0,0,0,0,64,9,0,0,5,0,0,0,72,9,0,0,11,0,0,0,4,0,0,0,0,0,0,0,80,9,0,0,7,0,0,0,80,9,0,0,12,0,0,0,0,0,0,0,0,0,0,0,88,9,0,0,8,0,0,0,104,9,0,0,13,0,0,0,5,0,0,0,0,0,0,0,112,9,0,0,8,0,0,0,128,9,0,0,14,0,0,0,0,0,0,0,0,0,0,0,136,9,0,0,5,0,0,0,144,9,0,0,15,0,0,0,0,0,0,0,0,0,0,0,152,9,0,0,8,0,0,0,168,9,0,0,16,0,0,0,6,0,0,0,17,0,0,0,176,9,0,0,5,0,0,0,184,9,0,0,18,0,0,0,7,0,0,0,0,0,0,0,192,9,0,0,0,0,0,0,200,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,118,111,114,98,105,115,0,129,116,104,101,111,114,97,0,129,107,97,116,101,0,0,0,0,0,0,0,0,0,0,0,79,112,117,115,84,97,103,115,0,0,0,0,0,0,0,0,79,86,80,56,48,2,32,0,128,2,0,0,204,1,0,0,24,0,0,0,1,0,0,0,176,0,0,0,120,0,0,0,96,1,0,0,240,0,0,0,96,1,0,0,32,1,0,0,192,2,0,0,224,1,0,0,192,2,0,0,64,2,0,0,208,2,0,0,224,1,0,0,208,2,0,0,64,2,0,0,0,5,0,0,208,2,0,0,0,5,0,0,208,2,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,0,8,0,0,56,4,0,0,0,16,0,0,112,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,10,0,0,0,9,0,0,0,10,0,0,0,9,0,0,0,10,0,0,0,4,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,192,93,0,0,233,3,0,0,24,0,0,0,1,0,0,0,25,0,0,0,1,0,0,0,48,117,0,0,233,3,0,0,30,0,0,0,1,0,0,0,50,0,0,0,1,0,0,0,96,234,0,0,233,3,0,0,60,0,0,0,1,0,0,0,152,58,0,0,233,3,0,0,25,0,0,0,2,0,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,128,116,104,101,111,114,97,0,84,104,101,111,114,97,0,0,1,118,111,114,98,105,115,0,86,111,114,98,105,115,0,0,83,112,101,101,120,0,0,0,80,67,77,32,32,32,32,32,0,0,0,0,0,0,0,0,80,67,77,0,0,0,0,0,67,77,77,76,0,0,0,0,0,0,0,0,0,0,0,0,67,77,77,76,0,0,0,0,65,110,110,111,100,101,120,0,102,105,115,104,101,97,100,0,83,107,101,108,101,116,111,110,0,0,0,0,0,0,0,0,102,76,97,67,0,0,0,0,70,108,97,99,48,0,0,0,127,70,76,65,67,0,0,0,70,108,97,99,0,0,0,0,65,110,120,68,97,116,97,0,67,69,76,84,32,32,32,32,0,0,0,0,0,0,0,0,67,69,76,84,0,0,0,0,128,107,97,116,101,0,0,0,0,0,0,0,0,0,0,0,75,97,116,101,0,0,0,0,66,66,67,68,0,0,0,0,68,105,114,97,99,0,0,0,79,112,117,115,72,101,97,100,0,0,0,0,0,0,0,0,79,112,117,115,0,0,0,0,79,86,80,56,48,0,0,0,86,80,56,0,0,0,0,0,0,0,0,0,0,0,0,0,85,110,107,110,111,119,110,0,86,80,56,48,0,0,0,0,102,105,115,104,101,97,100,0,0,0,0,0,0,0,0,0,102,105,115,98,111,110,101,0,0,0,0,0,0,0,0,0,105,110,100,101,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,69,114,114,111,114,32,37,100,32,102,114,111,109,32,111,103,103,122,95,114,101,97,100,95,105,110,112,117,116,10,0,0,69,120,112,101,99,116,101,100,32,116,111,32,114,101,97,100,32,37,100,32,102,114,111,109,32,111,103,103,122,95,114,101,97,100,95,105,110,112,117,116,32,98,117,116,32,103,97,118,101,32,37,100,10,0,0,0,116,104,101,111,114,97,0,0,118,111,114,98,105,115,0,0,111,112,117,115,0,0,0,0,73,110,118,97,108,105,100,32,111,103,103,32,115,107,101,108,101,116,111,110,32,116,114,97,99,107,32,100,97,116,97,63,32,37,100,10,0,0,0,0,73,110,118,97,108,105,100,32,115,116,97,116,101,32,105,110,32,79,103,103,32,114,101,97,100,80,97,99,107,101,116,67,97,108,108,98,97,99,107,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,115,107,101,108,101,116,111,110,32,112,97,99,107,101,116,58,32,37,100,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _ogvjs_callback_loaded_metadata(videoCodecStr,audioCodecStr){if(videoCodecStr){Module.videoCodec=Module.Pointer_stringify(videoCodecStr)}if(audioCodecStr){Module.audioCodec=Module.Pointer_stringify(audioCodecStr)}var len=Module._ogv_demuxer_media_duration();if(len>=0){Module.duration=len}else{Module.duration=NaN}Module.loadedMetadata=true}Module["_bitshift64Ashr"]=_bitshift64Ashr;function _ogvjs_callback_video_packet(buffer,len,frameTimestamp,keyframeTimestamp){Module.videoPackets.push({data:Module.HEAPU8.buffer.slice?Module.HEAPU8.buffer.slice(buffer,buffer+len):(new Uint8Array(new Uint8Array(Module.HEAPU8.buffer,buffer,len))).buffer,timestamp:frameTimestamp,keyframeTimestamp:keyframeTimestamp})}Module["_i64Subtract"]=_i64Subtract;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _SItoD=true;var _SItoF=true;Module["_memset"]=_memset;var FS=undefined;function _close(fildes){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{FS.close(stream);return 0}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fclose(stream){var fd=_fileno(stream);return _close(fd)}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}var SOCKFS=undefined;function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}Module["_strlen"]=_strlen;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=0;function getNextArg(type){var ret;argIndex=Runtime.prepVararg(argIndex,type);if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3]);argIndex+=8}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[varargs+argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"f":case"F":case"e":case"E":case"g":case"G":{var currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break};case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _printf(format,varargs){var result=__formatString(format,varargs);var string=intArrayToString(result);if(string[string.length-1]==="\n")string=string.substr(0,string.length-1);Module.print(string);return result.length}function _ogvjs_callback_frame_ready(){return Module.videoPackets.length>0?1:0}function _fflush(stream){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_strncpy"]=_strncpy;Module["_i64Add"]=_i64Add;function _ogvjs_callback_audio_packet(buffer,len,audioTimestamp){Module.audioPackets.push({data:Module.HEAPU8.buffer.slice?Module.HEAPU8.buffer.slice(buffer,buffer+len):(new Uint8Array(new Uint8Array(Module.HEAPU8.buffer,buffer,len))).buffer,timestamp:audioTimestamp})}Module["_memmove"]=_memmove;function _ogvjs_callback_audio_ready(){return Module.audioPackets.length>0?1:0}function _lseek(fildes,offset,whence){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{return FS.llseek(stream,offset,whence)}catch(e){FS.handleFSError(e);return-1}}function _fseek(stream,offset,whence){var fd=_fileno(stream);var ret=_lseek(fd,offset,whence);if(ret==-1){return-1}stream=FS.getStreamFromPtr(stream);stream.eof=false;return 0}function ___errno_location(){return ___errno_state}function _ftell(stream){stream=FS.getStreamFromPtr(stream);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}if(FS.isChrdev(stream.node.mode)){___setErrNo(ERRNO_CODES.ESPIPE);return-1}else{return stream.position}}Module["_strcpy"]=_strcpy;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_ii":invoke_ii,"invoke_iiiii":invoke_iiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_send":_send,"_lseek":_lseek,"___setErrNo":___setErrNo,"_ogvjs_callback_audio_packet":_ogvjs_callback_audio_packet,"_ogvjs_callback_loaded_metadata":_ogvjs_callback_loaded_metadata,"_fflush":_fflush,"_pwrite":_pwrite,"__reallyNegative":__reallyNegative,"_sbrk":_sbrk,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_fileno":_fileno,"_ogvjs_callback_frame_ready":_ogvjs_callback_frame_ready,"_sysconf":_sysconf,"_close":_close,"_ogvjs_callback_video_packet":_ogvjs_callback_video_packet,"_fseek":_fseek,"_printf":_printf,"_fclose":_fclose,"_write":_write,"_ftell":_ftell,"___errno_location":___errno_location,"_abort":_abort,"_fwrite":_fwrite,"_time":_time,"_fprintf":_fprintf,"__formatString":__formatString,"_ogvjs_callback_audio_ready":_ogvjs_callback_audio_ready,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
+var asm=(function(global,env,buffer) {
+"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_vi;var fa=env.invoke_ii;var ga=env.invoke_iiiii;var ha=env.invoke_iii;var ia=env.invoke_iiiiii;var ja=env._send;var ka=env._lseek;var la=env.___setErrNo;var ma=env._ogvjs_callback_audio_packet;var na=env._ogvjs_callback_loaded_metadata;var oa=env._fflush;var pa=env._pwrite;var qa=env.__reallyNegative;var ra=env._sbrk;var sa=env._emscripten_memcpy_big;var ta=env._fileno;var ua=env._ogvjs_callback_frame_ready;var va=env._sysconf;var wa=env._close;var xa=env._ogvjs_callback_video_packet;var ya=env._fseek;var za=env._printf;var Aa=env._fclose;var Ba=env._write;var Ca=env._ftell;var Da=env.___errno_location;var Ea=env._abort;var Fa=env._fwrite;var Ga=env._time;var Ha=env._fprintf;var Ia=env.__formatString;var Ja=env._ogvjs_callback_audio_ready;var Ka=0.0;
+// EMSCRIPTEN_START_FUNCS
+function Ra(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Sa(){return i|0}function Ta(a){a=a|0;i=a}function Ua(a,b){a=a|0;b=b|0;i=a;j=b}function Va(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Wa(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Xa(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Ya(a){a=a|0;C=a}function Za(){return C|0}function _a(a){a=a|0;return (d[(c[a>>2]|0)+5>>0]|0)&1|0}function $a(a){a=a|0;return (d[(c[a>>2]|0)+5>>0]|0)&2|0}function ab(a){a=a|0;var b=0,e=0;b=c[a>>2]|0;a=Ie(d[b+13>>0]|0|0,0,8)|0;e=Ie(a|(d[b+12>>0]|0)|0,C|0,8)|0;a=Ie(e|(d[b+11>>0]|0)|0,C|0,8)|0;e=Ie(a|(d[b+10>>0]|0)|0,C|0,8)|0;a=Ie(e|(d[b+9>>0]|0)|0,C|0,8)|0;e=Ie(a|(d[b+8>>0]|0)|0,C|0,8)|0;a=Ie(e|(d[b+7>>0]|0)|0,C|0,8)|0;return a|(d[b+6>>0]|0)|0}function bb(a){a=a|0;var b=0;b=c[a>>2]|0;return (d[b+15>>0]|0)<<8|(d[b+14>>0]|0)|(d[b+16>>0]|0)<<16|(d[b+17>>0]|0)<<24|0}function cb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a){d=-1;return d|0}He(a|0,0,360)|0;c[a+4>>2]=16384;c[a+24>>2]=1024;e=ye(16384)|0;c[a>>2]=e;f=ye(4096)|0;g=a+16|0;c[g>>2]=f;h=ye(8192)|0;i=a+20|0;c[i>>2]=h;do if(!e)j=f;else{if((h|0)==0|(f|0)==0){ze(e);j=c[g>>2]|0;break}c[a+336>>2]=b;d=0;return d|0}while(0);if(j)ze(j);j=c[i>>2]|0;if(j)ze(j);He(a|0,0,360)|0;d=-1;return d|0}function db(a){a=a|0;var b=0;if(!a)return 0;b=c[a>>2]|0;if(b)ze(b);b=c[a+16>>2]|0;if(b)ze(b);b=c[a+20>>2]|0;if(b)ze(b);He(a|0,0,360)|0;return 0}function eb(a){a=a|0;if(!a)return 0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return 0}function fb(a){a=a|0;var b=0;if(!a)return 0;b=c[a>>2]|0;if(b)ze(b);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return 0}function gb(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;if((e|0)<=-1){f=0;return f|0}g=a+12|0;h=c[g>>2]|0;i=a+8|0;if(!h)j=e;else{k=(c[i>>2]|0)-h|0;c[i>>2]=k;if((k|0)>0){l=c[a>>2]|0;Ne(l|0,l+h|0,k|0)|0;m=c[d>>2]|0}else m=e;c[g>>2]=0;j=m}m=c[i>>2]|0;do if((j-m|0)<(b|0)){g=b+4096+m|0;e=c[a>>2]|0;if(!e)n=ye(g)|0;else n=Be(e,g)|0;if(n){c[a>>2]=n;c[d>>2]=g;o=n;p=c[i>>2]|0;break}g=c[a>>2]|0;if(g)ze(g);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;f=0;return f|0}else{o=c[a>>2]|0;p=m}while(0);f=o+p|0;return f|0}function hb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;if((d|0)<=-1){e=-1;return e|0}f=a+8|0;a=(c[f>>2]|0)+b|0;if((a|0)>(d|0)){e=-1;return e|0}c[f>>2]=a;e=0;return e|0}function ib(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;i=i+16|0;g=f;h=c[b>>2]|0;j=b+12|0;k=c[j>>2]|0;l=h+k|0;m=b+8|0;n=(c[m>>2]|0)-k|0;if((c[b+4>>2]|0)<=-1){o=0;i=f;return o|0}p=b+20|0;q=c[p>>2]|0;do if(!q){if((n|0)<27){o=0;i=f;return o|0}if(ve(l,1032,4)|0){r=b+24|0;break}s=h+(k+26)|0;t=a[s>>0]|0;u=(t&255)+27|0;if((n|0)<(u|0)){o=0;i=f;return o|0}if(t<<24>>24){t=k+27|0;v=b+24|0;w=c[v>>2]|0;x=0;do{w=w+(d[h+(t+x)>>0]|0)|0;c[v>>2]=w;x=x+1|0}while((x|0)<(d[s>>0]|0|0))}c[p>>2]=u;y=u;z=11}else{y=q;z=11}while(0);do if((z|0)==11){q=b+24|0;if((y+(c[q>>2]|0)|0)>(n|0)){o=0;i=f;return o|0}s=h+(k+22)|0;x=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;c[g>>2]=x;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;w=c[p>>2]|0;v=w+k|0;t=c[q>>2]|0;a[s>>0]=0;A=h+(k+23)|0;a[A>>0]=0;B=h+(k+24)|0;a[B>>0]=0;C=h+(k+25)|0;a[C>>0]=0;if((w|0)>0){D=0;E=0;while(1){F=c[8+(((d[h+(E+k)>>0]|0)^D>>>24)<<2)>>2]^D<<8;E=E+1|0;if((E|0)==(w|0)){G=F;break}else D=F}}else G=0;if((t|0)>0){D=G;w=0;while(1){E=c[8+(((d[h+(v+w)>>0]|0)^D>>>24)<<2)>>2]^D<<8;w=w+1|0;if((w|0)==(t|0)){H=E;break}else D=E}}else H=G;a[s>>0]=H;a[A>>0]=H>>>8;a[B>>0]=H>>>16;a[C>>0]=H>>>24;if(ve(g,s,4)|0){a[s>>0]=x;a[s+1>>0]=x>>8;a[s+2>>0]=x>>16;a[s+3>>0]=x>>24;r=q;break}D=c[b>>2]|0;t=c[j>>2]|0;if(!e){I=c[q>>2]|0;J=c[p>>2]|0}else{c[e>>2]=D+t;w=c[p>>2]|0;c[e+4>>2]=w;c[e+8>>2]=D+(w+t);D=c[q>>2]|0;c[e+12>>2]=D;I=D;J=w}c[b+16>>2]=0;w=I+J|0;c[j>>2]=t+w;c[p>>2]=0;c[q>>2]=0;o=w;i=f;return o|0}while(0);c[p>>2]=0;c[r>>2]=0;r=ue(h+(k+1)|0,79,n+-1|0)|0;n=c[b>>2]|0;if(!r)K=n+(c[m>>2]|0)|0;else K=r;r=K;c[j>>2]=r-n;o=l-r|0;i=f;return o|0}function jb(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,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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;f=c[e>>2]|0;g=c[e+8>>2]|0;h=c[e+12>>2]|0;e=a[f+4>>0]|0;i=d[f+5>>0]|0;j=i&1;k=i&2;l=i&4;i=Ie(d[f+13>>0]|0|0,0,8)|0;m=Ie(i|(d[f+12>>0]|0)|0,C|0,8)|0;i=Ie(m|(d[f+11>>0]|0)|0,C|0,8)|0;m=Ie(i|(d[f+10>>0]|0)|0,C|0,8)|0;i=Ie(m|(d[f+9>>0]|0)|0,C|0,8)|0;m=Ie(i|(d[f+8>>0]|0)|0,C|0,8)|0;i=Ie(m|(d[f+7>>0]|0)|0,C|0,8)|0;m=C;n=i|(d[f+6>>0]|0);i=(d[f+15>>0]|0)<<8|(d[f+14>>0]|0)|(d[f+16>>0]|0)<<16|(d[f+17>>0]|0)<<24;o=(d[f+19>>0]|0)<<8|(d[f+18>>0]|0)|(d[f+20>>0]|0)<<16|(d[f+21>>0]|0)<<24;p=d[f+26>>0]|0;if(!b){q=-1;return q|0}r=c[b>>2]|0;if(!r){q=-1;return q|0}s=b+36|0;t=c[s>>2]|0;u=b+12|0;v=c[u>>2]|0;if(v){w=b+8|0;x=c[w>>2]|0;y=x-v|0;c[w>>2]=y;if((x|0)!=(v|0))Ne(r|0,r+v|0,y|0)|0;c[u>>2]=0}if(t){u=b+28|0;y=c[u>>2]|0;if((y|0)==(t|0))z=t;else{v=c[b+16>>2]|0;Ne(v|0,v+(t<<2)|0,y-t<<2|0)|0;y=c[b+20>>2]|0;Ne(y|0,y+(t<<3)|0,(c[u>>2]|0)-t<<3|0)|0;z=c[u>>2]|0}c[u>>2]=z-t;z=b+32|0;c[z>>2]=(c[z>>2]|0)-t;c[s>>2]=0}if(e<<24>>24!=0?1:(i|0)!=(c[b+336>>2]|0)){q=-1;return q|0}if(nb(b,p+1|0)|0){q=-1;return q|0}i=b+340|0;e=c[i>>2]|0;if((o|0)!=(e|0)){s=b+32|0;t=c[s>>2]|0;z=b+28|0;u=c[z>>2]|0;if((t|0)<(u|0)){y=c[b+16>>2]|0;v=b+8|0;r=c[v>>2]|0;x=t;while(1){w=r-(c[y+(x<<2)>>2]&255)|0;x=x+1|0;if((x|0)>=(u|0)){A=w;break}else r=w}c[v>>2]=A}c[z>>2]=t;if((e|0)!=-1){e=t+1|0;c[z>>2]=e;c[(c[b+16>>2]|0)+(t<<2)>>2]=1024;c[s>>2]=e}}a:do if(!j){B=g;D=h;E=k;F=0}else{e=c[b+28>>2]|0;if((e|0)>=1?(c[(c[b+16>>2]|0)+(e+-1<<2)>>2]|0)!=1024:0){B=g;D=h;E=k;F=0;break}else{G=g;H=h;I=0}while(1){if((I|0)>=(p|0)){B=G;D=H;E=0;F=I;break a}e=a[f+(I+27)>>0]|0;s=e&255;t=G+s|0;z=H-s|0;s=I+1|0;if(e<<24>>24==-1){G=t;H=z;I=s}else{B=t;D=z;E=0;F=s;break}}}while(0);if(D){I=b+4|0;H=c[I>>2]|0;G=b+8|0;h=c[G>>2]|0;do if((H-D|0)>(h|0)){J=c[b>>2]|0;K=h}else{if((H|0)>(2147483647-D|0)){g=c[b>>2]|0;if(g)ze(g);g=c[b+16>>2]|0;if(g)ze(g);g=c[b+20>>2]|0;if(g)ze(g);He(b|0,0,360)|0;q=-1;return q|0}g=H+D|0;k=(g|0)<2147482623?g+1024|0:g;g=Be(c[b>>2]|0,k)|0;if(g){c[I>>2]=k;c[b>>2]=g;J=g;K=c[G>>2]|0;break}g=c[b>>2]|0;if(g)ze(g);g=c[b+16>>2]|0;if(g)ze(g);g=c[b+20>>2]|0;if(g)ze(g);He(b|0,0,360)|0;q=-1;return q|0}while(0);Ke(J+K|0,B|0,D|0)|0;c[G>>2]=(c[G>>2]|0)+D}if((F|0)<(p|0)){D=b+28|0;G=b+32|0;B=c[b+16>>2]|0;K=c[b+20>>2]|0;J=c[D>>2]|0;I=E;E=-1;H=F;b:while(1){F=J;h=I;g=H;while(1){k=a[f+(g+27)>>0]|0;j=k&255;s=B+(F<<2)|0;c[s>>2]=j;z=K+(F<<3)|0;c[z>>2]=-1;c[z+4>>2]=-1;if(h)c[s>>2]=j|256;j=F;F=F+1|0;c[D>>2]=F;g=g+1|0;if(k<<24>>24!=-1){L=j;M=F;N=g;break}if((g|0)>=(p|0)){O=E;break b}else h=0}c[G>>2]=M;if((N|0)<(p|0)){J=M;I=0;E=L;H=N}else{O=L;break}}if((O|0)!=-1){L=(c[b+20>>2]|0)+(O<<3)|0;c[L>>2]=n;c[L+4>>2]=m}}if((l|0)!=0?(c[b+328>>2]=1,l=c[b+28>>2]|0,(l|0)>0):0){m=(c[b+16>>2]|0)+(l+-1<<2)|0;c[m>>2]=c[m>>2]|512}c[i>>2]=o+1;q=0;return q|0}function kb(a){a=a|0;var b=0,d=0;if((c[a+4>>2]|0)<=-1){b=-1;return b|0}d=a+8|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;b=0;return b|0}function lb(a){a=a|0;var b=0,d=0;if(!a){b=-1;return b|0}if(!(c[a>>2]|0)){b=-1;return b|0}c[a+8>>2]=0;c[a+12>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;c[a+324>>2]=0;c[a+328>>2]=0;c[a+332>>2]=0;c[a+340>>2]=-1;d=a+344|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;b=0;return b|0}function mb(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;if(!a){d=0;return d|0}e=c[a>>2]|0;if(!e){d=0;return d|0}f=a+36|0;g=c[f>>2]|0;if((c[a+32>>2]|0)<=(g|0)){d=0;return d|0}h=c[a+16>>2]|0;i=c[h+(g<<2)>>2]|0;if(i&1024){c[f>>2]=g+1;j=a+344|0;k=j;l=Me(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=j;c[k>>2]=l;c[k+4>>2]=C;d=-1;return d|0}k=(b|0)==0;l=i&255;j=i&512;m=i&256;if((l|0)==255){i=255;n=j;o=g;while(1){p=o+1|0;q=c[h+(p<<2)>>2]|0;r=q&255;s=(q&512|0)==0?n:512;q=r+i|0;if((r|0)==255){i=q;n=s;o=p}else{t=q;u=s;v=p;break}}}else{t=l;u=j;v=g}if(k){k=a+12|0;g=a+344|0;j=g;w=g;x=k;y=c[k>>2]|0;z=c[j>>2]|0;A=c[j+4>>2]|0}else{c[b+12>>2]=u;c[b+8>>2]=m;m=a+12|0;u=c[m>>2]|0;c[b>>2]=e+u;e=a+344|0;j=e;k=c[j>>2]|0;g=c[j+4>>2]|0;j=b+24|0;c[j>>2]=k;c[j+4>>2]=g;j=(c[a+20>>2]|0)+(v<<3)|0;a=c[j+4>>2]|0;l=b+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[b+4>>2]=t;w=e;x=m;y=u;z=k;A=g}c[x>>2]=y+t;c[f>>2]=v+1;v=Me(z|0,A|0,1,0)|0;A=w;c[A>>2]=v;c[A+4>>2]=C;d=1;return d|0}function nb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+24|0;e=c[d>>2]|0;if((e-b|0)>(c[a+28>>2]|0)){f=0;return f|0}if((e|0)>(2147483647-b|0)){g=c[a>>2]|0;if(g)ze(g);g=c[a+16>>2]|0;if(g)ze(g);g=c[a+20>>2]|0;if(g)ze(g);He(a|0,0,360)|0;f=-1;return f|0}g=e+b|0;b=(g|0)<2147483615?g+32|0:g;g=a+16|0;e=Be(c[g>>2]|0,b<<2)|0;if(!e){h=c[a>>2]|0;if(h)ze(h);h=c[g>>2]|0;if(h)ze(h);h=c[a+20>>2]|0;if(h)ze(h);He(a|0,0,360)|0;f=-1;return f|0}c[g>>2]=e;e=a+20|0;h=Be(c[e>>2]|0,b<<3)|0;if(h){c[e>>2]=h;c[d>>2]=b;f=0;return f|0}b=c[a>>2]|0;if(b)ze(b);b=c[g>>2]|0;if(b)ze(b);b=c[e>>2]|0;if(b)ze(b);He(a|0,0,360)|0;f=-1;return f|0}function ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(sc(c[e>>2]|0)|0){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=ye(568)|0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+64>>2]=0;c[(c[f>>2]|0)+68>>2]=0;c[(c[f>>2]|0)+72>>2]=1024;c[(c[f>>2]|0)+76>>2]=0;e=_b()|0;c[(c[f>>2]|0)+80>>2]=e;do if(c[(c[f>>2]|0)+80>>2]|0){c[(c[f>>2]|0)+84>>2]=0;c[(c[f>>2]|0)+88>>2]=0;c[(c[f>>2]|0)+92>>2]=0;c[(c[f>>2]|0)+96>>2]=0;c[(c[f>>2]|0)+100>>2]=0;c[(c[f>>2]|0)+104>>2]=0;e=gc()|0;c[(c[f>>2]|0)+560>>2]=e;e=c[f>>2]|0;if(!(c[(c[f>>2]|0)+560>>2]|0)){ze(c[e+80>>2]|0);break}Eb(e)|0;c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}while(0);ze(c[f>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}function pb(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=-2;f=c[d>>2]|0;i=b;return f|0}Fb(c[e>>2]|0)|0;dc(c[(c[e>>2]|0)+80>>2]|0,1)|0;$b(c[(c[e>>2]|0)+80>>2]|0);lc(c[(c[e>>2]|0)+560>>2]|0,2)|0;hc(c[(c[e>>2]|0)+560>>2]|0);if(c[(c[e>>2]|0)+96>>2]|0)ze(c[(c[e>>2]|0)+92>>2]|0);if((c[(c[e>>2]|0)+4>>2]|0)!=0?(Aa(c[(c[e>>2]|0)+4>>2]|0)|0)==-1:0){c[d>>2]=-10;f=c[d>>2]|0;i=b;return f|0}if(c[(c[e>>2]|0)+8>>2]|0){Db(c[e>>2]|0)|0;ze(c[(c[e>>2]|0)+8>>2]|0)}ze(c[e>>2]|0);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}function qb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;c[e>>2]=a;do if(c[e>>2]|0)if(c[c[e>>2]>>2]&1){a=d;c[a>>2]=-3;c[a+4>>2]=-1;break}else{c[f>>2]=(c[e>>2]|0)+112;a=(c[f>>2]|0)+416|0;g=c[a+4>>2]|0;h=d;c[h>>2]=c[a>>2];c[h+4>>2]=g;break}else{g=d;c[g>>2]=-2;c[g+4>>2]=-1}while(0);f=d;C=c[f+4>>2]|0;i=b;return c[f>>2]|0}function rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;do if(c[e>>2]|0)if(c[c[e>>2]>>2]&1){a=d;c[a>>2]=-3;c[a+4>>2]=-1;break}else{a=(c[e>>2]|0)+112+424|0;f=c[a+4>>2]|0;g=d;c[g>>2]=c[a>>2];c[g+4>>2]=f;break}else{f=d;c[f>>2]=-2;c[f+4>>2]=-1}while(0);e=d;C=c[e+4>>2]|0;i=b;return c[e>>2]|0}function sb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==-1){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=cc(c[(c[f>>2]|0)+80>>2]|0,1,c[g>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}return 0}function tb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ye(512)|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}cb(c[h>>2]|0,c[g>>2]|0)|0;g=(yb(c[h>>2]|0)|0)==-1;b=c[h>>2]|0;if(g){ze(b);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}else{c[b+360>>2]=15;c[(c[h>>2]|0)+364>>2]=3;c[(c[h>>2]|0)+368>>2]=0;b=(c[h>>2]|0)+376|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+384|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+392|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+400|0;c[b>>2]=0;c[b+4>>2]=0;c[(c[h>>2]|0)+408>>2]=0;c[(c[h>>2]|0)+420>>2]=0;c[(c[h>>2]|0)+424>>2]=1;c[(c[h>>2]|0)+428>>2]=0;b=(c[h>>2]|0)+432|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+440|0;c[b>>2]=-1;c[b+4>>2]=-1;c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+452>>2]=0;c[(c[h>>2]|0)+456>>2]=0;c[(c[h>>2]|0)+460>>2]=0;c[(c[h>>2]|0)+464>>2]=0;c[(c[h>>2]|0)+468>>2]=0;c[(c[h>>2]|0)+472>>2]=0;c[(c[h>>2]|0)+476>>2]=0;c[(c[h>>2]|0)+480>>2]=0;c[(c[h>>2]|0)+504>>2]=0;ec(c[(c[f>>2]|0)+80>>2]|0,c[h>>2]|0)|0;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}return 0}function ub(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g+8|0;j=g+16|0;k=g+20|0;l=g+24|0;m=g+4|0;n=g;o=g+12|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[j>>2]|0)){c[h>>2]=-2;p=c[h>>2]|0;i=g;return p|0}f=c[j>>2]|0;if((c[k>>2]|0)==-1){if((c[f+96>>2]|0)!=0?(c[(c[j>>2]|0)+92>>2]|0)!=0:0)ze(c[(c[j>>2]|0)+92>>2]|0);c[(c[j>>2]|0)+88>>2]=c[l>>2];c[(c[j>>2]|0)+92>>2]=c[m>>2];c[(c[j>>2]|0)+96>>2]=c[n>>2]}else{c[o>>2]=sb(f,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[h>>2]=-20;p=c[h>>2]|0;i=g;return p|0}if((c[(c[o>>2]|0)+456>>2]|0)!=0?(c[(c[o>>2]|0)+452>>2]|0)!=0:0)ze(c[(c[o>>2]|0)+452>>2]|0);c[(c[o>>2]|0)+448>>2]=c[l>>2];c[(c[o>>2]|0)+452>>2]=c[m>>2];c[(c[o>>2]|0)+456>>2]=c[n>>2]}c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function vb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;do if(!(c[(c[f>>2]|0)+88>>2]|0)){c[h>>2]=sb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;break}if(c[(c[h>>2]|0)+448>>2]|0){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=d;return c[e>>2]|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+8|0;h=f+24|0;j=f+20|0;k=f;l=f+16|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;do if(!(c[h>>2]|0)){e=g;c[e>>2]=-2;c[e+4>>2]=-1}else{e=k;if((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}e=c[h>>2]|0;if((c[j>>2]|0)==-1){if(c[e+88>>2]|0){b=k;d=Qa[c[(c[h>>2]|0)+88>>2]&31](c[h>>2]|0,c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[(c[h>>2]|0)+92>>2]|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;break}}else{c[l>>2]=sb(e,c[j>>2]|0)|0;if(!(c[l>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}if(c[(c[l>>2]|0)+448>>2]|0){e=k;b=Qa[c[(c[l>>2]|0)+448>>2]&31](c[h>>2]|0,c[j>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[l>>2]|0)+452>>2]|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=C;break}if(c[(c[h>>2]|0)+88>>2]|0){e=k;b=Qa[c[(c[h>>2]|0)+88>>2]&31](c[h>>2]|0,c[j>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[h>>2]|0)+92>>2]|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=C;break}}e=g;c[e>>2]=-1;c[e+4>>2]=-1}while(0);h=g;C=c[h+4>>2]|0;i=f;return c[h>>2]|0}function xb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;if((a|0)==1)c[d>>2]=-14;else if((a|0)==-1)c[d>>2]=-15;else if(!a)c[d>>2]=0;else c[d>>2]=c[e>>2];i=b;return c[d>>2]|0}function yb(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;c[(c[e>>2]|0)+412>>2]=0;a=_b()|0;c[(c[e>>2]|0)+416>>2]=a;if(!(c[(c[e>>2]|0)+416>>2]|0)){c[d>>2]=-1;f=c[d>>2]|0;i=b;return f|0}else{fc(c[(c[e>>2]|0)+416>>2]|0,1,0)|0;c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function zb(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dc(c[(c[d>>2]|0)+416>>2]|0,1)|0;$b(c[(c[d>>2]|0)+416>>2]|0);c[(c[d>>2]|0)+416>>2]=0;if(!(c[(c[d>>2]|0)+412>>2]|0)){e=c[d>>2]|0;f=e+412|0;c[f>>2]=0;i=b;return 0}ze(c[(c[d>>2]|0)+412>>2]|0);e=c[d>>2]|0;f=e+412|0;c[f>>2]=0;i=b;return 0}function Ab(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=i;i=i+64|0;h=g+52|0;j=g+44|0;k=g+24|0;l=g+20|0;m=g+12|0;n=g+40|0;o=g+48|0;p=g+56|0;q=g+28|0;r=g+8|0;s=g+4|0;t=g+32|0;u=g;v=g+16|0;w=g+36|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=c[l>>2];c[w>>2]=0;if((c[m>>2]|0)<8){c[h>>2]=-1;x=c[h>>2]|0;i=g;return x|0}c[t>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[s>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;if((c[s>>2]|0)>>>0>((c[t>>2]|0)-(c[o>>2]|0)|0)>>>0){c[h>>2]=-1;x=c[h>>2]|0;i=g;return x|0}c[n>>2]=sb(c[j>>2]|0,c[k>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=-20;x=c[h>>2]|0;i=g;return x|0}if((c[s>>2]|0)>>>0>0){m=yc(c[o>>2]|0,c[s>>2]|0)|0;c[w>>2]=m;if(!m){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}m=(zc(c[j>>2]|0,c[k>>2]|0,c[w>>2]|0)|0)==-18;ze(c[w>>2]|0);if(m){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}}c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);if(((c[o>>2]|0)+4|0)>>>0>(c[t>>2]|0)>>>0){c[h>>2]=-1;x=c[h>>2]|0;i=g;return x|0}c[q>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0)){y=34;break}if(((c[o>>2]|0)+4|0)>>>0>(c[t>>2]|0)>>>0){y=17;break}c[s>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;if((c[s>>2]|0)>>>0>((c[t>>2]|0)-(c[o>>2]|0)|0)>>>0){y=19;break}c[r>>2]=0;c[u>>2]=c[o>>2];c[v>>2]=Ac(c[o>>2]|0,61,c[s>>2]|0)|0;if(c[v>>2]|0){a[c[v>>2]>>0]=0;c[v>>2]=(c[v>>2]|0)+1;c[r>>2]=(c[o>>2]|0)+(c[s>>2]|0)-(c[v>>2]|0)}if(c[r>>2]|0){m=yc(c[v>>2]|0,c[r>>2]|0)|0;c[w>>2]=m;if(!m){y=24;break}m=(Bc(c[n>>2]|0,c[u>>2]|0,c[w>>2]|0)|0)==0;ze(c[w>>2]|0);if(m){y=26;break}}else{m=yc(c[u>>2]|0,c[s>>2]|0)|0;c[w>>2]=m;if(!m){y=28;break}m=(Bc(c[n>>2]|0,c[w>>2]|0,0)|0)==0;ze(c[w>>2]|0);if(m){y=30;break}}if(c[v>>2]|0)a[(c[v>>2]|0)+-1>>0]=61;c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if((y|0)==17){c[h>>2]=-1;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==19){c[h>>2]=-1;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==24){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==26){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==28){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==30){c[h>>2]=-18;x=c[h>>2]|0;i=g;return x|0}else if((y|0)==34){c[h>>2]=0;x=c[h>>2]|0;i=g;return x|0}return 0}function Bb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[g>>2]|0;do if(c[(c[g>>2]|0)+4>>2]|0)if((ya(c[d+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)==-1)c[f>>2]=-10;else l=10;else{b=c[d+8>>2]|0;c[k>>2]=b;if(!b){c[f>>2]=-3;break}if(!(c[(c[k>>2]|0)+16>>2]|0)){c[f>>2]=-1;break}if((La[c[(c[k>>2]|0)+16>>2]&1](c[(c[k>>2]|0)+20>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)==-1)c[f>>2]=-1;else l=10}while(0);if((l|0)==10)c[f>>2]=0;i=e;return c[f>>2]|0}function Cb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;a=c[e>>2]|0;do if(c[(c[e>>2]|0)+4>>2]|0){h=Ca(c[a+4>>2]|0)|0;c[g>>2]=h;if((h|0)==-1)c[d>>2]=-1;else j=10}else{h=c[a+8>>2]|0;c[f>>2]=h;if(!h){c[d>>2]=-3;break}if(!(c[(c[f>>2]|0)+24>>2]|0)){c[d>>2]=-1;break}h=Na[c[(c[f>>2]|0)+24>>2]&7](c[(c[f>>2]|0)+28>>2]|0)|0;c[g>>2]=h;if((h|0)==-1)c[d>>2]=-1;else j=10}while(0);if((j|0)==10)c[d>>2]=c[g>>2];i=b;return c[d>>2]|0}function Db(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;a=c[e>>2]|0;do if(c[(c[e>>2]|0)+4>>2]|0)if((oa(c[a+4>>2]|0)|0)==-1)c[d>>2]=-10;else g=10;else{h=c[a+8>>2]|0;c[f>>2]=h;if(!h){c[d>>2]=-3;break}if(!(c[(c[f>>2]|0)+32>>2]|0)){c[d>>2]=-3;break}if((Na[c[(c[f>>2]|0)+32>>2]&7](c[(c[f>>2]|0)+36>>2]|0)|0)==-1)c[d>>2]=-1;else g=10}while(0);if((g|0)==10)c[d>>2]=0;i=b;return c[d>>2]|0}function Eb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+112;eb(c[e>>2]|0)|0;cb((c[e>>2]|0)+32|0,-1)|0;c[(c[e>>2]|0)+392>>2]=-1;c[(c[e>>2]|0)+396>>2]=0;c[(c[e>>2]|0)+400>>2]=0;c[(c[e>>2]|0)+404>>2]=0;c[(c[e>>2]|0)+408>>2]=0;a=(c[e>>2]|0)+416|0;c[a>>2]=0;c[a+4>>2]=0;c[(c[e>>2]|0)+432>>2]=0;c[(c[e>>2]|0)+436>>2]=0;c[(c[e>>2]|0)+440>>2]=0;i=b;return c[d>>2]|0}function Fb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+112;db((c[e>>2]|0)+32|0)|0;fb(c[e>>2]|0)|0;i=b;return c[d>>2]|0}function Gb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+8|0;h=f+16|0;j=f+20|0;k=f+24|0;l=f+4|0;m=f;n=f+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;o=c[g>>2]|0;i=f;return o|0}c[m>>2]=(c[h>>2]|0)+112;if(c[c[h>>2]>>2]&1){c[g>>2]=-3;o=c[g>>2]|0;i=f;return o|0}do if((c[j>>2]|0)==-1){c[(c[m>>2]|0)+396>>2]=c[k>>2];c[(c[m>>2]|0)+400>>2]=c[l>>2]}else{c[n>>2]=sb(c[h>>2]|0,c[j>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=tb(c[h>>2]|0,c[j>>2]|0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+468>>2]=c[k>>2];c[(c[n>>2]|0)+472>>2]=c[l>>2];break}c[g>>2]=-18;o=c[g>>2]|0;i=f;return o|0}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function Hb(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;h=g+4|0;j=g+16|0;k=g+8|0;l=g+20|0;m=g+28|0;n=g;o=g+12|0;p=g+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[k>>2];f=ye(72)|0;c[o>>2]=f;if(!f){c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}f=c[o>>2]|0;e=c[k>>2]|0;k=f+56|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(k|0));e=ye(c[(c[p>>2]|0)+4>>2]|0)|0;c[c[o>>2]>>2]=e;f=c[o>>2]|0;if(!e){ze(f);c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}else{Ke(c[f>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=c[m>>2];c[(c[o>>2]|0)+68>>2]=c[l>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2];c[(c[o>>2]|0)+64>>2]=c[j>>2];c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}return 0}function Ib(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ze(c[c[d>>2]>>2]|0);ze(c[d>>2]|0);i=b;return}function Jb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];Ib(c[e>>2]|0);i=b;return 1}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=(c[f>>2]|0)+32|0;do if(((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0)?(a=(c[(c[f>>2]|0)+56>>2]|0)+488|0,(c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1):0){c[g>>2]=Xb(c[(c[f>>2]|0)+64>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;if(!((c[g>>2]|0)<0|(c[g>>2]|0)>=15)){a=(c[(c[f>>2]|0)+56>>2]|0)+488|0;h=Ub(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[f>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+508>>2]|0)|0;a=(c[f>>2]|0)+32|0;c[a>>2]=h;c[a+4>>2]=C;a=(c[f>>2]|0)+32|0;h=c[a+4>>2]|0;j=(c[(c[f>>2]|0)+56>>2]|0)+488|0;c[j>>2]=c[a>>2];c[j+4>>2]=h;c[(c[(c[f>>2]|0)+56>>2]|0)+508>>2]=c[f>>2];break}c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}while(0);c[d>>2]=1;k=c[d>>2]|0;i=b;return k|0}function Lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+28|0;e=b+24|0;f=b+20|0;g=b+8|0;h=b;j=b+16|0;c[e>>2]=a;c[f>>2]=c[e>>2];e=(c[f>>2]|0)+32|0;if((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}e=(c[(c[f>>2]|0)+60>>2]|0)+424|0;a=c[e+4>>2]|0;l=g;c[l>>2]=c[e>>2];c[l+4>>2]=a;a=(c[(c[f>>2]|0)+60>>2]|0)+416|0;l=c[a+4>>2]|0;e=h;c[e>>2]=c[a>>2];c[e+4>>2]=l;l=(c[f>>2]|0)+32|0;e=c[l+4>>2]|0;a=(c[(c[f>>2]|0)+60>>2]|0)+424|0;c[a>>2]=c[l>>2];c[a+4>>2]=e;e=(c[f>>2]|0)+32|0;a=wb(c[(c[f>>2]|0)+64>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[(c[f>>2]|0)+60>>2]|0)+416|0;c[e>>2]=a;c[e+4>>2]=C;e=c[f>>2]|0;if(c[(c[(c[f>>2]|0)+56>>2]|0)+468>>2]|0){a=Oa[c[(c[e+56>>2]|0)+468>>2]&15](c[(c[f>>2]|0)+64>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+472>>2]|0)|0;c[j>>2]=a;if((a|0)<0?(c[(c[(c[f>>2]|0)+64>>2]|0)+76>>2]=c[j>>2],(c[j>>2]|0)==-1):0){c[d>>2]=-1;k=c[d>>2]|0;i=b;return k|0}}else if(((c[(c[e+60>>2]|0)+396>>2]|0)!=0?(e=Oa[c[(c[(c[f>>2]|0)+60>>2]|0)+396>>2]&15](c[(c[f>>2]|0)+64>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[(c[(c[f>>2]|0)+60>>2]|0)+400>>2]|0)|0,c[j>>2]=e,(e|0)<0):0)?(c[(c[(c[f>>2]|0)+64>>2]|0)+76>>2]=c[j>>2],(c[j>>2]|0)==-1):0){c[d>>2]=-1;k=c[d>>2]|0;i=b;return k|0}j=g;g=c[j+4>>2]|0;e=(c[(c[f>>2]|0)+60>>2]|0)+424|0;c[e>>2]=c[j>>2];c[e+4>>2]=g;g=h;h=c[g+4>>2]|0;e=(c[(c[f>>2]|0)+60>>2]|0)+416|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;Ib(c[f>>2]|0);c[d>>2]=1;k=c[d>>2]|0;i=b;return k|0}function Mb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;f=e;g=e+16|0;h=e+28|0;j=e+4|0;k=e+32|0;l=e+36|0;m=e+12|0;n=e+24|0;o=e+20|0;p=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=c[j>>2];c[o>>2]=0;c[p>>2]=0;if(!(c[g>>2]|0)){c[f>>2]=-2;q=c[f>>2]|0;i=e;return q|0}if(c[c[g>>2]>>2]&1){c[f>>2]=-3;q=c[f>>2]|0;i=e;return q|0}j=c[(c[g>>2]|0)+76>>2]|0;c[p>>2]=j;d=c[g>>2]|0;if(j){c[d+76>>2]=0;c[f>>2]=xb(c[p>>2]|0)|0;q=c[f>>2]|0;i=e;return q|0}c[k>>2]=d+112;c[p>>2]=Dc(c[g>>2]|0)|0;if((c[p>>2]|0)==-18){c[f>>2]=c[p>>2];q=c[f>>2]|0;i=e;return q|0}while(1){if(!((c[p>>2]|0)!=-1&(c[p>>2]|0)!=1&(c[n>>2]|0)>0))break;c[m>>2]=(c[n>>2]|0)<4096?c[n>>2]|0:4096;c[l>>2]=gb(c[k>>2]|0,c[m>>2]|0)|0;Ke(c[l>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;hb(c[k>>2]|0,c[m>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[p>>2]=Dc(c[g>>2]|0)|0;if((c[p>>2]|0)==-18){r=11;break}}if((r|0)==11){c[f>>2]=c[p>>2];q=c[f>>2]|0;i=e;return q|0}if((c[p>>2]|0)==-1)Ob(c[g>>2]|0)|0;r=(c[p>>2]|0)==-404;if(c[o>>2]|0){if(r)c[p>>2]=0;c[(c[g>>2]|0)+76>>2]=c[p>>2];c[f>>2]=c[o>>2];q=c[f>>2]|0;i=e;return q|0}if(r){c[f>>2]=-14;q=c[f>>2]|0;i=e;return q|0}else{c[f>>2]=xb(c[p>>2]|0)|0;q=c[f>>2]|0;i=e;return q|0}return 0}function Nb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+488|0;c[a>>2]=-1;c[a+4>>2]=-1;i=b;return 0}function Ob(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(!(c[e>>2]|0))c[d>>2]=-2;else{if(c[c[e>>2]>>2]&1){c[d>>2]=-3;break}Ec(c[e>>2]|0);if((c[(c[e>>2]|0)+4>>2]|0)!=0?(Fc(c[e>>2]|0,c[(c[e>>2]|0)+64>>2]|0,-1,-1,0)|0)<0:0){c[d>>2]=-10;break}c[d>>2]=0}while(0);i=b;return c[d>>2]|0}function Pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=l;c[d>>2]=-1;c[d+4>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-1;m=c[f>>2]|0;i=e;return m|0}if(c[c[g>>2]>>2]&1){c[f>>2]=-1;m=c[f>>2]|0;i=e;return m|0}if((c[h>>2]|0)==0&(c[j>>2]|0)==0){d=l;c[d>>2]=0;c[d+4>>2]=0}c[k>>2]=(c[g>>2]|0)+112;if(!((c[h>>2]|0)==0&(c[j>>2]|0)==1)){d=(c[k>>2]|0)+416|0;c[d>>2]=-1;c[d+4>>2]=-1}d=l;c[f>>2]=Fc(c[g>>2]|0,c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[j>>2]|0)|0;m=c[f>>2]|0;i=e;return m|0}function Qb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Hc(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;i=e;return d|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;c[m>>2]=Xb(c[h>>2]|0,c[k>>2]|0)|0;if((c[m>>2]|0)<0|(c[m>>2]|0)>=15){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((c[m>>2]|0)==6?($a(c[j>>2]|0)|0)==0:0){c[g>>2]=Ic(c[h>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[l>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}c[g>>2]=Qa[c[1040+((c[m>>2]|0)*24|0)+12>>2]&31](c[h>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[l>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;c[m>>2]=Xb(c[h>>2]|0,c[k>>2]|0)|0;if((c[m>>2]|0)<0|(c[m>>2]|0)>=15){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((c[m>>2]|0)==6?(c[(c[j>>2]|0)+8>>2]|0)==0:0){c[g>>2]=Ic(c[h>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}c[g>>2]=Qa[c[1040+((c[m>>2]|0)*24|0)+12>>2]&31](c[h>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}function Tb(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+16|0;j=g+32|0;k=g+8|0;l=g+28|0;m=g+24|0;n=g;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;if(c[1040+((c[j>>2]|0)*24|0)+16>>2]|0){f=k;e=Oa[c[1040+((c[j>>2]|0)*24|0)+16>>2]&15](c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;m=n;c[m>>2]=e;c[m+4>>2]=C;m=n;n=c[m+4>>2]|0;e=h;c[e>>2]=c[m>>2];c[e+4>>2]=n;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;C=t;i=g;return q|0}else{n=k;k=c[n+4>>2]|0;e=h;c[e>>2]=c[n>>2];c[e+4>>2]=k;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;C=t;i=g;return q|0}return 0}function Ub(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+32|0;j=h+8|0;k=h+28|0;l=h;m=h+24|0;n=h+20|0;o=h+16|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(c[1040+((c[k>>2]|0)*24|0)+20>>2]|0){g=l;l=Qa[c[1040+((c[k>>2]|0)*24|0)+20>>2]&31](c[g>>2]|0,c[g+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;o=j;c[o>>2]=l;c[o+4>>2]=C;p=j;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=h;return r|0}else{o=j;c[o>>2]=0;c[o+4>>2]=0;p=j;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=h;return r|0}return 0}function Vb(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=-1;c[n>>2]=-1;switch(c[(c[j>>2]|0)+360>>2]|0){case 3:case 2:{c[m>>2]=0;break}case 14:{if((c[(c[l>>2]|0)+4>>2]|0)>7?(ve(c[c[l>>2]>>2]|0,1472,7)|0)==0:0)c[m>>2]=7;break}case 8:{if((c[(c[l>>2]|0)+4>>2]|0)>4?((d[c[c[l>>2]>>2]>>0]|0)&7|0)==4:0){c[n>>2]=((d[(c[c[l>>2]>>2]|0)+1>>0]|0)<<16)+((d[(c[c[l>>2]>>2]|0)+2>>0]|0)<<8)+(d[(c[c[l>>2]>>2]|0)+3>>0]|0);c[m>>2]=4}break}case 11:{if((c[(c[l>>2]|0)+4>>2]|0)>9?(ve(c[c[l>>2]>>2]|0,1440,8)|0)==0:0)c[m>>2]=9;break}case 0:{if((c[(c[l>>2]|0)+4>>2]|0)>7?(ve(c[c[l>>2]>>2]|0,1432,7)|0)==0:0)c[m>>2]=7;break}case 13:{if((c[(c[l>>2]|0)+4>>2]|0)>8?(ve(c[c[l>>2]>>2]|0,1456,8)|0)==0:0)c[m>>2]=8;break}case 1:{if((c[(c[l>>2]|0)+4>>2]|0)>7?(ve(c[c[l>>2]>>2]|0,1424,7)|0)==0:0)c[m>>2]=7;break}default:{}}if((c[n>>2]|0)==-1)c[n>>2]=(c[(c[l>>2]|0)+4>>2]|0)-(c[m>>2]|0);if((c[m>>2]|0)<0){i=g;return 0}Ab(c[h>>2]|0,c[k>>2]|0,(c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0;i=g;return 0}function Wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=sb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-20;l=c[f>>2]|0;i=e;return l|0}else{c[(c[k>>2]|0)+360>>2]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function Xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){c[h>>2]=sb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;break}else{c[e>>2]=c[(c[h>>2]|0)+360>>2];break}}else c[e>>2]=-2;while(0);i=d;return c[e>>2]|0}function Yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){c[h>>2]=sb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;break}else{c[e>>2]=c[(c[h>>2]|0)+364>>2];break}}else c[e>>2]=-2;while(0);i=d;return c[e>>2]|0}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;l=c[f>>2]|0;i=e;return l|0}c[k>>2]=sb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-20;l=c[f>>2]|0;i=e;return l|0}else{c[(c[k>>2]|0)+368>>2]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function _b(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+4|0;d=a;c[d>>2]=ye(20)|0;if(!(c[d>>2]|0)){c[b>>2]=0;e=c[b>>2]|0;i=a;return e|0}else{c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[b>>2]=c[d>>2];e=c[b>>2]|0;i=a;return e|0}return 0}function $b(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Jc(c[d>>2]|0);ze(c[d>>2]|0);i=b;return}function ac(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0))c[d>>2]=0;else c[d>>2]=c[(c[e>>2]|0)+4>>2];i=b;return c[d>>2]|0}function bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0)if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){c[e>>2]=0;break}else{c[e>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2];break}else c[e>>2]=0;while(0);i=d;return c[e>>2]|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){m=6;break}c[k>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+(c[l>>2]<<2)>>2];if(Pa[c[h>>2]&1](c[k>>2]|0,c[j>>2]|0)|0){m=4;break}c[l>>2]=(c[l>>2]|0)+1}if((m|0)==4){c[f>>2]=c[k>>2];n=c[f>>2]|0;i=e;return n|0}else if((m|0)==6){c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Na[c[f>>2]&7](c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=d;return 0}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(Kc(c[f>>2]|0)|0)){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}else{c[(c[(c[f>>2]|0)+8>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]=c[g>>2];Lc(c[f>>2]|0);c[e>>2]=c[g>>2];h=c[e>>2]|0;i=d;return h|0}return 0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=c[h>>2];if(!(c[g>>2]|0)){i=e;return 0}Mc(c[f>>2]|0,0,(c[(c[f>>2]|0)+4>>2]|0)-1|0);i=e;return 0}function gc(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a+12|0;d=a+8|0;e=a+4|0;f=a;c[d>>2]=ye(8)|0;if(!(c[d>>2]|0)){c[b>>2]=0;g=c[b>>2]|0;i=a;return g|0}c[e>>2]=ye(12)|0;if(!(c[e>>2]|0)){ze(c[d>>2]|0);c[b>>2]=0;g=c[b>>2]|0;i=a;return g|0}c[f>>2]=ye(12)|0;if(!(c[f>>2]|0)){ze(c[e>>2]|0);ze(c[d>>2]|0);c[b>>2]=0;g=c[b>>2]|0;i=a;return g|0}else{c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[e>>2];c[c[f>>2]>>2]=0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[f>>2];c[b>>2]=c[d>>2];g=c[b>>2]|0;i=a;return g|0}return 0}function hc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[c[d>>2]>>2]>>2];while(1){if(!(c[e>>2]|0))break;ze(c[(c[e>>2]|0)+4>>2]|0);c[e>>2]=c[c[e>>2]>>2]}ze(c[(c[d>>2]|0)+4>>2]|0);ze(c[d>>2]|0);i=b;return}function ic(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return (c[c[c[d>>2]>>2]>>2]|0)==(c[(c[d>>2]|0)+4>>2]|0)|0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-1;j=c[e>>2]|0;i=d;return j|0}c[h>>2]=ye(12)|0;if(!(c[h>>2]|0)){c[e>>2]=-1;j=c[e>>2]|0;i=d;return j|0}else{c[(c[h>>2]|0)+8>>2]=c[g>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2];c[c[(c[h>>2]|0)+4>>2]>>2]=c[h>>2];c[(c[c[h>>2]>>2]|0)+4>>2]=c[h>>2];c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}return 0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2];while(1){if((c[g>>2]|0)==(c[c[e>>2]>>2]|0)){h=5;break}if(!(Na[c[f>>2]&7](c[(c[g>>2]|0)+8>>2]|0)|0)){h=5;break}c[g>>2]=c[(c[g>>2]|0)+4>>2]}if((h|0)==5){i=d;return}}function lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;c[g>>2]=c[c[c[e>>2]>>2]>>2];while(1){if((c[g>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0)){l=7;break}c[k>>2]=Na[c[f>>2]&7](c[(c[g>>2]|0)+8>>2]|0)|0;if((c[k>>2]|0)==-1)c[j>>2]=-1;if(!(c[k>>2]|0)){l=7;break}c[h>>2]=c[c[g>>2]>>2];c[c[(c[g>>2]|0)+4>>2]>>2]=c[c[g>>2]>>2];c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];ze(c[g>>2]|0);c[g>>2]=c[h>>2]}if((l|0)==7){i=d;return c[j>>2]|0}return 0}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;l=c[f>>2]|0;i=e;return l|0}c[k>>2]=sb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-20;l=c[f>>2]|0;i=e;return l|0}else{c[(c[k>>2]|0)+408>>2]=c[j>>2];c[f>>2]=Nc(c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=e;return l|0}return 0}function nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){c[h>>2]=sb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;break}else{c[e>>2]=c[(c[h>>2]|0)+408>>2];break}}else c[e>>2]=-2;while(0);i=d;return c[e>>2]|0}function oc(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+8|0;n=h;o=h+16|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=e;e=n;c[e>>2]=f;c[e+4>>2]=g;if(!(c[k>>2]|0)){c[j>>2]=-2;p=c[j>>2]|0;i=h;return p|0}c[o>>2]=sb(c[k>>2]|0,c[l>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=-20;p=c[j>>2]|0;i=h;return p|0}else{g=m;m=c[g+4>>2]|0;e=(c[o>>2]|0)+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=m;m=n;n=c[m+4>>2]|0;e=(c[o>>2]|0)+384|0;c[e>>2]=c[m>>2];c[e+4>>2]=n;c[j>>2]=Nc(c[k>>2]|0,c[l>>2]|0)|0;p=c[j>>2]|0;i=h;return p|0}return 0}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;n=c[g>>2]|0;i=f;return n|0}c[m>>2]=sb(c[h>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){c[g>>2]=-20;n=c[g>>2]|0;i=f;return n|0}else{j=(c[m>>2]|0)+376|0;h=c[j+4>>2]|0;e=c[k>>2]|0;c[e>>2]=c[j>>2];c[e+4>>2]=h;h=(c[m>>2]|0)+384|0;m=Ve(c[h>>2]|0,c[h+4>>2]|0,1e3,0)|0;h=c[l>>2]|0;c[h>>2]=m;c[h+4>>2]=C;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}return 0}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f;l=f+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;m=c[g>>2]|0;i=f;return m|0}c[l>>2]=sb(c[h>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){c[g>>2]=-20;m=c[g>>2]|0;i=f;return m|0}else{e=k;k=c[e+4>>2]|0;b=(c[l>>2]|0)+392|0;c[b>>2]=c[e>>2];c[b+4>>2]=k;c[g>>2]=Nc(c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=f;return m|0}return 0}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e+4|0;g=e+16|0;h=e+8|0;j=e+20|0;k=e+32|0;l=e;m=e+12|0;n=e+24|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;Oc(k,c[h>>2]|0,c[j>>2]|0);Pc(k,104);j=Qc(k)|0;c[c[g>>2]>>2]=j;j=Qc(k)|0;c[(c[g>>2]|0)+4>>2]=j;j=Qc(k)|0;c[(c[g>>2]|0)+8>>2]=j;j=Qc(k)|0;c[(c[g>>2]|0)+12>>2]=j;j=Qc(k)|0;c[l>>2]=j;c[(c[g>>2]|0)+20>>2]=j;if((c[l>>2]|0)>>>0>=17){c[f>>2]=-1;o=c[f>>2]|0;i=e;return o|0}c[(c[g>>2]|0)+24>>2]=c[1480+(c[l>>2]<<3)>>2];c[(c[g>>2]|0)+28>>2]=c[1480+(c[l>>2]<<3)+4>>2];if(Rc(k)|0){j=Qc(k)|0;c[(c[g>>2]|0)+24>>2]=j;j=Qc(k)|0;c[(c[g>>2]|0)+28>>2]=j}if(Rc(k)|0){j=Qc(k)|0;c[(c[g>>2]|0)+16>>2]=j}do if(Rc(k)|0){c[m>>2]=Qc(k)|0;if((c[m>>2]|0)<2){c[(c[g>>2]|0)+40>>2]=c[m>>2];break}else{c[(c[g>>2]|0)+40>>2]=0;break}}else c[(c[g>>2]|0)+40>>2]=c[1616+(c[l>>2]<<2)>>2];while(0);c[(c[g>>2]|0)+44>>2]=c[1704+(c[l>>2]<<2)>>2];c[(c[g>>2]|0)+32>>2]=c[1880+(c[1792+(c[l>>2]<<2)>>2]<<3)>>2];c[(c[g>>2]|0)+36>>2]=c[1880+(c[1792+(c[l>>2]<<2)>>2]<<3)+4>>2];if((Rc(k)|0)!=0?(c[n>>2]=Qc(k)|0,c[(c[g>>2]|0)+32>>2]=c[1880+(c[n>>2]<<3)>>2],c[(c[g>>2]|0)+36>>2]=c[1880+(c[n>>2]<<3)+4>>2],(c[n>>2]|0)==0):0){n=Qc(k)|0;c[(c[g>>2]|0)+32>>2]=n;n=Qc(k)|0;c[(c[g>>2]|0)+36>>2]=n}c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}function sc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(c[e>>2]&1)c[d>>2]=-11;else c[d>>2]=0;i=b;return c[d>>2]|0}function tc(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];zb(c[e>>2]|0)|0;if((c[(c[e>>2]|0)+336>>2]|0)!=-1)db(c[e>>2]|0)|0;if(c[(c[e>>2]|0)+456>>2]|0)ze(c[(c[e>>2]|0)+452>>2]|0);if(!(c[(c[e>>2]|0)+504>>2]|0)){f=c[e>>2]|0;ze(f);i=b;return 0}ze(c[(c[e>>2]|0)+504>>2]|0);f=c[e>>2]|0;ze(f);i=b;return 0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];i=d;return (c[(c[g>>2]|0)+336>>2]|0)==(c[f>>2]|0)|0}function vc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[g>>2]=c[f>>2];while(1){if(!(a[c[g>>2]>>0]|0)){j=10;break}if((a[c[g>>2]>>0]|0)<32){j=8;break}if((a[c[g>>2]>>0]|0)>125){j=8;break}if((a[c[g>>2]>>0]|0)==61){j=8;break}c[g>>2]=(c[g>>2]|0)+1}if((j|0)==8){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}else if((j|0)==10){c[e>>2]=1;h=c[e>>2]|0;i=d;return h|0}return 0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;c[g>>2]=a;c[h>>2]=b;c[e>>2]=d;do if((c[g>>2]|0)!=(c[h>>2]|0)){if(!((c[g>>2]|0)!=0&(c[h>>2]|0)!=0)){c[f>>2]=0;break}if(we(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0){c[f>>2]=0;break}if(xe(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0){c[f>>2]=0;break}else{c[f>>2]=1;break}}else c[f>>2]=1;while(0);i=e;return c[f>>2]|0}function xc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[c[d>>2]>>2]|0)ze(c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)ze(c[(c[d>>2]|0)+4>>2]|0);ze(c[d>>2]|0);i=b;return}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=0;break}c[h>>2]=(c[h>>2]|0)>>>0<4294967294?c[h>>2]|0:-2;c[j>>2]=ye((c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){c[f>>2]=0;break}if(!(Le(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)){ze(c[j>>2]|0);c[f>>2]=0;break}else{a[(c[j>>2]|0)+(c[h>>2]|0)>>0]=0;c[f>>2]=c[j>>2];break}}else c[f>>2]=0;while(0);i=e;return c[f>>2]|0}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;l=c[f>>2]|0;i=e;return l|0}c[k>>2]=sb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-20;l=c[f>>2]|0;i=e;return l|0}if(c[(c[k>>2]|0)+412>>2]|0)ze(c[(c[k>>2]|0)+412>>2]|0);h=Sc(c[j>>2]|0)|0;c[(c[k>>2]|0)+412>>2]=h;if(!h){c[f>>2]=-18;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function Ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+12|0;h=f+8|0;j=f+16|0;k=f+4|0;l=f;c[h>>2]=b;a[j>>0]=d;c[k>>2]=e;c[l>>2]=0;while(1){if(!(a[c[h>>2]>>0]|0)){m=7;break}if((c[l>>2]|0)>=(c[k>>2]|0)){m=7;break}if((a[c[h>>2]>>0]|0)==(a[j>>0]|0)){m=5;break}c[l>>2]=(c[l>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((m|0)==5){c[g>>2]=c[h>>2];n=c[g>>2]|0;i=f;return n|0}else if((m|0)==7){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}return 0}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+8|0;g=e+16|0;h=e+20|0;j=e+24|0;k=e+4|0;l=e;m=e+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[m>>2]=0;a:while(1){d=c[m>>2]|0;if((d|0)>=(ac(c[(c[g>>2]|0)+416>>2]|0)|0)){n=14;break}c[k>>2]=bc(c[(c[g>>2]|0)+416>>2]|0,c[m>>2]|0)|0;do if((c[c[k>>2]>>2]|0)!=0?(we(c[h>>2]|0,c[c[k>>2]>>2]|0)|0)==0:0){d=c[j>>2]|0;if(!(c[(c[k>>2]|0)+4>>2]|0))if(!d){n=7;break a}else break;if((d|0)!=0?(xe(c[j>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)==0:0){n=12;break a}if((c[j>>2]|0)==0?(c[(c[k>>2]|0)+4>>2]|0)==0:0){n=12;break a}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((n|0)==7){c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else if((n|0)==12){c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else if((n|0)==14){n=Tc(c[h>>2]|0,c[j>>2]|0)|0;c[l>>2]=n;if(!n){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=ec(c[(c[g>>2]|0)+416>>2]|0,c[l>>2]|0)|0;o=c[f>>2]|0;i=e;return o|0}}return 0}function Cc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}else{c[f>>2]=Je(c[e>>2]|0)|0;c[d>>2]=(c[f>>2]|0)>>>0<4294967294?c[f>>2]|0:-2;g=c[d>>2]|0;i=b;return g|0}return 0}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,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=i;i=i+160|0;d=b+120|0;e=b+124|0;f=b+112|0;g=b+88|0;h=b+108|0;j=b+116|0;k=b+100|0;l=b+96|0;m=b+16|0;n=b+136|0;o=b+128|0;p=b;q=b+84|0;r=b+104|0;s=b+92|0;t=b+8|0;u=b+80|0;v=b+72|0;c[e>>2]=a;c[f>>2]=(c[e>>2]|0)+112;c[o>>2]=0;c[j>>2]=m;c[k>>2]=m+32;a:while(1){if(c[o>>2]|0){w=75;break}b:do if((c[o>>2]|0)==0?(c[(c[f>>2]|0)+392>>2]|0)!=-1:0)do{c[l>>2]=c[(c[f>>2]|0)+392>>2];c[g>>2]=sb(c[e>>2]|0,c[l>>2]|0)|0;if((c[g>>2]|0)==0?(a=tb(c[e>>2]|0,c[l>>2]|0)|0,c[g>>2]=a,(a|0)==0):0){w=7;break a}c[h>>2]=c[g>>2];c[q>>2]=mb(c[h>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)==-1){a=(c[g>>2]|0)+440|0;x=c[a+4>>2]|0;y=(c[(c[g>>2]|0)+364>>2]|0)-1|0;z=((y|0)<0)<<31>>31;if((x|0)<(z|0)|((x|0)==(z|0)?(c[a>>2]|0)>>>0<y>>>0:0)){w=10;break a}c[q>>2]=mb(c[h>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)==-1){w=12;break a}c[(c[f>>2]|0)+440>>2]=1;c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=1}if((c[q>>2]|0)<=0)break b;y=(c[g>>2]|0)+440|0;a=y;z=Me(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=y;c[a>>2]=z;c[a+4>>2]=C;a=(c[j>>2]|0)+16|0;z=c[a+4>>2]|0;y=p;c[y>>2]=c[a>>2];c[y+4>>2]=z;c[r>>2]=Xb(c[e>>2]|0,c[l>>2]|0)|0;do if(!((c[r>>2]|0)<0|(c[r>>2]|0)>=15)){if(((c[r>>2]|0)==6?1:(c[(c[g>>2]|0)+448>>2]|0)==0)?(c[c[e>>2]>>2]&32|0)!=0:0)Sb(c[e>>2]|0,c[j>>2]|0,c[l>>2]|0,0)|0;if(!(c[c[e>>2]>>2]&32)){z=p;y=c[z+4>>2]|0;a=(c[f>>2]|0)+424|0;c[a>>2]=c[z>>2];c[a+4>>2]=y;break}y=p;a=Tb(c[r>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[g>>2]|0,c[j>>2]|0)|0;y=(c[f>>2]|0)+424|0;c[y>>2]=a;c[y+4>>2]=C;y=p;if(((c[y>>2]|0)!=-1?1:(c[y+4>>2]|0)!=-1)?(y=(c[f>>2]|0)+424|0,a=c[y+4>>2]|0,z=p,x=c[z+4>>2]|0,(a|0)<(x|0)|((a|0)==(x|0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0)):0){z=p;y=c[z+4>>2]|0;x=(c[f>>2]|0)+424|0;c[x>>2]=c[z>>2];c[x+4>>2]=y}}else{y=p;x=c[y+4>>2]|0;z=(c[f>>2]|0)+424|0;c[z>>2]=c[y>>2];c[z+4>>2]=x}while(0);x=(c[f>>2]|0)+424|0;z=c[x+4>>2]|0;y=(c[g>>2]|0)+488|0;c[y>>2]=c[x>>2];c[y+4>>2]=z;if(!((c[(c[e>>2]|0)+88>>2]|0)==0?(c[(c[g>>2]|0)+448>>2]|0)==0:0))w=27;if((w|0)==27?(w=0,z=(c[f>>2]|0)+424|0,(c[z>>2]|0)!=-1?1:(c[z+4>>2]|0)!=-1):0){z=(c[f>>2]|0)+424|0;y=wb(c[e>>2]|0,c[l>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=(c[f>>2]|0)+416|0;c[z>>2]=y;c[z+4>>2]=C}z=(c[g>>2]|0)+440|0;if((c[z>>2]|0)==1&(c[z+4>>2]|0)==0)Vb(c[e>>2]|0,c[g>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;z=(c[f>>2]|0)+424|0;y=c[z+4>>2]|0;x=c[k>>2]|0;c[x>>2]=c[z>>2];c[x+4>>2]=y;c[(c[k>>2]|0)+8>>2]=c[(c[f>>2]|0)+436>>2];c[(c[k>>2]|0)+12>>2]=c[(c[e>>2]|0)+64>>2];c[(c[k>>2]|0)+16>>2]=c[(c[f>>2]|0)+440>>2];c[(c[k>>2]|0)+20>>2]=c[(c[f>>2]|0)+444>>2];do if(c[c[e>>2]>>2]&32){y=(c[f>>2]|0)+424|0;x=c[e>>2]|0;if((c[y>>2]|0)==-1?(c[y+4>>2]|0)==-1:0){c[s>>2]=Hb(x,m,c[l>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;jc(c[(c[e>>2]|0)+560>>2]|0,c[s>>2]|0)|0;w=45;break}if(!(ic(c[x+560>>2]|0)|0)){x=(c[g>>2]|0)+488|0;y=c[x+4>>2]|0;z=t;c[z>>2]=c[x>>2];c[z+4>>2]=y;c[(c[g>>2]|0)+508>>2]=c[j>>2];kc(c[(c[e>>2]|0)+560>>2]|0,3);c[(c[e>>2]|0)+76>>2]=0;if((lc(c[(c[e>>2]|0)+560>>2]|0,4)|0)==-1){w=36;break a}y=(c[e>>2]|0)+76|0;if((c[(c[e>>2]|0)+76>>2]|0)>0){c[o>>2]=c[y>>2];c[(c[e>>2]|0)+76>>2]=0;break}c[y>>2]=0;y=t;z=c[y+4>>2]|0;x=(c[g>>2]|0)+488|0;c[x>>2]=c[y>>2];c[x+4>>2]=z;if(!(ic(c[(c[e>>2]|0)+560>>2]|0)|0)){c[u>>2]=Hb(c[e>>2]|0,m,c[l>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;jc(c[(c[e>>2]|0)+560>>2]|0,c[u>>2]|0)|0;w=45}else w=41}else w=41}else w=41;while(0);do if((w|0)==41){w=0;if(c[(c[g>>2]|0)+468>>2]|0){c[o>>2]=Oa[c[(c[g>>2]|0)+468>>2]&15](c[e>>2]|0,m,c[l>>2]|0,c[(c[g>>2]|0)+472>>2]|0)|0;w=45;break}if(c[(c[f>>2]|0)+396>>2]|0){c[o>>2]=Oa[c[(c[f>>2]|0)+396>>2]&15](c[e>>2]|0,m,c[l>>2]|0,c[(c[f>>2]|0)+400>>2]|0)|0;w=45}else w=45}while(0);if((w|0)==45){w=0;if((c[(c[f>>2]|0)+436>>2]|0)==(c[(c[e>>2]|0)+64>>2]|0)){z=(c[f>>2]|0)+444|0;c[z>>2]=(c[z>>2]|0)+1}else{c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=1}c[(c[f>>2]|0)+440>>2]=1;if(!(c[(c[j>>2]|0)+8>>2]|0))c[(c[g>>2]|0)+420>>2]=1}}while((c[o>>2]|0)==0);while(0);if((c[o>>2]|0)==1|(c[o>>2]|0)==-1|(c[o>>2]|0)==-17){w=51;break}if((Uc(c[e>>2]|0,n)|0)<0){w=53;break}c[l>>2]=bb(n)|0;c[(c[f>>2]|0)+392>>2]=c[l>>2];c[g>>2]=sb(c[e>>2]|0,c[l>>2]|0)|0;z=c[e>>2]|0;x=c[l>>2]|0;if(!(c[g>>2]|0)){y=tb(z,x)|0;c[g>>2]=y;if(!y){w=56;break}Qb(c[e>>2]|0,n,c[l>>2]|0)|0;if(c[c[e>>2]>>2]&32)Rb(c[e>>2]|0,n,c[l>>2]|0,0)|0}else if((Xb(z,x)|0)==9)Qb(c[e>>2]|0,n,c[l>>2]|0)|0;c[h>>2]=c[g>>2];x=ab(n)|0;z=v;c[z>>2]=x;c[z+4>>2]=C;z=v;x=c[z+4>>2]|0;y=(c[g>>2]|0)+496|0;c[y>>2]=c[z>>2];c[y+4>>2]=x;if(c[(c[e>>2]|0)+88>>2]|0){x=v;if((c[x>>2]|0)!=-1?1:(c[x+4>>2]|0)!=-1)w=64;else w=65}else{x=v;if((c[(c[g>>2]|0)+448>>2]|0)!=0&((c[x>>2]|0)!=-1?1:(c[x+4>>2]|0)!=-1))w=64;else w=65}if((w|0)==64){w=0;x=v;y=wb(c[e>>2]|0,c[l>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=(c[f>>2]|0)+416|0;c[x>>2]=y;c[x+4>>2]=C}else if((w|0)==65?(w=0,x=v,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0):0){x=(c[f>>2]|0)+416|0;c[x>>2]=0;c[x+4>>2]=0}if(!(c[(c[g>>2]|0)+476>>2]|0)){if(c[(c[f>>2]|0)+404>>2]|0)c[o>>2]=Oa[c[(c[f>>2]|0)+404>>2]&15](c[e>>2]|0,n,c[l>>2]|0,c[(c[f>>2]|0)+408>>2]|0)|0}else c[o>>2]=Oa[c[(c[g>>2]|0)+476>>2]&15](c[e>>2]|0,n,c[l>>2]|0,c[(c[g>>2]|0)+480>>2]|0)|0;jb(c[h>>2]|0,n)|0;x=(_a(n)|0)!=0;y=(c[f>>2]|0)+440|0;if(!x){c[y>>2]=1;c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=0;continue}if((c[y>>2]|0)==-1)continue;y=(c[f>>2]|0)+440|0;c[y>>2]=(c[y>>2]|0)+1}if((w|0)==7){c[d>>2]=-18;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==10){c[d>>2]=-17;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==12){c[d>>2]=-17;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==36){c[d>>2]=-17;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==51){c[d>>2]=c[o>>2];A=c[d>>2]|0;i=b;return A|0}else if((w|0)==53){c[d>>2]=-404;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==56){c[d>>2]=-18;A=c[d>>2]|0;i=b;return A|0}else if((w|0)==75){c[d>>2]=c[o>>2];A=c[d>>2]|0;i=b;return A|0}return 0}function Ec(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dc(c[(c[d>>2]|0)+80>>2]|0,5)|0;i=b;return}function Fc(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,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g;l=g+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;Ec(c[h>>2]|0);f=k;k=Wc(c[h>>2]|0,c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0)|0;i=g;return k|0}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=(c[g>>2]|0)+112;if((Bb(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)==-1){c[f>>2]=-1;m=c[f>>2]|0;i=e;return m|0}else{c[l>>2]=Cb(c[g>>2]|0)|0;c[(c[g>>2]|0)+64>>2]=c[l>>2];kb(c[k>>2]|0)|0;dc(c[(c[g>>2]|0)+80>>2]|0,6)|0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=e;return m|0}return 0}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;g=f+8|0;h=f+16|0;j=f+20|0;k=f+24|0;l=f+4|0;m=f;n=f+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=15){o=7;break}c[n>>2]=1040+((c[m>>2]|0)*24|0);if((c[l>>2]|0)>=(c[(c[n>>2]|0)+4>>2]|0)?(ve(c[k>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0)==0:0){o=5;break}c[m>>2]=(c[m>>2]|0)+1}if((o|0)==5){Wb(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;c[g>>2]=1;p=c[g>>2]|0;i=f;return p|0}else if((o|0)==7){Wb(c[h>>2]|0,c[j>>2]|0,15)|0;c[g>>2]=0;p=c[g>>2]|0;i=f;return p|0}return 0}function Ic(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+64|0;j=h+20|0;k=h+40|0;l=h+44|0;m=h+36|0;n=h+32|0;o=h+52|0;p=h+16|0;q=h;r=h+8|0;s=h+28|0;t=h+24|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+48>>2]=g;c[o>>2]=c[m>>2];m=q;c[m>>2]=0;c[m+4>>2]=0;m=r;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<48){c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}c[p>>2]=bd((c[o>>2]|0)+12|0)|0;if(vb(c[k>>2]|0,c[p>>2]|0)|0){c[j>>2]=1;u=c[j>>2]|0;i=h;return u|0}else{n=id((c[o>>2]|0)+20|0)|0;m=q;c[m>>2]=n;c[m+4>>2]=C;m=id((c[o>>2]|0)+28|0)|0;n=r;c[n>>2]=m;c[n+4>>2]=C;c[s>>2]=d[(c[o>>2]|0)+48>>0];o=c[k>>2]|0;n=c[p>>2]|0;m=q;q=c[m>>2]|0;g=c[m+4>>2]|0;m=r;r=Ue(1e3,0,c[m>>2]|0,c[m+4>>2]|0)|0;oc(o,n,q,g,r,C)|0;mc(c[k>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;c[t>>2]=Yb(c[k>>2]|0,c[l>>2]|0)|0;Zc(c[k>>2]|0,c[l>>2]|0,(c[t>>2]|0)+1|0)|0;c[j>>2]=1;u=c[j>>2]|0;i=h;return u|0}return 0}function Jc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[(c[d>>2]|0)+8>>2]|0){ze(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0}c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;i=b;return}function Kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;do if((c[(c[e>>2]|0)+4>>2]|0)>(c[c[e>>2]>>2]|0)){if(!(c[c[e>>2]>>2]|0))c[g>>2]=1;else c[g>>2]=c[c[e>>2]>>2]<<1;c[f>>2]=Be(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]<<2)|0;if(c[f>>2]|0){c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+8>>2]=c[f>>2];break}a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}while(0);c[d>>2]=c[e>>2];h=c[d>>2]|0;i=b;return h|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+12>>2]|0)){i=b;return}c[e>>2]=(c[(c[d>>2]|0)+4>>2]|0)-1;while(1){if((c[e>>2]|0)<=0){f=6;break}if((La[c[(c[d>>2]|0)+12>>2]&1](c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]|0)-1<<2)>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0,c[(c[d>>2]|0)+16>>2]|0)|0)<=0){f=6;break}Bd(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0,(c[e>>2]|0)-1|0);c[e>>2]=(c[e>>2]|0)+-1}if((f|0)==6){i=b;return}}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[f>>2]|0)+8>>2];if((c[g>>2]|0)>=(c[h>>2]|0)){i=e;return}Bd(c[l>>2]|0,c[g>>2]|0,((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0);c[k>>2]=c[g>>2];c[j>>2]=(c[g>>2]|0)+1;while(1){if((c[j>>2]|0)>(c[h>>2]|0))break;if((La[c[(c[f>>2]|0)+12>>2]&1](c[(c[l>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)<0){d=c[l>>2]|0;b=(c[k>>2]|0)+1|0;c[k>>2]=b;Bd(d,b,c[j>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}Bd(c[l>>2]|0,c[g>>2]|0,c[k>>2]|0);Mc(c[f>>2]|0,c[g>>2]|0,(c[k>>2]|0)-1|0);Mc(c[f>>2]|0,(c[k>>2]|0)+1|0,c[h>>2]|0);i=e;return}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-2;j=c[e>>2]|0;i=d;return j|0}c[h>>2]=sb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;j=c[e>>2]|0;i=d;return j|0}b=(c[h>>2]|0)+376|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){b=(c[h>>2]|0)+376|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+384|0;c[b>>2]=0;c[b+4>>2]=0}b=c[f>>2]|0;a=c[g>>2]|0;if(!(c[(c[h>>2]|0)+408>>2]|0)){c[e>>2]=ub(b,a,19,0,1)|0;j=c[e>>2]|0;i=d;return j|0}h=(Xb(b,a)|0)==12;a=c[f>>2]|0;b=c[g>>2]|0;if(h){c[e>>2]=ub(a,b,20,0,1)|0;j=c[e>>2]|0;i=d;return j|0}h=(Xb(a,b)|0)==14;b=c[f>>2]|0;f=c[g>>2]|0;if(h){c[e>>2]=ub(b,f,21,0,1)|0;j=c[e>>2]|0;i=d;return j|0}else{c[e>>2]=ub(b,f,22,0,1)|0;j=c[e>>2]|0;i=d;return j|0}return 0}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]|0);c[(c[f>>2]|0)+12>>2]=8;i=e;return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)-(c[f>>2]|0);while(1){if((c[(c[e>>2]|0)+12>>2]|0)>0)break;f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;f=(c[e>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+8}i=d;return}function Qc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;while(1){a=(Gd(c[d>>2]|0,1)|0)!=0^1;g=c[e>>2]|0;if(!a)break;c[e>>2]=g+1;c[f>>2]=c[f>>2]<<1;a=Gd(c[d>>2]|0,1)|0;c[f>>2]=c[f>>2]|a}i=b;return (1<<g)-1+(c[f>>2]|0)|0}function Rc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gd(c[d>>2]|0,1)|0;i=b;return a|0}function Sc(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=ye((Cc(c[e>>2]|0)|0)+1|0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;break}else{c[d>>2]=Oe(c[f>>2]|0,c[e>>2]|0)|0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(vc(c[f>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}c[h>>2]=ye(8)|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}b=Sc(c[f>>2]|0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){ze(c[h>>2]|0);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[g>>2]|0){b=Sc(c[g>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=b;if(!(c[(c[h>>2]|0)+4>>2]|0)){ze(c[c[h>>2]>>2]|0);ze(c[h>>2]|0);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}}else c[(c[h>>2]|0)+4>>2]=0;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[f>>2]|0)+112;c[k>>2]=0;b=(c[f>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+(c[(c[h>>2]|0)+432>>2]|0);while(1){c[j>>2]=ib(c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){l=3;break}b=c[j>>2]|0;if((c[j>>2]|0)<0){a=(c[f>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+(0-b)}else{c[(c[h>>2]|0)+432>>2]=b;c[k>>2]=1}if(!((c[k>>2]|0)!=0^1)){l=8;break}}if((l|0)==3){c[e>>2]=-2;m=c[e>>2]|0;i=d;return m|0}else if((l|0)==8){c[e>>2]=c[(c[f>>2]|0)+64>>2];m=c[e>>2]|0;i=d;return m|0}return 0}function Vc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[(c[e>>2]|0)+336>>2]|0)==-1){i=b;return 0}lb(c[e>>2]|0)|0;i=b;return 0}function Wc(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g+28|0;j=g+20|0;k=g+24|0;l=g;m=g+16|0;n=g+12|0;o=g+8|0;c[j>>2]=a;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=(c[j>>2]|0)+112;c[o>>2]=Gc(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if((c[o>>2]|0)==-1){c[h>>2]=-1;p=c[h>>2]|0;i=g;return p|0}c[(c[j>>2]|0)+64>>2]=c[o>>2];j=l;if((c[j>>2]|0)!=-1?1:(c[j+4>>2]|0)!=-1){j=l;l=c[j+4>>2]|0;m=(c[n>>2]|0)+416|0;c[m>>2]=c[j>>2];c[m+4>>2]=l}c[h>>2]=c[o>>2];p=c[h>>2]|0;i=g;return p|0}function Xc(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+48|0;k=j+12|0;l=j+16|0;m=j+28|0;n=j+4|0;o=j+32|0;p=j+40|0;q=j+24|0;r=j+20|0;s=j+8|0;t=j+44|0;u=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[j+36>>2]=h;c[p>>2]=c[n>>2];a[t>>0]=0;if((c[o>>2]|0)<41){c[k>>2]=0;v=c[k>>2]|0;i=j;return v|0}c[q>>2]=(d[(c[p>>2]|0)+7>>0]<<16)+(d[(c[p>>2]|0)+8>>0]<<8)+(d[(c[p>>2]|0)+9>>0]|0);c[r>>2]=Yc((c[p>>2]|0)+22|0)|0;c[s>>2]=Yc((c[p>>2]|0)+26|0)|0;if(!(c[r>>2]|0))c[r>>2]=1;a[t>>0]=(d[(c[p>>2]|0)+40>>0]&3)<<3;a[t>>0]=a[t>>0]|(d[(c[p>>2]|0)+41>>0]&224)>>5;c[u>>2]=a[t>>0];t=c[l>>2]|0;p=c[m>>2]|0;o=c[r>>2]|0;r=c[s>>2]|0;s=Ue(1e3,0,r|0,((r|0)<0)<<31>>31|0)|0;oc(t,p,o,((o|0)<0)<<31>>31,s,C)|0;mc(c[l>>2]|0,c[m>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<197120)qc(c[l>>2]|0,c[m>>2]|0,-1,-1)|0;Zc(c[l>>2]|0,c[m>>2]|0,3)|0;c[k>>2]=1;v=c[k>>2]|0;i=j;return v|0}function Yc(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;i=b;return (d[c[e>>2]>>0]|0)<<24|(d[(c[e>>2]|0)+1>>0]|0)<<16|(d[(c[e>>2]|0)+2>>0]|0)<<8|(d[(c[e>>2]|0)+3>>0]|0)|0}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;l=c[f>>2]|0;i=e;return l|0}c[k>>2]=sb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-20;l=c[f>>2]|0;i=e;return l|0}else{c[(c[k>>2]|0)+364>>2]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function _c(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+8|0;k=h;l=h+28|0;m=h+24|0;n=h+20|0;o=h+16|0;p=h+36|0;q=h+32|0;r=k;c[r>>2]=b;c[r+4>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[(c[m>>2]|0)+4>>2]|0))s=64;else s=d[c[c[m>>2]>>2]>>0]|0;a[p>>0]=s;c[q>>2]=c[(c[l>>2]|0)+504>>2];a:do if(!((d[p>>0]|0)&128)){s=k;m=c[s+4>>2]|0;if((m|0)>-1|(m|0)==-1&(c[s>>2]|0)>>>0>4294967295){c[c[q>>2]>>2]=1;s=k;m=c[s+4>>2]|0;g=j;c[g>>2]=c[s>>2];c[g+4>>2]=m;break}m=(c[l>>2]|0)+488|0;g=c[q>>2]|0;if((c[m>>2]|0)==-1?(c[m+4>>2]|0)==-1:0){c[g>>2]=1;m=j;c[m>>2]=-1;c[m+4>>2]=-1;break}if(!(c[g>>2]|0)){c[c[q>>2]>>2]=1;g=j;c[g>>2]=-1;c[g+4>>2]=-1;break}g=c[l>>2]|0;if((d[p>>0]|0)&64){m=g+488|0;s=Me(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;m=j;c[m>>2]=s;c[m+4>>2]=C;break}else{c[o>>2]=c[g+408>>2];g=(c[l>>2]|0)+488|0;m=Fe(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0)|0;c[n>>2]=m;m=(c[l>>2]|0)+488|0;g=(1<<c[o>>2])-1|0;s=Me(c[m>>2]&g|0,c[m+4>>2]&((g|0)<0)<<31>>31|0,1,0)|0;g=c[n>>2]|0;m=Me(g|0,((g|0)<0)<<31>>31|0,s|0,C|0)|0;c[n>>2]=m;m=c[n>>2]|0;s=Ie(m|0,((m|0)<0)<<31>>31|0,c[o>>2]|0)|0;m=j;c[m>>2]=s;c[m+4>>2]=C;break}}else{do if(!(c[q>>2]|0)){m=ye(4)|0;c[(c[l>>2]|0)+504>>2]=m;if(!(c[(c[l>>2]|0)+504>>2]|0)){m=j;c[m>>2]=-1;c[m+4>>2]=-1;break a}else{c[q>>2]=c[(c[l>>2]|0)+504>>2];break}}while(0);c[c[q>>2]>>2]=0;m=j;c[m>>2]=0;c[m+4>>2]=0}while(0);q=j;C=c[q+4>>2]|0;i=h;return c[q>>2]|0}function $c(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g;j=g+8|0;k=g+28|0;l=g+16|0;m=g+24|0;n=j;c[n>>2]=a;c[n+4>>2]=b;c[k>>2]=d;c[g+32>>2]=e;c[g+20>>2]=f;f=j;e=Fe(c[f>>2]|0,c[f+4>>2]|0,c[(c[k>>2]|0)+408>>2]|0)|0;c[l>>2]=e;e=j;j=c[l>>2]<<c[(c[k>>2]|0)+408>>2];f=Ge(c[e>>2]|0,c[e+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[m>>2]=f;f=c[l>>2]|0;if(!(c[m>>2]|0)){l=(f-60<<c[(c[k>>2]|0)+408>>2])+59|0;j=h;c[j>>2]=l;c[j+4>>2]=((l|0)<0)<<31>>31;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;C=t;i=g;return q|0}else{l=Ie(f|0,((f|0)<0)<<31>>31|0,c[(c[k>>2]|0)+408>>2]|0)|0;k=(c[m>>2]|0)-1|0;m=Me(l|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;k=h;c[k>>2]=m;c[k+4>>2]=C;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;C=t;i=g;return q|0}return 0}function ad(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+48|0;h=g+28|0;j=g+12|0;k=g+24|0;l=g+20|0;m=g+32|0;n=g+16|0;o=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g+8>>2]=f;c[n>>2]=c[l>>2];l=o;c[l>>2]=0;c[l+4>>2]=0;if((c[m>>2]|0)<30){c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}else{m=bd((c[n>>2]|0)+12|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;m=o;oc(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;Zb(c[j>>2]|0,c[k>>2]|0,2)|0;Zc(c[j>>2]|0,c[k>>2]|0,3)|0;c[h>>2]=1;p=c[h>>2]|0;i=g;return p|0}return 0}function bd(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;i=b;return d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8|(d[(c[e>>2]|0)+2>>0]|0)<<16|(d[(c[e>>2]|0)+3>>0]|0)<<24|0}function cd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;g=i;i=i+80|0;h=g+8|0;j=g+24|0;k=g+40|0;l=g+16|0;m=g+20|0;n=g+28|0;o=g+36|0;p=g+32|0;q=g+44|0;r=g+48|0;s=g+52|0;t=g+56|0;u=g+60|0;v=g+64|0;w=g;c[w>>2]=a;c[w+4>>2]=b;c[j>>2]=e;c[k>>2]=f;f=c[c[k>>2]>>2]|0;if(!(c[(c[j>>2]|0)+504>>2]|0)){c[o>>2]=1<<((d[f+28>>0]|0)>>4);c[n>>2]=1<<((d[(c[c[k>>2]>>2]|0)+28>>0]|0)&15);e=ye(44)|0;c[(c[j>>2]|0)+504>>2]=e;if(!(c[(c[j>>2]|0)+504>>2]|0)){e=h;c[e>>2]=-1;c[e+4>>2]=-1;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}else{c[l>>2]=c[(c[j>>2]|0)+504>>2];c[(c[l>>2]|0)+12>>2]=c[o>>2]>>1;c[(c[l>>2]|0)+8>>2]=((c[o>>2]>>2)*3|0)-(c[n>>2]>>2);c[(c[l>>2]|0)+4>>2]=(c[o>>2]>>2)+(c[n>>2]>>2);c[c[l>>2]>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+20>>2]=c[n>>2];c[(c[l>>2]|0)+24>>2]=c[o>>2];c[(c[l>>2]|0)+16>>2]=c[n>>2]>>1;c[(c[l>>2]|0)+28>>2]=0;n=h;c[n>>2]=0;c[n+4>>2]=0;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}}if(!((d[f>>0]|0)&1)){c[l>>2]=c[(c[j>>2]|0)+504>>2];f=h;c[f>>2]=-1;c[f+4>>2]=-1;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}a:do if((d[c[c[k>>2]>>2]>>0]|0|0)==5){c[p>>2]=(c[c[k>>2]>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)-1);c[r>>2]=0;c[q>>2]=8;while(1){f=(c[q>>2]|0)+-1|0;c[q>>2]=f;if(!((1<<f&(d[c[p>>2]>>0]|0)|0)!=0^1))break;if(c[q>>2]|0)continue;c[q>>2]=8;c[p>>2]=(c[p>>2]|0)+-1}while(1){c[q>>2]=((c[q>>2]|0)+7|0)%8|0;if((c[q>>2]|0)==7)c[p>>2]=(c[p>>2]|0)+-1;if((d[(c[p>>2]|0)+-5>>0]|0)&~((1<<(c[q>>2]|0)+1)-1))break;if(d[(c[p>>2]|0)+-4>>0]|0)break;if(d[(c[p>>2]|0)+-3>>0]|0)break;if(d[(c[p>>2]|0)+-2>>0]|0)break;if((d[(c[p>>2]|0)+-1>>0]|0)&(1<<(c[q>>2]|0)+1)-1)break;c[r>>2]=(c[r>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-5}c[m>>2]=0;while(1){if((c[m>>2]|0)>=2)break;f=d[c[p>>2]>>0]|0;n=c[q>>2]|0;if((c[q>>2]|0)>4)c[s>>2]=f>>n-5&63;else{c[s>>2]=f&(1<<n+1)-1;c[s>>2]=c[s>>2]<<5-(c[q>>2]|0);c[s>>2]=c[s>>2]|((d[(c[p>>2]|0)+-1>>0]|0)&~((1<<(c[q>>2]|0)+3)-1))>>(c[q>>2]|0)+3}c[s>>2]=(c[s>>2]|0)+1;if((c[s>>2]|0)==(c[r>>2]|0))break;c[q>>2]=((c[q>>2]|0)+1|0)%8|0;if(!(c[q>>2]|0))c[p>>2]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+5;c[r>>2]=(c[r>>2]|0)-1;c[m>>2]=(c[m>>2]|0)+1}c[v>>2]=44+((c[r>>2]|0)-1<<2);if((c[v>>2]|0)>>>0<44){n=h;c[n>>2]=-1;c[n+4>>2]=-1;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}c[l>>2]=Be(c[(c[j>>2]|0)+504>>2]|0,c[v>>2]|0)|0;if(!(c[l>>2]|0)){n=h;c[n>>2]=-1;c[n+4>>2]=-1;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}c[(c[j>>2]|0)+504>>2]=c[l>>2];c[u>>2]=-1;do{n=(c[u>>2]|0)+1|0;c[u>>2]=n}while((1<<n|0)<(c[r>>2]|0));c[(c[l>>2]|0)+36>>2]=c[u>>2];c[t>>2]=(c[l>>2]|0)+40;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break a;c[q>>2]=((c[q>>2]|0)+1|0)%8|0;if(!(c[q>>2]|0))c[p>>2]=(c[p>>2]|0)+1;n=(d[c[p>>2]>>0]|0)>>c[q>>2]&1;f=c[t>>2]|0;c[t>>2]=f+4;c[f>>2]=n;c[p>>2]=(c[p>>2]|0)+5;c[u>>2]=(c[u>>2]|0)+1}}while(0);u=h;c[u>>2]=0;c[u+4>>2]=0;x=h;y=x;z=c[y>>2]|0;A=x+4|0;B=A;D=c[B>>2]|0;C=D;i=g;return z|0}function dd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=i;i=i+64|0;j=h+16|0;k=h;l=h+36|0;m=h+32|0;n=h+40|0;o=h+44|0;p=h+48|0;q=h+28|0;r=h+24|0;s=h+8|0;t=k;c[t>>2]=a;c[t+4>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[l>>2]|0)+504>>2];c[p>>2]=(d[c[c[m>>2]>>2]>>0]|0)>>1&(1<<c[(c[o>>2]|0)+36>>2])-1;m=c[o>>2]|0;if(c[(c[o>>2]|0)+40+(c[p>>2]<<2)>>2]|0)u=c[m+24>>2]|0;else u=c[m+20>>2]|0;c[q>>2]=u;c[p>>2]=(d[c[c[n>>2]>>2]>>0]|0)>>1&(1<<c[(c[o>>2]|0)+36>>2])-1;n=c[o>>2]|0;if(c[(c[o>>2]|0)+40+(c[p>>2]<<2)>>2]|0)v=c[n+24>>2]|0;else v=c[n+20>>2]|0;c[r>>2]=v;v=k;k=((c[q>>2]|0)+(c[r>>2]|0)|0)/4|0;r=Ge(c[v>>2]|0,c[v+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;k=s;c[k>>2]=r;c[k+4>>2]=C;if((c[s+4>>2]|0)<0){k=j;c[k>>2]=0;c[k+4>>2]=0;w=j;x=w;y=c[x>>2]|0;z=w+4|0;A=z;B=c[A>>2]|0;C=B;i=h;return y|0}else{k=s;s=c[k+4>>2]|0;r=j;c[r>>2]=c[k>>2];c[r+4>>2]=s;w=j;x=w;y=c[x>>2]|0;z=w+4|0;A=z;B=c[A>>2]|0;C=B;i=h;return y|0}return 0}function ed(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;h=g+32|0;j=g+12|0;k=g+28|0;l=g+24|0;m=g+36|0;n=g+16|0;o=g;p=g+20|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g+8>>2]=f;c[n>>2]=c[l>>2];l=o;c[l>>2]=0;c[l+4>>2]=0;if((c[m>>2]|0)<68){c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}else{m=bd((c[n>>2]|0)+36|0)|0;l=o;c[l>>2]=m;c[l+4>>2]=((m|0)<0)<<31>>31;m=o;oc(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;Zb(c[j>>2]|0,c[k>>2]|0,3)|0;m=bd((c[n>>2]|0)+68|0)|0;n=Me(m|0,((m|0)<0)<<31>>31|0,2,0)|0;c[p>>2]=n;Zc(c[j>>2]|0,c[k>>2]|0,c[p>>2]|0)|0;c[h>>2]=1;q=c[h>>2]|0;i=g;return q|0}return 0}function fd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+8|0;h=f;j=f+24|0;k=f+20|0;l=f+16|0;m=h;c[m>>2]=a;c[m+4>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[(c[j>>2]|0)+504>>2];do if(!(c[(c[j>>2]|0)+504>>2]|0)){e=ye(12)|0;c[(c[j>>2]|0)+504>>2]=e;if(!(c[(c[j>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}else{c[l>>2]=c[(c[j>>2]|0)+504>>2];c[(c[l>>2]|0)+8>>2]=0;e=_(c[(c[c[k>>2]>>2]|0)+64>>2]|0,c[(c[c[k>>2]>>2]|0)+56>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=e;c[c[l>>2]>>2]=1;e=g;c[e>>2]=0;c[e+4>>2]=0;break}}else{e=c[l>>2]|0;if((c[c[l>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+8>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;d=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=d;break}if(!(c[(c[l>>2]|0)+8>>2]|0)){d=g;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[j>>2]|0)+488|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){d=(c[j>>2]|0)+488|0;b=c[(c[l>>2]|0)+4>>2]|0;e=Me(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=C;break}else{b=g;c[b>>2]=-1;c[b+4>>2]=-1;break}}while(0);l=g;C=c[l+4>>2]|0;i=f;return c[l>>2]|0}function gd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+48|0;h=g+28|0;j=g+12|0;k=g+24|0;l=g+20|0;m=g+32|0;n=g+16|0;o=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g+8>>2]=f;c[n>>2]=c[l>>2];if((c[m>>2]|0)<28){c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}else{m=Yc((c[n>>2]|0)+16|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;m=o;oc(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;Zc(c[j>>2]|0,c[k>>2]|0,3)|0;c[h>>2]=1;p=c[h>>2]|0;i=g;return p|0}return 0}function hd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+24|0;k=h+28|0;l=h+32|0;m=h+36|0;n=h+40|0;o=h+20|0;p=h;q=h+8|0;r=h+16|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+44>>2]=g;c[o>>2]=c[m>>2];m=p;c[m>>2]=0;c[m+4>>2]=0;m=q;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<28){c[j>>2]=0;s=c[j>>2]|0;i=h;return s|0}m=id((c[o>>2]|0)+12|0)|0;g=p;c[g>>2]=m;c[g+4>>2]=C;g=id((c[o>>2]|0)+20|0)|0;m=q;c[m>>2]=g;c[m+4>>2]=C;if((c[n>>2]|0)>28)c[r>>2]=d[(c[o>>2]|0)+28>>0];else c[r>>2]=0;o=c[k>>2]|0;n=c[l>>2]|0;m=p;p=c[m>>2]|0;g=c[m+4>>2]|0;m=q;q=Ue(1e3,0,c[m>>2]|0,c[m+4>>2]|0)|0;oc(o,n,p,g,q,C)|0;mc(c[k>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;Zc(c[k>>2]|0,c[l>>2]|0,3)|0;c[j>>2]=1;s=c[j>>2]|0;i=h;return s|0}function id(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8|(d[(c[e>>2]|0)+2>>0]|0)<<16|(d[(c[e>>2]|0)+3>>0]|0)<<24;c[g>>2]=d[(c[e>>2]|0)+4>>0]|0|(d[(c[e>>2]|0)+5>>0]|0)<<8|(d[(c[e>>2]|0)+6>>0]|0)<<16|(d[(c[e>>2]|0)+7>>0]|0)<<24;C=c[g>>2]|0;i=b;return c[f>>2]|0}function jd(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,j=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;c[h>>2]=a;c[j>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;oc(c[h>>2]|0,c[j>>2]|0,0,0,1,0)|0;i=g;return 1}function kd(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,j=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;c[h>>2]=a;c[j>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;oc(c[h>>2]|0,c[j>>2]|0,0,0,1,0)|0;Zc(c[h>>2]|0,c[j>>2]|0,1)|0;i=g;return 1}function ld(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+24|0;k=h+16|0;l=h+20|0;m=h+8|0;n=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[h+28>>2]=f;c[h+12>>2]=g;c[m>>2]=c[l>>2];l=n;c[l>>2]=0;c[l+4>>2]=0;l=(d[(c[m>>2]|0)+14>>0]|0)<<12;g=(d[(c[m>>2]|0)+15>>0]|0)<<4;f=(d[(c[m>>2]|0)+16>>0]|0)>>4&15;m=n;c[m>>2]=l|g|f;c[m+4>>2]=((l|0)<0)<<31>>31|((g|0)<0)<<31>>31|((f|0)<0)<<31>>31;f=n;oc(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,1e3,0)|0;Zc(c[j>>2]|0,c[k>>2]|0,3)|0;i=h;return 1}function md(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;i=i+48|0;j=h;k=h+8|0;l=h+20|0;m=h+28|0;n=h+16|0;o=h+32|0;p=h+24|0;q=k;c[q>>2]=b;c[q+4>>2]=e;c[l>>2]=f;c[m>>2]=g;do if(c[(c[l>>2]|0)+504>>2]|0){c[n>>2]=c[(c[l>>2]|0)+504>>2];if((d[c[c[m>>2]>>2]>>0]|0|0)==255)c[(c[n>>2]|0)+8>>2]=1;g=k;if((((c[g>>2]|0)==-1?(c[g+4>>2]|0)==-1:0)?(d[c[c[m>>2]>>2]>>0]|0|0)==255:0)?(c[(c[m>>2]|0)+4>>2]|0)>2:0){a[o>>0]=((d[(c[c[m>>2]>>2]|0)+2>>0]|0)&240)>>4;do switch(d[o>>0]|0|0){case 0:{c[p>>2]=-1;break}case 1:{c[p>>2]=192;break}case 2:{c[p>>2]=576;break}case 3:{c[p>>2]=1152;break}case 4:{c[p>>2]=2304;break}case 5:{c[p>>2]=4608;break}case 6:{c[p>>2]=-1;break}case 7:{c[p>>2]=-1;break}case 8:{c[p>>2]=256;break}case 9:{c[p>>2]=512;break}case 10:{c[p>>2]=1024;break}case 11:{c[p>>2]=2048;break}case 12:{c[p>>2]=4096;break}case 13:{c[p>>2]=8192;break}case 14:{c[p>>2]=16384;break}case 15:{c[p>>2]=32768;break}default:c[p>>2]=-1}while(0);if((c[p>>2]|0)==-1)break;g=c[n>>2]|0;f=c[p>>2]|0;e=Me(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=e;c[f+4>>2]=C;break}f=k;if(((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0)?(c[(c[n>>2]|0)+8>>2]|0)==0:0){f=k;c[f>>2]=0;c[f+4>>2]=0}}else{f=ye(16)|0;c[(c[l>>2]|0)+504>>2]=f;if(c[(c[l>>2]|0)+504>>2]|0){c[n>>2]=c[(c[l>>2]|0)+504>>2];f=c[n>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[(c[n>>2]|0)+8>>2]=0;break}f=j;c[f>>2]=-1;c[f+4>>2]=-1;r=j;s=r;t=c[s>>2]|0;u=r+4|0;v=u;w=c[v>>2]|0;C=w;i=h;return t|0}while(0);l=k;p=c[l+4>>2]|0;o=c[n>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=p;p=k;k=c[p+4>>2]|0;o=j;c[o>>2]=c[p>>2];c[o+4>>2]=k;r=j;s=r;t=c[s>>2]|0;u=r+4|0;v=u;w=c[v>>2]|0;C=w;i=h;return t|0}function nd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+48|0;j=h+32|0;k=h+12|0;l=h+28|0;m=h+24|0;n=h+36|0;o=h+16|0;p=h;q=h+20|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+8>>2]=g;c[o>>2]=c[m>>2];m=p;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<51){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}else{n=(d[(c[o>>2]|0)+27>>0]|0)<<12;m=(d[(c[o>>2]|0)+28>>0]|0)<<4;g=(d[(c[o>>2]|0)+29>>0]|0)>>4&15;f=p;c[f>>2]=n|m|g;c[f+4>>2]=((n|0)<0)<<31>>31|((m|0)<0)<<31>>31|((g|0)<0)<<31>>31;g=p;oc(c[k>>2]|0,c[l>>2]|0,c[g>>2]|0,c[g+4>>2]|0,1e3,0)|0;c[q>>2]=(od((c[o>>2]|0)+7|0)|0)&65535;Zc(c[k>>2]|0,c[l>>2]|0,c[q>>2]|0)|0;c[j>>2]=1;r=c[j>>2]|0;i=h;return r|0}return 0}function od(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;i=b;return ((d[c[e>>2]>>0]|0)<<8|(d[(c[e>>2]|0)+1>>0]|0))&65535|0}function pd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+36|0;l=g+16|0;m=g+40|0;n=g+20|0;o=g;p=g+8|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g+24>>2]=f;c[n>>2]=c[l>>2];l=o;c[l>>2]=0;c[l+4>>2]=0;l=p;c[l>>2]=0;c[l+4>>2]=0;if((c[m>>2]|0)<28){c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}else{m=id((c[n>>2]|0)+8|0)|0;l=o;c[l>>2]=m;c[l+4>>2]=C;l=id((c[n>>2]|0)+16|0)|0;n=p;c[n>>2]=l;c[n+4>>2]=C;n=c[j>>2]|0;j=c[k>>2]|0;k=o;o=c[k>>2]|0;l=c[k+4>>2]|0;k=p;p=Ue(1e3,0,c[k>>2]|0,c[k+4>>2]|0)|0;oc(n,j,o,l,p,C)|0;c[h>>2]=1;q=c[h>>2]|0;i=g;return q|0}return 0}function qd(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+48|0;h=g+32|0;j=g+12|0;k=g+28|0;l=g+24|0;m=g+36|0;n=g+16|0;o=g;p=g+20|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g+8>>2]=f;c[n>>2]=c[l>>2];l=o;c[l>>2]=0;c[l+4>>2]=0;if((c[m>>2]|0)<56){c[h>>2]=0;q=c[h>>2]|0;i=g;return q|0}else{m=bd((c[n>>2]|0)+40|0)|0;l=o;c[l>>2]=m;c[l+4>>2]=((m|0)<0)<<31>>31;m=o;oc(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;m=bd((c[n>>2]|0)+52|0)|0;n=Me(m|0,((m|0)<0)<<31>>31|0,2,0)|0;c[p>>2]=n;Zc(c[j>>2]|0,c[k>>2]|0,c[p>>2]|0)|0;c[h>>2]=1;q=c[h>>2]|0;i=g;return q|0}return 0}function rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+8|0;h=f;j=f+24|0;k=f+16|0;l=h;c[l>>2]=a;c[l+4>>2]=b;c[j>>2]=d;c[f+20>>2]=e;c[k>>2]=c[(c[j>>2]|0)+504>>2];do if(!(c[(c[j>>2]|0)+504>>2]|0)){e=ye(12)|0;c[(c[j>>2]|0)+504>>2]=e;if(!(c[(c[j>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}else{c[k>>2]=c[(c[j>>2]|0)+504>>2];c[(c[k>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+4>>2]=256;c[c[k>>2]>>2]=1;e=g;c[e>>2]=0;c[e+4>>2]=0;break}}else{e=c[k>>2]|0;if((c[c[k>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+8>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;d=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=d;break}if(!(c[(c[k>>2]|0)+8>>2]|0)){d=g;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[j>>2]|0)+488|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){d=(c[j>>2]|0)+488|0;b=c[(c[k>>2]|0)+4>>2]|0;e=Me(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=C;break}else{b=g;c[b>>2]=-1;c[b+4>>2]=-1;break}}while(0);k=g;C=c[k+4>>2]|0;i=f;return c[k>>2]|0}function sd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+48|0;k=j;l=j+16|0;m=j+4|0;n=j+8|0;o=j+32|0;p=j+12|0;q=j+24|0;r=j+20|0;s=j+40|0;t=j+28|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[j+36>>2]=h;c[p>>2]=c[n>>2];a[s>>0]=0;if((c[o>>2]|0)<64){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}else{c[q>>2]=bd((c[p>>2]|0)+24|0)|0;c[r>>2]=bd((c[p>>2]|0)+28|0)|0;a[s>>0]=a[(c[p>>2]|0)+15>>0]|0;c[t>>2]=d[(c[p>>2]|0)+11>>0];p=c[l>>2]|0;o=c[m>>2]|0;n=c[q>>2]|0;q=c[r>>2]|0;r=Ue(1e3,0,q|0,((q|0)<0)<<31>>31|0)|0;oc(p,o,n,((n|0)<0)<<31>>31,r,C)|0;mc(c[l>>2]|0,c[m>>2]|0,d[s>>0]|0)|0;Zc(c[l>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[k>>2]=1;u=c[k>>2]|0;i=j;return u|0}return 0}function td(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g+4|0;j=g+16|0;k=g+8|0;l=g+20|0;m=g+28|0;n=g+12|0;o=g+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g>>2]=f;c[n>>2]=22;c[o>>2]=ye(48)|0;if(!(c[o>>2]|0)){c[h>>2]=-1;p=c[h>>2]|0;i=g;return p|0}if((rc(c[o>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==-1){ze(c[o>>2]|0);c[h>>2]=-1;p=c[h>>2]|0;i=g;return p|0}else{m=c[j>>2]|0;l=c[k>>2]|0;f=Ue(2,0,c[(c[o>>2]|0)+32>>2]|0,0)|0;e=C;d=Ue(1e3,0,c[(c[o>>2]|0)+36>>2]|0,0)|0;oc(m,l,f,e,d,C)|0;mc(c[j>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;Zc(c[j>>2]|0,c[k>>2]|0,0)|0;ze(c[o>>2]|0);c[h>>2]=1;p=c[h>>2]|0;i=g;return p|0}return 0}function ud(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+24|0;l=j+16|0;m=j+20|0;n=j+12|0;o=j+4|0;p=j+28|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[j>>2]=h;c[j+8>>2]=c[n>>2];if((c[o>>2]|0)<19){c[k>>2]=0;q=c[k>>2]|0;i=j;return q|0}a[p>>0]=a[(c[n>>2]|0)+9>>0]|0;if((d[p>>0]|0|0)<1){c[k>>2]=0;q=c[k>>2]|0;i=j;return q|0}else{oc(c[l>>2]|0,c[m>>2]|0,48e3,0,1e3,0)|0;mc(c[l>>2]|0,c[m>>2]|0,0)|0;p=c[l>>2]|0;o=c[m>>2]|0;qc(p,o,(vd((c[n>>2]|0)+10|0)|0)&65535,0)|0;Zc(c[l>>2]|0,c[m>>2]|0,2)|0;c[k>>2]=1;q=c[k>>2]|0;i=j;return q|0}return 0}function vd(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;i=b;return (d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8)&65535|0}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;i=i+48|0;g=f+16|0;h=f+24|0;j=f+36|0;k=f+40|0;l=f+32|0;m=f;n=f+8|0;o=h;c[o>>2]=a;c[o+4>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[(c[j>>2]|0)+504>>2];if(!(c[(c[j>>2]|0)+504>>2]|0)){e=ye(16)|0;c[(c[j>>2]|0)+504>>2]=e;if(!(c[(c[j>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}else{c[l>>2]=c[(c[j>>2]|0)+504>>2];c[(c[l>>2]|0)+4>>2]=0;c[c[l>>2]>>2]=1;e=(c[l>>2]|0)+8|0;c[e>>2]=0;c[e+4>>2]=0;e=g;c[e>>2]=0;c[e+4>>2]=0;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}}e=c[l>>2]|0;if((c[c[l>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+4>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;h=c[e+4>>2]|0;d=g;c[d>>2]=c[e>>2];c[d+4>>2]=h;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}if(!(c[(c[l>>2]|0)+4>>2]|0)){h=g;c[h>>2]=0;c[h+4>>2]=0;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}h=xd(c[k>>2]|0)|0;k=m;c[k>>2]=h;c[k+4>>2]=C;k=(c[j>>2]|0)+488|0;h=c[k+4>>2]|0;if(!((h|0)>0|(h|0)==0&(c[k>>2]|0)>>>0>0)){k=m;h=(c[l>>2]|0)+8|0;l=h;d=Me(c[l>>2]|0,c[l+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=h;c[k>>2]=d;c[k+4>>2]=C;k=g;c[k>>2]=-1;c[k+4>>2]=-1;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}k=(c[j>>2]|0)+488|0;d=m;m=Me(c[k>>2]|0,c[k+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=n;c[d>>2]=m;c[d+4>>2]=C;d=n;m=c[d+4>>2]|0;k=(c[j>>2]|0)+496|0;h=c[k+4>>2]|0;if((m|0)>(h|0)|((m|0)==(h|0)?(c[d>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)?(k=(c[j>>2]|0)+496|0,d=c[k+4>>2]|0,h=(c[j>>2]|0)+488|0,m=c[h+4>>2]|0,(d|0)>(m|0)|((d|0)==(m|0)?(c[k>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)):0){h=(c[j>>2]|0)+496|0;v=c[h>>2]|0;w=c[h+4>>2]|0}else{h=n;v=c[h>>2]|0;w=c[h+4>>2]|0}h=g;c[h>>2]=v;c[h+4>>2]=w;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=f;return r|0}function xd(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e;g=e+16|0;h=e+21|0;j=e+22|0;k=e+20|0;l=e+8|0;m=e+12|0;c[g>>2]=b;do if((c[(c[g>>2]|0)+4>>2]|0)>=1){a[h>>0]=a[c[c[g>>2]>>2]>>0]|0;a[j>>0]=(d[h>>0]|0)&3;c[l>>2]=c[1968+((d[h>>0]|0)>>3<<2)>>2];if((d[j>>0]|0|0)==3?(c[(c[g>>2]|0)+4>>2]|0)<2:0){b=f;c[b>>2]=0;c[b+4>>2]=0;break}b=d[j>>0]|0;if((b|0)==3)a[k>>0]=(d[(c[c[g>>2]>>2]|0)+1>>0]|0)&63;else if(!b)a[k>>0]=1;else if((b|0)==2|(b|0)==1)a[k>>0]=2;c[m>>2]=_(c[l>>2]|0,d[k>>0]|0)|0;if((c[m>>2]|0)>5760){b=f;c[b>>2]=0;c[b+4>>2]=0;break}else{b=c[m>>2]|0;n=f;c[n>>2]=b;c[n+4>>2]=((b|0)<0)<<31>>31;break}}else{b=f;c[b>>2]=0;c[b+4>>2]=0}while(0);m=f;C=c[m+4>>2]|0;i=e;return c[m>>2]|0}function yd(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,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=i;i=i+32|0;h=g+8|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g;o=h;c[o>>2]=a;c[o+4>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[(c[j>>2]|0)+504>>2];j=h;f=c[j+4>>2]|0;e=(c[m>>2]|0)+8|0;d=c[e+4>>2]|0;b=h;h=c[b>>2]|0;o=c[b+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(c[j>>2]|0)>>>0>=(c[e>>2]|0)>>>0:0))){e=n;c[e>>2]=h;c[e+4>>2]=o;e=xd(c[k>>2]|0)|0;k=(c[m>>2]|0)+8|0;j=k;d=Ge(c[j>>2]|0,c[j+4>>2]|0,e|0,C|0)|0;e=k;c[e>>2]=d;c[e+4>>2]=C;p=n;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=g;return r|0}e=xd(c[l>>2]|0)|0;l=Ge(h|0,o|0,e|0,C|0)|0;e=n;c[e>>2]=l;c[e+4>>2]=C;e=n;l=c[e+4>>2]|0;o=(c[m>>2]|0)+8|0;h=c[o+4>>2]|0;if((l|0)<(h|0)|((l|0)==(h|0)?(c[e>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)){o=(c[m>>2]|0)+8|0;e=c[o+4>>2]|0;h=n;c[h>>2]=c[o>>2];c[h+4>>2]=e}e=(c[m>>2]|0)+8|0;c[e>>2]=0;c[e+4>>2]=0;p=n;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=g;return r|0}function zd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+48|0;j=h+28|0;k=h+16|0;l=h+4|0;m=h+8|0;n=h+32|0;o=h+12|0;p=h+24|0;q=h+20|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h>>2]=g;c[o>>2]=c[m>>2];if((c[n>>2]|0)<26){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}if((d[c[m>>2]>>0]|0|0)!=79){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}if(ve((c[m>>2]|0)+1|0,2512,4)|0){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}if((d[(c[m>>2]|0)+5>>0]|0|0)!=1){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}if((d[(c[m>>2]|0)+6>>0]|0|0)!=1){c[j>>2]=0;r=c[j>>2]|0;i=h;return r|0}else{c[p>>2]=Yc((c[o>>2]|0)+18|0)|0;c[q>>2]=Yc((c[o>>2]|0)+22|0)|0;o=c[k>>2]|0;m=c[l>>2]|0;n=c[p>>2]|0;p=c[q>>2]|0;q=Ue(1e3,0,p|0,((p|0)<0)<<31>>31|0)|0;oc(o,m,n,((n|0)<0)<<31>>31,q,C)|0;mc(c[k>>2]|0,c[l>>2]|0,32)|0;Zc(c[k>>2]|0,c[l>>2]|0,1)|0;c[j>>2]=1;r=c[j>>2]|0;i=h;return r|0}return 0}function Ad(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;g=i;i=i+80|0;h=g+40|0;j=g+24|0;k=g+48|0;l=g+52|0;m=g+56|0;n=g+60|0;o=g+68|0;p=g+64|0;q=g+32|0;r=g;s=g+8|0;t=g+16|0;u=j;c[u>>2]=a;c[u+4>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p>>2]=c[(c[k>>2]|0)+504>>2];if(!(c[(c[k>>2]|0)+504>>2]|0)){f=ye(8)|0;c[(c[k>>2]|0)+504>>2]=f;if(!(c[(c[k>>2]|0)+504>>2]|0)){f=h;c[f>>2]=-1;c[f+4>>2]=-1;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}else{c[p>>2]=c[(c[k>>2]|0)+504>>2];c[(c[p>>2]|0)+4>>2]=0;c[c[p>>2]>>2]=1;f=h;c[f>>2]=0;c[f+4>>2]=0;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}}if(!(c[(c[l>>2]|0)+4>>2]|0))B=1;else B=(d[c[c[l>>2]>>2]>>0]|0|0)==79;c[m>>2]=B&1;if((c[m>>2]|0)==0?(c[(c[l>>2]|0)+4>>2]|0)>0:0)D=((d[c[c[l>>2]>>2]>>0]|0)&1|0)==0;else D=0;c[n>>2]=D&1;if((c[m>>2]|0)==0?(c[(c[l>>2]|0)+4>>2]|0)>0:0)E=((d[c[c[l>>2]>>2]>>0]|0)>>4&1|0)!=0;else E=0;c[o>>2]=E&1;E=c[p>>2]|0;if(c[m>>2]|0)c[E>>2]=(c[E>>2]|0)+1;else c[E+4>>2]=1;E=j;l=c[E+4>>2]|0;if((l|0)>-1|(l|0)==-1&(c[E>>2]|0)>>>0>4294967295){E=j;j=c[E+4>>2]|0;l=h;c[l>>2]=c[E>>2];c[l+4>>2]=j;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}if(!(c[(c[p>>2]|0)+4>>2]|0)){p=h;c[p>>2]=0;c[p+4>>2]=0;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}p=(c[k>>2]|0)+488|0;j=c[p+4>>2]|0;if(!((j|0)>0|(j|0)==0&(c[p>>2]|0)>>>0>0)){p=h;c[p>>2]=-1;c[p+4>>2]=-1;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}p=(c[k>>2]|0)+488|0;j=c[p>>2]|0;l=c[p+4>>2]|0;if(c[m>>2]|0){m=h;c[m>>2]=j;c[m+4>>2]=l;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}m=Fe(j|0,l|0,32)|0;l=q;c[l>>2]=m;c[l+4>>2]=C;l=(c[k>>2]|0)+488|0;m=Fe(c[l>>2]|0,c[l+4>>2]|0,30)|0;l=r;c[l>>2]=m&3;c[l+4>>2]=0;l=(c[k>>2]|0)+488|0;k=Fe(c[l>>2]|0,c[l+4>>2]|0,3)|0;l=s;c[l>>2]=k&134217727;c[l+4>>2]=0;if(c[n>>2]|0){n=s;c[n>>2]=0;c[n+4>>2]=0}else{n=s;l=Me(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=s;c[n>>2]=l;c[n+4>>2]=C}do if(!(c[o>>2]|0)){n=r;if((c[n>>2]|0)==3&(c[n+4>>2]|0)==0){n=r;c[n>>2]=0;c[n+4>>2]=0;break}else{n=r;l=Me(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=r;c[n>>2]=l;c[n+4>>2]=C;break}}else{n=q;l=Me(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=q;c[n>>2]=l;c[n+4>>2]=C;n=r;c[n>>2]=3;c[n+4>>2]=0}while(0);o=c[q>>2]|0;q=r;r=Ie(c[q>>2]|0,c[q+4>>2]|0,30)|0;q=o|C;o=s;s=Ie(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=t;c[o>>2]=r|s;c[o+4>>2]=q|C;q=t;t=c[q+4>>2]|0;o=h;c[o>>2]=c[q>>2];c[o+4>>2]=t;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=g;return x|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];i=e;return}function Cd(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,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=i;i=i+32|0;h=g+8|0;j=g+28|0;k=g+24|0;l=g;m=g+16|0;c[j>>2]=a;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[g+20>>2]=f;c[m>>2]=sb(c[j>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){k=h;c[k>>2]=-1;c[k+4>>2]=-1;n=h;o=n;p=c[o>>2]|0;q=n+4|0;r=q;s=c[r>>2]|0;C=s;i=g;return p|0}k=l;j=c[k+4>>2]|0;f=(c[m>>2]|0)+392|0;e=c[f+4>>2]|0;if((j|0)<(e|0)|((j|0)==(e|0)?(c[k>>2]|0)>>>0<=(c[f>>2]|0)>>>0:0)){t=0;u=0}else{f=l;k=(c[m>>2]|0)+392|0;e=Ge(c[f>>2]|0,c[f+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;t=e;u=C}e=l;c[e>>2]=t;c[e+4>>2]=u;u=(c[m>>2]|0)+384|0;e=l;l=Ue(c[u>>2]|0,c[u+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[m>>2]|0)+376|0;m=Se(l|0,C|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=h;c[e>>2]=m;c[e+4>>2]=C;n=h;o=n;p=c[o>>2]|0;q=n+4|0;r=q;s=c[r>>2]|0;C=s;i=g;return p|0}function Dd(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|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;j=i;i=i+80|0;k=j+32|0;l=j+48|0;m=j+52|0;n=j+8|0;o=j+64|0;p=j+40|0;q=j;r=j+56|0;s=j+68|0;t=j+16|0;u=j+24|0;c[l>>2]=a;c[m>>2]=d;d=n;c[d>>2]=f;c[d+4>>2]=g;c[j+60>>2]=h;c[o>>2]=sb(c[l>>2]|0,c[m>>2]|0)|0;if(!(c[o>>2]|0)){m=k;c[m>>2]=-1;c[m+4>>2]=-1;v=k;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=j;return x|0}else{m=n;l=Fe(c[m>>2]|0,c[m+4>>2]|0,c[(c[o>>2]|0)+408>>2]|0)|0;m=p;c[m>>2]=l;c[m+4>>2]=C;m=n;n=c[m>>2]|0;l=c[m+4>>2]|0;m=p;h=Ie(c[m>>2]|0,c[m+4>>2]|0,c[(c[o>>2]|0)+408>>2]|0)|0;m=Ge(n|0,l|0,h|0,C|0)|0;h=q;c[h>>2]=m;c[h+4>>2]=C;h=p;p=q;m=Me(c[h>>2]|0,c[h+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=Fe(m|0,C|0,9)|0;c[r>>2]=p;p=q;q=Fe(c[p>>2]|0,c[p+4>>2]|0,9)|0;b[s>>1]=q;q=Ge(c[r>>2]|0,0,e[s>>1]|0|0,0)|0;s=t;c[s>>2]=q;c[s+4>>2]=C;s=t;t=(c[o>>2]|0)+384|0;q=Ue(c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=(c[o>>2]|0)+376|0;o=Se(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=o;c[t+4>>2]=C;t=u;u=c[t+4>>2]|0;o=k;c[o>>2]=c[t>>2];c[o+4>>2]=u;v=k;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;C=A;i=j;return x|0}return 0}function Ed(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,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=i;i=i+48|0;h=g+24|0;j=g+32|0;k=g+36|0;l=g+16|0;m=g+40|0;n=g;o=g+8|0;c[j>>2]=a;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[g+44>>2]=f;c[m>>2]=sb(c[j>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){k=h;c[k>>2]=-1;c[k+4>>2]=-1;p=h;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=g;return r|0}else{k=l;l=Fe(c[k>>2]|0,c[k+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;k=n;c[k>>2]=l;c[k+4>>2]=C;k=n;n=(c[m>>2]|0)+384|0;l=Ue(c[k>>2]|0,c[k+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[m>>2]|0)+376|0;m=Se(l|0,C|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=C;n=o;o=c[n+4>>2]|0;m=h;c[m>>2]=c[n>>2];c[m+4>>2]=o;p=h;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;C=u;i=g;return r|0}return 0}function Fd(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,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;g=i;i=i+64|0;h=g+32|0;j=g+40|0;k=g+44|0;l=g;m=g+52|0;n=g+24|0;o=g+8|0;p=g+16|0;c[j>>2]=a;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[g+48>>2]=f;c[m>>2]=sb(c[j>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){k=h;c[k>>2]=-1;c[k+4>>2]=-1;q=h;r=q;s=c[r>>2]|0;t=q+4|0;u=t;v=c[u>>2]|0;C=v;i=g;return s|0}k=l;j=Fe(c[k>>2]|0,c[k+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;k=n;c[k>>2]=j;c[k+4>>2]=C;k=l;j=c[k>>2]|0;f=c[k+4>>2]|0;k=n;e=Ie(c[k>>2]|0,c[k+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;k=Ge(j|0,f|0,e|0,C|0)|0;e=o;c[e>>2]=k;c[e+4>>2]=C;e=n;n=o;o=Me(c[e>>2]|0,c[e+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=l;c[n>>2]=o;c[n+4>>2]=C;n=l;o=c[n+4>>2]|0;if((o|0)>0|(o|0)==0&(c[n>>2]|0)>>>0>0){n=(c[m>>2]|0)+392|0;o=l;e=Ge(c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=l;c[n>>2]=e;c[n+4>>2]=C}n=l;l=(c[m>>2]|0)+384|0;e=Ue(c[n>>2]|0,c[n+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;l=(c[m>>2]|0)+376|0;m=Se(e|0,C|0,c[l>>2]|0,c[l+4>>2]|0)|0;l=p;c[l>>2]=m;c[l+4>>2]=C;l=p;p=c[l+4>>2]|0;m=h;c[m>>2]=c[l>>2];c[m+4>>2]=p;q=h;r=q;s=c[r>>2]|0;t=q+4|0;u=t;v=c[u>>2]|0;C=v;i=g;return s|0}function Gd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[k>>2]=0;while(1){if((c[h>>2]|0)<=0){l=9;break}if((c[(c[g>>2]|0)+4>>2]|0)>>>0>=(c[(c[g>>2]|0)+8>>2]|0)>>>0){l=9;break}b=(c[(c[g>>2]|0)+12>>2]|0)-(c[h>>2]|0)|0;c[j>>2]=b;m=d[c[(c[g>>2]|0)+4>>2]>>0]|0;if((b|0)>=0)break;c[k>>2]=c[k>>2]|(m&c[2096+(c[(c[g>>2]|0)+12>>2]<<2)>>2])<<0-(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0);b=(c[g>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+12>>2]=8}if((l|0)==9){c[f>>2]=c[k>>2];n=c[f>>2]|0;i=e;return n|0}c[k>>2]=c[k>>2]|m>>c[j>>2]&c[2096+(c[h>>2]<<2)>>2];j=(c[g>>2]|0)+12|0;c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0);if(!(c[(c[g>>2]|0)+12>>2]|0)){h=(c[g>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[g>>2]|0)+12>>2]=8}c[f>>2]=c[k>>2];n=c[f>>2]|0;i=e;return n|0}function Hd(){var a=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;d=a+4|0;e=a;c[e>>2]=0;c[e>>2]=Ae(1,136)|0;if(!(c[e>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;i=a;return f|0}g=Sd()|0;c[(c[e>>2]|0)+112>>2]=g;g=c[e>>2]|0;if(!(c[(c[e>>2]|0)+112>>2]|0)){ze(g);c[d>>2]=0;f=c[d>>2]|0;i=a;return f|0}else{b[g+116>>1]=0;b[(c[e>>2]|0)+118>>1]=0;c[(c[e>>2]|0)+120>>2]=0;g=(c[e>>2]|0)+128|0;c[g>>2]=0;c[g+4>>2]=0;c[d>>2]=c[e>>2];f=c[d>>2]|0;i=a;return f|0}return 0}function Id(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=-2;f=c[d>>2]|0;i=b;return f|0}else{Td(c[(c[e>>2]|0)+112>>2]|0);ze(c[e>>2]|0);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function Jd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=d;c[j>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-2;k=c[f>>2]|0;i=e;return k|0}if(!(c[h>>2]|0)){c[f>>2]=-13;k=c[f>>2]|0;i=e;return k|0}if(c[(c[h>>2]|0)+12>>2]|0){if((c[(c[g>>2]|0)+120>>2]|0)!=1){c[f>>2]=-1;k=c[f>>2]|0;i=e;return k|0}b[(c[g>>2]|0)+118>>1]=1;c[(c[g>>2]|0)+120>>2]=2;if(c[(c[h>>2]|0)+4>>2]|0){c[f>>2]=-6;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}}do if(!(ve(c[c[h>>2]>>2]|0,2520,8)|0)){c[j>>2]=Xd(c[g>>2]|0,c[h>>2]|0)|0;if(c[j>>2]|0){if(c[(c[h>>2]|0)+8>>2]|0){if(c[(c[g>>2]|0)+120>>2]|0)c[j>>2]=-14}else c[j>>2]=-12;c[(c[g>>2]|0)+120>>2]=1}}else{if(!(ve(c[c[h>>2]>>2]|0,2536,8)|0)){c[j>>2]=Yd(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0))break;if((c[(c[g>>2]|0)+120>>2]|0)==1)break;c[j>>2]=-14;break}if(ve(c[c[h>>2]>>2]|0,2552,6)|0){c[j>>2]=-1;break}b[(c[g>>2]|0)+116>>1]=1;c[j>>2]=Zd(c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)!=0?(c[(c[g>>2]|0)+120>>2]|0)!=1:0)c[j>>2]=-14}while(0);c[f>>2]=c[j>>2];k=c[f>>2]|0;i=e;return k|0}function Kd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=d;c[j>>2]=-1;d=_d(c[g>>2]|0,c[h>>2]|0)|0;c[j>>2]=d;if((d|0)<0){c[f>>2]=c[j>>2];k=c[f>>2]|0;i=e;return k|0}else{b[c[h>>2]>>1]=b[c[g>>2]>>1]|0;c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ld(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=d;c[j>>2]=-1;d=_d(c[g>>2]|0,c[h>>2]|0)|0;c[j>>2]=d;if((d|0)<0){c[f>>2]=c[j>>2];k=c[f>>2]|0;i=e;return k|0}else{b[c[h>>2]>>1]=b[(c[g>>2]|0)+2>>1]|0;c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}return 0}function Md(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[g>>2]=a;c[h>>2]=b;c[j>>2]=-1;c[k>>2]=0;b=_d(c[g>>2]|0,c[h>>2]|0)|0;c[j>>2]=b;if((b|0)<0){c[f>>2]=c[j>>2];l=c[f>>2]|0;i=d;return l|0}c[k>>2]=(e[c[g>>2]>>1]|0)<<16|(e[(c[g>>2]|0)+2>>1]|0);if((c[k>>2]|0)>>>0<196610){c[f>>2]=-1;l=c[f>>2]|0;i=d;return l|0}else{k=(c[g>>2]|0)+96|0;g=c[k+4>>2]|0;j=c[h>>2]|0;c[j>>2]=c[k>>2];c[j+4>>2]=g;c[f>>2]=0;l=c[f>>2]|0;i=d;return l|0}return 0}function Nd(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|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;k=i;i=i+64|0;l=k+44|0;m=k+28|0;n=k+16|0;o=k+20|0;p=k+8|0;q=k+48|0;r=k+24|0;s=k+36|0;t=k+40|0;u=k;v=k+32|0;c[m>>2]=a;c[n>>2]=d;c[o>>2]=f;f=p;c[f>>2]=g;c[f+4>>2]=h;c[q>>2]=j;c[r>>2]=0;c[s>>2]=-1;c[t>>2]=0;j=u;c[j>>2]=-1;c[j+4>>2]=2147483647;j=_d(c[m>>2]|0,c[q>>2]|0)|0;c[s>>2]=j;if((j|0)<0){c[l>>2]=c[s>>2];w=c[l>>2]|0;i=k;return w|0}if(!(b[(c[m>>2]|0)+116>>1]|0)){c[l>>2]=-19;w=c[l>>2]|0;i=k;return w|0}if((c[n>>2]|0)==0|(c[o>>2]|0)==0){c[l>>2]=-1;w=c[l>>2]|0;i=k;return w|0}do if((e[c[m>>2]>>1]|0)==3){s=(c[m>>2]|0)+80|0;j=c[s+4>>2]|0;h=p;f=c[h+4>>2]|0;if(!((j|0)<(f|0)|((j|0)==(f|0)?(c[s>>2]|0)>>>0<(c[h>>2]|0)>>>0:0))?(h=p,s=c[h+4>>2]|0,f=(c[m>>2]|0)+64|0,j=c[f+4>>2]|0,!((s|0)<(j|0)|((s|0)==(j|0)?(c[h>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))):0)break;c[l>>2]=-17;w=c[l>>2]|0;i=k;return w|0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>>>0>=(c[o>>2]|0)>>>0){x=23;break}c[v>>2]=0;f=Wd(c[(c[m>>2]|0)+112>>2]|0,c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]|0)|0;c[r>>2]=f;if(!f){x=14;break}if((e[c[m>>2]>>1]|0)==4){f=(c[r>>2]|0)+32|0;h=c[f+4>>2]|0;j=p;s=c[j+4>>2]|0;if((h|0)<(s|0)|((h|0)==(s|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){x=18;break}j=p;f=c[j+4>>2]|0;s=(c[r>>2]|0)+24|0;h=c[s+4>>2]|0;if((f|0)<(h|0)|((f|0)==(h|0)?(c[j>>2]|0)>>>0<(c[s>>2]|0)>>>0:0)){x=18;break}}s=p;c[v>>2]=$d(c[r>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;if((c[v>>2]|0)!=0?(s=c[v>>2]|0,j=c[s+4>>2]|0,h=u,f=c[h+4>>2]|0,!((j|0)>(f|0)|((j|0)==(f|0)?(c[s>>2]|0)>>>0>(c[h>>2]|0)>>>0:0))):0){h=c[v>>2]|0;s=c[h+4>>2]|0;f=u;c[f>>2]=c[h>>2];c[f+4>>2]=s}c[t>>2]=(c[t>>2]|0)+1}if((x|0)==14){c[l>>2]=-8;w=c[l>>2]|0;i=k;return w|0}else if((x|0)==18){c[l>>2]=-17;w=c[l>>2]|0;i=k;return w|0}else if((x|0)==23){x=u;if((c[x>>2]|0)==-1?(c[x+4>>2]|0)==2147483647:0){c[l>>2]=-1;w=c[l>>2]|0;i=k;return w|0}else{x=u;u=c[x+4>>2]|0;t=c[q>>2]|0;c[t>>2]=c[x>>2];c[t+4>>2]=u;c[l>>2]=0;w=c[l>>2]|0;i=k;return w|0}}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=-1;d=_d(c[h>>2]|0,c[k>>2]|0)|0;c[l>>2]=d;if((d|0)<0){c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){l=(c[h>>2]|0)+64|0;d=c[l+4>>2]|0;b=c[k>>2]|0;c[b>>2]=c[l>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Wd(c[(c[h>>2]|0)+112>>2]|0,c[j>>2]|0)|0;c[m>>2]=d;if(d){d=(c[m>>2]|0)+24|0;b=c[d+4>>2]|0;l=c[k>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=-1;d=_d(c[h>>2]|0,c[k>>2]|0)|0;c[l>>2]=d;if((d|0)<0){c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){l=(c[h>>2]|0)+72|0;d=c[l+4>>2]|0;b=c[k>>2]|0;c[b>>2]=c[l>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Wd(c[(c[h>>2]|0)+112>>2]|0,c[j>>2]|0)|0;c[m>>2]=d;if(d){d=(c[m>>2]|0)+16|0;b=c[d+4>>2]|0;l=c[k>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=-1;d=_d(c[h>>2]|0,c[k>>2]|0)|0;c[l>>2]=d;if((d|0)<0){c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){l=(c[h>>2]|0)+80|0;d=c[l+4>>2]|0;b=c[k>>2]|0;c[b>>2]=c[l>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Wd(c[(c[h>>2]|0)+112>>2]|0,c[j>>2]|0)|0;c[m>>2]=d;if(d){d=(c[m>>2]|0)+32|0;b=c[d+4>>2]|0;l=c[k>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=-1;d=_d(c[h>>2]|0,c[k>>2]|0)|0;c[l>>2]=d;if((d|0)<0){c[g>>2]=c[l>>2];n=c[g>>2]|0;i=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){l=(c[h>>2]|0)+88|0;d=c[l+4>>2]|0;b=c[k>>2]|0;c[b>>2]=c[l>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Wd(c[(c[h>>2]|0)+112>>2]|0,c[j>>2]|0)|0;c[m>>2]=d;if(d){d=(c[m>>2]|0)+16|0;b=c[d+4>>2]|0;l=c[k>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;i=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Sd(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a+4|0;d=a;c[d>>2]=Ae(1,8)|0;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=c[d>>2];i=a;return c[b>>2]|0}function Td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;if(!(c[d>>2]|0)){i=b;return}if(c[(c[d>>2]|0)+4>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=(c[c[d>>2]>>2]|0)>>>0)break;if(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0){if(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)+48>>2]|0)ze(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)+48>>2]|0);ze(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)}if(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0){if(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)+40>>2]|0)ze(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)+40>>2]|0);ze(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}ze(c[(c[d>>2]|0)+4>>2]|0)}ze(c[d>>2]|0);i=b;return}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=-1;break}c[k>>2]=be(c[g>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-4;break}if(c[(c[k>>2]|0)+4>>2]|0){c[f>>2]=-1;break}else{c[(c[k>>2]|0)+4>>2]=c[h>>2];c[f>>2]=1;break}}else c[f>>2]=-1;while(0);i=e;return c[f>>2]|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=-1;break}c[k>>2]=be(c[g>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=-4;break}if(c[(c[k>>2]|0)+8>>2]|0){c[f>>2]=-1;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];c[f>>2]=1;break}}else c[f>>2]=-1;while(0);i=e;return c[f>>2]|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;if(!(c[f>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}c[h>>2]=ae(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0))k=0;else k=c[(c[h>>2]|0)+8>>2]|0;c[e>>2]=k;j=c[e>>2]|0;i=d;return j|0}function Xd(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=-2;m=c[g>>2]|0;i=f;return m|0}if((c[j>>2]|0)!=0?(c[c[j>>2]>>2]|0)!=0:0){c[l>>2]=(c[c[j>>2]>>2]|0)+8;c[l>>2]=ce(c[l>>2]|0,c[h>>2]|0)|0;c[l>>2]=ce(c[l>>2]|0,(c[h>>2]|0)+2|0)|0;c[k>>2]=(e[c[h>>2]>>1]|0)<<16|(e[(c[h>>2]|0)+2>>1]|0);if((c[k>>2]|0)>>>0>262144){c[g>>2]=-11;m=c[g>>2]|0;i=f;return m|0}if((c[k>>2]|0)==262144?(c[(c[j>>2]|0)+4>>2]|0)!=80:0){c[g>>2]=-18;m=c[g>>2]|0;i=f;return m|0}if((e[c[h>>2]>>1]|0|0)==3){if((e[(c[h>>2]|0)+2>>1]|0|0)>=2?(c[(c[j>>2]|0)+4>>2]|0)!=112:0){c[g>>2]=-18;m=c[g>>2]|0;i=f;return m|0}if((e[(c[h>>2]|0)+2>>1]|0|0)==0?(c[(c[j>>2]|0)+4>>2]|0)!=64:0){c[g>>2]=-18;m=c[g>>2]|0;i=f;return m|0}}c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+8|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+16|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+24|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+32|0)|0;j=(c[h>>2]|0)+40|0;d=c[l>>2]|0;b=j+20|0;do{a[j>>0]=a[d>>0]|0;j=j+1|0;d=d+1|0}while((j|0)<(b|0));if((c[k>>2]|0)>>>0>=196610){c[l>>2]=(c[l>>2]|0)+20;if((e[c[h>>2]>>1]|0|0)==3){c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+64|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+72|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+80|0)|0;c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+88|0)|0}c[l>>2]=de(c[l>>2]|0,(c[h>>2]|0)+96|0)|0;de(c[l>>2]|0,(c[h>>2]|0)+104|0)|0}c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}c[g>>2]=-13;m=c[g>>2]|0;i=f;return m|0}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=-1;c[l>>2]=0;if(!(c[g>>2]|0)){c[f>>2]=-2;m=c[f>>2]|0;i=e;return m|0}if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0){if((c[(c[h>>2]|0)+4>>2]|0)<52){c[f>>2]=-7;m=c[f>>2]|0;i=e;return m|0}c[j>>2]=Ae(1,56)|0;if(!(c[j>>2]|0)){c[f>>2]=-4;m=c[f>>2]|0;i=e;return m|0}c[l>>2]=(c[c[h>>2]>>2]|0)+8;c[l>>2]=ee(c[l>>2]|0,c[j>>2]|0)|0;c[l>>2]=fe(c[l>>2]|0,(c[j>>2]|0)+4|0)|0;c[l>>2]=ee(c[l>>2]|0,(c[j>>2]|0)+8|0)|0;c[l>>2]=de(c[l>>2]|0,(c[j>>2]|0)+16|0)|0;c[l>>2]=de(c[l>>2]|0,(c[j>>2]|0)+24|0)|0;c[l>>2]=de(c[l>>2]|0,(c[j>>2]|0)+32|0)|0;c[l>>2]=ee(c[l>>2]|0,(c[j>>2]|0)+40|0)|0;a[(c[j>>2]|0)+44>>0]=a[c[l>>2]>>0]|0;l=Ae((c[(c[h>>2]|0)+4>>2]|0)-52|0,1)|0;c[(c[j>>2]|0)+48>>2]=l;l=c[j>>2]|0;if(!(c[(c[j>>2]|0)+48>>2]|0)){ze(l);c[f>>2]=-4;m=c[f>>2]|0;i=e;return m|0}Ke(c[l+48>>2]|0,(c[c[h>>2]>>2]|0)+52|0,(c[(c[h>>2]|0)+4>>2]|0)-52|0)|0;c[k>>2]=Ud(c[(c[g>>2]|0)+112>>2]|0,c[j>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;if((c[k>>2]|0)<0)ze(c[j>>2]|0);c[f>>2]=c[k>>2];m=c[f>>2]|0;i=e;return m|0}c[f>>2]=-13;m=c[f>>2]|0;i=e;return m|0}function Zd(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=i;i=i+80|0;f=d+72|0;g=d+56|0;h=d+60|0;j=d+16|0;k=d+8|0;l=d;m=d+48|0;n=d+76|0;o=d+40|0;p=d+68|0;q=d+64|0;r=d+24|0;s=d+32|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=0;c[b+4>>2]=0;b=k;c[b>>2]=0;c[b+4>>2]=0;b=l;c[b>>2]=0;c[b+4>>2]=0;b=m;c[b>>2]=1e3;c[b+4>>2]=0;c[n>>2]=0;b=o;c[b>>2]=-1;c[b+4>>2]=-1;c[p>>2]=0;c[q>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-2;t=c[f>>2]|0;i=d;return t|0}if((c[h>>2]|0)!=0?(c[c[h>>2]>>2]|0)!=0:0){c[n>>2]=Ae(1,48)|0;if(!(c[n>>2]|0)){c[f>>2]=-4;t=c[f>>2]|0;i=d;return t|0}c[p>>2]=(c[c[h>>2]>>2]|0)+6;c[p>>2]=fe(c[p>>2]|0,c[n>>2]|0)|0;c[p>>2]=de(c[p>>2]|0,(c[n>>2]|0)+8|0)|0;c[p>>2]=de(c[p>>2]|0,(c[n>>2]|0)+16|0)|0;if(((e[c[g>>2]>>1]|0)<<16|(e[(c[g>>2]|0)+2>>1]|0)|0)==262144){c[p>>2]=de(c[p>>2]|0,(c[n>>2]|0)+24|0)|0;c[p>>2]=de(c[p>>2]|0,(c[n>>2]|0)+32|0)|0}b=(c[n>>2]|0)+16|0;do if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[q>>2]=-9;else{a=(c[n>>2]|0)+8|0;u=Ue(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;a=Me(26,0,u|0,C|0)|0;u=o;c[u>>2]=a;c[u+4>>2]=C;u=o;a=c[u+4>>2]|0;v=c[(c[h>>2]|0)+4>>2]|0;w=((v|0)<0)<<31>>31;if((a|0)>(w|0)|((a|0)==(w|0)?(c[u>>2]|0)>>>0>v>>>0:0)){c[q>>2]=-10;break}v=Ae(c[(c[n>>2]|0)+8>>2]|0,16)|0;c[(c[n>>2]|0)+40>>2]=v;if(!(c[(c[n>>2]|0)+40>>2]|0)){c[q>>2]=-4;break}v=j;c[v>>2]=0;c[v+4>>2]=0;while(1){v=j;u=c[v+4>>2]|0;w=(c[n>>2]|0)+8|0;a=c[w+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(c[v>>2]|0)>>>0<(c[w>>2]|0)>>>0:0)))break;w=r;c[w>>2]=0;c[w+4>>2]=0;w=s;c[w>>2]=0;c[w+4>>2]=0;c[p>>2]=ge(c[p>>2]|0,r)|0;w=r;v=k;a=Me(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=k;c[w>>2]=a;c[w+4>>2]=C;c[p>>2]=ge(c[p>>2]|0,s)|0;w=s;a=l;v=Me(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=l;c[w>>2]=v;c[w+4>>2]=C;w=k;v=c[w+4>>2]|0;a=(c[(c[n>>2]|0)+40>>2]|0)+(c[j>>2]<<4)|0;c[a>>2]=c[w>>2];c[a+4>>2]=v;v=l;a=m;w=Ue(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=(c[n>>2]|0)+16|0;v=Se(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=(c[(c[n>>2]|0)+40>>2]|0)+(c[j>>2]<<4)+8|0;c[a>>2]=v;c[a+4>>2]=C;a=j;v=Me(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=j;c[a>>2]=v;c[a+4>>2]=C}c[q>>2]=Vd(c[(c[g>>2]|0)+112>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0)|0}while(0);if((c[q>>2]|0)<0)ze(c[n>>2]|0);c[f>>2]=c[q>>2];t=c[f>>2]|0;i=d;return t|0}c[f>>2]=-13;t=c[f>>2]|0;i=d;return t|0}function _d(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=d;do if(c[g>>2]|0){if(!(b[(c[g>>2]|0)+118>>1]|0)){c[f>>2]=-5;break}if(!(c[h>>2]|0)){c[f>>2]=-16;break}else{c[f>>2]=0;break}}else c[f>>2]=-2;while(0);i=e;return c[f>>2]|0}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+24|0;j=e+16|0;k=e+8|0;l=e;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=j;c[d>>2]=0;c[d+4>>2]=0;d=k;c[d>>2]=0;c[d+4>>2]=0;if(!(c[g>>2]|0)){c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}d=(c[g>>2]|0)+8|0;a=Ge(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=k;c[d>>2]=a;c[d+4>>2]=C;while(1){d=k;a=c[d+4>>2]|0;b=j;n=c[b+4>>2]|0;if(!((a|0)>(n|0)|((a|0)==(n|0)?(c[d>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)))break;b=j;d=k;n=Me(c[b>>2]|0,c[b+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=Me(n|0,C|0,1,0)|0;n=Fe(d|0,C|0,1)|0;d=l;c[d>>2]=n;c[d+4>>2]=C;d=(c[(c[g>>2]|0)+40>>2]|0)+(c[l>>2]<<4)+8|0;n=h;b=l;o=c[b>>2]|0;p=c[b+4>>2]|0;if((c[d>>2]|0)==(c[n>>2]|0)?(c[d+4>>2]|0)==(c[n+4>>2]|0):0){q=6;break}n=(c[(c[g>>2]|0)+40>>2]|0)+(o<<4)+8|0;d=c[n+4>>2]|0;b=h;a=c[b+4>>2]|0;r=l;s=c[r>>2]|0;t=c[r+4>>2]|0;if((d|0)<(a|0)|((d|0)==(a|0)?(c[n>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){b=j;c[b>>2]=s;c[b+4>>2]=t;continue}else{b=Ge(s|0,t|0,1,0)|0;t=k;c[t>>2]=b;c[t+4>>2]=C;continue}}if((q|0)==6){q=j;c[q>>2]=o;c[q+4>>2]=p}c[f>>2]=(c[(c[g>>2]|0)+40>>2]|0)+(c[j>>2]<<4);m=c[f>>2]|0;i=e;return m|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=(c[c[f>>2]>>2]|0)>>>0){j=6;break}k=c[h>>2]|0;if((c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*12|0)>>2]|0)==(c[g>>2]|0)){j=4;break}c[h>>2]=k+1}if((j|0)==4){c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(k*12|0);l=c[e>>2]|0;i=d;return l|0}else if((j|0)==6){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}return 0}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=ae(c[f>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;do if(!b){c[h>>2]=Be(c[(c[f>>2]|0)+4>>2]|0,((c[c[f>>2]>>2]|0)+1|0)*12|0)|0;if(c[h>>2]|0){c[(c[f>>2]|0)+4>>2]=c[h>>2];a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[c[f>>2]>>2]|0)-1|0)*12|0);c[c[h>>2]>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}while(0);c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function ce(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[h>>2]=a;c[j>>2]=e;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=0;k=c[g>>2]|0;i=f;return k|0}else{b[c[j>>2]>>1]=d[c[h>>2]>>0]|0|(d[(c[h>>2]|0)+1>>0]|0)<<8;c[g>>2]=(c[h>>2]|0)+2;k=c[g>>2]|0;i=f;return k|0}return 0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=-1;c[j>>2]=-1;if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}else{c[f>>2]=ee(c[f>>2]|0,h)|0;c[f>>2]=fe(c[f>>2]|0,j)|0;b=c[j>>2]|0;j=Me(c[h>>2]|0,0,0,b|0)|0;b=c[g>>2]|0;c[b>>2]=j;c[b+4>>2]=C;c[e>>2]=c[f>>2];k=c[e>>2]|0;i=d;return k|0}return 0}function ee(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{c[c[h>>2]>>2]=d[c[g>>2]>>0]|0|(d[(c[g>>2]|0)+1>>0]|0)<<8|(d[(c[g>>2]|0)+2>>0]|0)<<16|(d[(c[g>>2]|0)+3>>0]|0)<<24;c[f>>2]=(c[g>>2]|0)+4;j=c[f>>2]|0;i=e;return j|0}return 0}function fe(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{c[c[h>>2]>>2]=d[c[g>>2]>>0]|0|(d[(c[g>>2]|0)+1>>0]|0)<<8|(d[(c[g>>2]|0)+2>>0]|0)<<16|(d[(c[g>>2]|0)+3>>0]|0)<<24;c[f>>2]=(c[g>>2]|0)+4;j=c[f>>2]|0;i=e;return j|0}return 0}function ge(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=j;c[b>>2]=0;c[b+4>>2]=0;b=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;do{b=j;c[b>>2]=d[c[f>>2]>>0];c[b+4>>2]=0;b=Ie(c[j>>2]&127|0,0,c[h>>2]|0)|0;a=c[g>>2]|0;k=a;l=c[k+4>>2]|C;m=a;c[m>>2]=c[k>>2]|b;c[m+4>>2]=l;c[h>>2]=(c[h>>2]|0)+7;c[f>>2]=(c[f>>2]|0)+1}while(0!=0?1:(c[j>>2]&128|0)!=128);i=e;return c[f>>2]|0}function he(){var a=0;c[644]=0;a=ob(32)|0;c[646]=a;Gb(a,-1,8,0)|0;c[648]=Hd()|0;return}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d;c[662]=1;do if((c[644]|0)==2){if((c[650]|0)!=0?(ua()|0)==0:0)break;if((c[652]|0)!=0?(Ja()|0)==0:0)break;c[662]=0}while(0);do if((b|0)>0){g=Mb(c[646]|0,a,b)|0;if((g|0)<0){c[f>>2]=g;za(2656,f|0)|0;break}if((g|0)<(b|0)){c[e>>2]=g;c[e+4>>2]=b;za(2688,e|0)|0}}while(0);i=d;return c[662]^1|0}function je(){Id(c[648]|0)|0;pb(c[646]|0)|0;return}function ke(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;d=b;c[d>>2]=-1;c[d+4>>2]=-1;if(!(c[654]|0)){e=-1;i=a;return e|0}Md(c[648]|0,b)|0;e=c[b>>2]|0;i=a;return e|0}function le(){var a=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;a=i;i=i+48|0;d=a+42|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;j=a;k=a+8|0;if(!(c[654]|0)){l=-1.0;i=a;return +l}b[d>>1]=-1;b[e>>1]=-1;Kd(c[648]|0,d)|0;Ld(c[648]|0,e)|0;e=c[656]|0;if(!e)m=0;else{c[f>>2]=e;m=1}e=c[658]|0;if(!e)if(!m){n=-1.0;o=-1.0}else{p=1;q=7}else{c[f+(m<<2)>>2]=e;p=m+1|0;q=7}if((q|0)==7){r=-1.0;q=0;s=-1.0;while(1){m=g;c[m>>2]=-1;c[m+4>>2]=-1;m=h;c[m>>2]=-1;c[m+4>>2]=-1;m=j;c[m>>2]=-1;c[m+4>>2]=-1;m=k;c[m>>2]=-1;c[m+4>>2]=-1;m=c[f+(q<<2)>>2]|0;Od(c[648]|0,m,g)|0;Pd(c[648]|0,m,h)|0;Qd(c[648]|0,m,j)|0;Rd(c[648]|0,m,k)|0;m=g;e=h;t=(+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0))/(+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0));u=r==-1.0|t<r?t:r;e=j;m=k;t=(+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0))/(+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0));v=s==-1.0|t>s?t:s;q=q+1|0;if((q|0)==(p|0)){n=u;o=v;break}else{r=u;s=v}}}l=o-n;i=a;return +l}function me(){return c[654]|0}function ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=b+8|0;f=d;c[f>>2]=-1;c[f+4>>2]=-1;if(!(c[654]|0)){g=-1;i=b;return g|0}f=c[656]|0;if(!f){h=c[658]|0;if(!h){j=e;k=0}else{c[e>>2]=h;j=e;k=1}}else{c[e>>2]=f;j=e;k=1}Nd(c[648]|0,j,k,a,((a|0)<0)<<31>>31,d)|0;g=c[d>>2]|0;i=b;return g|0}function oe(){Ob(c[646]|0)|0;Pb(c[646]|0,0,1)|0;return}function pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;a=e+8|0;f=e;c[662]=0;g=c[644]|0;if(!g){if(!(c[b+8>>2]|0))if(!(c[660]|0)){c[644]=2;na(c[640]|0,c[642]|0);re(b,d);h=0;i=e;return h|0}else{c[644]=1;h=qe(b,d)|0;i=e;return h|0}j=Xb(c[646]|0,d)|0;if(!(c[656]|j)){c[650]=j;c[640]=2744;c[656]=d;xa(c[b>>2]|0,c[b+4>>2]|0,-1.0,-1.0);h=0;i=e;return h|0}k=(c[658]|0)==0;if((j|0)==1&k){c[652]=1;c[642]=2752;c[658]=d;ma(c[b>>2]|0,c[b+4>>2]|0,-1.0);h=0;i=e;return h|0}if((j|0)==13&k){c[652]=13;c[642]=2760;c[658]=d;ma(c[b>>2]|0,c[b+4>>2]|0,-1.0);h=0;i=e;return h|0}if(!((j|0)==6&(c[660]|0)==0)){h=0;i=e;return h|0}c[660]=d;j=Jd(c[648]|0,b)|0;if(!j){c[654]=1;h=0;i=e;return h|0}if((j|0)>0){h=0;i=e;return h|0}c[f>>2]=j;za(2768,f|0)|0;h=-1;i=e;return h|0}else if((g|0)==2){re(b,d);h=0;i=e;return h|0}else if((g|0)==1){h=qe(b,d)|0;i=e;return h|0}else{za(2808,a|0)|0;h=-1;i=e;return h|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d;h=qb(c[646]|0)|0;j=(+(h>>>0)+4294967296.0*+(C|0))/1.0e3;h=rb(c[646]|0)|0;k=C;l=nc(c[646]|0,b)|0;m=f;c[m>>2]=0;c[m+4>>2]=0;m=g;c[m>>2]=0;c[m+4>>2]=0;pc(c[646]|0,b,f,g)|0;m=Fe(h|0,k|0,l|0)|0;l=g;g=f;n=(+(m>>>0)+4294967296.0*+(C|0))*(+((c[l>>2]|0)>>>0)+4294967296.0*+(c[l+4>>2]|0))/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0));do if((c[660]|0)==(b|0)){g=Jd(c[648]|0,a)|0;if((g|0)<0){c[e>>2]=g;za(2848,e|0)|0;o=-1;i=d;return o|0}else{if(!(c[a+12>>2]|0))break;c[654]=1;c[644]=2;na(c[640]|0,c[642]|0);break}}while(0);if((c[656]|0)==(b|0))xa(c[a>>2]|0,c[a+4>>2]|0,+j,+n);if((c[658]|0)!=(b|0)){o=0;i=d;return o|0}ma(c[a>>2]|0,c[a+4>>2]|0,+j);o=0;i=d;return o|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0.0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+16|0;e=d+8|0;f=d;g=qb(c[646]|0)|0;h=(+(g>>>0)+4294967296.0*+(C|0))/1.0e3;g=rb(c[646]|0)|0;j=C;k=nc(c[646]|0,b)|0;l=e;c[l>>2]=0;c[l+4>>2]=0;l=f;c[l>>2]=0;c[l+4>>2]=0;pc(c[646]|0,b,e,f)|0;l=f;f=c[l>>2]|0;m=c[l+4>>2]|0;l=e;e=c[l>>2]|0;n=c[l+4>>2]|0;if((c[656]|0)==(b|0)){l=Fe(g|0,j|0,k|0)|0;xa(c[a>>2]|0,c[a+4>>2]|0,+h,+((+(l>>>0)+4294967296.0*+(C|0))*(+(f>>>0)+4294967296.0*+(m|0))/(+(e>>>0)+4294967296.0*+(n|0))))}if((c[658]|0)!=(b|0)){i=d;return}ma(c[a>>2]|0,c[a+4>>2]|0,+h);i=d;return}function se(a){a=a|0;return (a+-65|0)>>>0<26|0}function te(a){a=a|0;var b=0;b=(se(a)|0)==0;return (b?a:a|32)|0}function ue(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,z=0,A=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=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=_(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return ((t|0)!=0?u:0)|0}function ve(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;if(!d){e=0;return e|0}else{f=d;g=b;h=c}while(1){c=a[g>>0]|0;b=a[h>>0]|0;if(c<<24>>24!=b<<24>>24){i=c;j=b;break}f=f+-1|0;if(!f){e=0;k=5;break}else{g=g+1|0;h=h+1|0}}if((k|0)==5)return e|0;e=(i&255)-(j&255)|0;return e|0}function we(b,c){b=b|0;c=c|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[b>>0]|0;a:do if(!(e<<24>>24)){f=0;g=c}else{h=e;i=e&255;j=b;k=c;while(1){l=a[k>>0]|0;if(!(l<<24>>24)){f=h;g=k;break a}if(h<<24>>24!=l<<24>>24?(l=te(i)|0,(l|0)!=(te(d[k>>0]|0)|0)):0){m=j;n=k;break}j=j+1|0;l=k+1|0;o=a[j>>0]|0;if(!(o<<24>>24)){f=0;g=l;break a}else{h=o;i=o&255;k=l}}f=a[m>>0]|0;g=n}while(0);n=te(f&255)|0;return n-(te(d[g>>0]|0)|0)|0}function xe(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=d;g=e}else{e=b;b=c;do{e=e+1|0;b=b+1|0;c=a[e>>0]|0;d=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));f=c;g=d}return (f&255)-(g&255)|0}
+function ye(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,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Fa=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;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[722]|0;f=e>>>d;if(f&3){g=(f&1^1)+d|0;h=g<<1;i=2928+(h<<2)|0;j=2928+(h+2<<2)|0;h=c[j>>2]|0;k=h+8|0;l=c[k>>2]|0;do if((i|0)!=(l|0)){if(l>>>0<(c[726]|0)>>>0)Ea();m=l+12|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=i;c[j>>2]=l;break}else Ea()}else c[722]=e&~(1<<g);while(0);l=g<<3;c[h+4>>2]=l|3;j=h+(l|4)|0;c[j>>2]=c[j>>2]|1;n=k;return n|0}j=c[724]|0;if(b>>>0>j>>>0){if(f){l=2<<d;i=f<<d&(l|0-l);l=(i&0-i)+-1|0;i=l>>>12&16;m=l>>>i;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|i|m|o|p)+(q>>>p)|0;p=r<<1;q=2928+(p<<2)|0;o=2928+(p+2<<2)|0;p=c[o>>2]|0;m=p+8|0;i=c[m>>2]|0;do if((q|0)!=(i|0)){if(i>>>0<(c[726]|0)>>>0)Ea();l=i+12|0;if((c[l>>2]|0)==(p|0)){c[l>>2]=q;c[o>>2]=i;s=c[724]|0;break}else Ea()}else{c[722]=e&~(1<<r);s=j}while(0);j=r<<3;e=j-b|0;c[p+4>>2]=b|3;i=p+b|0;c[p+(b|4)>>2]=e|1;c[p+j>>2]=e;if(s){j=c[727]|0;o=s>>>3;q=o<<1;d=2928+(q<<2)|0;f=c[722]|0;k=1<<o;if(f&k){o=2928+(q+2<<2)|0;h=c[o>>2]|0;if(h>>>0<(c[726]|0)>>>0)Ea();else{t=o;u=h}}else{c[722]=f|k;t=2928+(q+2<<2)|0;u=d}c[t>>2]=j;c[u+12>>2]=j;c[j+8>>2]=u;c[j+12>>2]=d}c[724]=e;c[727]=i;n=m;return n|0}i=c[723]|0;if(i){e=(i&0-i)+-1|0;i=e>>>12&16;d=e>>>i;e=d>>>5&8;j=d>>>e;d=j>>>2&4;q=j>>>d;j=q>>>1&2;k=q>>>j;q=k>>>1&1;f=c[3192+((e|i|d|j|q)+(k>>>q)<<2)>>2]|0;q=(c[f+4>>2]&-8)-b|0;k=f;j=f;while(1){f=c[k+16>>2]|0;if(!f){d=c[k+20>>2]|0;if(!d){v=q;w=j;break}else x=d}else x=f;f=(c[x+4>>2]&-8)-b|0;d=f>>>0<q>>>0;q=d?f:q;k=x;j=d?x:j}j=c[726]|0;if(w>>>0<j>>>0)Ea();k=w+b|0;if(w>>>0>=k>>>0)Ea();q=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){p=w+20|0;r=c[p>>2]|0;if(!r){d=w+16|0;f=c[d>>2]|0;if(!f){y=0;break}else{z=f;A=d}}else{z=r;A=p}while(1){p=z+20|0;r=c[p>>2]|0;if(r){z=r;A=p;continue}p=z+16|0;r=c[p>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=p}}if(C>>>0<j>>>0)Ea();else{c[C>>2]=0;y=B;break}}else{p=c[w+8>>2]|0;if(p>>>0<j>>>0)Ea();r=p+12|0;if((c[r>>2]|0)!=(w|0))Ea();d=m+8|0;if((c[d>>2]|0)==(w|0)){c[r>>2]=m;c[d>>2]=p;y=m;break}else Ea()}while(0);do if(q){m=c[w+28>>2]|0;j=3192+(m<<2)|0;if((w|0)==(c[j>>2]|0)){c[j>>2]=y;if(!y){c[723]=c[723]&~(1<<m);break}}else{if(q>>>0<(c[726]|0)>>>0)Ea();m=q+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[q+20>>2]=y;if(!y)break}m=c[726]|0;if(y>>>0<m>>>0)Ea();c[y+24>>2]=q;j=c[w+16>>2]|0;do if(j)if(j>>>0<m>>>0)Ea();else{c[y+16>>2]=j;c[j+24>>2]=y;break}while(0);j=c[w+20>>2]|0;if(j)if(j>>>0<(c[726]|0)>>>0)Ea();else{c[y+20>>2]=j;c[j+24>>2]=y;break}}while(0);if(v>>>0<16){q=v+b|0;c[w+4>>2]=q|3;j=w+(q+4)|0;c[j>>2]=c[j>>2]|1}else{c[w+4>>2]=b|3;c[w+(b|4)>>2]=v|1;c[w+(v+b)>>2]=v;j=c[724]|0;if(j){q=c[727]|0;m=j>>>3;j=m<<1;p=2928+(j<<2)|0;d=c[722]|0;r=1<<m;if(d&r){m=2928+(j+2<<2)|0;f=c[m>>2]|0;if(f>>>0<(c[726]|0)>>>0)Ea();else{D=m;E=f}}else{c[722]=d|r;D=2928+(j+2<<2)|0;E=p}c[D>>2]=q;c[E+12>>2]=q;c[q+8>>2]=E;c[q+12>>2]=p}c[724]=v;c[727]=k}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){p=a+11|0;q=p&-8;j=c[723]|0;if(j){r=0-q|0;d=p>>>8;if(d)if(q>>>0>16777215)G=31;else{p=(d+1048320|0)>>>16&8;f=d<<p;d=(f+520192|0)>>>16&4;m=f<<d;f=(m+245760|0)>>>16&2;i=14-(d|p|f)+(m<<f>>>15)|0;G=q>>>(i+7|0)&1|i<<1}else G=0;i=c[3192+(G<<2)>>2]|0;a:do if(!i){H=r;I=0;J=0;K=86}else{f=r;m=0;p=q<<((G|0)==31?0:25-(G>>>1)|0);d=i;e=0;while(1){h=c[d+4>>2]&-8;o=h-q|0;if(o>>>0<f>>>0)if((h|0)==(q|0)){L=o;M=d;N=d;K=90;break a}else{O=o;P=d}else{O=f;P=e}o=c[d+20>>2]|0;d=c[d+16+(p>>>31<<2)>>2]|0;h=(o|0)==0|(o|0)==(d|0)?m:o;if(!d){H=O;I=h;J=P;K=86;break}else{f=O;m=h;p=p<<1;e=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){i=2<<G;r=j&(i|0-i);if(!r){F=q;break}i=(r&0-r)+-1|0;r=i>>>12&16;b=i>>>r;i=b>>>5&8;k=b>>>i;b=k>>>2&4;e=k>>>b;k=e>>>1&2;p=e>>>k;e=p>>>1&1;Q=c[3192+((i|r|b|k|e)+(p>>>e)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=90}}if((K|0)==90)while(1){K=0;e=(c[M+4>>2]&-8)-q|0;p=e>>>0<L>>>0;k=p?e:L;e=p?M:N;p=c[M+16>>2]|0;if(p){L=k;M=p;N=e;K=90;continue}M=c[M+20>>2]|0;if(!M){S=k;T=e;break}else{L=k;N=e;K=90}}if((T|0)!=0?S>>>0<((c[724]|0)-q|0)>>>0:0){j=c[726]|0;if(T>>>0<j>>>0)Ea();e=T+q|0;if(T>>>0>=e>>>0)Ea();k=c[T+24>>2]|0;p=c[T+12>>2]|0;do if((p|0)==(T|0)){b=T+20|0;r=c[b>>2]|0;if(!r){i=T+16|0;m=c[i>>2]|0;if(!m){U=0;break}else{V=m;W=i}}else{V=r;W=b}while(1){b=V+20|0;r=c[b>>2]|0;if(r){V=r;W=b;continue}b=V+16|0;r=c[b>>2]|0;if(!r){X=V;Y=W;break}else{V=r;W=b}}if(Y>>>0<j>>>0)Ea();else{c[Y>>2]=0;U=X;break}}else{b=c[T+8>>2]|0;if(b>>>0<j>>>0)Ea();r=b+12|0;if((c[r>>2]|0)!=(T|0))Ea();i=p+8|0;if((c[i>>2]|0)==(T|0)){c[r>>2]=p;c[i>>2]=b;U=p;break}else Ea()}while(0);do if(k){p=c[T+28>>2]|0;j=3192+(p<<2)|0;if((T|0)==(c[j>>2]|0)){c[j>>2]=U;if(!U){c[723]=c[723]&~(1<<p);break}}else{if(k>>>0<(c[726]|0)>>>0)Ea();p=k+16|0;if((c[p>>2]|0)==(T|0))c[p>>2]=U;else c[k+20>>2]=U;if(!U)break}p=c[726]|0;if(U>>>0<p>>>0)Ea();c[U+24>>2]=k;j=c[T+16>>2]|0;do if(j)if(j>>>0<p>>>0)Ea();else{c[U+16>>2]=j;c[j+24>>2]=U;break}while(0);j=c[T+20>>2]|0;if(j)if(j>>>0<(c[726]|0)>>>0)Ea();else{c[U+20>>2]=j;c[j+24>>2]=U;break}}while(0);b:do if(S>>>0>=16){c[T+4>>2]=q|3;c[T+(q|4)>>2]=S|1;c[T+(S+q)>>2]=S;k=S>>>3;if(S>>>0<256){j=k<<1;p=2928+(j<<2)|0;b=c[722]|0;i=1<<k;if(b&i){k=2928+(j+2<<2)|0;r=c[k>>2]|0;if(r>>>0<(c[726]|0)>>>0)Ea();else{Z=k;_=r}}else{c[722]=b|i;Z=2928+(j+2<<2)|0;_=p}c[Z>>2]=e;c[_+12>>2]=e;c[T+(q+8)>>2]=_;c[T+(q+12)>>2]=p;break}p=S>>>8;if(p)if(S>>>0>16777215)$=31;else{j=(p+1048320|0)>>>16&8;i=p<<j;p=(i+520192|0)>>>16&4;b=i<<p;i=(b+245760|0)>>>16&2;r=14-(p|j|i)+(b<<i>>>15)|0;$=S>>>(r+7|0)&1|r<<1}else $=0;r=3192+($<<2)|0;c[T+(q+28)>>2]=$;c[T+(q+20)>>2]=0;c[T+(q+16)>>2]=0;i=c[723]|0;b=1<<$;if(!(i&b)){c[723]=i|b;c[r>>2]=e;c[T+(q+24)>>2]=r;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break}b=c[r>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(S|0)){r=S<<(($|0)==31?0:25-($>>>1)|0);i=b;while(1){j=i+16+(r>>>31<<2)|0;p=c[j>>2]|0;if(!p){aa=j;ba=i;break}if((c[p+4>>2]&-8|0)==(S|0)){ca=p;break c}else{r=r<<1;i=p}}if(aa>>>0<(c[726]|0)>>>0)Ea();else{c[aa>>2]=e;c[T+(q+24)>>2]=ba;c[T+(q+12)>>2]=e;c[T+(q+8)>>2]=e;break b}}else ca=b;while(0);b=ca+8|0;i=c[b>>2]|0;r=c[726]|0;if(i>>>0>=r>>>0&ca>>>0>=r>>>0){c[i+12>>2]=e;c[b>>2]=e;c[T+(q+8)>>2]=i;c[T+(q+12)>>2]=ca;c[T+(q+24)>>2]=0;break}else Ea()}else{i=S+q|0;c[T+4>>2]=i|3;b=T+(i+4)|0;c[b>>2]=c[b>>2]|1}while(0);n=T+8|0;return n|0}else F=q}else F=q}else F=-1;while(0);T=c[724]|0;if(T>>>0>=F>>>0){S=T-F|0;ca=c[727]|0;if(S>>>0>15){c[727]=ca+F;c[724]=S;c[ca+(F+4)>>2]=S|1;c[ca+T>>2]=S;c[ca+4>>2]=F|3}else{c[724]=0;c[727]=0;c[ca+4>>2]=T|3;S=ca+(T+4)|0;c[S>>2]=c[S>>2]|1}n=ca+8|0;return n|0}ca=c[725]|0;if(ca>>>0>F>>>0){S=ca-F|0;c[725]=S;ca=c[728]|0;c[728]=ca+F;c[ca+(F+4)>>2]=S|1;c[ca+4>>2]=F|3;n=ca+8|0;return n|0}do if(!(c[840]|0)){ca=va(30)|0;if(!(ca+-1&ca)){c[842]=ca;c[841]=ca;c[843]=-1;c[844]=-1;c[845]=0;c[833]=0;c[840]=(Ga(0)|0)&-16^1431655768;break}else Ea()}while(0);ca=F+48|0;S=c[842]|0;T=F+47|0;ba=S+T|0;aa=0-S|0;S=ba&aa;if(S>>>0<=F>>>0){n=0;return n|0}$=c[832]|0;if(($|0)!=0?(_=c[830]|0,Z=_+S|0,Z>>>0<=_>>>0|Z>>>0>$>>>0):0){n=0;return n|0}d:do if(!(c[833]&4)){$=c[728]|0;e:do if($){Z=3336;while(1){_=c[Z>>2]|0;if(_>>>0<=$>>>0?(U=Z+4|0,(_+(c[U>>2]|0)|0)>>>0>$>>>0):0){da=Z;ea=U;break}Z=c[Z+8>>2]|0;if(!Z){K=174;break e}}Z=ba-(c[725]|0)&aa;if(Z>>>0<2147483647){U=ra(Z|0)|0;_=(U|0)==((c[da>>2]|0)+(c[ea>>2]|0)|0);X=_?Z:0;if(_)if((U|0)==(-1|0))fa=X;else{ga=U;ha=X;K=194;break d}else{ia=U;ja=Z;ka=X;K=184}}else fa=0}else K=174;while(0);do if((K|0)==174){$=ra(0)|0;if(($|0)!=(-1|0)){q=$;X=c[841]|0;Z=X+-1|0;if(!(Z&q))la=S;else la=S-q+(Z+q&0-X)|0;X=c[830]|0;q=X+la|0;if(la>>>0>F>>>0&la>>>0<2147483647){Z=c[832]|0;if((Z|0)!=0?q>>>0<=X>>>0|q>>>0>Z>>>0:0){fa=0;break}Z=ra(la|0)|0;q=(Z|0)==($|0);X=q?la:0;if(q){ga=$;ha=X;K=194;break d}else{ia=Z;ja=la;ka=X;K=184}}else fa=0}else fa=0}while(0);f:do if((K|0)==184){X=0-ja|0;do if(ca>>>0>ja>>>0&(ja>>>0<2147483647&(ia|0)!=(-1|0))?(Z=c[842]|0,$=T-ja+Z&0-Z,$>>>0<2147483647):0)if((ra($|0)|0)==(-1|0)){ra(X|0)|0;fa=ka;break f}else{ma=$+ja|0;break}else ma=ja;while(0);if((ia|0)==(-1|0))fa=ka;else{ga=ia;ha=ma;K=194;break d}}while(0);c[833]=c[833]|4;na=fa;K=191}else{na=0;K=191}while(0);if((((K|0)==191?S>>>0<2147483647:0)?(fa=ra(S|0)|0,S=ra(0)|0,fa>>>0<S>>>0&((fa|0)!=(-1|0)&(S|0)!=(-1|0))):0)?(ma=S-fa|0,S=ma>>>0>(F+40|0)>>>0,S):0){ga=fa;ha=S?ma:na;K=194}if((K|0)==194){na=(c[830]|0)+ha|0;c[830]=na;if(na>>>0>(c[831]|0)>>>0)c[831]=na;na=c[728]|0;g:do if(na){ma=3336;do{S=c[ma>>2]|0;fa=ma+4|0;ia=c[fa>>2]|0;if((ga|0)==(S+ia|0)){oa=S;pa=fa;qa=ia;sa=ma;K=204;break}ma=c[ma+8>>2]|0}while((ma|0)!=0);if(((K|0)==204?(c[sa+12>>2]&8|0)==0:0)?na>>>0<ga>>>0&na>>>0>=oa>>>0:0){c[pa>>2]=qa+ha;ma=(c[725]|0)+ha|0;ia=na+8|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ma-fa|0;c[728]=na+fa;c[725]=ia;c[na+(fa+4)>>2]=ia|1;c[na+(ma+4)>>2]=40;c[729]=c[844];break}ma=c[726]|0;if(ga>>>0<ma>>>0){c[726]=ga;ta=ga}else ta=ma;ma=ga+ha|0;ia=3336;while(1){if((c[ia>>2]|0)==(ma|0)){ua=ia;wa=ia;K=212;break}ia=c[ia+8>>2]|0;if(!ia){xa=3336;break}}if((K|0)==212)if(!(c[wa+12>>2]&8)){c[ua>>2]=ga;ia=wa+4|0;c[ia>>2]=(c[ia>>2]|0)+ha;ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ga+(ha+8)|0;fa=(ia&7|0)==0?0:0-ia&7;ia=ga+(fa+ha)|0;S=ma+F|0;ka=ga+S|0;ja=ia-(ga+ma)-F|0;c[ga+(ma+4)>>2]=F|3;h:do if((ia|0)!=(na|0)){if((ia|0)==(c[727]|0)){T=(c[724]|0)+ja|0;c[724]=T;c[727]=ka;c[ga+(S+4)>>2]=T|1;c[ga+(T+S)>>2]=T;break}T=ha+4|0;ca=c[ga+(T+fa)>>2]|0;if((ca&3|0)==1){la=ca&-8;ea=ca>>>3;i:do if(ca>>>0>=256){da=c[ga+((fa|24)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;do if((aa|0)==(ia|0)){ba=fa|16;X=ga+(T+ba)|0;$=c[X>>2]|0;if(!$){Z=ga+(ba+ha)|0;ba=c[Z>>2]|0;if(!ba){ya=0;break}else{za=ba;Aa=Z}}else{za=$;Aa=X}while(1){X=za+20|0;$=c[X>>2]|0;if($){za=$;Aa=X;continue}X=za+16|0;$=c[X>>2]|0;if(!$){Ba=za;Ca=Aa;break}else{za=$;Aa=X}}if(Ca>>>0<ta>>>0)Ea();else{c[Ca>>2]=0;ya=Ba;break}}else{X=c[ga+((fa|8)+ha)>>2]|0;if(X>>>0<ta>>>0)Ea();$=X+12|0;if((c[$>>2]|0)!=(ia|0))Ea();Z=aa+8|0;if((c[Z>>2]|0)==(ia|0)){c[$>>2]=aa;c[Z>>2]=X;ya=aa;break}else Ea()}while(0);if(!da)break;aa=c[ga+(ha+28+fa)>>2]|0;X=3192+(aa<<2)|0;do if((ia|0)!=(c[X>>2]|0)){if(da>>>0<(c[726]|0)>>>0)Ea();Z=da+16|0;if((c[Z>>2]|0)==(ia|0))c[Z>>2]=ya;else c[da+20>>2]=ya;if(!ya)break i}else{c[X>>2]=ya;if(ya)break;c[723]=c[723]&~(1<<aa);break i}while(0);aa=c[726]|0;if(ya>>>0<aa>>>0)Ea();c[ya+24>>2]=da;X=fa|16;Z=c[ga+(X+ha)>>2]|0;do if(Z)if(Z>>>0<aa>>>0)Ea();else{c[ya+16>>2]=Z;c[Z+24>>2]=ya;break}while(0);Z=c[ga+(T+X)>>2]|0;if(!Z)break;if(Z>>>0<(c[726]|0)>>>0)Ea();else{c[ya+20>>2]=Z;c[Z+24>>2]=ya;break}}else{Z=c[ga+((fa|8)+ha)>>2]|0;aa=c[ga+(ha+12+fa)>>2]|0;da=2928+(ea<<1<<2)|0;do if((Z|0)!=(da|0)){if(Z>>>0<ta>>>0)Ea();if((c[Z+12>>2]|0)==(ia|0))break;Ea()}while(0);if((aa|0)==(Z|0)){c[722]=c[722]&~(1<<ea);break}do if((aa|0)==(da|0))Fa=aa+8|0;else{if(aa>>>0<ta>>>0)Ea();X=aa+8|0;if((c[X>>2]|0)==(ia|0)){Fa=X;break}Ea()}while(0);c[Z+12>>2]=aa;c[Fa>>2]=Z}while(0);Ha=ga+((la|fa)+ha)|0;Ia=la+ja|0}else{Ha=ia;Ia=ja}ea=Ha+4|0;c[ea>>2]=c[ea>>2]&-2;c[ga+(S+4)>>2]=Ia|1;c[ga+(Ia+S)>>2]=Ia;ea=Ia>>>3;if(Ia>>>0<256){T=ea<<1;ca=2928+(T<<2)|0;da=c[722]|0;X=1<<ea;do if(!(da&X)){c[722]=da|X;Ja=2928+(T+2<<2)|0;Ka=ca}else{ea=2928+(T+2<<2)|0;$=c[ea>>2]|0;if($>>>0>=(c[726]|0)>>>0){Ja=ea;Ka=$;break}Ea()}while(0);c[Ja>>2]=ka;c[Ka+12>>2]=ka;c[ga+(S+8)>>2]=Ka;c[ga+(S+12)>>2]=ca;break}T=Ia>>>8;do if(!T)La=0;else{if(Ia>>>0>16777215){La=31;break}X=(T+1048320|0)>>>16&8;da=T<<X;la=(da+520192|0)>>>16&4;$=da<<la;da=($+245760|0)>>>16&2;ea=14-(la|X|da)+($<<da>>>15)|0;La=Ia>>>(ea+7|0)&1|ea<<1}while(0);T=3192+(La<<2)|0;c[ga+(S+28)>>2]=La;c[ga+(S+20)>>2]=0;c[ga+(S+16)>>2]=0;ca=c[723]|0;ea=1<<La;if(!(ca&ea)){c[723]=ca|ea;c[T>>2]=ka;c[ga+(S+24)>>2]=T;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break}ea=c[T>>2]|0;j:do if((c[ea+4>>2]&-8|0)!=(Ia|0)){T=Ia<<((La|0)==31?0:25-(La>>>1)|0);ca=ea;while(1){da=ca+16+(T>>>31<<2)|0;$=c[da>>2]|0;if(!$){Ma=da;Na=ca;break}if((c[$+4>>2]&-8|0)==(Ia|0)){Oa=$;break j}else{T=T<<1;ca=$}}if(Ma>>>0<(c[726]|0)>>>0)Ea();else{c[Ma>>2]=ka;c[ga+(S+24)>>2]=Na;c[ga+(S+12)>>2]=ka;c[ga+(S+8)>>2]=ka;break h}}else Oa=ea;while(0);ea=Oa+8|0;ca=c[ea>>2]|0;T=c[726]|0;if(ca>>>0>=T>>>0&Oa>>>0>=T>>>0){c[ca+12>>2]=ka;c[ea>>2]=ka;c[ga+(S+8)>>2]=ca;c[ga+(S+12)>>2]=Oa;c[ga+(S+24)>>2]=0;break}else Ea()}else{ca=(c[725]|0)+ja|0;c[725]=ca;c[728]=ka;c[ga+(S+4)>>2]=ca|1}while(0);n=ga+(ma|8)|0;return n|0}else xa=3336;while(1){S=c[xa>>2]|0;if(S>>>0<=na>>>0?(ka=c[xa+4>>2]|0,ja=S+ka|0,ja>>>0>na>>>0):0){Pa=S;Qa=ka;Ra=ja;break}xa=c[xa+8>>2]|0}ma=Pa+(Qa+-39)|0;ja=Pa+(Qa+-47+((ma&7|0)==0?0:0-ma&7))|0;ma=na+16|0;ka=ja>>>0<ma>>>0?na:ja;ja=ka+8|0;S=ga+8|0;ia=(S&7|0)==0?0:0-S&7;S=ha+-40-ia|0;c[728]=ga+ia;c[725]=S;c[ga+(ia+4)>>2]=S|1;c[ga+(ha+-36)>>2]=40;c[729]=c[844];S=ka+4|0;c[S>>2]=27;c[ja>>2]=c[834];c[ja+4>>2]=c[835];c[ja+8>>2]=c[836];c[ja+12>>2]=c[837];c[834]=ga;c[835]=ha;c[837]=0;c[836]=ja;ja=ka+28|0;c[ja>>2]=7;if((ka+32|0)>>>0<Ra>>>0){ia=ja;do{ja=ia;ia=ia+4|0;c[ia>>2]=7}while((ja+8|0)>>>0<Ra>>>0)}if((ka|0)!=(na|0)){ia=ka-na|0;c[S>>2]=c[S>>2]&-2;c[na+4>>2]=ia|1;c[ka>>2]=ia;ja=ia>>>3;if(ia>>>0<256){fa=ja<<1;ca=2928+(fa<<2)|0;ea=c[722]|0;T=1<<ja;if(ea&T){ja=2928+(fa+2<<2)|0;Z=c[ja>>2]|0;if(Z>>>0<(c[726]|0)>>>0)Ea();else{Sa=ja;Ta=Z}}else{c[722]=ea|T;Sa=2928+(fa+2<<2)|0;Ta=ca}c[Sa>>2]=na;c[Ta+12>>2]=na;c[na+8>>2]=Ta;c[na+12>>2]=ca;break}ca=ia>>>8;if(ca)if(ia>>>0>16777215)Ua=31;else{fa=(ca+1048320|0)>>>16&8;T=ca<<fa;ca=(T+520192|0)>>>16&4;ea=T<<ca;T=(ea+245760|0)>>>16&2;Z=14-(ca|fa|T)+(ea<<T>>>15)|0;Ua=ia>>>(Z+7|0)&1|Z<<1}else Ua=0;Z=3192+(Ua<<2)|0;c[na+28>>2]=Ua;c[na+20>>2]=0;c[ma>>2]=0;T=c[723]|0;ea=1<<Ua;if(!(T&ea)){c[723]=T|ea;c[Z>>2]=na;c[na+24>>2]=Z;c[na+12>>2]=na;c[na+8>>2]=na;break}ea=c[Z>>2]|0;k:do if((c[ea+4>>2]&-8|0)!=(ia|0)){Z=ia<<((Ua|0)==31?0:25-(Ua>>>1)|0);T=ea;while(1){fa=T+16+(Z>>>31<<2)|0;ca=c[fa>>2]|0;if(!ca){Va=fa;Wa=T;break}if((c[ca+4>>2]&-8|0)==(ia|0)){Xa=ca;break k}else{Z=Z<<1;T=ca}}if(Va>>>0<(c[726]|0)>>>0)Ea();else{c[Va>>2]=na;c[na+24>>2]=Wa;c[na+12>>2]=na;c[na+8>>2]=na;break g}}else Xa=ea;while(0);ea=Xa+8|0;ia=c[ea>>2]|0;ma=c[726]|0;if(ia>>>0>=ma>>>0&Xa>>>0>=ma>>>0){c[ia+12>>2]=na;c[ea>>2]=na;c[na+8>>2]=ia;c[na+12>>2]=Xa;c[na+24>>2]=0;break}else Ea()}}else{ia=c[726]|0;if((ia|0)==0|ga>>>0<ia>>>0)c[726]=ga;c[834]=ga;c[835]=ha;c[837]=0;c[731]=c[840];c[730]=-1;ia=0;do{ea=ia<<1;ma=2928+(ea<<2)|0;c[2928+(ea+3<<2)>>2]=ma;c[2928+(ea+2<<2)>>2]=ma;ia=ia+1|0}while((ia|0)!=32);ia=ga+8|0;ma=(ia&7|0)==0?0:0-ia&7;ia=ha+-40-ma|0;c[728]=ga+ma;c[725]=ia;c[ga+(ma+4)>>2]=ia|1;c[ga+(ha+-36)>>2]=40;c[729]=c[844]}while(0);ha=c[725]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[725]=ga;ha=c[728]|0;c[728]=ha+F;c[ha+(F+4)>>2]=ga|1;c[ha+4>>2]=F|3;n=ha+8|0;return n|0}}c[(Da()|0)>>2]=12;n=0;return n|0}function ze(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;if(!a)return;b=a+-8|0;d=c[726]|0;if(b>>>0<d>>>0)Ea();e=c[a+-4>>2]|0;f=e&3;if((f|0)==1)Ea();g=e&-8;h=a+(g+-8)|0;do if(!(e&1)){i=c[b>>2]|0;if(!f)return;j=-8-i|0;k=a+j|0;l=i+g|0;if(k>>>0<d>>>0)Ea();if((k|0)==(c[727]|0)){m=a+(g+-4)|0;n=c[m>>2]|0;if((n&3|0)!=3){o=k;p=l;break}c[724]=l;c[m>>2]=n&-2;c[a+(j+4)>>2]=l|1;c[h>>2]=l;return}n=i>>>3;if(i>>>0<256){i=c[a+(j+8)>>2]|0;m=c[a+(j+12)>>2]|0;q=2928+(n<<1<<2)|0;if((i|0)!=(q|0)){if(i>>>0<d>>>0)Ea();if((c[i+12>>2]|0)!=(k|0))Ea()}if((m|0)==(i|0)){c[722]=c[722]&~(1<<n);o=k;p=l;break}if((m|0)!=(q|0)){if(m>>>0<d>>>0)Ea();q=m+8|0;if((c[q>>2]|0)==(k|0))r=q;else Ea()}else r=m+8|0;c[i+12>>2]=m;c[r>>2]=i;o=k;p=l;break}i=c[a+(j+24)>>2]|0;m=c[a+(j+12)>>2]|0;do if((m|0)==(k|0)){q=a+(j+20)|0;n=c[q>>2]|0;if(!n){s=a+(j+16)|0;t=c[s>>2]|0;if(!t){u=0;break}else{v=t;w=s}}else{v=n;w=q}while(1){q=v+20|0;n=c[q>>2]|0;if(n){v=n;w=q;continue}q=v+16|0;n=c[q>>2]|0;if(!n){x=v;y=w;break}else{v=n;w=q}}if(y>>>0<d>>>0)Ea();else{c[y>>2]=0;u=x;break}}else{q=c[a+(j+8)>>2]|0;if(q>>>0<d>>>0)Ea();n=q+12|0;if((c[n>>2]|0)!=(k|0))Ea();s=m+8|0;if((c[s>>2]|0)==(k|0)){c[n>>2]=m;c[s>>2]=q;u=m;break}else Ea()}while(0);if(i){m=c[a+(j+28)>>2]|0;q=3192+(m<<2)|0;if((k|0)==(c[q>>2]|0)){c[q>>2]=u;if(!u){c[723]=c[723]&~(1<<m);o=k;p=l;break}}else{if(i>>>0<(c[726]|0)>>>0)Ea();m=i+16|0;if((c[m>>2]|0)==(k|0))c[m>>2]=u;else c[i+20>>2]=u;if(!u){o=k;p=l;break}}m=c[726]|0;if(u>>>0<m>>>0)Ea();c[u+24>>2]=i;q=c[a+(j+16)>>2]|0;do if(q)if(q>>>0<m>>>0)Ea();else{c[u+16>>2]=q;c[q+24>>2]=u;break}while(0);q=c[a+(j+20)>>2]|0;if(q)if(q>>>0<(c[726]|0)>>>0)Ea();else{c[u+20>>2]=q;c[q+24>>2]=u;o=k;p=l;break}else{o=k;p=l}}else{o=k;p=l}}else{o=b;p=g}while(0);if(o>>>0>=h>>>0)Ea();b=a+(g+-4)|0;u=c[b>>2]|0;if(!(u&1))Ea();if(!(u&2)){if((h|0)==(c[728]|0)){d=(c[725]|0)+p|0;c[725]=d;c[728]=o;c[o+4>>2]=d|1;if((o|0)!=(c[727]|0))return;c[727]=0;c[724]=0;return}if((h|0)==(c[727]|0)){d=(c[724]|0)+p|0;c[724]=d;c[727]=o;c[o+4>>2]=d|1;c[o+d>>2]=d;return}d=(u&-8)+p|0;x=u>>>3;do if(u>>>0>=256){y=c[a+(g+16)>>2]|0;w=c[a+(g|4)>>2]|0;do if((w|0)==(h|0)){v=a+(g+12)|0;r=c[v>>2]|0;if(!r){f=a+(g+8)|0;e=c[f>>2]|0;if(!e){z=0;break}else{A=e;B=f}}else{A=r;B=v}while(1){v=A+20|0;r=c[v>>2]|0;if(r){A=r;B=v;continue}v=A+16|0;r=c[v>>2]|0;if(!r){C=A;D=B;break}else{A=r;B=v}}if(D>>>0<(c[726]|0)>>>0)Ea();else{c[D>>2]=0;z=C;break}}else{v=c[a+g>>2]|0;if(v>>>0<(c[726]|0)>>>0)Ea();r=v+12|0;if((c[r>>2]|0)!=(h|0))Ea();f=w+8|0;if((c[f>>2]|0)==(h|0)){c[r>>2]=w;c[f>>2]=v;z=w;break}else Ea()}while(0);if(y){w=c[a+(g+20)>>2]|0;l=3192+(w<<2)|0;if((h|0)==(c[l>>2]|0)){c[l>>2]=z;if(!z){c[723]=c[723]&~(1<<w);break}}else{if(y>>>0<(c[726]|0)>>>0)Ea();w=y+16|0;if((c[w>>2]|0)==(h|0))c[w>>2]=z;else c[y+20>>2]=z;if(!z)break}w=c[726]|0;if(z>>>0<w>>>0)Ea();c[z+24>>2]=y;l=c[a+(g+8)>>2]|0;do if(l)if(l>>>0<w>>>0)Ea();else{c[z+16>>2]=l;c[l+24>>2]=z;break}while(0);l=c[a+(g+12)>>2]|0;if(l)if(l>>>0<(c[726]|0)>>>0)Ea();else{c[z+20>>2]=l;c[l+24>>2]=z;break}}}else{l=c[a+g>>2]|0;w=c[a+(g|4)>>2]|0;y=2928+(x<<1<<2)|0;if((l|0)!=(y|0)){if(l>>>0<(c[726]|0)>>>0)Ea();if((c[l+12>>2]|0)!=(h|0))Ea()}if((w|0)==(l|0)){c[722]=c[722]&~(1<<x);break}if((w|0)!=(y|0)){if(w>>>0<(c[726]|0)>>>0)Ea();y=w+8|0;if((c[y>>2]|0)==(h|0))E=y;else Ea()}else E=w+8|0;c[l+12>>2]=w;c[E>>2]=l}while(0);c[o+4>>2]=d|1;c[o+d>>2]=d;if((o|0)==(c[727]|0)){c[724]=d;return}else F=d}else{c[b>>2]=u&-2;c[o+4>>2]=p|1;c[o+p>>2]=p;F=p}p=F>>>3;if(F>>>0<256){u=p<<1;b=2928+(u<<2)|0;d=c[722]|0;E=1<<p;if(d&E){p=2928+(u+2<<2)|0;h=c[p>>2]|0;if(h>>>0<(c[726]|0)>>>0)Ea();else{G=p;H=h}}else{c[722]=d|E;G=2928+(u+2<<2)|0;H=b}c[G>>2]=o;c[H+12>>2]=o;c[o+8>>2]=H;c[o+12>>2]=b;return}b=F>>>8;if(b)if(F>>>0>16777215)I=31;else{H=(b+1048320|0)>>>16&8;G=b<<H;b=(G+520192|0)>>>16&4;u=G<<b;G=(u+245760|0)>>>16&2;E=14-(b|H|G)+(u<<G>>>15)|0;I=F>>>(E+7|0)&1|E<<1}else I=0;E=3192+(I<<2)|0;c[o+28>>2]=I;c[o+20>>2]=0;c[o+16>>2]=0;G=c[723]|0;u=1<<I;a:do if(G&u){H=c[E>>2]|0;b:do if((c[H+4>>2]&-8|0)!=(F|0)){b=F<<((I|0)==31?0:25-(I>>>1)|0);d=H;while(1){h=d+16+(b>>>31<<2)|0;p=c[h>>2]|0;if(!p){J=h;K=d;break}if((c[p+4>>2]&-8|0)==(F|0)){L=p;break b}else{b=b<<1;d=p}}if(J>>>0<(c[726]|0)>>>0)Ea();else{c[J>>2]=o;c[o+24>>2]=K;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else L=H;while(0);H=L+8|0;d=c[H>>2]|0;b=c[726]|0;if(d>>>0>=b>>>0&L>>>0>=b>>>0){c[d+12>>2]=o;c[H>>2]=o;c[o+8>>2]=d;c[o+12>>2]=L;c[o+24>>2]=0;break}else Ea()}else{c[723]=G|u;c[E>>2]=o;c[o+24>>2]=E;c[o+12>>2]=o;c[o+8>>2]=o}while(0);o=(c[730]|0)+-1|0;c[730]=o;if(!o)M=3344;else return;while(1){o=c[M>>2]|0;if(!o)break;else M=o+8|0}c[730]=-1;return}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=ye(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;He(d|0,0,e|0)|0;return d|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=ye(b)|0;return d|0}if(b>>>0>4294967231){c[(Da()|0)>>2]=12;d=0;return d|0}e=Ce(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e){d=e+8|0;return d|0}e=ye(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;Ke(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;ze(a);d=e;return d|0}function Ce(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;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[726]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))Ea();j=a+(f|4)|0;k=c[j>>2]|0;if(!(k&1))Ea();if(!i){if(b>>>0<256){l=0;return l|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[842]<<1>>>0:0){l=a;return l|0}l=0;return l|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){l=a;return l|0}c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|3;c[j>>2]=c[j>>2]|1;De(a+b|0,i);l=a;return l|0}if((g|0)==(c[728]|0)){i=(c[725]|0)+f|0;if(i>>>0<=b>>>0){l=0;return l|0}j=i-b|0;c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=j|1;c[728]=a+b;c[725]=j;l=a;return l|0}if((g|0)==(c[727]|0)){j=(c[724]|0)+f|0;if(j>>>0<b>>>0){l=0;return l|0}i=j-b|0;if(i>>>0>15){c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=i|1;c[a+j>>2]=i;m=a+(j+4)|0;c[m>>2]=c[m>>2]&-2;n=a+b|0;o=i}else{c[d>>2]=e&1|j|2;i=a+(j+4)|0;c[i>>2]=c[i>>2]|1;n=0;o=0}c[724]=o;c[727]=n;l=a;return l|0}if(k&2){l=0;return l|0}n=(k&-8)+f|0;if(n>>>0<b>>>0){l=0;return l|0}o=n-b|0;i=k>>>3;do if(k>>>0>=256){j=c[a+(f+24)>>2]|0;m=c[a+(f+12)>>2]|0;do if((m|0)==(g|0)){p=a+(f+20)|0;q=c[p>>2]|0;if(!q){r=a+(f+16)|0;s=c[r>>2]|0;if(!s){t=0;break}else{u=s;v=r}}else{u=q;v=p}while(1){p=u+20|0;q=c[p>>2]|0;if(q){u=q;v=p;continue}p=u+16|0;q=c[p>>2]|0;if(!q){w=u;x=v;break}else{u=q;v=p}}if(x>>>0<h>>>0)Ea();else{c[x>>2]=0;t=w;break}}else{p=c[a+(f+8)>>2]|0;if(p>>>0<h>>>0)Ea();q=p+12|0;if((c[q>>2]|0)!=(g|0))Ea();r=m+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=m;c[r>>2]=p;t=m;break}else Ea()}while(0);if(j){m=c[a+(f+28)>>2]|0;p=3192+(m<<2)|0;if((g|0)==(c[p>>2]|0)){c[p>>2]=t;if(!t){c[723]=c[723]&~(1<<m);break}}else{if(j>>>0<(c[726]|0)>>>0)Ea();m=j+16|0;if((c[m>>2]|0)==(g|0))c[m>>2]=t;else c[j+20>>2]=t;if(!t)break}m=c[726]|0;if(t>>>0<m>>>0)Ea();c[t+24>>2]=j;p=c[a+(f+16)>>2]|0;do if(p)if(p>>>0<m>>>0)Ea();else{c[t+16>>2]=p;c[p+24>>2]=t;break}while(0);p=c[a+(f+20)>>2]|0;if(p)if(p>>>0<(c[726]|0)>>>0)Ea();else{c[t+20>>2]=p;c[p+24>>2]=t;break}}}else{p=c[a+(f+8)>>2]|0;m=c[a+(f+12)>>2]|0;j=2928+(i<<1<<2)|0;if((p|0)!=(j|0)){if(p>>>0<h>>>0)Ea();if((c[p+12>>2]|0)!=(g|0))Ea()}if((m|0)==(p|0)){c[722]=c[722]&~(1<<i);break}if((m|0)!=(j|0)){if(m>>>0<h>>>0)Ea();j=m+8|0;if((c[j>>2]|0)==(g|0))y=j;else Ea()}else y=m+8|0;c[p+12>>2]=m;c[y>>2]=p}while(0);if(o>>>0<16){c[d>>2]=n|e&1|2;y=a+(n|4)|0;c[y>>2]=c[y>>2]|1;l=a;return l|0}else{c[d>>2]=e&1|b|2;c[a+(b+4)>>2]=o|3;e=a+(n|4)|0;c[e>>2]=c[e>>2]|1;De(a+b|0,o);l=a;return l|0}return 0}function De(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,H=0,I=0,J=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;i=c[726]|0;if(g>>>0<i>>>0)Ea();if((g|0)==(c[727]|0)){j=a+(b+4)|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[724]=h;c[j>>2]=k&-2;c[a+(4-f)>>2]=h|1;c[d>>2]=h;return}k=f>>>3;if(f>>>0<256){j=c[a+(8-f)>>2]|0;n=c[a+(12-f)>>2]|0;o=2928+(k<<1<<2)|0;if((j|0)!=(o|0)){if(j>>>0<i>>>0)Ea();if((c[j+12>>2]|0)!=(g|0))Ea()}if((n|0)==(j|0)){c[722]=c[722]&~(1<<k);l=g;m=h;break}if((n|0)!=(o|0)){if(n>>>0<i>>>0)Ea();o=n+8|0;if((c[o>>2]|0)==(g|0))p=o;else Ea()}else p=n+8|0;c[j+12>>2]=n;c[p>>2]=j;l=g;m=h;break}j=c[a+(24-f)>>2]|0;n=c[a+(12-f)>>2]|0;do if((n|0)==(g|0)){o=16-f|0;k=a+(o+4)|0;q=c[k>>2]|0;if(!q){r=a+o|0;o=c[r>>2]|0;if(!o){s=0;break}else{t=o;u=r}}else{t=q;u=k}while(1){k=t+20|0;q=c[k>>2]|0;if(q){t=q;u=k;continue}k=t+16|0;q=c[k>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=k}}if(w>>>0<i>>>0)Ea();else{c[w>>2]=0;s=v;break}}else{k=c[a+(8-f)>>2]|0;if(k>>>0<i>>>0)Ea();q=k+12|0;if((c[q>>2]|0)!=(g|0))Ea();r=n+8|0;if((c[r>>2]|0)==(g|0)){c[q>>2]=n;c[r>>2]=k;s=n;break}else Ea()}while(0);if(j){n=c[a+(28-f)>>2]|0;i=3192+(n<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=s;if(!s){c[723]=c[723]&~(1<<n);l=g;m=h;break}}else{if(j>>>0<(c[726]|0)>>>0)Ea();n=j+16|0;if((c[n>>2]|0)==(g|0))c[n>>2]=s;else c[j+20>>2]=s;if(!s){l=g;m=h;break}}n=c[726]|0;if(s>>>0<n>>>0)Ea();c[s+24>>2]=j;i=16-f|0;k=c[a+i>>2]|0;do if(k)if(k>>>0<n>>>0)Ea();else{c[s+16>>2]=k;c[k+24>>2]=s;break}while(0);k=c[a+(i+4)>>2]|0;if(k)if(k>>>0<(c[726]|0)>>>0)Ea();else{c[s+20>>2]=k;c[k+24>>2]=s;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);s=c[726]|0;if(d>>>0<s>>>0)Ea();v=a+(b+4)|0;w=c[v>>2]|0;if(!(w&2)){if((d|0)==(c[728]|0)){u=(c[725]|0)+m|0;c[725]=u;c[728]=l;c[l+4>>2]=u|1;if((l|0)!=(c[727]|0))return;c[727]=0;c[724]=0;return}if((d|0)==(c[727]|0)){u=(c[724]|0)+m|0;c[724]=u;c[727]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(w&-8)+m|0;t=w>>>3;do if(w>>>0>=256){p=c[a+(b+24)>>2]|0;e=c[a+(b+12)>>2]|0;do if((e|0)==(d|0)){k=a+(b+20)|0;n=c[k>>2]|0;if(!n){f=a+(b+16)|0;j=c[f>>2]|0;if(!j){x=0;break}else{y=j;z=f}}else{y=n;z=k}while(1){k=y+20|0;n=c[k>>2]|0;if(n){y=n;z=k;continue}k=y+16|0;n=c[k>>2]|0;if(!n){A=y;B=z;break}else{y=n;z=k}}if(B>>>0<s>>>0)Ea();else{c[B>>2]=0;x=A;break}}else{k=c[a+(b+8)>>2]|0;if(k>>>0<s>>>0)Ea();n=k+12|0;if((c[n>>2]|0)!=(d|0))Ea();f=e+8|0;if((c[f>>2]|0)==(d|0)){c[n>>2]=e;c[f>>2]=k;x=e;break}else Ea()}while(0);if(p){e=c[a+(b+28)>>2]|0;h=3192+(e<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=x;if(!x){c[723]=c[723]&~(1<<e);break}}else{if(p>>>0<(c[726]|0)>>>0)Ea();e=p+16|0;if((c[e>>2]|0)==(d|0))c[e>>2]=x;else c[p+20>>2]=x;if(!x)break}e=c[726]|0;if(x>>>0<e>>>0)Ea();c[x+24>>2]=p;h=c[a+(b+16)>>2]|0;do if(h)if(h>>>0<e>>>0)Ea();else{c[x+16>>2]=h;c[h+24>>2]=x;break}while(0);h=c[a+(b+20)>>2]|0;if(h)if(h>>>0<(c[726]|0)>>>0)Ea();else{c[x+20>>2]=h;c[h+24>>2]=x;break}}}else{h=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;p=2928+(t<<1<<2)|0;if((h|0)!=(p|0)){if(h>>>0<s>>>0)Ea();if((c[h+12>>2]|0)!=(d|0))Ea()}if((e|0)==(h|0)){c[722]=c[722]&~(1<<t);break}if((e|0)!=(p|0)){if(e>>>0<s>>>0)Ea();p=e+8|0;if((c[p>>2]|0)==(d|0))C=p;else Ea()}else C=e+8|0;c[h+12>>2]=e;c[C>>2]=h}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[727]|0)){c[724]=u;return}else D=u}else{c[v>>2]=w&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){w=m<<1;v=2928+(w<<2)|0;u=c[722]|0;C=1<<m;if(u&C){m=2928+(w+2<<2)|0;d=c[m>>2]|0;if(d>>>0<(c[726]|0)>>>0)Ea();else{E=m;F=d}}else{c[722]=u|C;E=2928+(w+2<<2)|0;F=v}c[E>>2]=l;c[F+12>>2]=l;c[l+8>>2]=F;c[l+12>>2]=v;return}v=D>>>8;if(v)if(D>>>0>16777215)G=31;else{F=(v+1048320|0)>>>16&8;E=v<<F;v=(E+520192|0)>>>16&4;w=E<<v;E=(w+245760|0)>>>16&2;C=14-(v|F|E)+(w<<E>>>15)|0;G=D>>>(C+7|0)&1|C<<1}else G=0;C=3192+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;E=c[723]|0;w=1<<G;if(!(E&w)){c[723]=E|w;c[C>>2]=l;c[l+24>>2]=C;c[l+12>>2]=l;c[l+8>>2]=l;return}w=c[C>>2]|0;a:do if((c[w+4>>2]&-8|0)==(D|0))H=w;else{C=D<<((G|0)==31?0:25-(G>>>1)|0);E=w;while(1){F=E+16+(C>>>31<<2)|0;v=c[F>>2]|0;if(!v){I=F;J=E;break}if((c[v+4>>2]&-8|0)==(D|0)){H=v;break a}else{C=C<<1;E=v}}if(I>>>0<(c[726]|0)>>>0)Ea();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}while(0);J=H+8|0;I=c[J>>2]|0;D=c[726]|0;if(!(I>>>0>=D>>>0&H>>>0>=D>>>0))Ea();c[I+12>>2]=l;c[J>>2]=l;c[l+8>>2]=I;c[l+12>>2]=H;c[l+24>>2]=0;return}function Ee(){}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Ge(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 (C=e,a-c>>>0|0)|0}function He(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;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Je(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return sa(b|0,d|0,e|0)|0;f=b|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}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Le(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){a[b+e>>0]=f?0:a[c+e>>0]|0;f=f?1:(a[c+e>>0]|0)==0;e=e+1|0}return b|0}function Me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Ne(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 Ke(b,c,d)|0;return b|0}function Oe(b,c){b=b|0;c=c|0;var d=0;do{a[b+d>>0]=a[c+d>>0];d=d+1|0}while(a[c+(d-1)>>0]|0);return b|0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Qe(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Ge(e^a,f^b,e,f)|0;b=C;a=g^e;e=h^f;return Ge((Xe(i,b,Ge(g^c,h^d,g,h)|0,C,0)|0)^a,C^e,a,e)|0}function Te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=Ge(h^a,j^b,h,j)|0;b=C;Xe(m,b,Ge(k^d,l^e,k,l)|0,C,g)|0;l=Ge(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=C;i=f;return (C=j,l)|0}function Ue(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=Re(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function Ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xe(a,b,c,d,0)|0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;Xe(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function Xe(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,D=0,E=0,F=0,G=0,H=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 (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j){s=(aa(j|0)|0)+33-(aa(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){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=Qe(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Qe(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(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 (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Me(b|0,d|0,-1,-1)|0;k=C;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;Ge(e,k,g,a)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Ge(g,a,l&b,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function Ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a&1](b|0,c|0,d|0)|0}function Ze(a,b){a=a|0;b=b|0;Ma[a&1](b|0)}function _e(a,b){a=a|0;b=b|0;return Na[a&7](b|0)|0}function $e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Oa[a&15](b|0,c|0,d|0,e|0)|0}function af(a,b,c){a=a|0;b=b|0;c=c|0;return Pa[a&1](b|0,c|0)|0}function bf(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0)|0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function df(a){a=a|0;ba(1)}function ef(a){a=a|0;ba(2);return 0}function ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(3);return 0}function gf(a,b){a=a|0;b=b|0;ba(4);return 0}function hf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(5);return 0}
+
+// EMSCRIPTEN_END_FUNCS
+var La=[cf,wc];var Ma=[df,xc];var Na=[ef,tc,Jb,Kb,Lb,Vc,Nb,ef];var Oa=[ff,_c,cd,fd,md,rd,wd,Ad,pe,ff,ff,ff,ff,ff,ff,ff];var Pa=[gf,uc];var Qa=[hf,Xc,$c,ad,dd,ed,gd,hd,jd,kd,ld,nd,pd,qd,sd,td,ud,yd,zd,Cd,Dd,Ed,Fd,hf,hf,hf,hf,hf,hf,hf,hf,hf];return{_i64Subtract:Ge,_ogv_demuxer_keypoint_offset:ne,_memset:He,_ogv_demuxer_process:ie,_strncpy:Le,_ogv_demuxer_flush:oe,_bitshift64Ashr:Fe,_ogv_demuxer_init:he,_strlen:Je,_ogv_demuxer_destroy:je,_malloc:ye,_i64Add:Me,_ogv_demuxer_seekable:me,_ogv_demuxer_media_duration:le,_ogv_demuxer_media_length:ke,_memmove:Ne,_free:ze,_memcpy:Ke,_strcpy:Oe,_bitshift64Shl:Ie,runPostSets:Ee,stackAlloc:Ra,stackSave:Sa,stackRestore:Ta,establishStackSpace:Ua,setThrew:Va,setTempRet0:Ya,getTempRet0:Za,dynCall_iiii:Ye,dynCall_vi:Ze,dynCall_ii:_e,dynCall_iiiii:$e,dynCall_iii:af,dynCall_iiiiii:bf}})
+
+
+// EMSCRIPTEN_END_ASM
+(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _ogv_demuxer_keypoint_offset=Module["_ogv_demuxer_keypoint_offset"]=asm["_ogv_demuxer_keypoint_offset"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _ogv_demuxer_process=Module["_ogv_demuxer_process"]=asm["_ogv_demuxer_process"];var _strncpy=Module["_strncpy"]=asm["_strncpy"];var _ogv_demuxer_flush=Module["_ogv_demuxer_flush"]=asm["_ogv_demuxer_flush"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _ogv_demuxer_init=Module["_ogv_demuxer_init"]=asm["_ogv_demuxer_init"];var _memset=Module["_memset"]=asm["_memset"];var _ogv_demuxer_destroy=Module["_ogv_demuxer_destroy"]=asm["_ogv_demuxer_destroy"];var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _ogv_demuxer_seekable=Module["_ogv_demuxer_seekable"]=asm["_ogv_demuxer_seekable"];var _ogv_demuxer_media_duration=Module["_ogv_demuxer_media_duration"]=asm["_ogv_demuxer_media_duration"];var _strlen=Module["_strlen"]=asm["_strlen"];var _ogv_demuxer_media_length=Module["_ogv_demuxer_media_length"]=asm["_ogv_demuxer_media_length"];var _memmove=Module["_memmove"]=asm["_memmove"];var _free=Module["_free"]=asm["_free"];var _strcpy=Module["_strcpy"]=asm["_strcpy"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(str.charAt(0)=="-"){return goog.math.Long.fromString(str.substring(1),radix).negate()}else if(str.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i);var value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=goog.math.Long.fromNumber(Math.pow(radix,size));result=result.multiply(power).add(goog.math.Long.fromNumber(value))}else{result=result.multiply(radixToPower);result=result.add(goog.math.Long.fromNumber(value))}}return result});goog.math.Long.TWO_PWR_16_DBL_=1<<16;goog.math.Long.TWO_PWR_24_DBL_=1<<24;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2;goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.ZERO=goog.math.Long.fromInt(0);goog.math.Long.ONE=goog.math.Long.fromInt(1);goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1);goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(4294967295|0,2147483647|0);goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,2147483648|0);goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24);goog.math.Long.prototype.toInt=(function(){return this.low_});goog.math.Long.prototype.toNumber=(function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()});goog.math.Long.prototype.toString=(function(opt_radix){var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var radixLong=goog.math.Long.fromNumber(radix);var div=this.div(radixLong);var rem=div.multiply(radixLong).subtract(this);return div.toString(radix)+rem.toInt().toString(radix)}else{return"-"+this.negate().toString(radix)}}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,6));var rem=this;var result="";while(true){var remDiv=rem.div(radixToPower);var intval=rem.subtract(remDiv.multiply(radixToPower)).toInt();var digits=intval.toString(radix);rem=remDiv;if(rem.isZero()){return digits+result}else{while(digits.length<6){digits="0"+digits}result=""+digits+result}}});goog.math.Long.prototype.getHighBits=(function(){return this.high_});goog.math.Long.prototype.getLowBits=(function(){return this.low_});goog.math.Long.prototype.getLowBitsUnsigned=(function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<<bit)!=0){break}}return this.high_!=0?bit+33:bit+1}});goog.math.Long.prototype.isZero=(function(){return this.high_==0&&this.low_==0});goog.math.Long.prototype.isNegative=(function(){return this.high_<0});goog.math.Long.prototype.isOdd=(function(){return(this.low_&1)==1});goog.math.Long.prototype.equals=(function(other){return this.high_==other.high_&&this.low_==other.low_});goog.math.Long.prototype.notEquals=(function(other){return this.high_!=other.high_||this.low_!=other.low_});goog.math.Long.prototype.lessThan=(function(other){return this.compare(other)<0});goog.math.Long.prototype.lessThanOrEqual=(function(other){return this.compare(other)<=0});goog.math.Long.prototype.greaterThan=(function(other){return this.compare(other)>0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<<numBits,high<<numBits|low>>>32-numBits)}else{return goog.math.Long.fromBits(0,low<<numBits-32)}}});goog.math.Long.prototype.shiftRight=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh;this[this.t++]=x>>this.DB-sh}else this[this.t-1]|=x<<sh;sh+=k;if(sh>=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<<this.DB-sh)-1<<sh}this.clamp();if(mi)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<<k)-1,d,m=false,r="",i=this.t;var p=this.DB-i*this.DB%k;if(i-->0){if(p<this.DB&&(d=this[i]>>p)>0){m=true;r=int2char(d)}while(i>=0){if(p<k){d=(this[i]&(1<<p)-1)<<k-p;d|=this[--i]>>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=Math.max(this.t-n,0);r.s=this.s}function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<cbs)-1;var ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM,i;for(i=this.t-1;i>=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<<bs}for(i=ds-1;i>=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<bs)-1;r[0]=this[ds]>>bs;for(var i=ds+1;i<this.t;++i){r[i-ds-1]|=(this[i]&bm)<<cbs;r[i-ds]=this[i]>>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<<cbs;r.t=this.t-ds;r.clamp()}function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]-a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c-=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c-=a[i];r[i++]=c&this.DM;c>>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i<y.t;++i)r[i+x.t]=x.am(0,y[i],r,i,0,x.t);r.s=0;r.clamp();if(this.s!=a.s)BigInteger.ZERO.subTo(r,r)}function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x[i],r,2*i,0,1);if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1))>=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t<pm.t){if(q!=null)q.fromInt(0);if(r!=null)this.copyTo(r);return}if(r==null)r=nbi();var y=nbi(),ts=this.s,ms=m.s;var nsh=this.DB-nbits(pm[pm.t-1]);if(nsh>0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<<this.F1)+(ys>1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2;var i=r.t,j=i-ys,t=q==null?nbi():q;y.dlShiftTo(j,t);if(r.compareTo(t)>=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t<ys)y[y.t++]=0;while(--j>=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))<qd){y.dlShiftTo(j,t);r.subTo(t,r);while(r[i]<--qd)r.subTo(t,r)}}if(q!=null){r.drShiftTo(ys,q);if(ts!=ms)BigInteger.ZERO.subTo(q,q)}r.t=ys;r.clamp();if(nsh>0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<m.DB-15)-1;this.mt2=2*m.t}function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divRemTo(this.m,null,r);if(x.s<0&&r.compareTo(BigInteger.ZERO)>0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=x[i]&32767;var u0=j*this.mpl+((j*this.mph+(x[i]>>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i<s.length;++i){var x=intAt(s,i);if(x<0){if(s.charAt(i)=="-"&&this.signum()==0)mi=true;continue}w=b*w+x;if(++j>=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]+a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c+=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c+=a[i];r[i++]=c&this.DM;c>>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();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 initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;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{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}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"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=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=false;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();var inputBuffer,inputBufferSize;function reallocInputBuffer(size){if(inputBuffer&&inputBufferSize>=size){return inputBuffer}if(inputBuffer){Module._free(inputBuffer)}inputBufferSize=size;inputBuffer=Module._malloc(inputBufferSize);return inputBuffer}Module.loadedmetadata=false;Module.videoCodec=null;Module.audioCodec=null;Module.duration=NaN;Module.audioPackets=[];Object.defineProperty(Module,"hasAudio",{get:(function(){return Module.loadedMetadata&&Module.audioCodec})});Object.defineProperty(Module,"audioReady",{get:(function(){return Module.audioPackets.length>0})});Object.defineProperty(Module,"audioTimestamp",{get:(function(){if(Module.audioPackets.length>0){return Module.audioPackets[0].timestamp}else{return-1}})});Module.videoPackets=[];Object.defineProperty(Module,"hasVideo",{get:(function(){return Module.loadedMetadata&&Module.videoCodec})});Object.defineProperty(Module,"frameReady",{get:(function(){return Module.videoPackets.length>0})});Object.defineProperty(Module,"frameTimestamp",{get:(function(){if(Module.videoPackets.length>0){return Module.videoPackets[0].timestamp}else{return-1}})});Object.defineProperty(Module,"keyframeTimestamp",{get:(function(){if(Module.videoPackets.length>0){return Module.videoPackets[0].keyframeTimestamp}else{return-1}})});Object.defineProperty(Module,"processing",{get:function getProcessing(){return false}});Object.defineProperty(Module,"seekable",{get:(function(){return!!Module._ogv_demuxer_seekable()})});Module.init=(function(callback){Module._ogv_demuxer_init();callback()});Module.process=(function(data,callback){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);var ret=Module._ogv_demuxer_process(buffer,len);callback(ret)});Module.dequeueVideoPacket=(function(callback){if(Module.videoPackets.length){var packet=Module.videoPackets.shift().data;callback(packet)}else{callback(null)}});Module.dequeueAudioPacket=(function(callback){if(Module.audioPackets.length){var packet=Module.audioPackets.shift().data;callback(packet)}else{callback(null)}});Module.getKeypointOffset=(function(timeSeconds,callback){var offset=Module._ogv_demuxer_keypoint_offset(timeSeconds*1e3);callback(offset)});Module.flush=(function(callback){Module.audioPackets.splice(0,Module.audioPackets.length);Module.videoPackets.splice(0,Module.videoPackets.length);Module._ogv_demuxer_flush();callback()})
+
+
+
+
+
+ return Module;
+};