This repository has been archived by the owner on Feb 17, 2023. It is now read-only.
forked from chris-rudmin/opus-recorder
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathlibopus.js
19 lines (12 loc) · 515 KB
/
libopus.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;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["ccall"]=ccall;Module["cwrap"]=cwrap;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"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;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+34912;__ATINIT__.push();allocate([93,61,127,102,158,160,230,63,0,0,0,0,0,136,57,61,68,23,117,250,82,176,230,63,0,0,0,0,0,0,216,60,254,217,11,117,18,192,230,63,0,0,0,0,0,120,40,189,191,118,212,221,220,207,230,63,0,0,0,0,0,192,30,61,41,26,101,60,178,223,230,63,0,0,0,0,0,0,216,188,227,58,89,152,146,239,230,63,0,0,0,0,0,0,188,188,134,147,81,249,125,255,230,63,0,0,0,0,0,216,47,189,163,45,244,102,116,15,231,63,0,0,0,0,0,136,44,189,195,95,236,232,117,31,231,63,0,0,0,0,0,192,19,61,5,207,234,134,130,47,231,63,0,0,0,0,0,48,56,189,82,129,165,72,154,63,231,63,0,0,0,0,0,192,0,189,252,204,215,53,189,79,231,63,0,0,0,0,0,136,47,61,241,103,66,86,235,95,231,63,0,0,0,0,0,224,3,61,72,109,171,177,36,112,231,63,0,0,0,0,0,208,39,189,56,93,222,79,105,128,231,63,0,0,0,0,0,0,221,188,0,29,172,56,185,144,231,63,0,0,0,0,0,0,227,60,120,1,235,115,20,161,231,63,0,0,0,0,0,0,237,188,96,208,118,9,123,177,231,63,0,0,0,0,0,64,32,61,51,193,48,1,237,193,231,63,0,0,0,0,0,0,160,60,54,134,255,98,106,210,231,63,0,0,0,0,0,144,38,189,59,78,207,54,243,226,231,63,0,0,0,0,0,224,2,189,232,195,145,132,135,243,231,63,0,0,0,0,0,88,36,189,78,27,62,84,39,4,232,63,0,0,0,0,0,0,51,61,26,7,209,173,210,20,232,63,0,0,0,0,0,0,15,61,126,205,76,153,137,37,232,63,0,0,0,0,0,192,33,189,208,66,185,30,76,54,232,63,0,0,0,0,0,208,41,61,181,202,35,70,26,71,232,63,0,0,0,0,0,16,71,61,188,91,159,23,244,87,232,63,0,0,0,0,0,96,34,61,175,145,68,155,217,104,232,63,0,0,0,0,0,196,50,189,149,163,49,217,202,121,232,63,0,0,0,0,0,0,35,189,184,101,138,217,199,138,232,63,0,0,0,0,0,128,42,189,0,88,120,164,208,155,232,63,0,0,0,0,0,0,237,188,35,162,42,66,229,172,232,63,0,0,0,0,0,40,51,61,250,25,214,186,5,190,232,63,0,0,0,0,0,180,66,61,131,67,181,22,50,207,232,63,0,0,0,0,0,208,46,189,76,102,8,94,106,224,232,63,0,0,0,0,0,80,32,189,7,120,21,153,174,241,232,63,0,0,0,0,0,40,40,61,14,44,40,208,254,2,233,63,0,0,0,0,0,176,28,189,150,255,145,11,91,20,233,63,0,0,0,0,0,224,5,189,249,47,170,83,195,37,233,63,0,0,0,0,0,64,245,60,74,198,205,176,55,55,233,63,0,0,0,0,0,32,23,61,174,152,95,43,184,72,233,63,0,0,0,0,0,0,9,189,203,82,200,203,68,90,233,63,0,0,0,0,0,104,37,61,33,111,118,154,221,107,233,63,0,0,0,0,0,208,54,189,42,78,222,159,130,125,233,63,0,0,0,0,0,0,1,189,163,35,122,228,51,143,233,63,0,0,0,0,0,0,45,61,4,6,202,112,241,160,233,63,0,0,0,0,0,164,56,189,137,255,83,77,187,178,233,63,0,0,0,0,0,92,53,61,91,241,163,130,145,196,233,63,0,0,0,0,0,184,38,61,197,184,75,25,116,214,233,63,0,0,0,0,0,0,236,188,142,35,227,25,99,232,233,63,0,0,0,0,0,208,23,61,2,243,7,141,94,250,233,63,0,0,0,0,0,64,22,61,77,229,93,123,102,12,234,63,0,0,0,0,0,0,245,188,246,184,142,237,122,30,234,63,0,0,0,0,0,224,9,61,39,46,74,236,155,48,234,63,0,0,0,0,0,216,42,61,93,10,70,128,201,66,234,63,0,0,0,0,0,240,26,189,155,37,62,178,3,85,234,63,0,0,0,0,0,96,11,61,19,98,244,138,74,103,234,63,0,0,0,0,0,136,56,61,167,179,48,19,158,121,234,63,0,0,0,0,0,32,17,61,141,46,193,83,254,139,234,63,0,0,0,0,0,192,6,61,210,252,121,85,107,158,234,63,0,0,0,0,0,184,41,189,184,111,53,33,229,176,234,63,0,0,0,0,0,112,43,61,129,243,211,191,107,195,234,63,0,0,0,0,0,0,217,60,128,39,60,58,255,213,234,63,0,0,0,0,0,0,228,60,163,210,90,153,159,232,234,63,0,0,0,0,0,144,44,189,103,243,34,230,76,251,234,63,0,0,0,0,0,80,22,61,144,183,141,41,7,14,235,63,0,0,0,0,0,212,47,61,169,137,154,108,206,32,235,63,0,0,0,0,0,112,18,61,75,26,79,184,162,51,235,63,0,0,0,0,0,71,77,61,231,71,183,21,132,70,235,63,0,0,0,0,0,56,56,189,58,89,229,141,114,89,235,63,0,0,0,0,0,0,152,60,106,197,241,41,110,108,235,63,0,0,0,0,0,208,10,61,80,94,251,242,118,127,235,63,0,0,0,0,0,128,222,60,178,73,39,242,140,146,235,63,0,0,0,0,0,192,4,189,3,6,161,48,176,165,235,63,0,0,0,0,0,112,13,189,102,111,154,183,224,184,235,63,0,0,0,0,0,144,13,61,255,193,75,144,30,204,235,63,0,0,0,0,0,160,2,61,111,161,243,195,105,223,235,63,0,0,0,0,0,120,31,189,184,29,215,91,194,242,235,63,0,0,0,0,0,160,16,189,233,178,65,97,40,6,236,63,0,0,0,0,0,64,17,189,224,82,133,221,155,25,236,63,0,0,0,0,0,224,11,61,238,100,250,217,28,45,236,63,0,0,0,0,0,64,9,189,47,208,255,95,171,64,236,63,0,0,0,0,0,208,14,189,21,253,250,120,71,84,236,63,0,0,0,0,0,102,57,61,203,208,87,46,241,103,236,63,0,0,0,0,0,16,26,189,182,193,136,137,168,123,236,63,0,0,0,0,128,69,88,189,51,231,6,148,109,143,236,63,0,0,0,0,0,72,26,189,223,196,81,87,64,163,236,63,0,0,0,0,0,0,203,60,148,144,239,220,32,183,236,63,0,0,0,0,0,64,1,61,137,22,109,46,15,203,236,63,0,0,0,0,0,32,240,60,18,196,93,85,11,223,236,63,0,0,0,0,0,96,243,60,59,171,91,91,21,243,236,63,0,0,0,0,0,144,6,189,188,137,7,74,45,7,237,63,0,0,0,0,0,160,9,61,250,200,8,43,83,27,237,63,0,0,0,0,0,224,21,189,133,138,13,8,135,47,237,63,0,0,0,0,0,40,29,61,3,162,202,234,200,67,237,63,0,0,0,0,0,160,1,61,145,164,251,220,24,88,237,63,0,0,0,0,0,0,223,60,161,230,98,232,118,108,237,63,0,0,0,0,0,160,3,189,78,131,201,22,227,128,237,63,0,0,0,0,0,216,12,189,144,96,255,113,93,149,237,63,0,0,0,0,0,192,244,60,174,50,219,3,230,169,237,63,0,0,0,0,0,144,255,60,37,131,58,214,124,190,237,63,0,0,0,0,0,128,233,60,69,180,1,243,33,211,237,63,0,0,0,0,0,32,245,188,191,5,28,100,213,231,237,63,0,0,0,0,0,112,29,189,236,154,123,51,151,252,237,63,0,0,0,0,0,20,22,189,94,125,25,107,103,17,238,63,0,0,0,0,0,72,11,61,231,163,245,20,70,38,238,63,0,0,0,0,0,206,64,61,92,238,22,59,51,59,238,63,0,0,0,0,0,104,12,61,180,63,139,231,46,80,238,63,0,0,0,0,0,48,9,189,104,109,103,36,57,101,238,63,0,0,0,0,0,0,229,188,68,76,199,251,81,122,238,63,0,0,0,0,0,248,7,189,38,183,205,119,121,143,238,63,0,0,0,0,0,112,243,188,232,144,164,162,175,164,238,63,0,0,0,0,0,208,229,60,228,202,124,134,244,185,238,63,0,0,0,0,0,26,22,61,13,104,142,45,72,207,238,63,0,0,0,0,0,80,245,60,20,133,24,162,170,228,238,63,0,0,0,0,0,64,198,60,19,90,97,238,27,250,238,63,0,0,0,0,0,128,238,188,6,65,182,28,156,15,239,63,0,0,0,0,0,136,250,188,99,185,107,55,43,37,239,63,0,0,0,0,0,144,44,189,117,114,221,72,201,58,239,63,0,0,0,0,0,0,170,60,36,69,110,91,118,80,239,63,0,0,0,0,0,240,244,188,253,68,136,121,50,102,239,63,0,0,0,0,0,128,202,60,56,190,156,173,253,123,239,63,0,0,0,0,0,188,250,60,130,60,36,2,216,145,239,63,0,0,0,0,0,96,212,188,142,144,158,129,193,167,239,63,0,0,0,0,0,12,11,189,17,213,146,54,186,189,239,63,0,0,0,0,0,224,192,188,148,113,143,43,194,211,239,63,0,0,0,0,128,222,16,189,238,35,42,107,217,233,239,63,0,0,0,0,0,67,238,60,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,0,190,188,90,250,26,11,240,63,0,0,0,0,0,64,179,188,3,51,251,169,61,22,240,63,0,0,0,0,0,23,18,189,130,2,59,20,104,33,240,63,0,0,0,0,0,64,186,60,108,128,119,62,154,44,240,63,0,0,0,0,0,152,239,60,202,187,17,46,212,55,240,63,0,0,0,0,0,64,199,188,137,127,110,232,21,67,240,63,0,0,0,0,0,48,216,60,103,84,246,114,95,78,240,63,0,0,0,0,0,63,26,189,90,133,21,211,176,89,240,63,0,0,0,0,0,132,2,189,149,31,60,14,10,101,240,63,0,0,0,0,0,96,241,60,26,247,221,41,107,112,240,63,0,0,0,0,0,36,21,61,45,168,114,43,212,123,240,63,0,0,0,0,0,160,233,188,208,155,117,24,69,135,240,63,0,0,0,0,0,64,230,60,200,7,102,246,189,146,240,63,0,0,0,0,0,120,0,189,131,243,198,202,62,158,240,63,0,0,0,0,0,0,152,188,48,57,31,155,199,169,240,63,0,0,0,0,0,160,255,60,252,136,249,108,88,181,240,63,0,0,0,0,0,200,250,188,138,108,228,69,241,192,240,63,0,0,0,0,0,192,217,60,22,72,114,43,146,204,240,63,0,0,0,0,0,32,5,61,216,93,57,35,59,216,240,63,0,0,0,0,0,208,250,188,243,209,211,50,236,227,240,63,0,0,0,0,0,172,27,61,166,169,223,95,165,239,240,63,0,0,0,0,0,232,4,189,240,210,254,175,102,251,240,63,0,0,0,0,0,48,13,189,75,35,215,40,48,7,241,63,0,0,0,0,0,80,241,60,91,91,18,208,1,19,241,63,0,0,0,0,0,0,236,60,249,42,94,171,219,30,241,63,0,0,0,0,0,188,22,61,213,49,108,192,189,42,241,63,0,0,0,0,0,64,232,60,125,4,242,20,168,54,241,63,0,0,0,0,0,208,14,189,233,45,169,174,154,66,241,63,0,0,0,0,0,224,232,60,56,49,79,147,149,78,241,63,0,0,0,0,0,64,235,60,113,142,165,200,152,90,241,63,0,0,0,0,0,48,5,61,223,195,113,84,164,102,241,63,0,0,0,0,0,56,3,61,17,82,125,60,184,114,241,63,0,0,0,0,0,212,40,61,159,187,149,134,212,126,241,63,0,0,0,0,0,208,5,189,147,141,140,56,249,138,241,63,0,0,0,0,0,136,28,189,102,93,55,88,38,151,241,63,0,0,0,0,0,240,17,61,167,203,111,235,91,163,241,63,0,0,0,0,0,72,16,61,227,135,19,248,153,175,241,63,0,0,0,0,0,57,71,189,84,93,4,132,224,187,241,63,0,0,0,0,0,228,36,61,67,28,40,149,47,200,241,63,0,0,0,0,0,32,10,189,178,185,104,49,135,212,241,63,0,0,0,0,0,128,227,60,49,64,180,94,231,224,241,63,0,0,0,0,0,192,234,60,56,217,252,34,80,237,241,63,0,0,0,0,0,144,1,61,247,205,56,132,193,249,241,63,0,0,0,0,0,120,27,189,143,141,98,136,59,6,242,63,0,0,0,0,0,148,45,61,30,168,120,53,190,18,242,63,0,0,0,0,0,0,216,60,65,221,125,145,73,31,242,63,0,0,0,0,0,52,43,61,35,19,121,162,221,43,242,63,0,0,0,0,0,248,25,61,231,97,117,110,122,56,242,63,0,0,0,0,0,200,25,189,39,20,130,251,31,69,242,63,0,0,0,0,0,48,2,61,2,166,178,79,206,81,242,63,0,0,0,0,0,72,19,189,176,206,30,113,133,94,242,63,0,0,0,0,0,112,18,61,22,125,226,101,69,107,242,63,0,0,0,0,0,208,17,61,15,224,29,52,14,120,242,63,0,0,0,0,0,238,49,61,62,99,245,225,223,132,242,63,0,0,0,0,0,192,20,189,48,187,145,117,186,145,242,63,0,0,0,0,0,216,19,189,9,223,31,245,157,158,242,63,0,0,0,0,0,176,8,61,155,14,209,102,138,171,242,63,0,0,0,0,0,124,34,189,58,218,218,208,127,184,242,63,0,0,0,0,0,52,42,61,249,26,119,57,126,197,242,63,0,0,0,0,0,128,16,189,217,2,228,166,133,210,242,63,0,0,0,0,0,208,14,189,121,21,100,31,150,223,242,63,0,0,0,0,0,32,244,188,207,46,62,169,175,236,242,63,0,0,0,0,0,152,36,189,34,136,189,74,210,249,242,63,0,0,0,0,0,48,22,189,37,182,49,10,254,6,243,63,0,0,0,0,0,54,50,189,11,165,238,237,50,20,243,63,0,0,0,0,128,223,112,189,184,215,76,252,112,33,243,63,0,0,0,0,0,72,34,189,162,233,168,59,184,46,243,63,0,0,0,0,0,152,37,189,102,23,100,178,8,60,243,63,0,0,0,0,0,208,30,61,39,250,227,102,98,73,243,63,0,0,0,0,0,0,220,188,15,159,146,95,197,86,243,63,0,0,0,0,0,216,48,189,185,136,222,162,49,100,243,63,0,0,0,0,0,200,34,61,57,170,58,55,167,113,243,63,0,0,0,0,0,96,32,61,254,116,30,35,38,127,243,63,0,0,0,0,0,96,22,189,56,216,5,109,174,140,243,63,0,0,0,0,0,224,10,189,195,62,113,27,64,154,243,63,0,0,0,0,0,114,68,189,32,160,229,52,219,167,243,63,0,0,0,0,0,32,8,61,149,110,236,191,127,181,243,63,0,0,0,0,0,128,62,61,242,168,19,195,45,195,243,63,0,0,0,0,0,128,239,60,34,225,237,68,229,208,243,63,0,0,0,0,0,160,23,189,187,52,18,76,166,222,243,63,0,0,0,0,0,48,38,61,204,78,28,223,112,236,243,63,0,0,0,0,0,166,72,189,140,126,172,4,69,250,243,63,0,0,0,0,0,220,60,189,187,160,103,195,34,8,244,63,0,0,0,0,0,184,37,61,149,46,247,33,10,22,244,63,0,0,0,0,0,192,30,61,70,70,9,39,251,35,244,63,0,0,0,0,0,96,19,189,32,169,80,217,245,49,244,63,0,0,0,0,0,152,35,61,235,185,132,63,250,63,244,63,0,0,0,0,0,0,250,60,25,137,97,96,8,78,244,63,0,0,0,0,0,192,246,188,1,210,167,66,32,92,244,63,0,0,0,0,0,192,11,189,22,0,29,237,65,106,244,63,0,0,0,0,0,128,18,189,38,51,139,102,109,120,244,63,0,0,0,0,0,224,48,61,0,60,193,181,162,134,244,63,0,0,0,0,0,64,45,189,4,175,146,225,225,148,244,63,0,0,0,0,0,32,12,61,114,211,215,240,42,163,244,63,0,0,0,0,0,80,30,189,1,184,109,234,125,177,244,63,0,0,0,0,0,128,7,61,225,41,54,213,218,191,244,63,0,0,0,0,0,128,19,189,50,193,23,184,65,206,244,63,0,0,0,0,0,128,0,61,219,221,253,153,178,220,244,63,0,0,0,0,0,112,44,61,150,171,216,129,45,235,244,63,0,0,0,0,0,224,28,189,2,45,157,118,178,249,244,63,0,0,0,0,0,32,25,61,193,49,69,127,65,8,245,63,0,0,0,0,0,192,8,189,42,102,207,162,218,22,245,63,0,0,0,0,0,0,250,188,234,81,63,232,125,37,245,63,0,0,0,0,0,8,74,61,218,78,157,86,43,52,245,63,0,0,0,0,0,216,38,189,26,172,246,244,226,66,245,63,0,0,0,0,0,68,50,189,219,148,93,202,164,81,245,63,0,0,0,0,0,60,72,61,107,17,233,221,112,96,245,63,0,0,0,0,0,176,36,61,222,41,181,54,71,111,245,63,0,0,0,0,0,90,65,61,14,196,226,219,39,126,245,63,0,0,0,0,0,224,41,189,111,199,151,212,18,141,245,63,0,0,0,0,0,8,35,189,76,11,255,39,8,156,245,63,0,0,0,0,0,236,77,61,39,84,72,221,7,171,245,63,0,0,0,0,0,0,196,188,244,122,168,251,17,186,245,63,0,0,0,0,0,8,48,61,11,70,89,138,38,201,245,63,0,0,0,0,0,200,38,189,63,142,153,144,69,216,245,63,0,0,0,0,0,154,70,61,225,32,173,21,111,231,245,63,0,0,0,0,0,64,27,189,202,235,220,32,163,246,245,63,0,0,0,0,0,112,23,61,184,220,118,185,225,5,246,63,0,0,0,0,0,248,38,61,21,247,205,230,42,21,246,63,0,0,0,0,0,0,1,61,49,85,58,176,126,36,246,63,0,0,0,0,0,208,21,189,181,41,25,29,221,51,246,63,0,0,0,0,0,208,18,189,19,195,204,52,70,67,246,63,0,0,0,0,0,128,234,188,250,142,188,254,185,82,246,63,0,0,0,0,0,96,40,189,151,51,85,130,56,98,246,63,0,0,0,0,0,254,113,61,142,50,8,199,193,113,246,63,0,0,0,0,0,32,55,189,126,169,76,212,85,129,246,63,0,0,0,0,0,128,230,60,113,148,158,177,244,144,246,63,0,0,0,0,0,120,41,189,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,14,0,0,0,1,0,0,0,9,0,0,0,6,0,0,0,13,0,0,0,2,0,0,0,10,0,0,0,5,0,0,0,0,0,157,62,0,64,94,62,0,192,4,62,0,128,237,62,0,64,137,62,0,0,0,0,0,192,76,63,0,0,205,61,0,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,128,65,0,0,192,65,0,0,16,66,0,0,48,66,0,0,72,66,0,0,96,66,0,0,120,66,0,0,134,66,0,0,144,66,0,0,158,66,0,0,176,66,0,0,212,66,0,0,6,67,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,0,65,0,0,0,65,136,17,0,0,72,20,0,0,4,23,0,0,188,25,0,0,112,28,0,0,32,31,0,0,204,33,0,0,52,35,0,0,240,35,0,0,100,36,0,0,176,36,0,0,232,36,0,0,8,37,0,0,32,37,0,0,44,37,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,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,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,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,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,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,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,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,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,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,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,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,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,23,0,0,0,25,0,0,0,27,0,0,0,29,0,0,0,31,0,0,0,33,0,0,0,35,0,0,0,37,0,0,0,39,0,0,0,41,0,0,0,43,0,0,0,45,0,0,0,47,0,0,0,49,0,0,0,51,0,0,0,53,0,0,0,55,0,0,0,57,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,65,0,0,0,67,0,0,0,69,0,0,0,71,0,0,0,73,0,0,0,75,0,0,0,77,0,0,0,79,0,0,0,81,0,0,0,83,0,0,0,85,0,0,0,87,0,0,0,89,0,0,0,91,0,0,0,93,0,0,0,95,0,0,0,97,0,0,0,99,0,0,0,101,0,0,0,103,0,0,0,105,0,0,0,107,0,0,0,109,0,0,0,111,0,0,0,113,0,0,0,115,0,0,0,117,0,0,0,119,0,0,0,121,0,0,0,123,0,0,0,125,0,0,0,127,0,0,0,129,0,0,0,131,0,0,0,133,0,0,0,135,0,0,0,137,0,0,0,139,0,0,0,141,0,0,0,143,0,0,0,145,0,0,0,147,0,0,0,149,0,0,0,151,0,0,0,153,0,0,0,155,0,0,0,157,0,0,0,159,0,0,0,161,0,0,0,163,0,0,0,165,0,0,0,167,0,0,0,169,0,0,0,171,0,0,0,173,0,0,0,175,0,0,0,177,0,0,0,179,0,0,0,181,0,0,0,183,0,0,0,185,0,0,0,187,0,0,0,189,0,0,0,191,0,0,0,193,0,0,0,195,0,0,0,197,0,0,0,199,0,0,0,201,0,0,0,203,0,0,0,205,0,0,0,207,0,0,0,209,0,0,0,211,0,0,0,213,0,0,0,215,0,0,0,217,0,0,0,219,0,0,0,221,0,0,0,223,0,0,0,225,0,0,0,227,0,0,0,229,0,0,0,231,0,0,0,233,0,0,0,235,0,0,0,237,0,0,0,239,0,0,0,241,0,0,0,243,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,251,0,0,0,253,0,0,0,255,0,0,0,1,1,0,0,3,1,0,0,5,1,0,0,7,1,0,0,9,1,0,0,11,1,0,0,13,1,0,0,15,1,0,0,17,1,0,0,19,1,0,0,21,1,0,0,23,1,0,0,25,1,0,0,27,1,0,0,29,1,0,0,31,1,0,0,33,1,0,0,35,1,0,0,37,1,0,0,39,1,0,0,41,1,0,0,43,1,0,0,45,1,0,0,47,1,0,0,49,1,0,0,51,1,0,0,53,1,0,0,55,1,0,0,57,1,0,0,59,1,0,0,61,1,0,0,63,1,0,0,65,1,0,0,67,1,0,0,69,1,0,0,71,1,0,0,73,1,0,0,75,1,0,0,77,1,0,0,79,1,0,0,81,1,0,0,83,1,0,0,85,1,0,0,87,1,0,0,89,1,0,0,91,1,0,0,93,1,0,0,95,1,0,0,13,0,0,0,25,0,0,0,41,0,0,0,61,0,0,0,85,0,0,0,113,0,0,0,145,0,0,0,181,0,0,0,221,0,0,0,9,1,0,0,57,1,0,0,109,1,0,0,165,1,0,0,225,1,0,0,33,2,0,0,101,2,0,0,173,2,0,0,249,2,0,0,73,3,0,0,157,3,0,0,245,3,0,0,81,4,0,0,177,4,0,0,21,5,0,0,125,5,0,0,233,5,0,0,89,6,0,0,205,6,0,0,69,7,0,0,193,7,0,0,65,8,0,0,197,8,0,0,77,9,0,0,217,9,0,0,105,10,0,0,253,10,0,0,149,11,0,0,49,12,0,0,209,12,0,0,117,13,0,0,29,14,0,0,201,14,0,0,121,15,0,0,45,16,0,0,229,16,0,0,161,17,0,0,97,18,0,0,37,19,0,0,237,19,0,0,185,20,0,0,137,21,0,0,93,22,0,0,53,23,0,0,17,24,0,0,241,24,0,0,213,25,0,0,189,26,0,0,169,27,0,0,153,28,0,0,141,29,0,0,133,30,0,0,129,31,0,0,129,32,0,0,133,33,0,0,141,34,0,0,153,35,0,0,169,36,0,0,189,37,0,0,213,38,0,0,241,39,0,0,17,41,0,0,53,42,0,0,93,43,0,0,137,44,0,0,185,45,0,0,237,46,0,0,37,48,0,0,97,49,0,0,161,50,0,0,229,51,0,0,45,53,0,0,121,54,0,0,201,55,0,0,29,57,0,0,117,58,0,0,209,59,0,0,49,61,0,0,149,62,0,0,253,63,0,0,105,65,0,0,217,66,0,0,77,68,0,0,197,69,0,0,65,71,0,0,193,72,0,0,69,74,0,0,205,75,0,0,89,77,0,0,233,78,0,0,125,80,0,0,21,82,0,0,177,83,0,0,81,85,0,0,245,86,0,0,157,88,0,0,73,90,0,0,249,91,0,0,173,93,0,0,101,95,0,0,33,97,0,0,225,98,0,0,165,100,0,0,109,102,0,0,57,104,0,0,9,106,0,0,221,107,0,0,181,109,0,0,145,111,0,0,113,113,0,0,85,115,0,0,61,117,0,0,41,119,0,0,25,121,0,0,13,123,0,0,5,125,0,0,1,127,0,0,1,129,0,0,5,131,0,0,13,133,0,0,25,135,0,0,41,137,0,0,61,139,0,0,85,141,0,0,113,143,0,0,145,145,0,0,181,147,0,0,221,149,0,0,9,152,0,0,57,154,0,0,109,156,0,0,165,158,0,0,225,160,0,0,33,163,0,0,101,165,0,0,173,167,0,0,249,169,0,0,73,172,0,0,157,174,0,0,245,176,0,0,81,179,0,0,177,181,0,0,21,184,0,0,125,186,0,0,233,188,0,0,89,191,0,0,205,193,0,0,69,196,0,0,193,198,0,0,65,201,0,0,197,203,0,0,77,206,0,0,217,208,0,0,105,211,0,0,253,213,0,0,149,216,0,0,49,219,0,0,209,221,0,0,117,224,0,0,29,227,0,0,201,229,0,0,121,232,0,0,45,235,0,0,229,237,0,0,161,240,0,0,63,0,0,0,129,0,0,0,231,0,0,0,121,1,0,0,63,2,0,0,65,3,0,0,135,4,0,0,25,6,0,0,255,7,0,0,65,10,0,0,231,12,0,0,249,15,0,0,127,19,0,0,129,23,0,0,7,28,0,0,25,33,0,0,191,38,0,0,1,45,0,0,231,51,0,0,121,59,0,0,191,67,0,0,193,76,0,0,135,86,0,0,25,97,0,0,127,108,0,0,193,120,0,0,231,133,0,0,249,147,0,0,255,162,0,0,1,179,0,0,7,196,0,0,25,214,0,0,63,233,0,0,129,253,0,0,231,18,1,0,121,41,1,0,63,65,1,0,65,90,1,0,135,116,1,0,25,144,1,0,255,172,1,0,65,203,1,0,231,234,1,0,249,11,2,0,127,46,2,0,129,82,2,0,7,120,2,0,25,159,2,0,191,199,2,0,1,242,2,0,231,29,3,0,121,75,3,0,191,122,3,0,193,171,3,0,135,222,3,0,25,19,4,0,127,73,4,0,193,129,4,0,231,187,4,0,249,247,4,0,255,53,5,0,1,118,5,0,7,184,5,0,25,252,5,0,63,66,6,0,129,138,6,0,231,212,6,0,121,33,7,0,63,112,7,0,65,193,7,0,135,20,8,0,25,106,8,0,255,193,8,0,65,28,9,0,231,120,9,0,249,215,9,0,127,57,10,0,129,157,10,0,7,4,11,0,25,109,11,0,191,216,11,0,1,71,12,0,231,183,12,0,121,43,13,0,191,161,13,0,193,26,14,0,135,150,14,0,25,21,15,0,127,150,15,0,193,26,16,0,231,161,16,0,249,43,17,0,255,184,17,0,1,73,18,0,7,220,18,0,25,114,19,0,63,11,20,0,129,167,20,0,231,70,21,0,121,233,21,0,63,143,22,0,65,56,23,0,135,228,23,0,25,148,24,0,255,70,25,0,65,253,25,0,231,182,26,0,249,115,27,0,127,52,28,0,129,248,28,0,7,192,29,0,25,139,30,0,191,89,31,0,1,44,32,0,231,1,33,0,121,219,33,0,191,184,34,0,193,153,35,0,135,126,36,0,25,103,37,0,127,83,38,0,193,67,39,0,231,55,40,0,249,47,41,0,255,43,42,0,1,44,43,0,7,48,44,0,25,56,45,0,63,68,46,0,129,84,47,0,231,104,48,0,121,129,49,0,63,158,50,0,65,191,51,0,135,228,52,0,25,14,54,0,255,59,55,0,65,110,56,0,231,164,57,0,249,223,58,0,127,31,60,0,129,99,61,0,7,172,62,0,25,249,63,0,191,74,65,0,1,161,66,0,231,251,67,0,121,91,69,0,191,191,70,0,193,40,72,0,135,150,73,0,25,9,75,0,127,128,76,0,193,252,77,0,231,125,79,0,249,3,81,0,255,142,82,0,1,31,84,0,7,180,85,0,25,78,87,0,63,237,88,0,129,145,90,0,231,58,92,0,121,233,93,0,63,157,95,0,65,86,97,0,135,20,99,0,25,216,100,0,255,160,102,0,65,111,104,0,231,66,106,0,249,27,108,0,127,250,109,0,65,1,0,0,169,2,0,0,9,5,0,0,193,8,0,0,65,14,0,0,9,22,0,0,169,32,0,0,193,46,0,0,1,65,0,0,41,88,0,0,9,117,0,0,129,152,0,0,129,195,0,0,9,247,0,0,41,52,1,0,1,124,1,0,193,207,1,0,169,48,2,0,9,160,2,0,65,31,3,0,193,175,3,0,9,83,4,0,169,10,5,0,65,216,5,0,129,189,6,0,41,188,7,0,9,214,8,0,1,13,10,0,1,99,11,0,9,218,12,0,41,116,14,0,129,51,16,0,65,26,18,0,169,42,20,0,9,103,22,0,193,209,24,0,65,109,27,0,9,60,30,0,169,64,33,0,193,125,36,0,1,246,39,0,41,172,43,0,9,163,47,0,129,221,51,0,129,94,56,0,9,41,61,0,41,64,66,0,1,167,71,0,193,96,77,0,169,112,83,0,9,218,89,0,65,160,96,0,193,198,103,0,9,81,111,0,169,66,119,0,65,159,127,0,129,106,136,0,41,168,145,0,9,92,155,0,1,138,165,0,1,54,176,0,9,100,187,0,41,24,199,0,129,86,211,0,65,35,224,0,169,130,237,0,9,121,251,0,193,10,10,1,65,60,25,1,9,18,41,1,169,144,57,1,193,188,74,1,1,155,92,1,41,48,111,1,9,129,130,1,129,146,150,1,129,105,171,1,9,11,193,1,41,124,215,1,1,194,238,1,193,225,6,2,169,224,31,2,9,196,57,2,65,145,84,2,193,77,112,2,9,255,140,2,169,170,170,2,65,86,201,2,129,7,233,2,41,196,9,3,9,146,43,3,1,119,78,3,1,121,114,3,9,158,151,3,41,236,189,3,129,105,229,3,65,28,14,4,169,10,56,4,9,59,99,4,193,179,143,4,65,123,189,4,9,152,236,4,169,16,29,5,193,235,78,5,1,48,130,5,41,228,182,5,9,15,237,5,129,183,36,6,129,228,93,6,9,157,152,6,41,232,212,6,1,205,18,7,193,82,82,7,169,128,147,7,9,94,214,7,65,242,26,8,193,68,97,8,9,93,169,8,169,66,243,8,65,253,62,9,129,148,140,9,41,16,220,9,9,120,45,10,1,212,128,10,1,44,214,10,9,136,45,11,41,240,134,11,129,108,226,11,65,5,64,12,169,194,159,12,9,173,1,13,193,204,101,13,65,42,204,13,9,206,52,14,169,192,159,14,193,10,13,15,1,181,124,15,41,200,238,15,9,77,99,16,129,76,218,16,129,207,83,17,9,223,207,17,41,132,78,18,1,200,207,18,193,179,83,19,169,80,218,19,9,168,99,20,65,195,239,20,193,171,126,21,9,107,16,22,169,10,165,22,65,148,60,23,129,17,215,23,41,140,116,24,9,14,21,25,1,161,184,25,1,79,95,26,9,34,9,27,41,36,182,27,129,95,102,28,65,222,25,29,169,170,208,29,9,207,138,30,193,85,72,31,65,73,9,32,9,180,205,32,169,160,149,33,193,25,97,34,1,42,48,35,41,220,2,36,9,59,217,36,129,81,179,37,147,6,0,0,69,14,0,0,15,28,0,0,17,51,0,0,91,87,0,0,13,142,0,0,119,221,0,0,57,77,1,0,99,230,1,0,149,179,2,0,31,193,3,0,33,29,5,0,171,215,6,0,221,2,9,0,7,179,11,0,201,254,14,0,51,255,18,0,229,207,23,0,47,143,29,0,49,94,36,0,251,96,44,0,173,190,53,0,151,161,64,0,89,55,77,0,3,177,91,0,53,67,108,0,63,38,127,0,65,150,148,0,75,211,172,0,125,33,200,0,39,201,230,0,233,22,9,1,211,91,47,1,133,237,89,1,79,38,137,1,81,101,189,1,155,14,247,1,77,139,54,2,183,73,124,2,121,189,200,2,163,95,28,3,213,174,119,3,95,47,219,3,97,107,71,4,235,242,188,4,29,92,60,5,71,67,198,5,9,75,91,6,115,28,252,6,37,103,169,7,111,225,99,8,113,72,44,9,59,96,3,10,237,243,233,10,215,213,224,11,153,223,232,12,67,242,2,14,117,246,47,15,127,220,112,16,129,156,198,17,139,54,50,19,189,178,180,20,103,33,79,22,41,155,2,24,19,65,208,25,197,60,185,27,143,192,190,29,145,7,226,31,219,85,36,34,141,248,134,36,247,69,11,39,185,157,178,41,227,104,126,44,21,26,112,47,159,45,137,50,161,41,203,53,43,158,55,57,93,37,208,60,135,99,150,64,73,7,140,68,179,201,178,72,101,110,12,77,175,195,154,81,177,162,95,86,123,239,92,91,45,153,148,96,23,154,8,102,217,247,186,107,131,195,173,113,181,25,227,119,191,34,93,126,29,35,0,0,113,77,0,0,145,156,0,0,253,38,1,0,101,12,2,0,233,119,3,0,153,162,5,0,53,214,8,0,45,112,13,0,225,228,19,0,33,195,28,0,237,183,40,0,117,146,56,0,89,72,77,0,41,250,103,0,37,248,137,0,61,199,180,0,81,38,234,0,177,19,44,1,221,210,124,1,133,242,222,1,201,82,85,2,185,43,227,2,21,20,140,3,77,8,84,4,193,113,63,5,65,46,83,6,205,151,148,7,149,140,9,9,57,119,184,10,73,87,168,12,5,202,224,14,93,19,106,17,49,39,77,20,209,178,147,23,189,38,72,27,165,192,117,31,169,149,40,36,217,156,109,41,245,185,82,47,109,200,230,53,161,166,57,61,97,65,92,69,173,159,96,78,181,238,89,88,25,142,92,99,105,28,126,111,229,131,213,124,255,189,0,0,1,168,1,0,143,107,3,0,241,158,6,0,63,35,12,0,193,61,21,0,143,182,35,0,241,252,57,0,255,81,91,0,1,250,139,0,15,117,209,0,113,191,50,1,63,154,184,1,193,220,109,2,15,207,95,3,113,142,158,4,255,123,61,6,1,182,83,8,143,156,252,10,241,97,88,14,63,167,140,18,193,37,197,23,143,101,52,30,241,129,20,38,255,251,167,47,1,156,58,59,15,98,34,73,113,134,192,89,63,138,130,109,193,88,227,132,1,14,4,0,145,33,9,0,17,44,19,0,65,238,37,0,65,79,71,0,145,67,128,0,17,247,221,0,1,70,115,1,1,146,90,2,17,1,184,3,145,53,188,5,65,143,167,8,65,6,206,12,17,178,155,18,145,15,154,26,1,26,118,37,1,76,7,52,145,158,87,71,17,157,172,96,65,166,145,129,35,81,22,0,197,158,50,0,23,185,107,0,153,246,216,0,107,137,160,1,13,196,254,2,31,1,80,5,33,217,29,9,51,108,48,15,213,162,164,24,167,103,8,39,41,253,125,60,123,181,231,91,29,119,29,137,175,160,45,201,173,142,123,0,137,230,25,1,57,150,94,2,61,22,216,4,181,99,119,9,225,40,198,17,33,3,52,32,117,72,130,56,125,87,87,96,191,91,175,2,129,216,39,6,247,132,94,13,233,254,173,27,127,139,235,54,129,183,229,104,23,3,156,193,193,12,255,14,57,106,133,34,25,238,145,75,129,120,43,158,51,225,9,84,149,139,0,0,55,152,0,0,255,165,0,0,4,181,0,0,103,197,0,0,69,215,0,0,193,234,0,0,255,255,0,0,140,37,0,0,128,187,0,0,120,0,0,0,21,0,0,0,21,0,0,0,0,154,89,63,0,0,0,0,0,0,128,63,0,0,128,63,16,105,0,0,3,0,0,0,8,0,0,0,120,0,0,0,11,0,0,0,29,117,0,0,60,105,0,0,248,37,0,0,128,7,0,0,3,0,0,0,216,39,0,0,12,40,0,0,64,40,0,0,116,40,0,0,168,40,0,0,136,1,0,0,102,105,0,0,4,118,0,0,140,119,0,0,106,28,141,56,82,187,30,58,8,105,220,58,130,237,87,59,137,99,178,59,3,42,5,60,48,220,57,60,180,62,119,60,28,163,158,60,209,242,197,60,254,134,241,60,155,171,16,61,5,173,42,61,132,194,70,61,83,230,100,61,17,137,130,61,135,159,147,61,203,178,165,61,209,190,184,61,58,191,204,61,84,175,225,61,20,138,247,61,14,37,7,62,217,244,18,62,95,49,31,62,104,215,43,62,138,227,56,62,48,82,70,62,148,31,84,62,191,71,98,62,142,198,112,62,176,151,127,62,82,91,135,62,96,15,143,62,152,229,150,62,121,219,158,62,112,238,166,62,216,27,175,62,251,96,183,62,17,187,191,62,70,39,200,62,183,162,208,62,120,42,217,62,148,187,225,62,12,83,234,62,222,237,242,62,6,137,251,62,190,16,2,63,31,90,6,63,36,159,10,63,80,222,14,63,43,22,19,63,65,69,23,63,37,106,27,63,115,131,31,63,206,143,35,63,230,141,39,63,116,124,43,63,63,90,47,63,25,38,51,63,231,222,54,63,153,131,58,63,51,19,62,63,197,140,65,63,119,239,68,63,127,58,72,63,39,109,75,63,206,134,78,63,229,134,81,63,241,108,84,63,142,56,87,63,105,233,89,63,69,127,92,63,250,249,94,63,115,89,97,63,175,157,99,63,193,198,101,63,207,212,103,63,17,200,105,63,210,160,107,63,110,95,109,63,80,4,111,63,244,143,112,63,230,2,114,63,189,93,115,63,31,161,116,63,191,205,117,63,87,228,118,63,176,229,119,63,151,210,120,63,227,171,121,63,115,114,122,63,39,39,123,63,231,202,123,63,157,94,124,63,53,227,124,63,156,89,125,63,189,194,125,63,134,31,126,63,222,112,126,63,171,183,126,63,207,244,126,63,38,41,127,63,134,85,127,63,190,122,127,63,150,153,127,63,204,178,127,63,20,199,127,63,28,215,127,63,130,227,127,63,221,236,127,63,182,243,127,63,138,248,127,63,200,251,127,63,214,253,127,63,7,255,127,63,165,255,127,63,232,255,127,63,253,255,127,63,0,0,128,63,224,1,0,0,135,136,8,59,255,255,255,255,5,0,96,0,3,0,32,0,4,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,109],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([200,68,0,0,240,0,0,0,137,136,136,59,1,0,0,0,5,0,48,0,3,0,16,0,4,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,0,0,200,68,0,0,120,0,0,0,136,136,8,60,2,0,0,0,5,0,24,0,3,0,8,0,2,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,106,0,0,200,68,0,0,60,0,0,0,137,136,136,60,3,0,0,0,5,0,12,0,3,0,4,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,106,0,0,200,68,0,0,255,255,127,63,142,255,127,63,106,254,127,63,147,252,127,63,7,250,127,63,200,246,127,63,214,242,127,63,48,238,127,63,214,232,127,63,200,226,127,63,7,220,127,63,147,212,127,63,107,204,127,63,143,195,127,63,0,186,127,63,189,175,127,63,199,164,127,63,29,153,127,63,192,140,127,63,176,127,127,63,236,113,127,63,118,99,127,63,75,84,127,63,110,68,127,63,222,51,127,63,154,34,127,63,163,16,127,63,250,253,126,63,157,234,126,63,141,214,126,63,203,193,126,63,86,172,126,63,46,150,126,63,83,127,126,63,198,103,126,63,134,79,126,63,148,54,126,63,239,28,126,63,152,2,126,63,143,231,125,63,211,203,125,63,102,175,125,63,70,146,125,63,116,116,125,63,241,85,125,63,188,54,125,63,213,22,125,63,60,246,124,63,242,212,124,63,246,178,124,63,73,144,124,63,235,108,124,63,219,72,124,63,27,36,124,63,169,254,123,63,135,216,123,63,180,177,123,63,48,138,123,63,252,97,123,63,23,57,123,63,130,15,123,63,61,229,122,63,72,186,122,63,162,142,122,63,77,98,122,63,72,53,122,63,148,7,122,63,48,217,121,63,29,170,121,63,90,122,121,63,233,73,121,63,200,24,121,63,249,230,120,63,123,180,120,63,78,129,120,63,115,77,120,63,234,24,120,63,178,227,119,63,205,173,119,63,58,119,119,63,249,63,119,63,10,8,119,63,110,207,118,63,37,150,118,63,47,92,118,63,140,33,118,63,60,230,117,63,64,170,117,63,151,109,117,63,66,48,117,63,65,242,116,63,148,179,116,63,59,116,116,63,55,52,116,63,135,243,115,63,44,178,115,63,38,112,115,63,118,45,115,63,26,234,114,63,20,166,114,63,100,97,114,63,10,28,114,63,5,214,113,63,87,143,113,63,0,72,113,63,255,255,112,63,85,183,112,63,2,110,112,63,6,36,112,63,98,217,111,63,21,142,111,63,32,66,111,63,132,245,110,63,63,168,110,63,83,90,110,63,192,11,110,63,134,188,109,63,165,108,109,63,29,28,109,63,239,202,108,63,27,121,108,63,161,38,108,63,128,211,107,63,187,127,107,63,80,43,107,63,64,214,106,63,140,128,106,63,50,42,106,63,53,211,105,63,147,123,105,63,77,35,105,63,100,202,104,63,216,112,104,63,168,22,104,63,213,187,103,63,96,96,103,63,72,4,103,63,143,167,102,63,51,74,102,63,54,236,101,63,151,141,101,63,87,46,101,63,119,206,100,63,245,109,100,63,212,12,100,63,18,171,99,63,177,72,99,63,176,229,98,63,16,130,98,63,209,29,98,63,243,184,97,63,119,83,97,63,92,237,96,63,164,134,96,63,78,31,96,63,91,183,95,63,203,78,95,63,158,229,94,63,213,123,94,63,112,17,94,63,110,166,93,63,210,58,93,63,154,206,92,63,198,97,92,63,89,244,91,63,81,134,91,63,174,23,91,63,114,168,90,63,157,56,90,63,46,200,89,63,39,87,89,63,135,229,88,63,79,115,88,63,127,0,88,63,23,141,87,63,24,25,87,63,130,164,86,63,86,47,86,63,147,185,85,63,58,67,85,63,75,204,84,63,199,84,84,63,174,220,83,63,1,100,83,63,191,234,82,63,233,112,82,63,127,246,81,63,130,123,81,63,242,255,80,63,207,131,80,63,26,7,80,63,210,137,79,63,250,11,79,63,144,141,78,63,148,14,78,63,9,143,77,63,237,14,77,63,65,142,76,63,5,13,76,63,59,139,75,63,225,8,75,63,249,133,74,63,131,2,74,63,127,126,73,63,238,249,72,63,207,116,72,63,36,239,71,63,237,104,71,63,41,226,70,63,218,90,70,63,0,211,69,63,155,74,69,63,172,193,68,63,50,56,68,63,47,174,67,63,162,35,67,63,141,152,66,63,239,12,66,63,200,128,65,63,26,244,64,63,229,102,64,63,40,217,63,63,229,74,63,63,27,188,62,63,204,44,62,63,247,156,61,63,157,12,61,63,190,123,60,63,92,234,59,63,117,88,59,63,10,198,58,63,29,51,58,63,173,159,57,63,187,11,57,63,71,119,56,63,81,226,55,63,218,76,55,63,227,182,54,63,107,32,54,63,116,137,53,63,253,241,52,63,7,90,52,63,147,193,51,63,160,40,51,63,48,143,50,63,66,245,49,63,216,90,49,63,241,191,48,63,142,36,48,63,175,136,47,63,85,236,46,63,129,79,46,63,50,178,45,63,105,20,45,63,39,118,44,63,107,215,43,63,55,56,43,63,139,152,42,63,103,248,41,63,204,87,41,63,186,182,40,63,50,21,40,63,51,115,39,63,191,208,38,63,214,45,38,63,121,138,37,63,167,230,36,63,97,66,36,63,169,157,35,63,125,248,34,63,223,82,34,63,207,172,33,63,77,6,33,63,91,95,32,63,248,183,31,63,37,16,31,63,226,103,30,63,48,191,29,63,16,22,29,63,129,108,28,63,132,194,27,63,26,24,27,63,67,109,26,63,0,194,25,63,81,22,25,63,54,106,24,63,177,189,23,63,193,16,23,63,103,99,22,63,163,181,21,63,118,7,21,63,225,88,20,63,228,169,19,63,127,250,18,63,179,74,18,63,128,154,17,63,231,233,16,63,232,56,16,63,132,135,15,63,187,213,14,63,142,35,14,63,254,112,13,63,10,190,12,63,179,10,12,63,250,86,11,63,223,162,10,63,99,238,9,63,134,57,9,63,73,132,8,63,172,206,7,63,175,24,7,63,84,98,6,63,155,171,5,63,131,244,4,63,15,61,4,63,61,133,3,63,15,205,2,63,134,20,2,63,161,91,1,63,97,162,0,63,143,209,255,62,167,93,254,62,14,233,252,62,194,115,251,62,198,253,249,62,27,135,248,62,193,15,247,62,186,151,245,62,6,31,244,62,168,165,242,62,158,43,241,62,236,176,239,62,145,53,238,62,144,185,236,62,232,60,235,62,154,191,233,62,169,65,232,62,21,195,230,62,223,67,229,62,8,196,227,62,145,67,226,62,124,194,224,62,200,64,223,62,120,190,221,62,140,59,220,62,6,184,218,62,230,51,217,62,46,175,215,62,223,41,214,62,249,163,212,62,125,29,211,62,110,150,209,62,204,14,208,62,151,134,206,62,210,253,204,62,125,116,203,62,153,234,201,62,39,96,200,62,40,213,198,62,159,73,197,62,138,189,195,62,236,48,194,62,198,163,192,62,25,22,191,62,230,135,189,62,45,249,187,62,241,105,186,62,50,218,184,62,241,73,183,62,47,185,181,62,238,39,180,62,47,150,178,62,242,3,177,62,57,113,175,62,4,222,173,62,86,74,172,62,47,182,170,62,144,33,169,62,122,140,167,62,239,246,165,62,239,96,164,62,124,202,162,62,151,51,161,62,64,156,159,62,122,4,158,62,68,108,156,62,161,211,154,62,145,58,153,62,22,161,151,62,48,7,150,62,225,108,148,62,41,210,146,62,11,55,145,62,135,155,143,62,158,255,141,62,81,99,140,62,162,198,138,62,145,41,137,62,32,140,135,62,80,238,133,62,34,80,132,62,151,177,130,62,176,18,129,62,222,230,126,62,169,167,123,62,195,103,120,62,47,39,117,62,238,229,113,62,4,164,110,62,115,97,107,62,60,30,104,62,98,218,100,62,232,149,97,62,207,80,94,62,26,11,91,62,204,196,87,62,230,125,84,62,107,54,81,62,93,238,77,62,191,165,74,62,146,92,71,62,218,18,68,62,151,200,64,62,206,125,61,62,128,50,58,62,174,230,54,62,93,154,51,62,141,77,48,62,66,0,45,62,125,178,41,62,66,100,38,62,145,21,35,62,110,198,31,62,219,118,28,62,218,38,25,62,109,214,21,62,152,133,18,62,91,52,15,62,186,226,11,62,183,144,8,62,84,62,5,62,148,235,1,62,240,48,253,61,6,138,246,61,113,226,239,61,51,58,233,61,79,145,226,61,207,231,219,61,181,61,213,61,3,147,206,61,192,231,199,61,242,59,193,61,156,143,186,61,195,226,179,61,108,53,173,61,155,135,166,61,85,217,159,61,159,42,153,61,126,123,146,61,246,203,139,61,11,28,133,61,135,215,124,61,70,118,111,61,93,20,98,61,214,177,84,61,185,78,71,61,16,235,57,61,229,134,44,61,64,34,31,61,44,189,17,61,178,87,4,61,181,227,237,60,96,23,211,60,118,74,184,60,11,125,157,60,50,175,130,60,250,193,79,60,254,36,26,60,42,15,201,59,153,167,59,59,46,125,214,185,210,70,113,187,171,222,227,187,166,140,39,188,129,41,93,188,225,98,137,188,160,48,164,188,236,253,190,188,179,202,217,188,224,150,244,188,49,177,7,189,147,22,21,189,140,123,34,189,19,224,47,189,30,68,61,189,165,167,74,189,157,10,88,189,254,108,101,189,190,206,114,189,234,23,128,189,27,200,134,189,237,119,141,189,92,39,148,189,99,214,154,189,253,132,161,189,38,51,168,189,217,224,174,189,17,142,181,189,202,58,188,189,254,230,194,189,170,146,201,189,200,61,208,189,84,232,214,189,74,146,221,189,164,59,228,189,93,228,234,189,114,140,241,189,221,51,248,189,154,218,254,189,82,192,2,190,252,18,6,190,71,101,9,190,50,183,12,190,186,8,16,190,221,89,19,190,152,170,22,190,234,250,25,190,208,74,29,190,71,154,32,190,78,233,35,190,225,55,39,190,0,134,42,190,166,211,45,190,211,32,49,190,131,109,52,190,181,185,55,190,101,5,59,190,147,80,62,190,58,155,65,190,90,229,68,190,240,46,72,190,249,119,75,190,116,192,78,190,93,8,82,190,179,79,85,190,115,150,88,190,156,220,91,190,42,34,95,190,27,103,98,190,109,171,101,190,31,239,104,190,44,50,108,190,148,116,111,190,84,182,114,190,106,247,117,190,211,55,121,190,141,119,124,190,150,182,127,190,117,122,129,190,69,25,131,190,185,183,132,190,208,85,134,190,136,243,135,190,225,144,137,190,218,45,139,190,112,202,140,190,164,102,142,190,116,2,144,190,223,157,145,190,228,56,147,190,129,211,148,190,182,109,150,190,129,7,152,190,226,160,153,190,215,57,155,190,95,210,156,190,121,106,158,190,35,2,160,190,94,153,161,190,38,48,163,190,125,198,164,190,96,92,166,190,206,241,167,190,198,134,169,190,71,27,171,190,80,175,172,190,224,66,174,190,245,213,175,190,143,104,177,190,173,250,178,190,77,140,180,190,110,29,182,190,16,174,183,190,48,62,185,190,207,205,186,190,234,92,188,190,130,235,189,190,148,121,191,190,31,7,193,190,35,148,194,190,159,32,196,190,145,172,197,190,248,55,199,190,211,194,200,190,34,77,202,190,226,214,203,190,19,96,205,190,181,232,206,190,197,112,208,190,66,248,209,190,45,127,211,190,131,5,213,190,67,139,214,190,109,16,216,190,255,148,217,190,249,24,219,190,89,156,220,190,29,31,222,190,70,161,223,190,211,34,225,190,193,163,226,190,16,36,228,190,190,163,229,190,204,34,231,190,56,161,232,190,0,31,234,190,36,156,235,190,162,24,237,190,122,148,238,190,171,15,240,190,51,138,241,190,18,4,243,190,70,125,244,190,207,245,245,190,170,109,247,190,217,228,248,190,88,91,250,190,40,209,251,190,71,70,253,190,181,186,254,190,56,23,0,191,187,208,0,191,228,137,1,191,178,66,2,191,37,251,2,191,59,179,3,191,246,106,4,191,83,34,5,191,83,217,5,191,245,143,6,191,56,70,7,191,29,252,7,191,162,177,8,191,199,102,9,191,140,27,10,191,240,207,10,191,243,131,11,191,147,55,12,191,209,234,12,191,172,157,13,191,36,80,14,191,56,2,15,191,232,179,15,191,50,101,16,191,24,22,17,191,151,198,17,191,176,118,18,191,99,38,19,191,174,213,19,191,145,132,20,191,13,51,21,191,31,225,21,191,200,142,22,191,8,60,23,191,221,232,23,191,72,149,24,191,72,65,25,191,220,236,25,191,4,152,26,191,192,66,27,191,15,237,27,191,240,150,28,191,99,64,29,191,104,233,29,191,254,145,30,191,37,58,31,191,220,225,31,191,35,137,32,191,250,47,33,191,95,214,33,191,82,124,34,191,212,33,35,191,227,198,35,191,127,107,36,191,167,15,37,191,92,179,37,191,157,86,38,191,104,249,38,191,191,155,39,191,160,61,40,191,11,223,40,191,255,127,41,191,125,32,42,191,131,192,42,191,17,96,43,191,39,255,43,191,196,157,44,191,232,59,45,191,146,217,45,191,195,118,46,191,121,19,47,191,180,175,47,191,115,75,48,191,183,230,48,191,127,129,49,191,203,27,50,191,153,181,50,191,234,78,51,191,189,231,51,191,18,128,52,191,232,23,53,191,63,175,53,191,22,70,54,191,110,220,54,191,69,114,55,191,156,7,56,191,113,156,56,191,197,48,57,191,150,196,57,191,230,87,58,191,178,234,58,191,252,124,59,191,194,14,60,191,3,160,60,191,193,48,61,191,250,192,61,191,173,80,62,191,219,223,62,191,131,110,63,191,165,252,63,191,64,138,64,191,83,23,65,191,224,163,65,191,228,47,66,191,96,187,66,191,83,70,67,191,190,208,67,191,158,90,68,191,246,227,68,191,194,108,69,191,5,245,69,191,188,124,70,191,232,3,71,191,137,138,71,191,157,16,72,191,37,150,72,191,32,27,73,191,142,159,73,191,111,35,74,191,193,166,74,191,134,41,75,191,188,171,75,191,99,45,76,191,122,174,76,191,2,47,77,191,250,174,77,191,98,46,78,191,57,173,78,191,126,43,79,191,51,169,79,191,85,38,80,191,230,162,80,191,228,30,81,191,80,154,81,191,40,21,82,191,109,143,82,191,30,9,83,191,59,130,83,191,195,250,83,191,183,114,84,191,22,234,84,191,223,96,85,191,18,215,85,191,176,76,86,191,183,193,86,191,39,54,87,191,0,170,87,191,66,29,88,191,236,143,88,191,254,1,89,191,120,115,89,191,89,228,89,191,162,84,90,191,81,196,90,191,102,51,91,191,226,161,91,191,195,15,92,191,10,125,92,191,183,233,92,191,200,85,93,191,62,193,93,191,24,44,94,191,87,150,94,191,249,255,94,191,255,104,95,191,104,209,95,191,51,57,96,191,98,160,96,191,243,6,97,191,229,108,97,191,58,210,97,191,240,54,98,191,8,155,98,191,128,254,98,191,89,97,99,191,146,195,99,191,44,37,100,191,37,134,100,191,126,230,100,191,55,70,101,191,78,165,101,191,197,3,102,191,154,97,102,191,205,190,102,191,94,27,103,191,77,119,103,191,154,210,103,191,68,45,104,191,75,135,104,191,174,224,104,191,111,57,105,191,139,145,105,191,4,233,105,191,217,63,106,191,9,150,106,191,148,235,106,191,123,64,107,191,188,148,107,191,89,232,107,191,79,59,108,191,160,141,108,191,75,223,108,191,79,48,109,191,173,128,109,191,101,208,109,191,117,31,110,191,223,109,110,191,161,187,110,191,187,8,111,191,46,85,111,191,248,160,111,191,27,236,111,191,149,54,112,191,103,128,112,191,144,201,112,191,15,18,113,191,230,89,113,191,19,161,113,191,151,231,113,191,113,45,114,191,160,114,114,191,38,183,114,191,1,251,114,191,50,62,115,191,184,128,115,191,148,194,115,191,196,3,116,191,73,68,116,191,34,132,116,191,80,195,116,191,210,1,117,191,168,63,117,191,210,124,117,191,80,185,117,191,33,245,117,191,69,48,118,191,189,106,118,191,136,164,118,191,166,221,118,191,22,22,119,191,217,77,119,191,239,132,119,191,87,187,119,191,17,241,119,191,29,38,120,191,122,90,120,191,42,142,120,191,43,193,120,191,125,243,120,191,33,37,121,191,22,86,121,191,92,134,121,191,242,181,121,191,218,228,121,191,18,19,122,191,154,64,122,191,115,109,122,191,157,153,122,191,22,197,122,191,223,239,122,191,248,25,123,191,97,67,123,191,26,108,123,191,34,148,123,191,122,187,123,191,32,226,123,191,23,8,124,191,92,45,124,191,240,81,124,191,211,117,124,191,5,153,124,191,134,187,124,191,85,221,124,191,115,254,124,191,223,30,125,191,154,62,125,191,163,93,125,191,250,123,125,191,159,153,125,191,146,182,125,191,211,210,125,191,98,238,125,191,63,9,126,191,105,35,126,191,225,60,126,191,167,85,126,191,186,109,126,191,27,133,126,191,201,155,126,191,196,177,126,191,13,199,126,191,162,219,126,191,133,239,126,191,181,2,127,191,50,21,127,191,252,38,127,191,19,56,127,191,118,72,127,191,39,88,127,191,36,103,127,191,110,117,127,191,5,131,127,191,232,143,127,191,25,156,127,191,149,167,127,191,95,178,127,191,116,188,127,191,215,197,127,191,133,206,127,191,129,214,127,191,200,221,127,191,93,228,127,191,61,234,127,191,106,239,127,191,227,243,127,191,169,247,127,191,187,250,127,191,25,253,127,191,196,254,127,191,187,255,127,191,250,255,127,63,57,254,127,63,169,249,127,63,75,242,127,63,30,232,127,63,35,219,127,63,89,203,127,63,193,184,127,63,91,163,127,63,40,139,127,63,39,112,127,63,90,82,127,63,191,49,127,63,88,14,127,63,37,232,126,63,38,191,126,63,92,147,126,63,200,100,126,63,105,51,126,63,65,255,125,63,79,200,125,63,150,142,125,63,20,82,125,63,203,18,125,63,188,208,124,63,231,139,124,63,77,68,124,63,239,249,123,63,205,172,123,63,233,92,123,63,67,10,123,63,221,180,122,63,182,92,122,63,209,1,122,63,46,164,121,63,206,67,121,63,178,224,120,63,220,122,120,63,76,18,120,63,4,167,119,63,4,57,119,63,79,200,118,63,228,84,118,63,198,222,117,63,246,101,117,63,117,234,116,63,68,108,116,63,101,235,115,63,218,103,115,63,163,225,114,63,194,88,114,63,57,205,113,63,9,63,113,63,52,174,112,63,187,26,112,63,160,132,111,63,228,235,110,63,138,80,110,63,147,178,109,63,1,18,109,63,213,110,108,63,17,201,107,63,183,32,107,63,201,117,106,63,73,200,105,63,57,24,105,63,155,101,104,63,111,176,103,63,186,248,102,63,124,62,102,63,184,129,101,63,111,194,100,63,164,0,100,63,90,60,99,63,145,117,98,63,76,172,97,63,142,224,96,63,89,18,96,63,174,65,95,63,145,110,94,63,3,153,93,63,8,193,92,63,160,230,91,63,207,9,91,63,152,42,90,63,251,72,89,63,253,100,88,63,159,126,87,63,229,149,86,63,208,170,85,63,99,189,84,63,161,205,83,63,140,219,82,63,39,231,81,63,117,240,80,63,121,247,79,63,52,252,78,63,171,254,77,63,223,254,76,63,212,252,75,63,140,248,74,63,10,242,73,63,82,233,72,63,101,222,71,63,71,209,70,63,251,193,69,63,132,176,68,63,229,156,67,63,32,135,66,63,58,111,65,63,52,85,64,63,19,57,63,63,216,26,62,63,136,250,60,63,38,216,59,63,180,179,58,63,54,141,57,63,175,100,56,63,34,58,55,63,147,13,54,63,5,223,52,63,124,174,51,63,249,123,50,63,130,71,49,63,25,17,48,63,194,216,46,63,127,158,45,63,86,98,44,63,72,36,43,63,90,228,41,63,144,162,40,63,235,94,39,63,113,25,38,63,37,210,36,63,9,137,35,63,35,62,34,63,117,241,32,63,4,163,31,63,210,82,30,63,228,0,29,63,61,173,27,63,225,87,26,63,211,0,25,63,25,168,23,63,180,77,22,63,170,241,20,63,253,147,19,63,178,52,18,63,204,211,16,63,80,113,15,63,66,13,14,63,164,167,12,63,124,64,11,63,205,215,9,63,154,109,8,63,233,1,7,63,189,148,5,63,25,38,4,63,3,182,2,63,126,68,1,63,28,163,255,62,110,186,252,62,250,206,249,62,202,224,246,62,228,239,243,62,81,252,240,62,26,6,238,62,71,13,235,62,224,17,232,62,237,19,229,62,119,19,226,62,135,16,223,62,36,11,220,62,88,3,217,62,42,249,213,62,164,236,210,62,205,221,207,62,175,204,204,62,82,185,201,62,191,163,198,62,254,139,195,62,24,114,192,62,22,86,189,62,0,56,186,62,224,23,183,62,189,245,179,62,161,209,176,62,149,171,173,62,162,131,170,62,207,89,167,62,39,46,164,62,178,0,161,62,121,209,157,62,133,160,154,62,223,109,151,62,143,57,148,62,160,3,145,62,26,204,141,62,5,147,138,62,107,88,135,62,86,28,132,62,205,222,128,62,182,63,123,62,16,191,116,62,187,59,110,62,201,181,103,62,77,45,97,62,89,162,90,62,255,20,84,62,81,133,77,62,99,243,70,62,70,95,64,62,13,201,57,62,202,48,51,62,144,150,44,62,114,250,37,62,130,92,31,62,210,188,24,62,118,27,18,62,127,120,11,62,1,212,4,62,29,92,252,61,114,13,239,61,41,188,225,61,102,104,212,61,78,18,199,61,8,186,185,61,184,95,172,61,132,3,159,61,146,165,145,61,7,70,132,61,18,202,109,61,122,5,83,61,145,62,56,61,164,117,29,61,252,170,2,61,202,189,207,60,86,35,154,60,97,14,73,60,197,167,187,59,61,122,86,186,9,70,241,187,18,221,99,188,80,138,167,188,65,36,221,188,227,93,9,189,35,40,36,189,150,240,62,189,242,182,89,189,234,122,116,189,26,158,135,189,66,253,148,189,200,90,162,189,134,182,175,189,87,16,189,189,22,104,202,189,155,189,215,189,195,16,229,189,105,97,242,189,101,175,255,189,74,125,6,190,104,33,13,190,250,195,19,190,237,100,26,190,46,4,33,190,172,161,39,190,83,61,46,190,16,215,52,190,210,110,59,190,134,4,66,190,25,152,72,190,121,41,79,190,148,184,85,190,86,69,92,190,174,207,98,190,137,87,105,190,214,220,111,190,128,95,118,190,120,223,124,190,84,174,129,190,129,235,132,190,56,39,136,190,114,97,139,190,36,154,142,190,69,209,145,190,205,6,149,190,179,58,152,190,238,108,155,190,116,157,158,190,61,204,161,190,64,249,164,190,115,36,168,190,207,77,171,190,73,117,174,190,218,154,177,190,120,190,180,190,27,224,183,190,186,255,186,190,75,29,190,190,199,56,193,190,37,82,196,190,91,105,199,190,97,126,202,190,48,145,205,190,188,161,208,190,0,176,211,190,241,187,214,190,135,197,217,190,186,204,220,190,129,209,223,190,211,211,226,190,169,211,229,190,250,208,232,190,189,203,235,190,234,195,238,190,120,185,241,190,96,172,244,190,154,156,247,190,28,138,250,190,223,116,253,190,109,46,0,191,3,161,1,191,45,18,3,191,230,129,4,191,44,240,5,191,250,92,7,191,76,200,8,191,30,50,10,191,108,154,11,191,50,1,13,191,108,102,14,191,23,202,15,191,45,44,17,191,172,140,18,191,144,235,19,191,213,72,21,191,118,164,22,191,113,254,23,191,192,86,25,191,98,173,26,191,81,2,28,191,138,85,29,191,9,167,30,191,203,246,31,191,204,68,33,191,9,145,34,191,124,219,35,191,36,36,37,191,253,106,38,191,2,176,39,191,48,243,40,191,132,52,42,191,250,115,43,191,143,177,44,191,63,237,45,191,7,39,47,191,227,94,48,191,208,148,49,191,202,200,50,191,206,250,51,191,218,42,53,191,232,88,54,191,247,132,55,191,2,175,56,191,7,215,57,191,3,253,58,191,241,32,60,191,207,66,61,191,154,98,62,191,79,128,63,191,233,155,64,191,104,181,65,191,198,204,66,191,1,226,67,191,23,245,68,191,3,6,70,191,196,20,71,191,86,33,72,191,182,43,73,191,225,51,74,191,212,57,75,191,141,61,76,191,9,63,77,191,68,62,78,191,61,59,79,191,240,53,80,191,90,46,81,191,121,36,82,191,74,24,83,191,202,9,84,191,247,248,84,191,206,229,85,191,77,208,86,191,112,184,87,191,55,158,88,191,156,129,89,191,160,98,90,191,62,65,91,191,117,29,92,191,65,247,92,191,162,206,93,191,148,163,94,191,20,118,95,191,34,70,96,191,186,19,97,191,217,222,97,191,127,167,98,191,169,109,99,191,84,49,100,191,126,242,100,191,38,177,101,191,73,109,102,191,229,38,103,191,248,221,103,191,128,146,104,191,123,68,105,191,232,243,105,191,195,160,106,191,12,75,107,191,192,242,107,191,222,151,108,191,100,58,109,191,80,218,109,191,160,119,110,191,83,18,111,191,102,170,111,191,217,63,112,191,169,210,112,191,213,98,113,191,91,240,113,191,58,123,114,191,113,3,115,191,253,136,115,191,222,11,116,191,17,140,116,191,150,9,117,191,107,132,117,191,143,252,117,191,0,114,118,191,189,228,118,191,198,84,119,191,24,194,119,191,178,44,120,191,147,148,120,191,187,249,120,191,40,92,121,191,217,187,121,191,205,24,122,191,2,115,122,191,121,202,122,191,47,31,123,191,36,113,123,191,88,192,123,191,201,12,124,191,118,86,124,191,95,157,124,191,130,225,124,191,224,34,125,191,119,97,125,191,71,157,125,191,79,214,125,191,142,12,126,191,4,64,126,191,176,112,126,191,146,158,126,191,169,201,126,191,245,241,126,191,117,23,127,191,41,58,127,191,16,90,127,191,43,119,127,191,120,145,127,191,248,168,127,191,170,189,127,191,143,207,127,191,165,222,127,191,237,234,127,191,102,244,127,191,17,251,127,191,237,254,127,191,234,255,127,63,229,248,127,63,166,230,127,63,45,201,127,63,124,160,127,63,149,108,127,63,121,45,127,63,44,227,126,63,177,141,126,63,11,45,126,63,63,193,125,63,82,74,125,63,72,200,124,63,40,59,124,63,247,162,123,63,189,255,122,63,128,81,122,63,72,152,121,63,30,212,120,63,9,5,120,63,19,43,119,63,70,70,118,63,172,86,117,63,78,92,116,63,56,87,115,63,118,71,114,63,19,45,113,63,28,8,112,63,158,216,110,63,165,158,109,63,64,90,108,63,126,11,107,63,107,178,105,63,25,79,104,63,150,225,102,63,242,105,101,63,62,232,99,63,139,92,98,63,234,198,96,63,109,39,95,63,38,126,93,63,40,203,91,63,133,14,90,63,83,72,88,63,163,120,86,63,139,159,84,63,32,189,82,63,118,209,80,63,163,220,78,63,189,222,76,63,219,215,74,63,19,200,72,63,124,175,70,63,46,142,68,63,65,100,66,63,206,49,64,63,236,246,61,63,180,179,59,63,66,104,57,63,173,20,55,63,16,185,52,63,134,85,50,63,41,234,47,63,21,119,45,63,101,252,42,63,53,122,40,63,161,240,37,63,198,95,35,63,192,199,32,63,172,40,30,63,169,130,27,63,212,213,24,63,74,34,22,63,42,104,19,63,147,167,16,63,164,224,13,63,123,19,11,63,57,64,8,63,253,102,5,63,231,135,2,63,45,70,255,62,91,113,249,62,151,145,243,62,36,167,237,62,69,178,231,62,60,179,225,62,76,170,219,62,186,151,213,62,201,123,207,62,190,86,201,62,223,40,195,62,112,242,188,62,183,179,182,62,251,108,176,62,129,30,170,62,146,200,163,62,115,107,157,62,108,7,151,62,197,156,144,62,199,43,138,62,185,180,131,62,199,111,122,62,33,107,109,62,17,92,96,62,41,67,83,62,253,32,70,62,32,246,56,62,38,195,43,62,164,136,30,62,45,71,17,62,87,255,3,62,110,99,237,61,194,189,210,61,218,14,184,61,222,87,157,61,251,153,130,61,188,172,79,61,101,28,26,61,153,10,201,60,42,167,59,60,193,120,214,186,45,68,113,188,87,215,227,188,76,129,39,189,148,15,93,189,21,74,137,189,90,6,164,189,109,187,190,189,34,104,217,189,78,11,244,189,227,81,7,190,47,152,20,190,247,215,33,190,165,16,47,190,166,65,60,190,100,106,73,190,77,138,86,190,205,160,99,190,80,173,112,190,69,175,125,190,13,83,133,190,158,200,139,190,13,56,146,190,18,161,152,190,102,3,159,190,191,94,165,190,216,178,171,190,105,255,177,190,43,68,184,190,216,128,190,190,42,181,196,190,219,224,202,190,165,3,209,190,69,29,215,190,117,45,221,190,241,51,227,190,118,48,233,190,192,34,239,190,141,10,245,190,155,231,250,190,211,92,0,191,56,64,3,191,219,29,6,191,155,245,8,191,90,199,11,191,247,146,14,191,84,88,17,191,80,23,20,191,205,207,22,191,172,129,25,191,208,44,28,191,26,209,30,191,109,110,33,191,171,4,36,191,183,147,38,191,116,27,41,191,199,155,43,191,147,20,46,191,187,133,48,191,38,239,50,191,183,80,53,191,85,170,55,191,227,251,57,191,74,69,60,191,110,134,62,191,55,191,64,191,139,239,66,191,83,23,69,191,117,54,71,191,218,76,73,191,107,90,75,191,16,95,77,191,179,90,79,191,62,77,81,191,154,54,83,191,179,22,85,191,114,237,86,191,197,186,88,191,149,126,90,191,208,56,92,191,98,233,93,191,56,144,95,191,64,45,97,191,103,192,98,191,156,73,100,191,206,200,101,191,235,61,103,191,227,168,104,191,167,9,106,191,39,96,107,191,84,172,108,191,31,238,109,191,122,37,111,191,88,82,112,191,171,116,113,191,103,140,114,191,127,153,115,191,231,155,116,191,149,147,117,191,126,128,118,191,150,98,119,191,212,57,120,191,47,6,121,191,158,199,121,191,23,126,122,191,148,41,123,191,13,202,123,191,122,95,124,191,213,233,124,191,24,105,125,191,62,221,125,191,64,70,126,191,28,164,126,191,204,246,126,191,77,62,127,191,156,122,127,191,182,171,127,191,153,209,127,191,67,236,127,191,180,251,127,191,166,255,127,63,148,227,127,63,156,154,127,63,204,36,127,63,56,130,126,63,253,178,125,63,63,183,124,63,42,143,123,63,243,58,122,63,212,186,120,63,17,15,119,63,246,55,117,63,213,53,115,63,8,9,113,63,241,177,110,63,249,48,108,63,144,134,105,63,47,179,102,63,83,183,99,63,132,147,96,63,78,72,93,63,69,214,89,63,3,62,86,63,43,128,82,63,101,157,78,63,94,150,74,63,204,107,70,63,106,30,66,63,249,174,61,63,64,30,57,63,13,109,52,63,50,156,47,63,135,172,42,63,235,158,37,63,63,116,32,63,109,45,27,63,97,203,21,63,13,79,16,63,104,185,10,63,107,11,5,63,46,140,254,62,221,212,242,62,241,242,230,62,127,232,218,62,166,183,206,62,136,98,194,62,78,235,181,62,42,84,169,62,81,159,156,62,253,206,143,62,109,229,130,62,206,201,107,62,98,159,81,62,48,80,55,62,211,224,28,62,241,85,2,62,98,104,207,61,124,0,154,61,36,251,72,61,27,164,187,60,243,119,86,187,100,61,241,188,187,192,99,189,103,93,167,189,20,189,220,189,3,251,8,190,115,127,35,190,52,231,61,190,164,45,88,190,38,78,114,190,18,34,134,190,137,5,147,190,52,207,159,190,213,124,172,190,51,12,185,190,26,123,197,190,91,199,209,190,205,238,221,190,80,239,233,190,199,198,245,190,144,185,0,191,38,121,6,191,36,33,12,191,141,176,17,191,102,38,23,191,186,129,28,191,152,193,33,191,21,229,38,191,74,235,43,191,86,211,48,191,91,156,53,191,131,69,58,191,253,205,62,191,252,52,67,191,188,121,71,191,125,155,75,191,132,153,79,191,31,115,83,191,161,39,87,191,99,182,90,191,198,30,94,191,48,96,97,191,15,122,100,191,216,107,103,191,7,53,106,191,31,213,108,191,169,75,111,191,55,152,113,191,98,186,115,191,201,177,117,191,22,126,119,191,246,30,121,191,33,148,122,191,85,221,123,191,89,250,124,191,250,234,125,191,14,175,126,191,116,70,127,191,15,177,127,191,206,238,127,191,0,0,128,63,0,0,0,128,99,250,127,63,191,117,86,188,139,233,127,63,10,113,214,188,121,205,127,63,231,206,32,189,47,166,127,63,58,94,86,189,175,115,127,63,19,242,133,189,249,53,127,63,42,175,160,189,18,237,126,63,51,101,187,189,253,152,126,63,4,19,214,189,188,57,126,63,115,183,240,189,85,207,125,63,168,168,5,190,203,89,125,63,187,239,18,190,37,217,124,63,92,48,32,190,103,77,124,63,245,105,45,190,152,182,123,63,243,155,58,190,190,20,123,63,194,197,71,190,226,103,122,63,205,230,84,190,9,176,121,63,130,254,97,190,60,237,120,63,77,12,111,190,132,31,120,63,156,15,124,190,234,70,119,63,238,131,132,190,119,99,118,63,62,250,138,190,54,117,117,63,117,106,145,190,48,124,116,63,76,212,151,190,113,120,115,63,122,55,158,190,3,106,114,63,183,147,164,190,244,80,113,63,188,232,170,190,79,45,112,63,65,54,177,190,33,255,110,63,1,124,183,190,118,198,109,63,180,185,189,190,94,131,108,63,21,239,195,190,231,53,107,63,222,27,202,190,30,222,105,63,201,63,208,190,18,124,104,63,146,90,214,190,212,15,103,63,243,107,220,190,116,153,101,63,170,115,226,190,1,25,100,63,113,113,232,190,141,142,98,63,7,101,238,190,40,250,96,63,39,78,244,190,230,91,95,63,144,44,250,190,215,179,93,63,0,0,0,191,15,2,92,63,27,228,2,191,160,70,90,63,119,194,5,191,158,129,88,63,246,154,8,191,29,179,86,63,119,109,11,191,49,219,84,63,218,57,14,191,239,249,82,63,0,0,17,191,108,15,81,63,202,191,19,191,189,27,79,63,24,121,22,191,248,30,77,63,205,43,25,191,52,25,75,63,202,215,27,191,136,10,73,63,241,124,30,191,10,243,70,63,36,27,33,191,209,210,68,63,70,178,35,191,247,169,66,63,58,66,38,191,147,120,64,63,227,202,40,191,189,62,62,63,37,76,43,191,143,252,59,63,227,197,45,191,34,178,57,63,1,56,48,191,144,95,55,63,101,162,50,191,243,4,53,63,243,4,53,191,101,162,50,63,144,95,55,191,1,56,48,63,34,178,57,191,227,197,45,63,143,252,59,191,37,76,43,63,189,62,62,191,227,202,40,63,147,120,64,191,58,66,38,63,247,169,66,191,70,178,35,63,209,210,68,191,36,27,33,63,10,243,70,191,241,124,30,63,136,10,73,191,202,215,27,63,52,25,75,191,205,43,25,63,248,30,77,191,24,121,22,63,189,27,79,191,202,191,19,63,108,15,81,191,0,0,17,63,239,249,82,191,218,57,14,63,49,219,84,191,119,109,11,63,29,179,86,191,246,154,8,63,158,129,88,191,119,194,5,63,160,70,90,191,27,228,2,63,15,2,92,191,0,0,0,63,215,179,93,191,144,44,250,62,230,91,95,191,39,78,244,62,40,250,96,191,7,101,238,62,141,142,98,191,113,113,232,62,1,25,100,191,170,115,226,62,116,153,101,191,243,107,220,62,212,15,103,191,146,90,214,62,18,124,104,191,201,63,208,62,30,222,105,191,222,27,202,62,231,53,107,191,21,239,195,62,94,131,108,191,180,185,189,62,118,198,109,191,1,124,183,62,33,255,110,191,65,54,177,62,79,45,112,191,188,232,170,62,244,80,113,191,183,147,164,62,3,106,114,191,122,55,158,62,113,120,115,191,76,212,151,62,48,124,116,191,117,106,145,62,54,117,117,191,62,250,138,62,119,99,118,191,238,131,132,62,234,70,119,191,156,15,124,62,132,31,120,191,77,12,111,62,60,237,120,191,130,254,97,62,9,176,121,191,205,230,84,62,226,103,122,191,194,197,71,62,190,20,123,191,243,155,58,62,152,182,123,191,245,105,45,62,103,77,124,191,92,48,32,62,37,217,124,191,187,239,18,62,203,89,125,191,168,168,5,62,85,207,125,191,115,183,240,61,188,57,126,191,4,19,214,61,253,152,126,191,51,101,187,61,18,237,126,191,42,175,160,61,249,53,127,191,19,242,133,61,175,115,127,191,58,94,86,61,47,166,127,191,231,206,32,61,121,205,127,191,10,113,214,60,139,233,127,191,191,117,86,60,99,250,127,191,0,48,141,36,0,0,128,191,191,117,86,188,99,250,127,191,10,113,214,188,139,233,127,191,231,206,32,189,121,205,127,191,58,94,86,189,47,166,127,191,19,242,133,189,175,115,127,191,42,175,160,189,249,53,127,191,51,101,187,189,18,237,126,191,4,19,214,189,253,152,126,191,115,183,240,189,188,57,126,191,168,168,5,190,85,207,125,191,187,239,18,190,203,89,125,191,92,48,32,190,37,217,124,191,245,105,45,190,103,77,124,191,243,155,58,190,152,182,123,191,194,197,71,190,190,20,123,191,205,230,84,190,226,103,122,191,130,254,97,190,9,176,121,191,77,12,111,190,60,237,120,191,156,15,124,190,132,31,120,191,238,131,132,190,234,70,119,191,62,250,138,190,119,99,118,191,117,106,145,190,54,117,117,191,76,212,151,190,48,124,116,191,122,55,158,190,113,120,115,191,183,147,164,190,3,106,114,191,188,232,170,190,244,80,113,191,65,54,177,190,79,45,112,191,1,124,183,190,33,255,110,191,180,185,189,190,118,198,109,191,21,239,195,190,94,131,108,191,222,27,202,190,231,53,107,191,201,63,208,190,30,222,105,191,146,90,214,190,18,124,104,191,243,107,220,190,212,15,103,191,170,115,226,190,116,153,101,191,113,113,232,190,1,25,100,191,7,101,238,190,141,142,98,191,39,78,244,190,40,250,96,191,144,44,250,190,230,91,95,191,0,0,0,191,215,179,93,191,27,228,2,191,15,2,92,191,119,194,5,191,160,70,90,191,246,154,8,191,158,129,88,191,119,109,11,191,29,179,86,191,218,57,14,191,49,219,84,191,0,0,17,191,239,249,82,191,202,191,19,191,108,15,81,191,24,121,22,191,189,27,79,191,205,43,25,191,248,30,77,191,202,215,27,191,52,25,75,191,241,124,30,191,136,10,73,191,36,27,33,191,10,243,70,191,70,178,35,191,209,210,68,191,58,66,38,191,247,169,66,191,227,202,40,191,147,120,64,191,37,76,43,191,189,62,62,191,227,197,45,191,143,252,59,191,1,56,48,191,34,178,57,191,101,162,50,191,144,95,55,191,243,4,53,191,243,4,53,191,144,95,55,191,101,162,50,191,34,178,57,191,1,56,48,191,143,252,59,191,227,197,45,191,189,62,62,191,37,76,43,191,147,120,64,191,227,202,40,191,247,169,66,191,58,66,38,191,209,210,68,191,70,178,35,191,10,243,70,191,36,27,33,191,136,10,73,191,241,124,30,191,52,25,75,191,202,215,27,191,248,30,77,191,205,43,25,191,189,27,79,191,24,121,22,191,108,15,81,191,202,191,19,191,239,249,82,191,0,0,17,191,49,219,84,191,218,57,14,191,29,179,86,191,119,109,11,191,158,129,88,191,246,154,8,191,160,70,90,191,119,194,5,191,15,2,92,191,27,228,2,191,215,179,93,191,0,0,0,191,230,91,95,191,144,44,250,190,40,250,96,191,39,78,244,190,141,142,98,191,7,101,238,190,1,25,100,191,113,113,232,190,116,153,101,191,170,115,226,190,212,15,103,191,243,107,220,190,18,124,104,191,146,90,214,190,30,222,105,191,201,63,208,190,231,53,107,191,222,27,202,190,94,131,108,191,21,239,195,190,118,198,109,191,180,185,189,190,33,255,110,191,1,124,183,190,79,45,112,191,65,54,177,190,244,80,113,191,188,232,170,190,3,106,114,191,183,147,164,190,113,120,115,191,122,55,158,190,48,124,116,191,76,212,151,190,54,117,117,191,117,106,145,190,119,99,118,191,62,250,138,190,234,70,119,191,238,131,132,190,132,31,120,191,156,15,124,190,60,237,120,191,77,12,111,190,9,176,121,191,130,254,97,190,226,103,122,191,205,230,84,190,190,20,123,191,194,197,71,190,152,182,123,191,243,155,58,190,103,77,124,191,245,105,45,190,37,217,124,191,92,48,32,190,203,89,125,191,187,239,18,190,85,207,125,191,168,168,5,190,188,57,126,191,115,183,240,189,253,152,126,191,4,19,214,189,18,237,126,191,51,101,187,189,249,53,127,191,42,175,160,189,175,115,127,191,19,242,133,189,47,166,127,191,58,94,86,189,121,205,127,191,231,206,32,189,139,233,127,191,10,113,214,188,99,250,127,191,191,117,86,188,0,0,128,191,0,48,13,165,99,250,127,191,191,117,86,60,139,233,127,191,10,113,214,60,121,205,127,191,231,206,32,61,47,166,127,191,58,94,86,61,175,115,127,191,19,242,133,61,249,53,127,191,42,175,160,61,18,237,126,191,51,101,187,61,253,152,126,191,4,19,214,61,188,57,126,191,115,183,240,61,85,207,125,191,168,168,5,62,203,89,125,191,187,239,18,62,37,217,124,191,92,48,32,62,103,77,124,191,245,105,45,62,152,182,123,191,243,155,58,62,190,20,123,191,194,197,71,62,226,103,122,191,205,230,84,62,9,176,121,191,130,254,97,62,60,237,120,191,77,12,111,62,132,31,120,191,156,15,124,62,234,70,119,191,238,131,132,62,119,99,118,191,62,250,138,62,54,117,117,191,117,106,145,62,48,124,116,191,76,212,151,62,113,120,115,191,122,55,158,62,3,106,114,191,183,147,164,62,244,80,113,191,188,232,170,62,79,45,112,191,65,54,177,62,33,255,110,191,1,124,183,62,118,198,109,191,180,185,189,62,94,131,108,191,21,239,195,62,231,53,107,191,222,27,202,62,30,222,105,191,201,63,208,62,18,124,104,191,146,90,214,62,212,15,103,191,243,107,220,62,116,153,101,191,170,115,226,62,1,25,100,191,113,113,232,62,141,142,98,191,7,101,238,62,40,250,96,191,39,78,244,62,230,91,95,191,144,44,250,62,215,179,93,191,0,0,0,63,15,2,92,191,27,228,2,63,160,70,90,191,119,194,5,63,158,129,88,191,246,154,8,63,29,179,86,191,119,109,11,63,49,219,84,191,218,57,14,63,239,249,82,191,0,0,17,63,108,15,81,191,202,191,19,63,189,27,79,191,24,121,22,63,248,30,77,191,205,43,25,63,52,25,75,191,202,215,27,63,136,10,73,191,241,124,30,63,10,243,70,191,36,27,33,63,209,210,68,191,70,178,35,63,247,169,66,191,58,66,38,63,147,120,64,191,227,202,40,63,189,62,62,191,37,76,43,63,143,252,59,191,227,197,45,63,34,178,57,191,1,56,48,63,144,95,55,191,101,162,50,63,243,4,53,191,243,4,53,63,101,162,50,191,144,95,55,63,1,56,48,191,34,178,57,63,227,197,45,191,143,252,59,63,37,76,43,191,189,62,62,63,227,202,40,191,147,120,64,63,58,66,38,191,247,169,66,63,70,178,35,191,209,210,68,63,36,27,33,191,10,243,70,63,241,124,30,191,136,10,73,63,202,215,27,191,52,25,75,63,205,43,25,191,248,30,77,63,24,121,22,191,189,27,79,63,202,191,19,191,108,15,81,63,0,0,17,191,239,249,82,63,218,57,14,191,49,219,84,63,119,109,11,191,29,179,86,63,246,154,8,191,158,129,88,63,119,194,5,191,160,70,90,63,27,228,2,191,15,2,92,63,0,0,0,191,215,179,93,63,144,44,250,190,230,91,95,63,39,78,244,190,40,250,96,63,7,101,238,190,141,142,98,63,113,113,232,190,1,25,100,63,170,115,226,190,116,153,101,63,243,107,220,190,212,15,103,63,146,90,214,190,18,124,104,63,201,63,208,190,30,222,105,63,222,27,202,190,231,53,107,63,21,239,195,190,94,131,108,63,180,185,189,190,118,198,109,63,1,124,183,190,33,255,110,63,65,54,177,190,79,45,112,63,188,232,170,190,244,80,113,63,183,147,164,190,3,106,114,63,122,55,158,190,113,120,115,63,76,212,151,190,48,124,116,63,117,106,145,190,54,117,117,63,62,250,138,190,119,99,118,63,238,131,132,190,234,70,119,63,156,15,124,190,132,31,120,63,77,12,111,190,60,237,120,63,130,254,97,190,9,176,121,63,205,230,84,190,226,103,122,63,194,197,71,190,190,20,123,63,243,155,58,190,152,182,123,63,245,105,45,190,103,77,124,63,92,48,32,190,37,217,124,63,187,239,18,190,203,89,125,63,168,168,5,190,85,207,125,63,115,183,240,189,188,57,126,63,4,19,214,189,253,152,126,63,51,101,187,189,18,237,126,63,42,175,160,189,249,53,127,63,19,242,133,189,175,115,127,63,58,94,86,189,47,166,127,63,231,206,32,189,121,205,127,63,10,113,214,188,139,233,127,63,191,117,86,188,99,250,127,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([0,200,83,165,0,0,128,63,191,117,86,60,99,250,127,63,10,113,214,60,139,233,127,63,231,206,32,61,121,205,127,63,58,94,86,61,47,166,127,63,19,242,133,61,175,115,127,63,42,175,160,61,249,53,127,63,51,101,187,61,18,237,126,63,4,19,214,61,253,152,126,63,115,183,240,61,188,57,126,63,168,168,5,62,85,207,125,63,187,239,18,62,203,89,125,63,92,48,32,62,37,217,124,63,245,105,45,62,103,77,124,63,243,155,58,62,152,182,123,63,194,197,71,62,190,20,123,63,205,230,84,62,226,103,122,63,130,254,97,62,9,176,121,63,77,12,111,62,60,237,120,63,156,15,124,62,132,31,120,63,238,131,132,62,234,70,119,63,62,250,138,62,119,99,118,63,117,106,145,62,54,117,117,63,76,212,151,62,48,124,116,63,122,55,158,62,113,120,115,63,183,147,164,62,3,106,114,63,188,232,170,62,244,80,113,63,65,54,177,62,79,45,112,63,1,124,183,62,33,255,110,63,180,185,189,62,118,198,109,63,21,239,195,62,94,131,108,63,222,27,202,62,231,53,107,63,201,63,208,62,30,222,105,63,146,90,214,62,18,124,104,63,243,107,220,62,212,15,103,63,170,115,226,62,116,153,101,63,113,113,232,62,1,25,100,63,7,101,238,62,141,142,98,63,39,78,244,62,40,250,96,63,144,44,250,62,230,91,95,63,0,0,0,63,215,179,93,63,27,228,2,63,15,2,92,63,119,194,5,63,160,70,90,63,246,154,8,63,158,129,88,63,119,109,11,63,29,179,86,63,218,57,14,63,49,219,84,63,0,0,17,63,239,249,82,63,202,191,19,63,108,15,81,63,24,121,22,63,189,27,79,63,205,43,25,63,248,30,77,63,202,215,27,63,52,25,75,63,241,124,30,63,136,10,73,63,36,27,33,63,10,243,70,63,70,178,35,63,209,210,68,63,58,66,38,63,247,169,66,63,227,202,40,63,147,120,64,63,37,76,43,63,189,62,62,63,227,197,45,63,143,252,59,63,1,56,48,63,34,178,57,63,101,162,50,63,144,95,55,63,243,4,53,63,243,4,53,63,144,95,55,63,101,162,50,63,34,178,57,63,1,56,48,63,143,252,59,63,227,197,45,63,189,62,62,63,37,76,43,63,147,120,64,63,227,202,40,63,247,169,66,63,58,66,38,63,209,210,68,63,70,178,35,63,10,243,70,63,36,27,33,63,136,10,73,63,241,124,30,63,52,25,75,63,202,215,27,63,248,30,77,63,205,43,25,63,189,27,79,63,24,121,22,63,108,15,81,63,202,191,19,63,239,249,82,63,0,0,17,63,49,219,84,63,218,57,14,63,29,179,86,63,119,109,11,63,158,129,88,63,246,154,8,63,160,70,90,63,119,194,5,63,15,2,92,63,27,228,2,63,215,179,93,63,0,0,0,63,230,91,95,63,144,44,250,62,40,250,96,63,39,78,244,62,141,142,98,63,7,101,238,62,1,25,100,63,113,113,232,62,116,153,101,63,170,115,226,62,212,15,103,63,243,107,220,62,18,124,104,63,146,90,214,62,30,222,105,63,201,63,208,62,231,53,107,63,222,27,202,62,94,131,108,63,21,239,195,62,118,198,109,63,180,185,189,62,33,255,110,63,1,124,183,62,79,45,112,63,65,54,177,62,244,80,113,63,188,232,170,62,3,106,114,63,183,147,164,62,113,120,115,63,122,55,158,62,48,124,116,63,76,212,151,62,54,117,117,63,117,106,145,62,119,99,118,63,62,250,138,62,234,70,119,63,238,131,132,62,132,31,120,63,156,15,124,62,60,237,120,63,77,12,111,62,9,176,121,63,130,254,97,62,226,103,122,63,205,230,84,62,190,20,123,63,194,197,71,62,152,182,123,63,243,155,58,62,103,77,124,63,245,105,45,62,37,217,124,63,92,48,32,62,203,89,125,63,187,239,18,62,85,207,125,63,168,168,5,62,188,57,126,63,115,183,240,61,253,152,126,63,4,19,214,61,18,237,126,63,51,101,187,61,249,53,127,63,42,175,160,61,175,115,127,63,19,242,133,61,47,166,127,63,58,94,86,61,121,205,127,63,231,206,32,61,139,233,127,63,10,113,214,60,99,250,127,63,191,117,86,60,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,0,0,206,64,0,0,200,64,0,0,184,64,0,0,170,64,0,0,162,64,0,0,154,64,0,0,144,64,0,0,140,64,0,0,156,64,0,0,150,64,0,0,146,64,0,0,142,64,0,0,156,64,0,0,148,64,0,0,138,64,0,0,144,64,0,0,140,64,0,0,148,64,0,0,152,64,0,0,142,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,112,64,0,0,102,63,0,0,76,63,0,0,38,63,0,0,0,63,0,134,107,63,0,20,46,63,0,112,189,62,0,208,76,62,15,0,0,0,10,0,0,0,5,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,230,121,0,0,238,121,0,0,254,121,0,0,30,122,0,0,38,122,0,0,54,122,0,0,86,122,0,0,126,122,0,0,206,122,0,0,110,123,0,0,118,123,0,0,134,123,0,0,32,0,10,0,20,46,100,1,166,123,0,0,230,124,0,0,38,125,0,0,56,125,0,0,216,125,0,0,32,126,0,0,76,113,0,0,32,0,16,0,102,38,171,1,104,126,0,0,104,128,0,0,168,128,0,0,198,128,0,0,198,129,0,0,14,130,0,0,98,113,0,0,0,0,0,0,64,31,0,0,184,36,0,0,236,44,0,0,188,52,0,0,92,68,0,0,168,97,0,0,128,56,1,0,0,0,0,0,40,35,0,0,224,46,0,0,164,56,0,0,68,72,0,0,180,95,0,0,172,138,0,0,128,56,1,0,0,0,0,0,4,41,0,0,176,54,0,0,104,66,0,0,252,83,0,0,84,111,0,0,16,164,0,0,128,56,1,0,160,130,0,0,163,130,0,0,10,103,242,14,86,205,228,29,10,103,242,14,117,82,130,12,89,154,4,25,117,82,130,12,70,17,49,10,237,3,98,20,70,17,49,10,218,2,215,7,249,198,173,15,218,2,215,7,34,182,82,5,218,250,164,10,34,182,82,5,70,243,46,30,43,227,75,14,31,102,128,24,28,44,29,10,218,97,72,18,237,156,244,6,236,48,19,11,227,144,165,4,237,164,29,2,10,223,107,3,48,117,0,0,112,23,0,0,32,209,255,255,32,209,255,255,0,64,0,0,108,34,0,0,66,15,0,0,18,6,0,0,77,2,0,0,219,0,0,0,237,0,0,0,153,0,0,0,73,0,0,0,30,0,0,0,12,0,0,0,7,0,0,0,0,64,0,0,147,93,0,0,189,112,0,0,237,121,0,0,178,125,0,0,36,127,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,8,82,0,0,208,7,0,0,96,109,0,0,208,7,0,0,224,46,0,0,232,3,0,0,80,70,0,0,208,7,0,0,8,82,0,0,208,7,0,0,48,117,0,0,208,7,0,0,248,42,0,0,232,3,0,0,176,54,0,0,232,3,0,0,104,66,0,0,232,3,0,0,8,82,0,0,208,7,0,0,224,46,0,0,232,3,0,0,152,58,0,0,232,3,0,0,80,70,0,0,208,7,0,0,240,85,0,0,208,7,0,0,230,90,52,56,119,78,51,57,211,217,201,57,146,145,51,58,204,96,140,58,97,251,201,58,153,126,9,59,203,128,51,59,213,37,99,59,119,46,140,59,168,138,169,59,69,184,201,59,135,166,236,59,232,46,9,60,174,102,29,60,247,2,51,60,147,255,73,60,79,88,98,60,94,17,124,60,46,145,139,60,189,199,153,60,92,172,168,60,243,60,184,60,129,121,200,60,238,95,217,60,57,240,234,60,99,42,253,60,53,7,8,61,16,204,17,61,205,228,27,61,97,80,38,61,203,14,49,61,0,31,60,61,254,128,71,61,198,52,83,61,63,56,95,61,105,139,107,61,69,46,120,61,105,144,130,61,123,48,137,61,224,247,143,61,138,229,150,61,123,249,157,61,177,51,165,61,33,147,172,61,80,24,180,61,51,194,187,61,79,145,195,61,18,132,203,61,2,155,211,61,31,214,219,61,215,51,228,61,175,180,236,61,33,88,245,61,168,29,254,61,161,130,3,62,242,6,8,62,199,155,12,62,221,64,17,62,52,246,21,62,69,187,26,62,17,144,31,62,84,116,36,62,203,103,41,62,51,106,46,62,141,123,51,62,82,155,56,62,197,201,61,62,28,6,67,62,89,80,72,62,122,168,77,62,183,13,83,62,82,128,88,62,8,0,94,62,84,140,99,62,242,36,105,62,37,202,110,62,36,123,116,62,172,55,122,62,0,0,128,62,171,233,130,62,249,216,133,62,133,205,136,62,80,199,139,62,55,198,142,62,247,201,145,62,179,210,148,62,38,224,151,62,15,242,154,62,108,8,158,62,28,35,161,62,255,65,164,62,208,100,167,62,177,139,170,62,28,182,173,62,84,228,176,62,211,21,180,62,186,74,183,62,232,130,186,62,249,189,189,62,13,252,192,62,226,60,196,62,86,128,199,62,71,198,202,62,149,14,206,62,251,88,209,62,122,165,212,62,241,243,215,62,28,68,219,62,217,149,222,62,8,233,225,62,167,61,229,62,83,147,232,62,12,234,235,62,175,65,239,62,28,154,242,62,14,243,245,62,136,76,249,62,34,166,252,62,0,0,0,63,239,172,1,63,188,89,3,63,121,6,5,63,242,178,6,63,41,95,8,63,250,10,10,63,86,182,11,63,44,97,13,63,124,11,15,63,19,181,16,63,242,93,18,63,8,6,20,63,67,173,21,63,130,83,23,63,182,248,24,63,220,156,26,63,213,63,28,63,143,225,29,63,249,129,31,63,4,33,33,63,140,190,34,63,163,90,36,63,23,245,37,63,214,141,39,63,242,36,41,63,40,186,42,63,152,77,44,63,1,223,45,63,114,110,47,63,202,251,48,63,249,134,50,63,237,15,52,63,167,150,53,63,4,27,55,63,229,156,56,63,88,28,58,63,61,153,59,63,131,19,61,63,42,139,62,63,0,0,64,63,21,114,65,63,55,225,66,63,119,77,68,63,195,182,69,63,235,28,71,63,254,127,72,63,236,223,73,63,146,60,75,63,225,149,76,63,234,235,77,63,121,62,79,63,143,141,80,63,43,217,81,63,29,33,83,63,115,101,84,63,13,166,85,63,235,226,86,63,252,27,88,63,47,81,89,63,115,130,90,63,201,175,91,63,14,217,92,63,67,254,93,63,88,31,95,63,75,60,96,63,252,84,97,63,106,105,98,63,133,121,99,63,60,133,100,63,160,140,101,63,126,143,102,63,214,141,103,63,186,135,104,63,246,124,105,63,156,109,106,63,138,89,107,63,209,64,108,63,79,35,109,63,4,1,110,63,241,217,110,63,243,173,111,63,28,125,112,63,73,71,113,63,124,12,114,63,180,204,114,63,240,135,115,63,16,62,116,63,19,239,116,63,250,154,117,63,179,65,118,63,63,227,118,63,141,127,119,63,173,22,120,63,126,168,120,63,1,53,121,63,52,188,121,63,24,62,122,63,157,186,122,63,194,49,123,63,119,163,123,63,187,15,124,63,159,118,124,63,2,216,124,63,244,51,125,63,101,138,125,63,68,219,125,63,179,38,126,63,143,108,126,63,235,172,126,63,163,231,126,63,218,28,127,63,127,76,127,63,129,118,127,63,2,155,127,63,208,185,127,63,28,211,127,63,197,230,127,63,203,244,127,63,47,253,127,63,0,0,128,63,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,68,0,0,0,80,0,0,0,96,0,0,0,120,0,0,0,160,0,0,0,200,0,0,0,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,0,0,128,62,208,37,180,62,151,57,173,62,9,165,159,62,250,237,139,62,205,172,101,62,248,169,42,62,52,48,210,61,90,241,13,61,90,241,13,189,52,48,210,189,248,169,42,190,205,172,101,190,250,237,139,190,9,165,159,190,151,57,173,190,208,37,180,190,135,138,177,62,27,131,150,62,96,35,73,62,196,66,141,61,196,66,141,189,96,35,73,190,27,131,150,190,135,138,177,190,135,138,177,190,27,131,150,190,96,35,73,190,196,66,141,189,196,66,141,61,96,35,73,62,27,131,150,62,135,138,177,62,151,57,173,62,205,172,101,62,90,241,13,61,248,169,42,190,9,165,159,190,208,37,180,190,250,237,139,190,52,48,210,189,52,48,210,61,250,237,139,62,208,37,180,62,9,165,159,62,248,169,42,62,90,241,13,189,205,172,101,190,151,57,173,190,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,125,61,167,62,210,139,10,62,210,139,10,190,125,61,167,190,125,61,167,190,210,139,10,190,210,139,10,62,125,61,167,62,9,165,159,62,90,241,13,61,250,237,139,190,151,57,173,190,52,48,210,189,205,172,101,62,208,37,180,62,248,169,42,62,248,169,42,190,208,37,180,190,205,172,101,190,52,48,210,61,151,57,173,62,250,237,139,62,90,241,13,189,9,165,159,190,27,131,150,62,196,66,141,189,135,138,177,190,96,35,73,190,96,35,73,62,135,138,177,62,196,66,141,61,27,131,150,190,27,131,150,190,196,66,141,61,135,138,177,62,96,35,73,62,96,35,73,190,135,138,177,190,196,66,141,189,27,131,150,62,250,237,139,62,248,169,42,190,151,57,173,190,90,241,13,61,208,37,180,62,52,48,210,61,9,165,159,190,205,172,101,190,205,172,101,62,9,165,159,62,52,48,210,189,208,37,180,190,90,241,13,189,151,57,173,62,248,169,42,62,250,237,139,190,0,0,0,0,5,193,35,61,233,125,163,61,37,150,244,61,226,116,34,62,172,28,74,62,221,37,113,62,52,186,139,62,180,119,158,62,228,191,176,62,173,136,194,62,37,201,211,62,24,122,228,62,24,149,244,62,200,10,2,63,28,124,9,63,73,157,16,63,202,109,23,63,192,237,29,63,159,29,36,63,84,254,41,63,46,145,47,63,224,215,52,63,99,212,57,63,240,136,62,63,211,247,66,63,171,35,71,63,23,15,75,63,216,188,78,63,173,47,82,63,106,106,85,63,206,111,88,63,154,66,91,63,142,229,93,63,75,91,96,63,110,166,98,63,100,201,100,63,155,198,102,63,111,160,104,63,247,88,106,63,128,242,107,63,223,110,109,63,11,208,110,63,202,23,112,63,224,71,113,63,225,97,114,63,77,103,115,63,150,89,116,63,12,58,117,63,255,9,118,63,138,202,118,63,187,124,119,63,192,33,120,63,98,186,120,63,157,71,121,63,75,202,121,63,36,67,122,63,242,178,122,63,59,26,123,63,200,121,123,63,32,210,123,63,200,35,124,63,55,111,124,63,242,180,124,63,94,245,124,63,224,48,125,63,236,103,125,63,183,154,125,63,180,201,125,63,6,245,125,63,17,29,126,63,24,66,126,63,78,100,126,63,211,131,126,63,253,160,126,63,237,187,126,63,195,212,126,63,179,235,126,63,239,0,127,63,135,20,127,63,141,38,127,63,67,55,127,63,170,70,127,63,227,84,127,63,15,98,127,63,47,110,127,63,100,121,127,63,190,131,127,63,63,141,127,63,24,150,127,63,56,158,127,63,194,165,127,63,163,172,127,63,16,179,127,63,245,184,127,63,119,190,127,63,114,195,127,63,25,200,127,63,108,204,127,63,91,208,127,63,6,212,127,63,111,215,127,63,131,218,127,63,102,221,127,63,21,224,127,63,130,226,127,63,205,228,127,63,230,230,127,63,205,232,127,63,146,234,127,63,70,236,127,63,200,237,127,63,40,239,127,63,120,240,127,63,166,241,127,63,195,242,127,63,191,243,127,63,186,244,127,63,148,245,127,63,94,246,127,63,39,247,127,63,207,247,127,63,119,248,127,63,253,248,127,63,148,249,127,63,9,250,127,63,127,250,127,63,244,250,127,63,89,251,127,63,173,251,127,63,1,252,127,63,84,252,127,63,152,252,127,63,219,252,127,63,30,253,127,63,80,253,127,63,130,253,127,63,181,253,127,63,231,253,127,63,9,254,127,63,59,254,127,63,93,254,127,63,126,254,127,63,143,254,127,63,176,254,127,63,210,254,127,63,227,254,127,63,244,254,127,63,21,255,127,63,38,255,127,63,55,255,127,63,71,255,127,63,88,255,127,63,88,255,127,63,105,255,127,63,122,255,127,63,122,255,127,63,139,255,127,63,155,255,127,63,155,255,127,63,155,255,127,63,172,255,127,63,172,255,127,63,189,255,127,63,189,255,127,63,189,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,206,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,222,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,239,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,14,190,192,189,172,31,155,190,149,130,26,191,150,149,70,190,84,114,62,190,146,3,26,191,6,152,62,189,2,160,234,189,182,43,212,189,185,114,30,191,106,190,162,190,28,7,46,190,107,243,143,189,90,158,23,62,33,173,209,62,10,102,12,63,125,60,188,62,20,33,253,190,143,169,67,63,8,119,235,191,10,243,46,62,117,147,76,65,80,83,139,191,108,236,162,191,181,21,130,193,28,107,193,65,162,98,178,192,255,231,48,190,47,79,39,190,158,206,101,190,255,87,194,189,155,60,149,189,203,248,135,190,44,97,205,189,203,33,83,189,64,166,21,190,238,35,247,189,160,253,56,190,219,167,3,62,233,95,226,62,213,202,252,190,29,203,43,62,231,168,83,62,1,79,74,190,247,3,214,62,71,119,192,63,173,249,69,191,64,164,32,193,43,194,205,62,192,178,62,64,201,118,115,65,100,204,241,191,39,165,152,191,23,204,233,60,134,193,132,187,201,232,144,61,84,72,7,60,154,231,189,189,103,71,42,188,59,137,140,187,159,122,160,187,88,90,145,189,85,196,39,187,169,11,34,61,177,219,103,62,241,54,5,61,52,17,38,62,170,10,205,189,86,185,248,62,108,4,2,62,86,102,146,62,228,254,126,60,106,251,215,61,159,142,67,64,136,70,147,63,57,40,129,191,71,90,234,191,139,84,84,64,210,53,91,192,13,253,243,189,232,39,38,189,25,31,226,59,241,90,147,60,171,170,28,189,237,238,195,59,5,106,150,188,246,141,249,58,37,201,19,190,106,115,50,189,210,214,129,58,161,100,98,62,158,210,17,62,128,215,247,62,221,12,207,62,124,15,3,63,250,242,114,190,55,139,119,62,47,110,179,62,183,13,51,191,136,99,38,65,18,165,41,64,83,208,27,192,53,7,134,192,125,150,135,63,60,247,218,63,12,212,218,59,186,186,147,189,191,192,34,189,69,144,20,61,38,112,235,189,208,37,193,188,210,156,6,60,124,58,104,188,114,11,7,189,31,26,17,189,171,204,53,59,154,208,148,190,218,230,146,191,140,104,163,190,89,193,47,191,163,233,188,62,64,50,245,62,253,245,58,62,163,119,210,190,8,144,97,63,39,107,147,192,33,31,188,63,224,243,171,62,161,214,232,191,245,91,241,193,8,172,177,64,252,177,255,58,106,21,253,189,37,245,148,189,41,102,131,189,252,233,90,189,35,134,221,189,20,249,191,189,43,237,142,189,75,171,225,188,167,236,68,190,122,110,225,189,172,28,146,62,105,170,207,190,7,203,189,61,35,101,147,190,201,231,89,191,252,194,203,189,212,95,111,190,111,129,164,191,13,108,145,63,155,201,71,64,187,39,143,189,66,91,238,191,113,201,41,64,120,238,233,192,26,168,28,64,135,138,146,186,54,152,129,189,127,33,26,189,138,114,25,190,229,100,18,62,247,202,60,62,113,202,252,61,117,220,154,61,70,65,240,61,200,40,191,61,71,193,141,61,22,144,172,61,175,81,144,61,27,166,113,61,173,246,192,61,61,209,229,190,92,47,215,60,148,107,138,62,106,78,134,190,98,186,48,62,49,37,0,64,133,9,35,190,99,96,29,61,26,81,35,65,182,248,132,64,7,206,21,192,120,99,97,189,79,18,30,60,98,186,16,190,8,223,224,60,187,222,12,61,136,166,71,189,97,152,194,61,35,245,253,187,158,146,24,189,185,155,179,187,187,236,135,189,45,182,196,61,230,206,76,190,12,24,41,189,251,87,22,63,48,68,83,61,142,172,172,62,218,226,90,63,93,26,43,63,202,82,235,189,178,75,104,192,37,89,239,190,177,164,92,190,57,98,39,64,145,238,207,62,180,142,174,191,203,61,46,61,20,5,250,61,210,98,191,61,67,4,252,61,160,165,11,61,155,226,17,190,245,130,15,61,15,250,72,189,55,41,150,61,113,52,108,61,83,235,253,61,185,215,83,189,147,139,129,190,69,47,23,63,113,89,21,62,238,95,161,62,207,217,98,62,177,168,24,190,79,89,93,62,127,251,178,190,253,135,196,65,161,131,126,191,11,66,29,63,242,82,150,193,27,76,53,192,69,128,55,191,84,196,177,190,253,130,245,62,128,238,123,190,215,96,155,61,137,150,12,62,211,19,54,190,185,51,243,61,46,253,141,186,175,7,115,190,129,34,182,62,33,7,5,190,218,78,96,189,101,28,163,190,21,171,166,190,107,211,56,62,171,31,128,189,183,155,16,62,40,41,176,62,24,207,192,62,95,126,23,191,102,247,186,64,170,241,194,190,46,56,99,62,239,172,181,191,48,108,229,201,122,170,171,63,218,31,232,60,27,113,55,189,162,59,173,188,127,121,210,188,9,192,100,60,236,86,170,60,101,102,48,188,198,207,53,60,202,13,112,61,62,180,207,188,178,134,6,189,121,35,243,61,78,38,94,190,247,62,21,62,230,93,245,61,106,111,187,189,198,21,247,189,41,83,161,189,106,23,19,190,134,89,24,191,188,116,147,191,198,109,160,191,181,224,149,191,42,227,138,64,64,26,110,201,249,102,175,191,204,76,36,189,13,168,87,62,141,239,11,190,159,57,11,62,64,87,86,189,28,28,54,61,199,207,107,60,239,56,135,59,170,27,158,188,226,177,95,62,162,178,225,189,236,163,1,192,165,17,107,63,28,8,29,192,134,3,153,63,184,86,123,189,48,18,246,191,186,192,157,62,172,202,254,62,42,144,105,63,102,75,86,62,147,24,22,192,95,94,12,64,39,20,207,192,144,78,217,63,169,161,57,191,112,218,66,60,77,206,26,61,109,235,98,61,109,130,185,60,243,67,144,189,93,3,246,188,182,124,73,60,72,233,136,187,62,158,140,189,125,64,0,61,219,50,32,61,194,108,186,62,242,165,193,189,126,80,188,60,194,81,50,190,228,218,168,62,44,239,234,61,112,182,153,62,62,33,219,61,18,136,7,62,8,148,185,64,125,118,104,63,80,195,103,191,88,202,86,192,248,56,67,62,207,161,60,62,50,116,44,191,208,94,109,62,213,29,112,189,65,74,108,62,216,101,224,190,240,193,123,62,23,72,48,190,182,123,179,61,121,115,56,191,85,106,38,62,85,187,139,60,143,114,208,61,117,230,198,62,213,38,170,63,2,241,138,63,108,177,111,191,51,167,23,192,66,9,215,192,144,102,92,192,241,215,8,64,116,181,99,65,82,68,157,64,20,203,69,192,16,18,27,193,252,170,68,191,164,228,229,63,75,35,97,61,17,82,39,62,16,59,163,61,253,223,12,61,211,175,99,189,237,178,165,187,217,102,153,60,110,201,5,61,34,162,189,60,175,119,31,62,154,15,67,61,75,120,130,190,151,255,204,63,210,28,77,191,119,132,35,64,65,213,60,63,19,102,174,191,221,9,50,191,71,90,28,192,62,174,221,191,131,250,124,64,205,1,242,63,101,224,248,62,75,89,53,193,128,147,112,74,249,75,195,190,126,29,248,61,94,44,104,191,249,20,60,64,51,196,209,63,231,255,97,63,2,213,95,63,45,207,155,63,46,226,95,191,166,182,164,62,93,249,72,63,160,81,114,63,134,55,19,191,62,203,93,192,34,137,98,63,173,62,189,61,144,131,30,193,116,93,200,62,10,242,35,62,170,43,3,192,240,167,132,64,210,22,140,61,58,60,20,190,123,16,146,190,69,44,194,62,116,70,148,191,167,29,227,188,154,153,29,193,16,93,154,192,51,167,109,64,139,224,119,64,26,163,97,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,202,69,27,76,255,82,130,90,179,98,162,107,96,117,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,10,0,12,0,14,0,16,0,20,0,24,0,28,0,34,0,40,0,48,0,60,0,78,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8,0,8,0,16,0,16,0,16,0,21,0,21,0,24,0,29,0,34,0,36,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,41,0,41,0,41,0,82,0,82,0,123,0,164,0,200,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,164,0,164,0,240,0,10,1,27,1,39,1,41,0,41,0,41,0,41,0,41,0,41,0,41,0,41,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,10,1,10,1,49,1,62,1,72,1,80,1,123,0,123,0,123,0,123,0,123,0,123,0,123,0,123,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,62,1,62,1,87,1,95,1,102,1,108,1,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,49,1,49,1,49,1,49,1,87,1,87,1,87,1,95,1,95,1,114,1,120,1,126,1,131,1,0,0,12,0,24,0,36,0,48,0,4,0,16,0,28,0,40,0,52,0,8,0,20,0,32,0,44,0,56,0,1,0,13,0,25,0,37,0,49,0,5,0,17,0,29,0,41,0,53,0,9,0,21,0,33,0,45,0,57,0,2,0,14,0,26,0,38,0,50,0,6,0,18,0,30,0,42,0,54,0,10,0,22,0,34,0,46,0,58,0,3,0,15,0,27,0,39,0,51,0,7,0,19,0,31,0,43,0,55,0,11,0,23,0,35,0,47,0,59,0,0,0,24,0,48,0,72,0,96,0,8,0,32,0,56,0,80,0,104,0,16,0,40,0,64,0,88,0,112,0,4,0,28,0,52,0,76,0,100,0,12,0,36,0,60,0,84,0,108,0,20,0,44,0,68,0,92,0,116,0,1,0,25,0,49,0,73,0,97,0,9,0,33,0,57,0,81,0,105,0,17,0,41,0,65,0,89,0,113,0,5,0,29,0,53,0,77,0,101,0,13,0,37,0,61,0,85,0,109,0,21,0,45,0,69,0,93,0,117,0,2,0,26,0,50,0,74,0,98,0,10,0,34,0,58,0,82,0,106,0,18,0,42,0,66,0,90,0,114,0,6,0,30,0,54,0,78,0,102,0,14,0,38,0,62,0,86,0,110,0,22,0,46,0,70,0,94,0,118,0,3,0,27,0,51,0,75,0,99,0,11,0,35,0,59,0,83,0,107,0,19,0,43,0,67,0,91,0,115,0,7,0,31,0,55,0,79,0,103,0,15,0,39,0,63,0,87,0,111,0,23,0,47,0,71,0,95,0,119,0,0,0,48,0,96,0,144,0,192,0,16,0,64,0,112,0,160,0,208,0,32,0,80,0,128,0,176,0,224,0,4,0,52,0,100,0,148,0,196,0,20,0,68,0,116,0,164,0,212,0,36,0,84,0,132,0,180,0,228,0,8,0,56,0,104,0,152,0,200,0,24,0,72,0,120,0,168,0,216,0,40,0,88,0,136,0,184,0,232,0,12,0,60,0,108,0,156,0,204,0,28,0,76,0,124,0,172,0,220,0,44,0,92,0,140,0,188,0,236,0,1,0,49,0,97,0,145,0,193,0,17,0,65,0,113,0,161,0,209,0,33,0,81,0,129,0,177,0,225,0,5,0,53,0,101,0,149,0,197,0,21,0,69,0,117,0,165,0,213,0,37,0,85,0,133,0,181,0,229,0,9,0,57,0,105,0,153,0,201,0,25,0,73,0,121,0,169,0,217,0,41,0,89,0,137,0,185,0,233,0,13,0,61,0,109,0,157,0,205,0,29,0,77,0,125,0,173,0,221,0,45,0,93,0,141,0,189,0,237,0,2,0,50,0,98,0,146,0,194,0,18,0,66,0,114,0,162,0,210,0,34,0,82,0,130,0,178,0,226,0,6,0,54,0,102,0,150,0,198,0,22,0,70,0,118,0,166,0,214,0,38,0,86,0,134,0,182,0,230,0,10,0,58,0,106,0,154,0,202,0,26,0,74,0,122,0,170,0,218,0,42,0,90,0,138,0,186,0,234,0,14,0,62,0,110,0,158,0,206,0,30,0,78,0,126,0,174,0,222,0,46,0,94,0,142,0,190,0,238,0,3,0,51,0,99,0,147,0,195,0,19,0,67,0,115,0,163,0,211,0,35,0,83,0,131,0,179,0,227,0,7,0,55,0,103,0,151,0,199,0,23,0,71,0,119,0,167,0,215,0,39,0,87,0,135,0,183,0,231,0,11,0,59,0,107,0,155,0,203,0,27,0,75,0,123,0,171,0,219,0,43,0,91,0,139,0,187,0,235,0,15,0,63,0,111,0,159,0,207,0,31,0,79,0,127,0,175,0,223,0,47,0,95,0,143,0,191,0,239,0,0,0,96,0,192,0,32,1,128,1,32,0,128,0,224,0,64,1,160,1,64,0,160,0,0,1,96,1,192,1,8,0,104,0,200,0,40,1,136,1,40,0,136,0,232,0,72,1,168,1,72,0,168,0,8,1,104,1,200,1,16,0,112,0,208,0,48,1,144,1,48,0,144,0,240,0,80,1,176,1,80,0,176,0,16,1,112,1,208,1,24,0,120,0,216,0,56,1,152,1,56,0,152,0,248,0,88,1,184,1,88,0,184,0,24,1,120,1,216,1,4,0,100,0,196,0,36,1,132,1,36,0,132,0,228,0,68,1,164,1,68,0,164,0,4,1,100,1,196,1,12,0,108,0,204,0,44,1,140,1,44,0,140,0,236,0,76,1,172,1,76,0,172,0,12,1,108,1,204,1,20,0,116,0,212,0,52,1,148,1,52,0,148,0,244,0,84,1,180,1,84,0,180,0,20,1,116,1,212,1,28,0,124,0,220,0,60,1,156,1,60,0,156,0,252,0,92,1,188,1,92,0,188,0,28,1,124,1,220,1,1,0,97,0,193,0,33,1,129,1,33,0,129,0,225,0,65,1,161,1,65,0,161,0,1,1,97,1,193,1,9,0,105,0,201,0,41,1,137,1,41,0,137,0,233,0,73,1,169,1,73,0,169,0,9,1,105,1,201,1,17,0,113,0,209,0,49,1,145,1,49,0,145,0,241,0,81,1,177,1,81,0,177,0,17,1,113,1,209,1,25,0,121,0,217,0,57,1,153,1,57,0,153,0,249,0,89,1,185,1,89,0,185,0,25,1,121,1,217,1,5,0,101,0,197,0,37,1,133,1,37,0,133,0,229,0,69,1,165,1,69,0,165,0,5,1,101,1,197,1,13,0,109,0,205,0,45,1,141,1,45,0,141,0,237,0,77,1,173,1,77,0,173,0,13,1,109,1,205,1,21,0,117,0,213,0,53,1,149,1,53,0,149,0,245,0,85,1,181,1,85,0,181,0,21,1,117,1,213,1,29,0,125,0,221,0,61,1,157,1,61,0,157,0,253,0,93,1,189,1,93,0,189,0,29,1,125,1,221,1,2,0,98,0,194,0,34,1,130,1,34,0,130,0,226,0,66,1,162,1,66,0,162,0,2,1,98,1,194,1,10,0,106,0,202,0,42,1,138,1,42,0,138,0,234,0,74,1,170,1,74,0,170,0,10,1,106,1,202,1,18,0,114,0,210,0,50,1,146,1,50,0,146,0,242,0,82,1,178,1,82,0,178,0,18,1,114,1,210,1,26,0,122,0,218,0,58,1,154,1,58,0,154,0,250,0,90,1,186,1,90,0,186,0,26,1,122,1,218,1,6,0,102,0,198,0,38,1,134,1,38,0,134,0,230,0,70,1,166,1,70,0,166,0,6,1,102,1,198,1,14,0,110,0,206,0,46,1,142,1,46,0,142,0,238,0,78,1,174,1,78,0,174,0,14,1,110,1,206,1,22,0,118,0,214,0,54,1,150,1,54,0,150,0,246,0,86,1,182,1,86,0,182,0,22,1,118,1,214,1,30,0,126,0,222,0,62,1,158,1,62,0,158,0,254,0,94,1,190,1,94,0,190,0,30,1,126,1,222,1,3,0,99,0,195,0,35,1,131,1,35,0,131,0,227,0,67,1,163,1,67,0,163,0,3,1,99,1,195,1,11,0,107,0,203,0,43,1,139,1,43,0,139,0,235,0,75,1,171,1,75,0,171,0,11,1,107,1,203,1,19,0,115,0,211,0,51,1,147,1,51,0,147,0,243,0,83,1,179,1,83,0,179,0,19,1,115,1,211,1,27,0,123,0,219,0,59,1,155,1,59,0,155,0,251,0,91,1,187,1,91,0,187,0,27,1,123,1,219,1,7,0,103,0,199,0,39,1,135,1,39,0,135,0,231,0,71,1,167,1,71,0,167,0,7,1,103,1,199,1,15,0,111,0,207,0,47,1,143,1,47,0,143,0,239,0,79,1,175,1,79,0,175,0,15,1,111,1,207,1,23,0,119,0,215,0,55,1,151,1,55,0,151,0,247,0,87,1,183,1,87,0,183,0,23,1,119,1,215,1,31,0,127,0,223,0,63,1,159,1,63,0,159,0,255,0,95,1,191,1,95,0,191,0,31,1,127,1,223,1,184,126,154,121,154,121,102,102,184,126,51,115,250,0,3,0,6,0,3,0,3,0,3,0,4,0,3,0,3,0,3,0,205,1,100,0,3,0,40,0,3,0,3,0,3,0,5,0,14,0,14,0,10,0,11,0,3,0,8,0,9,0,7,0,3,0,91,1,18,0,29,0,38,0,40,0,46,0,52,0,62,0,84,0,92,202,190,216,182,223,154,226,156,230,120,236,122,244,204,252,52,3,134,11,136,19,100,25,102,29,74,32,66,39,164,53,100,0,240,0,32,0,100,0,205,60,0,48,0,32,0,32,254,31,246,31,234,31,216,31,194,31,168,31,136,31,98,31,58,31,10,31,216,30,160,30,98,30,34,30,220,29,144,29,66,29,238,28,150,28,58,28,216,27,114,27,10,27,156,26,42,26,180,25,58,25,188,24,60,24,182,23,46,23,160,22,16,22,126,21,232,20,78,20,176,19,16,19,110,18,200,17,30,17,116,16,198,15,22,15,100,14,174,13,248,12,64,12,132,11,200,10,10,10,74,9,138,8,198,7,2,7,62,6,120,5,178,4,234,3,34,3,90,2,146,1,202,0,0,0,54,255,110,254,166,253,222,252,22,252,78,251,136,250,194,249,254,248,58,248,118,247,182,246,246,245,56,245,124,244,192,243,8,243,82,242,156,241,234,240,58,240,140,239,226,238,56,238,146,237,240,236,80,236,178,235,24,235,130,234,240,233,96,233,210,232,74,232,196,231,68,231,198,230,76,230,214,229,100,229,246,228,142,228,40,228,198,227,106,227,18,227,190,226,112,226,36,226,222,225,158,225,96,225,40,225,246,224,198,224,158,224,120,224,88,224,62,224,40,224,22,224,10,224,2,224,0,224,42,175,213,201,207,255,64,0,17,0,99,255,97,1,16,254,163,0,39,43,189,86,217,255,6,0,91,0,86,255,186,0,23,0,128,252,192,24,216,77,237,255,220,255,102,0,167,255,232,255,72,1,73,252,8,10,37,62,135,199,61,201,64,0,128,0,134,255,36,0,54,1,0,253,72,2,51,36,69,69,12,0,128,0,18,0,114,255,32,1,139,255,159,252,27,16,123,56,104,2,13,200,246,255,39,0,58,0,210,255,172,255,120,0,184,0,197,254,227,253,4,5,4,21,64,35,230,62,198,196,243,255,0,0,20,0,26,0,5,0,225,255,213,255,252,255,65,0,90,0,7,0,99,255,8,255,212,255,81,2,47,6,52,10,199,12,228,87,5,197,3,0,242,255,236,255,241,255,2,0,25,0,37,0,25,0,240,255,185,255,149,255,177,255,50,0,36,1,111,2,214,3,8,5,184,5,148,107,103,196,17,0,12,0,8,0,1,0,246,255,234,255,226,255,224,255,234,255,3,0,44,0,100,0,168,0,243,0,61,1,125,1,173,1,199,1,19,245,149,230,89,18,243,41,31,6,84,32,189,0,168,253,105,2,103,119,117,0,97,255,210,251,8,116,52,0,221,0,168,246,116,110,252,255,17,2,234,242,229,102,208,255,246,2,140,240,165,93,176,255,137,3,117,239,6,83,157,255,204,3,130,239,102,71,149,255,199,3,139,240,39,59,153,255,128,3,97,242,174,46,165,255,5,3,207,244,94,34,185,255,99,2,161,247,152,22,210,255,169,1,161,250,180,11,0,1,1,1,2,3,3,3,2,3,3,3,2,3,3,3,0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255,0,255,0,255,0,255,0,255,0,255,0,254,1,0,1,255,0,254,0,253,2,0,1,255,0,254,0,253,3,0,1,255,108,105,98,111,112,117,115,32,49,46,49,46,49,45,98,101,116,97,0,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,255,255,156,110,86,70,59,51,45,40,37,33,31,28,26,25,23,22,21,20,19,18,17,16,16,15,15,14,13,13,12,12,12,12,11,11,11,10,10,10,9,9,9,9,9,9,8,8,8,8,8,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,1,0,25,23,2,0,126,124,119,109,87,41,19,9,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,80,75,69,63,56,49,40,34,29,20,18,10,0,0,0,0,0,0,0,0,110,100,90,84,78,71,65,58,51,45,39,32,26,20,12,0,0,0,0,0,0,118,110,103,93,86,80,75,70,65,59,53,47,40,31,23,15,4,0,0,0,0,126,119,112,104,95,89,83,78,72,66,60,54,47,39,32,25,17,12,1,0,0,134,127,120,114,103,97,91,85,78,72,66,60,54,47,41,35,29,23,16,10,1,144,137,130,124,113,107,101,95,88,82,76,70,64,57,51,45,39,33,26,15,1,152,145,138,132,123,117,111,105,98,92,86,80,74,67,61,55,49,43,36,20,1,162,155,148,142,133,127,121,115,108,102,96,90,84,77,71,65,59,53,46,30,1,172,165,158,152,143,137,131,125,118,112,106,100,94,87,81,75,69,63,56,45,20,200,200,200,200,200,200,200,200,198,193,188,183,178,173,168,163,158,153,148,129,104,40,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,40,15,23,28,31,34,36,38,39,41,42,43,44,45,46,47,47,49,50,51,52,53,54,55,55,57,58,59,60,61,62,63,63,65,66,67,68,69,70,71,71,40,20,33,41,48,53,57,61,64,66,69,71,73,75,76,78,80,82,85,87,89,91,92,94,96,98,101,103,105,107,108,110,112,114,117,119,121,123,124,126,128,40,23,39,51,60,67,73,79,83,87,91,94,97,100,102,105,107,111,115,118,121,124,126,129,131,135,139,142,145,148,150,153,155,159,163,166,169,172,174,177,179,35,28,49,65,78,89,99,107,114,120,126,132,136,141,145,149,153,159,165,171,176,180,185,189,192,199,205,211,216,220,225,229,232,239,245,251,21,33,58,79,97,112,125,137,148,157,166,174,182,189,195,201,207,217,227,235,243,251,17,35,63,86,106,123,139,152,165,177,187,197,206,214,222,230,237,250,25,31,55,75,91,105,117,128,138,146,154,161,168,174,180,185,190,200,208,215,222,229,235,240,245,255,16,36,65,89,110,128,144,159,173,185,196,207,217,226,234,242,250,11,41,74,103,128,151,172,191,209,225,241,255,9,43,79,110,138,163,186,207,227,246,12,39,71,99,123,144,164,182,198,214,228,241,253,9,44,81,113,142,168,192,214,235,255,7,49,90,127,160,191,220,247,6,51,95,134,170,203,234,7,47,87,123,155,184,212,237,6,52,97,137,174,208,240,5,57,106,151,192,231,5,59,111,158,202,243,5,55,103,147,187,224,5,60,113,161,206,248,4,65,122,175,224,4,67,127,182,234,224,224,224,224,224,224,224,224,160,160,160,160,185,185,185,178,178,168,134,61,37,224,224,224,224,224,224,224,224,240,240,240,240,207,207,207,198,198,183,144,66,40,160,160,160,160,160,160,160,160,185,185,185,185,193,193,193,183,183,172,138,64,38,240,240,240,240,240,240,240,240,207,207,207,207,204,204,204,193,193,180,143,66,40,185,185,185,185,185,185,185,185,193,193,193,193,193,193,193,183,183,172,138,65,39,207,207,207,207,207,207,207,207,204,204,204,204,201,201,201,188,188,176,141],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([66,40,193,193,193,193,193,193,193,193,193,193,193,193,194,194,194,184,184,173,139,65,39,204,204,204,204,204,204,204,204,201,201,201,201,198,198,198,187,187,175,140,66,40,72,127,65,129,66,128,65,128,64,128,62,128,64,128,64,128,92,78,92,79,92,78,90,79,116,41,115,40,114,40,132,26,132,26,145,17,161,12,176,10,177,11,24,179,48,138,54,135,54,132,53,134,56,133,55,132,55,132,61,114,70,96,74,88,75,88,87,74,89,66,91,67,100,59,108,50,120,40,122,37,97,43,78,50,83,78,84,81,88,75,86,74,87,71,90,73,93,74,93,74,109,40,114,36,117,34,117,34,143,17,145,18,146,19,162,12,165,10,178,7,189,6,190,8,177,9,23,178,54,115,63,102,66,98,69,99,74,89,71,91,73,91,78,89,86,80,92,66,93,64,102,59,103,60,104,60,117,52,123,44,138,35,133,31,97,38,77,45,61,90,93,60,105,42,107,41,110,45,116,38,113,38,112,38,124,26,132,27,136,19,140,20,155,14,159,16,158,18,170,13,177,10,187,8,192,6,175,9,159,10,21,178,59,110,71,86,75,85,84,83,91,66,88,73,87,72,92,75,98,72,105,58,107,54,115,52,114,55,112,56,129,51,132,40,150,33,140,29,98,35,77,42,42,121,96,66,108,43,111,40,117,44,123,32,120,36,119,33,127,33,134,34,139,21,147,23,152,20,158,25,154,26,166,21,173,16,184,13,184,10,150,13,139,15,22,178,63,114,74,82,84,83,92,82,103,62,96,72,96,67,101,73,107,72,113,55,118,52,125,52,118,52,117,55,135,49,137,39,157,32,145,29,97,33,77,40,2,1,0,0,8,13,16,19,21,23,24,26,27,28,29,30,31,32,32,33,34,34,35,36,36,37,37,224,112,44,15,3,2,1,0,254,237,192,132,70,23,4,0,255,252,226,155,61,11,2,0,250,245,234,203,71,50,42,38,35,33,31,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,179,99,0,8,16,32,71,56,43,30,21,12,6,0,199,165,144,124,109,96,84,71,61,51,42,32,23,15,8,0,241,225,211,199,187,175,164,153,142,132,123,114,105,96,88,80,72,64,57,50,44,38,33,29,24,20,16,12,9,5,2,0,15,131,138,138,155,155,173,173,69,93,115,118,131,138,141,138,150,150,155,150,155,160,166,160,131,128,134,141,141,141,145,145,145,150,155,155,155,155,160,160,160,160,166,166,173,173,182,192,182,192,192,192,205,192,205,224,4,6,24,7,5,0,0,2,0,0,12,28,41,13,252,247,15,42,25,14,1,254,62,41,247,246,37,65,252,3,250,4,66,7,248,16,14,38,253,33,13,22,39,23,12,255,36,64,27,250,249,10,55,43,17,1,1,8,1,1,6,245,74,53,247,244,55,76,244,8,253,3,93,27,252,26,39,59,3,248,2,0,77,11,9,248,22,44,250,7,40,9,26,3,9,249,20,101,249,4,3,248,42,26,0,241,33,68,2,23,254,55,46,254,15,3,255,21,16,41,250,27,61,39,5,245,42,88,4,1,254,60,65,6,252,255,251,73,56,1,247,19,94,29,247,0,12,99,6,4,8,237,102,46,243,3,2,13,3,2,9,235,84,72,238,245,46,104,234,8,18,38,48,23,0,240,70,83,235,11,5,245,117,22,248,250,23,117,244,3,3,248,95,28,4,246,15,77,60,241,255,4,124,2,252,3,38,84,24,231,2,13,42,13,31,21,252,56,46,255,255,35,79,243,19,249,65,88,247,242,20,4,81,49,227,20,0,75,3,239,5,247,44,92,248,1,253,22,69,31,250,95,41,244,5,39,67,16,252,1,0,250,120,55,220,243,44,122,4,232,81,5,11,3,7,2,0,9,10,88,46,2,90,87,93,91,82,98,109,120,118,12,113,115,117,119,99,59,87,111,63,111,112,80,126,124,125,124,129,121,126,23,132,127,127,127,126,127,122,133,130,134,101,118,119,145,126,86,124,120,123,119,170,173,107,109,12,35,60,83,108,132,157,180,206,228,15,32,55,77,101,125,151,175,201,225,19,42,66,89,114,137,162,184,209,230,12,25,50,72,97,120,147,172,200,223,26,44,69,90,114,135,159,180,205,225,13,22,53,80,106,130,156,180,205,228,15,25,44,64,90,115,142,168,196,222,19,24,62,82,100,120,145,168,190,214,22,31,50,79,103,120,151,170,203,227,21,29,45,65,106,124,150,171,196,224,30,49,75,97,121,142,165,186,209,229,19,25,52,70,93,116,143,166,192,219,26,34,62,75,97,118,145,167,194,217,25,33,56,70,91,113,143,165,196,223,21,34,51,72,97,117,145,171,196,222,20,29,50,67,90,117,144,168,197,221,22,31,48,66,95,117,146,168,196,222,24,33,51,77,116,134,158,180,200,224,21,28,70,87,106,124,149,170,194,217,26,33,53,64,83,117,152,173,204,225,27,34,65,95,108,129,155,174,210,225,20,26,72,99,113,131,154,176,200,219,34,43,61,78,93,114,155,177,205,229,23,29,54,97,124,138,163,179,209,229,30,38,56,89,118,129,158,178,200,231,21,29,49,63,85,111,142,163,193,222,27,48,77,103,133,158,179,196,215,232,29,47,74,99,124,151,176,198,220,237,33,42,61,76,93,121,155,174,207,225,29,53,87,112,136,154,170,188,208,227,24,30,52,84,131,150,166,186,203,229,37,48,64,84,104,118,156,177,201,230,212,178,148,129,108,96,85,82,79,77,61,59,57,56,51,49,48,45,42,41,40,38,36,34,31,30,21,12,10,3,1,0,255,245,244,236,233,225,217,203,190,176,175,161,149,136,125,114,102,91,81,71,60,52,43,35,28,20,19,18,12,11,5,0,179,138,140,148,151,149,153,151,163,116,67,82,59,92,72,100,89,92,16,0,0,0,0,99,66,36,36,34,36,34,34,34,34,83,69,36,52,34,116,102,70,68,68,176,102,68,68,34,65,85,68,84,36,116,141,152,139,170,132,187,184,216,137,132,249,168,185,139,104,102,100,68,68,178,218,185,185,170,244,216,187,187,170,244,187,187,219,138,103,155,184,185,137,116,183,155,152,136,132,217,184,184,170,164,217,171,155,139,244,169,184,185,170,164,216,223,218,138,214,143,188,218,168,244,141,136,155,170,168,138,220,219,139,164,219,202,216,137,168,186,246,185,139,116,185,219,185,138,100,100,134,100,102,34,68,68,100,68,168,203,221,218,168,167,154,136,104,70,164,246,171,137,139,137,155,218,219,139,255,254,253,238,14,3,2,1,0,255,254,252,218,35,3,2,1,0,255,254,250,208,59,4,2,1,0,255,254,246,194,71,10,2,1,0,255,252,236,183,82,8,2,1,0,255,252,235,180,90,17,2,1,0,255,248,224,171,97,30,4,1,0,255,254,236,173,95,37,7,1,0,255,255,255,131,6,145,255,255,255,255,255,236,93,15,96,255,255,255,255,255,194,83,25,71,221,255,255,255,255,162,73,34,66,162,255,255,255,210,126,73,43,57,173,255,255,255,201,125,71,48,58,130,255,255,255,166,110,73,57,62,104,210,255,255,251,123,65,55,68,100,171,255,7,23,38,54,69,85,100,116,131,147,162,178,193,208,223,239,13,25,41,55,69,83,98,112,127,142,157,171,187,203,220,236,15,21,34,51,61,78,92,106,126,136,152,167,185,205,225,240,10,21,36,50,63,79,95,110,126,141,157,173,189,205,221,237,17,20,37,51,59,78,89,107,123,134,150,164,184,205,224,240,10,15,32,51,67,81,96,112,129,142,158,173,189,204,220,236,8,21,37,51,65,79,98,113,126,138,155,168,179,192,209,218,12,15,34,55,63,78,87,108,118,131,148,167,185,203,219,236,16,19,32,36,56,79,91,108,118,136,154,171,186,204,220,237,11,28,43,58,74,89,105,120,135,150,165,180,196,211,226,241,6,16,33,46,60,75,92,107,123,137,156,169,185,199,214,225,11,19,30,44,57,74,89,105,121,135,152,169,186,202,218,234,12,19,29,46,57,71,88,100,120,132,148,165,182,199,216,233,17,23,35,46,56,77,92,106,123,134,152,167,185,204,222,237,14,17,45,53,63,75,89,107,115,132,151,171,188,206,221,240,9,16,29,40,56,71,88,103,119,137,154,171,189,205,222,237,16,19,36,48,57,76,87,105,118,132,150,167,185,202,218,236,12,17,29,54,71,81,94,104,126,136,149,164,182,201,221,237,15,28,47,62,79,97,115,129,142,155,168,180,194,208,223,238,8,14,30,45,62,78,94,111,127,143,159,175,192,207,223,239,17,30,49,62,79,92,107,119,132,145,160,174,190,204,220,235,14,19,36,45,61,76,91,108,121,138,154,172,189,205,222,238,12,18,31,45,60,76,91,107,123,138,154,171,187,204,221,236,13,17,31,43,53,70,83,103,114,131,149,167,185,203,220,237,17,22,35,42,58,78,93,110,125,139,155,170,188,206,224,240,8,15,34,50,67,83,99,115,131,146,162,178,193,209,224,239,13,16,41,66,73,86,95,111,128,137,150,163,183,206,225,241,17,25,37,52,63,75,92,102,119,132,144,160,175,191,212,231,19,31,49,65,83,100,117,133,147,161,174,187,200,213,227,242,18,31,52,68,88,103,117,126,138,149,163,177,192,207,223,239,16,29,47,61,76,90,106,119,133,147,161,176,193,209,224,240,15,21,35,50,61,73,86,97,110,119,129,141,175,198,218,237,225,204,201,184,183,175,158,154,153,135,119,115,113,110,109,99,98,95,79,68,52,50,48,45,43,32,31,27,18,10,3,0,255,251,235,230,212,201,196,182,167,166,163,151,138,124,110,104,90,78,76,70,69,57,45,34,24,21,11,6,5,4,3,0,175,148,160,176,178,173,174,164,177,174,196,182,198,192,182,68,62,66,60,72,117,85,90,118,136,151,142,160,142,155,0,0,0,0,0,0,0,1,100,102,102,68,68,36,34,96,164,107,158,185,180,185,139,102,64,66,36,34,34,0,1,32,208,139,141,191,152,185,155,104,96,171,104,166,102,102,102,132,1,0,0,0,0,16,16,0,80,109,78,107,185,139,103,101,208,212,141,139,173,153,123,103,36,0,0,0,0,0,0,1,48,0,0,0,0,0,0,32,68,135,123,119,119,103,69,98,68,103,120,118,118,102,71,98,134,136,157,184,182,153,139,134,208,168,248,75,189,143,121,107,32,49,34,34,34,0,17,2,210,235,139,123,185,137,105,134,98,135,104,182,100,183,171,134,100,70,68,70,66,66,34,131,64,166,102,68,36,2,1,0,134,166,102,68,34,34,66,132,212,246,158,139,107,107,87,102,100,219,125,122,137,118,103,132,114,135,137,105,171,106,50,34,164,214,141,143,185,151,121,103,192,34,0,0,0,0,0,1,208,109,74,187,134,249,159,137,102,110,154,118,87,101,119,101,0,2,0,36,36,66,68,35,96,164,102,100,36,0,2,33,167,138,174,102,100,84,2,2,100,107,120,119,36,197,24,0,255,254,253,244,12,3,2,1,0,255,254,252,224,38,3,2,1,0,255,254,251,209,57,4,2,1,0,255,254,244,195,69,4,2,1,0,255,251,232,184,84,7,2,1,0,255,254,240,186,86,14,2,1,0,255,254,239,178,91,30,5,1,0,255,248,227,177,100,19,2,1,0,255,255,255,156,4,154,255,255,255,255,255,227,102,15,92,255,255,255,255,255,213,83,24,72,236,255,255,255,255,150,76,33,63,214,255,255,255,190,121,77,43,55,185,255,255,255,245,137,71,43,59,139,255,255,255,255,131,66,50,66,107,194,255,255,166,116,76,55,53,125,255,255,249,247,246,245,244,234,210,202,201,200,197,174,82,59,56,55,54,46,22,12,11,10,9,7,0,64,0,128,64,0,232,158,10,0,230,0,243,221,192,181,0,171,85,0,192,128,64,0,205,154,102,51,0,213,171,128,85,43,0,224,192,160,128,96,64,32,0,100,40,16,7,3,1,0,203,150,0,215,195,166,125,110,82,0,253,250,244,233,212,182,150,131,120,110,98,85,72,60,49,40,32,25,19,15,13,11,9,8,7,6,5,4,3,2,1,0,210,208,206,203,199,193,183,168,142,104,74,52,37,27,20,14,10,6,4,2,0,223,201,183,167,152,138,124,111,98,88,79,70,62,56,50,44,39,35,31,27,24,21,18,16,14,12,10,8,6,4,3,2,1,0,188,176,155,138,119,97,67,43,26,10,0,165,119,80,61,47,35,27,20,14,9,4,0,113,63,0,125,51,26,18,15,12,11,10,9,8,7,6,5,4,3,2,1,0,198,105,45,22,15,12,11,10,9,8,7,6,5,4,3,2,1,0,213,162,116,83,59,43,32,24,18,15,12,9,7,6,5,3,2,0,239,187,116,59,28,16,11,10,9,8,7,6,5,4,3,2,1,0,250,229,188,135,86,51,30,19,13,10,8,6,5,4,3,2,1,0,249,235,213,185,156,128,103,83,66,53,42,33,26,21,17,13,10,0,254,249,235,206,164,118,77,46,27,16,10,7,5,4,3,2,1,0,255,253,249,239,220,191,156,119,85,57,37,23,15,10,6,4,2,0,255,253,251,246,237,223,203,179,152,124,98,75,55,40,29,21,15,0,255,254,253,247,220,162,106,67,42,28,18,12,9,6,4,3,2,0,31,57,107,160,205,205,255,255,255,255,255,255,255,255,255,255,255,255,69,47,67,111,166,205,255,255,255,255,255,255,255,255,255,255,255,255,82,74,79,95,109,128,145,160,173,205,205,205,224,255,255,224,255,224,125,74,59,69,97,141,182,255,255,255,255,255,255,255,255,255,255,255,173,115,85,73,76,92,115,145,173,205,224,224,255,255,255,255,255,255,166,134,113,102,101,102,107,118,125,138,145,155,166,182,192,192,205,150,224,182,134,101,83,79,85,97,120,145,173,205,224,255,255,255,255,255,255,224,192,150,120,101,92,89,93,102,118,134,160,182,192,224,224,224,255,224,224,182,155,134,118,109,104,102,106,111,118,131,145,160,173,131,241,190,178,132,87,74,41,14,0,223,193,157,140,106,57,39,18,0,131,74,141,79,80,138,95,104,134,95,99,91,125,93,76,123,115,123,128,0,214,42,0,235,128,21,0,244,184,72,11,0,248,214,128,42,7,0,248,225,170,80,25,5,0,251,236,198,126,54,18,3,0,250,238,211,159,82,35,15,5,0,250,231,203,168,128,88,53,25,6,0,252,238,216,185,148,108,71,40,18,4,0,253,243,225,199,166,128,90,57,31,13,3,0,254,246,233,212,183,147,109,73,44,23,10,2,0,255,250,240,223,198,166,128,90,58,33,16,6,1,0,255,251,244,231,210,181,146,110,75,46,25,12,5,1,0,255,253,248,238,221,196,164,128,92,60,35,18,8,3,1,0,255,253,249,242,229,208,180,146,110,76,48,27,14,7,3,1,0,129,0,207,50,0,236,129,20,0,245,185,72,10,0,249,213,129,42,6,0,250,226,169,87,27,4,0,251,233,194,130,62,20,4,0,250,236,207,160,99,47,17,3,0,255,240,217,182,131,81,41,11,1,0,255,254,233,201,159,107,61,20,2,1,0,255,249,233,206,170,128,86,50,23,7,1,0,255,250,238,217,186,148,108,70,39,18,6,1,0,255,252,243,226,200,166,128,90,56,30,13,4,1,0,255,252,245,231,209,180,146,110,76,47,25,11,4,1,0,255,253,248,237,219,194,163,128,93,62,37,19,8,3,1,0,255,254,250,241,226,205,177,145,111,79,51,30,15,6,2,1,0,129,0,203,54,0,234,129,23,0,245,184,73,10,0,250,215,129,41,5,0,252,232,173,86,24,3,0,253,240,200,129,56,15,2,0,253,244,217,164,94,38,10,1,0,253,245,226,189,132,71,27,7,1,0,253,246,231,203,159,105,56,23,6,1,0,255,248,235,213,179,133,85,47,19,5,1,0,255,254,243,221,194,159,117,70,37,12,2,1,0,255,254,248,234,208,171,128,85,48,22,8,2,1,0,255,254,250,240,220,189,149,107,67,36,16,6,2,1,0,255,254,251,243,227,201,166,128,90,55,29,13,5,2,1,0,255,254,252,246,234,213,183,147,109,73,43,22,10,4,2,1,0,130,0,200,58,0,231,130,26,0,244,184,76,12,0,249,214,130,43,6,0,252,232,173,87,24,3,0,253,241,203,131,56,14,2,0,254,246,221,167,94,35,8,1,0,254,249,232,193,130,65,23,5,1,0,255,251,239,211,162,99,45,15,4,1,0,255,251,243,223,186,131,74,33,11,3,1,0,255,252,245,230,202,158,105,57,24,8,2,1,0,255,253,247,235,214,179,132,84,44,19,7,2,1,0,255,254,250,240,223,196,159,112,69,36,15,6,2,1,0,255,254,253,245,231,209,176,136,93,55,27,11,3,2,1,0,255,254,253,252,239,221,194,158,117,76,42,18,4,3,2,1,0,0,0,2,5,9,14,20,27,35,44,54,65,77,90,104,119,135,254,49,67,77,82,93,99,198,11,18,24,31,36,45,255,46,66,78,87,94,104,208,14,21,32,42,51,66,255,94,104,109,112,115,118,248,53,69,80,88,95,102,0,15,8,7,4,11,12,3,2,13,10,5,6,9,14,1,0,9,6,3,4,5,8,1,2,7,0,1,0,0,0,1,0,0,1,255,1,255,2,254,2,254,3,253,0,1,0,1,255,2,255,2,254,3,254,3,253,7,254,7,0,2,255,255,255,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,255,2,1,0,1,1,0,0,255,255,0,0,1,255,0,1,255,0,255,1,254,2,254,254,2,253,2,3,253,252,3,252,4,4,251,5,250,251,6,249,6,5,8,247,0,0,1,0,0,0,0,0,0,0,255,1,0,0,1,255,0,1,255,255,1,255,2,1,255,2,254,254,2,254,2,2,3,253,0,1,0,0,0,0,0,0,1,0,1,0,0,1,255,1,0,0,2,1,255,2,255,255,2,255,2,2,255,3,254,254,254,3,0,1,0,0,1,0,1,255,2,255,2,255,2,3,254,3,254,254,4,4,253,5,253,252,6,252,6,5,251,8,250,251,249,9,251,8,255,6,255,6,252,10,250,10,254,6,255,6,251,10,247,12,253,7,254,7,249,13,16,24,34,6,0,3,0,7,3,0,1,10,0,2,6,18,10,12,4,0,2,0,0,0,9,4,7,4,0,3,12,7,7,120,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);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]}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;var _fabsf=Math_abs;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>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 _llvm_ctlz_i32=true;Module["_memset"]=_memset;var _BDtoILow=true;Module["_bitshift64Shl"]=_bitshift64Shl;var _floorf=Math_floor;function _abort(){Module["abort"]()}var _log=Math_log;var _sqrtf=Math_sqrt;function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}var _cos=Math_cos;Module["_i64Add"]=_i64Add;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}var _floor=Math_floor;function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}var _BItoD=true;var _sqrt=Math_sqrt;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var _atan2=Math_atan2;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _exp=Math_exp;var _llvm_pow_f64=Math_pow;function _pthread_self(){return 0}Module["_memmove"]=_memmove;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_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}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_viiiiiii":invoke_viiiiiii,"_floor":_floor,"_sqrtf":_sqrtf,"_exp":_exp,"_llvm_pow_f64":_llvm_pow_f64,"_cos":_cos,"_pthread_self":_pthread_self,"_llvm_stacksave":_llvm_stacksave,"___setErrNo":___setErrNo,"_fabsf":_fabsf,"_sbrk":_sbrk,"_time":_time,"_atan2":_atan2,"_floorf":_floorf,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_log":_log,"_sqrt":_sqrt,"_abort":_abort,"_llvm_stackrestore":_llvm_stackrestore,"_sysconf":_sysconf,"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_viiiiiii;var ea=env._floor;var fa=env._sqrtf;var ga=env._exp;var ha=env._llvm_pow_f64;var ia=env._cos;var ja=env._pthread_self;var ka=env._llvm_stacksave;var la=env.___setErrNo;var ma=env._fabsf;var na=env._sbrk;var oa=env._time;var pa=env._atan2;var qa=env._floorf;var ra=env._emscripten_memcpy_big;var sa=env._log;var ta=env._sqrt;var ua=env._abort;var va=env._llvm_stackrestore;var wa=env._sysconf;var xa=0.0;
// EMSCRIPTEN_START_FUNCS
function za(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Aa(){return i|0}function Ba(a){a=a|0;i=a}function Ca(a,b){a=a|0;b=b|0;i=a;j=b}function Da(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Ea(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 Fa(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 Ga(a){a=a|0;C=a}function Ha(){return C|0}function Ia(a,b){a=+a;b=b|0;var c=0,d=0;c=0;while(1){if((c|0)>=21)break;if(+g[4260+(c<<2)>>2]>a)break;c=c+1|0}if((c|0)>(b|0)?+g[4260+(b<<2)>>2]+ +g[4344+(b<<2)>>2]>a:0)return b|0;if((c|0)>=(b|0)){b=c;return b|0}d=b+-1|0;if(!(+g[4260+(d<<2)>>2]-+g[4344+(d<<2)>>2]<a)){d=c;return d|0}d=b;return d|0}function Ja(a){a=a|0;return (_(a,1664525)|0)+1013904223|0}function Ka(a,d,e,f,h,i){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0;m=c[a+44>>2]<<i;n=c[a+32>>2]|0;a=a+8|0;k=0;do{j=_(k,m)|0;l=0;while(1){if((l|0)>=(f|0))break;q=b[n+(l<<1)>>1]|0;r=d+(j+(q<<i)<<2)|0;o=l+1|0;p=+O(+(+La(r,r,(b[n+(o<<1)>>1]|0)-q<<i)+1.0000000272452012e-27));g[e+(l+(_(k,c[a>>2]|0)|0)<<2)>>2]=p;l=o}k=k+1|0}while((k|0)<(h|0));return}function La(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;f=e+ +g[a+(d<<2)>>2]*+g[b+(d<<2)>>2];d=d+1|0;e=f}return +e}function Ma(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=_(c[a+44>>2]|0,j)|0;r=a+8|0;n=c[a+32>>2]|0;p=0;while(1){o=_(p,q)|0;a=0;a:while(1){if((a|0)>=(h|0))break;k=1.0/(+g[f+(a+(_(p,c[r>>2]|0)|0)<<2)>>2]+1.0000000272452012e-27);l=a+1|0;m=n+(l<<1)|0;a=_(b[n+(a<<1)>>1]|0,j)|0;while(1){if((a|0)>=(_(b[m>>1]|0,j)|0)){a=l;continue a}s=a+o|0;g[e+(s<<2)>>2]=+g[d+(s<<2)>>2]*k;a=a+1|0}}p=p+1|0;if((p|0)>=(i|0))break}return}function Na(a,d,e,f,h,i,j,k,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=_(c[a+44>>2]|0,j)|0;q=c[a+32>>2]|0;a=_(b[q+(i<<1)>>1]|0,j)|0;if((k|0)!=1){p=(r|0)/(k|0)|0;a=(a|0)<(p|0)?a:p}l=(l|0)==0;p=l?a:0;o=l?i:0;h=l?h:0;l=q+(h<<1)|0;k=b[l>>1]|0;m=_(k<<16>>16,j)|0;i=e;a=0;while(1){if((a|0)>=(_(k<<16>>16,j)|0))break;g[i>>2]=0.0;k=b[l>>1]|0;i=i+4|0;a=a+1|0}d=d+(m<<2)|0;while(1){if((h|0)>=(o|0))break;a=b[q+(h<<1)>>1]|0;l=_(a<<16>>16,j)|0;m=h+1|0;s=b[q+(m<<1)>>1]|0;k=_(s<<16>>16,j)|0;n=+X(+((+g[f+(h<<2)>>2]+ +g[21512+(h<<2)>>2])*.6931471805599453));s=_(s<<16>>16,j)|0;a=_(a<<16>>16,j)|0;h=a+1|0;a=((s|0)>(h|0)?s:h)-a|0;h=d;while(1){s=i;i=s+4|0;g[s>>2]=+g[h>>2]*n;l=l+1|0;if((l|0)>=(k|0))break;else h=h+4|0}h=m;d=d+(a<<2)|0}rj(e+(p<<2)|0,0,r-p<<2|0)|0;return}function Oa(a,e,f,h,j,l,m,n,o,p,q,r,s,t){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0.0;Q=i;i=i+16|0;N=Q+4|0;P=Q;M=a+32|0;I=a+8|0;J=(j|0)==1;K=(h|0)==3;L=1<<h;a:while(1){if((m|0)>=(n|0))break;H=m+1|0;C=c[M>>2]|0;C=(b[C+(H<<1)>>1]|0)-(b[C+(m<<1)>>1]|0)|0;D=+X(+(+((Pa((c[r+(m<<2)>>2]|0)+1|0,C)|0)>>>h|0)*-.125*.6931471805599453))*.5;E=C<<h;F=1.0/+O(+(+(E|0)));G=_(m,j)|0;a=0;while(1){v=c[I>>2]|0;z=(_(a,v)|0)+m|0;x=c[p+(z<<2)>>2]|0;c[N>>2]=x;y=c[q+(z<<2)>>2]|0;c[P>>2]=y;u=(c[k>>2]=x,+g[k>>2]);w=(c[k>>2]=y,+g[k>>2]);if(J){v=v+m|0;x=p+(v<<2)|0;x=c[(u>+g[x>>2]?N:x)>>2]|0;c[N>>2]=x;v=q+(v<<2)|0;u=(c[k>>2]=x,+g[k>>2]);v=c[(w>+g[v>>2]?P:v)>>2]|0;c[P>>2]=v;w=(c[k>>2]=v,+g[k>>2])}else v=y;R=(c[k>>2]=x,+g[k>>2]);w=+g[o+(z<<2)>>2]-(R<(c[k>>2]=v,+g[k>>2])?u:w);w=+X(+(-(w<0.0?0.0:w)*.6931471805599453))*2.0;w=K?w*1.4142135381698608:w;w=(D<w?D:w)*F;x=_(a,l)|0;x=x+(b[(c[M>>2]|0)+(m<<1)>>1]<<h)|0;A=e+(x<<2)|0;B=f+(G+a)|0;u=-w;y=0;z=0;while(1){if((z|0)>=(L|0))break;b:do if(!(d[B>>0]&1<<z)){v=0;while(1){if((v|0)>=(C|0)){y=1;break b}y=Ja(s)|0;g[e+(x+((v<<h)+z)<<2)>>2]=(y&32768|0)==0?u:w;s=y;v=v+1|0}}while(0);z=z+1|0}if(y)ud(A,E,1.0,t);a=a+1|0;if((a|0)>=(j|0)){m=H;continue a}}}i=Q;return}function Pa(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function Qa(a,d,e,f,h,i,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;z=_(c[a+44>>2]|0,m)|0;A=c[a+32>>2]|0;if((_((b[A+(k<<1)>>1]|0)-(b[A+(k+-1<<1)>>1]|0)|0,m)|0)<9){i=0;return i|0}y=a+8|0;a=0;n=0;B=0;o=0;C=0;a:while(1){t=o;while(1){if((t|0)<(k|0))break;a=a+1|0;if((a|0)<(l|0))t=0;else break a}p=b[A+(t<<1)>>1]|0;x=p<<16>>16;r=(_(x,m)|0)+(_(a,z)|0)|0;o=t+1|0;q=b[A+(o<<1)>>1]|0;x=_((q<<16>>16)-x|0,m)|0;if((x|0)<9)continue;s=+(x|0);q=_((q<<16>>16)-(p<<16>>16)|0,m)|0;p=0;u=0;v=0;w=0;while(1){if((p|0)==(q|0))break;D=+g[d+(r+p<<2)>>2];D=D*D*s;p=p+1|0;u=D<.25?u+1|0:u;v=D<.0625?v+1|0:v;w=D<.015625?w+1|0:w}if((t|0)>((c[y>>2]|0)+-4|0))n=n+(Pa(v+u<<5,x)|0)|0;B=B+1|0;C=C+(((w<<1|0)>=(x|0)&1)+((v<<1|0)>=(x|0)&1)+((u<<1|0)>=(x|0)&1)<<8)|0}do if(j){if(!n)a=0;else a=Pa(n,_(4-(c[y>>2]|0)+k|0,l)|0)|0;a=(c[h>>2]|0)+a>>1;c[h>>2]=a;switch(c[i>>2]|0){case 2:{a=a+4|0;break}case 0:{a=a+-4|0;break}default:{}}if((a|0)>22){c[i>>2]=2;break}if((a|0)>18){c[i>>2]=1;break}else{c[i>>2]=0;break}}while(0);a=Pa(C,B)|0;a=a+(c[e>>2]|0)>>1;c[e>>2]=a;a=(a*3|0)+(3-f<<7|64)+2>>2;if((a|0)<80){i=3;return i|0}if((a|0)<256){i=2;return i|0}else return ((a|0)<384?1:0)|0;return 0}function Ra(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0;b=b>>1;d=c<<1;e=0;while(1){if((e|0)<(c|0))f=0;else break;while(1){if((f|0)>=(b|0))break;k=a+((_(d,f)|0)+e<<2)|0;j=+g[k>>2]*.7071067690849304;h=a+((_(f<<1|1,c)|0)+e<<2)|0;i=+g[h>>2]*.7071067690849304;g[k>>2]=j+i;g[h>>2]=j-i;f=f+1|0}e=e+1|0}return}function Sa(e,f,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;var 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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+48|0;ja=ka;fa=(l|0)!=0?2:1;ga=(e|0)==0;Z=(p|0)==0?1:1<<x;aa=c[f+32>>2]|0;ba=aa+(h<<1)|0;ca=b[ba>>1]<<x;M=f+8|0;ea=(_(fa,(b[aa+((c[M>>2]|0)+-1<<1)>>1]<<x)-ca|0)|0)<<2;da=i;i=i+((1*ea|0)+15&-16)|0;ea=da;M=b[aa+((c[M>>2]|0)+-1<<1)>>1]<<x;$=M-ca|0;c[ja+32>>2]=n;c[ja+24>>2]=w;c[ja>>2]=e;c[ja+12>>2]=s;c[ja+4>>2]=f;X=ja+36|0;c[X>>2]=c[z>>2];c[ja+16>>2]=q;c[ja+40>>2]=A;R=ja+8|0;S=j+-1|0;T=(l|0)==0;U=ja+28|0;V=y+-1|0;W=ja+20|0;P=f+12|0;Q=(1<<Z)+-1|0;N=(q|0)==3;O=(Z|0)>1;A=0;n=k+(M<<2)|0;M=h;q=1;while(1){if((M|0)>=(j|0))break;c[R>>2]=M;F=(M|0)==(S|0);G=aa+(M<<1)|0;K=b[G>>1]<<x;f=k+(K<<2)|0;e=T?0:l+(K<<2)|0;J=M+1|0;K=(b[aa+(J<<1)>>1]<<x)-K|0;L=bc(w)|0;H=(M|0)==(h|0)?v:v-L|0;v=u-L|0;c[U>>2]=v+-1;if((M|0)<=(V|0)?(ha=y-M|0,ha=Ta(H,(ha|0)>3?3:ha)|0,ha=(c[o+(M<<2)>>2]|0)+ha|0,ia=(v|0)<(ha|0),!(((ia?v:ha)|0)<=16383&((ia?v:ha)|0)<0)):0)I=((ia?v:ha)|0)>16383?16383:ia?v:ha;else I=0;if(ga?((b[G>>1]<<x)-K|0)>=(b[ba>>1]<<x|0):0)A=(q|0)!=0|(A|0)==0?M:A;D=c[t+(M<<2)>>2]|0;c[W>>2]=D;C=(M|0)<(c[P>>2]|0);f=C?f:ea;E=C?e:T?e:ea;n=F?0:C?n:0;if((A|0)!=0?N^1|O|(D|0)<0:0){p=(b[aa+(A<<1)>>1]<<x)-ca|0;p=(p|0)<(K|0)?0:p-K|0;v=p+ca|0;q=A;do q=q+-1|0;while((b[aa+(q<<1)>>1]<<x|0)>(v|0));v=v+K|0;B=A+-1|0;do B=B+1|0;while((b[aa+(B<<1)>>1]<<x|0)<(v|0));v=0;e=0;do{D=_(q,fa)|0;v=v|d[m+D>>0];e=e|d[m+(D+fa+-1)>>0];q=q+1|0}while((q|0)<(B|0));D=p;C=v}else{D=-1;C=Q;e=Q}a:do if(!r)Y=27;else{if((M|0)==(s|0)){if(!ga){Y=27;break}v=aa+(s<<1)|0;r=0;while(1){if((r|0)>=((b[v>>1]<<x)-ca|0)){Y=27;break a}Y=da+(r<<2)|0;g[Y>>2]=(+g[Y>>2]+ +g[da+($+r<<2)>>2])*.5;r=r+1|0}}p=(I|0)/2|0;B=(D|0)==-1;if(F)v=0;else v=da+((b[G>>1]<<x)-ca<<2)|0;v=Ua(ja,f,K,p,Z,B?0:da+(D<<2)|0,x,v,1.0,n,C)|0;if(F)q=0;else q=da+($+((b[G>>1]<<x)-ca)<<2)|0;q=Ua(ja,E,K,p,Z,B?0:da+($+D<<2)|0,x,q,1.0,n,e)|0}while(0);do if((Y|0)==27){Y=0;q=E;r=(D|0)==-1?0:da+(D<<2)|0;if(!E){if(F)v=0;else v=da+((b[G>>1]<<x)-ca<<2)|0;v=Ua(ja,f,K,I,Z,r,x,v,1.0,n,C|e)|0;r=0;q=v;break}else{if(F)v=0;else v=da+((b[G>>1]<<x)-ca<<2)|0;v=Va(ja,f,q,K,I,Z,r,x,v,n,C|e)|0;r=0;q=v;break}}while(0);G=_(M,fa)|0;a[m+G>>0]=v;a[m+(G+fa+-1)>>0]=q;v=H+((c[o+(M<<2)>>2]|0)+L)|0;M=J;q=(I|0)>(K<<3|0)&1}c[z>>2]=c[X>>2];i=ka;return}function Ta(a,b){a=a|0;b=b|0;return (a|0)/(b|0)|0|0}function Ua(a,b,e,f,h,i,j,k,l,m,n){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;q=m;t=(c[a>>2]|0)==0;p=c[a+20>>2]|0;u=(h|0)==1&1;s=Pa(e,h)|0;if((e|0)==1){Wa(a,b,0,f,k);k=1;return k|0}v=(p|0)>0?p:0;do if((m|0)==0|(i|0)==0)q=o;else{if((v|0)==0?!((s&1|0)==0&(p|0)<0|(h|0)>1):0){q=o;break}uj(m|0,i|0,e<<2|0)|0}while(0);r=q;i=(q|0)==0;q=0;while(1){if((q|0)>=(v|0))break;if(!t)Ra(b,e>>q,1<<q);if(!i)Ra(r,e>>q,1<<q);n=d[29734+(n&15)>>0]|0|(d[29734+(n>>4)>>0]|0)<<2;q=q+1|0}q=h>>v;m=n;n=s<<v;h=0;while(1){if(!((n&1|0)==0&(p|0)<0))break;if(!t)Ra(b,n,q);if(!i)Ra(r,n,q);s=m|m<<q;q=q<<1;m=s;n=n>>1;p=p+1|0;h=h+1|0}o=(q|0)>1;if(o){if(!t)Xa(b,n>>v,q<<v,u);if(!i)Xa(r,n>>v,q<<v,u)}p=Ya(a,b,e,f,q,r,j,l,m)|0;if(!t){k=p;return k|0}if(o){Za(b,n>>v,q<<v,u);o=0}else o=0;while(1){if((o|0)>=(h|0)){n=p;o=0;break}u=q>>1;t=n<<1;Ra(b,t,u);q=u;n=t;p=p|p>>>u;o=o+1|0}while(1){if((o|0)>=(v|0))break;u=d[29750+n>>0]|0;Ra(b,e>>o,1<<o);n=u;o=o+1|0}o=q<<v;a:do if(k){l=+O(+(+(e|0)));p=0;while(1){if((p|0)>=(e|0))break a;g[k+(p<<2)>>2]=l*+g[b+(p<<2)>>2];p=p+1|0}}while(0);k=n&(1<<o)+-1;return k|0}function Va(a,b,d,e,f,h,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0.0;B=i;i=i+32|0;r=B+28|0;s=B+24|0;q=B;c[r>>2]=f;c[s>>2]=n;z=(c[a>>2]|0)==0;u=c[a+24>>2]|0;if((e|0)==1){Wa(a,b,d,f,l);e=1;i=B;return e|0}_a(a,q,b,d,e,r,h,h,k,1,s);A=c[q>>2]|0;v=c[q+16>>2]|0;t=c[q+20>>2]|0;x=+(c[q+4>>2]|0)*.000030517578125;w=+(c[q+8>>2]|0)*.000030517578125;y=(e|0)==2;do if(y){f=c[r>>2]|0;if((v|0)<16384)switch(v|0){case 0:{o=0;break}default:p=5}else switch(v|0){case 16384:{o=0;break}default:p=5}if((p|0)==5)o=8;p=f-o|0;r=(v|0)>8192;q=a+28|0;c[q>>2]=(c[q>>2]|0)-(t+o);q=r?d:b;r=r?b:d;do if(o)if(z){f=jc(u,1)|0;break}else{f=+g[q>>2]*+g[r+4>>2]-+g[q+4>>2]*+g[r>>2]<0.0&1;uc(u,f,1);break}else f=0;while(0);v=1-(f<<1)|0;o=Ua(a,q,2,p,h,j,k,l,1.0,m,n)|0;g[r>>2]=+(0-v|0)*+g[q+4>>2];g[r+4>>2]=+(v|0)*+g[q>>2];if(z){g[b>>2]=x*+g[b>>2];m=b+4|0;g[m>>2]=x*+g[m>>2];C=w*+g[d>>2];g[d>>2]=C;z=d+4|0;g[z>>2]=w*+g[z>>2];w=+g[b>>2];g[b>>2]=w-C;g[d>>2]=w+ +g[d>>2];w=+g[m>>2];g[m>>2]=w-+g[z>>2];g[z>>2]=w+ +g[z>>2];break}else{e=o;i=B;return e|0}}else{r=c[r>>2]|0;p=(r-(c[q+12>>2]|0)|0)/2|0;q=(r|0)<(p|0);p=((q?r:p)|0)<0?0:q?r:p;q=r-p|0;r=a+28|0;o=(c[r>>2]|0)-t|0;c[r>>2]=o;f=c[s>>2]|0;if((p|0)<(q|0)){n=Ua(a,d,e,q,h,0,k,0,w,0,f>>h)|0;o=q+((c[r>>2]|0)-o)|0;o=n|(Ua(a,b,e,(o|0)<=24|(v|0)==16384?p:p+(o+-24)|0,h,j,k,l,1.0,m,f)|0)}else{m=Ua(a,b,e,p,h,j,k,l,1.0,m,f)|0;o=p+((c[r>>2]|0)-o)|0;o=m|(Ua(a,d,e,(o|0)<=24|(v|0)==0?q:q+(o+-24)|0,h,0,k,0,w,0,f>>h)|0)}if(!z){e=o;i=B;return e|0}}while(0);if(!y)hb(b,d,x,e);if(!A){e=o;i=B;return e|0}else f=0;while(1){if((f|0)>=(e|0))break;b=d+(f<<2)|0;g[b>>2]=-+g[b>>2];f=f+1|0}i=B;return o|0}function Wa(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(c[a>>2]|0)==0;m=a+28|0;j=c[a+24>>2]|0;k=(d|0)!=0?2:1;h=0;i=b;while(1){if((c[m>>2]|0)>7){if(l)a=jc(j,1)|0;else{a=+g[i>>2]<0.0&1;uc(j,a,1)}c[m>>2]=(c[m>>2]|0)+-8;e=e+-8|0}else a=0;if(l)g[i>>2]=(a|0)!=0?-1.0:1.0;h=h+1|0;if((h|0)==(k|0))break;else i=d}if(!f)return;c[f>>2]=c[b>>2];return}function Xa(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;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+(e+g<<2)>>2]=c[a+((_(g,d)|0)+f<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;uj(a|0,k|0,d|0)|0;i=l;return}g=d+-2|0;e=0;while(1){if((e|0)>=(d|0))break;f=4104+(g+e<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;m=c[a+((_(h,d)|0)+e<<2)>>2]|0;c[k+((_(c[f>>2]|0,b)|0)+h<<2)>>2]=m;h=h+1|0}e=e+1|0}m=j<<2;uj(a|0,k|0,m|0)|0;i=l;return}function Ya(a,e,f,h,j,k,l,m,n){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+32|0;q=A+28|0;z=A+24|0;r=A;c[q>>2]=h;c[z>>2]=n;u=(c[a>>2]|0)==0;t=c[a+8>>2]|0;w=c[a+16>>2]|0;o=c[a+24>>2]|0;s=c[a+4>>2]|0;y=c[s+100>>2]|0;p=(_(l+1|0,c[s+8>>2]|0)|0)+t|0;p=b[(c[s+96>>2]|0)+(p<<1)>>1]|0;if((l|0)!=-1?((f|0)>2?((d[y+(p+(d[y+p>>0]|0))>>0]|0)+12|0)<(h|0):0):0){s=f>>1;y=e+(s<<2)|0;f=l+-1|0;if((j|0)==1)c[z>>2]=n&1|n<<1;w=j+1>>1;_a(a,r,e,y,s,q,w,j,f,0,z);h=c[r+12>>2]|0;u=c[r+16>>2]|0;t=c[r+20>>2]|0;x=+(c[r+4>>2]|0)*.000030517578125;v=+(c[r+8>>2]|0)*.000030517578125;do if(!((j|0)<=1|(u&16383|0)==0))if((u|0)>8192){h=h-(h>>5-l)|0;break}else{h=h+(s<<3>>6-l)|0;h=(h|0)>0?0:h;break}while(0);q=c[q>>2]|0;r=(q-h|0)/2|0;o=(q|0)<(r|0);r=((o?q:r)|0)<0?0:o?q:r;q=q-r|0;o=a+28|0;p=(c[o>>2]|0)-t|0;c[o>>2]=p;h=(k|0)==0?0:k+(s<<2)|0;if((r|0)<(q|0)){z=c[z>>2]|0;l=(Ya(a,y,s,q,w,h,f,v*m,z>>w)|0)<<(j>>1);j=q+((c[o>>2]|0)-p)|0;e=l|(Ya(a,e,s,(j|0)<=24|(u|0)==16384?r:r+(j+-24)|0,w,k,f,x*m,z)|0);i=A;return e|0}else{z=c[z>>2]|0;k=Ya(a,e,s,r,w,k,f,x*m,z)|0;e=r+((c[o>>2]|0)-p)|0;e=k|(Ya(a,y,s,(e|0)<=24|(u|0)==0?q:q+(e+-24)|0,w,h,f,v*m,z>>w)|0)<<(j>>1);i=A;return e|0}}q=$a(s,t,l,h)|0;r=ab(s,t,l,q)|0;h=a+28|0;p=r;r=(c[h>>2]|0)-r|0;while(1){c[h>>2]=r;if(!((r|0)<0&(q|0)>0))break;B=r+p|0;c[h>>2]=B;C=q+-1|0;y=ab(s,t,l,C)|0;p=y;q=C;r=B-y|0}if(q){p=bb(q)|0;if(u){B=td(e,f,p,w,j,o,m)|0;i=A;return B|0}else{B=sd(e,f,p,w,j,o)|0;i=A;return B|0}}if(!u){B=0;i=A;return B|0}p=(1<<j)+-1|0;o=p&n;c[z>>2]=o;if(!o){rj(e|0,0,f<<2|0)|0;B=0;i=A;return B|0}h=a+36|0;a:do if(!k){o=0;while(1){if((o|0)>=(f|0)){o=p;break a}B=Ja(c[h>>2]|0)|0;c[h>>2]=B;g[e+(o<<2)>>2]=+(B>>20|0);o=o+1|0}}else{p=0;while(1){if((p|0)>=(f|0))break a;B=Ja(c[h>>2]|0)|0;c[h>>2]=B;g[e+(p<<2)>>2]=+g[k+(p<<2)>>2]+((B&32768|0)==0?-.00390625:.00390625);p=p+1|0}}while(0);ud(e,f,m,c[a+40>>2]|0);B=o;i=A;return B|0}function Za(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;l=i;j=_(b,d)|0;k=i;i=i+((1*(j<<2)|0)+15&-16)|0;if(!e){f=0;while(1){if((f|0)>=(d|0))break;e=_(f,b)|0;g=0;while(1){if((g|0)>=(b|0))break;c[k+((_(g,d)|0)+f<<2)>>2]=c[a+(e+g<<2)>>2];g=g+1|0}f=f+1|0}d=j<<2;uj(a|0,k|0,d|0)|0;i=l;return}g=d+-2|0;e=0;while(1){if((e|0)>=(d|0))break;f=4104+(g+e<<2)|0;h=0;while(1){if((h|0)>=(b|0))break;c[k+((_(h,d)|0)+e<<2)>>2]=c[a+((_(c[f>>2]|0,b)|0)+h<<2)>>2];h=h+1|0}e=e+1|0}d=j<<2;uj(a|0,k|0,d|0)|0;i=l;return}function _a(a,d,e,f,h,i,j,k,l,m,n){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=c[a>>2]|0;w=c[a+8>>2]|0;z=c[a+12>>2]|0;q=c[a+24>>2]|0;t=c[a+32>>2]|0;u=c[a+4>>2]|0;x=(b[(c[u+56>>2]|0)+(w<<1)>>1]|0)+(l<<3)|0;r=(m|0)==0;o=c[i>>2]|0;x=cb(h,o,(x>>1)-((r?0:(h|0)==2)?16:4)|0,x,m)|0;x=r|(w|0)<(z|0)?x:1;v=(v|0)==0;if(v)p=0;else p=vd(e,f,m,h,c[a+40>>2]|0)|0;y=q;z=bc(y)|0;a:do if((x|0)==1)if(!r){if(v)p=0;else{x=(p|0)>8192;p=x&1;b:do if(x){l=0;while(1){if((l|0)>=(h|0))break b;x=f+(l<<2)|0;g[x>>2]=-+g[x>>2];l=l+1|0}}while(0);db(u,e,f,t,w,h);o=c[i>>2]|0}if((o|0)>16?(c[a+28>>2]|0)>16:0)if(v){l=gc(y,2)|0;p=0;break}else{rc(y,p,2);l=p;p=0;break}else{l=0;p=0}}else l=0;else{if(!v)p=(_(p,x)|0)+8192>>14;do if((r^1)&(h|0)>2){m=(x|0)/2|0;k=(m*3|0)+3+m|0;if(v){p=dc(y,k)|0;f=m+1|0;q=f*3|0;p=(p|0)<(q|0)?(p|0)/3|0:f+(p-q)|0;if((p|0)>(m|0)){l=p+-1-m+q|0;o=p-m+q|0}else{l=p*3|0;o=(p*3|0)+3|0}fc(y,l,o,k);s=28;break}else{if((p|0)>(m|0)){q=p+-1-m+((m*3|0)+3)|0;l=p-m+((m*3|0)+3)|0}else{q=p*3|0;l=(p*3|0)+3|0}pc(y,q,l,k);p=Pa(p<<14,x)|0;break}}else{if((k|0)>1|r^1){l=x+1|0;if(!v){tc(y,p,l);p=Pa(p<<14,x)|0;if(r){l=0;break a}else break}else{p=ic(y,l)|0;s=28;break}}l=x>>1;q=l+1|0;m=_(q,q)|0;if(v){p=dc(y,m)|0;if((p|0)<((_(l,q)|0)>>1|0)){f=((Mc(p<<3|1)|0)+-1|0)>>>1;o=f+1|0;q=o;p=f;o=(_(f,o)|0)>>>1}else{o=((x<<1)+2-(Mc((m-p<<3)+-7|0)|0)|0)>>>1;f=x+1-o|0;q=f;p=o;o=m-((_(f,x+2-o|0)|0)>>1)|0}fc(y,o,o+q|0,m);s=28;break}else{if((p|0)>(l|0)){o=m-((_(x+1-p|0,x+2-p|0)|0)>>1)|0;q=x+1-p|0}else{o=(_(p,p+1|0)|0)>>1;q=p+1|0}pc(y,o,o+q|0,m);l=0;p=Pa(p<<14,x)|0;break a}}while(0);if((s|0)==28){l=0;p=Pa(p<<14,x)|0;break}if(!p){db(u,e,f,t,w,h);l=0;p=0;break}else{eb(e,f,h);l=0;break}}while(0);o=(bc(y)|0)-z|0;c[i>>2]=(c[i>>2]|0)-o;c:do if((p|0)<16384){switch(p|0){case 0:break;default:break c}c[n>>2]=c[n>>2]&(1<<j)+-1;j=32767;h=0;i=-16384;c[d>>2]=l;n=d+4|0;c[n>>2]=j;n=d+8|0;c[n>>2]=h;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=p;d=d+20|0;c[d>>2]=o;return}else{switch(p|0){case 16384:break;default:break c}c[n>>2]=c[n>>2]&(1<<j)+-1<<j;j=0;h=32767;i=16384;c[d>>2]=l;n=d+4|0;c[n>>2]=j;n=d+8|0;c[n>>2]=h;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=p;d=d+20|0;c[d>>2]=o;return}while(0);i=(fb(p&65535)|0)<<16>>16;n=(fb(16384-p&65535)|0)<<16>>16;z=i;j=n;i=(_((h<<23)+-8388608>>16,(gb(n,i)|0)<<16>>16)|0)+16384>>15;c[d>>2]=l;n=d+4|0;c[n>>2]=z;n=d+8|0;c[n>>2]=j;n=d+12|0;c[n>>2]=i;n=d+16|0;c[n>>2]=p;d=d+20|0;c[d>>2]=o;return}function $a(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[a+100>>2]|0;i=(_(f+1|0,c[a+8>>2]|0)|0)+e|0;i=b[(c[a+96>>2]|0)+(i<<1)>>1]|0;e=g+-1|0;f=d[j+i>>0]|0;h=0;g=0;while(1){if((g|0)==6)break;a=h+f+1>>1;k=(d[j+(i+a)>>0]|0)<(e|0);f=k?f:a;h=k?a:h;g=g+1|0}if(!h)a=-1;else a=d[j+(i+h)>>0]|0;return ((e-a|0)>((d[j+(i+f)>>0]|0)-e|0)?f:h)|0}function ab(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;if(!g){g=0;return g|0}g=(d[(c[a+100>>2]|0)+((b[(c[a+96>>2]|0)+((_(f+1|0,c[a+8>>2]|0)|0)+e<<1)>>1]|0)+g)>>0]|0)+1|0;return g|0}function bb(a){a=a|0;if((a|0)<8)return a|0;a=(a&7|8)<<(a>>3)+-1;return a|0}function cb(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a<<1;a=(f|0)!=0&(a|0)==2?g+-2|0:g+-1|0;a=Ta((_(a,d)|0)+c|0,a)|0;f=c-e+-32|0;a=(f|0)<(a|0)?f:a;if((a|0)<=64){if((a|0)<4){g=1;return g|0}}else a=64;g=(b[26880+((a&7)<<1)>>1]>>14-(a>>3))+1&-2;return g|0}function db(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0.0;i=+g[e+(f<<2)>>2];k=+g[e+((c[a+8>>2]|0)+f<<2)>>2];j=+O(+(i*i+1.0000000036274937e-15+k*k))+1.0000000036274937e-15;i=i/j;j=k/j;a=0;while(1){if((a|0)>=(h|0))break;f=b+(a<<2)|0;g[f>>2]=i*+g[f>>2]+j*+g[d+(a<<2)>>2];a=a+1|0}return}function eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0,h=0.0,i=0;d=0;while(1){if((d|0)>=(c|0))break;i=a+(d<<2)|0;f=+g[i>>2]*.7071067690849304;e=b+(d<<2)|0;h=+g[e>>2]*.7071067690849304;g[i>>2]=f+h;g[e>>2]=h-f;d=d+1|0}return}function fb(a){a=a|0;var b=0;a=a<<16>>16;a=((_(a,a)|0)+4096|0)>>>13;b=a<<16>>16;return 32767-a+(((_(b,(((_(b,(((_(a<<16>>16,-626)|0)+16384|0)>>>15<<16)+542441472>>16)|0)+16384|0)>>>15<<16)+-501415936>>16)|0)+16384|0)>>>15)+1&65535|0}function gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=32-(aa(b|0)|0)|0;e=32-(aa(a|0)|0)|0;c=a<<15-e<<16>>16;a=b<<15-d<<16>>16;return (e-d<<11)+((_(c,(((_(c,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384>>15)-((_(a,(((_(a,-2597)|0)+16384|0)>>>15<<16)+519831552>>16)|0)+16384>>15)|0}function hb(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0.0,f=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0;k=i;i=i+16|0;l=k+4|0;h=k;g[l>>2]=0.0;g[h>>2]=0.0;ib(b,a,b,d,l,h);f=+g[l>>2]*c;g[l>>2]=f;j=c*c+ +g[h>>2];f=f*2.0;e=j-f;f=j+f;if(f<6.000000284984708e-04|e<6.000000284984708e-04){uj(b|0,a|0,d<<2|0)|0;i=k;return}j=1.0/+O(+e);e=1.0/+O(+f);h=0;while(1){if((h|0)>=(d|0))break;n=a+(h<<2)|0;m=+g[n>>2]*c;l=b+(h<<2)|0;f=+g[l>>2];g[n>>2]=j*(m-f);g[l>>2]=e*(m+f);h=h+1|0}i=k;return}function ib(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0.0;i=0;j=0;l=0;while(1){if((i|0)>=(e|0))break;o=+g[a+(i<<2)>>2];n=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+o*+g[b+(i<<2)>>2],c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+o*+g[d+(i<<2)>>2],c[k>>2]|0);i=i+1|0;j=n;l=m}c[f>>2]=j;c[h>>2]=l;return}function jb(a){a=a|0;var b=0;a:do if((a|0)<16e3)if((a|0)<12e3){switch(a|0){case 8e3:break;default:{b=6;break a}}a=6;break}else{switch(a|0){case 12e3:break;default:{b=6;break a}}a=4;break}else{if((a|0)<24e3){switch(a|0){case 16e3:break;default:{b=6;break a}}a=3;break}if((a|0)>=48e3)switch(a|0){case 48e3:{a=1;break a}default:{b=6;break a}}switch(a|0){case 24e3:break;default:{b=6;break a}}a=2}while(0);if((b|0)==6)a=0;return a|0}function kb(a,b,d,e,f,h,i,j,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0;if(h==0.0&i==0.0){if((b|0)==(a|0))return;vj(a|0,b|0,f<<2|0)|0;return}t=+g[4224+(j*12|0)>>2]*h;u=+g[4224+(j*12|0)+4>>2]*h;s=+g[4224+(j*12|0)+8>>2]*h;v=+g[4224+(l*12|0)>>2]*i;w=+g[4224+(l*12|0)+4>>2]*i;x=+g[4224+(l*12|0)+8>>2]*i;r=h==i&(d|0)==(e|0)&(j|0)==(l|0)?0:n;l=(r|0)>0;j=0;n=c[b+(1-e<<2)>>2]|0;o=c[b+(0-e<<2)>>2]|0;p=c[b+(~e<<2)>>2]|0;q=c[b+(-2-e<<2)>>2]|0;while(1){if((j|0)>=(r|0))break;z=c[b+(j-e+2<<2)>>2]|0;A=+g[m+(j<<2)>>2];A=A*A;h=1.0-A;y=j-d|0;h=+g[b+(j<<2)>>2]+h*t*+g[b+(y<<2)>>2]+h*u*(+g[b+(y+1<<2)>>2]+ +g[b+(y+-1<<2)>>2])+h*s*(+g[b+(y+2<<2)>>2]+ +g[b+(y+-2<<2)>>2])+A*v*(c[k>>2]=o,+g[k>>2]);B=(c[k>>2]=n,+g[k>>2]);B=h+A*w*(B+(c[k>>2]=p,+g[k>>2]));h=(c[k>>2]=z,+g[k>>2]);g[a+(j<<2)>>2]=B+A*x*(h+(c[k>>2]=q,+g[k>>2]));y=n;j=j+1|0;n=z;q=p;p=o;o=y}n=l?r:0;if(!(i==0.0)){nb(a+(n<<2)|0,b+(n<<2)|0,e,f-n|0,v,w,x);return}if((b|0)==(a|0))return;vj(a+(r<<2)|0,b+(r<<2)|0,f-r<<2|0)|0;return}function lb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+8|0;k=a+32|0;l=(f<<1)+g+-1|0;a=a+104|0;i=0;while(1){h=c[j>>2]|0;if((i|0)>=(h|0))break;m=i+1|0;n=c[k>>2]|0;h=(_(h,l)|0)+i|0;c[e+(i<<2)>>2]=(_(_((d[(c[a>>2]|0)+h>>0]|0)+64|0,g)|0,(b[n+(m<<1)>>1]|0)-(b[n+(i<<1)>>1]|0)<<f)|0)>>2;i=m}return}function mb(){return 29798}function nb(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;j=0;l=c[b+(1-d<<2)>>2]|0;m=c[b+(0-d<<2)>>2]|0;n=c[b+(~d<<2)>>2]|0;o=c[b+(-2-d<<2)>>2]|0;while(1){if((j|0)>=(e|0))break;q=c[b+(j-d+2<<2)>>2]|0;r=+g[b+(j<<2)>>2]+(c[k>>2]=m,+g[k>>2])*f;s=(c[k>>2]=l,+g[k>>2]);s=r+(s+(c[k>>2]=n,+g[k>>2]))*h;r=(c[k>>2]=q,+g[k>>2]);g[a+(j<<2)>>2]=s+(r+(c[k>>2]=o,+g[k>>2]))*i;p=l;j=j+1|0;l=q;o=n;n=m;m=p}return}function ob(a){a=a|0;return ub(Pc()|0,a)|0}function pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=vb(a,Pc()|0,d,e)|0;if(e){a=e;return a|0}c[a+28>>2]=jb(b)|0;a=0;return a|0}function qb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0,p=0;l=i;i=i+112|0;k=l;a:do if((f|0)==1){c[k>>2]=c[b>>2];d=1;while(1){if((d|0)>=(e|0))break a;m=+g[k+(d+-1<<2)>>2]+-1.0;j=+g[b+(d<<2)>>2];g[k+(d<<2)>>2]=m>j?m:j;d=d+1|0}}else{j=+g[b>>2];m=+g[b+(d<<2)>>2];g[k>>2]=j>m?j:m;h=1;while(1){if((h|0)>=(e|0))break a;n=+g[k+(h+-1<<2)>>2]+-1.0;j=+g[b+(h<<2)>>2];m=+g[b+(h+d<<2)>>2];p=j>m;o=n>(p?j:m);g[k+(h<<2)>>2]=o|p?(o?n:j):m;h=h+1|0}}while(0);d=e+-2|0;while(1){if((d|0)<=-1)break;b=k+(d<<2)|0;m=+g[b>>2];n=+g[k+(d+1<<2)>>2]+-1.0;g[b>>2]=m>n?m:n;d=d+-1|0}h=e+-1|0;d=0;j=0.0;b=2;b:while(1){while(1){if((b|0)<(h|0))break;d=d+1|0;if((d|0)<(f|0))b=2;else break b}m=+g[a+(b<<2)>>2];n=+g[k+(b<<2)>>2];n=(m<0.0?0.0:m)-(n<0.0?0.0:n);j=j+(n<0.0?0.0:n);b=b+1|0}k=j/+(_(e+-3|0,f)|0)>1.0&1;i=l;return k|0}function rb(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0.0,o=0,p=0,q=0.0;p=c[h>>2]|0;l=c[i>>2]|0;do if(!(+g[h+4>>2]==0.0)){m=(d|0)/(f|0)|0;if((f|0)!=1)o=10}else{if((f|0)!=1){m=(d|0)/(f|0)|0;o=10;break}if(j){m=(d|0)/(f|0)|0;break}n=(c[k>>2]=p,+g[k>>2]);m=0;while(1){if((m|0)>=(d|0))break;q=+g[a+((_(m,e)|0)<<2)>>2]*32768.0;g[b+(m<<2)>>2]=q-(c[k>>2]=l,+g[k>>2]);l=(g[k>>2]=n*q,c[k>>2]|0);m=m+1|0}c[i>>2]=l;return}while(0);if((o|0)==10)rj(b|0,0,d<<2|0)|0;h=0;while(1){if((h|0)>=(m|0))break;g[b+((_(h,f)|0)<<2)>>2]=+g[a+((_(h,e)|0)<<2)>>2]*32768.0;h=h+1|0}a:do if(j){o=0;while(1){if((o|0)>=(m|0))break a;h=b+((_(o,f)|0)<<2)|0;n=+g[h>>2];if(!(n>65536.0)){if(n<-65536.0)n=-65536.0}else n=65536.0;g[h>>2]=n;o=o+1|0}}while(0);n=(c[k>>2]=p,+g[k>>2]);m=0;while(1){if((m|0)>=(d|0))break;f=b+(m<<2)|0;q=+g[f>>2];g[f>>2]=q-(c[k>>2]=l,+g[k>>2]);l=(g[k>>2]=n*q,c[k>>2]|0);m=m+1|0}c[i>>2]=l;return}function sb(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.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,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,La=0;La=i;i=i+96|0;q=La+40|0;U=La+32|0;Ba=La+28|0;D=La+24|0;za=La+20|0;ya=La+16|0;T=La+12|0;ja=La+8|0;la=La+4|0;E=La;Fa=c[a+4>>2]|0;Aa=c[a+8>>2]|0;c[Ba>>2]=15;g[D>>2]=0.0;c[za>>2]=0;c[T>>2]=0;xa=c[a>>2]|0;Ja=c[xa+8>>2]|0;B=c[xa+4>>2]|0;ba=c[xa+32>>2]|0;Ga=c[a+32>>2]|0;Ha=c[a+36>>2]|0;g[ja>>2]=0.0;if((h|0)<2|(d|0)==0){a=-1;i=La;return a|0}F=a+28|0;n=_(c[F>>2]|0,e)|0;l=xa+44|0;ga=xa+36|0;e=c[ga>>2]|0;wa=0;while(1){if((wa|0)>(e|0)){h=-1;H=199;break}if((c[l>>2]<<wa|0)==(n|0))break;wa=wa+1|0}if((H|0)==199){i=La;return h|0}Y=1<<wa;qa=c[l>>2]<<wa;C=a+200+((_(Fa,B)|0)<<2)|0;Ea=_(Fa,B+1024|0)|0;ra=a+200+(Ea<<2)|0;ua=_(Fa,Ja)|0;Ca=Ea+ua|0;sa=a+200+(Ca<<2)|0;Da=Ca+ua|0;ta=a+200+(Da<<2)|0;p=(j|0)==0;if(p){ma=0;y=1}else{y=wb(c[j+20>>2]|0,c[j+28>>2]|0)|0;ma=y+4>>3}o=(h|0)<1275?h:1275;r=o-ma|0;Z=a+44|0;e=c[a+40>>2]|0;if(c[Z>>2]|0)if((e|0)==-1){e=-1;H=11}else{h=c[xa>>2]|0;n=((_(e,n)|0)+(h>>4)|0)/(h>>3|0)|0;h=o;l=n>>6;H=13}else H=11;if((H|0)==11){l=_(e,n)|0;if((e|0)==-1){h=o;na=51e4;l=o;ha=0}else{n=c[xa>>2]|0;l=(((n<<2)+((y|0)>1?l+y|0:l)|0)/(n<<3|0)|0)-((c[a+48>>2]|0)!=0&1)|0;n=(o|0)<(l|0);H=((n?o:l)|0)<2;h=H?2:n?o:l;l=H?2:n?o:l;n=0;H=13}}if((H|0)==13){na=e-(_((Aa*40|0)+20|0,(400>>>wa)+-50|0)|0)|0;ha=n}if(p){oc(q,f,h);pa=q}else pa=j;ca=(ha|0)>0;if(((ca?(c[a+52>>2]|0)!=0:0)?(s=(y|0)==1?2:0,t=c[a+164>>2]|0,oa=(ha<<1)-t>>6,(((s|0)>(oa|0)?s:oa)|0)<(r|0)):0)?(u=(ha<<1)-t>>6,u=(s|0)>(u|0)?s:u,(u|0)<(r|0)):0){h=ma+u|0;wc(pa,h);e=u}else e=r;j=h<<3;Q=c[xa+12>>2]|0;Q=(Ha|0)>(Q|0)?Q:Ha;t=qa+B|0;R=_(Fa,t)|0;oa=ka()|0;G=i;i=i+((1*(R<<2)|0)+15&-16)|0;R=a+180|0;m=+g[R>>2];r=_(Aa,qa-B|0)|0;n=c[F>>2]|0;r=(r|0)/(n|0)|0;ea=+xb(d,r);ea=m>ea?m:ea;m=+xb(d+(r<<2)|0,(_(Aa,B)|0)/(n|0)|0);g[R>>2]=m;m=ea>m?ea:m;R=a+60|0;n=m<=1.0/+(1<<c[R>>2]|0);r=n&1;if((y|0)==1){rc(pa,r,15);if(n){if(ca){j=ma+2|0;j=(h|0)<(j|0)?h:j;wc(pa,j);h=j;l=j;n=2;j=j<<3}else n=e;u=h<<3;O=pa+20|0;ia=c[O>>2]|0;c[O>>2]=ia+(u-(wb(ia,c[pa+28>>2]|0)|0));O=n;ia=r;P=j}else{O=e;ia=0;u=1;P=j}}else{O=e;ia=0;u=y;P=j}e=a+16|0;o=xa+16|0;n=m>65536.0;j=0;do{$=G+((_(j,t)|0)+B<<2)|0;rb(d+(j<<2)|0,$,qa,Fa,c[F>>2]|0,o,a+148+(j<<2)|0,((c[e>>2]|0)==0?0:n)&1);j=j+1|0}while((j|0)<(Fa|0));da=a+68|0;if((((c[da>>2]|0)!=0&(O|0)>3|(O|0)>(Aa*12|0))&(Ga|0)==0&(ia|0)==0?(c[a+20>>2]|0)==0:0)?(c[a+24>>2]|0)>4:0){if((c[a+116>>2]|0)==0|(wa|0)==3)e=0;else e=(c[a+64>>2]|0)==5010;n=e^1}else n=0;N=a+100|0;fa=c[N>>2]|0;n=yb(a,G,C,Fa,qa,fa,Ba,D,E,n&1,O)|0;ea=+g[D>>2];if(!(ea>.4000000059604645)?!(+g[a+108>>2]>.4000000059604645):0)S=0;else H=36;do if((H|0)==36){if((c[a+120>>2]|0)!=0?!(+g[a+124>>2]>.3):0){S=0;break}x=+(c[Ba>>2]|0);A=+(c[a+104>>2]|0);S=x>A*1.26|x<A*.79?1:0}while(0);M=(n|0)==0;if(M){if(!((Ga|0)!=0|(u+16|0)>(P|0)))rc(pa,0,1)}else{rc(pa,1,1);W=(c[Ba>>2]|0)+1|0;$=32-(aa(W|0)|0)|0;X=$+-5|0;tc(pa,X,6);uc(pa,W-(16<<X)|0,$+-1|0);uc(pa,c[E>>2]|0,3);sc(pa,fa,29817,2)}B=a+24|0;if((c[B>>2]|0)>0?(c[da>>2]|0)==0:0)e=zb(G,t,Fa,ja,T)|0;else e=0;K=(wa|0)>0;a:do if(K?((wb(c[pa+20>>2]|0,c[pa+28>>2]|0)|0)+3|0)<=(P|0):0)if(e){u=(_(Fa,qa)|0)<<2;q=i;i=i+((1*u|0)+15&-16)|0;u=i;i=i+((1*(ua<<2)|0)+15&-16)|0;t=i;i=i+((1*(ua<<2)|0)+15&-16)|0;p=(Y|0)==0;if(!p){$=(c[B>>2]|0)>7;n=$&1;r=_(Aa,Ja)|0;j=i;i=i+((1*(r<<2)|0)+15&-16)|0;if($){Ab(xa,0,G,q,Aa,Fa,wa,c[F>>2]|0);Ka(xa,q,u,Q,Aa,wa);jd(xa,Q,Ha,u,j,Aa);m=+(wa|0)*.5;f=0;while(1){if((f|0)>=(r|0)){f=u;L=j;u=e;j=Y;$=0;break a}$=j+(f<<2)|0;g[$>>2]=+g[$>>2]+m;f=f+1|0}}else{f=u;L=j;u=e;j=Y;$=0}}else{f=u;u=e;j=Y;r=0;H=51}}else{r=0;H=49}else{r=1;H=49}while(0);if((H|0)==49){f=(_(Fa,qa)|0)<<2;q=i;i=i+((1*f|0)+15&-16)|0;f=i;i=i+((1*(ua<<2)|0)+15&-16)|0;t=i;i=i+((1*(ua<<2)|0)+15&-16)|0;p=1;u=0;j=0;H=51}if((H|0)==51){n=(_(Aa,Ja)|0)<<2;L=i;i=i+((1*n|0)+15&-16)|0;n=0;$=r}Ab(xa,j,G,q,Aa,Fa,wa,c[F>>2]|0);X=(Fa|0)==2;if(X&(Aa|0)==1)c[T>>2]=0;Ka(xa,q,f,Q,Aa,wa);b:do if(!(c[da>>2]|0))V=f;else{r=2;while(1){if((r|0)>=(Ha|0)){V=f;break b}W=f+(r<<2)|0;x=+g[W>>2];A=+g[f>>2]*9.999999747378752e-05;A=x<A?x:A;g[W>>2]=A;g[W>>2]=A>1.0000000036274937e-15?A:1.0000000036274937e-15;r=r+1|0}}while(0);jd(xa,Q,Ha,V,t,Aa);W=_(Aa,Ja)|0;s=i;i=i+((1*(W<<2)|0)+15&-16)|0;rj(s|0,0,Ha<<2|0)|0;d=(Ga|0)==0;do if(d?(J=c[a+192>>2]|0,(J|0)!=0):0){r=c[da>>2]|0;if(r){D=t;t=(r|0)==0;z=0.0;A=0.0;v=0.0;break}C=c[a+92>>2]|0;C=(C|0)<2?2:C;o=ba;r=0;v=0.0;w=0.0;e=0;while(1){if((e|0)>=(Aa|0))break;y=_(Ja,e)|0;x=w;f=0;while(1){if((f|0)>=(C|0))break;w=+g[J+(y+f<<2)>>2];do if(w<.25){if(!(w>-2.0)){w=-2.0;break}if(w>0.0)H=72}else{w=.25;H=72}while(0);if((H|0)==72){H=0;w=w*.5}E=f+1|0;I=(b[o+(E<<1)>>1]|0)-(b[o+(f<<1)>>1]|0)|0;r=r+I|0;v=v+w*+((f<<1|1)-C|0);x=x+w*+(I|0);f=E}w=x;e=e+1|0}m=w/+(r|0)+.20000000298023224;v=v*6.0/+(_(_(_(Aa,C+-1|0)|0,C+1|0)|0,C)|0)*.5;if(v<.03099999949336052){if(!(v>-.03099999949336052))v=-.03099999949336052}else v=.03099999949336052;r=(b[o+(C<<1)>>1]|0)/2|0;y=0;while(1){f=y+1|0;if((b[o+(f<<1)>>1]|0)<(r|0))y=f;else break}e=(Aa|0)==2;r=0;o=0;while(1){if((o|0)>=(C|0))break;f=J+(o<<2)|0;if(e){H=J+(Ja+o<<2)|0;f=c[(+g[f>>2]>+g[H>>2]?f:H)>>2]|0}else f=c[f>>2]|0;H=(c[k>>2]=f,+g[k>>2])<0.0;w=(H?(c[k>>2]=f,+g[k>>2]):0.0)-(m+v*+(o-y|0));if(w>.25){g[s+(o<<2)>>2]=w+-.25;r=r+1|0}o=o+1|0}c:do if((r|0)>2){m=m+.25;if(m>0.0){rj(s|0,0,C<<2|0)|0;v=0.0;m=0.0;break}else r=0;while(1){if((r|0)>=(C|0))break c;J=s+(r<<2)|0;A=+g[J>>2]+-.25;g[J>>2]=A<0.0?0.0:A;r=r+1|0}}while(0);z=m+.20000000298023224;A=v*64.0;H=94}else{z=0.0;A=0.0;H=94}while(0);if((H|0)==94){y=(c[da>>2]|0)==0;if(y){m=p?0.0:+(wa|0)*.5;r=(Aa|0)==2;v=-10.0;x=0.0;f=Ga;while(1){if((f|0)>=(Ha|0))break;v=v+-1.0;w=+g[t+(f<<2)>>2]-m;w=v>w?v:w;do if(r){v=+g[t+(f+Ja<<2)>>2]-m;if(w>v)break;w=v}while(0);v=w;x=x+w;f=f+1|0}r=a+196|0;m=+g[r>>2];v=x/+(Ha-Ga|0)-m;if(!(v<-1.5)){if(v>3.0)v=3.0}else v=-1.5;g[r>>2]=m+v*.019999999552965164;D=t;t=y}else{D=t;t=y;v=0.0}}if(!n)uj(L|0,D|0,W<<2|0)|0;if(K){r=pa+20|0;f=pa+28|0;do if(((wb(c[r>>2]|0,c[f>>2]|0)|0)+3|0)<=(P|0)&(u|0)==0)if((c[B>>2]|0)>4^1|t^1){u=0;t=j}else{if(!(qb(D,ra,Ja,Ha,Aa)|0)){u=0;t=j;break}Ab(xa,Y,G,q,Aa,Fa,wa,c[F>>2]|0);Ka(xa,q,V,Q,Aa,wa);jd(xa,Q,Ha,V,D,Aa);m=+(wa|0)*.5;t=0;while(1){if((t|0)>=(W|0))break;K=L+(t<<2)|0;g[K>>2]=+g[K>>2]+m;t=t+1|0}g[ja>>2]=.20000000298023224;u=1;t=Y}else t=j;while(0);if(((wb(c[r>>2]|0,c[f>>2]|0)|0)+3|0)>(P|0))K=t;else{rc(pa,u,3);K=t}}else K=j;I=(_(Aa,qa)|0)<<2;J=i;i=i+((1*I|0)+15&-16)|0;Ma(xa,q,J,V,Q,Aa,Y);I=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;d:do if((!((l|0)<(Aa*15|0)|d^1)?(c[B>>2]|0)>1:0)?(c[da>>2]|0)==0:0){do if((l|0)<40)t=24;else{if((l|0)<60){t=12;break}t=(l|0)<100?8:6}while(0);r=Bb(xa,Q,u,I,t,J,qa,wa,U,+g[ja>>2],c[T>>2]|0)|0;q=I+(Q+-1<<2)|0;t=Q;while(1){if((t|0)>=(Ha|0))break d;c[I+(t<<2)>>2]=c[q>>2];t=t+1|0}}else H=126;while(0);e:do if((H|0)==126){c[U>>2]=0;r=0;while(1){if((r|0)>=(Ha|0)){r=0;break e}c[I+(r<<2)>>2]=u;r=r+1|0}}while(0);G=i;i=i+((1*(W<<2)|0)+15&-16)|0;dd(xa,Ga,Ha,Q,D,ra,P,G,pa,Aa,wa,O,c[a+12>>2]|0,a+84|0,(c[B>>2]|0)>3&1,c[a+56>>2]|0,c[da>>2]|0);Cb(Ga,Ha,u,I,wa,r,pa);F=pa+20|0;H=pa+28|0;if(((wb(c[F>>2]|0,c[H>>2]|0)|0)+4|0)<=(P|0)){f:do if(!(c[da>>2]|0)){r=c[B>>2]|0;do if((K|0)!=0|(r|0)<3){if(r)break;c[a+80>>2]=0;j=0;break f}else{if((O|0)<(Aa*10|0)|d^1)break;U=a+80|0;j=Qa(xa,J,a+88|0,c[U>>2]|0,a+96|0,N,M?0:1,Q,Aa,Y)|0;c[U>>2]=j;break f}while(0);c[a+80>>2]=2;j=2}else{c[N>>2]=0;c[a+80>>2]=2;j=2}while(0);sc(pa,j,29820,5)}E=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;B=a+52|0;y=ba;x=+Db(D,L,Ja,Ga,Ha,Aa,E,c[R>>2]|0,c[xa+56>>2]|0,u,c[Z>>2]|0,c[B>>2]|0,y,wa,l,la,c[da>>2]|0,s);if(c[da>>2]|0)c[E>>2]=(l|0)>26?8:(l|0)/3|0;d=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;lb(xa,d,wa,Aa);s=P<<3;r=6;t=Ga;q=bc(pa)|0;l=0;while(1){if((t|0)>=(Ha|0))break;o=t+1|0;f=(_(Aa,(b[y+(o<<1)>>1]|0)-(b[y+(t<<1)>>1]|0)|0)|0)<<wa;n=f<<3;p=(f|0)<48;f=(n|0)<((p?48:f)|0)?n:p?48:f;p=d+(t<<2)|0;n=E+(t<<2)|0;e=0;t=r;j=0;while(1){if((q+(t<<3)|0)>=(s-l|0))break;if((e|0)>=(c[p>>2]|0))break;Z=(j|0)<(c[n>>2]|0);rc(pa,Z&1,t);q=bc(pa)|0;if(!Z)break;e=e+f|0;t=1;j=j+1|0;l=l+f|0}if(j)r=(r|0)<3?2:r+-1|0;c[n>>2]=e;t=o}C=(Aa|0)==2;if(C){if(wa)c[za>>2]=Eb(xa,J,wa,qa)|0;Z=a+188|0;Y=Ia(+((na|0)/1e3|0|0),c[Z>>2]|0)|0;c[Z>>2]=Y;U=(Ga|0)>(Y|0);c[Z>>2]=(Ha|0)<((U?Ga:Y)|0)?Ha:U?Ga:Y}if((q+48|0)>(s-l|0)){y=5;r=q}else{if(!(c[da>>2]|0))n=Fb(xa,J,D,Ha,wa,Aa,qa,a+120|0,a+184|0,+g[ja>>2],c[a+188>>2]|0,A,c[a+72>>2]|0)|0;else n=5;sc(pa,n,29824,7);y=n;r=bc(pa)|0}if(ca){t=(c[ga>>2]|0)-wa|0;f=1275>>>(3-wa|0);f=(h|0)<(f|0)?h:f;j=ha-((Aa*320|0)+160)|0;n=c[B>>2]|0;q=(n|0)==0;if(!q)j=j+(c[a+172>>2]>>t)|0;o=(Gb(xa,a+120|0,j,wa,na,c[a+92>>2]|0,Aa,c[a+188>>2]|0,n,+g[a+184>>2],c[la>>2]|0,+g[ja>>2],S,x,c[a+64>>2]|0,c[da>>2]|0,(c[a+192>>2]|0)!=0&1,z,v)|0)+r|0;j=(r+l+63>>6)+2-ma|0;h=o+32>>6;h=((j|0)>(h|0)?j:h)+ma|0;h=((f|0)<(h|0)?f:h)-ma|0;j=(ia|0)==0;e=j?h:2;n=a+176|0;l=c[n>>2]|0;if((l|0)<970){c[n>>2]=l+1;m=1.0/+(l+21|0)}else m=1.0000000474974513e-03;do if(!q){l=a+164|0;c[l>>2]=(c[l>>2]|0)+((j?h<<6:128)-ha);l=a+172|0;la=a+168|0;h=c[la>>2]|0;h=h+~~(m*+(((j?o-ha|0:0)<<t)-(c[l>>2]|0)-h|0))|0;c[la>>2]=h;c[l>>2]=0-h;l=a+164|0;h=c[l>>2]|0;if((h|0)>=0)break;c[l>>2]=0;e=e+(j?(h|0)/-64|0:0)|0}while(0);t=e+ma|0;t=(f|0)<(t|0)?f:t;wc(pa,t)}else t=h;f=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;q=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;r=i;i=i+((1*(Ja<<2)|0)+15&-16)|0;s=t<<6;e=s-(bc(pa)|0)+-1|0;u=(u|0)==0;if((u^1)&(wa|0)>1)p=(e|0)>=((wa<<3)+16|0);else p=0;o=p?8:0;n=e-o|0;if(!(c[a+120>>2]|0))e=Ha+-1|0;else{do if((na|0)<(Aa*32e3|0))e=13;else{if((na|0)<(Aa*48e3|0)){e=16;break}if((na|0)<(Aa*6e4|0)){e=18;break}e=(na|0)<(Aa*8e4|0)?19:20}while(0);na=c[a+144>>2]|0;e=(na|0)>(e|0)?na:e}j=a+188|0;h=a+92|0;l=pd(xa,Ga,Ha,E,d,y,j,za,n,ya,q,f,r,Aa,wa,pa,1,c[h>>2]|0,(c[da>>2]|0)==0?e:1)|0;e=c[h>>2]|0;if(!e)e=l;else{ma=e+1|0;e=e+-1|0;na=(e|0)>(l|0);e=(ma|0)<((na?e:l)|0)?ma:na?e:l}c[h>>2]=e;ed(xa,Ga,Ha,ra,G,f,pa,Aa);na=i;i=i+((1*W|0)+15&-16)|0;n=a+76|0;Sa(1,xa,Ga,Ha,J,C?J+(qa<<2)|0:0,na,V,q,K,c[a+80>>2]|0,c[za>>2]|0,c[j>>2]|0,I,s-o|0,c[ya>>2]|0,pa,wa,l,n,c[a+72>>2]|0);if(p)uc(pa,(c[a+116>>2]|0)<2&1,1);fd(xa,Ga,Ha,ra,G,f,r,(t<<3)-(wb(c[F>>2]|0,c[H>>2]|0)|0)|0,pa,Aa);g:do if(ia){e=0;while(1){if((e|0)>=(W|0))break g;g[a+200+(Ea+e<<2)>>2]=-28.0;e=e+1|0}}while(0);c[a+104>>2]=c[Ba>>2];g[a+108>>2]=ea;c[a+112>>2]=fa;if(X&(Aa|0)==1)uj(a+200+(Ea+Ja<<2)|0,ra|0,Ja<<2|0)|0;h:do if(u){e=ua<<2;uj(ta|0,sa|0,e|0)|0;uj(sa|0,ra|0,e|0)|0;e=0}else{h=0;while(1){if((h|0)>=(ua|0)){e=0;break h}Ba=a+200+(Ca+h<<2)|0;A=+g[Ba>>2];ea=+g[a+200+(Ea+h<<2)>>2];g[Ba>>2]=A<ea?A:ea;h=h+1|0}}while(0);do{l=_(e,Ja)|0;h=0;while(1){if((h|0)>=(Ga|0)){h=Ha;break}Ba=l+h|0;g[a+200+(Ea+Ba<<2)>>2]=0.0;g[a+200+(Da+Ba<<2)>>2]=-28.0;g[a+200+(Ca+Ba<<2)>>2]=-28.0;h=h+1|0}while(1){if((h|0)>=(Ja|0))break;Ba=l+h|0;g[a+200+(Ea+Ba<<2)>>2]=0.0;g[a+200+(Da+Ba<<2)>>2]=-28.0;g[a+200+(Ca+Ba<<2)>>2]=-28.0;h=h+1|0}e=e+1|0}while((e|0)<(Fa|0));h=a+116|0;if(u&($|0)==0)c[h>>2]=0;else c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=c[H>>2];xc(pa);a=(Hb(c[pa+44>>2]|0)|0)==0;va(oa|0);a=a?t:-3;i=La;return a|0}function tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[j>>2]=d;do switch(b|0){case 4010:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)<0|(b|0)>10)b=38;else{c[a+24>>2]=b;b=37}break}case 10010:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+32>>2]=b;b=37}else b=38;break}case 10012:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+36>>2]=b;b=37}else b=38;break}case 10002:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)<0|(b|0)>2)b=38;else{c[a+20>>2]=(b|0)<2&1;c[a+12>>2]=(b|0)==0&1;b=37}break}case 4014:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)<0|(b|0)>100)b=38;else{c[a+56>>2]=b;b=37}break}case 4020:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+52>>2]=b;b=37;break}case 4006:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+44>>2]=b;b=37;break}case 4002:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)>=501|(b|0)==-1){j=(c[a+4>>2]|0)*26e4|0;c[a+40>>2]=(b|0)<(j|0)?b:j;b=37}else b=38;break}case 10008:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)<1|(b|0)>2)b=38;else{c[a+8>>2]=b;b=37}break}case 4036:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if((b|0)<8|(b|0)>24)b=38;else{c[a+60>>2]=b;b=37}break}case 4037:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[b>>2]=c[a+60>>2];b=37;break}case 4040:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+64>>2]=b;b=37;break}case 4028:{e=a+4|0;h=c[e>>2]|0;f=c[a>>2]|0;d=_(h,(c[f+4>>2]|0)+1024|0)|0;b=_(h,c[f+8>>2]|0)|0;d=d+b|0;b=d+b|0;rj(a+76|0,0,(ub(f,h)|0)+-76|0)|0;j=0;while(1){if((j|0)>=(_(h,c[f+8>>2]|0)|0))break;g[a+200+(b+j<<2)>>2]=-28.0;g[a+200+(d+j<<2)>>2]=-28.0;f=c[a>>2]|0;h=c[e>>2]|0;j=j+1|0}c[a+172>>2]=0;g[a+84>>2]=1.0;c[a+80>>2]=2;c[a+88>>2]=256;c[a+96>>2]=0;c[a+100>>2]=0;b=37;break}case 10016:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+48>>2]=b;b=37;break}case 10022:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if(!b)b=37;else{a=a+120|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];b=37}break}case 10015:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if(!b)b=38;else{c[b>>2]=c[a>>2];b=37}break}case 4031:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;if(!b)b=38;else{c[b>>2]=c[a+76>>2];b=37}break}case 10024:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+68>>2]=b;b=37;break}case 10026:{h=(c[j>>2]|0)+(4-1)&~(4-1);b=c[h>>2]|0;c[j>>2]=h+4;c[a+192>>2]=b;b=37;break}default:{a=-5;i=k;return a|0}}while(0);if((b|0)==37){a=0;i=k;return a|0}else if((b|0)==38){a=-1;i=k;return a|0}return 0}function ub(a,b){a=a|0;b=b|0;var d=0;d=((_(c[a+4>>2]|0,b)|0)<<2)+200+(b<<12)|0;return d+((_(b*3|0,c[a+8>>2]|0)|0)<<2)|0}function vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;if((d|0)<0|(d|0)>2){a=-1;i=f;return a|0}if((a|0)==0|(b|0)==0){a=-7;i=f;return a|0}rj(a|0,0,ub(b,d)|0)|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=d;c[a+28>>2]=1;c[a+32>>2]=0;c[a+36>>2]=c[b+12>>2];c[a+48>>2]=1;c[a+72>>2]=e;c[a+52>>2]=1;c[a+16>>2]=1;c[a+40>>2]=-1;c[a+44>>2]=0;c[a+12>>2]=0;c[a+24>>2]=5;c[a+60>>2]=24;tb(a,4028,f)|0;a=0;i=f;return a|0}function wb(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function xb(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0.0;c=0.0;d=0.0;e=0;while(1){if((e|0)>=(b|0))break;f=+g[a+(e<<2)>>2];c=c>f?c:f;d=d<f?d:f;e=e+1|0}f=-d;return +(c>f?c:f)}function yb(a,b,d,e,f,h,j,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0.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,O=0.0,P=0,Q=0;L=i;i=i+16|0;K=L+8|0;t=L;x=c[a>>2]|0;H=c[x+4>>2]|0;r=f+1024|0;J=(_(r,e)|0)<<2;I=i;i=i+((1*J|0)+15&-16)|0;c[K>>2]=I;c[K+4>>2]=I+(r<<2);I=H+f|0;J=f<<2;p=0;do{G=c[K+(p<<2)>>2]|0;uj(G|0,d+(p<<10<<2)|0,4096)|0;uj(G+4096|0,b+((_(p,I)|0)+H<<2)|0,J|0)|0;p=p+1|0}while((p|0)<(e|0));if(!n){c[t>>2]=15;G=a+104|0;r=15;n=0}else{u=ka()|0;F=i;i=i+((1*(r>>1<<2)|0)+15&-16)|0;G=a+72|0;Qc(K,F,r,e,c[G>>2]|0);Sc(F+2048|0,F,f,979,t,c[G>>2]|0);c[t>>2]=1024-(c[t>>2]|0);p=a+104|0;q=+Tc(F,f,t,c[p>>2]|0,+g[a+108>>2],c[G>>2]|0);r=c[t>>2]|0;if((r|0)>1022){c[t>>2]=1022;r=1022}q=q*.699999988079071;n=c[a+56>>2]|0;if((n|0)>2){q=q*.5;if((n|0)>4)n=(n|0)>8?0:(g[k>>2]=q*.5,c[k>>2]|0);else E=8}else E=8;if((E|0)==8)n=(g[k>>2]=q,c[k>>2]|0);va(u|0);G=p}u=c[G>>2]|0;F=r-u|0;q=(((F|0)>-1?F:0-F|0)*10|0)>(r|0)?.4000000059604645:.20000000298023224;if((o|0)>=25){if((o|0)<35)E=15}else{q=q+.10000000149011612;E=15}if((E|0)==15)q=q+.10000000149011612;F=a+108|0;s=+g[F>>2];p=(g[k>>2]=s,c[k>>2]|0);O=s>.4000000059604645?q+-.10000000149011612:q;O=s>.550000011920929?O+-.10000000149011612:O;q=(c[k>>2]=n,+g[k>>2]);if(q<(O>.20000000298023224?O:.20000000298023224)){C=0;D=0;E=0}else{C=+N(+(q-s))<.10000000149011612;C=~~+M(+((c[k>>2]=C?p:n,+g[k>>2])*32.0/3.0+.5));E=C+-1|0;E=(E|0)>7?7:(C|0)<1?0:E;C=(g[k>>2]=+(E+1|0)*.09375,c[k>>2]|0);D=1}z=x+44|0;A=H<<2;s=-(c[k>>2]=C,+g[k>>2]);B=a+112|0;w=x+60|0;x=(f|0)>1024;y=1024-f<<2;n=0;while(1){o=c[z>>2]|0;v=o-H|0;c[G>>2]=(u|0)>15?u:15;t=_(n,I)|0;p=a+200+((_(n,H)|0)<<2)|0;uj(b+(t<<2)|0,p|0,A|0)|0;if((o|0)==(H|0)){u=t+H|0;o=c[K+(n<<2)>>2]|0}else{u=t+H|0;o=c[K+(n<<2)>>2]|0;Q=c[G>>2]|0;O=-+g[F>>2];P=c[B>>2]|0;kb(b+(u<<2)|0,o+4096|0,Q,Q,v,O,O,P,P,0,0)}kb(b+(u+v<<2)|0,o+(v+1024<<2)|0,c[G>>2]|0,r,f-v|0,-+g[F>>2],s,c[B>>2]|0,h,c[w>>2]|0,H);uj(p|0,b+(t+f<<2)|0,A|0)|0;u=n<<10;t=d+(u<<2)|0;if(x)vj(t|0,o+(f<<2)|0,4096)|0;else{vj(t|0,d+(u+f<<2)|0,y|0)|0;vj(d+(u+1024-f<<2)|0,o+4096|0,J|0)|0}n=n+1|0;if((n|0)>=(e|0))break;u=c[G>>2]|0}c[l>>2]=C;c[j>>2]=r;c[m>>2]=E;i=L;return D|0}function zb(a,b,e,f,h){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;q=i;i=i+((1*(b<<2)|0)+15&-16)|0;r=(b|0)/2|0;s=+(r|0);t=+(r|0);u=r+-5|0;v=(r*6|0)+-102|0;w=0;x=0;while(1){if((x|0)>=(e|0))break;m=_(x,b)|0;l=0;j=0.0;n=0;while(1){if((n|0)>=(b|0))break;p=+g[a+(n+m<<2)>>2];o=(c[k>>2]=l,+g[k>>2])+p;A=(g[k>>2]=j+o-p*2.0,c[k>>2]|0);g[q+(n<<2)>>2]=o;l=A;j=p-o*.5;n=n+1|0}l=q;m=l+48|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));p=0.0;m=0;l=0;while(1){if((l|0)>=(r|0)){o=0.0;n=0;m=r;break}A=l<<1;o=+g[q+(A<<2)>>2];j=+g[q+((A|1)<<2)>>2];j=o*o+j*j;o=(c[k>>2]=m,+g[k>>2]);o=o+(j-o)*.0625;g[q+(l<<2)>>2]=o;p=p+j;m=(g[k>>2]=o,c[k>>2]|0);l=l+1|0}while(1){l=m+-1|0;if((m|0)<=0)break;j=(c[k>>2]=n,+g[k>>2]);n=q+(l<<2)|0;j=j+(+g[n>>2]-j)*.125;g[n>>2]=j;n=(g[k>>2]=j,c[k>>2]|0);if(o>j){m=l;continue}o=j;m=l}j=t/(+O(+(p*o*.5*s))+1.0000000036274937e-15)*64.0;m=12;l=0;while(1){if((m|0)>=(u|0))break;A=~~+M(+(j*+g[q+(m<<2)>>2]));m=m+4|0;l=l+(d[29835+((A|0)>127?127:(A|0)<0?0:A)>>0]|0)|0}l=(l<<8|0)/(v|0)|0;if((l|0)>(w|0))c[h>>2]=x;else l=w;w=l;x=x+1|0}l=(w|0)>200&1;j=+O(+(+(w*27|0)))+-42.0;if(!(j<0.0)){if(!(j>163.0))y=20}else{j=0.0;y=20}if((y|0)==20)if(j*.006899999920278788+-.139<0.0){s=0.0;s=+O(+s);g[f>>2]=s;i=z;return l|0}if(j>163.0){s=.9856999502182007;s=+O(+s);g[f>>2]=s;i=z;return l|0}s=j*.006899999920278788+-.139;s=+O(+s);g[f>>2]=s;i=z;return l|0}function Ab(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=c[a+4>>2]|0;o=(b|0)==0;t=c[a+44>>2]|0;p=c[a+36>>2]|0;s=o?1:b;t=o?t<<i:t;p=o?p-i|0:p;o=a+64|0;r=_(s,t)|0;n=r+q|0;i=a+60|0;m=0;do{a=_(m,n)|0;k=_(_(m,t)|0,s)|0;b=0;while(1){if((b|0)>=(s|0))break;u=d+(a+(_(b,t)|0)<<2)|0;Nc(o,u,e+(b+k<<2)|0,c[i>>2]|0,q,p,s);b=b+1|0}m=m+1|0}while((m|0)<(h|0));a:do if((h|0)==2&(f|0)==1){b=0;while(1){if((b|0)>=(r|0))break a;u=e+(b<<2)|0;g[u>>2]=+g[u>>2]*.5+ +g[e+(r+b<<2)>>2]*.5;b=b+1|0}}while(0);if((j|0)==1)return;m=(r|0)/(j|0)|0;l=+(j|0);b=r-m<<2;a=0;do{k=_(_(a,s)|0,t)|0;i=0;while(1){if((i|0)>=(m|0))break;u=e+(k+i<<2)|0;g[u>>2]=+g[u>>2]*l;i=i+1|0}rj(e+(k+m<<2)|0,0,b|0)|0;a=a+1|0}while((a|0)<(f|0));return}function Bb(d,e,f,h,j,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+16|0;G=M;D=.5-p;D=(D<-.25?-.25:D)*.03999999910593033;J=i;i=i+((1*(e<<2)|0)+15&-16)|0;C=d+32|0;K=c[C>>2]|0;I=e+-1|0;K=(b[K+(e<<1)>>1]|0)-(b[K+(I<<1)>>1]|0)<<n;A=i;i=i+((1*(K<<2)|0)+15&-16)|0;B=i;i=i+((1*(K<<2)|0)+15&-16)|0;K=i;i=i+((1*(e<<2)|0)+15&-16)|0;L=i;i=i+((1*(e<<2)|0)+15&-16)|0;c[o>>2]=0;r=_(q,m)|0;F=(f|0)==0;v=_(n,-2)|0;w=1<<n;x=n+1|0;u=0;while(1){if((u|0)>=(e|0))break;y=u+1|0;z=c[C>>2]|0;q=b[z+(u<<1)>>1]|0;z=(b[z+(y<<1)>>1]|0)-q|0;s=z<<n;z=(z|0)==1;m=s<<2;uj(A|0,l+(r+(q<<n)<<2)|0,m|0)|0;if(!F){p=+Lb(A,s,n,D);q=(g[k>>2]=p,c[k>>2]|0);if(!z?(uj(B|0,A|0,m|0)|0,Ra(B,s>>n,w),E=+Lb(B,s,x,D),E<p):0){t=f;q=(g[k>>2]=E,c[k>>2]|0);m=-1;d=0}else{t=f;m=0;d=0}}else{p=+Lb(A,s,0,D);t=0;q=(g[k>>2]=p,c[k>>2]|0);m=0;d=0}while(1){if((d|0)>=((((t|0)==0?z:1)&1^1)+n|0))break;Ra(A,s>>d,1<<d);p=+Lb(A,s,F?d+1|0:n-d+-1|0,D);if(p<(c[k>>2]=q,+g[k>>2])){N=d+1|0;t=f;q=(g[k>>2]=p,c[k>>2]|0);m=N;d=N;continue}else{t=f;d=d+1|0;continue}}if(F){m=_(m,-2)|0;d=J+(u<<2)|0;c[d>>2]=m;q=0}else{m=m<<1;d=J+(u<<2)|0;c[d>>2]=m;q=n}c[o>>2]=(c[o>>2]|0)+(q-((m|0)/2|0));if(!z){u=y;continue}if(!((m|0)==0|(m|0)==(v|0))){u=y;continue}c[d>>2]=m+-1;u=y}m=f<<2;r=0;while(1){if((r|0)==2)break;t=m+(r<<1)|0;d=29766+(n<<3)+t|0;t=(t|1)+(29766+(n<<3))|0;s=0;u=F?j:0;q=1;while(1){if((q|0)>=(e|0))break;l=u+j|0;o=s+j|0;N=c[J+(q<<2)>>2]|0;f=N-(a[d>>0]<<1)|0;N=N-(a[t>>0]<<1)|0;s=((s|0)<(l|0)?s:l)+((f|0)>-1?f:0-f|0)|0;u=((o|0)<(u|0)?o:u)+((N|0)>-1?N:0-N|0)|0;q=q+1|0}c[G+(r<<2)>>2]=(s|0)<(u|0)?s:u;r=r+1|0}if((c[G+4>>2]|0)<(c[G>>2]|0))if(F){s=0;H=27}else{r=0;q=1}else{s=0;if(F)H=27;else{r=0;q=s}}if((H|0)==27){r=j;q=s}t=m+(q<<1)|0;u=29766+(n<<3)+t|0;t=(t|1)+(29766+(n<<3))|0;d=0;s=r;r=1;while(1){if((r|0)>=(e|0))break;f=s+j|0;l=(d|0)<(f|0);c[K+(r<<2)>>2]=l?0:1;G=d+j|0;F=(G|0)<(s|0);c[L+(r<<2)>>2]=F?0:1;N=c[J+(r<<2)>>2]|0;o=N-(a[u>>0]<<1)|0;N=N-(a[t>>0]<<1)|0;d=(l?d:f)+((o|0)>-1?o:0-o|0)|0;s=(F?G:s)+((N|0)>-1?N:0-N|0)|0;r=r+1|0}s=(d|0)>=(s|0)&1;c[h+(I<<2)>>2]=s;r=e+-2|0;while(1){if((r|0)<=-1)break;N=c[((s|0)==1?L:K)+(r+1<<2)>>2]|0;c[h+(r<<2)>>2]=N;s=N;r=r+-1|0}i=M;return q|0}function Cb(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=c[i+4>>2]<<3;t=i+20|0;u=i+28|0;n=wb(c[t>>2]|0,c[u>>2]|0)|0;l=(e|0)!=0;m=l?2:4;if((g|0)>0)s=(n+m+1|0)>>>0<=k>>>0;else s=0;r=k-(s&1)|0;q=l?4:5;o=0;p=b;k=0;while(1){if((p|0)>=(d|0))break;l=f+(p<<2)|0;if((n+m|0)>>>0>r>>>0){c[l>>2]=o;m=o;l=k}else{rc(i,c[l>>2]^o,m);n=wb(c[t>>2]|0,c[u>>2]|0)|0;l=c[l>>2]|0;m=l;l=k|l}o=m;m=q;p=p+1|0;k=l}if(s?(j=e<<2,(a[j+k+(29766+(g<<3))>>0]|0)!=(a[(j|2)+k+(29766+(g<<3))>>0]|0)):0){rc(i,h,1);k=h<<1}else{k=0;j=e<<2}j=j+k|0;while(1){if((b|0)>=(d|0))break;e=f+(b<<2)|0;c[e>>2]=a[j+(c[e>>2]|0)+(29766+(g<<3))>>0];b=b+1|0}return}function Db(a,d,e,f,h,j,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0;I=i;D=_(j,e)|0;G=i;i=i+((1*(D<<2)|0)+15&-16)|0;E=i;i=i+((1*(D<<2)|0)+15&-16)|0;rj(l|0,0,e<<2|0)|0;y=+(9-m|0);m=0;while(1){if((m|0)>=(h|0)){m=0;F=-31.899999618530273;n=0;break}D=m+5|0;g[E+(m<<2)>>2]=+(b[n+(m<<1)>>1]|0)*.0625+.5+y-+g[21512+(m<<2)>>2]+ +(_(D,D)|0)*.006200000178068876;m=m+1|0}a:while(1){while(1){if((n|0)<(h|0))break;m=m+1|0;if((m|0)<(j|0))n=0;else break a}y=+g[a+((_(m,e)|0)+n<<2)>>2];y=y-+g[E+(n<<2)>>2];F=F>y?F:y;n=n+1|0}if(!((t|0)>50&(s|0)>0&(v|0)==0)){H=0;c[u>>2]=H;i=I;return +F}A=h+-2|0;z=h+-1|0;D=0;v=0;do{x=_(D,e)|0;n=G+(x<<2)|0;m=d+(x<<2)|0;C=c[m>>2]|0;c[n>>2]=C;y=(c[k>>2]=C,+g[k>>2]);C=1;while(1){if((C|0)>=(h|0)){B=v;break}B=x+C|0;J=+g[d+(B<<2)>>2];B=J>+g[d+(B+-1<<2)>>2]+.5?C:v;K=y+1.5;J=K<J?K:J;g[G+(x+C<<2)>>2]=J;y=J;v=B;C=C+1|0}while(1){C=B+-1|0;if((B|0)<=0){C=2;break}L=G+(x+C<<2)|0;y=+g[L>>2];K=+g[G+(x+B<<2)>>2]+2.0;J=+g[d+(x+C<<2)>>2];N=K<J;M=y<(N?K:J);g[L>>2]=M|N?(M?y:K):J;B=C}while(1){if((C|0)>=(A|0))break;N=G+(x+C<<2)|0;K=+g[N>>2];J=+Jb(d+(x+C+-2<<2)|0)+-1.0;g[N>>2]=K>J?K:J;C=C+1|0}J=+Kb(m)+-1.0;K=+g[n>>2];g[n>>2]=K>J?K:J;C=G+(x+1<<2)|0;K=+g[C>>2];g[C>>2]=K>J?K:J;J=+Kb(d+(x+h+-3<<2)|0)+-1.0;C=G+(x+A<<2)|0;K=+g[C>>2];g[C>>2]=K>J?K:J;C=G+(x+z<<2)|0;K=+g[C>>2];g[C>>2]=K>J?K:J;C=0;while(1){if((C|0)>=(h|0))break;N=G+(x+C<<2)|0;K=+g[N>>2];J=+g[E+(C<<2)>>2];g[N>>2]=K>J?K:J;C=C+1|0}D=D+1|0}while((D|0)<(j|0));b:do if((j|0)==2){z=f;while(1){if((z|0)>=(h|0)){x=f;break b}L=z+e|0;M=G+(L<<2)|0;J=+g[M>>2];N=G+(z<<2)|0;K=+g[N>>2]+-4.0;K=J>K?J:K;g[M>>2]=K;J=+g[N>>2];K=K+-4.0;K=J>K?J:K;g[N>>2]=K;K=+g[a+(z<<2)>>2]-K;J=+g[a+(L<<2)>>2]-+g[M>>2];g[N>>2]=((K<0.0?0.0:K)+(J<0.0?0.0:J))*.5;z=z+1|0}}else{x=f;while(1){if((x|0)>=(h|0)){x=f;break b}N=G+(x<<2)|0;J=+g[a+(x<<2)>>2]-+g[N>>2];g[N>>2]=J<0.0?0.0:J;x=x+1|0}}while(0);while(1){if((x|0)>=(h|0))break;N=G+(x<<2)|0;K=+g[N>>2];J=+g[w+(x<<2)>>2];g[N>>2]=K>J?K:J;x=x+1|0}v=(p|0)==0;c:do if(((v^1)&(q|0)==0^1)&(o|0)==0){x=f;while(1){if((x|0)>=(h|0))break c;N=G+(x<<2)|0;g[N>>2]=+g[N>>2]*.5;x=x+1|0}}while(0);C=(t|0)/4|0;B=(q|0)==0;n=(o|0)==0;x=0;while(1){if((f|0)>=(h|0)){H=47;break}if((f|0)>=8)if((f|0)>11){z=G+(f<<2)|0;y=+g[z>>2]*.5;g[z>>2]=y}else H=36;else{H=G+(f<<2)|0;g[H>>2]=+g[H>>2]*2.0;H=36}if((H|0)==36){H=0;N=G+(f<<2)|0;z=N;y=+g[N>>2]}y=y<4.0?y:4.0;g[z>>2]=y;m=f+1|0;z=(_((b[r+(m<<1)>>1]|0)-(b[r+(f<<1)>>1]|0)|0,j)|0)<<s;do if((z|0)>=6)if((z|0)>48){N=~~(y*8.0);A=N;z=((_(N,z)|0)<<3|0)/8|0;break}else{z=~~(y*+(z|0)/6.0);A=z;z=z*48|0;break}else{N=~~y;A=N;z=(_(N,z)|0)<<3}while(0);if(!((v^1)&(B|n^1))?(x+z>>6|0)>(C|0):0)break;c[l+(f<<2)>>2]=A;f=m;x=x+z|0}if((H|0)==47){c[u>>2]=x;i=I;return +F}N=C<<6;c[l+(f<<2)>>2]=N-x;c[u>>2]=N;i=I;return +F}function Eb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;j=a+32|0;a=0;h=1.0000000036274937e-15;i=1.0000000036274937e-15;a:while(1){if((a|0)==13)break;m=c[j>>2]|0;l=a+1|0;k=b[m+(l<<1)>>1]<<e;a=b[m+(a<<1)>>1]<<e;while(1){if((a|0)>=(k|0)){a=l;continue a}o=+g[d+(a<<2)>>2];n=+g[d+(a+f<<2)>>2];a=a+1|0;h=h+(+N(+o)+ +N(+n));i=i+(+N(+(o+n))+ +N(+(o-n)))}}m=b[(c[j>>2]|0)+26>>1]<<e+1;return +(m+((e|0)<2?5:13)|0)*(i*.7071070075035095)>+(m|0)*h|0}function Fb(a,d,e,f,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;o=+o;p=p|0;var q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0.0;if((i|0)==2){p=a+32|0;s=0;r=0.0;while(1){if((s|0)==8)break;w=c[p>>2]|0;u=b[w+(s<<1)>>1]|0;x=u<<h;v=s+1|0;s=v;r=r+ +Ib(d+(x<<2)|0,d+(x+j<<2)|0,(b[w+(v<<1)>>1]|0)-u<<h)}q=+N(+(r*.125));q=q>1.0?1.0:q;t=q;s=8;while(1){if((s|0)>=(n|0))break;w=c[p>>2]|0;x=b[w+(s<<1)>>1]|0;v=x<<h;s=s+1|0;r=+N(+(+Ib(d+(v<<2)|0,d+(v+j<<2)|0,(b[w+(s<<1)>>1]|0)-x<<h)));if(t<r)continue;t=r}r=+N(+t);r=r>1.0?1.0:r;q=+Y(+(1.0010000467300415-q*q))*1.4426950408889634;y=q*.5;r=+Y(+(1.0010000467300415-r*r))*1.4426950408889634;q=q*.75;t=+g[l>>2]+.25;r=-((y>r?y:r)*.5);g[l>>2]=t<r?t:r;q=q<-4.0?1.0:q+5.0}else q=5.0;h=f+-1|0;p=a+8|0;s=0;r=0.0;do{j=0;while(1){if((j|0)>=(h|0))break;r=r+ +g[e+(j+(_(s,c[p>>2]|0)|0)<<2)>>2]*+((j<<1)+2-f|0);j=j+1|0}s=s+1|0}while((s|0)<(i|0));r=(r/+(_(h,i)|0)+1.0)/6.0;if(!(r>2.0)){if(r<-2.0)r=-2.0}else r=2.0;q=q-r-o-m*2.0;if(c[k>>2]|0){r=(+g[k+8>>2]+.05000000074505806)*2.0;if(!(r>2.0)){if(r<-2.0)r=-2.0}else r=2.0;q=q-r}j=~~+M(+(q+.5));if((j|0)>10)return 10;else return ((j|0)<0?0:j)|0;return 0}function Gb(a,d,e,f,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=n|0;o=+o;p=p|0;q=+q;r=r|0;s=s|0;t=t|0;u=+u;v=+v;var w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;C=c[a+8>>2]|0;i=(i|0)==0?C:i;B=c[a+32>>2]|0;x=b[B+(i<<1)>>1]|0;y=x<<16>>16<<f;z=(j|0)==2;if(z){if((i|0)>(k|0))a=b[B+(k<<1)>>1]|0;else a=x;y=y+(a<<16>>16<<f)|0}A=(c[d>>2]|0)==0;if(!A?(w=+g[d+16>>2],w<.4):0)a=e-~~(+(y<<3|0)*(.4000000059604645-w))|0;else a=e;if(z){if((i|0)>(k|0)){x=b[B+(k<<1)>>1]|0;i=k}k=(x<<16>>16<<f)-i|0;D=+(k|0)*.800000011920929/+(y|0)*+(a|0);w=((m<1.0?m:1.0)+-.10000000149011612)*+(k<<3|0);a=a-~~(D<w?D:w)|0}a=a+(n-(16<<f))|0;a=a+~~((o-((r|0)==5010?.019999999552965164:.03999999910593033))*+(a|0))|0;if((A^1)&(s|0)==0){m=+g[d+4>>2]+-.15000000596046448;w=+(y<<3|0);a=a+~~(w*1.2000000476837158*((m<0.0?0.0:m)+-.09000000357627869))|0;if(p)a=a+~~(w*.800000011920929)|0}i=(t|0)==0;if((i^1)&(s|0)==0){t=a+~~(+(y<<3|0)*u)|0;a=(a|0)/4|0;a=(a|0)>(t|0)?a:t}j=~~(+((_(b[B+(C+-2<<1)>>1]<<f,j)|0)<<3|0)*q);f=a>>2;f=(j|0)>(f|0)?j:f;a=(a|0)<(f|0)?a:f;if((i^1)&(s|0)==0){h=a;s=e<<1;l=(s|0)<(h|0);h=l?s:h;return h|0}x=(l|0)==0;if(x^1|(h|0)<64e3){w=+(h+-32e3|0)*.000030517578125;w=w<0.0?0.0:w;if(!x?!(w<.6700000166893005):0)w=.6700000166893005;a=~~(w*+(a-e|0))+e|0}if(!(i&o<.20000000298023224)){h=a;s=e<<1;l=(s|0)<(h|0);h=l?s:h;return h|0}x=96e3-h|0;if((x|0)<=32e3)if((h|0)>96e3)w=0.0;else w=+(x|0)*3.099999958067201e-06;else w=.09919999539852142;h=a+~~(w*v*+(a|0))|0;s=e<<1;l=(s|0)<(h|0);h=l?s:h;return h|0}function Hb(a){a=a|0;return a|0}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;f=e+ +g[a+(d<<2)>>2]*+g[b+(d<<2)>>2];d=d+1|0;e=f}return +e}function Jb(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;b=r+12|0;o=r+8|0;p=r+4|0;q=r;n=c[a+8>>2]|0;c[o>>2]=n;e=+g[a>>2];f=+g[a+4>>2];h=(g[k>>2]=e,c[k>>2]|0);j=(g[k>>2]=f,c[k>>2]|0);if(e>f){g[b>>2]=e;m=h}else{g[b>>2]=f;m=j;j=h}e=+g[a+12>>2];f=+g[a+16>>2];h=(g[k>>2]=e,c[k>>2]|0);l=(g[k>>2]=f,c[k>>2]|0);if(e>f){g[p>>2]=f;g[q>>2]=e;a=l}else{g[p>>2]=e;g[q>>2]=f;a=h;h=l}f=(c[k>>2]=j,+g[k>>2]);if(f>(c[k>>2]=a,+g[k>>2])){c[p>>2]=j;c[b>>2]=h;c[q>>2]=m;l=h;h=m}else{l=m;j=a}f=(c[k>>2]=n,+g[k>>2]);e=(c[k>>2]=l,+g[k>>2]);d=(c[k>>2]=j,+g[k>>2]);do if(f>e)if(e<d){if(f<d){b=o;break}b=p;break}else{if((c[k>>2]=h,+g[k>>2])<e){b=q;break}break}else if(f<d){if(e<d)break;b=p;break}else{if(f<(c[k>>2]=h,+g[k>>2])){b=o;break}b=q;break}while(0);i=r;return +(+g[b>>2])}function Kb(a){a=a|0;var b=0,d=0.0,e=0,f=0.0,h=0,i=0;d=+g[a>>2];f=+g[a+4>>2];i=d>f;h=(g[k>>2]=d,c[k>>2]|0);e=(g[k>>2]=f,c[k>>2]|0);b=i?e:h;e=i?h:e;a=c[a+8>>2]|0;f=(c[k>>2]=e,+g[k>>2]);d=(c[k>>2]=a,+g[k>>2]);if(!(f<d)){if((c[k>>2]=b,+g[k>>2])<d)b=a}else b=e;return +(c[k>>2]=b,+g[k>>2])}function Lb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0.0,f=0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +N(+(+g[a+(f<<2)>>2]));f=f+1|0}return +(e+ +(c|0)*d*e)}function Mb(a){a=a|0;return Qb(Pc()|0,a)|0}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;d=Rb(a,Pc()|0,d)|0;if(!d){b=jb(b)|0;c[a+16>>2]=b;return ((b|0)==0?-1:0)|0}else return d|0;return 0}function Ob(a,d,e,f,h,j,l){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0.0;oa=i;i=i+80|0;p=oa+32|0;J=oa+24|0;na=oa+16|0;N=oa+8|0;M=oa+4|0;L=oa;ha=c[a+8>>2]|0;c[N>>2]=0;c[M>>2]=0;O=c[a+12>>2]|0;ga=c[a>>2]|0;ma=c[ga+8>>2]|0;Z=c[ga+4>>2]|0;y=c[ga+32>>2]|0;ia=c[a+20>>2]|0;ja=c[a+24>>2]|0;la=a+16|0;fa=_(c[la>>2]|0,h)|0;ca=_(Z+2072|0,ha)|0;U=a+84+(ca<<2)|0;aa=ma<<1;da=ca+aa|0;V=a+84+(da<<2)|0;ea=da+aa|0;W=a+84+(ea<<2)|0;$=ea+aa|0;X=ga+44|0;o=c[ga+36>>2]|0;Q=0;while(1){if((Q|0)>(o|0)){h=-1;v=79;break}if((c[X>>2]<<Q|0)==(fa|0))break;Q=Q+1|0}if((v|0)==79){i=oa;return h|0}R=1<<Q;if((e|0)<0|(e|0)>1275|(f|0)==0){a=-1;i=oa;return a|0}ba=c[X>>2]<<Q;o=Z+2048|0;F=2048-ba|0;n=0;do{Y=_(n,o)|0;c[J+(n<<2)>>2]=a+84+(Y<<2);c[na+(n<<2)>>2]=a+84+(Y+F<<2);n=n+1|0}while((n|0)<(ha|0));K=c[ga+12>>2]|0;K=(ja|0)>(K|0)?K:ja;if((d|0)==0|(e|0)<2){Sb(a,ba,Q);Tb(na,f,ba,ha,c[la>>2]|0,ga+16|0,a+76|0,l);a=(fa|0)/(c[la>>2]|0)|0;i=oa;return a|0}if(!j)cc(p,d,e);else p=j;P=(O|0)==1;a:do if(P){o=0;while(1){if((o|0)>=(ma|0))break a;Y=a+84+(ca+o<<2)|0;pa=+g[Y>>2];m=+g[a+84+(ca+(ma+o)<<2)>>2];g[Y>>2]=pa>m?pa:m;o=o+1|0}}while(0);Y=e<<3;S=p+20|0;o=c[S>>2]|0;T=p+28|0;j=c[T>>2]|0;n=Ub(o,j)|0;if((n|0)<(Y|0))if((n|0)==1){o=gc(p,15)|0;if(!o){o=0;n=1}else{j=c[T>>2]|0;n=c[S>>2]|0;v=19}}else o=0;else{n=o;o=1;v=19}if((v|0)==19){c[S>>2]=n+(Y-(Ub(n,j)|0));n=Y}if((ia|0)!=0|(n+16|0)>(Y|0)){H=0;G=0;d=0}else{if(!(gc(p,1)|0)){j=0;n=0;d=0}else{n=ic(p,6)|0;n=(16<<n)+(jc(p,n+4|0)|0)+-1|0;j=jc(p,3)|0;if(((Ub(c[S>>2]|0,c[T>>2]|0)|0)+2|0)>(Y|0))d=0;else d=hc(p,29963,2)|0;j=(g[k>>2]=+(j+1|0)*.09375,c[k>>2]|0)}H=j;G=n;n=Ub(c[S>>2]|0,c[T>>2]|0)|0}if((Q|0)<=0|(n+3|0)>(Y|0)){E=0;D=0}else{E=gc(p,3)|0;n=Ub(c[S>>2]|0,c[T>>2]|0)|0;D=(E|0)==0;E=D?0:E;D=D?0:R}if((n+3|0)>(Y|0))j=0;else j=gc(p,3)|0;gd(ga,ia,ja,U,j,p,O,Q);I=ka()|0;B=i;i=i+((1*(ma<<2)|0)+15&-16)|0;Vb(ia,ja,E,B,Q,p);if(((Ub(c[S>>2]|0,c[T>>2]|0)|0)+4|0)>(Y|0))C=2;else C=hc(p,29966,5)|0;z=i;i=i+((1*(ma<<2)|0)+15&-16)|0;lb(ga,z,Q,O);A=i;i=i+((1*(ma<<2)|0)+15&-16)|0;j=y;h=6;w=ia;v=bc(p)|0;t=e<<6;while(1){if((w|0)>=(ja|0))break;n=w+1|0;s=(_(O,(b[j+(n<<1)>>1]|0)-(b[j+(w<<1)>>1]|0)|0)|0)<<Q;u=s<<3;r=(s|0)<48;s=(u|0)<((r?48:s)|0)?u:r?48:s;r=z+(w<<2)|0;u=0;q=h;while(1){if((v+(q<<3)|0)>=(t|0))break;if((u|0)>=(c[r>>2]|0))break;y=gc(p,q)|0;v=bc(p)|0;if(!y)break;u=u+s|0;q=1;t=t-s|0}c[A+(w<<2)>>2]=u;if((u|0)<=0){w=n;continue}h=(h|0)<3?2:h+-1|0;w=n}y=i;i=i+((1*(ma<<2)|0)+15&-16)|0;if((v+48|0)>(t|0))t=5;else t=hc(p,29970,7)|0;w=e<<6;v=w-(bc(p)|0)+-1|0;e=(E|0)==0;if((e^1)&(Q|0)>1)u=(v|0)>=((Q<<3)+16|0);else u=0;n=u?8:0;h=i;i=i+((1*(ma<<2)|0)+15&-16)|0;x=i;i=i+((1*(ma<<2)|0)+15&-16)|0;j=pd(ga,ia,ja,A,z,t,N,M,v-n|0,L,h,y,x,O,Q,p,0,0,0)|0;hd(ga,ia,ja,U,y,p,O);v=F+((Z|0)/2|0)<<2;t=0;do{A=c[J+(t<<2)>>2]|0;vj(A|0,A+(ba<<2)|0,v|0)|0;t=t+1|0}while((t|0)<(ha|0));r=_(O,ma)|0;t=i;i=i+((1*r|0)+15&-16)|0;A=(_(O,ba)|0)<<2;q=i;i=i+((1*A|0)+15&-16)|0;A=a+36|0;s=a+32|0;Sa(0,ga,ia,ja,q,(O|0)==2?q+(ba<<2)|0:0,t,0,h,D,C,c[M>>2]|0,c[N>>2]|0,B,w-n|0,c[L>>2]|0,p,Q,j,A,c[s>>2]|0);if(u)v=jc(p,1)|0;else v=0;id(ga,ia,ja,U,y,x,Y-(Ub(c[S>>2]|0,c[T>>2]|0)|0)|0,p,O);if(v)Oa(ga,q,t,Q,O,ba,ia,ja,U,V,W,h,c[A>>2]|0,c[s>>2]|0);b:do if(o){j=0;while(1){if((j|0)>=(r|0))break b;g[a+84+(ca+j<<2)>>2]=-28.0;j=j+1|0}}while(0);Wb(ga,q,na,U,ia,K,O,ha,E,Q,c[la>>2]|0,o);h=a+52|0;q=a+56|0;r=a+64|0;s=a+60|0;t=a+72|0;u=a+68|0;v=ga+60|0;j=(Q|0)==0;m=(c[k>>2]=H,+g[k>>2]);n=0;do{Q=c[h>>2]|0;Q=(Q|0)>15?Q:15;c[h>>2]=Q;O=c[q>>2]|0;O=(O|0)>15?O:15;c[q>>2]=O;o=c[na+(n<<2)>>2]|0;kb(o,o,O,Q,c[X>>2]|0,+g[r>>2],+g[s>>2],c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,Z);if(!j){Q=c[X>>2]|0;O=o+(Q<<2)|0;kb(O,O,c[h>>2]|0,G,ba-Q|0,+g[s>>2],m,c[u>>2]|0,d,c[v>>2]|0,Z)}n=n+1|0}while((n|0)<(ha|0));c[q>>2]=c[h>>2];c[r>>2]=c[s>>2];c[t>>2]=c[u>>2];c[h>>2]=G;c[s>>2]=H;c[u>>2]=d;if(!j){c[q>>2]=G;c[r>>2]=H;c[t>>2]=d}if(P)uj(a+84+(ca+ma<<2)|0,U|0,ma<<2|0)|0;c:do if(e){o=ma<<3;uj(W|0,V|0,o|0)|0;uj(V|0,U|0,o|0)|0;m=+(R|0)*1.0000000474974513e-03;o=0;while(1){if((o|0)>=(aa|0)){o=0;break c}Z=a+84+($+o<<2)|0;qa=+g[Z>>2]+m;pa=+g[a+84+(ca+o<<2)>>2];g[Z>>2]=qa<pa?qa:pa;o=o+1|0}}else{h=0;while(1){if((h|0)>=(aa|0)){o=0;break c}$=a+84+(da+h<<2)|0;pa=+g[$>>2];qa=+g[a+84+(ca+h<<2)>>2];g[$>>2]=pa<qa?pa:qa;h=h+1|0}}while(0);do{n=_(o,ma)|0;h=0;while(1){if((h|0)>=(ia|0)){h=ja;break}aa=n+h|0;g[a+84+(ca+aa<<2)>>2]=0.0;g[a+84+(ea+aa<<2)>>2]=-28.0;g[a+84+(da+aa<<2)>>2]=-28.0;h=h+1|0}while(1){if((h|0)>=(ma|0))break;aa=n+h|0;g[a+84+(ca+aa<<2)>>2]=0.0;g[a+84+(ea+aa<<2)>>2]=-28.0;g[a+84+(da+aa<<2)>>2]=-28.0;h=h+1|0}o=o+1|0}while((o|0)!=2);c[A>>2]=c[T>>2];Tb(na,f,ba,ha,c[la>>2]|0,ga+16|0,a+76|0,l);c[a+48>>2]=0;if((Ub(c[S>>2]|0,c[T>>2]|0)|0)>(Y|0))h=-3;else{if(Xb(c[p+44>>2]|0)|0)c[a+40>>2]=1;h=(fa|0)/(c[la>>2]|0)|0}va(I|0);a=h;i=oa;return a|0}function Pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;h=i;i=i+16|0;f=h;c[f>>2]=d;a:do switch(b|0){case 10010:{e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if((b|0)>=0?(b|0)<(c[(c[a>>2]|0)+8>>2]|0):0){c[a+20>>2]=b;b=24}else b=25;break}case 10012:{e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if((b|0)>=1?(b|0)<=(c[(c[a>>2]|0)+8>>2]|0):0){c[a+24>>2]=b;b=24}else b=25;break}case 10008:{e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if((b|0)<1|(b|0)>2)b=25;else{c[a+12>>2]=b;b=24}break}case 10007:{e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(!b)b=25;else{a=a+40|0;c[b>>2]=c[a>>2];c[a>>2]=0;b=24}break}case 4027:{e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(!b)b=25;else{c[b>>2]=(c[a+4>>2]|0)/(c[a+16>>2]|0)|0;b=24}break}case 4028:{f=c[a+8>>2]|0;d=_((c[a+4>>2]|0)+2072|0,f)|0;j=c[a>>2]|0;e=c[j+8>>2]|0;b=e<<1;d=d+b|0;b=d+b|0;rj(a+36|0,0,(Qb(j,f)|0)+-36|0)|0;f=0;while(1){if((f|0)>=(e<<1|0)){b=24;break a}g[a+84+(b+f<<2)>>2]=-28.0;g[a+84+(d+f<<2)>>2]=-28.0;e=c[(c[a>>2]|0)+8>>2]|0;f=f+1|0}}case 4033:{j=(c[f>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[f>>2]=j+4;if(!b)b=25;else{c[b>>2]=c[a+52>>2];b=24}break}case 10015:{j=(c[f>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[f>>2]=j+4;if(!b)b=25;else{c[b>>2]=c[a>>2];b=24}break}case 10016:{j=(c[f>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[f>>2]=j+4;c[a+28>>2]=b;b=24;break}case 4031:{j=(c[f>>2]|0)+(4-1)&~(4-1);b=c[j>>2]|0;c[f>>2]=j+4;if(!b)b=25;else{c[b>>2]=c[a+36>>2];b=24}break}default:{i=h;return}}while(0);if((b|0)==24){i=h;return}else if((b|0)==25){i=h;return}}function Qb(a,b){a=a|0;b=b|0;b=((_((c[a+4>>2]|0)+2048|0,b)|0)<<2)+84+(b*96|0)|0;return b+(c[a+8>>2]<<5)|0}function Rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((d|0)<0|(d|0)>2){a=-1;i=e;return a|0}if(!a){a=-7;i=e;return a|0}rj(a|0,0,Qb(b,d)|0)|0;c[a>>2]=b;c[a+4>>2]=c[b+4>>2];c[a+8>>2]=d;c[a+12>>2]=d;c[a+16>>2]=1;c[a+20>>2]=0;c[a+24>>2]=c[b+12>>2];c[a+28>>2]=1;c[a+32>>2]=0;c[a+48>>2]=0;Pb(a,4028,e);a=0;i=e;return a|0}function Sb(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,$=0.0;Y=i;i=i+4416|0;X=Y+4400|0;z=Y+4392|0;P=Y+296|0;N=Y+192|0;Q=Y+96|0;R=Y;W=c[a+8>>2]|0;A=c[a>>2]|0;r=c[A+8>>2]|0;V=c[A+4>>2]|0;n=c[A+32>>2]|0;h=V+2048|0;S=2048-d|0;f=0;do{U=_(f,h)|0;c[X+(f<<2)>>2]=a+84+(U<<2);c[z+(f<<2)>>2]=a+84+(U+S<<2);f=f+1|0}while((f|0)<(W|0));M=_(h,W)|0;h=M+(W*24|0)|0;l=r<<1;l=h+l+l+l|0;T=a+48|0;U=c[T>>2]|0;y=c[a+20>>2]|0;k=(U|0)>4;if(!((k^1)&(y|0)==0)){m=c[a+24>>2]|0;u=c[A+12>>2]|0;R=(m|0)<(u|0);u=(y|0)>((R?m:u)|0)?y:R?m:u;R=_(W,d)|0;v=ka()|0;w=i;i=i+((1*(R<<2)|0)+15&-16)|0;if(k)h=l;else{j=(U|0)==0?1.5:.5;k=0;do{f=_(k,r)|0;l=y;while(1){if((l|0)>=(m|0))break;R=a+84+(h+(f+l)<<2)|0;g[R>>2]=+g[R>>2]-j;l=l+1|0}k=k+1|0}while((k|0)<(W|0))}s=a+84+(h<<2)|0;r=a+36|0;o=a+32|0;h=c[r>>2]|0;q=0;while(1){if((q|0)>=(W|0))break;p=_(q,d)|0;l=y;while(1){if((l|0)>=(u|0))break;m=b[n+(l<<1)>>1]|0;f=p+(m<<e)|0;l=l+1|0;m=(b[n+(l<<1)>>1]|0)-m<<e;k=0;while(1){if((k|0)>=(m|0))break;R=Ja(h)|0;g[w+(f+k<<2)>>2]=+(R>>20|0);h=R;k=k+1|0}ud(w+(f<<2)|0,m,1.0,c[o>>2]|0)}q=q+1|0}c[r>>2]=h;f=S+(V>>>1)<<2;h=0;do{V=c[X+(h<<2)>>2]|0;vj(V|0,V+(d<<2)|0,f|0)|0;h=h+1|0}while((h|0)<(W|0));Wb(A,w,z,s,y,u,W,W,0,e,c[a+16>>2]|0,0);va(v|0);a=U+1|0;c[T>>2]=a;i=Y;return}H=(U|0)==0;if(H){G=a+32|0;L=Yb(X,W,c[G>>2]|0)|0;c[a+44>>2]=L;K=1.0}else{G=a+32|0;K=.800000011920929;L=c[a+44>>2]|0}I=ka()|0;J=i;i=i+((1*(V<<2)|0)+15&-16)|0;B=c[A+60>>2]|0;C=L<<1;D=(C|0)<1024;E=S<<2;A=1024-L|0;z=V+d|0;e=1024-d+A|0;n=S+-1|0;l=a+52|0;k=a+60|0;h=a+68|0;m=(V|0)/2|0;s=V+-1|0;F=0;do{y=c[X+(F<<2)>>2]|0;f=y;r=0;while(1){if((r|0)==1024)break;c[P+(r<<2)>>2]=c[f+(r+1024<<2)>>2];r=r+1|0}if(H){bd(P,N,B,V,24,1024,c[G>>2]|0);g[N>>2]=+g[N>>2]*1.000100016593933;r=1;while(1){if((r|0)==25)break;w=N+(r<<2)|0;t=+g[w>>2];x=+(r|0);g[w>>2]=t-t*6.400000711437315e-05*x*x;r=r+1|0}_c(a+84+(M+(F*24|0)<<2)|0,N,24)}p=D?C:1024;r=2048-p+-1|0;q=0;while(1){if((q|0)==24)break;c[Q+(q<<2)>>2]=c[f+(r-q<<2)>>2];q=q+1|0}v=P+(1024-p<<2)|0;o=a+84+(M+(F*24|0)<<2)|0;$c(v,o,v,p,Q,c[G>>2]|0);v=p>>1;u=1024-v|0;r=1024-p|0;t=1.0;j=1.0;w=0;while(1){if((w|0)>=(v|0))break;Z=+g[P+(u+w<<2)>>2];x=+g[P+(r+w<<2)>>2];t=t+Z*Z;j=j+x*x;w=w+1|0}j=+O(+((t<j?t:j)/j));vj(y|0,y+(d<<2)|0,E|0)|0;x=0.0;t=K*j;r=0;q=0;while(1){if((r|0)>=(z|0)){r=0;break}y=(q|0)<(L|0);Z=y?t:t*j;y=y?q:q-L|0;g[f+(S+r<<2)>>2]=Z*+g[P+(A+y<<2)>>2];$=+g[f+(e+y<<2)>>2];x=x+$*$;t=Z;r=r+1|0;q=y+1|0}while(1){if((r|0)==24)break;c[R+(r<<2)>>2]=c[f+(n-r<<2)>>2];r=r+1|0}r=f+(S<<2)|0;ad(r,o,r,z,R,c[G>>2]|0);j=0.0;r=0;while(1){if((r|0)>=(z|0))break;$=+g[f+(S+r<<2)>>2];j=j+$*$;r=r+1|0}a:do if(x>j*.20000000298023224){if(x<j){t=+O(+((x+1.0)/(j+1.0)));j=1.0-t;r=0;while(1){if((r|0)>=(V|0)){r=V;break}y=f+(S+r<<2)|0;g[y>>2]=(1.0-+g[B+(r<<2)>>2]*j)*+g[y>>2];r=r+1|0}while(1){if((r|0)>=(z|0))break a;y=f+(S+r<<2)|0;g[y>>2]=t*+g[y>>2];r=r+1|0}}}else{r=0;while(1){if((r|0)>=(z|0))break a;g[f+(S+r<<2)>>2]=0.0;r=r+1|0}}while(0);y=c[l>>2]|0;$=-+g[k>>2];r=c[h>>2]|0;kb(J,f+8192|0,y,y,V,$,$,r,r,0,0);r=0;while(1){if((r|0)>=(m|0))break;g[f+(r+2048<<2)>>2]=+g[B+(r<<2)>>2]*+g[J+(s-r<<2)>>2]+ +g[B+(V-r+-1<<2)>>2]*+g[J+(r<<2)>>2];r=r+1|0}F=F+1|0}while((F|0)<(W|0));va(I|0);a=U+1|0;c[T>>2]=a;i=Y;return}function Tb(a,b,d,e,f,h,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;v=i;u=i;i=i+((1*(d<<2)|0)+15&-16)|0;p=+g[h>>2];q=(d|0)/(f|0)|0;r=(f|0)>1;h=0;s=0;do{o=j+(s<<2)|0;l=c[o>>2]|0;n=c[a+(s<<2)>>2]|0;if(!r){m=0;while(1){if((m|0)>=(d|0))break;x=+g[n+(m<<2)>>2]+(c[k>>2]=l,+g[k>>2])+1.0000000031710769e-30;w=(g[k>>2]=p*x,c[k>>2]|0);g[b+(s+(_(m,e)|0)<<2)>>2]=x*.000030517578125;l=w;m=m+1|0}c[o>>2]=l;if(h)t=9}else{h=l;l=0;while(1){if((l|0)>=(d|0))break;x=+g[n+(l<<2)>>2]+(c[k>>2]=h,+g[k>>2])+1.0000000031710769e-30;w=(g[k>>2]=p*x,c[k>>2]|0);g[u+(l<<2)>>2]=x;h=w;l=l+1|0}c[o>>2]=h;h=1;t=9}a:do if((t|0)==9){t=0;l=0;while(1){if((l|0)>=(q|0))break a;g[b+(s+(_(l,e)|0)<<2)>>2]=+g[u+((_(l,f)|0)<<2)>>2]*.000030517578125;l=l+1|0}}while(0);s=s+1|0}while((s|0)<(e|0));i=v;return}function Ub(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function Vb(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=c[h+4>>2]<<3;q=h+20|0;r=h+28|0;l=Ub(c[q>>2]|0,c[r>>2]|0)|0;i=(e|0)!=0;k=i?2:4;if((g|0)>0)s=(l+k+1|0)>>>0<=j>>>0;else s=0;p=j-(s&1)|0;o=i?4:5;m=0;n=b;i=0;while(1){if((n|0)>=(d|0))break;if((l+k|0)>>>0>p>>>0){k=m;j=i}else{j=m^(gc(h,k)|0);k=j;l=Ub(c[q>>2]|0,c[r>>2]|0)|0;j=i|j}c[f+(n<<2)>>2]=k;m=k;k=o;n=n+1|0;i=j}j=e<<2;if(s?(a[j+i+(29766+(g<<3))>>0]|0)!=(a[(j|2)+i+(29766+(g<<3))>>0]|0):0)i=(gc(h,1)|0)<<1;else i=0;i=j+i|0;while(1){if((b|0)>=(d|0))break;h=f+(b<<2)|0;c[h>>2]=a[i+(c[h>>2]|0)+(29766+(g<<3))>>0];b=b+1|0}return}function Wb(a,b,d,e,f,h,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;x=c[a+4>>2]|0;r=c[a+8>>2]|0;v=c[a+44>>2]|0;t=v<<m;y=i;i=i+((1*(t<<2)|0)+15&-16)|0;s=1<<m;l=(l|0)==0;u=c[a+36>>2]|0;v=l?t:v;w=l?1:s;u=l?u-m|0:u;if((k|0)==2){if((j|0)==1){Na(a,b,y,e,f,h,s,n,o);l=d+4|0;p=c[l>>2]|0;j=(x|0)/2|0;uj(p+(j<<2)|0,y|0,t<<2|0)|0;m=a+64|0;k=a+60|0;q=0;while(1){if((q|0)>=(w|0)){p=0;break}a=(c[d>>2]|0)+((_(v,q)|0)<<2)|0;Oc(m,p+(j+q<<2)|0,a,c[k>>2]|0,x,u,w);q=q+1|0}while(1){if((p|0)>=(w|0))break;d=(c[l>>2]|0)+((_(v,p)|0)<<2)|0;Oc(m,y+(p<<2)|0,d,c[k>>2]|0,x,u,w);p=p+1|0}i=z;return}}else if((k|0)==1&(j|0)==2){l=c[d>>2]|0;m=(x|0)/2|0;Na(a,b,y,e,f,h,s,n,o);Na(a,b+(t<<2)|0,l+(m<<2)|0,e+(r<<2)|0,f,h,s,n,o);q=0;while(1){if((q|0)>=(t|0))break;f=y+(q<<2)|0;g[f>>2]=(+g[f>>2]+ +g[l+(m+q<<2)>>2])*.5;q=q+1|0}q=a+64|0;k=a+60|0;p=0;while(1){if((p|0)>=(w|0))break;a=(c[d>>2]|0)+((_(v,p)|0)<<2)|0;Oc(q,y+(p<<2)|0,a,c[k>>2]|0,x,u,w);p=p+1|0}i=z;return}l=a+64|0;m=a+60|0;q=0;do{Na(a,b+((_(q,t)|0)<<2)|0,y,e+((_(q,r)|0)<<2)|0,f,h,s,n,o);j=d+(q<<2)|0;p=0;while(1){if((p|0)>=(w|0))break;A=(c[j>>2]|0)+((_(v,p)|0)<<2)|0;Oc(l,y+(p<<2)|0,A,c[m>>2]|0,x,u,w);p=p+1|0}q=q+1|0}while((q|0)<(k|0));i=z;return}function Xb(a){a=a|0;return a|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+4112|0;e=f+4096|0;g=f;Qc(a,g,2048,b,d);Sc(g+1440|0,g,1328,620,e,d);i=f;return 720-(c[e>>2]|0)|0}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=$b(b,a)|0;a=d+1|0;tc(e,f,(c[(c[4428+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[4428+(((d|0)<(b|0)?a:b)<<2)>>2]|0)+(((a|0)<(b|0)?b:a)<<2)>>2]|0)|0);return}function _b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+1|0;return +(+ac(b,d,ic(e,(c[(c[4428+(((b|0)<(d|0)?b:d)<<2)>>2]|0)+(((b|0)>(d|0)?b:d)<<2)>>2]|0)+(c[(c[4428+(((d|0)<(b|0)?f:b)<<2)>>2]|0)+(((f|0)<(b|0)?b:f)<<2)>>2]|0)|0)|0,a))}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+-1|0;h=c[b+(f<<2)>>2]|0;d=h>>>31;h=(h|0)>-1?h:0-h|0;do{g=f;f=f+-1|0;e=a-f|0;d=d+(c[(c[4428+(((e|0)<(h|0)?e:h)<<2)>>2]|0)+(((e|0)>(h|0)?e:h)<<2)>>2]|0)|0;i=c[b+(f<<2)>>2]|0;h=h+((i|0)>-1?i:0-i|0)|0;if((i|0)<0){i=h+1|0;d=d+(c[(c[4428+(((e|0)<(i|0)?e:i)<<2)>>2]|0)+(((e|0)>(i|0)?e:i)<<2)>>2]|0)|0}}while((g|0)>1);return d|0}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0.0;j=b;f=0.0;while(1){if((a|0)<=2)break;do if((j|0)<(a|0)){b=c[(c[4428+(j<<2)>>2]|0)+(a<<2)>>2]|0;g=c[(c[4428+(j+1<<2)>>2]|0)+(a<<2)>>2]|0;if(d>>>0>=b>>>0&d>>>0<g>>>0){c[e>>2]=0;d=d-b|0;b=j;break}h=d>>>0>=g>>>0;d=d-(h?g:0)|0;b=j;do{b=b+-1|0;g=c[(c[4428+(b<<2)>>2]|0)+(a<<2)>>2]|0}while(d>>>0<g>>>0);i=h<<31>>31;j=j-b+i^i;c[e>>2]=j<<16>>16;k=+((j&65535)<<16>>16);d=d-g|0;f=f+k*k}else{g=c[4428+(a<<2)>>2]|0;h=c[g+(j+1<<2)>>2]|0;b=d>>>0>=h>>>0;i=b<<31>>31;h=d-(b?h:0)|0;a:do if((c[g+(a<<2)>>2]|0)>>>0>h>>>0){d=a;do{d=d+-1|0;g=c[(c[4428+(d<<2)>>2]|0)+(a<<2)>>2]|0}while(g>>>0>h>>>0);b=d;d=g}else{b=j;while(1){d=c[g+(b<<2)>>2]|0;if(d>>>0<=h>>>0)break a;b=b+-1|0}}while(0);j=j-b+i^i;c[e>>2]=j<<16>>16;k=+((j&65535)<<16>>16);d=h-d|0;f=f+k*k}while(0);a=a+-1|0;e=e+4|0;j=b}a=j<<1|1;i=d>>>0>=a>>>0;b=i<<31>>31;a=d-(i?a:0)|0;d=(a+1|0)>>>1;if(!d){g=a;j=j-d|0;j=j+b|0;j=j^b;h=j&65535;j=j<<16;j=j>>16;i=e+4|0;c[e>>2]=j;k=+(h<<16>>16);k=k*k;f=f+k;h=0-g|0;j=d-g|0;h=j^h;j=h&65535;h=h<<16;h=h>>16;c[i>>2]=h;k=+(j<<16>>16);k=k*k;k=f+k;return +k}g=a-((d<<1)+-1)|0;j=j-d|0;j=j+b|0;j=j^b;h=j&65535;j=j<<16;j=j>>16;i=e+4|0;c[e>>2]=j;k=+(h<<16>>16);k=k*k;f=f+k;h=0-g|0;j=d-g|0;h=j^h;j=h&65535;h=h<<16;h=h>>16;c[i>>2]=h;k=+(j<<16>>16);k=k*k;k=f+k;return +k}function bc(a){a=a|0;var b=0,d=0,e=0;d=c[a+28>>2]|0;e=32-(aa(d|0)|0)|0;d=d>>>(e+-16|0);b=(d>>>12)+-8|0;return (c[a+20>>2]<<3)-((e<<3)+(b+(d>>>0>(c[9576+(b<<2)>>2]|0)>>>0&1)))|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=9;c[a+24>>2]=0;b=a+28|0;c[b>>2]=128;d=kc(a)|0;c[a+40>>2]=d;c[a+32>>2]=(c[b>>2]|0)+-1-(d>>1);c[a+44>>2]=0;lc(a);return}function dc(a,b){a=a|0;b=b|0;var d=0;d=mc(c[a+28>>2]|0,b)|0;c[a+36>>2]=d;a=(((c[a+32>>2]|0)>>>0)/(d>>>0)|0)+1|0;return b-(a>>>0>b>>>0?b:a)|0}function ec(a){a=a|0;var b=0;b=(c[a+28>>2]|0)>>>15;c[a+36>>2]=b;a=((c[a+32>>2]|0)>>>0)/(b>>>0)|0;b=a+1|0;return 32768-(b+(b>>>0>32768?32767-a|0:0))|0}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+36>>2]|0;e=_(f,e-d|0)|0;g=a+32|0;c[g>>2]=(c[g>>2]|0)-e;if(!b){b=a+28|0;g=b;b=(c[b>>2]|0)-e|0;c[g>>2]=b;lc(a);return}else{g=a+28|0;b=_(f,d-b|0)|0;c[g>>2]=b;lc(a);return}}function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+28|0;d=c[h>>2]|0;e=a+32|0;f=c[e>>2]|0;b=d>>>b;g=f>>>0<b>>>0;if(!g){c[e>>2]=f-b;b=d-b|0}c[h>>2]=b;lc(a);return g&1|0}function hc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+28|0;h=c[i>>2]|0;j=a+32|0;k=c[j>>2]|0;e=h>>>e;g=-1;while(1){g=g+1|0;f=_(e,d[b+g>>0]|0)|0;if(k>>>0>=f>>>0)break;else h=f}c[j>>2]=k-f;c[i>>2]=h-f;lc(a);return g|0}function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b+-1|0;d=32-(aa(e|0)|0)|0;if((d|0)<=8){e=dc(a,b)|0;fc(a,e,e+1|0,b);a=e;return a|0}d=d+-8|0;f=(e>>>d)+1|0;b=dc(a,f)|0;fc(a,b,b+1|0,f);d=b<<d|(jc(a,d)|0);if(d>>>0<=e>>>0){f=d;return f|0}c[a+44>>2]=1;f=e;return f|0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+12|0;d=c[g>>2]|0;h=a+16|0;e=c[h>>2]|0;if(e>>>0<b>>>0){f=e+(((e+8|0)>25?e+7|0:24)-e&-8)|0;do{d=d|(nc(a)|0)<<e;e=e+8|0}while((e|0)<25);e=f+8|0}c[g>>2]=d>>>b;c[h>>2]=e-b;a=a+20|0;c[a>>2]=(c[a>>2]|0)+b;return d&(1<<b)+-1|0}function kc(a){a=a|0;var b=0,e=0;b=a+24|0;e=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0){a=0;return a|0}c[b>>2]=e+1;a=d[(c[a>>2]|0)+e>>0]|0;return a|0}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+28|0;d=a+20|0;e=a+40|0;f=a+32|0;while(1){g=c[b>>2]|0;if(g>>>0>=8388609)break;c[d>>2]=(c[d>>2]|0)+8;c[b>>2]=g<<8;h=c[e>>2]|0;g=kc(a)|0;c[e>>2]=g;c[f>>2]=((h<<8|g)>>>1&255|c[f>>2]<<8&2147483392)^255}return}function mc(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function nc(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;e=c[b>>2]|0;f=c[a+4>>2]|0;if(e>>>0>=f>>>0){a=0;return a|0}e=e+1|0;c[b>>2]=e;a=d[(c[a>>2]|0)+(f-e)>>0]|0;return a|0}function oc(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=33;c[a+24>>2]=0;c[a+28>>2]=-2147483648;c[a+40>>2]=-1;c[a+32>>2]=0;c[a+36>>2]=0;c[a+4>>2]=d;c[a+44>>2]=0;return}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;f=a+28|0;g=c[f>>2]|0;h=yc(g,e)|0;if(!b){e=g-(_(h,e-d|0)|0)|0;c[f>>2]=e;zc(a);return}else{g=g-(_(h,e-b|0)|0)|0;e=a+32|0;c[e>>2]=(c[e>>2]|0)+g;e=_(h,d-b|0)|0;c[f>>2]=e;zc(a);return}}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+28|0;f=c[e>>2]|0;g=f>>>15;if(!b){b=f-(_(g,32768-d|0)|0)|0;c[e>>2]=b;zc(a);return}else{h=f-(_(g,32768-b|0)|0)|0;f=a+32|0;c[f>>2]=(c[f>>2]|0)+h;b=_(g,d-b|0)|0;c[e>>2]=b;zc(a);return}}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+28|0;e=c[g>>2]|0;f=a+32|0;d=e>>>d;e=e-d|0;if(!b)d=e;else c[f>>2]=(c[f>>2]|0)+e;c[g>>2]=d;zc(a);return}function sc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a+28|0;h=c[g>>2]|0;f=h>>>f;if((b|0)>0){i=e+(b+-1)|0;j=h-(_(f,d[i>>0]|0)|0)|0;h=a+32|0;c[h>>2]=(c[h>>2]|0)+j;b=_(f,(d[i>>0]|0)-(d[e+b>>0]|0)|0)|0;c[g>>2]=b;zc(a);return}else{j=h-(_(f,d[e+b>>0]|0)|0)|0;c[g>>2]=j;zc(a);return}}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c+-1|0;e=32-(aa(d|0)|0)|0;if((e|0)>8){c=e+-8|0;e=b>>>c;pc(a,e,e+1|0,(d>>>c)+1|0);uc(a,(1<<c)+-1&b,c);return}else{pc(a,b,b+1|0,c);return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;e=c[j>>2]|0;k=a+16|0;f=c[k>>2]|0;if((f+d|0)>>>0>32){h=a+44|0;g=7-f|0;g=f+((g|0)>-8?g:-8)&-8;i=f;do{l=Ac(a,e&255)|0;c[h>>2]=c[h>>2]|l;e=e>>>8;i=i+-8|0}while((i|0)>7);f=f+-8-g|0}c[j>>2]=e|b<<f;c[k>>2]=f+d;l=a+20|0;c[l>>2]=(c[l>>2]|0)+d;return}function vc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=8-f|0;j=(1<<f)+-1<<g;if(c[b+24>>2]|0){b=c[b>>2]|0;a[b>>0]=(d[b>>0]|0)&(j^255)|e<<g;return}h=b+40|0;i=c[h>>2]|0;if((i|0)>-1){c[h>>2]=i&~j|e<<g;return}if((c[b+28>>2]|0)>>>0>-2147483648>>>f>>>0){c[b+44>>2]=-1;return}else{b=b+32|0;c[b>>2]=c[b>>2]&~(j<<23)|e<<g+23;return}}function wc(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a>>2]|0;d=c[a+8>>2]|0;a=a+4|0;vj(e+(b-d)|0,e+((c[a>>2]|0)-d)|0,d|0)|0;c[a>>2]=b;return}function xc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[b+28>>2]|0;h=aa(m|0)|0;e=2147483647>>>h;f=c[b+32>>2]|0;g=f+e&~e;if((g|e)>>>0>=(f+m|0)>>>0){g=e>>>1;g=f+g&~g;h=h+1|0}m=h+7&-8;f=h;while(1){if((f|0)<=0)break;Bc(b,g>>>23);g=g<<8&2147483392;f=f+-8|0}if(!((c[b+40>>2]|0)<=-1?(c[b+36>>2]|0)==0:0))Bc(b,0);g=c[b+16>>2]|0;l=b+44|0;f=g+((g|0)<7?~g:-8)+8&-8;i=g;e=c[b+12>>2]|0;while(1){if((i|0)<=7)break;k=Ac(b,e&255)|0;c[l>>2]=c[l>>2]|k;i=i+-8|0;e=e>>>8}f=g-f|0;if(c[l>>2]|0)return;j=b+24|0;k=c[j>>2]|0;g=b+4|0;i=b+8|0;rj((c[b>>2]|0)+k|0,0,(c[g>>2]|0)-k-(c[i>>2]|0)|0)|0;if((f|0)<=0)return;k=c[i>>2]|0;i=c[g>>2]|0;if(i>>>0<=k>>>0){c[l>>2]=-1;return}h=m-h|0;if((h|0)<(f|0)?((c[j>>2]|0)+k|0)>>>0>=i>>>0:0){c[l>>2]=-1;e=e&(1<<h)+-1}b=(c[b>>2]|0)+(i-k+-1)|0;a[b>>0]=d[b>>0]|0|e;return}function yc(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function zc(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+28|0;d=a+32|0;e=a+20|0;f=c[b>>2]|0;while(1){if(f>>>0>=8388609)break;Bc(a,(c[d>>2]|0)>>>23);c[d>>2]=c[d>>2]<<8&2147483392;f=c[b>>2]<<8;c[b>>2]=f;c[e>>2]=(c[e>>2]|0)+8}return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=c[e>>2]|0;g=c[b+4>>2]|0;if(((c[b+24>>2]|0)+f|0)>>>0>=g>>>0){d=-1;return d|0}f=f+1|0;c[e>>2]=f;a[(c[b>>2]|0)+(g-f)>>0]=d;d=0;return d|0}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((b|0)==255){a=a+36|0;c[a>>2]=(c[a>>2]|0)+1;return}e=b>>8;g=a+40|0;d=c[g>>2]|0;if((d|0)>-1){d=Cc(a,d+e|0)|0;f=a+44|0;c[f>>2]=c[f>>2]|d}f=a+36|0;if(c[f>>2]|0){e=e+255&255;d=a+44|0;do{h=Cc(a,e)|0;c[d>>2]=c[d>>2]|h;h=(c[f>>2]|0)+-1|0;c[f>>2]=h}while((h|0)!=0)}c[g>>2]=b&255;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+24|0;f=c[e>>2]|0;if((f+(c[b+8>>2]|0)|0)>>>0>=(c[b+4>>2]|0)>>>0){d=-1;return d|0}c[e>>2]=f+1;a[(c[b>>2]|0)+f>>0]=d;d=0;return d|0}function Dc(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;j=c[a+8>>2]|0;j=(j|0)>0?j:0;c[k>>2]=1;e=1;f=0;do{g=f<<1;h=b[a+12+((g|1)<<1)>>1]|0;e=_(e,b[a+12+(g<<1)>>1]|0)|0;f=f+1|0;c[k+(f<<2)>>2]=e}while(h<<16>>16!=1);h=b[a+12+((f<<1)+-1<<1)>>1]|0;a:while(1){g=f+-1|0;if((f|0)<=0)break;f=g<<1;if(!g)e=1;else e=b[a+12+(f+-1<<1)>>1]|0;switch(b[a+12+(f<<1)>>1]|0){case 2:{Fc(d,h,c[k+(g<<2)>>2]|0);h=e;f=g;continue a}case 4:{f=c[k+(g<<2)>>2]|0;Gc(d,f<<j,a,h,f,e);h=e;f=g;continue a}case 3:{f=c[k+(g<<2)>>2]|0;Hc(d,f<<j,a,h,f,e);h=e;f=g;continue a}case 5:{f=c[k+(g<<2)>>2]|0;Ic(d,f<<j,a,h,f,e);h=e;f=g;continue a}default:{h=e;f=g;continue a}}}i=l;return}function Ec(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0.0;f=+g[a+4>>2];h=a+44|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;j=+g[d+(i<<3)+4>>2];g[e+(b[(c[h>>2]|0)+(i<<1)>>1]<<3)>>2]=f*+g[d+(i<<3)>>2];g[e+(b[(c[h>>2]|0)+(i<<1)>>1]<<3)+4>>2]=f*j;i=i+1|0}Dc(a,e);return}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0;b=0;while(1){if((b|0)>=(c|0))break;h=a+32|0;f=+g[h>>2];i=+g[a+36>>2];j=+g[a>>2];g[h>>2]=j-f;h=a+4|0;e=+g[h>>2];g[a+36>>2]=e-i;g[a>>2]=j+f;g[h>>2]=e+i;h=a+40|0;i=+g[h>>2];d=a+44|0;e=+g[d>>2];f=(i+e)*.7071067690849304;i=(e-i)*.7071067690849304;k=a+8|0;e=+g[k>>2];g[h>>2]=e-f;h=a+12|0;j=+g[h>>2];g[d>>2]=j-i;g[k>>2]=e+f;g[h>>2]=j+i;h=a+52|0;i=+g[h>>2];k=a+48|0;j=+g[k>>2];d=a+16|0;f=+g[d>>2];g[k>>2]=f-i;k=a+20|0;e=+g[k>>2];g[h>>2]=e+j;g[d>>2]=f+i;g[k>>2]=e-j;k=a+60|0;j=+g[k>>2];d=a+56|0;e=+g[d>>2];i=(j-e)*.7071067690849304;e=(-j-e)*.7071067690849304;h=a+24|0;j=+g[h>>2];g[d>>2]=j-i;d=a+28|0;f=+g[d>>2];g[k>>2]=f-e;g[h>>2]=j+i;g[d>>2]=f+e;a=a+64|0;b=b+1|0}return}function Gc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((e|0)==1){d=0;while(1){if((d|0)>=(f|0))break;s=+g[a>>2];o=a+16|0;B=+g[o>>2];v=s-B;q=a+4|0;x=+g[q>>2];p=a+20|0;z=+g[p>>2];t=x-z;B=s+B;z=x+z;r=a+8|0;x=+g[r>>2];e=a+24|0;s=+g[e>>2];A=x+s;b=a+12|0;w=+g[b>>2];h=a+28|0;u=+g[h>>2];y=w+u;g[o>>2]=B-A;g[p>>2]=z-y;g[a>>2]=B+A;g[q>>2]=z+y;s=x-s;u=w-u;g[r>>2]=v+u;g[b>>2]=t-s;g[e>>2]=v-u;g[h>>2]=t+s;a=a+32|0;d=d+1|0}return}q=e<<1;r=e*3|0;i=d+48|0;j=b<<1;k=b*3|0;l=0;while(1){if((l|0)>=(f|0))break;d=a+((_(l,h)|0)<<3)|0;p=c[i>>2]|0;m=0;n=p;o=p;while(1){if((m|0)>=(e|0))break;I=d+(e<<3)|0;w=+g[I>>2];E=n;t=+g[E>>2];H=d+(e<<3)+4|0;x=+g[H>>2];v=+g[E+4>>2];s=w*t-x*v;t=w*v+x*t;L=d+(q<<3)|0;x=+g[L>>2];D=o;v=+g[D>>2];K=d+(q<<3)+4|0;w=+g[K>>2];z=+g[D+4>>2];u=x*v-w*z;v=x*z+w*v;G=d+(r<<3)|0;w=+g[G>>2];C=p;z=+g[C>>2];F=d+(r<<3)+4|0;x=+g[F>>2];y=+g[C+4>>2];B=w*z-x*y;z=w*y+x*z;x=+g[d>>2];y=x-u;J=d+4|0;w=+g[J>>2];A=w-v;u=x+u;g[d>>2]=u;v=w+v;g[J>>2]=v;w=s+B;x=t+z;B=s-B;z=t-z;g[L>>2]=u-w;g[K>>2]=v-x;g[d>>2]=+g[d>>2]+w;g[J>>2]=+g[J>>2]+x;g[I>>2]=y+z;g[H>>2]=A-B;g[G>>2]=y-z;g[F>>2]=A+B;d=d+8|0;m=m+1|0;n=E+(b<<3)|0;o=D+(j<<3)|0;p=C+(k<<3)|0}l=l+1|0}return}function Hc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;p=e<<1;m=_(b,e)|0;k=d+48|0;l=+g[(c[k>>2]|0)+(m<<3)+4>>2];m=b<<1;o=0;while(1){if((o|0)>=(f|0))break;j=a+((_(o,h)|0)<<3)|0;i=c[k>>2]|0;n=e;d=i;while(1){s=j+(e<<3)|0;y=+g[s>>2];z=+g[d>>2];q=j+(e<<3)+4|0;B=+g[q>>2];t=+g[d+4>>2];A=y*z-B*t;z=y*t+B*z;v=j+(p<<3)|0;B=+g[v>>2];t=+g[i>>2];u=j+(p<<3)+4|0;y=+g[u>>2];x=+g[i+4>>2];r=B*t-y*x;t=B*x+y*t;y=A+r;x=z+t;g[s>>2]=+g[j>>2]-y*.5;w=j+4|0;g[q>>2]=+g[w>>2]-x*.5;r=(A-r)*l;t=(z-t)*l;g[j>>2]=+g[j>>2]+y;g[w>>2]=+g[w>>2]+x;g[v>>2]=+g[s>>2]+t;g[u>>2]=+g[q>>2]-r;g[s>>2]=+g[s>>2]-t;g[q>>2]=+g[q>>2]+r;n=n+-1|0;if(!n)break;else{j=j+8|0;d=d+(b<<3)|0;i=i+(m<<3)|0}}o=o+1|0}return}function Ic(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0;k=_(b,e)|0;m=c[d+48>>2]|0;n=+g[m+(k<<3)>>2];o=+g[m+(k<<3)+4>>2];d=_(b<<1,e)|0;i=+g[m+(d<<3)>>2];j=+g[m+(d<<3)+4>>2];d=e<<1;k=e*3|0;l=e<<2;u=0;while(1){if((u|0)>=(f|0))break;t=_(u,h)|0;p=a+(t<<3)|0;q=a+(t+e<<3)|0;r=a+(t+d<<3)|0;s=a+(t+k<<3)|0;t=a+(t+l<<3)|0;v=0;while(1){if((v|0)>=(e|0))break;H=+g[p>>2];F=+g[p+4>>2];G=+g[q>>2];O=_(v,b)|0;A=+g[m+(O<<3)>>2];N=q+4|0;L=+g[N>>2];M=+g[m+(O<<3)+4>>2];y=G*A-L*M;A=G*M+L*A;L=+g[r>>2];O=_(v<<1,b)|0;M=+g[m+(O<<3)>>2];B=r+4|0;G=+g[B>>2];D=+g[m+(O<<3)+4>>2];K=L*M-G*D;M=L*D+G*M;G=+g[s>>2];O=_(v*3|0,b)|0;D=+g[m+(O<<3)>>2];w=s+4|0;L=+g[w>>2];z=+g[m+(O<<3)+4>>2];x=G*D-L*z;D=G*z+L*D;L=+g[t>>2];O=_(v<<2,b)|0;z=+g[m+(O<<3)>>2];I=t+4|0;G=+g[I>>2];E=+g[m+(O<<3)+4>>2];C=L*z-G*E;z=L*E+G*z;G=y+C;E=A+z;C=y-C;z=A-z;A=K+x;y=M+D;x=K-x;D=M-D;g[p>>2]=+g[p>>2]+(G+A);O=p+4|0;g[O>>2]=+g[O>>2]+(E+y);M=H+G*n+A*i;K=F+E*n+y*i;L=z*o+D*j;J=-(C*o)-x*j;g[q>>2]=M-L;g[N>>2]=K-J;g[t>>2]=M+L;g[I>>2]=K+J;A=H+G*i+A*n;y=F+E*i+y*n;z=D*o-z*j;x=C*j-x*o;g[r>>2]=A+z;g[B>>2]=y+x;g[s>>2]=A-z;g[w>>2]=y-x;p=p+8|0;q=q+8|0;r=r+8|0;s=s+8|0;t=t+8|0;v=v+1|0}u=u+1|0}return}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[b>>2]|0;if(!f){b=d;e=0;b=e+b|0;qc(a,e,b);return}i=f>>31;h=f+i^i;g=Lc(d,e)|0;f=d;d=1;while(1){if(!((g|0)!=0&(h|0)>(d|0)))break;j=g<<1;g=(_(j,e)|0)>>>15;f=f+(j+2)|0;d=d+1|0}if(!g){e=h-d|0;h=(32768-f-i>>1)+-1|0;h=(e|0)<(h|0)?e:h;e=f+((h<<1|1)+i)|0;j=32768-e|0;c[b>>2]=d+h+i^i;j=j>>>0>1?1:j;b=e;j=b+j|0;qc(a,b,j);return}else{b=g+1|0;j=b;b=f+(b&~i)|0;j=b+j|0;qc(a,b,j);return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=ec(a)|0;if(h>>>0<b>>>0){g=b;c=0;h=0;g=c+g|0;f=g>>>0<32768;g=f?g:32768;fc(a,c,g,32768);return h|0}g=(Lc(b,c)|0)+1|0;d=1;while(1){if(g>>>0<=1)break;e=g<<1;f=b+e|0;if(h>>>0<f>>>0)break;g=((_(e+-2|0,c)|0)>>>15)+1|0;b=f;d=d+1|0}if(g>>>0<2){c=(h-b|0)>>>1;b=b+(c<<1)|0;d=d+c|0}c=b+g|0;h=h>>>0<c>>>0;c=h?b:c;h=h?0-d|0:d;g=c+g|0;f=g>>>0<32768;g=f?g:32768;fc(a,c,g,32768);return h|0}function Lc(a,b){a=a|0;b=b|0;return (_(32736-a|0,16384-b|0)|0)>>>15|0}function Mc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=32-(aa(a|0)|0)+-1>>1;d=1<<e;f=0;while(1){b=(f<<1)+d<<e;c=a>>>0<b>>>0;f=c?f:f+d|0;if((e|0)<=0)break;else{a=c?a:a-b|0;d=d>>>1;e=e+-1|0}}return f|0}function Nc(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0;E=i;A=c[a+8+(j<<2)>>2]|0;B=+g[A+4>>2];o=c[a>>2]|0;n=0;p=c[a+24>>2]|0;while(1){z=o>>1;if((n|0)>=(j|0))break;o=z;n=n+1|0;p=p+(z<<2)|0}D=o>>2;m=i;i=i+((1*(z<<2)|0)+15&-16)|0;a=i;i=i+((1*(D<<3)|0)+15&-16)|0;s=h>>1;C=z+-1|0;u=h+3>>2;y=0-z|0;n=(u|0)>0?u:0;x=n<<1;w=s+x|0;v=z+s+-1-x|0;r=d+(v<<2)|0;q=0;o=f+(s<<2)|0;j=f+(s+-1<<2)|0;l=d+(s<<2)|0;s=d+(C+s<<2)|0;t=m;while(1){if((q|0)>=(u|0))break;g[t>>2]=+g[j>>2]*+g[l+(z<<2)>>2]+ +g[o>>2]*+g[s>>2];g[t+4>>2]=+g[o>>2]*+g[l>>2]-+g[j>>2]*+g[s+(y<<2)>>2];q=q+1|0;o=o+8|0;j=j+-8|0;l=l+8|0;s=s+-8|0;t=t+8|0}t=h+-1|0;u=D-u|0;q=(n|0)>(u|0)?n:u;j=q<<1;l=n<<1;h=j-l|0;j=d+(v+(l-j)<<2)|0;l=d+(w<<2)|0;o=m+(x<<2)|0;while(1){if((n|0)>=(u|0))break;c[o>>2]=c[r>>2];c[o+4>>2]=c[l>>2];n=n+1|0;l=l+8|0;r=r+-8|0;o=o+8|0}r=f;l=f+(t<<2)|0;n=d+(w+h<<2)|0;o=m+(x+h<<2)|0;while(1){if((q|0)>=(D|0))break;g[o>>2]=+g[l>>2]*+g[j>>2]-+g[r>>2]*+g[n+(y<<2)>>2];g[o+4>>2]=+g[l>>2]*+g[n>>2]+ +g[r>>2]*+g[j+(z<<2)>>2];q=q+1|0;r=r+8|0;l=l+-8|0;n=n+8|0;j=j+-8|0;o=o+8|0}o=A+44|0;j=0;while(1){if((j|0)>=(D|0))break;H=+g[p+(j<<2)>>2];F=+g[p+(D+j<<2)>>2];G=+g[m>>2];I=+g[m+4>>2];z=b[(c[o>>2]|0)+(j<<1)>>1]|0;g[a+(z<<3)>>2]=B*(G*H-I*F);g[a+(z<<3)+4>>2]=B*(I*H+G*F);j=j+1|0;m=m+8|0}Dc(A,a);j=k<<1;o=0-j|0;m=0;n=e;l=e+((_(C,k)|0)<<2)|0;while(1){if((m|0)>=(D|0))break;H=+g[a+4>>2];G=+g[p+(D+m<<2)>>2];F=+g[a>>2];I=+g[p+(m<<2)>>2];g[n>>2]=H*G-F*I;g[l>>2]=F*G+H*I;a=a+8|0;m=m+1|0;n=n+(j<<2)|0;l=l+(o<<2)|0}i=E;return}function Oc(a,d,e,f,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=c[a>>2]|0;l=0;k=c[a+24>>2]|0;while(1){s=m>>1;if((l|0)>=(i|0))break;m=s;l=l+1|0;k=k+(s<<2)|0}r=m>>2;t=d+((_(s+-1|0,j)|0)<<2)|0;q=h>>1;l=e+(q<<2)|0;p=c[a+8+(i<<2)>>2]|0;i=j<<1;n=0-i|0;o=c[p+44>>2]|0;j=0;m=d;a=t;while(1){if((j|0)>=(r|0))break;t=o;v=+g[a>>2];w=+g[k+(j<<2)>>2];x=+g[m>>2];u=+g[k+(r+j<<2)>>2];d=b[t>>1]<<1;g[e+(q+(d|1)<<2)>>2]=v*w+x*u;g[e+(q+d<<2)>>2]=x*w-v*u;o=t+2|0;j=j+1|0;m=m+(i<<2)|0;a=a+(n<<2)|0}Dc(p,l);a=r+1>>1;i=0;m=e+(q+s+-2<<2)|0;while(1){if((i|0)>=(a|0))break;t=l+4|0;z=+g[t>>2];v=+g[l>>2];x=+g[k+(i<<2)>>2];y=+g[k+(r+i<<2)>>2];q=m+4|0;u=+g[q>>2];w=+g[m>>2];g[l>>2]=z*x+v*y;g[q>>2]=z*y-v*x;x=+g[k+(r-i+-1<<2)>>2];v=+g[k+(s-i+-1<<2)>>2];g[m>>2]=u*x+w*v;g[t>>2]=u*v-w*x;i=i+1|0;l=l+8|0;m=m+-8|0}i=h+-1|0;a=(h|0)/2|0;l=0;m=f;k=f+(i<<2)|0;i=e+(i<<2)|0;while(1){if((l|0)>=(a|0))break;z=+g[i>>2];y=+g[e>>2];g[e>>2]=+g[k>>2]*y-+g[m>>2]*z;g[i>>2]=+g[m>>2]*y+ +g[k>>2]*z;l=l+1|0;m=m+4|0;k=k+-4|0;i=i+-4|0;e=e+4|0}return}function Pc(){var a=0,b=0,d=0;a=0;a:while(1){if((a|0)<1)b=0;else{a=0;d=8;break}while(1){if((b|0)>=4)break;if(!b)break a;b=b+1|0}a=a+1|0}if((d|0)==8)return a|0;d=c[9608+(a<<2)>>2]|0;return d|0}function Qc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=i;i=i+80|0;k=p+56|0;m=p+40|0;o=p+20|0;n=p;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;l=d>>1;j=1;while(1){if((j|0)>=(l|0))break;d=j<<1;q=c[a>>2]|0;g[b+(j<<2)>>2]=((+g[q+(d+-1<<2)>>2]+ +g[q+((d|1)<<2)>>2])*.5+ +g[q+(d<<2)>>2])*.5;j=j+1|0}q=c[a>>2]|0;g[b>>2]=(+g[q+4>>2]*.5+ +g[q>>2])*.5;if((e|0)==2){d=a+4|0;j=1;while(1){if((j|0)>=(l|0))break;a=j<<1;e=c[d>>2]|0;q=b+(j<<2)|0;g[q>>2]=+g[q>>2]+((+g[e+(a+-1<<2)>>2]+ +g[e+((a|1)<<2)>>2])*.5+ +g[e+(a<<2)>>2])*.5;j=j+1|0}q=c[d>>2]|0;g[b>>2]=+g[b>>2]+(+g[q+4>>2]*.5+ +g[q>>2])*.5}bd(b,k,0,0,4,l,f);g[k>>2]=+g[k>>2]*1.000100016593933;d=1;while(1){if((d|0)==5)break;q=k+(d<<2)|0;r=+g[q>>2];h=+(d|0)*.00800000037997961;g[q>>2]=r-r*h*h;d=d+1|0}_c(m,k,4);d=0;h=1.0;while(1){if((d|0)==4)break;r=h*.8999999761581421;q=m+(d<<2)|0;g[q>>2]=+g[q>>2]*r;d=d+1|0;h=r}h=+g[m>>2];g[n>>2]=h+.800000011920929;r=+g[m+4>>2];g[n+4>>2]=r+h*.800000011920929;h=+g[m+8>>2];g[n+8>>2]=h+r*.800000011920929;r=+g[m+12>>2];g[n+12>>2]=r+h*.800000011920929;g[n+16>>2]=r*.800000011920929;Uc(b,n,b,l,o);i=p;return}function Rc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;o=p;j=f+-3|0;k=o+4|0;l=o+8|0;m=o+12|0;h=(f+-3|0)>0?f&-4:0;n=0;while(1){if((n|0)>=(j|0))break;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;Vc(a,b+(n<<2)|0,o,e);c[d+(n<<2)>>2]=c[o>>2];c[d+((n|1)<<2)>>2]=c[k>>2];c[d+((n|2)<<2)>>2]=c[l>>2];c[d+((n|3)<<2)>>2]=c[m>>2];n=n+4|0}while(1){if((h|0)>=(f|0))break;g[d+(h<<2)>>2]=+Wc(a,b+(h<<2)|0,e);h=h+1|0}i=p;return}function Sc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;r=u;p=r;c[p>>2]=0;c[p+4>>2]=0;p=d>>2;o=i;i=i+((1*(p<<2)|0)+15&-16)|0;n=d+e>>2;m=i;i=i+((1*(n<<2)|0)+15&-16)|0;s=e>>1;t=i;i=i+((1*(s<<2)|0)+15&-16)|0;q=0;while(1){if((q|0)>=(p|0))break;c[o+(q<<2)>>2]=c[a+(q<<1<<2)>>2];q=q+1|0}q=0;while(1){if((q|0)>=(n|0))break;c[m+(q<<2)>>2]=c[b+(q<<1<<2)>>2];q=q+1|0}q=e>>2;Rc(o,m,t,p,q,h);Xc(t,m,p,q,r);p=c[r>>2]<<1;q=c[r+4>>2]<<1;m=d>>1;o=0;while(1){if((o|0)>=(s|0))break;n=t+(o<<2)|0;g[n>>2]=0.0;d=o-p|0;if(!((((d|0)>-1?d:0-d|0)|0)>2?(d=o-q|0,(((d|0)>-1?d:0-d|0)|0)>2):0)){l=+Wc(a,b+(o<<2)|0,m);g[n>>2]=l<-1.0?-1.0:l}o=o+1|0}Xc(t,b,m,s,r);m=c[r>>2]|0;if(!((m|0)>0&(m|0)<(s+-1|0))){t=0;s=m<<1;t=s-t|0;c[f>>2]=t;i=u;return}k=+g[t+(m+-1<<2)>>2];l=+g[t+(m<<2)>>2];j=+g[t+(m+1<<2)>>2];if(j-k>(l-k)*.699999988079071){t=1;s=m<<1;t=s-t|0;c[f>>2]=t;i=u;return}if(k-j>(l-j)*.699999988079071){t=-1;s=m<<1;t=s-t|0;c[f>>2]=t;i=u;return}t=0;s=m<<1;t=s-t|0;c[f>>2]=t;i=u;return}function Tc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;var j=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+2080|0;A=H+2072|0;h=H+2068|0;B=H+2064|0;G=H+2052|0;x=c[d>>2]|0;y=(x|0)/2|0;z=(e|0)/2|0;E=(b|0)/2|0;F=a+2048|0;e=(x|0)<1024;x=e?y:511;c[d>>2]=e?y:511;y=H;Yc(F,F,a+(512-x<<2)|0,E,h,A);e=c[h>>2]|0;c[y>>2]=e;b=1;h=e;while(1){if((b|0)==513)break;m=+g[a+(512-b<<2)>>2];v=+g[a+(E-b+512<<2)>>2];v=(c[k>>2]=h,+g[k>>2])+m*m-v*v;D=(g[k>>2]=v,c[k>>2]|0);g[y+(b<<2)>>2]=v<0.0?0.0:v;b=b+1|0;h=D}s=(c[k>>2]=e,+g[k>>2]);b=c[y+(x<<2)>>2]|0;h=c[A>>2]|0;m=(c[k>>2]=h,+g[k>>2]);m=m/+O(+(s*(c[k>>2]=b,+g[k>>2])+1.0));r=x<<1;s=s*2.0;t=m*.699999988079071;u=m*.8500000238418579;v=f*.5;C=x;D=(g[k>>2]=m,c[k>>2]|0);w=2;while(1){if((w|0)>=16)break;e=w<<1;p=Zc(r+w|0,e)|0;if((p|0)<7)break;if((w|0)==2){e=p+x|0;e=(e|0)>512?x:e}else e=Zc((_(c[21448+(w<<2)>>2]<<1,x)|0)+w|0,e)|0;Yc(F,a+(512-p<<2)|0,a+(512-e<<2)|0,E,A,B);m=+g[A>>2]+ +g[B>>2];g[A>>2]=m;j=+g[y+(p<<2)>>2]+ +g[y+(e<<2)>>2];q=(g[k>>2]=j,c[k>>2]|0);j=m/+O(+(s*j+1.0));e=(g[k>>2]=j,c[k>>2]|0);n=p-z|0;n=(n|0)>-1?n:0-n|0;o=(g[k>>2]=m,c[k>>2]|0);if((n|0)>=2)if((n|0)<3){n=(_(w*5|0,w)|0)<(x|0);l=n?v:0.0}else l=0.0;else l=f;m=t-l;m=m<.30000001192092896?.30000001192092896:m;if((p|0)<21){m=u-l;if(m<.4000000059604645)m=.4000000059604645}if(j>m){n=p;h=o;b=q}else{n=C;e=D}C=n;D=e;w=w+1|0}l=(c[k>>2]=h,+g[k>>2]);l=l<0.0?0.0:l;m=(c[k>>2]=b,+g[k>>2]);if(!(m<=l))b=(g[k>>2]=l/(m+1.0),c[k>>2]|0);else b=1065353216;e=0;while(1){if((e|0)==3)break;g[G+(e<<2)>>2]=+Wc(F,a+(1-(C+e)+512<<2)|0,E);e=e+1|0}l=+g[G+8>>2];m=+g[G>>2];j=+g[G+4>>2];if(l-m>(j-m)*.699999988079071){F=1;m=(c[k>>2]=b,+g[k>>2]);v=(c[k>>2]=D,+g[k>>2]);a=m>v;a=a?D:b;E=C<<1;F=E+F|0;E=(F|0)<15;F=E?15:F;c[d>>2]=F;v=(c[k>>2]=a,+g[k>>2]);i=H;return +v}if(m-l>(j-l)*.699999988079071){F=-1;m=(c[k>>2]=b,+g[k>>2]);v=(c[k>>2]=D,+g[k>>2]);a=m>v;a=a?D:b;E=C<<1;F=E+F|0;E=(F|0)<15;F=E?15:F;c[d>>2]=F;v=(c[k>>2]=a,+g[k>>2]);i=H;return +v}F=0;m=(c[k>>2]=b,+g[k>>2]);v=(c[k>>2]=D,+g[k>>2]);a=m>v;a=a?D:b;E=C<<1;F=E+F|0;E=(F|0)<15;F=E?15:F;c[d>>2]=F;v=(c[k>>2]=a,+g[k>>2]);i=H;return +v}function Uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0;r=+g[b>>2];s=+g[b+4>>2];t=+g[b+8>>2];u=+g[b+12>>2];j=+g[b+16>>2];b=f+8|0;h=f+12|0;i=f+16|0;l=c[f>>2]|0;m=c[f+4>>2]|0;n=c[b>>2]|0;o=c[h>>2]|0;p=c[i>>2]|0;q=0;while(1){if((q|0)>=(e|0))break;w=c[a+(q<<2)>>2]|0;x=(c[k>>2]=w,+g[k>>2]);x=x+r*(c[k>>2]=l,+g[k>>2]);x=x+s*(c[k>>2]=m,+g[k>>2]);x=x+t*(c[k>>2]=n,+g[k>>2]);x=x+u*(c[k>>2]=o,+g[k>>2]);g[d+(q<<2)>>2]=x+j*(c[k>>2]=p,+g[k>>2]);v=l;l=w;q=q+1|0;p=o;o=n;n=m;m=v}c[f>>2]=l;c[f+4>>2]=m;c[b>>2]=n;c[h>>2]=o;c[i>>2]=p;return}function Vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;j=e+-3|0;r=d+4|0;s=d+8|0;t=d+12|0;o=(e|0)>3?e&-4:0;n=o|3;i=a;h=b+12|0;l=0;f=c[b>>2]|0;q=c[b+4>>2]|0;u=c[b+8>>2]|0;m=0;while(1){if((l|0)>=(j|0))break;y=+g[i>>2];m=c[h>>2]|0;B=+g[d>>2]+y*(c[k>>2]=f,+g[k>>2]);g[d>>2]=B;z=(c[k>>2]=q,+g[k>>2]);C=+g[r>>2]+y*z;g[r>>2]=C;E=(c[k>>2]=u,+g[k>>2]);A=+g[s>>2]+y*E;g[s>>2]=A;D=(c[k>>2]=m,+g[k>>2]);y=+g[t>>2]+y*D;g[t>>2]=y;x=+g[i+4>>2];w=c[h+4>>2]|0;z=B+x*z;g[d>>2]=z;C=C+x*E;g[r>>2]=C;A=A+x*D;g[s>>2]=A;B=(c[k>>2]=w,+g[k>>2]);x=y+x*B;g[t>>2]=x;y=+g[i+8>>2];v=c[h+8>>2]|0;E=z+y*E;g[d>>2]=E;C=C+y*D;g[r>>2]=C;A=A+y*B;g[s>>2]=A;z=(c[k>>2]=v,+g[k>>2]);y=x+y*z;g[t>>2]=y;x=+g[i+12>>2];p=c[h+12>>2]|0;g[d>>2]=E+x*D;g[r>>2]=C+x*B;g[s>>2]=A+x*z;g[t>>2]=y+x*(c[k>>2]=p,+g[k>>2]);i=i+16|0;h=h+16|0;l=l+4|0;f=w;q=v;u=p}i=a+(o<<2)|0;h=b+(n<<2)|0;p=o|1;if((o|0)<(e|0)){E=+g[i>>2];l=n+1|0;m=c[h>>2]|0;g[d>>2]=+g[d>>2]+E*(c[k>>2]=f,+g[k>>2]);g[r>>2]=+g[r>>2]+E*(c[k>>2]=q,+g[k>>2]);g[s>>2]=+g[s>>2]+E*(c[k>>2]=u,+g[k>>2]);g[t>>2]=+g[t>>2]+E*(c[k>>2]=m,+g[k>>2]);i=a+(p<<2)|0;h=b+(l<<2)|0;j=p}else{l=n;j=o}if((p|0)<(e|0)){E=+g[i>>2];f=c[h>>2]|0;g[d>>2]=+g[d>>2]+E*(c[k>>2]=q,+g[k>>2]);g[r>>2]=+g[r>>2]+E*(c[k>>2]=u,+g[k>>2]);g[s>>2]=+g[s>>2]+E*(c[k>>2]=m,+g[k>>2]);g[t>>2]=+g[t>>2]+E*(c[k>>2]=f,+g[k>>2]);i=a+(j+1<<2)|0;h=b+(l+1<<2)|0}if((p+1|0)>=(e|0))return;D=+g[i>>2];E=+g[h>>2];g[d>>2]=+g[d>>2]+D*(c[k>>2]=u,+g[k>>2]);g[r>>2]=+g[r>>2]+D*(c[k>>2]=m,+g[k>>2]);g[s>>2]=+g[s>>2]+D*(c[k>>2]=f,+g[k>>2]);g[t>>2]=+g[t>>2]+D*E;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;f=e+ +g[a+(d<<2)>>2]*+g[b+(d<<2)>>2];d=d+1|0;e=f}return +e}function Xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;c[f>>2]=0;u=f+4|0;c[u>>2]=1;i=1065353216;h=0;while(1){if((h|0)>=(d|0)){m=0;r=0;n=0;s=-1082130432;q=-1082130432;t=0;break}l=+g[b+(h<<2)>>2];i=(g[k>>2]=(c[k>>2]=i,+g[k>>2])+l*l,c[k>>2]|0);h=h+1|0}while(1){if((t|0)>=(e|0))break;j=+g[a+(t<<2)>>2];do if(j>0.0){j=j*9.999999960041972e-13;j=j*j;h=(g[k>>2]=j,c[k>>2]|0);w=j*(c[k>>2]=n,+g[k>>2]);v=(c[k>>2]=q,+g[k>>2]);l=(c[k>>2]=i,+g[k>>2]);if(w>v*l){w=j*(c[k>>2]=r,+g[k>>2]);if(w>(c[k>>2]=s,+g[k>>2])*l){c[u>>2]=m;c[f>>2]=t;m=t;o=i;n=r;p=h;h=s;break}else{c[u>>2]=t;o=r;n=i;p=s;break}}else{o=r;p=s;h=q}}else{l=(c[k>>2]=i,+g[k>>2]);o=r;p=s;h=q}while(0);v=+g[b+(t+d<<2)>>2];w=+g[b+(t<<2)>>2];w=l+(v*v-w*w);i=(g[k>>2]=w<1.0?1.0:w,c[k>>2]|0);r=o;s=p;q=h;t=t+1|0}return}function Yc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0.0;i=0;j=0;l=0;while(1){if((i|0)>=(e|0))break;o=+g[a+(i<<2)>>2];n=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+o*+g[b+(i<<2)>>2],c[k>>2]|0);m=(g[k>>2]=(c[k>>2]=l,+g[k>>2])+o*+g[d+(i<<2)>>2],c[k>>2]|0);i=i+1|0;j=n;l=m}c[f>>2]=j;c[h>>2]=l;return}function Zc(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0.0,j=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0;e=c[b>>2]|0;h=0;while(1){if((h|0)>=(d|0))break;g[a+(h<<2)>>2]=0.0;h=h+1|0}if(+g[b>>2]!=0.0)m=0;else return;while(1){if((m|0)<(d|0)){f=0.0;h=0}else{e=13;break}while(1){if((m|0)==(h|0))break;f=f+ +g[a+(h<<2)>>2]*+g[b+(m-h<<2)>>2];h=h+1|0}n=m+1|0;l=(c[k>>2]=e,+g[k>>2]);f=(f+ +g[b+(n<<2)>>2])/l;i=-f;g[a+(m<<2)>>2]=i;j=n>>1;h=m+-1|0;e=0;while(1){if((e|0)>=(j|0))break;q=a+(e<<2)|0;o=+g[q>>2];m=a+(h-e<<2)|0;p=+g[m>>2];g[q>>2]=o+p*i;g[m>>2]=p+o*i;e=e+1|0}f=l-f*f*l;if(f<+g[b>>2]*1.0000000474974513e-03){e=13;break}e=(g[k>>2]=f,c[k>>2]|0);m=n}if((e|0)==13)return}function $c(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=i;i=i+112|0;n=q+96|0;o=q;p=i;i=i+((1*(e+24<<2)|0)+15&-16)|0;j=0;while(1){if((j|0)==24)break;c[o+(j<<2)>>2]=c[b+(24-j+-1<<2)>>2];j=j+1|0}h=0;while(1){if((h|0)==24){h=0;break}c[p+(h<<2)>>2]=c[f+(24-h+-1<<2)>>2];h=h+1|0}while(1){if((h|0)>=(e|0)){h=0;break}c[p+(h+24<<2)>>2]=c[a+(h<<2)>>2];h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[a+(e-h+-1<<2)>>2];h=h+1|0}b=e+-3|0;j=n+4|0;l=n+8|0;m=n+12|0;h=(e|0)>3?e&-4:0;f=0;while(1){if((f|0)>=(b|0))break;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;cd(o,p+(f<<2)|0,n,24);g[d+(f<<2)>>2]=+g[a+(f<<2)>>2]+ +g[n>>2];r=f|1;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[j>>2];r=f|2;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[l>>2];r=f|3;g[d+(r<<2)>>2]=+g[a+(r<<2)>>2]+ +g[m>>2];f=f+4|0}while(1){if((h|0)<(e|0)){j=0;k=0.0}else break;while(1){if((j|0)==24)break;s=k+ +g[o+(j<<2)>>2]*+g[p+(h+j<<2)>>2];j=j+1|0;k=s}g[d+(h<<2)>>2]=+g[a+(h<<2)>>2]+k;h=h+1|0}i=q;return}function ad(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0;u=i;i=i+112|0;r=u+96|0;s=u;j=e+24|0;t=i;i=i+((1*(j<<2)|0)+15&-16)|0;l=0;while(1){if((l|0)==24)break;c[s+(l<<2)>>2]=c[b+(24-l+-1<<2)>>2];l=l+1|0}l=0;while(1){if((l|0)==24){l=24;break}g[t+(l<<2)>>2]=-+g[f+(24-l+-1<<2)>>2];l=l+1|0}while(1){if((l|0)>=(j|0))break;g[t+(l<<2)>>2]=0.0;l=l+1|0}l=e+-3|0;j=r+4|0;m=r+8|0;n=r+12|0;o=b+4|0;p=b+8|0;h=(e+-3|0)>0?e&-4:0;q=0;while(1){if((q|0)>=(l|0))break;c[r>>2]=c[a+(q<<2)>>2];B=q|1;c[j>>2]=c[a+(B<<2)>>2];z=q|2;c[m>>2]=c[a+(z<<2)>>2];v=q|3;c[n>>2]=c[a+(v<<2)>>2];cd(s,t+(q<<2)|0,r,24);A=+g[r>>2];w=-A;g[t+(q+24<<2)>>2]=w;g[d+(q<<2)>>2]=A;A=+g[j>>2]+ +g[b>>2]*w;g[j>>2]=A;x=-A;g[t+(q+25<<2)>>2]=x;g[d+(B<<2)>>2]=A;A=+g[m>>2]+ +g[b>>2]*x+ +g[o>>2]*w;g[m>>2]=A;y=-A;g[t+(q+26<<2)>>2]=y;g[d+(z<<2)>>2]=A;w=+g[n>>2]+ +g[b>>2]*y+ +g[o>>2]*x+ +g[p>>2]*w;g[n>>2]=w;g[t+(q+27<<2)>>2]=-w;g[d+(v<<2)>>2]=w;q=q+4|0}while(1){if((h|0)>=(e|0)){h=0;break}j=0;l=c[a+(h<<2)>>2]|0;while(1){if((j|0)==24)break;z=(g[k>>2]=(c[k>>2]=l,+g[k>>2])-+g[s+(j<<2)>>2]*+g[t+(h+j<<2)>>2],c[k>>2]|0);j=j+1|0;l=z}c[t+(h+24<<2)>>2]=l;c[d+(h<<2)>>2]=l;h=h+1|0}while(1){if((h|0)==24)break;c[f+(h<<2)>>2]=c[d+(e-h+-1<<2)>>2];h=h+1|0}i=u;return}function bd(a,b,d,e,f,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,p=0;o=i;n=h-f|0;m=i;i=i+((1*(h<<2)|0)+15&-16)|0;a:do if(!e)m=a;else{l=0;while(1){if((l|0)>=(h|0)){l=0;break}c[m+(l<<2)>>2]=c[a+(l<<2)>>2];l=l+1|0}while(1){if((l|0)>=(e|0))break a;k=+g[d+(l<<2)>>2];g[m+(l<<2)>>2]=+g[a+(l<<2)>>2]*k;p=h-l+-1|0;g[m+(p<<2)>>2]=+g[a+(p<<2)>>2]*k;l=l+1|0}}while(0);Rc(m,m,b,n,f+1|0,j);l=0;while(1){if((l|0)>(f|0))break;k=0.0;e=l+n|0;while(1){if((e|0)>=(h|0))break;k=k+ +g[m+(e<<2)>>2]*+g[m+(e-l<<2)>>2];e=e+1|0}p=b+(l<<2)|0;g[p>>2]=+g[p>>2]+k;l=l+1|0}i=o;return}function cd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;j=e+-3|0;r=d+4|0;s=d+8|0;t=d+12|0;o=(e|0)>3?e&-4:0;n=o|3;i=a;h=b+12|0;l=0;f=c[b>>2]|0;q=c[b+4>>2]|0;u=c[b+8>>2]|0;m=0;while(1){if((l|0)>=(j|0))break;y=+g[i>>2];m=c[h>>2]|0;B=+g[d>>2]+y*(c[k>>2]=f,+g[k>>2]);g[d>>2]=B;z=(c[k>>2]=q,+g[k>>2]);C=+g[r>>2]+y*z;g[r>>2]=C;E=(c[k>>2]=u,+g[k>>2]);A=+g[s>>2]+y*E;g[s>>2]=A;D=(c[k>>2]=m,+g[k>>2]);y=+g[t>>2]+y*D;g[t>>2]=y;x=+g[i+4>>2];w=c[h+4>>2]|0;z=B+x*z;g[d>>2]=z;C=C+x*E;g[r>>2]=C;A=A+x*D;g[s>>2]=A;B=(c[k>>2]=w,+g[k>>2]);x=y+x*B;g[t>>2]=x;y=+g[i+8>>2];v=c[h+8>>2]|0;E=z+y*E;g[d>>2]=E;C=C+y*D;g[r>>2]=C;A=A+y*B;g[s>>2]=A;z=(c[k>>2]=v,+g[k>>2]);y=x+y*z;g[t>>2]=y;x=+g[i+12>>2];p=c[h+12>>2]|0;g[d>>2]=E+x*D;g[r>>2]=C+x*B;g[s>>2]=A+x*z;g[t>>2]=y+x*(c[k>>2]=p,+g[k>>2]);i=i+16|0;h=h+16|0;l=l+4|0;f=w;q=v;u=p}i=a+(o<<2)|0;h=b+(n<<2)|0;p=o|1;if((o|0)<(e|0)){E=+g[i>>2];l=n+1|0;m=c[h>>2]|0;g[d>>2]=+g[d>>2]+E*(c[k>>2]=f,+g[k>>2]);g[r>>2]=+g[r>>2]+E*(c[k>>2]=q,+g[k>>2]);g[s>>2]=+g[s>>2]+E*(c[k>>2]=u,+g[k>>2]);g[t>>2]=+g[t>>2]+E*(c[k>>2]=m,+g[k>>2]);i=a+(p<<2)|0;h=b+(l<<2)|0;j=p}else{l=n;j=o}if((p|0)<(e|0)){E=+g[i>>2];f=c[h>>2]|0;g[d>>2]=+g[d>>2]+E*(c[k>>2]=q,+g[k>>2]);g[r>>2]=+g[r>>2]+E*(c[k>>2]=u,+g[k>>2]);g[s>>2]=+g[s>>2]+E*(c[k>>2]=m,+g[k>>2]);g[t>>2]=+g[t>>2]+E*(c[k>>2]=f,+g[k>>2]);i=a+(j+1<<2)|0;h=b+(l+1<<2)|0}if((p+1|0)>=(e|0))return;D=+g[i>>2];E=+g[h>>2];g[d>>2]=+g[d>>2]+D*(c[k>>2]=u,+g[k>>2]);g[r>>2]=+g[r>>2]+D*(c[k>>2]=m,+g[k>>2]);g[s>>2]=+g[s>>2]+D*(c[k>>2]=f,+g[k>>2]);g[t>>2]=+g[t>>2]+D*E;return}function dd(a,b,d,e,f,h,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0.0,v=0,w=0.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;P=i;i=i+96|0;L=P+72|0;M=P+48|0;N=P+24|0;O=P;if(!p)if((r|0)==0?(v=d-b|0,+g[q>>2]>+(_(m<<1,v)|0)):0)p=(_(v,m)|0)<(o|0);else p=0;else p=1;J=~~(+(j>>>0)*+g[q>>2]*+(s|0)/+(m<<9|0));K=a+8|0;s=c[K>>2]|0;u=+kd(f,h,b,e,s,m);I=ld(c[l+20>>2]|0,c[l+28>>2]|0)|0;e=(I+3|0)>>>0>j>>>0;v=e?0:p&1;e=e?0:r;if(!((d-b|0)>10?(w=+(o|0)*.125,!(w>16.0)):0))w=16.0;w=(t|0)==0?w:3.0;c[L>>2]=c[l>>2];c[L+4>>2]=c[l+4>>2];c[L+8>>2]=c[l+8>>2];c[L+12>>2]=c[l+12>>2];c[L+16>>2]=c[l+16>>2];c[L+20>>2]=c[l+20>>2];G=l+24|0;D=c[G>>2]|0;H=l+28|0;c[M>>2]=c[H>>2];c[M+4>>2]=c[H+4>>2];c[M+8>>2]=c[H+8>>2];c[M+12>>2]=c[H+12>>2];c[M+16>>2]=c[H+16>>2];B=_(s,m)|0;E=i;i=i+((1*(B<<2)|0)+15&-16)|0;F=i;i=i+((1*(B<<2)|0)+15&-16)|0;uj(E|0,h|0,B<<2|0)|0;B=(e|0)==0;if(B)if(!v){C=D;e=0}else{md(a,b,d,f,E,j,I,30772+(n*84|0)+42|0,F,l,m,n,1,w,t)|0;A=19}else{e=md(a,b,d,f,E,j,I,30772+(n*84|0)+42|0,F,l,m,n,1,w,t)|0;if(!v)C=c[G>>2]|0;else A=19}if((A|0)==19){uj(h|0,E|0,(_(c[K>>2]|0,m)|0)<<2|0)|0;uj(k|0,F|0,(_(c[K>>2]|0,m)|0)<<2|0)|0;w=u;g[q>>2]=w;i=P;return}o=bc(l)|0;p=c[l>>2]|0;r=l+4|0;c[N>>2]=c[r>>2];c[N+4>>2]=c[r+4>>2];c[N+8>>2]=c[r+8>>2];c[N+12>>2]=c[r+12>>2];c[N+16>>2]=c[r+16>>2];c[O>>2]=c[H>>2];c[O+4>>2]=c[H+4>>2];c[O+8>>2]=c[H+8>>2];c[O+12>>2]=c[H+12>>2];c[O+16>>2]=c[H+16>>2];s=nd(D)|0;Q=nd(C)|0;x=(od(p)|0)+s|0;y=Q-s|0;A=ka()|0;z=i;i=i+((1*((Q|0)==(s|0)?1:y)|0)+15&-16)|0;uj(z|0,x|0,y|0)|0;c[l>>2]=c[L>>2];c[l+4>>2]=c[L+4>>2];c[l+8>>2]=c[L+8>>2];c[l+12>>2]=c[L+12>>2];c[l+16>>2]=c[L+16>>2];c[l+20>>2]=c[L+20>>2];c[G>>2]=D;c[H>>2]=c[M>>2];c[H+4>>2]=c[M+4>>2];c[H+8>>2]=c[M+8>>2];c[H+12>>2]=c[M+12>>2];c[H+16>>2]=c[M+16>>2];s=md(a,b,d,f,h,j,I,30772+(n*84|0)+(v*42|0)|0,k,l,m,n,0,w,t)|0;a:do if(B)va(A|0);else{do if((e|0)>=(s|0)){if((e|0)==(s|0)?((bc(l)|0)+J|0)>(o|0):0)break;va(A|0);if(!v)break a;g[q>>2]=u;i=P;return}while(0);c[l>>2]=p;c[r>>2]=c[N>>2];c[r+4>>2]=c[N+4>>2];c[r+8>>2]=c[N+8>>2];c[r+12>>2]=c[N+12>>2];c[r+16>>2]=c[N+16>>2];c[G>>2]=C;c[H>>2]=c[O>>2];c[H+4>>2]=c[O+4>>2];c[H+8>>2]=c[O+8>>2];c[H+12>>2]=c[O+12>>2];c[H+16>>2]=c[O+16>>2];uj(x|0,z|0,y|0)|0;uj(h|0,E|0,(_(c[K>>2]|0,m)|0)<<2|0)|0;uj(k|0,F|0,(_(c[K>>2]|0,m)|0)<<2|0)|0;va(A|0);w=u;g[q>>2]=w;i=P;return}while(0);w=+g[21612+(n<<2)>>2];w=w*w*+g[q>>2]+u;g[q>>2]=w;i=P;return}function ed(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0;n=a+8|0;while(1){if((b|0)>=(d|0))break;l=h+(b<<2)|0;k=c[l>>2]|0;a=1<<k;if((k|0)>=1){m=+((a&65535)<<16>>16);a=(a<<16>>16)+-1|0;k=0;do{o=~~+M(+((+g[f+(b+(_(k,c[n>>2]|0)|0)<<2)>>2]+.5)*m));q=(o|0)>(a|0);o=((q?a:o)|0)<0?0:q?a:o;uc(i,o,c[l>>2]|0);p=(+(o|0)+.5)*+(1<<14-(c[l>>2]|0)|0)*.00006103515625+-.5;o=e+(b+(_(k,c[n>>2]|0)|0)<<2)|0;g[o>>2]=+g[o>>2]+p;o=f+(b+(_(k,c[n>>2]|0)|0)<<2)|0;g[o>>2]=+g[o>>2]-p;k=k+1|0}while((k|0)<(j|0))}b=b+1|0}return}function fd(a,b,d,e,f,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=a+8|0;q=(l|0)>1?0-l|0:-1;a=j;o=0;while(1){if((o|0)==2)break;else n=b;while(1){if(!((n|0)<(d|0)&(a|0)>=(l|0)))break;j=h+(n<<2)|0;if((c[j>>2]|0)<=7?(c[i+(n<<2)>>2]|0)==(o|0):0){m=0;do{s=!(+g[f+(n+(_(m,c[p>>2]|0)|0)<<2)>>2]<0.0)&1;uc(k,s,1);r=e+(n+(_(m,c[p>>2]|0)|0)<<2)|0;g[r>>2]=+g[r>>2]+(+(s|0)+-.5)*+(1<<14-(c[j>>2]|0)+-1|0)*.00006103515625;m=m+1|0}while((m|0)<(l|0));a=q+a|0}n=n+1|0}o=o+1|0}return}function gd(a,b,e,f,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0;w=i;i=i+16|0;v=w;s=v;c[s>>2]=0;c[s+4>>2]=0;if(!h){t=+g[21628+(l<<2)>>2];u=+g[21612+(l<<2)>>2]}else{t=.149993896484375;u=0.0}s=c[j+4>>2]<<3;q=j+20|0;r=j+28|0;p=a+8|0;while(1){if((b|0)>=(e|0))break;n=(b|0)<20;o=0;do{a=ld(c[q>>2]|0,c[r>>2]|0)|0;m=s-a|0;do if((m|0)<=14){if((m|0)>1){a=hc(j,31108,2)|0;a=a>>1^0-(a&1);break}if((s|0)>(a|0))a=0-(gc(j,1)|0)|0;else a=-1}else{a=(n?b:20)<<1;a=Kc(j,(d[30772+(l*84|0)+(h*42|0)+a>>0]|0)<<7,(d[(a|1)+(30772+(l*84|0)+(h*42|0))>>0]|0)<<6)|0}while(0);x=+(a|0);a=f+(b+(_(o,c[p>>2]|0)|0)<<2)|0;y=+g[a>>2];g[a>>2]=y<-9.0?-9.0:y;a=f+(b+(_(o,c[p>>2]|0)|0)<<2)|0;m=v+(o<<2)|0;y=+g[m>>2];g[a>>2]=u*+g[a>>2]+y+x;g[m>>2]=y+x-t*x;o=o+1|0}while((o|0)<(k|0));b=b+1|0}i=w;return}function hd(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0;l=a+8|0;while(1){if((b|0)>=(d|0))break;k=f+(b<<2)|0;a=c[k>>2]|0;a:do if((a|0)>=1){j=0;while(1){m=+(jc(h,a)|0)+.5;a=e+(b+(_(j,c[l>>2]|0)|0)<<2)|0;g[a>>2]=+g[a>>2]+(m*+(1<<14-(c[k>>2]|0)|0)*.00006103515625+-.5);j=j+1|0;if((j|0)>=(i|0))break a;a=c[k>>2]|0}}while(0);b=b+1|0}return}function id(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;o=a+8|0;p=(k|0)>1?0-k|0:-1;a=i;n=0;while(1){if((n|0)==2)break;else m=b;while(1){if(!((m|0)<(d|0)&(a|0)>=(k|0)))break;i=f+(m<<2)|0;if((c[i>>2]|0)<=7?(c[h+(m<<2)>>2]|0)==(n|0):0){l=0;do{r=+(jc(j,1)|0)+-.5;q=e+(m+(_(l,c[o>>2]|0)|0)<<2)|0;g[q>>2]=+g[q>>2]+r*+(1<<14-(c[i>>2]|0)+-1|0)*.00006103515625;l=l+1|0}while((l|0)<(k|0));a=p+a|0}m=m+1|0}n=n+1|0}return}function jd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0;i=a+8|0;j=0;do{a=0;while(1){if((a|0)>=(b|0)){a=b;break}k=a+(_(j,c[i>>2]|0)|0)|0;l=+Y(+(+g[e+(k<<2)>>2]))*1.4426950408889634;g[f+(k<<2)>>2]=l-+g[21512+(a<<2)>>2];a=a+1|0}while(1){if((a|0)>=(d|0))break;g[f+((_(j,c[i>>2]|0)|0)+a<<2)>>2]=-14.0;a=a+1|0}j=j+1|0}while((j|0)<(h|0));return}function kd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0;k=0;h=0.0;do{j=_(k,e)|0;i=c;while(1){if((i|0)>=(d|0))break;m=i+j|0;l=+g[a+(m<<2)>>2]-+g[b+(m<<2)>>2];h=h+l*l;i=i+1|0}k=k+1|0}while((k|0)<(f|0));return +(h>200.0?200.0:h)}function ld(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function md(a,b,e,f,h,j,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=+s;t=t|0;var u=0.0,v=0.0,w=0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+16|0;P=R;Q=R+8|0;K=P;c[K>>2]=0;c[K+4>>2]=0;if((l+3|0)<=(j|0))rc(o,r,3);if(!r){l=c[21628+(q<<2)>>2]|0;r=c[21612+(q<<2)>>2]|0}else{l=1041864704;r=0}O=a+8|0;L=(c[k>>2]=r,+g[k>>2]);J=o+20|0;K=o+28|0;N=p*3|0;I=(t|0)==0;C=(c[k>>2]=l,+g[k>>2]);t=0;H=b;while(1){if((H|0)>=(e|0))break;D=_(N,e-H|0)|0;E=(H|0)!=(b|0);F=(H|0)<20;G=(H|0)>1;B=0;do{y=H+(_(B,c[O>>2]|0)|0)|0;u=+g[f+(y<<2)>>2];v=+g[h+(y<<2)>>2];x=L*(v<-9.0?-9.0:v);y=P+(B<<2)|0;z=+g[y>>2];A=u-x-z;a=~~+M(+(A+.5));c[Q>>2]=a;v=(v<-28.0?-28.0:v)-s;if((a|0)<0&u<v){w=a+~~(v-u)|0;w=(w|0)>0?0:w;c[Q>>2]=w}else w=a;l=ld(c[J>>2]|0,c[K>>2]|0)|0;r=j-l|0;q=r-D|0;if(E&(q|0)<30&(q|0)<24){a=(w|0)>1?1:w;c[Q>>2]=a;if((q|0)<16){a=(a|0)<-1?-1:a;c[Q>>2]=a}}else a=w;if(!(I|G^1)){a=(a|0)<0?a:0;c[Q>>2]=a}do if((r|0)<=14){if((r|0)>1){a=(a|0)<1?((a|0)<-1?-1:a):1;c[Q>>2]=a;sc(o,a<<1^a>>31,31108,2);break}if((l|0)<(j|0)){a=(a|0)>0?0:a;c[Q>>2]=a;rc(o,0-a|0,1);break}else{c[Q>>2]=-1;a=-1;break}}else{a=(F?H:20)<<1;Jc(o,Q,(d[m+a>>0]|0)<<7,(d[m+(a|1)>>0]|0)<<6);a=c[Q>>2]|0}while(0);v=+(a|0);g[n+(H+(_(B,c[O>>2]|0)|0)<<2)>>2]=A-v;w=w-a|0;t=t+((w|0)>-1?w:0-w|0)|0;g[h+(H+(_(B,c[O>>2]|0)|0)<<2)>>2]=x+z+v;g[y>>2]=z+v-C*v;B=B+1|0}while((B|0)<(p|0));H=H+1|0}i=R;return (I?t:0)|0}function nd(a){a=a|0;return a|0}function od(a){a=a|0;return a|0}function pd(a,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var 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;R=i;m=(m|0)>0?m:0;G=c[a+8>>2]|0;Q=(m|0)>7?8:0;m=m-Q|0;if((r|0)==2?(x=d[31111+(f-e)>>0]|0,(m|0)>=(x|0)):0){m=m-x|0;P=(m|0)>7?8:0;m=m-P|0}else{P=0;x=0}K=i;i=i+((1*(G<<2)|0)+15&-16)|0;L=i;i=i+((1*(G<<2)|0)+15&-16)|0;M=i;i=i+((1*(G<<2)|0)+15&-16)|0;N=i;i=i+((1*(G<<2)|0)+15&-16)|0;A=r<<3;O=a+32|0;y=j+-5-s|0;z=s+3|0;j=e;while(1){if((j|0)>=(f|0))break;J=j+1|0;H=c[O>>2]|0;H=(b[H+(J<<1)>>1]|0)-(b[H+(j<<1)>>1]|0)|0;I=H*3<<s<<3>>4;c[M+(j<<2)>>2]=(A|0)>(I|0)?A:I;I=(_(_(_(H,r)|0,y)|0,f-j+-1|0)|0)<<z>>6;c[N+(j<<2)>>2]=(H<<s|0)==1?I-A|0:I;j=J}H=c[a+48>>2]|0;I=a+52|0;B=H+-1|0;J=1;do{F=J+B>>1;E=_(F,G)|0;D=1;j=f;z=0;a:while(1){b:while(1){C=j;do{j=C;C=C+-1|0;if((j|0)<=(e|0))break a;y=c[O>>2]|0;j=_((b[y+(j<<1)>>1]|0)-(b[y+(C<<1)>>1]|0)|0,r)|0;j=(_(j,d[(c[I>>2]|0)+(E+C)>>0]|0)|0)<<s>>2;if((j|0)>0){j=j+(c[N+(C<<2)>>2]|0)|0;j=(j|0)<0?0:j}y=j+(c[g+(C<<2)>>2]|0)|0;if((y|0)<(c[M+(C<<2)>>2]|0)^1|D^1)break b}while((y|0)<(A|0));j=C;z=z+A|0}S=c[h+(C<<2)>>2]|0;D=0;j=C;z=z+((y|0)<(S|0)?y:S)|0}S=(z|0)>(m|0);B=S?F+-1|0:B;J=S?J:F+1|0}while((J|0)<=(B|0));F=_(J+-1|0,G)|0;A=_(J,G)|0;B=(J|0)>1;D=e;E=e;while(1){if((E|0)>=(f|0))break;C=E+1|0;j=c[O>>2]|0;j=_((b[j+(C<<1)>>1]|0)-(b[j+(E<<1)>>1]|0)|0,r)|0;z=c[I>>2]|0;y=(_(j,d[z+(F+E)>>0]|0)|0)<<s>>2;if((J|0)<(H|0))j=(_(j,d[z+(A+E)>>0]|0)|0)<<s>>2;else j=c[h+(E<<2)>>2]|0;if((y|0)>0){z=y+(c[N+(E<<2)>>2]|0)|0;z=(z|0)<0?0:z}else z=y;if((j|0)>0){j=j+(c[N+(E<<2)>>2]|0)|0;j=(j|0)<0?0:j}S=c[g+(E<<2)>>2]|0;G=B?z+S|0:z;j=j+S|0;c[K+(E<<2)>>2]=G;c[L+(E<<2)>>2]=(j|0)<(G|0)?0:j-G|0;D=(S|0)>0?E:D;E=C}S=qd(a,e,f,D,K,L,M,h,m,n,Q,k,x,l,P,o,p,q,r,s,t,u,v,w)|0;i=R;return S|0}function qd(a,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;var 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;P=v<<3;L=(v|0)>1;Q=L&1;B=64;J=0;H=0;while(1){if((H|0)==6)break;G=J+B>>1;C=1;F=f;E=0;a:while(1){b:while(1){do{O=F;F=F+-1|0;if((O|0)<=(e|0))break a;D=(c[h+(F<<2)>>2]|0)+((_(G,c[i+(F<<2)>>2]|0)|0)>>6)|0;if((D|0)<(c[j+(F<<2)>>2]|0)^1|C^1)break b}while((D|0)<(P|0));E=E+P|0}O=c[k+(F<<2)>>2]|0;C=0;E=E+((D|0)<(O|0)?D:O)|0}O=(E|0)>(l|0);B=O?G:B;J=O?J:G;H=H+1|0}O=w<<3;D=0;C=f;G=0;while(1){E=C+-1|0;if((C|0)<=(e|0))break;M=(c[h+(E<<2)>>2]|0)+((_(J,c[i+(E<<2)>>2]|0)|0)>>6)|0;C=(D|0)==0?(M|0)<(c[j+(E<<2)>>2]|0):0;M=C?((M|0)<(P|0)?0:P):M;N=c[k+(E<<2)>>2]|0;N=(M|0)<(N|0)?M:N;c[s+(E<<2)>>2]=N;D=C?0:1;C=E;G=G+N|0}N=a+32|0;i=P+8|0;J=(y|0)==0;h=e+2|0;E=G;M=f;while(1){y=M+-1|0;if((y|0)<=(g|0)){K=17;break}C=l-E|0;G=c[N>>2]|0;I=b[G+(M<<1)>>1]|0;D=b[G+(e<<1)>>1]|0;F=I-D|0;H=rd(C,F)|0;F=C-(_(F,H)|0)|0;G=b[G+(y<<1)>>1]|0;D=F+(D-G)|0;G=I-G|0;I=s+(y<<2)|0;F=c[I>>2]|0;D=F+(_(H,G)|0)+((D|0)>0?D:0)|0;H=c[j+(y<<2)>>2]|0;if((D|0)<(((H|0)>(i|0)?H:i)|0)){C=F;G=D}else{if(J){if(gc(x,1)|0)break}else{if((M|0)<=(h|0)){K=22;break}if(!((y|0)>(A|0)?1:(D|0)<=((_((M|0)<=(z|0)?7:9,G)|0)<<w<<3>>4|0))){K=22;break}rc(x,0,1)}C=c[I>>2]|0;G=D+-8|0;E=E+8|0}if((p|0)>0)F=d[31111+(y-e)>>0]|0;else F=p;E=E-(C+p)+F|0;M=(G|0)<(P|0);c[I>>2]=M?0:P;p=F;E=M?E:E+P|0;M=y}if((K|0)==17)l=l+n|0;else if((K|0)==22)rc(x,1,1);do if((p|0)>0)if(J){D=(ic(x,M+1-e|0)|0)+e|0;c[o>>2]=D;break}else{D=c[o>>2]|0;D=(D|0)<(M|0)?D:M;c[o>>2]=D;tc(x,D-e|0,M+1-e|0);D=c[o>>2]|0;break}else{c[o>>2]=0;D=0}while(0);do if((D|0)>(e|0))if((r|0)>0)if(J){c[q>>2]=gc(x,1)|0;break}else{rc(x,c[q>>2]|0,1);break}else K=40;else{l=l+r|0;K=40}while(0);if((K|0)==40)c[q>>2]=0;l=l-E|0;C=c[N>>2]|0;C=(b[C+(M<<1)>>1]|0)-(b[C+(e<<1)>>1]|0)|0;B=rd(l,C)|0;C=_(C,B)|0;D=e;while(1){if((D|0)>=(M|0))break;K=D+1|0;r=c[N>>2]|0;r=_(B,(b[r+(K<<1)>>1]|0)-(b[r+(D<<1)>>1]|0)|0)|0;x=s+(D<<2)|0;c[x>>2]=(c[x>>2]|0)+r;D=K}B=l-C|0;l=e;while(1){if((l|0)>=(M|0))break;K=l+1|0;x=c[N>>2]|0;x=(b[x+(K<<1)>>1]|0)-(b[x+(l<<1)>>1]|0)|0;x=(B|0)<(x|0)?B:x;r=s+(l<<2)|0;c[r>>2]=(c[r>>2]|0)+x;B=B-x|0;l=K}h=(v|0)==2;p=a+56|0;z=L?4:3;I=(M|0)>(e|0);J=0;i=e;while(1){if((i|0)>=(M|0))break;y=i+1|0;E=c[N>>2]|0;E=(b[E+(y<<1)>>1]|0)-(b[E+(i<<1)>>1]|0)<<w;H=s+(i<<2)|0;C=(c[H>>2]|0)+J|0;if((E|0)>1){D=c[k+(i<<2)>>2]|0;D=(C|0)>(D|0)?C-D|0:0;F=C-D|0;c[H>>2]=F;C=_(E,v)|0;if(h&(E|0)>2?(c[q>>2]|0)==0:0)l=(i|0)<(c[o>>2]|0);else l=0;G=C+(l&1)|0;B=_(G,(b[(c[p>>2]|0)+(i<<1)>>1]|0)+O|0)|0;C=(B>>1)+(_(G,-21)|0)|0;if((E|0)==2)C=C+(G<<3>>2)|0;l=F+C|0;if((l|0)>=(G<<4|0))if((l|0)<(G*24|0))E=C+(B>>3)|0;else E=C;else E=C+(B>>2)|0;C=F+E+(G<<2)|0;B=t+(i<<2)|0;C=(rd((C|0)<0?0:C,G)|0)>>>3;c[B>>2]=C;L=_(C,v)|0;l=c[H>>2]|0;if((L|0)>(l>>3|0)){C=l>>Q>>3;c[B>>2]=C}L=(C|0)<8?C:8;c[B>>2]=L;L=_(L,G<<3)|0;c[u+(i<<2)>>2]=(L|0)>=((c[H>>2]|0)+E|0)&1;L=(_(c[B>>2]|0,v)|0)<<3;c[H>>2]=(c[H>>2]|0)-L}else{D=(C|0)<(P|0)?0:C-P|0;c[H>>2]=C-D;c[t+(i<<2)>>2]=0;c[u+(i<<2)>>2]=1}if((D|0)<=0){J=D;i=y;continue}x=D>>z;a=t+(i<<2)|0;K=c[a>>2]|0;L=8-K|0;L=(x|0)<(L|0)?x:L;c[a>>2]=K+L;L=(_(L,v)|0)<<3;c[u+(i<<2)>>2]=(L|0)>=(D-J|0)&1;J=D-L|0;i=y}c[m>>2]=J;B=I?M:e;while(1){if((B|0)>=(f|0))break;o=s+(B<<2)|0;e=t+(B<<2)|0;c[e>>2]=c[o>>2]>>Q>>3;c[o>>2]=0;c[u+(B<<2)>>2]=(c[e>>2]|0)<1&1;B=B+1|0}return M|0}function rd(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function sd(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=i;u=i;i=i+((1*(b<<2)|0)+15&-16)|0;v=i;i=i+((1*(b<<2)|0)+15&-16)|0;w=i;i=i+((1*(b<<2)|0)+15&-16)|0;wd(a,b,1,f,d,e);l=0;do{e=a+(l<<2)|0;j=+g[e>>2];if(j>0.0)j=1.0;else{g[e>>2]=-j;j=-1.0}g[w+(l<<2)>>2]=j;c[v+(l<<2)>>2]=0;g[u+(l<<2)>>2]=0.0;l=l+1|0}while((l|0)<(b|0));if((b>>1|0)<(d|0)){e=0;j=0.0;do{j=j+ +g[a+(e<<2)>>2];e=e+1|0}while((e|0)<(b|0));if(!(j>1.0000000036274937e-15&j<64.0)){g[a>>2]=1.0;e=1;do{g[a+(e<<2)>>2]=0.0;e=e+1|0}while((e|0)<(b|0));j=1.0}n=+(d+-1|0)*(1.0/j);e=0;l=d;m=0.0;j=0.0;do{z=+g[a+(e<<2)>>2];t=~~+M(+(n*z));c[v+(e<<2)>>2]=t;y=+(t|0);j=j+y*y;m=m+z*y;g[u+(e<<2)>>2]=y*2.0;l=l-t|0;e=e+1|0}while((e|0)<(b|0))}else{l=d;m=0.0;j=0.0}if((l|0)>(b+3|0)){y=+(l|0);j=j+y*y+y*+g[u>>2];c[v>>2]=(c[v>>2]|0)+l;l=0}t=0;while(1){if((t|0)>=(l|0)){e=0;break}n=j+1.0;p=0;q=0;r=-664576087;s=0;while(1){y=m+ +g[a+(s<<2)>>2];j=n+ +g[u+(s<<2)>>2];y=y*y;z=(c[k>>2]=p,+g[k>>2])*y;e=z>j*(c[k>>2]=r,+g[k>>2]);o=(g[k>>2]=y,c[k>>2]|0);q=e?s:q;s=s+1|0;if((s|0)>=(b|0))break;else{p=e?(g[k>>2]=j,c[k>>2]|0):p;r=e?o:r}}y=m+ +g[a+(q<<2)>>2];s=u+(q<<2)|0;j=+g[s>>2];g[s>>2]=j+2.0;s=v+(q<<2)|0;c[s>>2]=(c[s>>2]|0)+1;t=t+1|0;m=y;j=n+j}do{y=+g[w+(e<<2)>>2];t=a+(e<<2)|0;g[t>>2]=y*+g[t>>2];if(y<0.0){t=v+(e<<2)|0;c[t>>2]=0-(c[t>>2]|0)}e=e+1|0}while((e|0)<(b|0));Zb(v,b,d,h);h=xd(v,b,f)|0;i=x;return h|0}function td(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;var h=0,j=0;h=i;j=i;i=i+((1*(b<<2)|0)+15&-16)|0;yd(j,a,b,+_b(j,b,c,f),g);wd(a,b,-1,e,c,d);d=xd(j,b,e)|0;i=h;return d|0}function ud(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;c=1.0/+O(+(+zd(a,a,b)+1.0000000036274937e-15))*c;e=0;d=a;while(1){if((e|0)>=(b|0))break;g[d>>2]=c*+g[d>>2];e=e+1|0;d=d+4|0}return}function vd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a:do if(!c){h=+zd(a,a,d)+1.0000000036274937e-15;f=+zd(b,b,d)+1.0000000036274937e-15}else{h=1.0000000036274937e-15;f=1.0000000036274937e-15;c=0;while(1){if((c|0)>=(d|0))break a;k=+g[a+(c<<2)>>2];i=+g[b+(c<<2)>>2];j=k+i;i=k-i;h=h+j*j;f=f+i*i;c=c+1|0}}while(0);return ~~+M(+(+W(+(+O(+f)),+(+O(+h)))*10430.3818359375+.5))|0}function wd(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.0,i=0.0,j=0,k=0,l=0.0,m=0.0;if((f<<1|0)>=(b|0)|(g|0)==0)return;m=+(b|0)/+((_(c[21644+(g+-1<<2)>>2]|0,f)|0)+b|0);m=m*m*.5;l=+Q(+(m*1.5707963705062866));m=+Q(+((1.0-m)*1.5707963705062866));a:do if((e<<3|0)>(b|0))f=0;else{g=e>>2;f=1;while(1){if(((_((_(f,f)|0)+f|0,e)|0)+g|0)>=(b|0))break a;f=f+1|0}}while(0);k=Ad(b,e)|0;g=(d|0)<0;d=(f|0)==0;h=-m;i=-l;j=0;while(1){if((j|0)>=(e|0))break;b=a+((_(j,k)|0)<<2)|0;if(!g){Bd(b,k,1,l,h);if(!d)Bd(b,k,f,m,i)}else{if(!d)Bd(b,k,f,m,l);Bd(b,k,1,l,m)}j=j+1|0}return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((d|0)<2){a=1;return a|0}h=Ad(b,d)|0;b=0;i=0;do{e=_(i,h)|0;f=0;g=0;do{g=g|c[a+(e+f<<2)>>2];f=f+1|0}while((f|0)<(h|0));b=b|((g|0)!=0&1)<<i;i=i+1|0}while((i|0)!=(d|0));return b|0}function yd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var h=0;e=1.0/+O(+e)*f;h=0;do{g[b+(h<<2)>>2]=e*+(c[a+(h<<2)>>2]|0);h=h+1|0}while((h|0)<(d|0));return}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;f=e+ +g[a+(d<<2)>>2]*+g[b+(d<<2)>>2];d=d+1|0;e=f}return +e}function Ad(a,b){a=a|0;b=b|0;return (a>>>0)/(b>>>0)|0|0}function Bd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var f=0,h=0,i=0,j=0.0,k=0.0,l=0.0;j=-e;f=b-c|0;h=a;i=0;while(1){if((i|0)>=(f|0))break;l=+g[h>>2];k=+g[h+(c<<2)>>2];g[h+(c<<2)>>2]=k*d+l*e;g[h>>2]=l*d+k*j;h=h+4|0;i=i+1|0}f=b-(c<<1)|0;a=a+(f+-1<<2)|0;while(1){if((f|0)<=0)break;l=+g[a>>2];k=+g[a+(c<<2)>>2];g[a+(c<<2)>>2]=k*d+l*e;g[a>>2]=l*d+k*j;a=a+-4|0;f=f+-1|0}return}function Cd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+2340|0;f=c[d>>2]|0;e=32767/(f+1|0)|0;g=0;h=0;while(1){if((h|0)>=(f|0))break;i=g+e|0;b[a+4052+(h<<1)>>1]=i;f=c[d>>2]|0;g=i;h=h+1|0}c[a+4148>>2]=0;c[a+4152>>2]=3176576;return}
function Dd(a,d,e,f){a=a|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,z=0,A=0,B=0,C=0;C=i;i=i+32|0;B=C;n=a+2772|0;g=a+2316|0;if((c[g>>2]|0)!=(c[a+4156>>2]|0)){Cd(a);c[a+4156>>2]=c[g>>2]}m=a+4160|0;do if(!(c[m>>2]|0)){if(!(c[a+4164>>2]|0)){g=a+2340|0;h=0;while(1){if((h|0)>=(c[g>>2]|0))break;y=b[a+2344+(h<<1)>>1]|0;A=a+4052+(h<<1)|0;x=b[A>>1]|0;z=x&65535;b[A>>1]=z+((((y<<16>>16)-(x<<16>>16)>>16)*16348|0)+((((y&65535)-z&65535)*16348|0)>>>16));h=h+1|0}l=a+2324|0;j=c[l>>2]|0;h=0;g=0;k=0;while(1){if((g|0)>=(j|0))break;z=c[d+16+(g<<2)>>2]|0;y=(z|0)>(h|0);A=y?g:k;h=y?z:h;g=g+1|0;k=A}g=a+2332|0;h=c[g>>2]|0;vj(a+2772+(h<<2)|0,n|0,(_(j+-1|0,h)|0)<<2|0)|0;g=c[g>>2]|0;uj(n|0,a+4+((_(k,g)|0)<<2)|0,g<<2|0)|0;g=a+4148|0;h=c[l>>2]|0;j=0;while(1){if((j|0)>=(h|0))break;z=c[g>>2]|0;A=(c[d+16+(j<<2)>>2]|0)-z|0;c[g>>2]=z+(((A>>16)*4634|0)+(((A&65535)*4634|0)>>>16));j=j+1|0}if(c[m>>2]|0)break}rj(a+4084|0,0,c[a+2340>>2]<<2|0)|0;i=C;return}while(0);z=ka()|0;A=i;i=i+((1*(f+16<<2)|0)+15&-16)|0;y=b[a+4224>>1]|0;h=y<<16>>16;g=c[a+4244>>2]|0;j=g<<16>>16;g=(_(h>>16,j)|0)+((_(y&65535,j)|0)>>16)+(_(h,(g>>15)+1>>1)|0)|0;h=c[a+4148>>2]|0;j=g>>16;if((g|0)>2097151|(h|0)>8388608){g=h>>16;g=(Ed((_(g,g)|0)-((_(j,j)|0)<<5)|0)|0)<<16}else{y=g<<16>>16;x=h<<16>>16;g=(Ed((_(h>>16,x)|0)+((_(h&65535,x)|0)>>16)+(_(h,(h>>15)+1>>1)|0)-((_(j,y)|0)+((_(g&65535,y)|0)>>16)+(_(g,(g>>15)+1>>1)|0)<<5)|0)|0)<<8}Fd(A+64|0,n,g,f,a+4152|0);y=a+2340|0;gg(B,a+4052|0,c[y>>2]|0);x=a+4084|0;j=A;h=x;g=j+64|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));m=b[B>>1]|0;l=b[B+2>>1]|0;k=b[B+4>>1]|0;j=b[B+6>>1]|0;h=b[B+8>>1]|0;g=b[B+10>>1]|0;o=b[B+12>>1]|0;p=b[B+14>>1]|0;q=b[B+16>>1]|0;r=b[B+18>>1]|0;s=b[B+20>>1]|0;t=b[B+22>>1]|0;u=b[B+24>>1]|0;v=b[B+26>>1]|0;w=b[B+28>>1]|0;d=b[B+30>>1]|0;a=0;while(1){if((a|0)>=(f|0))break;B=c[A+(a+15<<2)>>2]|0;B=(c[y>>2]>>1)+((_(B>>16,m)|0)+((_(B&65535,m)|0)>>16))|0;n=c[A+(a+14<<2)>>2]|0;n=B+((_(n>>16,l)|0)+((_(n&65535,l)|0)>>16))|0;B=c[A+(a+13<<2)>>2]|0;B=n+((_(B>>16,k)|0)+((_(B&65535,k)|0)>>16))|0;n=c[A+(a+12<<2)>>2]|0;n=B+((_(n>>16,j)|0)+((_(n&65535,j)|0)>>16))|0;B=c[A+(a+11<<2)>>2]|0;B=n+((_(B>>16,h)|0)+((_(B&65535,h)|0)>>16))|0;n=c[A+(a+10<<2)>>2]|0;n=B+((_(n>>16,g)|0)+((_(n&65535,g)|0)>>16))|0;B=c[A+(a+9<<2)>>2]|0;B=n+((_(B>>16,o)|0)+((_(B&65535,o)|0)>>16))|0;n=c[A+(a+8<<2)>>2]|0;n=B+((_(n>>16,p)|0)+((_(n&65535,p)|0)>>16))|0;B=c[A+(a+7<<2)>>2]|0;B=n+((_(B>>16,q)|0)+((_(B&65535,q)|0)>>16))|0;n=c[A+(a+6<<2)>>2]|0;n=B+((_(n>>16,r)|0)+((_(n&65535,r)|0)>>16))|0;if((c[y>>2]|0)==16){B=c[A+(a+5<<2)>>2]|0;B=n+((_(B>>16,s)|0)+((_(B&65535,s)|0)>>16))|0;n=c[A+(a+4<<2)>>2]|0;n=B+((_(n>>16,t)|0)+((_(n&65535,t)|0)>>16))|0;B=c[A+(a+3<<2)>>2]|0;B=n+((_(B>>16,u)|0)+((_(B&65535,u)|0)>>16))|0;n=c[A+(a+2<<2)>>2]|0;n=B+((_(n>>16,v)|0)+((_(n&65535,v)|0)>>16))|0;B=c[A+(a+1<<2)>>2]|0;B=n+((_(B>>16,w)|0)+((_(B&65535,w)|0)>>16))|0;n=c[A+(a<<2)>>2]|0;n=B+((_(n>>16,d)|0)+((_(n&65535,d)|0)>>16))|0}B=A+(a+16<<2)|0;n=(c[B>>2]|0)+(n<<4)|0;c[B>>2]=n;B=e+(a<<1)|0;n=(b[B>>1]|0)+((n>>9)+1>>1)|0;b[B>>1]=(n|0)>32767?32767:(n|0)<-32768?-32768:n;a=a+1|0}j=x;h=A+(f<<2)|0;g=j+64|0;do{c[j>>2]=c[h>>2];j=j+4|0;h=h+4|0}while((j|0)<(g|0));va(z|0);i=C;return}function Ed(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}Gd(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|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,i=0,j=0,k=0,l=0;j=255;while(1){if((j|0)<=(e|0))break;j=j>>1}i=d<<12>>16;d=(d>>19)+1>>1;g=c[f>>2]|0;h=0;while(1){if((h|0)>=(e|0))break;k=(_(g,196314165)|0)+907633515|0;l=c[b+((k>>24&j)<<2)>>2]|0;l=(_(l>>16,i)|0)+((_(l&65535,i)|0)>>16)+(_(l,d)|0)|0;c[a+(h<<2)>>2]=((l|0)>32767?32767:(l|0)<-32768?-32768:l)<<16>>16;g=k;h=h+1|0}c[f>>2]=g;return}function Gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Hd(a)|0;c[b>>2]=e;c[d>>2]=(Id(a,24-e|0)|0)&127;return}function Hd(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Id(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function Jd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l+1>>0]=0;k=((f<<1)+g<<16>>16)*7|0;j=e+8>>4;g=0;while(1){if((g|0)>=(j|0))break;f=c[h+(g<<2)>>2]|0;a:do if((f|0)>0){a[l>>0]=a[34566+(k+((f&30)>>>0<6?f&31:6))>>0]|0;f=0;while(1){if((f|0)==16)break a;e=a[d+f>>0]|0;if(e<<24>>24)sc(b,(e<<24>>24>>15)+1|0,l,8);f=f+1|0}}while(0);d=d+16|0;g=g+1|0}i=m;return}function Kd(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;m=n;a[m+1>>0]=0;l=((g<<1)+h<<16>>16)*7|0;k=f+8>>4;h=0;while(1){if((h|0)>=(k|0))break;g=c[j+(h<<2)>>2]|0;a:do if((g|0)>0){a[m>>0]=a[34566+(l+((g&30)>>>0<6?g&31:6))>>0]|0;g=0;while(1){if((g|0)==16)break a;f=e+(g<<1)|0;if((b[f>>1]|0)>0){o=((hc(d,m,8)|0)<<1)+-1|0;b[f>>1]=_(b[f>>1]|0,o)|0}g=g+1|0}}while(0);e=e+32|0;h=h+1|0}i=n;return}function Ld(a){a=a|0;rj(a|0,0,4260)|0;c[a+2376>>2]=1;c[a>>2]=65536;Cd(a);Fe(a);return}function Md(d,e,f,g,h){d=d|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,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;fa=i;i=i+32|0;da=fa;X=d+2336|0;ba=c[X>>2]|0;$=i;i=i+((1*(ba<<1)|0)+15&-16)|0;p=d+2328|0;k=c[p>>2]|0;aa=i;i=i+((1*(ba+k<<2)|0)+15&-16)|0;ba=d+2332|0;Z=c[ba>>2]|0;ca=i;i=i+((1*(Z<<2)|0)+15&-16)|0;Y=i;i=i+((1*(Z+16<<2)|0)+15&-16)|0;Z=d+2765|0;r=(a[d+2767>>0]|0)<4?1:0;o=b[29108+(a[Z>>0]>>1<<2)+(a[d+2766>>0]<<1)>>1]<<4;j=a[d+2770>>0]|0;q=0;while(1){if((q|0)>=(k|0))break;m=(_(j,196314165)|0)+907633515|0;n=g+(q<<1)|0;j=b[n>>1]|0;k=j<<16>>16<<14;l=d+4+(q<<2)|0;c[l>>2]=k;if(j<<16>>16<=0){if(j<<16>>16<0){k=k|1280;c[l>>2]=k}}else{k=k+-1280|0;c[l>>2]=k}k=k+o|0;c[l>>2]=(m|0)<0?0-k|0:k;k=c[p>>2]|0;j=m+(b[n>>1]|0)|0;q=q+1|0}S=d+1284|0;q=Y;g=S;p=q+64|0;do{c[q>>2]=c[g>>2];q=q+4|0;g=g+4|0}while((q|0)<(p|0));T=d+2324|0;U=d+2340|0;V=d+4160|0;W=e+136|0;x=(r|0)==0;y=da+2|0;z=da+4|0;A=da+6|0;B=da+8|0;C=da+10|0;D=da+12|0;E=da+14|0;F=da+16|0;G=da+18|0;H=da+20|0;I=da+22|0;J=da+24|0;K=da+26|0;L=da+28|0;M=da+30|0;N=d+4164|0;O=d+2308|0;P=d+4|0;Q=f;t=c[X>>2]|0;R=0;while(1){if((R|0)>=(c[T>>2]|0))break;k=e+32+(R>>1<<5)|0;uj(da|0,k|0,c[U>>2]<<1|0)|0;s=R*5|0;u=e+96+(s<<1)|0;n=a[Z>>0]|0;m=n<<24>>24;w=c[e+16+(R<<2)>>2]|0;v=w>>>6;r=Nd(w)|0;q=c[d>>2]|0;a:do if((w|0)==(q|0))l=65536;else{q=Od(q,w)|0;g=q>>16;p=q&65535;o=0;while(1){if((o|0)==16){l=q;break a}l=Y+(o<<2)|0;j=c[l>>2]|0;ga=j<<16>>16;c[l>>2]=(_(g,ga)|0)+((_(p,ga)|0)>>16)+(_(q,(j>>15)+1>>1)|0);o=o+1|0}}while(0);c[d>>2]=w;if((c[V>>2]|0)!=0?(((c[N>>2]|0)!=2|n<<24>>24==2)^1)&(R|0)<2:0){b[u>>1]=0;b[u+2>>1]=0;b[u+4>>1]=0;b[u+6>>1]=0;b[u+8>>1]=0;b[e+96+(s+2<<1)>>1]=4096;c[e+(R<<2)>>2]=c[O>>2];ea=18}else if((m|0)==2)ea=18;else{o=P;n=t}b:do if((ea|0)==18){ea=0;j=c[e+(R<<2)>>2]|0;o=(R|0)==0;c:do if(!o){if(!((R|0)==2^1|x)){g=c[X>>2]|0;q=g-j-(c[U>>2]|0)+-2|0;uj(d+1348+(g<<1)|0,f|0,c[ba>>2]<<2|0)|0;g=c[X>>2]|0;p=c[U>>2]|0;ea=22;break}if((l|0)!=65536){r=j+2|0;q=l>>16;g=l&65535;p=0;while(1){if((p|0)>=(r|0))break c;ga=aa+(t-p+-1<<2)|0;o=c[ga>>2]|0;n=o<<16>>16;c[ga>>2]=(_(q,n)|0)+((_(g,n)|0)>>16)+(_(l,(o>>15)+1>>1)|0);p=p+1|0}}}else{g=c[X>>2]|0;p=c[U>>2]|0;q=g-j-p+-2|0;ea=22}while(0);d:do if((ea|0)==22){ea=0;bg($+(q<<1)|0,d+1348+(q+(_(R,c[ba>>2]|0)|0)<<1)|0,k,g-q|0,p,h);if(o){ga=c[W>>2]<<16>>16;r=(_(r>>16,ga)|0)+((_(r&65535,ga)|0)>>16)<<2}g=j+2|0;p=r>>16;r=r&65535;q=0;while(1){if((q|0)>=(g|0))break d;ga=b[$+((c[X>>2]|0)-q+-1<<1)>>1]|0;c[aa+(t-q+-1<<2)>>2]=(_(p,ga)|0)+((_(r,ga)|0)>>16);q=q+1|0}}while(0);o=e+96+(s+1<<1)|0;n=e+96+(s+2<<1)|0;m=e+96+(s+3<<1)|0;p=e+96+(s+4<<1)|0;q=aa+(t-j+2<<2)|0;g=t;r=0;while(1){if((r|0)>=(c[ba>>2]|0)){o=ca;n=g;break b}t=c[q>>2]|0;ga=b[u>>1]|0;ga=(_(t>>16,ga)|0)+((_(t&65535,ga)|0)>>16)+2|0;t=c[q+-4>>2]|0;s=b[o>>1]|0;s=ga+((_(t>>16,s)|0)+((_(t&65535,s)|0)>>16))|0;t=c[q+-8>>2]|0;ga=b[n>>1]|0;ga=s+((_(t>>16,ga)|0)+((_(t&65535,ga)|0)>>16))|0;t=c[q+-12>>2]|0;s=b[m>>1]|0;s=ga+((_(t>>16,s)|0)+((_(t&65535,s)|0)>>16))|0;t=c[q+-16>>2]|0;ga=b[p>>1]|0;ga=s+((_(t>>16,ga)|0)+((_(t&65535,ga)|0)>>16))|0;ga=(c[P+(r<<2)>>2]|0)+(ga<<1)|0;c[ca+(r<<2)>>2]=ga;c[aa+(g<<2)>>2]=ga<<1;q=q+4|0;g=g+1|0;r=r+1|0}}while(0);p=v<<16>>16;q=(w>>21)+1>>1;g=0;while(1){r=c[ba>>2]|0;if((g|0)>=(r|0))break;ga=c[Y+(g+15<<2)>>2]|0;w=b[da>>1]|0;w=(c[U>>2]>>1)+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+14<<2)>>2]|0;r=b[y>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+13<<2)>>2]|0;w=b[z>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+12<<2)>>2]|0;r=b[A>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+11<<2)>>2]|0;w=b[B>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+10<<2)>>2]|0;r=b[C>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+9<<2)>>2]|0;w=b[D>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+8<<2)>>2]|0;r=b[E>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+7<<2)>>2]|0;w=b[F>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+6<<2)>>2]|0;r=b[G>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;if((c[U>>2]|0)==16){ga=c[Y+(g+5<<2)>>2]|0;w=b[H>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+4<<2)>>2]|0;r=b[I>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+3<<2)>>2]|0;w=b[J>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g+2<<2)>>2]|0;r=b[K>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0;ga=c[Y+(g+1<<2)>>2]|0;w=b[L>>1]|0;w=r+((_(ga>>16,w)|0)+((_(ga&65535,w)|0)>>16))|0;ga=c[Y+(g<<2)>>2]|0;r=b[M>>1]|0;r=w+((_(ga>>16,r)|0)+((_(ga&65535,r)|0)>>16))|0}ga=(c[o+(g<<2)>>2]|0)+(r<<4)|0;c[Y+(g+16<<2)>>2]=ga;ga=((_(ga>>16,p)|0)+((_(ga&65535,p)|0)>>16)+(_(ga,q)|0)>>7)+1>>1;b[Q+(g<<1)>>1]=(ga|0)>32767?32767:(ga|0)<-32768?-32768:ga;g=g+1|0}q=Y;g=Y+(r<<2)|0;p=q+64|0;do{c[q>>2]=c[g>>2];q=q+4|0;g=g+4|0}while((q|0)<(p|0));P=P+(r<<2)|0;Q=Q+(r<<1)|0;t=n;R=R+1|0}q=S;g=Y;p=q+64|0;do{c[q>>2]=c[g>>2];q=q+4|0;g=g+4|0}while((q|0)<(p|0));i=fa;return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=Pd((a|0)>0?a:0-a|0)|0;a=a<<b+-1;f=a>>16;d=536870911/(f|0)|0;e=d<<16;c=e>>16;a=536870912-((_(f,c)|0)+((_(a&65535,c)|0)>>16))<<3;d=e+((_(a>>16,c)|0)+((_(a&65528,c)|0)>>16))+(_(a,(d>>15)+1>>1)|0)|0;a=62-b|0;b=a+-47|0;if((b|0)>=1)return ((b|0)<32?d>>b:0)|0;b=47-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=Pd((a|0)>0?a:0-a|0)|0;f=a<<c+-1;a=(Pd((b|0)>0?b:0-b|0)|0)+-1|0;b=b<<a;d=(536870911/(b>>16|0)|0)<<16>>16;e=(_(f>>16,d)|0)+((_(f&65535,d)|0)>>16)|0;b=Bj(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,29)|0;b=f-(b&-8)|0;d=e+((_(b>>16,d)|0)+((_(b&65535,d)|0)>>16))|0;b=c+28-a|0;a=b+-16|0;if((b|0)>=16)return ((a|0)<32?d>>a:0)|0;b=16-b|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function Pd(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Qd(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|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;p=i;i=i+144|0;o=p;m=b+2328|0;n=c[m>>2]|0;c[o+136>>2]=0;switch(g|0){case 0:{k=b+2388|0;l=4;break}case 2:{k=b+2388|0;if((c[b+2420+(c[k>>2]<<2)>>2]|0)==1)l=4;else l=5;break}default:l=5}if((l|0)==4){l=ka()|0;q=i;i=i+((1*((n+15&-16)<<1)|0)+15&-16)|0;Sd(b,d,c[k>>2]|0,g,h);k=b+2765|0;Td(d,q,a[k>>0]|0,a[b+2766>>0]|0,c[m>>2]|0);Rd(b,o,h);Md(b,o,e,q,j);Ge(b,o,e,0,j);c[b+4160>>2]=0;c[b+4164>>2]=a[k>>0];c[b+2376>>2]=0;va(l|0);k=o}else if((l|0)==5){Ge(b,o,e,1,j);k=o}l=c[m>>2]|0;q=(c[b+2336>>2]|0)-l|0;vj(b+1348|0,b+1348+(l<<1)|0,q<<1|0)|0;uj(b+1348+(q<<1)|0,e|0,c[m>>2]<<1|0)|0;Dd(b,k,e,n);He(b,e,n);c[b+2308>>2]=c[o+((c[b+2324>>2]|0)+-1<<2)>>2];c[f>>2]=n;i=p;return 0}function Rd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;o=q+32|0;m=q;p=d+2324|0;fe(e+16|0,d+2736|0,d+2312|0,(f|0)==2&1,c[p>>2]|0);me(o,d+2744|0,c[d+2732>>2]|0);g=e+64|0;l=d+2340|0;gg(g,o,c[l>>2]|0);k=d+2767|0;if((c[d+2376>>2]|0)!=1){k=a[k>>0]|0;if(k<<24>>24<4){j=c[l>>2]|0;h=0;while(1){if((h|0)>=(j|0))break;f=b[d+2344+(h<<1)>>1]|0;b[m+(h<<1)>>1]=(f&65535)+((_(k<<24>>24,(b[o+(h<<1)>>1]|0)-(f<<16>>16)|0)|0)>>>2);h=h+1|0}gg(e+32|0,m,j)}else n=8}else{a[k>>0]=4;n=8}if((n|0)==8)uj(e+32|0,e+64|0,c[l>>2]<<1|0)|0;f=c[l>>2]|0;uj(d+2344|0,o|0,f<<1|0)|0;if(c[d+4160>>2]|0){Vf(e+32|0,f,63570);Vf(g,c[l>>2]|0,63570)}if((a[d+2765>>0]|0)!=2){rj(e|0,0,c[p>>2]<<2|0)|0;rj(e+96|0,0,(c[p>>2]|0)*10|0)|0;a[d+2768>>0]=0;c[e+136>>2]=0;i=q;return}Wf(b[d+2762>>1]|0,a[d+2764>>0]|0,e,c[d+2316>>2]|0,c[p>>2]|0);f=c[21692+(a[d+2768>>0]<<2)>>2]|0;j=0;while(1){if((j|0)>=(c[p>>2]|0))break;g=(a[d+2740+j>>0]|0)*5|0;h=j*5|0;k=0;while(1){if((k|0)==5)break;b[e+96+(h+k<<1)>>1]=a[f+(g+k)>>0]<<7;k=k+1|0}j=j+1|0}c[e+136>>2]=b[29116+(a[d+2769>>0]<<1)>>1];i=q;return}function Sd(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;p=s;m=s+32|0;if((j|0)==0?(c[f+2404+(h<<2)>>2]|0)==0:0)h=hc(g,33400,8)|0;else h=(hc(g,33396,8)|0)+2|0;j=h>>>1;r=f+2765|0;a[r>>0]=j;a[f+2766>>0]=h&1;n=(k|0)==2;if(n)a[f+2736>>0]=hc(g,31159,8)|0;else{o=f+2736|0;a[o>>0]=(hc(g,31135+(j<<24>>24<<3)|0,8)|0)<<3;l=hc(g,33425,8)|0;a[o>>0]=(d[o>>0]|0)+l}o=f+2324|0;h=1;while(1){if((h|0)>=(c[o>>2]|0))break;a[f+2736+h>>0]=hc(g,31159,8)|0;h=h+1|0}l=f+2732|0;h=c[l>>2]|0;j=_(a[r>>0]>>1,b[h>>1]|0)|0;j=hc(g,(c[h+12>>2]|0)+j|0,8)|0;a[f+2744>>0]=j;tf(p,m,c[l>>2]|0,j<<24>>24);j=0;while(1){h=c[l>>2]|0;if((j|0)>=(b[h+2>>1]|0))break;h=hc(g,(c[h+24>>2]|0)+(b[p+(j<<1)>>1]|0)|0,8)|0;switch(h|0){case 0:{h=0-(hc(g,33433,8)|0)|0;break}case 8:{h=(hc(g,33433,8)|0)+8|0;break}default:{}}m=j+1|0;a[f+2744+m>>0]=h+252;j=m}if((c[o>>2]|0)==4)h=(hc(g,33402,8)|0)&255;else h=4;a[f+2767>>0]=h;if((a[r>>0]|0)!=2){r=a[r>>0]|0;r=r<<24>>24;k=f+2396|0;c[k>>2]=r;k=hc(g,33410,8)|0;k=k&255;g=f+2770|0;a[g>>0]=k;i=s;return}if((n?(c[f+2396>>2]|0)==2:0)?(q=hc(g,33482,8)|0,(q&65535)<<16>>16>0):0){j=(e[f+2400>>1]|0)+(q+65527)&65535;b[f+2762>>1]=j}else{j=(hc(g,33450,8)|0)<<16>>16;q=f+2762|0;b[q>>1]=_(j,c[f+2316>>2]>>1)|0;j=hc(g,c[f+2380>>2]|0,8)|0;j=(e[q>>1]|0)+j&65535;b[q>>1]=j}b[f+2400>>1]=j;a[f+2764>>0]=hc(g,c[f+2384>>2]|0,8)|0;j=f+2768|0;a[j>>0]=hc(g,31200,8)|0;h=0;while(1){if((h|0)>=(c[o>>2]|0))break;a[f+2740+h>>0]=hc(g,c[21668+(a[j>>0]<<2)>>2]|0,8)|0;h=h+1|0}if(!k){a[f+2769>>0]=hc(g,33393,8)|0;r=a[r>>0]|0;r=r<<24>>24;k=f+2396|0;c[k>>2]=r;k=hc(g,33410,8)|0;k=k&255;g=f+2770|0;a[g>>0]=k;i=s;return}else{a[f+2769>>0]=0;r=a[r>>0]|0;r=r<<24>>24;k=f+2396|0;c[k>>2]=r;k=hc(g,33410,8)|0;k=k&255;g=f+2770|0;a[g>>0]=k;i=s;return}}function Td(a,d,e,f,g){a=a|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;s=i;i=i+160|0;r=s+80|0;q=s;h=hc(a,33905+((e>>1)*9|0)|0,8)|0;p=g>>4;p=(p<<4|0)<(g|0)?p+1|0:p;h=33563+(h*18|0)|0;m=0;while(1){if((m|0)>=(p|0)){k=0;break}l=q+(m<<2)|0;c[l>>2]=0;k=r+(m<<2)|0;j=0;n=hc(a,h,8)|0;while(1){c[k>>2]=n;if((n|0)!=17)break;n=j+1|0;c[l>>2]=n;j=n;n=hc(a,33725+((n|0)==10&1)|0,8)|0}m=m+1|0}while(1){if((k|0)>=(p|0)){j=0;break}h=c[r+(k<<2)>>2]|0;j=d+(k<<16>>12<<1)|0;if((h|0)>0)We(j,a,h);else{h=j+32|0;do{b[j>>1]=0;j=j+2|0}while((j|0)<(h|0))}k=k+1|0}while(1){if((j|0)>=(p|0))break;n=c[q+(j<<2)>>2]|0;if((n|0)>0){m=j<<16>>12;h=0;while(1){if((h|0)==16)break;l=d+(m+h<<1)|0;k=b[l>>1]|0;o=0;while(1){if((o|0)==(n|0))break;k=(k<<1)+(hc(a,34905,8)|0)|0;o=o+1|0}b[l>>1]=k;h=h+1|0}o=r+(j<<2)|0;c[o>>2]=c[o>>2]|n<<5}j=j+1|0}Kd(a,d,g,e,f,r);i=s;return}function Ud(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;k=d<<16>>16;c[b+2332>>2]=k*5;h=b+2324|0;l=_(c[h>>2]<<16>>16,k*327680>>16)|0;m=b+2316|0;f=b+2320|0;if((c[m>>2]|0)==(d|0)?(c[f>>2]|0)==(e|0):0){f=1;g=0;j=4}else j=3;if((j|0)==3){g=og(b+2432|0,k*1e3|0,e,0)|0;c[f>>2]=e;f=(c[m>>2]|0)==(d|0);if(f)j=4}if((j|0)==4)if((l|0)==(c[b+2328>>2]|0)){b=g;return b|0}i=(d|0)==8;h=(c[h>>2]|0)==4;e=b+2384|0;do if(i)if(h){c[e>>2]=33537;break}else{c[e>>2]=33560;break}else if(h){c[e>>2]=33503;break}else{c[e>>2]=33548;break}while(0);if(!f){c[b+2336>>2]=k*20;switch(d|0){case 8:case 12:{c[b+2340>>2]=10;c[b+2732>>2]=21716;if((d|0)==12)c[b+2380>>2]=33419;else j=18;break}default:{c[b+2340>>2]=16;c[b+2732>>2]=21752;if((d|0)==16)c[b+2380>>2]=33425;else j=18}}if((j|0)==18?i:0)c[b+2380>>2]=33410;c[b+2376>>2]=1;c[b+2308>>2]=100;a[b+2312>>0]=10;c[b+4164>>2]=0;rj(b+1284|0,0,1024)|0}c[m>>2]=d;c[b+2328>>2]=l;b=g;return b|0}function Vd(a){a=a|0;c[a>>2]=8544;return 0}function Wd(a){a=a|0;var d=0;d=0;while(1){if((d|0)==2)break;Ld(a+(d*4260|0)|0);d=d+1|0}d=a+8520|0;b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;c[a+8540>>2]=0;return 0}function Xd(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;I=i;i=i+672|0;H=I+20|0;F=I+16|0;G=I+8|0;A=I;w=I+24|0;B=k;c[H>>2]=0;o=A;c[o>>2]=0;c[o+4>>2]=0;o=f+4|0;a:do if(!h){D=o;h=c[o>>2]|0}else{n=0;while(1){h=c[o>>2]|0;if((n|0)>=(h|0)){D=o;break a}c[d+(n*4260|0)+2388>>2]=0;n=n+1|0}}while(0);E=d+8536|0;if((h|0)>(c[E>>2]|0)){Ld(d+4260|0);h=c[D>>2]|0}if((h|0)==1?(c[E>>2]|0)==2:0)C=(c[f+12>>2]|0)==((c[d+2316>>2]|0)*1e3|0);else C=0;y=d+2388|0;b:do if(!(c[y>>2]|0)){n=f+16|0;q=f+12|0;r=f+8|0;s=0;p=0;c:while(1){if((p|0)>=(h|0))break b;switch(c[n>>2]|0){case 0:{c[d+(p*4260|0)+2392>>2]=1;c[d+(p*4260|0)+2324>>2]=2;break}case 10:{c[d+(p*4260|0)+2392>>2]=1;c[d+(p*4260|0)+2324>>2]=2;break}case 20:{c[d+(p*4260|0)+2392>>2]=1;c[d+(p*4260|0)+2324>>2]=4;break}case 40:{c[d+(p*4260|0)+2392>>2]=2;c[d+(p*4260|0)+2324>>2]=4;break}case 60:{c[d+(p*4260|0)+2392>>2]=3;c[d+(p*4260|0)+2324>>2]=4;break}default:{h=-203;p=119;break c}}o=(c[q>>2]>>10)+1|0;switch(o|0){case 16:case 12:case 8:break;default:{h=-200;p=119;break c}}z=s+(Ud(d+(p*4260|0)|0,o,c[r>>2]|0)|0)|0;h=c[D>>2]|0;s=z;p=p+1|0}if((p|0)==119){i=I;return h|0}}else s=0;while(0);o=c[f>>2]|0;do if((o|0)==2)if((h|0)==2){if((c[d+8532>>2]|0)!=1?(c[E>>2]|0)!=1:0){o=2;break}o=d+8520|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=d+8528|0;b[o>>1]=0;b[o+2>>1]=0>>>16;uj(d+6692|0,d+2432|0,300)|0;o=c[f>>2]|0}else o=2;while(0);c[d+8532>>2]=o;c[E>>2]=c[D>>2];x=f+8|0;z=c[x>>2]|0;if((z|0)>48e3|(z|0)<8e3){d=-200;i=I;return d|0}z=(g|0)==1;d:do if(!z?(c[y>>2]|0)==0:0){r=0;while(1){o=c[D>>2]|0;if((r|0)>=(o|0)){q=0;break}p=d+(r*4260|0)+2392|0;n=0;while(1){v=(n|0)<(c[p>>2]|0);o=gc(j,1)|0;if(!v)break;c[d+(r*4260|0)+2404+(n<<2)>>2]=o;n=n+1|0}c[d+(r*4260|0)+2416>>2]=o;r=r+1|0}while(1){if((q|0)>=(o|0))break;v=d+(q*4260|0)+2420|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;e:do if(c[d+(q*4260|0)+2416>>2]|0){r=d+(q*4260|0)+2392|0;o=c[r>>2]|0;if((o|0)==1){c[d+(q*4260|0)+2420>>2]=1;break}p=(hc(j,c[21884+(o+-2<<2)>>2]|0,8)|0)+1|0;o=0;while(1){if((o|0)>=(c[r>>2]|0))break e;c[d+(q*4260|0)+2420+(o<<2)>>2]=p>>>o&1;o=o+1|0}}while(0);o=c[D>>2]|0;q=q+1|0}if(!g){t=d+2392|0;h=0;while(1){if((h|0)>=(c[t>>2]|0))break d;p=d+6680+(h<<2)|0;n=h+-1|0;q=0;while(1){if((q|0)>=(o|0))break;if(c[d+(q*4260|0)+2420+(h<<2)>>2]|0){if((o|0)==2&(q|0)==0?(Dg(j,A),(c[p>>2]|0)==0):0)Eg(j,H);if((h|0)>0?(c[d+(q*4260|0)+2420+(n<<2)>>2]|0)!=0:0)r=2;else r=0;Sd(d+(q*4260|0)|0,j,h,1,r);Td(j,w,a[d+(q*4260|0)+2765>>0]|0,a[d+(q*4260|0)+2766>>0]|0,c[d+(q*4260|0)+2328>>2]|0);o=c[D>>2]|0}q=q+1|0}h=h+1|0}}}while(0);o=c[D>>2]|0;if((o|0)==2){switch(g|0){case 0:{Dg(j,A);if(!(c[d+6664+(c[y>>2]<<2)>>2]|0))p=62;else p=63;break}case 2:{if((c[d+2420+(c[y>>2]<<2)>>2]|0)==1){Dg(j,A);if(!(c[d+6680+(c[y>>2]<<2)>>2]|0))p=62;else p=63}else{o=0;p=64}break}default:{o=0;p=64}}f:do if((p|0)==62)Eg(j,H);else if((p|0)==63)c[H>>2]=0;else if((p|0)==64)while(1){if((o|0)==2)break f;c[A+(o<<2)>>2]=b[d+8520+(o<<1)>>1];o=o+1|0;p=64}while(0);o=c[D>>2]|0;if((o|0)==2)if((c[H>>2]|0)==0?(c[d+8540>>2]|0)==1:0){rj(d+5544|0,0,1024)|0;c[d+6568>>2]=100;a[d+6572>>0]=10;c[d+8424>>2]=0;c[d+6636>>2]=1;o=c[D>>2]|0}else o=2}u=_(c[f+12>>2]|0,o)|0;u=(u|0)<(_(c[x>>2]|0,c[f>>2]|0)|0);if(u){w=ka()|0;c[G>>2]=B;o=k+((c[d+2328>>2]|0)+2<<1)|0}else{v=_(o,(c[d+2328>>2]|0)+2|0)|0;w=ka()|0;o=i;i=i+((1*(v<<1)|0)+15&-16)|0;c[G>>2]=o;o=o+((c[d+2328>>2]|0)+2<<1)|0}h=G+4|0;c[h>>2]=o;if(!g){v=d+8540|0;r=(c[H>>2]|0)==0&1}else{o=d+8540|0;if(c[o>>2]|0)if((c[D>>2]|0)==2&(g|0)==2)p=(c[d+6680+(c[d+6648>>2]<<2)>>2]|0)==1;else p=0;else p=1;v=o;r=p&1}p=(g|0)==2;q=(r|0)==0;t=0;while(1){r=c[D>>2]|0;if((t|0)>=(r|0))break;if((t|0)==0|q^1){r=(c[y>>2]|0)-t|0;do if((r|0)<1)r=0;else{if(p){r=(c[d+(t*4260|0)+2420+(r+-1<<2)>>2]|0)!=0?2:0;break}if((t|0)>0?(c[v>>2]|0)!=0:0){r=1;break}r=2}while(0);s=s+(Qd(d+(t*4260|0)|0,j,(c[G+(t<<2)>>2]|0)+4|0,F,g,r,m)|0)|0}else rj((c[G+(t<<2)>>2]|0)+4|0,0,c[F>>2]<<1|0)|0;r=d+(t*4260|0)+2388|0;c[r>>2]=(c[r>>2]|0)+1;t=t+1|0}if((c[f>>2]|0)==2&(r|0)==2){t=d+2316|0;Af(d+8520|0,c[G>>2]|0,c[h>>2]|0,A,c[t>>2]|0,c[F>>2]|0)}else{j=c[G>>2]|0;t=d+8524|0;g=e[t>>1]|e[t+2>>1]<<16;b[j>>1]=g;b[j+2>>1]=g>>>16;j=j+(c[F>>2]<<1)|0;j=e[j>>1]|e[j+2>>1]<<16;b[t>>1]=j;b[t+2>>1]=j>>>16;t=d+2316|0}n=_(c[F>>2]|0,c[x>>2]|0)|0;n=(n|0)/((c[t>>2]<<16>>16)*1e3|0)|0;c[l>>2]=n;o=c[f>>2]|0;if((o|0)==2){B=i;i=i+((1*(n<<1)|0)+15&-16)|0;n=B}else n=B;if(u){g=c[D>>2]|0;B=d+2328|0;m=(_(g,(c[B>>2]|0)+2|0)|0)<<1;j=i;i=i+((1*m|0)+15&-16)|0;uj(j|0,k|0,(_(g,(c[B>>2]|0)+2|0)|0)<<1|0)|0;c[G>>2]=j;c[h>>2]=j+((c[B>>2]|0)+2<<1)}p=n;h=0;while(1){n=c[D>>2]|0;if((h|0)>=(((o|0)<(n|0)?o:n)|0))break;pg(d+(h*4260|0)+2432|0,p,(c[G+(h<<2)>>2]|0)+2|0,c[F>>2]|0);o=c[f>>2]|0;if((o|0)==2){o=0;while(1){if((o|0)>=(c[l>>2]|0))break;b[k+(h+(o<<1)<<1)>>1]=b[p+(o<<1)>>1]|0;o=o+1|0}o=c[f>>2]|0}h=h+1|0}g:do if((o|0)==2&(n|0)==1){if(!C){h=0;while(1){if((h|0)>=(c[l>>2]|0))break g;G=h<<1;b[k+((G|1)<<1)>>1]=b[k+(G<<1)>>1]|0;h=h+1|0}}pg(d+6692|0,p,(c[G>>2]|0)+2|0,c[F>>2]|0);h=0;while(1){if((h|0)>=(c[l>>2]|0))break g;b[k+((h<<1|1)<<1)>>1]=b[p+(h<<1)>>1]|0;h=h+1|0}}while(0);if((c[d+4164>>2]|0)==2)h=_(c[d+2308>>2]|0,c[21656+((c[t>>2]|0)+-8>>2<<2)>>2]|0)|0;else h=0;c[f+20>>2]=h;h:do if(z){h=0;while(1){if((h|0)>=(c[E>>2]|0))break h;a[d+(h*4260|0)+2312>>0]=10;h=h+1|0}}else c[v>>2]=c[H>>2];while(0);va(w|0);d=s;i=I;return d|0}function Yd(a){a=a|0;c[a>>2]=24564;return 0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;rj(a|0,0,24564)|0;e=0;f=0;while(1){if((f|0)==2)break;e=e+(Df(a+(f*12240|0)|0,b)|0)|0;f=f+1|0}c[a+24540>>2]=1;c[a+24544>>2]=1;return e+($d(a,d)|0)|0}function _d(d,f,g,h,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;Ea=i;i=i+16|0;za=Ea;Aa=Ea+8|0;if(c[f+64>>2]|0){c[d+4696>>2]=1;c[d+16936>>2]=1}c[d+18020>>2]=0;xa=d+5780|0;c[xa>>2]=0;m=Bf(f)|0;if(m){d=m;i=Ea;return d|0}c[f+84>>2]=0;Da=f+4|0;o=d+24544|0;if((c[Da>>2]|0)>(c[o>>2]|0)){m=Df(d+12240|0,c[d+5124>>2]|0)|0;Ba=d+24480|0;b[Ba>>1]=0;b[Ba+2>>1]=0>>>16;Ba=d+24488|0;b[Ba>>1]=0;b[Ba+2>>1]=0>>>16;c[d+24492>>2]=0;c[d+24496>>2]=1;c[d+24500>>2]=0;c[d+24504>>2]=1;b[d+24510>>1]=0;b[d+24508>>1]=16384;if((c[d+24540>>2]|0)==2){uj(d+18048|0,d+5808|0,300)|0;ua=d;ya=c[ua+4>>2]|0;Ba=d+12240|0;c[Ba>>2]=c[ua>>2];c[Ba+4>>2]=ya}}else m=0;Ba=f+24|0;if((c[Ba>>2]|0)==(c[d+4636>>2]|0))t=(c[o>>2]|0)!=(c[Da>>2]|0);else t=1;c[d+24540>>2]=c[f>>2];c[o>>2]=c[Da>>2];o=h*100|0;n=c[f+8>>2]|0;s=(o|0)/(n|0)|0;ua=(s|0)>1?s>>1:1;ya=(l|0)==0;a:do if(ya){if((_(s,n)|0)!=(o|0)|(h|0)<0){d=-101;i=Ea;return d|0}if((h*1e3|0)>(_(c[Ba>>2]|0,n)|0)){d=-101;i=Ea;return d|0}else{n=c[Da>>2]|0;l=0;p=0;break}}else{if((s|0)==1)o=0;else{d=-101;i=Ea;return d|0}while(1){n=c[Da>>2]|0;if((o|0)>=(n|0))break;m=Df(d+(o*12240|0)|0,c[d+(o*12240|0)+5124>>2]|0)|0;o=o+1|0}p=c[Ba>>2]|0;c[Ba>>2]=10;o=f+36|0;l=c[o>>2]|0;c[o>>2]=0;o=0;while(1){if((o|0)>=(n|0))break a;c[d+(o*12240|0)+4700>>2]=0;c[d+(o*12240|0)+4712>>2]=1;n=c[Da>>2]|0;o=o+1|0}}while(0);qa=f+28|0;r=c[qa>>2]>>n+-1;ta=d+4600|0;ra=d+24556|0;sa=d+5776|0;q=0;while(1){if((q|0)>=(n|0))break;if((q|0)==1)o=c[ta>>2]|0;else o=0;m=Ef(d+(q*12240|0)|0,f,r,c[ra>>2]|0,q,o)|0;if(m){Ca=141;break}b:do if((c[d+(q*12240|0)+4696>>2]|0)==0^1|t){o=0;while(1){if((o|0)>=(c[sa>>2]|0))break b;c[d+(q*12240|0)+4756+(o<<2)>>2]=0;o=o+1|0}}while(0);c[d+(q*12240|0)+6112>>2]=c[d+(q*12240|0)+6108>>2];n=c[Da>>2]|0;m=0;q=q+1|0}if((Ca|0)==141){i=Ea;return m|0}C=s*10|0;G=c[ta>>2]|0;D=_(C,G)|0;E=d+4580|0;G=(_(D,c[E>>2]|0)|0)/(G*1e3|0)|0;pa=ka()|0;F=i;i=i+((1*(G<<1)|0)+15&-16)|0;G=d+4608|0;H=d+5772|0;na=d+24548|0;I=d+18048|0;J=d+5808|0;K=d+16848|0;L=d+18012|0;M=d+16840|0;A=j+20|0;B=j+28|0;N=d+24536|0;O=d+24480|0;P=d+5132|0;Q=d+17372|0;R=d+4556|0;oa=f+56|0;S=d+24560|0;T=d+19440|0;U=d+12384|0;V=d+12256|0;W=d+16808|0;X=d+16740|0;Y=d+16805|0;Z=d+16756|0;$=d+16936|0;aa=d+12240|0;ba=f+52|0;ca=(ua|0)==2;da=f+48|0;ea=za+4|0;fa=ua<<1;ga=ua+-1|0;ha=d+6112|0;ia=d+24552|0;ja=d+18352|0;la=d+5128|0;ma=d+24484|0;y=h;z=0;while(1){r=(c[G>>2]|0)-(c[H>>2]|0)|0;r=(r|0)<(D|0)?r:D;x=_(r,c[E>>2]|0)|0;x=(x|0)/((c[ta>>2]|0)*1e3|0)|0;do if((c[f>>2]|0)==2)if((c[Da>>2]|0)==2){t=c[xa>>2]|0;s=0;while(1){if((s|0)>=(x|0))break;b[F+(s<<1)>>1]=b[g+(s<<1<<1)>>1]|0;s=s+1|0}if((c[na>>2]|0)==1&(t|0)==0)uj(I|0,J|0,300)|0;pg(J,d+5128+((c[H>>2]|0)+2<<1)|0,F,x);c[H>>2]=(c[H>>2]|0)+r;s=(c[K>>2]|0)-(c[L>>2]|0)|0;t=_(C,c[M>>2]|0)|0;t=(s|0)<(t|0)?s:t;s=0;while(1){if((s|0)>=(x|0))break;b[F+(s<<1)>>1]=b[g+((s<<1|1)<<1)>>1]|0;s=s+1|0}pg(I,d+17368+((c[L>>2]|0)+2<<1)|0,F,x);c[L>>2]=(c[L>>2]|0)+t;t=c[H>>2]|0;break}else{if((c[Da>>2]|0)==1)t=0;else{Ca=49;break}while(1){if((t|0)>=(x|0))break;w=t<<1;w=(b[g+(w<<1)>>1]|0)+(b[g+((w|1)<<1)>>1]|0)|0;b[F+(t<<1)>>1]=(w>>>1)+(w&1);t=t+1|0}pg(J,d+5128+((c[H>>2]|0)+2<<1)|0,F,x);c:do if((c[na>>2]|0)==2?(c[xa>>2]|0)==0:0){pg(I,d+17368+((c[L>>2]|0)+2<<1)|0,F,x);t=0;while(1){if((t|0)>=(c[G>>2]|0))break c;w=d+5128+((c[H>>2]|0)+t+2<<1)|0;b[w>>1]=((b[w>>1]|0)+(b[d+17368+((c[L>>2]|0)+t+2<<1)>>1]|0)|0)>>>1;t=t+1|0}}while(0);t=(c[H>>2]|0)+r|0;c[H>>2]=t;break}else Ca=49;while(0);if((Ca|0)==49){Ca=0;uj(F|0,g|0,x<<1|0)|0;pg(J,d+5128+((c[H>>2]|0)+2<<1)|0,F,x);t=(c[H>>2]|0)+r|0;c[H>>2]=t}v=g+((_(x,c[f>>2]|0)|0)<<1)|0;w=y-x|0;c[ra>>2]=0;if((t|0)<(c[G>>2]|0)){n=0;o=m;break}d:do if(!((c[xa>>2]|0)==0^1|ya^1)){b[Aa>>1]=0;a[Aa>>0]=256-(256>>>(_((c[sa>>2]|0)+1|0,c[Da>>2]|0)|0));sc(j,0,Aa,8);q=0;while(1){t=c[Da>>2]|0;if((q|0)>=(t|0)){g=0;break}t=c[d+(q*12240|0)+5776>>2]|0;s=0;r=0;while(1){if((r|0)>=(t|0))break;s=s|c[d+(q*12240|0)+4756+(r<<2)>>2]<<r;r=r+1|0}a[d+(q*12240|0)+4755>>0]=(s|0)>0&1;if((s|0)!=0&(t|0)>1)sc(j,s+-1|0,c[21884+(t+-2<<2)>>2]|0,8);q=q+1|0}while(1){if((g|0)>=(c[sa>>2]|0)){s=0;break}r=d+24514+(g*6|0)|0;q=d+16996+(g<<2)|0;o=d+24532+g|0;n=g+-1|0;s=0;while(1){if((s|0)>=(t|0))break;if(c[d+(s*12240|0)+4756+(g<<2)>>2]|0){if((t|0)==2&(s|0)==0?(Fg(j,r),(c[q>>2]|0)==0):0)Gg(j,a[o>>0]|0);if((g|0)>0?(c[d+(s*12240|0)+4756+(n<<2)>>2]|0)!=0:0)t=2;else t=0;be(d+(s*12240|0)|0,j,g,1,t);ce(j,a[d+(s*12240|0)+6132+(g*36|0)+29>>0]|0,a[d+(s*12240|0)+6132+(g*36|0)+30>>0]|0,d+(s*12240|0)+6240+(g*320|0)|0,c[d+(s*12240|0)+4608>>2]|0);t=c[Da>>2]|0}s=s+1|0}g=g+1|0}while(1){if((s|0)>=(t|0))break d;t=d+(s*12240|0)+4756|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;t=c[Da>>2]|0;s=s+1|0}}while(0);mf(d);r=c[qa>>2]|0;s=c[Ba>>2]|0;t=(_(r,s)|0)/1e3|0;if(ya)t=t-((ae(c[A>>2]|0,c[B>>2]|0)|0)>>1)|0;q=c[xa>>2]|0;t=((t|0)/((c[sa>>2]|0)-q|0)|0)<<16>>16;t=((s|0)==10?t*100|0:t*50|0)-(c[N>>2]<<1)|0;if((r|0)>5e3){if((t|0)<=(r|0))r=(t|0)<5e3?5e3:t}else if((t|0)>5e3)r=5e3;else r=(t|0)<(r|0)?r:t;if((c[Da>>2]|0)==2){wf(O,P,Q,d+24514+(q*6|0)|0,d+24532+q|0,za,r,c[R>>2]|0,c[oa>>2]|0,c[ta>>2]|0,c[G>>2]|0);t=c[xa>>2]|0;if(!(a[d+24532+t>>0]|0)){if((c[S>>2]|0)==1){h=V;c[h>>2]=0;c[h+4>>2]=0;rj(U|0,0,4412)|0;rj(T|0,0,2156)|0;c[W>>2]=100;c[X>>2]=100;a[T>>0]=10;a[Y>>0]=0;c[Z>>2]=65536;c[$>>2]=1}Sg(aa)}else a[d+16992+t>>0]=0;if(ya?(Fg(j,d+24514+((c[xa>>2]|0)*6|0)|0),wa=c[xa>>2]|0,(a[d+16992+wa>>0]|0)==0):0)Gg(j,a[d+24532+wa>>0]|0)}else{h=e[ma>>1]|e[ma+2>>1]<<16;b[la>>1]=h;b[la+2>>1]=h>>>16;h=d+5128+(c[G>>2]<<1)|0;h=e[h>>1]|e[h+2>>1]<<16;b[ma>>1]=h;b[ma+2>>1]=h>>>16}Sg(d);n=(z|0)==0;u=(z|0)==(ga|0);h=(z|0)==1;o=0;while(1){t=c[Da>>2]|0;if((o|0)>=(t|0))break;g=c[ba>>2]|0;do if(ca)if(n)q=(g*3|0)/5|0;else q=g;else if((ua|0)==3){if(n){q=(g<<1|0)/5|0;break}if(h)q=(g*3|0)/4|0;else q=g}else q=g;while(0);s=((c[da>>2]|0)==0?0:u)&1;if((t|0)!=1){t=c[za+(o<<2)>>2]|0;if((o|0)==0&(c[ea>>2]|0)>0){q=q-((g|0)/(fa|0)|0)|0;s=0}}else t=r;if((t|0)>0){Cf(d+(o*12240|0)|0,t);do if((c[xa>>2]|0)>(o|0)){if((o|0)>0?(c[S>>2]|0)!=0:0){t=1;break}t=2}else t=0;while(0);m=Tg(d+(o*12240|0)|0,k,j,t,q,s)|0}c[d+(o*12240|0)+4700>>2]=0;c[d+(o*12240|0)+5772>>2]=0;g=d+(o*12240|0)+5780|0;c[g>>2]=(c[g>>2]|0)+1;o=o+1|0}r=c[xa>>2]|0;c[S>>2]=a[r+-1+(d+24532)>>0];do if((c[k>>2]|0)>0?(r|0)==(c[sa>>2]|0):0){q=c[Da>>2]|0;t=0;n=0;while(1){if((n|0)>=(q|0))break;o=c[d+(n*12240|0)+5776>>2]|0;s=0;while(1){t=t<<1;if((s|0)>=(o|0))break;t=t|a[d+(n*12240|0)+4752+s>>0];s=s+1|0}t=t|a[d+(n*12240|0)+4755>>0];n=n+1|0}if(ya)vc(j,t,_(r+1|0,q)|0);do if(c[ha>>2]|0){if((c[Da>>2]|0)!=1?(c[ja>>2]|0)==0:0)break;c[k>>2]=0}while(0);t=(c[N>>2]|0)+(c[k>>2]<<3)|0;c[N>>2]=t;t=t-((_(c[qa>>2]|0,c[Ba>>2]|0)|0)/1e3|0)|0;c[N>>2]=t;c[N>>2]=(t|0)>1e4?1e4:(t|0)<0?0:t;t=c[ia>>2]|0;if((c[R>>2]|0)<(((t<<16>>16)*3188>>16)+13|0)){c[ra>>2]=1;c[ia>>2]=0;break}else{c[ra>>2]=0;c[ia>>2]=t+(c[Ba>>2]|0);break}}while(0);if((y|0)==(x|0)){Ca=130;break}g=v;y=w;z=z+1|0}if((Ca|0)==130){n=c[ra>>2]|0;o=m}c[na>>2]=c[Da>>2];c[f+72>>2]=n;if((c[ta>>2]|0)==16)m=(c[d+28>>2]|0)==0;else m=0;c[f+76>>2]=m&1;c[f+68>>2]=(c[ta>>2]<<16>>16)*1e3;if(!(c[oa>>2]|0))m=b[d+24508>>1]|0;else m=0;c[f+80>>2]=m;e:do if(!ya){c[Ba>>2]=p;c[f+36>>2]=l;m=0;while(1){if((m|0)>=(c[Da>>2]|0))break e;c[d+(m*12240|0)+4700>>2]=0;c[d+(m*12240|0)+4712>>2]=0;m=m+1|0}}while(0);va(pa|0);d=o;i=Ea;return d|0}function $d(a,b){a=a|0;b=b|0;var d=0;c[b>>2]=c[a+24540>>2];c[b+4>>2]=c[a+24544>>2];c[b+8>>2]=c[a+4580>>2];c[b+12>>2]=c[a+4588>>2];c[b+16>>2]=c[a+4592>>2];c[b+20>>2]=c[a+4596>>2];c[b+24>>2]=c[a+4636>>2];c[b+28>>2]=c[a+4632>>2];c[b+32>>2]=c[a+4640>>2];c[b+36>>2]=c[a+4648>>2];c[b+40>>2]=c[a+6120>>2];c[b+44>>2]=c[a+6108>>2];c[b+48>>2]=c[a+4708>>2];d=a+4600|0;c[b+68>>2]=(c[d>>2]<<16>>16)*1e3;c[b+72>>2]=c[a+4560>>2];if((c[d>>2]|0)!=16){a=0;a=a&1;d=b+76|0;c[d>>2]=a;return 0}a=(c[a+28>>2]|0)==0;a=a&1;d=b+76|0;c[d>>2]=a;return 0}function ae(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function be(e,f,g,h,j){e=e|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;u=i;i=i+48|0;q=u;m=u+32|0;p=(h|0)==0;s=p?e+4768|0:e+6132+(g*36|0)|0;r=s+29|0;h=(a[r>>0]<<1)+(a[s+30>>0]|0)|0;if(p^1|(h|0)>1)sc(f,h+-2|0,33396,8);else sc(f,h,33400,8);o=(j|0)==2;h=a[s>>0]|0;if(o)sc(f,h,31159,8);else{sc(f,h>>3,31135+(a[r>>0]<<3)|0,8);sc(f,d[s>>0]&7,33425,8)}p=e+4604|0;h=1;while(1){if((h|0)>=(c[p>>2]|0))break;sc(f,a[s+h>>0]|0,31159,8);h=h+1|0}h=s+8|0;n=e+4724|0;k=c[n>>2]|0;l=_(a[r>>0]>>1,b[k>>1]|0)|0;sc(f,a[h>>0]|0,(c[k+12>>2]|0)+l|0,8);tf(q,m,c[n>>2]|0,a[h>>0]|0);h=0;while(1){g=c[n>>2]|0;if((h|0)>=(b[g+2>>1]|0))break;k=h+1|0;l=s+8+k|0;m=a[l>>0]|0;if(m<<24>>24>3){sc(f,8,(c[g+24>>2]|0)+(b[q+(h<<1)>>1]|0)|0,8);sc(f,(a[l>>0]|0)+-4|0,33433,8);h=k;continue}h=b[q+(h<<1)>>1]|0;if(m<<24>>24<-3){sc(f,0,(c[g+24>>2]|0)+(h<<16>>16)|0,8);sc(f,-4-(a[l>>0]|0)|0,33433,8);h=k;continue}else{sc(f,(m<<24>>24)+4|0,(c[g+24>>2]|0)+(h<<16>>16)|0,8);h=k;continue}}if((c[p>>2]|0)==4)sc(f,a[s+31>>0]|0,33402,8);if((a[r>>0]|0)!=2){j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;sc(f,e,33410,8);i=u;return}do if(o?(c[e+5800>>2]|0)==2:0){g=(b[s+26>>1]|0)-(b[e+5804>>1]|0)|0;if((g|0)<-8|(g|0)>11){sc(f,0,33482,8);t=25;break}else{sc(f,g+9|0,33482,8);g=s+26|0;break}}else t=25;while(0);if((t|0)==25){g=s+26|0;o=b[g>>1]|0;t=c[e+4600>>2]|0;q=(o|0)/(t>>1|0)|0;t=o-(_(q<<16>>16,t<<15>>16)|0)|0;sc(f,q,33450,8);sc(f,t,c[e+4716>>2]|0,8)}b[e+5804>>1]=b[g>>1]|0;sc(f,a[s+28>>0]|0,c[e+4720>>2]|0,8);g=s+32|0;sc(f,a[g>>0]|0,31200,8);h=0;while(1){if((h|0)>=(c[p>>2]|0))break;sc(f,a[s+4+h>>0]|0,c[21668+(a[g>>0]<<2)>>2]|0,8);h=h+1|0}if(j){j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;sc(f,e,33410,8);i=u;return}sc(f,a[s+33>>0]|0,33393,8);j=a[r>>0]|0;j=j<<24>>24;e=e+5800|0;c[e>>2]=j;e=s+34|0;e=a[e>>0]|0;e=e<<24>>24;sc(f,e,33410,8);i=u;return}function ce(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;v=i;i=i+32|0;r=v;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;j=h>>4;if((j<<4|0)<(h|0)){j=j+1|0;k=g+h|0;l=k+16|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0))}l=j<<4;s=i;i=i+((1*(l<<2)|0)+15&-16)|0;k=0;while(1){if((k|0)>=(l|0))break;q=a[g+k>>0]|0;u=q<<24>>24;c[s+(k<<2)>>2]=q<<24>>24>0?u:0-u|0;u=k|1;q=a[g+u>>0]|0;t=q<<24>>24;c[s+(u<<2)>>2]=q<<24>>24>0?t:0-t|0;u=k|2;t=a[g+u>>0]|0;q=t<<24>>24;c[s+(u<<2)>>2]=t<<24>>24>0?q:0-q|0;u=k|3;q=a[g+u>>0]|0;t=q<<24>>24;c[s+(u<<2)>>2]=q<<24>>24>0?t:0-t|0;k=k+4|0}t=i;i=i+((1*(j<<2)|0)+15&-16)|0;u=i;i=i+((1*(j<<2)|0)+15&-16)|0;l=s;k=0;while(1){if((k|0)>=(j|0))break;n=u+(k<<2)|0;c[n>>2]=0;m=t+(k<<2)|0;a:while(1){q=de(r,l,8,8)|0;q=q+(de(r,r,10,4)|0)|0;q=q+(de(r,r,12,2)|0)|0;if((q|0)==(0-(de(m,r,16,1)|0)|0))break;c[n>>2]=(c[n>>2]|0)+1;o=0;while(1){if((o|0)==16)continue a;q=l+(o<<2)|0;c[q>>2]=c[q>>2]>>1;o=o+1|0}}l=l+64|0;k=k+1|0}p=e>>1;n=0;m=2147483647;l=0;while(1){if((l|0)==9)break;o=33743+(l*18|0)+17|0;k=0;r=d[33923+(p*9|0)+l>>0]|0;while(1){if((k|0)>=(j|0))break;if((c[u+(k<<2)>>2]|0)>0)q=a[o>>0]|0;else q=a[(c[t+(k<<2)>>2]|0)+(33743+(l*18|0))>>0]|0;k=k+1|0;r=r+(q&255)|0}q=(r|0)<(m|0);n=q?l:n;m=q?r:m;l=l+1|0}sc(b,n,33905+(p*9|0)|0,8);m=33563+(n*18|0)|0;n=0;while(1){if((n|0)>=(j|0)){l=0;break}l=c[u+(n<<2)>>2]|0;if(!l)sc(b,c[t+(n<<2)>>2]|0,m,8);else{sc(b,17,m,8);l=l+-1|0;k=0;while(1){if((k|0)>=(l|0))break;sc(b,17,33725,8);k=k+1|0}sc(b,c[t+(n<<2)>>2]|0,33725,8)}n=n+1|0}while(1){if((l|0)>=(j|0)){o=0;break}if((c[t+(l<<2)>>2]|0)>0)Ve(b,s+(l<<4<<2)|0);l=l+1|0}while(1){if((o|0)>=(j|0))break;n=c[u+(o<<2)>>2]|0;b:do if((n|0)>0){m=o<<4;k=0;while(1){if((k|0)==16)break b;q=a[g+(m+k)>>0]|0;l=q<<24>>24;l=(q<<24>>24>0?l:0-l|0)<<24>>24;q=n;while(1){p=q+-1|0;if((q|0)<=1)break;sc(b,l>>>p&1,34905,8);q=p}sc(b,l&1,34905,8);k=k+1|0}}while(0);o=o+1|0}Jd(b,g,h,e,f,t);i=v;return}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=0;while(1){if((g|0)>=(e|0)){e=0;f=5;break}f=g<<1;f=(c[b+(f<<2)>>2]|0)+(c[b+((f|1)<<2)>>2]|0)|0;if((f|0)>(d|0)){e=1;f=5;break}c[a+(g<<2)>>2]=f;g=g+1|0}if((f|0)==5)return e|0;return 0}function ee(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=(g|0)==0;n=0;while(1){if((n|0)>=(h|0))break;m=e+(n<<2)|0;Yf(c[m>>2]|0)|0;g=((((Yf(c[m>>2]|0)|0)<<16)+-136970240>>16)*2251|0)>>>16&255;k=b+n|0;a[k>>0]=g;if(g<<24>>24<(a[f>>0]|0)){g=g+1<<24>>24;a[k>>0]=g}if(g<<24>>24>63)g=63;else g=g<<24>>24<0?0:g<<24>>24;a[k>>0]=g;i=a[f>>0]|0;if((n|0)==0^1|l^1){i=g-(i&255)|0;j=i&255;a[k>>0]=j;g=(a[f>>0]|0)+8|0;i=i<<24>>24;if((i|0)>(g|0)){j=g+((i-g+1|0)>>>1)&255;a[k>>0]=j}if(j<<24>>24>36)j=36;else j=j<<24>>24<-4?-4:j<<24>>24;a[k>>0]=j;if((j|0)>(g|0))g=(d[f>>0]|0)+((j<<1)-g)|0;else g=(d[f>>0]|0)+j|0;a[f>>0]=g;a[k>>0]=(d[k>>0]|0)+4;g=a[f>>0]|0}else{g=(i<<24>>24)+-4|0;i=a[b>>0]|0;if((g|0)>63){j=i<<24>>24;if((j|0)<=(g|0))g=i<<24>>24<63?63:j}else if(i<<24>>24>63)g=63;else{k=i<<24>>24;g=(k|0)<(g|0)?g:k}g=g&255;a[b>>0]=g;a[f>>0]=g}k=g<<24>>24;c[m>>2]=ag(he((k*29|0)+(k*7281>>16)+2090|0)|0)|0;n=n+1|0}return}function fe(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=(f|0)==0;k=0;while(1){if((k|0)>=(g|0))break;do if((k|0)==0^1|j^1){f=(a[d+k>>0]|0)+-4|0;h=a[e>>0]|0;i=(h<<24>>24)+8|0;if((f|0)>(i|0)){f=(h&255)+((f<<1)-i)&255;a[e>>0]=f;break}else{f=(h&255)+f&255;a[e>>0]=f;break}}else{f=(ie(a[d>>0]|0,(a[e>>0]|0)+-16|0)|0)&255;a[e>>0]=f}while(0);if(f<<24>>24>63)f=63;else f=f<<24>>24<0?0:f<<24>>24;a[e>>0]=f;c[b+(k<<2)>>2]=ag(he((f*29|0)+(f*7281>>16)+2090|0)|0)|0;k=k+1|0}return}function ge(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;e=0;while(1){if((e|0)>=(c|0))break;d=(a[b+e>>0]|0)+(d<<8)|0;e=e+1|0}return d|0}function he(a){a=a|0;return ((a|0)<3967?a:3967)|0}function ie(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function je(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;f=f<<16>>16;h=0;while(1){if((h|0)>=(g|0))break;i=e[c+(h<<1)>>1]|0;b[a+(h<<1)>>1]=i+((_((e[d+(h<<1)>>1]|0)-i<<16>>16,f)|0)>>>2);h=h+1|0}return}function ke(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;h=i;i=i+32|0;g=h+8|0;f=h;e=a+12|0;if(!(c[e>>2]|0)){i=h;return}j=a+8|0;l=256-(c[j>>2]|0)<<10;k=l>>16;le(g,f,k,l-(k<<16)|0);e=(c[j>>2]|0)+(c[e>>2]|0)|0;c[j>>2]=(e|0)>256?256:(e|0)<0?0:e;Tf(b,g,f,a,b,d);i=h;return}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((d|0)>=4){c[a>>2]=c[5485];c[a+4>>2]=c[5486];c[a+8>>2]=c[5487];d=b;c[d>>2]=35497197;c[d+4>>2]=57401098;return}if((e|0)<=0){f=21892+(d*12|0)|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];f=21952+(d<<3)|0;g=c[f+4>>2]|0;d=b;c[d>>2]=c[f>>2];c[d+4>>2]=g;return}f=d+1|0;g=e<<16>>16;if((e|0)<32768){e=0;while(1){if((e|0)==3){e=0;break}i=c[21892+(d*12|0)+(e<<2)>>2]|0;h=(c[21892+(f*12|0)+(e<<2)>>2]|0)-i|0;c[a+(e<<2)>>2]=i+((_(h>>16,g)|0)+((_(h&65535,g)|0)>>16));e=e+1|0}while(1){if((e|0)==2)break;h=c[21952+(d<<3)+(e<<2)>>2]|0;i=(c[21952+(f<<3)+(e<<2)>>2]|0)-h|0;c[b+(e<<2)>>2]=h+((_(i>>16,g)|0)+((_(i&65535,g)|0)>>16));e=e+1|0}return}else{e=0;while(1){if((e|0)==3){e=0;break}h=c[21892+(f*12|0)+(e<<2)>>2]|0;i=h-(c[21892+(d*12|0)+(e<<2)>>2]|0)|0;c[a+(e<<2)>>2]=h+((_(i>>16,g)|0)+((_(i&65535,g)|0)>>16));e=e+1|0}while(1){if((e|0)==2)break;h=c[21952+(f<<3)+(e<<2)>>2]|0;i=h-(c[21952+(d<<3)+(e<<2)>>2]|0)|0;c[b+(e<<2)>>2]=h+((_(i>>16,g)|0)+((_(i&65535,g)|0)>>16));e=e+1|0}return}}function me(f,g,h){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;s=i;i=i+112|0;n=s+96|0;m=s+64|0;r=s+32|0;q=s;p=h+2|0;l=b[p>>1]|0;k=_(a[g>>0]|0,l<<16>>16)|0;j=c[h+8>>2]|0;o=0;while(1){if((o|0)>=(l<<16>>16|0))break;b[f+(o<<1)>>1]=d[j+(k+o)>>0]<<7;l=b[p>>1]|0;o=o+1|0}tf(m,n,h,a[g>>0]|0);ne(r,g+1|0,n,b[h+4>>1]|0,b[p>>1]|0);lg(q,f,b[p>>1]|0);k=0;while(1){j=b[p>>1]|0;if((k|0)>=(j|0))break;n=oe(e[q+(k<<1)>>1]<<16)|0;o=f+(k<<1)|0;n=(b[o>>1]|0)+((b[r+(k<<1)>>1]<<14|0)/(n|0)|0)|0;b[o>>1]=(n|0)>32767?32767:(n|0)<0?0:n;k=k+1|0}ig(f,c[h+32>>2]|0,j);i=s;return}function ne(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=g<<16>>16;g=0;h=h<<16>>16;while(1){j=h+-1|0;if((h|0)<=0)break;i=(_(g<<16>>16,d[f+j>>0]|0)|0)>>8;h=a[e+j>>0]|0;g=h<<24>>24<<10;if(h<<24>>24>0)h=g+-102|0;else h=h<<24>>24<0?g|102:g;g=i+((_(h>>16,k)|0)+((_(h&65535,k)|0)>>16))|0;b[c+(j<<1)>>1]=g;h=j}return}function oe(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}pe(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=qe(a)|0;c[b>>2]=e;c[d>>2]=(re(a,24-e|0)|0)&127;return}function qe(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function re(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function se(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var 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;R=i;c[e+4368>>2]=a[f+34>>0];P=e+4356|0;t=c[P>>2]|0;Q=f+29|0;O=b[29108+(a[Q>>0]>>1<<2)+(a[f+30>>0]<<1)>>1]|0;K=(a[f+31>>0]|0)==4?0:1;A=d+4616|0;G=c[A>>2]|0;B=d+4608|0;E=G+(c[B>>2]|0)|0;C=i;i=i+((1*(E<<2)|0)+15&-16)|0;D=i;i=i+((1*(E<<1)|0)+15&-16)|0;E=d+4612|0;F=i;i=i+((1*(c[E>>2]<<2)|0)+15&-16)|0;c[e+4364>>2]=G;G=e+4360|0;c[G>>2]=c[A>>2];H=d+4604|0;I=K^1;J=e+4376|0;K=K<<1^3;L=d+4664|0;M=d+5124|0;N=d+4660|0;y=e+(c[A>>2]<<1)|0;z=0;while(1){f=c[H>>2]|0;if((z|0)>=(f|0))break;u=j+((z>>1|I)<<4<<1)|0;v=k+(z*5<<1)|0;w=l+(z<<4<<1)|0;x=c[m+(z<<2)>>2]|0;x=x>>2|x>>>1<<16;c[J>>2]=0;f=a[Q>>0]|0;if(f<<24>>24==2){t=c[q+(z<<2)>>2]|0;if(!(z&K)){T=c[A>>2]|0;f=c[L>>2]|0;S=T-t-f+-2|0;U=e+(S+(_(z,c[E>>2]|0)|0)<<1)|0;bg(D+(S<<1)|0,U,u,T-S|0,f,c[M>>2]|0);c[J>>2]=1;c[G>>2]=c[A>>2];f=a[Q>>0]|0}else f=2}te(d,e,g,F,D,C,z,s,p,q,f<<24>>24);ue(e,a[Q>>0]|0,F,h,y,C,u,v,w,t,x,c[n+(z<<2)>>2]|0,c[o+(z<<2)>>2]|0,c[p+(z<<2)>>2]|0,r,O,c[E>>2]|0,c[N>>2]|0,c[L>>2]|0);U=c[E>>2]|0;g=g+(U<<2)|0;h=h+U|0;y=y+(U<<1)|0;z=z+1|0}c[P>>2]=c[q+(f+-1<<2)>>2];vj(e|0,e+(c[B>>2]<<1)|0,c[A>>2]<<1|0)|0;vj(e+1280|0,e+1280+(c[B>>2]<<2)|0,c[A>>2]<<2|0)|0;i=R;return}function te(a,d,e,f,g,h,i,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[l+(i<<2)>>2]|0;q=k+(i<<2)|0;p=c[q>>2]|0;l=ve((p|0)>1?p:1)|0;r=d+4372|0;o=c[r>>2]|0;if((p|0)==(o|0))t=65536;else t=we(o,p)|0;k=(l>>7)+1|0;p=a+4612|0;o=k>>>1<<16>>16;k=(k>>16)+1>>1;n=0;while(1){if((n|0)>=(c[p>>2]|0))break;u=c[e+(n<<2)>>2]|0;c[f+(n<<2)>>2]=(_(u>>16,o)|0)+((_(u&65535,o)|0)>>16)+(_(u,k)|0);n=n+1|0}c[r>>2]=c[q>>2];r=d+4376|0;a:do if(c[r>>2]|0){if(!i){u=j<<16>>16;l=(_(l>>16,u)|0)+((_(l&65535,u)|0)>>16)<<2}o=d+4360|0;n=c[o>>2]|0;p=l>>16;l=l&65535;k=n;n=n-s+-2|0;while(1){if((n|0)>=(k|0))break a;k=b[g+(n<<1)>>1]|0;c[h+(n<<2)>>2]=(_(p,k)|0)+((_(l,k)|0)>>16);k=c[o>>2]|0;n=n+1|0}}while(0);if((t|0)==65536)return;k=d+4364|0;l=c[k>>2]|0;p=t>>16;o=t&65535;n=l;l=l-(c[a+4616>>2]|0)|0;while(1){if((l|0)>=(n|0))break;n=d+1280+(l<<2)|0;u=c[n>>2]|0;a=u<<16>>16;c[n>>2]=(_(p,a)|0)+((_(o,a)|0)>>16)+(_(t,(u>>15)+1>>1)|0);n=c[k>>2]|0;l=l+1|0}b:do if((m|0)==2?(c[r>>2]|0)==0:0){k=d+4360|0;n=c[k>>2]|0;l=n;n=n-s+-2|0;while(1){if((n|0)>=(l|0))break b;l=h+(n<<2)|0;u=c[l>>2]|0;s=u<<16>>16;c[l>>2]=(_(p,s)|0)+((_(o,s)|0)>>16)+(_(t,(u>>15)+1>>1)|0);l=c[k>>2]|0;n=n+1|0}}while(0);n=d+4352|0;u=c[n>>2]|0;h=u<<16>>16;c[n>>2]=(_(p,h)|0)+((_(o,h)|0)>>16)+(_(t,(u>>15)+1>>1)|0);n=0;while(1){if((n|0)==32){n=0;break}u=d+3840+(n<<2)|0;h=c[u>>2]|0;s=h<<16>>16;c[u>>2]=(_(p,s)|0)+((_(o,s)|0)>>16)+(_(t,(h>>15)+1>>1)|0);n=n+1|0}while(1){if((n|0)==16)break;u=d+4288+(n<<2)|0;h=c[u>>2]|0;s=h<<16>>16;c[u>>2]=(_(p,s)|0)+((_(o,s)|0)>>16)+(_(t,(h>>15)+1>>1)|0);n=n+1|0}return}function ue(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var 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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;fa=d+4364|0;ra=d+4360|0;ga=d+4368|0;ha=v>>1;ia=j+2|0;ja=j+4|0;ka=j+6|0;la=j+8|0;ma=j+10|0;na=j+12|0;oa=j+14|0;pa=j+16|0;qa=j+18|0;Z=(v|0)==16;$=j+20|0;aa=j+22|0;ba=j+24|0;ca=j+26|0;da=j+28|0;ea=j+30|0;P=(e|0)==2;Q=k+2|0;R=k+4|0;S=k+6|0;T=k+8|0;U=d+4288|0;V=u>>1;X=u+-1|0;W=d+4288+(X<<2)|0;X=l+(X<<1)|0;Y=d+4352|0;N=o<<16>>16;O=p<<16>>16;K=p>>16;L=(m|0)>0;M=n<<16>>16;J=n>>16;H=r<<16>>16;I=q>>>6<<16>>16;A=(q>>21)+1>>1;B=s+944|0;C=_(s<<16>>16,H)|0;D=_(B<<16>>16,H)|0;E=s+-944|0;F=_(944-s<<16>>16,H)|0;r=i+((c[ra>>2]|0)-m+2<<2)|0;G=d+3964|0;m=d+1280+((c[fa>>2]|0)-m+1<<2)|0;z=0;while(1){if((z|0)>=(t|0))break;c[ga>>2]=(_(c[ga>>2]|0,196314165)|0)+907633515;y=c[G>>2]|0;x=b[j>>1]|0;x=ha+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-4>>2]|0;q=b[ia>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-8>>2]|0;x=b[ja>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-12>>2]|0;q=b[ka>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-16>>2]|0;x=b[la>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-20>>2]|0;q=b[ma>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-24>>2]|0;x=b[na>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-28>>2]|0;q=b[oa>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-32>>2]|0;x=b[pa>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-36>>2]|0;q=b[qa>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;if(Z){y=c[G+-40>>2]|0;x=b[$>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-44>>2]|0;q=b[aa>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-48>>2]|0;x=b[ba>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-52>>2]|0;q=b[ca>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0;y=c[G+-56>>2]|0;x=b[da>>1]|0;x=q+((_(y>>16,x)|0)+((_(y&65535,x)|0)>>16))|0;y=c[G+-60>>2]|0;q=b[ea>>1]|0;q=x+((_(y>>16,q)|0)+((_(y&65535,q)|0)>>16))|0}if(P){x=c[r>>2]|0;y=b[k>>1]|0;y=(_(x>>16,y)|0)+((_(x&65535,y)|0)>>16)+2|0;x=c[r+-4>>2]|0;w=b[Q>>1]|0;w=y+((_(x>>16,w)|0)+((_(x&65535,w)|0)>>16))|0;x=c[r+-8>>2]|0;y=b[R>>1]|0;y=w+((_(x>>16,y)|0)+((_(x&65535,y)|0)>>16))|0;x=c[r+-12>>2]|0;w=b[S>>1]|0;w=y+((_(x>>16,w)|0)+((_(x&65535,w)|0)>>16))|0;x=c[r+-16>>2]|0;y=b[T>>1]|0;y=w+((_(x>>16,y)|0)+((_(x&65535,y)|0)>>16))|0;x=r+4|0}else{y=0;x=r}n=c[G>>2]|0;p=c[U>>2]|0;c[U>>2]=n;r=b[l>>1]|0;r=V+((_(n>>16,r)|0)+((_(n&65535,r)|0)>>16))|0;n=2;while(1){if((n|0)>=(u|0))break;o=n+-1|0;v=d+4288+(o<<2)|0;e=c[v>>2]|0;c[v>>2]=p;o=b[l+(o<<1)>>1]|0;o=r+((_(p>>16,o)|0)+((_(p&65535,o)|0)>>16))|0;v=d+4288+(n<<2)|0;w=c[v>>2]|0;c[v>>2]=e;v=b[l+(n<<1)>>1]|0;r=o+((_(e>>16,v)|0)+((_(e&65535,v)|0)>>16))|0;n=n+2|0;p=w}c[W>>2]=p;e=b[X>>1]|0;e=r+((_(p>>16,e)|0)+((_(p&65535,e)|0)>>16))<<1;o=c[Y>>2]|0;r=o>>16;o=o&65535;e=e+((_(r,N)|0)+((_(o,N)|0)>>16))|0;w=c[d+1280+((c[fa>>2]|0)+-1<<2)>>2]|0;o=(_(w>>16,O)|0)+((_(w&65535,O)|0)>>16)+(_(r,K)|0)+((_(o,K)|0)>>16)|0;r=(q<<2)-e-o|0;if(L){p=(c[m>>2]|0)+(c[m+-8>>2]|0)|0;p=(_(p>>16,M)|0)+((_(p&65535,M)|0)>>16)|0;n=c[m+-4>>2]|0;w=m+4|0;r=y-(p+(_(n>>16,J)|0)+((_(n&65535,J)|0)>>16)<<1)+(r<<1)>>2}else{w=m;r=r>>1}r=(c[f+(z<<2)>>2]|0)-(r+1>>1)|0;n=(c[ga>>2]|0)<0;m=0-r|0;v=n?m:r;v=((n?m:r)|0)>30720?30720:(v|0)<-31744?-31744:v;r=v-s>>10;if((r|0)<=0)if(r)if((r|0)==-1){m=E;r=s;n=F;p=C}else{p=(r<<10|80)+s|0;m=p;r=p+1024|0;n=_(0-p<<16>>16,H)|0;p=_(-1024-p<<16>>16,H)|0}else{m=s;r=B;n=C;p=D}else{n=(r<<10)+-80+s|0;p=n+1024|0;m=n;r=p;n=_(n<<16>>16,H)|0;p=_(p<<16>>16,H)|0}sa=v-m<<16>>16;v=v-r<<16>>16;n=(p+(_(v,v)|0)|0)<(n+(_(sa,sa)|0)|0);m=n?r:m;r=g+z|0;a[r>>0]=((m>>>9)+1|0)>>>1;m=m<<4;y=((c[ga>>2]|0)<0?0-m|0:m)+(y<<1)|0;q=y+(q<<4)|0;m=((_(q>>16,I)|0)+((_(q&65535,I)|0)>>16)+(_(q,A)|0)>>7)+1>>1;b[h+(z<<1)>>1]=(m|0)>32767?32767:(m|0)<-32768?-32768:m;m=G+4|0;c[m>>2]=q;q=q-(e<<2)|0;c[Y>>2]=q;c[d+1280+(c[fa>>2]<<2)>>2]=q-(o<<2);c[i+(c[ra>>2]<<2)>>2]=y<<1;c[fa>>2]=(c[fa>>2]|0)+1;c[ra>>2]=(c[ra>>2]|0)+1;c[ga>>2]=(c[ga>>2]|0)+(a[r>>0]|0);r=x;G=m;m=w;z=z+1|0}v=d+3840|0;o=d+3840+(t<<2)|0;e=v+128|0;do{c[v>>2]=c[o>>2];v=v+4|0;o=o+4|0}while((v|0)<(e|0));return}function ve(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=xe((a|0)>0?a:0-a|0)|0;a=a<<b+-1;f=a>>16;d=536870911/(f|0)|0;e=d<<16;c=e>>16;a=536870912-((_(f,c)|0)+((_(a&65535,c)|0)>>16))<<3;d=e+((_(a>>16,c)|0)+((_(a&65528,c)|0)>>16))+(_(a,(d>>15)+1>>1)|0)|0;a=62-b|0;b=a+-47|0;if((b|0)>=1)return ((b|0)<32?d>>b:0)|0;b=47-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=xe((a|0)>0?a:0-a|0)|0;f=a<<c+-1;a=(xe((b|0)>0?b:0-b|0)|0)+-1|0;b=b<<a;d=(536870911/(b>>16|0)|0)<<16>>16;e=(_(f>>16,d)|0)+((_(f&65535,d)|0)>>16)|0;b=Bj(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,29)|0;b=f-(b&-8)|0;d=e+((_(b>>16,d)|0)+((_(b&65535,d)|0)>>16))|0;b=c+28-a|0;a=b+-16|0;if((b|0)>=16)return ((a|0)<32?d>>a:0)|0;b=16-b|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function xe(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function ye(e,f,g,h,j,k,l,m,n,o,p,q,r,s,t){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var 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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ha=i;i=i+144|0;aa=ha+128|0;X=ha;ba=f+4356|0;z=c[ba>>2]|0;V=e+4652|0;y=c[V>>2]|0;da=i;i=i+((1*(y*1168|0)|0)+15&-16)|0;rj(da|0,0,y*1168|0)|0;$=g+34|0;ea=f+4352|0;fa=e+4616|0;ga=f+3840|0;ca=f+4288|0;x=0;while(1){if((x|0)>=(y|0))break;u=x+(d[$>>0]|0)&3;c[da+(x*1168|0)+1156>>2]=u;c[da+(x*1168|0)+1160>>2]=u;c[da+(x*1168|0)+1164>>2]=0;c[da+(x*1168|0)+1152>>2]=c[ea>>2];c[da+(x*1168|0)+960>>2]=c[f+1280+((c[fa>>2]|0)+-1<<2)>>2];u=da+(x*1168|0)|0;w=ga;v=u+128|0;do{c[u>>2]=c[w>>2];u=u+4|0;w=w+4|0}while((u|0)<(v|0));u=da+(x*1168|0)+1088|0;w=ca;v=u+64|0;do{c[u>>2]=c[w>>2];u=u+4|0;w=w+4|0}while((u|0)<(v|0));x=x+1|0}R=g+29|0;Y=a[R>>0]|0;S=b[29108+(Y<<24>>24>>1<<2)+(a[g+30>>0]<<1)>>1]|0;c[aa>>2]=0;Z=e+4612|0;v=c[Z>>2]|0;y=ze(32,v)|0;a:do if(Y<<24>>24!=2)if((z|0)>0)U=ze(y,z+-3|0)|0;else U=y;else{w=c[e+4604>>2]|0;x=0;while(1){if((x|0)>=(w|0)){U=y;break a}y=ze(y,(c[r+(x<<2)>>2]|0)+-3|0)|0;x=x+1|0}}while(0);G=(a[g+31>>0]|0)==4?0:1;Q=c[fa>>2]|0;Y=e+4608|0;O=Q+(c[Y>>2]|0)|0;M=i;i=i+((1*(O<<2)|0)+15&-16)|0;N=i;i=i+((1*(O<<1)|0)+15&-16)|0;O=i;i=i+((1*(v<<2)|0)+15&-16)|0;T=f+4364|0;c[T>>2]=Q;D=f+4360|0;c[D>>2]=c[fa>>2];W=e+4604|0;E=G^1;F=f+4376|0;G=G<<1^3;P=da+1164|0;H=q+4|0;I=e+4664|0;J=e+5124|0;K=e+4660|0;L=e+4704|0;x=z;Q=f+(Q<<1)|0;C=0;y=0;while(1){if((C|0)>=(c[W>>2]|0))break;v=k+((C>>1|E)<<4<<1)|0;u=l+(C*5<<1)|0;A=m+(C<<4<<1)|0;B=c[n+(C<<2)>>2]|0;B=B>>2|B>>>1<<16;c[F>>2]=0;g=a[R>>0]|0;if(g<<24>>24==2){x=c[r+(C<<2)>>2]|0;if(!(C&G)){b:do if((C|0)==2){w=c[V>>2]|0;g=c[P>>2]|0;z=0;y=1;while(1){if((y|0)>=(w|0)){g=0;break}ja=c[da+(y*1168|0)+1164>>2]|0;ia=(ja|0)<(g|0);g=ia?ja:g;z=ia?y:z;y=y+1|0}while(1){if((g|0)>=(w|0))break;if((g|0)!=(z|0)){ja=da+(g*1168|0)+1164|0;c[ja>>2]=(c[ja>>2]|0)+134217727}g=g+1|0}g=(c[aa>>2]|0)+U|0;y=0;while(1){if((y|0)>=(U|0)){y=0;break b}ja=g+31&31;ia=y-U|0;a[j+ia>>0]=(((c[da+(z*1168|0)+576+(ja<<2)>>2]|0)>>>9)+1|0)>>>1;ka=c[da+(z*1168|0)+704+(ja<<2)>>2]|0;w=c[H>>2]|0;la=w<<16>>16;w=((_(ka>>16,la)|0)+((_(ka&65535,la)|0)>>16)+(_(ka,(w>>15)+1>>1)|0)>>13)+1>>1;b[Q+(ia<<1)>>1]=(w|0)>32767?32767:(w|0)<-32768?-32768:w;c[f+1280+((c[T>>2]|0)-U+y<<2)>>2]=c[da+(z*1168|0)+960+(ja<<2)>>2];g=ja;y=y+1|0}}while(0);ka=c[fa>>2]|0;g=c[I>>2]|0;la=ka-x-g+-2|0;ja=f+(la+(_(C,c[Z>>2]|0)|0)<<1)|0;bg(N+(la<<1)|0,ja,v,ka-la|0,g,c[J>>2]|0);c[D>>2]=c[fa>>2];c[F>>2]=1;g=a[R>>0]|0}else g=2}Ae(e,f,da,h,O,N,M,C,c[V>>2]|0,t,q,r,g<<24>>24,U);Be(f,da,a[R>>0]|0,O,j,Q,M,X,v,u,A,x,B,c[o+(C<<2)>>2]|0,c[p+(C<<2)>>2]|0,c[q+(C<<2)>>2]|0,s,S,c[Z>>2]|0,y,c[K>>2]|0,c[I>>2]|0,c[L>>2]|0,c[V>>2]|0,aa,U);la=c[Z>>2]|0;h=h+(la<<2)|0;j=j+la|0;Q=Q+(la<<1)|0;C=C+1|0;y=y+1|0}v=c[V>>2]|0;x=c[P>>2]|0;y=0;w=1;while(1){if((w|0)>=(v|0))break;ka=c[da+(w*1168|0)+1164>>2]|0;la=(ka|0)<(x|0);x=la?ka:x;y=la?w:y;w=w+1|0}a[$>>0]=c[da+(y*1168|0)+1160>>2];x=c[q+((c[W>>2]|0)+-1<<2)>>2]|0;w=x>>>6<<16>>16;x=(x>>21)+1>>1;u=(c[aa>>2]|0)+U|0;v=0;while(1){if((v|0)>=(U|0))break;la=u+31&31;ka=v-U|0;a[j+ka>>0]=(((c[da+(y*1168|0)+576+(la<<2)>>2]|0)>>>9)+1|0)>>>1;ja=c[da+(y*1168|0)+704+(la<<2)>>2]|0;ja=((_(ja>>16,w)|0)+((_(ja&65535,w)|0)>>16)+(_(ja,x)|0)>>7)+1>>1;b[Q+(ka<<1)>>1]=(ja|0)>32767?32767:(ja|0)<-32768?-32768:ja;c[f+1280+((c[T>>2]|0)-U+v<<2)>>2]=c[da+(y*1168|0)+960+(la<<2)>>2];u=la;v=v+1|0}u=ga;w=da+(y*1168|0)+(c[Z>>2]<<2)|0;v=u+128|0;do{c[u>>2]=c[w>>2];u=u+4|0;w=w+4|0}while((u|0)<(v|0));u=ca;w=da+(y*1168|0)+1088|0;v=u+64|0;do{c[u>>2]=c[w>>2];u=u+4|0;w=w+4|0}while((u|0)<(v|0));c[ea>>2]=c[da+(y*1168|0)+1152>>2];c[ba>>2]=c[r+((c[W>>2]|0)+-1<<2)>>2];vj(f|0,f+(c[Y>>2]<<1)|0,c[fa>>2]<<1|0)|0;vj(f+1280|0,f+1280+(c[Y>>2]<<2)|0,c[fa>>2]<<2|0)|0;i=ha;return}function ze(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Ae(a,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[n+(j<<2)>>2]|0;t=m+(j<<2)|0;s=c[t>>2]|0;n=Ce((s|0)>1?s:1)|0;u=d+4372|0;r=c[u>>2]|0;if((s|0)==(r|0))w=65536;else w=De(r,s)|0;m=(n>>7)+1|0;s=a+4612|0;r=m>>>1<<16>>16;m=(m>>16)+1>>1;q=0;while(1){if((q|0)>=(c[s>>2]|0))break;x=c[f+(q<<2)>>2]|0;c[g+(q<<2)>>2]=(_(x>>16,r)|0)+((_(x&65535,r)|0)>>16)+(_(x,m)|0);q=q+1|0}c[u>>2]=c[t>>2];u=d+4376|0;a:do if(c[u>>2]|0){if(!j){x=l<<16>>16;n=(_(n>>16,x)|0)+((_(n&65535,x)|0)>>16)<<2}r=d+4360|0;q=c[r>>2]|0;s=n>>16;n=n&65535;m=q;q=q-v+-2|0;while(1){if((q|0)>=(m|0))break a;m=b[h+(q<<1)>>1]|0;c[i+(q<<2)>>2]=(_(s,m)|0)+((_(n,m)|0)>>16);m=c[r>>2]|0;q=q+1|0}}while(0);if((w|0)==65536)return;m=d+4364|0;n=c[m>>2]|0;s=w>>16;r=w&65535;q=n;n=n-(c[a+4616>>2]|0)|0;while(1){if((n|0)>=(q|0))break;q=d+1280+(n<<2)|0;x=c[q>>2]|0;a=x<<16>>16;c[q>>2]=(_(s,a)|0)+((_(r,a)|0)>>16)+(_(w,(x>>15)+1>>1)|0);q=c[m>>2]|0;n=n+1|0}b:do if((o|0)==2?(c[u>>2]|0)==0:0){q=d+4360|0;m=c[q>>2]|0;n=m;m=m-v+-2|0;while(1){if((m|0)>=(n-p|0)){m=0;break b}n=i+(m<<2)|0;x=c[n>>2]|0;v=x<<16>>16;c[n>>2]=(_(s,v)|0)+((_(r,v)|0)>>16)+(_(w,(x>>15)+1>>1)|0);n=c[q>>2]|0;m=m+1|0}}else m=0;while(0);while(1){if((m|0)>=(k|0))break;q=c[e+(m*1168|0)+1152>>2]|0;x=q<<16>>16;c[e+(m*1168|0)+1152>>2]=(_(s,x)|0)+((_(r,x)|0)>>16)+(_(w,(q>>15)+1>>1)|0);q=0;while(1){if((q|0)==32){q=0;break}x=e+(m*1168|0)+(q<<2)|0;i=c[x>>2]|0;p=i<<16>>16;c[x>>2]=(_(s,p)|0)+((_(r,p)|0)>>16)+(_(w,(i>>15)+1>>1)|0);q=q+1|0}while(1){if((q|0)==16){q=0;break}x=e+(m*1168|0)+1088+(q<<2)|0;i=c[x>>2]|0;p=i<<16>>16;c[x>>2]=(_(s,p)|0)+((_(r,p)|0)>>16)+(_(w,(i>>15)+1>>1)|0);q=q+1|0}while(1){if((q|0)==32)break;x=e+(m*1168|0)+832+(q<<2)|0;i=c[x>>2]|0;p=i<<16>>16;c[x>>2]=(_(s,p)|0)+((_(r,p)|0)>>16)+(_(w,(i>>15)+1>>1)|0);x=e+(m*1168|0)+960+(q<<2)|0;i=c[x>>2]|0;p=i<<16>>16;c[x>>2]=(_(s,p)|0)+((_(r,p)|0)>>16)+(_(w,(i>>15)+1>>1)|0);q=q+1|0}m=m+1|0}return}function Be(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Da=i;Aa=i;i=i+((1*(B*48|0)|0)+15&-16)|0;Ba=d+4364|0;Ca=d+4360|0;za=t>>6;sa=(f|0)==2;ta=n+2|0;ua=n+4|0;va=n+6|0;wa=n+8|0;xa=(p|0)>0;ya=q<<16>>16;ha=q>>16;ia=z>>1;ja=m+2|0;ka=m+4|0;la=m+6|0;ma=m+8|0;na=m+10|0;oa=m+12|0;pa=m+14|0;qa=m+16|0;ra=m+18|0;aa=(z|0)==16;ba=m+20|0;ca=m+22|0;da=m+24|0;ea=m+26|0;fa=m+28|0;ga=m+30|0;X=A<<16>>16;Y=y>>1;Z=y+-1|0;$=o+(Z<<1)|0;V=r<<16>>16;W=s<<16>>16;U=s>>16;M=u<<16>>16;N=v+944|0;O=_(v<<16>>16,M)|0;P=_(N<<16>>16,M)|0;Q=v+-944|0;R=_(944-v<<16>>16,M)|0;S=Aa+4|0;T=Aa+28|0;L=(x|0)<=0;u=k+((c[Ca>>2]|0)-p+2<<2)|0;s=d+1280+((c[Ba>>2]|0)-p+1<<2)|0;K=0;while(1){if((K|0)>=(w|0)){z=0;break}if(sa){I=c[u>>2]|0;H=b[n>>1]|0;H=(_(I>>16,H)|0)+((_(I&65535,H)|0)>>16)+2|0;I=c[u+-4>>2]|0;J=b[ta>>1]|0;J=H+((_(I>>16,J)|0)+((_(I&65535,J)|0)>>16))|0;I=c[u+-8>>2]|0;H=b[ua>>1]|0;H=J+((_(I>>16,H)|0)+((_(I&65535,H)|0)>>16))|0;I=c[u+-12>>2]|0;J=b[va>>1]|0;J=H+((_(I>>16,J)|0)+((_(I&65535,J)|0)>>16))|0;I=c[u+-16>>2]|0;H=b[wa>>1]|0;H=J+((_(I>>16,H)|0)+((_(I&65535,H)|0)>>16))<<1;I=u+4|0}else{H=0;I=u}if(xa){J=(c[s>>2]|0)+(c[s+-8>>2]|0)|0;J=(_(J>>16,ya)|0)+((_(J&65535,ya)|0)>>16)|0;G=c[s+-4>>2]|0;G=H-(J+(_(G>>16,ha)|0)+((_(G&65535,ha)|0)>>16)<<2)|0;J=s+4|0}else{G=0;J=s}z=K+31|0;E=g+(K<<2)|0;F=0;while(1){if((F|0)>=(B|0))break;A=e+(F*1168|0)+1156|0;c[A>>2]=(_(c[e+(F*1168|0)+1156>>2]|0,196314165)|0)+907633515;p=e+(F*1168|0)+(z<<2)|0;u=c[p>>2]|0;s=b[m>>1]|0;s=ia+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+30<<2)>>2]|0;x=b[ja>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+29<<2)>>2]|0;s=b[ka>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+28<<2)>>2]|0;x=b[la>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+27<<2)>>2]|0;s=b[ma>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+26<<2)>>2]|0;x=b[na>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+25<<2)>>2]|0;s=b[oa>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+24<<2)>>2]|0;x=b[pa>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+23<<2)>>2]|0;s=b[qa>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+22<<2)>>2]|0;x=b[ra>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;if(aa){u=c[e+(F*1168|0)+(K+21<<2)>>2]|0;s=b[ba>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+20<<2)>>2]|0;x=b[ca>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+19<<2)>>2]|0;s=b[da>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+18<<2)>>2]|0;x=b[ea>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0;u=c[e+(F*1168|0)+(K+17<<2)>>2]|0;s=b[fa>>1]|0;s=x+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=c[e+(F*1168|0)+(K+16<<2)>>2]|0;x=b[ga>>1]|0;x=s+((_(u>>16,x)|0)+((_(u&65535,x)|0)>>16))|0}s=e+(F*1168|0)+1088|0;t=c[s>>2]|0;u=(c[p>>2]|0)+((_(t>>16,X)|0)+((_(t&65535,X)|0)>>16))|0;p=c[e+(F*1168|0)+1092>>2]|0;r=p-u|0;r=t+((_(r>>16,X)|0)+((_(r&65535,X)|0)>>16))|0;c[s>>2]=u;s=b[o>>1]|0;s=Y+((_(u>>16,s)|0)+((_(u&65535,s)|0)>>16))|0;u=2;while(1){if((u|0)>=(y|0))break;Ea=u+-1|0;f=e+(F*1168|0)+1088+(u<<2)|0;Ga=c[f>>2]|0;q=Ga-r|0;q=p+((_(q>>16,X)|0)+((_(q&65535,X)|0)>>16))|0;c[e+(F*1168|0)+1088+(Ea<<2)>>2]=r;Ea=b[o+(Ea<<1)>>1]|0;Ea=s+((_(r>>16,Ea)|0)+((_(r&65535,Ea)|0)>>16))|0;Fa=c[e+(F*1168|0)+1088+((u|1)<<2)>>2]|0;t=Fa-q|0;t=Ga+((_(t>>16,X)|0)+((_(t&65535,X)|0)>>16))|0;c[f>>2]=q;f=b[o+(u<<1)>>1]|0;p=Fa;s=Ea+((_(q>>16,f)|0)+((_(q&65535,f)|0)>>16))|0;u=u+2|0;r=t}q=x<<4;c[e+(F*1168|0)+1088+(Z<<2)>>2]=r;t=b[$>>1]|0;t=s+((_(r>>16,t)|0)+((_(r&65535,t)|0)>>16))<<1;f=c[e+(F*1168|0)+1152>>2]|0;p=f>>16;f=f&65535;t=t+((_(p,V)|0)+((_(f,V)|0)>>16))<<2;r=c[e+(F*1168|0)+960+(c[C>>2]<<2)>>2]|0;f=(_(r>>16,W)|0)+((_(r&65535,W)|0)>>16)+(_(p,U)|0)+((_(f,U)|0)>>16)<<2;p=(c[E>>2]|0)-((G+q-(t+f)>>3)+1>>1)|0;r=(c[A>>2]|0)<0;Ga=0-p|0;A=r?Ga:p;A=((r?Ga:p)|0)>30720?30720:(A|0)<-31744?-31744:A;p=A-v>>10;if((p|0)<=0)if(p)if((p|0)==-1){p=Q;x=v;u=R;s=O}else{s=(p<<10|80)+v|0;p=s;x=s+1024|0;u=_(0-s<<16>>16,M)|0;s=_(-1024-s<<16>>16,M)|0}else{p=v;x=N;u=O;s=P}else{u=(p<<10)+-80+v|0;s=u+1024|0;p=u;x=s;u=_(u<<16>>16,M)|0;s=_(s<<16>>16,M)|0}Ga=A-p<<16>>16;Ga=u+(_(Ga,Ga)|0)>>10;u=A-x<<16>>16;u=s+(_(u,u)|0)>>10;s=(Ga|0)<(u|0);A=c[e+(F*1168|0)+1164>>2]|0;Ea=s?p:x;Fa=s?x:p;c[Aa+(F*48|0)+4>>2]=A+(s?Ga:u);c[Aa+(F*48|0)+28>>2]=A+(s?u:Ga);c[Aa+(F*48|0)>>2]=Ea;c[Aa+(F*48|0)+24>>2]=Fa;Ea=Ea<<4;Ea=(r?0-Ea|0:Ea)+H|0;Ga=Ea+q|0;p=Ga-t|0;c[Aa+(F*48|0)+16>>2]=p-f;c[Aa+(F*48|0)+12>>2]=p;c[Aa+(F*48|0)+20>>2]=Ea;c[Aa+(F*48|0)+8>>2]=Ga;Fa=Fa<<4;Fa=(r?0-Fa|0:Fa)+H|0;Ga=Fa+q|0;Ea=Ga-t|0;c[Aa+(F*48|0)+40>>2]=Ea-f;c[Aa+(F*48|0)+36>>2]=Ea;c[Aa+(F*48|0)+44>>2]=Fa;c[Aa+(F*48|0)+32>>2]=Ga;F=F+1|0}u=(c[C>>2]|0)+31|0;c[C>>2]=u&31;u=u+D|0;s=c[S>>2]|0;t=0;r=1;while(1){if((r|0)>=(B|0))break;Fa=c[Aa+(r*48|0)+4>>2]|0;Ga=(Fa|0)<(s|0);s=Ga?Fa:s;t=Ga?r:t;r=r+1|0}p=u&31;u=c[e+(t*1168|0)+448+(p<<2)>>2]|0;s=0;while(1){if((s|0)>=(B|0))break;if((c[e+(s*1168|0)+448+(p<<2)>>2]|0)!=(u|0)){Ga=Aa+(s*48|0)+4|0;c[Ga>>2]=(c[Ga>>2]|0)+134217727;Ga=Aa+(s*48|0)+28|0;c[Ga>>2]=(c[Ga>>2]|0)+134217727}s=s+1|0}x=c[S>>2]|0;u=0;s=c[T>>2]|0;r=0;A=1;while(1){if((A|0)>=(B|0))break;H=c[Aa+(A*48|0)+4>>2]|0;Ea=(H|0)>(x|0);Fa=c[Aa+(A*48|0)+28>>2]|0;Ga=(Fa|0)<(s|0);x=Ea?H:x;u=Ea?A:u;s=Ga?Fa:s;r=Ga?A:r;A=A+1|0}if((s|0)<(x|0)){uj(e+(u*1168|0)+(K<<2)|0,e+(r*1168|0)+(K<<2)|0,1168-(K<<2)|0)|0;Ga=Aa+(u*48|0)|0;Fa=Aa+(r*48|0)+24|0;c[Ga>>2]=c[Fa>>2];c[Ga+4>>2]=c[Fa+4>>2];c[Ga+8>>2]=c[Fa+8>>2];c[Ga+12>>2]=c[Fa+12>>2];c[Ga+16>>2]=c[Fa+16>>2];c[Ga+20>>2]=c[Fa+20>>2]}if(!(L&(K|0)<(D|0))){Ga=K-D|0;a[h+Ga>>0]=(((c[e+(t*1168|0)+576+(p<<2)>>2]|0)>>>9)+1|0)>>>1;Ea=c[e+(t*1168|0)+704+(p<<2)>>2]|0;Fa=c[l+(p<<2)>>2]|0;H=Fa<<16>>16;Fa=((_(Ea>>16,H)|0)+((_(Ea&65535,H)|0)>>16)+(_(Ea,(Fa>>15)+1>>1)|0)>>7)+1>>1;b[j+(Ga<<1)>>1]=(Fa|0)>32767?32767:(Fa|0)<-32768?-32768:Fa;c[d+1280+((c[Ba>>2]|0)-D<<2)>>2]=c[e+(t*1168|0)+960+(p<<2)>>2];c[k+((c[Ca>>2]|0)-D<<2)>>2]=c[e+(t*1168|0)+832+(p<<2)>>2]}c[Ba>>2]=(c[Ba>>2]|0)+1;c[Ca>>2]=(c[Ca>>2]|0)+1;u=K+32|0;s=0;while(1){if((s|0)>=(B|0))break;c[e+(s*1168|0)+1152>>2]=c[Aa+(s*48|0)+12>>2];Ga=c[Aa+(s*48|0)+8>>2]|0;c[e+(s*1168|0)+(u<<2)>>2]=Ga;c[e+(s*1168|0)+704+(c[C>>2]<<2)>>2]=Ga;Ga=c[Aa+(s*48|0)>>2]|0;c[e+(s*1168|0)+576+(c[C>>2]<<2)>>2]=Ga;c[e+(s*1168|0)+832+(c[C>>2]<<2)>>2]=c[Aa+(s*48|0)+20>>2]<<1;c[e+(s*1168|0)+960+(c[C>>2]<<2)>>2]=c[Aa+(s*48|0)+16>>2];Fa=e+(s*1168|0)+1156|0;Ga=(c[Fa>>2]|0)+((Ga>>9)+1>>1)|0;c[Fa>>2]=Ga;c[e+(s*1168|0)+448+(c[C>>2]<<2)>>2]=Ga;c[e+(s*1168|0)+1164>>2]=c[Aa+(s*48|0)+4>>2];s=s+1|0}c[l+(c[C>>2]<<2)>>2]=za;u=I;s=J;K=K+1|0}while(1){if((z|0)>=(B|0))break;q=e+(z*1168|0)|0;f=e+(z*1168|0)+(w<<2)|0;t=q+128|0;do{c[q>>2]=c[f>>2];q=q+4|0;f=f+4|0}while((q|0)<(t|0));z=z+1|0}i=Da;return}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=Ee((a|0)>0?a:0-a|0)|0;a=a<<b+-1;f=a>>16;d=536870911/(f|0)|0;e=d<<16;c=e>>16;a=536870912-((_(f,c)|0)+((_(a&65535,c)|0)>>16))<<3;d=e+((_(a>>16,c)|0)+((_(a&65528,c)|0)>>16))+(_(a,(d>>15)+1>>1)|0)|0;a=62-b|0;b=a+-47|0;if((b|0)>=1)return ((b|0)<32?d>>b:0)|0;b=47-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=Ee((a|0)>0?a:0-a|0)|0;f=a<<c+-1;a=(Ee((b|0)>0?b:0-b|0)|0)+-1|0;b=b<<a;d=(536870911/(b>>16|0)|0)<<16>>16;e=(_(f>>16,d)|0)+((_(f&65535,d)|0)>>16)|0;b=Bj(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,29)|0;b=f-(b&-8)|0;d=e+((_(b>>16,d)|0)+((_(b&65535,d)|0)>>16))|0;b=c+28-a|0;a=b+-16|0;if((b|0)>=16)return ((a|0)<32?d>>a:0)|0;b=16-b|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function Ee(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Fe(a){a=a|0;c[a+4168>>2]=c[a+2328>>2]<<7;c[a+4240>>2]=65536;c[a+4244>>2]=65536;c[a+4256>>2]=20;c[a+4252>>2]=2;return}function Ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+2316|0;h=a+4248|0;if((c[g>>2]|0)!=(c[h>>2]|0)){Fe(a);c[h>>2]=c[g>>2]}if(!e){Je(a,b);return}else{Ie(a,b,d,f);b=a+4160|0;c[b>>2]=(c[b>>2]|0)+1;return}}function He(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+4|0;j=k;if(c[a+4160>>2]|0){Cg(a+4228|0,a+4232|0,d,e);c[a+4216>>2]=1;i=k;return}a:do if(c[a+4216>>2]|0){Cg(j,f,d,e);g=c[f>>2]|0;f=c[a+4232>>2]|0;if((g|0)<=(f|0)){if((g|0)<(f|0))c[j>>2]=c[j>>2]>>f-g}else{h=a+4228|0;c[h>>2]=c[h>>2]>>g-f}g=c[j>>2]|0;f=a+4228|0;h=c[f>>2]|0;if((g|0)>(h|0)){l=Ke(h)|0;h=h<<l+-1;c[f>>2]=h;f=g>>(Le(25-l|0,0)|0);c[j>>2]=f;f=(Me((h|0)/(((f|0)>1?f:1)|0)|0)|0)<<4;h=((65536-f|0)/(e|0)|0)<<2;g=0;while(1){if((g|0)>=(e|0))break a;l=d+(g<<1)|0;j=b[l>>1]|0;b[l>>1]=(_(f>>16,j)|0)+((_(f&65532,j)|0)>>>16);f=f+h|0;if((f|0)>65536)break a;g=g+1|0}}}while(0);c[a+4216>>2]=0;i=k;return}function Ie(a,d,f,g){a=a|0;d=d|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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+64|0;l=S+20|0;m=S+16|0;h=S+12|0;j=S+8|0;R=S+24|0;k=S;J=a+2336|0;y=c[J>>2]|0;P=a+2328|0;Q=i;i=i+((1*(y+(c[P>>2]|0)<<2)|0)+15&-16)|0;w=i;i=i+((1*(y<<1)|0)+15&-16)|0;c[k>>2]=c[a+4240>>2]>>6;y=a+4244|0;M=c[y>>2]|0;L=M>>6;c[k+4>>2]=L;if(c[a+2376>>2]|0){p=a+4182|0;o=p+32|0;do{b[p>>1]=0;p=p+2|0}while((p|0)<(o|0))}H=a+2332|0;I=a+2324|0;Pe(h,l,j,m,a+4|0,k,c[H>>2]|0,c[I>>2]|0);E=c[a+4252>>2]|0;E=Qe((_((c[h>>2]>>c[m>>2]|0)<(c[j>>2]>>c[l>>2]|0)?E+-1|0:E,c[a+4256>>2]|0)|0)+-128|0)|0;F=a+4172|0;O=a+4224|0;n=b[O>>1]|0;l=a+4160|0;m=Re(c[l>>2]|0)|0;x=b[28992+(m<<1)>>1]|0;k=a+4164|0;if((c[k>>2]|0)==2)m=b[28996+(m<<1)>>1]|0;else m=b[29e3+(m<<1)>>1]|0;h=m<<16>>16;m=a+4182|0;N=a+2340|0;Vf(m,c[N>>2]|0,64881);j=c[N>>2]|0;uj(R|0,a+4182|0,j<<1|0)|0;do if(!(c[l>>2]|0)){if((c[k>>2]|0)==2){m=16384;l=0}else{j=(Le(4194304,Te(134217728,cg(m,j)|0)|0)|0)<<3;h=(_(j>>16,h)|0)+((_(j&65528,h)|0)>>16)>>14;j=c[N>>2]|0;n=16384;break}while(1){if((l|0)==5)break;m=(m&65535)-(e[a+4172+(l<<1)>>1]|0)&65535;l=l+1|0}n=(Se(m)|0)<<16>>16;n=(_(n,b[a+4236>>1]|0)|0)>>>14&65535}while(0);K=a+4220|0;A=c[K>>2]|0;C=a+4168|0;B=(c[C>>2]>>7)+1>>1;z=c[J>>2]|0;G=z-B-j+-2|0;bg(w+(G<<1)|0,a+1348+(G<<1)|0,R,z-G|0,j,g);k=Ue(c[y>>2]|0)|0;k=(k|0)<1073741823?k:1073741823;m=c[J>>2]|0;l=k>>16;k=k&65535;j=G+(c[N>>2]|0)|0;while(1){if((j|0)>=(m|0))break;G=b[w+(j<<1)>>1]|0;c[Q+(j<<2)>>2]=(_(l,G)|0)+((_(k,G)|0)>>16);j=j+1|0}q=a+4174|0;m=a+4176|0;l=a+4178|0;k=a+4180|0;r=x<<16>>16;t=h<<16>>16;s=a+2316|0;G=B;D=A;u=0;while(1){if((u|0)>=(c[I>>2]|0))break;x=n<<16>>16;g=c[H>>2]|0;v=(g|0)>0?g:0;y=Q+(z-G+2<<2)|0;w=D;p=z;o=0;while(1){if((o|0)>=(g|0)){o=0;break}G=c[y>>2]|0;B=b[F>>1]|0;B=(_(G>>16,B)|0)+((_(G&65535,B)|0)>>16)+2|0;G=c[y+-4>>2]|0;D=b[q>>1]|0;D=B+((_(G>>16,D)|0)+((_(G&65535,D)|0)>>16))|0;G=c[y+-8>>2]|0;B=b[m>>1]|0;B=D+((_(G>>16,B)|0)+((_(G&65535,B)|0)>>16))|0;G=c[y+-12>>2]|0;D=b[l>>1]|0;D=B+((_(G>>16,D)|0)+((_(G&65535,D)|0)>>16))|0;G=c[y+-16>>2]|0;B=b[k>>1]|0;B=D+((_(G>>16,B)|0)+((_(G&65535,B)|0)>>16))|0;G=(_(w,196314165)|0)+907633515|0;D=c[a+4+(E+(G>>>25)<<2)>>2]|0;c[Q+(p<<2)>>2]=B+((_(D>>16,x)|0)+((_(D&65535,x)|0)>>16))<<2;y=y+4|0;w=G;p=p+1|0;o=o+1|0}while(1){if((o|0)==5)break;G=a+4172+(o<<1)|0;b[G>>1]=(_(r,b[G>>1]|0)|0)>>>15;o=o+1|0}n=(_(x,t)|0)>>>15&65535;G=c[C>>2]|0;G=Te(G+(((G>>16)*655|0)+(((G&65535)*655|0)>>>16))|0,(c[s>>2]<<16>>16)*4608|0)|0;c[C>>2]=G;G=(G>>7)+1>>1;D=w;z=z+v|0;u=u+1|0}A=c[J>>2]|0;B=A+-16|0;z=a+1284|0;p=Q+(B<<2)|0;h=z;o=p+64|0;do{c[p>>2]=c[h>>2];p=p+4|0;h=h+4|0}while((p|0)<(o|0));q=b[R>>1]|0;r=b[R+2>>1]|0;s=b[R+4>>1]|0;t=b[R+6>>1]|0;u=b[R+8>>1]|0;v=b[R+10>>1]|0;w=b[R+12>>1]|0;x=b[R+14>>1]|0;g=b[R+16>>1]|0;y=b[R+18>>1]|0;h=L<<16>>16;k=(M>>21)+1>>1;j=0;while(1){m=c[P>>2]|0;if((j|0)>=(m|0))break;p=c[Q+(B+(j+15)<<2)>>2]|0;p=(c[N>>2]>>1)+((_(p>>16,q)|0)+((_(p&65535,q)|0)>>16))|0;m=c[Q+(B+(j+14)<<2)>>2]|0;m=p+((_(m>>16,r)|0)+((_(m&65535,r)|0)>>16))|0;p=c[Q+(B+(j+13)<<2)>>2]|0;p=m+((_(p>>16,s)|0)+((_(p&65535,s)|0)>>16))|0;m=c[Q+(B+(j+12)<<2)>>2]|0;m=p+((_(m>>16,t)|0)+((_(m&65535,t)|0)>>16))|0;p=c[Q+(B+(j+11)<<2)>>2]|0;p=m+((_(p>>16,u)|0)+((_(p&65535,u)|0)>>16))|0;m=c[Q+(B+(j+10)<<2)>>2]|0;m=p+((_(m>>16,v)|0)+((_(m&65535,v)|0)>>16))|0;p=c[Q+(B+(j+9)<<2)>>2]|0;p=m+((_(p>>16,w)|0)+((_(p&65535,w)|0)>>16))|0;m=c[Q+(B+(j+8)<<2)>>2]|0;m=p+((_(m>>16,x)|0)+((_(m&65535,x)|0)>>16))|0;p=c[Q+(B+(j+7)<<2)>>2]|0;p=m+((_(p>>16,g)|0)+((_(p&65535,g)|0)>>16))|0;m=c[Q+(B+(j+6)<<2)>>2]|0;m=p+((_(m>>16,y)|0)+((_(m&65535,y)|0)>>16))|0;p=c[N>>2]|0;o=j+16|0;l=10;while(1){if((l|0)>=(p|0))break;L=c[Q+(B+(o-l+-1)<<2)>>2]|0;M=b[R+(l<<1)>>1]|0;m=m+((_(L>>16,M)|0)+((_(L&65535,M)|0)>>16))|0;l=l+1|0}L=Q+(A+j<<2)|0;M=(c[L>>2]|0)+(m<<4)|0;c[L>>2]=M;M=((_(M>>16,h)|0)+((_(M&65535,h)|0)>>16)+(_(M,k)|0)>>7)+1>>1;b[f+(j<<1)>>1]=(M|0)>32767?32767:(M|0)<-32768?-32768:M;j=j+1|0}p=z;h=Q+(B+m<<2)|0;o=p+64|0;do{c[p>>2]=c[h>>2];p=p+4|0;h=h+4|0}while((p|0)<(o|0));c[K>>2]=D;b[O>>1]=n;h=0;while(1){if((h|0)==4)break;c[d+(h<<2)>>2]=G;h=h+1|0}i=S;return}function Je(d,e){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;n=d+4168|0;p=a[d+2765>>0]|0;c[d+4164>>2]=p<<24>>24;a:do if(p<<24>>24==2){f=d+2324|0;g=d+2332|0;o=d+4172|0;l=c[g>>2]|0;m=c[f>>2]|0;j=0;p=0;while(1){k=_(p,l)|0;h=m+-1|0;if((p|0)==(m|0)?1:(k|0)>=(c[e+(h<<2)>>2]|0))break;else{k=0;i=0}while(1){if((k|0)==5)break;q=i+(b[e+96+(((h-p|0)*5|0)+k<<1)>>1]|0)|0;k=k+1|0;i=q}if((i|0)>(j|0)){q=e+96+((m+65535-p<<16>>16)*5<<1)|0;b[o>>1]=b[q>>1]|0;b[o+2>>1]=b[q+2>>1]|0;b[o+4>>1]=b[q+4>>1]|0;b[o+6>>1]=b[q+6>>1]|0;b[o+8>>1]=b[q+8>>1]|0;c[n>>2]=c[e+(h-p<<2)>>2]<<8}else i=j;j=i;p=p+1|0}b[o>>1]=0;b[o+2>>1]=0;b[o+4>>1]=0;b[o+6>>1]=0;b[o+8>>1]=0;b[d+4176>>1]=j;if((j|0)<11469){h=(11744256/(((j|0)>1?j:1)|0)|0)<<16>>16;i=0;while(1){if((i|0)==5)break a;q=d+4172+(i<<1)|0;b[q>>1]=(_(b[q>>1]|0,h)|0)>>>10;i=i+1|0}}if((j|0)>15565){h=(255016960/(j|0)|0)<<16>>16;i=0;while(1){if((i|0)==5)break a;q=d+4172+(i<<1)|0;b[q>>1]=(_(b[q>>1]|0,h)|0)>>>14;i=i+1|0}}}else{c[n>>2]=(c[d+2316>>2]<<16>>16)*4608;g=d+4172|0;b[g>>1]=0;b[g+2>>1]=0;b[g+4>>1]=0;b[g+6>>1]=0;b[g+8>>1]=0;g=d+2332|0;f=d+2324|0}while(0);uj(d+4182|0,e+64|0,c[d+2340>>2]<<1|0)|0;b[d+4236>>1]=c[e+136>>2];q=c[f>>2]|0;o=e+16+(q+-2<<2)|0;p=c[o+4>>2]|0;e=d+4240|0;c[e>>2]=c[o>>2];c[e+4>>2]=p;c[d+4256>>2]=c[g>>2];c[d+4252>>2]=q;return}function Ke(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Le(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Me(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}Ne(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ke(a)|0;c[b>>2]=e;c[d>>2]=(Oe(a,24-e|0)|0)&127;return}function Oe(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function Pe(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=i;l=i;i=i+((1*(j<<1<<1)|0)+15&-16)|0;o=l;p=0;while(1){if((p|0)==2)break;m=_(p+k+-2|0,j)|0;n=h+(p<<2)|0;q=0;while(1){if((q|0)>=(j|0))break;t=c[g+(q+m<<2)>>2]|0;s=c[n>>2]|0;u=s<<16>>16;s=(_(t>>16,u)|0)+((_(t&65535,u)|0)>>16)+(_(t,(s>>15)+1>>1)|0)>>8;b[o+(q<<1)>>1]=(s|0)>32767?32767:(s|0)<-32768?-32768:s;q=q+1|0}o=o+(j<<1)|0;p=p+1|0}Cg(a,d,l,j);Cg(e,f,l+(j<<1)|0,j);i=r;return}function Qe(a){a=a|0;return ((a|0)<0?0:a)|0}function Re(a){a=a|0;return ((a|0)>1?1:a)|0}function Se(a){a=a|0;return (a<<16>>16<3277?3277:a)|0}function Te(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Ue(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=Ke((a|0)>0?a:0-a|0)|0;a=a<<b+-1;f=a>>16;d=536870911/(f|0)|0;e=d<<16;c=e>>16;a=536870912-((_(f,c)|0)+((_(a&65535,c)|0)>>16))<<3;d=e+((_(a>>16,c)|0)+((_(a&65528,c)|0)>>16))+(_(a,(d>>15)+1>>1)|0)|0;a=62-b|0;b=a+-46|0;if((b|0)>=1)return ((b|0)<32?d>>b:0)|0;b=46-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){f=a;f=f<<b;return f|0}f=(d|0)<(c|0)?c:d;f=f<<b;return f|0}else{if((d|0)>(c|0)){f=c;f=f<<b;return f|0}f=(d|0)<(a|0)?a:d;f=f<<b;return f|0}return 0}function Ve(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+64|0;e=d+32|0;g=d+16|0;f=d+8|0;j=d;Xe(e,b,8);Xe(g,e,4);Xe(f,g,2);Xe(j,f,1);h=c[f>>2]|0;Ye(a,h,c[j>>2]|0,34397);j=c[g>>2]|0;Ye(a,j,h,34245);h=c[e>>2]|0;Ye(a,h,j,34093);Ye(a,c[b>>2]|0,h,33941);Ye(a,c[b+8>>2]|0,c[e+4>>2]|0,33941);h=c[e+8>>2]|0;Ye(a,h,c[g+4>>2]|0,34093);Ye(a,c[b+16>>2]|0,h,33941);Ye(a,c[b+24>>2]|0,c[e+12>>2]|0,33941);h=c[g+8>>2]|0;Ye(a,h,c[f+4>>2]|0,34245);f=c[e+16>>2]|0;Ye(a,f,h,34093);Ye(a,c[b+32>>2]|0,f,33941);Ye(a,c[b+40>>2]|0,c[e+20>>2]|0,33941);f=c[e+24>>2]|0;Ye(a,f,c[g+12>>2]|0,34093);Ye(a,c[b+48>>2]|0,f,33941);Ye(a,c[b+56>>2]|0,c[e+28>>2]|0,33941);i=d;return}function We(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;j=e+24|0;g=e+16|0;h=e;f=j+2|0;Ze(j,f,c,d,34397);k=g+2|0;Ze(g,k,c,b[j>>1]|0,34245);d=h+2|0;Ze(h,d,c,b[g>>1]|0,34093);Ze(a,a+2|0,c,b[h>>1]|0,33941);Ze(a+4|0,a+6|0,c,b[d>>1]|0,33941);d=h+4|0;j=h+6|0;Ze(d,j,c,b[k>>1]|0,34093);Ze(a+8|0,a+10|0,c,b[d>>1]|0,33941);Ze(a+12|0,a+14|0,c,b[j>>1]|0,33941);j=g+4|0;g=g+6|0;Ze(j,g,c,b[f>>1]|0,34245);d=h+8|0;f=h+10|0;Ze(d,f,c,b[j>>1]|0,34093);Ze(a+16|0,a+18|0,c,b[d>>1]|0,33941);Ze(a+20|0,a+22|0,c,b[f>>1]|0,33941);f=h+12|0;d=h+14|0;Ze(f,d,c,b[g>>1]|0,34093);Ze(a+24|0,a+26|0,c,b[f>>1]|0,33941);Ze(a+28|0,a+30|0,c,b[d>>1]|0,33941);i=e;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(d|0))break;f=e<<1;c[a+(e<<2)>>2]=(c[b+(f<<2)>>2]|0)+(c[b+((f|1)<<2)>>2]|0);e=e+1|0}return}function Ye(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;if((c|0)<=0)return;sc(a,b,e+(d[34549+c>>0]|0)|0,8);return}function Ze(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;if((f|0)>0){g=hc(e,g+(d[34549+f>>0]|0)|0,8)|0;b[a>>1]=g;g=f-g&65535;b[c>>1]=g;return}else{b[a>>1]=0;g=0;b[c>>1]=g;return}}function _e(a){a=a|0;var b=0,d=0;b=a;d=b+112|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));b=0;while(1){if((b|0)==4){b=0;break}d=b+1|0;c[a+92+(b<<2)>>2]=af(50/(d|0)|0)|0;b=d}while(1){if((b|0)==4)break;d=(c[a+92+(b<<2)>>2]|0)*100|0;c[a+60+(b<<2)>>2]=d;c[a+76+(b<<2)>>2]=2147483647/(d|0)|0;b=b+1|0}c[a+108>>2]=15;b=0;while(1){if((b|0)==4)break;c[a+40+(b<<2)>>2]=25600;b=b+1|0}return 0}function $e(a,d){a=a|0;d=d|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;v=i;i=i+48|0;s=v+32|0;u=v+16|0;r=v;p=a+32|0;t=a+4608|0;l=c[t>>2]|0;n=l>>1;o=l>>2;f=l>>3;c[r>>2]=0;g=f+o|0;c[r+4>>2]=g;m=g+f|0;c[r+8>>2]=m;k=m+o|0;c[r+12>>2]=k;q=i;i=i+((1*(k+n<<1)|0)+15&-16)|0;Sf(d,p,q,q+(k<<1)|0,l);Sf(q,a+40|0,q,q+(m<<1)|0,n);Sf(q,a+48|0,q,q+(g<<1)|0,o);o=q+(f+-1<<1)|0;g=(b[o>>1]|0)>>>1&65535;b[o>>1]=g;while(1){d=f+-1|0;if((f|0)<=1)break;o=q+(f+-2<<1)|0;n=(b[o>>1]|0)>>>1;b[o>>1]=n;o=q+(d<<1)|0;b[o>>1]=(e[o>>1]|0)-n;f=d}n=a+88|0;b[q>>1]=(e[q>>1]|0)-(e[n>>1]|0);b[n>>1]=g;n=0;h=0;while(1){if((n|0)==4)break;j=c[t>>2]|0;j=j>>(bf(4-n|0,3)|0)>>2;d=a+56+(n<<2)|0;g=c[d>>2]|0;f=s+(n<<2)|0;c[f>>2]=g;l=r+(n<<2)|0;m=0;o=0;while(1){if((o|0)==4)break;else{k=0;h=0}while(1){if((k|0)>=(j|0))break;w=b[q+((c[l>>2]|0)+k+m<<1)>>1]>>3;k=k+1|0;h=h+(_(w,w)|0)|0}if((o|0)<3){k=g+h|0;w=(k|0)<0;g=w?2147483647:k;k=w?2147483647:k}else{k=g+(h>>1)|0;w=(k|0)<0;g=w?2147483647:k;k=w?2147483647:k}c[f>>2]=k;m=m+j|0;o=o+1|0}c[d>>2]=h;n=n+1|0}cf(s,p);j=0;k=0;g=0;while(1){if((k|0)==4)break;d=c[s+(k<<2)>>2]|0;f=c[a+92+(k<<2)>>2]|0;h=d-f|0;if((h|0)>0){if(d>>>0<8388608)d=(d<<8|0)/(f+1|0)|0;else d=(d|0)/((f>>8)+1|0)|0;c[u+(k<<2)>>2]=d;d=(Yf(d)|0)+-1024|0;f=d<<16>>16;g=g+(_(f,f)|0)|0;if((h|0)<1048576){d=_((df(h)|0)<<6>>16,f)|0;d=d+((_((df(h)|0)<<6&65472,f)|0)>>16)|0}w=c[21992+(k<<2)>>2]|0;d=d<<16>>16;d=j+((_(w>>16,d)|0)+((_(w&65535,d)|0)>>16))|0}else{c[u+(k<<2)>>2]=256;d=j}j=d;k=k+1|0}f=(((df((g|0)/4|0)|0)*196608>>16)*45e3>>16)+-128|0;c[a+4744>>2]=((zg(j)|0)<<1)+-32768;g=0;d=0;while(1){if((d|0)==4)break;w=d+1|0;g=g+(_(w,(c[s+(d<<2)>>2]|0)-(c[a+92+(d<<2)>>2]|0)>>4)|0)|0;d=w}f=zg(f)|0;if((g|0)>=1){if((g|0)<32768){if((c[t>>2]|0)==((c[a+4600>>2]|0)*10|0))d=g<<16;else d=g<<15;w=(df(d)|0)+32768|0;f=f<<16>>16;f=(_(w>>16,f)|0)+((_(w&65535,f)|0)>>16)|0}}else f=f>>1;c[a+4556>>2]=bf(f>>7,255)|0;d=f<<16>>16;f=((_(f>>16,d)|0)<<16)+(_(f&65535,d)|0)|0;f=(c[t>>2]|0)==((c[a+4600>>2]|0)*10|0)?f>>21:f>>20;d=0;while(1){if((d|0)==4)break;t=a+72+(d<<2)|0;s=c[t>>2]|0;w=(c[u+(d<<2)>>2]|0)-s|0;w=s+((_(w>>16,f)|0)+((_(w&65535,f)|0)>>16))|0;c[t>>2]=w;c[a+4728+(d<<2)>>2]=zg(((Yf(w)|0)*3|0)+-5120>>4)|0;d=d+1|0}i=v;return}function af(a){a=a|0;return ((a|0)>1?a:1)|0}function bf(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function cf(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;j=b+108|0;d=c[j>>2]|0;if((d|0)<1e3)h=32767/((d>>4)+1|0)|0;else h=0;i=0;while(1){if((i|0)==4)break;g=b+60+(i<<2)|0;e=c[g>>2]|0;d=(c[a+(i<<2)>>2]|0)+(c[b+92+(i<<2)>>2]|0)|0;d=(d|0)<0?2147483647:d;f=2147483647/(d|0)|0;if((d|0)<=(e<<3|0))if((d|0)<(e|0))d=1024;else{k=e<<16>>16;l=_(f>>16,k)|0;k=_(f&65535,k)|0;d=_(f,(e>>15)+1>>1)|0;d=l+(k>>16)+d>>16<<11|(l+(k>>>16)+d|0)>>>5&2047}else d=128;l=hf(d,h)|0;k=b+76+(i<<2)|0;e=c[k>>2]|0;f=f-e|0;l=l<<16>>16;l=e+((_(f>>16,l)|0)+((_(f&65535,l)|0)>>16))|0;c[k>>2]=l;l=2147483647/(l|0)|0;c[g>>2]=(l|0)<16777215?l:16777215;i=i+1|0}c[j>>2]=(c[j>>2]|0)+1;return}function df(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}ef(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|0}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ff(a)|0;c[b>>2]=e;c[d>>2]=(gf(a,24-e|0)|0)&127;return}function ff(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function gf(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function hf(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a+4600>>2]|0;f=h<<16>>16;g=f*1e3|0;if(!f){b=c[a+4596>>2]|0;h=c[a+4580>>2]|0;h=(((b|0)<(h|0)?b:h)|0)/1e3|0;return h|0}e=c[a+4580>>2]|0;d=c[a+4588>>2]|0;if(!((g|0)>(e|0)|(g|0)>(d|0))?(g|0)>=(c[a+4592>>2]|0):0){f=a+24|0;d=c[f>>2]|0;if((d|0)>255)c[a+28>>2]=0;if((c[a+4560>>2]|0)==0?(c[b+60>>2]|0)==0:0)return h|0;e=c[a+4596>>2]|0;if((g|0)>(e|0)){e=a+28|0;if(!(c[e>>2]|0)){c[f>>2]=256;d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;d=256}if(c[b+60>>2]|0){c[e>>2]=0;h=(h|0)==16?12:8;return h|0}if((d|0)<1){c[b+84>>2]=1;a=b+52|0;g=c[a>>2]|0;c[a>>2]=g-((g*5|0)/((c[b+24>>2]|0)+5|0)|0);return h|0}else{c[e>>2]=-2;return h|0}}if((g|0)>=(e|0)){d=a+28|0;if((c[d>>2]|0)>=0)return h|0;c[d>>2]=1;return h|0}if(c[b+60>>2]|0){c[f>>2]=0;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[a+28>>2]=1;h=(h|0)==8?12:16;return h|0}d=a+28|0;if(!(c[d>>2]|0)){c[b+84>>2]=1;a=b+52|0;g=c[a>>2]|0;c[a>>2]=g-((g*5|0)/((c[b+24>>2]|0)+5|0)|0);return h|0}else{c[d>>2]=1;return h|0}}b=(e|0)<(d|0)?e:d;h=c[a+4592>>2]|0;h=(((b|0)>(h|0)?b:h)|0)/1e3|0;return h|0}function kf(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;C=i;i=i+16|0;B=C+8|0;A=C+4|0;z=C;x=(k|0)!=0;w=0;q=2147483647;y=0;while(1){if((y|0)>=3){k=w;break}n=a[31203+y>>0]|0;m=c[21692+(y<<2)>>2]|0;r=c[21704+(y<<2)>>2]|0;s=c[21680+(y<<2)>>2]|0;t=h;u=d;p=0;v=0;k=c[g>>2]|0;while(1){if((v|0)>=(l|0))break;lf(B+v|0,A,z,u,t,m,r,s,j,(ag(5333-k+896|0)|0)+-51|0,n);o=p+(c[A>>2]|0)|0;p=(c[z>>2]|0)+51|0;if((k+(Yf(p)|0)|0)<896)k=0;else k=k+(Yf(p)|0)+-896|0;t=t+100|0;u=u+10|0;p=(o|0)<0?2147483647:o;v=v+1|0}p=(p|0)==2147483647?2147483646:p;if((p|0)<(q|0)){a[f>>0]=y;uj(e|0,B|0,l|0)|0;q=p}else k=w;if(x&(p|0)<12304)break;w=k;y=y+1|0}m=c[21692+(a[f>>0]<<2)>>2]|0;p=0;while(1){if((p|0)>=(l|0))break;n=e+p|0;o=p*5|0;q=0;while(1){if((q|0)==5)break;b[d+(o+q<<1)>>1]=a[m+(((a[n>>0]|0)*5|0)+q)>>0]<<7;q=q+1|0}p=p+1|0}c[g>>2]=k;i=C;return}function lf(b,f,g,h,i,j,k,l,m,n,o){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c[f>>2]=2147483647;G=h+2|0;H=h+4|0;I=h+6|0;J=h+8|0;A=m<<16>>16;B=i+4|0;C=i+8|0;D=i+12|0;E=i+16|0;F=i+28|0;r=i+32|0;s=i+36|0;t=i+24|0;u=i+52|0;v=i+56|0;w=i+48|0;x=i+76|0;y=i+72|0;z=i+96|0;q=0;while(1){if((q|0)>=(o|0))break;m=d[k+q>>0]|0;N=_(A,d[l+q>>0]|0)|0;P=c[B>>2]|0;K=(e[G>>1]|0)-(a[j+1>>0]<<7)<<16>>16;P=(_(P>>16,K)|0)+((_(P&65535,K)|0)>>16)|0;Q=c[C>>2]|0;M=(e[H>>1]|0)-(a[j+2>>0]<<7)<<16>>16;Q=P+((_(Q>>16,M)|0)+((_(Q&65535,M)|0)>>16))|0;P=c[D>>2]|0;L=(e[I>>1]|0)-(a[j+3>>0]<<7)<<16>>16;P=Q+((_(P>>16,L)|0)+((_(P&65535,L)|0)>>16))|0;Q=c[E>>2]|0;p=(e[J>>1]|0)-(a[j+4>>0]<<7)<<16>>16;Q=P+((_(Q>>16,p)|0)+((_(Q&65535,p)|0)>>16))<<1;P=c[i>>2]|0;O=(e[h>>1]|0)-(a[j>>0]<<7)<<16>>16;P=Q+((_(P>>16,O)|0)+((_(P&65535,O)|0)>>16))|0;O=N+(((m|0)>(n|0)?m-n|0:0)<<10)+((_(P>>16,O)|0)+((_(P&65535,O)|0)>>16))|0;P=c[F>>2]|0;P=(_(P>>16,M)|0)+((_(P&65535,M)|0)>>16)|0;N=c[r>>2]|0;N=P+((_(N>>16,L)|0)+((_(N&65535,L)|0)>>16))|0;P=c[s>>2]|0;P=N+((_(P>>16,p)|0)+((_(P&65535,p)|0)>>16))<<1;N=c[t>>2]|0;N=P+((_(N>>16,K)|0)+((_(N&65535,K)|0)>>16))|0;K=O+((_(N>>16,K)|0)+((_(N&65535,K)|0)>>16))|0;N=c[u>>2]|0;N=(_(N>>16,L)|0)+((_(N&65535,L)|0)>>16)|0;O=c[v>>2]|0;O=N+((_(O>>16,p)|0)+((_(O&65535,p)|0)>>16))<<1;N=c[w>>2]|0;N=O+((_(N>>16,M)|0)+((_(N&65535,M)|0)>>16))|0;M=K+((_(N>>16,M)|0)+((_(N&65535,M)|0)>>16))|0;N=c[x>>2]|0;N=(_(N>>16,p)|0)+((_(N&65535,p)|0)>>16)<<1;K=c[y>>2]|0;K=N+((_(K>>16,L)|0)+((_(K&65535,L)|0)>>16))|0;L=M+((_(K>>16,L)|0)+((_(K&65535,L)|0)>>16))|0;K=c[z>>2]|0;K=(_(K>>16,p)|0)+((_(K&65535,p)|0)>>16)|0;p=L+((_(K>>16,p)|0)+((_(K&65535,p)|0)>>16))|0;if((p|0)<(c[f>>2]|0)){c[f>>2]=p;a[b>>0]=q;c[g>>2]=m}j=j+5|0;q=q+1|0}return}function mf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if((a[b+4565>>0]|0)!=2)return;g=_(c[b+4600>>2]|0,65536e3)|0;g=(Yf((g|0)/(c[b+4568>>2]|0)|0)|0)+-2048|0;d=c[b+4728>>2]|0;i=0-d<<2;d=d<<16>>16;f=_(i>>16,d)|0;d=_(i&65532,d)|0;i=_(f+(d>>16)>>16,g-((Yf(3932160)|0)+63488)<<16>>16)|0;g=g+(i+((_(f+(d>>>16)&65535,g-((Yf(3932160)|0)+63488)<<16>>16)|0)>>16))|0;d=b+8|0;f=c[d>>2]|0;g=g-(f>>8)|0;i=(g|0)<0;h=g*3|0;e=i?h:g;e=_(c[b+4556>>2]<<16>>16,(((i?h:g)|0)>51?51:(e|0)<-51?-51:e)<<16>>16)|0;c[d>>2]=f+(((e>>16)*6554|0)+(((e&65535)*6554|0)>>>16));e=(Yf(60)|0)<<8;e=(e|0)>((Yf(100)|0)<<8|0);b=c[d>>2]|0;do if(e){if((b|0)>((Yf(60)|0)<<8|0)){b=(Yf(60)|0)<<8;break}i=c[d>>2]|0;if((i|0)<((Yf(100)|0)<<8|0)){b=(Yf(100)|0)<<8;break}else{b=c[d>>2]|0;break}}else{if((b|0)>((Yf(100)|0)<<8|0)){b=(Yf(100)|0)<<8;break}i=c[d>>2]|0;if((i|0)<((Yf(60)|0)<<8|0)){b=(Yf(60)|0)<<8;break}else{b=c[d>>2]|0;break}}while(0);c[d>>2]=b;return}function nf(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var 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;N=i;i=i+224|0;I=N;M=N+168|0;L=N+136|0;F=N+104|0;H=N+72|0;G=N+40|0;K=N+200|0;J=N+8|0;B=h+2|0;ig(g,c[h+32>>2]|0,b[B>>1]|0);x=b[h>>1]|0;y=i;i=i+((1*((x&65535)<<2)|0)+15&-16)|0;E=h+8|0;sf(y,g,c[E>>2]|0,x<<16>>16,b[B>>1]|0);x=i;i=i+((1*(l<<2)|0)+15&-16)|0;Ag(y,x,b[h>>1]|0,l);y=i;i=i+((1*(l<<2)|0)+15&-16)|0;z=i;i=i+((1*(l<<4)|0)+15&-16)|0;A=h+28|0;C=h+4|0;D=h+6|0;t=m>>1;u=h+12|0;v=k<<14>>16;w=0;while(1){if((w|0)>=(l|0))break;s=c[x+(w<<2)>>2]|0;n=b[B>>1]|0;m=_(s,n)|0;o=c[E>>2]|0;p=0;while(1){if((p|0)>=(n|0))break;r=d[o+(m+p)>>0]<<7;b[F+(p<<1)>>1]=r;b[M+(p<<1)>>1]=(e[g+(p<<1)>>1]|0)-r;p=p+1|0}lg(H,F,n);m=0;while(1){n=b[B>>1]|0;if((m|0)>=(n|0)){m=0;break}r=of(e[H+(m<<1)>>1]<<16)|0;b[L+(m<<1)>>1]=(_(b[M+(m<<1)>>1]|0,r<<16>>16)|0)>>>14;m=m+1|0}while(1){if((m|0)>=(n|0))break;b[G+(m<<1)>>1]=(b[j+(m<<1)>>1]<<5|0)/(b[H+(m<<1)>>1]|0)|0;m=m+1|0}tf(J,K,h,s);q=uf(z+(w<<4)|0,L,G,K,J,c[A>>2]|0,b[C>>1]|0,b[D>>1]|0,k,b[B>>1]|0)|0;r=y+(w<<2)|0;c[r>>2]=q;p=_(t,b[h>>1]|0)|0;o=c[u>>2]|0;n=a[o+(p+s)>>0]|0;if(!s)m=256-(n&255)|0;else m=(d[o+(p+(s+-1))>>0]|0)-(n&255)|0;c[r>>2]=q+(_(1024-(Yf(m)|0)<<16>>16,v)|0);w=w+1|0}Ag(y,I,l,1);M=c[I>>2]|0;a[f>>0]=c[x+(M<<2)>>2];uj(f+1|0,z+(M<<4)|0,b[B>>1]|0)|0;me(g,f,h);i=N;return}function of(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}pf(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|0}function pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=qf(a)|0;c[b>>2]=e;c[d>>2]=(rf(a,24-e|0)|0)&127;return}function qf(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function rf(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function sf(a,b,f,g,h){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(h|0)>0?h+1&-2:0;j=0;while(1){if((j|0)<(g|0)){i=f;k=0;l=0}else break;while(1){if((k|0)>=(h|0))break;o=(e[b+(k<<1)>>1]|0)-((d[i>>0]|0)<<7)<<16>>16;o=_(o,o)|0;n=(e[b+((k|1)<<1)>>1]|0)-((d[i+1>>0]|0)<<7)<<16>>16;i=i+2|0;k=k+2|0;l=l+((o+(_(n,n)|0)|0)>>>4)|0}c[a+(j<<2)>>2]=l;f=f+m|0;j=j+1|0}return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f+2|0;h=b[j>>1]|0;g=(_(h<<16>>16,g)|0)/2|0;i=f+16|0;g=(c[f+20>>2]|0)+g|0;f=0;while(1){if((f|0)>=(h<<16>>16|0))break;l=a[g>>0]|0;k=l&255;b[d+(f<<1)>>1]=(k>>>1&7)*9;a[e+f>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k&1)))>>0]|0;h=f|1;b[d+(h<<1)>>1]=((l&255)>>>5&255)*9;a[e+h>>0]=a[(c[i>>2]|0)+(f+((b[j>>1]|0)+-1&0-(k>>>4&1))+1)>>0]|0;h=b[j>>1]|0;g=g+1|0;f=f+2|0}return}function uf(e,f,g,h,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;K=i;i=i+320|0;E=K+224|0;J=K+256|0;H=K+240|0;I=K+192|0;D=K+176|0;C=K+160|0;F=K+80|0;G=K;r=l<<16>>16;p=-10;while(1){if((p|0)==10)break;l=p<<10;a:do if((p|0)>0){q=l+-102|0;l=l|922}else switch(p|0){case 0:{q=l;l=l|922;break a}case -1:{q=l|102;l=l+1024|0;break a}default:{q=l|102;l=l+1126|0;break a}}while(0);B=p+10|0;c[F+(B<<2)>>2]=(_(q>>16,r)|0)+((_(q&65535,r)|0)>>16);c[G+(B<<2)>>2]=(_(l>>16,r)|0)+((_(l&65535,r)|0)>>16);p=p+1|0}c[I>>2]=0;b[H>>1]=0;B=o<<16>>16;A=m<<16>>16>>16;z=m&65535;x=n<<16>>16;l=1;v=B;b:while(1){y=v+-1|0;m=b[j+(y<<1)>>1]|0;o=d[h+y>>0]<<8;r=b[f+(y<<1)>>1]|0;q=g+(y<<1)|0;w=0;while(1){if((w|0)>=(l|0))break;t=H+(w<<1)|0;s=(_(o,b[t>>1]|0)|0)>>16;n=r-s<<16>>16;n=(_(A,n)|0)+((_(z,n)|0)>>16)|0;n=(n|0)>9?9:(n|0)<-10?-10:n;a[J+(w<<4)+y>>0]=n;u=n+10|0;p=(c[F+(u<<2)>>2]|0)+s|0;s=(c[G+(u<<2)>>2]|0)+s|0;b[t>>1]=p;t=w+l|0;b[H+(t<<1)>>1]=s;do if((n|0)>2)if((n|0)==3){u=d[k+(m+7)>>0]|0;n=280;break}else{n=(n<<16>>16)*43|0;u=n+108|0;n=n+151|0;break}else{if((n|0)>=-3){u=d[k+(m+(n+4))>>0]|0;n=d[k+(m+(n+5))>>0]|0;break}if((n|0)==-4){u=280;n=d[k+(m+1)>>0]|0;break}else{n=_(n<<16>>16,-43)|0;u=n+108|0;n=n+65|0;break}}while(0);M=I+(w<<2)|0;L=c[M>>2]|0;N=r-p<<16>>16;N=_(N,N)|0;p=b[q>>1]|0;c[M>>2]=L+(_(N,p)|0)+(_(x,u<<16>>16)|0);u=r-s<<16>>16;c[I+(t<<2)>>2]=L+(_(_(u,u)|0,p)|0)+(_(x,n<<16>>16)|0);w=w+1|0}if((l|0)<3){r=0;while(1){if((r|0)>=(l|0))break;a[J+(r+l<<4)+y>>0]=(d[J+(r<<4)+y>>0]|0)+1;r=r+1|0}l=l<<1;r=l;while(1){if((r|0)>=4){v=y;continue b}a[J+(r<<4)+y>>0]=a[J+(r-l<<4)+y>>0]|0;r=r+1|0}}if((v|0)>1)n=0;else{r=0;l=2147483647;p=0;break}while(1){if((n|0)==4){o=0;p=0;m=0;r=2147483647;q=0;break}m=I+(n<<2)|0;o=c[m>>2]|0;r=n+4|0;q=I+(r<<2)|0;p=c[q>>2]|0;if((o|0)>(p|0)){c[C+(n<<2)>>2]=o;c[D+(n<<2)>>2]=p;c[m>>2]=p;c[q>>2]=o;L=H+(n<<1)|0;M=b[L>>1]|0;N=H+(r<<1)|0;b[L>>1]=b[N>>1]|0;b[N>>1]=M}else{c[D+(n<<2)>>2]=o;c[C+(n<<2)>>2]=p;r=n}c[E+(n<<2)>>2]=r;n=n+1|0}while(1){if((q|0)!=4){N=c[C+(q<<2)>>2]|0;M=(r|0)>(N|0);L=c[D+(q<<2)>>2]|0;w=(m|0)<(L|0);o=w?q:o;p=M?q:p;m=w?L:m;r=M?N:r;q=q+1|0;continue}if((r|0)>=(m|0)){r=0;break}c[E+(o<<2)>>2]=c[E+(p<<2)>>2]^4;q=p+4|0;c[I+(o<<2)>>2]=c[I+(q<<2)>>2];b[H+(o<<1)>>1]=b[H+(q<<1)>>1]|0;c[D+(o<<2)>>2]=0;c[C+(p<<2)>>2]=2147483647;q=J+(o<<4)|0;o=J+(p<<4)|0;r=q+16|0;do{a[q>>0]=a[o>>0]|0;q=q+1|0;o=o+1|0}while((q|0)<(r|0));o=0;p=0;m=0;r=2147483647;q=0}while(1){if((r|0)==4){v=y;continue b}N=J+(r<<4)+y|0;a[N>>0]=(d[N>>0]|0)+((c[E+(r<<2)>>2]|0)>>>2);r=r+1|0}}while(1){if((p|0)==8)break;N=c[I+(p<<2)>>2]|0;M=(l|0)>(N|0);r=M?p:r;l=M?N:l;p=p+1|0}p=r&3;q=0;while(1){if((q|0)>=(B|0))break;a[e+q>>0]=a[J+(p<<4)+q>>0]|0;q=q+1|0}a[e>>0]=(d[e>>0]|0)+(r>>>2);i=K;return l|0}function vf(d,e,f,g){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;r=i;i=i+96|0;q=r+64|0;o=r+32|0;m=r;n=c[d+4556>>2]<<16>>16;n=(_(n,-5)|0)+(n*59246>>16)+3146|0;n=(c[d+4604>>2]|0)==2?n+(n>>1)|0:n;p=d+4664|0;lg(o,f,c[p>>2]|0);a:do if((c[d+4656>>2]|0)==1){h=d+4799|0;k=a[h>>0]|0;l=k<<24>>24<4;j=l&1;if(l){je(q,g,f,k<<24>>24,c[p>>2]|0);lg(m,q,c[p>>2]|0);h=a[h>>0]|0;h=(_(h,h)|0)<<27;k=c[p>>2]|0;h=h>>16;l=0;while(1){if((l|0)>=(k|0))break a;s=o+(l<<1)|0;t=b[m+(l<<1)>>1]|0;b[s>>1]=((b[s>>1]|0)>>>1)+((_(t<<16>>16>>16,h)|0)+((_(t&65535,h)|0)>>>16));l=l+1|0}}}else j=0;while(0);nf(d+4776|0,f,c[d+4724>>2]|0,o,n,c[d+4692>>2]|0,a[d+4797>>0]|0);gg(e+32|0,f,c[p>>2]|0);h=c[p>>2]|0;if(!j){uj(e|0,e+32|0,h<<1|0)|0;i=r;return}else{je(q,g,f,a[d+4799>>0]|0,h);gg(e,q,c[p>>2]|0);i=r;return}}function wf(d,f,g,h,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=i;i=i+16|0;B=D+8|0;q=D+4|0;r=D;u=f+-4|0;t=p+2|0;C=i;i=i+((1*(t<<1)|0)+15&-16)|0;s=0;while(1){if((s|0)>=(t|0))break;A=s+-2|0;y=b[f+(A<<1)>>1]|0;A=b[g+(A<<1)>>1]|0;z=y+A|0;A=y-A|0;b[f+(s+-2<<1)>>1]=(z>>>1)+(z&1);A=(A>>1)+(A&1)|0;b[C+(s<<1)>>1]=(A|0)>32767?32767:(A|0)<-32768?-32768:A;s=s+1|0}x=d+4|0;z=e[x>>1]|e[x+2>>1]<<16;b[u>>1]=z;b[u+2>>1]=z>>>16;z=d+8|0;w=e[z>>1]|e[z+2>>1]<<16;c[C>>2]=w;u=f+(p+-2<<1)|0;u=e[u>>1]|e[u+2>>1]<<16;b[x>>1]=u;b[x+2>>1]=u>>>16;u=C+(p<<1)|0;u=e[u>>1]|e[u+2>>1]<<16;b[z>>1]=u;b[z+2>>1]=u>>>16;z=i;i=i+((1*(p<<1)|0)+15&-16)|0;u=i;i=i+((1*(p<<1)|0)+15&-16)|0;x=0;while(1){if((x|0)>=(p|0))break;y=b[f+(x+-1<<1)>>1]|0;A=((b[f+(x+-2<<1)>>1]|0)+(b[f+(x<<1)>>1]|0)+(y<<16>>16<<1)>>1)+1>>1;b[z+(x<<1)>>1]=A;b[u+(x<<1)>>1]=(y&65535)-A;x=x+1|0}y=i;i=i+((1*(p<<1)|0)+15&-16)|0;v=i;i=i+((1*(p<<1)|0)+15&-16)|0;x=w&65535;w=0;while(1){if((w|0)>=(p|0))break;A=w+1|0;t=b[C+(A<<1)>>1]|0;s=((x<<16>>16)+(b[C+(w+2<<1)>>1]|0)+(t<<16>>16<<1)>>1)+1>>1;b[y+(w<<1)>>1]=s;b[v+(w<<1)>>1]=(t&65535)-s;x=t;w=A}x=(o*10|0)==(p|0);A=x?328:655;t=m<<16>>16;t=_(t,t)|0;A=(_(t>>>16,A)|0)+((_(t&65535,A)|0)>>>16)|0;t=Hg(q,z,y,d+12|0,p,A)|0;c[B>>2]=t;z=Hg(r,u,v,d+20|0,p,A)|0;s=B+4|0;c[s>>2]=z;m=(c[r>>2]|0)+((c[q>>2]<<16>>16)*3|0)|0;m=(m|0)<65536?m:65536;v=l-(x?1200:600)|0;v=(v|0)<1?1:v;y=((o<<16>>16)*900|0)+2e3|0;x=m*3|0;w=xf(v,x+851968|0,19)|0;c[k>>2]=w;if((w|0)<(y|0)){c[k>>2]=y;u=v-y|0;c[k+4>>2]=u;w=y<<16>>16;w=xf((u<<1)-y|0,(_(x+65536>>16,w)|0)+((_(x&65535,w)|0)>>16)|0,16)|0;if((w|0)>16384)x=16384;else x=(w|0)<0?0:w}else{c[k+4>>2]=v-w;x=16384}w=d+28|0;r=b[w>>1]|0;u=r&65535;A=A<<16>>16;b[w>>1]=u+((_(x-(r<<16>>16)>>16,A)|0)+((_(x-u&65535,A)|0)>>>16));a[j>>0]=0;a:do if(!n){u=v<<3;do if(!(b[d+30>>1]|0)){if((u|0)>=(y*13|0)){q=b[w>>1]|0;n=q<<16>>16;if(((_(m>>16,n)|0)+((_(m&65535,n)|0)>>16)|0)>=819){q=b[w>>1]|0;break}}else q=b[w>>1]|0;q=q<<16>>16;c[B>>2]=(_(q,t<<16>>16)|0)>>14;c[s>>2]=(_(q,z<<16>>16)|0)>>14;Og(B,h);c[B>>2]=0;c[s>>2]=0;c[k>>2]=v;c[k+4>>2]=0;a[j>>0]=1;q=0;u=30;break a}else{if((u|0)>=(y*11|0)){q=b[w>>1]|0;n=q<<16>>16;if(((_(m>>16,n)|0)+((_(m&65535,n)|0)>>16)|0)>=328)break}else q=b[w>>1]|0;l=q<<16>>16;c[B>>2]=(_(l,t<<16>>16)|0)>>14;c[s>>2]=(_(l,z<<16>>16)|0)>>14;Og(B,h);c[B>>2]=0;c[s>>2]=0;l=0;u=29;break a}while(0);if(q<<16>>16>15565){Og(B,h);l=16384;u=29;break}else{l=q<<16>>16;c[B>>2]=(_(l,t<<16>>16)|0)>>14;c[s>>2]=(_(l,z<<16>>16)|0)>>14;Og(B,h);l=b[w>>1]|0;u=29;break}}else{c[B>>2]=0;c[s>>2]=0;Og(B,h);l=0;u=29}while(0);if((u|0)==29)if((a[j>>0]|0)==1){q=l;u=30}else{b[d+32>>1]=0;u=34}do if((u|0)==30){l=d+32|0;h=(e[l>>1]|0)+(p-(o<<3))|0;b[l>>1]=h;if((h<<16>>16|0)<(o*5|0)){a[j>>0]=0;u=35;break}else{b[l>>1]=1e4;l=q;u=34;break}}while(0);if((u|0)==34)if(!(a[j>>0]|0)){q=l;u=35}if((u|0)==35){l=k+4|0;if((c[l>>2]|0)<1){c[l>>2]=1;c[k>>2]=yf(v+-1|0)|0;l=q}else l=q}v=b[d>>1]|0;A=d+2|0;r=b[A>>1]|0;m=d+30|0;k=b[m>>1]|0;w=k<<16>>16;q=o<<3;z=c[B>>2]|0;t=(65536/(q|0)|0)<<16>>16;x=((_(z-(v&65535)<<16>>16,t)|0)>>15)+1>>1;y=c[s>>2]|0;u=((_(y-(r&65535)<<16>>16,t)|0)>>15)+1>>1;t=(_(l-w>>16,t)|0)+((_(l-(k&65535)&65535,t)|0)>>16)<<10;s=0-(v<<16>>16)|0;r=0-(r<<16>>16)|0;v=0;w=w<<10;while(1){if((v|0)>=(q|0))break;j=s-x|0;k=r-u|0;B=w+t|0;o=v+1|0;n=b[f+(v+-1<<1)>>1]|0;F=(b[f+(v+-2<<1)>>1]|0)+(b[f+(v<<1)>>1]|0)+(n<<1)|0;G=b[C+(o<<1)>>1]|0;E=j<<16>>16;h=k<<16>>16;h=((_(B>>16,G)|0)+((_(B&64512,G)|0)>>16)+((_(F>>7,E)|0)+((_(F<<9&65024,E)|0)>>16))+((_(n>>5,h)|0)+((_(n<<11&63488,h)|0)>>16))>>7)+1>>1;b[g+(v+-1<<1)>>1]=(h|0)>32767?32767:(h|0)<-32768?-32768:h;s=j;r=k;v=o;w=B}r=l>>6;s=l<<10&64512;t=0-z<<16>>16;u=0-y<<16>>16;while(1){if((q|0)>=(p|0))break;G=q+1|0;F=b[f+(q+-1<<1)>>1]|0;E=(b[f+(q+-2<<1)>>1]|0)+(b[f+(q<<1)>>1]|0)+(F<<1)|0;B=b[C+(G<<1)>>1]|0;F=((_(r,B)|0)+((_(s,B)|0)>>16)+((_(E>>7,t)|0)+((_(E<<9&65024,t)|0)>>16))+((_(F>>5,u)|0)+((_(F<<11&63488,u)|0)>>16))>>7)+1>>1;b[g+(q+-1<<1)>>1]=(F|0)>32767?32767:(F|0)<-32768?-32768:F;q=G}b[d>>1]=z;b[A>>1]=y;b[m>>1]=l;i=D;return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=zf((a|0)>0?a:0-a|0)|0;g=a<<e+-1;a=(zf((b|0)>0?b:0-b|0)|0)+-1|0;b=b<<a;d=(536870911/(b>>16|0)|0)<<16>>16;f=(_(g>>16,d)|0)+((_(g&65535,d)|0)>>16)|0;b=Bj(b|0,((b|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,29)|0;b=g-(b&-8)|0;d=f+((_(b>>16,d)|0)+((_(b&65535,d)|0)>>16))|0;a=e+28-a-c|0;if((a|0)>=0)return ((a|0)<32?d>>a:0)|0;b=0-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){g=a;g=g<<b;return g|0}g=(d|0)<(c|0)?c:d;g=g<<b;return g|0}else{if((d|0)>(c|0)){g=c;g=g<<b;return g|0}g=(d|0)<(a|0)?a:d;g=g<<b;return g|0}return 0}function yf(a){a=a|0;return ((a|0)<1?1:a)|0}function zf(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Af(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=a+4|0;l=e[p>>1]|e[p+2>>1]<<16;b[d>>1]=l;b[d+2>>1]=l>>>16;l=a+8|0;m=e[l>>1]|e[l+2>>1]<<16;b[f>>1]=m;b[f+2>>1]=m>>>16;m=d+(i<<1)|0;m=e[m>>1]|e[m+2>>1]<<16;b[p>>1]=m;b[p+2>>1]=m>>>16;p=f+(i<<1)|0;p=e[p>>1]|e[p+2>>1]<<16;b[l>>1]=p;b[l+2>>1]=p>>>16;l=b[a>>1]|0;p=a+2|0;m=b[p>>1]|0;h=h<<3;j=(65536/(h|0)|0)<<16>>16;k=((_((c[g>>2]|0)-(l&65535)<<16>>16,j)|0)>>15)+1>>1;o=g+4|0;j=((_((c[o>>2]|0)-(m&65535)<<16>>16,j)|0)>>15)+1>>1;l=l<<16>>16;m=m<<16>>16;n=0;while(1){if((n|0)>=(h|0))break;s=l+k|0;r=m+j|0;q=n+1|0;v=b[d+(q<<1)>>1]|0;x=(b[d+(n<<1)>>1]|0)+(b[d+(n+2<<1)>>1]|0)+(v<<1)|0;t=f+(q<<1)|0;w=s<<16>>16;u=r<<16>>16;u=((b[t>>1]<<8)+((_(x>>7,w)|0)+((_(x<<9&65024,w)|0)>>16))+((_(v>>5,u)|0)+((_(v<<11&63488,u)|0)>>16))>>7)+1>>1;b[t>>1]=(u|0)>32767?32767:(u|0)<-32768?-32768:u;l=s;m=r;n=q}j=c[g>>2]<<16>>16;k=c[o>>2]<<16>>16;while(1){if((h|0)>=(i|0))break;x=h+1|0;v=b[d+(x<<1)>>1]|0;u=(b[d+(h<<1)>>1]|0)+(b[d+(h+2<<1)>>1]|0)+(v<<1)|0;w=f+(x<<1)|0;v=((b[w>>1]<<8)+((_(u>>7,j)|0)+((_(u<<9&65024,j)|0)>>16))+((_(v>>5,k)|0)+((_(v<<11&63488,k)|0)>>16))>>7)+1>>1;b[w>>1]=(v|0)>32767?32767:(v|0)<-32768?-32768:v;h=x}b[a>>1]=c[g>>2];b[p>>1]=c[o>>2];h=0;while(1){if((h|0)>=(i|0))break;x=h+1|0;u=d+(x<<1)|0;s=b[u>>1]|0;w=f+(x<<1)|0;v=b[w>>1]|0;t=s+v|0;v=s-v|0;b[u>>1]=(t|0)>32767?32767:(t|0)<-32768?-32768:t;b[w>>1]=(v|0)>32767?32767:(v|0)<-32768?-32768:v;h=x}return}function Bf(a){a=a|0;var b=0,d=0,e=0;b=c[a+8>>2]|0;a:do if((b|0)<24e3){if((b|0)<12e3)switch(b|0){case 8e3:{e=2;break a}default:{b=-102;break a}}if((b|0)<16e3)switch(b|0){case 12e3:{e=2;break a}default:{b=-102;break a}}else switch(b|0){case 16e3:{e=2;break a}default:{b=-102;break a}}}else if((b|0)<44100)if((b|0)<32e3)switch(b|0){case 24e3:{e=2;break a}default:{b=-102;break a}}else switch(b|0){case 32e3:{e=2;break a}default:{b=-102;break a}}else if((b|0)<48e3)switch(b|0){case 44100:{e=2;break a}default:{b=-102;break a}}else switch(b|0){case 48e3:{e=2;break a}default:{b=-102;break a}}while(0);b:do if((e|0)==2){b=c[a+20>>2]|0;c:do if((b|0)>=12e3)if((b|0)<16e3)switch(b|0){case 12e3:break c;default:{b=-102;break b}}else switch(b|0){case 16e3:break c;default:{b=-102;break b}}else switch(b|0){case 8e3:break;default:{b=-102;break b}}while(0);d=c[a+12>>2]|0;d:do if((d|0)>=12e3)if((d|0)<16e3)switch(d|0){case 12e3:break d;default:{b=-102;break b}}else switch(d|0){case 16e3:break d;default:{b=-102;break b}}else switch(d|0){case 8e3:break;default:{b=-102;break b}}while(0);e=c[a+16>>2]|0;e:do if((e|0)>=12e3)if((e|0)<16e3)switch(e|0){case 12e3:break e;default:{b=-102;break b}}else switch(e|0){case 16e3:break e;default:{b=-102;break b}}else switch(e|0){case 8e3:break;default:{b=-102;break b}}while(0);if(!((e|0)>(b|0)|(d|0)<(b|0)|(e|0)>(d|0))){switch(c[a+24>>2]|0){case 60:case 40:case 20:case 10:break;default:{b=-103;break b}}e=c[a+32>>2]|0;if(!((e|0)<0|(e|0)>100)){e=c[a+44>>2]|0;if(!((e|0)<0|(e|0)>1)){e=c[a+48>>2]|0;if(!((e|0)<0|(e|0)>1)){e=c[a+40>>2]|0;if(!((e|0)<0|(e|0)>1)){b=c[a>>2]|0;if(!((b|0)<1|(b|0)>2)?(e=c[a+4>>2]|0,!((e|0)<1|(e|0)>2|(e|0)>(b|0))):0){a=c[a+36>>2]|0;return ((a|0)<0|(a|0)>10?-106:0)|0}else b=-111}else b=-107}else b=-109}else b=-108}else b=-105}else b=-102}while(0);return b|0}function Cf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=(d|0)>8e4?8e4:(d|0)<5e3?5e3:d;d=a+4632|0;if((e|0)==(c[d>>2]|0))return;c[d>>2]=e;g=c[a+4600>>2]|0;g=(g|0)==8?21788:(g|0)==12?21820:21852;e=(c[a+4604>>2]|0)==2?e+-2200|0:e;f=1;while(1){if((f|0)>=8)break;d=c[g+(f<<2)>>2]|0;if((e|0)<=(d|0)){h=5;break}f=f+1|0}if((h|0)==5){h=f+-1|0;g=c[g+(h<<2)>>2]|0;h=b[29060+(h<<1)>>1]|0;c[a+4748>>2]=(h<<6)+(_((e-g<<6|0)/(d-g|0)|0,(b[29060+(f<<1)>>1]|0)-h|0)|0)}if(!(c[a+6124>>2]|0))return;h=a+4748|0;c[h>>2]=(c[h>>2]|0)+(_(12-(c[a+6128>>2]|0)<<16>>16,-31)|0);return}function Df(a,b){a=a|0;b=b|0;rj(a|0,0,12240)|0;c[a+5124>>2]=b;b=((Yf(3932160)|0)<<8)+-524288|0;c[a+8>>2]=b;c[a+12>>2]=b;c[a+4696>>2]=1;return _e(a+32|0)|0}function Ef(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;c[a+6108>>2]=c[b+44>>2];c[a+4708>>2]=c[b+48>>2];h=c[b+8>>2]|0;c[a+4580>>2]=h;c[a+4588>>2]=c[b+12>>2];c[a+4592>>2]=c[b+16>>2];c[a+4596>>2]=c[b+20>>2];c[a+6120>>2]=c[b+40>>2];c[a+5784>>2]=c[b>>2];c[a+5788>>2]=c[b+4>>2];c[a+4560>>2]=e;c[a+5792>>2]=f;e=a+4700|0;if((c[e>>2]|0)!=0?(c[a+4712>>2]|0)==0:0){if((h|0)==(c[a+4584>>2]|0)){a=0;return a|0}e=c[a+4600>>2]|0;if((e|0)<=0){a=0;return a|0}a=Ff(a,e)|0;return a|0}h=jf(a,b)|0;g=(g|0)==0?h:g;h=Ff(a,g)|0;g=h+(Gf(a,g,c[b+24>>2]|0)|0)|0;g=g+(Hf(a,c[b+36>>2]|0)|0)|0;c[a+4640>>2]=c[b+32>>2];a=g+(If(a,d)|0)|0;c[e>>2]=1;return a|0}function Ff(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,n=0,o=0;h=i;i=i+304|0;g=h;d=a+4600|0;e=c[d>>2]|0;if((e|0)==(b|0)?(f=a+4580|0,(c[a+4584>>2]|0)==(c[f>>2]|0)):0){b=f;g=0;b=c[b>>2]|0;a=a+4584|0;c[a>>2]=b;i=h;return g|0}if(!e){g=a+4580|0;f=g;g=og(a+5808|0,c[g>>2]|0,b*1e3|0,1)|0;b=c[f>>2]|0;a=a+4584|0;c[a>>2]=b;i=h;return g|0}else{m=((c[a+4604>>2]|0)*10|0)+5|0;n=_(m,e)|0;j=_(m,b)|0;e=ka()|0;k=i;i=i+((1*(((n|0)>(j|0)?n:j)<<1)|0)+15&-16)|0;l=a+9356|0;Lf(k,l,n);f=a+4580|0;o=og(g,(c[d>>2]<<16>>16)*1e3|0,c[f>>2]|0,0)|0;d=_(m,(c[f>>2]|0)/1e3|0)|0;m=i;i=i+((1*(d<<1)|0)+15&-16)|0;pg(g,m,k,n);n=a+5808|0;g=o+(og(n,c[f>>2]|0,(b<<16>>16)*1e3|0,1)|0)|0;pg(n,k,m,d);Mf(l,k,j);va(e|0);b=f;b=c[b>>2]|0;a=a+4584|0;c[a>>2]=b;i=h;return g|0}return 0}function Gf(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;j=b+4636|0;if((c[j>>2]|0)==(e|0)){f=b+4600|0;h=f;f=c[f>>2]|0;i=0}else{f=(e|0)==10;a:do if(!f){switch(e|0){case 60:case 40:case 20:{i=0;break}default:if((e|0)<11){i=-103;k=6;break a}else i=-103}c[b+5776>>2]=(e|0)/20|0;c[b+4604>>2]=4;h=d<<16>>16;c[b+4608>>2]=h*20;c[b+4572>>2]=h*24;h=b+4600|0;f=c[h>>2]|0;g=b+4720|0;if((f|0)==8){c[g>>2]=33537;f=8;g=i;break}else{c[g>>2]=33503;g=i;break}}else{i=0;k=6}while(0);do if((k|0)==6){c[b+5776>>2]=1;c[b+4604>>2]=f?2:1;h=d<<16>>16;c[b+4608>>2]=_(e<<16>>16,h)|0;c[b+4572>>2]=h*14;h=b+4600|0;f=c[h>>2]|0;g=b+4720|0;if((f|0)==8){c[g>>2]=33560;f=8;g=i;break}else{c[g>>2]=33548;g=i;break}}while(0);c[j>>2]=e;c[b+4632>>2]=0;i=g}if((f|0)==(d|0))return i|0;f=b+7200|0;g=b+16|0;c[g>>2]=0;c[g+4>>2]=0;c[b+5772>>2]=0;c[b+5780>>2]=0;c[b+4632>>2]=0;rj(b+144|0,0,4412)|0;rj(f|0,0,2152)|0;c[b+4568>>2]=100;c[b+4696>>2]=1;c[b+9352>>2]=100;a[f>>0]=10;c[b+4500>>2]=100;c[b+4516>>2]=65536;a[b+4565>>0]=0;c[h>>2]=d;f=c[b+4604>>2]|0;g=(f|0)==4;h=b+4720|0;do if((d|0)==8)if(g){c[h>>2]=33537;f=4;k=22;break}else{c[h>>2]=33560;k=22;break}else{if(g){c[h>>2]=33503;f=4}else c[h>>2]=33548;if((d|0)==12)k=22;else{c[b+4664>>2]=16;c[b+4724>>2]=21752}}while(0);if((k|0)==22){c[b+4664>>2]=10;c[b+4724>>2]=21716}c[b+4612>>2]=d*5;c[b+4608>>2]=_(d*327680>>16,f<<16>>16)|0;e=d<<16;k=e>>16;c[b+4616>>2]=k*20;c[b+4620>>2]=e>>15;c[b+4576>>2]=k*18;c[b+4572>>2]=(f|0)==4?k*24|0:k*14|0;switch(d|0){case 16:{c[b+4684>>2]=10;c[b+4716>>2]=33425;return i|0}case 12:{c[b+4684>>2]=13;c[b+4716>>2]=33419;return i|0}default:{c[b+4684>>2]=15;c[b+4716>>2]=33410;return i|0}}return 0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;do if((b|0)>=2){if((b|0)<4){c[a+4668>>2]=1;c[a+4676>>2]=49807;f=a+4672|0;c[f>>2]=8;c[a+4660>>2]=10;e=c[a+4600>>2]|0;d=e*5|0;c[a+4624>>2]=d;c[a+4652>>2]=1;c[a+4656>>2]=0;c[a+4680>>2]=0;c[a+4692>>2]=4;c[a+4704>>2]=0;g=8;break}if((b|0)<6){c[a+4668>>2]=1;c[a+4676>>2]=48497;f=a+4672|0;c[f>>2]=10;c[a+4660>>2]=12;e=c[a+4600>>2]|0;d=e*5|0;c[a+4624>>2]=d;c[a+4652>>2]=2;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=8;c[a+4704>>2]=e*983;g=10;break}e=c[a+4600>>2]|0;d=a+4668|0;if((b|0)<8){c[d>>2]=1;c[a+4676>>2]=47186;f=a+4672|0;c[f>>2]=12;c[a+4660>>2]=14;d=e*5|0;c[a+4624>>2]=d;c[a+4652>>2]=3;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=16;c[a+4704>>2]=e*983;g=12;break}else{c[d>>2]=2;c[a+4676>>2]=45875;f=a+4672|0;c[f>>2]=16;c[a+4660>>2]=16;d=e*5|0;c[a+4624>>2]=d;c[a+4652>>2]=4;c[a+4656>>2]=1;c[a+4680>>2]=0;c[a+4692>>2]=32;c[a+4704>>2]=e*983;g=16;break}}else{c[a+4668>>2]=0;c[a+4676>>2]=52429;f=a+4672|0;c[f>>2]=6;c[a+4660>>2]=8;e=c[a+4600>>2]|0;d=e*3|0;c[a+4624>>2]=d;c[a+4652>>2]=1;c[a+4656>>2]=0;c[a+4680>>2]=1;c[a+4692>>2]=2;c[a+4704>>2]=0;g=6}while(0);c[f>>2]=Kf(g,c[a+4664>>2]|0)|0;c[a+4628>>2]=(e*5|0)+(d<<1);c[a+4648>>2]=b;return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+6124|0;c[e>>2]=0;if(!(c[a+6120>>2]|0))return 0;g=c[a+4640>>2]|0;if((g|0)<=0)return 0;h=c[a+4600>>2]|0;h=(h|0)==8?12e3:(h|0)==12?14e3:16e3;if((g|0)<25){d=g;f=g}else{d=25;f=25}if(((((_(h,125-d|0)|0)>>16)*655|0)+((((_(h,125-f|0)|0)&65520)*655|0)>>>16)|0)>=(b|0))return 0;c[e>>2]=1;c[a+6128>>2]=Jf(7-(((g>>16)*26214|0)+(((g&65535)*26214|0)>>>16))|0)|0;return 0}function Jf(a){a=a|0;return ((a|0)>2?a:2)|0}function Kf(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Lf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){e=d+-1|0;if((d|0)<=0)break;d=kj(+g[c+(e<<2)>>2])|0;b[a+(e<<1)>>1]=(d|0)>32767?32767:(d|0)<-32768?-32768:d;d=e}return}function Mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){e=d+-1|0;if((d|0)<=0)break;g[a+(e<<2)>>2]=+(b[c+(e<<1)>>1]|0);d=e}return}function Nf(a,d,e){a=a|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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;w=A+44|0;y=A+8|0;x=A;c[x>>2]=w;c[x+4>>2]=y;u=e>>1;Of(d,w,y,u);v=w;f=Pf(w,8192,u)|0;if((f|0)<0){b[a>>1]=0;g=y;t=g;h=1;f=Pf(y,8192,u)|0}else{t=y;g=v;h=0}s=0;a:while(1){m=1;k=0;l=8192;b:while(1){q=g;r=m;j=k;n=l;while(1){l=b[29122+(r<<1)>>1]|0;m=Pf(q,l,u)|0;if((f|0)<1){if((m|0)>=(j|0))break;if(!((f|0)<=-1|(m|0)>(0-j|0)))break}else if((m|0)<=(0-j|0))break;if((r|0)>127)break b;else{r=r+1|0;j=0;n=l;f=m}}k=(m|0)==0?1:0;g=-256;p=0;while(1){if((p|0)==3)break;j=n+l|0;j=(j>>1)+(j&1)|0;o=Pf(q,j,u)|0;if((f|0)<1)if((o|0)>-1|(f|0)>-1){l=j;m=o}else z=16;else if((o|0)<1){l=j;m=o}else z=16;if((z|0)==16){z=0;g=g+(128>>>p)|0;n=j;f=o}p=p+1|0}j=f-m|0;if((((f|0)>0?f:0-f|0)|0)<65536){if((f|0)!=(m|0))g=g+(((f<<5)+(j>>1)|0)/(j|0)|0)|0}else g=g+((f|0)/(j>>5|0)|0)|0;b[a+(h<<1)>>1]=Qf((r<<8)+g|0)|0;j=h+1|0;if((j|0)>=(e|0)){z=31;break a}m=r;g=c[x+((j&1)<<2)>>2]|0;h=j;l=b[29122+(r+-1<<1)>>1]|0;f=1-(j&2)<<12}g=s+1|0;if((s|0)>29)break;f=g<<16;Uf(d,e,65536-(_(f+655360>>16,f>>16)|0)|0);Of(d,w,y,u);f=Pf(w,8192,u)|0;if((f|0)>=0){s=g;g=v;h=0;continue}b[a>>1]=0;s=g;g=t;h=1;f=Pf(y,8192,u)|0}if((z|0)==31){i=A;return}b[a>>1]=32768/(e+1|0)|0;f=1;while(1){if((f|0)>=(e|0))break;b[a+(f<<1)>>1]=_((f<<16)+65536>>16,b[a>>1]|0)|0;f=f+1|0}i=A;return}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b+(e<<2)>>2]=65536;c[d+(e<<2)>>2]=65536;f=0;while(1){if((f|0)>=(e|0)){a=e;break}g=a+(e-f+-1<<2)|0;h=a+(f+e<<2)|0;c[b+(f<<2)>>2]=0-(c[g>>2]|0)-(c[h>>2]|0);c[d+(f<<2)>>2]=(c[h>>2]|0)-(c[g>>2]|0);f=f+1|0}while(1){if((a|0)<=0)break;h=a+-1|0;g=b+(h<<2)|0;c[g>>2]=(c[g>>2]|0)-(c[b+(a<<2)>>2]|0);g=d+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[d+(a<<2)>>2]|0);a=h}Rf(b,e);Rf(d,e);return}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+(d<<2)>>2]|0;f=b<<4;if((d|0)==8){b=b<<20>>16;g=(f>>15)+1>>1;d=(c[a+28>>2]|0)+((_(e>>16,b)|0)+((_(e&65535,b)|0)>>16))+(_(e,g)|0)|0;d=(c[a+24>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+20>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+16>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+12>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+8>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;d=(c[a+4>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;a=(c[a>>2]|0)+((_(d>>16,b)|0)+((_(d&65535,b)|0)>>16))+(_(d,g)|0)|0;return a|0}g=b<<20>>16;b=(f>>15)+1>>1;while(1){f=d+-1|0;if((d|0)<=0)break;d=f;e=(c[a+(f<<2)>>2]|0)+((_(e>>16,g)|0)+((_(e&65535,g)|0)>>16))+(_(e,b)|0)|0}return e|0}function Qf(a){a=a|0;return ((a|0)<32767?a:32767)|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=2;while(1){if((d|0)>(b|0))break;else e=b;while(1){if((e|0)<=(d|0))break;f=a+(e+-2<<2)|0;c[f>>2]=(c[f>>2]|0)-(c[a+(e<<2)>>2]|0);e=e+-1|0}f=a+(d+-2<<2)|0;c[f>>2]=(c[f>>2]|0)-(c[a+(d<<2)>>2]<<1);d=d+1|0}return}function Sf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=g>>1;h=d+4|0;i=0;while(1){if((i|0)>=(g|0))break;m=i<<1;n=b[a+(m<<1)>>1]<<10;l=n-(c[d>>2]|0)|0;k=(_(l>>16,-24290)|0)+((_(l&65535,-24290)|0)>>16)|0;j=n+k|0;c[d>>2]=n+(l+k);m=b[a+((m|1)<<1)>>1]<<10;k=c[h>>2]|0;l=m-k|0;l=((l>>16)*10788|0)+(((l&65535)*10788|0)>>>16)|0;k=k+l|0;c[h>>2]=m+l;l=(k+j>>10)+1>>1;b[e+(i<<1)>>1]=(l|0)>32767?32767:(l|0)<-32768?-32768:l;j=(k-j>>10)+1>>1;b[f+(i<<1)>>1]=(j|0)>32767?32767:(j|0)<-32768?-32768:j;i=i+1|0}return}function Tf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=0-(c[e>>2]|0)|0;e=0-(c[e+4>>2]|0)|0;j=f+4|0;m=k&16383;k=k>>>14<<16>>16;l=d+4|0;n=e&16383;e=e>>>14<<16>>16;i=d+8|0;o=0;while(1){if((o|0)>=(h|0))break;q=b[a+(o<<1)>>1]|0;p=c[d>>2]|0;p=(c[f>>2]|0)+((_(p>>16,q)|0)+((_(p&65535,q)|0)>>16))<<2;r=p>>16;s=p&65532;u=(c[j>>2]|0)+(((_(r,m)|0)+((_(s,m)|0)>>>16)>>13)+1>>1)+((_(r,k)|0)+((_(s,k)|0)>>16))|0;c[f>>2]=u;t=c[l>>2]|0;c[f>>2]=u+((_(t>>16,q)|0)+((_(t&65535,q)|0)>>16));s=(((_(r,n)|0)+((_(s,n)|0)>>>16)>>13)+1>>1)+((_(r,e)|0)+((_(s,e)|0)>>16))|0;c[j>>2]=s;r=c[i>>2]|0;c[j>>2]=s+((_(r>>16,q)|0)+((_(r&65535,q)|0)>>16));p=p+16383>>14;b[g+(o<<1)>>1]=(p|0)>32767?32767:(p|0)<-32768?-32768:p;o=o+1|0}return}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=d+-65536|0;f=b+-1|0;e=0;while(1){b=d>>16;if((e|0)>=(f|0))break;h=a+(e<<2)|0;i=c[h>>2]|0;j=i<<16>>16;c[h>>2]=(_(b,j)|0)+((_(d&65535,j)|0)>>16)+(_(d,(i>>15)+1>>1)|0);d=d+(((_(d,g)|0)>>15)+1>>1)|0;e=e+1|0}j=a+(f<<2)|0;i=c[j>>2]|0;h=i<<16>>16;c[j>>2]=(_(b,h)|0)+((_(d&65535,h)|0)>>16)+(_(d,(i>>15)+1>>1)|0);return}function Vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=d+-65536|0;e=c+-1|0;c=d;d=0;while(1){if((d|0)>=(e|0))break;g=a+(d<<1)|0;b[g>>1]=(((_(c,b[g>>1]|0)|0)>>>15)+1|0)>>>1;c=c+(((_(c,f)|0)>>15)+1>>1)|0;d=d+1|0}g=a+(e<<1)|0;b[g>>1]=(((_(c,b[g>>1]|0)|0)>>>15)+1|0)>>>1;return}function Wf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(f|0)==8;m=(g|0)==4;n=l?(m?34668:34634):m?34712:34640;m=l?(m?11:3):m?34:12;l=f<<16;k=l>>15;l=(l>>16)*18|0;j=k+(b<<16>>16)|0;f=d<<24>>24;h=(k|0)>(l|0);i=0;while(1){if((i|0)>=(g|0))break;d=j+(a[n+((_(i,m)|0)+f)>>0]|0)|0;b=e+(i<<2)|0;c[b>>2]=d;if(h)if((d|0)>(k|0))d=k;else d=(d|0)<(l|0)?l:d;else if((d|0)>(l|0))d=l;else d=(d|0)<(k|0)?k:d;c[b>>2]=d;i=i+1|0}return}function Xf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=0;g=0;while(1){if((f|0)>=(e|0))break;h=g+((_(b[a+(f<<1)>>1]|0,b[c+(f<<1)>>1]|0)|0)>>d)|0;f=f+1|0;g=h}return g|0}function Yf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;Zf(a,d,b);b=c[b>>2]|0;a=_(b,128-b|0)|0;i=e;return (31-(c[d>>2]|0)<<7)+(b+(((a>>16)*179|0)+(((a&65535)*179|0)>>>16)))|0}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=_f(a)|0;c[b>>2]=e;c[d>>2]=($f(a,24-e|0)|0)&127;return}function _f(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function $f(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function ag(a){a=a|0;var b=0,c=0,d=0;if((a|0)<0){d=0;return d|0}if((a|0)>3966){d=2147483647;return d|0}b=a>>7;d=1<<b;c=a&127;if((a|0)<2048)b=c+((_(_(c,128-c|0)|0,-174)|0)>>16)<<b>>7;else b=_(d>>7,c+((_(_(c,128-c|0)|0,-174)|0)>>16)|0)|0;d=d+b|0;return d|0}function bg(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+2|0;h=d+4|0;i=d+6|0;j=d+8|0;k=d+10|0;n=f;while(1){if((n|0)>=(e|0))break;l=n+-1|0;m=_(b[c+(l<<1)>>1]|0,b[d>>1]|0)|0;m=m+(_(b[c+(n+-2<<1)>>1]|0,b[g>>1]|0)|0)|0;m=m+(_(b[c+(n+-3<<1)>>1]|0,b[h>>1]|0)|0)|0;m=m+(_(b[c+(n+-4<<1)>>1]|0,b[i>>1]|0)|0)|0;m=m+(_(b[c+(n+-5<<1)>>1]|0,b[j>>1]|0)|0)|0;m=m+(_(b[c+(n+-6<<1)>>1]|0,b[k>>1]|0)|0)|0;o=6;while(1){if((o|0)>=(f|0))break;p=m+(_(b[c+(l-o<<1)>>1]|0,b[d+(o<<1)>>1]|0)|0)|0;m=p+(_(b[c+(l+~o<<1)>>1]|0,b[d+((o|1)<<1)>>1]|0)|0)|0;o=o+2|0}p=((b[c+(n<<1)>>1]<<12)-m>>11)+1>>1;b[a+(n<<1)>>1]=(p|0)>32767?32767:(p|0)<-32768?-32768:p;n=n+1|0}rj(a|0,0,f<<1|0)|0;return}function cg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+128|0;f=j;e=d&1;g=0;h=0;while(1){if((h|0)>=(d|0))break;k=b[a+(h<<1)>>1]|0;c[f+(e<<6)+(h<<2)>>2]=k<<12;g=g+k|0;h=h+1|0}if((g|0)>4095){k=0;i=j;return k|0}k=dg(f,d)|0;i=j;return k|0}function dg(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=1073741824;e=0;o=b&1;while(1){n=b+-1|0;if((b|0)<=1)break;b=c[a+(o<<6)+(n<<2)>>2]|0;if((b|0)>16773022|(b|0)<-16773022){b=0;p=13;break}m=0-(b<<7)|0;j=((m|0)<0)<<31>>31;Bj(m|0,j|0,m|0,j|0)|0;b=1073741824-C|0;h=32-(eg((b|0)>0?b:0-b|0)|0)|0;k=fg(b,h+30|0)|0;b=Bj(d|0,e|0,b|0,((b|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,30)|0;l=n&1;f=(h|0)==1;g=((k|0)<0)<<31>>31;h=h+-1|0;i=0;while(1){if((n|0)<=(i|0))break;d=c[a+(o<<6)+(i<<2)>>2]|0;e=c[a+(o<<6)+(n-i+-1<<2)>>2]|0;e=Bj(e|0,((e|0)<0)<<31>>31|0,m|0,j|0)|0;e=qj(e|0,C|0,30)|0;e=tj(e|0,C|0,1,0)|0;e=qj(e|0,C|0,1)|0;e=d-e|0;e=Bj(e|0,((e|0)<0)<<31>>31|0,k|0,g|0)|0;d=C;if(f){d=qj(e|0,d|0,1)|0;e=tj(d|0,C|0,e&1|0,0)|0}else{e=pj(e|0,d|0,h|0)|0;e=tj(e|0,C|0,1,0)|0;e=qj(e|0,C|0,1)|0}c[a+(l<<6)+(i<<2)>>2]=e;i=i+1|0}e=b&-4;d=e;e=((e|0)<0)<<31>>31;o=l;b=n}if((p|0)==13)return b|0;b=c[a+(o<<6)>>2]|0;if((b|0)>16773022|(b|0)<-16773022){p=0;return p|0}a=0-(b<<7)|0;p=((a|0)<0)<<31>>31;Bj(a|0,p|0,a|0,p|0)|0;p=1073741824-C|0;p=Bj(d|0,e|0,p|0,((p|0)<0)<<31>>31|0)|0;p=qj(p|0,C|0,30)|0;p=p&-4;return p|0}function eg(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=eg((a|0)>0?a:0-a|0)|0;a=a<<c+-1;g=a>>16;d=536870911/(g|0)|0;f=d<<16;e=f>>16;a=536870912-((_(g,e)|0)+((_(a&65535,e)|0)>>16))<<3;d=f+((_(a>>16,e)|0)+((_(a&65528,e)|0)>>16))+(_(a,(d>>15)+1>>1)|0)|0;a=62-c-b|0;if((a|0)>=1)return ((a|0)<32?d>>a:0)|0;b=0-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){g=a;g=g<<b;return g|0}g=(d|0)<(c|0)?c:d;g=g<<b;return g|0}else{if((d|0)>(c|0)){g=c;g=g<<b;return g|0}g=(d|0)<(a|0)?a:d;g=g<<b;return g|0}return 0}function gg(a,e,f){a=a|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;n=i;i=i+208|0;j=n+136|0;k=n+100|0;l=n+64|0;m=n;h=(f|0)==16?34608:34624;g=0;while(1){if((g|0)>=(f|0))break;p=b[e+(g<<1)>>1]|0;o=p>>8;q=b[29122+(o<<1)>>1]|0;o=((q<<8)+(_((b[29122+(o+1<<1)>>1]|0)-q|0,p-(o<<8)|0)|0)>>3)+1>>1;c[j+(d[h+g>>0]<<2)>>2]=o;g=g+1|0}h=f>>1;hg(k,j,h);hg(l,j+4|0,h);e=0;while(1){if((e|0)>=(h|0))break;q=e+1|0;p=(c[k+(q<<2)>>2]|0)+(c[k+(e<<2)>>2]|0)|0;o=(c[l+(q<<2)>>2]|0)-(c[l+(e<<2)>>2]|0)|0;c[m+(e<<2)>>2]=0-o-p;c[m+(f-e+-1<<2)>>2]=o-p;e=q}g=0;j=0;while(1){if((j|0)<10){e=0;h=0}else break;while(1){if((h|0)>=(f|0))break;q=c[m+(h<<2)>>2]|0;q=(q|0)>0?q:0-q|0;p=(q|0)>(e|0);g=p?h:g;e=p?q:e;h=h+1|0}e=(e>>4)+1>>1;if((e|0)<=32767)break;q=(e|0)<163838?e:163838;Uf(m,f,65470-(((q<<14)+-536854528|0)/((_(q,g+1|0)|0)>>2|0)|0)|0);j=j+1|0}a:do if((j|0)==10){g=0;while(1){if((g|0)>=(f|0)){g=0;break a}q=m+(g<<2)|0;p=(c[q>>2]>>4)+1>>1;p=(p|0)>32767?32767:(p|0)<-32768?-32768:p;b[a+(g<<1)>>1]=p;c[q>>2]=p<<16>>11;g=g+1|0}}else{g=0;while(1){if((g|0)>=(f|0)){g=0;break a}b[a+(g<<1)>>1]=(((c[m+(g<<2)>>2]|0)>>>4)+1|0)>>>1;g=g+1|0}}while(0);while(1){if((g|0)>=16){g=24;break}if((cg(a,f)|0)>=107374){g=24;break}Uf(m,f,65536-(2<<g)|0);e=0;while(1){if((e|0)>=(f|0))break;b[a+(e<<1)>>1]=(((c[m+(e<<2)>>2]|0)>>>4)+1|0)>>>1;e=e+1|0}g=g+1|0}if((g|0)==24){i=n;return}}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[a>>2]=65536;k=a+4|0;j=1;e=0-(c[b>>2]|0)|0;while(1){c[k>>2]=e;if((j|0)>=(d|0))break;i=c[b+(j<<1<<2)>>2]|0;h=c[a+(j+-1<<2)>>2]|0;f=((i|0)<0)<<31>>31;e=c[a+(j<<2)>>2]|0;e=Bj(i|0,f|0,e|0,((e|0)<0)<<31>>31|0)|0;e=qj(e|0,C|0,15)|0;e=tj(e|0,C|0,1,0)|0;e=qj(e|0,C|0,1)|0;g=j+1|0;c[a+(g<<2)>>2]=(h<<1)-e;e=j;while(1){if((e|0)<=1)break;j=c[a+(e+-2<<2)>>2]|0;m=Bj(i|0,f|0,h|0,((h|0)<0)<<31>>31|0)|0;m=qj(m|0,C|0,15)|0;m=tj(m|0,C|0,1,0)|0;m=qj(m|0,C|0,1)|0;l=a+(e<<2)|0;c[l>>2]=(c[l>>2]|0)+(j-m);h=j;e=e+-1|0}j=g;e=(c[k>>2]|0)-i|0}return}function ig(a,c,d){a=a|0;c=c|0;d=d|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;n=d+-1|0;q=a+(n<<1)|0;r=c+(d<<1)|0;o=0;while(1){if((o|0)>=20)break;j=b[a>>1]|0;i=b[c>>1]|0;g=j;f=0;j=(j<<16>>16)-(i<<16>>16)|0;h=1;while(1){if((h|0)>(n|0))break;k=b[a+(h<<1)>>1]|0;m=(k<<16>>16)-((g<<16>>16)+(b[c+(h<<1)>>1]|0))|0;l=(m|0)<(j|0);g=k;f=l?h:f;j=l?m:j;h=h+1|0}l=32768-((b[q>>1]|0)+(b[r>>1]|0))|0;k=(l|0)<(j|0);m=k?d:f;if(((k?l:j)|0)>-1){p=30;break}do if(!m)b[a>>1]=i;else{if((m|0)==(d|0)){b[q>>1]=32768-(e[r>>1]|0);break}else{f=0;g=0}while(1){if((g|0)>=(m|0))break;f=f+(b[c+(g<<1)>>1]|0)|0;g=g+1|0}k=c+(m<<1)|0;l=b[k>>1]|0;i=l>>1;h=32768;j=d;while(1){if((j|0)<=(m|0))break;h=h-(b[c+(j<<1)>>1]|0)|0;j=j+-1|0}f=f+i|0;g=h-i|0;h=a+(m+-1<<1)|0;s=b[h>>1]|0;i=a+(m<<1)|0;j=b[i>>1]|0;j=((s<<16>>16)+(j<<16>>16)>>1)+((s&65535)+(j&65535)&1)|0;if((f|0)>(g|0))if((j|0)>(f|0))g=f;else g=(j|0)<(g|0)?g:j;else if((j|0)<=(g|0))g=(j|0)<(f|0)?f:j;s=g-(l>>>1)|0;b[h>>1]=s;b[i>>1]=s+(e[k>>1]|0)}while(0);o=o+1|0}if((p|0)==30)return;if((o|0)!=20)return;Bg(a,d);g=jg(b[a>>1]|0,b[c>>1]|0)|0;b[a>>1]=g;f=1;while(1){if((f|0)>=(d|0))break;p=a+(f<<1)|0;s=jg(b[p>>1]|0,(g<<16>>16)+(b[c+(f<<1)>>1]|0)|0)|0;b[p>>1]=s;g=s;f=f+1|0}g=kg(b[q>>1]|0,32768-(b[r>>1]|0)|0)|0;b[q>>1]=g;f=d+-2|0;while(1){if((f|0)<=-1)break;d=a+(f<<1)|0;s=kg(b[d>>1]|0,(g<<16>>16)-(b[c+(f+1<<1)>>1]|0)|0)|0;b[d>>1]=s;g=s;f=f+-1|0}return}function jg(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function kg(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}
function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b[c>>1]|0;e=131072/(mg(f)|0)|0;f=131072/(mg((b[c+2>>1]|0)-f|0)|0)|0;b[a>>1]=ng(e+f|0)|0;d=d+-1|0;e=1;while(1){if((e|0)>=(d|0))break;i=e+1|0;g=c+(i<<1)|0;j=131072/(mg((b[g>>1]|0)-(b[c+(e<<1)>>1]|0)|0)|0)|0;b[a+(e<<1)>>1]=ng(j+f|0)|0;h=e+2|0;g=131072/(mg((b[c+(h<<1)>>1]|0)-(b[g>>1]|0)|0)|0)|0;b[a+(i<<1)>>1]=ng(j+g|0)|0;e=h;f=g}b[a+(d<<1)>>1]=ng((131072/(mg(32768-(b[c+(d<<1)>>1]|0)|0)|0)|0)+f|0)|0;return}function mg(a){a=a|0;return ((a|0)>1?a:1)|0}function ng(a){a=a|0;return ((a|0)<32767?a:32767)|0}function og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;rj(b|0,0,300)|0;if(!f){a:do if((d|0)>=12e3)if((d|0)<16e3){switch(d|0){case 12e3:break a;default:f=-1}return f|0}else{switch(d|0){case 16e3:break a;default:f=-1}return f|0}else{switch(d|0){case 8e3:break a;default:f=-1}return f|0}while(0);b:do if((e|0)<16e3)if((e|0)<12e3){switch(e|0){case 8e3:break b;default:f=-1}return f|0}else{switch(e|0){case 12e3:break b;default:f=-1}return f|0}else{if((e|0)<24e3){switch(e|0){case 16e3:break b;default:f=-1}return f|0}if((e|0)<48e3){switch(e|0){case 24e3:break b;default:f=-1}return f|0}else{switch(e|0){case 48e3:break b;default:f=-1}return f|0}}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(34890+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*5|0))>>0]}else{c:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break c;default:f=-1}return f|0}else{switch(d|0){case 12e3:break c;default:f=-1}return f|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break c;default:f=-1}return f|0}if((d|0)<48e3){switch(d|0){case 24e3:break c;default:f=-1}return f|0}else{switch(d|0){case 48e3:break c;default:f=-1}return f|0}}while(0);d:do if((e|0)>=12e3)if((e|0)<16e3){switch(e|0){case 12e3:break d;default:f=-1}return f|0}else{switch(e|0){case 16e3:break d;default:f=-1}return f|0}else{switch(e|0){case 8e3:break d;default:f=-1}return f|0}while(0);c[b+292>>2]=a[((e>>12)-((e|0)>16e3&1)>>((e|0)>24e3&1))+-1+(34875+((((d>>12)-((d|0)>16e3&1)>>((d|0)>24e3&1))+-1|0)*3|0))>>0]}h=(d|0)/1e3|0;c[b+284>>2]=h;c[b+288>>2]=(e|0)/1e3|0;c[b+268>>2]=h*10;do if((e|0)>(d|0)){f=b+264|0;if((d<<1|0)==(e|0)){c[f>>2]=1;g=0;break}else{c[f>>2]=2;g=1;break}}else{f=b+264|0;if((e|0)>=(d|0)){c[f>>2]=0;g=0;break}c[f>>2]=3;f=e<<2;if((f|0)==(d*3|0)){c[b+280>>2]=3;c[b+276>>2]=18;c[b+296>>2]=29380;g=0;break}g=e*3|0;if((g|0)==(d<<1|0)){c[b+280>>2]=2;c[b+276>>2]=18;c[b+296>>2]=29438;g=0;break}if((e<<1|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=24;c[b+296>>2]=29478;g=0;break}if((g|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=29506;g=0;break}if((f|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=29546;g=0;break}if((e*6|0)==(d|0)){c[b+280>>2]=1;c[b+276>>2]=36;c[b+296>>2]=29586;g=0;break}else{d=-1;return d|0}}while(0);f=((d<<(g|14)|0)/(e|0)|0)<<2;h=b+272|0;c[h>>2]=f;b=e<<16>>16;e=(e>>15)+1>>1;g=d<<g;while(1){if(((_(f>>16,b)|0)+((_(f&65535,b)|0)>>16)+(_(f,e)|0)|0)>=(g|0)){f=0;break}d=f+1|0;c[h>>2]=d;f=d}return f|0}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=a+284|0;g=a+292|0;i=c[g>>2]|0;h=(c[f>>2]|0)-i|0;uj(a+168+(i<<1)|0,d|0,h<<1|0)|0;switch(c[a+264>>2]|0){case 1:{yg(a,b,a+168|0,c[a+284>>2]|0);yg(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}case 2:{vg(a,b,a+168|0,c[a+284>>2]|0);vg(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}case 3:{tg(a,b,a+168|0,c[a+284>>2]|0);tg(a,b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)|0);break}default:{uj(b|0,a+168|0,c[f>>2]<<1|0)|0;uj(b+(c[a+288>>2]<<1)|0,d+(h<<1)|0,e-(c[f>>2]|0)<<1|0)|0}}i=c[g>>2]|0;uj(a+168|0,d+(e-i<<1)|0,i<<1|0)|0;return}function qg(a,d,e,f){a=a|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;p=i;i=i+1936|0;o=p;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];m=a+16|0;n=o+16|0;while(1){k=(f|0)<480?f:480;sg(m,n,e,29626,k);l=(((k+3+((k|0)<2?~k:-3)|0)>>>0)/3|0)<<1;g=d;h=o;j=k;while(1){if((j|0)<=2)break;w=c[h>>2]|0;u=h+4|0;v=c[u>>2]|0;t=h+8|0;r=c[t>>2]|0;q=h+12|0;s=c[q>>2]|0;s=(((w>>16)*4697|0)+(((w&65535)*4697|0)>>>16)+(((v>>16)*10739|0)+(((v&65535)*10739|0)>>>16))+(((r>>16)*8276|0)+(((r&65535)*8276|0)>>>16))+(((s>>16)*1567|0)+(((s&65535)*1567|0)>>>16))>>5)+1>>1;b[g>>1]=(s|0)>32767?32767:(s|0)<-32768?-32768:s;u=c[u>>2]|0;t=c[t>>2]|0;s=c[q>>2]|0;r=c[h+16>>2]|0;r=(((u>>16)*1567|0)+(((u&65535)*1567|0)>>>16)+(((t>>16)*8276|0)+(((t&65535)*8276|0)>>>16))+(((s>>16)*10739|0)+(((s&65535)*10739|0)>>>16))+(((r>>16)*4697|0)+(((r&65535)*4697|0)>>>16))>>5)+1>>1;b[g+2>>1]=(r|0)>32767?32767:(r|0)<-32768?-32768:r;g=g+4|0;h=q;j=j+-3|0}f=f-k|0;if((f|0)<=0)break;w=o+(k<<2)|0;c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];d=d+(l<<1)|0;e=e+(k<<1)|0}w=o+(k<<2)|0;c[a>>2]=c[w>>2];c[a+4>>2]=c[w+4>>2];c[a+8>>2]=c[w+8>>2];c[a+12>>2]=c[w+12>>2];i=p;return}function rg(a,d,e,f){a=a|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;f=f>>1;g=a+4|0;h=0;while(1){if((h|0)>=(f|0))break;m=h<<1;l=b[e+(m<<1)>>1]<<10;j=l-(c[a>>2]|0)|0;k=(_(j>>16,-25727)|0)+((_(j&65535,-25727)|0)>>16)|0;c[a>>2]=l+(j+k);m=b[e+((m|1)<<1)>>1]<<10;j=c[g>>2]|0;i=m-j|0;i=((i>>16)*9872|0)+(((i&65535)*9872|0)>>>16)|0;c[g>>2]=m+i;i=(l+k+j+i>>10)+1>>1;b[d+(h<<1)>>1]=(i|0)>32767?32767:(i|0)<-32768?-32768:i;h=h+1|0}return}function sg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=f+2|0;j=0;while(1){if((j|0)>=(g|0))break;l=(c[a>>2]|0)+(b[e+(j<<1)>>1]<<8)|0;c[d+(j<<2)>>2]=l;l=l<<2;m=l>>16;k=b[f>>1]|0;l=l&65532;c[a>>2]=(c[h>>2]|0)+((_(m,k)|0)+((_(l,k)|0)>>16));k=b[i>>1]|0;c[h>>2]=(_(m,k)|0)+((_(l,k)|0)>>16);j=j+1|0}return}function tg(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;p=i;m=i;i=i+((1*((c[a+268>>2]|0)+(c[a+276>>2]|0)<<2)|0)+15&-16)|0;n=a+24|0;o=a+276|0;uj(m|0,n|0,c[o>>2]<<2|0)|0;g=a+296|0;h=(c[g>>2]|0)+4|0;j=c[a+272>>2]|0;k=a+268|0;l=a+280|0;while(1){f=c[k>>2]|0;f=(e|0)<(f|0)?e:f;sg(a,m+(c[o>>2]<<2)|0,d,c[g>>2]|0,f);b=ug(b,m,h,c[o>>2]|0,c[l>>2]|0,f<<16,j)|0;e=e-f|0;if((e|0)<=1)break;uj(m|0,m+(f<<2)|0,c[o>>2]<<2|0)|0;d=d+(f<<1)|0}uj(n|0,m+(f<<2)|0,c[o>>2]<<2|0)|0;i=p;return}function ug(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(f|0){case 18:{j=g<<16>>16;f=g+-1|0;g=0;while(1){if((g|0)>=(h|0))break;x=g>>16;y=(_(g&65535,j)|0)>>16;w=y*9|0;v=c[d+(x<<2)>>2]|0;t=b[e+(w<<1)>>1]|0;t=(_(v>>16,t)|0)+((_(v&65535,t)|0)>>16)|0;v=c[d+(x+1<<2)>>2]|0;u=b[e+(w+1<<1)>>1]|0;u=t+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+2<<2)>>2]|0;t=b[e+(w+2<<1)>>1]|0;t=u+((_(v>>16,t)|0)+((_(v&65535,t)|0)>>16))|0;v=c[d+(x+3<<2)>>2]|0;u=b[e+(w+3<<1)>>1]|0;u=t+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+4<<2)>>2]|0;t=b[e+(w+4<<1)>>1]|0;t=u+((_(v>>16,t)|0)+((_(v&65535,t)|0)>>16))|0;v=c[d+(x+5<<2)>>2]|0;u=b[e+(w+5<<1)>>1]|0;u=t+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+6<<2)>>2]|0;t=b[e+(w+6<<1)>>1]|0;t=u+((_(v>>16,t)|0)+((_(v&65535,t)|0)>>16))|0;v=c[d+(x+7<<2)>>2]|0;u=b[e+(w+7<<1)>>1]|0;u=t+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+8<<2)>>2]|0;w=b[e+(w+8<<1)>>1]|0;w=u+((_(v>>16,w)|0)+((_(v&65535,w)|0)>>16))|0;y=(f-y|0)*9|0;v=c[d+(x+17<<2)>>2]|0;u=b[e+(y<<1)>>1]|0;u=w+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+16<<2)>>2]|0;w=b[e+(y+1<<1)>>1]|0;w=u+((_(v>>16,w)|0)+((_(v&65535,w)|0)>>16))|0;v=c[d+(x+15<<2)>>2]|0;u=b[e+(y+2<<1)>>1]|0;u=w+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+14<<2)>>2]|0;w=b[e+(y+3<<1)>>1]|0;w=u+((_(v>>16,w)|0)+((_(v&65535,w)|0)>>16))|0;v=c[d+(x+13<<2)>>2]|0;u=b[e+(y+4<<1)>>1]|0;u=w+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+12<<2)>>2]|0;w=b[e+(y+5<<1)>>1]|0;w=u+((_(v>>16,w)|0)+((_(v&65535,w)|0)>>16))|0;v=c[d+(x+11<<2)>>2]|0;u=b[e+(y+6<<1)>>1]|0;u=w+((_(v>>16,u)|0)+((_(v&65535,u)|0)>>16))|0;v=c[d+(x+10<<2)>>2]|0;w=b[e+(y+7<<1)>>1]|0;w=u+((_(v>>16,w)|0)+((_(v&65535,w)|0)>>16))|0;x=c[d+(x+9<<2)>>2]|0;y=b[e+(y+8<<1)>>1]|0;y=(w+((_(x>>16,y)|0)+((_(x&65535,y)|0)>>16))>>5)+1>>1;b[a>>1]=(y|0)>32767?32767:(y|0)<-32768?-32768:y;a=a+2|0;g=g+i|0}return a|0}case 24:{g=e+2|0;f=e+4|0;k=e+6|0;l=e+8|0;m=e+10|0;n=e+12|0;o=e+14|0;p=e+16|0;q=e+18|0;r=e+20|0;s=e+22|0;j=0;while(1){if((j|0)>=(h|0))break;x=j>>16;y=(c[d+(x<<2)>>2]|0)+(c[d+(x+23<<2)>>2]|0)|0;w=b[e>>1]|0;w=(_(y>>16,w)|0)+((_(y&65535,w)|0)>>16)|0;y=(c[d+(x+1<<2)>>2]|0)+(c[d+(x+22<<2)>>2]|0)|0;v=b[g>>1]|0;v=w+((_(y>>16,v)|0)+((_(y&65535,v)|0)>>16))|0;y=(c[d+(x+2<<2)>>2]|0)+(c[d+(x+21<<2)>>2]|0)|0;w=b[f>>1]|0;w=v+((_(y>>16,w)|0)+((_(y&65535,w)|0)>>16))|0;y=(c[d+(x+3<<2)>>2]|0)+(c[d+(x+20<<2)>>2]|0)|0;v=b[k>>1]|0;v=w+((_(y>>16,v)|0)+((_(y&65535,v)|0)>>16))|0;y=(c[d+(x+4<<2)>>2]|0)+(c[d+(x+19<<2)>>2]|0)|0;w=b[l>>1]|0;w=v+((_(y>>16,w)|0)+((_(y&65535,w)|0)>>16))|0;y=(c[d+(x+5<<2)>>2]|0)+(c[d+(x+18<<2)>>2]|0)|0;v=b[m>>1]|0;v=w+((_(y>>16,v)|0)+((_(y&65535,v)|0)>>16))|0;y=(c[d+(x+6<<2)>>2]|0)+(c[d+(x+17<<2)>>2]|0)|0;w=b[n>>1]|0;w=v+((_(y>>16,w)|0)+((_(y&65535,w)|0)>>16))|0;y=(c[d+(x+7<<2)>>2]|0)+(c[d+(x+16<<2)>>2]|0)|0;v=b[o>>1]|0;v=w+((_(y>>16,v)|0)+((_(y&65535,v)|0)>>16))|0;y=(c[d+(x+8<<2)>>2]|0)+(c[d+(x+15<<2)>>2]|0)|0;w=b[p>>1]|0;w=v+((_(y>>16,w)|0)+((_(y&65535,w)|0)>>16))|0;y=(c[d+(x+9<<2)>>2]|0)+(c[d+(x+14<<2)>>2]|0)|0;v=b[q>>1]|0;v=w+((_(y>>16,v)|0)+((_(y&65535,v)|0)>>16))|0;y=(c[d+(x+10<<2)>>2]|0)+(c[d+(x+13<<2)>>2]|0)|0;w=b[r>>1]|0;w=v+((_(y>>16,w)|0)+((_(y&65535,w)|0)>>16))|0;x=(c[d+(x+11<<2)>>2]|0)+(c[d+(x+12<<2)>>2]|0)|0;y=b[s>>1]|0;y=(w+((_(x>>16,y)|0)+((_(x&65535,y)|0)>>16))>>5)+1>>1;b[a>>1]=(y|0)>32767?32767:(y|0)<-32768?-32768:y;a=a+2|0;j=j+i|0}return a|0}case 36:{r=e+2|0;q=e+4|0;g=e+6|0;f=e+8|0;t=e+10|0;u=e+12|0;v=e+14|0;w=e+16|0;x=e+18|0;y=e+20|0;p=e+22|0;o=e+24|0;n=e+26|0;m=e+28|0;l=e+30|0;k=e+32|0;j=e+34|0;s=0;while(1){if((s|0)>=(h|0))break;A=s>>16;z=(c[d+(A<<2)>>2]|0)+(c[d+(A+35<<2)>>2]|0)|0;B=b[e>>1]|0;B=(_(z>>16,B)|0)+((_(z&65535,B)|0)>>16)|0;z=(c[d+(A+1<<2)>>2]|0)+(c[d+(A+34<<2)>>2]|0)|0;C=b[r>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+2<<2)>>2]|0)+(c[d+(A+33<<2)>>2]|0)|0;B=b[q>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+3<<2)>>2]|0)+(c[d+(A+32<<2)>>2]|0)|0;C=b[g>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+4<<2)>>2]|0)+(c[d+(A+31<<2)>>2]|0)|0;B=b[f>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+5<<2)>>2]|0)+(c[d+(A+30<<2)>>2]|0)|0;C=b[t>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+6<<2)>>2]|0)+(c[d+(A+29<<2)>>2]|0)|0;B=b[u>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+7<<2)>>2]|0)+(c[d+(A+28<<2)>>2]|0)|0;C=b[v>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+8<<2)>>2]|0)+(c[d+(A+27<<2)>>2]|0)|0;B=b[w>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+9<<2)>>2]|0)+(c[d+(A+26<<2)>>2]|0)|0;C=b[x>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+10<<2)>>2]|0)+(c[d+(A+25<<2)>>2]|0)|0;B=b[y>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+11<<2)>>2]|0)+(c[d+(A+24<<2)>>2]|0)|0;C=b[p>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+12<<2)>>2]|0)+(c[d+(A+23<<2)>>2]|0)|0;B=b[o>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+13<<2)>>2]|0)+(c[d+(A+22<<2)>>2]|0)|0;C=b[n>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+14<<2)>>2]|0)+(c[d+(A+21<<2)>>2]|0)|0;B=b[m>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;z=(c[d+(A+15<<2)>>2]|0)+(c[d+(A+20<<2)>>2]|0)|0;C=b[l>>1]|0;C=B+((_(z>>16,C)|0)+((_(z&65535,C)|0)>>16))|0;z=(c[d+(A+16<<2)>>2]|0)+(c[d+(A+19<<2)>>2]|0)|0;B=b[k>>1]|0;B=C+((_(z>>16,B)|0)+((_(z&65535,B)|0)>>16))|0;A=(c[d+(A+17<<2)>>2]|0)+(c[d+(A+18<<2)>>2]|0)|0;z=b[j>>1]|0;z=(B+((_(A>>16,z)|0)+((_(A&65535,z)|0)>>16))>>5)+1>>1;b[a>>1]=(z|0)>32767?32767:(z|0)<-32768?-32768:z;a=a+2|0;s=s+i|0}return a|0}default:{C=a;return C|0}}return 0}function vg(a,d,e,f){a=a|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;n=i;h=i;i=i+((1*((c[a+268>>2]<<1)+8<<1)|0)+15&-16)|0;j=a+24|0;b[h>>1]=b[j>>1]|0;b[h+2>>1]=b[j+2>>1]|0;b[h+4>>1]=b[j+4>>1]|0;b[h+6>>1]=b[j+6>>1]|0;b[h+8>>1]=b[j+8>>1]|0;b[h+10>>1]=b[j+10>>1]|0;b[h+12>>1]=b[j+12>>1]|0;b[h+14>>1]=b[j+14>>1]|0;k=c[a+272>>2]|0;l=a+268|0;m=h+16|0;while(1){g=c[l>>2]|0;g=(f|0)<(g|0)?f:g;xg(a,m,e,g);d=wg(d,h,g<<17,k)|0;f=f-g|0;if((f|0)<=0)break;o=h+(g<<1<<1)|0;b[h>>1]=b[o>>1]|0;b[h+2>>1]=b[o+2>>1]|0;b[h+4>>1]=b[o+4>>1]|0;b[h+6>>1]=b[o+6>>1]|0;b[h+8>>1]=b[o+8>>1]|0;b[h+10>>1]=b[o+10>>1]|0;b[h+12>>1]=b[o+12>>1]|0;b[h+14>>1]=b[o+14>>1]|0;e=e+(g<<1)|0}o=h+(g<<1<<1)|0;b[j>>1]=b[o>>1]|0;b[j+2>>1]=b[o+2>>1]|0;b[j+4>>1]=b[o+4>>1]|0;b[j+6>>1]=b[o+6>>1]|0;b[j+8>>1]=b[o+8>>1]|0;b[j+10>>1]=b[o+10>>1]|0;b[j+12>>1]=b[o+12>>1]|0;b[j+14>>1]=b[o+14>>1]|0;i=n;return}function wg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;g=((f&65535)*12|0)>>>16;h=f>>16;i=_(b[c+(h<<1)>>1]|0,b[29638+(g<<3)>>1]|0)|0;i=i+(_(b[c+(h+1<<1)>>1]|0,b[29638+(g<<3)+2>>1]|0)|0)|0;i=i+(_(b[c+(h+2<<1)>>1]|0,b[29638+(g<<3)+4>>1]|0)|0)|0;i=i+(_(b[c+(h+3<<1)>>1]|0,b[29638+(g<<3)+6>>1]|0)|0)|0;g=11-g|0;i=i+(_(b[c+(h+4<<1)>>1]|0,b[29638+(g<<3)+6>>1]|0)|0)|0;i=i+(_(b[c+(h+5<<1)>>1]|0,b[29638+(g<<3)+4>>1]|0)|0)|0;i=i+(_(b[c+(h+6<<1)>>1]|0,b[29638+(g<<3)+2>>1]|0)|0)|0;g=(i+(_(b[c+(h+7<<1)>>1]|0,b[29638+(g<<3)>>1]|0)|0)>>14)+1>>1;b[a>>1]=(g|0)>32767?32767:(g|0)<-32768?-32768:g;a=a+2|0;f=f+e|0}return a|0}function xg(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=a+4|0;h=a+8|0;i=a+12|0;j=a+16|0;k=a+20|0;l=0;while(1){if((l|0)>=(f|0))break;p=b[e+(l<<1)>>1]<<10;n=c[a>>2]|0;m=p-n|0;m=((m>>16)*1746|0)+(((m&65535)*1746|0)>>>16)|0;n=n+m|0;c[a>>2]=p+m;m=c[g>>2]|0;o=n-m|0;o=((o>>16)*14986|0)+(((o&65535)*14986|0)>>>16)|0;m=m+o|0;c[g>>2]=n+o;o=m-(c[h>>2]|0)|0;n=(_(o>>16,-26453)|0)+((_(o&65535,-26453)|0)>>16)|0;c[h>>2]=m+(o+n);n=(m+n>>9)+1>>1;m=l<<1;b[d+(m<<1)>>1]=(n|0)>32767?32767:(n|0)<-32768?-32768:n;n=c[i>>2]|0;o=p-n|0;o=((o>>16)*6854|0)+(((o&65535)*6854|0)>>>16)|0;n=n+o|0;c[i>>2]=p+o;o=c[j>>2]|0;p=n-o|0;p=((p>>16)*25769|0)+(((p&65535)*25769|0)>>>16)|0;o=o+p|0;c[j>>2]=n+p;p=o-(c[k>>2]|0)|0;n=(_(p>>16,-9994)|0)+((_(p&65535,-9994)|0)>>16)|0;c[k>>2]=o+(p+n);n=(o+n>>9)+1>>1;b[d+((m|1)<<1)>>1]=(n|0)>32767?32767:(n|0)<-32768?-32768:n;l=l+1|0}return}function yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;xg(a,b,c,d);return}function zg(a){a=a|0;var b=0;if((a|0)<0){b=0-a|0;if((a|0)<-191){a=0;return a|0}a=b>>5;a=(c[22008+(a<<2)>>2]|0)-(_(c[22032+(a<<2)>>2]<<16>>16,b&31)|0)|0;return a|0}else{if((a|0)>191){a=32767;return a|0}b=a>>5;a=(c[22056+(b<<2)>>2]|0)+(_(c[22032+(b<<2)>>2]<<16>>16,a&31)|0)|0;return a|0}return 0}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=0;while(1){if((f|0)>=(e|0)){h=1;break}c[b+(f<<2)>>2]=f;f=f+1|0}while(1){if((h|0)>=(e|0))break;g=c[a+(h<<2)>>2]|0;j=h;while(1){i=j+-1|0;if((j|0)<=0)break;f=c[a+(i<<2)>>2]|0;if((g|0)>=(f|0))break;c[a+(j<<2)>>2]=f;c[b+(j<<2)>>2]=c[b+(i<<2)>>2];j=i}c[a+(j<<2)>>2]=g;c[b+(j<<2)>>2]=h;h=h+1|0}j=a+(e+-1<<2)|0;k=e+-2|0;h=e;while(1){if((h|0)>=(d|0))break;f=c[a+(h<<2)>>2]|0;if((f|0)<(c[j>>2]|0)){i=k;while(1){if((i|0)<=-1)break;g=c[a+(i<<2)>>2]|0;if((f|0)>=(g|0))break;e=i+1|0;c[a+(e<<2)>>2]=g;c[b+(e<<2)>>2]=c[b+(i<<2)>>2];i=i+-1|0}e=i+1|0;c[a+(e<<2)>>2]=f;c[b+(e<<2)>>2]=h}h=h+1|0}return}function Bg(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=1;while(1){if((f|0)>=(c|0))break;d=b[a+(f<<1)>>1]|0;h=f;while(1){g=h+-1|0;if((h|0)<=0)break;e=b[a+(g<<1)>>1]|0;if(d<<16>>16>=e<<16>>16)break;b[a+(h<<1)>>1]=e;h=g}b[a+(h<<1)>>1]=d;f=f+1|0}return}function Cg(a,d,e,f){a=a|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;k=f+-1|0;g=0;h=0;while(1){if((h|0)>=(k|0)){j=h;h=0;break}j=b[e+(h<<1)>>1]|0;j=g+(_(j,j)|0)|0;g=b[e+((h|1)<<1)>>1]|0;g=j+(_(g,g)|0)|0;if((g|0)<0){i=5;break}h=h+2|0}if((i|0)==5){j=h+2|0;g=g>>>2;h=2}i=f+-1|0;i=((j|0)>(i|0)?j:i)+1-j&-2;f=j;while(1){if((f|0)>=(k|0))break;l=b[e+(f<<1)>>1]|0;l=_(l,l)|0;m=b[e+(f+1<<1)>>1]|0;m=g+((l+(_(m,m)|0)|0)>>>h)|0;l=(m|0)<0;f=f+2|0;g=l?m>>>2:m;h=l?h+2|0:h}if((j+i|0)!=(k|0)){m=g;k=m>>>0>1073741823;e=m>>>2;l=h+2|0;l=k?l:h;m=k?e:m;c[d>>2]=l;c[a>>2]=m;return}m=b[e+(k<<1)>>1]|0;m=g+((_(m,m)|0)>>>h)|0;k=m>>>0>1073741823;e=m>>>2;l=h+2|0;l=k?l:h;m=k?e:m;c[d>>2]=l;c[a>>2]=m;return}function Dg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;h=hc(a,33366,8)|0;e=(h|0)/5|0;c[f+8>>2]=e;c[f+20>>2]=h+(_(e,-5)|0);e=0;while(1){if((e|0)==2){a=0;break}c[f+(e*12|0)>>2]=hc(a,33407,8)|0;c[f+(e*12|0)+4>>2]=hc(a,33414,8)|0;e=e+1|0}while(1){if((a|0)==2)break;e=f+(a*12|0)|0;h=(c[e>>2]|0)+((c[f+(a*12|0)+8>>2]|0)*3|0)|0;c[e>>2]=h;e=b[29076+(h<<1)>>1]|0;h=b[29076+(h+1<<1)>>1]|0;h=(_((h<<16>>16)-e>>16,429522944)|0)+(((h&65535)-e&65535)*6554|0)>>16;c[d+(a<<2)>>2]=e+(_(h,c[f+(a*12|0)+4>>2]<<17>>16|1)|0);a=a+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);i=g;return}function Eg(a,b){a=a|0;b=b|0;c[b>>2]=hc(a,33391,8)|0;return}function Fg(b,c){b=b|0;c=c|0;var d=0;sc(b,((a[c+2>>0]|0)*5|0)+(a[c+5>>0]|0)|0,33366,8);d=0;while(1){if((d|0)==2)break;sc(b,a[c+(d*3|0)>>0]|0,33407,8);sc(b,a[c+(d*3|0)+1>>0]|0,33414,8);d=d+1|0}return}function Gg(a,b){a=a|0;b=b|0;sc(a,b<<24>>24,33391,8);return}function Hg(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;h=i;i=i+16|0;j=h+12|0;n=h+8|0;m=h+4|0;k=h;Cg(m,j,b,f);Cg(k,n,d,f);j=c[j>>2]|0;n=c[n>>2]|0;q=Ig(j,n)|0;q=q+(q&1)|0;n=c[k>>2]>>q-n;c[k>>2]=n;j=Ig(c[m>>2]>>q-j,1)|0;c[m>>2]=j;m=Xf(b,d,q,f)|0;d=Jg(m,j,13)|0;d=(d|0)>16384?16384:(d|0)<-16384?-16384:d;b=d<<16>>16;l=(_(d>>16,b)|0)+((_(d&65535,b)|0)>>16)|0;g=Ig(g,(l|0)>0?l:0-l|0)|0;f=q>>1;q=c[e>>2]|0;p=(Kg(j)|0)<<f;g=g<<16>>16;p=_(p-(c[e>>2]|0)>>16,g)|0;o=(Kg(j)|0)<<f;c[e>>2]=q+(p+((_(o-(c[e>>2]|0)&65535,g)|0)>>16));l=l<<16>>16;l=n-((_(m>>16,b)|0)+((_(m&65535,b)|0)>>16)<<4)+((_(j>>16,l)|0)+((_(j&65535,l)|0)>>16)<<6)|0;c[k>>2]=l;b=e+4|0;k=c[b>>2]|0;j=(Kg(l)|0)<<f;j=_(j-(c[b>>2]|0)>>16,g)|0;f=(Kg(l)|0)<<f;g=k+(j+((_(f-(c[b>>2]|0)&65535,g)|0)>>16))|0;c[b>>2]=g;b=c[e>>2]|0;b=Jg(g,(b|0)>1?b:1,14)|0;c[a>>2]=b;c[a>>2]=(b|0)>32767?32767:(b|0)<0?0:b;i=h;return d|0}function Ig(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=Mg((a|0)>0?a:0-a|0)|0;g=a<<e+-1;a=(Mg((b|0)>0?b:0-b|0)|0)+-1|0;b=b<<a;d=(536870911/(b>>16|0)|0)<<16>>16;f=(_(g>>16,d)|0)+((_(g&65535,d)|0)>>16)|0;b=Bj(b|0,((b|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;b=qj(b|0,C|0,29)|0;b=g-(b&-8)|0;d=f+((_(b>>16,d)|0)+((_(b&65535,d)|0)>>16))|0;a=e+28-a-c|0;if((a|0)>=0)return ((a|0)<32?d>>a:0)|0;b=0-a|0;a=-2147483648>>b;c=2147483647>>>b;if((a|0)>(c|0)){if((d|0)>(a|0)){g=a;g=g<<b;return g|0}g=(d|0)<(c|0)?c:d;g=g<<b;return g|0}else{if((d|0)>(c|0)){g=c;g=g<<b;return g|0}g=(d|0)<(a|0)?a:d;g=g<<b;return g|0}return 0}function Kg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;if((a|0)<1){a=0;i=e;return a|0}Lg(a,d,b);d=c[d>>2]|0;d=((d&1|0)==0?46214:32768)>>>(d>>1);a=(_(c[b>>2]<<16>>16,13959168)|0)>>16;a=d+((_(d>>16,a)|0)+((_(d&65535,a)|0)>>16))|0;i=e;return a|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Mg(a)|0;c[b>>2]=e;c[d>>2]=(Ng(a,24-e|0)|0)&127;return}function Mg(a){a=a|0;if(!a)a=32;else a=aa(a|0)|0;return a|0}function Ng(a,b){a=a|0;b=b|0;if(!b){b=a;return b|0}if((b|0)<0){b=a<<0-b|a>>>(b+32|0);return b|0}else{b=a<<32-b|a>>>b;return b|0}return 0}function Og(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=0;r=0;while(1){if((r|0)==2)break;p=d+(r<<2)|0;q=e+(r*3|0)|0;o=e+(r*3|0)+1|0;h=2147483647;g=0;a:while(1){if((g|0)>=15)break;l=b[29076+(g<<1)>>1]|0;m=g+1|0;n=b[29076+(m<<1)>>1]|0;n=(_((n<<16>>16)-l>>16,429522944)|0)+(((n&65535)-l&65535)*6554|0)>>16;k=g&255;j=h;i=0;while(1){if((i|0)>=5){h=j;g=m;continue a}g=l+(_(n,i<<17>>16|1)|0)|0;h=c[p>>2]|0;h=(h|0)>(g|0)?h-g|0:g-h|0;if((h|0)>=(j|0))break a;a[q>>0]=k;a[o>>0]=i;j=h;f=g;i=i+1|0}}n=a[q>>0]|0;o=(n<<24>>24|0)/3|0;a[e+(r*3|0)+2>>0]=o;a[q>>0]=(n&255)+(_(o,-3)|0);c[p>>2]=f;r=r+1|0}c[d>>2]=(c[d>>2]|0)-(c[d+4>>2]|0);return}function Pg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0;f=3.1415927410125732/+(d+1|0);h=2.0-f*f;c=(c|0)<2;e=c?0.0:1.0;f=c?f:h*.5;c=0;while(1){if((c|0)>=(d|0))break;g[a+(c<<2)>>2]=+g[b+(c<<2)>>2]*.5*(e+f);j=c|1;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*f;i=h*f-e;j=c|2;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*.5*(f+i);j=c|3;g[a+(j<<2)>>2]=+g[b+(j<<2)>>2]*i;e=i;f=h*i-f;c=c+4|0}return}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=a+16|0;e=0;while(1){if((e|0)==5)break;g[d+(e<<2)>>2]=+Nh(a,b,c);a=a+-4|0;e=e+1|0}return}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0;j=a+16|0;d=+Mh(j,b);g[c>>2]=d;e=1;while(1){if((e|0)==5)break;l=+g[a+(4-e<<2)>>2];k=+g[a+(b-e+4<<2)>>2];k=d+(l*l-k*k);g[c+(e*6<<2)>>2]=k;d=k;e=e+1|0}f=a+12|0;h=1;while(1){if((h|0)==5)break;d=+Nh(j,f,b);k=d;g[c+(h*5<<2)>>2]=k;g[c+(h<<2)>>2]=k;e=5-h|0;i=1;while(1){if((i|0)>=(e|0))break;m=b-i|0;k=d+(+g[a+(4-i<<2)>>2]*+g[f+(0-i<<2)>>2]-+g[a+(m+4<<2)>>2]*+g[f+(m<<2)>>2]);l=k;m=h+i|0;g[c+((m*5|0)+i<<2)>>2]=l;g[c+((i*5|0)+m<<2)>>2]=l;d=k;i=i+1|0}f=f+-4|0;h=h+1|0}return}function Sg(b){b=b|0;var d=0,e=0,f=0;$e(b,b+5130|0);if((c[b+4556>>2]|0)>=13){c[b+6116>>2]=0;c[b+6112>>2]=0;a[b+4797>>0]=1;a[(c[b+5780>>2]|0)+(b+4752)>>0]=1;return}a[b+4797>>0]=0;d=b+6116|0;e=c[d>>2]|0;f=e+1|0;c[d>>2]=f;if((f|0)>=10){if((e|0)>29){c[d>>2]=10;c[b+6112>>2]=0}}else c[b+6112>>2]=0;a[(c[b+5780>>2]|0)+(b+4752)>>0]=0;return}function Tg(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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;na=i;i=i+15040|0;fa=na+12840|0;la=na+11560|0;o=na+8872|0;ia=na+8824|0;ja=na+24|0;ka=na;ga=na+4444|0;ha=na+64|0;ea=na+48|0;da=na+13752|0;ba=d+4644|0;ca=c[ba>>2]|0;c[ba>>2]=ca+1;ba=d+4802|0;a[ba>>0]=ca&3;ca=d+4616|0;m=c[ca>>2]|0;n=d+9356+(m<<2)|0;l=d+5130|0;$=d+4608|0;ke(d+16|0,l,c[$>>2]|0);aa=d+4600|0;Ug(d+9356+(m+((c[aa>>2]|0)*5|0)<<2)|0,l,c[$>>2]|0);l=0;while(1){if((l|0)==8)break;Z=d+9356+(m+(((c[aa>>2]|0)*5|0)+(_(l,c[$>>2]>>3)|0))<<2)|0;g[Z>>2]=+g[Z>>2]+ +(1-(l&2)|0)*9.999999974752427e-07;l=l+1|0}Z=d+4712|0;a:do if(!(c[Z>>2]|0)){bh(d,fa,o,n,c[d+5124>>2]|0);lh(d,fa,o+(m<<2)|0,n);ch(d,fa,o,n,h);th(d,fa,h);qh(d,fa,la,n);Vg(d,fa,la,h);F=d+4768|0;G=d+4604|0;o=ge(F,c[G>>2]|0)|0;n=ia;m=f;l=n+48|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(l|0));H=d+144|0;uj(ga|0,H|0,4380)|0;I=a[ba>>0]|0;J=d+5804|0;K=b[J>>1]|0;L=d+5800|0;M=c[L>>2]|0;N=fa+852|0;O=fa+908|0;P=d+7200|0;Q=(h|0)==2&1;R=j+-5|0;S=f+24|0;T=f+28|0;U=d+4768|0;V=d+4804|0;W=d+5780|0;X=d+4797|0;Y=d+4798|0;D=f+20|0;E=f+28|0;C=(k|0)==0;y=0;w=0;z=0;A=256;v=0;x=0;q=-1;s=-1;r=0;t=0;u=0;B=0;while(1){p=(o|0)==(q|0);if(!p)if((o|0)!=(s|0)){if((B|0)>0){n=f;m=ia;l=n+48|0;do{c[n>>2]=c[m>>2];n=n+4|0;m=m+4|0}while((n|0)<(l|0));uj(H|0,ga|0,4380)|0;a[ba>>0]=I;b[J>>1]=K;c[L>>2]=M}Gh(d,fa,U,H,V,la);be(d,f,c[W>>2]|0,0,h);ce(f,a[X>>0]|0,a[Y>>0]|0,V,c[$>>2]|0);k=Wg(c[D>>2]|0,c[E>>2]|0)|0;if(C&(B|0)==0){if((k|0)<=(j|0))break a}else ma=12}else{k=t;ma=12}else{k=r;ma=12}if((ma|0)==12){ma=0;if((B|0)==6)break}m=(k|0)>(j|0);do if(m)if((w|0)==0&(B|0)>1){g[N>>2]=+g[N>>2]*1.5;z=0;s=-1;break}else{z=1;x=A<<16>>16;s=o;t=k;break}else{if((k|0)>=(R|0))break a;n=A<<16>>16;if(p){w=1;v=n;q=o;r=k}else{c[ja>>2]=c[f>>2];c[ja+4>>2]=c[f+4>>2];c[ja+8>>2]=c[f+8>>2];c[ja+12>>2]=c[f+12>>2];c[ja+16>>2]=c[f+16>>2];c[ja+20>>2]=c[f+20>>2];u=c[S>>2]|0;c[ka>>2]=c[T>>2];c[ka+4>>2]=c[T+4>>2];c[ka+8>>2]=c[T+8>>2];c[ka+12>>2]=c[T+12>>2];c[ka+16>>2]=c[T+16>>2];uj(da|0,c[f>>2]|0,u|0)|0;uj(ha|0,H|0,4380)|0;y=a[P>>0]|0;w=1;v=n;q=o;r=k}}while(0);do if(w&z){k=x-v|0;o=v+((_(k,j-r|0)|0)/(t-r|0)|0)|0;n=k>>2;if((o<<16>>16|0)>(v+n|0)){o=v+(k>>>2)|0;break}if((o<<16>>16|0)<(x-n|0))o=x-(k>>>2)|0}else{k=Xg(ag(((k-j<<7|0)/(c[$>>2]|0)|0)+2048|0)|0)|0;if(m)k=Yg(k)|0;o=A<<16>>16;o=(_(k>>16,o)|0)+((_(k&65535,o)|0)>>>16)|0}while(0);p=o&65535;n=c[G>>2]|0;k=o<<16>>16;o=0;while(1){if((o|0)>=(n|0))break;A=c[fa+892+(o<<2)>>2]|0;A=(_(A>>16,k)|0)+((_(A&65535,k)|0)>>16)|0;c[ea+(o<<2)>>2]=((A|0)>8388607?8388607:(A|0)<-8388608?-8388608:A)<<8;o=o+1|0}a[P>>0]=a[O>>0]|0;ee(F,ea,P,Q,n);k=c[G>>2]|0;o=ge(F,k)|0;n=0;while(1){if((n|0)>=(k|0))break;g[fa+(n<<2)>>2]=+(c[ea+(n<<2)>>2]|0)*.0000152587890625;n=n+1|0}A=p;B=B+1|0}if((w|0)!=0&(p|(k|0)>(j|0))){c[f>>2]=c[ja>>2];c[f+4>>2]=c[ja+4>>2];c[f+8>>2]=c[ja+8>>2];c[f+12>>2]=c[ja+12>>2];c[f+16>>2]=c[ja+16>>2];c[f+20>>2]=c[ja+20>>2];c[S>>2]=u;c[T>>2]=c[ka>>2];c[T+4>>2]=c[ka+4>>2];c[T+8>>2]=c[ka+8>>2];c[T+12>>2]=c[ka+12>>2];c[T+16>>2]=c[ka+16>>2];uj(c[f>>2]|0,da|0,u|0)|0;uj(H|0,ha|0,4380)|0;a[P>>0]=y}}while(0);vj(d+9356|0,d+9356+(c[$>>2]<<2)|0,(c[ca>>2]|0)+((c[aa>>2]|0)*5|0)<<2|0)|0;if(c[Z>>2]|0){ma=0;c[e>>2]=ma;i=na;return 0}c[d+4568>>2]=c[fa+228+((c[d+4604>>2]|0)+-1<<2)>>2];a[d+4565>>0]=a[d+4797>>0]|0;c[d+4696>>2]=0;ma=(Wg(c[f+20>>2]|0,c[f+28>>2]|0)|0)+7>>3;c[e>>2]=ma;i=na;return 0}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){e=d+-1|0;if((d|0)<=0)break;g[a+(e<<2)>>2]=+(b[c+(e<<1)>>1]|0);d=e}return}function Vg(e,f,h,j){e=e|0;f=f|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;t=i;i=i+4416|0;q=t+4400|0;r=t+4384|0;s=t;o=e+5780|0;k=c[o>>2]|0;p=e+6132+(k*36|0)|0;if(!(c[e+6124>>2]|0)){i=t;return}if((c[e+4556>>2]|0)<=77){i=t;return}c[e+4756+(k<<2)>>2]=1;uj(s|0,e+144|0,4380)|0;k=p;l=e+4768|0;m=k+36|0;do{b[k>>1]=b[l>>1]|0;k=k+2|0;l=l+2|0}while((k|0)<(m|0));n=e+4604|0;m=c[n>>2]|0;uj(r|0,f|0,m<<2|0)|0;l=c[o>>2]|0;if((l|0)!=0?(c[e+4756+(l+-1<<2)>>2]|0)!=0:0){l=e+4564|0;k=p}else{l=e+4564|0;a[l>>0]=a[e+7200>>0]|0;a[p>>0]=Zg((d[p>>0]|0)+(c[e+6128>>2]|0)<<24>>24)|0;k=p;m=c[n>>2]|0}fe(q,k,l,(j|0)==2&1,m);k=0;while(1){if((k|0)>=(c[n>>2]|0))break;g[f+(k<<2)>>2]=+(c[q+(k<<2)>>2]|0)*.0000152587890625;k=k+1|0}Gh(e,f,p,s,e+6240+((c[o>>2]|0)*320|0)|0,h);uj(f|0,r|0,c[n>>2]<<2|0)|0;i=t;return}function Wg(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function Xg(a){a=a|0;return ((a|0)<131072?a:131072)|0}function Yg(a){a=a|0;return ((a|0)>85197?a:85197)|0}function Zg(a){a=a|0;return ((a|0)<63?a:63)|0}function _g(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0.0,j=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;w=i;i=i+1696|0;u=w+1600|0;t=w+1664|0;v=w+1536|0;s=w;p=b+4664|0;n=c[p>>2]|0;q=(c[b+4612>>2]|0)+n|0;r=b+4799|0;a[r>>0]=4;o=b+4604|0;h=+Kh(u,e,f,q,c[o>>2]|0,n);a:do if(((c[b+4656>>2]|0)!=0?(c[b+4696>>2]|0)==0:0)?(c[o>>2]|0)==4:0){o=q<<1;f=h-+Kh(v,e+(o<<2)|0,f,q,2,c[p>>2]|0);j=(g[k>>2]=f,c[k>>2]|0);Dh(d,v,c[p>>2]|0);l=b+4524|0;b=j;j=2139095039;n=3;while(1){if((n|0)<=-1)break a;je(t,l,d,n,c[p>>2]|0);Eh(v,t,c[p>>2]|0);dh(s,v,e,o,c[p>>2]|0);x=c[p>>2]|0;m=q-x|0;f=+Mh(s+(x<<2)|0,m);f=f+ +Mh(s+(x+q<<2)|0,m);m=(g[k>>2]=f,c[k>>2]|0);if(!(f<(c[k>>2]=b,+g[k>>2]))){if(f>(c[k>>2]=j,+g[k>>2]))break a}else{a[r>>0]=n;b=m}j=m;n=n+-1|0}}while(0);if((a[r>>0]|0)!=4){i=w;return}Dh(d,u,c[p>>2]|0);i=w;return}function $g(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;x=i;i=i+112|0;u=x+96|0;v=x+72|0;w=x+56|0;r=x+40|0;q=x+16|0;s=x;t=a;p=+(j|0)*.009999999776482582;a=t;l=e+(l<<2)|0;e=0;while(1){if((e|0)>=(k|0))break;z=l+(-2-(c[f+(e<<2)>>2]|0)<<2)|0;Rg(z,j,b);Qg(z,l,j,q);o=+Mh(l,j);z=s+(e<<2)|0;g[z>>2]=o;vh(b,z,(o+1.0+ +g[b>>2]+ +g[b+96>>2])*.01666666753590107);y=a;yh(b,q,y);o=+wh(y,b,q,+g[z>>2]);g[r+(e<<2)>>2]=o;n=+g[h+(e<<2)>>2];_h(b,n/(o*n+p));c[w+(e<<2)>>2]=c[b+48>>2];b=b+100|0;a=y+20|0;l=l+(j<<2)|0;e=e+1|0}if(!d){e=t;l=0}else{n=9.999999974752427e-07;o=0.0;a=0;while(1){if((a|0)>=(k|0))break;p=+g[h+(a<<2)>>2];n=n+ +g[r+(a<<2)>>2]*p;o=o+ +g[s+(a<<2)>>2]*p;a=a+1|0}g[d>>2]=+ah(o/n)*3.0;e=t;l=0}while(1){if((l|0)>=(k|0)){e=0;n=1.0000000474974513e-03;break}a=u+(l<<2)|0;g[a>>2]=0.0;n=0.0;b=0;while(1){if((b|0)==5)break;p=n+ +g[e+(b<<2)>>2];g[a>>2]=p;n=p;b=b+1|0}e=e+20|0;l=l+1|0}while(1){if((e|0)>=(k|0)){m=0.0;e=0;break}p=n+ +g[w+(e<<2)>>2];e=e+1|0;n=p}while(1){if((e|0)>=(k|0))break;m=m+ +g[u+(e<<2)>>2]*+g[w+(e<<2)>>2];e=e+1|0}p=m/n;e=t;l=0;while(1){if((l|0)>=(k|0))break;m=+g[w+(l<<2)>>2]+.10000000149011612;o=p-+g[u+(l<<2)>>2];a=0;n=0.0;while(1){if((a|0)==5)break;A=+g[e+(a<<2)>>2];A=A>.10000000149011612?A:.10000000149011612;g[v+(a<<2)>>2]=A;a=a+1|0;n=n+A}m=.10000000149011612/m*o/n;b=0;while(1){if((b|0)==5)break;z=e+(b<<2)|0;g[z>>2]=+g[z>>2]+ +g[v+(b<<2)>>2]*m;b=b+1|0}e=e+20|0;l=l+1|0}i=x;return}function ah(a){a=+a;return +(+jj(a)*3.32192809488736)}function bh(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0;l=i;i=i+1744|0;s=l+1664|0;o=l+1600|0;p=l+1536|0;u=l;k=d+4620|0;v=c[k>>2]|0;n=v+(c[d+4608>>2]|0)|0;m=c[d+4616>>2]|0;t=d+4572|0;w=n-(c[t>>2]|0)|0;Pg(u,h+(w<<2)|0,1,v);k=c[k>>2]|0;w=w+k|0;v=(c[t>>2]|0)-(k<<1)|0;uj(u+(k<<2)|0,h+(w<<2)|0,v<<2|0)|0;Pg(u+(k+v<<2)|0,h+(w+v<<2)|0,2,k);k=d+4672|0;Jh(s,u,c[t>>2]|0,(c[k>>2]|0)+1|0);r=+g[s>>2];r=r+(r*1.0000000474974513e-03+1.0);g[s>>2]=r;q=+$h(p,s,c[k>>2]|0);g[e+868>>2]=r/(q>1.0?q:1.0);Oh(o,p,c[k>>2]|0);Lh(o,c[k>>2]|0,.9900000095367432);dh(f,o,h+(0-m<<2)|0,n+m|0,c[k>>2]|0);h=d+4797|0;if((a[h>>0]|0)!=0?(c[d+4696>>2]|0)==0:0)if(!(Rh(f,e+228|0,d+4794|0,d+4796|0,d+12236|0,c[d+4568>>2]|0,+(c[d+4676>>2]|0)*.0000152587890625,.6000000238418579-+(c[k>>2]|0)*.004000000189989805-+(c[d+4556>>2]|0)*.10000000149011612*.00390625-+(a[d+4565>>0]>>1|0)*.15000000596046448-+(c[d+4744>>2]|0)*.10000000149011612*.000030517578125,c[d+4600>>2]|0,c[d+4668>>2]|0,c[d+4604>>2]|0,j)|0)){a[h>>0]=2;i=l;return}else{a[h>>0]=1;i=l;return}w=e+228|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;b[d+4794>>1]=0;a[d+4796>>0]=0;g[d+12236>>2]=0.0;i=l;return}function ch(d,e,f,h,j){d=d|0;e=e|0;f=f|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.0,w=0;u=i;i=i+2e3|0;m=u+1568|0;t=u+1552|0;l=u+1536|0;k=u+1968|0;s=u;r=d+4604|0;o=c[r>>2]|0;n=0;while(1){if((n|0)>=(o|0))break;v=1.0/+g[e+(n<<2)>>2];g[t+(n<<2)>>2]=v;g[l+(n<<2)>>2]=v*v;n=n+1|0}if((a[d+4797>>0]|0)==2){w=e+144|0;n=e+228|0;p=d+4612|0;$g(w,m,e+872|0,f,n,l,c[p>>2]|0,o,c[d+4616>>2]|0);Hh(w,d+4772|0,d+4800|0,d+4688|0,m,c[d+4684>>2]|0,c[d+4680>>2]|0,c[r>>2]|0,c[d+5124>>2]|0);kh(d,e,j);q=c[d+4664>>2]|0;jh(s,h+(0-q<<2)|0,w,n,t,c[p>>2]|0,c[r>>2]|0,q)}else{p=d+4664|0;n=c[p>>2]|0;q=d+4612|0;f=o;j=n;m=0;l=s;n=h+(0-n<<2)|0;while(1){if((m|0)>=(f|0))break;Zh(l,n,+g[t+(m<<2)>>2],(c[q>>2]|0)+j|0);w=c[q>>2]|0;h=c[p>>2]|0;f=c[r>>2]|0;j=h;m=m+1|0;l=l+(w+h<<2)|0;n=n+(w<<2)|0}rj(e+144|0,0,f*20|0)|0;g[e+872>>2]=0.0;c[d+4688>>2]=0}if(c[d+4696>>2]|0){v=.009999999776482582;_g(d,k,s,v);t=e+16|0;h=d+4524|0;Fh(d,t,k,h);h=e+876|0;w=d+4612|0;w=c[w>>2]|0;l=c[r>>2]|0;m=d+4664|0;m=c[m>>2]|0;xh(h,s,t,e,w,l,m);m=d+4524|0;l=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(l|0));i=u;return}v=+ij(+g[e+872>>2]/3.0)/1.0e4;v=v/(+g[e+860>>2]*.75+.25);_g(d,k,s,v);t=e+16|0;h=d+4524|0;Fh(d,t,k,h);h=e+876|0;w=d+4612|0;w=c[w>>2]|0;l=c[r>>2]|0;m=d+4664|0;m=c[m>>2]|0;xh(h,s,t,e,w,l,m);m=d+4524|0;l=m+32|0;do{b[m>>1]=b[k>>1]|0;m=m+2|0;k=k+2|0}while((m|0)<(l|0));i=u;return}function dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;switch(e|0){case 6:{eh(a,b,c,d);break}case 8:{fh(a,b,c,d);break}case 10:{gh(a,b,c,d);break}case 12:{hh(a,b,c,d);break}case 16:{ih(a,b,c,d);break}default:{}}rj(a|0,0,e<<2|0)|0;return}function eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0;e=b+4|0;f=b+8|0;h=b+12|0;i=b+16|0;j=b+20|0;k=6;while(1){if((k|0)>=(d|0))break;g[a+(k<<2)>>2]=+g[c+(k<<2)>>2]-(+g[c+(k+-1<<2)>>2]*+g[b>>2]+ +g[c+(k+-2<<2)>>2]*+g[e>>2]+ +g[c+(k+-3<<2)>>2]*+g[f>>2]+ +g[c+(k+-4<<2)>>2]*+g[h>>2]+ +g[c+(k+-5<<2)>>2]*+g[i>>2]+ +g[c+(k+-6<<2)>>2]*+g[j>>2]);k=k+1|0}return}function fh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;e=b+4|0;f=b+8|0;h=b+12|0;i=b+16|0;j=b+20|0;k=b+24|0;l=b+28|0;m=8;while(1){if((m|0)>=(d|0))break;g[a+(m<<2)>>2]=+g[c+(m<<2)>>2]-(+g[c+(m+-1<<2)>>2]*+g[b>>2]+ +g[c+(m+-2<<2)>>2]*+g[e>>2]+ +g[c+(m+-3<<2)>>2]*+g[f>>2]+ +g[c+(m+-4<<2)>>2]*+g[h>>2]+ +g[c+(m+-5<<2)>>2]*+g[i>>2]+ +g[c+(m+-6<<2)>>2]*+g[j>>2]+ +g[c+(m+-7<<2)>>2]*+g[k>>2]+ +g[c+(m+-8<<2)>>2]*+g[l>>2]);m=m+1|0}return}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+4|0;f=b+8|0;h=b+12|0;i=b+16|0;j=b+20|0;k=b+24|0;l=b+28|0;m=b+32|0;n=b+36|0;o=10;while(1){if((o|0)>=(d|0))break;g[a+(o<<2)>>2]=+g[c+(o<<2)>>2]-(+g[c+(o+-1<<2)>>2]*+g[b>>2]+ +g[c+(o+-2<<2)>>2]*+g[e>>2]+ +g[c+(o+-3<<2)>>2]*+g[f>>2]+ +g[c+(o+-4<<2)>>2]*+g[h>>2]+ +g[c+(o+-5<<2)>>2]*+g[i>>2]+ +g[c+(o+-6<<2)>>2]*+g[j>>2]+ +g[c+(o+-7<<2)>>2]*+g[k>>2]+ +g[c+(o+-8<<2)>>2]*+g[l>>2]+ +g[c+(o+-9<<2)>>2]*+g[m>>2]+ +g[c+(o+-10<<2)>>2]*+g[n>>2]);o=o+1|0}return}function hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=b+4|0;f=b+8|0;i=b+12|0;j=b+16|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+32|0;o=b+36|0;p=b+40|0;h=b+44|0;q=12;while(1){if((q|0)>=(d|0))break;g[a+(q<<2)>>2]=+g[c+(q<<2)>>2]-(+g[c+(q+-1<<2)>>2]*+g[b>>2]+ +g[c+(q+-2<<2)>>2]*+g[e>>2]+ +g[c+(q+-3<<2)>>2]*+g[f>>2]+ +g[c+(q+-4<<2)>>2]*+g[i>>2]+ +g[c+(q+-5<<2)>>2]*+g[j>>2]+ +g[c+(q+-6<<2)>>2]*+g[k>>2]+ +g[c+(q+-7<<2)>>2]*+g[l>>2]+ +g[c+(q+-8<<2)>>2]*+g[m>>2]+ +g[c+(q+-9<<2)>>2]*+g[n>>2]+ +g[c+(q+-10<<2)>>2]*+g[o>>2]+ +g[c+(q+-11<<2)>>2]*+g[p>>2]+ +g[c+(q+-12<<2)>>2]*+g[h>>2]);q=q+1|0}return}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=b+4|0;f=b+8|0;m=b+12|0;n=b+16|0;o=b+20|0;p=b+24|0;q=b+28|0;r=b+32|0;s=b+36|0;t=b+40|0;h=b+44|0;i=b+48|0;j=b+52|0;k=b+56|0;l=b+60|0;u=16;while(1){if((u|0)>=(d|0))break;g[a+(u<<2)>>2]=+g[c+(u<<2)>>2]-(+g[c+(u+-1<<2)>>2]*+g[b>>2]+ +g[c+(u+-2<<2)>>2]*+g[e>>2]+ +g[c+(u+-3<<2)>>2]*+g[f>>2]+ +g[c+(u+-4<<2)>>2]*+g[m>>2]+ +g[c+(u+-5<<2)>>2]*+g[n>>2]+ +g[c+(u+-6<<2)>>2]*+g[o>>2]+ +g[c+(u+-7<<2)>>2]*+g[p>>2]+ +g[c+(u+-8<<2)>>2]*+g[q>>2]+ +g[c+(u+-9<<2)>>2]*+g[r>>2]+ +g[c+(u+-10<<2)>>2]*+g[s>>2]+ +g[c+(u+-11<<2)>>2]*+g[t>>2]+ +g[c+(u+-12<<2)>>2]*+g[h>>2]+ +g[c+(u+-13<<2)>>2]*+g[i>>2]+ +g[c+(u+-14<<2)>>2]*+g[j>>2]+ +g[c+(u+-15<<2)>>2]*+g[k>>2]+ +g[c+(u+-16<<2)>>2]*+g[l>>2]);u=u+1|0}return}function jh(a,b,d,e,f,h,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0;u=i;i=i+32|0;t=u;s=h+l|0;r=0;while(1){if((r|0)>=(j|0))break;n=0-(c[e+(r<<2)>>2]|0)|0;q=+g[f+(r<<2)>>2];l=r*5|0;m=0;while(1){if((m|0)==5)break;c[t+(m<<2)>>2]=c[d+(l+m<<2)>>2];m=m+1|0}p=0;l=b+(n<<2)|0;while(1){if((p|0)>=(s|0))break;m=c[b+(p<<2)>>2]|0;n=a+(p<<2)|0;c[n>>2]=m;o=(c[k>>2]=m,+g[k>>2]);m=0;while(1){if((m|0)==5)break;v=o-+g[t+(m<<2)>>2]*+g[l+(2-m<<2)>>2];g[n>>2]=v;o=v;m=m+1|0}g[n>>2]=o*q;p=p+1|0;l=l+4|0}a=a+(s<<2)|0;r=r+1|0;b=b+(h<<2)|0}i=u;return}function kh(d,e,f){d=d|0;e=e|0;f=f|0;var h=0.0;if(!f){h=+((c[d+4640>>2]|0)+(c[d+5776>>2]|0)|0)*+g[e+872>>2]*.10000000149011612;if(!(h>2.0))if(h<0.0)f=0;else f=~~h;else f=2;a[d+4801>>0]=f}else{a[d+4801>>0]=0;f=0}g[e+224>>2]=+(b[29116+(f<<24>>24<<1)>>1]|0)*.00006103515625;return}function lh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+1040|0;A=G+72|0;z=G;y=f+(0-(c[b+4624>>2]|0)<<2)|0;m=b+4748|0;o=+(c[m>>2]|0)*.0078125;C=b+4728|0;h=+((c[C>>2]|0)+(c[b+4732>>2]|0)|0)*.5*.000030517578125;E=d+856|0;g[E>>2]=h;n=+mh((o+-20.0)*.25);D=d+860|0;g[D>>2]=n;if(!(c[b+4708>>2]|0)){w=1.0-+(c[b+4556>>2]|0)*.00390625;o=o-n*2.0*(h*.5+.5)*w*w}F=b+4797|0;if((a[F>>0]|0)==2){w=o+ +g[b+12236>>2]*2.0;a[b+4798>>0]=0;g[d+864>>2]=0.0}else{o=o+(+(c[m>>2]|0)*-.4000000059604645*.0078125+6.0)*(1.0-h);f=c[b+4600>>2]<<1;r=((c[b+4604>>2]<<16>>16)*5|0)/2|0;n=+(f|0);p=0.0;l=0;j=0;while(1){if((j|0)>=(r|0))break;q=+nh(n+ +Mh(e,f));m=(g[k>>2]=q,c[k>>2]|0);if((j|0)>0)p=p+ +N(+(q-(c[k>>2]=l,+g[k>>2])));l=m;e=e+(f<<2)|0;j=j+1|0}w=+mh((p+-5.0)*.4000000059604645);B=d+864|0;g[B>>2]=w;a[b+4798>>0]=w>.75?0:1;w=o+(+g[B>>2]+-.5)*2.0}q=+g[d+868>>2]*1.0000000474974513e-03;q=.949999988079071/(q*q+1.0);n=+g[D>>2];h=(1.0-n*.75)*.009999999776482582;o=q+h;h=(q-h)/o;v=b+4704|0;m=c[v>>2]|0;if((m|0)>0)p=+(m|0)*.0000152587890625+n*.009999999776482582;else p=0.0;B=b+4604|0;x=b+4600|0;j=b+4628|0;s=b+4612|0;t=b+4660|0;u=0;r=y;while(1){f=c[B>>2]|0;if((u|0)>=(f|0))break;y=c[x>>2]|0;l=y*3|0;m=((c[j>>2]|0)-l|0)/2|0;Pg(A,r,1,m);uj(A+(m<<2)|0,r+(m<<2)|0,y*12|0)|0;l=m+l|0;Pg(A+(l<<2)|0,r+(l<<2)|0,2,m);r=r+(c[s>>2]<<2)|0;m=c[j>>2]|0;l=c[t>>2]|0;if((c[v>>2]|0)>0)Ch(z,A,p,m,l);else Jh(z,A,m,l+1|0);q=+g[z>>2];g[z>>2]=q+q*4.999999873689376e-05;m=u<<4;l=d+500+(m<<2)|0;q=+O(+(+Ph(l,z,c[t>>2]|0)));e=d+(u<<2)|0;g[e>>2]=q;if((c[v>>2]|0)>0)g[e>>2]=q*+oh(l,p,c[t>>2]|0);Lh(l,c[t>>2]|0,o);y=d+244+(m<<2)|0;uj(y|0,l|0,c[t>>2]<<2|0)|0;Lh(y,c[t>>2]|0,h);q=+Qh(l,c[t>>2]|0);g[d+788+(u<<2)>>2]=1.0-(1.0-q/+Qh(y,c[t>>2]|0))*.699999988079071;ph(l,y,p,c[t>>2]|0);u=u+1|0}n=+ij(w*-.1599999964237213);m=0;while(1){if((m|0)>=(f|0))break;f=d+(m<<2)|0;g[f>>2]=+g[f>>2]*n+1.2483305931091309;f=c[B>>2]|0;m=m+1|0}n=+g[D>>2]*.10000000149011612+1.0499999523162842;m=0;while(1){if((m|0)>=(f|0))break;f=d+788+(m<<2)|0;g[f>>2]=+g[f>>2]*n;f=c[B>>2]|0;m=m+1|0}l=b+4556|0;n=((+(c[C>>2]|0)*.000030517578125+-1.0)*.5+1.0)*4.0*(+(c[l>>2]|0)*.00390625);a:do if((a[F>>0]|0)==2){m=0;while(1){if((m|0)>=(f|0))break;w=.20000000298023224/+(c[x>>2]|0)+3.0/+(c[d+228+(m<<2)>>2]|0);g[d+756+(m<<2)>>2]=w+-1.0;g[d+772+(m<<2)>>2]=1.0-w-w*n;f=c[B>>2]|0;m=m+1|0}q=-.25-+(c[l>>2]|0)*.26249998807907104*.00390625}else{w=1.2999999523162842/+(c[x>>2]|0);l=d+756|0;g[l>>2]=w+-1.0;m=d+772|0;g[m>>2]=1.0-w-w*n*.6000000238418579;j=1;while(1){f=c[B>>2]|0;if((j|0)>=(f|0)){q=-.25;break a}c[d+756+(j<<2)>>2]=c[l>>2];c[d+772+(j<<2)>>2]=c[m>>2];j=j+1|0}}while(0);n=1.0-+g[D>>2];o=+g[b+12236>>2];h=+g[E>>2];p=n*.10000000149011612*o+(1.0-h)*.10000000149011612;if((a[F>>0]|0)==2)n=((1.0-n*h)*.20000000298023224+.30000001192092896)*+O(+o);else n=0.0;l=b+7204|0;e=b+7208|0;m=b+7212|0;j=0;while(1){if((j|0)>=(f|0))break;w=+g[l>>2];w=w+(p-w)*.4000000059604645;g[l>>2]=w;g[d+804+(j<<2)>>2]=w;w=+g[e>>2];w=w+(n-w)*.4000000059604645;g[e>>2]=w;g[d+836+(j<<2)>>2]=w;w=+g[m>>2];w=w+(q-w)*.4000000059604645;g[m>>2]=w;g[d+820+(j<<2)>>2]=w;f=c[B>>2]|0;j=j+1|0}i=G;return}function mh(a){a=+a;return +(1.0/(+X(+-a)+1.0))}function nh(a){a=+a;return +(+jj(a)*3.32192809488736)}function oh(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0;f=-b;e=c[a+(d+-1<<2)>>2]|0;d=d+-2|0;while(1){b=(c[k>>2]=e,+g[k>>2])*f;if((d|0)<=-1)break;e=(g[k>>2]=b+ +g[a+(d<<2)>>2],c[k>>2]|0);d=d+-1|0}return +(1.0/(1.0-b))}function ph(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0.0,j=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;h=e;while(1){f=h+-1|0;if((h|0)<=1)break;o=h+-2|0;l=a+(o<<2)|0;g[l>>2]=+g[l>>2]-+g[a+(f<<2)>>2]*d;o=b+(o<<2)|0;g[o>>2]=+g[o>>2]-+g[b+(f<<2)>>2]*d;h=f}p=1.0-d*d;j=p/(+g[a>>2]*d+1.0);i=p/(+g[b>>2]*d+1.0);h=0;while(1){if((h|0)>=(e|0)){h=0;o=0;break}o=a+(h<<2)|0;g[o>>2]=+g[o>>2]*j;o=b+(h<<2)|0;g[o>>2]=+g[o>>2]*i;h=h+1|0}while(1){if((o|0)<10){l=-1082130432;f=0}else{f=23;break}while(1){if((f|0)>=(e|0))break;n=+N(+(+g[a+(f<<2)>>2]));m=+N(+(+g[b+(f<<2)>>2]));m=n>m?n:m;q=m>(c[k>>2]=l,+g[k>>2]);h=q?f:h;l=q?(g[k>>2]=m,c[k>>2]|0):l;f=f+1|0}n=(c[k>>2]=l,+g[k>>2]);if(!(n<=3.999000072479248))l=1;else{f=23;break}while(1){if((l|0)>=(e|0))break;q=l+-1|0;f=a+(q<<2)|0;g[f>>2]=+g[f>>2]+ +g[a+(l<<2)>>2]*d;q=b+(q<<2)|0;g[q>>2]=+g[q>>2]+ +g[b+(l<<2)>>2]*d;l=l+1|0}m=1.0/j;j=1.0/i;l=0;while(1){if((l|0)>=(e|0))break;q=a+(l<<2)|0;g[q>>2]=+g[q>>2]*m;q=b+(l<<2)|0;g[q>>2]=+g[q>>2]*j;l=l+1|0}n=.9900000095367432-(+(o|0)*.10000000149011612+.800000011920929)*(n+-3.999000072479248)/(n*+(h+1|0));Lh(a,e,n);Lh(b,e,n);l=e;while(1){f=l+-1|0;if((l|0)<=1)break;q=l+-2|0;r=a+(q<<2)|0;g[r>>2]=+g[r>>2]-+g[a+(f<<2)>>2]*d;q=b+(q<<2)|0;g[q>>2]=+g[q>>2]-+g[b+(f<<2)>>2]*d;l=f}j=p/(+g[a>>2]*d+1.0);i=p/(+g[b>>2]*d+1.0);l=0;while(1){if((l|0)>=(e|0))break;r=a+(l<<2)|0;g[r>>2]=+g[r>>2]*j;r=b+(l<<2)|0;g[r>>2]=+g[r>>2]*i;l=l+1|0}o=o+1|0}if((f|0)==23)return}function qh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+400|0;C=E+384|0;D=E;r=b+7216|0;s=b+9352|0;v=b+4604|0;w=b+4797|0;x=C+4|0;y=C+8|0;z=b+9264|0;A=b+4704|0;B=b+4612|0;t=b+4660|0;u=d+860|0;q=b+9344|0;h=c[s>>2]|0;p=0;while(1){b=c[v>>2]|0;if((p|0)>=(b|0))break;if((a[w>>0]|0)==2)h=c[d+228+(p<<2)>>2]|0;o=d+804+(p<<2)|0;n=+g[d+836+(p<<2)>>2]*(1.0-+g[o>>2]);j=n*.25;g[C>>2]=j;g[x>>2]=n*.4999847412109375;g[y>>2]=j;j=+g[d+820+(p<<2)>>2];k=+g[d+756+(p<<2)>>2];l=+g[d+772+(p<<2)>>2];rh(z,D,d+244+(p<<4<<2)|0,f,+(c[A>>2]|0)*.0000152587890625,c[B>>2]|0,c[t>>2]|0);m=+g[d+788+(p<<2)>>2];n=-(m*(+g[o>>2]*n+.05000000074505806+ +g[u>>2]*.10000000149011612));g[e>>2]=m*+g[D>>2]+ +g[q>>2]*n;o=1;while(1){b=c[B>>2]|0;if((o|0)>=(b|0))break;g[e+(o<<2)>>2]=m*+g[D+(o<<2)>>2]+ +g[D+(o+-1<<2)>>2]*n;o=o+1|0}c[q>>2]=c[D+(b+-1<<2)>>2];sh(r,e,e,C,j,k,l,h,b);o=c[B>>2]|0;f=f+(o<<2)|0;e=e+(o<<2)|0;p=p+1|0}c[s>>2]=c[d+228+(b+-1<<2)>>2];i=E;return}function rh(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0;j=a+4|0;k=a+8|0;m=a+(i<<2)|0;o=d+(i+-1<<2)|0;q=0;while(1){if((q|0)>=(h|0))break;u=+g[j>>2];s=+g[a>>2]+u*f;l=e+(q<<2)|0;c[a>>2]=c[l>>2];t=+g[k>>2];g[j>>2]=s;n=t;p=+g[d>>2]*s;r=2;s=u+(t-s)*f;while(1){if((r|0)>=(i|0))break;y=a+((r|1)<<2)|0;v=+g[y>>2];u=n+(v-s)*f;g[a+(r<<2)>>2]=s;x=p+ +g[d+(r+-1<<2)>>2]*s;w=r+2|0;t=+g[a+(w<<2)>>2];g[y>>2]=u;n=t;p=x+ +g[d+(r<<2)>>2]*u;r=w;s=v+(t-u)*f}g[m>>2]=s;g[b+(q<<2)>>2]=+g[l>>2]-(p+ +g[o>>2]*s);q=q+1|0}return}function sh(a,b,d,e,f,h,i,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;h=+h;i=+i;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0;m=a+2116|0;n=a+2120|0;o=a+2124|0;p=(j|0)>0;q=e+4|0;r=e+8|0;s=c[m>>2]|0;t=c[n>>2]|0;u=c[o>>2]|0;v=0;while(1){if((v|0)>=(l|0))break;if(p){x=s+j|0;w=+g[a+((x+510&511)<<2)>>2]*+g[e>>2]+ +g[a+((x+511&511)<<2)>>2]*+g[q>>2]+ +g[a+((x&511)<<2)>>2]*+g[r>>2]}else w=0.0;B=(c[k>>2]=t,+g[k>>2]);A=B*i+(c[k>>2]=u,+g[k>>2])*h;B=+g[b+(v<<2)>>2]-B*f;y=(g[k>>2]=B,c[k>>2]|0);A=B-A;x=(g[k>>2]=A,c[k>>2]|0);z=s+511&511;g[a+(z<<2)>>2]=A;g[d+(v<<2)>>2]=A-w;s=z;t=y;u=x;v=v+1|0}c[n>>2]=t;c[o>>2]=u;c[m>>2]=s;return}function th(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+16|0;n=o;m=d+4797|0;a:do if((a[m>>0]|0)==2){k=1.0-+uh((+g[e+872>>2]+-12.0)*.25)*.5;j=d+4604|0;h=0;while(1){if((h|0)>=(c[j>>2]|0)){l=j;break a}l=e+(h<<2)|0;g[l>>2]=+g[l>>2]*k;h=h+1|0}}else l=d+4604|0;while(0);k=+ij((21.0-+(c[d+4748>>2]|0)*.0078125)*.33000001311302185);k=k/+(c[d+4612>>2]|0);j=0;while(1){h=c[l>>2]|0;if((j|0)>=(h|0)){j=0;break}h=e+(j<<2)|0;p=+g[h>>2];p=+O(+(p*p+ +g[e+876+(j<<2)>>2]*k));g[h>>2]=p<32767.0?p:32767.0;j=j+1|0}while(1){if((j|0)>=(h|0))break;c[n+(j<<2)>>2]=~~(+g[e+(j<<2)>>2]*65536.0);j=j+1|0}uj(e+892|0,n|0,h<<2|0)|0;j=d+7200|0;a[e+908>>0]=a[j>>0]|0;ee(d+4768|0,n,j,(f|0)==2&1,c[l>>2]|0);j=0;while(1){if((j|0)>=(c[l>>2]|0))break;g[e+(j<<2)>>2]=+(c[n+(j<<2)>>2]|0)*.0000152587890625;j=j+1|0}j=a[m>>0]|0;do if(j<<24>>24==2){h=d+4798|0;if(+g[e+872>>2]+ +(c[d+4744>>2]|0)*.000030517578125>1.0){a[h>>0]=0;h=0;break}else{a[h>>0]=1;h=1;break}}else h=a[d+4798>>0]|0;while(0);g[e+852>>2]=+(c[d+4652>>2]|0)*-.05000000074505806+1.2000000476837158+ +(c[d+4556>>2]|0)*-.20000000298023224*.00390625+ +g[e+856>>2]*-.10000000149011612+ +g[e+860>>2]*-.20000000298023224+ +(b[29108+(j<<24>>24>>1<<2)+(h<<24>>24<<1)>>1]|0)*.0009765625*.800000011920929;i=o;return}function uh(a){a=+a;return +(1.0/(+X(+-a)+1.0))}function vh(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=0;while(1){if((d|0)==5)break;e=a+(d*6<<2)|0;g[e>>2]=+g[e>>2]+c;d=d+1|0}g[b>>2]=+g[b>>2]+c;return}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0.0,j=0.0,l=0,m=0.0,n=0,o=0.0;f=0;m=(+g[b>>2]+ +g[b+96>>2])*9.99999993922529e-09;n=0;while(1){if((n|0)<10){h=0;i=0.0}else{h=14;break}while(1){if((h|0)==5)break;j=i+ +g[d+(h<<2)>>2]*+g[a+(h<<2)>>2];h=h+1|0;i=j}j=e-i*2.0;l=0;while(1){f=(g[k>>2]=j,c[k>>2]|0);if((l|0)==5)break;else{f=l;i=0.0}while(1){h=f+1|0;if((f|0)==4)break;f=h;i=i+ +g[b+(l+(h*5|0)<<2)>>2]*+g[a+(h<<2)>>2]}o=+g[a+(l<<2)>>2];j=j+o*(i*2.0+ +g[b+(l*6<<2)>>2]*o);l=l+1|0}if(j>0.0){h=14;break}else h=0;while(1){if((h|0)==5)break;l=b+(h*6<<2)|0;g[l>>2]=+g[l>>2]+m;h=h+1|0}m=m*2.0;n=n+1|0}if((h|0)==14)return +(c[k>>2]=(n|0)==10?1065353216:f,+g[k>>2]);return +(0.0)}function xh(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+768|0;m=n;j=m+(h<<2)|0;k=h+e|0;l=k<<1;dh(m,c,b,l,h);o=+g[d>>2];g[a>>2]=o*o*+Mh(j,e);o=+g[d+4>>2];k=m+(k+h<<2)|0;g[a+4>>2]=o*o*+Mh(k,e);if((f|0)!=4){i=n;return}dh(m,c+64|0,b+(l<<2)|0,l,h);o=+g[d+8>>2];g[a+8>>2]=o*o*+Mh(j,e);o=+g[d+12>>2];g[a+12>>2]=o*o*+Mh(k,e);i=n;return}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0;h=i;i=i+1152|0;e=h+128|0;f=h+64|0;d=h;zh(a,5,e,d);Ah(e,5,b,f);a=0;while(1){if((a|0)==5)break;b=f+(a<<2)|0;g[b>>2]=+g[b>>2]*+g[d+(a<<2)>>2];a=a+1|0}Bh(e,5,f,c);i=h;return}function zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=i;i=i+128|0;s=u+64|0;r=u;p=(+g[a>>2]+ +g[a+((_(b,b)|0)+-1<<2)>>2])*4.999999873689376e-06;q=b+-1|0;f=1;h=0;a:while(1){if((h|0)<(b|0)&(f|0)==1)o=0;else break;b:while(1){if((o|0)>=(b|0)){t=16;break}n=_(o,b)|0;j=n+o|0;f=0;e=+g[a+(j<<2)>>2];while(1){if((f|0)==(o|0))break;w=+g[c+(n+f<<2)>>2];v=w*+g[r+(f<<2)>>2];g[s+(f<<2)>>2]=v;f=f+1|0;e=e-w*v}if(e<p)break;g[r+(o<<2)>>2]=e;m=d+(o<<2)|0;g[m>>2]=1.0/e;g[c+(j<<2)>>2]=1.0;f=o+1|0;k=c+((_(f,b)|0)<<2)|0;j=o;while(1){l=j+1|0;if((j|0)==(q|0)){o=f;continue b}else{j=0;e=0.0}while(1){if((j|0)==(o|0))break;v=e+ +g[k+(j<<2)>>2]*+g[s+(j<<2)>>2];j=j+1|0;e=v}g[c+((_(l,b)|0)+o<<2)>>2]=(+g[a+(n+l<<2)>>2]-e)*+g[m>>2];k=k+(b<<2)|0;j=l}}if((t|0)==16){t=0;f=0;h=h+1|0;continue}h=h+1|0;e=+(h|0)*p-e;f=0;while(1){if((f|0)==(b|0)){f=1;continue a}o=a+((_(f,b)|0)+f<<2)|0;g[o>>2]=+g[o>>2]+e;f=f+1|0}}i=u;return}function Ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=_(f,b)|0;h=0;i=0.0;while(1){if((h|0)==(f|0))break;j=i+ +g[a+(e+h<<2)>>2]*+g[d+(h<<2)>>2];h=h+1|0;i=j}g[d+(f<<2)>>2]=+g[c+(f<<2)>>2]-i;f=f+1|0}return}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0.0;e=b;while(1){i=e+-1|0;if((e|0)>0){f=b;h=0.0}else break;while(1){e=f+-1|0;if((e|0)<=(i|0))break;j=+g[a+(i+(_(e,b)|0)<<2)>>2];f=e;h=h+j*+g[d+(e<<2)>>2]}g[d+(i<<2)>>2]=+g[c+(i<<2)>>2]-h;e=i}return}function Ch(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;var f=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0;q=i;i=i+272|0;o=q+136|0;p=q;rj(o|0,0,136)|0;rj(p|0,0,136)|0;f=o+(e<<3)|0;m=p+(e<<3)|0;k=0.0;n=0;while(1){if((n|0)>=(d|0))break;j=0;l=+g[b+(n<<2)>>2];while(1){if((j|0)>=(e|0))break;v=j|1;w=o+(v<<3)|0;t=+h[w>>3];r=k+c*(t-l);h[o+(j<<3)>>3]=l;u=p+(j<<3)|0;h[u>>3]=+h[u>>3]+ +h[o>>3]*l;u=j+2|0;s=+h[o+(u<<3)>>3];h[w>>3]=r;v=p+(v<<3)|0;h[v>>3]=+h[v>>3]+ +h[o>>3]*r;k=s;j=u;l=t+c*(s-r)}h[f>>3]=l;k=+h[o>>3];h[m>>3]=+h[m>>3]+k*l;n=n+1|0}f=e+1|0;j=0;while(1){if((j|0)>=(f|0))break;g[a+(j<<2)>>2]=+h[p+(j<<3)>>3];j=j+1|0}i=q;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+64|0;e=h;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=Ih(+g[b+(f<<2)>>2]*65536.0)|0;f=f+1|0}Nf(a,e,d);i=h;return}function Eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=f;gg(e,c,d);c=0;while(1){if((c|0)>=(d|0))break;g[a+(c<<2)>>2]=+(b[e+(c<<1)>>1]|0)*.000244140625;c=c+1|0}i=f;return}function Fh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;i=i+64|0;h=j;vf(a,h,e,f);e=a+4664|0;a=0;while(1){if((a|0)==2)break;else f=0;while(1){if((f|0)>=(c[e>>2]|0))break;g[d+(a<<6)+(f<<2)>>2]=+(b[h+(a<<5)+(f<<1)>>1]|0)*.000244140625;f=f+1|0}a=a+1|0}i=j;return}function Gh(d,e,f,h,j,k){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+1584|0;z=A+64|0;t=A+48|0;x=A+1512|0;w=A+1472|0;s=A+1344|0;v=A+32|0;y=A+16|0;u=A;r=c[d+4604>>2]|0;o=d+4660|0;p=0;while(1){if((p|0)>=(r|0)){l=0;break}n=c[o>>2]|0;l=p<<4;q=0;while(1){if((q|0)>=(n|0))break;B=l+q|0;b[s+(B<<1)>>1]=Ih(+g[e+500+(B<<2)>>2]*8192.0)|0;q=q+1|0}p=p+1|0}while(1){if((l|0)>=(r|0))break;B=(Ih(+g[e+772+(l<<2)>>2]*16384.0)|0)<<16;c[v+(l<<2)>>2]=B|(Ih(+g[e+756+(l<<2)>>2]*16384.0)|0)&65535;c[y+(l<<2)>>2]=Ih(+g[e+820+(l<<2)>>2]*16384.0)|0;c[u+(l<<2)>>2]=Ih(+g[e+836+(l<<2)>>2]*16384.0)|0;l=l+1|0}m=+g[e+852>>2]*1024.0;l=r*5|0;n=0;while(1){if((n|0)>=(l|0))break;b[w+(n<<1)>>1]=Ih(+g[e+144+(n<<2)>>2]*16384.0)|0;n=n+1|0}q=Ih(m)|0;o=d+4664|0;p=0;while(1){if((p|0)==2){l=0;break}n=c[o>>2]|0;l=0;while(1){if((l|0)>=(n|0))break;b[x+(p<<5)+(l<<1)>>1]=Ih(+g[e+16+(p<<6)+(l<<2)>>2]*4096.0)|0;l=l+1|0}p=p+1|0}while(1){if((l|0)>=(r|0))break;c[t+(l<<2)>>2]=Ih(+g[e+(l<<2)>>2]*65536.0)|0;l=l+1|0}if((a[f+29>>0]|0)==2)n=b[29116+(a[f+33>>0]<<1)>>1]|0;else n=0;l=c[d+4608>>2]|0;o=0;while(1){if((o|0)>=(l|0))break;c[z+(o<<2)>>2]=Ih(+g[k+(o<<2)>>2]*8.0)|0;o=o+1|0}if((c[d+4652>>2]|0)<=1?(c[d+4704>>2]|0)<=0:0){se(d,h,f,z,j,x,w,s,u,y,v,t,e+228|0,q,n);i=A;return}ye(d,h,f,z,j,x,w,s,u,y,v,t,e+228|0,q,n);i=A;return}function Hh(a,d,e,f,h,j,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+448|0;r=s+400|0;p=s;q=l*5|0;n=0;while(1){if((n|0)>=(q|0))break;b[r+(n<<1)>>1]=Ih(+g[a+(n<<2)>>2]*16384.0)|0;n=n+1|0}n=l*25|0;o=0;while(1){if((o|0)>=(n|0))break;c[p+(o<<2)>>2]=Ih(+g[h+(o<<2)>>2]*262144.0)|0;o=o+1|0}kf(r,d,e,f,p,j,k,l,m);n=0;while(1){if((n|0)>=(q|0))break;g[a+(n<<2)>>2]=+(b[r+(n<<1)>>1]|0)*.00006103515625;n=n+1|0}i=s;return}function Ih(a){a=+a;return kj(a)|0}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;d=(d|0)>(c|0)?c:d;e=0;while(1){if((e|0)>=(d|0))break;g[a+(e<<2)>>2]=+Nh(b,b+(e<<2)|0,c-e|0);e=e+1|0}return}function Kh(a,b,d,e,f,j){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;j=j|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0;F=i;i=i+656|0;A=F+528|0;B=F+400|0;D=F+264|0;z=F+128|0;E=F;k=+Mh(b,_(f,e)|0);n=A;o=n+128|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=j+1|0;p=0;while(1){if((p|0)>=(f|0))break;n=_(p,e)|0;l=b+(n<<2)|0;q=1;while(1){if((q|0)>=(o|0))break;y=+Nh(l,b+(n+q<<2)|0,e-q|0);w=A+(q+-1<<3)|0;h[w>>3]=+h[w>>3]+y;q=q+1|0}p=p+1|0}n=B;l=A;o=n+128|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(o|0));y=k*9.999999747378752e-06;v=k+y+9.999999717180685e-10;h[D>>3]=v;h[z>>3]=v;v=d;w=1;n=0;x=2;m=1.0;while(1){if((n|0)>=(j|0))break;q=e-n|0;l=q+-1|0;u=0;while(1){if((u|0)>=(f|0))break;t=_(u,e)|0;s=+g[b+(t+l<<2)>>2];p=b+(t+n<<2)|0;o=0;d=+g[b+(t+n<<2)>>2];r=s;while(1){if((n|0)==(o|0)){p=0;break}I=+g[b+(t+(n-o+-1)<<2)>>2];J=A+(o<<3)|0;h[J>>3]=+h[J>>3]-+g[p>>2]*I;H=+g[b+(t+(q+o)<<2)>>2];J=B+(o<<3)|0;h[J>>3]=+h[J>>3]-s*H;G=+h[E+(o<<3)>>3];o=o+1|0;d=d+I*G;r=r+H*G}while(1){if((p|0)==(w|0))break;J=D+(p<<3)|0;h[J>>3]=+h[J>>3]-d*+g[b+(t+(n-p)<<2)>>2];J=z+(p<<3)|0;h[J>>3]=+h[J>>3]-r*+g[b+(t+(q+p+-1)<<2)>>2];p=p+1|0}u=u+1|0}p=0;d=+h[A+(n<<3)>>3];s=+h[B+(n<<3)>>3];while(1){if((n|0)==(p|0))break;G=+h[E+(p<<3)>>3];J=n-p+-1|0;p=p+1|0;d=d+ +h[B+(J<<3)>>3]*G;s=s+ +h[A+(J<<3)>>3]*G}u=n+1|0;h[D+(u<<3)>>3]=d;h[z+(u<<3)>>3]=s;d=+h[z>>3];r=+h[D>>3];p=0;while(1){if((n|0)==(p|0))break;G=+h[E+(p<<3)>>3];J=p+1|0;d=d+ +h[z+(J<<3)>>3]*G;r=r+ +h[D+(J<<3)>>3]*G;s=s+ +h[z+(n-p<<3)>>3]*G;p=J}r=s*-2.0/(r+d);d=m*(1.0-r*r);if(d<=v){r=+O(+(1.0-v/m));if(s>0.0){m=v;r=-r;l=1}else{m=v;l=1}}else{m=d;l=0}p=u>>1;o=0;while(1){if((o|0)>=(p|0))break;t=E+(o<<3)|0;G=+h[t>>3];J=E+(n-o+-1<<3)|0;s=+h[J>>3];h[t>>3]=G+r*s;h[J>>3]=s+r*G;o=o+1|0}h[E+(n<<3)>>3]=r;if(!l)p=0;else{C=30;break}while(1){if((p|0)==(x|0))break;t=D+(p<<3)|0;G=+h[t>>3];J=z+(n-p+1<<3)|0;s=+h[J>>3];h[t>>3]=G+r*s;h[J>>3]=s+r*G;p=p+1|0}w=w+1|0;n=u;x=x+1|0}if((C|0)==30){while(1){n=n+1|0;if((n|0)>=(j|0))break;h[E+(n<<3)>>3]=0.0;C=30}if(l){l=0;while(1){if((l|0)>=(j|0)){l=0;break}g[a+(l<<2)>>2]=-+h[E+(l<<3)>>3];l=l+1|0}while(1){if((l|0)>=(f|0))break;k=k-+Mh(b+((_(l,e)|0)<<2)|0,j);l=l+1|0}G=k*m;i=F;return +G}}k=+h[D>>3];l=0;m=1.0;while(1){if((l|0)>=(j|0))break;G=+h[E+(l<<3)>>3];J=l+1|0;v=k+ +h[D+(J<<3)>>3]*G;g[a+(l<<2)>>2]=-G;k=v;l=J;m=m+G*G}G=k-y*m;i=F;return +G}function Lh(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,f=0;b=b+-1|0;d=c;e=0;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;g[f>>2]=+g[f>>2]*d;d=d*c;e=e+1|0}a=a+(b<<2)|0;g[a>>2]=+g[a>>2]*d;return}function Mh(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0,h=0.0,i=0.0,j=0.0,k=0.0;e=b&65532;d=b&65532;c=0.0;f=0;while(1){if((f|0)>=(e|0))break;k=+g[a+(f<<2)>>2];j=+g[a+((f|1)<<2)>>2];i=+g[a+((f|2)<<2)>>2];h=+g[a+((f|3)<<2)>>2];c=c+(k*k+j*j+i*i+h*h);f=f+4|0}while(1){if((d|0)>=(b|0))break;k=+g[a+(d<<2)>>2];d=d+1|0;c=c+k*k}return +c}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;f=c&65532;e=c&65532;d=0.0;h=0;while(1){if((h|0)>=(f|0))break;k=h|1;j=h|2;i=h|3;d=d+(+g[a+(h<<2)>>2]*+g[b+(h<<2)>>2]+ +g[a+(k<<2)>>2]*+g[b+(k<<2)>>2]+ +g[a+(j<<2)>>2]*+g[b+(j<<2)>>2]+ +g[a+(i<<2)>>2]*+g[b+(i<<2)>>2]);h=h+4|0}while(1){if((e|0)>=(c|0))break;l=d+ +g[a+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0;d=l}return +d}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;h=k;j=0;while(1){if((j|0)<(d|0))e=0;else break;while(1){if((e|0)==(j|0))break;c[h+(e<<2)>>2]=c[a+(e<<2)>>2];e=e+1|0}e=b+(j<<2)|0;f=0;while(1){if((j|0)==(f|0))break;l=a+(f<<2)|0;g[l>>2]=+g[l>>2]+ +g[h+(j-f+-1<<2)>>2]*+g[e>>2];f=f+1|0}g[a+(j<<2)>>2]=-+g[e>>2];j=j+1|0}i=k;return}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0.0,j=0,l=0.0,m=0,n=0,o=0.0,p=0;i=+g[b>>2];l=i*9.999999960041972e-13+9.999999717180685e-10;i=l>i?l:i;m=b+4|0;e=+g[m>>2]/i;g[a>>2]=e;e=i-e*+g[m>>2];if(l>e){m=1;e=l}else m=1;while(1){if((m|0)>=(d|0))break;j=m+1|0;f=0;h=c[b+(j<<2)>>2]|0;while(1){if((m|0)==(f|0))break;n=(g[k>>2]=(c[k>>2]=h,+g[k>>2])-+g[a+(f<<2)>>2]*+g[b+(m-f<<2)>>2],c[k>>2]|0);f=f+1|0;h=n}o=(c[k>>2]=h,+g[k>>2]);i=o/e;e=e-i*o;e=l>e?l:e;h=m>>1;f=0;while(1){if((f|0)>=(h|0))break;n=a+(f<<2)|0;p=a+(m-f+-1<<2)|0;o=+g[p>>2];g[p>>2]=o-i*+g[n>>2];g[n>>2]=+g[n>>2]-i*o;f=f+1|0}if(m&1){n=a+(h<<2)|0;o=+g[n>>2];g[n>>2]=o-i*o}g[a+(m<<2)>>2]=i;m=j}return +e}function Qh(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0.0,h=0,j=0,k=0,l=0.0,m=0,n=0;n=i;i=i+128|0;k=n;j=b&1;e=k+(j<<6)|0;uj(e|0,a|0,b<<2|0)|0;a=e;l=1.0;while(1){h=b+-1|0;if((b|0)<=1)break;f=+g[k+(j<<6)+(h<<2)>>2];d=-f;if(f<-.9998999834060669|f>.9998999834060669){c=0.0;m=10;break}f=1.0-d*d;c=1.0/f;b=h&1;a=k+(b<<6)|0;e=0;while(1){if((h|0)<=(e|0))break;g[k+(b<<6)+(e<<2)>>2]=(+g[k+(j<<6)+(e<<2)>>2]-+g[k+(j<<6)+(h-e+-1<<2)>>2]*d)*c;e=e+1|0}j=b;l=l*f;b=h}if((m|0)==10){i=n;return +c}d=+g[a>>2];c=-d;if(d<-.9998999834060669|d>.9998999834060669){l=0.0;i=n;return +l}l=l*(1.0-c*c);i=n;return +l}function Rh(d,f,h,j,l,m,n,o,p,q,r,s){d=d|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=+n;o=+o;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.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;W=i;i=i+13680|0;L=W+8888|0;E=W+8248|0;A=W+13032|0;D=W+12712|0;t=W;N=W+5864|0;F=W+5604|0;O=W+5560|0;P=W+5464|0;J=W+12408|0;T=W+2744|0;S=W+24|0;u=W+11128|0;v=W+10168|0;x=_((r*5|0)+20|0,p)|0;w=(r*20|0)+80|0;C=(r*40|0)+160|0;Q=p*5|0;V=p<<1;U=p*18|0;R=U+-1|0;K=(p|0)==16;do if(!K)if((p|0)==12){Sh(v,d,x);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;qg(t,A,v,x);Th(L,A,C);x=t;break}else{Sh(A,d,C);x=t;break}else{Sh(u,d,x);M=t;c[M>>2]=0;c[M+4>>2]=0;rg(t,A,u,x);Th(L,A,C);x=t}while(0);M=t;c[M>>2]=0;c[M+4>>2]=0;rg(x,D,A,C);Th(E,D,w);while(1){x=w+-1|0;if((w|0)<=1)break;M=E+(x<<2)|0;g[M>>2]=+g[M>>2]+ +g[E+(w+-2<<2)>>2];w=x}rj(N|0,0,r*596|0)|0;v=r>>1;u=F+256|0;D=N+32|0;t=0;w=E+320|0;while(1){if((t|0)>=(v|0)){x=72;break}A=w+-32|0;Rc(w,w+-288|0,F,40,65,s);I=+g[u>>2];B=+Mh(w,40);B=B+ +Mh(A,40)+16.0e4;g[D>>2]=+g[D>>2]+I*2.0/B;x=8;while(1){C=x+1|0;if((x|0)==72)break;M=A+-4|0;z=+g[M>>2];I=+g[A+156>>2];I=B+(z*z-I*I);E=N+(C<<2)|0;g[E>>2]=+g[E>>2]+ +g[F+(71-x<<2)>>2]*2.0/I;A=M;B=I;x=C}t=t+1|0;w=w+160|0}while(1){if((x|0)<8)break;M=N+(x<<2)|0;B=+g[M>>2];g[M>>2]=B-B*+(x|0)*.000244140625;x=x+-1|0}x=(q<<1)+4|0;ai(D,P,65,x);z=+g[D>>2];if(z<.20000000298023224){rj(f|0,0,r<<2|0)|0;g[l>>2]=0.0;b[h>>1]=0;a[j>>0]=0;h=1;i=W;return h|0}z=z*n;w=0;while(1){if((w|0)>=(x|0)){w=x;break}if(!(+g[N+(w+8<<2)>>2]>z))break;M=P+(w<<2)|0;c[M>>2]=(c[M>>2]<<1)+16;w=w+1|0}x=11;while(1){if((x|0)==148){x=0;break}b[J+(x<<1)>>1]=0;x=x+1|0}while(1){if((x|0)>=(w|0)){x=146;break}b[J+(c[P+(x<<2)>>2]<<1)>>1]=1;x=x+1|0}while(1){if((x|0)<16){M=0;w=16;break}M=x+-1|0;D=J+(x<<1)|0;b[D>>1]=(e[D>>1]|0)+((e[J+(M<<1)>>1]|0)+(e[J+(x+-2<<1)>>1]|0));x=M}while(1){if((w|0)==144){x=146;break}x=w+1|0;if((b[J+(x<<1)>>1]|0)<=0){w=x;continue}c[P+(M<<2)>>2]=w;M=M+1|0;w=x}while(1){if((x|0)<16){x=0;w=16;break}D=x+-1|0;C=J+(x<<1)|0;b[C>>1]=(e[C>>1]|0)+((e[J+(D<<1)>>1]|0)+(e[J+(x+-2<<1)>>1]|0)+(e[J+(x+-3<<1)>>1]|0));x=D}while(1){if((w|0)==147)break;if((b[J+(w<<1)>>1]|0)>0){b[J+(x<<1)>>1]=w+65534;x=x+1|0}w=w+1|0}rj(N|0,0,2384)|0;D=(p|0)==8;if(D){C=0;u=d+640|0}else{C=0;u=L+640|0}while(1){if((C|0)>=(r|0))break;y=+Mh(u,40)+1.0;v=0;while(1){if((v|0)>=(x|0))break;w=b[J+(v<<1)>>1]|0;A=u+(0-w<<2)|0;z=+Nh(A,u,40);if(z>0.0)z=z*2.0/(+Mh(A,40)+y);else z=0.0;g[N+(C*596|0)+(w<<2)>>2]=z;v=v+1|0}C=C+1|0;u=u+160|0}if((m|0)>0){L=(p|0)==12?(m<<1|0)/3|0:K?m>>1:m;x=L;I=+Uh(+(L|0))}else{x=m;I=0.0}L=(r|0)==4;if(L){J=34668;K=11;t=D&(q|0)>0?11:3}else{J=34634;K=3;t=3}G=+(r|0);H=G*.20000000298023224;v=(x|0)>0;y=G*o;u=0;F=0;w=-998637568;E=-1;m=0;while(1){if((m|0)>=(M|0))break;x=c[P+(m<<2)>>2]|0;C=0;while(1){if((C|0)>=(t|0)){C=0;A=-998637568;D=0;break}D=O+(C<<2)|0;g[D>>2]=0.0;B=0.0;A=0;while(1){if((A|0)>=(r|0))break;o=B+ +g[N+(A*596|0)+(x+(a[J+((_(A,K)|0)+C)>>0]|0)<<2)>>2];g[D>>2]=o;B=o;A=A+1|0}C=C+1|0}while(1){if((D|0)>=(t|0))break;B=+g[O+(D<<2)>>2];X=B>(c[k>>2]=A,+g[k>>2]);C=X?D:C;A=X?(g[k>>2]=B,c[k>>2]|0):A;D=D+1|0}z=+Uh(+(x|0));n=(c[k>>2]=A,+g[k>>2]);B=n-H*z;if(v){o=z-I;o=o*o;B=B-H*+g[l>>2]*o/(o+.5)}D=(g[k>>2]=B,c[k>>2]|0);X=B>(c[k>>2]=w,+g[k>>2])&n>y;u=X?C:u;F=X?A:F;w=X?D:w;E=X?x:E;m=m+1|0}if((E|0)==-1){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[l>>2]=0.0;b[h>>1]=0;a[j>>0]=0;X=1;i=W;return X|0}g[l>>2]=(c[k>>2]=F,+g[k>>2])/G;if((p|0)>8){if((p|0)==12){x=(E<<16>>16)*3|0;x=(x>>1)+(x&1)|0}else x=E<<1;if((V|0)>(R|0))if((x|0)>(V|0))w=V;else w=(x|0)<(R|0)?R:x;else if((x|0)>(R|0))w=R;else w=(x|0)<(V|0)?V:x;v=Vh(w+-2|0,V)|0;E=Wh(w+2|0,R)|0;Xh(S,d,v,Q,r,q,s);Yh(T,d,v,Q,r,q);n=.05000000074505806/+(w|0);if(L){m=34712;F=34;D=a[34872+q>>0]|0}else{m=34640;F=12;D=12}B=+Mh(d+(p*20<<2)|0,_(Q,r)|0)+1.0;u=0;x=-998637568;C=0;A=w;t=v;while(1){if((t|0)>(E|0))break;else{w=A;A=0}while(1){if((A|0)<(D|0)){y=0.0;z=B;v=0}else break;while(1){if((v|0)>=(r|0))break;y=y+ +g[S+(v*680|0)+(A*20|0)+(C<<2)>>2];z=z+ +g[T+(v*680|0)+(A*20|0)+(C<<2)>>2];v=v+1|0}if(y>0.0)y=y*2.0/z*(1.0-n*+(A|0));else y=0.0;v=(g[k>>2]=y,c[k>>2]|0);if(y>(c[k>>2]=x,+g[k>>2])){X=(t+(a[34712+A>>0]|0)|0)>(R|0);u=X?u:A;x=X?x:v;w=X?w:t}A=A+1|0}C=C+1|0;A=w;t=t+1|0}v=(V|0)>(U|0);x=0;while(1){if((x|0)>=(r|0))break;t=A+(a[m+((_(x,F)|0)+u)>>0]|0)|0;w=f+(x<<2)|0;c[w>>2]=t;if(v)if((t|0)>(V|0))t=V;else t=(t|0)<(U|0)?U:t;else if((t|0)>(U|0))t=U;else t=(t|0)<(V|0)?V:t;c[w>>2]=t;x=x+1|0}t=A-V|0}else{t=0;while(1){if((t|0)>=(r|0))break;V=E+(a[J+((_(t,K)|0)+u)>>0]|0)|0;X=f+(t<<2)|0;c[X>>2]=V;c[X>>2]=(V|0)>144?144:(V|0)<16?16:V;t=t+1|0}t=E+65520|0}b[h>>1]=t;a[j>>0]=u;X=0;i=W;return X|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){e=d+-1|0;if((d|0)<=0)break;d=kj(+g[c+(e<<2)>>2])|0;b[a+(e<<1)>>1]=(d|0)>32767?32767:(d|0)<-32768?-32768:d;d=e}return}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;while(1){e=d+-1|0;if((d|0)<=0)break;g[a+(e<<2)>>2]=+(b[c+(e<<1)>>1]|0);d=e}return}function Uh(a){a=+a;return +(+jj(a)*3.32192809488736)}function Vh(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Wh(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Xh(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|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;v=i;i=i+176|0;s=v+88|0;u=v;if((g|0)==4){q=34712;r=34848+(h<<3)|0;t=34;p=a[34872+h>>0]|0}else{q=34640;r=34664;t=12;p=12}o=0;n=d+(f<<2<<2)|0;while(1){if((o|0)>=(g|0))break;d=o<<1;m=a[r+d>>0]|0;d=a[r+(d|1)>>0]|0;Rc(n,n+(0-(d+e)<<2)|0,u,f,d-m+1|0,j);h=0;k=m;while(1){if((d|0)<(k|0))break;c[s+(h<<2)>>2]=c[u+(d-k<<2)>>2];h=h+1|0;k=k+1|0}k=_(o,t)|0;h=0;while(1){if((h|0)>=(p|0))break;d=(a[q+(k+h)>>0]|0)-m|0;l=0;while(1){if((l|0)==5)break;c[b+(o*680|0)+(h*20|0)+(l<<2)>>2]=c[s+(d+l<<2)>>2];l=l+1|0}h=h+1|0}o=o+1|0;n=n+(f<<2)|0}i=v;return}function Yh(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=i;i=i+96|0;t=v;if((h|0)==4){r=34712;s=34848+(j<<3)|0;u=34;q=a[34872+j>>0]|0}else{r=34640;s=34664;u=12;q=12}p=0;o=d+(f<<2<<2)|0;while(1){if((p|0)>=(h|0))break;j=p<<1;n=a[s+j>>0]|0;d=n+e|0;k=+Mh(o+(0-d<<2)|0,f)+.001;g[t>>2]=k;j=(a[s+(j|1)>>0]|0)-n+1|0;l=1;while(1){if((l|0)>=(j|0))break;x=+g[o+(f-l-d<<2)>>2];w=+g[o+(0-(d+l)<<2)>>2];w=k-x*x+w*w;g[t+(l<<2)>>2]=w;k=w;l=l+1|0}d=_(p,u)|0;l=0;while(1){if((l|0)>=(q|0))break;j=(a[r+(d+l)>>0]|0)-n|0;m=0;while(1){if((m|0)==5)break;c[b+(p*680|0)+(l*20|0)+(m<<2)>>2]=c[t+(j+m<<2)>>2];m=m+1|0}l=l+1|0}p=p+1|0;o=o+(f<<2)|0}i=v;return}function Zh(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0,h=0,i=0;f=d&65532;e=d&65532;h=0;while(1){if((h|0)>=(f|0))break;g[a+(h<<2)>>2]=+g[b+(h<<2)>>2]*c;i=h|1;g[a+(i<<2)>>2]=+g[b+(i<<2)>>2]*c;i=h|2;g[a+(i<<2)>>2]=+g[b+(i<<2)>>2]*c;i=h|3;g[a+(i<<2)>>2]=+g[b+(i<<2)>>2]*c;h=h+4|0}while(1){if((e|0)>=(d|0))break;g[a+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function _h(a,b){a=a|0;b=+b;var c=0,d=0;c=0;while(1){if((c|0)>=24){c=24;break}d=a+(c<<2)|0;g[d>>2]=+g[d>>2]*b;d=a+((c|1)<<2)|0;g[d>>2]=+g[d>>2]*b;d=a+((c|2)<<2)|0;g[d>>2]=+g[d>>2]*b;d=a+((c|3)<<2)|0;g[d>>2]=+g[d>>2]*b;c=c+4|0}while(1){if((c|0)>=25)break;d=a+(c<<2)|0;g[d>>2]=+g[d>>2]*b;c=c+1|0}return}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0;m=i;i=i+144|0;l=m;e=d+1|0;f=0;while(1){if((f|0)>=(e|0))break;j=c[b+(f<<2)>>2]|0;c[l+(f<<3)+4>>2]=j;c[l+(f<<3)>>2]=j;f=f+1|0}b=l+4|0;j=0;a:while(1){if((j|0)>=(d|0))break;e=j+1|0;h=+g[b>>2];h=-+g[l+(e<<3)>>2]/(h>9.999999717180685e-10?h:9.999999717180685e-10);g[a+(j<<2)>>2]=h;f=d-j|0;k=0;while(1){if((k|0)>=(f|0)){j=e;continue a}q=l+(k+j+1<<3)|0;o=+g[q>>2];n=l+(k<<3)+4|0;p=+g[n>>2];g[q>>2]=o+p*h;g[n>>2]=p+o*h;k=k+1|0}}i=m;return +(+g[b>>2])}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0.0,j=0,l=0,m=0,n=0;f=0;while(1){if((f|0)>=(e|0)){j=1;break}c[b+(f<<2)>>2]=f;f=f+1|0}while(1){if((j|0)>=(e|0))break;f=c[a+(j<<2)>>2]|0;i=(c[k>>2]=f,+g[k>>2]);m=j;while(1){l=m+-1|0;if((m|0)<=0)break;h=+g[a+(l<<2)>>2];if(!(i>h))break;g[a+(m<<2)>>2]=h;c[b+(m<<2)>>2]=c[b+(l<<2)>>2];m=l}c[a+(m<<2)>>2]=f;c[b+(m<<2)>>2]=j;j=j+1|0}m=a+(e+-1<<2)|0;n=e+-2|0;j=e;while(1){if((j|0)>=(d|0))break;f=c[a+(j<<2)>>2]|0;h=(c[k>>2]=f,+g[k>>2]);if(h>+g[m>>2]){l=n;while(1){if((l|0)<=-1)break;i=+g[a+(l<<2)>>2];if(!(h>i))break;e=l+1|0;g[a+(e<<2)>>2]=i;c[b+(e<<2)>>2]=c[b+(l<<2)>>2];l=l+-1|0}e=l+1|0;c[a+(e<<2)>>2]=f;c[b+(e<<2)>>2]=j}j=j+1|0}return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0;if((d|0)<1|(b|0)<1|(a|0)==0|(e|0)==0)return;f=_(b,d)|0;j=0;while(1){if((j|0)>=(f|0)){u=0;break}i=a+(j<<2)|0;h=+g[i>>2];if(!(h>2.0)){if(h<-2.0)h=-2.0}else h=2.0;g[i>>2]=h;j=j+1|0}while(1){if((u|0)==(d|0))break;s=a+(u<<2)|0;t=e+(u<<2)|0;h=+g[t>>2];i=0;while(1){if((i|0)>=(b|0))break;j=a+(u+(_(i,d)|0)<<2)|0;l=+g[j>>2];m=l*h;if(m>=0.0)break;g[j>>2]=l+m*l;i=i+1|0}r=+g[s>>2];o=0;while(1){i=o;while(1){if((i|0)>=(b|0))break;m=+g[a+(u+(_(i,d)|0)<<2)>>2];if(m>1.0|m<-1.0)break;i=i+1|0}if((i|0)==(b|0)){f=0;break}h=+g[a+(u+(_(i,d)|0)<<2)>>2];m=+N(+h);n=i;while(1){if((n|0)<=0){q=i;l=m;p=i;break}j=n+-1|0;if(!(h*+g[a+(u+(_(j,d)|0)<<2)>>2]>=0.0)){q=i;l=m;p=i;break}else n=j}while(1){if((q|0)>=(b|0))break;m=+g[a+(u+(_(q,d)|0)<<2)>>2];if(!(h*m>=0.0))break;m=+N(+m);i=m>l;j=i?q:p;q=q+1|0;l=i?m:l;p=j}if(!n)i=h*+g[s>>2]>=0.0;else i=0;m=(l+-1.0)/(l*l);m=h>0.0?-m:m;f=(g[k>>2]=m,c[k>>2]|0);j=n;while(1){if((j|0)>=(q|0))break;n=a+(u+(_(j,d)|0)<<2)|0;l=+g[n>>2];g[n>>2]=l+m*l*l;j=j+1|0}a:do if(i&(p|0)>1){m=r-+g[s>>2];h=m/+(p|0);i=o;while(1){if((i|0)>=(p|0))break a;m=m-h;j=a+(u+(_(i,d)|0)<<2)|0;l=+g[j>>2]+m;g[j>>2]=l;if(!(l>1.0)){if(l<-1.0)l=-1.0}else l=1.0;g[j>>2]=l;i=i+1|0}}while(0);if((q|0)==(b|0))break;else o=q}c[t>>2]=f;u=u+1|0}return}function ci(b,c){b=b|0;c=c|0;var d=0;if((b|0)<252){a[c>>0]=b;b=1;return b|0}else{d=b|252;a[c>>0]=d;a[c+1>>0]=(b-(d&255)|0)>>>2;b=2;return b|0}return 0}function di(b,c){b=b|0;c=c|0;b=a[b>>0]|0;do if(b<<24>>24>=0)if((b&96)==96)if(!(b&8)){b=(c|0)/100|0;break}else{b=(c|0)/50|0;break}else{b=(b&255)>>>3&3;if((b|0)==3){b=(c*60|0)/1e3|0;break}else{b=(c<<b|0)/100|0;break}}else b=(c<<((b&255)>>>3&3)|0)/400|0;while(0);return b|0}function ei(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;if(!i){i=-1;return i|0}n=di(d,48e3)|0;p=d+1|0;r=p;S=a[d>>0]|0;z=e+-1|0;a:do switch(S&3|0){case 0:{G=z;D=r;E=0;F=1;o=z;B=0;x=28;break}case 1:{if(!f)if(!(z&1)){J=(z|0)/2|0;b[i>>1]=J;H=r;I=2;K=0;x=36;break a}else{i=-4;return i|0}else{N=z;m=r;O=1;Q=2;P=z;R=0;x=29}break}case 2:{q=fi(p,z,i)|0;p=z-q|0;r=b[i>>1]|0;if(r<<16>>16<0){i=-4;return i|0}r=r<<16>>16;if((p|0)<(r|0)){i=-4;return i|0}else{G=p;D=d+(q+1)|0;E=0;F=2;o=p-r|0;B=0;x=28;break a}}default:{if((e|0)<2){i=-4;return i|0}q=d+2|0;t=a[p>>0]|0;C=t&63;if((C|0)==0|(_(n,C)|0)>5760){i=-4;return i|0}r=e+-2|0;if(t&64){s=0;while(1){if((r|0)<1){A=-4;x=49;break}v=q;w=v+1|0;v=a[v>>0]|0;u=r+-1|0;if(v<<24>>24!=-1)break;r=u-254|0;q=w;s=s+254|0}if((x|0)==49)return A|0;q=v&255;r=u-q|0;if((r|0)<0){i=-4;return i|0}else{n=r;e=w;y=s+q|0}}else{n=r;e=q;y=0}x=(t&255)>>>7;w=x&255^1;if(x<<24>>24!=1){if(f){N=n;m=e;O=w;Q=C;P=z;R=y;x=29;break a}o=(n|0)/(C|0)|0;if((_(o,C)|0)!=(n|0)){i=-4;return i|0}r=C+-1|0;q=o&65535;p=0;while(1){if((p|0)>=(r|0)){G=n;D=e;E=w;F=C;B=y;x=28;break a}b[i+(p<<1)>>1]=q;p=p+1|0}}u=C+-1|0;v=n;t=e;s=n;n=0;while(1){if((n|0)>=(u|0)){x=22;break}e=t;r=i+(n<<1)|0;q=fi(e,v,r)|0;p=v-q|0;r=b[r>>1]|0;if(r<<16>>16<0){A=-4;x=49;break}r=r<<16>>16;if((r|0)>(p|0)){A=-4;x=49;break}v=p;t=e+q|0;s=s-(q+r)|0;n=n+1|0}if((x|0)==22){if((s|0)<0)A=-4;else{G=v;D=t;E=w;F=C;o=s;B=y;x=28;break a}return A|0}else if((x|0)==49)return A|0}}while(0);if((x|0)==28)if(!f){H=D;I=F;J=o;K=B;x=36}else{N=G;m=D;O=E;Q=F;P=o;R=B;x=29}b:do if((x|0)==29){q=Q+-1|0;r=i+(q<<1)|0;p=fi(m,N,r)|0;o=N-p|0;n=b[r>>1]|0;if(n<<16>>16<0){i=-4;return i|0}n=n<<16>>16;if((n|0)>(o|0)){i=-4;return i|0}l=m+p|0;if(!O){if((p+n|0)>(P|0))A=-4;else{L=Q;M=R;break}return A|0}if((_(n,Q)|0)>(o|0)){i=-4;return i|0}else n=0;while(1){if((n|0)>=(q|0)){L=Q;M=R;break b}b[i+(n<<1)>>1]=b[r>>1]|0;n=n+1|0}}else if((x|0)==36)if((J|0)>1275){i=-4;return i|0}else{b[i+(I+-1<<1)>>1]=J;l=H;L=I;M=K;break}while(0);if(j)c[j>>2]=l-d;n=(h|0)==0;m=0;while(1){if((m|0)>=(L|0))break;if(!n)c[h+(m<<2)>>2]=l;l=l+(b[i+(m<<1)>>1]|0)|0;m=m+1|0}if(k)c[k>>2]=M+(l-d);if(!g){i=L;return i|0}a[g>>0]=S;i=L;return i|0}function fi(c,e,f){c=c|0;e=e|0;f=f|0;var g=0;if((e|0)<1){b[f>>1]=-1;f=-1;return f|0}g=a[c>>0]|0;if((g&255)<252){b[f>>1]=g&255;f=1;return f|0}if((e|0)<2){b[f>>1]=-1;f=-1;return f|0}else{b[f>>1]=((d[c+1>>0]|0)<<2)+(g&255);f=2;return f|0}return 0}function gi(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;if((a|0)<1|(a|0)>2){b=0;i=d;return b|0}if(Vd(b)|0){b=0;i=d;return b|0}e=pi(c[b>>2]|0)|0;c[b>>2]=e;b=Mb(a)|0;b=(pi(88)|0)+e+b|0;i=d;return b|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=j+4|0;a:do if((b|0)<16e3)if((b|0)<12e3)switch(b|0){case 8e3:{h=2;break a}default:{e=-1;break a}}else switch(b|0){case 12e3:{h=2;break a}default:{e=-1;break a}}else{if((b|0)<24e3)switch(b|0){case 16e3:{h=2;break a}default:{e=-1;break a}}if((b|0)<48e3)switch(b|0){case 24e3:{h=2;break a}default:{e=-1;break a}}else switch(b|0){case 48e3:{h=2;break a}default:{e=-1;break a}}}while(0);if((h|0)==2)if((d+-1|0)>>>0<2){rj(a|0,0,gi(d)|0)|0;if(((Vd(f)|0)==0?(e=pi(c[f>>2]|0)|0,c[f>>2]=e,h=pi(88)|0,c[a+4>>2]=h,e=h+e|0,c[a>>2]=e,e=a+e|0,c[a+8>>2]=d,c[a+44>>2]=d,c[a+12>>2]=b,c[a+24>>2]=b,c[a+16>>2]=d,(Wd(a+h|0)|0)==0):0)?(Nb(e,b,d)|0)==0:0){c[g>>2]=0;Pb(e,10016,g);c[a+56>>2]=0;c[a+60>>2]=(b|0)/400|0;c[a+84>>2]=0;e=0}else e=-3}else e=-1;i=j;return e|0}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{g=2;break a}default:{g=3;break a}}else switch(a|0){case 12e3:{g=2;break a}default:{g=3;break a}}else{if((a|0)<24e3)switch(a|0){case 16e3:{g=2;break a}default:{g=3;break a}}if((a|0)<48e3)switch(a|0){case 24e3:{g=2;break a}default:{g=3;break a}}else switch(a|0){case 48e3:{g=2;break a}default:{g=3;break a}}}while(0);do if((g|0)==2)if((b+-1|0)>>>0<2){f=qi(gi(b)|0)|0;e=f;if(!f){if(!d){e=0;break}c[d>>2]=-7;e=0;break}a=hi(f,a,b)|0;if(d)c[d>>2]=a;if(a){ri(f);e=0}}else g=3;while(0);if((g|0)==3)if(!d)e=0;else{c[d>>2]=-1;e=0}return e|0}function ji(d,e,f,h,j,k,l){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;m=z;o=z+104|0;y=z+8|0;if((k|0)<0|(k|0)>1){j=-1;i=z;return j|0}n=(k|0)==0;if(n^1|(f|0)==0|(e|0)==0){if((j|0)%((c[d+12>>2]|0)/400|0|0)|0){j=-1;i=z;return j|0}if((f|0)==0|(e|0)==0){m=d+8|0;k=0;do{e=si(d,0,0,h+((_(k,c[m>>2]|0)|0)<<2)|0,j-k|0,0)|0;if((e|0)<0){w=e;x=28;break}k=k+e|0}while((k|0)<(j|0));if((x|0)==28){i=z;return w|0}c[d+68>>2]=k;j=k;i=z;return j|0}}if((f|0)<0){j=-1;i=z;return j|0}p=ti(e)|0;q=ki(e)|0;r=di(e,c[d+12>>2]|0)|0;s=li(a[e>>0]|0)|0;t=ei(e,f,0,o,0,y,m,0)|0;if((t|0)<0){j=t;i=z;return j|0}e=e+(c[m>>2]|0)|0;if(n){if((_(t,r)|0)>(j|0)){j=-2;i=z;return j|0}c[d+52>>2]=p;c[d+48>>2]=q;c[d+60>>2]=r;c[d+44>>2]=s;f=d+8|0;k=e;n=0;o=0;while(1){if((o|0)>=(t|0))break;e=y+(o<<1)|0;m=si(d,k,b[e>>1]|0,h+((_(n,c[f>>2]|0)|0)<<2)|0,j-n|0,0)|0;if((m|0)<0){w=m;x=28;break}k=k+(b[e>>1]|0)|0;n=n+m|0;o=o+1|0}if((x|0)==28){i=z;return w|0}c[d+68>>2]=n;if(!l){g[d+76>>2]=0.0;g[d+72>>2]=0.0;j=n;i=z;return j|0}else{bi(h,n,c[f>>2]|0,d+72|0);j=n;i=z;return j|0}}else{if(!((r|0)>(j|0)|(p|0)==1002)?(v=d+52|0,(c[v>>2]|0)!=1002):0){f=d+68|0;o=c[f>>2]|0;k=j-r|0;if((r|0)!=(j|0)?(u=ji(d,0,0,h,k,0,l)|0,(u|0)<0):0){c[f>>2]=o;j=u;i=z;return j|0}c[v>>2]=p;c[d+48>>2]=q;c[d+60>>2]=r;c[d+44>>2]=s;m=si(d,e,b[y>>1]|0,h+((_(c[d+8>>2]|0,k)|0)<<2)|0,r,1)|0;if((m|0)<0){j=m;i=z;return j|0}c[f>>2]=j;i=z;return j|0}j=ji(d,0,0,h,j,0,l)|0;i=z;return j|0}return 0}function ki(b){b=b|0;b=a[b>>0]|0;if(b<<24>>24<0){b=(b&255)>>>5&3;return ((b|0)==0?1101:b+1102|0)|0}if((b&96)==96){b=(b&16)>>>4|1104;return b|0}else{b=((b&255)>>>5&3)+1101|0;return b|0}return 0}function li(a){a=a|0;return ((a&4)>>>2)+1|0}function mi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((e|0)<1){a=-1;return a|0}a=ji(a,b,c,d,e,f,0)|0;return a|0}function ni(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;l=i;i=i+32|0;f=l+8|0;h=l;k=l+16|0;g=c[b+4>>2]|0;j=b+(c[b>>2]|0)|0;c[k>>2]=e;a:do switch(d|0){case 4009:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)e=20;else{c[e>>2]=c[b+48>>2];f=0;e=19}break}case 4031:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)e=20;else{c[e>>2]=c[b+80>>2];f=0;e=19}break}case 4028:{e=b+g|0;f=b+44|0;d=f;g=d+44|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(g|0));Pb(j,4028,h);Wd(e)|0;c[f>>2]=c[b+8>>2];c[b+60>>2]=(c[b+12>>2]|0)/400|0;f=0;e=19;break}case 4029:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)e=20;else{c[e>>2]=c[b+12>>2];f=0;e=19}break}case 4033:{h=(c[k>>2]|0)+(4-1)&~(4-1);e=c[h>>2]|0;c[k>>2]=h+4;if(e)if((c[b+56>>2]|0)==1002){c[f>>2]=e;Pb(j,4033,f);f=0;e=19;break a}else{c[e>>2]=c[b+36>>2];f=0;e=19;break a}else e=20;break}case 4045:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)e=20;else{c[e>>2]=c[b+40>>2];f=0;e=19}break}case 4034:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if((e|0)<-32768|(e|0)>32767)e=20;else{c[b+40>>2]=e;f=0;e=19}break}case 4039:{j=(c[k>>2]|0)+(4-1)&~(4-1);e=c[j>>2]|0;c[k>>2]=j+4;if(!e)e=20;else{c[e>>2]=c[b+68>>2];f=0;e=19}break}default:{f=-5;e=19}}while(0);if((e|0)==19){b=f;i=l;return b|0}else if((e|0)==20){b=-1;i=l;return b|0}return 0}function oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=1){c=(d[a>>0]|0)&3;if(c)if((c|0)==3)if((b|0)<2)c=-4;else c=(d[a+1>>0]|0)&63;else c=2;else c=1}else c=-1;return c|0}function pi(a){a=a|0;return a+3&-4|0}function qi(a){a=a|0;return fj(a)|0}function ri(a){a=a|0;gj(a);return}function si(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,Y=0,Z=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+160|0;W=ca+80|0;V=ca+72|0;U=ca+64|0;R=ca+56|0;O=ca+48|0;M=ca+40|0;K=ca+32|0;J=ca+24|0;I=ca+16|0;H=ca+8|0;G=ca;aa=ca+96|0;x=ca+92|0;ba=ca+88|0;N=ca+144|0;Q=ca+84|0;c[ba>>2]=0;w=a+(c[a+4>>2]|0)|0;T=a+(c[a>>2]|0)|0;l=c[a+12>>2]|0;P=(l|0)/50|0;u=P>>1;Y=P>>2;Z=P>>3;if((Z|0)>(h|0)){a=-2;i=ca;return a|0}$=a+12|0;l=((l|0)/25|0)*3|0;l=(l|0)>(h|0)?h:l;do if((e|0)>=2){h=(d|0)==0;if(!h){p=c[a+60>>2]|0;o=c[a+52>>2]|0;cc(aa,d,e);n=c[a+56>>2]|0;if((n|0)>0){n=(n|0)==1002;if((o|0)!=1002){if(!n){n=o;F=22;break}y=_(Y,c[a+8>>2]|0)|0;C=0;S=ka()|0;v=h;E=p;L=o;h=0;z=1;break}if(!n?(c[a+64>>2]|0)==0:0){C=_(Y,c[a+8>>2]|0)|0;S=ka()|0;y=i;i=i+((1*(C<<2)|0)+15&-16)|0;si(a,0,0,y,(Y|0)<(p|0)?Y:p,0)|0;C=0;v=h;E=p;L=o;h=y;y=1;z=1}else{n=o;F=22}}else{n=o;F=22}}else{p=l;F=5}}else{p=c[a+60>>2]|0;d=0;p=(l|0)<(p|0)?l:p;h=1;F=5}while(0);do if((F|0)==5){n=c[a+56>>2]|0;if(!n){k=a+8|0;d=0;while(1){if((d|0)>=(_(p,c[k>>2]|0)|0)){k=p;break}g[f+(d<<2)>>2]=0.0;d=d+1|0}i=ca;return k|0}if((p|0)<=(P|0)){if((p|0)>=(P|0)){l=p;F=22;break}if((p|0)>(u|0)){l=p;p=u;F=22;break}if((n|0)==1e3){l=p;n=1e3;F=22;break}l=p;p=(p|0)>(Y|0)&(p|0)<(u|0)?Y:p;F=22;break}l=a+8|0;d=f;h=p;while(1){k=si(a,0,0,d,(h|0)<(P|0)?h:P,0)|0;if((k|0)<0){F=109;break}d=d+((_(k,c[l>>2]|0)|0)<<2)|0;h=h-k|0;if((h|0)<=0){k=p;F=109;break}}if((F|0)==109){i=ca;return k|0}}while(0);if((F|0)==22){C=1;S=ka()|0;v=h;E=p;L=n;h=0;y=1;z=0}a:do if((E|0)>(l|0))k=-1;else{D=(L|0)==1002;if(D){x=i;i=i+16|0;l=v}else{u=(_((u|0)>(E|0)?u:E,c[a+8>>2]|0)|0)<<1;l=i;i=i+((1*u|0)+15&-16)|0;if((c[a+56>>2]|0)==1002)Wd(w)|0;u=(E*1e3|0)/(c[$>>2]|0)|0;c[a+32>>2]=(u|0)<10?10:u;if(v)o=1;else{c[a+20>>2]=c[a+44>>2];b:do if((L|0)==1e3)switch(c[a+48>>2]|0){case 1101:{c[a+28>>2]=8e3;break b}case 1102:{c[a+28>>2]=12e3;break b}case 1103:{c[a+28>>2]=16e3;break b}default:{c[a+28>>2]=16e3;break b}}else c[a+28>>2]=16e3;while(0);o=j<<1}n=a+16|0;k=a+84|0;r=a+8|0;s=(o|0)==0;t=0;u=l;while(1){c:do if(!(Xd(w,n,o,(t|0)==0&1,aa,u,x,c[k>>2]|0)|0))p=c[r>>2]|0;else{if(s){k=-3;break a}c[x>>2]=E;q=0;while(1){p=c[r>>2]|0;if((q|0)>=(_(E,p)|0))break c;b[u+(q<<1)>>1]=0;q=q+1|0}}while(0);q=c[x>>2]|0;u=u+((_(q,p)|0)<<1)|0;t=t+q|0;if((t|0)>=(E|0)){x=l;l=v;break}}}r=(j|0)==0;do if(r)if(!D)if(!l?(A=aa+20|0,B=aa+28|0,F=(ui(c[A>>2]|0,c[B>>2]|0)|0)+17|0,(F+((c[a+52>>2]|0)==1001?20:0)|0)<=(e<<3|0)):0){if((L|0)==1001){n=gc(aa,12)|0;if(!n){l=e;k=0;o=0;n=0;F=57;break}k=gc(aa,1)|0;p=(ic(aa,256)|0)+2|0;o=c[A>>2]|0;l=c[B>>2]|0}else{k=gc(aa,1)|0;o=c[A>>2]|0;l=c[B>>2]|0;p=e-((ui(o,l)|0)+7>>3)|0;n=1}e=e-p|0;o=(e<<3|0)<(ui(o,l)|0);F=o?0:p;l=aa+4|0;c[l>>2]=(c[l>>2]|0)-F;l=o?0:e;o=o?0:n;n=F;F=57}else{l=e;k=0;o=0;n=0;F=57}else{t=e;w=0;o=0;s=0;p=0}else{l=e;p=0;if(D){t=l;w=p;o=p;s=p;p=0}else{k=p;o=p;n=p;F=57}}while(0);if((F|0)==57){t=l;w=k;s=n;p=17}switch(c[a+48>>2]|0){case 1101:{l=13;break}case 1103:case 1102:{l=17;break}case 1104:{l=19;break}default:l=21}c[G>>2]=l;Pb(T,10012,G);c[H>>2]=c[a+44>>2];Pb(T,10008,H);v=(o|0)==0;if(!v){H=(_(Y,c[a+8>>2]|0)|0)<<2;l=i;i=i+((1*H|0)+15&-16)|0;if(!w){q=l;u=h;k=0}else{c[I>>2]=0;Pb(T,10010,I);Ob(T,d+t|0,s,l,Y,0,0)|0;c[J>>2]=ba;Pb(T,4031,J);q=l;u=h;k=0}}else{l=i;i=i+((1*(y<<2)|0)+15&-16)|0;do if(!(C|D))if((Y|0)<(E|0)){si(a,0,0,l,Y,0)|0;h=l;l=z;break}else{si(a,0,0,l,E,0)|0;h=l;l=z;break}else l=C?0:z;while(0);q=i;i=i+16|0;u=h;k=l}c[K>>2]=p;Pb(T,10010,K);do if((L|0)==1e3){b[N>>1]=-1;l=a+8|0;h=0;while(1){if((h|0)>=(_(E,c[l>>2]|0)|0))break;g[f+(h<<2)>>2]=0.0;h=h+1|0}if((c[a+56>>2]|0)==1001){if(!(v|(w|0)==0)?(c[a+64>>2]|0)!=0:0){o=E;p=0;break}c[O>>2]=0;Pb(T,10010,O);Ob(T,N,2,f,Z,0,0)|0;o=E;p=0}else{o=E;p=0}}else{l=(P|0)<(E|0)?P:E;P=c[a+56>>2]|0;if((L|0)!=(P|0)&(P|0)>0?(c[a+64>>2]|0)==0:0)Pb(T,4028,M);o=E;p=Ob(T,r?d:0,t,f,l,aa,0)|0}while(0);d:do if(!D){l=a+8|0;h=0;while(1){if((h|0)>=(_(o,c[l>>2]|0)|0))break d;P=f+(h<<2)|0;g[P>>2]=+g[P>>2]+ +(b[x+(h<<1)>>1]|0)*.000030517578125;h=h+1|0}}while(0);c[R>>2]=Q;Pb(T,10015,R);n=c[(c[Q>>2]|0)+60>>2]|0;do if(!v){if(!w){Pb(T,4028,U);c[V>>2]=0;Pb(T,10010,V);Ob(T,d+t|0,s,q,Y,0,0)|0;c[W>>2]=ba;Pb(T,4031,W);W=c[a+8>>2]|0;V=f+((_(W,o-Z|0)|0)<<2)|0;U=q+((_(W,Z)|0)<<2)|0;vi(V,U,V,Z,W,n,c[$>>2]|0);break}h=a+8|0;d=0;while(1){l=c[h>>2]|0;if((d|0)<(l|0))l=0;else break;while(1){if((l|0)>=(Z|0))break;W=(_(c[h>>2]|0,l)|0)+d|0;c[f+(W<<2)>>2]=c[q+(W<<2)>>2];l=l+1|0}d=d+1|0}V=_(l,Z)|0;W=f+(V<<2)|0;vi(q+(V<<2)|0,W,W,Z,l,n,c[$>>2]|0)}while(0);do if(k){k=a+8|0;if((o|0)<(Y|0)){vi(u,f,f,Z,c[k>>2]|0,n,c[$>>2]|0);break}else d=0;while(1){l=c[k>>2]|0;h=_(l,Z)|0;if((d|0)>=(h|0))break;c[f+(d<<2)>>2]=c[u+(d<<2)>>2];d=d+1|0}Y=f+(h<<2)|0;vi(u+(h<<2)|0,Y,Y,Z,l,n,c[$>>2]|0)}while(0);l=c[a+40>>2]|0;e:do if(l){m=+X(+(+(l|0)*6.488140788860619e-04*.6931471805599453));l=a+8|0;h=0;while(1){if((h|0)>=(_(o,c[l>>2]|0)|0))break e;$=f+(h<<2)|0;g[$>>2]=+g[$>>2]*m;h=h+1|0}}while(0);if((t|0)<2)h=0;else h=c[aa+28>>2]^c[ba>>2];c[a+80>>2]=h;c[a+56>>2]=L;c[a+64>>2]=(v?0:(w|0)==0)&1;k=(p|0)>-1?o:p}while(0);va(S|0);a=k;i=ca;return a|0}function ti(b){b=b|0;b=a[b>>0]|0;if(b<<24>>24<0)return 1002;else return ((b&96)==96?1001:1e3)|0;return 0}function ui(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function vi(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0.0;h=48e3/(h|0)|0;i=0;while(1){if((i|0)<(e|0))j=0;else break;while(1){if((j|0)>=(d|0))break;l=+g[f+((_(j,h)|0)<<2)>>2];l=l*l;k=(_(j,e)|0)+i|0;g[c+(k<<2)>>2]=l*+g[b+(k<<2)>>2]+(1.0-l)*+g[a+(k<<2)>>2];j=j+1|0}i=i+1|0}return}function wi(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;if((a|0)<1|(a|0)>2){b=0;i=d;return b|0}if(Yd(b)|0){b=0;i=d;return b|0}e=Gi(c[b>>2]|0)|0;c[b>>2]=e;b=ob(a)|0;b=(Gi(18220)|0)+e+b|0;i=d;return b|0}function xi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;n=o+8|0;m=o;h=o+12|0;a:do if((d|0)<16e3)if((d|0)<12e3){switch(d|0){case 8e3:break a;default:h=-1}i=o;return h|0}else{switch(d|0){case 12e3:break a;default:h=-1}i=o;return h|0}else{if((d|0)<24e3){switch(d|0){case 16e3:break a;default:h=-1}i=o;return h|0}if((d|0)<48e3){switch(d|0){case 24e3:break a;default:h=-1}i=o;return h|0}else{switch(d|0){case 48e3:break a;default:h=-1}i=o;return h|0}}while(0);if((e+-1|0)>>>0>=2){n=-1;i=o;return n|0}switch(f|0){case 2051:case 2049:case 2048:break;default:{n=-1;i=o;return n|0}}rj(a|0,0,wi(e)|0)|0;if(Yd(h)|0){n=-1;i=o;return n|0}l=Gi(c[h>>2]|0)|0;c[h>>2]=l;k=Gi(18220)|0;c[a+4>>2]=k;l=k+l|0;c[a>>2]=l;l=a+l|0;c[a+100>>2]=e;c[a+168>>2]=e;h=a+132|0;c[h>>2]=d;j=a+18216|0;c[j>>2]=0;if(Zd(a+k|0,0,a+8|0)|0){n=-3;i=o;return n|0}c[a+8>>2]=e;c[a+12>>2]=e;c[a+16>>2]=c[h>>2];c[a+20>>2]=16e3;c[a+24>>2]=8e3;c[a+28>>2]=16e3;c[a+32>>2]=20;c[a+36>>2]=25e3;c[a+40>>2]=0;k=a+44|0;c[k>>2]=9;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+72>>2]=0;if(pb(l,d,e,c[j>>2]|0)|0){n=-3;i=o;return n|0}c[m>>2]=0;tb(l,10016,m)|0;c[n>>2]=c[k>>2];tb(l,4010,n)|0;c[a+136>>2]=1;c[a+140>>2]=1;c[a+152>>2]=-1e3;c[a+148>>2]=(_(d,e)|0)+3e3;c[a+96>>2]=f;c[a+112>>2]=-1e3;c[a+116>>2]=-1e3;c[a+120>>2]=1105;c[a+108>>2]=-1e3;c[a+124>>2]=-1e3;c[a+128>>2]=-1;n=c[h>>2]|0;c[a+160>>2]=(n|0)/100|0;c[a+156>>2]=24;c[a+144>>2]=5e3;c[a+104>>2]=(n|0)/250|0;b[a+172>>1]=16384;g[a+180>>2]=1.0;c[a+176>>2]=(Yf(60)|0)<<8;c[a+224>>2]=1;c[a+200>>2]=1001;c[a+216>>2]=1105;n=0;i=o;return n|0}function yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)<16e3)if((a|0)<12e3)switch(a|0){case 8e3:{h=2;break a}default:{h=4;break a}}else switch(a|0){case 12e3:{h=2;break a}default:{h=4;break a}}else{if((a|0)<24e3)switch(a|0){case 16e3:{h=2;break a}default:{h=4;break a}}if((a|0)<48e3)switch(a|0){case 24e3:{h=2;break a}default:{h=4;break a}}else switch(a|0){case 48e3:{h=2;break a}default:{h=4;break a}}}while(0);b:do if((h|0)==2)if((b+-1|0)>>>0<2){switch(d|0){case 2051:case 2049:case 2048:break;default:{h=4;break b}}g=Hi(wi(b)|0)|0;f=g;if(!g){if(!e){f=0;break}c[e>>2]=-7;f=0;break}a=xi(g,a,b,d)|0;if(e)c[e>>2]=a;if(a){Ii(g);f=0}}else h=4;while(0);if((h|0)==4)if(!e)f=0;else{c[e>>2]=-1;f=0}return f|0}function zi(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0.0,j=0;j=0;while(1){if((j|0)>=(c|0))break;g[b+(j<<2)>>2]=+g[a+((_(j+d|0,h)|0)+e<<2)>>2]*32768.0;j=j+1|0}a:do if((f|0)<=-1){if((f|0)==-2){j=1;while(1){if((j|0)<(h|0))e=0;else break a;while(1){if((e|0)>=(c|0))break;i=+g[a+((_(e+d|0,h)|0)+j<<2)>>2]*32768.0;f=b+(e<<2)|0;g[f>>2]=+g[f>>2]+i;e=e+1|0}j=j+1|0}}}else{e=0;while(1){if((e|0)>=(c|0))break a;i=+g[a+((_(e+d|0,h)|0)+f<<2)>>2]*32768.0;j=b+(e<<2)|0;g[j>>2]=+g[j>>2]+i;e=e+1|0}}while(0);i=(h|0)==-2?-.5:.5;j=0;while(1){if((j|0)>=(c|0))break;d=b+(j<<2)|0;g[d>>2]=+g[d>>2]*i;j=j+1|0}return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=(c|0)/400|0;if((d|0)>(a|0)){e=-1;return e|0}a:do switch(b|0){case 5e3:{d=a;break}case 5010:{d=(c|0)/50|0;e=6;break}default:if((b|0)>5e3&(b|0)<5007){e=(c*3|0)/50|0;d=d<<b+-5001;d=(e|0)<(d|0)?e:d;e=6;break a}else{e=-1;return e|0}}while(0);if((e|0)==6)if((d|0)>(a|0)){e=-1;return e|0}if(!((d*400|0)==(c|0)|(d*200|0)==(c|0)|(d*100|0)==(c|0))?(e=d*50|0,!((e|0)==(c|0)|(d*25|0)==(c|0)|(e|0)==(c*3|0))):0){e=-1;return e|0}e=d;return e|0}function Bi(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c|0)!=5010?1:((e|0)/200|0|0)>(b|0)){b=Ai(b,c,e)|0;i=(b|0)<0;b=i?-1:b;return b|0}i=(e|0)/400|0;c=Ji(a,b,d,e,f,h,g,1)|0;while(1){d=i<<c;if((d|0)<=(b|0))break;c=c+-1|0}b=(d|0)<0;b=b?-1:d;return b|0}function Ci(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;j=(c|0)/(b|0)|0;h=25.0/((j|0)<50?50.0:+(j|0));c=0;f=0.0;e=0.0;i=0.0;while(1){if((c|0)>=(b|0))break;s=c<<1;r=+g[a+(s<<2)>>2];n=+g[a+((s|1)<<2)>>2];q=+g[a+((s|2)<<2)>>2];m=+g[a+((s|3)<<2)>>2];p=+g[a+((s|4)<<2)>>2];l=+g[a+((s|5)<<2)>>2];o=+g[a+((s|6)<<2)>>2];k=+g[a+((s|7)<<2)>>2];c=c+4|0;f=f+(r*r+q*q+p*p+o*o);e=e+(r*n+q*m+p*l+o*k);i=i+(n*n+m*m+l*l+k*k)}q=1.0-h;r=+g[d>>2];r=r+q*(f-r);g[d>>2]=r;c=d+4|0;f=+g[c>>2];f=f+q*(e-f);g[c>>2]=f;s=d+8|0;h=+g[s>>2];h=h+q*(i-h);g[s>>2]=h;e=r<0.0?0.0:r;g[d>>2]=e;f=f<0.0?0.0:f;g[c>>2]=f;h=h<0.0?0.0:h;g[s>>2]=h;if((e>h?e:h)>7.999999797903001e-04){l=+O(+e);q=+O(+h);r=+O(+l);m=+O(+q);q=l*q;l=f<q?f:q;g[c>>2]=l;q=l/(q+1.0000000036274937e-15);m=+O(+(1.0-q*q))*(+N(+(r-m))/(r+1.0000000036274937e-15+m));s=d+12|0;r=+g[s>>2];q=+(j|0);r=r+(m-r)/q;g[s>>2]=r;s=d+16|0;q=+g[s>>2]-.019999999552965164/q;r=q>r?q:r;g[s>>2]=r;r=r*20.0;s=r>1.0;r=s?1.0:r;return +r}else{r=+g[d+16>>2];r=r*20.0;s=r>1.0;r=s?1.0:r;return +r}return 0.0}function Di(d,e,f,h,j,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var 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.0,G=0.0,H=0.0,I=0,J=0,K=0,L=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0;Wa=i;i=i+704|0;Oa=Wa+176|0;Na=Wa+168|0;Ma=Wa+160|0;La=Wa+152|0;Ja=Wa+144|0;Ia=Wa+136|0;Ga=Wa+128|0;Fa=Wa+120|0;Ea=Wa+112|0;Da=Wa+104|0;Ca=Wa+96|0;Ba=Wa+88|0;Aa=Wa+80|0;pa=Wa+72|0;oa=Wa+64|0;na=Wa+56|0;ha=Wa+48|0;ga=Wa+40|0;fa=Wa+32|0;ja=Wa+24|0;ia=Wa+16|0;Q=Wa+8|0;B=Wa;da=Wa+696|0;Ra=Wa+648|0;Pa=Wa+640|0;ua=Wa+636|0;za=Wa+608|0;J=Wa+520|0;L=Wa+488|0;Z=Wa+184|0;ca=Wa+180|0;Ha=Wa+702|0;Ka=Wa+700|0;c[Pa>>2]=0;t=(j|0)>1276?1276:j;Qa=d+18212|0;c[Qa>>2]=0;la=d+144|0;if(!(c[la>>2]|0)){C=f*400|0;D=d+132|0;E=c[D>>2]|0;if((C|0)!=(E|0))if(!((f*200|0)==(E|0)|(f*100|0)==(E|0))?(Va=f*50|0,!((Va|0)==(E|0)|(f*25|0)==(E|0)|(Va|0)==(E*3|0))):0){h=-1;i=Wa;return h|0}else Va=6;else Ua=D}else{E=d+132|0;D=E;C=f*400|0;E=c[E>>2]|0;Va=6}if((Va|0)==6)if((C|0)<(E|0)){h=-1;i=Wa;return h|0}else Ua=D;if((t|0)<1){h=-1;i=Wa;return h|0}T=c[d+4>>2]|0;ba=d+T|0;xa=d+(c[d>>2]|0)|0;if((c[d+96>>2]|0)==2051)ra=0;else ra=c[d+104>>2]|0;V=c[d+156>>2]|0;V=(V|0)>(l|0)?l:V;c[za>>2]=0;c[B>>2]=ua;tb(xa,10015,B)|0;v=d+44|0;if((c[v>>2]|0)>6?(c[Ua>>2]|0)==48e3:0){N=c[d+12596>>2]|0;O=c[d+12600>>2]|0;aj(d+4092|0,c[ua>>2]|0,m,n,f,o,p,q,48e3,V,r,za)}else{N=-1;O=-1}C=d+128|0;c[C>>2]=-1;K=d+18204|0;c[K>>2]=0;do if(c[za>>2]|0){if((c[d+112>>2]|0)==-1e3)c[C>>2]=~~+M(+((1.0-+g[za+20>>2])*100.0+.5));E=c[za+24>>2]|0;if((E|0)<13){c[K>>2]=1101;break}if((E|0)<15){c[K>>2]=1102;break}if((E|0)<17){c[K>>2]=1103;break}if((E|0)<19){c[K>>2]=1104;break}else{c[K>>2]=1105;break}}while(0);Sa=d+100|0;if((c[Sa>>2]|0)==2?(c[d+108>>2]|0)!=1:0)H=+Ci(e,f,c[Ua>>2]|0,d+232|0);else H=0.0;E=Ki(d,f,t)|0;ya=d+148|0;c[ya>>2]=E;x=c[Ua>>2]|0;X=(x|0)/(f|0)|0;do if(!((t|0)<3|(E|0)<(X*24|0))){if((X|0)<50?(_(t,X)|0)<300|(E|0)<2400:0)break;Ta=d+136|0;y=(c[Ta>>2]|0)==0;if(y){wa=X<<3;E=(E+(X<<2)|0)/(wa|0)|0;t=(E|0)<(t|0)?E:t;E=_(t,wa)|0;c[ya>>2]=E}$=_(X,t)|0;aa=$<<3;B=c[Sa>>2]|0;m=X+-50|0;l=E-(_((B*40|0)+20|0,m)|0)|0;D=c[d+112>>2]|0;do if((D|0)!=3001)if((D|0)!=3002){D=c[C>>2]|0;if((D|0)<=-1){w=(c[d+96>>2]|0)==2048?115:48;break}D=D*327>>8;if((c[d+96>>2]|0)==2049)w=(D|0)<115?D:115;else w=D}else w=0;else w=127;while(0);S=d+108|0;C=c[S>>2]|0;D=(B|0)==2;if((C|0)==-1e3)if(D){wa=d+168|0;B=(l|0)>(((c[wa>>2]|0)==2?29e3:31e3)|0)?2:1;c[wa>>2]=B}else Va=53;else if(D){wa=d+168|0;c[wa>>2]=C;B=C}else Va=53;if((Va|0)==53){wa=d+168|0;c[wa>>2]=B}ma=E-(_((B*40|0)+20|0,m)|0)|0;u=d+96|0;C=c[u>>2]|0;do if((C|0)!=2051){D=c[d+124>>2]|0;if((D|0)==-1e3){G=1.0-H;D=~~(G*16.0e3+H*16.0e3);D=D+((_(_(w,w)|0,~~(G*64.0e3+H*36.0e3)-D|0)|0)>>14)|0;D=(C|0)==2048?D+8e3|0:D;C=c[d+204>>2]|0;if((C|0)==1002)D=D+-4e3|0;else D=(C|0)>0?D+4e3|0:D;D=(ma|0)>=(D|0)?1002:1e3;C=d+200|0;c[C>>2]=D;if((c[d+48>>2]|0)!=0?(c[d+40>>2]|0)>(128-w>>4|0):0){c[C>>2]=1e3;D=1e3}if((c[d+52>>2]|0)!=0&(w|0)>100){c[C>>2]=1e3;D=1e3}else Va=66}else{C=d+200|0;c[C>>2]=D;Va=66}if((Va|0)==66)if((D|0)==1002){ta=C;D=1002;break}if(((x|0)/100|0|0)>(f|0)){c[C>>2]=1002;ta=C;D=1002}else ta=C}else{ta=d+200|0;c[ta>>2]=1002;D=1002}while(0);P=d+164|0;if(c[P>>2]|0){c[ta>>2]=1002;D=1002}W=(X|0)>50;if((t|0)<((_(W?12e3:8e3,f)|0)/(x<<3|0)|0|0)){c[ta>>2]=1002;D=1002}if((((B|0)==1?(c[d+208>>2]|0)==2:0)?(I=d+64|0,!((c[I>>2]|0)!=0|(D|0)==1002)):0)?(A=d+204|0,z=c[A>>2]|0,(z|0)!=1002):0){c[I>>2]=1;c[wa>>2]=2;qa=A;n=z}else{c[d+64>>2]=0;n=d+204|0;qa=n;n=c[n>>2]|0}do if((n|0)>0){C=(n|0)==1002;if((D|0)!=1002){if(!C){m=D;C=0;D=0;sa=0;break}m=D;C=(D|0)!=1002&1;D=1;sa=0;break}if(C){m=1002;C=0;D=0;sa=0}else{D=(D|0)!=1002&1;if(((x|0)/100|0|0)>(f|0)){m=1002;C=D;D=0;sa=0;break}c[ta>>2]=n;m=n;C=D;D=1;sa=1}}else{m=D;C=0;D=0;sa=0}while(0);ea=d+220|0;if(!(c[ea>>2]|0)){l=C;C=0;if(!D){U=l;Y=0}else Va=89}else{c[ea>>2]=0;l=1;C=1;D=1;Va=89}if((Va|0)==89){B=(x|0)/200|0;B=(_(t,B)|0)/(B+f|0)|0;B=(B|0)>257?257:B;if(y){U=l;Y=B}else{Y=(E|0)/1600|0;U=l;Y=(B|0)<(Y|0)?B:Y}}a:do if((m|0)==1002){E=1;A=ma;z=C;Va=100}else{if((n|0)==1002){Zd(ba,c[d+18216>>2]|0,J)|0;E=(c[ta>>2]|0)==1002;if(E){A=ma;z=1;Va=100;break}else C=1}else E=(m|0)==1002;do if(!(c[d+224>>2]|0)){if(c[d+80>>2]|0)break;l=d+216|0;x=l;l=c[l>>2]|0;J=C;break a}while(0);if(E){A=ma;z=C;Va=100;break}A=(_(ma,(c[v>>2]|0)+45|0)|0)/50|0;A=(c[Ta>>2]|0)==0?A+-1e3|0:A;z=C;Va=100}while(0);do if((Va|0)==100){if((c[Sa>>2]|0)==2?(c[S>>2]|0)!=1:0){B=22112;m=22080}else{B=22176;m=22144}C=_(w,w)|0;l=0;while(1){if((l|0)==8)break;J=c[B+(l<<2)>>2]|0;c[L+(l<<2)>>2]=J+((_(C,(c[m+(l<<2)>>2]|0)-J|0)|0)>>14);l=l+1|0}m=(c[d+224>>2]|0)==0;n=d+216|0;C=1105;do{B=C<<1;l=c[L+(B+-2204<<2)>>2]|0;B=c[L+(B+-2203<<2)>>2]|0;do if(m)if((c[n>>2]|0)<(C|0)){l=l+B|0;break}else{l=l-B|0;break}while(0);if((A|0)>=(l|0))break;C=C+-1|0}while((C|0)>1101);c[n>>2]=C;if(!m){x=n;l=C;J=z;break}if(E){x=n;l=C;J=z;break}if(!((c[d+84>>2]|0)==0&(C|0)>1103)){x=n;l=C;J=z;break}c[n>>2]=1103;x=n;l=1103;J=z}while(0);C=c[d+120>>2]|0;if((l|0)>(C|0))c[x>>2]=C;else C=l;I=d+116|0;l=c[I>>2]|0;m=(l|0)==-1e3;if(!m){c[x>>2]=l;C=l}if((E^1)&(aa|0)<15e3){C=(C|0)<1103?C:1103;c[x>>2]=C}l=c[Ua>>2]|0;do if((l|0)<24001){if((C|0)>1104){c[x>>2]=1104;C=1104}if((l|0)>=16001)break;if((C|0)>1103){c[x>>2]=1103;C=1103}if((l|0)>=12001)break;if((C|0)>1102){c[x>>2]=1102;C=1102}if(!((l|0)<8001&(C|0)>1101))break;c[x>>2]=1101;C=1101}while(0);B=c[K>>2]|0;if(!((B|0)==0|m^1)){l=c[wa>>2]|0;do if((ma|0)>(l*18e3|0)|E^1){if(!((ma|0)>(l*24e3|0)|E^1)){E=1102;break}if((ma|0)<=(l*3e4|0)){E=1103;break}E=(ma|0)>(l*44e3|0)?1105:1104}else E=1101;while(0);L=(B|0)>(E|0)?B:E;c[K>>2]=L;c[x>>2]=(C|0)<(L|0)?C:L}c[Q>>2]=V;tb(xa,4036,Q)|0;l=c[ta>>2]|0;E=(l|0)==1002;do if(E){if((c[x>>2]|0)!=1102)break;c[x>>2]=1103}while(0);if(c[P>>2]|0)c[x>>2]=1101;B=c[Ua>>2]|0;do if(((B|0)/50|0|0)<(f|0)){if(!E?(R=c[x>>2]|0,(R|0)<=1103):0){C=R;break}if((N|0)!=-1){c[d+12596>>2]=N;c[d+12600>>2]=O}m=((B|0)/25|0|0)<(f|0)?3:2;y=(j+-3|0)/(m|0)|0;y=(y|0)>1276?1276:y;B=_(m,y)|0;E=ka()|0;z=i;i=i+((1*B|0)+15&-16)|0;Wi(Z);B=d+124|0;l=c[B>>2]|0;C=c[I>>2]|0;D=c[S>>2]|0;c[B>>2]=c[ta>>2];c[I>>2]=c[x>>2];v=c[wa>>2]|0;c[S>>2]=v;A=d+64|0;n=c[A>>2]|0;if(!n)c[d+208>>2]=v;else c[S>>2]=1;v=(sa|0)!=0;u=m+-1|0;x=0;while(1){if((x|0)>=(m|0)){Va=161;break}c[A>>2]=0;if(v&(x|0)==(u|0))c[B>>2]=1002;w=c[Ua>>2]|0;t=z+(_(x,y)|0)|0;w=Di(d,e+((_(x,(_(c[Sa>>2]|0,w)|0)/50|0)|0)<<2)|0,(w|0)/50|0,t,y,V,0,0,o,p,q,r,s)|0;if((w|0)<0){t=-3;break}if((Xi(Z,t,w)|0)<0){t=-3;break}x=x+1|0}do if((Va|0)==161){u=(c[Ta>>2]|0)==0;if(u){d=((c[ya>>2]|0)*3|0)/(1200/(m>>>0)|0|0)|0;j=(d|0)<(j|0)?d:j}t=Yi(Z,m,h,j,u&1)|0;if((t|0)<0){t=-3;break}c[B>>2]=l;c[I>>2]=C;c[S>>2]=D;c[A>>2]=n}while(0);va(E|0);h=t;i=Wa;return h|0}else C=c[x>>2]|0;while(0);do if((l|0)==1e3){if((C|0)<=1103)break;c[ta>>2]=1001}else{if(!((l|0)==1001&(C|0)<1104))break;c[ta>>2]=1e3}while(0);O=t-Y|0;B=(_(c[ya>>2]|0,f)|0)/(B<<3|0)|0;B=((O|0)<(B|0)?O:B)+-1|0;O=t+-1|0;oc(Ra,h+1|0,O);L=ra+f|0;K=_(L,c[Sa>>2]|0)|0;V=ka()|0;S=i;i=i+((1*(K<<2)|0)+15&-16)|0;K=d+160|0;E=c[Sa>>2]|0;uj(S|0,d+252+((_((c[K>>2]|0)-ra|0,E)|0)<<2)|0,(_(ra,E)|0)<<2|0)|0;if((c[ta>>2]|0)==1002){l=(Yf(60)|0)<<8;E=c[Sa>>2]|0}else l=c[d+(T+8)>>2]|0;m=d+176|0;Z=c[m>>2]|0;l=l-Z|0;l=Z+(((l>>16)*983|0)+(((l&65535)*983|0)>>>16))|0;c[m>>2]=l;m=c[Ua>>2]|0;if((c[u>>2]|0)==2048)Mi(e,ag(l>>8)|0,S+((_(ra,E)|0)<<2)|0,d+184|0,f,E,m);else Ni(e,S+((_(ra,E)|0)<<2)|0,d+184|0,f,E,m);do if(s){l=c[Sa>>2]|0;E=S+((_(ra,l)|0)<<2)|0;l=_(l,f)|0;H=+Oi(E,E,l);if(!(!(H<1.0e9)|(H!=H|0.0!=0.0)))break;rj(E|0,0,l<<2|0)|0}while(0);b:do if((c[ta>>2]|0)==1002){w=1065353216;z=U;I=C;A=D;u=0;Va=233}else{A=_(c[Sa>>2]|0,f)|0;I=ka()|0;u=i;i=i+((1*(A<<1)|0)+15&-16)|0;A=_(B<<3,X)|0;v=c[ta>>2]|0;j=(v|0)==1001;do if(!j){c[d+36>>2]=A;E=c[d+228>>2]|0;if(!E){n=A;w=1065353216;z=B}else{n=A;w=1065353216;Va=185}}else{l=c[wa>>2]|0;s=_(l,(c[Ua>>2]|0)==(f*100|0)?6e3:5e3)|0;E=d+36|0;c[E>>2]=s;m=(C|0)==1104;e=A-s|0;e=s+(m?(e<<1|0)/3|0:(e*3|0)/5|0)|0;s=(A<<2|0)/5|0;Z=(e|0)>(s|0);n=Z?s:e;c[E>>2]=Z?s:e;E=c[d+228>>2]|0;if(E){w=1065353216;Va=185;break}H=+(A-n|0);H=H/(H+ +(_(l,m?3e3:3600)|0));w=(g[k>>2]=H<.8571428656578064?H+.1428571492433548:1.0,c[k>>2]|0);z=B}while(0);do if((Va|0)==185){if(!(c[Ta>>2]|0)){z=B;break}if(c[P>>2]|0){z=B;break}m=c[x>>2]|0;if((m|0)==1101){y=13;H=8.0e3}else{e=(m|0)==1102;y=e?15:17;H=e?12.0e3:16.0e3}A=c[Sa>>2]|0;G=0.0;x=0;while(1){if((x|0)>=(A|0))break;z=x*21|0;l=0;while(1){if((l|0)>=(y|0))break;F=+g[E+(z+l<<2)>>2];do if(F<.5){if(!(F>-2.0)){F=-2.0;break}if(F>0.0)Va=196}else{F=.5;Va=196}while(0);if((Va|0)==196){Va=0;F=F*.5}G=G+F;l=l+1|0}x=x+1|0}e=~~(H*(G/+(y|0)*+(A|0)+.20000000298023224));z=(_(n,-2)|0)/3|0;z=(e|0)>(z|0)?e:z;n=n+((m+-1104|0)>>>0<2?(z*3|0)/5|0:z)|0;c[d+36>>2]=n;z=_(z,f)|0;z=B+((z|0)/(c[Ua>>2]<<3|0)|0)|0}while(0);A=c[Ua>>2]|0;c[d+32>>2]=(f*1e3|0)/(A|0)|0;l=c[Sa>>2]|0;c[d+8>>2]=l;c[d+12>>2]=c[wa>>2];switch(C|0){case 1101:{c[d+28>>2]=8e3;E=8e3;break}case 1102:{c[d+28>>2]=12e3;E=12e3;break}default:{c[d+28>>2]=16e3;E=16e3}}B=d+24|0;do if(j){c[B>>2]=16e3;Va=211}else{c[B>>2]=8e3;if((v|0)!=1e3){Va=211;break}m=d+20|0;c[m>>2]=16e3;B=W?($<<4|0)/3|0:aa;if((B|0)<13e3){c[m>>2]=12e3;E=E>>>0>12e3?12e3:E;c[d+28>>2]=E}if((B|0)>=9600)break;c[m>>2]=8e3;c[d+28>>2]=(E|0)>8e3?8e3:E}while(0);if((Va|0)==211)c[d+20>>2]=16e3;aa=(c[Ta>>2]|0)==0;c[d+56>>2]=aa&1;$=O-Y|0;$=($|0)>1275?1275:$;c[da>>2]=$;E=d+60|0;c[E>>2]=j?($*72|0)/10|0:$<<3;if(aa){c[E>>2]=((_(n,f)|0)/(A<<3|0)|0)<<3;aa=n+-2e3|0;c[d+36>>2]=(aa|0)<1?1:aa}if(J){c[ca>>2]=0;aa=(A|0)/400|0;E=_(l,(c[K>>2]|0)-(c[d+104>>2]|0)-aa|0)|0;$=d+252+(E<<2)|0;B=c[ua>>2]|0;Pi($,$,0.0,1.0,c[B+4>>2]|0,aa,l,c[B+60>>2]|0,A);rj(d+252|0,0,E<<2|0)|0;E=c[K>>2]|0;l=_(E,c[Sa>>2]|0)|0;B=0;while(1){if((B|0)>=(l|0))break;b[u+(B<<1)>>1]=Qi(+g[d+252+(B<<2)>>2])|0;B=B+1|0}_d(ba,d+8|0,u,E,0,ca,1)|0;l=c[Sa>>2]|0}E=_(l,f)|0;B=0;while(1){if((B|0)>=(E|0))break;b[u+(B<<1)>>1]=Qi(+g[S+((_(ra,l)|0)+B<<2)>>2])|0;B=B+1|0}u=_d(ba,d+8|0,u,f,Ra,da,0)|0;do if(!u){if(!(c[da>>2]|0)){c[Qa>>2]=0;a[h>>0]=Li(c[ta>>2]|0,(c[Ua>>2]|0)/(f|0)|0,C,c[wa>>2]|0)|0;t=1;break}do if((c[ta>>2]|0)==1e3){E=c[d+76>>2]|0;if((E|0)==8e3){C=1101;break}if((E|0)==12e3){C=1102;break}C=(E|0)==16e3?1103:C}while(0);Va=c[d+92>>2]|0;c[d+68>>2]=Va;if(!Va)E=U;else{c[ea>>2]=1;E=0;D=1}va(I|0);B=z;z=E;I=C;A=D;Va=233;break b}else t=-3;while(0);va(I|0)}while(0);c:do if((Va|0)==233){switch(I|0){case 1101:{E=13;break}case 1103:case 1102:{E=17;break}case 1104:{E=19;break}default:E=21}c[ia>>2]=E;tb(xa,10012,ia)|0;c[ja>>2]=c[wa>>2];tb(xa,10008,ja)|0;c[fa>>2]=-1;tb(xa,4002,fa)|0;do if((c[ta>>2]|0)==1e3){C=c[Sa>>2]|0;n=((_(C,c[Ua>>2]|0)|0)/400|0)<<2;m=i;i=i+((1*n|0)+15&-16)|0;n=0}else{c[ga>>2]=0;tb(xa,4006,ga)|0;c[ha>>2]=(c[d+72>>2]|0)==0?2:0;tb(xa,10002,ha)|0;E=c[ta>>2]|0;if((E|0)!=1001){if(!(c[Ta>>2]|0)){l=E;E=B}else{do if((c[la>>2]|0)==5010){E=c[Ua>>2]|0;if(((E|0)/50|0|0)==(f|0)){E=0;break}E=_(((c[wa>>2]|0)*60|0)+40|0,((E|0)/(f|0)|0)+-50|0)|0;if(!(c[za>>2]|0))break;E=~~(+(E|0)*(+g[za+4>>2]*.5+1.0))}else E=0;while(0);c[na>>2]=1;tb(xa,4006,na)|0;c[oa>>2]=c[d+140>>2];tb(xa,4020,oa)|0;c[pa>>2]=(c[ya>>2]|0)+E;tb(xa,4002,pa)|0;l=c[ta>>2]|0;E=O-Y|0}C=c[Sa>>2]|0;D=c[Ua>>2]|0;B=(_(C,D)|0)/400|0;m=i;i=i+((1*(B<<2)|0)+15&-16)|0;if((l|0)==1e3){n=E;break}}else{E=(Ri(c[Ra+20>>2]|0,c[Ra+28>>2]|0)|0)+7>>3;E=(A|0)==0?E:E+3|0;if(!(c[Ta>>2]|0))E=(E|0)>(B|0)?E:B;else{pa=_(c[d+36>>2]|0,f)|0;E=E+B-((pa|0)/(c[Ua>>2]<<3|0)|0)|0}C=c[Sa>>2]|0;D=c[Ua>>2]|0;B=(_(C,D)|0)/400|0;m=i;i=i+((1*(B<<2)|0)+15&-16)|0;l=1001}pa=c[qa>>2]|0;if(!((l|0)!=(pa|0)&(pa|0)>0)){n=E;break}uj(m|0,d+252+((_((c[K>>2]|0)-ra-((D|0)/400|0)|0,C)|0)<<2)|0,B<<2|0)|0;n=E}while(0);E=c[K>>2]|0;D=d+252|0;if((_(C,E-L|0)|0)>0){ra=_(C,E-f-ra|0)|0;vj(D|0,d+252+((_(C,f)|0)<<2)|0,ra<<2|0)|0;uj(d+252+(ra<<2)|0,S|0,(_(L,C)|0)<<2|0)|0}else uj(D|0,S+((_(L-E|0,C)|0)<<2)|0,(_(E,C)|0)<<2|0)|0;E=d+180|0;G=+g[E>>2];F=(c[k>>2]=w,+g[k>>2]);if(G<1.0|F<1.0){ra=c[ua>>2]|0;Pi(S,S,G,F,c[ra+4>>2]|0,f,c[Sa>>2]|0,c[ra+60>>2]|0,c[Ua>>2]|0)}c[E>>2]=w;B=c[ta>>2]|0;if(!((B|0)==1001?(c[wa>>2]|0)!=1:0)){do if((ma|0)<3e4){E=0;Va=263}else{if(((ma<<1)+-6e4|0)>16384){E=16384;break}E=ma+-3e4|0;Va=263}while(0);if((Va|0)==263)E=E<<1;c[d+88>>2]=E}do if(!(c[d+228>>2]|0)){if((c[Sa>>2]|0)!=2){E=B;break}C=d+172|0;l=b[C>>1]|0;E=d+88|0;D=c[E>>2]|0;if(!(l<<16>>16<16384|(D|0)<16384)){E=B;break}ua=c[ua>>2]|0;Si(S,S,+(l<<16>>16)*.00006103515625,+(D|0)*.00006103515625,c[ua+4>>2]|0,f,2,c[ua+60>>2]|0,c[Ua>>2]|0);b[C>>1]=c[E>>2];E=c[ta>>2]|0}else E=B;while(0);do if((E|0)==1002)Va=280;else{C=Ra+20|0;l=Ra+28|0;D=Ri(c[C>>2]|0,c[l>>2]|0)|0;E=(E|0)==1001;if((D+17+(E?20:0)|0)>((t<<3)+-8|0)){Va=280;break}if(E){if((A|0)==0?(D+37|0)>(n<<3|0):0){Va=280;break}rc(Ra,A,12)}if(!A){Va=280;break}rc(Ra,z,1);D=(c[ta>>2]|0)==1001;if(D)E=n;else E=(Ri(c[C>>2]|0,c[l>>2]|0)|0)+7>>3;ua=O-E|0;E=(c[ya>>2]|0)/1600|0;E=(ua|0)<(E|0)?ua:E;E=(E|0)<2?2:(E|0)>257?257:E;if(!D){D=A;l=E;break}tc(Ra,E+-2|0,256);D=A;l=E}while(0);if((Va|0)==280){c[ea>>2]=0;D=0;l=0}E=c[ta>>2]|0;do if((E|0)==1002){E=0;Va=284}else{if((E|0)!=1e3){E=17;Va=284;break}u=(Ri(c[Ra+20>>2]|0,c[Ra+28>>2]|0)|0)+7>>3;xc(Ra);C=u;E=17}while(0);if((Va|0)==284){C=O-l|0;C=(C|0)<(n|0)?C:n;wc(Ra,C)}D=(D|0)==0;do if(D){if((c[ta>>2]|0)==1e3)break;c[Aa>>2]=za;tb(xa,10022,Aa)|0}else{c[Ba>>2]=za;tb(xa,10022,Ba)|0;if(!z)break;c[Ca>>2]=0;tb(xa,10010,Ca)|0;c[Da>>2]=0;tb(xa,4006,Da)|0;if((sb(xa,S,(c[Ua>>2]|0)/200|0,h+(C+1)|0,l,0)|0)<0){t=-3;break c}c[Ea>>2]=Pa;tb(xa,4031,Ea)|0;tb(xa,4028,Fa)|0}while(0);c[Ga>>2]=E;tb(xa,10010,Ga)|0;w=c[ta>>2]|0;do if((w|0)!=1e3){Va=c[qa>>2]|0;if((w|0)!=(Va|0)&(Va|0)>0){tb(xa,4028,Ia)|0;sb(xa,m,(c[Ua>>2]|0)/400|0,Ha,2,0)|0;c[Ja>>2]=0;tb(xa,10002,Ja)|0}if((Ri(c[Ra+20>>2]|0,c[Ra+28>>2]|0)|0)>(C<<3|0))break;u=sb(xa,S,f,0,C,Ra)|0;if((u|0)<0){t=-3;break c}}while(0);if((D^1)&(z|0)==0){Ja=c[Ua>>2]|0;Va=(Ja|0)/200|0;Ja=(Ja|0)/400|0;tb(xa,4028,La)|0;c[Ma>>2]=0;tb(xa,10010,Ma)|0;c[Na>>2]=0;tb(xa,10002,Na)|0;Na=f-Va|0;sb(xa,S+((_(c[Sa>>2]|0,Na-Ja|0)|0)<<2)|0,Ja,Ka,2,0)|0;if((sb(xa,S+((_(c[Sa>>2]|0,Na)|0)<<2)|0,Va,h+(C+1)|0,l,0)|0)<0){t=-3;break}c[Oa>>2]=Pa;tb(xa,4031,Oa)|0}a[h>>0]=Li(c[ta>>2]|0,(c[Ua>>2]|0)/(f|0)|0,I,c[wa>>2]|0)|0;v=c[Ra+28>>2]|0;c[Qa>>2]=v^c[Pa>>2];if(!sa)j=c[ta>>2]|0;else j=1002;c[qa>>2]=j;c[d+208>>2]=c[wa>>2];c[d+212>>2]=f;c[d+224>>2]=0;d:do if((Ri(c[Ra+20>>2]|0,v)|0)>((t<<3)+-8|0)){if((t|0)<2){t=-2;break c}a[h+1>>0]=0;c[Qa>>2]=0;u=1}else{if((c[ta>>2]|0)==1e3^1|D^1)break;while(1){if((u|0)<=2)break d;if(a[h+u>>0]|0)break d;u=u+-1|0}}while(0);u=u+(l+1)|0;if(!(c[Ta>>2]|0)){if(Zi(h,u,t)|0){t=-3;break}}else t=u}while(0);va(V|0);h=t;i=Wa;return h|0}while(0);t=c[d+200>>2]|0;j=c[d+216>>2]|0;j=(j|0)==0?1101:j;do if((X|0)<=100){if((X|0)>=50?(u=(t|0)==0?1e3:t,(u|0)!=1e3):0)if((u|0)==1002){Va=36;break}else{Va=37;break}if((j|0)>1103){t=1103;u=1e3}else{u=1e3;Va=38}}else{u=1002;Va=36}while(0);if((Va|0)==36)if((j|0)==1102)t=1101;else Va=37;if((Va|0)==37)if((j|0)<1105)Va=38;else t=j;if((Va|0)==38)t=1104;a[h>>0]=Li(u,X,t,c[d+168>>2]|0)|0;h=1;i=Wa;return h|0}function Ei(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;if((c[a+96>>2]|0)==2051)g=0;else g=c[a+104>>2]|0;h=a+100|0;g=Bi(b,d,c[a+144>>2]|0,c[h>>2]|0,c[a+132>>2]|0,c[a+148>>2]|0,g,a+10960|0)|0;return Di(a,b,g,e,f,24,b,d,0,-2,c[h>>2]|0,1,1)|0}function Fi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+160|0;m=r+48|0;k=r+40|0;j=r+32|0;h=r+24|0;o=r+16|0;n=r+8|0;l=r;q=r+144|0;f=r+56|0;c[q>>2]=e;p=a+(c[a>>2]|0)|0;a:do switch(d|0){case 4e3:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;switch(e|0){case 2051:case 2049:case 2048:break;default:{f=-1;e=99;break a}}f=a+96|0;if((c[a+224>>2]|0)==0?(c[f>>2]|0)!=(e|0):0){f=-1;e=99;break a}c[f>>2]=e;f=0;e=99;break}case 4001:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+96>>2];f=0;e=99}break}case 4002:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)!=-1e3)if((e|0)!=-1){if((e|0)<1){e=100;break a}if((e|0)<501)f=500;else{f=(c[a+100>>2]|0)*3e5|0;f=(e|0)>(f|0)?f:e}}else f=-1;else f=-1e3;c[a+152>>2]=f;f=0;e=99;break}case 4003:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=Ki(a,c[a+212>>2]|0,1276)|0;f=0;e=99}break}case 4022:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1){if((e|0)!=-1e3){e=100;break a}}else if((e|0)>(c[a+100>>2]|0)){e=100;break a}c[a+108>>2]=e;f=0;e=99;break}case 4023:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+108>>2];f=0;e=99}break}case 4004:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1101|(e|0)>1105)e=100;else{c[a+120>>2]=e;switch(e|0){case 1101:{c[a+20>>2]=8e3;f=0;e=99;break a}case 1102:{c[a+20>>2]=12e3;f=0;e=99;break a}default:{c[a+20>>2]=16e3;f=0;e=99;break a}}}break}case 4005:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+120>>2];f=0;e=99}break}case 4008:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;b:do if((e|0)<1101){if((e|0)!=-1e3){e=100;break a}c[a+116>>2]=e}else{if((e|0)>1105){e=100;break a}c[a+116>>2]=e;switch(e|0){case 1101:{c[a+20>>2]=8e3;f=0;e=99;break a}case 1102:{c[a+20>>2]=12e3;f=0;e=99;break a}default:break b}}while(0);c[a+20>>2]=16e3;f=0;e=99;break}case 4009:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+216>>2];f=0;e=99}break}case 4016:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)e=100;else{c[a+52>>2]=e;f=0;e=99}break}case 4017:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+52>>2];f=0;e=99}break}case 4010:{o=(c[q>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[q>>2]=o+4;if((e|0)<0|(e|0)>10)e=100;else{c[a+44>>2]=e;c[l>>2]=e;tb(p,4010,l)|0;f=0;e=99}break}case 4011:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+44>>2];f=0;e=99}break}case 4012:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)e=100;else{c[a+48>>2]=e;f=0;e=99}break}case 4013:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+48>>2];f=0;e=99}break}case 4014:{o=(c[q>>2]|0)+(4-1)&~(4-1);e=c[o>>2]|0;c[q>>2]=o+4;if((e|0)<0|(e|0)>100)e=100;else{c[a+40>>2]=e;c[n>>2]=e;tb(p,4014,n)|0;f=0;e=99}break}case 4015:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+40>>2];f=0;e=99}break}case 4006:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)e=100;else{c[a+136>>2]=e;c[a+56>>2]=1-e;f=0;e=99}break}case 4007:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+136>>2];f=0;e=99}break}case 11018:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<-1|(e|0)>100)e=100;else{c[a+128>>2]=e;f=0;e=99}break}case 11019:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+128>>2];f=0;e=99}break}case 4020:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<0|(e|0)>1)e=100;else{c[a+140>>2]=e;f=0;e=99}break}case 4021:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+140>>2];f=0;e=99}break}case 4024:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<3001)switch(e|0){case -1e3:break;default:{e=100;break a}}else switch(e|0){case 3002:case 3001:break;default:{e=100;break a}}c[a+112>>2]=e;f=0;e=99;break}case 4025:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+112>>2];f=0;e=99}break}case 4027:{p=(c[q>>2]|0)+(4-1)&~(4-1);f=c[p>>2]|0;c[q>>2]=p+4;if(f){e=(c[a+132>>2]|0)/400|0;c[f>>2]=e;if((c[a+96>>2]|0)==2051){f=0;e=99}else{c[f>>2]=e+(c[a+104>>2]|0);f=0;e=99}}else e=100;break}case 4029:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+132>>2];f=0;e=99}break}case 4031:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+18212>>2];f=0;e=99}break}case 4036:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<8|(e|0)>24)e=100;else{c[a+156>>2]=e;f=0;e=99}break}case 4037:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+156>>2];f=0;e=99}break}case 4040:{n=(c[q>>2]|0)+(4-1)&~(4-1);e=c[n>>2]|0;c[q>>2]=n+4;switch(e|0){case 5010:case 5006:case 5005:case 5004:case 5003:case 5002:case 5001:case 5e3:break;default:{e=100;break a}}c[a+144>>2]=e;c[o>>2]=e;tb(p,4040,o)|0;f=0;e=99;break}case 4041:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+144>>2];f=0;e=99}break}case 4042:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)>1|(e|0)<0)e=100;else{c[a+72>>2]=e;f=0;e=99}break}case 4043:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if(!e)e=100;else{c[e>>2]=c[a+72>>2];f=0;e=99}break}case 4028:{e=a+(c[a+4>>2]|0)|0;rj(a+168|0,0,18052)|0;tb(p,4028,h)|0;Zd(e,c[a+18216>>2]|0,f)|0;c[a+168>>2]=c[a+100>>2];b[a+172>>1]=16384;g[a+180>>2]=1.0;c[a+224>>2]=1;c[a+200>>2]=1001;c[a+216>>2]=1105;c[a+176>>2]=(Yf(60)|0)<<8;f=0;e=99;break}case 11002:{p=(c[q>>2]|0)+(4-1)&~(4-1);e=c[p>>2]|0;c[q>>2]=p+4;if((e|0)<1e3){if((e|0)!=-1e3){e=100;break a}}else if((e|0)>1002){e=100;break a}c[a+124>>2]=e;f=0;e=99;break}case 10024:{e=(c[q>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[q>>2]=e+4;c[a+164>>2]=f;c[j>>2]=f;f=tb(p,10024,j)|0;e=99;break}case 10026:{e=(c[q>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[q>>2]=e+4;c[a+228>>2]=f;c[k>>2]=f;f=tb(p,10026,k)|0;e=99;break}case 10015:{a=(c[q>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[q>>2]=a+4;if(!e)e=100;else{c[m>>2]=e;f=tb(p,10015,m)|0;e=99}break}default:{f=-5;e=99}}while(0);if((e|0)==99){a=f;i=r;return a|0}else if((e|0)==100){a=-1;i=r;return a|0}return 0}function Gi(a){a=a|0;return a+3&-4|0}function Hi(a){a=a|0;return fj(a)|0}function Ii(a){a=a|0;gj(a);return}function Ji(a,b,d,e,f,h,j,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=i;i=i+224|0;v=w+112|0;t=w;r=(e|0)/400|0;s=i;i=i+((1*(r<<2)|0)+15&-16)|0;u=c[h>>2]|0;c[v>>2]=u;g[t>>2]=1.0/((c[k>>2]=u,+g[k>>2])+1.0000000036274937e-15);u=(j|0)==0;if(u){e=b;p=0;q=1}else{p=(r<<1)-j|0;e=c[h+4>>2]|0;c[v+4>>2]=e;g[t+4>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=c[h+8>>2]|0;c[v+8>>2]=e;g[t+8>>2]=1.0/((c[k>>2]=e,+g[k>>2])+1.0000000036274937e-15);e=b-p|0;q=3}e=(e|0)/(r|0)|0;e=(e|0)<24?e:24;n=(e|0)>0;b=0;o=0;while(1){if((o|0)>=(e|0))break;j=(_(o,r)|0)+p|0;ya[l&1](a,s,r,j,0,-2,d);b=(o|0)==0?c[s>>2]|0:b;j=0;m=646978941;while(1){if((j|0)>=(r|0))break;y=c[s+(j<<2)>>2]|0;x=(c[k>>2]=y,+g[k>>2]);x=x-(c[k>>2]=b,+g[k>>2]);b=y;j=j+1|0;m=(g[k>>2]=(c[k>>2]=m,+g[k>>2])+x*x,c[k>>2]|0)}y=o+q|0;c[v+(y<<2)>>2]=m;g[t+(y<<2)>>2]=1.0/(c[k>>2]=m,+g[k>>2]);o=o+1|0}y=(n?e:0)+q|0;c[v+(y<<2)>>2]=c[v+(y+-1<<2)>>2];if(!u){e=e+2|0;e=(e|0)>24?24:e}j=Ui(v,t,e,~~+((d*60|0)+40|0),(f|0)/400|0)|0;e=1<<j;c[h>>2]=c[v+(e<<2)>>2];if(u){i=w;return j|0}c[h+4>>2]=c[v+(e+1<<2)>>2];c[h+8>>2]=c[v+(e+2<<2)>>2];i=w;return j|0}function Ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!b)b=(c[a+132>>2]|0)/400|0;e=c[a+152>>2]|0;switch(e|0){case -1e3:{d=c[a+132>>2]|0;a=((d*60|0)/(b|0)|0)+(_(d,c[a+100>>2]|0)|0)|0;return a|0}case -1:{a=(_(d<<3,c[a+132>>2]|0)|0)/(b|0)|0;return a|0}default:{a=e;return a|0}}return 0}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((b|0)>=400)break;b=b<<1;e=e+1|0}switch(a|0){case 1e3:{b=(c<<5)+96&224|(e<<3)+-16;break}case 1002:{b=((c|0)<1102?0:c+-1102|0)<<5&96|e<<3|128;break}default:b=c<<4|(e<<3)+240|96}return (b|((d|0)==2&1)<<2)&255|0}function Mi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+32|0;k=l+8|0;j=l;m=((b<<16>>16)*2471|0)/((h|0)/1e3|0|0)|0;h=_(m,-471)|0;b=h+268435456|0;c[k>>2]=b;c[k+4>>2]=-268435456-h<<1;c[k+8>>2]=b;h=b>>6;o=m<<16>>16;p=_(m>>16,o)|0;o=_(m&65535,o)|0;m=_(m,(m>>15)+1>>1)|0;q=p+(o>>>16)+m<<16>>16;n=h&65535;c[j>>2]=(_(b>>22,q)|0)+((_(n,q)|0)>>16)+(_(h,(p+(o>>16)+m+-8388608>>15)+1>>1)|0);m=h<<16>>16;c[j+4>>2]=(_(b>>22,m)|0)+((_(n,m)|0)>>16)+(_(h,(b>>21)+1>>1)|0);Ti(a,k,j,e,d,f,g);if((g|0)!=2){i=l;return}Ti(a+4|0,k,j,e+8|0,d+4|0,f,2);i=l;return}function Ni(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;h=12.0/+(f|0);j=0;while(1){if((j|0)>=(e|0))break;i=j<<1;f=c+(i<<2)|0;i=c+((i|1)<<2)|0;k=0;while(1){if((k|0)>=(d|0))break;l=(_(k,e)|0)+j|0;n=+g[f>>2];m=+g[a+(l<<2)>>2]-n;g[f>>2]=n+h*m+1.0000000031710769e-30;n=+g[i>>2];m=m-n;g[i>>2]=n+h*m+1.0000000031710769e-30;g[b+(l<<2)>>2]=m;k=k+1|0}j=j+1|0}return}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(c|0))break;f=e+ +g[a+(d<<2)>>2]*+g[b+(d<<2)>>2];d=d+1|0;e=f}return +e}function Pi(a,b,c,d,e,f,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0;k=48e3/(j|0)|0;l=(e|0)/(k|0)|0;a:do if((h|0)==1){j=0;while(1){if((j|0)>=(l|0)){e=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;g[b+(j<<2)>>2]=(m*d+(1.0-m)*c)*+g[a+(j<<2)>>2];j=j+1|0}}else{j=0;while(1){if((j|0)>=(l|0)){e=0;break a}m=+g[i+((_(j,k)|0)<<2)>>2];m=m*m;m=m*d+(1.0-m)*c;e=j<<1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];e=e|1;g[b+(e<<2)>>2]=m*+g[a+(e<<2)>>2];j=j+1|0}}while(0);do{j=l;while(1){if((j|0)>=(f|0))break;k=(_(j,h)|0)+e|0;g[b+(k<<2)>>2]=+g[a+(k<<2)>>2]*d;j=j+1|0}e=e+1|0}while((e|0)<(h|0));return}function Qi(a){a=+a;var b=0;a=a*32768.0;if(a>-32768.0)if(a<32767.0)b=3;else a=32767.0;else{a=-32768.0;b=3}return (kj(a)|0)&65535|0}function Ri(a,b){a=a|0;b=b|0;return (aa(b|0)|0)+-32+a|0}function Si(a,b,c,d,e,f,h,i,j){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0;l=48e3/(j|0)|0;k=(e|0)/(l|0)|0;c=1.0-c;d=1.0-d;e=(k|0)>0;j=0;while(1){if((j|0)>=(k|0))break;n=+g[i+((_(j,l)|0)<<2)>>2];n=n*n;o=_(j,h)|0;m=o+1|0;n=(n*d+(1.0-n)*c)*((+g[a+(o<<2)>>2]-+g[a+(m<<2)>>2])*.5);o=b+(o<<2)|0;g[o>>2]=+g[o>>2]-n;m=b+(m<<2)|0;g[m>>2]=+g[m>>2]+n;j=j+1|0}j=e?k:0;while(1){if((j|0)>=(f|0))break;k=_(j,h)|0;o=k+1|0;n=d*((+g[a+(k<<2)>>2]-+g[a+(o<<2)>>2])*.5);k=b+(k<<2)|0;g[k>>2]=+g[k>>2]-n;o=b+(o<<2)|0;g[o>>2]=+g[o>>2]+n;j=j+1|0}return}function Ti(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;n=+(c[d>>2]|0)*3.725290298461914e-09;l=+(c[d+4>>2]|0)*3.725290298461914e-09;m=+(c[b>>2]|0)*3.725290298461914e-09;k=+(c[b+4>>2]|0)*3.725290298461914e-09;j=+(c[b+8>>2]|0)*3.725290298461914e-09;b=e+4|0;d=0;while(1){if((d|0)>=(h|0))break;o=_(d,i)|0;q=+g[a+(o<<2)>>2];p=+g[e>>2]+m*q;g[e>>2]=+g[b>>2]-p*n+k*q;g[b>>2]=j*q-p*l+1.0000000031710769e-30;g[f+(o<<2)>>2]=p;d=d+1|0}return}
function Ui(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0;C=i;i=i+3072|0;A=C+1536|0;B=C;if((f|0)>=80)if((f|0)>160)z=1.0;else z=(+(f|0)+-80.0)/80.0;else z=0.0;m=0;while(1){if((m|0)==16)break;c[B+(m<<2)>>2]=-1;g[A+(m<<2)>>2]=1.0e10;m=m+1|0}o=d+1|0;m=0;while(1){if((m|0)==4){y=1;break}y=1<<m;g[A+(y<<2)>>2]=+((f<<m)+e|0)*(z*+Vi(a,b,m,o)+1.0);c[B+(y<<2)>>2]=m;m=m+1|0}while(1){if((y|0)>=(d|0))break;x=y+-1|0;o=2;while(1){if((o|0)==16)break;w=o+-1|0;c[A+(y<<6)+(o<<2)>>2]=c[A+(x<<6)+(w<<2)>>2];c[B+(y<<6)+(o<<2)>>2]=w;o=o+1|0}p=A+(x<<6)+4|0;q=a+(y<<2)|0;r=b+(y<<2)|0;s=d-y|0;t=s+1|0;u=+(s|0);w=0;while(1){if((w|0)==4)break;h=1<<w;n=B+(y<<6)+(h<<2)|0;c[n>>2]=1;v=c[p>>2]|0;o=1;while(1){if((o|0)==4)break;o=o+1|0;m=(1<<o)+-1|0;j=c[A+(x<<6)+(m<<2)>>2]|0;l=(c[k>>2]=j,+g[k>>2]);if(!(l<(c[k>>2]=v,+g[k>>2])))continue;c[n>>2]=m;v=j}l=+((f<<w)+e|0)*(z*+Vi(q,r,w,t)+1.0);o=A+(y<<6)+(h<<2)|0;c[o>>2]=v;if((s|0)<(h|0))l=l*u/+(h|0);g[o>>2]=(c[k>>2]=v,+g[k>>2])+l;w=w+1|0}y=y+1|0}h=d+-1|0;n=c[A+(h<<6)+4>>2]|0;j=1;o=2;while(1){if((o|0)==16)break;l=+g[A+(h<<6)+(o<<2)>>2];m=l<(c[k>>2]=n,+g[k>>2]);n=m?(g[k>>2]=l,c[k>>2]|0):n;j=m?o:j;o=o+1|0}while(1){h=d+-1|0;if((d|0)<=0)break;j=c[B+(h<<6)+(j<<2)>>2]|0;d=h}i=C;return j|0}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,h=0.0,i=0.0;c=1<<c;d=(c|0)<(d|0)?c+1|0:d;c=0;e=0.0;f=0.0;while(1){if((c|0)>=(d|0))break;i=e+ +g[a+(c<<2)>>2];h=f+ +g[b+(c<<2)>>2];c=c+1|0;e=i;f=h}e=(e*f/+(_(d,d)|0)+-2.0)*.05000000074505806;c=e<0.0;if(+O(+(c?0.0:e))>1.0){i=1.0;return +i}i=+O(+(c?0.0:e));return +i}function Wi(a){a=a|0;c[a+4>>2]=0;return}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;return _i(a,b,c)|0}function Yi(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((f|0)<=0){e=-1;return e|0}if((c[e+4>>2]|0)<(f|0)){e=-1;return e|0}n=e+200|0;a:do switch(f|0){case 1:{l=b[n>>1]|0;if((l|0)<(h|0)){a[g>>0]=d[e>>0]&252;k=g+1|0;j=l+1|0;m=12;break a}else{e=-2;return e|0}}case 2:{l=b[e+202>>1]|0;k=b[n>>1]|0;if(l<<16>>16==k<<16>>16){j=l<<16>>16<<1|1;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]&252|1;k=g+1|0;m=12;break a}}else{j=(k<<16>>16)+(l<<16>>16)+2+(k<<16>>16>251&1)|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]&252|2;k=g+((ci(b[n>>1]|0,g+1|0)|0)+1)|0;m=12;break a}}}default:{l=1;m=13}}while(0);if((m|0)==12)if((i|0)!=0&(j|0)<(h|0)){l=1;m=13}b:do if((m|0)==13){while(1){if((l|0)>=(f|0)){m=21;break}if((b[e+200+(l<<1)>>1]|0)!=(b[n>>1]|0)){m=16;break}l=l+1|0;m=13}do if((m|0)==16){l=f+-1|0;k=0;j=2;while(1){if((k|0)>=(l|0))break;n=b[e+200+(k<<1)>>1]|0;k=k+1|0;j=j+((n<<16>>16>251?2:1)+(n<<16>>16))|0}j=j+(b[e+200+(l<<1)>>1]|0)|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f|128;n=1;break}}else if((m|0)==21){j=(_(b[n>>1]|0,f)|0)+2|0;if((j|0)>(h|0)){e=-2;return e|0}else{a[g>>0]=d[e>>0]|3;a[g+1>>0]=f;n=0;break}}while(0);k=g+2|0;if((i|0)!=0?(o=h-j|0,(j|0)!=(h|0)):0){l=g+1|0;a[l>>0]=d[l>>0]|64;l=(o+-1|0)/255|0;m=0;while(1){if((m|0)>=(l|0))break;j=k;a[j>>0]=-1;k=j+1|0;m=m+1|0}a[k>>0]=o+(_(l,-255)|0)+255;k=k+1|0;j=h}if(n){m=f+-1|0;l=0;while(1){if((l|0)>=(m|0))break b;o=k;k=o+(ci(b[e+200+(l<<1)>>1]|0,o)|0)|0;l=l+1|0}}}while(0);l=0;while(1){if((l|0)>=(f|0))break;n=k;o=e+200+(l<<1)|0;vj(n|0,c[e+8+(l<<2)>>2]|0,b[o>>1]|0)|0;k=n+(b[o>>1]|0)|0;l=l+1|0}if(!i){e=j;return e|0}l=g+h|0;while(1){if(k>>>0>=l>>>0)break;a[k>>0]=0;k=k+1|0}return j|0}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+304|0;e=f;if((b|0)<1){e=-1;i=f;return e|0}if((d|0)==(b|0)){e=0;i=f;return e|0}if((d|0)<(b|0)){e=-1;i=f;return e|0}else{Wi(e);g=a+(d-b)|0;vj(g|0,a|0,b|0)|0;Xi(e,g,b)|0;e=Yi(e,c[e+4>>2]|0,a,d,1)|0;i=f;return ((e|0)>0?0:e)|0}return 0}function _i(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;if((e|0)<1){j=-4;i=k;return j|0}h=b+4|0;f=c[h>>2]|0;if(f){if(((a[b>>0]^a[d>>0])&255)>=4){j=-4;i=k;return j|0}}else{a[b>>0]=a[d>>0]|0;c[b+296>>2]=di(d,8e3)|0}j=oi(d,e)|0;if((j|0)<1){j=-4;i=k;return j|0}if((_(j+f|0,c[b+296>>2]|0)|0)>960){j=-4;i=k;return j|0}f=ei(d,e,0,g,b+8+(f<<2)|0,b+200+(f<<1)|0,0,0)|0;if((f|0)<1){j=f;i=k;return j|0}c[h>>2]=(c[h>>2]|0)+j;j=0;i=k;return j|0}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0,l=0.0;j=a+8504|0;h=c[j>>2]|0;f=c[a+8500>>2]|0;i=f-h|0;i=(i|0)<0?i+200|0:i;if(!((d|0)<=480|(f|0)==(h|0))){h=h+1|0;h=(h|0)==200?0:h}k=(h|0)==(f|0);f=f+-1|0;h=a+8512+((((k?f:h)|0)<0?199:k?f:h)*28|0)|0;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];c[b+16>>2]=c[h+16>>2];c[b+20>>2]=c[h+20>>2];c[b+24>>2]=c[h+24>>2];h=a+8508|0;d=(c[h>>2]|0)+((d|0)/120|0)|0;c[h>>2]=d;while(1){if((d|0)<=3)break;k=d+-4|0;c[h>>2]=k;c[j>>2]=(c[j>>2]|0)+1;d=k}d=c[j>>2]|0;if((d|0)>199)c[j>>2]=d+-200;d=200-((i|0)>10?i+-10|0:0)|0;f=(d|0)>0;e=0.0;h=0;while(1){if((h|0)>=(d|0))break;e=e+ +g[a+7684+(h<<2)>>2];h=h+1|0}d=f?d:0;while(1){if((d|0)>=200)break;l=e+ +g[a+6884+(d<<2)>>2];d=d+1|0;e=l}g[b+20>>2]=e*+g[a+8488>>2]+(1.0-e)*+g[a+8484>>2];return}function aj(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;if(!d){c[m>>2]=0;$i(a,m,f);return}j=(j*195|0)/100|0;e=(j|0)<(e|0)?j:e;j=a+6880|0;o=c[j>>2]|0;n=o;o=e-o|0;while(1){bj(a,b,d,(o|0)>480?480:o,n,g,h,i,k,l);if((o|0)>480){n=n+480|0;o=o+-480|0}else break}c[j>>2]=e-f;c[m>>2]=0;$i(a,m,f);return}function bj(a,b,d,e,f,h,j,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0.0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Z=0.0,_=0.0;X=i;i=i+9888|0;G=X+9816|0;L=X+9744|0;Q=X+9712|0;R=X+9608|0;S=X+9600|0;B=X+5760|0;J=X+1920|0;I=X+960|0;H=X;W=a+6860|0;c[W>>2]=(c[W>>2]|0)+1;V=a+6864|0;x=c[V>>2]|0;do if((x|0)>19){r=1.0/20.0;if((x|0)>49){w=1.0/50.0;if((x|0)>999){v=1.0/1.0e3;F=8;break}else{v=1.0/+(x+1|0);F=8;break}}else F=7}else{r=1.0/+(x+1|0);F=7}while(0);if((F|0)==7){w=1.0/+(x+1|0);v=1.0/+(x+1|0);if((x|0)<4){g[a+6840>>2]=.5;b=c[b+72>>2]|0;if(!x){A=a+5760|0;c[A>>2]=240;x=240;K=r;s=b}else F=10}else F=8}if((F|0)==8){b=c[b+72>>2]|0;F=10}if((F|0)==10){x=a+5760|0;A=x;x=c[x>>2]|0;K=r;s=b}p=720-x|0;ya[n&1](d,a+2880+(x<<2)|0,(p|0)>(e|0)?e:p,f,h,j,l);p=c[A>>2]|0;b=p+e|0;if((b|0)<720){c[A>>2]=b;i=X;return}x=a+8500|0;T=c[x>>2]|0;U=a+8512+(T*28|0)|0;c[x>>2]=(T|0)>198?T+-199|0:T+1|0;x=0;while(1){if((x|0)==240)break;C=+g[22208+(x<<2)>>2];g[B+(x<<3)>>2]=C*+g[a+2880+(x<<2)>>2];g[B+(x<<3)+4>>2]=C*+g[a+2880+(x+240<<2)>>2];b=480-x+-1|0;g[B+(b<<3)>>2]=C*+g[a+2880+(b<<2)>>2];g[B+(b<<3)+4>>2]=C*+g[a+2880+(720-x+-1<<2)>>2];x=x+1|0}uj(a+2880|0,a+4800|0,960)|0;e=p+-720+e|0;ya[n&1](d,a+3840|0,e,f+720-p|0,h,j,l);c[A>>2]=e+240;Ec(s,B,J);C=+g[J>>2];if(C!=C|0.0!=0.0){c[U>>2]=0;i=X;return}else p=1;while(1){if((p|0)==240)break;t=+g[J+(p<<3)>>2];e=480-p|0;D=+g[J+(e<<3)>>2];r=+g[J+(p<<3)+4>>2];u=+g[J+(e<<3)+4>>2];z=+cj(r-u,t+D)*.15915493667125702;e=a+(p<<2)|0;C=z-+g[e>>2];f=a+960+(p<<2)|0;q=C-+g[f>>2];u=+cj(D-t,r+u)*.15915493667125702;z=u-z;C=z-C;q=q-+M(+(q+.5));r=q*q;C=C-+M(+(C+.5));g[H+(p<<2)>>2]=+N(+q)+ +N(+C);C=C*C;C=C*C;d=a+1920+(p<<2)|0;g[I+(p<<2)>>2]=1.0/((+g[d>>2]+r*r*2.0+C)*.25*62341.81640625+1.0)+-.014999999664723873;g[e>>2]=u;g[f>>2]=z;g[d>>2]=C;p=p+1|0}j=a+8512+(T*28|0)+16|0;g[j>>2]=0.0;a:do if(!(c[V>>2]|0)){p=0;while(1){if((p|0)==18)break a;g[a+6416+(p<<2)>>2]=1.0e10;g[a+6488+(p<<2)>>2]=-1.0e10;p=p+1|0}}while(0);h=a+6852|0;t=0.0;d=0;n=0;f=0;o=0.0;D=0.0;E=0.0;B=0;while(1){if((B|0)>=18)break;e=B+1|0;x=c[23168+(e<<2)>>2]|0;p=0;u=0.0;b=c[23168+(B<<2)>>2]|0;y=0.0;while(1){if((b|0)>=(x|0))break;q=+g[J+(b<<3)>>2];A=480-b|0;r=+g[J+(A<<3)>>2];C=+g[J+(b<<3)+4>>2];z=+g[J+(A<<3)+4>>2];z=q*q+r*r+C*C+z*z;C=y+z*+g[I+(b<<2)>>2];p=(g[k>>2]=(c[k>>2]=p,+g[k>>2])+z,c[k>>2]|0);u=u+z*2.0*(.5-+g[H+(b<<2)>>2]);b=b+1|0;y=C}z=(c[k>>2]=p,+g[k>>2]);if(!(z<1.0e9)|(z!=z|0.0!=0.0)){F=30;break}c[a+5840+((c[h>>2]|0)*72|0)+(B<<2)>>2]=p;q=z+1.0000000036274937e-15;d=(g[k>>2]=(c[k>>2]=d,+g[k>>2])+u/q,c[k>>2]|0);r=z+1.000000013351432e-10;t=t+ +O(+r);r=+Y(+r);g[L+(B<<2)>>2]=r;A=a+6416+(B<<2)|0;u=+g[A>>2]+.009999999776482582;u=r<u?r:u;g[A>>2]=u;l=a+6488+(B<<2)|0;z=+g[l>>2]+-.10000000149011612;z=r>z?r:z;g[l>>2]=z;if(z<u+1.0){z=z+.5;g[l>>2]=z;u=u+-.5;g[A>>2]=u}r=(r-u)/(z+1.0000000036274937e-15-u);z=0.0;u=0.0;A=0;while(1){if((A|0)==8)break;C=+g[a+5840+(A*72|0)+(B<<2)>>2];z=z+ +O(+C);u=u+C;A=A+1|0}u=z/+O(+(u*8.0+1.0e-15));u=u>.9900000095367432?.9900000095367432:u;u=u*u;u=u*u;A=(g[k>>2]=(c[k>>2]=n,+g[k>>2])+u,c[k>>2]|0);z=y/q;x=a+5764+(B<<2)|0;u=u*+g[x>>2];u=z>u?z:u;g[G+(B<<2)>>2]=u;z=(c[k>>2]=f,+g[k>>2])+u;if((B|0)>8)z=z-+g[G+(B+-9<<2)>>2];f=(g[k>>2]=z,c[k>>2]|0);C=(+(B+-18|0)*.029999999329447746+1.0)*z;g[x>>2]=u;n=A;o=o>C?o:C;D=D+r;E=E+u*+(B+-8|0);B=e}if((F|0)==30){c[U>>2]=0;i=X;return}q=5.699999746866524e-04/+(1<<((m|0)<8?0:m+-8|0)|0);q=q*q;r=1.0-v;A=0;v=0.0;z=0.0;l=0;while(1){if((l|0)==21)break;b=c[23244+(l<<2)>>2]|0;p=l+1|0;s=c[23244+(p<<2)>>2]|0;u=0.0;x=b;while(1){if((x|0)>=(s|0))break;_=+g[J+(x<<3)>>2];I=480-x|0;Z=+g[J+(I<<3)>>2];y=+g[J+(x<<3)+4>>2];C=+g[J+(I<<3)+4>>2];u=u+(_*_+Z*Z+y*y+C*C);x=x+1|0}z=z>u?z:u;I=a+6560+(l<<2)|0;_=r*+g[I>>2];_=_>u?_:u;g[I>>2]=_;u=u>_?u:_;v=v*.05000000074505806;v=v>u?v:u;if(!(u>v*.1&u*1.0e9>z)){I=A;l=p;A=I;continue}if(!(u>q*+(s-b|0))){I=A;l=p;A=I;continue}A=l;l=p}x=c[V>>2]|0;f=(x|0)<3?20:A;C=+jj(t)*20.0;A=a+6844|0;Z=+g[A>>2]+-.029999999329447746;Z=Z>C?Z:C;g[A>>2]=Z;A=a+6848|0;_=+g[A>>2]*(1.0-w);g[A>>2]=C<Z+-30.0?_+w:_;l=0;while(1){if((l|0)==8)break;p=l<<4;s=0;b=0;while(1){if((s|0)==16)break;J=(g[k>>2]=(c[k>>2]=b,+g[k>>2])+ +g[23332+(p+s<<2)>>2]*+g[L+(s<<2)>>2],c[k>>2]|0);s=s+1|0;b=J}c[Q+(l<<2)>>2]=b;l=l+1|0}w=(c[k>>2]=n,+g[k>>2])/18.0;C=(c[k>>2]=d,+g[k>>2])/18.0;g[j>>2]=C+(1.0-C)*((x|0)<10?.5:D/18.0);Z=o/9.0;b=a+5836|0;_=+g[b>>2]*.800000011920929;_=Z>_?Z:_;g[b>>2]=_;b=a+8512+(T*28|0)+8|0;g[b>>2]=E*.015625;c[h>>2]=((c[h>>2]|0)+1|0)%8|0;c[V>>2]=(c[V>>2]|0)+1;s=a+8512+(T*28|0)+4|0;g[s>>2]=_;p=0;while(1){if((p|0)==4)break;g[R+(p<<2)>>2]=(+g[Q+(p<<2)>>2]+ +g[a+6644+(p+24<<2)>>2])*-.12298999726772308+(+g[a+6644+(p<<2)>>2]+ +g[a+6644+(p+16<<2)>>2])*.49195000529289246+ +g[a+6644+(p+8<<2)>>2]*.6969299912452698-+g[a+6772+(p<<2)>>2]*1.4349000453948975;p=p+1|0}r=1.0-K;p=0;while(1){if((p|0)==4){p=0;break}J=a+6772+(p<<2)|0;g[J>>2]=r*+g[J>>2]+K*+g[Q+(p<<2)>>2];p=p+1|0}while(1){if((p|0)==4){p=0;break}g[R+(p+4<<2)>>2]=(+g[Q+(p<<2)>>2]-+g[a+6644+(p+24<<2)>>2])*.6324599981307983+(+g[a+6644+(p<<2)>>2]-+g[a+6644+(p+16<<2)>>2])*.31622999906539917;p=p+1|0}while(1){if((p|0)==3)break;J=p+8|0;g[R+(J<<2)>>2]=(+g[Q+(p<<2)>>2]+ +g[a+6644+(p+24<<2)>>2])*.5345199704170227-(+g[a+6644+(p<<2)>>2]+ +g[a+6644+(p+16<<2)>>2])*.26725998520851135-+g[a+6644+(J<<2)>>2]*.5345199704170227;p=p+1|0}b:do if((c[V>>2]|0)>5){p=0;while(1){if((p|0)==9){p=0;break b}J=a+6804+(p<<2)|0;_=+g[R+(p<<2)>>2];g[J>>2]=r*+g[J>>2]+K*_*_;p=p+1|0}}else p=0;while(0);while(1){if((p|0)==8){p=0;break}J=a+6644+(p+16<<2)|0;c[a+6644+(p+24<<2)>>2]=c[J>>2];I=a+6644+(p+8<<2)|0;c[J>>2]=c[I>>2];J=a+6644+(p<<2)|0;c[I>>2]=c[J>>2];c[J>>2]=c[Q+(p<<2)>>2];p=p+1|0}while(1){if((p|0)==9)break;g[R+(p+11<<2)>>2]=+O(+(+g[a+6804+(p<<2)>>2]));p=p+1|0}c[R+80>>2]=c[s>>2];c[R+84>>2]=c[j>>2];g[R+88>>2]=w;c[R+92>>2]=c[b>>2];c[R+96>>2]=c[A>>2];dj(R,S);z=(+g[S>>2]+1.0)*.5;z=z*1.2100000381469727*z+.009999999776482582-+P(+z,10.0)*.23000000417232513;Q=S+4|0;y=+g[Q>>2]*.5+.5;g[Q>>2]=y;z=y*z+(1.0-y)*.5;g[S>>2]=z;w=y*4.999999873689376e-05;if(!(z>.949999988079071))if(z<.05000000074505806)o=.05000000074505806;else o=z;else o=.949999988079071;x=a+6840|0;r=+g[x>>2];if(!(r>.949999988079071))if(r<.05000000074505806)q=.05000000074505806;else q=r;else q=.949999988079071;Z=1.0-r;v=1.0-w;u=+N(+(o-q))*.05000000074505806/(o*(1.0-q)+q*(1.0-o))+.009999999776482582;t=+P(+(1.0-z),+u);u=+P(+z,+u);_=(r*v+Z*w)*u;_=_/((Z*v+r*w)*t+_);g[x>>2]=_;g[a+8512+(T*28|0)+20>>2]=_;p=a+6884|0;if((c[V>>2]|0)==1){g[p>>2]=.5;s=a+7684|0;g[s>>2]=.5;l=p;r=.5;q=.5}else{V=a+7684|0;l=p;s=V;r=+g[p>>2];q=+g[V>>2]}o=r+ +g[a+6888>>2];r=q+ +g[a+7688>>2];g[l>>2]=o*v*t;g[s>>2]=r*v*u;p=1;while(1){if((p|0)==199)break;V=p+1|0;g[a+6884+(p<<2)>>2]=+g[a+6884+(V<<2)>>2]*t;g[a+7684+(p<<2)>>2]=+g[a+7684+(V<<2)>>2]*u;p=V}g[a+7680>>2]=r*w*t;g[a+8480>>2]=o*w*u;o=9.999999682655225e-21;p=0;while(1){if((p|0)==200)break;o=o+(+g[a+6884+(p<<2)>>2]+ +g[a+7684+(p<<2)>>2]);p=p+1|0}o=1.0/o;p=0;while(1){if((p|0)==200)break;V=a+6884+(p<<2)|0;g[V>>2]=+g[V>>2]*o;V=a+7684+(p<<2)|0;g[V>>2]=+g[V>>2]*o;p=p+1|0}if(y>.75){o=+g[x>>2];if(o>.9){V=a+8496|0;S=(c[V>>2]|0)+1|0;c[V>>2]=S;c[V>>2]=(S|0)<500?S:500;V=a+8488|0;Z=+g[V>>2];_=z-Z;g[V>>2]=Z+1.0/+(S|0)*(_<-.20000000298023224?-.20000000298023224:_)}if(o<.1){V=a+8492|0;S=(c[V>>2]|0)+1|0;c[V>>2]=S;c[V>>2]=(S|0)<500?S:500;V=a+8484|0;Z=+g[V>>2];_=z-Z;g[V>>2]=Z+1.0/+(S|0)*(_>.20000000298023224?.20000000298023224:_)}}else{if(!(c[a+8496>>2]|0))g[a+8488>>2]=.8999999761581421;if(!(c[a+8492>>2]|0))g[a+8484>>2]=.10000000149011612}p=a+6856|0;l=+g[x>>2]>.5&1;if((c[p>>2]|0)!=(l|0))c[W>>2]=0;c[p>>2]=l;c[a+8512+(T*28|0)+24>>2]=f;g[a+8512+(T*28|0)+12>>2]=C;c[U>>2]=1;i=X;return}function cj(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0;f=+N(+b)+ +N(+a)<9.999999717180685e-10;e=f?b*999999995904.0:b;b=f?a*999999995904.0:a;c=e*e;d=b*b;if(c<d){a=(d+c*.6784840226173401)*(d+c*.0859554186463356);if(a!=0.0){e=-(e*b*(d+c*.43157973885536194))/a+(b<0.0?-1.5707963705062866:1.5707963705062866);return +e}else{e=b<0.0?-1.5707963705062866:1.5707963705062866;return +e}}else{a=(c+d*.6784840226173401)*(c+d*.0859554186463356);if(a!=0.0){e=e*b;e=e*(c+d*.43157973885536194)/a+(b<0.0?-1.5707963705062866:1.5707963705062866)-(e<0.0?-1.5707963705062866:1.5707963705062866);return +e}else{e=(b<0.0?-1.5707963705062866:1.5707963705062866)-(e*b<0.0?-1.5707963705062866:1.5707963705062866);return +e}}return 0.0}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,l=0,m=0,n=0;m=i;i=i+400|0;l=m;h=24648;f=0;while(1){if((f|0)==15){e=26208;f=0;break}d=h;e=0;j=c[h>>2]|0;while(1){d=d+4|0;if((e|0)==25)break;n=(g[k>>2]=(c[k>>2]=j,+g[k>>2])+ +g[a+(e<<2)>>2]*+g[d>>2],c[k>>2]|0);e=e+1|0;j=n}g[l+(f<<2)>>2]=+ej((c[k>>2]=j,+g[k>>2]));h=h+104|0;f=f+1|0}while(1){if((f|0)==2)break;d=e;a=0;h=c[e>>2]|0;while(1){d=d+4|0;if((a|0)==15)break;n=(g[k>>2]=(c[k>>2]=h,+g[k>>2])+ +g[l+(a<<2)>>2]*+g[d>>2],c[k>>2]|0);a=a+1|0;h=n}g[b+(f<<2)>>2]=+ej((c[k>>2]=h,+g[k>>2]));e=e+64|0;f=f+1|0}i=m;return}function ej(a){a=+a;var b=0.0,c=0,d=0;if(!(a<8.0)){a=1.0;return +a}if(!(a>-8.0)){a=-1.0;return +a}if(a!=a|0.0!=0.0){a=0.0;return +a}c=a<0.0;a=c?-a:a;d=~~+M(+(a*25.0+.5));a=a-+(d|0)*.03999999910593033;b=+g[23844+(d<<2)>>2];a=(c?-1.0:1.0)*(b+a*(1.0-b*b)*(1.0-b*a));return +a}function fj(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;do if(a>>>0<245){q=a>>>0<11?16:a+11&-8;a=q>>>3;k=c[6595]|0;j=k>>>a;if(j&3){e=(j&1^1)+a|0;b=e<<1;d=26420+(b<<2)|0;b=26420+(b+2<<2)|0;f=c[b>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)==(h|0))c[6595]=k&~(1<<e);else{if(h>>>0>=(c[6599]|0)>>>0?(l=h+12|0,(c[l>>2]|0)==(f|0)):0){c[l>>2]=d;c[b>>2]=h;break}ua()}while(0);Q=e<<3;c[f+4>>2]=Q|3;Q=f+(Q|4)|0;c[Q>>2]=c[Q>>2]|1;break}b=c[6597]|0;if(q>>>0>b>>>0){if(j){f=2<<a;f=j<<a&(f|0-f);f=(f&0-f)+-1|0;g=f>>>12&16;f=f>>>g;e=f>>>5&8;f=f>>>e;d=f>>>2&4;f=f>>>d;h=f>>>1&2;f=f>>>h;i=f>>>1&1;i=(e|g|d|h|i)+(f>>>i)|0;f=i<<1;h=26420+(f<<2)|0;f=26420+(f+2<<2)|0;d=c[f>>2]|0;g=d+8|0;e=c[g>>2]|0;do if((h|0)==(e|0)){c[6595]=k&~(1<<i);n=b}else{if(e>>>0>=(c[6599]|0)>>>0?(m=e+12|0,(c[m>>2]|0)==(d|0)):0){c[m>>2]=h;c[f>>2]=e;n=c[6597]|0;break}ua()}while(0);Q=i<<3;b=Q-q|0;c[d+4>>2]=q|3;j=d+q|0;c[d+(q|4)>>2]=b|1;c[d+Q>>2]=b;if(n){d=c[6600]|0;e=n>>>3;h=e<<1;i=26420+(h<<2)|0;f=c[6595]|0;e=1<<e;if(f&e){f=26420+(h+2<<2)|0;h=c[f>>2]|0;if(h>>>0<(c[6599]|0)>>>0)ua();else{o=f;p=h}}else{c[6595]=f|e;o=26420+(h+2<<2)|0;p=i}c[o>>2]=d;c[p+12>>2]=d;c[d+8>>2]=p;c[d+12>>2]=i}c[6597]=b;c[6600]=j;break}a=c[6596]|0;if(a){b=(a&0-a)+-1|0;P=b>>>12&16;b=b>>>P;O=b>>>5&8;b=b>>>O;Q=b>>>2&4;b=b>>>Q;h=b>>>1&2;b=b>>>h;k=b>>>1&1;k=c[26684+((O|P|Q|h|k)+(b>>>k)<<2)>>2]|0;b=(c[k+4>>2]&-8)-q|0;h=k;while(1){i=c[h+16>>2]|0;if(!i){i=c[h+20>>2]|0;if(!i)break}h=(c[i+4>>2]&-8)-q|0;Q=h>>>0<b>>>0;b=Q?h:b;h=i;k=Q?i:k}a=c[6599]|0;if(k>>>0>=a>>>0?(t=k+q|0,k>>>0<t>>>0):0){j=c[k+24>>2]|0;i=c[k+12>>2]|0;do if((i|0)==(k|0)){h=k+20|0;i=c[h>>2]|0;if(!i){h=k+16|0;i=c[h>>2]|0;if(!i){d=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0<a>>>0)ua();else{c[h>>2]=0;d=i;break}}else{h=c[k+8>>2]|0;if((h>>>0>=a>>>0?(f=h+12|0,(c[f>>2]|0)==(k|0)):0)?(e=i+8|0,(c[e>>2]|0)==(k|0)):0){c[f>>2]=i;c[e>>2]=h;d=i;break}ua()}while(0);do if(j){h=c[k+28>>2]|0;g=26684+(h<<2)|0;if((k|0)==(c[g>>2]|0)){c[g>>2]=d;if(!d){c[6596]=c[6596]&~(1<<h);break}}else{if(j>>>0<(c[6599]|0)>>>0)ua();h=j+16|0;if((c[h>>2]|0)==(k|0))c[h>>2]=d;else c[j+20>>2]=d;if(!d)break}g=c[6599]|0;if(d>>>0<g>>>0)ua();c[d+24>>2]=j;h=c[k+16>>2]|0;do if(h)if(h>>>0<g>>>0)ua();else{c[d+16>>2]=h;c[h+24>>2]=d;break}while(0);h=c[k+20>>2]|0;if(h)if(h>>>0<(c[6599]|0)>>>0)ua();else{c[d+20>>2]=h;c[h+24>>2]=d;break}}while(0);if(b>>>0<16){Q=b+q|0;c[k+4>>2]=Q|3;Q=k+(Q+4)|0;c[Q>>2]=c[Q>>2]|1}else{c[k+4>>2]=q|3;c[k+(q|4)>>2]=b|1;c[k+(b+q)>>2]=b;e=c[6597]|0;if(e){d=c[6600]|0;f=e>>>3;h=f<<1;i=26420+(h<<2)|0;g=c[6595]|0;f=1<<f;if(g&f){h=26420+(h+2<<2)|0;g=c[h>>2]|0;if(g>>>0<(c[6599]|0)>>>0)ua();else{s=h;u=g}}else{c[6595]=g|f;s=26420+(h+2<<2)|0;u=i}c[s>>2]=d;c[u+12>>2]=d;c[d+8>>2]=u;c[d+12>>2]=i}c[6597]=b;c[6600]=t}g=k+8|0;break}ua()}else{u=q;R=154}}else{u=q;R=154}}else if(a>>>0<=4294967231){a=a+11|0;u=a&-8;b=c[6596]|0;if(b){j=0-u|0;a=a>>>8;if(a)if(u>>>0>16777215)k=31;else{t=(a+1048320|0)>>>16&8;R=a<<t;s=(R+520192|0)>>>16&4;R=R<<s;k=(R+245760|0)>>>16&2;k=14-(s|t|k)+(R<<k>>>15)|0;k=u>>>(k+7|0)&1|k<<1}else k=0;a=c[26684+(k<<2)>>2]|0;a:do if(!a){i=0;a=0;R=86}else{f=j;i=0;e=u<<((k|0)==31?0:25-(k>>>1)|0);d=a;a=0;while(1){h=c[d+4>>2]&-8;j=h-u|0;if(j>>>0<f>>>0)if((h|0)==(u|0)){h=d;a=d;R=90;break a}else a=d;else j=f;R=c[d+20>>2]|0;d=c[d+16+(e>>>31<<2)>>2]|0;i=(R|0)==0|(R|0)==(d|0)?i:R;if(!d){R=86;break}else{f=j;e=e<<1}}}while(0);if((R|0)==86){if((i|0)==0&(a|0)==0){a=2<<k;a=b&(a|0-a);if(!a){R=154;break}a=(a&0-a)+-1|0;p=a>>>12&16;a=a>>>p;o=a>>>5&8;a=a>>>o;s=a>>>2&4;a=a>>>s;t=a>>>1&2;a=a>>>t;i=a>>>1&1;i=c[26684+((o|p|s|t|i)+(a>>>i)<<2)>>2]|0;a=0}if(!i){p=j;o=a}else{h=i;R=90}}if((R|0)==90)while(1){R=0;t=(c[h+4>>2]&-8)-u|0;i=t>>>0<j>>>0;j=i?t:j;a=i?h:a;i=c[h+16>>2]|0;if(i){h=i;R=90;continue}h=c[h+20>>2]|0;if(!h){p=j;o=a;break}else R=90}if((o|0)!=0?p>>>0<((c[6597]|0)-u|0)>>>0:0){a=c[6599]|0;if(o>>>0>=a>>>0?(D=o+u|0,o>>>0<D>>>0):0){j=c[o+24>>2]|0;i=c[o+12>>2]|0;do if((i|0)==(o|0)){h=o+20|0;i=c[h>>2]|0;if(!i){h=o+16|0;i=c[h>>2]|0;if(!i){v=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0<a>>>0)ua();else{c[h>>2]=0;v=i;break}}else{h=c[o+8>>2]|0;if((h>>>0>=a>>>0?(q=h+12|0,(c[q>>2]|0)==(o|0)):0)?(r=i+8|0,(c[r>>2]|0)==(o|0)):0){c[q>>2]=i;c[r>>2]=h;v=i;break}ua()}while(0);do if(j){i=c[o+28>>2]|0;h=26684+(i<<2)|0;if((o|0)==(c[h>>2]|0)){c[h>>2]=v;if(!v){c[6596]=c[6596]&~(1<<i);break}}else{if(j>>>0<(c[6599]|0)>>>0)ua();h=j+16|0;if((c[h>>2]|0)==(o|0))c[h>>2]=v;else c[j+20>>2]=v;if(!v)break}i=c[6599]|0;if(v>>>0<i>>>0)ua();c[v+24>>2]=j;h=c[o+16>>2]|0;do if(h)if(h>>>0<i>>>0)ua();else{c[v+16>>2]=h;c[h+24>>2]=v;break}while(0);h=c[o+20>>2]|0;if(h)if(h>>>0<(c[6599]|0)>>>0)ua();else{c[v+20>>2]=h;c[h+24>>2]=v;break}}while(0);b:do if(p>>>0>=16){c[o+4>>2]=u|3;c[o+(u|4)>>2]=p|1;c[o+(p+u)>>2]=p;i=p>>>3;if(p>>>0<256){g=i<<1;e=26420+(g<<2)|0;f=c[6595]|0;h=1<<i;if(f&h){h=26420+(g+2<<2)|0;g=c[h>>2]|0;if(g>>>0<(c[6599]|0)>>>0)ua();else{x=h;y=g}}else{c[6595]=f|h;x=26420+(g+2<<2)|0;y=e}c[x>>2]=D;c[y+12>>2]=D;c[o+(u+8)>>2]=y;c[o+(u+12)>>2]=e;break}d=p>>>8;if(d)if(p>>>0>16777215)i=31;else{P=(d+1048320|0)>>>16&8;Q=d<<P;O=(Q+520192|0)>>>16&4;Q=Q<<O;i=(Q+245760|0)>>>16&2;i=14-(O|P|i)+(Q<<i>>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;h=26684+(i<<2)|0;c[o+(u+28)>>2]=i;c[o+(u+20)>>2]=0;c[o+(u+16)>>2]=0;g=c[6596]|0;f=1<<i;if(!(g&f)){c[6596]=g|f;c[h>>2]=D;c[o+(u+24)>>2]=h;c[o+(u+12)>>2]=D;c[o+(u+8)>>2]=D;break}h=c[h>>2]|0;c:do if((c[h+4>>2]&-8|0)!=(p|0)){i=p<<((i|0)==31?0:25-(i>>>1)|0);while(1){f=h+16+(i>>>31<<2)|0;g=c[f>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(p|0)){z=g;break c}else{i=i<<1;h=g}}if(f>>>0<(c[6599]|0)>>>0)ua();else{c[f>>2]=D;c[o+(u+24)>>2]=h;c[o+(u+12)>>2]=D;c[o+(u+8)>>2]=D;break b}}else z=h;while(0);d=z+8|0;b=c[d>>2]|0;Q=c[6599]|0;if(b>>>0>=Q>>>0&z>>>0>=Q>>>0){c[b+12>>2]=D;c[d>>2]=D;c[o+(u+8)>>2]=b;c[o+(u+12)>>2]=z;c[o+(u+24)>>2]=0;break}else ua()}else{Q=p+u|0;c[o+4>>2]=Q|3;Q=o+(Q+4)|0;c[Q>>2]=c[Q>>2]|1}while(0);g=o+8|0;break}ua()}else R=154}else R=154}else{u=-1;R=154}while(0);d:do if((R|0)==154){a=c[6597]|0;if(a>>>0>=u>>>0){b=a-u|0;d=c[6600]|0;if(b>>>0>15){c[6600]=d+u;c[6597]=b;c[d+(u+4)>>2]=b|1;c[d+a>>2]=b;c[d+4>>2]=u|3}else{c[6597]=0;c[6600]=0;c[d+4>>2]=a|3;R=d+(a+4)|0;c[R>>2]=c[R>>2]|1}g=d+8|0;break}j=c[6598]|0;if(j>>>0>u>>>0){R=j-u|0;c[6598]=R;g=c[6601]|0;c[6601]=g+u;c[g+(u+4)>>2]=R|1;c[g+4>>2]=u|3;g=g+8|0;break}if(!(c[6713]|0))nj();k=u+48|0;h=c[6715]|0;f=u+47|0;i=h+f|0;h=0-h|0;l=i&h;if(l>>>0>u>>>0){a=c[6705]|0;if((a|0)!=0?(z=c[6703]|0,D=z+l|0,D>>>0<=z>>>0|D>>>0>a>>>0):0){g=0;break}e:do if(!(c[6706]&4)){j=c[6601]|0;f:do if(j){g=26828;while(1){a=c[g>>2]|0;if(a>>>0<=j>>>0?(w=g+4|0,(a+(c[w>>2]|0)|0)>>>0>j>>>0):0)break;a=c[g+8>>2]|0;if(!a){R=172;break f}else g=a}a=i-(c[6598]|0)&h;if(a>>>0<2147483647){i=na(a|0)|0;D=(i|0)==((c[g>>2]|0)+(c[w>>2]|0)|0);j=D?a:0;if(D){if((i|0)!=(-1|0)){y=i;q=j;R=192;break e}}else R=182}else j=0}else R=172;while(0);do if((R|0)==172){h=na(0)|0;if((h|0)!=(-1|0)){a=h;j=c[6714]|0;i=j+-1|0;if(!(i&a))a=l;else a=l-a+(i+a&0-j)|0;j=c[6703]|0;i=j+a|0;if(a>>>0>u>>>0&a>>>0<2147483647){D=c[6705]|0;if((D|0)!=0?i>>>0<=j>>>0|i>>>0>D>>>0:0){j=0;break}i=na(a|0)|0;R=(i|0)==(h|0);j=R?a:0;if(R){y=h;q=j;R=192;break e}else R=182}else j=0}else j=0}while(0);g:do if((R|0)==182){h=0-a|0;do if(k>>>0>a>>>0&(a>>>0<2147483647&(i|0)!=(-1|0))?(A=c[6715]|0,A=f-a+A&0-A,A>>>0<2147483647):0)if((na(A|0)|0)==(-1|0)){na(h|0)|0;break g}else{a=A+a|0;break}while(0);if((i|0)!=(-1|0)){y=i;q=a;R=192;break e}}while(0);c[6706]=c[6706]|4;R=189}else{j=0;R=189}while(0);if((((R|0)==189?l>>>0<2147483647:0)?(B=na(l|0)|0,C=na(0)|0,B>>>0<C>>>0&((B|0)!=(-1|0)&(C|0)!=(-1|0))):0)?(E=C-B|0,F=E>>>0>(u+40|0)>>>0,F):0){y=B;q=F?E:j;R=192}if((R|0)==192){i=(c[6703]|0)+q|0;c[6703]=i;if(i>>>0>(c[6704]|0)>>>0)c[6704]=i;p=c[6601]|0;h:do if(p){g=26828;while(1){a=c[g>>2]|0;j=g+4|0;i=c[j>>2]|0;if((y|0)==(a+i|0)){R=202;break}h=c[g+8>>2]|0;if(!h)break;else g=h}if(((R|0)==202?(c[g+12>>2]&8|0)==0:0)?p>>>0<y>>>0&p>>>0>=a>>>0:0){c[j>>2]=i+q;R=(c[6598]|0)+q|0;Q=p+8|0;Q=(Q&7|0)==0?0:0-Q&7;P=R-Q|0;c[6601]=p+Q;c[6598]=P;c[p+(Q+4)>>2]=P|1;c[p+(R+4)>>2]=40;c[6602]=c[6717];break}j=c[6599]|0;if(y>>>0<j>>>0){c[6599]=y;j=y}h=y+q|0;i=26828;while(1){if((c[i>>2]|0)==(h|0)){R=210;break}i=c[i+8>>2]|0;if(!i){i=26828;break}}if((R|0)==210)if(!(c[i+12>>2]&8)){c[i>>2]=y;n=i+4|0;c[n>>2]=(c[n>>2]|0)+q;n=y+8|0;n=(n&7|0)==0?0:0-n&7;l=y+(q+8)|0;l=(l&7|0)==0?0:0-l&7;i=y+(l+q)|0;o=n+u|0;m=y+o|0;a=i-(y+n)-u|0;c[y+(n+4)>>2]=u|3;i:do if((i|0)!=(p|0)){if((i|0)==(c[6600]|0)){R=(c[6597]|0)+a|0;c[6597]=R;c[6600]=m;c[y+(o+4)>>2]=R|1;c[y+(R+o)>>2]=R;break}b=q+4|0;h=c[y+(b+l)>>2]|0;if((h&3|0)==1){k=h&-8;e=h>>>3;j:do if(h>>>0>=256){d=c[y+((l|24)+q)>>2]|0;g=c[y+(q+12+l)>>2]|0;k:do if((g|0)==(i|0)){g=l|16;f=y+(b+g)|0;h=c[f>>2]|0;if(!h){g=y+(g+q)|0;h=c[g>>2]|0;if(!h){N=0;break}}else g=f;while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<j>>>0)ua();else{c[g>>2]=0;N=h;break}}else{f=c[y+((l|8)+q)>>2]|0;do if(f>>>0>=j>>>0){j=f+12|0;if((c[j>>2]|0)!=(i|0))break;h=g+8|0;if((c[h>>2]|0)!=(i|0))break;c[j>>2]=g;c[h>>2]=f;N=g;break k}while(0);ua()}while(0);if(!d)break;j=c[y+(q+28+l)>>2]|0;h=26684+(j<<2)|0;do if((i|0)!=(c[h>>2]|0)){if(d>>>0<(c[6599]|0)>>>0)ua();h=d+16|0;if((c[h>>2]|0)==(i|0))c[h>>2]=N;else c[d+20>>2]=N;if(!N)break j}else{c[h>>2]=N;if(N)break;c[6596]=c[6596]&~(1<<j);break j}while(0);j=c[6599]|0;if(N>>>0<j>>>0)ua();c[N+24>>2]=d;i=l|16;h=c[y+(i+q)>>2]|0;do if(h)if(h>>>0<j>>>0)ua();else{c[N+16>>2]=h;c[h+24>>2]=N;break}while(0);i=c[y+(b+i)>>2]|0;if(!i)break;if(i>>>0<(c[6599]|0)>>>0)ua();else{c[N+20>>2]=i;c[i+24>>2]=N;break}}else{h=c[y+((l|8)+q)>>2]|0;g=c[y+(q+12+l)>>2]|0;f=26420+(e<<1<<2)|0;do if((h|0)!=(f|0)){if(h>>>0>=j>>>0?(c[h+12>>2]|0)==(i|0):0)break;ua()}while(0);if((g|0)==(h|0)){c[6595]=c[6595]&~(1<<e);break}do if((g|0)==(f|0))I=g+8|0;else{if(g>>>0>=j>>>0?(J=g+8|0,(c[J>>2]|0)==(i|0)):0){I=J;break}ua()}while(0);c[h+12>>2]=g;c[I>>2]=h}while(0);i=y+((k|l)+q)|0;a=k+a|0}i=i+4|0;c[i>>2]=c[i>>2]&-2;c[y+(o+4)>>2]=a|1;c[y+(a+o)>>2]=a;i=a>>>3;if(a>>>0<256){g=i<<1;e=26420+(g<<2)|0;f=c[6595]|0;h=1<<i;do if(!(f&h)){c[6595]=f|h;O=26420+(g+2<<2)|0;P=e}else{h=26420+(g+2<<2)|0;g=c[h>>2]|0;if(g>>>0>=(c[6599]|0)>>>0){O=h;P=g;break}ua()}while(0);c[O>>2]=m;c[P+12>>2]=m;c[y+(o+8)>>2]=P;c[y+(o+12)>>2]=e;break}d=a>>>8;do if(!d)i=0;else{if(a>>>0>16777215){i=31;break}P=(d+1048320|0)>>>16&8;R=d<<P;O=(R+520192|0)>>>16&4;R=R<<O;i=(R+245760|0)>>>16&2;i=14-(O|P|i)+(R<<i>>>15)|0;i=a>>>(i+7|0)&1|i<<1}while(0);h=26684+(i<<2)|0;c[y+(o+28)>>2]=i;c[y+(o+20)>>2]=0;c[y+(o+16)>>2]=0;g=c[6596]|0;f=1<<i;if(!(g&f)){c[6596]=g|f;c[h>>2]=m;c[y+(o+24)>>2]=h;c[y+(o+12)>>2]=m;c[y+(o+8)>>2]=m;break}h=c[h>>2]|0;l:do if((c[h+4>>2]&-8|0)!=(a|0)){i=a<<((i|0)==31?0:25-(i>>>1)|0);while(1){f=h+16+(i>>>31<<2)|0;g=c[f>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(a|0)){Q=g;break l}else{i=i<<1;h=g}}if(f>>>0<(c[6599]|0)>>>0)ua();else{c[f>>2]=m;c[y+(o+24)>>2]=h;c[y+(o+12)>>2]=m;c[y+(o+8)>>2]=m;break i}}else Q=h;while(0);d=Q+8|0;b=c[d>>2]|0;R=c[6599]|0;if(b>>>0>=R>>>0&Q>>>0>=R>>>0){c[b+12>>2]=m;c[d>>2]=m;c[y+(o+8)>>2]=b;c[y+(o+12)>>2]=Q;c[y+(o+24)>>2]=0;break}else ua()}else{R=(c[6598]|0)+a|0;c[6598]=R;c[6601]=m;c[y+(o+4)>>2]=R|1}while(0);g=y+(n|8)|0;break d}else i=26828;while(1){h=c[i>>2]|0;if(h>>>0<=p>>>0?(G=c[i+4>>2]|0,H=h+G|0,H>>>0>p>>>0):0)break;i=c[i+8>>2]|0}i=h+(G+-39)|0;i=h+(G+-47+((i&7|0)==0?0:0-i&7))|0;j=p+16|0;i=i>>>0<j>>>0?p:i;h=i+8|0;g=y+8|0;g=(g&7|0)==0?0:0-g&7;R=q+-40-g|0;c[6601]=y+g;c[6598]=R;c[y+(g+4)>>2]=R|1;c[y+(q+-36)>>2]=40;c[6602]=c[6717];g=i+4|0;c[g>>2]=27;c[h>>2]=c[6707];c[h+4>>2]=c[6708];c[h+8>>2]=c[6709];c[h+12>>2]=c[6710];c[6707]=y;c[6708]=q;c[6710]=0;c[6709]=h;h=i+28|0;c[h>>2]=7;if((i+32|0)>>>0<H>>>0)do{R=h;h=h+4|0;c[h>>2]=7}while((R+8|0)>>>0<H>>>0);if((i|0)!=(p|0)){a=i-p|0;c[g>>2]=c[g>>2]&-2;c[p+4>>2]=a|1;c[i>>2]=a;f=a>>>3;if(a>>>0<256){h=f<<1;i=26420+(h<<2)|0;g=c[6595]|0;e=1<<f;if(g&e){d=26420+(h+2<<2)|0;b=c[d>>2]|0;if(b>>>0<(c[6599]|0)>>>0)ua();else{K=d;L=b}}else{c[6595]=g|e;K=26420+(h+2<<2)|0;L=i}c[K>>2]=p;c[L+12>>2]=p;c[p+8>>2]=L;c[p+12>>2]=i;break}d=a>>>8;if(d)if(a>>>0>16777215)h=31;else{Q=(d+1048320|0)>>>16&8;R=d<<Q;P=(R+520192|0)>>>16&4;R=R<<P;h=(R+245760|0)>>>16&2;h=14-(P|Q|h)+(R<<h>>>15)|0;h=a>>>(h+7|0)&1|h<<1}else h=0;e=26684+(h<<2)|0;c[p+28>>2]=h;c[p+20>>2]=0;c[j>>2]=0;d=c[6596]|0;b=1<<h;if(!(d&b)){c[6596]=d|b;c[e>>2]=p;c[p+24>>2]=e;c[p+12>>2]=p;c[p+8>>2]=p;break}d=c[e>>2]|0;m:do if((c[d+4>>2]&-8|0)!=(a|0)){h=a<<((h|0)==31?0:25-(h>>>1)|0);while(1){e=d+16+(h>>>31<<2)|0;b=c[e>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(a|0)){M=b;break m}else{h=h<<1;d=b}}if(e>>>0<(c[6599]|0)>>>0)ua();else{c[e>>2]=p;c[p+24>>2]=d;c[p+12>>2]=p;c[p+8>>2]=p;break h}}else M=d;while(0);d=M+8|0;b=c[d>>2]|0;R=c[6599]|0;if(b>>>0>=R>>>0&M>>>0>=R>>>0){c[b+12>>2]=p;c[d>>2]=p;c[p+8>>2]=b;c[p+12>>2]=M;c[p+24>>2]=0;break}else ua()}}else{R=c[6599]|0;if((R|0)==0|y>>>0<R>>>0)c[6599]=y;c[6707]=y;c[6708]=q;c[6710]=0;c[6604]=c[6713];c[6603]=-1;d=0;do{R=d<<1;Q=26420+(R<<2)|0;c[26420+(R+3<<2)>>2]=Q;c[26420+(R+2<<2)>>2]=Q;d=d+1|0}while((d|0)!=32);R=y+8|0;R=(R&7|0)==0?0:0-R&7;Q=q+-40-R|0;c[6601]=y+R;c[6598]=Q;c[y+(R+4)>>2]=Q|1;c[y+(q+-36)>>2]=40;c[6602]=c[6717]}while(0);b=c[6598]|0;if(b>>>0>u>>>0){R=b-u|0;c[6598]=R;g=c[6601]|0;c[6601]=g+u;c[g+(u+4)>>2]=R|1;c[g+4>>2]=u|3;g=g+8|0;break}}c[(hj()|0)>>2]=12;g=0}else g=0}while(0);return g|0}function gj(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;a:do if(a){f=a+-8|0;k=c[6599]|0;b:do if(f>>>0>=k>>>0?(e=c[a+-4>>2]|0,d=e&3,(d|0)!=1):0){v=e&-8;w=a+(v+-8)|0;do if(!(e&1)){f=c[f>>2]|0;if(!d)break a;l=-8-f|0;n=a+l|0;o=f+v|0;if(n>>>0<k>>>0)break b;if((n|0)==(c[6600]|0)){g=a+(v+-4)|0;f=c[g>>2]|0;if((f&3|0)!=3){B=n;g=o;break}c[6597]=o;c[g>>2]=f&-2;c[a+(l+4)>>2]=o|1;c[w>>2]=o;break a}d=f>>>3;if(f>>>0<256){e=c[a+(l+8)>>2]|0;g=c[a+(l+12)>>2]|0;f=26420+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=k>>>0?(c[e+12>>2]|0)==(n|0):0)break;ua()}while(0);if((g|0)==(e|0)){c[6595]=c[6595]&~(1<<d);B=n;g=o;break}do if((g|0)==(f|0))b=g+8|0;else{if(g>>>0>=k>>>0?(h=g+8|0,(c[h>>2]|0)==(n|0)):0){b=h;break}ua()}while(0);c[e+12>>2]=g;c[b>>2]=e;B=n;g=o;break}h=c[a+(l+24)>>2]|0;f=c[a+(l+12)>>2]|0;do if((f|0)==(n|0)){e=a+(l+20)|0;f=c[e>>2]|0;if(!f){e=a+(l+16)|0;f=c[e>>2]|0;if(!f){m=0;break}}while(1){d=f+20|0;b=c[d>>2]|0;if(b){f=b;e=d;continue}d=f+16|0;b=c[d>>2]|0;if(!b)break;else{f=b;e=d}}if(e>>>0<k>>>0)ua();else{c[e>>2]=0;m=f;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(i=e+12|0,(c[i>>2]|0)==(n|0)):0)?(j=f+8|0,(c[j>>2]|0)==(n|0)):0){c[i>>2]=f;c[j>>2]=e;m=f;break}ua()}while(0);if(h){f=c[a+(l+28)>>2]|0;e=26684+(f<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=m;if(!m){c[6596]=c[6596]&~(1<<f);B=n;g=o;break}}else{if(h>>>0<(c[6599]|0)>>>0)ua();f=h+16|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m;else c[h+20>>2]=m;if(!m){B=n;g=o;break}}e=c[6599]|0;if(m>>>0<e>>>0)ua();c[m+24>>2]=h;f=c[a+(l+16)>>2]|0;do if(f)if(f>>>0<e>>>0)ua();else{c[m+16>>2]=f;c[f+24>>2]=m;break}while(0);f=c[a+(l+20)>>2]|0;if(f)if(f>>>0<(c[6599]|0)>>>0)ua();else{c[m+20>>2]=f;c[f+24>>2]=m;B=n;g=o;break}else{B=n;g=o}}else{B=n;g=o}}else{B=f;g=v}while(0);if(B>>>0<w>>>0?(p=a+(v+-4)|0,q=c[p>>2]|0,(q&1|0)!=0):0){if(!(q&2)){if((w|0)==(c[6601]|0)){A=(c[6598]|0)+g|0;c[6598]=A;c[6601]=B;c[B+4>>2]=A|1;if((B|0)!=(c[6600]|0))break a;c[6600]=0;c[6597]=0;break a}if((w|0)==(c[6600]|0)){A=(c[6597]|0)+g|0;c[6597]=A;c[6600]=B;c[B+4>>2]=A|1;c[B+A>>2]=A;break a}j=(q&-8)+g|0;d=q>>>3;do if(q>>>0>=256){b=c[a+(v+16)>>2]|0;g=c[a+(v|4)>>2]|0;do if((g|0)==(w|0)){f=a+(v+12)|0;g=c[f>>2]|0;if(!g){f=a+(v+8)|0;g=c[f>>2]|0;if(!g){x=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<(c[6599]|0)>>>0)ua();else{c[f>>2]=0;x=g;break}}else{f=c[a+v>>2]|0;if((f>>>0>=(c[6599]|0)>>>0?(t=f+12|0,(c[t>>2]|0)==(w|0)):0)?(u=g+8|0,(c[u>>2]|0)==(w|0)):0){c[t>>2]=g;c[u>>2]=f;x=g;break}ua()}while(0);if(b){g=c[a+(v+20)>>2]|0;f=26684+(g<<2)|0;if((w|0)==(c[f>>2]|0)){c[f>>2]=x;if(!x){c[6596]=c[6596]&~(1<<g);break}}else{if(b>>>0<(c[6599]|0)>>>0)ua();g=b+16|0;if((c[g>>2]|0)==(w|0))c[g>>2]=x;else c[b+20>>2]=x;if(!x)break}g=c[6599]|0;if(x>>>0<g>>>0)ua();c[x+24>>2]=b;f=c[a+(v+8)>>2]|0;do if(f)if(f>>>0<g>>>0)ua();else{c[x+16>>2]=f;c[f+24>>2]=x;break}while(0);d=c[a+(v+12)>>2]|0;if(d)if(d>>>0<(c[6599]|0)>>>0)ua();else{c[x+20>>2]=d;c[d+24>>2]=x;break}}}else{e=c[a+v>>2]|0;g=c[a+(v|4)>>2]|0;f=26420+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=(c[6599]|0)>>>0?(c[e+12>>2]|0)==(w|0):0)break;ua()}while(0);if((g|0)==(e|0)){c[6595]=c[6595]&~(1<<d);break}do if((g|0)==(f|0))r=g+8|0;else{if(g>>>0>=(c[6599]|0)>>>0?(s=g+8|0,(c[s>>2]|0)==(w|0)):0){r=s;break}ua()}while(0);c[e+12>>2]=g;c[r>>2]=e}while(0);c[B+4>>2]=j|1;c[B+j>>2]=j;if((B|0)==(c[6600]|0)){c[6597]=j;break a}else g=j}else{c[p>>2]=q&-2;c[B+4>>2]=g|1;c[B+g>>2]=g}f=g>>>3;if(g>>>0<256){e=f<<1;g=26420+(e<<2)|0;b=c[6595]|0;d=1<<f;if(b&d){d=26420+(e+2<<2)|0;b=c[d>>2]|0;if(b>>>0<(c[6599]|0)>>>0)ua();else{y=d;z=b}}else{c[6595]=b|d;y=26420+(e+2<<2)|0;z=g}c[y>>2]=B;c[z+12>>2]=B;c[B+8>>2]=z;c[B+12>>2]=g;break a}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{y=(b+1048320|0)>>>16&8;z=b<<y;a=(z+520192|0)>>>16&4;z=z<<a;f=(z+245760|0)>>>16&2;f=14-(a|y|f)+(z<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;d=26684+(f<<2)|0;c[B+28>>2]=f;c[B+20>>2]=0;c[B+16>>2]=0;b=c[6596]|0;e=1<<f;c:do if(b&e){d=c[d>>2]|0;d:do if((c[d+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){b=d+16+(f>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){A=e;break d}else{f=f<<1;d=e}}if(b>>>0<(c[6599]|0)>>>0)ua();else{c[b>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B;break c}}else A=d;while(0);b=A+8|0;d=c[b>>2]|0;z=c[6599]|0;if(d>>>0>=z>>>0&A>>>0>=z>>>0){c[d+12>>2]=B;c[b>>2]=B;c[B+8>>2]=d;c[B+12>>2]=A;c[B+24>>2]=0;break}else ua()}else{c[6596]=b|e;c[d>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B}while(0);B=(c[6603]|0)+-1|0;c[6603]=B;if(!B)b=26836;else break a;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[6603]=-1;break a}}while(0);ua()}while(0);return}function hj(){var a=0;if(!(c[6584]|0))a=26876;else a=c[(ja()|0)+60>>2]|0;return a|0}function ij(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[k>>3]=a;b=c[k+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[k>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){g=a+26388279066624.0;h[k>>3]=g;e=(c[k>>2]|0)+128|0;d=e<<1&510;f=+h[8+(d<<3)>>3];a=a-(g+-26388279066624.0)-+h[8+((d|1)<<3)>>3];a=+mj(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function jj(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function kj(a){a=+a;return ~~+lj(a)|0}function lj(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return +a}function mj(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=sj(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function nj(){var a=0;do if(!(c[6713]|0)){a=wa(30)|0;if(!(a+-1&a)){c[6715]=a;c[6714]=a;c[6716]=-1;c[6717]=-1;c[6718]=0;c[6706]=0;c[6713]=(oa(0)|0)&-16^1431655768;break}else ua()}while(0);return}function oj(){}function pj(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 qj(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 rj(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;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function sj(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 tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ra(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 vj(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 uj(b,c,d)|0;return b|0}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function xj(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 yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function zj(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,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=wj(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return wj((Ej(h,g,wj(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Aj(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+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=wj(h^a,g^b,h,g)|0;b=C;Ej(a,b,wj(l^d,k^e,l,k)|0,C,j)|0;e=wj(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function Bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=yj(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function Cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ej(a,b,c,d,0)|0}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Ej(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function Ej(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;n=a;l=b;m=l;k=d;o=e;i=o;if(!m){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(n>>>0)%(k>>>0);c[f+4>>2]=0}o=0;f=(n>>>0)/(k>>>0)>>>0;return (C=o,f)|0}else{if(!g){o=0;f=0;return (C=o,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;o=0;f=0;return (C=o,f)|0}}j=(i|0)==0;do if(k){if(!j){h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=31){g=h+1|0;l=31-h|0;k=h-31>>31;i=g;j=n>>>(g>>>0)&k|m<<l;k=m>>>(g>>>0)&k;g=0;h=n<<l;break}if(!f){o=0;f=0;return (C=o,f)|0}c[f>>2]=a|0;c[f+4>>2]=l|b&0;o=0;f=0;return (C=o,f)|0}j=k-1|0;if(j&k){h=(aa(k|0)|0)+33-(aa(m|0)|0)|0;p=64-h|0;l=32-h|0;a=l>>31;b=h-32|0;k=b>>31;i=h;j=l-1>>31&m>>>(b>>>0)|(m<<l|n>>>(h>>>0))&k;k=k&m>>>(h>>>0);g=n<<p&a;h=(m<<p|n>>>(b>>>0))&a|n<<l&h-33>>31;break}if(f){c[f>>2]=j&n;c[f+4>>2]=0}if((k|0)==1){f=l|b&0;p=a|0|0;return (C=f,p)|0}else{p=xj(k|0)|0;f=m>>>(p>>>0)|0;p=m<<32-p|n>>>(p>>>0)|0;return (C=f,p)|0}}else{if(j){if(f){c[f>>2]=(m>>>0)%(k>>>0);c[f+4>>2]=0}f=0;p=(m>>>0)/(k>>>0)>>>0;return (C=f,p)|0}if(!n){if(f){c[f>>2]=0;c[f+4>>2]=(m>>>0)%(i>>>0)}f=0;p=(m>>>0)/(i>>>0)>>>0;return (C=f,p)|0}j=i-1|0;if(!(j&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=j&m|b&0}f=0;p=m>>>((xj(i|0)|0)>>>0);return (C=f,p)|0}h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=30){k=h+1|0;h=31-h|0;i=k;j=m<<h|n>>>(k>>>0);k=m>>>(k>>>0);g=0;h=n<<h;break}if(!f){f=0;p=0;return (C=f,p)|0}c[f>>2]=a|0;c[f+4>>2]=l|b&0;f=0;p=0;return (C=f,p)|0}while(0);if(!i){l=h;i=0;h=0}else{m=d|0|0;l=o|e&0;b=tj(m|0,l|0,-1,-1)|0;a=C;d=h;h=0;do{n=d;d=g>>>31|d<<1;g=h|g<<1;n=j<<1|n>>>31|0;e=j>>>31|k<<1|0;wj(b,a,n,e)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;j=wj(n,e,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;k=C;i=i-1|0}while((i|0)!=0);l=d;i=0}d=0;if(f){c[f>>2]=j;c[f+4>>2]=k}f=(g|0)>>>31|(l|d)<<1|(d<<1|g>>>31)&0|i;p=(g<<1|0>>>31)&-2|h;return (C=f,p)|0}function Fj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ya[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Gj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ba(0)}
// EMSCRIPTEN_END_FUNCS
var ya=[Gj,zi];return{_opus_get_version_string:mb,_free:gj,_opus_encode_float:Ei,_opus_decoder_create:ii,_i64Add:tj,_memmove:vj,_opus_decode_float:mi,_bitshift64Ashr:pj,_memset:rj,_malloc:fj,_bitshift64Lshr:qj,_opus_encoder_create:yi,_memcpy:uj,_opus_decoder_ctl:ni,_opus_encoder_ctl:Fi,_bitshift64Shl:sj,runPostSets:oj,stackAlloc:za,stackSave:Aa,stackRestore:Ba,establishStackSpace:Ca,setThrew:Da,setTempRet0:Ga,getTempRet0:Ha,dynCall_viiiiiii:Fj}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opus_get_version_string=Module["_opus_get_version_string"]=asm["_opus_get_version_string"];var _free=Module["_free"]=asm["_free"];var _opus_encode_float=Module["_opus_encode_float"]=asm["_opus_encode_float"];var _opus_decoder_create=Module["_opus_decoder_create"]=asm["_opus_decoder_create"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _opus_decode_float=Module["_opus_decode_float"]=asm["_opus_decode_float"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opus_decoder_ctl=Module["_opus_decoder_ctl"]=asm["_opus_decoder_ctl"];var _opus_encoder_create=Module["_opus_encoder_create"]=asm["_opus_encoder_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=asm["_opus_encoder_ctl"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];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=Runtime.stackSave();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;Runtime.stackRestore(initialStackTop);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(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}run()