aboutsummaryrefslogtreecommitdiff
path: root/site/app/twine/libflac.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'site/app/twine/libflac.min.js')
-rw-r--r--site/app/twine/libflac.min.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/site/app/twine/libflac.min.js b/site/app/twine/libflac.min.js
new file mode 100644
index 0000000..436767e
--- /dev/null
+++ b/site/app/twine/libflac.min.js
@@ -0,0 +1,23 @@
+var Module=typeof Module!=="undefined"?Module:{};(function(root,factory){if(typeof define==="function"&&define.amd){define(["module","require"],factory.bind(null,root))}else if(typeof module==="object"&&module.exports){var env=typeof process!=="undefined"&&process&&process.env?process.env:root;factory(env,module,module.require)}else{root.Flac=factory(root)}})(typeof self!=="undefined"?self:typeof window!=="undefined"?window:this,function(global,expLib,require){null;var Module=Module||{};var _flac_ready=false;Module["onRuntimeInitialized"]=function(){_flac_ready=true;if(!_exported){setTimeout(function(){do_fire_event("ready",[{type:"ready",target:_exported}],true)},0)}else{do_fire_event("ready",[{type:"ready",target:_exported}],true)}};if(global&&global.FLAC_SCRIPT_LOCATION){Module["locateFile"]=function(fileName){var path=global.FLAC_SCRIPT_LOCATION||"";if(path[fileName]){return path[fileName]}path+=path&&!/\/$/.test(path)?"/":"";return path+fileName};var readBinary=function(filePath){if(ENVIRONMENT_IS_NODE){var ret=read_(filePath,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret}return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.responseType="arraybuffer";xhr.addEventListener("load",function(evt){resolve(xhr.response)});xhr.addEventListener("error",function(err){reject(err)});xhr.open("GET",filePath);xhr.send()})}}if(global&&typeof global.fetch==="function"){var _fetch=global.fetch;global.fetch=function(url){return _fetch.apply(null,arguments).catch(function(err){try{var result=readBinary(url);if(result&&result.catch){result.catch(function(_err){throw err})}return result}catch(_err){throw err}})}}var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function convertJsFunctionToWasm(func,sig){return func}var freeTableIndexes=[];var functionsInTableMap;function addFunctionWasm(func,sig){var table=wasmTable;if(!functionsInTableMap){functionsInTableMap=new WeakMap;for(var i=0;i<table.length;i++){var item=table.get(i);if(item){functionsInTableMap.set(item,i)}}}if(functionsInTableMap.has(func)){return functionsInTableMap.get(func)}var ret;if(freeTableIndexes.length){ret=freeTableIndexes.pop()}else{ret=table.length;try{table.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}}try{table.set(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}functionsInTableMap.set(func,ret);return ret}function addFunction(func,sig){return addFunctionWasm(func,sig)}var GLOBAL_BASE=1024;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536);this.grow=function(amount){var ret=__growWasmMemory(amount);return ret}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=22+5){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){},Instance:function(module,info){this.exports=(
+// EMSCRIPTEN_START_ASM
+function a(asmLibraryArg,wasmMemory,wasmTable){var scratchBuffer=new ArrayBuffer(8);var b=new Int32Array(scratchBuffer);var c=new Float32Array(scratchBuffer);var d=new Float64Array(scratchBuffer);function e(index){return b[index]}function f(index,value){b[index]=value}function g(){return d[0]}function h(value){d[0]=value}function i(value){c[0]=value}function j(global,env,buffer){var k=env.memory;var l=wasmTable;var m=new global.Int8Array(buffer);var n=new global.Int16Array(buffer);var o=new global.Int32Array(buffer);var p=new global.Uint8Array(buffer);var q=new global.Uint16Array(buffer);var r=new global.Uint32Array(buffer);var s=new global.Float32Array(buffer);var t=new global.Float64Array(buffer);var u=global.Math.imul;var v=global.Math.fround;var w=global.Math.abs;var x=global.Math.clz32;var y=global.Math.min;var z=global.Math.max;var A=global.Math.floor;var B=global.Math.ceil;var C=global.Math.sqrt;var D=env.abort;var E=global.NaN;var F=global.Infinity;var G=env.fd_write;var H=env.round;var I=env.fd_seek;var J=env.emscripten_resize_heap;var K=env.emscripten_memcpy_big;var L=env.fd_read;var M=env.fd_close;var N=5257216;var O=0;var P=0;var Q=0;
+// EMSCRIPTEN_START_FUNCS
+function Zd(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 g=0,h=0,i=0,j=0,k=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,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,R=0,S=0,T=0,U=0,V=0,W=0;a:{if(d>>>0>=13){if((b|0)<1){break a}n=e;m=d+ -13|0;while(1){e=0;d=0;b:{switch(m|0){case 19:d=o[((j<<2)+f|0)+ -128>>2];e=d;h=d>>31;d=o[c+124>>2];e=Ee(e,h,d,d>>31);d=Q;case 18:h=o[((j<<2)+f|0)+ -124>>2];g=h;i=h>>31;h=o[c+120>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 17:h=o[((j<<2)+f|0)+ -120>>2];g=h;i=h>>31;h=o[c+116>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 16:h=o[((j<<2)+f|0)+ -116>>2];g=h;i=h>>31;h=o[c+112>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 15:h=o[((j<<2)+f|0)+ -112>>2];g=h;i=h>>31;h=o[c+108>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 14:h=o[((j<<2)+f|0)+ -108>>2];g=h;i=h>>31;h=o[c+104>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 13:h=o[((j<<2)+f|0)+ -104>>2];g=h;i=h>>31;h=o[c+100>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 12:h=o[((j<<2)+f|0)+ -100>>2];g=h;i=h>>31;h=o[c+96>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 11:h=o[((j<<2)+f|0)+ -96>>2];g=h;i=h>>31;h=o[c+92>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 10:h=o[((j<<2)+f|0)+ -92>>2];g=h;i=h>>31;h=o[c+88>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 9:h=o[((j<<2)+f|0)+ -88>>2];g=h;i=h>>31;h=o[c+84>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 8:h=o[((j<<2)+f|0)+ -84>>2];g=h;i=h>>31;h=o[c+80>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 7:h=o[((j<<2)+f|0)+ -80>>2];g=h;i=h>>31;h=o[c+76>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 6:h=o[((j<<2)+f|0)+ -76>>2];g=h;i=h>>31;h=o[c+72>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 5:h=o[((j<<2)+f|0)+ -72>>2];g=h;i=h>>31;h=o[c+68>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 4:h=o[((j<<2)+f|0)+ -68>>2];g=h;i=h>>31;h=o[c+64>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 3:h=o[((j<<2)+f|0)+ -64>>2];g=h;i=h>>31;h=o[c+60>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 2:h=o[((j<<2)+f|0)+ -60>>2];g=h;i=h>>31;h=o[c+56>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 1:h=o[((j<<2)+f|0)+ -56>>2];g=h;i=h>>31;h=o[c+52>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 0:h=(j<<2)+f|0;i=o[h+ -52>>2];g=i;k=i>>31;i=o[c+48>>2];i=Ee(g,k,i,i>>31)+e|0;g=d+Q|0;g=i>>>0<e>>>0?g+1|0:g;d=o[h+ -48>>2];e=d;k=d>>31;d=o[c+44>>2];e=Ee(e,k,d,d>>31);d=e+i|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -44>>2];e=d;k=d>>31;d=o[c+40>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -40>>2];e=d;k=d>>31;d=o[c+36>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -36>>2];e=d;k=d>>31;d=o[c+32>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -32>>2];e=d;k=d>>31;d=o[c+28>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -28>>2];e=d;k=d>>31;d=o[c+24>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -24>>2];e=d;k=d>>31;d=o[c+20>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -20>>2];e=d;k=d>>31;d=o[c+16>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -16>>2];e=d;k=d>>31;d=o[c+12>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -12>>2];e=d;k=d>>31;d=o[c+8>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -8>>2];e=d;k=d>>31;d=o[c+4>>2];e=Ee(e,k,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;i=d;d=o[h+ -4>>2];e=d;h=d>>31;d=o[c>>2];e=Ee(e,h,d,d>>31);d=i+e|0;g=Q+g|0;g=d>>>0<e>>>0?g+1|0:g;e=d;d=g;break;default:break b}}h=j<<2;k=h+f|0;g=o[a+h>>2];i=e;e=n;h=e&31;o[k>>2]=g+(32<=(e&63)>>>0?d>>h:((1<<h)-1&d)<<32-h|i>>>h);j=j+1|0;if((j|0)!=(b|0)){continue}break}break a}if(d>>>0>=9){if(d>>>0>=11){if((d|0)!=12){if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[f+ -32>>2];p=o[f+ -36>>2];r=o[f+ -40>>2];q=o[f+ -44>>2];g=o[c>>2];s=g;A=g>>31;g=o[c+4>>2];B=g;C=g>>31;g=o[c+8>>2];z=g;E=g>>31;g=o[c+12>>2];F=g;x=g>>31;g=o[c+16>>2];G=g;H=g>>31;g=o[c+20>>2];D=g;J=g>>31;g=o[c+24>>2];K=g;w=g>>31;g=o[c+28>>2];L=g;M=g>>31;g=o[c+32>>2];I=g;O=g>>31;g=o[c+36>>2];P=g;v=g>>31;c=o[c+40>>2];R=c;S=c>>31;c=0;while(1){g=c<<2;N=g+f|0;T=o[a+g>>2];t=r;g=Ee(r,r>>31,P,v);U=Q;r=p;u=Ee(q,q>>31,R,S);q=u+g|0;g=Q+U|0;g=q>>>0<u>>>0?g+1|0:g;u=q;q=Ee(p,p>>31,I,O);p=u+q|0;g=Q+g|0;g=p>>>0<q>>>0?g+1|0:g;q=p;p=l;u=q;q=Ee(l,l>>31,L,M);l=u+q|0;g=Q+g|0;g=l>>>0<q>>>0?g+1|0:g;q=l;l=k;k=q;q=Ee(l,l>>31,K,w);k=k+q|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=k;k=m;u=q;q=Ee(m,m>>31,D,J);m=u+q|0;g=Q+g|0;g=m>>>0<q>>>0?g+1|0:g;q=m;m=i;u=q;q=Ee(i,i>>31,G,H);i=u+q|0;g=Q+g|0;g=i>>>0<q>>>0?g+1|0:g;q=i;i=h;u=q;q=Ee(h,h>>31,F,x);h=u+q|0;g=Q+g|0;g=h>>>0<q>>>0?g+1|0:g;u=h;h=n;q=Ee(h,h>>31,z,E);n=u+q|0;g=Q+g|0;g=n>>>0<q>>>0?g+1|0:g;q=n;n=d;y=N;u=q;q=Ee(d,d>>31,B,C);d=u+q|0;g=Q+g|0;g=d>>>0<q>>>0?g+1|0:g;u=d;d=j;q=Ee(d,d>>31,s,A);j=u+q|0;g=Q+g|0;g=j>>>0<q>>>0?g+1|0:g;N=j;j=e;q=j&31;j=(32<=(j&63)>>>0?g>>q:((1<<q)-1&g)<<32-q|N>>>q)+T|0;o[y>>2]=j;q=t;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[f+ -32>>2];p=o[f+ -36>>2];r=o[f+ -40>>2];q=o[f+ -44>>2];g=o[f+ -48>>2];t=o[c>>2];A=t;B=t>>31;t=o[c+4>>2];C=t;z=t>>31;t=o[c+8>>2];E=t;F=t>>31;t=o[c+12>>2];x=t;G=t>>31;t=o[c+16>>2];H=t;D=t>>31;t=o[c+20>>2];J=t;K=t>>31;t=o[c+24>>2];w=t;L=t>>31;t=o[c+28>>2];M=t;I=t>>31;t=o[c+32>>2];O=t;P=t>>31;t=o[c+36>>2];v=t;R=t>>31;t=o[c+40>>2];S=t;N=t>>31;c=o[c+44>>2];T=c;U=c>>31;c=0;while(1){t=c<<2;u=t+f|0;W=o[a+t>>2];t=q;s=Ee(q,q>>31,S,N);y=Q;q=r;V=Ee(g,g>>31,T,U);s=V+s|0;g=Q+y|0;g=s>>>0<V>>>0?g+1|0:g;y=s;s=Ee(r,r>>31,v,R);r=y+s|0;g=Q+g|0;g=r>>>0<s>>>0?g+1|0:g;s=r;r=p;y=s;s=Ee(p,p>>31,O,P);p=y+s|0;g=Q+g|0;g=p>>>0<s>>>0?g+1|0:g;s=p;p=l;y=s;s=Ee(l,l>>31,M,I);l=y+s|0;g=Q+g|0;g=l>>>0<s>>>0?g+1|0:g;s=l;l=k;k=s;s=Ee(l,l>>31,w,L);k=k+s|0;g=Q+g|0;g=k>>>0<s>>>0?g+1|0:g;s=k;k=m;y=s;s=Ee(m,m>>31,J,K);m=y+s|0;g=Q+g|0;g=m>>>0<s>>>0?g+1|0:g;s=m;m=i;y=s;s=Ee(i,i>>31,H,D);i=y+s|0;g=Q+g|0;g=i>>>0<s>>>0?g+1|0:g;s=i;i=h;y=s;s=Ee(h,h>>31,x,G);h=y+s|0;g=Q+g|0;g=h>>>0<s>>>0?g+1|0:g;y=h;h=n;s=Ee(h,h>>31,E,F);n=y+s|0;g=Q+g|0;g=n>>>0<s>>>0?g+1|0:g;s=n;n=d;y=u;u=s;s=Ee(d,d>>31,C,z);d=u+s|0;g=Q+g|0;g=d>>>0<s>>>0?g+1|0:g;u=d;d=j;s=Ee(d,d>>31,A,B);j=u+s|0;g=Q+g|0;g=j>>>0<s>>>0?g+1|0:g;u=j;j=e;s=j&31;j=(32<=(j&63)>>>0?g>>s:((1<<s)-1&g)<<32-s|u>>>s)+W|0;o[y>>2]=j;g=t;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=10){if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[f+ -32>>2];p=o[f+ -36>>2];g=o[c>>2];q=g;t=g>>31;g=o[c+4>>2];s=g;A=g>>31;g=o[c+8>>2];B=g;C=g>>31;g=o[c+12>>2];z=g;E=g>>31;g=o[c+16>>2];F=g;x=g>>31;g=o[c+20>>2];G=g;H=g>>31;g=o[c+24>>2];D=g;J=g>>31;g=o[c+28>>2];K=g;w=g>>31;c=o[c+32>>2];L=c;M=c>>31;c=0;while(1){g=c<<2;I=g+f|0;O=o[a+g>>2];r=l;g=Ee(l,l>>31,K,w);P=Q;l=k;v=Ee(p,p>>31,L,M);p=v+g|0;g=Q+P|0;g=p>>>0<v>>>0?g+1|0:g;k=p;p=Ee(l,l>>31,D,J);k=k+p|0;g=Q+g|0;g=k>>>0<p>>>0?g+1|0:g;p=k;k=m;v=p;p=Ee(m,m>>31,G,H);m=v+p|0;g=Q+g|0;g=m>>>0<p>>>0?g+1|0:g;p=m;m=i;v=p;p=Ee(i,i>>31,F,x);i=v+p|0;g=Q+g|0;g=i>>>0<p>>>0?g+1|0:g;p=i;i=h;v=p;p=Ee(h,h>>31,z,E);h=v+p|0;g=Q+g|0;g=h>>>0<p>>>0?g+1|0:g;v=h;h=n;p=Ee(h,h>>31,B,C);n=v+p|0;g=Q+g|0;g=n>>>0<p>>>0?g+1|0:g;p=n;n=d;u=I;v=p;p=Ee(d,d>>31,s,A);d=v+p|0;g=Q+g|0;g=d>>>0<p>>>0?g+1|0:g;v=d;d=j;p=Ee(d,d>>31,q,t);j=v+p|0;g=Q+g|0;g=j>>>0<p>>>0?g+1|0:g;I=j;j=e;p=j&31;j=(32<=(j&63)>>>0?g>>p:((1<<p)-1&g)<<32-p|I>>>p)+O|0;o[u>>2]=j;p=r;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[f+ -32>>2];p=o[f+ -36>>2];r=o[f+ -40>>2];g=o[c>>2];t=g;s=g>>31;g=o[c+4>>2];A=g;B=g>>31;g=o[c+8>>2];C=g;z=g>>31;g=o[c+12>>2];E=g;F=g>>31;g=o[c+16>>2];x=g;G=g>>31;g=o[c+20>>2];H=g;D=g>>31;g=o[c+24>>2];J=g;K=g>>31;g=o[c+28>>2];w=g;L=g>>31;g=o[c+32>>2];M=g;I=g>>31;c=o[c+36>>2];O=c;P=c>>31;c=0;while(1){g=c<<2;v=g+f|0;R=o[a+g>>2];q=p;g=Ee(p,p>>31,M,I);S=Q;p=l;N=Ee(r,r>>31,O,P);r=N+g|0;g=Q+S|0;g=r>>>0<N>>>0?g+1|0:g;u=r;r=Ee(l,l>>31,w,L);l=u+r|0;g=Q+g|0;g=l>>>0<r>>>0?g+1|0:g;r=l;l=k;k=r;r=Ee(l,l>>31,J,K);k=k+r|0;g=Q+g|0;g=k>>>0<r>>>0?g+1|0:g;r=k;k=m;u=r;r=Ee(m,m>>31,H,D);m=u+r|0;g=Q+g|0;g=m>>>0<r>>>0?g+1|0:g;r=m;m=i;u=r;r=Ee(i,i>>31,x,G);i=u+r|0;g=Q+g|0;g=i>>>0<r>>>0?g+1|0:g;r=i;i=h;u=r;r=Ee(h,h>>31,E,F);h=u+r|0;g=Q+g|0;g=h>>>0<r>>>0?g+1|0:g;u=h;h=n;r=Ee(h,h>>31,C,z);n=u+r|0;g=Q+g|0;g=n>>>0<r>>>0?g+1|0:g;r=n;n=d;u=v;v=r;r=Ee(d,d>>31,A,B);d=v+r|0;g=Q+g|0;g=d>>>0<r>>>0?g+1|0:g;v=d;d=j;r=Ee(d,d>>31,t,s);j=v+r|0;g=Q+g|0;g=j>>>0<r>>>0?g+1|0:g;v=j;j=e;r=j&31;j=(32<=(j&63)>>>0?g>>r:((1<<r)-1&g)<<32-r|v>>>r)+R|0;o[u>>2]=j;r=q;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=5){if(d>>>0>=7){if((d|0)!=8){if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[c>>2];p=l;r=l>>31;l=o[c+4>>2];q=l;t=l>>31;l=o[c+8>>2];s=l;A=l>>31;l=o[c+12>>2];B=l;C=l>>31;l=o[c+16>>2];z=l;E=l>>31;l=o[c+20>>2];F=l;x=l>>31;c=o[c+24>>2];G=c;H=c>>31;c=0;while(1){l=c<<2;D=l+f|0;J=o[a+l>>2];l=m;g=Ee(l,l>>31,F,x);K=Q;m=i;w=Ee(k,k>>31,G,H);k=w+g|0;g=Q+K|0;g=k>>>0<w>>>0?g+1|0:g;w=k;k=Ee(i,i>>31,z,E);i=w+k|0;g=Q+g|0;g=i>>>0<k>>>0?g+1|0:g;k=i;i=h;w=k;k=Ee(h,h>>31,B,C);h=w+k|0;g=Q+g|0;g=h>>>0<k>>>0?g+1|0:g;w=h;h=n;k=Ee(h,h>>31,s,A);n=w+k|0;g=Q+g|0;g=n>>>0<k>>>0?g+1|0:g;k=n;n=d;v=D;w=k;k=Ee(d,d>>31,q,t);d=w+k|0;g=Q+g|0;g=d>>>0<k>>>0?g+1|0:g;w=d;d=j;k=Ee(d,d>>31,p,r);j=w+k|0;g=Q+g|0;g=j>>>0<k>>>0?g+1|0:g;D=j;j=e;k=j&31;j=(32<=(j&63)>>>0?g>>k:((1<<k)-1&g)<<32-k|D>>>k)+J|0;o[v>>2]=j;k=l;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[f+ -28>>2];l=o[f+ -32>>2];g=o[c>>2];r=g;q=g>>31;g=o[c+4>>2];t=g;s=g>>31;g=o[c+8>>2];A=g;B=g>>31;g=o[c+12>>2];C=g;z=g>>31;g=o[c+16>>2];E=g;F=g>>31;g=o[c+20>>2];x=g;G=g>>31;g=o[c+24>>2];H=g;D=g>>31;c=o[c+28>>2];J=c;K=c>>31;c=0;while(1){g=c<<2;w=g+f|0;L=o[a+g>>2];p=k;g=Ee(k,k>>31,H,D);M=Q;k=m;I=Ee(l,l>>31,J,K);l=I+g|0;g=Q+M|0;g=l>>>0<I>>>0?g+1|0:g;v=l;l=Ee(m,m>>31,x,G);m=v+l|0;g=Q+g|0;g=m>>>0<l>>>0?g+1|0:g;l=m;m=i;v=l;l=Ee(i,i>>31,E,F);i=v+l|0;g=Q+g|0;g=i>>>0<l>>>0?g+1|0:g;l=i;i=h;v=l;l=Ee(h,h>>31,C,z);h=v+l|0;g=Q+g|0;g=h>>>0<l>>>0?g+1|0:g;v=h;h=n;l=Ee(h,h>>31,A,B);n=v+l|0;g=Q+g|0;g=n>>>0<l>>>0?g+1|0:g;l=n;n=d;v=w;w=l;l=Ee(d,d>>31,t,s);d=w+l|0;g=Q+g|0;g=d>>>0<l>>>0?g+1|0:g;w=d;d=j;l=Ee(d,d>>31,r,q);j=w+l|0;g=Q+g|0;g=j>>>0<l>>>0?g+1|0:g;w=j;j=e;l=j&31;j=(32<=(j&63)>>>0?g>>l:((1<<l)-1&g)<<32-l|w>>>l)+L|0;o[v>>2]=j;l=p;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=6){if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[c>>2];k=m;l=m>>31;m=o[c+4>>2];p=m;r=m>>31;m=o[c+8>>2];q=m;t=m>>31;m=o[c+12>>2];s=m;A=m>>31;c=o[c+16>>2];B=c;C=c>>31;c=0;while(1){m=c<<2;z=m+f|0;E=o[a+m>>2];m=h;g=Ee(h,h>>31,s,A);F=Q;h=n;x=Ee(i,i>>31,B,C);i=x+g|0;g=Q+F|0;g=i>>>0<x>>>0?g+1|0:g;n=i;i=Ee(h,h>>31,q,t);n=n+i|0;g=Q+g|0;g=n>>>0<i>>>0?g+1|0:g;i=n;n=d;x=i;i=Ee(d,d>>31,p,r);d=x+i|0;g=Q+g|0;g=d>>>0<i>>>0?g+1|0:g;i=d;d=j;j=Ee(d,d>>31,k,l);i=i+j|0;g=Q+g|0;g=i>>>0<j>>>0?g+1|0:g;j=e&31;j=(32<=(e&63)>>>0?g>>j:((1<<j)-1&g)<<32-j|i>>>j)+E|0;o[z>>2]=j;i=m;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[f+ -20>>2];m=o[f+ -24>>2];k=o[c>>2];l=k;p=l>>31;k=o[c+4>>2];r=k;q=k>>31;k=o[c+8>>2];t=k;s=k>>31;k=o[c+12>>2];A=k;B=k>>31;k=o[c+16>>2];C=k;z=k>>31;c=o[c+20>>2];E=c;F=c>>31;c=0;while(1){k=c<<2;x=k+f|0;G=o[a+k>>2];k=i;g=Ee(i,i>>31,C,z);H=Q;i=h;D=Ee(m,m>>31,E,F);m=D+g|0;g=Q+H|0;g=m>>>0<D>>>0?g+1|0:g;w=m;m=Ee(h,h>>31,A,B);h=w+m|0;g=Q+g|0;g=h>>>0<m>>>0?g+1|0:g;w=h;h=n;m=Ee(h,h>>31,t,s);n=w+m|0;g=Q+g|0;g=n>>>0<m>>>0?g+1|0:g;m=n;n=d;w=x;x=m;m=Ee(d,d>>31,r,q);d=x+m|0;g=Q+g|0;g=d>>>0<m>>>0?g+1|0:g;m=d;d=j;j=Ee(d,d>>31,l,p);m=m+j|0;g=Q+g|0;g=m>>>0<j>>>0?g+1|0:g;j=e&31;j=(32<=(e&63)>>>0?g>>j:((1<<j)-1&g)<<32-j|m>>>j)+G|0;o[w>>2]=j;m=k;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=3){if((d|0)!=4){if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[c>>2];m=h;k=h>>31;h=o[c+4>>2];l=h;p=h>>31;c=o[c+8>>2];r=c;q=c>>31;c=0;while(1){h=c<<2;i=h+f|0;t=o[a+h>>2];h=d;d=Ee(h,h>>31,l,p);g=Q;s=i;n=Ee(n,n>>31,r,q);d=n+d|0;g=Q+g|0;g=d>>>0<n>>>0?g+1|0:g;i=d;d=j;j=Ee(d,d>>31,m,k);n=i+j|0;g=Q+g|0;g=n>>>0<j>>>0?g+1|0:g;j=n;i=e&31;j=(32<=(e&63)>>>0?g>>i:((1<<i)-1&g)<<32-i|j>>>i)+t|0;o[s>>2]=j;n=h;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[f+ -12>>2];h=o[f+ -16>>2];i=o[c>>2];k=i;l=i>>31;i=o[c+4>>2];p=i;r=i>>31;i=o[c+8>>2];q=i;t=i>>31;c=o[c+12>>2];s=c;A=c>>31;c=0;while(1){i=c<<2;m=i+f|0;B=o[a+i>>2];i=n;g=Ee(i,i>>31,q,t);C=Q;n=d;x=m;z=Ee(h,h>>31,s,A);h=z+g|0;g=Q+C|0;g=h>>>0<z>>>0?g+1|0:g;m=h;h=Ee(d,d>>31,p,r);d=m+h|0;g=Q+g|0;g=d>>>0<h>>>0?g+1|0:g;h=d;d=j;j=Ee(d,d>>31,k,l);h=h+j|0;g=Q+g|0;g=h>>>0<j>>>0?g+1|0:g;j=h;h=e;m=h&31;j=(32<=(h&63)>>>0?g>>m:((1<<m)-1&g)<<32-m|j>>>m)+B|0;o[x>>2]=j;h=i;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=2){if((b|0)<1){break a}j=o[f+ -4>>2];c=o[c>>2];i=c;m=c>>31;c=0;while(1){d=c<<2;k=d+f|0;g=o[a+d>>2];j=Ee(j,j>>31,i,m);h=Q;d=e;n=d&31;j=g+(32<=(d&63)>>>0?h>>n:((1<<n)-1&h)<<32-n|j>>>n)|0;o[k>>2]=j;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}j=o[f+ -4>>2];d=o[f+ -8>>2];n=o[c>>2];i=n;m=i>>31;c=o[c+4>>2];k=c;l=c>>31;c=0;while(1){n=c<<2;h=n+f|0;p=o[a+n>>2];n=j;j=Ee(j,j>>31,i,m);g=Q;q=h;h=j;j=Ee(d,d>>31,k,l);d=h+j|0;g=Q+g|0;g=d>>>0<j>>>0?g+1|0:g;j=d;d=e;h=d&31;j=(32<=(d&63)>>>0?g>>h:((1<<h)-1&g)<<32-h|j>>>h)+p|0;o[q>>2]=j;d=n;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function ae(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 g=0,h=0,i=0,j=0,k=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,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,R=0,S=0,T=0,U=0,V=0;a:{if(d>>>0>=13){if((b|0)<1){break a}s=e;m=d+ -13|0;while(1){e=0;d=0;b:{switch(m|0){case 19:d=o[((n<<2)+a|0)+ -128>>2];e=d;h=d>>31;d=o[c+124>>2];e=Ee(e,h,d,d>>31);d=Q;case 18:h=o[((n<<2)+a|0)+ -124>>2];g=h;i=h>>31;h=o[c+120>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 17:h=o[((n<<2)+a|0)+ -120>>2];g=h;i=h>>31;h=o[c+116>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 16:h=o[((n<<2)+a|0)+ -116>>2];g=h;i=h>>31;h=o[c+112>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 15:h=o[((n<<2)+a|0)+ -112>>2];g=h;i=h>>31;h=o[c+108>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 14:h=o[((n<<2)+a|0)+ -108>>2];g=h;i=h>>31;h=o[c+104>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 13:h=o[((n<<2)+a|0)+ -104>>2];g=h;i=h>>31;h=o[c+100>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 12:h=o[((n<<2)+a|0)+ -100>>2];g=h;i=h>>31;h=o[c+96>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 11:h=o[((n<<2)+a|0)+ -96>>2];g=h;i=h>>31;h=o[c+92>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 10:h=o[((n<<2)+a|0)+ -92>>2];g=h;i=h>>31;h=o[c+88>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 9:h=o[((n<<2)+a|0)+ -88>>2];g=h;i=h>>31;h=o[c+84>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 8:h=o[((n<<2)+a|0)+ -84>>2];g=h;i=h>>31;h=o[c+80>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 7:h=o[((n<<2)+a|0)+ -80>>2];g=h;i=h>>31;h=o[c+76>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 6:h=o[((n<<2)+a|0)+ -76>>2];g=h;i=h>>31;h=o[c+72>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 5:h=o[((n<<2)+a|0)+ -72>>2];g=h;i=h>>31;h=o[c+68>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 4:h=o[((n<<2)+a|0)+ -68>>2];g=h;i=h>>31;h=o[c+64>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 3:h=o[((n<<2)+a|0)+ -64>>2];g=h;i=h>>31;h=o[c+60>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 2:h=o[((n<<2)+a|0)+ -60>>2];g=h;i=h>>31;h=o[c+56>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 1:h=o[((n<<2)+a|0)+ -56>>2];g=h;i=h>>31;h=o[c+52>>2];h=Ee(g,i,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;e=h;d=g;case 0:i=(n<<2)+a|0;h=o[i+ -52>>2];g=h;j=h>>31;h=o[c+48>>2];h=Ee(g,j,h,h>>31)+e|0;g=d+Q|0;g=h>>>0<e>>>0?g+1|0:g;d=o[i+ -48>>2];e=d;j=d>>31;d=o[c+44>>2];d=Ee(e,j,d,d>>31);e=d+h|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -44>>2];h=d;j=d>>31;d=o[c+40>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -40>>2];h=d;j=d>>31;d=o[c+36>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -36>>2];h=d;j=d>>31;d=o[c+32>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -32>>2];h=d;j=d>>31;d=o[c+28>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -28>>2];h=d;j=d>>31;d=o[c+24>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -24>>2];h=d;j=d>>31;d=o[c+20>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -20>>2];h=d;j=d>>31;d=o[c+16>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -16>>2];h=d;j=d>>31;d=o[c+12>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -12>>2];h=d;j=d>>31;d=o[c+8>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -8>>2];h=d;j=d>>31;d=o[c+4>>2];d=Ee(h,j,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=o[i+ -4>>2];h=d;i=d>>31;d=o[c>>2];d=Ee(h,i,d,d>>31);e=d+e|0;g=Q+g|0;g=e>>>0<d>>>0?g+1|0:g;d=g;break;default:break b}}h=n<<2;g=h+f|0;j=o[a+h>>2];h=d;d=s;i=d&31;o[g>>2]=j-(32<=(d&63)>>>0?h>>i:((1<<i)-1&h)<<32-i|e>>>i);n=n+1|0;if((n|0)!=(b|0)){continue}break}break a}if(d>>>0>=9){if(d>>>0>=11){if((d|0)!=12){if((b|0)<1){break a}k=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];i=o[a+ -28>>2];j=o[a+ -32>>2];l=o[a+ -36>>2];r=o[a+ -40>>2];t=o[a+ -44>>2];g=o[c>>2];P=g;R=g>>31;g=o[c+4>>2];S=g;M=g>>31;g=o[c+8>>2];N=g;O=g>>31;g=o[c+12>>2];J=g;K=g>>31;g=o[c+16>>2];L=g;G=g>>31;g=o[c+20>>2];H=g;I=g>>31;g=o[c+24>>2];E=g;F=g>>31;g=o[c+28>>2];B=g;C=g>>31;g=o[c+32>>2];D=g;y=g>>31;g=o[c+36>>2];z=g;A=g>>31;c=o[c+40>>2];w=c;x=c>>31;c=0;while(1){q=r;r=l;l=j;j=i;i=m;m=h;h=s;s=d;d=n;n=k;g=c<<2;v=g+f|0;k=o[a+g>>2];p=Ee(q,q>>31,z,A);g=Q;u=p;p=Ee(t,t>>31,w,x);t=u+p|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(r,r>>31,D,y);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(l,l>>31,B,C);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(j,j>>31,E,F);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(i,i>>31,H,I);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(m,m>>31,L,G);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(h,h>>31,J,K);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(s,s>>31,N,O);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(d,d>>31,S,M);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=Ee(n,n>>31,P,R);t=p+t|0;g=Q+g|0;g=t>>>0<p>>>0?g+1|0:g;p=g;g=e;u=g&31;o[v>>2]=k-(32<=(g&63)>>>0?p>>u:((1<<u)-1&p)<<32-u|t>>>u);t=q;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}t=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];i=o[a+ -28>>2];j=o[a+ -32>>2];l=o[a+ -36>>2];r=o[a+ -40>>2];q=o[a+ -44>>2];k=o[a+ -48>>2];g=o[c>>2];T=g;U=g>>31;g=o[c+4>>2];V=g;P=g>>31;g=o[c+8>>2];R=g;S=g>>31;g=o[c+12>>2];M=g;N=g>>31;g=o[c+16>>2];O=g;J=g>>31;g=o[c+20>>2];K=g;L=g>>31;g=o[c+24>>2];G=g;H=g>>31;g=o[c+28>>2];I=g;E=g>>31;g=o[c+32>>2];F=g;B=g>>31;g=o[c+36>>2];C=g;D=g>>31;g=o[c+40>>2];y=g;z=g>>31;c=o[c+44>>2];A=c;w=c>>31;c=0;while(1){p=q;q=r;r=l;l=j;j=i;i=m;m=h;h=s;s=d;d=n;n=t;g=c<<2;x=g+f|0;t=o[a+g>>2];u=Ee(p,p>>31,y,z);g=Q;k=Ee(k,k>>31,A,w);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(q,q>>31,C,D);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(r,r>>31,F,B);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(l,l>>31,I,E);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(j,j>>31,G,H);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(i,i>>31,K,L);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(m,m>>31,O,J);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(h,h>>31,M,N);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(s,s>>31,R,S);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(d,d>>31,V,P);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=Ee(n,n>>31,T,U);u=k+u|0;g=Q+g|0;g=u>>>0<k>>>0?g+1|0:g;k=g;g=e;v=g&31;o[x>>2]=t-(32<=(g&63)>>>0?k>>v:((1<<v)-1&k)<<32-v|u>>>v);k=p;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=10){if((b|0)<1){break a}r=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];i=o[a+ -28>>2];j=o[a+ -32>>2];q=o[a+ -36>>2];l=o[c>>2];J=l;K=l>>31;l=o[c+4>>2];L=l;G=l>>31;l=o[c+8>>2];H=l;I=l>>31;l=o[c+12>>2];E=l;F=l>>31;l=o[c+16>>2];B=l;C=l>>31;l=o[c+20>>2];D=l;y=l>>31;l=o[c+24>>2];z=l;A=l>>31;l=o[c+28>>2];w=l;x=l>>31;c=o[c+32>>2];v=c;u=c>>31;c=0;while(1){l=j;j=i;i=m;m=h;h=s;s=d;d=n;n=r;g=c<<2;t=g+f|0;r=o[a+g>>2];k=Ee(l,l>>31,w,x);g=Q;q=Ee(q,q>>31,v,u);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(j,j>>31,z,A);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(i,i>>31,D,y);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(m,m>>31,B,C);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(h,h>>31,E,F);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(s,s>>31,H,I);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(d,d>>31,L,G);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=Ee(n,n>>31,J,K);k=q+k|0;g=Q+g|0;g=k>>>0<q>>>0?g+1|0:g;q=g;g=e;p=g&31;o[t>>2]=r-(32<=(g&63)>>>0?q>>p:((1<<p)-1&q)<<32-p|k>>>p);q=l;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}q=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];i=o[a+ -28>>2];j=o[a+ -32>>2];l=o[a+ -36>>2];k=o[a+ -40>>2];g=o[c>>2];M=g;N=g>>31;g=o[c+4>>2];O=g;J=g>>31;g=o[c+8>>2];K=g;L=g>>31;g=o[c+12>>2];G=g;H=g>>31;g=o[c+16>>2];I=g;E=g>>31;g=o[c+20>>2];F=g;B=g>>31;g=o[c+24>>2];C=g;D=g>>31;g=o[c+28>>2];y=g;z=g>>31;g=o[c+32>>2];A=g;w=g>>31;c=o[c+36>>2];x=c;v=c>>31;c=0;while(1){r=l;l=j;j=i;i=m;m=h;h=s;s=d;d=n;n=q;g=c<<2;u=g+f|0;q=o[a+g>>2];p=Ee(r,r>>31,A,w);g=Q;k=Ee(k,k>>31,x,v);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(l,l>>31,y,z);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(j,j>>31,C,D);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(i,i>>31,F,B);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(m,m>>31,I,E);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(h,h>>31,G,H);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(s,s>>31,K,L);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(d,d>>31,O,J);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=Ee(n,n>>31,M,N);p=k+p|0;g=Q+g|0;g=p>>>0<k>>>0?g+1|0:g;k=g;g=e;t=g&31;o[u>>2]=q-(32<=(g&63)>>>0?k>>t:((1<<t)-1&k)<<32-t|p>>>t);k=r;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=5){if(d>>>0>=7){if((d|0)!=8){if((b|0)<1){break a}j=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];l=o[a+ -28>>2];i=o[c>>2];E=i;F=i>>31;i=o[c+4>>2];B=i;C=i>>31;i=o[c+8>>2];D=i;y=i>>31;i=o[c+12>>2];z=i;A=i>>31;i=o[c+16>>2];w=i;x=i>>31;i=o[c+20>>2];v=i;u=i>>31;c=o[c+24>>2];t=c;p=c>>31;c=0;while(1){i=m;m=h;h=s;s=d;d=n;n=j;j=c<<2;k=j+f|0;j=o[a+j>>2];r=Ee(i,i>>31,v,u);g=Q;l=Ee(l,l>>31,t,p);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;l=Ee(m,m>>31,w,x);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;l=Ee(h,h>>31,z,A);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;l=Ee(s,s>>31,D,y);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;l=Ee(d,d>>31,B,C);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;l=Ee(n,n>>31,E,F);r=l+r|0;g=Q+g|0;g=r>>>0<l>>>0?g+1|0:g;q=e&31;o[k>>2]=j-(32<=(e&63)>>>0?g>>q:((1<<q)-1&g)<<32-q|r>>>q);l=i;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}l=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];m=o[a+ -24>>2];i=o[a+ -28>>2];r=o[a+ -32>>2];j=o[c>>2];G=j;H=j>>31;j=o[c+4>>2];I=j;E=j>>31;j=o[c+8>>2];F=j;B=j>>31;j=o[c+12>>2];C=j;D=j>>31;j=o[c+16>>2];y=j;z=j>>31;j=o[c+20>>2];A=j;w=j>>31;j=o[c+24>>2];x=j;v=j>>31;c=o[c+28>>2];u=c;t=c>>31;c=0;while(1){j=i;i=m;m=h;h=s;s=d;d=n;n=l;l=c<<2;p=l+f|0;l=o[a+l>>2];q=Ee(j,j>>31,x,v);g=Q;r=Ee(r,r>>31,u,t);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(i,i>>31,A,w);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(m,m>>31,y,z);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(h,h>>31,C,D);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(s,s>>31,F,B);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(d,d>>31,I,E);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=Ee(n,n>>31,G,H);q=r+q|0;g=Q+g|0;g=q>>>0<r>>>0?g+1|0:g;r=g;g=e;k=g&31;o[p>>2]=l-(32<=(g&63)>>>0?r>>k:((1<<k)-1&r)<<32-k|q>>>k);r=j;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=6){if((b|0)<1){break a}m=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];i=o[a+ -20>>2];h=o[c>>2];y=h;z=h>>31;h=o[c+4>>2];A=h;w=h>>31;h=o[c+8>>2];x=h;v=h>>31;h=o[c+12>>2];u=h;t=h>>31;c=o[c+16>>2];p=c;k=c>>31;c=0;while(1){h=s;s=d;d=n;n=m;m=c<<2;q=m+f|0;m=o[a+m>>2];l=Ee(h,h>>31,u,t);j=Q;i=Ee(i,i>>31,p,k);l=i+l|0;g=Q+j|0;g=l>>>0<i>>>0?g+1|0:g;i=Ee(s,s>>31,x,v);j=i+l|0;g=Q+g|0;g=j>>>0<i>>>0?g+1|0:g;i=Ee(d,d>>31,A,w);j=i+j|0;g=Q+g|0;g=j>>>0<i>>>0?g+1|0:g;i=Ee(n,n>>31,y,z);j=i+j|0;g=Q+g|0;g=j>>>0<i>>>0?g+1|0:g;l=e&31;o[q>>2]=m-(32<=(e&63)>>>0?g>>l:((1<<l)-1&g)<<32-l|j>>>l);i=h;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}i=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];s=o[a+ -16>>2];h=o[a+ -20>>2];j=o[a+ -24>>2];m=o[c>>2];C=m;D=m>>31;m=o[c+4>>2];y=m;z=m>>31;m=o[c+8>>2];A=m;w=m>>31;m=o[c+12>>2];x=m;v=m>>31;m=o[c+16>>2];u=m;t=m>>31;c=o[c+20>>2];p=c;k=c>>31;c=0;while(1){m=h;h=s;s=d;d=n;n=i;i=c<<2;q=i+f|0;i=o[a+i>>2];g=Ee(m,m>>31,u,t);l=Q;j=Ee(j,j>>31,p,k);B=j+g|0;g=Q+l|0;g=B>>>0<j>>>0?g+1|0:g;j=Ee(h,h>>31,x,v);l=j+B|0;g=Q+g|0;g=l>>>0<j>>>0?g+1|0:g;j=Ee(s,s>>31,A,w);l=j+l|0;g=Q+g|0;g=l>>>0<j>>>0?g+1|0:g;j=Ee(d,d>>31,y,z);l=j+l|0;g=Q+g|0;g=l>>>0<j>>>0?g+1|0:g;j=Ee(n,n>>31,C,D);l=j+l|0;g=Q+g|0;g=l>>>0<j>>>0?g+1|0:g;r=e&31;o[q>>2]=i-(32<=(e&63)>>>0?g>>r:((1<<r)-1&g)<<32-r|l>>>r);j=m;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=3){if((d|0)!=4){if((b|0)<1){break a}s=o[a+ -4>>2];n=o[a+ -8>>2];h=o[a+ -12>>2];d=o[c>>2];u=d;t=d>>31;d=o[c+4>>2];p=d;k=d>>31;c=o[c+8>>2];q=c;r=c>>31;c=0;while(1){d=n;n=s;s=c<<2;l=s+f|0;s=o[a+s>>2];j=s;i=Ee(d,d>>31,p,k);m=Q;h=Ee(h,h>>31,q,r);i=h+i|0;g=Q+m|0;g=i>>>0<h>>>0?g+1|0:g;h=Ee(n,n>>31,u,t);m=h+i|0;g=Q+g|0;g=m>>>0<h>>>0?g+1|0:g;h=e;i=h&31;o[l>>2]=j-(32<=(h&63)>>>0?g>>i:((1<<i)-1&g)<<32-i|m>>>i);h=d;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}h=o[a+ -4>>2];n=o[a+ -8>>2];d=o[a+ -12>>2];m=o[a+ -16>>2];s=o[c>>2];w=s;x=s>>31;s=o[c+4>>2];v=s;u=s>>31;s=o[c+8>>2];t=s;p=s>>31;c=o[c+12>>2];k=c;q=c>>31;c=0;while(1){s=d;d=n;n=h;h=c<<2;r=h+f|0;h=o[a+h>>2];j=Ee(s,s>>31,t,p);i=Q;m=Ee(m,m>>31,k,q);j=m+j|0;g=Q+i|0;g=j>>>0<m>>>0?g+1|0:g;m=Ee(d,d>>31,v,u);i=m+j|0;g=Q+g|0;g=i>>>0<m>>>0?g+1|0:g;m=Ee(n,n>>31,w,x);i=m+i|0;g=Q+g|0;g=i>>>0<m>>>0?g+1|0:g;j=e&31;o[r>>2]=h-(32<=(e&63)>>>0?g>>j:((1<<j)-1&g)<<32-j|i>>>j);m=s;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=2){if((b|0)<1){break a}n=o[a+ -4>>2];c=o[c>>2];j=c;i=c>>31;c=0;while(1){d=c<<2;g=d+f|0;s=o[a+d>>2];n=Ee(n,n>>31,j,i);h=Q;d=e;m=d&31;o[g>>2]=s-(32<=(d&63)>>>0?h>>m:((1<<m)-1&h)<<32-m|n>>>m);n=s;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}d=o[a+ -4>>2];s=o[a+ -8>>2];n=o[c>>2];k=n;q=k>>31;c=o[c+4>>2];r=c;l=c>>31;c=0;while(1){n=d;d=c<<2;j=d+f|0;d=o[a+d>>2];m=Ee(n,n>>31,k,q);h=Q;s=Ee(s,s>>31,r,l);m=s+m|0;g=Q+h|0;g=m>>>0<s>>>0?g+1|0:g;h=m;m=e&31;o[j>>2]=d-(32<=(e&63)>>>0?g>>m:((1<<m)-1&g)<<32-m|h>>>m);s=n;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;f=N+ -64|0;N=f;o[b>>2]=0;c=o[a+4>>2];d=o[c+56>>2];e=p[c+3589|0];c=q[(p[c+3588|0]<<1)+1280>>1];o[d+24>>2]=q[((e^c>>>8)<<1)+1280>>1]^c<<8&65280;c=o[d+20>>2];o[d+28>>2]=o[d+16>>2];o[d+32>>2]=c;d=o[a+4>>2];m[f+32|0]=p[d+3588|0];c=p[d+3589|0];o[f+12>>2]=2;m[f+33|0]=c;a:{if(!Y(o[d+56>>2],f+28|0,8)){break a}b:{c:{d:{e:{d=o[f+28>>2];if((d|0)==255){break e}m[f+34|0]=d;o[f+12>>2]=3;if(!Y(o[o[a+4>>2]+56>>2],f+28|0,8)){break c}d=o[f+28>>2];if((d|0)==255){break e}c=c>>>1&1;i=o[f+12>>2];m[i+(f+32|0)|0]=d;d=1;o[f+12>>2]=i+1;i=p[f+34|0];g=i>>>4|0;o[f+28>>2]=g;f:{g:{h:{i:{switch(g-1|0){case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:o[o[a+4>>2]+1136>>2]=256<<g+ -8;break h;case 1:case 2:case 3:case 4:o[o[a+4>>2]+1136>>2]=576<<g+ -2;break h;case 5:case 6:break g;case 0:break i;default:break f}}o[o[a+4>>2]+1136>>2]=192}g=0}d=c}e=i&15;o[f+28>>2]=e;j:{k:{l:{switch(e-1|0){default:e=0;c=o[a+4>>2];if(o[c+248>>2]){break k}d=1;break j;case 0:o[o[a+4>>2]+1140>>2]=88200;e=0;break j;case 1:o[o[a+4>>2]+1140>>2]=176400;e=0;break j;case 2:o[o[a+4>>2]+1140>>2]=192e3;e=0;break j;case 3:o[o[a+4>>2]+1140>>2]=8e3;e=0;break j;case 4:o[o[a+4>>2]+1140>>2]=16e3;e=0;break j;case 5:o[o[a+4>>2]+1140>>2]=22050;e=0;break j;case 6:o[o[a+4>>2]+1140>>2]=24e3;e=0;break j;case 7:o[o[a+4>>2]+1140>>2]=32e3;e=0;break j;case 8:o[o[a+4>>2]+1140>>2]=44100;e=0;break j;case 9:o[o[a+4>>2]+1140>>2]=48e3;e=0;break j;case 10:o[o[a+4>>2]+1140>>2]=96e3;e=0;break j;case 11:case 12:case 13:break j;case 14:break l}}d=o[a+4>>2];if(!o[d+3632>>2]){l[o[d+32>>2]](a,1,o[d+48>>2])}c=o[a>>2];o[c>>2]=2;break d}o[c+1140>>2]=o[c+288>>2]}j=p[f+35|0];h=j>>>4|0;o[f+28>>2]=h;m:{n:{if(h&8){c=o[a+4>>2];o[c+1144>>2]=2;i=1;o:{switch(h&7){case 1:i=2;break n;case 0:break n;case 2:break o;default:break m}}i=3;break n}c=o[a+4>>2];o[c+1144>>2]=h+1;i=0}o[c+1148>>2]=i;i=d}h=j>>>1&7;o[f+28>>2]=h;d=1;p:{q:{r:{switch(h-1|0){default:if(!o[c+248>>2]){break p}o[c+1152>>2]=o[c+296>>2];break q;case 0:o[c+1152>>2]=8;break q;case 1:o[c+1152>>2]=12;break q;case 3:o[c+1152>>2]=16;break q;case 4:o[c+1152>>2]=20;break q;case 2:case 6:break p;case 5:break r}}o[c+1152>>2]=24}d=i}s:{if(!(!o[c+248>>2]|o[c+272>>2]==o[c+276>>2]?!(m[f+33|0]&1):0)){if(!we(o[c+56>>2],f+16|0,f+32|0,f+12|0)){break c}c=o[f+20>>2];i=c;h=o[f+16>>2];if((h|0)==-1&(c|0)==-1){c=p[(o[f+12>>2]+f|0)+31|0];d=o[a+4>>2];o[d+3520>>2]=1;m[d+3590|0]=c;if(!o[d+3632>>2]){l[o[d+32>>2]](a,1,o[d+48>>2])}c=o[a>>2];o[c>>2]=2;break d}c=o[a+4>>2];n=c+1160|0;o[n>>2]=h;o[n+4>>2]=i;o[c+1156>>2]=1;break s}if(!xe(o[c+56>>2],f+28|0,f+32|0,f+12|0)){break c}c=o[f+28>>2];if((c|0)==-1){c=p[(o[f+12>>2]+f|0)+31|0];d=o[a+4>>2];o[d+3520>>2]=1;m[d+3590|0]=c;if(!o[d+3632>>2]){l[o[d+32>>2]](a,1,o[d+48>>2])}c=o[a>>2];o[c>>2]=2;break d}i=o[a+4>>2];o[i+1160>>2]=c;o[i+1156>>2]=0}c=o[a+4>>2];if(g){if(!Y(o[c+56>>2],f+28|0,8)){break c}c=o[f+12>>2];i=o[f+28>>2];m[c+(f+32|0)|0]=i;o[f+12>>2]=c+1;if((g|0)==7){if(!Y(o[o[a+4>>2]+56>>2],f+8|0,8)){break c}c=o[f+12>>2];i=o[f+8>>2];m[c+(f+32|0)|0]=i;o[f+12>>2]=c+1;i=i|o[f+28>>2]<<8;o[f+28>>2]=i}c=o[a+4>>2];o[c+1136>>2]=i+1}if(e){if(!Y(o[c+56>>2],f+28|0,8)){break c}c=o[f+12>>2];i=o[f+28>>2];m[c+(f+32|0)|0]=i;o[f+12>>2]=c+1;t:{if((e|0)!=12){if(!Y(o[o[a+4>>2]+56>>2],f+8|0,8)){break c}c=o[f+12>>2];i=o[f+8>>2];m[c+(f+32|0)|0]=i;o[f+12>>2]=c+1;g=i|o[f+28>>2]<<8;o[f+28>>2]=g;if((e|0)==13){break t}g=u(g,10);break t}g=u(i,1e3)}c=o[a+4>>2];o[c+1140>>2]=g}if(!Y(o[c+56>>2],f+28|0,8)){break c}i=p[f+28|0];e=Vb(f+32|0,o[f+12>>2]);c=o[a+4>>2];if((e|0)!=(i|0)){if(!o[c+3632>>2]){l[o[c+32>>2]](a,1,o[c+48>>2])}c=o[a>>2];o[c>>2]=2;break d}o[c+232>>2]=0;u:{v:{if(o[c+1156>>2]){break v}e=c+1160|0;i=o[e>>2];o[f+28>>2]=i;o[c+1156>>2]=1;g=o[c+228>>2];if(g){D=e,E=Ee(g,0,i,0),o[D>>2]=E;o[e+4>>2]=Q;break v}if(o[c+248>>2]){e=o[c+272>>2];if((e|0)!=o[c+276>>2]){break u}c=c+1160|0;D=c,E=Ee(e,0,i,0),o[D>>2]=E;o[c+4>>2]=Q;c=o[a+4>>2];o[c+232>>2]=o[c+276>>2];break v}if(!i){c=c+1160|0;o[c>>2]=0;o[c+4>>2]=0;c=o[a+4>>2];o[c+232>>2]=o[c+1136>>2];break v}e=c+1160|0;D=e,E=Ee(o[c+1136>>2],0,i,0),o[D>>2]=E;o[e+4>>2]=Q}if(!(d|j&1)){c=o[a>>2];break d}c=o[a+4>>2]}w:{if(!o[c+3632>>2]){l[o[c+32>>2]](a,3,o[c+48>>2]);break w}o[c+6152>>2]=o[c+6152>>2]+1}c=o[a>>2];o[c>>2]=2;break d}d=o[a+4>>2];o[d+3520>>2]=1;m[d+3590|0]=255;if(!o[d+3632>>2]){l[o[d+32>>2]](a,1,o[d+48>>2])}c=o[a>>2];o[c>>2]=2}i=1;if(o[c>>2]==2){break a}c=o[a+4>>2];e=o[c+1144>>2];h=o[c+1136>>2];if(!(r[c+224>>2]>=e>>>0?r[c+220>>2]>=h>>>0:0)){d=o[c+60>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+60>>2]=0;c=o[a+4>>2]}d=o[c+3592>>2];if(d){X(d);o[o[a+4>>2]+92>>2]=0;o[o[a+4>>2]+3592>>2]=0;c=o[a+4>>2]}d=o[c- -64>>2];if(d){X(d+ -16|0);o[o[a+4>>2]- -64>>2]=0;c=o[a+4>>2]}d=o[c+3596>>2];if(d){X(d);o[o[a+4>>2]+96>>2]=0;o[o[a+4>>2]+3596>>2]=0;c=o[a+4>>2]}d=o[c+68>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+68>>2]=0;c=o[a+4>>2]}d=o[c+3600>>2];if(d){X(d);o[o[a+4>>2]+100>>2]=0;o[o[a+4>>2]+3600>>2]=0;c=o[a+4>>2]}d=o[c+72>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+72>>2]=0;c=o[a+4>>2]}d=o[c+3604>>2];if(d){X(d);o[o[a+4>>2]+104>>2]=0;o[o[a+4>>2]+3604>>2]=0;c=o[a+4>>2]}d=o[c+76>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+76>>2]=0;c=o[a+4>>2]}d=o[c+3608>>2];if(d){X(d);o[o[a+4>>2]+108>>2]=0;o[o[a+4>>2]+3608>>2]=0;c=o[a+4>>2]}d=o[c+80>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+80>>2]=0;c=o[a+4>>2]}d=o[c+3612>>2];if(d){X(d);o[o[a+4>>2]+112>>2]=0;o[o[a+4>>2]+3612>>2]=0;c=o[a+4>>2]}d=o[c+84>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+84>>2]=0;c=o[a+4>>2]}d=o[c+3616>>2];if(d){X(d);o[o[a+4>>2]+116>>2]=0;o[o[a+4>>2]+3616>>2]=0;c=o[a+4>>2]}d=o[c+88>>2];if(d){X(d+ -16|0);o[o[a+4>>2]+88>>2]=0;c=o[a+4>>2]}d=o[c+3620>>2];if(d){X(d);o[o[a+4>>2]+120>>2]=0;o[o[a+4>>2]+3620>>2]=0}x:{if(!e){break x}if(h>>>0>4294967291){break b}d=h+4|0;if((d&1073741823)!=(d|0)){break b}c=d<<2;g=0;while(1){d=da(c);if(!d){break b}o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;j=g<<2;o[(j+o[a+4>>2]|0)+60>>2]=d+16;d=j+o[a+4>>2]|0;if(ta(h,d+3592|0,d+92|0)){g=g+1|0;if((e|0)==(g|0)){break x}continue}break}o[o[a>>2]>>2]=8;break c}c=o[a+4>>2];o[c+224>>2]=e;o[c+220>>2]=h;e=o[c+1144>>2]}y:{if(e){z=o[1412];B=-1<<z^-1;w=o[1406];A=o[1405];C=o[1413];d=0;while(1){g=o[c+1152>>2];z:{A:{switch(o[c+1148>>2]+ -1|0){case 0:g=((d|0)==1)+g|0;break z;case 1:g=!d+g|0;break z;case 2:break A;default:break z}}g=((d|0)==1)+g|0}if(!Y(o[c+56>>2],f+28|0,8)){break c}c=o[f+28>>2];o[f+28>>2]=c&254;t=c&1;B:{if(t){if(!eb(o[o[a+4>>2]+56>>2],f+32|0)){break c}c=o[a+4>>2];e=o[f+32>>2]+1|0;o[(c+u(d,292)|0)+1464>>2]=e;if(g>>>0<=e>>>0){break c}g=g-e|0;break B}c=o[a+4>>2];o[(c+u(d,292)|0)+1464>>2]=0}e=o[f+28>>2];C:{if(e&128){if(!o[c+3632>>2]){l[o[c+32>>2]](a,0,o[c+48>>2])}o[o[a>>2]>>2]=2;break C}D:{E:{F:{switch(e|0){case 0:e=o[((d<<2)+c|0)+60>>2];h=u(d,292)+c|0;o[h+1176>>2]=0;if(!xa(o[c+56>>2],f+32|0,g)){break c}o[h+1180>>2]=o[f+32>>2];c=0;g=o[a+4>>2];if(!o[g+1136>>2]){break E}while(1){o[e+(c<<2)>>2]=o[f+32>>2];c=c+1|0;if(c>>>0<r[g+1136>>2]){continue}break}break E;case 2:e=(c+1136|0)+u(d,292)|0;h=e;j=d<<2;n=o[(j+c|0)+92>>2];o[e+44>>2]=n;o[e+40>>2]=1;e=0;if(o[c+1136>>2]){while(1){if(!xa(o[c+56>>2],f+32|0,g)){break c}o[n+(e<<2)>>2]=o[f+32>>2];e=e+1|0;c=o[a+4>>2];k=o[c+1136>>2];if(e>>>0<k>>>0){continue}break}e=k<<2}ca(o[(c+j|0)+60>>2],o[h+44>>2],e);break E;default:break F}}if(e>>>0<=15){G:{if(!o[c+3632>>2]){l[o[c+32>>2]](a,3,o[c+48>>2]);break G}o[c+6152>>2]=o[c+6152>>2]+1}o[o[a>>2]>>2]=2;break C}if(e>>>0<=24){h=u(d,292)+c|0;o[h+1176>>2]=2;n=d<<2;k=o[(n+c|0)+92>>2];j=e>>>1&7;o[h+1192>>2]=j;o[h+1212>>2]=k;e=o[c+56>>2];if(j){k=h+1196|0;c=0;while(1){if(!xa(e,f+32|0,g)){break c}o[k+(c<<2)>>2]=o[f+32>>2];e=o[o[a+4>>2]+56>>2];c=c+1|0;if((j|0)!=(c|0)){continue}break}}if(!Y(e,f+16|0,A)){break c}g=h+1180|0;e=o[f+16>>2];o[g>>2]=e;c=o[a+4>>2];H:{I:{if(e>>>0<=1){if(!Y(o[c+56>>2],f+16|0,w)){break c}c=o[a+4>>2];e=o[f+16>>2];if(o[c+1136>>2]>>>e>>>0>=j>>>0){break I}if(!o[c+3632>>2]){l[o[c+32>>2]](a,0,o[c+48>>2])}o[o[a>>2]>>2]=2;break H}J:{if(!o[c+3632>>2]){l[o[c+32>>2]](a,3,o[c+48>>2]);break J}o[c+6152>>2]=o[c+6152>>2]+1}o[o[a>>2]>>2]=2;break H}o[h+1184>>2]=e;c=u(d,12);o[h+1188>>2]=(c+o[a+4>>2]|0)+124;g=o[g>>2];if(g>>>0<2){k=c;c=o[a+4>>2];if(!nb(a,j,e,(k+c|0)+124|0,o[(c+n|0)+92>>2],(g|0)==1)){break c}}c=j<<2;ca(o[(n+o[a+4>>2]|0)+60>>2],h+1196|0,c);e=o[a+4>>2];g=e+n|0;me(o[g+92>>2],o[e+1136>>2]-j|0,j,c+o[g+60>>2]|0)}if(o[o[a>>2]>>2]==2){break C}if(t){break D}break C}if(e>>>0<=63){K:{if(!o[c+3632>>2]){l[o[c+32>>2]](a,3,o[c+48>>2]);break K}o[c+6152>>2]=o[c+6152>>2]+1}o[o[a>>2]>>2]=2;break C}h=u(d,292)+c|0;o[h+1176>>2]=3;n=d<<2;s=o[(n+c|0)+92>>2];k=e>>>1&31;j=k+1|0;o[h+1192>>2]=j;o[h+1460>>2]=s;e=o[c+56>>2];c=0;while(1){if(!xa(e,f+32|0,g)){break c}o[(h+(c<<2)|0)+1332>>2]=o[f+32>>2];s=(c|0)!=(k|0);e=o[o[a+4>>2]+56>>2];c=c+1|0;if(s){continue}break}if(!Y(e,f+16|0,z)){break c}c=o[f+16>>2];L:{if((c|0)==(B|0)){c=o[a+4>>2];if(!o[c+3632>>2]){l[o[c+32>>2]](a,0,o[c+48>>2])}o[o[a>>2]>>2]=2;break L}y=h+1196|0;o[y>>2]=c+1;if(!xa(o[o[a+4>>2]+56>>2],f+32|0,C)){break c}c=o[f+32>>2];if((c|0)<=-1){c=o[a+4>>2];if(!o[c+3632>>2]){l[o[c+32>>2]](a,0,o[c+48>>2])}o[o[a>>2]>>2]=2;break L}s=h+1200|0;o[s>>2]=c;e=o[o[a+4>>2]+56>>2];c=0;while(1){if(!xa(e,f+32|0,o[y>>2])){break c}o[(h+(c<<2)|0)+1204>>2]=o[f+32>>2];v=(c|0)!=(k|0);e=o[o[a+4>>2]+56>>2];c=c+1|0;if(v){continue}break}if(!Y(e,f+16|0,A)){break c}v=h+1180|0;e=o[f+16>>2];o[v>>2]=e;c=o[a+4>>2];M:{if(e>>>0<=1){if(!Y(o[c+56>>2],f+16|0,w)){break c}c=o[a+4>>2];e=o[f+16>>2];if(o[c+1136>>2]>>>e>>>0>k>>>0){break M}if(!o[c+3632>>2]){l[o[c+32>>2]](a,0,o[c+48>>2])}o[o[a>>2]>>2]=2;break L}N:{if(!o[c+3632>>2]){l[o[c+32>>2]](a,3,o[c+48>>2]);break N}o[c+6152>>2]=o[c+6152>>2]+1}o[o[a>>2]>>2]=2;break L}o[h+1184>>2]=e;c=u(d,12);o[h+1188>>2]=(c+o[a+4>>2]|0)+124;k=o[v>>2];if(k>>>0<2){v=c;c=o[a+4>>2];if(!nb(a,j,e,(v+c|0)+124|0,o[(c+n|0)+92>>2],(k|0)==1)){break c}}e=j<<2;ca(o[(n+o[a+4>>2]|0)+60>>2],h+1332|0,e);O:{k=o[y>>2];if(k+((x(j)^31)+g|0)>>>0<=32){c=o[a+4>>2];if(g>>>0>16|k>>>0>16){break O}g=c+n|0;l[o[c+44>>2]](o[g+92>>2],o[c+1136>>2]-j|0,h+1204|0,j,o[s>>2],e+o[g+60>>2]|0);break L}c=o[a+4>>2];g=c+n|0;l[o[c+40>>2]](o[g+92>>2],o[c+1136>>2]-j|0,h+1204|0,j,o[s>>2],e+o[g+60>>2]|0);break L}g=c+n|0;l[o[c+36>>2]](o[g+92>>2],o[c+1136>>2]-j|0,h+1204|0,j,o[s>>2],e+o[g+60>>2]|0)}if(!t|o[o[a>>2]>>2]==2){break C}break D}if(!t){break C}}e=o[a+4>>2];c=o[(e+u(d,292)|0)+1464>>2];o[f+28>>2]=c;if(!o[e+1136>>2]){break C}g=o[(e+(d<<2)|0)+60>>2];o[g>>2]=o[g>>2]<<c;c=1;if(r[e+1136>>2]<2){break C}while(1){h=g+(c<<2)|0;o[h>>2]=o[h>>2]<<o[f+28>>2];c=c+1|0;if(c>>>0<r[e+1136>>2]){continue}break}}if(o[o[a>>2]>>2]==2){break y}d=d+1|0;c=o[a+4>>2];if(d>>>0<r[c+1144>>2]){continue}break}}P:{if(!(p[o[c+56>>2]+20|0]&7)){break P}o[f+32>>2]=0;d=o[o[a+4>>2]+56>>2];if(!Y(d,f+32|0,8-(o[d+20>>2]&7)|0)){break c}if(!o[f+32>>2]){break P}d=o[a+4>>2];if(!o[d+3632>>2]){l[o[d+32>>2]](a,0,o[d+48>>2])}o[o[a>>2]>>2]=2}if(o[o[a>>2]>>2]==2){break a}d=ze(o[o[a+4>>2]+56>>2]);i=0;if(!Y(o[o[a+4>>2]+56>>2],f+16|0,o[1404])){break a}Q:{if((d|0)==o[f+16>>2]){R:{S:{T:{d=o[a+4>>2];switch(o[d+1148>>2]+ -1|0){case 2:break R;case 0:break S;case 1:break T;default:break Q}}if(!o[d+1136>>2]){break Q}c=o[d- -64>>2];e=o[d+60>>2];g=0;while(1){h=g<<2;j=h+e|0;o[j>>2]=o[j>>2]+o[c+h>>2];g=g+1|0;if(g>>>0<r[d+1136>>2]){continue}break}break Q}if(!o[d+1136>>2]){break Q}c=o[d- -64>>2];e=o[d+60>>2];g=0;while(1){h=g<<2;j=h+c|0;o[j>>2]=o[e+h>>2]-o[j>>2];g=g+1|0;if(g>>>0<r[d+1136>>2]){continue}break}break Q}if(!o[d+1136>>2]){break Q}j=o[d- -64>>2];n=o[d+60>>2];g=0;while(1){e=g<<2;c=e+n|0;t=e+j|0;e=o[t>>2];h=e&1|o[c>>2]<<1;o[c>>2]=e+h>>1;o[t>>2]=h-e>>1;g=g+1|0;if(g>>>0<r[d+1136>>2]){continue}break}break Q}d=o[a+4>>2];if(!o[d+3632>>2]){l[o[d+32>>2]](a,2,o[d+48>>2])}c=o[a+4>>2];if(!o[c+1144>>2]){break Q}g=0;while(1){fa(o[((g<<2)+c|0)+60>>2],o[c+1136>>2]<<2);g=g+1|0;c=o[a+4>>2];if(g>>>0<r[c+1144>>2]){continue}break}}o[b>>2]=1;c=o[a+4>>2];b=o[c+232>>2];if(b){o[c+228>>2]=b}b=o[a>>2];n=o[c+1144>>2];o[b+8>>2]=n;o[b+12>>2]=o[c+1148>>2];j=o[c+1152>>2];o[b+16>>2]=j;o[b+20>>2]=o[c+1140>>2];e=o[c+1136>>2];o[b+24>>2]=e;b=c+1160|0;d=o[b>>2];t=o[b+4>>2];b=t;k=d+e|0;if(k>>>0<e>>>0){b=b+1|0}w=k;o[c+240>>2]=k;h=b;o[c+244>>2]=h;k=c+60|0;s=c+1136|0;U:{V:{W:{if(o[c+3632>>2]){o[c+6156>>2]=1;b=o[c+6144>>2];j=o[c+6148>>2];ca(c+3752|0,s,2384);if((j|0)==(t|0)&b>>>0<d>>>0|j>>>0<t>>>0|((h|0)==(j|0)&b>>>0>=w>>>0|j>>>0>h>>>0)){break U}g=0;h=o[a+4>>2];o[h+3632>>2]=0;b=b-d|0;d=b;if(d){if(n){while(1){e=g<<2;o[e+(f+32|0)>>2]=o[(c+e|0)+60>>2]+(d<<2);g=g+1|0;if((n|0)!=(g|0)){continue}break}}o[h+3752>>2]=o[h+3752>>2]-d;c=h+3776|0;e=c;h=c;d=o[c+4>>2];c=b+o[c>>2]|0;if(c>>>0<b>>>0){d=d+1|0}o[h>>2]=c;o[e+4>>2]=d;b=o[a+4>>2];b=l[o[b+24>>2]](a,b+3752|0,f+32|0,o[b+48>>2])|0;break W}b=l[o[h+24>>2]](a,s,k,o[h+48>>2])|0;break W}X:{if(!o[c+248>>2]){o[c+3624>>2]=0;break X}if(!o[c+3624>>2]){break X}if(!$b(c+3636|0,k,n,e,j+7>>>3|0)){break V}c=o[a+4>>2]}b=l[o[c+24>>2]](a,s,k,o[c+48>>2])|0}if(!b){break U}}o[o[a>>2]>>2]=7;break a}o[o[a>>2]>>2]=2}i=1;break a}i=0;break a}o[o[a>>2]>>2]=8;i=0}N=f- -64|0;return i}function da(a){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;l=N-16|0;N=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=o[2897];g=a>>>0<11?16:a+11&-8;a=g>>>3|0;b=f>>>a|0;if(b&3){c=a+((b^-1)&1)|0;e=c<<3;b=o[e+11636>>2];a=b+8|0;d=o[b+8>>2];e=e+11628|0;l:{if((d|0)==(e|0)){m=11588,n=He(-2,c)&f,o[m>>2]=n;break l}o[d+12>>2]=e;o[e+8>>2]=d}c=c<<3;o[b+4>>2]=c|3;b=b+c|0;o[b+4>>2]=o[b+4>>2]|1;break a}i=o[2899];if(g>>>0<=i>>>0){break k}if(b){c=2<<a;a=(0-c|c)&b<<a;a=(0-a&a)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;c=(c|b)+(a>>>b|0)|0;d=c<<3;b=o[d+11636>>2];a=o[b+8>>2];d=d+11628|0;m:{if((a|0)==(d|0)){f=He(-2,c)&f;o[2897]=f;break m}o[a+12>>2]=d;o[d+8>>2]=a}a=b+8|0;o[b+4>>2]=g|3;h=b+g|0;c=c<<3;e=c-g|0;o[h+4>>2]=e|1;o[b+c>>2]=e;if(i){c=i>>>3|0;b=(c<<3)+11628|0;d=o[2902];c=1<<c;n:{if(!(c&f)){o[2897]=c|f;c=b;break n}c=o[b+8>>2]}o[b+8>>2]=d;o[c+12>>2]=d;o[d+12>>2]=b;o[d+8>>2]=c}o[2902]=h;o[2899]=e;break a}k=o[2898];if(!k){break k}a=(k&0-k)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;b=o[((c|b)+(a>>>b|0)<<2)+11892>>2];d=(o[b+4>>2]&-8)-g|0;c=b;while(1){o:{a=o[c+16>>2];if(!a){a=o[c+20>>2];if(!a){break o}}e=(o[a+4>>2]&-8)-g|0;c=e>>>0<d>>>0;d=c?e:d;b=c?a:b;c=a;continue}break}j=o[b+24>>2];e=o[b+12>>2];if((e|0)!=(b|0)){a=o[b+8>>2];o[a+12>>2]=e;o[e+8>>2]=a;break b}c=b+20|0;a=o[c>>2];if(!a){a=o[b+16>>2];if(!a){break j}c=b+16|0}while(1){h=c;e=a;c=a+20|0;a=o[c>>2];if(a){continue}c=e+16|0;a=o[e+16>>2];if(a){continue}break}o[h>>2]=0;break b}g=-1;if(a>>>0>4294967231){break k}b=a+11|0;g=b&-8;i=o[2898];if(!i){break k}c=0-g|0;b=b>>>8|0;f=0;p:{if(!b){break p}f=31;if(g>>>0>16777215){break p}d=b+1048320>>>16&8;b=b<<d;a=b+520192>>>16&4;f=b<<a;b=f+245760>>>16&2;a=(f<<b>>>15|0)-(b|(a|d))|0;f=(a<<1|g>>>a+21&1)+28|0}d=o[(f<<2)+11892>>2];q:{r:{s:{if(!d){a=0;break s}b=g<<((f|0)==31?0:25-(f>>>1|0)|0);a=0;while(1){t:{h=(o[d+4>>2]&-8)-g|0;if(h>>>0>=c>>>0){break t}e=d;c=h;if(c){break t}c=0;a=d;break r}h=o[d+20>>2];d=o[((b>>>29&4)+d|0)+16>>2];a=h?(h|0)==(d|0)?a:h:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<<f;a=(0-a|a)&i;if(!a){break k}a=(a&0-a)+ -1|0;b=a>>>12&16;d=b;a=a>>>b|0;b=a>>>5&8;d=d|b;a=a>>>b|0;b=a>>>2&4;d=d|b;a=a>>>b|0;b=a>>>1&2;d=d|b;a=a>>>b|0;b=a>>>1&1;a=o[((d|b)+(a>>>b|0)<<2)+11892>>2]}if(!a){break q}}while(1){d=(o[a+4>>2]&-8)-g|0;b=d>>>0<c>>>0;c=b?d:c;e=b?a:e;b=o[a+16>>2];if(b){a=b}else{a=o[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=o[2899]-g>>>0){break k}h=o[e+24>>2];b=o[e+12>>2];if((e|0)!=(b|0)){a=o[e+8>>2];o[a+12>>2]=b;o[b+8>>2]=a;break c}d=e+20|0;a=o[d>>2];if(!a){a=o[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=o[d>>2];if(a){continue}d=b+16|0;a=o[b+16>>2];if(a){continue}break}o[f>>2]=0;break c}b=o[2899];if(b>>>0>=g>>>0){a=o[2902];c=b-g|0;u:{if(c>>>0>=16){o[2899]=c;d=a+g|0;o[2902]=d;o[d+4>>2]=c|1;o[a+b>>2]=c;o[a+4>>2]=g|3;break u}o[2902]=0;o[2899]=0;o[a+4>>2]=b|3;b=a+b|0;o[b+4>>2]=o[b+4>>2]|1}a=a+8|0;break a}d=o[2900];if(d>>>0>g>>>0){b=d-g|0;o[2900]=b;a=o[2903];c=a+g|0;o[2903]=c;o[c+4>>2]=b|1;o[a+4>>2]=g|3;a=a+8|0;break a}a=0;e=g+47|0;c=e;if(o[3015]){b=o[3017]}else{o[3018]=-1;o[3019]=-1;o[3016]=4096;o[3017]=4096;o[3015]=l+12&-16^1431655768;o[3020]=0;o[3008]=0;b=4096}f=c+b|0;h=0-b|0;c=f&h;if(c>>>0<=g>>>0){break a}b=o[3007];if(b){i=o[3005];j=i+c|0;if(j>>>0<=i>>>0|j>>>0>b>>>0){break a}}if(p[12032]&4){break f}v:{w:{b=o[2903];if(b){a=12036;while(1){i=o[a>>2];if(i+o[a+4>>2]>>>0>b>>>0?i>>>0<=b>>>0:0){break w}a=o[a+8>>2];if(a){continue}break}}b=ya(0);if((b|0)==-1){break g}f=c;a=o[3016];d=a+ -1|0;if(d&b){f=(c-b|0)+(b+d&0-a)|0}if(f>>>0<=g>>>0|f>>>0>2147483646){break g}a=o[3007];if(a){d=o[3005];h=d+f|0;if(h>>>0<=d>>>0|h>>>0>a>>>0){break g}}a=ya(f);if((b|0)!=(a|0)){break v}break e}f=h&f-d;if(f>>>0>2147483646){break g}b=ya(f);if((b|0)==(o[a>>2]+o[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|g+48>>>0<=f>>>0)){b=o[3017];b=b+(e-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((ya(b)|0)!=-1){f=b+f|0;b=a;break e}ya(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}o[3008]=o[3008]|4}if(c>>>0>2147483646){break d}b=ya(c);a=ya(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=g+40>>>0){break d}}a=o[3005]+f|0;o[3005]=a;if(a>>>0>r[3006]){o[3006]=a}x:{y:{z:{c=o[2903];if(c){a=12036;while(1){d=o[a>>2];e=o[a+4>>2];if((d+e|0)==(b|0)){break z}a=o[a+8>>2];if(a){continue}break}break y}a=o[2901];if(!(b>>>0>=a>>>0?a:0)){o[2901]=b}a=0;o[3010]=f;o[3009]=b;o[2905]=-1;o[2906]=o[3015];o[3012]=0;while(1){c=a<<3;d=c+11628|0;o[c+11636>>2]=d;o[c+11640>>2]=d;a=a+1|0;if((a|0)!=32){continue}break}a=f+ -40|0;c=b+8&7?-8-b&7:0;d=a-c|0;o[2900]=d;c=b+c|0;o[2903]=c;o[c+4>>2]=d|1;o[(a+b|0)+4>>2]=40;o[2904]=o[3019];break x}if(p[a+12|0]&8|b>>>0<=c>>>0|d>>>0>c>>>0){break y}o[a+4>>2]=e+f;a=c+8&7?-8-c&7:0;b=a+c|0;o[2903]=b;d=o[2900]+f|0;a=d-a|0;o[2900]=a;o[b+4>>2]=a|1;o[(c+d|0)+4>>2]=40;o[2904]=o[3019];break x}e=o[2901];if(b>>>0<e>>>0){o[2901]=b;e=0}d=b+f|0;a=12036;A:{B:{C:{D:{E:{F:{while(1){if((d|0)!=o[a>>2]){a=o[a+8>>2];if(a){continue}break F}break}if(!(p[a+12|0]&8)){break E}}a=12036;while(1){d=o[a>>2];if(d>>>0<=c>>>0){e=d+o[a+4>>2]|0;if(e>>>0>c>>>0){break D}}a=o[a+8>>2];continue}}o[a>>2]=b;o[a+4>>2]=o[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;o[j+4>>2]=g|3;b=d+(d+8&7?-8-d&7:0)|0;a=(b-j|0)-g|0;h=g+j|0;if((b|0)==(c|0)){o[2903]=h;a=o[2900]+a|0;o[2900]=a;o[h+4>>2]=a|1;break B}if(o[2902]==(b|0)){o[2902]=h;a=o[2899]+a|0;o[2899]=a;o[h+4>>2]=a|1;o[a+h>>2]=a;break B}c=o[b+4>>2];if((c&3)==1){k=c&-8;G:{if(c>>>0<=255){e=c>>>3|0;c=o[b+8>>2];d=o[b+12>>2];if((d|0)==(c|0)){m=11588,n=o[2897]&He(-2,e),o[m>>2]=n;break G}o[c+12>>2]=d;o[d+8>>2]=c;break G}i=o[b+24>>2];f=o[b+12>>2];H:{if((f|0)!=(b|0)){c=o[b+8>>2];o[c+12>>2]=f;o[f+8>>2]=c;break H}I:{d=b+20|0;g=o[d>>2];if(g){break I}d=b+16|0;g=o[d>>2];if(g){break I}f=0;break H}while(1){c=d;f=g;d=g+20|0;g=o[d>>2];if(g){continue}d=f+16|0;g=o[f+16>>2];if(g){continue}break}o[c>>2]=0}if(!i){break G}c=o[b+28>>2];d=(c<<2)+11892|0;J:{if(o[d>>2]==(b|0)){o[d>>2]=f;if(f){break J}m=11592,n=o[2898]&He(-2,c),o[m>>2]=n;break G}o[i+(o[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}o[f+24>>2]=i;c=o[b+16>>2];if(c){o[f+16>>2]=c;o[c+24>>2]=f}c=o[b+20>>2];if(!c){break G}o[f+20>>2]=c;o[c+24>>2]=f}b=b+k|0;a=a+k|0}o[b+4>>2]=o[b+4>>2]&-2;o[h+4>>2]=a|1;o[a+h>>2]=a;if(a>>>0<=255){b=a>>>3|0;a=(b<<3)+11628|0;c=o[2897];b=1<<b;K:{if(!(c&b)){o[2897]=b|c;b=a;break K}b=o[a+8>>2]}o[a+8>>2]=h;o[b+12>>2]=h;o[h+12>>2]=a;o[h+8>>2]=b;break B}c=h;d=a>>>8|0;b=0;L:{if(!d){break L}b=31;if(a>>>0>16777215){break L}e=d+1048320>>>16&8;d=d<<e;b=d+520192>>>16&4;g=d<<b;d=g+245760>>>16&2;b=(g<<d>>>15|0)-(d|(b|e))|0;b=(b<<1|a>>>b+21&1)+28|0}o[c+28>>2]=b;o[h+16>>2]=0;o[h+20>>2]=0;c=(b<<2)+11892|0;d=o[2898];e=1<<b;M:{if(!(d&e)){o[2898]=d|e;o[c>>2]=h;break M}d=a<<((b|0)==31?0:25-(b>>>1|0)|0);b=o[c>>2];while(1){c=b;if((o[b+4>>2]&-8)==(a|0)){break C}b=d>>>29|0;d=d<<1;e=(b&4)+c|0;b=o[e+16>>2];if(b){continue}break}o[e+16>>2]=h}o[h+24>>2]=c;o[h+12>>2]=h;o[h+8>>2]=h;break B}a=f+ -40|0;d=b+8&7?-8-b&7:0;h=a-d|0;o[2900]=h;d=b+d|0;o[2903]=d;o[d+4>>2]=h|1;o[(a+b|0)+4>>2]=40;o[2904]=o[3019];a=(e+(e+ -39&7?39-e&7:0)|0)+ -47|0;d=a>>>0<c+16>>>0?c:a;o[d+4>>2]=27;a=o[3012];o[d+16>>2]=o[3011];o[d+20>>2]=a;a=o[3010];o[d+8>>2]=o[3009];o[d+12>>2]=a;o[3011]=d+8;o[3010]=f;o[3009]=b;o[3012]=0;a=d+24|0;while(1){o[a+4>>2]=7;b=a+8|0;a=a+4|0;if(e>>>0>b>>>0){continue}break}if((c|0)==(d|0)){break x}o[d+4>>2]=o[d+4>>2]&-2;e=d-c|0;o[c+4>>2]=e|1;o[d>>2]=e;if(e>>>0<=255){b=e>>>3|0;a=(b<<3)+11628|0;d=o[2897];b=1<<b;N:{if(!(d&b)){o[2897]=b|d;b=a;break N}b=o[a+8>>2]}o[a+8>>2]=c;o[b+12>>2]=c;o[c+12>>2]=a;o[c+8>>2]=b;break x}o[c+16>>2]=0;o[c+20>>2]=0;b=c;d=e>>>8|0;a=0;O:{if(!d){break O}a=31;if(e>>>0>16777215){break O}f=d+1048320>>>16&8;d=d<<f;a=d+520192>>>16&4;h=d<<a;d=h+245760>>>16&2;a=(h<<d>>>15|0)-(d|(a|f))|0;a=(a<<1|e>>>a+21&1)+28|0}o[b+28>>2]=a;b=(a<<2)+11892|0;d=o[2898];f=1<<a;P:{if(!(d&f)){o[2898]=d|f;o[b>>2]=c;o[c+24>>2]=b;break P}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=o[b>>2];while(1){d=b;if((e|0)==(o[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=o[f+16>>2];if(b){continue}break}o[f+16>>2]=c;o[c+24>>2]=d}o[c+12>>2]=c;o[c+8>>2]=c;break x}a=o[c+8>>2];o[a+12>>2]=h;o[c+8>>2]=h;o[h+24>>2]=0;o[h+12>>2]=c;o[h+8>>2]=a}a=j+8|0;break a}a=o[d+8>>2];o[a+12>>2]=c;o[d+8>>2]=c;o[c+24>>2]=0;o[c+12>>2]=d;o[c+8>>2]=a}a=o[2900];if(a>>>0<=g>>>0){break d}b=a-g|0;o[2900]=b;a=o[2903];c=a+g|0;o[2903]=c;o[c+4>>2]=b|1;o[a+4>>2]=g|3;a=a+8|0;break a}o[2896]=48;a=0;break a}Q:{if(!h){break Q}a=o[e+28>>2];d=(a<<2)+11892|0;R:{if(o[d>>2]==(e|0)){o[d>>2]=b;if(b){break R}i=He(-2,a)&i;o[2898]=i;break Q}o[h+(o[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}o[b+24>>2]=h;a=o[e+16>>2];if(a){o[b+16>>2]=a;o[a+24>>2]=b}a=o[e+20>>2];if(!a){break Q}o[b+20>>2]=a;o[a+24>>2]=b}S:{if(c>>>0<=15){a=c+g|0;o[e+4>>2]=a|3;a=a+e|0;o[a+4>>2]=o[a+4>>2]|1;break S}o[e+4>>2]=g|3;d=e+g|0;o[d+4>>2]=c|1;o[c+d>>2]=c;if(c>>>0<=255){b=c>>>3|0;a=(b<<3)+11628|0;c=o[2897];b=1<<b;T:{if(!(c&b)){o[2897]=b|c;b=a;break T}b=o[a+8>>2]}o[a+8>>2]=d;o[b+12>>2]=d;o[d+12>>2]=a;o[d+8>>2]=b;break S}b=d;g=c>>>8|0;a=0;U:{if(!g){break U}a=31;if(c>>>0>16777215){break U}f=g+1048320>>>16&8;g=g<<f;a=g+520192>>>16&4;h=g<<a;g=h+245760>>>16&2;a=(h<<g>>>15|0)-(g|(a|f))|0;a=(a<<1|c>>>a+21&1)+28|0}o[b+28>>2]=a;o[d+16>>2]=0;o[d+20>>2]=0;b=(a<<2)+11892|0;V:{g=1<<a;W:{if(!(g&i)){o[2898]=g|i;o[b>>2]=d;break W}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);g=o[b>>2];while(1){b=g;if((o[b+4>>2]&-8)==(c|0)){break V}g=a>>>29|0;a=a<<1;f=(g&4)+b|0;g=o[f+16>>2];if(g){continue}break}o[f+16>>2]=d}o[d+24>>2]=b;o[d+12>>2]=d;o[d+8>>2]=d;break S}a=o[b+8>>2];o[a+12>>2]=d;o[b+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=b;o[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}a=o[b+28>>2];c=(a<<2)+11892|0;Y:{if(o[c>>2]==(b|0)){o[c>>2]=e;if(e){break Y}m=11592,n=He(-2,a)&k,o[m>>2]=n;break X}o[j+(o[j+16>>2]==(b|0)?16:20)>>2]=e;if(!e){break X}}o[e+24>>2]=j;a=o[b+16>>2];if(a){o[e+16>>2]=a;o[a+24>>2]=e}a=o[b+20>>2];if(!a){break X}o[e+20>>2]=a;o[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+g|0;o[b+4>>2]=a|3;a=a+b|0;o[a+4>>2]=o[a+4>>2]|1;break Z}o[b+4>>2]=g|3;g=b+g|0;o[g+4>>2]=d|1;o[d+g>>2]=d;if(i){c=i>>>3|0;a=(c<<3)+11628|0;e=o[2902];c=1<<c;_:{if(!(c&f)){o[2897]=c|f;c=a;break _}c=o[a+8>>2]}o[a+8>>2]=e;o[c+12>>2]=e;o[e+12>>2]=a;o[e+8>>2]=c}o[2902]=g;o[2899]=d}a=b+8|0}N=l+16|0;return a|0}function vb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,m=0,n=0,p=0,q=0,t=0,u=0,v=0,w=0;t=N-176|0;N=t;i=13;j=o[a>>2];a:{if(o[j>>2]!=1){break a}i=3;if(!c|(e?0:d)){break a}i=4;m=o[j+24>>2];if(m+ -1>>>0>7){break a}b:{c:{if((m|0)!=2){o[j+16>>2]=0;break c}if(o[j+16>>2]){break b}}o[j+20>>2]=0}m=o[j+28>>2];if(m>>>0>=32){o[j+16>>2]=0;i=5;break a}i=5;if(m+ -4>>>0>20){break a}if(o[j+32>>2]+ -1>>>0>=655350){i=6;break a}j=o[a>>2];k=o[j+36>>2];d:{if(!k){k=o[j+556>>2]?4096:1152;o[j+36>>2]=k;break d}i=7;if(k+ -16>>>0>65519){break a}}i=8;m=o[j+556>>2];if(m>>>0>32){break a}i=10;if(k>>>0<m>>>0){break a}m=o[j+560>>2];e:{if(!m){m=j;n=o[j+28>>2];f:{if(n>>>0<=15){n=n>>>0>5?(n>>>1|0)+2|0:5;break f}if((n|0)==16){n=7;if(k>>>0<193){break f}n=8;if(k>>>0<385){break f}n=9;if(k>>>0<577){break f}n=10;if(k>>>0<1153){break f}n=11;if(k>>>0<2305){break f}n=k>>>0<4609?12:13;break f}n=13;if(k>>>0<385){break f}n=k>>>0<1153?14:15}o[m+560>>2]=n;break e}i=9;if(m+ -5>>>0>10){break a}}g:{if(!o[j+8>>2]){k=o[j+580>>2];break g}i=11;if(!((k>>>0<4609|r[j+32>>2]>48e3)&k>>>0<16385)){break a}if(!he(o[o[a>>2]+32>>2])){break a}j=o[a>>2];if(He(o[j+28>>2]+ -8|0,30)>>>0>4){break a}k=o[j+580>>2];if(k>>>0>8){break a}if(r[j+32>>2]>48e3){break g}if(r[j+36>>2]>4608|r[j+556>>2]>12){break a}}m=1<<o[1406];if(k>>>0>=m>>>0){k=m+ -1|0;o[j+580>>2]=k}if(r[j+576>>2]>=k>>>0){o[j+576>>2]=k}h:{if(!h){break h}k=o[j+600>>2];if(!k){break h}n=o[j+604>>2];if(n>>>0<2){break h}i=1;while(1){m=o[(i<<2)+k>>2];if(!(!m|o[m>>2]!=4)){while(1){j=(i<<2)+k|0;i=i+ -1|0;o[j>>2]=o[(i<<2)+k>>2];k=o[o[a>>2]+600>>2];if(i){continue}break}o[k>>2]=m;j=o[a>>2];break h}i=i+1|0;if((n|0)!=(i|0)){continue}break}}m=o[j+604>>2];i:{j:{k=o[j+600>>2];if(k){n=0;if(!m){break i}while(1){j=o[(n<<2)+k>>2];if(!(!j|o[j>>2]!=3)){o[o[a+4>>2]+7048>>2]=j+16;break j}n=n+1|0;if((m|0)!=(n|0)){continue}break}break j}i=12;if(m){break a}n=0;break i}j=0;n=0;m=0;while(1){i=12;k:{l:{m:{n:{o:{k=o[(q<<2)+k>>2];switch(o[k>>2]){case 0:break a;case 6:break l;case 5:break m;case 4:break n;case 3:break o;default:break k}}if(v){break a}v=1;n=p;m=j;if(ge(k+16|0)){break k}break a}n=1;m=j;if(!p){break k}break a}n=p;m=j;if(le(k+16|0,o[k+160>>2])){break k}break a}if(!ie(k+16|0)){break a}n=p;m=j;p:{switch(o[k+16>>2]+ -1|0){case 0:if(w){break a}m=o[k+20>>2];if(ib(m,10763)){if(ib(m,10773)){break a}}if(o[k+28>>2]!=32){break a}w=1;m=j;if(o[k+32>>2]==32){break k}break a;case 1:break p;default:break k}}m=1;if(j){break a}}q=q+1|0;j=o[a>>2];if(q>>>0>=r[j+604>>2]){break i}k=o[j+600>>2];j=m;p=n;continue}}k=0;q=o[a+4>>2];o[q>>2]=0;if(o[j+24>>2]){while(1){j=k<<2;o[(j+q|0)+4>>2]=0;o[(j+o[a+4>>2]|0)+7328>>2]=0;o[(j+o[a+4>>2]|0)+44>>2]=0;o[(j+o[a+4>>2]|0)+7368>>2]=0;q=o[a+4>>2];k=k+1|0;if(k>>>0<r[o[a>>2]+24>>2]){continue}break}}j=0;o[q+36>>2]=0;o[o[a+4>>2]+7360>>2]=0;o[o[a+4>>2]+76>>2]=0;o[o[a+4>>2]+7400>>2]=0;o[o[a+4>>2]+40>>2]=0;o[o[a+4>>2]+7364>>2]=0;o[o[a+4>>2]+80>>2]=0;o[o[a+4>>2]+7404>>2]=0;i=o[a+4>>2];k=o[a>>2];if(o[k+40>>2]){while(1){m=j<<2;o[(m+i|0)+84>>2]=0;o[(m+o[a+4>>2]|0)+7408>>2]=0;i=o[a+4>>2];j=j+1|0;k=o[a>>2];if(j>>>0<r[k+40>>2]){continue}break}}j=0;o[i+7536>>2]=0;o[i+212>>2]=0;if(o[k+24>>2]){while(1){m=j<<3;o[(m+i|0)+256>>2]=0;o[(m+o[a+4>>2]|0)+7540>>2]=0;o[(m+o[a+4>>2]|0)+260>>2]=0;o[(m+o[a+4>>2]|0)+7544>>2]=0;i=o[a+4>>2];o[(i+(j<<2)|0)+6768>>2]=0;j=j+1|0;if(j>>>0<r[o[a>>2]+24>>2]){continue}break}}o[i+320>>2]=0;o[o[a+4>>2]+7604>>2]=0;o[o[a+4>>2]+324>>2]=0;o[o[a+4>>2]+7608>>2]=0;j=o[a+4>>2];o[j+6800>>2]=0;o[j+328>>2]=0;o[o[a+4>>2]+7612>>2]=0;o[o[a+4>>2]+332>>2]=0;o[o[a+4>>2]+7616>>2]=0;j=o[a+4>>2];o[j+7620>>2]=0;o[j+7624>>2]=0;o[j+6848>>2]=0;o[j+6852>>2]=0;o[j+6804>>2]=0;m=o[a>>2];p=o[m+36>>2];i=o[m+32>>2];o[j+7052>>2]=0;o[j+7056>>2]=0;o[j+6864>>2]=0;m=j;u=+(i>>>0)*.4/+(p>>>0)+.5;q:{if(u<4294967296&u>=0){p=~~u>>>0;break q}p=0}o[m+6860>>2]=p?p:1;Xb(j+7156|0);i=o[a+4>>2];o[i+7244>>2]=12;o[i+7240>>2]=13;o[i+7236>>2]=12;o[i+7228>>2]=14;o[i+7224>>2]=15;o[i+7220>>2]=16;o[i+7232>>2]=17;k=o[a>>2];o[k>>2]=0;o[i+7260>>2]=h;r:{s:{t:{if(h){if(!Sd(k+632|0)){break t}k=o[a>>2];i=o[a+4>>2]}o[i+7276>>2]=c;o[i+7264>>2]=b;o[i+7288>>2]=g;o[i+7280>>2]=f;o[i+7272>>2]=e;o[i+7268>>2]=d;b=o[k+36>>2];if(r[i>>2]<b>>>0){d=b+5|0;u:{v:{w:{if(o[k+24>>2]){c=0;while(1){f=c<<2;e=f+o[a+4>>2]|0;g=ta(d,e+7328|0,e+4|0);e=o[(f+o[a+4>>2]|0)+4>>2];o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;e=f+o[a+4>>2]|0;o[e+4>>2]=o[e+4>>2]+16;if(!g){break w}c=c+1|0;if(c>>>0<r[o[a>>2]+24>>2]){continue}break}}c=o[a+4>>2];c=ta(d,c+7360|0,c+36|0);e=o[o[a+4>>2]+36>>2];o[e>>2]=0;o[e+4>>2]=0;o[e+8>>2]=0;o[e+12>>2]=0;e=o[a+4>>2];o[e+36>>2]=o[e+36>>2]+16;if(c){c=o[a+4>>2];c=ta(d,c+7364|0,c+40|0);d=o[o[a+4>>2]+40>>2];o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;d=o[a+4>>2];o[d+40>>2]=o[d+40>>2]+16}if(!c){break w}d=o[a>>2];if(o[d+556>>2]){c=o[a+4>>2];if(o[d+40>>2]){i=0;while(1){c=(i<<2)+c|0;if(!ta(b,c+7408|0,c+84|0)){break w}c=o[a+4>>2];i=i+1|0;if(i>>>0<r[o[a>>2]+40>>2]){continue}break}}if(!ta(b,c+7536|0,c+212|0)){break w}}g=0;k=1;f=0;while(1){if(f>>>0<r[o[a>>2]+24>>2]){i=0;c=1;d=0;while(1){if(i&1){break w}h=c;c=(o[a+4>>2]+(f<<3)|0)+(d<<2)|0;e=ta(b,c+7540|0,c+256|0);h=h&(e|0)!=0;i=!e;d=1;c=0;if(h){continue}break}f=f+1|0;if(e){continue}break w}break}h=1;while(1){i=0;c=1;d=0;if(!h){break w}while(1){if(i&1){break w}f=c;c=(o[a+4>>2]+(g<<3)|0)+(d<<2)|0;e=ta(b,c+7604|0,c+320|0);f=f&(e|0)!=0;i=!e;d=1;c=0;if(f){continue}break}h=(e|0)!=0;c=k&h;g=1;k=0;if(c){continue}break}if(!e){break w}d=b<<1;c=o[a+4>>2];c=Xd(d,c+7620|0,c+6848|0);i=o[a>>2];e=o[i+572>>2];if(!e|!c){break v}c=o[a+4>>2];if(ta(d,c+7624|0,c+6852|0)){break u}}i=o[a>>2];break r}if(e|!c){break r}}i=o[a+4>>2];x:{if((b|0)==o[i>>2]){break x}c=o[a>>2];if(!o[c+556>>2]|!o[c+40>>2]){break x}i=0;while(1){y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{Q:{c=(i<<4)+c|0;switch(o[c+44>>2]){case 16:break A;case 15:break B;case 14:break C;case 13:break D;case 12:break E;case 11:break F;case 10:break G;case 9:break H;case 8:break I;case 7:break J;case 6:break K;case 5:break L;case 4:break M;case 3:break N;case 2:break O;case 1:break P;case 0:break Q;default:break z}}jd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}id(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}hd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}gd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}fd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}ed(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}dd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b,s[c+48>>2]);break y}cd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}Lb(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}bd(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}ad(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}Zc(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}Yc(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}Xc(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b,s[c+48>>2]);break y}$c(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b,s[c+48>>2],s[c+52>>2],s[c+56>>2]);break y}_c(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b,s[c+48>>2],s[c+52>>2],s[c+56>>2]);break y}Wc(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b);break y}Lb(o[(o[a+4>>2]+(i<<2)|0)+84>>2],b)}i=i+1|0;c=o[a>>2];if(i>>>0<r[c+40>>2]){continue}break}i=o[a+4>>2]}o[i>>2]=b}b=o[i+6856>>2];o[b+16>>2]=0;o[b+8>>2]=8192;o[b+12>>2]=0;c=b;b=da(32768);o[c>>2]=b;d=o[a>>2];if(!b){o[d>>2]=8;i=1;break a}if(o[d+4>>2]){i=1;c=o[a+4>>2];b=o[d+36>>2]+1|0;o[c+11796>>2]=b;R:{if(!o[d+24>>2]){break R}b=Na(4,b);o[o[a+4>>2]+11764>>2]=b;d=o[a>>2];if(b){while(1){c=o[a+4>>2];if(i>>>0>=r[d+24>>2]){break R}b=Na(4,o[c+11796>>2]);o[(o[a+4>>2]+(i<<2)|0)+11764>>2]=b;i=i+1|0;d=o[a>>2];if(b){continue}break}}o[d>>2]=8;i=1;break a}o[c+11800>>2]=0;S:{c=o[c+11752>>2];if(c){break S}c=Pb();o[o[a+4>>2]+11752>>2]=c;if(c){break S}o[o[a>>2]>>2]=3;i=1;break a}b=Qb(c,18,0,0,0,0,19,20,21,a);d=o[a>>2];if(b){break s}c=!o[d+4>>2]}else{c=1}b=o[a+4>>2];o[b+7312>>2]=0;o[b+7316>>2]=0;o[b+7292>>2]=0;e=b+11816|0;o[e>>2]=0;o[e+4>>2]=0;e=b+11824|0;o[e>>2]=0;o[e+4>>2]=0;e=b+11832|0;o[e>>2]=0;o[e+4>>2]=0;o[b+11840>>2]=0;o[d+624>>2]=0;o[d+628>>2]=0;o[d+616>>2]=0;o[d+620>>2]=0;o[d+608>>2]=0;o[d+612>>2]=0;if(!c){o[b+11756>>2]=0}if(!_(o[b+6856>>2],o[1354],o[1355])){o[o[a>>2]>>2]=7;i=1;break a}i=1;if(!Fa(a,0,0)){break a}b=o[a+4>>2];c=o[a>>2];if(o[c+4>>2]){o[b+11756>>2]=1}o[b+6872>>2]=0;o[b+6876>>2]=0;o[b+6880>>2]=34;o[b+6888>>2]=o[c+36>>2];o[o[a+4>>2]+6892>>2]=o[o[a>>2]+36>>2];o[o[a+4>>2]+6896>>2]=0;o[o[a+4>>2]+6900>>2]=0;o[o[a+4>>2]+6904>>2]=o[o[a>>2]+32>>2];o[o[a+4>>2]+6908>>2]=o[o[a>>2]+24>>2];o[o[a+4>>2]+6912>>2]=o[o[a>>2]+28>>2];c=o[a>>2];d=o[c+596>>2];b=o[a+4>>2]+6920|0;o[b>>2]=o[c+592>>2];o[b+4>>2]=d;b=o[a+4>>2];c=b+6936|0;o[c>>2]=0;o[c+4>>2]=0;b=b+6928|0;o[b>>2]=0;o[b+4>>2]=0;if(o[o[a>>2]+12>>2]){b=o[a+4>>2]+7060|0;o[b+80>>2]=0;o[b+84>>2]=0;o[b+64>>2]=1732584193;o[b+68>>2]=-271733879;o[b+72>>2]=-1732584194;o[b+76>>2]=271733878;o[b+88>>2]=0;o[b+92>>2]=0}b=o[a+4>>2];if(!hb(b+6872|0,o[b+6856>>2])){o[o[a>>2]>>2]=7;break a}if(!Fa(a,0,0)){break a}o[o[a+4>>2]+6896>>2]=-1<<o[1358]^-1;b=o[a+4>>2]+6920|0;o[b>>2]=0;o[b+4>>2]=0;if(!n){o[t>>2]=4;c=o[o[a>>2]+604>>2];b=t;o[b+24>>2]=0;o[b+28>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;o[b+8>>2]=8;o[b+4>>2]=!c;if(!hb(b,o[o[a+4>>2]+6856>>2])){o[o[a>>2]>>2]=7;break a}if(!Fa(a,0,0)){break a}}T:{d=o[a>>2];e=o[d+604>>2];if(!e){break T}c=0;while(1){b=o[o[d+600>>2]+(c<<2)>>2];o[b+4>>2]=(e+ -1|0)==(c|0);if(!hb(b,o[o[a+4>>2]+6856>>2])){o[o[a>>2]>>2]=7;break a}if(Fa(a,0,0)){c=c+1|0;d=o[a>>2];e=o[d+604>>2];if(c>>>0>=e>>>0){break T}continue}break}break a}U:{b=o[a+4>>2];c=o[b+7272>>2];if(!c){break U}b=l[c](a,d+624|0,o[b+7288>>2])|0;d=o[a>>2];if((b|0)!=1){break U}o[d>>2]=5;break a}i=0;if(!o[d+4>>2]){break a}o[o[a+4>>2]+11756>>2]=2;break a}o[o[a>>2]>>2]=2;i=1;break a}o[d>>2]=3;i=1;break a}o[i>>2]=8;i=1}N=t+176|0;return i}function Kb(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=0;n=N-192|0;N=n;F=h;H=i&65535;r=d;p=e&65535;D=(e^i)&-2147483648;l=i>>>16&32767;a:{s=e>>>16&32767;b:{c:{if(l+ -1>>>0<32766?s+ -1>>>0<=32765:0){break c}m=e&2147483647;k=m;j=d;if(!(!j&(k|0)==2147418112?!(b|c):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){K=d;D=e|32768;break b}m=i&2147483647;e=m;d=h;if(!(!d&(e|0)==2147418112?!(f|g):(e|0)==2147418112&d>>>0<0|e>>>0<2147418112)){K=h;D=i|32768;b=f;c=g;break b}if(!(b|j|(k^2147418112|c))){if(!(d|f|(e^2147418112|g))){b=0;c=0;D=2147450880;break b}D=D|2147418112;b=0;c=0;break b}if(!(d|f|(e^2147418112|g))){b=0;c=0;break b}if(!(b|j|(c|k))){break a}if(!(d|f|(e|g))){D=D|2147418112;b=0;c=0;break b}if((k|0)==65535|k>>>0<65535){i=b;d=!(p|r);h=d<<6;j=x(d?b:r)+32|0;b=x(d?c:p);b=h+((b|0)==32?j:b)|0;ia(n+176|0,i,c,r,p,b+ -15|0);I=16-b|0;r=o[n+184>>2];p=o[n+188>>2];c=o[n+180>>2];b=o[n+176>>2]}if(e>>>0>65535){break c}d=!(F|H);e=d<<6;h=x(d?f:F)+32|0;d=x(d?g:H);d=e+((d|0)==32?h:d)|0;ia(n+160|0,f,g,F,H,d+ -15|0);I=(d+I|0)+ -16|0;F=o[n+168>>2];H=o[n+172>>2];f=o[n+160>>2];g=o[n+164>>2]}e=H|65536;J=e;L=F;d=F;k=e<<15|d>>>17;d=d<<15|g>>>17;h=-102865788-d|0;e=k;i=1963258675-(k+(4192101508<d>>>0)|0)|0;ra(n+144|0,d,k,h,i);j=o[n+152>>2];ra(n+128|0,0-j|0,0-(o[n+156>>2]+(0<j>>>0)|0)|0,h,i);h=o[n+136>>2];i=h<<1|o[n+132>>2]>>>31;h=o[n+140>>2]<<1|h>>>31;ra(n+112|0,i,h,d,k);j=h;h=o[n+120>>2];ra(n+96|0,i,j,0-h|0,0-(o[n+124>>2]+(0<h>>>0)|0)|0);h=o[n+104>>2];i=h<<1|o[n+100>>2]>>>31;h=o[n+108>>2]<<1|h>>>31;ra(n+80|0,i,h,d,k);j=h;h=o[n+88>>2];ra(n- -64|0,i,j,0-h|0,0-(o[n+92>>2]+(0<h>>>0)|0)|0);h=o[n+72>>2];i=h<<1|o[n+68>>2]>>>31;h=o[n+76>>2]<<1|h>>>31;ra(n+48|0,i,h,d,k);j=h;h=o[n+56>>2];ra(n+32|0,i,j,0-h|0,0-(o[n+60>>2]+(0<h>>>0)|0)|0);h=o[n+40>>2];i=h<<1|o[n+36>>2]>>>31;h=o[n+44>>2]<<1|h>>>31;ra(n+16|0,i,h,d,k);j=h;h=o[n+24>>2];ra(n,i,j,0-h|0,0-(o[n+28>>2]+(0<h>>>0)|0)|0);I=(s-l|0)+I|0;h=o[n+8>>2];j=o[n+12>>2]<<1|h>>>31;i=h<<1;k=j+ -1|0;i=(o[n+4>>2]>>>31|i)+ -1|0;if((i|0)!=-1){k=k+1|0}h=i;j=0;y=j;t=e;l=0;m=Ee(h,j,e,l);e=Q;w=e;u=k;s=0;j=d;h=Ee(k,s,j,0);d=h+m|0;k=Q+e|0;k=d>>>0<h>>>0?k+1|0:k;h=d;d=k;q=Ee(i,y,j,q);e=0+q|0;k=h;j=k+Q|0;j=e>>>0<q>>>0?j+1|0:j;q=e;e=j;j=(k|0)==(j|0)&q>>>0<A>>>0|j>>>0<k>>>0;k=(d|0)==(w|0)&k>>>0<m>>>0|d>>>0<w>>>0;h=d;d=Ee(u,s,t,l)+d|0;l=k+Q|0;l=d>>>0<h>>>0?l+1|0:l;h=d;d=j+d|0;j=l;B=d;h=d>>>0<h>>>0?j+1|0:j;d=g;z=(d&131071)<<15|f>>>17;t=Ee(i,y,z,0);d=Q;A=d;k=f;v=k<<15&-32768;m=Ee(u,s,v,0);j=m+t|0;k=Q+d|0;k=j>>>0<m>>>0?k+1|0:k;d=k;C=Ee(i,y,v,C);v=0+C|0;k=j+Q|0;k=v>>>0<C>>>0?k+1|0:k;k=(j|0)==(k|0)&v>>>0<E>>>0|k>>>0<j>>>0;j=(d|0)==(A|0)&j>>>0<t>>>0|d>>>0<A>>>0;m=d;d=Ee(u,s,z,G)+d|0;l=j+Q|0;l=d>>>0<m>>>0?l+1|0:l;j=d;d=k+j|0;m=d>>>0<j>>>0?l+1|0:l;k=d;d=q+d|0;j=m+e|0;j=d>>>0<k>>>0?j+1|0:j;w=d;k=h;t=j;d=(e|0)==(j|0)&d>>>0<q>>>0|j>>>0<e>>>0;e=d+B|0;if(e>>>0<d>>>0){k=k+1|0}j=k;d=(w|0)!=0|(t|0)!=0;e=e+d|0;if(e>>>0<d>>>0){j=j+1|0}k=e;e=0-k|0;q=0;h=Ee(e,q,i,y);d=Q;A=d;v=Ee(u,s,e,q);e=Q;B=e;z=0-((0<k>>>0)+j|0)|0;j=0;q=Ee(i,y,z,j);l=q+v|0;k=Q+e|0;k=l>>>0<q>>>0?k+1|0:k;e=l;q=0+h|0;l=d+e|0;l=q>>>0<G>>>0?l+1|0:l;m=q;d=l;l=(A|0)==(d|0)&m>>>0<h>>>0|d>>>0<A>>>0;m=(k|0)==(B|0)&e>>>0<v>>>0|k>>>0<B>>>0;e=Ee(u,s,z,j)+k|0;j=m+Q|0;j=e>>>0<k>>>0?j+1|0:j;h=e;e=l+e|0;if(e>>>0<h>>>0){j=j+1|0}z=e;h=j;l=q;e=0-w|0;G=0-((0<w>>>0)+t|0)|0;w=0;B=Ee(G,w,i,y);v=Q;t=e;C=0;j=Ee(e,C,u,s);e=j+B|0;k=Q+v|0;m=e;e=e>>>0<j>>>0?k+1|0:k;t=Ee(i,y,t,C);i=0+t|0;j=m;k=j+Q|0;k=i>>>0<t>>>0?k+1|0:k;k=(j|0)==(k|0)&i>>>0<E>>>0|k>>>0<j>>>0;j=(e|0)==(v|0)&j>>>0<B>>>0|e>>>0<v>>>0;i=e;e=Ee(u,s,G,w)+e|0;m=j+Q|0;m=e>>>0<i>>>0?m+1|0:m;i=e;e=k+e|0;j=m;j=e>>>0<i>>>0?j+1|0:j;i=e;e=e+l|0;j=j+d|0;j=e>>>0<i>>>0?j+1|0:j;i=e;k=h;e=j;d=(d|0)==(j|0)&i>>>0<l>>>0|j>>>0<d>>>0;h=d+z|0;if(h>>>0<d>>>0){k=k+1|0}d=h;j=k;m=d;l=e+ -1|0;d=i+ -2|0;if(d>>>0<4294967294){l=l+1|0}h=d;k=d;d=l;e=(e|0)==(d|0)&k>>>0<i>>>0|d>>>0<e>>>0;i=m+e|0;if(i>>>0<e>>>0){j=j+1|0}e=i+ -1|0;k=j+ -1|0;k=(e|0)!=-1?k+1|0:k;i=0;u=i;s=e;j=r;v=j<<2|c>>>30;z=0;q=Ee(e,i,v,z);i=Q;m=i;i=c;G=(i&1073741823)<<2|b>>>30;C=k;i=0;j=Ee(G,0,k,i);e=j+q|0;l=Q+m|0;l=e>>>0<j>>>0?l+1|0:l;j=e;t=l;A=(m|0)==(l|0)&j>>>0<q>>>0|l>>>0<m>>>0;m=l;l=0;q=l;k=0;B=d;E=((p&1073741823)<<2|r>>>30)&-262145|262144;e=Ee(d,l,E,0);d=e+j|0;m=Q+m|0;m=d>>>0<e>>>0?m+1|0:m;r=d;e=m;d=(t|0)==(e|0)&d>>>0<j>>>0|e>>>0<t>>>0;j=d+A|0;if(j>>>0<d>>>0){k=1}m=Ee(C,i,E,M);d=m+j|0;j=Q+k|0;k=d>>>0<m>>>0?j+1|0:j;l=Ee(s,u,E,M);j=Q;c=d;p=Ee(v,z,C,i);d=p+l|0;m=Q+j|0;m=d>>>0<p>>>0?m+1|0:m;p=d;d=m;m=(j|0)==(d|0)&p>>>0<l>>>0|d>>>0<j>>>0;l=c+d|0;k=k+m|0;j=l;m=j>>>0<d>>>0?k+1|0:k;c=j;l=e+p|0;k=0;d=k+r|0;if(d>>>0<k>>>0){l=l+1|0}p=d;j=d;d=l;e=(e|0)==(d|0)&j>>>0<r>>>0|d>>>0<e>>>0;j=c+e|0;if(j>>>0<e>>>0){m=m+1|0}O=j;e=p;k=d;r=Ee(G,w,B,q);l=Q;t=h;A=Ee(h,0,v,z);h=A+r|0;j=Q+l|0;j=h>>>0<A>>>0?j+1|0:j;y=h;h=j;r=(l|0)==(j|0)&y>>>0<r>>>0|j>>>0<l>>>0;R=e;j=0;S=r;c=b<<2&-4;r=Ee(s,u,c,0);e=r+y|0;l=Q+h|0;l=e>>>0<r>>>0?l+1|0:l;A=e;r=e;e=l;h=(h|0)==(e|0)&r>>>0<y>>>0|e>>>0<h>>>0;l=S+h|0;if(l>>>0<h>>>0){j=1}h=R+l|0;k=j+k|0;k=h>>>0<l>>>0?k+1|0:k;r=h;l=m;h=k;d=(d|0)==(k|0)&r>>>0<p>>>0|k>>>0<d>>>0;j=d+O|0;if(j>>>0<d>>>0){l=l+1|0}R=j;p=r;y=h;O=Ee(C,i,c,T);C=Q;i=Ee(E,M,t,P);d=i+O|0;m=Q+C|0;m=d>>>0<i>>>0?m+1|0:m;E=d;j=Ee(v,z,B,q);d=d+j|0;i=m;k=i+Q|0;k=d>>>0<j>>>0?k+1|0:k;v=d;m=Ee(s,u,G,w);d=d+m|0;j=Q+k|0;s=d;j=d>>>0<m>>>0?j+1|0:j;u=0;m=l;d=j;j=(j|0)==(k|0)&s>>>0<v>>>0|j>>>0<k>>>0;l=(i|0)==(C|0)&E>>>0<O>>>0|i>>>0<C>>>0;i=(i|0)==(k|0)&v>>>0<E>>>0|k>>>0<i>>>0;k=l+i|0;k>>>0<i>>>0;i=j+k|0;k=i;j=d|0;i=j+p|0;k=(k|u)+y|0;k=i>>>0<j>>>0?k+1|0:k;y=i;p=k;h=(h|0)==(k|0)&i>>>0<r>>>0|k>>>0<h>>>0;i=h+R|0;if(i>>>0<h>>>0){m=m+1|0}z=i;i=m;m=y;r=p;u=A;B=Ee(B,q,c,T);q=Q;j=Ee(G,w,t,P);h=j+B|0;l=Q+q|0;l=h>>>0<j>>>0?l+1|0:l;k=l;w=k;l=0;j=(k|0)==(q|0)&h>>>0<B>>>0|k>>>0<q>>>0;h=k+u|0;k=(j|l)+e|0;k=h>>>0<w>>>0?k+1|0:k;w=h;j=h;h=k;j=(e|0)==(k|0)&j>>>0<u>>>0|k>>>0<e>>>0;c=m;e=j;j=k+s|0;m=0;d=m+w|0;if(d>>>0<m>>>0){j=j+1|0}d=(h|0)==(j|0)&d>>>0<w>>>0|j>>>0<h>>>0;e=e+d|0;if(e>>>0<d>>>0){l=1}d=c+e|0;m=l+r|0;h=d;j=i;m=d>>>0<e>>>0?m+1|0:m;i=m;d=(p|0)==(i|0)&d>>>0<y>>>0|i>>>0<p>>>0;e=d+z|0;if(e>>>0<d>>>0){j=j+1|0}d=e;e=j;d:{if((j|0)==131071|j>>>0<131071){u=0;p=f;v=0;k=Ee(h,u,p,v);l=Q;j=b<<17;b=0;c=(k|0)!=0|(l|0)!=0;r=b-c|0;E=j-(b>>>0<c>>>0)|0;w=0-k|0;q=0-((0<k>>>0)+l|0)|0;c=0;z=Ee(i,c,p,v);b=Q;G=b;s=0;k=Ee(h,u,g,s);j=k+z|0;l=Q+b|0;l=j>>>0<k>>>0?l+1|0:l;b=j;k=j;t=0;j=t;A=k;j=(k|0)==(q|0)&w>>>0<j>>>0|q>>>0<k>>>0;y=r-j|0;r=E-(r>>>0<j>>>0)|0;j=Ee(d,0,p,v);k=Q;p=Ee(h,u,F,0);j=p+j|0;m=Q+k|0;m=j>>>0<p>>>0?m+1|0:m;p=Ee(g,s,i,c);j=p+j|0;k=Q+m|0;k=j>>>0<p>>>0?k+1|0:k;m=k;k=(l|0)==(G|0)&b>>>0<z>>>0|l>>>0<G>>>0;b=l+j|0;k=k+m|0;m=b;b=m>>>0<l>>>0?k+1|0:k;j=Ee(h,i,J,0);l=Q;p=m;m=Ee(f,g,e,0);k=m+j|0;j=Q+l|0;j=k>>>0<m>>>0?j+1|0:j;l=Ee(d,e,g,s);m=l+k|0;j=Ee(i,c,F,H);c=j+m|0;j=c;k=0;c=p+k|0;j=b+j|0;b=c;F=y-b|0;H=r-((y>>>0<b>>>0)+(b>>>0<k>>>0?j+1|0:j)|0)|0;I=I+ -1|0;c=w-t|0;b=q-((w>>>0<t>>>0)+A|0)|0;break d}q=i>>>1|0;l=0;r=b<<16;k=d<<31;h=(i&1)<<31|h>>>1;i=i>>>1|k;z=0;c=f;m=0;b=Ee(h,z,c,m);j=Q;k=j;p=0;j=(b|0)!=0|(j|0)!=0;t=p-j|0;E=r-(p>>>0<j>>>0)|0;A=0-b|0;y=0-((0<b>>>0)+k|0)|0;p=y;r=0;w=Ee(h,z,g,r);b=Q;C=b;k=e<<31|d>>>1;q=q|d<<31;M=k|l;k=q;u=Ee(k,0,c,m);l=u+w|0;j=Q+b|0;j=l>>>0<u>>>0?j+1|0:j;b=j;j=l;v=j;u=0;j=(j|0)==(p|0)&A>>>0<u>>>0|p>>>0<j>>>0;B=t-j|0;t=E-(t>>>0<j>>>0)|0;E=Ee(g,r,k,P);P=Q;j=c;k=m;c=e>>>1|0;p=(e&1)<<31|d>>>1;m=Ee(j,k,p,0);j=m+E|0;k=Q+P|0;k=j>>>0<m>>>0?k+1|0:k;s=Ee(h,z,F,0);m=s+j|0;j=Q+k|0;k=m;m=k>>>0<s>>>0?j+1|0:j;j=(b|0)==(C|0)&l>>>0<w>>>0|b>>>0<C>>>0;s=b;b=b+k|0;l=j+m|0;m=b;b=m>>>0<s>>>0?l+1|0:l;j=Ee(h,i,J,0);k=Q;e=Ee(f,g,e>>>1|0,0);d=e+j|0;j=Q+k|0;j=d>>>0<e>>>0?j+1|0:j;e=Ee(p,c,g,r);d=e+d|0;j=Q+j|0;e=Ee(q,M,F,H);d=e+d|0;j=d;e=0;d=e+m|0;k=b+j|0;F=B-d|0;H=t-((B>>>0<d>>>0)+(d>>>0<e>>>0?k+1|0:k)|0)|0;d=p;e=c;c=A-u|0;b=y-((A>>>0<u>>>0)+v|0)|0}if((I|0)>=16384){D=D|2147418112;b=0;c=0;break b}l=I+16383|0;if((I|0)<=-16383){e:{if(l){break e}l=i;m=b<<1|c>>>31;j=c<<1;g=(g|0)==(m|0)&j>>>0>f>>>0|m>>>0>g>>>0;j=e&65535;f=F;m=H<<1|f>>>31;c=f<<1|b>>>31;e=c;b=(e|0)==(L|0)&(m|0)==(J|0)?g:(J|0)==(m|0)&e>>>0>L>>>0|m>>>0>J>>>0;c=b+h|0;if(c>>>0<b>>>0){l=l+1|0}b=c;e=b;c=l;e=d+((i|0)==(l|0)&e>>>0<h>>>0|l>>>0<i>>>0)|0;if(e>>>0<d>>>0){j=j+1|0}d=j;if(!(j&65536)){break e}K=e|K;D=d|D;break b}b=0;c=0;break b}k=i;e=e&65535;j=b<<1|c>>>31;p=c<<1;g=(g|0)==(j|0)&p>>>0>=f>>>0|j>>>0>g>>>0;f=F;j=H<<1|f>>>31;c=f<<1|b>>>31;b=(c|0)==(L|0)&(j|0)==(J|0)?g:(J|0)==(j|0)&c>>>0>=L>>>0|j>>>0>J>>>0;c=b+h|0;if(c>>>0<b>>>0){k=k+1|0}b=c;c=k;f=d;d=((i|0)==(k|0)&b>>>0<h>>>0|k>>>0<i>>>0)+d|0;k=l<<16|e;K=d|K;D=D|(d>>>0<f>>>0?k+1|0:k)}o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=K;o[a+12>>2]=D;N=n+192|0;return}o[a>>2]=0;o[a+4>>2]=0;b=!(d|f|(e|g));o[a+8>>2]=b?0:K;o[a+12>>2]=b?2147450880:D;N=n+192|0}function Dc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=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;g=N-8976|0;N=g;y=d+e|0;E=0-y|0;a:{b:{while(1){c:{if((c|0)!=48){if((c|0)!=46){break a}c=o[b+4>>2];if(c>>>0>=r[b+104>>2]){break c}o[b+4>>2]=c+1;c=p[c|0];break b}c=o[b+4>>2];if(c>>>0<r[b+104>>2]){i=1;o[b+4>>2]=c+1;c=p[c|0]}else{i=1;c=ga(b)}continue}break}c=ga(b)}k=1;if((c|0)!=48){break a}while(1){c=o[b+4>>2];d:{if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break d}c=ga(b)}h=h+ -1|0;n=j+ -1|0;if((n|0)!=-1){h=h+1|0}j=n;if((c|0)==48){continue}break}i=1}o[g+784>>2]=0;e:{f:{q=(c|0)==46;n=c+ -48|0;g:{h:{i:{if(q|n>>>0<=9){while(1){j:{if(q&1){if(!k){j=m;h=l;k=1;break j}i=!i;break i}m=m+1|0;if(m>>>0<1){l=l+1|0}if((s|0)<=2044){x=(c|0)==48?x:m;i=(g+784|0)+(s<<2)|0;q=i;if(t){n=(u(o[i>>2],10)+c|0)+ -48|0}o[q>>2]=n;i=1;n=t+1|0;c=(n|0)==9;t=c?0:n;s=c+s|0;break j}if((c|0)==48){break j}o[g+8960>>2]=o[g+8960>>2]|1;x=18396}c=o[b+4>>2];k:{if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break k}c=ga(b)}q=(c|0)==46;n=c+ -48|0;if(q|n>>>0<10){continue}break}}j=k?j:m;h=k?h:l;if(!(!i|(c&-33)!=69)){k=lb(b);c=Q;q=c;l:{if(k|(c|0)!=-2147483648){break l}k=0;q=0;if(!o[b+104>>2]){break l}o[b+4>>2]=o[b+4>>2]+ -1}if(!i){break g}h=h+q|0;b=j+k|0;if(b>>>0<k>>>0){h=h+1|0}j=b;break f}i=!i;if((c|0)<0){break h}}if(!o[b+104>>2]){break h}o[b+4>>2]=o[b+4>>2]+ -1}if(!i){break f}}o[2896]=28;m=0;l=0;o[b+112>>2]=0;o[b+116>>2]=0;c=o[b+8>>2];d=c-o[b+4>>2]|0;o[b+120>>2]=d;o[b+124>>2]=d>>31;o[b+104>>2]=c;c=0;b=0;break e}b=o[g+784>>2];if(!b){sa(g,+(f|0)*0);m=o[g>>2];l=o[g+4>>2];c=o[g+12>>2];b=o[g+8>>2];break e}if(!((j|0)!=(m|0)|(h|0)!=(l|0)|((l|0)>0?1:(l|0)>=0?m>>>0<=9?0:1:0)|(b>>>d|0?(d|0)<=30:0))){ka(g+48|0,f);Ba(g+32|0,b);$(g+16|0,o[g+48>>2],o[g+52>>2],o[g+56>>2],o[g+60>>2],o[g+32>>2],o[g+36>>2],o[g+40>>2],o[g+44>>2]);m=o[g+16>>2];l=o[g+20>>2];c=o[g+28>>2];b=o[g+24>>2];break e}if((h|0)>0?1:(h|0)>=0?j>>>0<=(e|0)/-2>>>0?0:1:0){o[2896]=68;ka(g+96|0,f);$(g+80|0,o[g+96>>2],o[g+100>>2],o[g+104>>2],o[g+108>>2],-1,-1,-1,2147418111);$(g- -64|0,o[g+80>>2],o[g+84>>2],o[g+88>>2],o[g+92>>2],-1,-1,-1,2147418111);m=o[g+64>>2];l=o[g+68>>2];c=o[g+76>>2];b=o[g+72>>2];break e}b=e+ -226|0;c=j>>>0>=b>>>0?0:1;b=b>>31;if((h|0)<(b|0)?1:(h|0)<=(b|0)?c:0){o[2896]=68;ka(g+144|0,f);$(g+128|0,o[g+144>>2],o[g+148>>2],o[g+152>>2],o[g+156>>2],0,0,0,65536);$(g+112|0,o[g+128>>2],o[g+132>>2],o[g+136>>2],o[g+140>>2],0,0,0,65536);m=o[g+112>>2];l=o[g+116>>2];c=o[g+124>>2];b=o[g+120>>2];break e}if(t){if((t|0)<=8){c=(g+784|0)+(s<<2)|0;b=o[c>>2];while(1){b=u(b,10);t=t+1|0;if((t|0)!=9){continue}break}o[c>>2]=b}s=s+1|0}m:{k=j;if((x|0)>(k|0)|(x|0)>=9|(k|0)>17){break m}if((k|0)==9){ka(g+192|0,f);Ba(g+176|0,o[g+784>>2]);$(g+160|0,o[g+192>>2],o[g+196>>2],o[g+200>>2],o[g+204>>2],o[g+176>>2],o[g+180>>2],o[g+184>>2],o[g+188>>2]);m=o[g+160>>2];l=o[g+164>>2];c=o[g+172>>2];b=o[g+168>>2];break e}if((k|0)<=8){ka(g+272|0,f);Ba(g+256|0,o[g+784>>2]);$(g+240|0,o[g+272>>2],o[g+276>>2],o[g+280>>2],o[g+284>>2],o[g+256>>2],o[g+260>>2],o[g+264>>2],o[g+268>>2]);ka(g+224|0,o[(0-k<<2)+10560>>2]);Kb(g+208|0,o[g+240>>2],o[g+244>>2],o[g+248>>2],o[g+252>>2],o[g+224>>2],o[g+228>>2],o[g+232>>2],o[g+236>>2]);m=o[g+208>>2];l=o[g+212>>2];c=o[g+220>>2];b=o[g+216>>2];break e}b=(u(k,-3)+d|0)+27|0;c=o[g+784>>2];if(c>>>b|0?(b|0)<=30:0){break m}ka(g+352|0,f);Ba(g+336|0,c);$(g+320|0,o[g+352>>2],o[g+356>>2],o[g+360>>2],o[g+364>>2],o[g+336>>2],o[g+340>>2],o[g+344>>2],o[g+348>>2]);ka(g+304|0,o[(k<<2)+10488>>2]);$(g+288|0,o[g+320>>2],o[g+324>>2],o[g+328>>2],o[g+332>>2],o[g+304>>2],o[g+308>>2],o[g+312>>2],o[g+316>>2]);m=o[g+288>>2];l=o[g+292>>2];c=o[g+300>>2];b=o[g+296>>2];break e}while(1){c=s;s=c+ -1|0;if(!o[(g+784|0)+(s<<2)>>2]){continue}break}t=0;b=(k|0)%9|0;n:{if(!b){i=0;break n}n=(k|0)>-1?b:b+9|0;o:{if(!c){i=0;c=0;break o}h=o[(0-n<<2)+10560>>2];l=1e9/(h|0)|0;q=0;b=0;i=0;while(1){j=q;m=(g+784|0)+(b<<2)|0;q=o[m>>2];s=(q>>>0)/(h>>>0)|0;j=j+s|0;o[m>>2]=j;j=!j&(b|0)==(i|0);i=j?i+1&2047:i;k=j?k+ -9|0:k;q=u(l,q-u(h,s)|0);b=b+1|0;if((c|0)!=(b|0)){continue}break}if(!q){break o}o[(g+784|0)+(c<<2)>>2]=q;c=c+1|0}k=(k-n|0)+9|0}while(1){m=(g+784|0)+(i<<2)|0;p:{while(1){if((k|0)!=36|r[m>>2]>=10384593?(k|0)>=36:0){break p}s=c+2047|0;q=0;n=c;while(1){c=n;l=s&2047;s=(g+784|0)+(l<<2)|0;b=o[s>>2];h=b>>>3|0;n=b<<29;b=n+q|0;if(b>>>0<n>>>0){h=h+1|0}j=b;n=0;q:{if(!h&b>>>0<1000000001|h>>>0<0){break q}n=Fe(b,h,1e9);j=j-Ee(n,Q,1e9,0)|0}q=n;o[s>>2]=j;n=(l|0)!=(c+ -1&2047)?c:(l|0)==(i|0)?c:j?c:l;s=l+ -1|0;if((l|0)!=(i|0)){continue}break}t=t+ -29|0;if(!q){continue}break}i=i+ -1&2047;if((n|0)==(i|0)){b=(g+784|0)+((n+2046&2047)<<2)|0;c=n+ -1&2047;o[b>>2]=o[b>>2]|o[(g+784|0)+(c<<2)>>2]}k=k+9|0;o[(g+784|0)+(i<<2)>>2]=q;continue}break}r:{s:while(1){h=c+1&2047;l=(g+784|0)+((c+ -1&2047)<<2)|0;while(1){j=(k|0)>45?9:1;t:{while(1){n=i;b=0;u:{while(1){v:{i=b+n&2047;if((i|0)==(c|0)){break v}i=o[(g+784|0)+(i<<2)>>2];m=o[(b<<2)+10512>>2];if(i>>>0<m>>>0){break v}if(i>>>0>m>>>0){break u}b=b+1|0;if((b|0)!=4){continue}}break}if((k|0)!=36){break u}j=0;h=0;b=0;m=0;l=0;while(1){i=b+n&2047;if((i|0)==(c|0)){c=c+1&2047;o[((c<<2)+g|0)+780>>2]=0}$(g+768|0,j,h,m,l,0,0,1342177280,1075633366);Ba(g+752|0,o[(g+784|0)+(i<<2)>>2]);ja(g+736|0,o[g+768>>2],o[g+772>>2],o[g+776>>2],o[g+780>>2],o[g+752>>2],o[g+756>>2],o[g+760>>2],o[g+764>>2]);m=o[g+744>>2];l=o[g+748>>2];j=o[g+736>>2];h=o[g+740>>2];b=b+1|0;if((b|0)!=4){continue}break}ka(g+720|0,f);$(g+704|0,j,h,m,l,o[g+720>>2],o[g+724>>2],o[g+728>>2],o[g+732>>2]);m=o[g+712>>2];l=o[g+716>>2];j=0;h=0;k=o[g+704>>2];q=o[g+708>>2];s=t+113|0;e=s-e|0;i=(e|0)<(d|0);d=i?(e|0)>0?e:0:d;if((d|0)<=112){break t}break r}t=j+t|0;i=c;if((c|0)==(n|0)){continue}break}m=1e9>>>j|0;q=-1<<j^-1;b=0;i=n;while(1){s=(g+784|0)+(n<<2)|0;x=o[s>>2];b=(x>>>j|0)+b|0;o[s>>2]=b;b=!b&(i|0)==(n|0);i=b?i+1&2047:i;k=b?k+ -9|0:k;b=u(m,q&x);n=n+1&2047;if((n|0)!=(c|0)){continue}break}if(!b){continue}if((h|0)!=(i|0)){o[(g+784|0)+(c<<2)>>2]=b;c=h;continue s}o[l>>2]=o[l>>2]|1;i=h;continue}break}break}sa(g+656|0,ua(1,225-d|0));Fb(g+688|0,o[g+656>>2],o[g+660>>2],o[g+664>>2],o[g+668>>2],k,q,m,l);z=o[g+696>>2];A=o[g+700>>2];B=o[g+688>>2];C=o[g+692>>2];sa(g+640|0,ua(1,113-d|0));zb(g+672|0,k,q,m,l,o[g+640>>2],o[g+644>>2],o[g+648>>2],o[g+652>>2]);j=o[g+672>>2];h=o[g+676>>2];v=o[g+680>>2];w=o[g+684>>2];Xa(g+624|0,k,q,m,l,j,h,v,w);ja(g+608|0,B,C,z,A,o[g+624>>2],o[g+628>>2],o[g+632>>2],o[g+636>>2]);m=o[g+616>>2];l=o[g+620>>2];k=o[g+608>>2];q=o[g+612>>2]}b=n+4&2047;w:{if((b|0)==(c|0)){break w}b=o[(g+784|0)+(b<<2)>>2];x:{if(b>>>0<=499999999){if((n+5&2047)==(c|0)?!b:0){break x}sa(g+496|0,+(f|0)*.25);ja(g+480|0,j,h,v,w,o[g+496>>2],o[g+500>>2],o[g+504>>2],o[g+508>>2]);v=o[g+488>>2];w=o[g+492>>2];j=o[g+480>>2];h=o[g+484>>2];break x}if((b|0)!=5e8){sa(g+592|0,+(f|0)*.75);ja(g+576|0,j,h,v,w,o[g+592>>2],o[g+596>>2],o[g+600>>2],o[g+604>>2]);v=o[g+584>>2];w=o[g+588>>2];j=o[g+576>>2];h=o[g+580>>2];break x}D=+(f|0);if((n+5&2047)==(c|0)){sa(g+528|0,D*.5);ja(g+512|0,j,h,v,w,o[g+528>>2],o[g+532>>2],o[g+536>>2],o[g+540>>2]);v=o[g+520>>2];w=o[g+524>>2];j=o[g+512>>2];h=o[g+516>>2];break x}sa(g+560|0,D*.75);ja(g+544|0,j,h,v,w,o[g+560>>2],o[g+564>>2],o[g+568>>2],o[g+572>>2]);v=o[g+552>>2];w=o[g+556>>2];j=o[g+544>>2];h=o[g+548>>2]}if((d|0)>111){break w}zb(g+464|0,j,h,v,w,0,0,0,1073676288);if(za(o[g+464>>2],o[g+468>>2],o[g+472>>2],o[g+476>>2],0,0,0,0)){break w}ja(g+448|0,j,h,v,w,0,0,0,1073676288);v=o[g+456>>2];w=o[g+460>>2];j=o[g+448>>2];h=o[g+452>>2]}ja(g+432|0,k,q,m,l,j,h,v,w);Xa(g+416|0,o[g+432>>2],o[g+436>>2],o[g+440>>2],o[g+444>>2],B,C,z,A);m=o[g+424>>2];l=o[g+428>>2];k=o[g+416>>2];q=o[g+420>>2];y:{if((s&2147483647)<=(-2-y|0)){break y}o[g+408>>2]=m;o[g+412>>2]=l&2147483647;o[g+400>>2]=k;o[g+404>>2]=q;$(g+384|0,k,q,m,l,0,0,0,1073610752);c=Jb(o[g+400>>2],o[g+404>>2],o[g+408>>2],o[g+412>>2],1081081856);b=(c|0)<0;m=b?m:o[g+392>>2];l=b?l:o[g+396>>2];k=b?k:o[g+384>>2];q=b?q:o[g+388>>2];t=((c|0)>-1)+t|0;if(F=!(i&(b|(d|0)!=(e|0))&(za(j,h,v,w,0,0,0,0)|0)!=0),G=0,H=(t+110|0)<=(E|0),H?F:G){break y}o[2896]=68}mb(g+368|0,k,q,m,l,t);m=o[g+368>>2];l=o[g+372>>2];c=o[g+380>>2];b=o[g+376>>2]}o[a>>2]=m;o[a+4>>2]=l;o[a+8>>2]=b;o[a+12>>2]=c;N=g+8976|0}function Ta(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,q=0,s=0,t=0,v=0,w=0,x=0,y=0;g=N-192|0;N=g;a:{b:{if(!Y(o[o[a+4>>2]+56>>2],g+184|0,o[1391])){break b}t=o[g+184>>2];if(!Y(o[o[a+4>>2]+56>>2],g+180|0,o[1392])){break a}if(!Y(o[o[a+4>>2]+56>>2],g+176|0,o[1393])){break a}f=(t|0)!=0;c:{d:{e:{f:{g:{c=o[g+180>>2];switch(c|0){case 3:break f;case 0:break g;default:break e}}d=o[g+176>>2];c=0;b=o[a+4>>2];o[b+256>>2]=0;o[b+264>>2]=d;o[b+260>>2]=f;e=o[b+56>>2];b=o[1356];if(!Y(e,g,b)){break a}o[o[a+4>>2]+272>>2]=o[g>>2];e=o[1357];if(!Y(o[o[a+4>>2]+56>>2],g,e)){break a}o[o[a+4>>2]+276>>2]=o[g>>2];f=o[1358];if(!Y(o[o[a+4>>2]+56>>2],g,f)){break a}o[o[a+4>>2]+280>>2]=o[g>>2];h=o[1359];if(!Y(o[o[a+4>>2]+56>>2],g,h)){break a}o[o[a+4>>2]+284>>2]=o[g>>2];j=o[1360];if(!Y(o[o[a+4>>2]+56>>2],g,j)){break a}o[o[a+4>>2]+288>>2]=o[g>>2];i=o[1361];if(!Y(o[o[a+4>>2]+56>>2],g,i)){break a}o[o[a+4>>2]+292>>2]=o[g>>2]+1;k=o[1362];if(!Y(o[o[a+4>>2]+56>>2],g,k)){break a}o[o[a+4>>2]+296>>2]=o[g>>2]+1;n=o[a+4>>2];q=o[n+56>>2];s=n+304|0;n=o[1363];if(!wa(q,s,n)){break a}q=o[a+4>>2];if(!na(o[q+56>>2],q+312|0,16)){break a}if(!Ea(o[o[a+4>>2]+56>>2],d-((n+(k+(i+(j+(h+(f+(b+e|0)|0)|0)|0)|0)|0)|0)+128>>>3|0)|0)){break b}b=o[a+4>>2];o[b+248>>2]=1;if(!Pa(b+312|0,7555,16)){o[b+3624>>2]=0}if(o[b+3632>>2]|!o[b+608>>2]){break d}c=o[b+28>>2];if(!c){break d}l[c](a,b+256|0,o[b+48>>2]);break d}b=o[a+4>>2];o[b+252>>2]=0;e=o[g+176>>2];o[b+448>>2]=(e>>>0)/18;o[b+440>>2]=e;o[b+436>>2]=f;o[b+432>>2]=3;b=o[a+4>>2];c=o[b+452>>2];d=o[b+448>>2];h:{if(d){Ee(d,0,24,0);if(!Q){b=ea(c,u(d,24));if(b){o[o[a+4>>2]+452>>2]=b;break h}X(c);b=o[a+4>>2]}o[b+452>>2]=0;break c}b=ea(c,0);o[o[a+4>>2]+452>>2]=b;if(!b){break c}}c=o[a+4>>2];b=0;i:{if(!o[c+448>>2]){break i}f=o[1367];h=o[1366];j=o[1365];d=0;while(1){if(!wa(o[c+56>>2],g,j)){break b}k=o[g+4>>2];b=u(d,24);c=o[a+4>>2];i=b+o[c+452>>2]|0;o[i>>2]=o[g>>2];o[i+4>>2]=k;if(!wa(o[c+56>>2],g,h)){break b}k=o[g+4>>2];c=o[a+4>>2];i=b+o[c+452>>2]|0;o[i+8>>2]=o[g>>2];o[i+12>>2]=k;if(!Y(o[c+56>>2],g+188|0,f)){break b}c=o[a+4>>2];o[(b+o[c+452>>2]|0)+16>>2]=o[g+188>>2];d=d+1|0;b=o[c+448>>2];if(d>>>0<b>>>0){continue}break}b=u(b,-18)}b=b+e|0;if(b){if(!Ea(o[c+56>>2],b)){break b}c=o[a+4>>2]}o[c+252>>2]=1;if(o[c+3632>>2]|!o[c+620>>2]){break d}b=o[c+28>>2];if(!b){break d}l[b](a,c+432|0,o[c+48>>2]);break d}d=o[a+4>>2];h=o[(d+(c<<2)|0)+608>>2];e=o[g+176>>2];b=fa(g,176);o[b+8>>2]=e;o[b>>2]=c;o[b+4>>2]=f;j=!h;j:{if((c|0)!=2){break j}i=b+16|0;f=o[1364]>>>3|0;if(!na(o[d+56>>2],i,f)){break b}if(e>>>0<f>>>0){o[o[a>>2]>>2]=8;c=0;break a}e=e-f|0;d=o[a+4>>2];k=o[d+1124>>2];if(!k){break j}n=o[d+1120>>2];c=0;while(1){if(Pa(n+u(c,f)|0,i,f)){c=c+1|0;if((k|0)!=(c|0)){continue}break j}break}j=(h|0)!=0}if(j){if(!Ea(o[d+56>>2],e)){break b}break d}k:{l:{m:{n:{o:{p:{q:{switch(o[b+180>>2]){case 1:if(Ea(o[d+56>>2],e)){break o}f=0;break k;case 2:if(!e){break p}c=da(e);o[b+20>>2]=c;if(!c){o[o[a>>2]>>2]=8;f=0;break k}if(na(o[d+56>>2],c,e)){break o}f=0;break k;case 4:r:{if(e>>>0<8){break r}f=0;if(!fb(o[d+56>>2],b+16|0)){break k}e=e+ -8|0;c=o[b+16>>2];s:{if(c){if(e>>>0<c>>>0){o[b+16>>2]=0;o[b+20>>2]=0;break r}t:{u:{if((c|0)==-1){o[b+20>>2]=0;break u}d=da(c+1|0);o[b+20>>2]=d;if(d){break t}}o[o[a>>2]>>2]=8;break k}if(!na(o[o[a+4>>2]+56>>2],d,c)){break k}e=e-c|0;m[o[b+20>>2]+o[b+16>>2]|0]=0;break s}o[b+20>>2]=0}if(!fb(o[o[a+4>>2]+56>>2],b+24|0)){break k}c=o[b+24>>2];if(c>>>0>=100001){o[b+24>>2]=0;break k}if(!c){break r}d=Na(c,8);o[b+28>>2]=d;if(!d){break m}if(!o[b+24>>2]){break r}o[d>>2]=0;o[d+4>>2]=0;c=0;v:{if(e>>>0<4){break v}while(1){if(!fb(o[o[a+4>>2]+56>>2],d)){break l}e=e+ -4|0;h=o[b+28>>2];j=c<<3;d=h+j|0;f=o[d>>2];w:{if(f){if(e>>>0<f>>>0){break v}x:{y:{if((f|0)==-1){o[(h+(c<<3)|0)+4>>2]=0;break y}h=da(f+1|0);o[d+4>>2]=h;if(h){break x}}o[o[a>>2]>>2]=8;break l}e=e-f|0;fa(h,o[d>>2]);f=na(o[o[a+4>>2]+56>>2],o[d+4>>2],o[d>>2]);h=j+o[b+28>>2]|0;d=o[h+4>>2];if(!f){X(d);o[(o[b+28>>2]+(c<<3)|0)+4>>2]=0;break v}m[d+o[h>>2]|0]=0;break w}o[d+4>>2]=0}c=c+1|0;if(c>>>0>=r[b+24>>2]){break r}d=o[b+28>>2]+(c<<3)|0;o[d>>2]=0;o[d+4>>2]=0;if(e>>>0>=4){continue}break}}o[b+24>>2]=c}if(!e){break o}if(!o[b+24>>2]){X(o[b+28>>2]);o[b+28>>2]=0}if(Ea(o[o[a+4>>2]+56>>2],e)){break o}f=0;break k;case 5:f=0;c=fa(b+16|0,160);if(!na(o[d+56>>2],c,o[1378]>>>3|0)){break k}if(!wa(o[o[a+4>>2]+56>>2],b+152|0,o[1379])){break k}if(!Y(o[o[a+4>>2]+56>>2],b+188|0,o[1380])){break k}o[b+160>>2]=o[b+188>>2]!=0;if(!db(o[o[a+4>>2]+56>>2],o[1381])){break k}if(!Y(o[o[a+4>>2]+56>>2],b+188|0,o[1382])){break k}c=o[b+188>>2];o[b+164>>2]=c;if(!c){break o}c=qa(c,32);o[b+168>>2]=c;if(!c){break n}i=o[1371];if(!wa(o[o[a+4>>2]+56>>2],c,i)){break k}k=o[1373]>>>3|0;n=o[1370];q=o[1369];j=o[1368];s=o[1377];v=o[1376];w=o[1375];x=o[1374];y=o[1372];e=0;while(1){if(!Y(o[o[a+4>>2]+56>>2],b+188|0,y)){break k}h=(e<<5)+c|0;m[h+8|0]=o[b+188>>2];if(!na(o[o[a+4>>2]+56>>2],h+9|0,k)){break k}if(!Y(o[o[a+4>>2]+56>>2],b+188|0,x)){break k}m[h+22|0]=p[h+22|0]&254|m[b+188|0]&1;if(!Y(o[o[a+4>>2]+56>>2],b+188|0,w)){break k}m[h+22|0]=p[b+188|0]<<1&2|p[h+22|0]&253;if(!db(o[o[a+4>>2]+56>>2],v)){break k}if(!Y(o[o[a+4>>2]+56>>2],b+188|0,s)){break k}c=o[b+188>>2];m[h+23|0]=c;z:{c=c&255;if(!c){break z}d=qa(c,16);o[h+24>>2]=d;A:{if(d){if(!p[h+23|0]){break z}if(!wa(o[o[a+4>>2]+56>>2],d,j)){break k}c=0;break A}o[o[a>>2]>>2]=8;break k}while(1){if(!Y(o[o[a+4>>2]+56>>2],b+188|0,q)){break k}m[((c<<4)+d|0)+8|0]=o[b+188>>2];if(!db(o[o[a+4>>2]+56>>2],n)){break k}c=c+1|0;if(c>>>0>=p[h+23|0]){break z}d=o[h+24>>2];if(wa(o[o[a+4>>2]+56>>2],d+(c<<4)|0,j)){continue}break}break k}e=e+1|0;if(e>>>0>=r[b+164>>2]){break o}c=o[b+168>>2];if(wa(o[o[a+4>>2]+56>>2],c+(e<<5)|0,i)){continue}break}break k;case 6:B:{if(!Y(o[d+56>>2],b+188|0,o[1383])){break B}o[b+16>>2]=o[b+188>>2];if(!Y(o[o[a+4>>2]+56>>2],b+188|0,o[1384])){break B}C:{c=o[b+188>>2];D:{if((c|0)==-1){o[b+20>>2]=0;break D}d=da(c+1|0);o[b+20>>2]=d;if(d){break C}}o[o[a>>2]>>2]=8;f=0;break k}if(c){if(!na(o[o[a+4>>2]+56>>2],d,c)){break B}d=o[b+20>>2];c=o[b+188>>2]}else{c=0}m[c+d|0]=0;if(!Y(o[o[a+4>>2]+56>>2],b+188|0,o[1385])){break B}E:{c=o[b+188>>2];F:{if((c|0)==-1){o[b+24>>2]=0;break F}d=da(c+1|0);o[b+24>>2]=d;if(d){break E}}o[o[a>>2]>>2]=8;f=0;break k}if(c){if(!na(o[o[a+4>>2]+56>>2],d,c)){break B}d=o[b+24>>2];c=o[b+188>>2]}else{c=0}m[c+d|0]=0;if(!Y(o[o[a+4>>2]+56>>2],b+28|0,o[1386])){break B}if(!Y(o[o[a+4>>2]+56>>2],b+32|0,o[1387])){break B}if(!Y(o[o[a+4>>2]+56>>2],b+36|0,o[1388])){break B}if(!Y(o[o[a+4>>2]+56>>2],b+40|0,o[1389])){break B}if(!Y(o[o[a+4>>2]+56>>2],b+44|0,o[1390])){break B}c=o[b+44>>2];d=da(c?c:1);o[b+48>>2]=d;if(!d){o[o[a>>2]>>2]=8;f=0;break k}if(!c){break o}if(na(o[o[a+4>>2]+56>>2],d,c)){break o}}f=0;break k;case 0:case 3:break o;default:break q}}G:{if(e){c=da(e);o[b+16>>2]=c;if(c){break G}o[o[a>>2]>>2]=8;f=0;break k}o[b+16>>2]=0;break o}if(na(o[d+56>>2],c,e)){break o}f=0;break k}o[b+20>>2]=0}f=1;c=o[a+4>>2];if(o[c+3632>>2]){break k}d=o[c+28>>2];if(!d){break k}l[d](a,b,o[c+48>>2]);break k}o[o[a>>2]>>2]=8;break k}o[b+24>>2]=0;o[o[a>>2]>>2]=8;break k}o[b+24>>2]=c;f=0}H:{I:{switch(o[b+180>>2]+ -1|0){case 1:b=o[b+20>>2];if(!b){break H}X(b);break H;case 3:c=o[b+20>>2];if(c){X(c)}d=o[b+24>>2];if(d){c=0;while(1){e=o[(o[b+28>>2]+(c<<3)|0)+4>>2];if(e){X(e);d=o[b+24>>2]}c=c+1|0;if(c>>>0<d>>>0){continue}break}}b=o[b+28>>2];if(!b){break H}X(b);break H;case 4:d=o[b+164>>2];if(d){c=0;while(1){e=o[(o[b+168>>2]+(c<<5)|0)+24>>2];if(e){X(e);d=o[b+164>>2]}c=c+1|0;if(c>>>0<d>>>0){continue}break}}b=o[b+168>>2];if(!b){break H}X(b);break H;case 5:c=o[b+20>>2];if(c){X(c)}c=o[b+24>>2];if(c){X(c)}b=o[b+48>>2];if(!b){break H}X(b);break H;case 0:break H;default:break I}}b=o[b+16>>2];if(!b){break H}X(b)}if(!f){break b}}c=1;if(!t){break a}J:{K:{d=o[a+4>>2];if(o[d>>2]){break K}e=o[d+12>>2];if(!e){break K}b=d+6136|0;if(l[e](a,b,o[d+48>>2])|p[o[o[a+4>>2]+56>>2]+20|0]&7){break K}e=o[b>>2];d=o[o[a+4>>2]+56>>2];d=((o[d+8>>2]-o[d+16>>2]<<5)+(o[d+12>>2]<<3)|0)-o[d+20>>2]>>>3|0;f=o[b+4>>2]-(e>>>0<d>>>0)|0;o[b>>2]=e-d;o[b+4>>2]=f;break J}b=o[a+4>>2];o[b+6136>>2]=0;o[b+6140>>2]=0}o[o[a>>2]>>2]=2;break a}o[o[a>>2]>>2]=8}c=0}N=g+192|0;return c}function Mb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,s=0,t=0,v=0,w=0,x=0;f=N-32|0;N=f;a:{if(!a){break a}b:{c:{d=o[a>>2];c=o[d>>2];switch(c|0){case 1:break a;case 0:break c;default:break b}}b=o[a+4>>2];if(o[b+11848>>2]){break b}b=o[b+7052>>2];if(!b){break b}e=o[d+36>>2];o[d+36>>2]=b;i=!Oa(a,(b|0)!=(e|0),1);d=o[a>>2]}if(o[d+12>>2]){b=o[a+4>>2];_b(b+6928|0,b+7060|0)}c=o[a+4>>2];d:{if(o[c+11848>>2]){e=i;break d}d=o[a>>2];e:{if(o[d>>2]){break e}t=o[c+7268>>2];if(t){f:{if(o[c+7260>>2]){k=o[c+6900>>2];v=o[c+6896>>2];b=c+6920|0;h=o[b>>2];b=o[b+4>>2];if((l[t](a,0,0,o[c+7288>>2])|0)==2){break f}o[f>>2]=0;o[f+4>>2]=0;o[f+8>>2]=0;o[f+12>>2]=0;e=o[a>>2];d=o[e+608>>2];w=o[e+612>>2];e=o[a+4>>2];g:{if(!kb(a,d,w,f,o[e+7268>>2],o[e+7264>>2],o[e+7288>>2])){break g}t=o[1357]+o[1356]|0;s=o[1362]+(o[1361]+(o[1360]+(o[1359]+(t+o[1358]|0)|0)|0)|0)|0;e=s+o[1363]>>>3|0;if(e+33>>>0>r[f+12>>2]){o[o[a>>2]>>2]=2;Aa(f);break f}g=c+6936|0;j=p[g+4|0]|p[g+5|0]<<8|(p[g+6|0]<<16|p[g+7|0]<<24);e=e+o[f+8>>2]|0;d=e;g=p[g|0]|p[g+1|0]<<8|(p[g+2|0]<<16|p[g+3|0]<<24);m[d+25|0]=g;m[d+26|0]=g>>>8;m[d+27|0]=g>>>16;m[d+28|0]=g>>>24;m[d+29|0]=j;m[d+30|0]=j>>>8;m[d+31|0]=j>>>16;m[d+32|0]=j>>>24;d=c+6928|0;g=p[d+4|0]|p[d+5|0]<<8|(p[d+6|0]<<16|p[d+7|0]<<24);d=p[d|0]|p[d+1|0]<<8|(p[d+2|0]<<16|p[d+3|0]<<24);m[e+17|0]=d;m[e+18|0]=d>>>8;m[e+19|0]=d>>>16;m[e+20|0]=d>>>24;m[e+21|0]=g;m[e+22|0]=g>>>8;m[e+23|0]=g>>>16;m[e+24|0]=g>>>24;e=s+ -4>>>3|0;if(e+22>>>0>r[f+12>>2]){o[o[a>>2]>>2]=2;Aa(f);break f}g=e+o[f+8>>2]|0;m[g+21|0]=h;d=h;m[g+20|0]=(b&255)<<24|d>>>8;m[g+19|0]=(b&65535)<<16|d>>>16;m[g+18|0]=(b&16777215)<<8|d>>>24;m[g+17|0]=p[g+17|0]&240|b&15;b=t>>>3|0;if(b+23>>>0>r[f+12>>2]){o[o[a>>2]>>2]=2;Aa(f);break f}b=b+o[f+8>>2]|0;m[b+22|0]=k;m[b+21|0]=k>>>8;m[b+20|0]=k>>>16;m[b+19|0]=v;m[b+18|0]=v>>>8;m[b+17|0]=v>>>16;b=o[a>>2];e=o[b+608>>2];d=o[b+612>>2];b=o[a+4>>2];b=jb(a,e,d,f,o[b+7268>>2],o[b+7276>>2],o[b+7288>>2]);Aa(f);if(!b){break f}b=o[o[a+4>>2]+7048>>2];if(!b|!o[b>>2]){break f}e=o[a>>2];if(!(o[e+616>>2]|o[e+620>>2])){break f}Ub(b);o[f>>2]=0;o[f+4>>2]=0;o[f+8>>2]=0;o[f+12>>2]=0;b=o[a>>2];e=o[b+616>>2];d=o[b+620>>2];b=o[a+4>>2];if(!kb(a,e,d,f,o[b+7268>>2],o[b+7264>>2],o[b+7288>>2])){break g}e=o[a+4>>2];b=o[e+7048>>2];h=o[b>>2];if(o[f+12>>2]!=(u(h,18)+4|0)){o[o[a>>2]>>2]=2;Aa(f);break f}if(h){c=o[f+8>>2]+4|0;d=0;while(1){h=o[b+4>>2]+u(d,24)|0;g=o[h>>2];b=o[h+4>>2];j=o[h+8>>2];e=o[h+12>>2];h=o[h+16>>2];m[c+17|0]=h;m[c+15|0]=j;m[c+7|0]=g;m[c+16|0]=h>>>8;m[c+14|0]=(e&255)<<24|j>>>8;m[c+13|0]=(e&65535)<<16|j>>>16;m[c+12|0]=(e&16777215)<<8|j>>>24;m[c+11|0]=e;m[c+10|0]=e>>>8;m[c+9|0]=e>>>16;m[c+8|0]=e>>>24;m[c+6|0]=(b&255)<<24|g>>>8;m[c+5|0]=(b&65535)<<16|g>>>16;m[c+4|0]=(b&16777215)<<8|g>>>24;m[c+3|0]=b;m[c+2|0]=b>>>8;m[c+1|0]=b>>>16;m[c|0]=b>>>24;c=c+18|0;d=d+1|0;e=o[a+4>>2];b=o[e+7048>>2];if(d>>>0<r[b>>2]){continue}break}}b=o[a>>2];jb(a,o[b+616>>2],o[b+620>>2],f,o[e+7268>>2],o[e+7276>>2],o[e+7288>>2])}Aa(f);break f}v=o[c+6912>>2];j=o[c+6900>>2];k=o[c+6896>>2];b=c+6920|0;e=o[b>>2];b=o[b+4>>2];h:{i:{w=a;g=o[d+612>>2];s=o[1357]+o[1356]|0;x=o[1362]+(o[1361]+(o[1360]+(o[1359]+(s+o[1358]|0)|0)|0)|0)|0;h=(x+o[1363]>>>3|0)+4|0;d=h+o[d+608>>2]|0;if(d>>>0<h>>>0){g=g+1|0}switch(l[t](w,d,g,o[c+7288>>2])|0){case 0:break h;case 1:break i;default:break f}}o[o[a>>2]>>2]=5;break f}h=o[a+4>>2];if(l[o[h+7276>>2]](a,c+6928|0,16,0,0,o[h+7288>>2])){o[o[a>>2]>>2]=5;break f}m[f+4|0]=e;m[f+3|0]=(b&255)<<24|e>>>8;m[f+2|0]=(b&65535)<<16|e>>>16;m[f+1|0]=(b&16777215)<<8|e>>>24;m[f|0]=(b&15|v<<4)+240;e=o[a+4>>2];j:{k:{d=(x+ -4>>>3|0)+4|0;b=o[a>>2];h=d+o[b+608>>2]|0;b=o[b+612>>2];switch(l[o[e+7268>>2]](a,h,h>>>0<d>>>0?b+1|0:b,o[e+7288>>2])|0){case 0:break j;case 1:break k;default:break f}}o[o[a>>2]>>2]=5;break f}b=o[a+4>>2];if(l[o[b+7276>>2]](a,f,5,0,0,o[b+7288>>2])){o[o[a>>2]>>2]=5;break f}m[f+5|0]=j;m[f+4|0]=j>>>8;m[f+3|0]=j>>>16;m[f+2|0]=k;m[f+1|0]=k>>>8;m[f|0]=k>>>16;b=o[a+4>>2];l:{m:{d=(s>>>3|0)+4|0;h=o[a>>2];e=d+o[h+608>>2]|0;k=o[h+612>>2];switch(l[o[b+7268>>2]](a,e,e>>>0<d>>>0?k+1|0:k,o[b+7288>>2])|0){case 0:break l;case 1:break m;default:break f}}o[o[a>>2]>>2]=5;break f}b=o[a+4>>2];if(l[o[b+7276>>2]](a,f,6,0,0,o[b+7288>>2])){o[o[a>>2]>>2]=5;break f}b=o[o[a+4>>2]+7048>>2];if(!b|!o[b>>2]){break f}e=o[a>>2];if(!(o[e+616>>2]|o[e+620>>2])){break f}Ub(b);b=o[a+4>>2];n:{o:{p:{h=o[a>>2];e=o[h+616>>2]+4|0;g=o[h+620>>2];switch(l[o[b+7268>>2]](a,e,e>>>0<4?g+1|0:g,o[b+7288>>2])|0){case 1:break o;case 0:break p;default:break f}}d=o[a+4>>2];c=o[d+7048>>2];if(!o[c>>2]){break f}e=0;break n}o[o[a>>2]>>2]=5;break f}while(1){q:{t=0;v=u(e,24);g=v+o[c+4>>2]|0;b=o[g+4>>2];j=o[g>>2];s=j<<24|j<<8&16711680;k=b<<24|j>>>8;g=b<<8|j>>>24;s=k&65280|g&255|s;o[f>>2]=((b&255)<<24|j>>>8)&-16777216|((b&16777215)<<8|j>>>24)&16711680|(b>>>8&65280|b>>>24)|t;o[f+4>>2]=s;g=v+o[c+4>>2]|0;b=o[g+12>>2];j=o[g+8>>2];s=j<<24|j<<8&16711680;k=b<<24|j>>>8;g=b<<8|j>>>24;s=k&65280|g&255|s;o[f+8>>2]=((b&255)<<24|j>>>8)&-16777216|((b&16777215)<<8|j>>>24)&16711680|(b>>>8&65280|b>>>24)|t;o[f+12>>2]=s;b=q[(v+o[c+4>>2]|0)+16>>1];n[f+16>>1]=(b<<24|b<<8&16711680)>>>16;if(l[o[d+7276>>2]](a,f,18,0,0,o[d+7288>>2])){break q}e=e+1|0;d=o[a+4>>2];c=o[d+7048>>2];if(e>>>0<r[c>>2]){continue}break f}break}o[o[a>>2]>>2]=5}c=o[a+4>>2];d=o[a>>2];i=o[d>>2]?1:i}b=o[c+7280>>2];if(!b){break e}l[b](a,c+6872|0,o[c+7288>>2]);d=o[a>>2]}if(!o[d+4>>2]){e=i;break d}b=o[o[a+4>>2]+11752>>2];if(!b){e=i;break d}if($a(b)){e=i;break d}e=1;if(i){break d}o[o[a>>2]>>2]=4}c=o[a+4>>2];b=o[c+7296>>2];if(b){if((b|0)!=o[1896]){Cb(b);c=o[a+4>>2]}o[c+7296>>2]=0}if(o[c+7260>>2]){sb(o[a>>2]+640|0)}c=o[a>>2];b=o[c+600>>2];if(b){X(b);c=o[a>>2];b=c;o[b+600>>2]=0;o[b+604>>2]=0}if(o[c+24>>2]){i=0;while(1){b=o[a+4>>2];h=i<<2;d=o[(b+h|0)+7328>>2];if(d){X(d);o[(h+o[a+4>>2]|0)+7328>>2]=0;b=o[a+4>>2]}b=o[(b+h|0)+7368>>2];if(b){X(b);o[(h+o[a+4>>2]|0)+7368>>2]=0}i=i+1|0;if(i>>>0<r[o[a>>2]+24>>2]){continue}break}}c=o[a+4>>2];b=o[c+7360>>2];if(b){X(b);o[o[a+4>>2]+7360>>2]=0;c=o[a+4>>2]}b=o[c+7400>>2];if(b){X(b);o[o[a+4>>2]+7400>>2]=0;c=o[a+4>>2]}b=o[c+7364>>2];if(b){X(b);o[o[a+4>>2]+7364>>2]=0;c=o[a+4>>2]}b=o[c+7404>>2];if(b){X(b);o[o[a+4>>2]+7404>>2]=0;c=o[a+4>>2]}d=o[a>>2];if(o[d+40>>2]){i=0;while(1){b=i<<2;h=o[(b+c|0)+7408>>2];if(h){X(h);o[(b+o[a+4>>2]|0)+7408>>2]=0;c=o[a+4>>2];d=o[a>>2]}i=i+1|0;if(i>>>0<r[d+40>>2]){continue}break}}b=o[c+7536>>2];if(b){X(b);c=o[a+4>>2];o[c+7536>>2]=0;d=o[a>>2]}if(o[d+24>>2]){d=0;while(1){b=d<<3;i=o[(b+c|0)+7540>>2];if(i){X(i);o[(b+o[a+4>>2]|0)+7540>>2]=0;c=o[a+4>>2]}i=o[(b+c|0)+7544>>2];if(i){X(i);o[(b+o[a+4>>2]|0)+7544>>2]=0;c=o[a+4>>2]}d=d+1|0;if(d>>>0<r[o[a>>2]+24>>2]){continue}break}}b=o[c+7604>>2];if(b){X(b);o[o[a+4>>2]+7604>>2]=0;c=o[a+4>>2]}b=o[c+7608>>2];if(b){X(b);o[o[a+4>>2]+7608>>2]=0;c=o[a+4>>2]}b=o[c+7612>>2];if(b){X(b);o[o[a+4>>2]+7612>>2]=0;c=o[a+4>>2]}b=o[c+7616>>2];if(b){X(b);o[o[a+4>>2]+7616>>2]=0;c=o[a+4>>2]}b=o[c+7620>>2];if(b){X(b);c=o[a+4>>2];o[c+7620>>2]=0}b=o[c+7624>>2];if(b){X(b);c=o[a+4>>2];o[c+7624>>2]=0}i=o[a>>2];if(!(!o[i+4>>2]|!o[i+24>>2])){d=0;while(1){b=d<<2;h=o[(b+c|0)+11764>>2];if(h){X(h);o[(b+o[a+4>>2]|0)+11764>>2]=0;c=o[a+4>>2];i=o[a>>2]}d=d+1|0;if(d>>>0<r[i+24>>2]){continue}break}}ve(o[c+6856>>2]);b=o[a>>2];o[b+44>>2]=13;o[b+48>>2]=1056964608;o[b+36>>2]=0;o[b+40>>2]=1;o[b+28>>2]=16;o[b+32>>2]=44100;o[b+20>>2]=0;o[b+24>>2]=2;o[b+12>>2]=1;o[b+16>>2]=0;o[b+4>>2]=0;o[b+8>>2]=1;h=o[a>>2];b=h;o[b+592>>2]=0;o[b+596>>2]=0;o[b+556>>2]=0;o[b+560>>2]=0;o[b+564>>2]=0;o[b+568>>2]=0;o[b+572>>2]=0;o[b+576>>2]=0;o[b+580>>2]=0;o[b+584>>2]=0;o[b+600>>2]=0;o[b+604>>2]=0;b=o[a+4>>2];o[b+7248>>2]=0;o[b+7252>>2]=0;o[b+7048>>2]=0;i=b+7256|0;o[i>>2]=0;o[i+4>>2]=0;i=b+7264|0;o[i>>2]=0;o[i+4>>2]=0;i=b+7272|0;o[i>>2]=0;o[i+4>>2]=0;i=b+7280|0;o[i>>2]=0;o[i+4>>2]=0;o[b+7288>>2]=0;o[h+632>>2]=0;o[h+636>>2]=0;c=o[a>>2];r:{if(o[c>>2]!=1){break r}o[c+16>>2]=1;o[c+20>>2]=0;_a(a,10777);c=o[a>>2];if(o[c>>2]!=1){break r}o[c+576>>2]=0;o[c+580>>2]=5;o[c+564>>2]=0;o[c+568>>2]=0;o[c+556>>2]=8;o[c+560>>2]=0}if(!e){o[c>>2]=1}c=!e}N=f+32|0;return c|0}function $b(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,q=0,s=0;Ee(e,0,c,0);a:{if(Q){break a}h=u(c,e);Ee(d,0,h,0);if(Q){break a}g=o[a+88>>2];l=u(d,h);b:{if(r[a+92>>2]>=l>>>0){f=g;break b}f=ea(g,l);c:{if(!f){X(g);f=da(l);o[a+88>>2]=f;if(f){break c}o[a+92>>2]=0;return 0}o[a+88>>2]=f}o[a+92>>2]=l}d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{g=u(e,100)+c|0;if((g|0)<=300){p:{switch(g+ -101|0){case 3:break h;case 5:break i;case 7:break j;case 2:case 4:case 6:break e;case 0:break f;case 1:break g;default:break p}}switch(g+ -201|0){case 0:break k;case 1:break l;case 3:break m;case 5:break n;case 7:break o;default:break e}}q:{r:{s:{switch(g+ -401|0){default:switch(g+ -301|0){case 0:break q;case 1:break r;default:break e};case 7:if(!d){break d}s=o[b+28>>2];i=o[b+24>>2];q=o[b+20>>2];h=o[b+16>>2];k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){j=c<<2;o[f>>2]=o[j+b>>2];o[f+4>>2]=o[e+j>>2];o[f+8>>2]=o[g+j>>2];o[f+12>>2]=o[k+j>>2];o[f+16>>2]=o[h+j>>2];o[f+20>>2]=o[j+q>>2];o[f+24>>2]=o[i+j>>2];o[f+28>>2]=o[j+s>>2];f=f+32|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d;case 5:if(!d){break d}q=o[b+20>>2];h=o[b+16>>2];k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){i=c<<2;o[f>>2]=o[i+b>>2];o[f+4>>2]=o[e+i>>2];o[f+8>>2]=o[g+i>>2];o[f+12>>2]=o[i+k>>2];o[f+16>>2]=o[h+i>>2];o[f+20>>2]=o[i+q>>2];f=f+24|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d;case 3:if(!d){break d}k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){h=c<<2;o[f>>2]=o[h+b>>2];o[f+4>>2]=o[e+h>>2];o[f+8>>2]=o[g+h>>2];o[f+12>>2]=o[h+k>>2];f=f+16|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d;case 1:if(!d){break d}g=o[b+4>>2];e=o[b>>2];b=0;while(1){c=b<<2;o[f>>2]=o[c+e>>2];o[f+4>>2]=o[c+g>>2];f=f+8|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}break d;case 0:break s;case 2:case 4:case 6:break e}}if(!d){break d}c=o[b>>2];b=0;while(1){o[f>>2]=o[c+(b<<2)>>2];f=f+4|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}break d}if(!d){break d}c=0;while(1){e=c<<2;g=o[e+o[b>>2]>>2];m[f|0]=g;m[f+2|0]=g>>>16;m[f+1|0]=g>>>8;e=o[e+o[b+4>>2]>>2];m[f+3|0]=e;m[f+5|0]=e>>>16;m[f+4|0]=e>>>8;f=f+6|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}c=0;while(1){e=o[o[b>>2]+(c<<2)>>2];m[f|0]=e;m[f+2|0]=e>>>16;m[f+1|0]=e>>>8;f=f+3|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}s=o[b+28>>2];i=o[b+24>>2];q=o[b+20>>2];h=o[b+16>>2];k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){j=c<<2;n[f>>1]=o[j+b>>2];n[f+2>>1]=o[e+j>>2];n[f+4>>1]=o[g+j>>2];n[f+6>>1]=o[k+j>>2];n[f+8>>1]=o[h+j>>2];n[f+10>>1]=o[j+q>>2];n[f+12>>1]=o[i+j>>2];n[f+14>>1]=o[j+s>>2];f=f+16|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}q=o[b+20>>2];h=o[b+16>>2];k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){i=c<<2;n[f>>1]=o[i+b>>2];n[f+2>>1]=o[e+i>>2];n[f+4>>1]=o[g+i>>2];n[f+6>>1]=o[i+k>>2];n[f+8>>1]=o[h+i>>2];n[f+10>>1]=o[i+q>>2];f=f+12|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}k=o[b+12>>2];g=o[b+8>>2];e=o[b+4>>2];b=o[b>>2];c=0;while(1){h=c<<2;n[f>>1]=o[h+b>>2];n[f+2>>1]=o[e+h>>2];n[f+4>>1]=o[g+h>>2];n[f+6>>1]=o[h+k>>2];f=f+8|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}g=o[b+4>>2];e=o[b>>2];b=0;while(1){c=b<<2;n[f>>1]=o[c+e>>2];n[f+2>>1]=o[c+g>>2];f=f+4|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}break d}if(!d){break d}c=o[b>>2];b=0;while(1){n[f>>1]=o[c+(b<<2)>>2];f=f+2|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}break d}if(!d){break d}e=0;while(1){c=e<<2;m[f|0]=o[c+o[b>>2]>>2];m[f+1|0]=o[c+o[b+4>>2]>>2];m[f+2|0]=o[c+o[b+8>>2]>>2];m[f+3|0]=o[c+o[b+12>>2]>>2];m[f+4|0]=o[c+o[b+16>>2]>>2];m[f+5|0]=o[c+o[b+20>>2]>>2];m[f+6|0]=o[c+o[b+24>>2]>>2];m[f+7|0]=o[c+o[b+28>>2]>>2];f=f+8|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}break d}if(!d){break d}e=0;while(1){c=e<<2;m[f|0]=o[c+o[b>>2]>>2];m[f+1|0]=o[c+o[b+4>>2]>>2];m[f+2|0]=o[c+o[b+8>>2]>>2];m[f+3|0]=o[c+o[b+12>>2]>>2];m[f+4|0]=o[c+o[b+16>>2]>>2];m[f+5|0]=o[c+o[b+20>>2]>>2];f=f+6|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}break d}if(!d){break d}e=0;while(1){c=e<<2;m[f|0]=o[c+o[b>>2]>>2];m[f+1|0]=o[c+o[b+4>>2]>>2];m[f+2|0]=o[c+o[b+8>>2]>>2];m[f+3|0]=o[c+o[b+12>>2]>>2];f=f+4|0;e=e+1|0;if((e|0)!=(d|0)){continue}break}break d}if(!d){break d}c=0;while(1){e=c<<2;m[f|0]=o[e+o[b>>2]>>2];m[f+1|0]=o[e+o[b+4>>2]>>2];f=f+2|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}if(!d){break d}c=0;while(1){m[f|0]=o[o[b>>2]+(c<<2)>>2];f=f+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}break d}t:{switch(e+ -1|0){case 3:if(!c|!d){break d}g=0;while(1){e=0;while(1){o[f>>2]=o[o[(e<<2)+b>>2]+(g<<2)>>2];f=f+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}g=g+1|0;if((g|0)!=(d|0)){continue}break}break d;case 2:if(!c|!d){break d}while(1){e=0;while(1){g=o[o[(e<<2)+b>>2]+(k<<2)>>2];m[f|0]=g;m[f+2|0]=g>>>16;m[f+1|0]=g>>>8;f=f+3|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}k=k+1|0;if((k|0)!=(d|0)){continue}break}break d;case 1:if(!c|!d){break d}g=0;while(1){e=0;while(1){n[f>>1]=o[o[(e<<2)+b>>2]+(g<<2)>>2];f=f+2|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}g=g+1|0;if((g|0)!=(d|0)){continue}break}break d;case 0:break t;default:break d}}if(!c|!d){break d}g=0;while(1){e=0;while(1){m[f|0]=o[o[(e<<2)+b>>2]+(g<<2)>>2];f=f+1|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}g=g+1|0;if((g|0)!=(d|0)){continue}break}}c=o[a+80>>2];b=c+l|0;o[a+80>>2]=b;d=o[a+88>>2];if(b>>>0<c>>>0){o[a+84>>2]=o[a+84>>2]+1}e=64-(c&63)|0;b=(a-e|0)- -64|0;u:{if(l>>>0<e>>>0){ca(b,d,l);break u}ca(b,d,e);c=a- -64|0;Ra(c,a);f=d+e|0;b=l-e|0;if(b>>>0>=64){while(1){e=p[f+4|0]|p[f+5|0]<<8|(p[f+6|0]<<16|p[f+7|0]<<24);d=p[f|0]|p[f+1|0]<<8|(p[f+2|0]<<16|p[f+3|0]<<24);m[a|0]=d;m[a+1|0]=d>>>8;m[a+2|0]=d>>>16;m[a+3|0]=d>>>24;m[a+4|0]=e;m[a+5|0]=e>>>8;m[a+6|0]=e>>>16;m[a+7|0]=e>>>24;e=p[f+60|0]|p[f+61|0]<<8|(p[f+62|0]<<16|p[f+63|0]<<24);d=p[f+56|0]|p[f+57|0]<<8|(p[f+58|0]<<16|p[f+59|0]<<24);m[a+56|0]=d;m[a+57|0]=d>>>8;m[a+58|0]=d>>>16;m[a+59|0]=d>>>24;m[a+60|0]=e;m[a+61|0]=e>>>8;m[a+62|0]=e>>>16;m[a+63|0]=e>>>24;e=p[f+52|0]|p[f+53|0]<<8|(p[f+54|0]<<16|p[f+55|0]<<24);d=p[f+48|0]|p[f+49|0]<<8|(p[f+50|0]<<16|p[f+51|0]<<24);m[a+48|0]=d;m[a+49|0]=d>>>8;m[a+50|0]=d>>>16;m[a+51|0]=d>>>24;m[a+52|0]=e;m[a+53|0]=e>>>8;m[a+54|0]=e>>>16;m[a+55|0]=e>>>24;e=p[f+44|0]|p[f+45|0]<<8|(p[f+46|0]<<16|p[f+47|0]<<24);d=p[f+40|0]|p[f+41|0]<<8|(p[f+42|0]<<16|p[f+43|0]<<24);m[a+40|0]=d;m[a+41|0]=d>>>8;m[a+42|0]=d>>>16;m[a+43|0]=d>>>24;m[a+44|0]=e;m[a+45|0]=e>>>8;m[a+46|0]=e>>>16;m[a+47|0]=e>>>24;e=p[f+36|0]|p[f+37|0]<<8|(p[f+38|0]<<16|p[f+39|0]<<24);d=p[f+32|0]|p[f+33|0]<<8|(p[f+34|0]<<16|p[f+35|0]<<24);m[a+32|0]=d;m[a+33|0]=d>>>8;m[a+34|0]=d>>>16;m[a+35|0]=d>>>24;m[a+36|0]=e;m[a+37|0]=e>>>8;m[a+38|0]=e>>>16;m[a+39|0]=e>>>24;e=p[f+28|0]|p[f+29|0]<<8|(p[f+30|0]<<16|p[f+31|0]<<24);d=p[f+24|0]|p[f+25|0]<<8|(p[f+26|0]<<16|p[f+27|0]<<24);m[a+24|0]=d;m[a+25|0]=d>>>8;m[a+26|0]=d>>>16;m[a+27|0]=d>>>24;m[a+28|0]=e;m[a+29|0]=e>>>8;m[a+30|0]=e>>>16;m[a+31|0]=e>>>24;e=p[f+20|0]|p[f+21|0]<<8|(p[f+22|0]<<16|p[f+23|0]<<24);d=p[f+16|0]|p[f+17|0]<<8|(p[f+18|0]<<16|p[f+19|0]<<24);m[a+16|0]=d;m[a+17|0]=d>>>8;m[a+18|0]=d>>>16;m[a+19|0]=d>>>24;m[a+20|0]=e;m[a+21|0]=e>>>8;m[a+22|0]=e>>>16;m[a+23|0]=e>>>24;e=p[f+12|0]|p[f+13|0]<<8|(p[f+14|0]<<16|p[f+15|0]<<24);d=p[f+8|0]|p[f+9|0]<<8|(p[f+10|0]<<16|p[f+11|0]<<24);m[a+8|0]=d;m[a+9|0]=d>>>8;m[a+10|0]=d>>>16;m[a+11|0]=d>>>24;m[a+12|0]=e;m[a+13|0]=e>>>8;m[a+14|0]=e>>>16;m[a+15|0]=e>>>24;Ra(c,a);f=f- -64|0;b=b+ -64|0;if(b>>>0>63){continue}break}}ca(a,f,b)}f=1}return f}function _d(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 g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=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;a:{if(d>>>0>=13){if((b|0)<1){break a}s=d+ -13|0;while(1){B=0;C=0;z=0;A=0;x=0;y=0;v=0;w=0;t=0;q=0;m=0;k=0;p=0;j=0;n=0;h=0;r=0;l=0;i=0;d=0;b:{switch(s|0){case 19:B=u(o[((g<<2)+f|0)+ -128>>2],o[c+124>>2]);case 18:C=u(o[((g<<2)+f|0)+ -124>>2],o[c+120>>2])+B|0;case 17:z=u(o[((g<<2)+f|0)+ -120>>2],o[c+116>>2])+C|0;case 16:A=u(o[((g<<2)+f|0)+ -116>>2],o[c+112>>2])+z|0;case 15:x=u(o[((g<<2)+f|0)+ -112>>2],o[c+108>>2])+A|0;case 14:y=u(o[((g<<2)+f|0)+ -108>>2],o[c+104>>2])+x|0;case 13:v=u(o[((g<<2)+f|0)+ -104>>2],o[c+100>>2])+y|0;case 12:w=u(o[((g<<2)+f|0)+ -100>>2],o[c+96>>2])+v|0;case 11:t=u(o[((g<<2)+f|0)+ -96>>2],o[c+92>>2])+w|0;case 10:q=u(o[((g<<2)+f|0)+ -92>>2],o[c+88>>2])+t|0;case 9:m=u(o[((g<<2)+f|0)+ -88>>2],o[c+84>>2])+q|0;case 8:k=u(o[((g<<2)+f|0)+ -84>>2],o[c+80>>2])+m|0;case 7:p=u(o[((g<<2)+f|0)+ -80>>2],o[c+76>>2])+k|0;case 6:j=u(o[((g<<2)+f|0)+ -76>>2],o[c+72>>2])+p|0;case 5:n=u(o[((g<<2)+f|0)+ -72>>2],o[c+68>>2])+j|0;case 4:h=u(o[((g<<2)+f|0)+ -68>>2],o[c+64>>2])+n|0;case 3:r=u(o[((g<<2)+f|0)+ -64>>2],o[c+60>>2])+h|0;case 2:l=u(o[((g<<2)+f|0)+ -60>>2],o[c+56>>2])+r|0;case 1:i=u(o[((g<<2)+f|0)+ -56>>2],o[c+52>>2])+l|0;case 0:d=(g<<2)+f|0;d=((((((((((((u(o[d+ -52>>2],o[c+48>>2])+i|0)+u(o[d+ -48>>2],o[c+44>>2])|0)+u(o[d+ -44>>2],o[c+40>>2])|0)+u(o[d+ -40>>2],o[c+36>>2])|0)+u(o[d+ -36>>2],o[c+32>>2])|0)+u(o[d+ -32>>2],o[c+28>>2])|0)+u(o[d+ -28>>2],o[c+24>>2])|0)+u(o[d+ -24>>2],o[c+20>>2])|0)+u(o[d+ -20>>2],o[c+16>>2])|0)+u(o[d+ -16>>2],o[c+12>>2])|0)+u(o[d+ -12>>2],o[c+8>>2])|0)+u(o[d+ -8>>2],o[c+4>>2])|0)+u(o[d+ -4>>2],o[c>>2])|0;break;default:break b}}i=g<<2;o[i+f>>2]=o[a+i>>2]+(d>>e);g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if(d>>>0>=9){if(d>>>0>=11){if((d|0)!=12){if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];j=o[f+ -32>>2];p=o[f+ -36>>2];k=o[f+ -40>>2];m=o[f+ -44>>2];D=o[c>>2];E=o[c+4>>2];B=o[c+8>>2];C=o[c+12>>2];z=o[c+16>>2];A=o[c+20>>2];x=o[c+24>>2];y=o[c+28>>2];v=o[c+32>>2];w=o[c+36>>2];t=o[c+40>>2];c=0;while(1){s=k;m=u(k,w)+u(m,t)|0;k=p;m=m+u(v,k)|0;p=j;m=u(j,y)+m|0;j=n;m=m+u(x,j)|0;n=h;m=u(h,A)+m|0;h=r;m=m+u(z,h)|0;r=l;m=u(l,C)+m|0;l=i;q=u(i,B)+m|0;i=d;m=c<<2;q=u(d,E)+q|0;d=g;g=o[m+a>>2]+(q+u(D,d)>>e)|0;o[f+m>>2]=g;m=s;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];j=o[f+ -32>>2];p=o[f+ -36>>2];k=o[f+ -40>>2];m=o[f+ -44>>2];q=o[f+ -48>>2];F=o[c>>2];G=o[c+4>>2];D=o[c+8>>2];E=o[c+12>>2];B=o[c+16>>2];C=o[c+20>>2];z=o[c+24>>2];A=o[c+28>>2];x=o[c+32>>2];y=o[c+36>>2];v=o[c+40>>2];w=o[c+44>>2];c=0;while(1){s=m;q=u(m,v)+u(q,w)|0;m=k;q=u(k,y)+q|0;k=p;q=q+u(x,k)|0;p=j;q=u(j,A)+q|0;j=n;q=q+u(z,j)|0;n=h;q=u(h,C)+q|0;h=r;q=q+u(B,h)|0;r=l;q=u(l,E)+q|0;l=i;t=u(i,D)+q|0;i=d;q=c<<2;t=u(d,G)+t|0;d=g;g=o[q+a>>2]+(t+u(F,d)>>e)|0;o[f+q>>2]=g;q=s;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=10){if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];j=o[f+ -32>>2];p=o[f+ -36>>2];z=o[c>>2];A=o[c+4>>2];x=o[c+8>>2];y=o[c+12>>2];v=o[c+16>>2];w=o[c+20>>2];t=o[c+24>>2];q=o[c+28>>2];s=o[c+32>>2];c=0;while(1){k=j;p=u(j,q)+u(p,s)|0;j=n;p=p+u(t,j)|0;n=h;p=u(h,w)+p|0;h=r;p=p+u(v,h)|0;r=l;p=u(l,y)+p|0;l=i;m=u(i,x)+p|0;i=d;p=c<<2;m=u(d,A)+m|0;d=g;g=o[p+a>>2]+(m+u(z,d)>>e)|0;o[f+p>>2]=g;p=k;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];j=o[f+ -32>>2];p=o[f+ -36>>2];k=o[f+ -40>>2];B=o[c>>2];C=o[c+4>>2];z=o[c+8>>2];A=o[c+12>>2];x=o[c+16>>2];y=o[c+20>>2];v=o[c+24>>2];w=o[c+28>>2];t=o[c+32>>2];q=o[c+36>>2];c=0;while(1){m=p;k=u(t,m)+u(k,q)|0;p=j;k=u(j,w)+k|0;j=n;k=k+u(v,j)|0;n=h;k=u(h,y)+k|0;h=r;k=k+u(x,h)|0;r=l;k=u(l,A)+k|0;l=i;s=u(i,z)+k|0;i=d;k=c<<2;s=u(d,C)+s|0;d=g;g=o[k+a>>2]+(s+u(B,d)>>e)|0;o[f+k>>2]=g;k=m;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=5){if(d>>>0>=7){if((d|0)!=8){if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];v=o[c>>2];w=o[c+4>>2];t=o[c+8>>2];q=o[c+12>>2];s=o[c+16>>2];m=o[c+20>>2];k=o[c+24>>2];c=0;while(1){j=h;n=u(h,m)+u(k,n)|0;h=r;n=n+u(s,h)|0;r=l;n=u(l,q)+n|0;l=i;p=u(i,t)+n|0;i=d;n=c<<2;p=u(d,w)+p|0;d=g;g=o[n+a>>2]+(p+u(v,d)>>e)|0;o[f+n>>2]=g;n=j;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];n=o[f+ -28>>2];j=o[f+ -32>>2];x=o[c>>2];y=o[c+4>>2];v=o[c+8>>2];w=o[c+12>>2];t=o[c+16>>2];q=o[c+20>>2];s=o[c+24>>2];m=o[c+28>>2];c=0;while(1){p=n;j=u(s,n)+u(j,m)|0;n=h;j=u(h,q)+j|0;h=r;j=j+u(t,h)|0;r=l;j=u(l,w)+j|0;l=i;k=u(i,v)+j|0;i=d;j=c<<2;k=u(d,y)+k|0;d=g;g=o[j+a>>2]+(k+u(x,d)>>e)|0;o[f+j>>2]=g;j=p;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=6){if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];s=o[c>>2];m=o[c+4>>2];k=o[c+8>>2];p=o[c+12>>2];j=o[c+16>>2];c=0;while(1){h=l;r=u(p,h)+u(j,r)|0;l=i;n=u(i,k)+r|0;i=d;r=c<<2;n=u(d,m)+n|0;d=g;g=o[r+a>>2]+(n+u(s,d)>>e)|0;o[f+r>>2]=g;r=h;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];r=o[f+ -20>>2];h=o[f+ -24>>2];t=o[c>>2];q=o[c+4>>2];s=o[c+8>>2];m=o[c+12>>2];k=o[c+16>>2];p=o[c+20>>2];c=0;while(1){n=r;h=u(k,n)+u(h,p)|0;r=l;h=u(l,m)+h|0;l=i;j=u(i,s)+h|0;i=d;h=c<<2;j=u(d,q)+j|0;d=g;g=o[h+a>>2]+(j+u(t,d)>>e)|0;o[f+h>>2]=g;h=n;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=3){if((d|0)!=4){if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];j=o[c>>2];n=o[c+4>>2];h=o[c+8>>2];c=0;while(1){l=d;r=c<<2;i=u(d,n)+u(i,h)|0;d=g;g=o[r+a>>2]+(i+u(j,d)>>e)|0;o[f+r>>2]=g;i=l;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];i=o[f+ -12>>2];l=o[f+ -16>>2];k=o[c>>2];p=o[c+4>>2];j=o[c+8>>2];n=o[c+12>>2];c=0;while(1){r=i;h=u(i,j)+u(l,n)|0;i=d;l=c<<2;h=u(d,p)+h|0;d=g;g=o[l+a>>2]+(h+u(k,d)>>e)|0;o[f+l>>2]=g;l=r;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=2){if((b|0)<1){break a}g=o[f+ -4>>2];i=o[c>>2];c=0;while(1){d=c<<2;g=o[d+a>>2]+(u(g,i)>>e)|0;o[d+f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}g=o[f+ -4>>2];d=o[f+ -8>>2];h=o[c>>2];r=o[c+4>>2];c=0;while(1){i=g;l=c<<2;g=o[l+a>>2]+(u(g,h)+u(d,r)>>e)|0;o[f+l>>2]=g;d=i;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function be(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 g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=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;a:{if(d>>>0>=13){if((b|0)<1){break a}B=d+ -13|0;while(1){s=0;w=0;v=0;y=0;x=0;A=0;z=0;C=0;t=0;r=0;q=0;p=0;n=0;m=0;l=0;k=0;j=0;i=0;h=0;d=0;b:{switch(B|0){case 19:s=u(o[((g<<2)+a|0)+ -128>>2],o[c+124>>2]);case 18:w=u(o[((g<<2)+a|0)+ -124>>2],o[c+120>>2])+s|0;case 17:v=u(o[((g<<2)+a|0)+ -120>>2],o[c+116>>2])+w|0;case 16:y=u(o[((g<<2)+a|0)+ -116>>2],o[c+112>>2])+v|0;case 15:x=u(o[((g<<2)+a|0)+ -112>>2],o[c+108>>2])+y|0;case 14:A=u(o[((g<<2)+a|0)+ -108>>2],o[c+104>>2])+x|0;case 13:z=u(o[((g<<2)+a|0)+ -104>>2],o[c+100>>2])+A|0;case 12:C=u(o[((g<<2)+a|0)+ -100>>2],o[c+96>>2])+z|0;case 11:t=u(o[((g<<2)+a|0)+ -96>>2],o[c+92>>2])+C|0;case 10:r=u(o[((g<<2)+a|0)+ -92>>2],o[c+88>>2])+t|0;case 9:q=u(o[((g<<2)+a|0)+ -88>>2],o[c+84>>2])+r|0;case 8:p=u(o[((g<<2)+a|0)+ -84>>2],o[c+80>>2])+q|0;case 7:n=u(o[((g<<2)+a|0)+ -80>>2],o[c+76>>2])+p|0;case 6:m=u(o[((g<<2)+a|0)+ -76>>2],o[c+72>>2])+n|0;case 5:l=u(o[((g<<2)+a|0)+ -72>>2],o[c+68>>2])+m|0;case 4:k=u(o[((g<<2)+a|0)+ -68>>2],o[c+64>>2])+l|0;case 3:j=u(o[((g<<2)+a|0)+ -64>>2],o[c+60>>2])+k|0;case 2:i=u(o[((g<<2)+a|0)+ -60>>2],o[c+56>>2])+j|0;case 1:h=u(o[((g<<2)+a|0)+ -56>>2],o[c+52>>2])+i|0;case 0:d=(g<<2)+a|0;d=((((((((((((u(o[d+ -52>>2],o[c+48>>2])+h|0)+u(o[d+ -48>>2],o[c+44>>2])|0)+u(o[d+ -44>>2],o[c+40>>2])|0)+u(o[d+ -40>>2],o[c+36>>2])|0)+u(o[d+ -36>>2],o[c+32>>2])|0)+u(o[d+ -32>>2],o[c+28>>2])|0)+u(o[d+ -28>>2],o[c+24>>2])|0)+u(o[d+ -24>>2],o[c+20>>2])|0)+u(o[d+ -20>>2],o[c+16>>2])|0)+u(o[d+ -16>>2],o[c+12>>2])|0)+u(o[d+ -12>>2],o[c+8>>2])|0)+u(o[d+ -8>>2],o[c+4>>2])|0)+u(o[d+ -4>>2],o[c>>2])|0;break;default:break b}}h=g<<2;o[h+f>>2]=o[a+h>>2]-(d>>e);g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}if(d>>>0>=9){if(d>>>0>=11){if((d|0)!=12){if((b|0)<1){break a}q=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];k=o[a+ -28>>2];l=o[a+ -32>>2];m=o[a+ -36>>2];n=o[a+ -40>>2];r=o[a+ -44>>2];t=o[c>>2];s=o[c+4>>2];w=o[c+8>>2];v=o[c+12>>2];y=o[c+16>>2];x=o[c+20>>2];A=o[c+24>>2];z=o[c+28>>2];C=o[c+32>>2];B=o[c+36>>2];E=o[c+40>>2];c=0;while(1){p=n;n=m;m=l;l=k;k=j;j=i;i=h;h=d;d=g;g=q;D=c<<2;q=o[D+a>>2];o[f+D>>2]=q-((((((((((u(p,B)+u(r,E)|0)+u(n,C)|0)+u(m,z)|0)+u(l,A)|0)+u(k,x)|0)+u(j,y)|0)+u(i,v)|0)+u(h,w)|0)+u(d,s)|0)+u(g,t)>>e);r=p;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}r=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];k=o[a+ -28>>2];l=o[a+ -32>>2];m=o[a+ -36>>2];n=o[a+ -40>>2];p=o[a+ -44>>2];t=o[a+ -48>>2];s=o[c>>2];w=o[c+4>>2];v=o[c+8>>2];y=o[c+12>>2];x=o[c+16>>2];A=o[c+20>>2];z=o[c+24>>2];C=o[c+28>>2];B=o[c+32>>2];E=o[c+36>>2];D=o[c+40>>2];G=o[c+44>>2];c=0;while(1){q=p;p=n;n=m;m=l;l=k;k=j;j=i;i=h;h=d;d=g;g=r;F=c<<2;r=o[F+a>>2];o[f+F>>2]=r-(((((((((((u(q,D)+u(t,G)|0)+u(p,E)|0)+u(n,B)|0)+u(m,C)|0)+u(l,z)|0)+u(k,A)|0)+u(j,x)|0)+u(i,y)|0)+u(h,v)|0)+u(d,w)|0)+u(g,s)>>e);t=q;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=10){if((b|0)<1){break a}n=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];k=o[a+ -28>>2];l=o[a+ -32>>2];p=o[a+ -36>>2];r=o[c>>2];q=o[c+4>>2];t=o[c+8>>2];s=o[c+12>>2];w=o[c+16>>2];v=o[c+20>>2];y=o[c+24>>2];x=o[c+28>>2];A=o[c+32>>2];c=0;while(1){m=l;l=k;k=j;j=i;i=h;h=d;d=g;g=n;z=c<<2;n=o[z+a>>2];o[f+z>>2]=n-((((((((u(m,x)+u(p,A)|0)+u(l,y)|0)+u(k,v)|0)+u(j,w)|0)+u(i,s)|0)+u(h,t)|0)+u(d,q)|0)+u(g,r)>>e);p=m;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}p=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];k=o[a+ -28>>2];l=o[a+ -32>>2];m=o[a+ -36>>2];q=o[a+ -40>>2];r=o[c>>2];t=o[c+4>>2];s=o[c+8>>2];w=o[c+12>>2];v=o[c+16>>2];y=o[c+20>>2];x=o[c+24>>2];A=o[c+28>>2];z=o[c+32>>2];C=o[c+36>>2];c=0;while(1){n=m;m=l;l=k;k=j;j=i;i=h;h=d;d=g;g=p;B=c<<2;p=o[B+a>>2];o[f+B>>2]=p-(((((((((u(n,z)+u(q,C)|0)+u(m,A)|0)+u(l,x)|0)+u(k,y)|0)+u(j,v)|0)+u(i,w)|0)+u(h,s)|0)+u(d,t)|0)+u(g,r)>>e);q=n;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=5){if(d>>>0>=7){if((d|0)!=8){if((b|0)<1){break a}l=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];m=o[a+ -28>>2];n=o[c>>2];p=o[c+4>>2];r=o[c+8>>2];q=o[c+12>>2];t=o[c+16>>2];s=o[c+20>>2];w=o[c+24>>2];c=0;while(1){k=j;j=i;i=h;h=d;d=g;g=l;v=c<<2;l=o[v+a>>2];o[f+v>>2]=l-((((((u(k,s)+u(m,w)|0)+u(j,t)|0)+u(i,q)|0)+u(h,r)|0)+u(d,p)|0)+u(g,n)>>e);m=k;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}m=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];j=o[a+ -24>>2];k=o[a+ -28>>2];n=o[a+ -32>>2];p=o[c>>2];r=o[c+4>>2];q=o[c+8>>2];t=o[c+12>>2];s=o[c+16>>2];w=o[c+20>>2];v=o[c+24>>2];y=o[c+28>>2];c=0;while(1){l=k;k=j;j=i;i=h;h=d;d=g;g=m;x=c<<2;m=o[x+a>>2];o[f+x>>2]=m-(((((((u(l,v)+u(n,y)|0)+u(k,w)|0)+u(j,s)|0)+u(i,t)|0)+u(h,q)|0)+u(d,r)|0)+u(g,p)>>e);n=l;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=6){if((b|0)<1){break a}j=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];k=o[a+ -20>>2];l=o[c>>2];m=o[c+4>>2];n=o[c+8>>2];p=o[c+12>>2];r=o[c+16>>2];c=0;while(1){i=h;h=d;d=g;g=j;q=c<<2;j=o[q+a>>2];o[f+q>>2]=j-((((u(i,p)+u(k,r)|0)+u(h,n)|0)+u(d,m)|0)+u(g,l)>>e);k=i;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}k=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];h=o[a+ -16>>2];i=o[a+ -20>>2];l=o[a+ -24>>2];m=o[c>>2];n=o[c+4>>2];p=o[c+8>>2];r=o[c+12>>2];q=o[c+16>>2];t=o[c+20>>2];c=0;while(1){j=i;i=h;h=d;d=g;g=k;s=c<<2;k=o[s+a>>2];o[f+s>>2]=k-(((((u(j,q)+u(l,t)|0)+u(i,r)|0)+u(h,p)|0)+u(d,n)|0)+u(g,m)>>e);l=j;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if(d>>>0>=3){if((d|0)!=4){if((b|0)<1){break a}h=o[a+ -4>>2];g=o[a+ -8>>2];i=o[a+ -12>>2];j=o[c>>2];k=o[c+4>>2];l=o[c+8>>2];c=0;while(1){d=g;g=h;m=c<<2;h=o[m+a>>2];o[f+m>>2]=h-((u(d,k)+u(i,l)|0)+u(g,j)>>e);i=d;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}i=o[a+ -4>>2];g=o[a+ -8>>2];d=o[a+ -12>>2];j=o[a+ -16>>2];k=o[c>>2];l=o[c+4>>2];m=o[c+8>>2];n=o[c+12>>2];c=0;while(1){h=d;d=g;g=i;p=c<<2;i=o[p+a>>2];o[f+p>>2]=i-(((u(h,m)+u(j,n)|0)+u(d,l)|0)+u(g,k)>>e);j=h;c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((d|0)!=2){if((b|0)<1){break a}g=o[a+ -4>>2];d=o[c>>2];c=0;while(1){h=u(d,g);i=c<<2;g=o[i+a>>2];o[f+i>>2]=g-(h>>e);c=c+1|0;if((c|0)!=(b|0)){continue}break}break a}if((b|0)<1){break a}d=o[a+ -4>>2];h=o[a+ -8>>2];i=o[c>>2];j=o[c+4>>2];c=0;while(1){g=d;k=c<<2;d=o[k+a>>2];o[f+k>>2]=d-(u(g,i)+u(h,j)>>e);h=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function $(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;n=N-96|0;N=n;w=c;k=g;v=(k&131071)<<15|f>>>17;j=i&65535;r=j;p=h;k=h;B=k<<15|g>>>17;q=(e^i)&-2147483648;k=e&65535;m=k;u=d;E=k;k=j;C=(k&131071)<<15|h>>>17;F=i>>>16&32767;O=e>>>16&32767;a:{b:{if(O+ -1>>>0<=32765){j=0;if(F+ -1>>>0<32766){break b}}l=e&2147483647;j=l;k=d;if(!(!d&(j|0)==2147418112?!(b|c):(j|0)==2147418112&d>>>0<0|j>>>0<2147418112)){y=d;q=e|32768;break a}l=i&2147483647;e=l;d=h;if(!(!d&(e|0)==2147418112?!(f|g):(e|0)==2147418112&d>>>0<0|e>>>0<2147418112)){y=h;q=i|32768;b=f;c=g;break a}if(!(b|k|(j^2147418112|c))){if(!(d|f|(e|g))){q=2147450880;b=0;c=0;break a}q=q|2147418112;b=0;c=0;break a}if(!(d|f|(e^2147418112|g))){d=b|k;e=c|j;b=0;c=0;if(!(d|e)){q=2147450880;break a}q=q|2147418112;break a}if(!(b|k|(c|j))){b=0;c=0;break a}if(!(d|f|(e|g))){b=0;c=0;break a}if((j|0)==65535|j>>>0<65535){i=b;j=c;d=!(m|u);h=d<<6;k=x(d?b:u)+32|0;b=x(d?c:m);b=h+((b|0)==32?k:b)|0;ia(n+80|0,i,j,u,m,b+ -15|0);u=o[n+88>>2];w=o[n+84>>2];E=o[n+92>>2];s=16-b|0;b=o[n+80>>2]}j=s;if(e>>>0>65535){break b}c=!(p|r);d=c<<6;e=x(c?f:p)+32|0;c=x(c?g:r);c=d+((c|0)==32?e:c)|0;h=c;ia(n- -64|0,f,g,p,r,c+ -15|0);f=o[n+76>>2];c=f;i=o[n+68>>2];g=i;e=o[n+72>>2];d=e;B=d<<15|g>>>17;d=g;f=o[n+64>>2];v=(d&131071)<<15|f>>>17;C=(c&131071)<<15|e>>>17;j=(s-h|0)+16|0}s=j;d=v;r=0;i=Ee(d,0,b,r);c=Q;D=c;z=f<<15&-32768;p=w;f=Ee(z,0,p,0);e=f+i|0;l=Q+c|0;l=e>>>0<f>>>0?l+1|0:l;c=e;f=0;g=Ee(b,r,z,G);e=f+g|0;j=Q+c|0;j=e>>>0<g>>>0?j+1|0:j;v=e;g=j;Y=(c|0)==(j|0)&e>>>0<f>>>0|j>>>0<c>>>0;R=Ee(d,A,p,P);J=Q;w=u;f=Ee(z,G,u,0);e=f+R|0;m=Q+J|0;m=e>>>0<f>>>0?m+1|0:m;S=e;h=Ee(B,0,b,r);e=e+h|0;f=Q+m|0;K=e;f=e>>>0<h>>>0?f+1|0:f;u=f;h=f;f=(l|0)==(D|0)&c>>>0<i>>>0|l>>>0<D>>>0;e=l;c=e+K|0;j=f+h|0;D=c;j=c>>>0<e>>>0?j+1|0:j;e=j;h=c;U=Ee(d,A,w,T);L=Q;c=z;H=E|65536;z=t;f=Ee(c,G,H,t);c=f+U|0;j=Q+L|0;j=c>>>0<f>>>0?j+1|0:j;V=c;k=Ee(p,P,B,W);c=c+k|0;t=j;f=j+Q|0;f=c>>>0<k>>>0?f+1|0:f;M=c;I=C&2147483647|-2147483648;c=Ee(b,r,I,0);b=M+c|0;r=f;k=f+Q|0;G=b;c=b>>>0<c>>>0?k+1|0:k;j=e+b|0;f=0;b=f+h|0;if(b>>>0<f>>>0){j=j+1|0}E=b;C=j;f=j;h=b+Y|0;if(h>>>0<b>>>0){f=f+1|0}i=f;s=(s+(F+O|0)|0)+ -16383|0;f=Ee(w,T,B,W);b=Q;l=0;k=Ee(d,A,H,z);d=k+f|0;j=Q+b|0;j=d>>>0<k>>>0?j+1|0:j;A=d;k=d;d=j;j=(b|0)==(d|0)&k>>>0<f>>>0|d>>>0<b>>>0;f=Ee(I,X,p,P);b=f+k|0;k=Q+d|0;k=b>>>0<f>>>0?k+1|0:k;p=b;f=b;b=k;d=(d|0)==(b|0)&f>>>0<A>>>0|b>>>0<d>>>0;f=j+d|0;if(f>>>0<d>>>0){l=1}k=f;d=b;f=l;F=k;j=0;k=(m|0)==(u|0)&K>>>0<S>>>0|u>>>0<m>>>0;m=k+((m|0)==(J|0)&S>>>0<R>>>0|m>>>0<J>>>0)|0;if(m>>>0<k>>>0){j=1}l=m;m=m+p|0;k=d+j|0;A=m;j=m;k=j>>>0<l>>>0?k+1|0:k;d=k;b=(b|0)==(d|0)&j>>>0<p>>>0|d>>>0<b>>>0;k=F+b|0;if(k>>>0<b>>>0){f=f+1|0}b=k;k=Ee(I,X,H,z);b=b+k|0;j=Q+f|0;j=b>>>0<k>>>0?j+1|0:j;l=b;m=Ee(I,X,w,T);f=Q;p=Ee(B,W,H,z);b=p+m|0;k=Q+f|0;k=b>>>0<p>>>0?k+1|0:k;p=b;b=k;k=(f|0)==(b|0)&p>>>0<m>>>0|b>>>0<f>>>0;f=b+l|0;l=j+k|0;k=f>>>0<b>>>0?l+1|0:l;w=f;j=d+p|0;l=0;b=l+A|0;if(b>>>0<l>>>0){j=j+1|0}m=b;f=b;b=j;d=(d|0)==(b|0)&f>>>0<A>>>0|b>>>0<d>>>0;f=w+d|0;if(f>>>0<d>>>0){k=k+1|0}p=f;l=b;j=0;f=(t|0)==(r|0)&M>>>0<V>>>0|r>>>0<t>>>0;t=f+((t|0)==(L|0)&V>>>0<U>>>0|t>>>0<L>>>0)|0;if(t>>>0<f>>>0){j=1}f=t+((c|0)==(r|0)&G>>>0<M>>>0|c>>>0<r>>>0)|0;d=c;c=d+m|0;l=f+l|0;l=c>>>0<d>>>0?l+1|0:l;t=c;d=c;c=l;b=(b|0)==(c|0)&d>>>0<m>>>0|c>>>0<b>>>0;d=b+p|0;if(d>>>0<b>>>0){k=k+1|0}b=c;j=k;k=d;f=0;d=(e|0)==(C|0)&E>>>0<D>>>0|C>>>0<e>>>0;e=d+((e|0)==(u|0)&D>>>0<K>>>0|e>>>0<u>>>0)|0;if(e>>>0<d>>>0){f=1}d=e+t|0;l=b+f|0;l=d>>>0<e>>>0?l+1|0:l;b=d;e=l;b=(c|0)==(e|0)&b>>>0<t>>>0|e>>>0<c>>>0;c=k+b|0;if(c>>>0<b>>>0){j=j+1|0}b=c;c=j;c:{if(c&65536){s=s+1|0;break c}m=g>>>31|0;j=c<<1|b>>>31;b=b<<1|e>>>31;c=j;j=e<<1|d>>>31;d=d<<1|i>>>31;e=j;k=v;j=g<<1|k>>>31;v=k<<1;g=j;k=i<<1|h>>>31;h=h<<1|m;i=k}if((s|0)>=32767){q=q|2147418112;b=0;c=0;break a}d:{if((s|0)<=0){f=1-s|0;if(f>>>0<=127){k=s+127|0;ia(n+48|0,v,g,h,i,k);ia(n+32|0,d,e,b,c,k);Ja(n+16|0,v,g,h,i,f);Ja(n,d,e,b,c,f);v=(o[n+48>>2]|o[n+56>>2])!=0|(o[n+52>>2]|o[n+60>>2])!=0|(o[n+32>>2]|o[n+16>>2]);g=o[n+36>>2]|o[n+20>>2];h=o[n+40>>2]|o[n+24>>2];i=o[n+44>>2]|o[n+28>>2];d=o[n>>2];e=o[n+4>>2];c=o[n+12>>2];b=o[n+8>>2];break d}b=0;c=0;break a}c=c&65535|s<<16}y=b|y;q=c|q;if(!(!h&(i|0)==-2147483648?!(g|v):(i|0)>-1?1:0)){l=q;m=e;b=d+1|0;if(b>>>0<1){m=m+1|0}c=m;d=(e|0)==(c|0)&b>>>0<d>>>0|c>>>0<e>>>0;e=d+y|0;if(e>>>0<d>>>0){l=l+1|0}y=e;q=l;break a}if(h|v|(i^-2147483648|g)){b=d;c=e;break a}m=q;j=e;b=d&1;c=b+d|0;if(c>>>0<b>>>0){j=j+1|0}b=c;c=j;d=(e|0)==(c|0)&b>>>0<d>>>0|c>>>0<e>>>0;e=d+y|0;if(e>>>0<d>>>0){m=m+1|0}y=e;q=m}o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=y;o[a+12>>2]=q;N=n+96|0}function Oa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,s=0;i=N-48|0;N=i;a:{b:{g=o[a>>2];if(!o[g+12>>2]){break b}d=o[a+4>>2];d=$b(d+7060|0,d+4|0,o[g+24>>2],o[g+36>>2],o[g+28>>2]+7>>>3|0);g=o[a>>2];if(d){break b}o[g>>2]=8;b=0;break a}d=o[g+576>>2];if(b){l=0}else{b=ke(o[g+36>>2]);g=o[a>>2];e=o[g+580>>2];l=b>>>0<e>>>0?b:e}j=o[g+36>>2];o[i+8>>2]=j;o[i+12>>2]=o[g+32>>2];b=o[g+24>>2];o[i+20>>2]=0;o[i+16>>2]=b;b=o[g+28>>2];o[i+28>>2]=0;o[i+24>>2]=b;h=o[a+4>>2];o[i+32>>2]=o[h+7056>>2];n=d>>>0<l>>>0?d:l;c:{d:{e:{f:{g:{h:{i:{if(!o[g+16>>2]){k=1;break i}if(!o[g+20>>2]|!o[h+6864>>2]){break i}k=1;e=1;if(o[h+6868>>2]){break h}}j:{if(!o[g+24>>2]){d=0;break j}while(1){p=(f<<2)+h|0;d=0;e=0;k:{if(!j){break k}s=o[p+4>>2];b=0;while(1){l:{d=o[(b<<2)+s>>2]|d;m=d&1;b=b+1|0;if(b>>>0>=j>>>0){break l}if(!m){continue}}break}b=0;e=0;if(!d){break k}e=0;if(m){break k}while(1){b=b+1|0;e=d&2;d=d>>1;if(!e){continue}break}m=0;e=0;if(!b){break k}while(1){d=(m<<2)+s|0;o[d>>2]=o[d>>2]>>b;m=m+1|0;if((m|0)!=(j|0)){continue}break}e=b}j=u(f,584)+h|0;b=o[g+28>>2];d=e>>>0>b>>>0?b:e;o[j+624>>2]=d;o[j+916>>2]=d;o[p+216>>2]=b-d;f=f+1|0;d=o[g+24>>2];if(f>>>0>=d>>>0){break j}j=o[g+36>>2];continue}}b=1;if(k){break g}j=o[g+36>>2];e=0}m=o[h+36>>2];d=0;f=0;m:{if(!j){break m}b=0;while(1){n:{b=o[(f<<2)+m>>2]|b;k=b&1;f=f+1|0;if(f>>>0>=j>>>0){break n}if(!k){continue}}break}f=0;if(k|!b){break m}while(1){f=f+1|0;k=b&2;b=b>>1;if(!k){continue}break}b=0;if(!f){f=0;break m}while(1){k=(b<<2)+m|0;o[k>>2]=o[k>>2]>>f;b=b+1|0;if((j|0)!=(b|0)){continue}break}}b=o[g+28>>2];f=f>>>0>b>>>0?b:f;o[h+5296>>2]=f;o[h+5588>>2]=f;o[h+248>>2]=b-f;f=o[g+36>>2];o:{if(!f){break o}j=o[h+40>>2];b=0;while(1){p:{d=o[j+(b<<2)>>2]|d;k=d&1;b=b+1|0;if(b>>>0>=f>>>0){break p}if(!k){continue}}break}b=0;if(!d){d=0;break o}if(k){d=0;break o}while(1){b=b+1|0;k=d&2;d=d>>1;if(!k){continue}break}d=0;if(!b){break o}while(1){k=j+(d<<2)|0;o[k>>2]=o[k>>2]>>b;d=d+1|0;if((f|0)!=(d|0)){continue}break}d=b}b=o[g+28>>2];d=d>>>0>b>>>0?b:d;o[h+5880>>2]=d;o[h+6172>>2]=d;o[h+252>>2]=(b-d|0)+1;if(e){break f}d=o[g+24>>2];b=0}if(d){d=0;while(1){e=(d<<2)+h|0;g=(d<<3)+h|0;Ua(a,n,l,i+8|0,o[e+216>>2],o[e+4>>2],g+6176|0,g+6640|0,g+256|0,e+6768|0,e+6808|0);h=o[a+4>>2];d=d+1|0;if(d>>>0<r[o[a>>2]+24>>2]){continue}break}}if(b){break e}m=o[h+36>>2]}Ua(a,n,l,i+8|0,o[h+248>>2],m,h+6240|0,h+6704|0,h+320|0,h+6800|0,h+6840|0);b=o[a+4>>2];Ua(a,n,l,i+8|0,o[b+252>>2],o[b+40>>2],b+6248|0,b+6712|0,b+328|0,b+6804|0,b+6844|0);d=i;e=o[a+4>>2];q:{if(!(!o[o[a>>2]+20>>2]|!o[e+6864>>2])){b=o[e+6868>>2]?3:0;break q}b=o[e+6844>>2];l=o[e+6808>>2];g=b+l|0;f=l;l=o[e+6812>>2];h=f+l|0;f=g>>>0<h>>>0;l=b+l|0;g=f?g:h;h=l>>>0<g>>>0;b=b+o[e+6840>>2]>>>0<(h?l:g)>>>0?3:h?2:f}o[d+20>>2]=b;if(!Tb(i+8|0,o[e+6856>>2])){o[o[a>>2]>>2]=7;b=0;break a}r:{s:{switch(b|0){default:d=o[a+4>>2];j=0;b=0;f=0;e=0;break r;case 0:d=o[a+4>>2];e=d+336|0;b=e+u(o[d+6768>>2],292)|0;j=(e+u(o[d+6772>>2],292)|0)+584|0;f=o[d+216>>2];e=o[d+220>>2];break r;case 1:d=o[a+4>>2];b=(d+u(o[d+6768>>2],292)|0)+336|0;j=(u(o[d+6804>>2],292)+d|0)+5592|0;f=o[d+216>>2];e=o[d+252>>2];break r;case 2:d=o[a+4>>2];j=(d+u(o[d+6772>>2],292)|0)+920|0;b=(u(o[d+6804>>2],292)+d|0)+5592|0;f=o[d+252>>2];e=o[d+220>>2];break r;case 3:break s}}d=o[a+4>>2];e=d+5008|0;b=e+u(o[d+6800>>2],292)|0;j=(e+u(o[d+6804>>2],292)|0)+584|0;f=o[d+248>>2];e=o[d+252>>2]}if(!Wa(a,o[i+8>>2],f,b,o[d+6856>>2])){break d}if(!Wa(a,o[i+8>>2],e,j,o[o[a+4>>2]+6856>>2])){break d}b=o[a>>2];break c}d=Tb(i+8|0,o[h+6856>>2]);b=o[a>>2];if(d){if(!o[b+24>>2]){break c}d=0;while(1){b=o[a+4>>2];e=b+(d<<2)|0;if(!Wa(a,o[i+8>>2],o[e+216>>2],((b+u(d,584)|0)+u(o[e+6768>>2],292)|0)+336|0,o[b+6856>>2])){break d}d=d+1|0;b=o[a>>2];if(d>>>0<r[b+24>>2]){continue}break}break c}o[b>>2]=7}b=0;break a}if(o[b+20>>2]){b=o[a+4>>2];d=o[b+6864>>2]+1|0;o[b+6864>>2]=d>>>0<r[b+6860>>2]?d:0}d=o[a+4>>2];o[d+6868>>2]=o[i+20>>2];d=o[d+6856>>2];e=o[d+16>>2]&7;b=1;t:{if(!e){break t}b=Ca(d,8-e|0)}if(!b){o[o[a>>2]>>2]=8;b=0;break a}u:{if(ue(o[o[a+4>>2]+6856>>2],i+8|0)){if(_(o[o[a+4>>2]+6856>>2],q[i+8>>1],o[1404])){break u}}o[o[a>>2]>>2]=8;b=0;break a}b=0;if(!Fa(a,o[o[a>>2]+36>>2],c)){break a}b=o[a+4>>2];o[b+7052>>2]=0;o[b+7056>>2]=o[b+7056>>2]+1;c=b+6920|0;d=c;e=d;b=o[d+4>>2];a=o[o[a>>2]+36>>2];c=a+o[d>>2]|0;if(c>>>0<a>>>0){b=b+1|0}o[e>>2]=c;o[d+4>>2]=b;b=1}N=i+48|0;return b}function Bc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=N-432|0;N=f;g=o[b+4>>2];a:{if(g>>>0<r[b+104>>2]){o[b+4>>2]=g+1;h=p[g|0];break a}h=ga(b)}b:{c:{while(1){d:{if((h|0)!=48){if((h|0)!=46){break b}g=o[b+4>>2];if(g>>>0>=r[b+104>>2]){break d}o[b+4>>2]=g+1;h=p[g|0];break c}g=o[b+4>>2];if(g>>>0<r[b+104>>2]){y=1;o[b+4>>2]=g+1;h=p[g|0]}else{y=1;h=ga(b)}continue}break}h=ga(b)}x=1;if((h|0)!=48){break b}while(1){g=o[b+4>>2];e:{if(g>>>0<r[b+104>>2]){o[b+4>>2]=g+1;h=p[g|0];break e}h=ga(b)}n=n+ -1|0;g=u+ -1|0;if((g|0)!=-1){n=n+1|0}u=g;if((h|0)==48){continue}break}y=1}g=1073676288;while(1){f:{z=h|32;g:{h:{A=h+ -48|0;if(A>>>0<10){break h}if(z+ -97>>>0>5?(h|0)!=46:0){break f}if((h|0)!=46){break h}if(x){break f}x=1;u=l;n=i;break g}h=(h|0)>57?z+ -87|0:A;i:{if((i|0)<0?1:(i|0)<=0?l>>>0>7?0:1:0){q=h+(q<<4)|0;break i}if((i|0)<0?1:(i|0)<=0?l>>>0>28?0:1:0){ka(f+48|0,h);$(f+32|0,v,w,m,g,0,0,0,1073414144);v=o[f+32>>2];w=o[f+36>>2];m=o[f+40>>2];g=o[f+44>>2];$(f+16|0,v,w,m,g,o[f+48>>2],o[f+52>>2],o[f+56>>2],o[f+60>>2]);ja(f,j,k,s,t,o[f+16>>2],o[f+20>>2],o[f+24>>2],o[f+28>>2]);s=o[f+8>>2];t=o[f+12>>2];j=o[f>>2];k=o[f+4>>2];break i}if(!h|D){break i}$(f+80|0,v,w,m,g,0,0,0,1073610752);ja(f- -64|0,j,k,s,t,o[f+80>>2],o[f+84>>2],o[f+88>>2],o[f+92>>2]);s=o[f+72>>2];t=o[f+76>>2];D=1;j=o[f+64>>2];k=o[f+68>>2]}l=l+1|0;if(l>>>0<1){i=i+1|0}y=1}h=o[b+4>>2];if(h>>>0<r[b+104>>2]){o[b+4>>2]=h+1;h=p[h|0]}else{h=ga(b)}continue}break}j:{k:{if(!y){if(!o[b+104>>2]){break k}c=o[b+4>>2];o[b+4>>2]=c+ -1;o[b+4>>2]=c+ -2;if(!x){break k}o[b+4>>2]=c+ -3;break k}if((i|0)<0?1:(i|0)<=0?l>>>0>7?0:1:0){m=l;g=i;while(1){q=q<<4;m=m+1|0;if(m>>>0<1){g=g+1|0}if((m|0)!=8|g){continue}break}}l:{if((h&-33)==80){m=lb(b);h=Q;g=h;if(m|(g|0)!=-2147483648){break l}m=0;g=0;if(!o[b+104>>2]){break l}o[b+4>>2]=o[b+4>>2]+ -1;break l}m=0;g=0;if(!o[b+104>>2]){break l}o[b+4>>2]=o[b+4>>2]+ -1}if(!q){sa(f+112|0,+(e|0)*0);j=o[f+112>>2];k=o[f+116>>2];c=o[f+120>>2];b=o[f+124>>2];break j}b=x?n:i;i=x?u:l;n=b<<2|i>>>30;b=m+(i<<2)|0;i=g+n|0;i=b>>>0<m>>>0?i+1|0:i;b=b+ -32|0;g=i+ -1|0;l=b;i=b>>>0<4294967264?g+1|0:g;if((i|0)>0?1:(i|0)>=0?b>>>0<=0-d>>>0?0:1:0){o[2896]=68;ka(f+160|0,e);$(f+144|0,o[f+160>>2],o[f+164>>2],o[f+168>>2],o[f+172>>2],-1,-1,-1,2147418111);$(f+128|0,o[f+144>>2],o[f+148>>2],o[f+152>>2],o[f+156>>2],-1,-1,-1,2147418111);j=o[f+128>>2];k=o[f+132>>2];c=o[f+136>>2];b=o[f+140>>2];break j}b=d+ -226|0;h=l>>>0<b>>>0?0:1;b=b>>31;if((i|0)>(b|0)?1:(i|0)>=(b|0)?h:0){if((q|0)>-1){while(1){ja(f+416|0,j,k,s,t,0,0,0,-1073807360);h=Jb(j,k,s,t,1073610752);g=(h|0)<0;b=g;ja(f+400|0,j,k,s,t,b?j:o[f+416>>2],b?k:o[f+420>>2],b?s:o[f+424>>2],b?t:o[f+428>>2]);i=i+ -1|0;b=l+ -1|0;if((b|0)!=-1){i=i+1|0}l=b;s=o[f+408>>2];t=o[f+412>>2];j=o[f+400>>2];k=o[f+404>>2];q=q<<1|(h|0)>-1;if((q|0)>-1){continue}break}}g=l;b=d;h=(g-b|0)+32|0;i=i-((b>>31)+(g>>>0<b>>>0)|0)|0;b=h;i=b>>>0<32?i+1|0:i;c=((i|0)<0?1:(i|0)<=0?b>>>0>=c>>>0?0:1:0)?(b|0)>0?b:0:c;m:{if((c|0)>=113){ka(f+384|0,e);u=o[f+392>>2];n=o[f+396>>2];v=o[f+384>>2];w=o[f+388>>2];d=0;b=0;break m}sa(f+352|0,ua(1,144-c|0));ka(f+336|0,e);v=o[f+336>>2];w=o[f+340>>2];u=o[f+344>>2];n=o[f+348>>2];Fb(f+368|0,o[f+352>>2],o[f+356>>2],o[f+360>>2],o[f+364>>2],v,w,u,n);B=o[f+376>>2];C=o[f+380>>2];d=o[f+372>>2];b=o[f+368>>2]}c=!(q&1)&((za(j,k,s,t,0,0,0,0)|0)!=0&(c|0)<32);Ba(f+320|0,c+q|0);$(f+304|0,v,w,u,n,o[f+320>>2],o[f+324>>2],o[f+328>>2],o[f+332>>2]);ja(f+272|0,o[f+304>>2],o[f+308>>2],o[f+312>>2],o[f+316>>2],b,d,B,C);$(f+288|0,c?0:j,c?0:k,c?0:s,c?0:t,v,w,u,n);ja(f+256|0,o[f+288>>2],o[f+292>>2],o[f+296>>2],o[f+300>>2],o[f+272>>2],o[f+276>>2],o[f+280>>2],o[f+284>>2]);Xa(f+240|0,o[f+256>>2],o[f+260>>2],o[f+264>>2],o[f+268>>2],b,d,B,C);e=o[f+240>>2];d=o[f+244>>2];c=o[f+248>>2];b=o[f+252>>2];if(!za(e,d,c,b,0,0,0,0)){o[2896]=68}mb(f+224|0,e,d,c,b,l);j=o[f+224>>2];k=o[f+228>>2];c=o[f+232>>2];b=o[f+236>>2];break j}o[2896]=68;ka(f+208|0,e);$(f+192|0,o[f+208>>2],o[f+212>>2],o[f+216>>2],o[f+220>>2],0,0,0,65536);$(f+176|0,o[f+192>>2],o[f+196>>2],o[f+200>>2],o[f+204>>2],0,0,0,65536);j=o[f+176>>2];k=o[f+180>>2];c=o[f+184>>2];b=o[f+188>>2];break j}sa(f+96|0,+(e|0)*0);j=o[f+96>>2];k=o[f+100>>2];c=o[f+104>>2];b=o[f+108>>2]}o[a>>2]=j;o[a+4>>2]=k;o[a+8>>2]=c;o[a+12>>2]=b;N=f+432|0}function Ua(a,b,c,d,e,f,g,h,i,j,k){var m=0,n=0,p=0,q=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0,R=v(0),S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=v(0),_=0,$=0,aa=0,ba=0,da=0,ea=0;q=N-576|0;N=q;G=o[(r[o[a>>2]+28>>2]>16?5644:5640)>>2];n=o[d>>2];a:{b:{if(o[o[a+4>>2]+7256>>2]){m=-1;if(n>>>0>3){break b}}y=o[g>>2];o[y+4>>2]=f;o[y>>2]=1;m=o[y+288>>2]+(o[1416]+(o[1415]+(o[1414]+u(e,n)|0)|0)|0)|0;n=o[d>>2];if(n>>>0<4){break a}}p=o[a+4>>2];y=n+ -4|0;c:{if(((x(y|1)^31)+e|0)+4>>>0<=32){p=l[o[p+7224>>2]](f+16|0,y,q+416|0)|0;break c}p=l[o[p+7228>>2]](f+16|0,y,q+416|0)|0}d:{e:{f:{g:{w=o[a+4>>2];if(o[w+7248>>2]|s[q+420>>2]!=v(0)){break g}n=1;z=o[f>>2];y=o[d>>2];if(y>>>0<=1){break f}while(1){if((z|0)!=o[(n<<2)+f>>2]){break g}n=n+1|0;if(n>>>0<y>>>0){continue}break}break f}n=o[a>>2];if(!o[w+7252>>2]){y=m;break e}y=-1;if((m|0)!=-1){y=m;break d}if(!o[n+556>>2]){break e}y=m;break d}a=o[g+4>>2];o[a+4>>2]=z;o[a>>2]=0;a=o[a+288>>2]+(o[1416]+(o[1415]+(o[1414]+e|0)|0)|0)|0;A=a>>>0<m>>>0;m=A?a:m;break a}m=o[n+568>>2];B=m?0:p;p=m?4:p;m=o[d>>2];K=p>>>0<m>>>0?p:m+ -1|0;if(B>>>0>K>>>0){break d}O=G+ -1|0;P=o[1416];L=o[1415];Q=o[1414];Z=v(e>>>0);while(1){n=B<<2;R=s[n+(q+416|0)>>2];if(!(R>=Z)){M=!A;z=M<<2;S=o[z+h>>2];D=o[g+z>>2];T=o[o[a>>2]+572>>2];m=o[a+4>>2];p=o[m+6852>>2];w=o[m+6848>>2];m=f+n|0;n=o[d>>2]-B|0;z=o[i+z>>2];ne(m,n,B,z);o[D+36>>2]=z;o[D+12>>2]=S;o[D>>2]=2;o[D+4>>2]=0;U=R>v(0);H=o[a+4>>2];E=B;I=+R+.5;h:{if(I<4294967296&I>=0){m=~~I>>>0;break h}m=0}m=U?m+1|0:1;w=Ab(H,z,w,p,n,E,m>>>0<G>>>0?m:O,G,b,c,e,T,D+4|0);o[D+16>>2]=B;if(B){p=D+20|0;m=0;while(1){n=m<<2;o[n+p>>2]=o[f+n>>2];m=m+1|0;if((B|0)!=(m|0)){continue}break}}m=o[D+288>>2]+(P+(L+(Q+(w+u(e,B)|0)|0)|0)|0)|0;n=m>>>0<y>>>0;A=n?M:A;y=n?m:y}B=B+1|0;if(B>>>0<=K>>>0){continue}break}n=o[a>>2]}p=o[n+556>>2];if(!p){m=y;break a}m=o[d>>2];p=p>>>0<m>>>0?p:m+ -1|0;o[q+12>>2]=p;if(!p){m=y;break a}if(!o[n+40>>2]){m=y;break a}X=33-e|0;_=G+ -1|0;$=o[1413];aa=o[1412];ba=o[1416];D=o[1415];da=o[1414];I=+(e>>>0);K=e>>>0<18;O=e>>>0>16;P=e>>>0>17;while(1){n=o[a+4>>2];Yd(f,o[(n+(V<<2)|0)+84>>2],o[n+212>>2],m);m=o[a+4>>2];l[o[m+7232>>2]](o[m+212>>2],o[d>>2],o[q+12>>2]+1|0,q+272|0);i:{if(s[q+272>>2]==v(0)){break i}ce(q+272|0,q+12|0,o[a+4>>2]+7628|0,q+16|0);w=1;n=o[q+12>>2];z=o[a>>2];if(!o[z+568>>2]){m=q;n=ee(m+16|0,n,o[d>>2],(o[z+564>>2]?5:o[z+560>>2])+e|0);o[m+12>>2]=n;w=n}m=o[d>>2];if(n>>>0>=m>>>0){n=m+ -1|0;o[q+12>>2]=n}if(w>>>0>n>>>0){break i}while(1){j:{L=w+ -1|0;F=de(t[(q+16|0)+(L<<3)>>3],m-w|0);if(F>=I){break j}m=F>0;F=F+.5;k:{if(F<4294967296&F>=0){p=~~F>>>0;break k}p=0}p=m?p+1|0:1;m=p>>>0<G>>>0;n=o[a>>2];l:{if(o[n+564>>2]){E=5;H=15;if(P){break l}z=(x(w)^-32)+X|0;if(z>>>0>14){break l}H=z>>>0>5?z:5;break l}H=o[n+560>>2];E=H}Q=m?p:_;W=(w<<2)+f|0;m=x(w);M=m^31;Y=(m^-32)+X|0;while(1){B=o[d>>2];p=!A;m=p<<2;T=o[m+h>>2];C=o[g+m>>2];J=o[i+m>>2];U=o[n+572>>2];n=o[a+4>>2];S=o[n+6852>>2];z=o[n+6848>>2];m=0;ea=A;A=(n+(L<<7)|0)+7628|0;n=K?Y>>>0>E>>>0?E:Y:E;if(!$d(A,w,n,q+448|0,q+444|0)){A=B-w|0;B=e+n|0;m:{if(B+M>>>0<=32){m=o[a+4>>2];if(!(n>>>0>16|O)){l[o[m+7244>>2]](W,A,q+448|0,w,o[q+444>>2],J);break m}l[o[m+7236>>2]](W,A,q+448|0,w,o[q+444>>2],J);break m}l[o[o[a+4>>2]+7240>>2]](W,A,q+448|0,w,o[q+444>>2],J)}o[C>>2]=3;o[C+4>>2]=0;o[C+284>>2]=J;o[C+12>>2]=T;A=Ab(o[a+4>>2],J,z,S,A,w,Q,G,b,c,e,U,C+4|0);o[C+20>>2]=n;o[C+16>>2]=w;o[C+24>>2]=o[q+444>>2];ca(C+28|0,q+448|0,128);m=0;if(w){while(1){z=m<<2;o[(z+C|0)+156>>2]=o[f+z>>2];m=m+1|0;if((w|0)!=(m|0)){continue}break}}m=((o[C+288>>2]+((((A+u(w,B)|0)+da|0)+D|0)+ba|0)|0)+aa|0)+$|0}n=(m|0)!=0&m>>>0<y>>>0;A=n?p:ea;y=n?m:y;E=E+1|0;if(E>>>0>H>>>0){break j}n=o[a>>2];continue}}w=w+1|0;if(w>>>0>r[q+12>>2]){break i}m=o[d>>2];continue}}V=V+1|0;if(V>>>0<r[o[a>>2]+40>>2]){m=o[d>>2];continue}break}m=y}if((m|0)==-1){a=o[d>>2];b=o[(A<<2)+g>>2];o[b+4>>2]=f;o[b>>2]=1;m=o[b+288>>2]+(o[1416]+(o[1415]+(o[1414]+u(a,e)|0)|0)|0)|0}o[j>>2]=A;o[k>>2]=m;N=q+576|0}function Ra(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=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,A=0,B=0,C=0,D=0;l=o[b+16>>2];i=o[b+32>>2];m=o[b+48>>2];n=o[b+36>>2];p=o[b+52>>2];q=o[b+4>>2];g=o[b+20>>2];h=o[a+4>>2];j=o[b>>2];B=o[a>>2];r=o[a+12>>2];k=o[a+8>>2];c=h+He(((j+B|0)+(r^(r^k)&h)|0)+ -680876936|0,7)|0;s=o[b+12>>2];t=o[b+8>>2];e=He(((q+r|0)+(c&(h^k)^k)|0)+ -389564586|0,12)+c|0;d=He(((t+k|0)+(e&(c^h)^h)|0)+606105819|0,17)+e|0;f=He(((h+s|0)+(c^d&(c^e))|0)+ -1044525330|0,22)+d|0;c=He(((c+l|0)+(e^f&(d^e))|0)+ -176418897|0,7)+f|0;u=o[b+28>>2];v=o[b+24>>2];e=He(((e+g|0)+(d^c&(d^f))|0)+1200080426|0,12)+c|0;d=He(((d+v|0)+(f^e&(c^f))|0)+ -1473231341|0,17)+e|0;f=He(((f+u|0)+(c^d&(c^e))|0)+ -45705983|0,22)+d|0;c=He(((c+i|0)+(e^f&(d^e))|0)+1770035416|0,7)+f|0;w=o[b+44>>2];x=o[b+40>>2];e=He(((e+n|0)+(d^c&(d^f))|0)+ -1958414417|0,12)+c|0;d=He(((x+d|0)+(f^e&(c^f))|0)+ -42063|0,17)+e|0;f=He(((f+w|0)+(c^d&(c^e))|0)+ -1990404162|0,22)+d|0;c=He(((c+m|0)+(e^f&(d^e))|0)+1804603682|0,7)+f|0;y=o[b+60>>2];A=c+q|0;z=o[b+56>>2];e=He(((e+p|0)+(d^c&(d^f))|0)+ -40341101|0,12)+c|0;b=He(((z+d|0)+(f^e&(c^f))|0)+ -1502002290|0,17)+e|0;c=He(((f+y|0)+(c^b&(c^e))|0)+1236535329|0,22)+b|0;d=He((A+((b^c)&e^b)|0)+ -165796510|0,5)+c|0;f=b+w|0;b=He(((e+v|0)+(c^b&(c^d))|0)+ -1069501632|0,9)+d|0;e=He((f+(d^c&(b^d))|0)+643717713|0,14)+b|0;c=He(((c+j|0)+(b^d&(b^e))|0)+ -373897302|0,20)+e|0;d=He(((d+g|0)+((e^c)&b^e)|0)+ -701558691|0,5)+c|0;b=He(((b+x|0)+(c^e&(c^d))|0)+38016083|0,9)+d|0;e=He(((e+y|0)+(d^c&(b^d))|0)+ -660478335|0,14)+b|0;c=He(((c+l|0)+(b^d&(b^e))|0)+ -405537848|0,20)+e|0;d=He(((d+n|0)+((e^c)&b^e)|0)+568446438|0,5)+c|0;f=e+s|0;e=He(((b+z|0)+(c^e&(c^d))|0)+ -1019803690|0,9)+d|0;f=He((f+(d^(e^d)&c)|0)+ -187363961|0,14)+e|0;c=He(((c+i|0)+(e^(e^f)&d)|0)+1163531501|0,20)+f|0;b=He(((d+p|0)+((f^c)&e^f)|0)+ -1444681467|0,5)+c|0;d=He(((e+t|0)+(c^f&(b^c))|0)+ -51403784|0,9)+b|0;e=He(((f+u|0)+(b^c&(d^b))|0)+1735328473|0,14)+d|0;A=d+i|0;f=d^e;c=He(((c+m|0)+(d^f&b)|0)+ -1926607734|0,20)+e|0;d=He(((b+g|0)+(c^f)|0)+ -378558|0,4)+c|0;b=He((A+(c^e^d)|0)+ -2022574463|0,11)+d|0;e=He(((e+w|0)+(b^(c^d))|0)+1839030562|0,16)+b|0;c=He(((c+z|0)+(e^(b^d))|0)+ -35309556|0,23)+e|0;d=He(((d+q|0)+(c^(b^e))|0)+ -1530992060|0,4)+c|0;b=He(((b+l|0)+(d^(c^e))|0)+1272893353|0,11)+d|0;e=He(((e+u|0)+(b^(c^d))|0)+ -155497632|0,16)+b|0;c=He(((c+x|0)+(e^(b^d))|0)+ -1094730640|0,23)+e|0;d=He(((d+p|0)+(c^(b^e))|0)+681279174|0,4)+c|0;b=He(((b+j|0)+(d^(c^e))|0)+ -358537222|0,11)+d|0;e=He(((e+s|0)+(b^(c^d))|0)+ -722521979|0,16)+b|0;c=He(((c+v|0)+(e^(b^d))|0)+76029189|0,23)+e|0;d=He(((d+n|0)+(c^(b^e))|0)+ -640364487|0,4)+c|0;b=He(((b+m|0)+(d^(c^e))|0)+ -421815835|0,11)+d|0;f=d+j|0;j=b^d;d=He(((e+y|0)+(b^(c^d))|0)+530742520|0,16)+b|0;e=He(((c+t|0)+(j^d)|0)+ -995338651|0,23)+d|0;c=He((f+((e|b^-1)^d)|0)+ -198630844|0,6)+e|0;f=e+g|0;g=d+z|0;d=He(((b+u|0)+(e^(c|d^-1))|0)+1126891415|0,10)+c|0;e=He((g+(c^(d|e^-1))|0)+ -1416354905|0,15)+d|0;b=He((f+((e|c^-1)^d)|0)+ -57434055|0,21)+e|0;f=e+x|0;g=d+s|0;d=He(((c+m|0)+(e^(b|d^-1))|0)+1700485571|0,6)+b|0;e=He((g+(b^(d|e^-1))|0)+ -1894986606|0,10)+d|0;c=He((f+((e|b^-1)^d)|0)+ -1051523|0,15)+e|0;f=e+y|0;i=d+i|0;d=He(((b+q|0)+(e^(c|d^-1))|0)+ -2054922799|0,21)+c|0;e=He((i+(c^(d|e^-1))|0)+1873313359|0,6)+d|0;b=He((f+((e|c^-1)^d)|0)+ -30611744|0,10)+e|0;c=He(((c+v|0)+(e^(b|d^-1))|0)+ -1560198380|0,15)+b|0;d=He(((d+p|0)+(b^(c|e^-1))|0)+1309151649|0,21)+c|0;e=He(((e+l|0)+((d|b^-1)^c)|0)+ -145523070|0,6)+d|0;o[a>>2]=e+B;b=He(((b+w|0)+(d^(e|c^-1))|0)+ -1120210379|0,10)+e|0;o[a+12>>2]=b+r;c=He(((c+t|0)+(e^(b|d^-1))|0)+718787259|0,15)+b|0;o[a+8>>2]=c+k;C=a,D=He(((d+n|0)+(b^(c|e^-1))|0)+ -343485551|0,21)+(c+h|0)|0,o[C+4>>2]=D}function Ab(a,b,c,d,e,f,g,h,i,j,k,m,n){var p=0,q=0,s=0,t=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=e+f|0;p=je(j,G,f);D=p>>>0>i>>>0?i:p;l[o[a+7220>>2]](b,c,e,f,D,p,k);a:{if(!m){break a}k=0;i=0;if((p|0)>=0){i=1<<p;B=i>>>0>1?i:1;E=G>>>p|0;while(1){A=0;j=s;y=0;t=(z<<2)+d|0;b:{c:{q=z?0:f;w=E-q|0;if(!w){break c}while(1){v=o[(j<<2)+b>>2];A=v>>31^v|A;j=j+1|0;y=y+1|0;if((w|0)!=(y|0)){continue}break}s=(s+E|0)-q|0;if(!A){break c}j=(x(A)^31)+2|0;break b}j=1}o[t>>2]=j;z=z+1|0;if((B|0)!=(z|0)){continue}break}}if((p|0)<=(D|0)){break a}b=p;while(1){b=b+ -1|0;j=0;while(1){s=(k<<2)+d|0;v=o[s>>2];s=o[s+4>>2];o[(i<<2)+d>>2]=v>>>0>s>>>0?v:s;i=i+1|0;k=k+2|0;j=j+1|0;if(!(j>>>b)){continue}break}if((b|0)>(D|0)){continue}break}}d:{if((p|0)<(D|0)){z=0;o[n+4>>2]=0;A=0;b=6;break d}H=o[1407];S=H+(u(g+1|0,e)-(e>>>1|0)|0)|0;N=h+ -1|0;O=o[1409]+o[1408]|0;E=o[1406]+o[1405]|0;T=g+ -1|0;z=0;A=0;while(1){e:{C=p;P=!A;i=u(P,12)+a|0;b=i+11724|0;ab(b,p>>>0>6?p:6);Q=(I<<2)+d|0;F=(I<<3)+c|0;R=o[i+11728>>2];J=o[b>>2];f:{if(p){K=G>>>C|0;if(K>>>0<=f>>>0){break e}y=0;L=0;j=E;if(!m){while(1){v=K-(y?0:f)|0;b=F+(y<<3)|0;q=o[b+4>>2];t=o[b>>2];g:{if(!q&t>>>0>=268435457|q>>>0>0){b=v;k=0;i=0;h:{if((q|0)==16777216&t>>>0>0|q>>>0>16777216){s=b;p=0;break h}s=b;p=0;w=b>>>25|0;B=b<<7;if((q|0)==(w|0)&B>>>0>=t>>>0|w>>>0>q>>>0){break h}while(1){i=i+8|0;p=k;w=p<<15|b>>>17;B=b<<15;k=p<<8|b>>>24;s=b<<8;b=s;p=k;if((q|0)==(w|0)&B>>>0<t>>>0|w>>>0<q>>>0){continue}break}}if((p|0)==(q|0)&s>>>0>=t>>>0|p>>>0>q>>>0){break g}while(1){i=i+1|0;b=s;w=p<<1|b>>>31;s=b<<1;b=s;p=w;if((q|0)==(p|0)&b>>>0<t>>>0|p>>>0<q>>>0){continue}break}break g}i=0;k=v;b=t;if(k<<3>>>0<b>>>0){while(1){i=i+4|0;p=k<<7;k=k<<4;if(p>>>0<b>>>0){continue}break}}if(k>>>0>=b>>>0){break g}while(1){i=i+1|0;k=k<<1;if(k>>>0<b>>>0){continue}break}}k=i>>>0<h>>>0?i:N;b=k+ -1|0;p=b&31;b=((H-(v>>>1|0)|0)+u(v,k+1|0)|0)+(k?32<=(b&63)>>>0?q>>>p|0:((1<<p)-1&q)<<32-p|t>>>p:t<<1)|0;L=(b|0)==-1?L:k;o[J+(y<<2)>>2]=L;j=b+j|0;y=y+1|0;if(!(y>>>C)){continue}break f}}while(1){v=K-(y?0:f)|0;b=F+(y<<3)|0;q=o[b+4>>2];t=o[b>>2];i:{j:{if(!q&t>>>0>=268435457|q>>>0>0){b=v;k=0;i=0;if((q|0)==16777216&t>>>0>0|q>>>0>16777216){break j}s=b;p=0;w=b>>>25|0;B=b<<7;if((q|0)==(w|0)&B>>>0>=t>>>0|w>>>0>q>>>0){break j}while(1){i=i+8|0;b=p;k=s;w=b<<15|k>>>17;B=k<<15;s=b<<8;b=k;k=s|b>>>24;b=b<<8;s=b;p=k;if((q|0)==(w|0)&B>>>0<t>>>0|w>>>0<q>>>0){continue}break}break j}i=0;k=v;b=t;if(k<<3>>>0<b>>>0){while(1){i=i+4|0;p=k<<7;k=k<<4;if(p>>>0<b>>>0){continue}break}}if(k>>>0>=b>>>0){break i}while(1){i=i+1|0;k=k<<1;if(k>>>0<b>>>0){continue}break}break i}if((k|0)==(q|0)&b>>>0>=t>>>0|k>>>0>q>>>0){break i}while(1){i=i+1|0;w=k<<1|b>>>31;b=b<<1;k=w;if((q|0)==(k|0)&b>>>0<t>>>0|k>>>0<q>>>0){continue}break}}p=y<<2;b=o[p+Q>>2];w=b;k=u(b,v)+O|0;s=i>>>0<h>>>0?i:N;i=(H-(v>>>1|0)|0)+u(v,s+1|0)|0;b=s+ -1|0;v=b&31;b=i+(s?32<=(b&63)>>>0?q>>>v|0:((1<<v)-1&q)<<32-v|t>>>v:t<<1)|0;i=k>>>0>b>>>0;o[p+R>>2]=i?0:w;o[p+J>>2]=i?s:0;j=(i?b:k)+j|0;y=y+1|0;if(!(y>>>C)){continue}break}break f}k=o[F+4>>2];b=T;p=b&31;j=o[F>>2];i=(g?32<=(b&63)>>>0?k>>>p|0:((1<<p)-1&k)<<32-p|j>>>p:j<<1)+S|0;k=(i|0)==-1?0:g;if(m){j=o[Q>>2];b=u(j,e)+O|0;p=b>>>0>i>>>0;o[R>>2]=p?0:j;k=p?k:0;i=p?i:b}o[J>>2]=k;j=i+E|0}b=M+ -1>>>0<j>>>0;z=b?z:C;A=b?A:P;M=b?M:j;p=C+ -1|0;I=(1<<C)+I|0;if((C|0)>(D|0)){continue}}break}o[n+4>>2]=z;b=z>>>0>6?z:6}d=o[n+8>>2];ab(d,b);b=u(A,12)+a|0;c=1<<z;a=c<<2;ca(o[d>>2],o[b+11724>>2],a);if(m){ca(o[d+4>>2],o[b+11728>>2],a)}c=c>>>0>1?c:1;b=o[1410];a=o[d>>2];i=0;k:{while(1){if(r[a+(i<<2)>>2]<b>>>0){i=i+1|0;if((c|0)!=(i|0)){continue}break k}break}o[n>>2]=1}return M}function _a(a,b){var c=0,d=0,e=0,f=0,g=v(0),h=v(0),i=0,j=v(0),k=0,l=0;d=o[a>>2];a:{if(o[d>>2]!=1){break a}o[d+40>>2]=0;while(1){b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{k=Ha(b,59);p:{if(k){e=k-b|0;break p}e=Ga(b)}l=(e|0)!=8;if(!l){if(ha(10584,b,8)){break o}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=0;break b}q:{switch(e+ -6|0){case 1:break l;case 0:break m;case 20:break n;case 7:break q;default:break k}}f=1;if(ha(10593,b,13)){break j}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=1;break b}f=0;if(ha(10607,b,8)){break j}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=2;break b}f=0;if(ha(10616,b,26)){break j}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=3;break b}if(ha(10643,b,6)){break b}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=4;break b}if(ha(10650,b,7)){break i}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=5;break b}f=0;if(e>>>0<8){break h}}if(ha(10658,b,6)){break g}h=v(oa(b+6|0));if(h>v(0)^1|h<=v(.5)^1){break b}b=o[a>>2];s[((o[b+40>>2]<<4)+b|0)+48>>2]=h;b=o[a>>2];e=o[b+40>>2];o[b+40>>2]=e+1;o[(b+(e<<4)|0)+44>>2]=6;break b}if(ha(10665,b,7)){break f}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=7;break b}r:{switch(e+ -4|0){case 0:break r;case 1:break d;default:break b}}if(ha(10673,b,4)){break b}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=8;break b}if(!f){break e}if(ha(10678,b,13)){break e}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=9;break b}if(ha(10692,b,7)){break b}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=10;break b}s:{if((e|0)!=9){break s}if(ha(10700,b,9)){break s}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=11;break b}if(!l){if(!ha(10710,b,8)){o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=12;break b}if(ha(10719,b,6)){break b}break c}if(!ha(10719,b,6)){break c}if(e>>>0<16){break b}if(!ha(10726,b,14)){i=oa(b+14|0);t:{if(w(i)<2147483648){e=~~i;break t}e=-2147483648}c=Ha(b,47);g=v(.10000000149011612);u:{if(!c){break u}d=c+1|0;g=v(.9900000095367432);if(!(v(oa(d))<v(.9900000095367432))){break u}g=v(oa(d))}b=Ha(c?c+1|0:b,47);h=v(.20000000298023224);v:{if(!b){break v}h=v(oa(b+1|0))}b=o[a>>2];f=o[b+40>>2];if((e|0)<=1){s[((f<<4)+b|0)+48>>2]=h;b=o[a>>2];e=o[b+40>>2];o[b+40>>2]=e+1;o[(b+(e<<4)|0)+44>>2]=13;break b}if(e+f>>>0>31){break b}j=v(v(v(1)/v(v(1)-g))+v(-1));g=v(j+v(e|0));c=0;while(1){s[((f<<4)+b|0)+48>>2]=h;b=o[a>>2];s[((o[b+40>>2]<<4)+b|0)+52>>2]=v(c|0)/g;b=o[a>>2];c=c+1|0;s[((o[b+40>>2]<<4)+b|0)+56>>2]=v(j+v(c|0))/g;b=o[a>>2];d=o[b+40>>2];f=d+1|0;o[b+40>>2]=f;o[((d<<4)+b|0)+44>>2]=14;if((c|0)!=(e|0)){continue}break}break b}if(e>>>0<17){break b}if(ha(10741,b,15)){break b}i=oa(b+15|0);w:{if(w(i)<2147483648){e=~~i;break w}e=-2147483648}h=v(.20000000298023224);c=Ha(b,47);g=v(.20000000298023224);x:{if(!c){break x}d=c+1|0;g=v(.9900000095367432);if(!(v(oa(d))<v(.9900000095367432))){break x}g=v(oa(d))}b=Ha(c?c+1|0:b,47);if(b){h=v(oa(b+1|0))}b=o[a>>2];f=o[b+40>>2];if((e|0)<=1){s[((f<<4)+b|0)+48>>2]=h;b=o[a>>2];e=o[b+40>>2];o[b+40>>2]=e+1;o[(b+(e<<4)|0)+44>>2]=13;break b}if(e+f>>>0>31){break b}j=v(v(v(1)/v(v(1)-g))+v(-1));g=v(j+v(e|0));c=0;while(1){s[((f<<4)+b|0)+48>>2]=h;b=o[a>>2];s[((o[b+40>>2]<<4)+b|0)+52>>2]=v(c|0)/g;b=o[a>>2];c=c+1|0;s[((o[b+40>>2]<<4)+b|0)+56>>2]=v(j+v(c|0))/g;b=o[a>>2];d=o[b+40>>2];f=d+1|0;o[b+40>>2]=f;o[((d<<4)+b|0)+44>>2]=15;if((c|0)!=(e|0)){continue}break}break b}if(ha(10757,b,5)){break b}o[d+40>>2]=c+1;o[((c<<4)+d|0)+44>>2]=16;break b}h=v(oa(b+6|0));if(h>=v(0)^1|h<=v(1)^1){break b}b=o[a>>2];s[((o[b+40>>2]<<4)+b|0)+48>>2]=h;b=o[a>>2];e=o[b+40>>2];o[b+40>>2]=e+1;o[(b+(e<<4)|0)+44>>2]=13}d=o[a>>2];c=o[d+40>>2];if(k){b=k+1|0;if((c|0)!=32){continue}}break}f=1;if(c){break a}o[d+40>>2]=1;o[d+44>>2]=13;o[d+48>>2]=1056964608}return f}function zd(){var a=0,b=0,c=0,d=0;b=qa(1,8);if(!b){return 0}a=qa(1,1032);o[b>>2]=a;a:{if(!a){break a}d=qa(1,11856);o[b+4>>2]=d;if(!d){X(a);break a}a=qa(1,20);d=o[b+4>>2];o[d+6856>>2]=a;if(!a){X(d);X(o[b>>2]);break a}o[d+7296>>2]=0;a=o[b>>2];o[a+44>>2]=13;o[a+48>>2]=1056964608;o[a+36>>2]=0;o[a+40>>2]=1;o[a+28>>2]=16;o[a+32>>2]=44100;o[a+20>>2]=0;o[a+24>>2]=2;o[a+12>>2]=1;o[a+16>>2]=0;o[a+4>>2]=0;o[a+8>>2]=1;a=o[b>>2];o[a+592>>2]=0;o[a+596>>2]=0;o[a+556>>2]=0;o[a+560>>2]=0;o[a+564>>2]=0;o[a+568>>2]=0;o[a+572>>2]=0;o[a+576>>2]=0;o[a+580>>2]=0;o[a+584>>2]=0;o[a+600>>2]=0;o[a+604>>2]=0;d=o[b+4>>2];c=d;o[c+7248>>2]=0;o[c+7252>>2]=0;o[c+7048>>2]=0;c=c+7256|0;o[c>>2]=0;o[c+4>>2]=0;c=d+7264|0;o[c>>2]=0;o[c+4>>2]=0;c=d+7272|0;o[c>>2]=0;o[c+4>>2]=0;c=d+7280|0;o[c>>2]=0;o[c+4>>2]=0;o[d+7288>>2]=0;o[a+632>>2]=0;o[a+636>>2]=0;a=o[b>>2];b:{if(o[a>>2]!=1){break b}o[a+16>>2]=1;o[a+20>>2]=0;_a(b,10777);a=o[b>>2];if(o[a>>2]!=1){break b}o[a+576>>2]=0;o[a+580>>2]=5;o[a+564>>2]=0;o[a+568>>2]=0;o[a+556>>2]=8;o[a+560>>2]=0}a=o[b+4>>2];o[a+11848>>2]=0;o[a+6176>>2]=a+336;a=o[b+4>>2];o[a+6180>>2]=a+628;a=o[b+4>>2];o[a+6184>>2]=a+920;a=o[b+4>>2];o[a+6188>>2]=a+1212;a=o[b+4>>2];o[a+6192>>2]=a+1504;a=o[b+4>>2];o[a+6196>>2]=a+1796;a=o[b+4>>2];o[a+6200>>2]=a+2088;a=o[b+4>>2];o[a+6204>>2]=a+2380;a=o[b+4>>2];o[a+6208>>2]=a+2672;a=o[b+4>>2];o[a+6212>>2]=a+2964;a=o[b+4>>2];o[a+6216>>2]=a+3256;a=o[b+4>>2];o[a+6220>>2]=a+3548;a=o[b+4>>2];o[a+6224>>2]=a+3840;a=o[b+4>>2];o[a+6228>>2]=a+4132;a=o[b+4>>2];o[a+6232>>2]=a+4424;a=o[b+4>>2];o[a+6236>>2]=a+4716;a=o[b+4>>2];o[a+6240>>2]=a+5008;a=o[b+4>>2];o[a+6244>>2]=a+5300;a=o[b+4>>2];o[a+6248>>2]=a+5592;a=o[b+4>>2];o[a+6252>>2]=a+5884;a=o[b+4>>2];o[a+6640>>2]=a+6256;a=o[b+4>>2];o[a+6644>>2]=a+6268;a=o[b+4>>2];o[a+6648>>2]=a+6280;a=o[b+4>>2];o[a+6652>>2]=a+6292;a=o[b+4>>2];o[a+6656>>2]=a+6304;a=o[b+4>>2];o[a+6660>>2]=a+6316;a=o[b+4>>2];o[a+6664>>2]=a+6328;a=o[b+4>>2];o[a+6668>>2]=a+6340;a=o[b+4>>2];o[a+6672>>2]=a+6352;a=o[b+4>>2];o[a+6676>>2]=a+6364;a=o[b+4>>2];o[a+6680>>2]=a+6376;a=o[b+4>>2];o[a+6684>>2]=a+6388;a=o[b+4>>2];o[a+6688>>2]=a+6400;a=o[b+4>>2];o[a+6692>>2]=a+6412;a=o[b+4>>2];o[a+6696>>2]=a+6424;a=o[b+4>>2];o[a+6700>>2]=a+6436;a=o[b+4>>2];o[a+6704>>2]=a+6448;a=o[b+4>>2];o[a+6708>>2]=a+6460;a=o[b+4>>2];o[a+6712>>2]=a+6472;a=o[b+4>>2];o[a+6716>>2]=a+6484;a=o[b+4>>2]+6256|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6268|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6280|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6292|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6304|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6316|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6328|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6340|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6352|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6364|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6376|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6388|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6400|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6412|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6424|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6436|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6448|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6460|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6472|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+6484|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+11724|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;a=o[b+4>>2]+11736|0;o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[o[b>>2]>>2]=1;return b|0}X(b);return 0}function ja(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=N-112|0;N=l;n=h;m=i&2147483647;k=c+ -1|0;j=b+ -1|0;if((j|0)!=-1){k=k+1|0}p=j;s=(j|0)==-1&(k|0)==-1;q=e&2147483647;j=q;r=d;k=(c|0)==(k|0)&p>>>0<b>>>0|k>>>0<c>>>0;p=d+k|0;if(p>>>0<k>>>0){j=j+1|0}k=p+ -1|0;j=j+ -1|0;j=(k|0)!=-1?j+1|0:j;a:{b:{if(!((k|0)==-1&(j|0)==2147418111?s:j>>>0>2147418111)){k=g+ -1|0;j=f+ -1|0;if((j|0)!=-1){k=k+1|0}p=j;s=(j|0)!=-1|(k|0)!=-1;j=m;k=(g|0)==(k|0)&p>>>0<f>>>0|k>>>0<g>>>0;p=k+n|0;if(p>>>0<k>>>0){j=j+1|0}k=p+ -1|0;j=j+ -1|0;j=(k|0)!=-1?j+1|0:j;if((k|0)==-1&(j|0)==2147418111?s:(j|0)==2147418111&(k|0)!=-1|j>>>0<2147418111){break b}}if(!(!r&(q|0)==2147418112?!(b|c):(q|0)==2147418112&r>>>0<0|q>>>0<2147418112)){h=d;i=e|32768;f=b;g=c;break a}if(!(!n&(m|0)==2147418112?!(f|g):(m|0)==2147418112&n>>>0<0|m>>>0<2147418112)){i=i|32768;break a}if(!(b|r|(q^2147418112|c))){j=d;d=!(b^f|d^h|(c^g|e^i^-2147483648));h=d?0:j;i=d?2147450880:e;f=d?0:b;g=d?0:c;break a}if(!(f|n|(m^2147418112|g))){break a}if(!(b|r|(c|q))){if(f|n|(g|m)){break a}f=b&f;g=c&g;h=d&h;i=e&i;break a}if(f|n|(g|m)){break b}f=b;g=c;h=d;i=e;break a}j=(n|0)==(r|0)&(m|0)==(q|0)?(c|0)==(g|0)&f>>>0>b>>>0|g>>>0>c>>>0:(m|0)==(q|0)&n>>>0>r>>>0|m>>>0>q>>>0;q=j?f:b;k=j?g:c;n=j?i:e;r=n;p=j?h:d;n=n&65535;e=j?e:i;t=e;d=j?d:h;s=e>>>16&32767;m=r>>>16&32767;if(!m){e=!(n|p);h=e<<6;i=x(e?q:p)+32|0;e=x(e?k:n);e=h+((e|0)==32?i:e)|0;ia(l+96|0,q,k,p,n,e+ -15|0);p=o[l+104>>2];n=o[l+108>>2];q=o[l+96>>2];m=16-e|0;k=o[l+100>>2]}f=j?b:f;g=j?c:g;b=d;c=t&65535;if(s){b=c}else{h=b;d=!(b|c);e=d<<6;i=x(d?f:b)+32|0;b=x(d?g:c);b=e+((b|0)==32?i:b)|0;ia(l+80|0,f,g,h,c,b+ -15|0);s=16-b|0;f=o[l+80>>2];g=o[l+84>>2];d=o[l+88>>2];b=o[l+92>>2]}c=d;j=b<<3|c>>>29;h=c<<3|g>>>29;i=j|524288;b=p;d=n<<3|b>>>29;e=b<<3|k>>>29;p=d;n=r^t;b=f;j=g<<3|b>>>29;b=b<<3;c=j;f=m-s|0;d=b;c:{if(!f){break c}if(f>>>0>127){h=0;i=0;j=0;d=1;break c}ia(l- -64|0,b,c,h,i,128-f|0);Ja(l+48|0,b,c,h,i,f);h=o[l+56>>2];i=o[l+60>>2];j=o[l+52>>2];d=o[l+48>>2]|((o[l+64>>2]|o[l+72>>2])!=0|(o[l+68>>2]|o[l+76>>2])!=0)}g=j;p=p|524288;b=q;j=k<<3|b>>>29;c=b<<3;d:{if((n|0)<-1?1:(n|0)<=-1?1:0){n=d;b=c-d|0;q=e-h|0;d=(g|0)==(j|0)&c>>>0<d>>>0|j>>>0<g>>>0;f=q-d|0;c=j-((c>>>0<n>>>0)+g|0)|0;g=(p-((e>>>0<h>>>0)+i|0)|0)-(q>>>0<d>>>0)|0;if(!(b|f|(c|g))){f=0;g=0;h=0;i=0;break a}if(g>>>0>524287){break d}h=b;d=!(f|g);e=d<<6;i=x(d?b:f)+32|0;b=x(d?c:g);b=e+((b|0)==32?i:b)|0;b=b+ -12|0;ia(l+32|0,h,c,f,g,b);m=m-b|0;f=o[l+40>>2];g=o[l+44>>2];b=o[l+32>>2];c=o[l+36>>2];break d}j=g+j|0;b=d;c=b+c|0;if(c>>>0<b>>>0){j=j+1|0}b=c;c=j;g=(g|0)==(c|0)&b>>>0<d>>>0|c>>>0<g>>>0;k=i+p|0;d=e+h|0;if(d>>>0<e>>>0){k=k+1|0}f=d;e=g+d|0;d=k;d=e>>>0<f>>>0?d+1|0:d;f=e;g=d;if(!(d&1048576)){break d}b=b&1|((c&1)<<31|b>>>1);c=f<<31|c>>>1;m=m+1|0;f=(g&1)<<31|f>>>1;g=g>>>1|0}h=0;k=r&-2147483648;if((m|0)>=32767){i=k|2147418112;f=0;g=0;break a}e=0;e:{if((m|0)>0){e=m;break e}ia(l+16|0,b,c,f,g,m+127|0);Ja(l,b,c,f,g,1-m|0);b=o[l>>2]|((o[l+16>>2]|o[l+24>>2])!=0|(o[l+20>>2]|o[l+28>>2])!=0);c=o[l+4>>2];f=o[l+8>>2];g=o[l+12>>2]}m=(c&7)<<29|b>>>3;d=f<<29|c>>>3;j=d;n=b&7;b=n>>>0>4;c=b+m|0;if(c>>>0<b>>>0){j=j+1|0}i=c;b=c;c=j;b=(d|0)==(c|0)&b>>>0<m>>>0|c>>>0<d>>>0;d=h|((g&7)<<29|f>>>3);j=k|g>>>3&65535|e<<16;b=d+b|0;if(b>>>0<d>>>0){j=j+1|0}d=b;e=(n|0)==4;b=e?i&1:0;k=j;h=d;e=0;d=e+c|0;f=b+i|0;if(f>>>0<b>>>0){d=d+1|0}c=f;g=d;b=(e|0)==(d|0)&c>>>0<b>>>0|d>>>0<e>>>0;c=h+b|0;if(c>>>0<b>>>0){k=k+1|0}h=c;i=k}o[a>>2]=f;o[a+4>>2]=g;o[a+8>>2]=h;o[a+12>>2]=i;N=l+112|0}function Nc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,v=0,x=0,y=0,z=0;h=N-560|0;N=h;f=c;c=(c+ -3|0)/24|0;r=(c|0)>0?c:0;k=f+u(r,-24)|0;m=o[1901];i=d+ -1|0;if((m+i|0)>=0){f=d+m|0;c=r-i|0;while(1){t[(h+320|0)+(g<<3)>>3]=(c|0)<0?0:+o[(c<<2)+7616>>2];c=c+1|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}n=k+ -24|0;f=0;g=(m|0)>0?m:0;l=(d|0)<1;while(1){a:{if(l){e=0;break a}j=f+i|0;c=0;e=0;while(1){e=e+t[(c<<3)+a>>3]*t[(h+320|0)+(j-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}t[(f<<3)+h>>3]=e;c=(f|0)==(g|0);f=f+1|0;if(!c){continue}break}y=47-k|0;s=48-k|0;z=k+ -25|0;f=m;b:{while(1){e=t[(f<<3)+h>>3];c=0;g=f;j=(f|0)<1;if(!j){while(1){l=(h+480|0)+(c<<2)|0;p=e;e=e*5.960464477539063e-8;c:{if(w(e)<2147483648){i=~~e;break c}i=-2147483648}e=+(i|0);p=p+e*-16777216;d:{if(w(p)<2147483648){i=~~p;break d}i=-2147483648}o[l>>2]=i;g=g+ -1|0;e=t[(g<<3)+h>>3]+e;c=c+1|0;if((f|0)!=(c|0)){continue}break}}e=ua(e,n);e=e+A(e*.125)*-8;e:{if(w(e)<2147483648){l=~~e;break e}l=-2147483648}e=e- +(l|0);f:{g:{h:{v=(n|0)<1;i:{if(!v){g=(f<<2)+h|0;i=o[g+476>>2];c=i>>s;q=g;g=i-(c<<s)|0;o[q+476>>2]=g;l=c+l|0;i=g>>y;break i}if(n){break h}i=o[((f<<2)+h|0)+476>>2]>>23}if((i|0)<1){break f}break g}i=2;if(!!(e>=.5)){break g}i=0;break f}c=0;g=0;if(!j){while(1){q=(h+480|0)+(c<<2)|0;x=o[q>>2];j=16777215;j:{k:{if(g){break k}j=16777216;if(x){break k}g=0;break j}o[q>>2]=j-x;g=1}c=c+1|0;if((f|0)!=(c|0)){continue}break}}l:{if(v){break l}m:{switch(z|0){case 0:c=(f<<2)+h|0;o[c+476>>2]=o[c+476>>2]&8388607;break l;case 1:break m;default:break l}}c=(f<<2)+h|0;o[c+476>>2]=o[c+476>>2]&4194303}l=l+1|0;if((i|0)!=2){break f}e=1-e;i=2;if(!g){break f}e=e-ua(1,n)}if(e==0){g=0;n:{c=f;if((c|0)<=(m|0)){break n}while(1){c=c+ -1|0;g=o[(h+480|0)+(c<<2)>>2]|g;if((c|0)>(m|0)){continue}break}if(!g){break n}k=n;while(1){k=k+ -24|0;f=f+ -1|0;if(!o[(h+480|0)+(f<<2)>>2]){continue}break}break b}c=1;while(1){g=c;c=c+1|0;if(!o[(h+480|0)+(m-g<<2)>>2]){continue}break}g=f+g|0;while(1){i=d+f|0;f=f+1|0;t[(h+320|0)+(i<<3)>>3]=o[(r+f<<2)+7616>>2];c=0;e=0;if((d|0)>=1){while(1){e=e+t[(c<<3)+a>>3]*t[(h+320|0)+(i-c<<3)>>3];c=c+1|0;if((d|0)!=(c|0)){continue}break}}t[(f<<3)+h>>3]=e;if((f|0)<(g|0)){continue}break}f=g;continue}break}e=ua(e,0-n|0);o:{if(!!(e>=16777216)){d=(h+480|0)+(f<<2)|0;p=e;e=e*5.960464477539063e-8;p:{if(w(e)<2147483648){c=~~e;break p}c=-2147483648}e=p+ +(c|0)*-16777216;q:{if(w(e)<2147483648){a=~~e;break q}a=-2147483648}o[d>>2]=a;f=f+1|0;break o}if(w(e)<2147483648){c=~~e}else{c=-2147483648}k=n}o[(h+480|0)+(f<<2)>>2]=c}e=ua(1,k);r:{if((f|0)<=-1){break r}c=f;while(1){t[(c<<3)+h>>3]=e*+o[(h+480|0)+(c<<2)>>2];e=e*5.960464477539063e-8;a=(c|0)>0;c=c+ -1|0;if(a){continue}break}j=0;if((f|0)<0){break r}a=(m|0)>0?m:0;g=f;while(1){d=a>>>0<j>>>0?a:j;k=f-g|0;c=0;e=0;while(1){e=e+t[(c<<3)+10384>>3]*t[(c+g<<3)+h>>3];n=(c|0)!=(d|0);c=c+1|0;if(n){continue}break}t[(h+160|0)+(k<<3)>>3]=e;g=g+ -1|0;c=(f|0)!=(j|0);j=j+1|0;if(c){continue}break}}e=0;if((f|0)>=0){c=f;while(1){e=e+t[(h+160|0)+(c<<3)>>3];a=(c|0)>0;c=c+ -1|0;if(a){continue}break}}t[b>>3]=i?-e:e;e=t[h+160>>3]-e;c=1;if((f|0)>=1){while(1){e=e+t[(h+160|0)+(c<<3)>>3];a=(c|0)!=(f|0);c=c+1|0;if(a){continue}break}}t[b+8>>3]=i?-e:e;N=h+560|0;return l&7}function X(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a+ -8|0;c=o[a+ -4>>2];a=c&-8;f=d+a|0;b:{if(c&1){break b}if(!(c&3)){break a}c=o[d>>2];d=d-c|0;if(d>>>0<r[2901]){break a}a=a+c|0;if(o[2902]!=(d|0)){if(c>>>0<=255){e=o[d+8>>2];c=c>>>3|0;b=o[d+12>>2];if((b|0)==(e|0)){i=11588,j=o[2897]&He(-2,c),o[i>>2]=j;break b}o[e+12>>2]=b;o[b+8>>2]=e;break b}h=o[d+24>>2];c=o[d+12>>2];c:{if((d|0)!=(c|0)){b=o[d+8>>2];o[b+12>>2]=c;o[c+8>>2]=b;break c}d:{e=d+20|0;b=o[e>>2];if(b){break d}e=d+16|0;b=o[e>>2];if(b){break d}c=0;break c}while(1){g=e;c=b;e=c+20|0;b=o[e>>2];if(b){continue}e=c+16|0;b=o[c+16>>2];if(b){continue}break}o[g>>2]=0}if(!h){break b}e=o[d+28>>2];b=(e<<2)+11892|0;e:{if(o[b>>2]==(d|0)){o[b>>2]=c;if(c){break e}i=11592,j=o[2898]&He(-2,e),o[i>>2]=j;break b}o[h+(o[h+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break b}}o[c+24>>2]=h;b=o[d+16>>2];if(b){o[c+16>>2]=b;o[b+24>>2]=c}b=o[d+20>>2];if(!b){break b}o[c+20>>2]=b;o[b+24>>2]=c;break b}c=o[f+4>>2];if((c&3)!=3){break b}o[2899]=a;o[f+4>>2]=c&-2;o[d+4>>2]=a|1;o[a+d>>2]=a;return}if(f>>>0<=d>>>0){break a}c=o[f+4>>2];if(!(c&1)){break a}f:{if(!(c&2)){if(o[2903]==(f|0)){o[2903]=d;a=o[2900]+a|0;o[2900]=a;o[d+4>>2]=a|1;if(o[2902]!=(d|0)){break a}o[2899]=0;o[2902]=0;return}if(o[2902]==(f|0)){o[2902]=d;a=o[2899]+a|0;o[2899]=a;o[d+4>>2]=a|1;o[a+d>>2]=a;return}a=(c&-8)+a|0;g:{if(c>>>0<=255){b=o[f+8>>2];c=c>>>3|0;e=o[f+12>>2];if((b|0)==(e|0)){i=11588,j=o[2897]&He(-2,c),o[i>>2]=j;break g}o[b+12>>2]=e;o[e+8>>2]=b;break g}h=o[f+24>>2];c=o[f+12>>2];h:{if((f|0)!=(c|0)){b=o[f+8>>2];o[b+12>>2]=c;o[c+8>>2]=b;break h}i:{e=f+20|0;b=o[e>>2];if(b){break i}e=f+16|0;b=o[e>>2];if(b){break i}c=0;break h}while(1){g=e;c=b;e=c+20|0;b=o[e>>2];if(b){continue}e=c+16|0;b=o[c+16>>2];if(b){continue}break}o[g>>2]=0}if(!h){break g}e=o[f+28>>2];b=(e<<2)+11892|0;j:{if(o[b>>2]==(f|0)){o[b>>2]=c;if(c){break j}i=11592,j=o[2898]&He(-2,e),o[i>>2]=j;break g}o[h+(o[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}o[c+24>>2]=h;b=o[f+16>>2];if(b){o[c+16>>2]=b;o[b+24>>2]=c}b=o[f+20>>2];if(!b){break g}o[c+20>>2]=b;o[b+24>>2]=c}o[d+4>>2]=a|1;o[a+d>>2]=a;if(o[2902]!=(d|0)){break f}o[2899]=a;return}o[f+4>>2]=c&-2;o[d+4>>2]=a|1;o[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;c=(a<<3)+11628|0;b=o[2897];a=1<<a;k:{if(!(b&a)){o[2897]=a|b;a=c;break k}a=o[c+8>>2]}o[c+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=c;o[d+8>>2]=a;return}o[d+16>>2]=0;o[d+20>>2]=0;f=d;e=a>>>8|0;b=0;l:{if(!e){break l}b=31;if(a>>>0>16777215){break l}c=e;e=e+1048320>>>16&8;b=c<<e;h=b+520192>>>16&4;b=b<<h;g=b+245760>>>16&2;b=(b<<g>>>15|0)-(g|(e|h))|0;b=(b<<1|a>>>b+21&1)+28|0}o[f+28>>2]=b;g=(b<<2)+11892|0;m:{n:{e=o[2898];c=1<<b;o:{if(!(e&c)){o[2898]=c|e;o[g>>2]=d;o[d+24>>2]=g;break o}e=a<<((b|0)==31?0:25-(b>>>1|0)|0);c=o[g>>2];while(1){b=c;if((o[c+4>>2]&-8)==(a|0)){break n}c=e>>>29|0;e=e<<1;g=b+(c&4)|0;c=o[g+16>>2];if(c){continue}break}o[g+16>>2]=d;o[d+24>>2]=b}o[d+12>>2]=d;o[d+8>>2]=d;break m}a=o[b+8>>2];o[a+12>>2]=d;o[b+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=b;o[d+8>>2]=a}a=o[2905]+ -1|0;o[2905]=a;if(a){break a}d=12044;while(1){a=o[d>>2];d=a+8|0;if(a){continue}break}o[2905]=-1}}function Db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+b|0;a:{b:{c=o[a+4>>2];if(c&1){break b}if(!(c&3)){break a}c=o[a>>2];b=c+b|0;a=a-c|0;if((a|0)!=o[2902]){if(c>>>0<=255){e=c>>>3|0;c=o[a+8>>2];d=o[a+12>>2];if((d|0)==(c|0)){i=11588,j=o[2897]&He(-2,e),o[i>>2]=j;break b}o[c+12>>2]=d;o[d+8>>2]=c;break b}h=o[a+24>>2];c=o[a+12>>2];c:{if((c|0)!=(a|0)){d=o[a+8>>2];o[d+12>>2]=c;o[c+8>>2]=d;break c}d:{d=a+20|0;e=o[d>>2];if(e){break d}d=a+16|0;e=o[d>>2];if(e){break d}c=0;break c}while(1){g=d;c=e;d=c+20|0;e=o[d>>2];if(e){continue}d=c+16|0;e=o[c+16>>2];if(e){continue}break}o[g>>2]=0}if(!h){break b}d=o[a+28>>2];e=(d<<2)+11892|0;e:{if(o[e>>2]==(a|0)){o[e>>2]=c;if(c){break e}i=11592,j=o[2898]&He(-2,d),o[i>>2]=j;break b}o[h+(o[h+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}o[c+24>>2]=h;d=o[a+16>>2];if(d){o[c+16>>2]=d;o[d+24>>2]=c}d=o[a+20>>2];if(!d){break b}o[c+20>>2]=d;o[d+24>>2]=c;break b}c=o[f+4>>2];if((c&3)!=3){break b}o[2899]=b;o[f+4>>2]=c&-2;o[a+4>>2]=b|1;o[f>>2]=b;return}c=o[f+4>>2];f:{if(!(c&2)){if(o[2903]==(f|0)){o[2903]=a;b=o[2900]+b|0;o[2900]=b;o[a+4>>2]=b|1;if(o[2902]!=(a|0)){break a}o[2899]=0;o[2902]=0;return}if(o[2902]==(f|0)){o[2902]=a;b=o[2899]+b|0;o[2899]=b;o[a+4>>2]=b|1;o[a+b>>2]=b;return}b=(c&-8)+b|0;g:{if(c>>>0<=255){e=c>>>3|0;c=o[f+8>>2];d=o[f+12>>2];if((d|0)==(c|0)){i=11588,j=o[2897]&He(-2,e),o[i>>2]=j;break g}o[c+12>>2]=d;o[d+8>>2]=c;break g}h=o[f+24>>2];c=o[f+12>>2];h:{if((f|0)!=(c|0)){d=o[f+8>>2];o[d+12>>2]=c;o[c+8>>2]=d;break h}i:{d=f+20|0;e=o[d>>2];if(e){break i}d=f+16|0;e=o[d>>2];if(e){break i}c=0;break h}while(1){g=d;c=e;d=c+20|0;e=o[d>>2];if(e){continue}d=c+16|0;e=o[c+16>>2];if(e){continue}break}o[g>>2]=0}if(!h){break g}d=o[f+28>>2];e=(d<<2)+11892|0;j:{if(o[e>>2]==(f|0)){o[e>>2]=c;if(c){break j}i=11592,j=o[2898]&He(-2,d),o[i>>2]=j;break g}o[h+(o[h+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break g}}o[c+24>>2]=h;d=o[f+16>>2];if(d){o[c+16>>2]=d;o[d+24>>2]=c}d=o[f+20>>2];if(!d){break g}o[c+20>>2]=d;o[d+24>>2]=c}o[a+4>>2]=b|1;o[a+b>>2]=b;if(o[2902]!=(a|0)){break f}o[2899]=b;return}o[f+4>>2]=c&-2;o[a+4>>2]=b|1;o[a+b>>2]=b}if(b>>>0<=255){c=b>>>3|0;b=(c<<3)+11628|0;d=o[2897];c=1<<c;k:{if(!(d&c)){o[2897]=c|d;c=b;break k}c=o[b+8>>2]}o[b+8>>2]=a;o[c+12>>2]=a;o[a+12>>2]=b;o[a+8>>2]=c;return}o[a+16>>2]=0;o[a+20>>2]=0;d=a;e=b>>>8|0;c=0;l:{if(!e){break l}c=31;if(b>>>0>16777215){break l}g=e+1048320>>>16&8;e=e<<g;c=e+520192>>>16&4;f=e<<c;e=f+245760>>>16&2;c=(f<<e>>>15|0)-(e|(c|g))|0;c=(c<<1|b>>>c+21&1)+28|0}o[d+28>>2]=c;e=(c<<2)+11892|0;m:{d=o[2898];g=1<<c;n:{if(!(d&g)){o[2898]=d|g;o[e>>2]=a;break n}d=b<<((c|0)==31?0:25-(c>>>1|0)|0);c=o[e>>2];while(1){e=c;if((o[c+4>>2]&-8)==(b|0)){break m}c=d>>>29|0;d=d<<1;g=e+(c&4)|0;c=o[g+16>>2];if(c){continue}break}o[g+16>>2]=a}o[a+24>>2]=e;o[a+12>>2]=a;o[a+8>>2]=a;return}b=o[e+8>>2];o[b+12>>2]=a;o[e+8>>2]=a;o[a+24>>2]=0;o[a+12>>2]=e;o[a+8>>2]=b}}function hb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,n=0,q=0,s=0,t=0,v=0;d=Ga(o[2720]);a:{if(!_(b,o[a+4>>2],o[1391])){break a}if(!_(b,o[a>>2],o[1392])){break a}c=o[a+8>>2];c=o[a>>2]==4?(c+d|0)-o[a+16>>2]|0:c;e=o[1393];if(c>>>e){break a}if(!_(b,c,e)){break a}b:{c:{d:{e:{f:{g:{h:{switch(o[a>>2]){case 3:if(!o[a+16>>2]){break b}e=o[1367];g=o[1366];h=o[1365];c=0;break g;case 0:if(!_(b,o[a+16>>2],o[1356])){break a}if(!_(b,o[a+20>>2],o[1357])){break a}if(!_(b,o[a+24>>2],o[1358])){break a}if(!_(b,o[a+28>>2],o[1359])){break a}if(!_(b,o[a+32>>2],o[1360])){break a}if(!_(b,o[a+36>>2]+ -1|0,o[1361])){break a}if(!_(b,o[a+40>>2]+ -1|0,o[1362])){break a}if(!Da(b,o[a+48>>2],o[a+52>>2],o[1363])){break a}if(ma(b,a+56|0,16)){break b}break a;case 1:if(Ca(b,o[a+8>>2]<<3)){break b}break a;case 6:break d;case 5:break e;case 4:break f;case 2:break h;default:break c}}c=o[1364]>>>3|0;if(!ma(b,a+16|0,c)){break a}if(ma(b,o[a+20>>2],o[a+8>>2]-c|0)){break b}break a}while(1){d=u(c,24);f=d+o[a+20>>2]|0;if(!Da(b,o[f>>2],o[f+4>>2],h)){break a}f=d+o[a+20>>2]|0;if(!Da(b,o[f+8>>2],o[f+12>>2],g)){break a}if(!_(b,o[(d+o[a+20>>2]|0)+16>>2],e)){break a}c=c+1|0;if(c>>>0<r[a+16>>2]){continue}break}break b}if(!bb(b,d)){break a}if(!ma(b,o[2720],d)){break a}if(!bb(b,o[a+24>>2])){break a}if(!o[a+24>>2]){break b}c=0;while(1){d=c<<3;if(!bb(b,o[d+o[a+28>>2]>>2])){break a}d=d+o[a+28>>2]|0;if(!ma(b,o[d+4>>2],o[d>>2])){break a}c=c+1|0;if(c>>>0<r[a+24>>2]){continue}break}break b}if(!ma(b,a+16|0,o[1378]>>>3|0)){break a}if(!Da(b,o[a+152>>2],o[a+156>>2],o[1379])){break a}if(!_(b,o[a+160>>2]!=0,o[1380])){break a}if(!Ca(b,o[1381])){break a}if(!_(b,o[a+164>>2],o[1382])){break a}if(!o[a+164>>2]){break b}g=o[1373]>>>3|0;h=o[1370];f=o[1369];j=o[1368];k=o[1377];l=o[1376];n=o[1375];q=o[1374];s=o[1372];t=o[1371];e=0;while(1){d=o[a+168>>2]+(e<<5)|0;if(!Da(b,o[d>>2],o[d+4>>2],t)){break a}if(!_(b,p[d+8|0],s)){break a}if(!ma(b,d+9|0,g)){break a}if(!_(b,m[d+22|0]&1,q)){break a}if(!_(b,p[d+22|0]>>>1&1,n)){break a}if(!Ca(b,l)){break a}if(!_(b,p[d+23|0],k)){break a}i:{if(!p[d+23|0]){break i}c=0;while(1){i=o[d+24>>2]+(c<<4)|0;if(!Da(b,o[i>>2],o[i+4>>2],j)){return 0}if(!_(b,p[i+8|0],f)){return 0}if(Ca(b,h)){c=c+1|0;if(c>>>0>=p[d+23|0]){break i}continue}break}return 0}e=e+1|0;if(e>>>0<r[a+164>>2]){continue}break}break b}if(!_(b,o[a+16>>2],o[1383])){break a}c=Ga(o[a+20>>2]);if(!_(b,c,o[1384])){break a}if(!ma(b,o[a+20>>2],c)){break a}c=Ga(o[a+24>>2]);if(!_(b,c,o[1385])){break a}if(!ma(b,o[a+24>>2],c)){break a}if(!_(b,o[a+28>>2],o[1386])){break a}if(!_(b,o[a+32>>2],o[1387])){break a}if(!_(b,o[a+36>>2],o[1388])){break a}if(!_(b,o[a+40>>2],o[1389])){break a}if(!_(b,o[a+44>>2],o[1390])){break a}if(ma(b,o[a+48>>2],o[a+44>>2])){break b}break a}if(!ma(b,o[a+16>>2],o[a+8>>2])){break a}}v=1}return v}function Rd(a,b,c,d,e,f,g,h,i){var j=0,k=0,n=0,q=0,r=0;j=N-96|0;N=j;a:{b:{if(o[a+384>>2]){o[j+72>>2]=0;o[j+76>>2]=0;o[j+80>>2]=0;o[j+84>>2]=0;o[j+88>>2]=0;o[j+92>>2]=0;o[j+64>>2]=0;o[j+68>>2]=0;k=o[a+396>>2];n=d;q=o[a+392>>2];r=d+q|0;if(r>>>0<q>>>0){k=k+1|0}o[j+80>>2]=r;o[j+84>>2]=k;c:{d:{if(o[a+388>>2]){if((c|0)!=38){break c}m[j|0]=p[7536];c=o[2721];c=p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24);m[j+5|0]=1;m[j+6|0]=0;m[j+1|0]=c;m[j+2|0]=c>>>8;m[j+3|0]=c>>>16;m[j+4|0]=c>>>24;k=o[a+4>>2];c=p[5409]|p[5410]<<8|(p[5411]<<16|p[5412]<<24);m[j+9|0]=c;m[j+10|0]=c>>>8;m[j+11|0]=c>>>16;m[j+12|0]=c>>>24;m[j+8|0]=k;m[j+7|0]=k>>>8;c=p[b+34|0]|p[b+35|0]<<8|(p[b+36|0]<<16|p[b+37|0]<<24);k=p[b+30|0]|p[b+31|0]<<8|(p[b+32|0]<<16|p[b+33|0]<<24);m[j+43|0]=k;m[j+44|0]=k>>>8;m[j+45|0]=k>>>16;m[j+46|0]=k>>>24;m[j+47|0]=c;m[j+48|0]=c>>>8;m[j+49|0]=c>>>16;m[j+50|0]=c>>>24;c=p[b+28|0]|p[b+29|0]<<8|(p[b+30|0]<<16|p[b+31|0]<<24);k=p[b+24|0]|p[b+25|0]<<8|(p[b+26|0]<<16|p[b+27|0]<<24);m[j+37|0]=k;m[j+38|0]=k>>>8;m[j+39|0]=k>>>16;m[j+40|0]=k>>>24;m[j+41|0]=c;m[j+42|0]=c>>>8;m[j+43|0]=c>>>16;m[j+44|0]=c>>>24;c=p[b+20|0]|p[b+21|0]<<8|(p[b+22|0]<<16|p[b+23|0]<<24);k=p[b+16|0]|p[b+17|0]<<8|(p[b+18|0]<<16|p[b+19|0]<<24);m[j+29|0]=k;m[j+30|0]=k>>>8;m[j+31|0]=k>>>16;m[j+32|0]=k>>>24;m[j+33|0]=c;m[j+34|0]=c>>>8;m[j+35|0]=c>>>16;m[j+36|0]=c>>>24;c=p[b+12|0]|p[b+13|0]<<8|(p[b+14|0]<<16|p[b+15|0]<<24);k=p[b+8|0]|p[b+9|0]<<8|(p[b+10|0]<<16|p[b+11|0]<<24);m[j+21|0]=k;m[j+22|0]=k>>>8;m[j+23|0]=k>>>16;m[j+24|0]=k>>>24;m[j+25|0]=c;m[j+26|0]=c>>>8;m[j+27|0]=c>>>16;m[j+28|0]=c>>>24;c=p[b+4|0]|p[b+5|0]<<8|(p[b+6|0]<<16|p[b+7|0]<<24);b=p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24);m[j+13|0]=b;m[j+14|0]=b>>>8;m[j+15|0]=b>>>16;m[j+16|0]=b>>>24;m[j+17|0]=c;m[j+18|0]=c>>>8;m[j+19|0]=c>>>16;m[j+20|0]=c>>>24;o[j+68>>2]=51;o[j+72>>2]=1;o[j+64>>2]=j;o[a+388>>2]=0;break d}o[j+68>>2]=c;o[j+64>>2]=b}if(f){o[j+76>>2]=1}b=a+8|0;if(xc(b,j- -64|0)){break c}c=a+368|0;if(!d){while(1){if(!rb(b,c,1)){break b}if(l[g](h,o[a+368>>2],o[a+372>>2],0,e,i)){break c}if(!l[g](h,o[a+376>>2],o[a+380>>2],0,e,i)){continue}break c}}while(1){if(!uc(b,c)){break b}if(l[g](h,o[a+368>>2],o[a+372>>2],0,e,i)){break c}if(!l[g](h,o[a+376>>2],o[a+380>>2],0,e,i)){continue}break}}g=1;break a}g=1;if(d|e|(c|0)!=4|(p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24))!=(p[5409]|p[5410]<<8|(p[5411]<<16|p[5412]<<24))){break a}o[a+384>>2]=1;n=d}b=a;d=b;c=o[b+396>>2];a=n+o[b+392>>2]|0;if(a>>>0<n>>>0){c=c+1|0}o[d+392>>2]=a;o[b+396>>2]=c;g=0}N=j+96|0;return g}function Oc(a,b){var c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;k=N-48|0;N=k;h(+a);j=e(1)|0;d=e(0)|0;a:{b:{i=j;j=i;l=i&2147483647;c:{if(l>>>0<=1074752122){if((j&1048575)==598523){break c}if(l>>>0<=1073928572){if((i|0)>0?1:(i|0)>=0?d>>>0<0?0:1:0){a=a+ -1.5707963267341256;c=a+ -6.077100506506192e-11;t[b>>3]=c;t[b+8>>3]=a-c+ -6.077100506506192e-11;d=1;break a}a=a+1.5707963267341256;c=a+6.077100506506192e-11;t[b>>3]=c;t[b+8>>3]=a-c+6.077100506506192e-11;d=-1;break a}if((i|0)>0?1:(i|0)>=0?d>>>0<0?0:1:0){a=a+ -3.1415926534682512;c=a+ -1.2154201013012384e-10;t[b>>3]=c;t[b+8>>3]=a-c+ -1.2154201013012384e-10;d=2;break a}a=a+3.1415926534682512;c=a+1.2154201013012384e-10;t[b>>3]=c;t[b+8>>3]=a-c+1.2154201013012384e-10;d=-2;break a}if(l>>>0<=1075594811){if(l>>>0<=1075183036){if((l|0)==1074977148){break c}if((i|0)>0?1:(i|0)>=0?d>>>0<0?0:1:0){a=a+ -4.712388980202377;c=a+ -1.8231301519518578e-10;t[b>>3]=c;t[b+8>>3]=a-c+ -1.8231301519518578e-10;d=3;break a}a=a+4.712388980202377;c=a+1.8231301519518578e-10;t[b>>3]=c;t[b+8>>3]=a-c+1.8231301519518578e-10;d=-3;break a}if((l|0)==1075388923){break c}if((i|0)>0?1:(i|0)>=0?d>>>0<0?0:1:0){a=a+ -6.2831853069365025;c=a+ -2.430840202602477e-10;t[b>>3]=c;t[b+8>>3]=a-c+ -2.430840202602477e-10;d=4;break a}a=a+6.2831853069365025;c=a+2.430840202602477e-10;t[b>>3]=c;t[b+8>>3]=a-c+2.430840202602477e-10;d=-4;break a}if(l>>>0>1094263290){break b}}n=a*.6366197723675814+6755399441055744+ -6755399441055744;c=a+n*-1.5707963267341256;m=n*6.077100506506192e-11;a=c-m;t[b>>3]=a;h(+a);d=e(1)|0;e(0)|0;i=l>>>20|0;j=(i-(d>>>20&2047)|0)<17;if(w(n)<2147483648){d=~~n}else{d=-2147483648}d:{if(j){break d}m=c;a=n*6.077100506303966e-11;c=c-a;m=n*2.0222662487959506e-21-(m-c-a);a=c-m;t[b>>3]=a;j=i;h(+a);i=e(1)|0;e(0)|0;if((j-(i>>>20&2047)|0)<50){break d}m=c;a=n*2.0222662487111665e-21;c=c-a;m=n*8.4784276603689e-32-(m-c-a);a=c-m;t[b>>3]=a}t[b+8>>3]=c-a-m;break a}if(l>>>0>=2146435072){a=a-a;t[b>>3]=a;t[b+8>>3]=a;d=0;break a}f(0,d|0);f(1,i&1048575|1096810496);a=+g();d=0;j=1;while(1){p=(k+16|0)+(d<<3)|0;if(w(a)<2147483648){d=~~a}else{d=-2147483648}c=+(d|0);t[p>>3]=c;a=(a-c)*16777216;d=1;p=j&1;j=0;if(p){continue}break}t[k+32>>3]=a;e:{if(a!=0){d=2;break e}j=1;while(1){d=j;j=d+ -1|0;if(t[(k+16|0)+(d<<3)>>3]==0){continue}break}}d=Nc(k+16|0,k,(l>>>20|0)+ -1046|0,d+1|0);a=t[k>>3];if((i|0)<-1?1:(i|0)<=-1?1:0){t[b>>3]=-a;t[b+8>>3]=-t[k+8>>3];d=0-d|0;break a}t[b>>3]=a;i=o[k+12>>2];o[b+8>>2]=o[k+8>>2];o[b+12>>2]=i}N=k+48|0;return d}function vc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,q=0,r=0;e=-1;a:{b:{if(!a){break b}g=o[a>>2];if(!g){break b}d=o[b>>2];k=p[d+5|0];f=o[b+12>>2];l=o[b+8>>2];i=p[d+26|0];n=p[d+18|0]|p[d+19|0]<<8|(p[d+20|0]<<16|p[d+21|0]<<24);j=p[d+14|0]|p[d+15|0]<<8|(p[d+16|0]<<16|p[d+17|0]<<24);q=p[d+6|0]|p[d+7|0]<<8|(p[d+8|0]<<16|p[d+9|0]<<24);r=p[d+10|0]|p[d+11|0]<<8|(p[d+12|0]<<16|p[d+13|0]<<24);m=p[d+4|0];c=o[a+36>>2];b=o[a+12>>2];if(b){h=o[a+8>>2]-b|0;o[a+8>>2]=h;if(h){pa(g,b+g|0,h)}o[a+12>>2]=0}if(c){b=a;g=o[a+28>>2]-c|0;if(g){h=o[a+16>>2];pa(h,h+(c<<2)|0,g<<2);g=o[a+20>>2];pa(g,g+(c<<3)|0,o[a+28>>2]-c<<3);h=o[a+28>>2]-c|0}else{h=0}o[b+28>>2]=h;o[a+36>>2]=0;o[a+32>>2]=o[a+32>>2]-c}if((j|0)!=o[a+336>>2]|m){break b}if(Hb(a,i+1|0)){break b}h=k&1;g=o[a+340>>2];c:{if((g|0)==(n|0)){break c}c=o[a+32>>2];j=o[a+28>>2];if((c|0)<(j|0)){e=o[a+8>>2];m=o[a+16>>2];b=c;while(1){e=e-p[m+(b<<2)|0]|0;b=b+1|0;if((b|0)<(j|0)){continue}break}o[a+8>>2]=e}o[a+28>>2]=c;if((g|0)==-1){break c}b=c+1|0;o[a+28>>2]=b;o[o[a+16>>2]+(c<<2)>>2]=1024;o[a+32>>2]=b}g=k&2;e=0;d:{if(!h){break d}b=o[a+28>>2];if(o[(o[a+16>>2]+(b<<2)|0)+ -4>>2]!=1024?(b|0)>=1:0){break d}g=0;if(!i){break d}b=0;while(1){e=b+1|0;b=p[(b+d|0)+27|0];f=f-b|0;l=b+l|0;if((b|0)!=255){break d}b=e;if((i|0)!=(b|0)){continue}break}e=i}if(f){c=o[a+4>>2];b=o[a+8>>2];e:{if((c-f|0)>(b|0)){c=o[a>>2];break e}if((c|0)>(2147483647-f|0)){break a}b=c+f|0;b=(b|0)<2147482623?b+1024|0:b;c=ea(o[a>>2],b);if(!c){break a}o[a>>2]=c;o[a+4>>2]=b;b=o[a+8>>2]}ca(b+c|0,l,f);o[a+8>>2]=o[a+8>>2]+f}l=k&4;f:{if((e|0)>=(i|0)){break f}k=o[a+20>>2];h=o[a+16>>2];c=o[a+28>>2];b=h+(c<<2)|0;f=p[(d+e|0)+27|0];o[b>>2]=f;j=k+(c<<3)|0;o[j>>2]=-1;o[j+4>>2]=-1;if(g){o[b>>2]=f|256}b=c+1|0;o[a+28>>2]=b;e=e+1|0;g:{if((f|0)==255){c=-1;break g}o[a+32>>2]=b}if((e|0)!=(i|0)){while(1){g=p[(d+e|0)+27|0];o[h+(b<<2)>>2]=g;f=k+(b<<3)|0;o[f>>2]=-1;o[f+4>>2]=-1;f=b+1|0;o[a+28>>2]=f;e=e+1|0;if((g|0)!=255){o[a+32>>2]=f;c=b}b=f;if((e|0)!=(i|0)){continue}break}}if((c|0)==-1){break f}b=o[a+20>>2]+(c<<3)|0;o[b>>2]=q;o[b+4>>2]=r}h:{if(!l){break h}o[a+328>>2]=1;b=o[a+28>>2];if((b|0)<1){break h}b=(o[a+16>>2]+(b<<2)|0)+ -4|0;o[b>>2]=o[b>>2]|512}o[a+340>>2]=n+1;e=0}return e}b=o[a>>2];if(b){X(b)}b=o[a+16>>2];if(b){X(b)}b=o[a+20>>2];if(b){X(b)}fa(a,360);return-1}function Rc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=N-48|0;N=e;k=o[2644];l=o[2641];while(1){c=o[b+4>>2];a:{if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break a}c=ga(b)}if((c|0)==32|c+ -9>>>0<5){continue}break}g=1;b:{c:{switch(c+ -43|0){case 0:case 2:break c;default:break b}}g=(c|0)==45?-1:1;c=o[b+4>>2];if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break b}c=ga(b)}d:{e:{f:{while(1){if(m[d+10484|0]==(c|32)){g:{if(d>>>0>6){break g}c=o[b+4>>2];if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break g}c=ga(b)}d=d+1|0;if((d|0)!=8){continue}break f}break}if((d|0)!=3){if((d|0)==8){break f}if(d>>>0<4){break e}if((d|0)==8){break f}}c=o[b+104>>2];if(c){o[b+4>>2]=o[b+4>>2]+ -1}if(d>>>0<4){break f}while(1){if(c){o[b+4>>2]=o[b+4>>2]+ -1}d=d+ -1|0;if(d>>>0>3){continue}break}}Sc(e,v(v(g|0)*v(F)));h=o[e+8>>2];f=o[e+12>>2];i=o[e>>2];j=o[e+4>>2];break d}h:{i:{j:{if(d){break j}d=0;while(1){if(m[d+10493|0]!=(c|32)){break j}k:{if(d>>>0>1){break k}c=o[b+4>>2];if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break k}c=ga(b)}d=d+1|0;if((d|0)!=3){continue}break}break i}l:{switch(d|0){case 0:m:{if((c|0)!=48){break m}d=o[b+4>>2];n:{if(d>>>0<r[b+104>>2]){o[b+4>>2]=d+1;d=p[d|0];break n}d=ga(b)}if((d&-33)==88){Bc(e+16|0,b,l,k,g);h=o[e+24>>2];f=o[e+28>>2];i=o[e+16>>2];j=o[e+20>>2];break d}if(!o[b+104>>2]){break m}o[b+4>>2]=o[b+4>>2]+ -1}Dc(e+32|0,b,c,l,k,g);h=o[e+40>>2];f=o[e+44>>2];i=o[e+32>>2];j=o[e+36>>2];break d;case 3:break i;default:break l}}if(o[b+104>>2]){o[b+4>>2]=o[b+4>>2]+ -1}break h}o:{c=o[b+4>>2];p:{if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break p}c=ga(b)}if((c|0)==40){d=1;break o}f=2147450880;if(!o[b+104>>2]){break d}o[b+4>>2]=o[b+4>>2]+ -1;break d}while(1){q:{c=o[b+4>>2];r:{if(c>>>0<r[b+104>>2]){o[b+4>>2]=c+1;c=p[c|0];break r}c=ga(b)}if(!(c+ -48>>>0<10|c+ -65>>>0<26|(c|0)==95)){if(c+ -97>>>0>=26){break q}}d=d+1|0;continue}break}f=2147450880;if((c|0)==41){break d}c=o[b+104>>2];if(c){o[b+4>>2]=o[b+4>>2]+ -1}if(!d){break d}while(1){d=d+ -1|0;if(c){o[b+4>>2]=o[b+4>>2]+ -1}if(d){continue}break}break d}o[2896]=28;o[b+112>>2]=0;o[b+116>>2]=0;c=o[b+8>>2];d=c-o[b+4>>2]|0;o[b+120>>2]=d;o[b+124>>2]=d>>31;o[b+104>>2]=c}o[a>>2]=i;o[a+4>>2]=j;o[a+8>>2]=h;o[a+12>>2]=f;N=e+48|0}function Fa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;f=N-16|0;N=f;d=cb(o[o[a+4>>2]+6856>>2],f+4|0,f);h=o[a>>2];a:{b:{if(!d){o[h>>2]=8;break b}c:{if(!o[h+4>>2]){break c}h=o[a+4>>2];o[h+11804>>2]=o[f+4>>2];o[h+11812>>2]=o[f>>2];if(!o[h+11756>>2]){o[h+11760>>2]=1;break c}if(Ob(o[h+11752>>2])){break c}b=o[o[a+4>>2]+6856>>2];o[b+12>>2]=0;o[b+16>>2]=0;a=o[a>>2];if(o[a>>2]==4){break a}o[a>>2]=3;break a}h=o[f>>2];r=o[f+4>>2];o[f+8>>2]=0;o[f+12>>2]=0;d:{e:{d=o[a+4>>2];e=o[d+7272>>2];if(!e){break e}if((l[e](a,f+8|0,o[d+7288>>2])|0)!=1){break e}break d}f:{if(b){break f}g:{switch(p[r|0]&127){case 0:e=o[f+12>>2];d=o[a>>2];o[d+608>>2]=o[f+8>>2];o[d+612>>2]=e;break f;case 3:break g;default:break f}}d=o[a>>2];if(o[d+616>>2]|o[d+620>>2]){break f}e=o[f+12>>2];o[d+616>>2]=o[f+8>>2];o[d+620>>2]=e}j=o[a+4>>2];i=o[j+7048>>2];h:{if(!i){break h}g=o[a>>2];e=g;d=o[e+628>>2];e=o[e+624>>2];n=d;if(!(e|d)){break h}s=o[i>>2];if(!s){break h}k=o[j+7292>>2];if(k>>>0>=s>>>0){break h}q=o[j+7316>>2];d=q;t=o[j+7312>>2];v=o[g+36>>2];g=v;m=t+g|0;if(m>>>0<g>>>0){d=d+1|0}g=m+ -1|0;d=d+ -1|0;d=(g|0)!=-1?d+1|0:d;w=g;x=o[i+4>>2];while(1){m=u(k,24)+x|0;i=m;g=o[i>>2];i=o[i+4>>2];if((d|0)==(i|0)&g>>>0>w>>>0|i>>>0>d>>>0){break h}if((i|0)==(q|0)&g>>>0>=t>>>0|i>>>0>q>>>0){o[m>>2]=t;o[m+4>>2]=q;i=o[f+8>>2];g=o[f+12>>2];o[m+16>>2]=v;o[m+8>>2]=i-e;o[m+12>>2]=g-(n+(i>>>0<e>>>0)|0)}k=k+1|0;o[j+7292>>2]=k;if((k|0)!=(s|0)){continue}break}}i:{if(o[j+7260>>2]){c=Rd(o[a>>2]+632|0,r,h,b,o[j+7056>>2],c,o[j+7276>>2],a,o[j+7288>>2]);break i}c=l[o[j+7276>>2]](a,r,h,b,o[j+7056>>2],o[j+7288>>2])|0}if(!c){c=o[a+4>>2];e=c;g=c;d=o[c+7308>>2];n=h+o[c+7304>>2]|0;if(n>>>0<h>>>0){d=d+1|0}o[g+7304>>2]=n;o[e+7308>>2]=d;e=o[c+7316>>2];d=b;n=d+o[c+7312>>2]|0;if(n>>>0<d>>>0){e=e+1|0}o[c+7312>>2]=n;o[c+7316>>2]=e;k=1;h=o[c+7320>>2];d=o[c+7056>>2]+1|0;o[c+7320>>2]=h>>>0>d>>>0?h:d;c=o[o[a+4>>2]+6856>>2];o[c+12>>2]=0;o[c+16>>2]=0;if(!b){break a}b=o[a+4>>2]+6896|0;c=o[b>>2];g=b;b=o[f>>2];o[g>>2]=b>>>0<c>>>0?b:c;c=o[a+4>>2]+6900|0;a=o[c>>2];o[c>>2]=b>>>0>a>>>0?b:a;break a}}o[o[a>>2]>>2]=5;b=o[o[a+4>>2]+6856>>2];o[b+12>>2]=0;o[b+16>>2]=0;o[o[a>>2]>>2]=5}k=0}N=f+16|0;return k}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=N-16|0;N=f;a:{if(!_(b,o[1394],o[1395])){break a}if(!_(b,0,o[1396])){break a}if(!_(b,o[a+20>>2]!=0,o[1397])){break a}i=16;j=1;d=b;b:{c:{d:{e:{f:{g:{h:{i:{j:{c=o[a>>2];if((c|0)<=2047){if((c|0)<=575){e=1;if((c|0)==192){break b}if((c|0)==256){break g}if((c|0)!=512){break c}e=9;break b}if((c|0)==576){break j}if((c|0)==1024){break f}if((c|0)!=1152){break c}e=3;break b}if((c|0)<=4607){if((c|0)==2048){break e}if((c|0)==2304){break i}if((c|0)!=4096){break c}e=12;break b}if((c|0)<=16383){if((c|0)==4608){break h}if((c|0)!=8192){break c}e=13;break b}if((c|0)==16384){break d}if((c|0)!=32768){break c}e=15;break b}e=2;break b}e=4;break b}e=5;break b}e=8;break b}e=10;break b}e=11;break b}e=14;break b}c=c>>>0<257;i=c?8:16;j=0;e=c?6:7}if(!_(d,e,o[1398])){break a}k:{l:{m:{n:{o:{p:{q:{r:{c=o[a+4>>2];if((c|0)<=44099){if((c|0)<=22049){if((c|0)==8e3){break r}if((c|0)!=16e3){break l}d=5;break k}if((c|0)==22050){break q}if((c|0)==24e3){break p}if((c|0)!=32e3){break l}d=8;break k}if((c|0)<=95999){if((c|0)==44100){break o}if((c|0)==48e3){break n}d=1;if((c|0)==88200){break k}break l}if((c|0)==96e3){break m}if((c|0)!=192e3){if((c|0)!=176400){break l}d=2;break k}d=3;break k}d=4;break k}d=6;break k}d=7;break k}d=9;break k}d=10;break k}d=11;break k}g=(c>>>0)%1e3|0;if(c>>>0<=255e3){d=12;h=12;if(!g){break k}}if(!((c>>>0)%10)){d=14;h=14;break k}d=c>>>0<65536?13:0;h=d}g=0;if(!_(b,d,o[1399])){break a}s:{t:{switch(o[a+12>>2]){case 0:d=o[a+8>>2]+ -1|0;break s;case 1:d=8;break s;case 2:d=9;break s;case 3:break t;default:break s}}d=10}if(!_(b,d,o[1400])){break a}d=b;c=He(o[a+16>>2]+ -8|0,30);if(c>>>0<=4){c=o[(c<<2)+10464>>2]}else{c=0}if(!_(d,c,o[1401])){break a}if(!_(b,0,o[1402])){break a}u:{if(!o[a+20>>2]){if(se(b,o[a+24>>2])){break u}break a}if(!re(b,o[a+24>>2],o[a+28>>2])){break a}}if(!j){if(!_(b,o[a>>2]+ -1|0,i)){break a}}v:{w:{switch(h+ -12|0){case 0:if(_(b,r[a+4>>2]/1e3|0,8)){break v}break a;case 1:if(_(b,o[a+4>>2],16)){break v}break a;case 2:break w;default:break v}}if(!_(b,r[a+4>>2]/10|0,16)){break a}}if(!te(b,f+15|0)){break a}g=(_(b,p[f+15|0],o[1403])|0)!=0}N=f+16|0;return g}function zb(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=N-128|0;N=j;a:{b:{c:{if(!za(f,g,h,i,0,0,0,0)){break c}m=Qc(f,g,h,i);u=e>>>16|0;q=u&32767;if((q|0)==32767){break c}if(m){break b}}$(j+16|0,b,c,d,e,f,g,h,i);e=o[j+16>>2];d=o[j+20>>2];c=o[j+24>>2];b=o[j+28>>2];Kb(j,e,d,c,b,e,d,c,b);d=o[j+8>>2];e=o[j+12>>2];h=o[j>>2];i=o[j+4>>2];break a}n=e&65535|q<<16;l=n;k=d;n=h;t=i>>>16&32767;r=i&65535|t<<16;if((za(b,c,k,l,f,g,h,r)|0)<=0){if(za(b,c,k,l,f,g,n,r)){h=b;i=c;break a}$(j+112|0,b,c,d,e,0,0,0,0);d=o[j+120>>2];e=o[j+124>>2];h=o[j+112>>2];i=o[j+116>>2];break a}if(q){i=c;h=b}else{$(j+96|0,b,c,k,l,0,0,0,1081540608);h=o[j+108>>2];l=h;k=o[j+104>>2];q=(h>>>16|0)+ -120|0;i=o[j+100>>2];h=o[j+96>>2]}if(!t){$(j+80|0,f,g,n,r,0,0,0,1081540608);f=o[j+92>>2];r=f;n=o[j+88>>2];t=(f>>>16|0)+ -120|0;g=o[j+84>>2];f=o[j+80>>2]}w=n;m=n;n=k-m|0;l=l&65535|65536;v=r&65535|65536;p=(g|0)==(i|0)&h>>>0<f>>>0|i>>>0<g>>>0;m=(l-(v+(k>>>0<m>>>0)|0)|0)-(n>>>0<p>>>0)|0;s=n-p|0;p=(m|0)>-1?1:0;n=h-f|0;r=i-((h>>>0<f>>>0)+g|0)|0;if((q|0)>(t|0)){while(1){d:{if(p){if(!(n|s|(m|r))){$(j+32|0,b,c,d,e,0,0,0,0);d=o[j+40>>2];e=o[j+44>>2];h=o[j+32>>2];i=o[j+36>>2];break a}k=r>>>31|0;l=0;h=s;p=m<<1|h>>>31;h=h<<1;break d}m=l<<1|k>>>31;k=k<<1;l=m;n=h;r=i;p=0;h=i>>>31|0}k=h|k;i=k;h=w;s=i-h|0;l=l|p;m=l-((i>>>0<h>>>0)+v|0)|0;h=n;p=r<<1|h>>>31;h=h<<1;i=p;p=(g|0)==(i|0)&h>>>0<f>>>0|i>>>0<g>>>0;m=m-(s>>>0<p>>>0)|0;s=s-p|0;p=(m|0)>-1?1:0;n=h-f|0;r=i-((h>>>0<f>>>0)+g|0)|0;q=q+ -1|0;if((q|0)>(t|0)){continue}break}q=t}e:{if(!p){break e}h=n;k=s;i=r;l=m;if(h|k|(i|l)){break e}$(j+48|0,b,c,d,e,0,0,0,0);d=o[j+56>>2];e=o[j+60>>2];h=o[j+48>>2];i=o[j+52>>2];break a}if((l|0)==65535|l>>>0<65535){while(1){d=i>>>31|0;b=0;q=q+ -1|0;m=i<<1|h>>>31;h=h<<1;i=m;p=l<<1|k>>>31;k=k<<1|d;b=b|p;l=b;if((b|0)==65536&k>>>0<0|b>>>0<65536){continue}break}}b=u&32768;if((q|0)<=0){$(j- -64|0,h,i,k,l&65535|(b|q+120)<<16,0,0,0,1065811968);d=o[j+72>>2];e=o[j+76>>2];h=o[j+64>>2];i=o[j+68>>2];break a}d=k;e=l&65535|(b|q)<<16}o[a>>2]=h;o[a+4>>2]=i;o[a+8>>2]=d;o[a+12>>2]=e;N=j+128|0}function xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;d=o[a>>2];j=o[d+36>>2];r=j+1|0;a:{b:{k=o[d+24>>2];if(!(!o[d+16>>2]|(k|0)!=2)){while(1){f=o[a+4>>2];if(o[d+4>>2]){d=o[f+11800>>2];e=r-o[f+7052>>2]|0;g=c-i|0;h=e>>>0<g>>>0?e:g;c:{if(!h){break c}if(!k){d=d+h|0;break c}e=i<<1;l=o[f+11768>>2];q=o[f+11764>>2];g=0;while(1){n=d<<2;p=e<<2;o[n+q>>2]=o[p+b>>2];o[l+n>>2]=o[(p|4)+b>>2];d=d+1|0;e=e+2|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}o[f+11800>>2]=d}e=i>>>0<c>>>0;d=o[f+7052>>2];d:{if(d>>>0>j>>>0|i>>>0>=c>>>0){break d}l=o[f+40>>2];q=o[f+8>>2];n=o[f+36>>2];p=o[f+4>>2];while(1){e=d<<2;h=(m<<2)+b|0;g=o[h>>2];o[e+p>>2]=g;h=o[h+4>>2];o[e+q>>2]=h;o[e+l>>2]=g-h;o[e+n>>2]=g+h>>1;d=d+1|0;m=m+2|0;i=i+1|0;e=i>>>0<c>>>0;if(i>>>0>=c>>>0){break d}if(d>>>0<=j>>>0){continue}break}}o[f+7052>>2]=d;if(d>>>0>j>>>0){h=0;if(!Oa(a,0,0)){break a}d=o[a+4>>2];g=o[d+4>>2];h=g;g=j<<2;o[h>>2]=o[h+g>>2];f=o[d+8>>2];o[f>>2]=o[f+g>>2];f=o[d+36>>2];o[f>>2]=o[f+g>>2];f=o[d+40>>2];o[f>>2]=o[f+g>>2];o[d+7052>>2]=1}if(!e){break b}d=o[a>>2];continue}}while(1){i=o[a+4>>2];if(o[d+4>>2]){g=o[i+11800>>2];d=r-o[i+7052>>2]|0;e=c-f|0;h=d>>>0<e>>>0?d:e;e:{if(!h){break e}if(!k){g=g+h|0;break e}e=u(f,k);l=0;while(1){d=0;while(1){o[o[(i+(d<<2)|0)+11764>>2]+(g<<2)>>2]=o[(e<<2)+b>>2];e=e+1|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}g=g+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}o[i+11800>>2]=g}g=f>>>0<c>>>0;e=o[i+7052>>2];f:{if(e>>>0>j>>>0|f>>>0>=c>>>0){break f}if(k){while(1){d=0;while(1){o[o[(i+(d<<2)|0)+4>>2]+(e<<2)>>2]=o[(m<<2)+b>>2];m=m+1|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}e=e+1|0;f=f+1|0;g=f>>>0<c>>>0;if(f>>>0>=c>>>0){break f}if(e>>>0<=j>>>0){continue}break f}}while(1){e=e+1|0;f=f+1|0;g=f>>>0<c>>>0;if(f>>>0>=c>>>0){break f}if(e>>>0<=j>>>0){continue}break}}o[i+7052>>2]=e;if(e>>>0>j>>>0){d=0;h=d;if(!Oa(a,0,0)){break a}e=o[a+4>>2];if(k){while(1){i=o[(e+(d<<2)|0)+4>>2];o[i>>2]=o[i+(j<<2)>>2];d=d+1|0;if((k|0)!=(d|0)){continue}break}}o[e+7052>>2]=1}if(!g){break b}d=o[a>>2];continue}}h=1}return h|0}function rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,q=0,r=0,s=0;a:{if(!a){break a}j=o[a+28>>2];d=(j|0)<255?j:255;if(!d){break a}k=o[a>>2];if(!k){break a}b:{c:{d:{l=o[a+332>>2];if(l){if((j|0)>=1){break d}i=-1;g=-1;d=0;break c}d=(d|0)>0?d:0;while(1){if((d|0)==(f|0)){break c}h=f<<2;e=f+1|0;f=e;if(p[h+o[a+16>>2]|0]==255){continue}break}d=e;break c}e=(d|0)>1?d:1;i=-1;g=-1;d=0;e:{while(1){if(!((f|0)<=4096|(h|0)<=3)){c=1;break e}h=0;q=p[o[a+16>>2]+(d<<2)|0];if((q|0)!=255){r=r+1|0;h=r;g=o[a+20>>2]+(d<<3)|0;i=o[g>>2];g=o[g+4>>2]}f=f+q|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}d=e}e=255;if((d|0)==255){break b}}e=d;if(!c){break a}}o[a+40>>2]=1399285583;n[a+44>>1]=0;h=o[a+16>>2];c=(p[h+1|0]^-1)&1;c=l?c:c|2;m[a+45|0]=c;if(!(!o[a+328>>2]|(e|0)!=(j|0))){m[a+45|0]=c|4}o[a+332>>2]=1;c=g;m[a+53|0]=c>>>24;m[a+52|0]=c>>>16;m[a+51|0]=c>>>8;m[a+50|0]=c;m[a+49|0]=(c&16777215)<<8|i>>>24;m[a+48|0]=(c&65535)<<16|i>>>16;m[a+47|0]=(c&255)<<24|i>>>8;m[a+46|0]=i;c=o[a+336>>2];m[a+54|0]=c;m[a+55|0]=c>>>8;m[a+56|0]=c>>>16;m[a+57|0]=c>>>24;d=o[a+340>>2];if((d|0)==-1){o[a+340>>2]=0;d=0}m[a+66|0]=e;f=0;n[a+62>>1]=0;n[a+64>>1]=0;m[a+61|0]=d>>>24;m[a+60|0]=d>>>16;m[a+59|0]=d>>>8;m[a+58|0]=d;s=1;o[a+340>>2]=d+1;if((e|0)>=1){d=0;while(1){c=o[h+(d<<2)>>2];m[(a+d|0)+67|0]=c;f=(c&255)+f|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}o[b>>2]=a+40;c=e+27|0;o[a+324>>2]=c;o[b+4>>2]=c;c=o[a+12>>2];o[b+12>>2]=f;o[b+8>>2]=c+k;c=j-e|0;o[a+28>>2]=c;pa(h,h+(e<<2)|0,c<<2);c=o[a+20>>2];pa(c,c+(e<<3)|0,o[a+28>>2]<<3);o[a+12>>2]=o[a+12>>2]+f;if(!b){break a}a=0;m[o[b>>2]+22|0]=0;m[o[b>>2]+23|0]=0;m[o[b>>2]+24|0]=0;m[o[b>>2]+25|0]=0;c=o[b+4>>2];if((c|0)>=1){g=o[b>>2];d=0;while(1){a=o[((p[d+g|0]^a>>>24)<<2)+6512>>2]^a<<8;d=d+1|0;if((c|0)!=(d|0)){continue}break}}c=o[b+12>>2];if((c|0)>=1){g=o[b+8>>2];d=0;while(1){a=o[((p[d+g|0]^a>>>24)<<2)+6512>>2]^a<<8;d=d+1|0;if((c|0)!=(d|0)){continue}break}}m[o[b>>2]+22|0]=a;m[o[b>>2]+23|0]=a>>>8;m[o[b>>2]+24|0]=a>>>16;m[o[b>>2]+25|0]=a>>>24}return s}function $a(a){a=a|0;var b=0,c=0;c=1;if(o[o[a>>2]>>2]!=9){b=o[a+4>>2];_b(b+3732|0,b+3636|0);X(o[o[a+4>>2]+452>>2]);o[o[a+4>>2]+452>>2]=0;b=o[a+4>>2];o[b+252>>2]=0;Ae(o[b+56>>2]);b=o[a+4>>2];c=o[b+60>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+60>>2]=0;b=o[a+4>>2]}c=o[b+3592>>2];if(c){X(c);o[o[a+4>>2]+92>>2]=0;o[o[a+4>>2]+3592>>2]=0;b=o[a+4>>2]}c=o[b- -64>>2];if(c){X(c+ -16|0);o[o[a+4>>2]- -64>>2]=0;b=o[a+4>>2]}c=o[b+3596>>2];if(c){X(c);o[o[a+4>>2]+96>>2]=0;o[o[a+4>>2]+3596>>2]=0;b=o[a+4>>2]}c=o[b+68>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+68>>2]=0;b=o[a+4>>2]}c=o[b+3600>>2];if(c){X(c);o[o[a+4>>2]+100>>2]=0;o[o[a+4>>2]+3600>>2]=0;b=o[a+4>>2]}c=o[b+72>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+72>>2]=0;b=o[a+4>>2]}c=o[b+3604>>2];if(c){X(c);o[o[a+4>>2]+104>>2]=0;o[o[a+4>>2]+3604>>2]=0;b=o[a+4>>2]}c=o[b+76>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+76>>2]=0;b=o[a+4>>2]}c=o[b+3608>>2];if(c){X(c);o[o[a+4>>2]+108>>2]=0;o[o[a+4>>2]+3608>>2]=0;b=o[a+4>>2]}c=o[b+80>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+80>>2]=0;b=o[a+4>>2]}c=o[b+3612>>2];if(c){X(c);o[o[a+4>>2]+112>>2]=0;o[o[a+4>>2]+3612>>2]=0;b=o[a+4>>2]}c=o[b+84>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+84>>2]=0;b=o[a+4>>2]}c=o[b+3616>>2];if(c){X(c);o[o[a+4>>2]+116>>2]=0;o[o[a+4>>2]+3616>>2]=0;b=o[a+4>>2]}c=o[b+88>>2];if(c){X(c+ -16|0);o[o[a+4>>2]+88>>2]=0;b=o[a+4>>2]}c=o[b+3620>>2];if(c){X(c);o[o[a+4>>2]+120>>2]=0;o[o[a+4>>2]+3620>>2]=0;b=o[a+4>>2]}o[b+220>>2]=0;o[b+224>>2]=0;if(o[b>>2]){b=o[a>>2]+32|0;sc(b+368|0);sb(b+8|0);b=o[a+4>>2]}c=o[b+52>>2];if(c){if((c|0)!=o[1887]){Cb(c);b=o[a+4>>2]}o[b+52>>2]=0}c=1;if(o[b+3624>>2]){c=!Pa(b+312|0,b+3732|0,16)}o[b+48>>2]=0;o[b+3632>>2]=0;fa(b+608|0,512);o[b+32>>2]=0;o[b+24>>2]=0;o[b+28>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;o[b+8>>2]=0;o[b+12>>2]=0;o[b>>2]=0;o[b+4>>2]=0;b=o[a+4>>2];o[b+1124>>2]=0;o[b+608>>2]=1;b=o[a>>2];o[b+28>>2]=0;o[b+32>>2]=1;o[o[a>>2]>>2]=9}return c|0}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=v(0),m=0,n=0,p=0,q=0,r=0,t=0,u=0,w=0,x=0,y=0,z=0,A=v(0);if(b){f=o[a+ -4>>2];d=o[a+ -8>>2];g=f-d|0;e=o[a+ -12>>2];p=g+(e-d|0)|0;y=p+(((e<<1)-d|0)-o[a+ -16>>2]|0)|0;while(1){d=o[(x<<2)+a>>2];e=d>>31;e=e^d+e;h=e+w|0;if(h>>>0<e>>>0){u=u+1|0}w=h;e=d-f|0;h=e>>31;h=h^e+h;f=h+t|0;if(f>>>0<h>>>0){q=q+1|0}t=f;h=e-g|0;f=h>>31;f=f^f+h;g=f+r|0;if(g>>>0<f>>>0){k=k+1|0}r=g;p=h-p|0;f=p>>31;f=f^f+p;g=f+m|0;if(g>>>0<f>>>0){i=i+1|0}m=g;g=p-y|0;f=g>>31;f=f^f+g;g=f+n|0;if(g>>>0<f>>>0){j=j+1|0}n=g;f=d;g=e;y=p;p=h;x=x+1|0;if((x|0)!=(b|0)){continue}break}}d=(k|0)==(q|0)&t>>>0<r>>>0|q>>>0<k>>>0;e=d?t:r;a=e;d=d?q:k;e=(i|0)==(d|0)&e>>>0<m>>>0|d>>>0<i>>>0;h=e?a:m;d=e?d:i;e=(j|0)==(d|0)&h>>>0<n>>>0|d>>>0<j>>>0;h=e?h:n;d=e?d:j;a=0;a:{if((d|0)==(u|0)&w>>>0<h>>>0|u>>>0<d>>>0){break a}d=(i|0)==(k|0)&r>>>0<m>>>0|k>>>0<i>>>0;e=d?r:m;a=e;d=d?k:i;e=(j|0)==(d|0)&e>>>0<n>>>0|d>>>0<j>>>0;h=e?a:n;d=e?d:j;a=1;if((d|0)==(q|0)&t>>>0<h>>>0|q>>>0<d>>>0){break a}a=(i|0)==(j|0)&m>>>0<n>>>0|i>>>0<j>>>0;d=a;e=d?m:n;a=d?i:j;a=(a|0)==(k|0)&r>>>0<e>>>0|k>>>0<a>>>0?2:d?3:4}g=c;if(u|w){l=v(la((+(w>>>0)+4294967296*+(u>>>0))*.6931471805599453/+(b>>>0))/.6931471805599453)}else{l=v(0)}s[g>>2]=l;g=c;if(q|t){l=v(la((+(t>>>0)+4294967296*+(q>>>0))*.6931471805599453/+(b>>>0))/.6931471805599453)}else{l=v(0)}s[g+4>>2]=l;g=c;if(k|r){l=v(la((+(r>>>0)+4294967296*+(k>>>0))*.6931471805599453/+(b>>>0))/.6931471805599453)}else{l=v(0)}s[g+8>>2]=l;g=c;if(i|m){l=v(la((+(m>>>0)+4294967296*+(i>>>0))*.6931471805599453/+(b>>>0))/.6931471805599453)}else{l=v(0)}s[g+12>>2]=l;if(!(j|n)){s[c+16>>2]=0;return a|0}z=c,A=v(la((+(n>>>0)+4294967296*+(j>>>0))*.6931471805599453/+(b>>>0))/.6931471805599453),s[z+16>>2]=A;return a|0}function _c(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=v(0),n=0,p=v(0),q=0,r=v(0);while(1){m=c;c=v(.05000000074505806);if(m<=v(0)){continue}c=v(.949999988079071);if(m>=v(1)){continue}break}c=v(m*v(.5));p=c;m=v(b|0);d=v(m*d);a:{if(v(w(d))<v(2147483648)){k=~~d;break a}k=-2147483648}d=v(p*v(k|0));b:{if(v(w(d))<v(2147483648)){g=~~d;break b}g=-2147483648}i=(g|0)<1;h=b;d=v(m*e);c:{if(v(w(d))<v(2147483648)){j=~~d;break c}j=-2147483648}c=v(c*v(h-j|0));d:{if(v(w(c))<v(2147483648)){h=~~c;break d}h=-2147483648}if(!((b|0)<1|i)){f=g+ -1>>>0<b+ -1>>>0?g:b;l=+(g|0);i=0;n=1;while(1){q=(i<<2)+a|0,r=v(.5-ba(+(n|0)*3.141592653589793/l)*.5),s[q>>2]=r;n=n+1|0;i=i+1|0;if((i|0)!=(f|0)){continue}break}}i=k-g|0;e:{if((f|0)>=(i|0)|(f|0)>=(b|0)){break e}while(1){o[(f<<2)+a>>2]=1065353216;f=f+1|0;if((f|0)>=(i|0)){break e}if((f|0)<(b|0)){continue}break}}f:{if((f|0)>=(k|0)|(f|0)>=(b|0)){break f}l=+(g|0);while(1){q=(f<<2)+a|0,r=v(.5-ba(+(g|0)*3.141592653589793/l)*.5),s[q>>2]=r;f=f+1|0;if((f|0)>=(k|0)){break f}g=g+ -1|0;if((f|0)<(b|0)){continue}break}}g:{if((f|0)>=(j|0)|(f|0)>=(b|0)){break g}g=f^-1;k=g+j|0;g=b+g|0;fa((f<<2)+a|0,((k>>>0<g>>>0?k:g)<<2)+4|0);while(1){f=f+1|0;if((f|0)>=(j|0)){break g}if((f|0)<(b|0)){continue}break}}j=h+j|0;h:{if((f|0)>=(j|0)|(f|0)>=(b|0)){break h}l=+(h|0);g=1;while(1){q=(f<<2)+a|0,r=v(.5-ba(+(g|0)*3.141592653589793/l)*.5),s[q>>2]=r;f=f+1|0;if((f|0)>=(j|0)){break h}g=g+1|0;if((f|0)<(b|0)){continue}break}}g=b-h|0;i:{if((f|0)>=(g|0)|(f|0)>=(b|0)){break i}while(1){o[(f<<2)+a>>2]=1065353216;f=f+1|0;if((f|0)>=(g|0)){break i}if((f|0)<(b|0)){continue}break}}if((f|0)<(b|0)){l=+(h|0);while(1){q=(f<<2)+a|0,r=v(.5-ba(+(h|0)*3.141592653589793/l)*.5),s[q>>2]=r;h=h+ -1|0;f=f+1|0;if((f|0)!=(b|0)){continue}break}}}function fc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=o[a+4>>2];c=g&3;d=g&-8;f=d+a|0;a:{if(!c){c=0;if(b>>>0<256){break a}if(d>>>0>=b+4>>>0){c=a;if(d-b>>>0<=o[3017]<<1>>>0){break a}}return 0}b:{if(d>>>0>=b>>>0){c=d-b|0;if(c>>>0<16){break b}o[a+4>>2]=g&1|b|2;b=a+b|0;o[b+4>>2]=c|3;o[f+4>>2]=o[f+4>>2]|1;Db(b,c);break b}c=0;if(o[2903]==(f|0)){d=d+o[2900]|0;if(d>>>0<=b>>>0){break a}o[a+4>>2]=g&1|b|2;c=a+b|0;b=d-b|0;o[c+4>>2]=b|1;o[2900]=b;o[2903]=c;break b}if(o[2902]==(f|0)){d=d+o[2899]|0;if(d>>>0<b>>>0){break a}c=d-b|0;c:{if(c>>>0>=16){o[a+4>>2]=g&1|b|2;b=a+b|0;o[b+4>>2]=c|1;d=a+d|0;o[d>>2]=c;o[d+4>>2]=o[d+4>>2]&-2;break c}o[a+4>>2]=d|g&1|2;b=a+d|0;o[b+4>>2]=o[b+4>>2]|1;c=0;b=0}o[2902]=b;o[2899]=c;break b}e=o[f+4>>2];if(e&2){break a}h=d+(e&-8)|0;if(h>>>0<b>>>0){break a}j=h-b|0;d:{if(e>>>0<=255){c=o[f+8>>2];e=e>>>3|0;d=o[f+12>>2];if((d|0)==(c|0)){l=11588,m=o[2897]&He(-2,e),o[l>>2]=m;break d}o[c+12>>2]=d;o[d+8>>2]=c;break d}i=o[f+24>>2];d=o[f+12>>2];e:{if((f|0)!=(d|0)){c=o[f+8>>2];o[c+12>>2]=d;o[d+8>>2]=c;break e}f:{c=f+20|0;e=o[c>>2];if(e){break f}c=f+16|0;e=o[c>>2];if(e){break f}d=0;break e}while(1){k=c;d=e;c=d+20|0;e=o[c>>2];if(e){continue}c=d+16|0;e=o[d+16>>2];if(e){continue}break}o[k>>2]=0}if(!i){break d}c=o[f+28>>2];e=(c<<2)+11892|0;g:{if(o[e>>2]==(f|0)){o[e>>2]=d;if(d){break g}l=11592,m=o[2898]&He(-2,c),o[l>>2]=m;break d}o[i+(o[i+16>>2]==(f|0)?16:20)>>2]=d;if(!d){break d}}o[d+24>>2]=i;c=o[f+16>>2];if(c){o[d+16>>2]=c;o[c+24>>2]=d}c=o[f+20>>2];if(!c){break d}o[d+20>>2]=c;o[c+24>>2]=d}if(j>>>0<=15){o[a+4>>2]=g&1|h|2;b=a+h|0;o[b+4>>2]=o[b+4>>2]|1;break b}o[a+4>>2]=g&1|b|2;b=a+b|0;o[b+4>>2]=j|3;c=a+h|0;o[c+4>>2]=o[c+4>>2]|1;Db(b,j)}c=a}return c}function kb(a,b,c,d,e,f,g){var h=0,i=0,j=0;h=N-16|0;N=h;a:{if(!e){break a}b:{switch(l[e](a,b,c,g)|0){case 1:o[o[a>>2]>>2]=5;break a;case 0:break b;default:break a}}e=da(282);o[d>>2]=e;if(!e){o[o[a>>2]>>2]=8;break a}i=27;while(1){o[h+12>>2]=i;b=5;c:{d:{switch(l[f](a,e,h+12|0,g)|0){case 1:b=o[h+12>>2];if(b){break c}b=2;default:o[o[a>>2]>>2]=b;break a;case 3:break a;case 0:break d}}b=o[h+12>>2]}e=b+e|0;i=i-b|0;if(i){continue}break}b=o[d>>2];o[d+4>>2]=p[b+26|0]+27;e:{if(!(m[b+5|0]&1|(p[b|0]|p[b+1|0]<<8|(p[b+2|0]<<16|p[b+3|0]<<24))!=1399285583|((p[b+6|0]|p[b+7|0]<<8|(p[b+8|0]<<16|p[b+9|0]<<24))!=0|(p[b+10|0]|p[b+11|0]<<8|(p[b+12|0]<<16|p[b+13|0]<<24))!=0))){i=p[b+26|0];if(i){break e}}o[o[a>>2]>>2]=2;break a}e=b+27|0;while(1){o[h+12>>2]=i;b=5;f:{g:{switch(l[f](a,e,h+12|0,g)|0){case 1:b=o[h+12>>2];if(b){break f}b=2;default:o[o[a>>2]>>2]=b;break a;case 3:break a;case 0:break g}}b=o[h+12>>2]}e=b+e|0;i=i-b|0;if(i){continue}break}e=0;b=o[d>>2];c=p[b+26|0];h:{if((c|0)!=1){c=c+ -1|0;while(1){if(p[(b+e|0)+27|0]!=255){o[o[a>>2]>>2]=2;break h}e=e+1|0;if(e>>>0<c>>>0){continue}break}}e=p[(b+e|0)+27|0]+u(e,255)|0;o[d+12>>2]=e;i=da(e?e:1);o[d+8>>2]=i;if(!i){o[o[a>>2]>>2]=8;break h}c=h;if(e){while(1){o[h+12>>2]=e;b=5;i:{j:{switch(l[f](a,i,h+12|0,g)|0){case 1:b=o[h+12>>2];if(b){break i}b=2;default:o[o[a>>2]>>2]=b;break h;case 3:break h;case 0:break j}}b=o[h+12>>2]}i=b+i|0;e=e-b|0;if(e){continue}break}b=o[d>>2]}o[c+12>>2]=p[b+22|0]|p[b+23|0]<<8|(p[b+24|0]<<16|p[b+25|0]<<24);tb(d);b=o[d>>2];if(o[h+12>>2]==(p[b+22|0]|p[b+23|0]<<8|(p[b+24|0]<<16|p[b+25|0]<<24))){j=1;break a}o[o[a>>2]>>2]=2}}N=h+16|0;return j}function qc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=N-16|0;N=i;a:{if(o[a+4>>2]<0){break a}e=o[a+12>>2];j=o[a+8>>2]-e|0;c=e+o[a>>2]|0;b:{c:{d:{f=o[a+20>>2];e:{if(!f){if((j|0)<27){break a}if((p[c|0]|p[c+1|0]<<8|(p[c+2|0]<<16|p[c+3|0]<<24))!=1399285583){break e}e=p[c+26|0];f=e+27|0;if((j|0)<(f|0)){break a}if(e){e=o[a+24>>2];while(1){e=p[(c+g|0)+27|0]+e|0;o[a+24>>2]=e;g=g+1|0;if(g>>>0<p[c+26|0]){continue}break}}o[a+20>>2]=f}if((o[a+24>>2]+f|0)>(j|0)){break a}e=p[c+22|0]|p[c+23|0]<<8|(p[c+24|0]<<16|p[c+25|0]<<24);o[i+12>>2]=e;g=0;m[c+22|0]=0;m[c+23|0]=0;m[c+24|0]=0;m[c+25|0]=0;k=o[a+24>>2];h=o[a+20>>2];m[c+22|0]=0;m[c+23|0]=0;m[c+24|0]=0;m[c+25|0]=0;if((h|0)>0){f=0;while(1){d=o[((p[c+f|0]^d>>>24)<<2)+6512>>2]^d<<8;f=f+1|0;if((h|0)!=(f|0)){continue}break}}if((k|0)>0){h=c+h|0;while(1){d=o[((p[g+h|0]^d>>>24)<<2)+6512>>2]^d<<8;g=g+1|0;if((k|0)!=(g|0)){continue}break}}m[c+22|0]=d;m[c+23|0]=d>>>8;m[c+24|0]=d>>>16;m[c+25|0]=d>>>24;if(o[i+12>>2]==(p[c+22|0]|p[c+23|0]<<8|(p[c+24|0]<<16|p[c+25|0]<<24))){break d}m[c+22|0]=e;m[c+23|0]=e>>>8;m[c+24|0]=e>>>16;m[c+25|0]=e>>>24}o[a+20>>2]=0;o[a+24>>2]=0;d=zc(c+1|0,j+ -1|0);if(!d){break c}g=o[a>>2];break b}h=o[a+12>>2];f:{if(!b){f=o[a+24>>2];d=o[a+20>>2];break f}e=h+o[a>>2]|0;o[b>>2]=e;d=o[a+20>>2];o[b+4>>2]=d;o[b+8>>2]=d+e;f=o[a+24>>2];o[b+12>>2]=f}o[a+24>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;d=d+f|0;o[a+12>>2]=h+d;break a}g=o[a>>2];d=g+o[a+8>>2]|0}o[a+12>>2]=d-g;d=c-d|0}N=i+16|0;return d}function Ud(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0;i=N-16|0;N=i;k=o[c>>2];o[c>>2]=0;a:{b:{c:{if(!k){break c}m=a+416|0;n=a+368|0;q=a+440|0;r=a+8|0;s=o[2721];t=p[7536];while(1){if(o[a+408>>2]){break c}d:{e:{if(o[a+412>>2]){if(o[a+432>>2]){j=o[a+440>>2];h=o[a+444>>2];f=k-g|0;if(h>>>0>f>>>0){break e}b=ca(b,j,h);o[c>>2]=h+o[c>>2];o[a+432>>2]=0;b=b+h|0;break d}f=wc(r,q);if((f|0)>=1){o[a+432>>2]=1;j=o[a+444>>2];if((j|0)<1){break d}h=o[q>>2];if(p[h|0]!=(t|0)){break d}g=3;if((j|0)<9){break a}f=s;if((p[h+1|0]|p[h+2|0]<<8|(p[h+3|0]<<16|p[h+4|0]<<24))!=(p[f|0]|p[f+1|0]<<8|(p[f+2|0]<<16|p[f+3|0]<<24))){break a}f=p[h+5|0];o[a+396>>2]=f;o[a+400>>2]=p[h+6|0];if((f|0)!=1){g=4;break a}o[a+444>>2]=j+ -9;o[a+440>>2]=h+9;break d}if(f){g=2;break a}o[a+412>>2]=0;break d}f=rc(n,m);if((f|0)>=1){if(o[a+404>>2]){f=o[m>>2];f=p[f+14|0]|p[f+15|0]<<8|(p[f+16|0]<<16|p[f+17|0]<<24);o[a+404>>2]=0;o[a+344>>2]=f;o[a+4>>2]=f}if(vc(r,m)){break d}o[a+432>>2]=0;o[a+412>>2]=1;break d}if(f){g=2;break a}f=k-o[c>>2]|0;f=f>>>0>8192?f:8192;g=tc(n,f);if(!g){g=7;break a}o[i+12>>2]=f;f:{switch((l[8](d,g,i+12|0,e)|0)+ -1|0){case 0:o[a+408>>2]=1;break;case 4:break b;default:break f}}if((pc(n,o[i+12>>2])|0)>=0){break d}g=6;break a}b=ca(b,j,f);o[c>>2]=f+o[c>>2];o[a+440>>2]=f+o[a+440>>2];o[a+444>>2]=o[a+444>>2]-f;b=b+f|0}g=o[c>>2];if(k>>>0>g>>>0){continue}break}}N=i+16|0;return!g&o[a+408>>2]!=0}g=5}N=i+16|0;return g}function Zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;g=N-16|0;N=g;m=(c<<2)+b|0;a:{if(!d){p=1;if((c|0)<1){break a}while(1){if(!eb(a,g+8|0)){p=0;break a}c=o[g+8>>2];o[b>>2]=c>>>1^0-(c&1);b=b+4|0;if(b>>>0<m>>>0){continue}break}break a}e=o[a+16>>2];k=o[a+8>>2];b:{if(e>>>0<k>>>0){l=o[a>>2];n=o[a+20>>2];j=o[l+(e<<2)>>2]<<n;c=0;break b}c=1}while(1){c:{d:{e:{f:{if(!c){f=32-n|0;g:{if(b>>>0<m>>>0){q=32-d|0;while(1){c=e;h=f;h:{if(j){h=x(j);i=h;break h}while(1){c=c+1|0;if(c>>>0>=k>>>0){break g}j=o[(c<<2)+l>>2];i=x(j);h=i+h|0;if(!j){continue}break}}e=j<<i<<1;i=e>>>q|0;o[g+8>>2]=h;f=(h^-1)+f&31;i:{if(f>>>0>=d>>>0){j=e<<d;f=f-d|0;e=c;break i}e=c+1|0;if(e>>>0>=k>>>0){break f}c=o[(e<<2)+l>>2];f=f+q|0;j=c<<32-f;i=c>>>f|i}o[g+12>>2]=i;c=h<<d|i;o[b>>2]=c>>>1^0-(c&1);b=b+4|0;if(b>>>0<m>>>0){continue}break}}b=e>>>0<k>>>0;o[a+16>>2]=(b&!f)+e;o[a+20>>2]=32-(f?f:b<<5);p=1;break a}o[a+20>>2]=0;c=e+1|0;o[a+16>>2]=k>>>0>c>>>0?k:c;break d}if(!eb(a,g+8|0)){break a}h=o[g+8>>2]+h|0;o[g+8>>2]=h;i=0;f=0;break e}o[a+16>>2]=e;o[a+20>>2]=0}if(!Y(a,g+12|0,d-f|0)){break a}c=h<<d;e=o[g+12>>2]|i;o[g+12>>2]=e;h=0;c=c|e;o[b>>2]=c>>>1^0-(c&1);l=o[a>>2];e=o[a+16>>2];n=o[a+20>>2];j=o[l+(e<<2)>>2]<<n;k=o[a+8>>2];b=b+4|0;if(e>>>0<k>>>0|b>>>0>=m>>>0){break c}}c=1;continue}c=0;continue}}N=g+16|0;return p}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;f=o[a>>2];l=o[f+36>>2];r=l+1|0;e=o[a+4>>2];k=o[f+24>>2];n=l<<2;a:{while(1){d=r-o[e+7052>>2]|0;g=c-h|0;g=d>>>0<g>>>0?d:g;if(o[f+4>>2]){if(k){f=g<<2;d=0;while(1){i=d<<2;ca(o[(i+e|0)+11764>>2]+(o[e+11800>>2]<<2)|0,o[b+i>>2]+(h<<2)|0,f);d=d+1|0;if((k|0)!=(d|0)){continue}break}}e=e+11800|0;o[e>>2]=g+o[e>>2]}if(k){f=g<<2;e=0;d=0;while(1){i=d<<2;m=o[i+b>>2];if(!m){break a}j=i;i=o[a+4>>2];ca(o[(j+i|0)+4>>2]+(o[i+7052>>2]<<2)|0,m+(h<<2)|0,f);d=d+1|0;if((k|0)!=(d|0)){continue}break}}f=o[a>>2];b:{if(o[f+16>>2]){e=o[a+4>>2];if(h>>>0>=c>>>0){break b}d=o[e+7052>>2];if(d>>>0>l>>>0){break b}i=o[e+40>>2];m=o[e+36>>2];s=o[b+4>>2];t=o[b>>2];while(1){p=d<<2;j=h<<2;q=j+t|0;j=j+s|0;o[i+p>>2]=o[q>>2]-o[j>>2];o[m+p>>2]=o[j>>2]+o[q>>2]>>1;h=h+1|0;if(h>>>0>=c>>>0){break b}d=d+1|0;if(d>>>0<=l>>>0){continue}break}break b}h=h+g|0;e=o[a+4>>2]}d=g+o[e+7052>>2]|0;o[e+7052>>2]=d;if(d>>>0>l>>>0){e=0;if(!Oa(a,0,0)){break a}if(k){e=o[a+4>>2];d=0;while(1){g=o[(e+(d<<2)|0)+4>>2];o[g>>2]=o[g+n>>2];d=d+1|0;if((k|0)!=(d|0)){continue}break}}e=o[a+4>>2];f=o[a>>2];if(o[f+16>>2]){d=o[e+36>>2];o[d>>2]=o[d+n>>2];d=o[e+40>>2];o[d>>2]=o[d+n>>2]}o[e+7052>>2]=1}if(h>>>0<c>>>0){continue}break}e=1}return e|0}function Yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=1;a:{if(!c){break a}l=d+1|0;m=-1<<d;n=-1>>>31-d|0;while(1){g=o[b>>2];k=g<<1^g>>31;g=k>>>d|0;e=l+g|0;b:{c:{f=o[a+16>>2];if(!f){break c}h=e+f|0;if(h>>>0>31){break c}o[a+16>>2]=h;o[a+4>>2]=(k|m)&n|o[a+4>>2]<<e;break b}j=o[a+8>>2];h=o[a+12>>2];d:{if(j>>>0>(h+(g+f|0)|0)+1>>>0){break d}e=h+((e+f|0)+31>>>5|0)|0;if(e>>>0<=j>>>0){break d}h=o[a>>2];i=e;e=e-j&1023;f=i+(e?1024-e|0:0)|0;e:{if(f){i=0;if((f|0)!=(f&1073741823)){break a}j=ea(h,f<<2);if(j){break e}X(h);return 0}j=ea(h,0);i=0;if(!j){break a}}o[a+8>>2]=f;o[a>>2]=j}f:{if(!g){break f}e=o[a+16>>2];if(e){f=o[a+4>>2];h=32-e|0;if(g>>>0<h>>>0){o[a+16>>2]=e+g;o[a+4>>2]=f<<g;break f}e=f<<h;o[a+4>>2]=e;f=o[a+12>>2];o[a+12>>2]=f+1;o[o[a>>2]+(f<<2)>>2]=e<<8&16711680|e<<24|(e>>>8&65280|e>>>24);o[a+16>>2]=0;g=g-h|0}if(g>>>0>=32){e=o[a>>2];while(1){f=o[a+12>>2];o[a+12>>2]=f+1;o[e+(f<<2)>>2]=0;g=g+ -32|0;if(g>>>0>31){continue}break}}if(!g){break f}o[a+16>>2]=g;o[a+4>>2]=0}g=(k|m)&n;e=o[a+4>>2];h=o[a+16>>2];f=32-h|0;if(l>>>0<f>>>0){o[a+16>>2]=h+l;o[a+4>>2]=g|e<<l;break b}h=l-f|0;o[a+16>>2]=h;k=o[a+12>>2];o[a+12>>2]=k+1;e=e<<f|g>>>h;o[o[a>>2]+(k<<2)>>2]=e<<24|e<<8&16711680|(e>>>8&65280|e>>>24);o[a+4>>2]=g}b=b+4|0;c=c+ -1|0;if(c){continue}break}i=1}return i}function yc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=-1;a:{b:{if(!a){break b}h=o[a>>2];if(!h){break b}if(!b){return 0}while(1){j=o[((f<<3)+b|0)+4>>2];if((j|0)<0|(k|0)>(2147483647-j|0)){break b}k=k+j|0;f=f+1|0;if((f|0)!=1){continue}break}j=(k|0)/255|0;f=o[a+12>>2];if(f){i=o[a+8>>2]-f|0;o[a+8>>2]=i;if(i){pa(h,f+h|0,i)}o[a+12>>2]=0}f=o[a+4>>2];if((f-k|0)<=o[a+8>>2]){if((f|0)>(2147483647-k|0)){break a}f=f+k|0;f=(f|0)<2147482623?f+1024|0:f;h=ea(o[a>>2],f);if(!h){break a}o[a>>2]=h;o[a+4>>2]=f}l=j+1|0;if(Hb(a,l)){break b}g=o[a+8>>2];f=0;while(1){i=o[a>>2]+g|0;g=(f<<3)+b|0;ca(i,o[g>>2],o[g+4>>2]);g=o[a+8>>2]+o[g+4>>2]|0;o[a+8>>2]=g;f=f+1|0;if((f|0)!=1){continue}break}h=o[a+28>>2];i=o[a+16>>2];m=i;c:{if((k|0)<=254){g=o[a+20>>2];b=0;break c}g=o[a+20>>2];f=0;while(1){b=f+h|0;o[i+(b<<2)>>2]=255;n=o[a+356>>2];b=(b<<3)+g|0;o[b>>2]=o[a+352>>2];o[b+4>>2]=n;f=f+1|0;if((j|0)!=(f|0)){continue}break}b=j}b=b+h|0;o[m+(b<<2)>>2]=k-u(j,255);b=(b<<3)+g|0;o[b>>2]=d;o[b+4>>2]=e;o[a+352>>2]=d;o[a+356>>2]=e;b=i+(h<<2)|0;o[b>>2]=o[b>>2]|256;o[a+28>>2]=h+l;d=o[a+348>>2];e=o[a+344>>2]+1|0;if(e>>>0<1){d=d+1|0}o[a+344>>2]=e;o[a+348>>2]=d;g=0;if(!c){break b}o[a+328>>2]=1}return g}b=o[a>>2];if(b){X(b)}b=o[a+16>>2];if(b){X(b)}b=o[a+20>>2];if(b){X(b)}fa(a,360);return-1}function lb(a){var b=0,c=0,d=0,e=0,f=0;a:{b:{c:{b=o[a+4>>2];d:{if(b>>>0<r[a+104>>2]){o[a+4>>2]=b+1;b=p[b|0];break d}b=ga(a)}switch(b+ -43|0){case 0:case 2:break b;default:break c}}c=b+ -48|0;break a}f=(b|0)==45;d=o[a+4>>2];e:{if(d>>>0<r[a+104>>2]){o[a+4>>2]=d+1;b=p[d|0];break e}b=ga(a)}c=b+ -48|0;if(!(c>>>0<10|!o[a+104>>2])){o[a+4>>2]=o[a+4>>2]+ -1}}f:{if(c>>>0<10){c=0;while(1){d=u(c,10)+b|0;b=o[a+4>>2];g:{if(b>>>0<r[a+104>>2]){o[a+4>>2]=b+1;b=p[b|0];break g}b=ga(a)}e=b+ -48|0;c=d+ -48|0;if((c|0)<214748364?e>>>0<=9:0){continue}break}d=c;c=c>>31;h:{if(e>>>0>=10){break h}while(1){e=b;b=Ee(d,c,10,0);c=e+b|0;d=Q;d=c>>>0<b>>>0?d+1|0:d;e=c;b=o[a+4>>2];i:{if(b>>>0<r[a+104>>2]){o[a+4>>2]=b+1;b=p[b|0];break i}b=ga(a)}c=d+ -1|0;d=e+ -48|0;if(d>>>0<4294967248){c=c+1|0}e=b+ -48|0;if(e>>>0>9){break h}if((c|0)<21474836?1:(c|0)<=21474836?d>>>0>=2061584302?0:1:0){continue}break}}if(e>>>0<10){while(1){b=o[a+4>>2];j:{if(b>>>0<r[a+104>>2]){o[a+4>>2]=b+1;b=p[b|0];break j}b=ga(a)}if(b+ -48>>>0<10){continue}break}}if(o[a+104>>2]){o[a+4>>2]=o[a+4>>2]+ -1}a=d;d=f?0-a|0:a;c=f?0-(c+(0<a>>>0)|0)|0:c;break f}d=0;c=-2147483648;if(!o[a+104>>2]){break f}o[a+4>>2]=o[a+4>>2]+ -1;Q=-2147483648;return 0}Q=c;return d}function nb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=N-16|0;N=g;h=o[o[a+4>>2]+1136>>2];l=o[(f?5644:5640)>>2];m=o[(f?5632:5628)>>2];a:{b:{if(ab(d,c>>>0>6?c:6)){i=c?h>>>c|0:h-b|0;n=o[1409];if(!c){break b}f=0;while(1){if(!Y(o[o[a+4>>2]+56>>2],g+12|0,m)){h=0;break a}j=k<<2;o[j+o[d>>2]>>2]=o[g+12>>2];c:{if(r[g+12>>2]<l>>>0){h=0;o[j+o[d+4>>2]>>2]=0;j=i-(k?0:b)|0;if(!Zb(o[o[a+4>>2]+56>>2],(f<<2)+e|0,j,o[g+12>>2])){break a}f=f+j|0;break c}if(!Y(o[o[a+4>>2]+56>>2],g+12|0,n)){h=0;break a}o[j+o[d+4>>2]>>2]=o[g+12>>2];h=k?0:b;if(h>>>0>=i>>>0){break c}while(1){if(!xa(o[o[a+4>>2]+56>>2],g+8|0,o[g+12>>2])){h=0;break a}o[(f<<2)+e>>2]=o[g+8>>2];f=f+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}h=1;k=k+1|0;if(!(k>>>c)){continue}break}break a}o[o[a>>2]>>2]=8;h=0;break a}h=0;if(!Y(o[o[a+4>>2]+56>>2],g+12|0,m)){break a}o[o[d>>2]>>2]=o[g+12>>2];d:{if(r[g+12>>2]>=l>>>0){if(!Y(o[o[a+4>>2]+56>>2],g+12|0,n)){break a}o[o[d+4>>2]>>2]=o[g+12>>2];if(!i){break d}f=0;while(1){if(!xa(o[o[a+4>>2]+56>>2],g+8|0,o[g+12>>2])){h=0;break a}o[(f<<2)+e>>2]=o[g+8>>2];f=f+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}break d}o[o[d+4>>2]>>2]=0;if(!Zb(o[o[a+4>>2]+56>>2],e,i,o[g+12>>2])){break a}}h=1}N=g+16|0;return h}function Pb(){var a=0,b=0,c=0,d=0,e=0;d=qa(1,8);if(d){c=qa(1,504);o[d>>2]=c;if(c){a=qa(1,6160);o[d+4>>2]=a;if(a){e=qa(1,44);o[a+56>>2]=e;if(e){o[a+1128>>2]=16;b=da(o[1364]<<1&-16);o[a+1120>>2]=b;if(b){o[a+252>>2]=0;o[a+220>>2]=0;o[a+224>>2]=0;b=a+3616|0;o[b>>2]=0;o[b+4>>2]=0;b=a+3608|0;o[b>>2]=0;o[b+4>>2]=0;b=a+3600|0;o[b>>2]=0;o[b+4>>2]=0;b=a+3592|0;o[b>>2]=0;o[b+4>>2]=0;o[a+60>>2]=0;o[a+64>>2]=0;o[a+68>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;o[a+80>>2]=0;o[a+84>>2]=0;o[a+88>>2]=0;o[a+92>>2]=0;o[a+96>>2]=0;o[a+100>>2]=0;o[a+104>>2]=0;o[a+108>>2]=0;o[a+112>>2]=0;o[a+116>>2]=0;o[a+120>>2]=0;o[a+132>>2]=0;o[a+124>>2]=0;o[a+128>>2]=0;o[a+144>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0;o[a+156>>2]=0;o[a+148>>2]=0;o[a+152>>2]=0;o[a+168>>2]=0;o[a+160>>2]=0;o[a+164>>2]=0;o[a+180>>2]=0;o[a+172>>2]=0;o[a+176>>2]=0;o[a+192>>2]=0;o[a+184>>2]=0;o[a+188>>2]=0;o[a+204>>2]=0;o[a+196>>2]=0;o[a+200>>2]=0;o[a+216>>2]=0;o[a+208>>2]=0;o[a+212>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;fa(a+608|0,512);o[a+1124>>2]=0;o[a+608>>2]=1;o[a+32>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[c+28>>2]=0;o[c+32>>2]=1;o[c>>2]=9;return d|0}gb(e)}X(a)}X(c)}X(d)}return 0}function le(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{b:{c:{d:{e:{f:{g:{if(b){b=o[a+140>>2];d=b;c=o[a+136>>2];if(!b&c>>>0<=88199|b>>>0<0){a=0;break a}if(Ge(c,d)|Q){a=0;break a}d=o[a+148>>2];if(!d){break b}if(p[(o[a+152>>2]+(d<<5)|0)+ -24|0]==170){break g}a=0;break a}e=o[a+148>>2];if(!e){break b}g=e+ -1|0;h=o[a+152>>2];b=0;while(1){d=h+(b<<5)|0;if(!p[d+8|0]){break c}c=p[d+23|0];h:{i:{if(b>>>0<g>>>0){if(!c){break d}if(p[o[d+24>>2]+8|0]>1){break e}break i}if(!c){break h}}a=0;while(1){if(a){f=o[d+24>>2]+(a<<4)|0;if((p[f+ -8|0]+1|0)!=p[f+8|0]){break f}}a=a+1|0;if(a>>>0<c>>>0){continue}break}}a=1;b=b+1|0;if((e|0)!=(b|0)){continue}break}break a}g=d+ -1|0;h=o[a+152>>2];b=0;while(1){a=h+(b<<5)|0;c=p[a+8|0];if(!c){break c}if(!((c|0)==170|c>>>0<100)){a=0;break a}if(Ge(o[a>>2],o[a+4>>2])|Q){a=0;break a}c=p[a+23|0];j:{k:{if(b>>>0<g>>>0){if(!c){break d}if(p[o[a+24>>2]+8|0]<2){break k}break e}if(!c){break j}}f=o[a+24>>2];a=0;while(1){e=f+(a<<4)|0;if(Ge(o[e>>2],o[e+4>>2])|Q){a=0;break a}if(p[e+8|0]!=(p[e+ -8|0]+1|0)?a:0){break f}a=a+1|0;if(a>>>0<c>>>0){continue}break}}a=1;b=b+1|0;if((d|0)!=(b|0)){continue}break}break a}a=0;break a}a=0;break a}a=0;break a}a=0;break a}a=0}return a}function $c(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=v(0),m=0,n=0,p=0,q=v(0);while(1){l=c;c=v(.05000000074505806);if(l<=v(0)){continue}c=v(.949999988079071);if(l>=v(1)){continue}break}c=v(b|0);d=v(c*d);a:{if(v(w(d))<v(2147483648)){g=~~d;break a}g=-2147483648}d=v(l*v(.5));c=v(c*e);b:{if(v(w(c))<v(2147483648)){k=~~c;break b}k=-2147483648}c=v(d*v(k-g|0));c:{if(v(w(c))<v(2147483648)){h=~~c;break c}h=-2147483648}if(!((g|0)<1|(b|0)<1)){f=g+ -1|0;i=b+ -1|0;i=f>>>0<i>>>0?f:i;fa(a,(i<<2)+4|0);f=i+1|0;while(1){n=(j|0)==(i|0);j=j+1|0;if(!n){continue}break}}g=g+h|0;d:{if((f|0)>=(g|0)|(f|0)>=(b|0)){break d}m=+(h|0);j=1;while(1){p=(f<<2)+a|0,q=v(.5-ba(+(j|0)*3.141592653589793/m)*.5),s[p>>2]=q;f=f+1|0;if((f|0)>=(g|0)){break d}j=j+1|0;if((f|0)<(b|0)){continue}break}}g=k-h|0;e:{if((f|0)>=(g|0)|(f|0)>=(b|0)){break e}while(1){o[(f<<2)+a>>2]=1065353216;f=f+1|0;if((f|0)>=(g|0)){break e}if((f|0)<(b|0)){continue}break}}f:{if((f|0)>=(k|0)|(f|0)>=(b|0)){break f}m=+(h|0);while(1){p=(f<<2)+a|0,q=v(.5-ba(+(h|0)*3.141592653589793/m)*.5),s[p>>2]=q;f=f+1|0;if((f|0)>=(k|0)){break f}h=h+ -1|0;if((f|0)<(b|0)){continue}break}}if((f|0)<(b|0)){fa((f<<2)+a|0,b-f<<2)}}function pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=v(0),f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,t=0,u=0,w=v(0);if(b){d=o[a+ -4>>2];i=o[a+ -8>>2];m=d-i|0;f=o[a+ -12>>2];j=m+(f-i|0)|0;t=j+(((f<<1)-i|0)-o[a+ -16>>2]|0)|0;while(1){i=o[(q<<2)+a>>2];f=i>>31;p=(f^f+i)+p|0;f=i-d|0;l=f>>31;n=(l^f+l)+n|0;l=f-m|0;d=l>>31;k=(d^d+l)+k|0;j=l-j|0;d=j>>31;g=(d^d+j)+g|0;m=j-t|0;d=m>>31;h=(d^d+m)+h|0;d=i;m=f;t=j;j=l;q=q+1|0;if((q|0)!=(b|0)){continue}break}}a=n>>>0<k>>>0?n:k;a=a>>>0<g>>>0?a:g;a:{if(p>>>0<(a>>>0<h>>>0?a:h)>>>0){break a}r=1;a=k>>>0<g>>>0?k:g;if(n>>>0<(a>>>0<h>>>0?a:h)>>>0){break a}a=g>>>0<h>>>0;r=k>>>0<(a?g:h)>>>0?2:a?3:4}a=c;if(p){e=v(la(+(p>>>0)*.6931471805599453/+(b>>>0))/.6931471805599453)}else{e=v(0)}s[a>>2]=e;a=c;if(n){e=v(la(+(n>>>0)*.6931471805599453/+(b>>>0))/.6931471805599453)}else{e=v(0)}s[a+4>>2]=e;a=c;if(k){e=v(la(+(k>>>0)*.6931471805599453/+(b>>>0))/.6931471805599453)}else{e=v(0)}s[a+8>>2]=e;a=c;if(g){e=v(la(+(g>>>0)*.6931471805599453/+(b>>>0))/.6931471805599453)}else{e=v(0)}s[a+12>>2]=e;if(!h){s[c+16>>2]=0;return r|0}u=c,w=v(la(+(h>>>0)*.6931471805599453/+(b>>>0))/.6931471805599453),s[u+16>>2]=w;return r|0}function Gc(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,l=0,m=0;i=N-32|0;N=i;e=d&2147483647;k=e;e=e+ -1006698496|0;j=c;h=c;if(c>>>0<0){e=e+1|0}l=h;h=e;e=k+ -1140785152|0;m=j;if(j>>>0<0){e=e+1|0}a:{if((e|0)==(h|0)&l>>>0<m>>>0|h>>>0<e>>>0){e=d<<4|c>>>28;c=c<<4|b>>>28;b=b&268435455;j=b;if((b|0)==134217728&a>>>0>=1|b>>>0>134217728){e=e+1073741824|0;a=c+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}h=c;e=e-((c>>>0<0)+ -1073741824|0)|0;if(a|j^134217728){break a}a=h+(h&1)|0;if(a>>>0<h>>>0){e=e+1|0}h=a;break a}if(!(!j&(k|0)==2147418112?!(a|b):(k|0)==2147418112&j>>>0<0|k>>>0<2147418112)){e=d<<4|c>>>28;h=c<<4|b>>>28;e=e&524287|2146959360;break a}h=0;e=2146435072;if(k>>>0>1140785151){break a}e=0;j=k>>>16|0;if(j>>>0<15249){break a}e=d&65535|65536;ia(i+16|0,a,b,c,e,j+ -15233|0);Ja(i,a,b,c,e,15361-j|0);c=o[i+4>>2];a=o[i+8>>2];e=o[i+12>>2]<<4|a>>>28;h=a<<4|c>>>28;a=c&268435455;c=a;b=o[i>>2]|((o[i+16>>2]|o[i+24>>2])!=0|(o[i+20>>2]|o[i+28>>2])!=0);if((a|0)==134217728&b>>>0>=1|a>>>0>134217728){a=h+1|0;if(a>>>0<1){e=e+1|0}h=a;break a}if(b|c^134217728){break a}a=h+(h&1)|0;if(a>>>0<h>>>0){e=e+1|0}h=a}N=i+32|0;f(0,h|0);f(1,d&-2147483648|e);return+g()}function Va(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=N-16|0;N=c;f=1;a:{while(1){b=0;b:{while(1){g=o[a+4>>2];c:{if(o[g+3520>>2]){e=p[g+3590|0];o[c+8>>2]=e;o[g+3520>>2]=0;break c}if(!Y(o[g+56>>2],c+8|0,8)){d=0;break a}e=o[c+8>>2]}if(p[d+5409|0]==(e|0)){d=d+1|0;b=1;break b}d=0;if((b|0)==3){break a}if(p[b+7552|0]==(e|0)){b=b+1|0;if((b|0)!=3){continue}if(!Y(o[o[a+4>>2]+56>>2],c+12|0,24)){break a}if(!Y(o[o[a+4>>2]+56>>2],c+12|0,8)){break a}e=o[c+12>>2];if(!Y(o[o[a+4>>2]+56>>2],c+12|0,8)){break a}g=o[c+12>>2];if(!Y(o[o[a+4>>2]+56>>2],c+12|0,8)){break a}h=o[c+12>>2];if(!Y(o[o[a+4>>2]+56>>2],c+12|0,8)){break a}if(Ea(o[o[a+4>>2]+56>>2],o[c+12>>2]&127|(h<<7&16256|(g&127|e<<7&16256)<<14))){continue}break a}break}d:{if((e|0)!=255){break d}m[o[a+4>>2]+3588|0]=255;if(!Y(o[o[a+4>>2]+56>>2],c+8|0,8)){break a}b=o[c+8>>2];if((b|0)==255){b=o[a+4>>2];o[b+3520>>2]=1;m[b+3590|0]=255;break d}if((b&-2)!=248){break d}m[o[a+4>>2]+3589|0]=b;o[o[a>>2]>>2]=3;d=1;break a}b=0;if(!f){break b}f=o[a+4>>2];b=0;if(o[f+3632>>2]){break b}l[o[f+32>>2]](a,0,o[f+48>>2]);b=0}f=b;if(d>>>0<4){continue}break}d=1;o[o[a>>2]>>2]=1}N=c+16|0;return d}function ca(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){K(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){m[c|0]=p[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=e>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(c>>>0>f>>>0){break c}while(1){o[c>>2]=o[b>>2];o[c+4>>2]=o[b+4>>2];o[c+8>>2]=o[b+8>>2];o[c+12>>2]=o[b+12>>2];o[c+16>>2]=o[b+16>>2];o[c+20>>2]=o[b+20>>2];o[c+24>>2]=o[b+24>>2];o[c+28>>2]=o[b+28>>2];o[c+32>>2]=o[b+32>>2];o[c+36>>2]=o[b+36>>2];o[c+40>>2]=o[b+40>>2];o[c+44>>2]=o[b+44>>2];o[c+48>>2]=o[b+48>>2];o[c+52>>2]=o[b+52>>2];o[c+56>>2]=o[b+56>>2];o[c+60>>2]=o[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=f>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){o[c>>2]=o[b>>2];b=b+4|0;c=c+4|0;if(c>>>0<d>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e+ -4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){m[c|0]=p[b|0];m[c+1|0]=p[b+1|0];m[c+2|0]=p[b+2|0];m[c+3|0]=p[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=d>>>0){continue}break}}if(c>>>0<e>>>0){while(1){m[c|0]=p[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function Ia(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=N-16|0;N=g;f=o[a+16>>2];a:{if(!f){c=o[a+8>>2];break a}b=o[a+28>>2];b:{if(f>>>0<=b>>>0){d=b;break b}c=o[a+32>>2];if(!c){d=b;break b}d=b+1|0;o[a+28>>2]=d;e=o[a+24>>2];if(c>>>0<=31){b=o[o[a>>2]+(b<<2)>>2];while(1){e=q[((b>>>24-c&255^e>>>8)<<1)+1280>>1]^e<<8&65280;i=c>>>0<24;h=c+8|0;c=h;if(i){continue}break}o[a+32>>2]=h}o[a+32>>2]=0;o[a+24>>2]=e}b=Wb(o[a>>2]+(d<<2)|0,f-d|0,q[a+24>>1]);o[a+28>>2]=0;o[a+24>>2]=b;d=o[a>>2];b=o[a+16>>2];pa(d,d+(b<<2)|0,(o[a+8>>2]-b|0)+(o[a+12>>2]!=0)<<2);o[a+16>>2]=0;c=o[a+8>>2]-b|0;o[a+8>>2]=c}b=o[a+12>>2];d=(o[a+4>>2]-c<<2)-b|0;o[g+12>>2]=d;e=0;c:{if(!d){break c}d=o[a>>2]+(c<<2)|0;c=d+b|0;if(b){b=o[d>>2];o[d>>2]=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24)}if(!l[o[a+36>>2]](c,g+12|0,o[a+40>>2])){break c}d=a;i=o[g+12>>2];c=o[a+12>>2];e=o[a+8>>2];b=e<<2;f=(i+(c+b|0)|0)+3>>>2|0;if(e>>>0<f>>>0){c=o[a>>2];while(1){h=c+(e<<2)|0;b=o[h>>2];o[h>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);e=e+1|0;if((f|0)!=(e|0)){continue}break}c=o[a+12>>2];b=o[a+8>>2]<<2}b=(c+i|0)+b|0;o[d+12>>2]=b&3;o[a+8>>2]=b>>>2;e=1}N=g+16|0;return e}function nc(a,b){var c=0,d=0,e=0,f=0,g=0;c=N-208|0;N=c;o[c+8>>2]=1;o[c+12>>2]=0;a:{g=u(b,24);if(!g){break a}o[c+16>>2]=24;o[c+20>>2]=24;b=24;f=24;e=2;while(1){d=b;b=(f+24|0)+b|0;o[(c+16|0)+(e<<2)>>2]=b;e=e+1|0;f=d;if(b>>>0<g>>>0){continue}break}d=(a+g|0)+ -24|0;b:{if(d>>>0<=a>>>0){e=1;b=1;break b}e=1;b=1;while(1){c:{if((e&3)==3){Sa(a,b,c+16|0);La(c+8|0,2);b=b+2|0;break c}f=b+ -1|0;d:{if(r[(c+16|0)+(f<<2)>>2]>=d-a>>>0){Ka(a,c+8|0,b,0,c+16|0);break d}Sa(a,b,c+16|0)}if((b|0)==1){Ma(c+8|0,1);b=0;break c}Ma(c+8|0,f);b=1}e=o[c+8>>2]|1;o[c+8>>2]=e;a=a+24|0;if(a>>>0<d>>>0){continue}break}}Ka(a,c+8|0,b,0,c+16|0);while(1){e:{f:{g:{if(!((b|0)!=1|(e|0)!=1)){if(o[c+12>>2]){break g}break a}if((b|0)>1){break f}}f=c+8|0;d=De(o[c+8>>2]+ -1|0);if(!d){d=De(o[c+12>>2]);d=d?d+32|0:0}La(f,d);e=o[c+8>>2];b=b+d|0;break e}Ma(c+8|0,2);o[c+8>>2]=o[c+8>>2]^7;La(c+8|0,1);f=a+ -24|0;d=b+ -2|0;Ka(f-o[(c+16|0)+(d<<2)>>2]|0,c+8|0,b+ -1|0,1,c+16|0);Ma(c+8|0,1);e=o[c+8>>2]|1;o[c+8>>2]=e;Ka(f,c+8|0,d,1,c+16|0);b=d}a=a+ -24|0;continue}}N=c+208|0}function ec(a){var b=0,c=0,d=0,e=0;c=1;a:{b=p[a|0];b:{if(!(b&128)){break b}if(!((b&224)!=192|(p[a+1|0]&192)!=128)){return((b&254)!=192)<<1}c:{if((b&240)!=224){break c}d=p[a+1|0];if((d&192)!=128){break c}e=p[a+2|0];if((e&192)!=128){break c}c=0;if((d&224)==128?(b|0)==224:0){break b}d:{e:{switch(b+ -237|0){case 0:if((d&224)!=160){break d}break b;case 2:break e;default:break d}}if((d|0)!=191){break d}if((e&254)==190){break b}}return 3}f:{if((b&248)!=240){break f}c=p[a+1|0];if((c&192)!=128|(p[a+2|0]&192)!=128){break f}if((p[a+3|0]&192)==128){break a}}g:{if((b&252)!=248){break g}c=p[a+1|0];if((c&192)!=128|(p[a+2|0]&192)!=128|((p[a+3|0]&192)!=128|(p[a+4|0]&192)!=128)){break g}return(b|0)==248?(c&248)==128?0:5:5}c=0;if((b&254)!=252){break b}d=p[a+1|0];if((d&192)!=128|(p[a+2|0]&192)!=128|((p[a+3|0]&192)!=128|(p[a+4|0]&192)!=128)){break b}if((p[a+5|0]&192)!=128){break b}c=(b|0)==252?(d&252)==128?0:6:6}return c}return(b|0)==240?((c&240)!=128)<<2:4}function oc(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;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;l=1<<f;p=l>>>0>1?l:1;i=0-d|0;m=c+d>>>f|0;j=m-d|0;a:{if(g+4>>>0<(x(m)^-32)+33>>>0){g=0;while(1){d=0;i=i+m|0;if(h>>>0<i>>>0){while(1){c=o[(h<<2)+a>>2];k=c>>31;d=(k^c+k)+d|0;h=h+1|0;if(h>>>0<i>>>0){continue}break}h=j}c=(g<<3)+b|0;o[c>>2]=d;o[c+4>>2]=0;j=j+m|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}break a}c=0;while(1){n=0;d=0;i=i+m|0;if(h>>>0<i>>>0){while(1){g=o[(h<<2)+a>>2];k=g>>31;k=k^g+k;g=k+n|0;if(g>>>0<k>>>0){d=d+1|0}n=g;h=h+1|0;if(h>>>0<i>>>0){continue}break}h=j}g=(c<<3)+b|0;o[g>>2]=n;o[g+4>>2]=d;j=j+m|0;c=c+1|0;if((p|0)!=(c|0)){continue}break}}if((f|0)>(e|0)){h=0;a=l;while(1){f=f+ -1|0;i=0;a=a>>>1|0;if(a){while(1){d=(h<<3)+b|0;c=o[d+8>>2];j=o[d+12>>2]+o[d+4>>2]|0;d=o[d>>2];c=d+c|0;if(c>>>0<d>>>0){j=j+1|0}g=(l<<3)+b|0;o[g>>2]=c;o[g+4>>2]=j;h=h+2|0;l=l+1|0;i=i+1|0;if((i|0)!=(a|0)){continue}break}}if((f|0)>(e|0)){continue}break}}}function Ce(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{d=b;if(d){e=c;if(!e){break i}break h}b=a;a=(a>>>0)/(c>>>0)|0;O=b-u(a,c)|0;P=0;Q=0;return a}if(!a){break g}break f}g=e+ -1|0;if(!(g&e)){break e}g=(x(e)+33|0)-x(d)|0;h=0-g|0;break c}O=0;a=(d>>>0)/0|0;P=d-u(a,0)|0;Q=0;return a}d=32-x(d)|0;if(d>>>0<31){break d}break b}O=a&g;P=0;if((e|0)==1){break a}d=De(e);c=d&31;if(32<=(d&63)>>>0){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<<c)-1&b)<<32-c|a>>>c}Q=e;return a}g=d+1|0;h=63-d|0}d=b;e=g&63;f=e&31;if(32<=e>>>0){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<<f)-1&d)<<32-f|a>>>f}h=h&63;d=h&31;if(32<=h>>>0){b=a<<d;a=0}else{b=(1<<d)-1&a>>>32-d|b<<d;a=a<<d}if(g){h=-1;d=c+ -1|0;if((d|0)!=-1){h=0}while(1){i=f<<1|b>>>31;j=i;e=e<<1|f>>>31;i=h-(e+(d>>>0<i>>>0)|0)>>31;k=c&i;f=j-k|0;e=e-(j>>>0<k>>>0)|0;b=b<<1|a>>>31;a=l|a<<1;i=i&1;l=i;g=g+ -1|0;if(g){continue}break}}O=f;P=e;Q=b<<1|a>>>31;return i|a<<1}O=a;P=b;a=0;b=0}Q=b;return a}function ac(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,k=0,l=0,m=0,n=0;h=o[b>>2];f=o[d+4>>2];a=o[b+8>>2];if(a){e=h<<2;while(1){i=g<<2;j=o[i+c>>2];k=o[(f+i|0)+11764>>2];if(Pa(j,k,e)){e=0;a:{if(h){a=0;while(1){c=a<<2;i=o[c+j>>2];c=o[c+k>>2];if((i|0)!=(c|0)){e=a;break a}a=a+1|0;if((h|0)!=(a|0)){continue}break}}c=0;i=0}j=o[b+28>>2];a=e;l=a+o[b+24>>2]|0;if(l>>>0<a>>>0){j=j+1|0}k=f+11816|0;o[k>>2]=l;o[k+4>>2]=j;a=o[b+28>>2];b=o[b+24>>2];o[f+11840>>2]=i;o[f+11836>>2]=c;o[f+11832>>2]=e;o[f+11828>>2]=g;m=f+11824|0,n=Fe(b,a,h),o[m>>2]=n;o[o[d>>2]>>2]=4;return 1}g=g+1|0;if((a|0)!=(g|0)){continue}break}c=f+11800|0;b=o[c>>2]-h|0;o[c>>2]=b;b:{if(!a){break b}c=o[f+11764>>2];e=c;c=h<<2;pa(e,e+c|0,b<<2);g=1;if((a|0)==1){break b}while(1){b=o[d+4>>2];e=o[(b+(g<<2)|0)+11764>>2];pa(e,c+e|0,o[b+11800>>2]<<2);g=g+1|0;if((a|0)!=(g|0)){continue}break}}return 0}a=f+11800|0;o[a>>2]=o[a>>2]-h;return 0}function re(a,b,c){if((c|0)==15|c>>>0<15){if(!c&b>>>0<=127|c>>>0<0){return Z(a,b,8)}if(!c&b>>>0<=2047|c>>>0<0){return Z(a,(c&63)<<26|b>>>6|192,8)&Z(a,b&63|128,8)&1}if(!c&b>>>0<=65535|c>>>0<0){return Z(a,(c&4095)<<20|b>>>12|224,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}if(!c&b>>>0<=2097151|c>>>0<0){return Z(a,(c&262143)<<14|b>>>18|240,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}if(!c&b>>>0<=67108863|c>>>0<0){return Z(a,(c&16777215)<<8|b>>>24|248,8)&Z(a,b>>>18&63|128,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}if(!c&b>>>0<=2147483647|c>>>0<0){return Z(a,(c&1073741823)<<2|b>>>30|252,8)&Z(a,b>>>24&63|128,8)&Z(a,b>>>18&63|128,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}a=Z(a,254,8)&Z(a,(c&1073741823)<<2|b>>>30|128,8)&Z(a,b>>>24&63|128,8)&Z(a,b>>>18&63|128,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}else{a=0}return a}function yb(a){var b=0,c=0,d=0,e=0,f=0;e=N-16|0;N=e;a:{b:{c:{c=o[a+4>>2];if(!o[c+248>>2]){break c}d=o[c+308>>2];b=d;f=o[c+304>>2];if(!(b|f)){break c}d=o[c+244>>2];if((b|0)==(d|0)&r[c+240>>2]<f>>>0|d>>>0<b>>>0){break c}o[o[a>>2]>>2]=4;break b}d:{if(!(p[o[c+56>>2]+20|0]&7)){break d}c=o[o[a+4>>2]+56>>2];if(Y(c,e+12|0,8-(o[c+20>>2]&7)|0)){break d}b=0;break a}c=0;while(1){d=o[a+4>>2];e:{if(o[d+3520>>2]){b=p[d+3590|0];o[e+12>>2]=b;o[d+3520>>2]=0;break e}b=0;if(!Y(o[d+56>>2],e+12|0,8)){break a}b=o[e+12>>2]}f:{if((b|0)!=255){break f}m[o[a+4>>2]+3588|0]=255;b=0;if(!Y(o[o[a+4>>2]+56>>2],e+12|0,8)){break a}b=o[e+12>>2];if((b|0)==255){b=o[a+4>>2];o[b+3520>>2]=1;m[b+3590|0]=255;break f}if((b&-2)!=248){break f}m[o[a+4>>2]+3589|0]=b;o[o[a>>2]>>2]=3;break b}b=c;c=1;if(b){continue}b=o[a+4>>2];if(o[b+3632>>2]){continue}l[o[b+32>>2]](a,0,o[b+48>>2]);continue}}b=1}N=e+16|0;return b}function Nb(a){a=a|0;var b=0,c=0,d=0;b=o[a+4>>2];a:{if(o[o[a>>2]>>2]==9?!o[b+3628>>2]:0){break a}o[b+3624>>2]=0;o[b+240>>2]=0;o[b+244>>2]=0;if(o[b>>2]){Wd(o[a>>2]+32|0);b=o[a+4>>2]}b=o[b+56>>2];o[b+8>>2]=0;o[b+12>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;c=o[a>>2];o[c>>2]=2;b=o[a+4>>2];if(o[b>>2]){Td(c+32|0);b=o[a+4>>2]}b:{if(!o[b+3628>>2]){c=0;if(o[b+52>>2]==o[1887]){break a}d=o[b+8>>2];if(!d){break b}if((l[d](a,0,0,o[b+48>>2])|0)==1){break a}b=o[a+4>>2];break b}o[b+3628>>2]=0}o[o[a>>2]>>2]=0;o[b+248>>2]=0;X(o[b+452>>2]);o[o[a+4>>2]+452>>2]=0;b=o[a+4>>2];o[b+252>>2]=0;o[b+3624>>2]=o[o[a>>2]+28>>2];o[b+228>>2]=0;o[b+232>>2]=0;b=b+3636|0;o[b+80>>2]=0;o[b+84>>2]=0;o[b+64>>2]=1732584193;o[b+68>>2]=-271733879;o[b+72>>2]=-1732584194;o[b+76>>2]=271733878;o[b+88>>2]=0;o[b+92>>2]=0;a=o[a+4>>2];o[a+6152>>2]=0;o[a+6136>>2]=0;o[a+6140>>2]=0;c=1}return c|0}function we(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=N-16|0;N=h;a:{if(!Y(a,h+12|0,8)){break a}e=o[h+12>>2];if(c){g=o[d>>2];o[d>>2]=g+1;m[c+g|0]=e}b:{c:{d:{e:{if(e&128){if(!(!(e&192)|e&32)){e=e&31;f=1;break e}if(!(!(e&224)|e&16)){e=e&15;f=2;break e}if(!(!(e&240)|e&8)){e=e&7;f=3;break e}if(!(!(e&248)|e&4)){e=e&3;f=4;break e}if(!(!(e&252)|e&2)){e=e&1;f=5;break e}f=1;if(!(!(e&254)|e&1)){f=6;e=0;break e}o[b>>2]=-1;o[b+4>>2]=-1;break a}g=0;break d}g=0;if(!c){while(1){if(!Y(a,h+12|0,8)){f=0;break a}c=o[h+12>>2];if((c&192)!=128){break c}c=c&63;g=g<<6|e>>>26;e=c|e<<6;f=f+ -1|0;if(f){continue}break d}}while(1){if(!Y(a,h+12|0,8)){f=0;break a}i=o[h+12>>2];j=o[d>>2];o[d>>2]=j+1;m[c+j|0]=i;if((i&192)!=128){break c}g=g<<6|e>>>26;e=i&63|e<<6;f=f+ -1|0;if(f){continue}break}}o[b>>2]=e;o[b+4>>2]=g;break b}o[b>>2]=-1;o[b+4>>2]=-1}f=1}N=h+16|0;return f}function Cc(a){var b=0,c=0,d=0,f=0,g=0,i=0,j=0,k=0;h(+a);d=e(1)|0;j=e(0)|0;g=d>>>31|0;a:{b:{c:{d:{f=a;e:{f:{c=d;d=c&2147483647;g:{if(d>>>0>=1082532651){c=c&2147483647;if((c|0)==2146435072&j>>>0>0|c>>>0>2146435072){return a}if(!!(a>709.782712893384)){return a*8.98846567431158e+307}if(!(a<-745.1332191019411)|a<-708.3964185322641^1){break g}break b}if(d>>>0<1071001155){break d}if(d>>>0<1072734898){break f}}a=a*1.4426950408889634+t[(g<<3)+10448>>3];if(w(a)<2147483648){c=~~a;break e}c=-2147483648;break e}c=(g^1)-g|0}b=+(c|0);a=f+b*-.6931471803691238;i=b*1.9082149292705877e-10;f=a-i;break c}if(d>>>0<=1043333120){break a}c=0;f=a}b=f;k=a;b=b*b;a=f-b*(b*(b*(b*(b*4.1381367970572385e-8+ -16533902205465252e-22)+6613756321437934e-20)+ -.0027777777777015593)+.16666666666666602);b=k+(f*a/(2-a)-i)+1;if(!c){break b}b=ua(b,c)}return b}return a+1}function me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{c:{switch(c|0){case 4:if((b|0)<1){break b}f=o[d+ -12>>2];g=o[d+ -4>>2];c=0;while(1){i=c<<2;h=i+d|0;e=o[h+ -8>>2];g=((o[a+i>>2]+u(e,-6)|0)-o[h+ -16>>2]|0)+(f+g<<2)|0;o[h>>2]=g;f=e;c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 3:if((b|0)<1){break b}e=o[d+ -12>>2];f=o[d+ -4>>2];c=0;while(1){g=c<<2;h=g+d|0;i=o[a+g>>2]+e|0;e=o[h+ -8>>2];f=i+u(f-e|0,3)|0;o[h>>2]=f;c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 2:if((b|0)<1){break b}e=o[d+ -4>>2];c=0;while(1){f=c<<2;g=f+d|0;e=(o[a+f>>2]+(e<<1)|0)-o[g+ -8>>2]|0;o[g>>2]=e;c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 0:break a;case 1:break c;default:break b}}if((b|0)<1){break b}e=o[d+ -4>>2];c=0;while(1){f=c<<2;e=o[f+a>>2]+e|0;o[d+f>>2]=e;c=c+1|0;if((c|0)!=(b|0)){continue}break}}return}ca(d,a,b<<2)}function $d(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=v(0);i=N-16|0;N=i;a:{if(!b){h=2;break a}f=c+ -1|0;c=0;while(1){m=+v(w(s[(c<<2)+a>>2]));g=g<m?m:g;c=c+1|0;if((c|0)!=(b|0)){continue}break}h=2;if(g<=0){break a}k=1<<f;n=k+ -1|0;l=0-k|0;xb(g,i+12|0);c=o[i+12>>2];o[i+12>>2]=c+ -1;f=f-c|0;o[e>>2]=f;b:{h=-1<<o[1413]+ -1;c=h^-1;if((f|0)>(c|0)){o[e>>2]=c;f=c;break b}if((f|0)>=(h|0)){break b}h=1;break a}h=0;if((f|0)>=0){if(!b){break a}g=0;c=0;while(1){j=c<<2;g=g+ +v(s[j+a>>2]*v(1<<f));f=ub(g);f=(f|0)<(k|0)?(f|0)<(l|0)?l:f:n;o[d+j>>2]=f;c=c+1|0;if((c|0)==(b|0)){break a}g=g- +(f|0);f=o[e>>2];continue}}if(b){c=0;p=v(1<<0-f);g=0;while(1){j=c<<2;g=g+ +v(s[j+a>>2]/p);f=ub(g);f=(f|0)<(k|0)?(f|0)<(l|0)?l:f:n;o[d+j>>2]=f;g=g- +(f|0);c=c+1|0;if((c|0)!=(b|0)){continue}break}}o[e>>2]=0}N=i+16|0;return h}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=N-32|0;N=e;g=o[a+28>>2];o[e+16>>2]=g;d=o[a+20>>2];o[e+28>>2]=c;o[e+24>>2]=b;b=d-g|0;o[e+20>>2]=b;g=b+c|0;j=2;b=e+16|0;a:{b:{f=G(o[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}o[2896]=f;d=-1}d:{if(!d){while(1){d=o[e+12>>2];if((d|0)==(g|0)){break d}if((d|0)<=-1){break b}h=o[b+4>>2];f=d>>>0>h>>>0;i=(f<<3)+b|0;h=d-(f?h:0)|0;o[i>>2]=h+o[i>>2];i=(f?12:4)+b|0;o[i>>2]=o[i>>2]-h;g=g-d|0;b=f?b+8|0:b;j=j-f|0;f=G(o[a+60>>2],b|0,j|0,e+12|0)|0;d=0;e:{if(!f){break e}o[2896]=f;d=-1}if(!d){continue}break}}o[e+12>>2]=-1;if((g|0)!=-1){break b}}b=o[a+44>>2];o[a+28>>2]=b;o[a+20>>2]=b;o[a+16>>2]=b+o[a+48>>2];a=c;break a}o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=o[a>>2]|32;a=0;if((j|0)==2){break a}a=c-o[b+4>>2]|0}N=e+32|0;return a|0}function Gb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;m=o[(h?5644:5640)>>2];j=o[(h?5632:5628)>>2];a:{b:{if(!g){if(!o[f>>2]){if(!_(a,o[e>>2],j)){break b}if(!Yb(a,b,c,o[e>>2])){break b}break a}if(!_(a,m,j)){break b}if(!_(a,o[f>>2],o[1409])){break b}if(!c){break a}h=0;while(1){if(va(a,o[(h<<2)+b>>2],o[f>>2])){h=h+1|0;if((h|0)!=(c|0)){continue}break a}break}return 0}q=c+d>>>g|0;r=o[1409];c=0;while(1){h=c;n=q-(k?0:d)|0;c=h+n|0;p=k<<2;i=p+f|0;c:{if(!o[i>>2]){l=0;i=e+p|0;if(!_(a,o[i>>2],j)){break b}if(Yb(a,(h<<2)+b|0,n,o[i>>2])){break c}break b}l=0;if(!_(a,m,j)){break b}if(!_(a,o[i>>2],r)){break b}if(h>>>0>=c>>>0){break c}while(1){if(!va(a,o[(h<<2)+b>>2],o[i>>2])){break b}h=h+1|0;if((h|0)!=(c|0)){continue}break}}l=1;k=k+1|0;if(!(k>>>g)){continue}break}}return l}return 1}function wc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{if(!a){break a}i=o[a>>2];if(!i){break a}f=o[a+36>>2];if(o[a+32>>2]<=(f|0)){break a}d=o[a+16>>2];g=o[d+(f<<2)>>2];if(g&1024){o[a+36>>2]=f+1;b=a;d=a;c=o[a+348>>2];a=o[a+344>>2]+1|0;if(a>>>0<1){c=c+1|0}o[d+344>>2]=a;o[b+348>>2]=c;return-1}e=g&512;h=255;c=g&255;b:{if((c|0)!=255){h=c;break b}while(1){f=f+1|0;c=o[(f<<2)+d>>2];e=c&512?512:e;c=c&255;h=c+h|0;if((c|0)==255){continue}break}}c:{if(!b){e=o[a+344>>2];c=o[a+348>>2];g=o[a+12>>2];break c}o[b+8>>2]=g&256;o[b+12>>2]=e;g=o[a+12>>2];o[b>>2]=i+g;d=o[a+348>>2];c=d;e=o[a+344>>2];o[b+24>>2]=e;o[b+28>>2]=c;d=o[a+20>>2]+(f<<3)|0;i=o[d+4>>2];d=o[d>>2];o[b+4>>2]=h;o[b+16>>2]=d;o[b+20>>2]=i}d=e+1|0;if(d>>>0<1){c=c+1|0}o[a+344>>2]=d;o[a+348>>2]=c;e=1;o[a+36>>2]=f+1;o[a+12>>2]=g+h}return e}function ne(a,b,c,d){var e=0,f=0;a:{b:{c:{switch(c|0){case 4:c=0;if((b|0)<=0){break b}while(1){f=c<<2;e=f+a|0;o[d+f>>2]=(o[e+ -16>>2]+(o[e>>2]+u(o[e+ -8>>2],6)|0)|0)-(o[e+ -12>>2]+o[e+ -4>>2]<<2);c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 3:c=0;if((b|0)<=0){break b}while(1){f=c<<2;e=f+a|0;o[d+f>>2]=(o[e>>2]-o[e+ -12>>2]|0)+u(o[e+ -8>>2]-o[e+ -4>>2]|0,3);c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 2:c=0;if((b|0)<=0){break b}while(1){f=c<<2;e=f+a|0;o[d+f>>2]=o[e+ -8>>2]+(o[e>>2]-(o[e+ -4>>2]<<1)|0);c=c+1|0;if((c|0)!=(b|0)){continue}break}break b;case 0:break a;case 1:break c;default:break b}}c=0;if((b|0)<=0){break b}while(1){f=c<<2;e=f+a|0;o[d+f>>2]=o[e>>2]-o[e+ -4>>2];c=c+1|0;if((c|0)!=(b|0)){continue}break}}return}ca(d,a,b<<2)}function la(a){var b=0,c=0,d=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{h(+a);b=e(1)|0;d=e(0)|0;if((b|0)>0?1:(b|0)>=0?d>>>0<0?0:1:0){j=b;if(b>>>0>1048575){break d}}if(!(b&2147483647|d)){return-1/(a*a)}if((b|0)>-1?1:0){break c}return(a-a)/0}if(j>>>0>2146435071){break a}b=1072693248;k=-1023;if((j|0)!=1072693248){b=j;break b}if(d){break b}return 0}h(+(a*0x40000000000000));b=e(1)|0;d=e(0)|0;k=-1077}b=b+614242|0;i=+((b>>>20|0)+k|0);f(0,d|0);f(1,(b&1048575)+1072079006|0);a=+g()+ -1;c=a/(a+2);l=i*.6931471803691238;m=a;n=i*1.9082149292705877e-10;o=c;i=a*(a*.5);c=c*c;a=c*c;a=l+(m+(n+o*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return a}function Z(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{if(!a|c>>>0>32){break a}e=o[a>>2];if(!e){break a}g=1;if(!c){break a}f=o[a+8>>2];d=o[a+12>>2];b:{if(f>>>0>d+c>>>0){d=e;break b}d=d+((o[a+16>>2]+c|0)+31>>>5|0)|0;if(d>>>0<=f>>>0){d=e;break b}g=0;h=d;d=d-f&1023;f=h+(d?1024-d|0:0)|0;c:{if(f){if((f|0)!=(f&1073741823)){break a}d=ea(e,f<<2);if(d){break c}X(e);return 0}d=ea(e,0);if(!d){break a}}o[a+8>>2]=f;o[a>>2]=d}e=o[a+16>>2];f=32-e|0;if(f>>>0>c>>>0){o[a+16>>2]=c+e;o[a+4>>2]=o[a+4>>2]<<c|b;return 1}if(e){e=c-f|0;o[a+16>>2]=e;c=o[a+12>>2];o[a+12>>2]=c+1;d=(c<<2)+d|0;c=o[a+4>>2]<<f|b>>>e;o[d>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);o[a+4>>2]=b;return 1}g=1;c=a;a=o[a+12>>2];o[c+12>>2]=a+1;o[(a<<2)+d>>2]=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24)}return g}function ld(a,b,c,d,e){var f=0;a:{if(!_(e,(o[a+12>>2]<<1)+ -2|(o[1420]|(d|0)!=0),o[1416]+(o[1415]+o[1414]|0)|0)){break a}if(d){if(!Qa(e,d+ -1|0)){break a}}b:{if(!o[a+12>>2]){break b}d=0;while(1){if(va(e,o[((d<<2)+a|0)+152>>2],c)){d=d+1|0;if(d>>>0<r[a+12>>2]){continue}break b}break}return 0}if(!_(e,o[a+16>>2]+ -1|0,o[1412])){break a}if(!va(e,o[a+20>>2],o[1413])){break a}c:{if(!o[a+12>>2]){break c}d=0;while(1){if(va(e,o[((d<<2)+a|0)+24>>2],o[a+16>>2])){d=d+1|0;if(d>>>0<r[a+12>>2]){continue}break c}break}return 0}if(!_(e,o[a>>2],o[1405])){break a}d:{if(r[a>>2]>1){break d}if(!_(e,o[a+4>>2],o[1406])){break a}c=o[a>>2];if(c>>>0>1){break d}d=b;b=o[a+8>>2];if(!Gb(e,o[a+280>>2],d,o[a+12>>2],o[b>>2],o[b+4>>2],o[a+4>>2],(c|0)==1)){break a}}f=1}return f}function Xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=v(0);a:{if(!!(c<=v(0))){if((b|0)<1){break a}while(1){o[(d<<2)+a>>2]=1065353216;d=d+1|0;if((d|0)!=(b|0)){continue}break}break a}if(!!(c>=v(1))){if((b|0)<1){break a}f=+(b+ -1|0);while(1){h=(d<<2)+a|0,i=v(.5-ba(+(d|0)*6.283185307179586/f)*.5),s[h>>2]=i;d=d+1|0;if((d|0)!=(b|0)){continue}break}break a}c=v(v(c*v(.5))*v(b|0));b:{if(v(w(c))<v(2147483648)){e=~~c;break b}e=-2147483648}if((b|0)>=1){while(1){o[(d<<2)+a>>2]=1065353216;d=d+1|0;if((d|0)!=(b|0)){continue}break}}if((e|0)<2){break a}b=b-e|0;g=e+ -1|0;f=+(g|0);d=0;while(1){h=(d<<2)+a|0,i=v(.5-ba(+(d|0)*3.141592653589793/f)*.5),s[h>>2]=i;h=(b+d<<2)+a|0,i=v(.5-ba(+(d+g|0)*3.141592653589793/f)*.5),s[h>>2]=i;d=d+1|0;if((e|0)!=(d|0)){continue}break}}}function Ca(a,b){var c=0,d=0,e=0,f=0;a:{b:{if(!b){break b}c=o[a+8>>2];e=o[a+12>>2];c:{if(c>>>0>e+b>>>0){break c}d=e+((o[a+16>>2]+b|0)+31>>>5|0)|0;if(d>>>0<=c>>>0){break c}e=o[a>>2];c=d-c&1023;c=d+(c?1024-c|0:0)|0;d:{if(c){if((c|0)!=(c&1073741823)){break a}d=ea(e,c<<2);if(d){break d}X(e);return 0}d=ea(e,0);if(!d){break a}}o[a+8>>2]=c;o[a>>2]=d}c=o[a+16>>2];if(c){f=c;c=32-c|0;e=c>>>0<b>>>0?c:b;d=f+e|0;o[a+16>>2]=d;c=o[a+4>>2]<<e;o[a+4>>2]=c;if((d|0)!=32){break b}d=o[a+12>>2];o[a+12>>2]=d+1;o[o[a>>2]+(d<<2)>>2]=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);o[a+16>>2]=0;b=b-e|0}if(b>>>0>=32){c=o[a>>2];while(1){e=o[a+12>>2];o[a+12>>2]=e+1;o[c+(e<<2)>>2]=0;b=b+ -32|0;if(b>>>0>31){continue}break}}if(!b){break b}o[a+16>>2]=b;o[a+4>>2]=0}f=1}return f}function Y(a,b,c){var d=0,e=0,f=0;a:{if(c){b:{while(1){f=o[a+8>>2];e=o[a+16>>2];d=o[a+20>>2];if(((f-e<<5)+(o[a+12>>2]<<3)|0)-d>>>0>=c>>>0){break b}if(Ia(a)){continue}break}return 0}if(f>>>0>e>>>0){if(d){f=o[a>>2];e=o[f+(e<<2)>>2]&-1>>>d;d=32-d|0;if(d>>>0>c>>>0){o[b>>2]=e>>>d-c;o[a+20>>2]=o[a+20>>2]+c;break a}o[b>>2]=e;o[a+20>>2]=0;o[a+16>>2]=o[a+16>>2]+1;c=c-d|0;if(!c){break a}d=o[b>>2]<<c;o[b>>2]=d;o[b>>2]=d|o[f+(o[a+16>>2]<<2)>>2]>>>32-c;o[a+20>>2]=c;return 1}d=o[o[a>>2]+(e<<2)>>2];if(c>>>0<=31){o[b>>2]=d>>>32-c;o[a+20>>2]=c;break a}o[b>>2]=d;o[a+16>>2]=o[a+16>>2]+1;return 1}e=o[o[a>>2]+(e<<2)>>2];if(d){o[b>>2]=(e&-1>>>d)>>>32-(c+d|0);o[a+20>>2]=o[a+20>>2]+c;break a}o[b>>2]=e>>>32-c;o[a+20>>2]=o[a+20>>2]+c;break a}o[b>>2]=0}return 1}function _b(a,b){var c=0,d=0,e=0;d=o[b+80>>2]&63;c=d+b|0;m[c|0]=128;c=c+1|0;e=56;a:{if(d>>>0<56){e=55-d|0;break a}fa(c,d^63);Ra(b- -64|0,b);c=b}fa(c,e);c=o[b+80>>2];o[b+56>>2]=c<<3;o[b+60>>2]=o[b+84>>2]<<3|c>>>29;Ra(b- -64|0,b);c=p[b+76|0]|p[b+77|0]<<8|(p[b+78|0]<<16|p[b+79|0]<<24);d=p[b+72|0]|p[b+73|0]<<8|(p[b+74|0]<<16|p[b+75|0]<<24);m[a+8|0]=d;m[a+9|0]=d>>>8;m[a+10|0]=d>>>16;m[a+11|0]=d>>>24;m[a+12|0]=c;m[a+13|0]=c>>>8;m[a+14|0]=c>>>16;m[a+15|0]=c>>>24;c=p[b+68|0]|p[b+69|0]<<8|(p[b+70|0]<<16|p[b+71|0]<<24);d=p[b+64|0]|p[b+65|0]<<8|(p[b+66|0]<<16|p[b+67|0]<<24);m[a|0]=d;m[a+1|0]=d>>>8;m[a+2|0]=d>>>16;m[a+3|0]=d>>>24;m[a+4|0]=c;m[a+5|0]=c>>>8;m[a+6|0]=c>>>16;m[a+7|0]=c>>>24;a=o[b+88>>2];if(a){X(a);o[b+88>>2]=0;o[b+92>>2]=0}fa(b,96)}function pa(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){ca(a,b,c);return}d=(a^b)&3;b:{c:{if(a>>>0<b>>>0){if(d){break b}if(!(a&3)){break c}while(1){if(!c){break a}m[a|0]=p[b|0];b=b+1|0;c=c+ -1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c+ -1|0;d=c+a|0;m[d|0]=p[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c+ -4|0;o[c+a>>2]=o[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;m[c+a|0]=p[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){o[a>>2]=o[b>>2];b=b+4|0;a=a+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){m[a|0]=p[b|0];a=a+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}}function xe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=N-16|0;N=h;a:{if(!Y(a,h+12|0,8)){break a}e=o[h+12>>2];if(c){f=o[d>>2];o[d>>2]=f+1;m[c+f|0]=e}b:{c:{d:{e:{if(!(e&128)){break e}f:{if(!(!(e&192)|e&32)){g=31;f=1;break f}if(!(!(e&224)|e&16)){g=15;f=2;break f}if(!(!(e&240)|e&8)){g=7;f=3;break f}if(e&248){g=3;f=4;if(!(e&4)){break f}}if(!(e&252)|e&2){break d}g=1;f=5}e=e&g;if(!c){while(1){if(!Y(a,h+12|0,8)){break a}c=o[h+12>>2];if((c&192)!=128){break c}e=c&63|e<<6;f=f+ -1|0;if(f){continue}break e}}while(1){if(!Y(a,h+12|0,8)){break a}g=o[h+12>>2];i=o[d>>2];o[d>>2]=i+1;m[c+i|0]=g;if((g&192)!=128){break c}e=g&63|e<<6;f=f+ -1|0;if(f){continue}break}}o[b>>2]=e;break b}o[b>>2]=-1;break b}o[b>>2]=-1}j=1}N=h+16|0;return j}function ce(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;h=N-256|0;N=h;n=o[b>>2];k=+s[a>>2];a:{while(1){if((f|0)==(n|0)){break a}m=f+1|0;g=+v(-s[(m<<2)+a>>2]);b:{if(f){l=f>>>1|0;e=0;while(1){g=g-t[(e<<3)+h>>3]*+s[(f-e<<2)+a>>2];e=e+1|0;if((e|0)!=(f|0)){continue}break}g=g/k;t[(f<<3)+h>>3]=g;e=0;if(l){while(1){i=(e<<3)+h|0;j=t[i>>3];p=i;i=((e^-1)+f<<3)+h|0;t[p>>3]=j+g*t[i>>3];t[i>>3]=g*j+t[i>>3];e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(!(f&1)){break b}i=(l<<3)+h|0;j=t[i>>3];t[i>>3]=j+g*j;break b}g=g/k;t[(f<<3)+h>>3]=g}j=1-g*g;e=0;while(1){s[((f<<7)+c|0)+(e<<2)>>2]=-v(t[(e<<3)+h>>3]);e=e+1|0;if(e>>>0<=f>>>0){continue}break}k=k*j;t[(f<<3)+d>>3]=k;f=m;if(k!=0){continue}break}o[b>>2]=f}N=h+256|0}function mb(a,b,c,d,e,f){var g=0;g=N-80|0;N=g;a:{if((f|0)>=16384){$(g+32|0,b,c,d,e,0,0,0,2147352576);d=o[g+40>>2];e=o[g+44>>2];b=o[g+32>>2];c=o[g+36>>2];if((f|0)<32767){f=f+ -16383|0;break a}$(g+16|0,b,c,d,e,0,0,0,2147352576);f=((f|0)<49149?f:49149)+ -32766|0;d=o[g+24>>2];e=o[g+28>>2];b=o[g+16>>2];c=o[g+20>>2];break a}if((f|0)>-16383){break a}$(g- -64|0,b,c,d,e,0,0,0,65536);d=o[g+72>>2];e=o[g+76>>2];b=o[g+64>>2];c=o[g+68>>2];if((f|0)>-32765){f=f+16382|0;break a}$(g+48|0,b,c,d,e,0,0,0,65536);f=((f|0)>-49146?f:-49146)+32764|0;d=o[g+56>>2];e=o[g+60>>2];b=o[g+48>>2];c=o[g+52>>2]}$(g,b,c,d,e,0,0,0,f+16383<<16);b=o[g+12>>2];o[a+8>>2]=o[g+8>>2];o[a+12>>2]=b;b=o[g+4>>2];o[a>>2]=o[g>>2];o[a+4>>2]=b;N=g+80|0}function mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:{d=o[c+4>>2];if(o[d>>2]){break a}e=o[d+20>>2];if(!e){break a}if(!l[e](c,o[d+48>>2])){break a}o[b>>2]=0;o[o[c>>2]>>2]=4;return 0}b:{c:{if(o[b>>2]){d=o[c+4>>2];if(!(!o[d+3632>>2]|r[d+6152>>2]<21)){o[o[c>>2]>>2]=7;break c}d:{e:{f:{g:{if(o[d>>2]){e=0;switch(Ud(o[c>>2]+32|0,a,b,c,o[d+48>>2])|0){case 0:case 2:break e;case 1:break f;default:break g}}e=l[o[d+4>>2]](c,a,b,o[d+48>>2])|0;if((e|0)!=2){break e}}o[o[c>>2]>>2]=7;break c}a=1;if(!o[b>>2]){break d}break b}a=1;if(o[b>>2]){break b}if((e|0)==1){break d}b=o[c+4>>2];if(o[b>>2]){break b}d=o[b+20>>2];if(!d){break b}if(!l[d](c,o[b+48>>2])){break b}}o[o[c>>2]>>2]=4;break c}o[o[c>>2]>>2]=7}a=0}return a|0}function ga(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=o[a+116>>2];c=b;a:{f=o[a+112>>2];b:{if(b|f){b=o[a+124>>2];if((b|0)>(c|0)?1:(b|0)>=(c|0)?r[a+120>>2]<f>>>0?0:1:0){break b}}f=Fc(a);if((f|0)>-1){break a}}o[a+104>>2]=0;return-1}b=o[a+8>>2];c=o[a+116>>2];d=c;c:{d:{e=o[a+112>>2];if(!(c|e)){break d}c=(o[a+124>>2]^-1)+d|0;d=o[a+120>>2]^-1;e=d+e|0;if(e>>>0<d>>>0){c=c+1|0}d=e;e=o[a+4>>2];g=b-e|0;h=d>>>0<g>>>0?0:1;g=g>>31;if((c|0)>(g|0)?1:(c|0)>=(g|0)?h:0){break d}o[a+104>>2]=d+e;break c}o[a+104>>2]=b}e:{if(!b){a=o[a+4>>2];break e}e=o[a+124>>2];c=a;d=o[a+120>>2];a=o[a+4>>2];b=(b-a|0)+1|0;g=b;d=d+b|0;b=(b>>31)+e|0;o[c+120>>2]=d;o[c+124>>2]=d>>>0<g>>>0?b+1|0:b}a=a+ -1|0;if(p[a|0]!=(f|0)){m[a|0]=f}return f}function fa(a,b){var c=0,d=0;a:{if(!b){break a}c=a+b|0;m[c+ -1|0]=0;m[a|0]=0;if(b>>>0<3){break a}m[c+ -2|0]=0;m[a+1|0]=0;m[c+ -3|0]=0;m[a+2|0]=0;if(b>>>0<7){break a}m[c+ -4|0]=0;m[a+3|0]=0;if(b>>>0<9){break a}d=0-a&3;c=d+a|0;o[c>>2]=0;d=b-d&-4;b=d+c|0;o[b+ -4>>2]=0;if(d>>>0<9){break a}o[c+8>>2]=0;o[c+4>>2]=0;o[b+ -8>>2]=0;o[b+ -12>>2]=0;if(d>>>0<25){break a}o[c+24>>2]=0;o[c+20>>2]=0;o[c+16>>2]=0;o[c+12>>2]=0;o[b+ -16>>2]=0;o[b+ -20>>2]=0;o[b+ -24>>2]=0;o[b+ -28>>2]=0;b=d;d=c&4|24;b=b-d|0;if(b>>>0<32){break a}c=c+d|0;while(1){o[c+24>>2]=0;o[c+28>>2]=0;o[c+16>>2]=0;o[c+20>>2]=0;o[c+8>>2]=0;o[c+12>>2]=0;o[c>>2]=0;o[c+4>>2]=0;c=c+32|0;b=b+ -32|0;if(b>>>0>31){continue}break}}return a}function za(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;j=1;i=d&2147483647;m=i;k=c;a:{if(!c&(i|0)==2147418112?a|b:(i|0)==2147418112&c>>>0>0|i>>>0>2147418112){break a}l=h&2147483647;n=l;i=g;if(!g&(l|0)==2147418112?e|f:(l|0)==2147418112&g>>>0>0|l>>>0>2147418112){break a}if(!(a|e|(i|k)|(b|f|(m|n)))){return 0}k=d&h;if((k|0)>0?1:(k|0)>=0?(c&g)>>>0<0?0:1:0){j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0<e>>>0|b>>>0<f>>>0:(d|0)<(h|0)?1:(d|0)<=(h|0)?c>>>0>=g>>>0?0:1:0){break a}return(a^e|c^g)!=0|(b^f|d^h)!=0}j=-1;if((c|0)==(g|0)&(d|0)==(h|0)?(b|0)==(f|0)&a>>>0>e>>>0|b>>>0>f>>>0:(d|0)>(h|0)?1:(d|0)>=(h|0)?c>>>0<=g>>>0?0:1:0){break a}j=(a^e|c^g)!=0|(b^f|d^h)!=0}return j}function Ub(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b=o[a>>2];if(!b){break a}nc(o[a+4>>2],b);if(!o[a>>2]){break a}e=1;f=o[a>>2];if(f>>>0>1){h=1;while(1){c=o[a+4>>2];d=c+u(h,24)|0;b=o[d+4>>2];g=o[d>>2];b:{if((g|0)!=-1|(b|0)!=-1){i=g;g=(u(e,24)+c|0)+ -24|0;if((i|0)==o[g>>2]&o[g+4>>2]==(b|0)){break b}}b=o[d+4>>2];c=u(e,24)+c|0;o[c>>2]=o[d>>2];o[c+4>>2]=b;b=o[d+20>>2];o[c+16>>2]=o[d+16>>2];o[c+20>>2]=b;b=o[d+12>>2];o[c+8>>2]=o[d+8>>2];o[c+12>>2]=b;e=e+1|0;f=o[a>>2]}h=h+1|0;if(h>>>0<f>>>0){continue}break}}if(e>>>0>=f>>>0){break a}d=o[a+4>>2];a=e;while(1){b=d+u(a,24)|0;o[b+16>>2]=0;o[b+8>>2]=0;o[b+12>>2]=0;o[b>>2]=-1;o[b+4>>2]=-1;a=a+1|0;if((f|0)!=(a|0)){continue}break}}}function Yc(a,b){var c=0,d=0,e=v(0),f=0,g=v(0),h=0;d=1;a:{if(b&1){c=(b+1|0)/2|0;if((b|0)>=1){e=v(v(b|0)+v(1));f=(c|0)>1?c:1;d=f+1|0;c=1;while(1){g=v(c|0);s[((c<<2)+a|0)+ -4>>2]=v(g+g)/e;h=(c|0)==(f|0);c=c+1|0;if(!h){continue}break}}if((d|0)>(b|0)){break a}e=v(v(b|0)+v(1));while(1){s[((d<<2)+a|0)+ -4>>2]=v((b-d<<1)+2|0)/e;c=(b|0)==(d|0);d=d+1|0;if(!c){continue}break}break a}c=1;if((b|0)>=2){f=b>>>1|0;c=f+1|0;e=v(v(b|0)+v(1));while(1){g=v(d|0);s[((d<<2)+a|0)+ -4>>2]=v(g+g)/e;h=(d|0)==(f|0);d=d+1|0;if(!h){continue}break}}if((c|0)>(b|0)){break a}e=v(v(b|0)+v(1));while(1){s[((c<<2)+a|0)+ -4>>2]=v((b-c<<1)+2|0)/e;d=(b|0)!=(c|0);c=c+1|0;if(d){continue}break}}}function ze(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=o[a+16>>2];c=o[a+28>>2];a:{if(f>>>0<=c>>>0){e=c;break a}b=o[a+32>>2];if(!b){e=c;break a}e=c+1|0;o[a+28>>2]=e;d=o[a+24>>2];if(b>>>0<=31){c=o[o[a>>2]+(c<<2)>>2];while(1){d=q[((c>>>24-b&255^d>>>8)<<1)+1280>>1]^d<<8&65280;h=b>>>0<24;g=b+8|0;b=g;if(h){continue}break}o[a+32>>2]=g}o[a+32>>2]=0;o[a+24>>2]=d}b=Wb(o[a>>2]+(e<<2)|0,f-e|0,q[a+24>>1]);o[a+28>>2]=0;o[a+24>>2]=b;c=o[a+20>>2];b:{if(!c){break b}d=o[a+32>>2];if(d>>>0>=c>>>0){break b}e=o[o[a>>2]+(o[a+16>>2]<<2)>>2];while(1){b=q[((e>>>24-d&255^b>>>8)<<1)+1280>>1]^b<<8&65280;d=d+8|0;if(d>>>0<c>>>0){continue}break}o[a+32>>2]=d;o[a+24>>2]=b}return b}function wb(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0;l=5;a:{m=o[a>>2];b:{if(o[m>>2]!=9){break b}l=2;if(!i|(!b|!g)){break b}if(c){if(!f|(!d|!e)){break b}}l=o[a+4>>2];o[l>>2]=k;if(k){if(!Vd(m+32|0)){break a}l=o[a+4>>2]}Xb(l+3524|0);k=o[a+4>>2];o[k+44>>2]=5;o[k+40>>2]=6;o[k+36>>2]=5;if(!ye(o[k+56>>2],a)){o[o[a>>2]>>2]=8;return 3}k=o[a+4>>2];o[k+48>>2]=j;o[k+32>>2]=i;o[k+28>>2]=h;o[k+24>>2]=g;o[k+20>>2]=f;o[k+16>>2]=e;o[k+12>>2]=d;o[k+8>>2]=c;o[k+4>>2]=b;o[k+3520>>2]=0;o[k+248>>2]=0;o[k+240>>2]=0;o[k+244>>2]=0;o[k+228>>2]=0;o[k+232>>2]=0;o[k+3624>>2]=o[o[a>>2]+28>>2];o[k+3628>>2]=1;o[k+3632>>2]=0;l=Nb(a)?0:3}return l}o[o[a>>2]+4>>2]=4;return 4}function eb(a,b){var c=0,d=0,e=0;o[b>>2]=0;a:{while(1){d=o[a+16>>2];b:{if(d>>>0>=r[a+8>>2]){c=o[a+20>>2];break b}c=o[a+20>>2];e=o[a>>2];while(1){d=o[e+(d<<2)>>2]<<c;if(d){c=b;e=o[b>>2];b=x(d);o[c>>2]=e+b;c=(b+o[a+20>>2]|0)+1|0;o[a+20>>2]=c;b=1;if(c>>>0<32){break a}o[a+20>>2]=0;o[a+16>>2]=o[a+16>>2]+1;return 1}o[b>>2]=(o[b>>2]-c|0)+32;c=0;o[a+20>>2]=0;d=o[a+16>>2]+1|0;o[a+16>>2]=d;if(d>>>0<r[a+8>>2]){continue}break}}e=o[a+12>>2]<<3;if(e>>>0>c>>>0){d=(o[o[a>>2]+(d<<2)>>2]&-1<<32-e)<<c;if(d){c=b;e=o[b>>2];b=x(d);o[c>>2]=e+b;o[a+20>>2]=(b+o[a+20>>2]|0)+1;return 1}o[b>>2]=o[b>>2]+(e-c|0);o[a+20>>2]=e}if(Ia(a)){continue}break}b=0}return b}function Ka(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=N-240|0;N=f;g=o[b>>2];o[f+232>>2]=g;b=o[b+4>>2];o[f>>2]=a;o[f+236>>2]=b;h=1;a:{b:{c:{d:{if(b?0:(g|0)==1){break d}g=a-o[(c<<2)+e>>2]|0;if((l[1](g,a)|0)<1){break d}i=!d;while(1){e:{b=g;if(!(!i|(c|0)<2)){d=o[((c<<2)+e|0)+ -8>>2];g=a+ -24|0;if((l[1](g,b)|0)>-1){break e}if((l[1](g-d|0,b)|0)>-1){break e}}o[(h<<2)+f>>2]=b;d=f+232|0;a=De(o[f+232>>2]+ -1|0);if(!a){a=De(o[f+236>>2]);a=a?a+32|0:0}La(d,a);h=h+1|0;c=a+c|0;if(o[f+236>>2]?0:o[f+232>>2]==1){break b}d=0;i=1;a=b;g=a-o[(c<<2)+e>>2]|0;if((l[1](g,o[f>>2])|0)>0){continue}break c}break}b=a;break b}b=a}if(d){break a}}Eb(f,h);Sa(b,c,e)}N=f+240|0}function Ed(a){a=a|0;var b=0,c=0;if(a){o[o[a+4>>2]+11848>>2]=1;Mb(a);b=o[a+4>>2];c=o[b+11752>>2];if(c){Sb(c);b=o[a+4>>2]}aa(b+6256|0);aa(o[a+4>>2]+6268|0);aa(o[a+4>>2]+6280|0);aa(o[a+4>>2]+6292|0);aa(o[a+4>>2]+6304|0);aa(o[a+4>>2]+6316|0);aa(o[a+4>>2]+6328|0);aa(o[a+4>>2]+6340|0);aa(o[a+4>>2]+6352|0);aa(o[a+4>>2]+6364|0);aa(o[a+4>>2]+6376|0);aa(o[a+4>>2]+6388|0);aa(o[a+4>>2]+6400|0);aa(o[a+4>>2]+6412|0);aa(o[a+4>>2]+6424|0);aa(o[a+4>>2]+6436|0);aa(o[a+4>>2]+6448|0);aa(o[a+4>>2]+6460|0);aa(o[a+4>>2]+6472|0);aa(o[a+4>>2]+6484|0);aa(o[a+4>>2]+11724|0);aa(o[a+4>>2]+11736|0);gb(o[o[a+4>>2]+6856>>2]);X(o[a+4>>2]);X(o[a>>2]);X(a)}}function na(a,b,c){var d=0,e=0;e=N-16|0;N=e;a:{if(!c){d=1;break a}while(1){if(!o[a+20>>2]){b:{if(c>>>0<4){break b}while(1){c:{d=o[a+16>>2];if(d>>>0<r[a+8>>2]){o[a+16>>2]=d+1;d=o[o[a>>2]+(d<<2)>>2];d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);m[b|0]=d;m[b+1|0]=d>>>8;m[b+2|0]=d>>>16;m[b+3|0]=d>>>24;c=c+ -4|0;b=b+4|0;break c}if(Ia(a)){break c}d=0;break a}if(c>>>0>3){continue}break}if(c){break b}d=1;break a}while(1){if(!Y(a,e+12|0,8)){d=0;break a}m[b|0]=o[e+12>>2];d=1;b=b+1|0;c=c+ -1|0;if(c){continue}break}break a}if(!Y(a,e+12|0,8)){d=0;break a}m[b|0]=o[e+12>>2];d=1;b=b+1|0;c=c+ -1|0;if(c){continue}break}}N=e+16|0;return d}function sa(a,b){var c=0,d=0,f=0,g=0,i=0,j=0,k=0,l=0;g=N-16|0;N=g;h(+b);j=e(1)|0;i=e(0)|0;f=j&2147483647;c=f;f=c+ -1048576|0;d=i;if(d>>>0<0){f=f+1|0}a:{if((f|0)==2145386495|f>>>0<2145386495){k=d<<28;f=(c&15)<<28|d>>>4;c=(c>>>4|0)+1006632960|0;d=f;c=d>>>0<0?c+1|0:c;break a}if((c|0)==2146435072&d>>>0>=0|c>>>0>2146435072){k=i<<28;f=i;c=j;i=c>>>4|0;d=(c&15)<<28|f>>>4;c=i|2147418112;break a}if(!(c|d)){d=0;c=0;break a}f=c;c=(c|0)==1&d>>>0<0|c>>>0<1?x(i)+32|0:x(c);ia(g,d,f,0,0,c+49|0);l=o[g>>2];k=o[g+4>>2];d=o[g+8>>2];c=o[g+12>>2]^65536|15372-c<<16}o[a>>2]=l;o[a+4>>2]=k;o[a+8>>2]=d;o[a+12>>2]=j&-2147483648|c;N=g+16|0}function jd(a,b){var c=0,d=v(0),e=0,f=v(0),g=0,h=0,i=0;h=b+ -1|0;a:{if(b&1){e=(h|0)/2|0;if((b|0)>=0){i=(e|0)>0?e:0;g=i+1|0;f=v(h|0);while(1){d=v(c|0);s[(c<<2)+a>>2]=v(d+d)/f;e=(c|0)==(i|0);c=c+1|0;if(!e){continue}break}}if((g|0)>=(b|0)){break a}f=v(h|0);while(1){d=v(g|0);s[(g<<2)+a>>2]=v(2)-v(v(d+d)/f);g=g+1|0;if((g|0)!=(b|0)){continue}break}break a}e=(b|0)/2|0;if((b|0)>=2){f=v(h|0);while(1){d=v(c|0);s[(c<<2)+a>>2]=v(d+d)/f;c=c+1|0;if((e|0)!=(c|0)){continue}break}c=e}if((c|0)>=(b|0)){break a}f=v(h|0);while(1){d=v(c|0);s[(c<<2)+a>>2]=v(2)-v(v(d+d)/f);c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function se(a,b){if((b|0)>=0){if(b>>>0<=127){return Z(a,b,8)}if(b>>>0<=2047){return Z(a,b>>>6|192,8)&Z(a,b&63|128,8)&1}if(b>>>0<=65535){return Z(a,b>>>12|224,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}if(b>>>0<=2097151){return Z(a,b>>>18|240,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}if(b>>>0<=67108863){return Z(a,b>>>24|248,8)&Z(a,b>>>18&63|128,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}a=Z(a,b>>>30|252,8)&Z(a,b>>>24&63|128,8)&Z(a,b>>>18&63|128,8)&Z(a,b>>>12&63|128,8)&Z(a,b>>>6&63|128,8)&Z(a,b&63|128,8)&1}else{a=0}return a}function db(a,b){var c=0,d=0,e=0,f=0;d=N-16|0;N=d;e=1;a:{if(!b){break a}c=o[a+20>>2]&7;b:{if(c){c=8-c|0;c=c>>>0<b>>>0?c:b;if(!Y(a,d+8|0,c)){break b}b=b-c|0}c=b>>>3|0;if(c){while(1){c:{if(!o[a+20>>2]){if(c>>>0>3){while(1){f=o[a+16>>2];d:{if(f>>>0<r[a+8>>2]){o[a+16>>2]=f+1;c=c+ -4|0;break d}if(!Ia(a)){break b}}if(c>>>0>3){continue}break}if(!c){break c}}while(1){if(!Y(a,d+12|0,8)){break b}c=c+ -1|0;if(c){continue}break}break c}if(!Y(a,d+12|0,8)){break b}c=c+ -1|0;if(c){continue}}break}b=b&7}if(!b){break a}if(Y(a,d+8|0,b)){break a}}e=0}N=d+16|0;return e}function cb(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=o[a+16>>2];a:{if(f&7){break a}b:{if(!f){e=o[a>>2];d=0;break b}g=o[a+12>>2];c:{if((g|0)!=o[a+8>>2]){break c}e=f+63>>>5|0;d=e+g|0;if(d>>>0<=g>>>0){break c}g=0;f=o[a>>2];h=d;d=e&1023;d=h+(d?1024-d|0:0)|0;d:{if(d){if((d|0)!=(d&1073741823)){break a}e=ea(f,d<<2);if(e){break d}X(f);return 0}e=ea(f,0);if(!e){break a}}o[a+8>>2]=d;o[a>>2]=e;g=o[a+12>>2];f=o[a+16>>2]}e=o[a>>2];d=o[a+4>>2]<<32-f;o[e+(g<<2)>>2]=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);d=o[a+16>>2]>>>3|0}o[b>>2]=e;o[c>>2]=d+(o[a+12>>2]<<2);g=1}return g}function fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=v(0),i=0,j=0;g=b-c|0;a:{if(!c){while(1){e=e+1|0;if(e>>>0<=g>>>0){continue}break}break a}j=fa(d,c<<2);while(1){h=s[(e<<2)+a>>2];f=0;while(1){i=(f<<2)+j|0;s[i>>2]=s[i>>2]+v(h*s[(e+f<<2)+a>>2]);f=f+1|0;if((f|0)!=(c|0)){continue}break}e=e+1|0;if(e>>>0<=g>>>0){continue}break}}if(e>>>0<b>>>0){while(1){c=b-e|0;if(c){h=s[(e<<2)+a>>2];f=0;while(1){g=(f<<2)+d|0;s[g>>2]=s[g>>2]+v(h*s[(e+f<<2)+a>>2]);f=f+1|0;if(f>>>0<c>>>0){continue}break}}e=e+1|0;if((e|0)!=(b|0)){continue}break}}}function Jb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=-1;f=d&2147483647;i=f;g=c;a:{if(!c&(f|0)==2147418112?a|b:(f|0)==2147418112&c>>>0>0|f>>>0>2147418112){break a}f=e&2147483647;j=f;if((f|0)==2147418112?0:f>>>0>2147418112){break a}if(!(a|g|(i|j|b))){return 0}g=d&e;if((g|0)>0?1:(g|0)>=0?1:0){if(!c&(d|0)==(e|0)?!b&a>>>0<0|b>>>0<0:(d|0)<(e|0)?1:(d|0)<=(e|0)?c>>>0>=0?0:1:0){break a}return(a|c)!=0|(d^e|b)!=0}if(!c&(d|0)==(e|0)?!b&a>>>0>0|b>>>0>0:(d|0)>(e|0)?1:(d|0)>=(e|0)?c>>>0<=0?0:1:0){break a}h=(a|c)!=0|(d^e|b)!=0}return h}function md(a,b,c,d,e){var f=0;a:{if(!_(e,o[1419]|(d|0)!=0|o[a+12>>2]<<1,o[1416]+(o[1415]+o[1414]|0)|0)){break a}if(d){if(!Qa(e,d+ -1|0)){break a}}b:{if(!o[a+12>>2]){break b}d=0;while(1){if(va(e,o[((d<<2)+a|0)+16>>2],c)){d=d+1|0;if(d>>>0<r[a+12>>2]){continue}break b}break}return 0}if(!_(e,o[a>>2],o[1405])){break a}c:{if(r[a>>2]>1){break c}if(!_(e,o[a+4>>2],o[1406])){break a}c=o[a>>2];if(c>>>0>1){break c}d=b;b=o[a+8>>2];if(!Gb(e,o[a+32>>2],d,o[a+12>>2],o[b>>2],o[b+4>>2],o[a+4>>2],(c|0)==1)){break a}}f=1}return f}function Gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=0;a:{if(o[o[a>>2]>>2]!=9){break a}d=o[a+4>>2];c=1;if(o[d+616>>2]){break a}c=o[d+1120>>2];b:{e=o[d+1124>>2];c:{if((e|0)!=o[d+1128>>2]){d=c;break c}d:{if(!e){d=ea(c,0);break d}if(e+e>>>0>=e>>>0){d=ea(c,e<<1);if(d){break d}X(c);d=o[a+4>>2]}o[d+1120>>2]=0;break b}c=o[a+4>>2];o[c+1120>>2]=d;if(!d){break b}o[c+1128>>2]=o[c+1128>>2]<<1;e=o[c+1124>>2]}c=d;d=o[1364]>>>3|0;ca(c+u(d,e)|0,b,d);a=o[a+4>>2];o[a+1124>>2]=o[a+1124>>2]+1;return 1}o[o[a>>2]>>2]=8;c=0}return c|0}function Ja(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){c=f+ -64|0;b=c&31;if(32<=(c&63)>>>0){c=0;b=e>>>b|0}else{c=e>>>b|0;b=((1<<b)-1&e)<<32-b|d>>>b}d=0;e=0;break a}if(!f){break a}h=e;i=d;j=64-f|0;g=j&31;if(32<=(j&63)>>>0){h=i<<g;j=0}else{h=(1<<g)-1&i>>>32-g|h<<g;j=i<<g}i=b;g=f;b=g&31;if(32<=(g&63)>>>0){g=0;b=c>>>b|0}else{g=c>>>b|0;b=((1<<b)-1&c)<<32-b|i>>>b}b=j|b;c=g|h;g=d;d=f&31;if(32<=(f&63)>>>0){h=0;d=e>>>d|0}else{h=e>>>d|0;d=((1<<d)-1&e)<<32-d|g>>>d}e=h}o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=d;o[a+12>>2]=e}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=N-32|0;N=e;o[e+16>>2]=b;d=o[a+48>>2];o[e+20>>2]=c-((d|0)!=0);f=o[a+44>>2];o[e+28>>2]=d;o[e+24>>2]=f;a:{b:{f=L(o[a+60>>2],e+16|0,2,e+12|0)|0;d=0;c:{if(!f){break c}o[2896]=f;d=-1}d:{if(d){o[e+12>>2]=-1;c=-1;break d}d=o[e+12>>2];if((d|0)>0){break b}c=d}o[a>>2]=o[a>>2]|c&48^16;break a}g=o[e+20>>2];if(d>>>0<=g>>>0){c=d;break a}f=o[a+44>>2];o[a+4>>2]=f;o[a+8>>2]=f+(d-g|0);if(!o[a+48>>2]){break a}o[a+4>>2]=f+1;m[(b+c|0)+ -1|0]=p[f|0]}N=e+32|0;return c|0}function ia(a,b,c,d,e,f){var g=0,h=0,i=0,j=0;a:{if(f&64){d=b;e=f+ -64|0;b=e&31;if(32<=(e&63)>>>0){e=d<<b;d=0}else{e=(1<<b)-1&d>>>32-b|c<<b;d=d<<b}b=0;c=0;break a}if(!f){break a}g=d;i=f;d=f&31;if(32<=(f&63)>>>0){h=g<<d;j=0}else{h=(1<<d)-1&g>>>32-d|e<<d;j=g<<d}d=c;g=b;f=64-f|0;e=f&31;if(32<=(f&63)>>>0){f=0;d=d>>>e|0}else{f=d>>>e|0;d=((1<<e)-1&d)<<32-e|g>>>e}d=j|d;e=f|h;f=b;b=i&31;if(32<=(i&63)>>>0){h=f<<b;b=0}else{h=(1<<b)-1&f>>>32-b|c<<b;b=f<<b}c=h}o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=d;o[a+12>>2]=e}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(o[o[a>>2]>>2]==9){c=o[a+4>>2];if(!o[c+616>>2]){return 1}d=o[c+1120>>2];a:{e=o[c+1124>>2];b:{if((e|0)!=o[c+1128>>2]){c=d;break b}c:{if(!e){c=ea(d,0);break c}if(e+e>>>0>=e>>>0){c=ea(d,e<<1);if(c){break c}X(d);c=o[a+4>>2]}o[c+1120>>2]=0;break a}d=o[a+4>>2];o[d+1120>>2]=c;if(!c){break a}o[d+1128>>2]=o[d+1128>>2]<<1;e=o[d+1124>>2]}d=c;c=o[1364]>>>3|0;ca(d+u(c,e)|0,b,c);a=o[a+4>>2];o[a+1124>>2]=o[a+1124>>2]+1;return 1}o[o[a>>2]>>2]=8}return 0}function qe(a,b){var c=0,d=0;if(b>>>0>7){while(1){d=c;c=p[a|0]|p[a+1|0]<<8;c=d^(c<<8&16711680|c<<24)>>>16;c=q[(p[a+7|0]<<1)+1280>>1]^(q[((p[a+6|0]<<1)+1280|0)+512>>1]^(q[(p[a+5|0]<<1)+2304>>1]^(q[(p[a+4|0]<<1)+2816>>1]^(q[(p[a+3|0]<<1)+3328>>1]^(q[(p[a+2|0]<<1)+3840>>1]^(q[((c&255)<<1)+4352>>1]^q[(c>>>7&510)+4864>>1]))))));a=a+8|0;b=b+ -8|0;if(b>>>0>7){continue}break}}if(b){while(1){c=q[((p[a|0]^(c&65280)>>>8)<<1)+1280>>1]^c<<8;a=a+1|0;b=b+ -1|0;if(b){continue}break}}return c&65535}function Wb(a,b,c){var d=0;if(b>>>0>=2){while(1){d=c;c=o[a>>2];d=d^c>>>16;d=q[((d&255)<<1)+4352>>1]^q[(d>>>7&510)+4864>>1]^q[(c>>>7&510)+3840>>1]^q[((c&255)<<1)+3328>>1];c=o[a+4>>2];c=d^q[(c>>>23&510)+2816>>1]^q[(c>>>15&510)+2304>>1]^q[((c>>>7&510)+1280|0)+512>>1]^q[((c&255)<<1)+1280>>1];a=a+8|0;b=b+ -2|0;if(b>>>0>1){continue}break}}if(b){a=o[a>>2];b=a>>>16^c;c=q[((b&255)<<1)+2304>>1]^q[(b>>>7&510)+2816>>1]^q[((a>>>7&510)+1280|0)+512>>1]^q[((a&255)<<1)+1280>>1]}return c&65535}function ma(a,b,c){var d=0,e=0,f=0,g=0;d=o[a+8>>2];e=o[a+12>>2];a:{b:{if(d>>>0>(e+(c>>>2|0)|0)+1>>>0){break b}f=e+((o[a+16>>2]+(c<<3)|0)+31>>>5|0)|0;if(f>>>0<=d>>>0){break b}e=0;g=o[a>>2];d=f-d&1023;d=f+(d?1024-d|0:0)|0;c:{if(d){if((d|0)!=(d&1073741823)){break a}f=ea(g,d<<2);if(f){break c}X(g);return 0}f=ea(g,0);if(!f){break a}}o[a+8>>2]=d;o[a>>2]=f}e=1;if(!c){break a}e=0;d:{while(1){if(!Z(a,p[b+e|0],8)){break d}e=e+1|0;if((e|0)!=(c|0)){continue}break}return 1}e=0}return e}function tc(a,b){var c=0,d=0,e=0;c=o[a+4>>2];if((c|0)>=0){e=o[a+12>>2];if(e){d=o[a+8>>2]-e|0;o[a+8>>2]=d;if((d|0)>=1){c=o[a>>2];pa(c,c+e|0,d);c=o[a+4>>2]}o[a+12>>2]=0}d=c;c=o[a+8>>2];a:{if((d-c|0)>=(b|0)){b=o[a>>2];break a}c=(b+c|0)+4096|0;b=o[a>>2];b:{if(b){b=ea(b,c);break b}b=da(c)}if(!b){b=o[a>>2];if(b){X(b)}o[a>>2]=0;o[a+4>>2]=0;o[a+24>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;return 0}o[a+4>>2]=c;o[a>>2]=b;c=o[a+8>>2]}a=b+c|0}else{a=0}return a}function tb(a){var b=0,c=0,d=0,e=0;if(a){m[o[a>>2]+22|0]=0;m[o[a>>2]+23|0]=0;m[o[a>>2]+24|0]=0;m[o[a>>2]+25|0]=0;d=o[a+4>>2];if((d|0)>=1){e=o[a>>2];while(1){b=o[((p[c+e|0]^b>>>24)<<2)+6512>>2]^b<<8;c=c+1|0;if((d|0)!=(c|0)){continue}break}}d=o[a+12>>2];if((d|0)>=1){e=o[a+8>>2];c=0;while(1){b=o[((p[c+e|0]^b>>>24)<<2)+6512>>2]^b<<8;c=c+1|0;if((d|0)!=(c|0)){continue}break}}m[o[a>>2]+22|0]=b;m[o[a>>2]+23|0]=b>>>8;m[o[a>>2]+24|0]=b>>>16;m[o[a>>2]+25|0]=b>>>24}}function Sc(a,b){var c=0,d=0,f=0,g=0,h=0,j=0,k=0;f=N-16|0;N=f;g=(i(b),e(0));c=g&2147483647;a:{if(c+ -8388608>>>0<=2130706431){d=c;c=c>>>7|0;d=d<<25;c=c+1065353216|0;h=d;c=d>>>0<0?c+1|0:c;break a}if(c>>>0>=2139095040){c=g;d=c>>>7|0;h=c<<25;c=d|2147418112;break a}if(!c){c=0;break a}d=c;c=x(c);ia(f,d,0,0,0,c+81|0);j=o[f>>2];k=o[f+4>>2];h=o[f+8>>2];c=o[f+12>>2]^65536|16265-c<<16}o[a>>2]=j;o[a+4>>2]=k;o[a+8>>2]=h;o[a+12>>2]=g&-2147483648|c;N=f+16|0}function Ic(a,b){var c=0,d=0;a:{d=b&255;if(d){if(a&3){while(1){c=p[a|0];if(!c|(c|0)==(b&255)){break a}a=a+1|0;if(a&3){continue}break}}c=o[a>>2];b:{if((c^-1)&c+ -16843009&-2139062144){break b}d=u(d,16843009);while(1){c=c^d;if((c^-1)&c+ -16843009&-2139062144){break b}c=o[a+4>>2];a=a+4|0;if(!(c+ -16843009&(c^-1)&-2139062144)){continue}break}}while(1){c=a;d=p[c|0];if(d){a=c+1|0;if((d|0)!=(b&255)){continue}}break}return c}return Ga(a)+a|0}return a}function zc(a,b){var c=0;c=(b|0)!=0;a:{b:{c:{if(!b|!(a&3)){break c}while(1){if(p[a|0]==79){break b}a=a+1|0;b=b+ -1|0;c=(b|0)!=0;if(!b){break c}if(a&3){continue}break}}if(!c){break a}}d:{if(p[a|0]==79|b>>>0<4){break d}while(1){c=o[a>>2]^1330597711;if((c^-1)&c+ -16843009&-2139062144){break d}a=a+4|0;b=b+ -4|0;if(b>>>0>3){continue}break}}if(!b){break a}while(1){if(p[a|0]==79){return a}a=a+1|0;b=b+ -1|0;if(b){continue}break}}return 0}function Ea(a,b){var c=0,d=0,e=0;c=N-16|0;N=c;d=1;a:{if(!b){break a}while(1){b:{if(!o[a+20>>2]){c:{if(b>>>0<4){break c}while(1){e=o[a+16>>2];d:{if(e>>>0<r[a+8>>2]){o[a+16>>2]=e+1;b=b+ -4|0;break d}if(!Ia(a)){break b}}if(b>>>0>3){continue}break}if(b){break c}break a}while(1){if(!Y(a,c+12|0,8)){break b}b=b+ -1|0;if(b){continue}break}break a}if(!Y(a,c+12|0,8)){break b}b=b+ -1|0;if(b){continue}break a}break}d=0}N=c+16|0;return d}function bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=o[d+4>>2];if(o[f+11760>>2]){o[c>>2]=4;a=p[5409]|p[5410]<<8|(p[5411]<<16|p[5412]<<24);m[b|0]=a;m[b+1|0]=a>>>8;m[b+2|0]=a>>>16;m[b+3|0]=a>>>24;o[o[d+4>>2]+11760>>2]=0;return 0}a=o[f+11812>>2];if(!a){return 2}e=o[c>>2];if(a>>>0<e>>>0){o[c>>2]=a;e=a}ca(b,o[f+11804>>2],e);a=o[d+4>>2];b=a+11804|0;d=b;e=o[b>>2];b=o[c>>2];o[d>>2]=e+b;a=a+11812|0;o[a>>2]=o[a>>2]-b;return 0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=o[a>>2];if(o[d>>2]==1){c=u(b>>>0<8?b:8,44);b=c+11184|0;e=o[b+4>>2];o[d+16>>2]=o[b>>2];o[d+20>>2]=e;d=_a(a,o[b+40>>2]);a=o[a>>2];if(o[a>>2]==1){b=c+11184|0;c=o[b+32>>2];o[a+576>>2]=o[b+28>>2];o[a+580>>2]=c;o[a+568>>2]=o[b+24>>2];o[a+564>>2]=o[b+16>>2];c=o[b+12>>2];o[a+556>>2]=o[b+8>>2];o[a+560>>2]=c;f=d&1;a=1}else{a=0}a=a&f}else{a=0}return a|0}function ba(a){var b=0,c=0,d=0;b=N-16|0;N=b;h(+a);d=e(1)|0;e(0)|0;d=d&2147483647;a:{if(d>>>0<=1072243195){c=1;if(d>>>0<1044816030){break a}c=Za(a,0);break a}c=a-a;if(d>>>0>=2146435072){break a}b:{switch(Oc(a,b)&3){case 0:c=Za(t[b>>3],t[b+8>>3]);break a;case 1:c=-Ib(t[b>>3],t[b+8>>3]);break a;case 2:c=-Za(t[b>>3],t[b+8>>3]);break a;default:break b}}c=Ib(t[b>>3],t[b+8>>3])}a=c;N=b+16|0;return a}function ed(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=v(0);if((b|0)>=1){c=+(b+ -1|0);while(1){e=+(d|0);f=ba(e*12.566370614359172/c);g=ba(e*6.283185307179586/c);h=ba(e*18.84955592153876/c);i=(d<<2)+a|0,j=v(ba(e*25.132741228718345/c)*.0069473679177463055+(f*.27726316452026367+(g*-.4166315793991089+.21557894349098206)+h*-.08357894420623779)),s[i>>2]=j;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function ra(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=e;e=0;k=e;h=c;c=0;g=Ee(j,e,h,c);e=Q;l=g;g=g>>>0<0?e+1|0:e;f=d;e=0;i=b;d=Ee(f,e,b,0);b=Q;f=Ee(f,e,h,c);c=b+f|0;b=Q;b=c>>>0<f>>>0?b+1|0:b;h=b;f=b+l|0;b=g;b=f>>>0<h>>>0?b+1|0:b;g=b;b=Ee(i,m,j,k)+c|0;e=Q;e=b>>>0<c>>>0?e+1|0:e;i=e;f=e+f|0;e=g;o[a+8>>2]=f;o[a+12>>2]=f>>>0<i>>>0?e+1|0:e;o[a>>2]=d;o[a+4>>2]=b}function Wa(a,b,c,d,e){var f=0;f=1;a:{b:{c:{switch(o[d>>2]){case 0:if(nd(d+4|0,c,o[d+288>>2],e)){break a}break b;case 2:if(md(d+4|0,b-o[d+16>>2]|0,c,o[d+288>>2],e)){break a}break b;case 3:if(ld(d+4|0,b-o[d+16>>2]|0,c,o[d+288>>2],e)){break a}break b;case 1:break c;default:break a}}if(kd(d+4|0,b,c,o[d+288>>2],e)){break a}}o[o[a>>2]>>2]=7;f=0}return f}function Sa(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=N-240|0;N=d;o[d>>2]=a;g=1;a:{if((b|0)<2){break a}e=a;while(1){f=e+ -24|0;h=b+ -2|0;e=f-o[(h<<2)+c>>2]|0;if((l[1](a,e)|0)>=0){if((l[1](a,f)|0)>-1){break a}}a=(g<<2)+d|0;b:{if((l[1](e,f)|0)>=0){o[a>>2]=e;h=b+ -1|0;break b}o[a>>2]=f;e=f}g=g+1|0;if((h|0)<2){break a}a=o[d>>2];b=h;continue}}Eb(d,g);N=d+240|0}function ua(a,b){a:{if((b|0)>=1024){a=a*8.98846567431158e+307;if((b|0)<2047){b=b+ -1023|0;break a}a=a*8.98846567431158e+307;b=((b|0)<3069?b:3069)+ -2046|0;break a}if((b|0)>-1023){break a}a=a*2.2250738585072014e-308;if((b|0)>-2045){b=b+1022|0;break a}a=a*2.2250738585072014e-308;b=((b|0)>-3066?b:-3066)+2044|0}f(0,0);f(1,b+1023<<20);return a*+g()}function Hb(a,b){var c=0;a:{c=o[a+24>>2];if((c-b|0)<=o[a+28>>2]){if((c|0)>(2147483647-b|0)){break a}b=b+c|0;b=(b|0)<2147483615?b+32|0:b;c=ea(o[a+16>>2],b<<2);if(!c){break a}o[a+16>>2]=c;c=ea(o[a+20>>2],b<<3);if(!c){break a}o[a+24>>2]=b;o[a+20>>2]=c}return 0}b=o[a>>2];if(b){X(b)}b=o[a+16>>2];if(b){X(b)}b=o[a+20>>2];if(b){X(b)}fa(a,360);return-1}function Ob(a){a=a|0;var b=0,c=0,d=0;b=N-16|0;N=b;c=1;a:{while(1){b:{c:{switch(o[o[a>>2]>>2]){case 0:if(Va(a)){continue}c=0;break b;case 1:d=(Ta(a)|0)!=0;break a;case 2:if(yb(a)){continue}break b;case 4:case 7:break b;case 3:break c;default:break a}}if(!ob(a,b+12|0)){c=0;break b}if(!o[b+12>>2]){continue}}break}d=c}N=b+16|0;return d|0}function gc(a,b){var c=0,d=0,e=0;c=N-160|0;N=c;fa(c+16|0,144);o[c+92>>2]=-1;o[c+60>>2]=b;o[c+24>>2]=-1;o[c+20>>2]=b;o[c+128>>2]=0;o[c+132>>2]=0;b=o[c+24>>2];d=b-o[c+20>>2]|0;o[c+136>>2]=d;o[c+140>>2]=d>>31;o[c+120>>2]=b;Rc(c,c+16|0);b=o[c+8>>2];d=o[c+12>>2];e=o[c+4>>2];o[a>>2]=o[c>>2];o[a+4>>2]=e;o[a+8>>2]=b;o[a+12>>2]=d;N=c+160|0}function Ga(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!p[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(p[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=o[c>>2];if(!((d^-1)&d+ -16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=p[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function Eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=24;e=N-256|0;N=e;a:{if((b|0)<2){break a}h=(b<<2)+a|0;o[h>>2]=e;c=e;while(1){f=d>>>0<256?d:256;ca(c,o[a>>2],f);c=0;while(1){g=(c<<2)+a|0;c=c+1|0;ca(o[g>>2],o[(c<<2)+a>>2],f);o[g>>2]=o[g>>2]+f;if((b|0)!=(c|0)){continue}break}d=d-f|0;if(!d){break a}c=o[h>>2];continue}}N=e+256|0}function ee(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=1;if(b){k=.5/+(c>>>0);h=4294967295;while(1){e=t[(g<<3)+a>>3];a:{if(!!(e>0)){e=la(k*e)*.5/.6931471805599453;e=e>=0?e:0;break a}e=e<0?1e+32:0}e=e*+(c-f>>>0)+ +(u(d,f)>>>0);i=e<h;h=i?e:h;j=i?g:j;f=f+1|0;g=g+1|0;if((g|0)!=(b|0)){continue}break}a=j+1|0}else{a=1}return a}function bd(a,b){var c=0,d=0,e=0,f=0,g=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=+(c|0);f=(c<<2)+a|0,g=v(ba(e*12.566370614359172/d)*.09799999743700027+(ba(e*6.283185307179586/d)*-.49799999594688416+.4020000100135803)+ba(e*18.84955592153876/d)*-.0010000000474974513),s[f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function ad(a,b){var c=0,d=0,e=0,f=0,g=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=+(c|0);f=(c<<2)+a|0,g=v(ba(e*12.566370614359172/d)*.13659949600696564+(ba(e*6.283185307179586/d)*-.48917749524116516+.36358189582824707)+ba(e*18.84955592153876/d)*-.010641099885106087),s[f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function gd(a,b){var c=0,d=0,e=0,f=0,g=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=+(c|0);f=(c<<2)+a|0,g=v(ba(e*12.566370614359172/d)*.14127999544143677+(ba(e*6.283185307179586/d)*-.488290011882782+.35874998569488525)+ba(e*18.84955592153876/d)*-.011680000461637974),s[f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function Nd(a){a=a|0;var b=0,c=0,d=0;b=N-16|0;N=b;c=1;a:{b:{while(1){c:{d:{switch(o[o[a>>2]>>2]){case 0:if(Va(a)){continue}break c;case 1:if(Ta(a)){continue}break c;case 2:if(yb(a)){continue}break b;case 4:case 7:break b;case 3:break d;default:break a}}if(ob(a,b+12|0)){continue}}break}c=0}d=c}N=b+16|0;return d|0}function ka(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=N-16|0;N=d;g=a;h=a;a:{if(!b){b=0;break a}c=b>>31;e=c+b^c;c=x(e);ia(d,e,0,0,0,c+81|0);c=(o[d+12>>2]^65536)+(16414-c<<16)|0;e=0+o[d+8>>2]|0;if(e>>>0<f>>>0){c=c+1|0}f=b&-2147483648|c;c=o[d+4>>2];b=o[d>>2]}o[h>>2]=b;o[g+4>>2]=c;o[a+8>>2]=e;o[a+12>>2]=f;N=d+16|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=o[a>>2];if(o[d>>2]==1){e=o[d+600>>2];if(e){X(e);d=o[a>>2];o[d+600>>2]=0;o[d+604>>2]=0}c=b?c:0;if(c){d=Na(4,c);if(!d){return 0}b=ca(d,b,c<<2);d=o[a>>2];o[d+604>>2]=c;o[d+600>>2]=b}if(c>>>o[1886]){a=0}else{o[d+636>>2]=c;a=1}a=(a|0)!=0}else{a=0}return a|0}function fb(a,b){var c=0,d=0,e=0;c=N-16|0;N=c;o[c+8>>2]=0;a:{if(!Y(a,c+8|0,8)){break a}if(!Y(a,c+12|0,8)){break a}d=o[c+8>>2]|o[c+12>>2]<<8;o[c+8>>2]=d;if(!Y(a,c+12|0,8)){break a}d=d|o[c+12>>2]<<16;o[c+8>>2]=d;if(!Y(a,c+12|0,8)){break a}a=d|o[c+12>>2]<<24;o[c+8>>2]=a;o[b>>2]=a;e=1}N=c+16|0;return e}function Sb(a){a=a|0;var b=0,c=0;if(a){$a(a);b=o[a+4>>2];c=o[b+1120>>2];if(c){X(c);b=o[a+4>>2]}gb(o[b+56>>2]);aa(o[a+4>>2]+124|0);aa(o[a+4>>2]+136|0);aa(o[a+4>>2]+148|0);aa(o[a+4>>2]+160|0);aa(o[a+4>>2]+172|0);aa(o[a+4>>2]+184|0);aa(o[a+4>>2]+196|0);aa(o[a+4>>2]+208|0);X(o[a+4>>2]);X(o[a>>2]);X(a)}}function qb(a,b){var c=0,d=0,e=0;if(a){fa(a+8|0,352);o[a+24>>2]=1024;o[a+4>>2]=16384;d=da(16384);o[a>>2]=d;c=da(4096);o[a+16>>2]=c;e=da(8192);o[a+20>>2]=e;a:{if(d){if(c?e:0){break a}X(d);c=o[a+16>>2]}if(c){X(c)}b=o[a+20>>2];if(b){X(b)}fa(a,360);return-1}o[a+336>>2]=b;a=0}else{a=-1}return a}function Ba(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=N-16|0;N=c;g=a;h=a;a:{if(!b){b=0;e=0;break a}d=b;b=x(b)^31;ia(c,d,0,0,0,112-b|0);b=(o[c+12>>2]^65536)+(b+16383<<16)|0;d=0+o[c+8>>2]|0;if(d>>>0<f>>>0){b=b+1|0}f=d;d=b;b=o[c+4>>2];e=o[c>>2]}o[h>>2]=e;o[g+4>>2]=b;o[a+8>>2]=f;o[a+12>>2]=d;N=c+16|0}function wa(a,b,c){var d=0,e=0,f=0,g=0;d=N-16|0;N=d;e=b;f=b;a:{b:{if(c>>>0>=33){if(!Y(a,d+12|0,c+ -32|0)){break a}if(!Y(a,d+8|0,32)){break a}a=o[d+12>>2];c=0;o[b>>2]=c;o[b+4>>2]=a;b=o[d+8>>2]|c;break b}if(!Y(a,d+8|0,c)){break a}a=0;b=o[d+8>>2]}o[f>>2]=b;o[e+4>>2]=a;g=1}N=d+16|0;return g}function pd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;a=o[a>>2];if(o[a>>2]==1){g=c;h=a;i=b;e=o[1363];d=e&31;if(32<=(e&63)>>>0){e=-1<<d;d=0}else{e=(1<<d)-1&-1>>>32-d|-1<<d;d=-1<<d}f=d^-1;d=e^-1;b=(c|0)==(d|0)&f>>>0>b>>>0|d>>>0>c>>>0;o[h+592>>2]=b?i:f;o[a+596>>2]=b?g:d;a=1}else{a=0}return a}function ie(a){var b=0,c=0;a:{b:{c=o[a+4>>2];b=p[c|0];if(!b){break b}while(1){if((b+ -32&255)>>>0<95){c=c+1|0;b=p[c|0];if(b){continue}break b}break}c=0;break a}c=1;b=o[a+8>>2];if(!p[b|0]){break a}while(1){a=ec(b);if(!a){c=0;break a}b=a+b|0;if(p[b|0]){continue}break}}return c}function ge(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=o[a>>2];if(!d){return 1}g=o[a+4>>2];a=0;e=1;while(1){h=c;f=b;b=u(a,24)+g|0;c=o[b>>2];b=o[b+4>>2];if(!((c|0)==-1&(b|0)==-1|e|((b|0)==(f|0)&c>>>0>h>>>0|b>>>0>f>>>0))){return 0}e=0;a=a+1|0;if(a>>>0<d>>>0){continue}break}return 1}function jb(a,b,c,d,e,f,g){a:{b:{if(!e){break b}c:{switch(l[e](a,b,c,g)|0){case 1:break a;case 0:break c;default:break b}}tb(d);if(l[f](a,o[d>>2],o[d+4>>2],0,0,g)){break a}if(!l[f](a,o[d+8>>2],o[d+12>>2],0,0,g)){return 1}o[o[a>>2]>>2]=5}return 0}o[o[a>>2]>>2]=5;return 0}function id(a,b){var c=0,d=v(0),e=v(0),f=0,g=v(0);if((b|0)>=1){e=v(b+ -1|0);while(1){d=v(v(c|0)/e);f=(c<<2)+a|0,g=v(+v(w(v(d+v(-.5))))*-.47999998927116394+.6200000047683716+ba(+d*6.283185307179586)*-.3799999952316284),s[f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function Ya(a){var b=0,c=0;a:{if(r[a+20>>2]<=r[a+28>>2]){break a}l[o[a+36>>2]](a,0,0)|0;if(o[a+20>>2]){break a}return-1}b=o[a+4>>2];c=o[a+8>>2];if(b>>>0<c>>>0){b=b-c|0;l[o[a+40>>2]](a,b,b>>31,1)|0}o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;return 0}function Cb(a){var b=0,c=0,d=0,e=0;d=o[a+76>>2]>=0?1:d;e=o[a>>2]&1;if(!e){b=o[a+52>>2];if(b){o[b+56>>2]=o[a+56>>2]}c=o[a+56>>2];if(c){o[c+52>>2]=b}if(o[3023]==(a|0)){o[3023]=c}}Bb(a);l[o[a+12>>2]](a)|0;b=o[a+96>>2];if(b){X(b)}a:{if(!e){X(a);break a}if(!d){break a}}}function kd(a,b,c,d,e){a=o[a>>2];a:{if(!_(e,o[1418]|(d|0)!=0,o[1416]+(o[1415]+o[1414]|0)|0)){break a}if(d){if(!Qa(e,d+ -1|0)){break a}}if(!b){return 1}d=0;b:{while(1){if(!va(e,o[a+(d<<2)>>2],c)){break b}d=d+1|0;if((d|0)!=(b|0)){continue}break}return 1}}return 0}function xb(a,b){var c=0,d=0,i=0;h(+a);c=e(1)|0;d=e(0)|0;i=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=xb(a*0x10000000000000000,b);b=o[b>>2]+ -64|0}o[c>>2]=b;return a}o[b>>2]=c+ -1022;f(0,d|0);f(1,i&-2146435073|1071644672);a=+g()}return a}function ab(a,b){var c=0,d=0,e=0,f=0;d=1;a:{if(r[a+8>>2]>=b>>>0){break a}d=o[a>>2];e=4<<b;c=ea(d,e);if(!(c|b>>>0>29)){X(d)}o[a>>2]=c;d=0;if(!c){break a}f=o[a+4>>2];c=ea(f,e);if(!(c|b>>>0>29)){X(f)}o[a+4>>2]=c;if(!c){break a}fa(c,e);o[a+8>>2]=b;d=1}return d}function hd(a,b){var c=0,d=0,e=0,f=0,g=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=+(c|0);f=(c<<2)+a|0,g=v(ba(e*12.566370614359172/d)*.07999999821186066+(ba(e*6.283185307179586/d)*-.5+.41999998688697815)),s[f>>2]=g;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function Hc(a){var b=0,c=0;b=p[a+74|0];m[a+74|0]=b+ -1|b;if(r[a+20>>2]>r[a+28>>2]){l[o[a+36>>2]](a,0,0)|0}o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;b=o[a>>2];if(b&4){o[a>>2]=b|32;return-1}c=o[a+44>>2]+o[a+48>>2]|0;o[a+8>>2]=c;o[a+4>>2]=c;return b<<27>>31}function Za(a,b){var c=0,d=0,e=0,f=0;c=a*a;d=c*.5;e=1-d;f=1-e-d;d=c*c;return e+(f+(c*(c*(c*(c*2480158728947673e-20+ -.001388888888887411)+.0416666666666666)+d*d*(c*(c*-1.1359647557788195e-11+2.087572321298175e-9)+ -2.7557314351390663e-7))-a*b))}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=N-16|0;N=e;a=I(o[a+60>>2],b|0,c|0,d&255,e+8|0)|0;b=0;a:{if(!a){break a}o[2896]=a;b=-1}b:{if(!b){b=o[e+12>>2];a=o[e+8>>2];break b}o[e+8>>2]=-1;o[e+12>>2]=-1;b=-1;a=-1}N=e+16|0;Q=b;return a|0}function ea(a,b){var c=0,d=0;if(!a){return da(b)}if(b>>>0>=4294967232){o[2896]=48;return 0}c=fc(a+ -8|0,b>>>0<11?16:b+11&-8);if(c){return c+8|0}c=da(b);if(!c){return 0}d=o[a+ -4>>2];d=(d&3?-4:-8)+(d&-8)|0;ca(c,a,d>>>0<b>>>0?d:b);X(a);return c}function Vd(a){var b=0;if(!qb(a+8|0,o[a+4>>2])){b=a+368|0;if(b){o[b>>2]=0;o[b+4>>2]=0;o[b+24>>2]=0;o[b+16>>2]=0;o[b+20>>2]=0;o[b+8>>2]=0;o[b+12>>2]=0}o[a+396>>2]=-1;o[a+400>>2]=-1;o[a+408>>2]=0;o[a+412>>2]=0;o[a+404>>2]=o[a>>2];b=1}return b}function ha(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=p[a|0];a:{if(!d){break a}while(1){b:{e=p[b|0];if((e|0)!=(d|0)){break b}c=c+ -1|0;if(!c|!e){break b}b=b+1|0;d=p[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-p[b|0]|0}function Od(a){a=a|0;var b=0,c=0;a:{b:{while(1){c:{b=1;d:{switch(o[o[a>>2]>>2]){case 0:if(Va(a)){continue}break c;case 2:case 3:case 4:case 7:break b;case 1:break d;default:break a}}if(Ta(a)){continue}}break}b=0}c=b}return c|0}function Be(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=u(e,f);g=c&65535;h=a&65535;i=u(g,h);f=(i>>>16|0)+u(f,g)|0;e=(f&65535)+u(e,h)|0;a=(u(b,c)+j|0)+u(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;Q=a;return b}function cd(a,b){var c=0,d=0,e=0,f=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=(c<<2)+a|0,f=v(ba(+(c|0)*6.283185307179586/d)*-.46000000834465027+.5400000214576721),s[e>>2]=f;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}
+
+
+
+function Xb(a){o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=3;o[a+56>>2]=0;o[a+60>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+32>>2]=0;o[a+36>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0}function Ib(a,b){var c=0,d=0;c=a*a;d=c*a;return a-(c*(b*.5-d*(c*(c*c)*(c*1.58969099521155e-10+ -2.5050760253406863e-8)+(c*(c*27557313707070068e-22+ -.0001984126982985795)+.00833333333332249)))-b+d*.16666666666666632)}function pb(a){if(!(!a|!o[a>>2])){o[a+344>>2]=0;o[a+348>>2]=0;o[a+340>>2]=-1;o[a+332>>2]=0;o[a+324>>2]=0;o[a+328>>2]=0;o[a+36>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+352>>2]=0;o[a+356>>2]=0}}function Bb(a){var b=0;if(a){if(o[a+76>>2]<=-1){return Ya(a)}return Ya(a)}if(o[2794]){b=Bb(o[2794])}a=o[3023];if(a){while(1){if(r[a+20>>2]>r[a+28>>2]){b=Ya(a)|b}a=o[a+56>>2];if(a){continue}break}}return b}function dd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=v(0);if((b|0)>=1){e=+(b+ -1|0)*.5;g=e*+c;while(1){f=(+(d|0)-e)/g;h=(d<<2)+a|0,i=v(Cc(f*(f*-.5))),s[h>>2]=i;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function ib(a,b){var c=0,d=0;c=p[a|0];d=p[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=p[b+1|0];c=p[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Da(a,b,c,d){var e=0;a:{if(d>>>0>=33){d=d+ -32|0;if(c>>>d|0?d>>>0<=31:0){break a}if(!Z(a,c,d)){break a}return(Z(a,b,32)|0)!=0}if(b>>>d|0?(d|0)!=32:0){break a}e=Z(a,b,d)}return e}function Lb(a,b){var c=0,d=0,e=0,f=v(0);if((b|0)>=1){d=+(b+ -1|0);while(1){e=(c<<2)+a|0,f=v(.5-ba(+(c|0)*6.283185307179586/d)*.5),s[e>>2]=f;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function Xa(a,b,c,d,e,f,g,h,i){var j=0;j=N-16|0;N=j;ja(j,b,c,d,e,f,g,h,i^-2147483648);b=o[j+4>>2];o[a>>2]=o[j>>2];o[a+4>>2]=b;b=o[j+12>>2];o[a+8>>2]=o[j+8>>2];o[a+12>>2]=b;N=j+16|0}function Hd(a){a=a|0;var b=0;if(o[o[a>>2]>>2]==9){b=o[a+4>>2];a=0;while(1){o[((a<<2)+b|0)+608>>2]=1;a=a+1|0;if((a|0)!=128){continue}break}o[b+1124>>2]=0;a=1}else{a=0}return a|0}function ya(a){var b=0,c=0;b=o[3544];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>R()<<16>>>0){if(!J(a|0)){break a}}o[3544]=a;return b}o[2896]=48;return-1}function La(a,b){var c=0,d=0,e=0;e=a;a:{if(b>>>0<=31){c=o[a>>2];d=o[a+4>>2];break a}c=o[a+4>>2];o[a+4>>2]=0;o[a>>2]=c;b=b+ -32|0;d=0}o[e+4>>2]=d>>>b;o[a>>2]=d<<32-b|c>>>b}function qa(a,b){var c=0,d=0,e=0;c=0;a:{if(!a){break a}d=Ee(a,0,b,0);e=Q;c=d;if((a|b)>>>0<65536){break a}c=e?-1:d}b=c;a=da(b);if(!(!a|!(p[a+ -4|0]&3))){fa(a,b)}return a}function Td(a){pb(a+8|0);if(o[a+372>>2]>=0){o[a+376>>2]=0;o[a+380>>2]=0;o[a+392>>2]=0;o[a+384>>2]=0;o[a+388>>2]=0}o[a+408>>2]=0;o[a+412>>2]=0;if(o[a>>2]){o[a+404>>2]=1}}function Pa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=p[a|0];e=p[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c+ -1|0;if(c){continue}break a}break}f=d-e|0}return f}function Ma(a,b){var c=0,d=0,e=0;e=a;a:{if(b>>>0<=31){c=o[a+4>>2];d=o[a>>2];break a}c=o[a>>2];o[a+4>>2]=c;o[a>>2]=0;b=b+ -32|0;d=0}o[e>>2]=d<<b;o[a+4>>2]=c<<b|d>>>32-b}function Ld(a,b){a=a|0;b=b|0;var c=0;a:{if(o[o[a>>2]>>2]!=9|b>>>0>126){break a}a=o[a+4>>2];o[(a+(b<<2)|0)+608>>2]=0;c=1;if((b|0)!=2){break a}o[a+1124>>2]=0}return c|0}function Id(a,b){a=a|0;b=b|0;var c=0;a:{if(o[o[a>>2]>>2]!=9|b>>>0>126){break a}c=1;a=o[a+4>>2];o[(a+(b<<2)|0)+608>>2]=1;if((b|0)!=2){break a}o[a+1124>>2]=0}return c|0}function nd(a,b,c,d){var e=0;a:{if(!_(d,o[1417]|(c|0)!=0,o[1416]+(o[1415]+o[1414]|0)|0)){break a}if(c){if(!Qa(d,c+ -1|0)){break a}}e=(va(d,o[a>>2],b)|0)!=0}return e}function kc(a,b){a=a|0;b=b|0;var c=0,d=0;c=o[a+4>>2];d=o[b+4>>2];a=o[a>>2];b=o[b>>2];return((a|0)==(b|0)&(c|0)==(d|0)?0:(c|0)==(d|0)&a>>>0<b>>>0|c>>>0<d>>>0?-1:1)|0}function rc(a,b){var c=0;if(o[a+4>>2]>=0){while(1){c=qc(a,b);if((c|0)>0){return 1}if(!c){return 0}if(o[a+16>>2]){continue}break}o[a+16>>2]=1;a=-1}else{a=0}return a}function ye(a,b){var c=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+4>>2]=2048;o[a+16>>2]=0;o[a+20>>2]=0;c=da(8192);o[a>>2]=c;if(!c){return 0}o[a+40>>2]=b;o[a+36>>2]=7;return 1}function uc(a,b){var c=0,d=0;if(!(!a|!o[a>>2])){d=o[a+28>>2];a:{b:{if(o[a+328>>2]){if(d){break b}break a}if(o[a+332>>2]|!d){break a}}c=1}c=rb(a,b,c)}return c}function fd(a,b){var c=0,d=0,e=0;if((b|0)>=1){e=+(b+ -1|0)*.5;while(1){c=(+(d|0)-e)/e;c=1-c*c;s[(d<<2)+a>>2]=c*c;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function ue(a,b){var c=0,d=0,e=0,f=0;c=N-16|0;N=c;d=0;a:{if(!cb(a,c+12|0,c+8|0)){break a}e=b,f=qe(o[c+12>>2],o[c+8>>2]),n[e>>1]=f;d=1}N=c+16|0;return d}function te(a,b){var c=0,d=0,e=0,f=0;c=N-16|0;N=c;d=0;a:{if(!cb(a,c+12|0,c+8|0)){break a}e=b,f=Vb(o[c+12>>2],o[c+8>>2]),m[e|0]=f;d=1}N=c+16|0;return d}function bb(a,b){var c=0;a:{if(!Z(a,b&255,8)){break a}if(!Z(a,b>>>8&255,8)){break a}if(!Z(a,b>>>16&255,8)){break a}c=(Z(a,b>>>24|0,8)|0)!=0}return c}function Wc(a,b){var c=0,d=0,e=0;if((b|0)>=1){d=+(b+ -1|0)*.5;while(1){e=(+(c|0)-d)/d;s[(c<<2)+a>>2]=1-e*e;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function ta(a,b,c){var d=0;a:{if(a>>>0>1073741823){break a}a=da(a?a<<2:1);if(!a){break a}d=o[b>>2];if(d){X(d)}o[b>>2]=a;o[c>>2]=a;d=1}return d}function Ae(a){var b=0;b=o[a>>2];if(b){X(b)}o[a+36>>2]=0;o[a+40>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0}function xc(a,b){var c=0;c=N-16|0;N=c;o[c+8>>2]=o[b>>2];o[c+12>>2]=o[b+4>>2];a=yc(a,c+8|0,o[b+12>>2],o[b+16>>2],o[b+20>>2]);N=c+16|0;return a}function Xd(a,b,c){var d=0;a:{if(a>>>0>536870911){break a}a=da(a?a<<3:1);if(!a){break a}d=o[b>>2];if(d){X(d)}o[b>>2]=a;o[c>>2]=a;d=1}return d}function Wd(a){pb(a+8|0);if(o[a+372>>2]>=0){o[a+376>>2]=0;o[a+380>>2]=0;o[a+392>>2]=0;o[a+384>>2]=0;o[a+388>>2]=0}o[a+408>>2]=0;o[a+412>>2]=0}function Qc(a,b,c,d){var e=0,f=0;f=d&65535;d=d>>>16&32767;a:{if((d|0)!=32767){e=4;if(d){break a}return a|c|(b|f)?3:2}e=!(a|c|(b|f))}return e}function Fc(a){var b=0,c=0;b=N-16|0;N=b;c=-1;a:{if(Hc(a)){break a}if((l[o[a+32>>2]](a,b+15|0,1)|0)!=1){break a}c=p[b+15|0]}N=b+16|0;return c}function xa(a,b,c){var d=0,e=0;d=N-16|0;N=d;e=0;a:{if(!Y(a,d+12|0,c)){break a}a=1<<c+ -1;o[b>>2]=(a^o[d+12>>2])-a;e=1}a=e;N=d+16|0;return a}function sc(a){var b=0;if(a){b=o[a>>2];if(b){X(b)}o[a>>2]=0;o[a+4>>2]=0;o[a+24>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}}function ke(a){var b=0,c=0;a:{if(!(a&1)){while(1){b=b+1|0;c=a&2;a=a>>>1|0;if(!c){continue}break}a=15;if(b>>>0>14){break a}}a=b}return a}function pc(a,b){var c=0,d=0;c=-1;d=o[a+4>>2];a:{if((d|0)<0){break a}b=o[a+8>>2]+b|0;if((b|0)>(d|0)){break a}o[a+8>>2]=b;c=0}return c}function Yd(a,b,c,d){var e=0,f=0;if(d){while(1){f=e<<2;s[f+c>>2]=s[b+f>>2]*v(o[a+f>>2]);e=e+1|0;if((e|0)!=(d|0)){continue}break}}}function Qb(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return wb(a,b,c,d,e,f,g,h,i,j,0)|0}function Pd(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return wb(a,b,c,d,e,f,g,h,i,j,1)|0}function lc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=l[o[o[a+4>>2]+4>>2]](a,b,c,d)|0;if(a>>>0<=2){return o[(a<<2)+7572>>2]}return 5}function Fb(a,b,c,d,e,f,g,h,i){o[a>>2]=b;o[a+4>>2]=c;o[a+8>>2]=d;o[a+12>>2]=e&65535|(i>>>16&32768|e>>>16&32767)<<16}function Zc(a,b){var c=0;if((b|0)>=1){while(1){o[(c<<2)+a>>2]=1065353216;c=c+1|0;if((c|0)!=(b|0)){continue}break}}}function Sd(a){if(qb(a+8|0,o[a>>2])){a=0}else{o[a+392>>2]=0;o[a+396>>2]=0;o[a+384>>2]=0;o[a+388>>2]=1;a=1}return a}function Aa(a){var b=0;b=o[a>>2];if(b){X(b)}b=o[a+8>>2];if(b){X(b)}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}function Kd(a){a=a|0;if(o[o[a>>2]>>2]==9){fa(o[a+4>>2]+608|0,512);o[o[a+4>>2]+1124>>2]=0;a=1}else{a=0}return a|0}function Vb(a,b){var c=0;if(b){while(1){c=p[(p[a|0]^c)+1024|0];a=a+1|0;b=b+ -1|0;if(b){continue}break}}return c}function oa(a){var b=0,c=0;b=N-16|0;N=b;gc(b,a);c=Gc(o[b>>2],o[b+4>>2],o[b+8>>2],o[b+12>>2]);N=b+16|0;return c}function sb(a){var b=0;if(a){b=o[a>>2];if(b){X(b)}b=o[a+16>>2];if(b){X(b)}b=o[a+20>>2];if(b){X(b)}fa(a,360)}}function de(a,b){if(!!(a>0)){a=la(.5/+(b>>>0)*a)*.5/.6931471805599453;return a>=0?a:0}return a<0?1e+32:0}function Fd(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==9){o[a+36>>2]=b;o[a+32>>2]=0;a=1}else{a=0}return a|0}function je(a,b,c){var d=0;while(1){d=a;if(d){a=d+ -1|0;if(b>>>d>>>0<=c>>>0){continue}}break}return d}function aa(a){var b=0;b=o[a>>2];if(b){X(b)}b=o[a+4>>2];if(b){X(b)}o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0}function Bd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return vb(a,b,c,d,e,f,g,1)|0}function he(a){if(a+ -1>>>0<=655349){return!((a>>>0)%10)|(!((a>>>0)%1e3)|a>>>0<65536)}return 0}function Qa(a,b){if(b>>>0<=31){return Z(a,1,b+1|0)}if(!Ca(a,b)){return 0}return(Z(a,1,1)|0)!=0}function ve(a){var b=0;b=o[a>>2];if(b){X(b)}o[a+16>>2]=0;o[a>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}function rd(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+632>>2]=b;a=1}else{a=0}return a|0}function Na(a,b){if(!(b?a:0)){return da(1)}Ee(b,0,a,0);if(Q){a=0}else{a=da(u(a,b))}return a}function He(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<<c;c=a;a=0-b&31;return d|(c&-1<<a)>>>a}
+
+
+
+function Cd(a){a=a|0;if(!o[o[a>>2]+4>>2]){return 9}return o[o[o[o[a+4>>2]+11752>>2]>>2]>>2]}function wd(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+28>>2]=b;a=1}else{a=0}return a|0}function vd(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+36>>2]=b;a=1}else{a=0}return a|0}function ud(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+24>>2]=b;a=1}else{a=0}return a|0}function qd(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+32>>2]=b;a=1}else{a=0}return a|0}function Md(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==9){o[a+28>>2]=b;a=1}else{a=0}return a|0}function od(a,b){a=a|0;b=b|0;a=o[a>>2];if(o[a>>2]==1){o[a+4>>2]=b;a=1}else{a=0}return a|0}function Ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return vb(a,0,b,c,d,e,f,0)|0}function _(a,b,c){var d=0;a:{if(c>>>0<=31){d=0;if(b>>>c){break a}}d=Z(a,b,c)}return d}function ub(a){a=+H(+a);if(w(a)<2147483648){return~~a}return-2147483648}function va(a,b,c){return Z(a,(c>>>0<32?-1<<c^-1:-1)&b,c)}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q=0;return 0}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;return pd(a,b,c)|0}function Ha(a,b){a=Ic(a,b);return p[a|0]==(b&255)?a:0}function De(a){if(a){return 31-x(a+ -1^a)|0}return 32}function dc(a,b,c){a=a|0;b=b|0;c=c|0;o[o[c>>2]>>2]=3}function gb(a){var b=0;b=o[a>>2];if(b){X(b)}X(a)}function jc(a){a=a|0;a=N-a&-16;N=a;return a|0}function Qd(a){a=a|0;return o[o[a>>2]+28>>2]}function Mc(a){a=a|0;return M(o[a+60>>2])|0}function Ee(a,b,c,d){a=Be(a,b,c,d);return a}function Dd(a){a=a|0;return o[o[a>>2]+4>>2]}function Rb(a){a=a|0;return o[o[a>>2]>>2]}function Ge(a,b){Ce(a,b,588);Q=P;return O}function cc(a,b,c){a=a|0;b=b|0;c=c|0}function Pc(a){a=a|0;return S(a|0)|0}function Fe(a,b,c){return Ce(a,b,c)}function Vc(a){a=a|0;return 0}function Tc(){return 11584}function ic(a){a=a|0;N=a}function hc(){return N|0}function Ec(){}
+// EMSCRIPTEN_END_FUNCS
+l[1]=kc;l[2]=Mc;l[3]=Lc;l[4]=Kc;l[5]=_d;l[6]=Zd;l[7]=mc;l[8]=lc;l[9]=Vc;l[10]=Jc;l[11]=Uc;l[12]=be;l[13]=ae;l[14]=oe;l[15]=pe;l[16]=oc;l[17]=fe;l[18]=bc;l[19]=ac;l[20]=cc;l[21]=dc;function R(){return buffer.byteLength/65536|0}function S(pagesToAdd){pagesToAdd=pagesToAdd|0;var T=R()|0;var U=T+pagesToAdd|0;if(T<U&&U<65536){var V=new ArrayBuffer(u(U,65536));var W=new global.Int8Array(V);W.set(m);m=W;m=new global.Int8Array(V);n=new global.Int16Array(V);o=new global.Int32Array(V);p=new global.Uint8Array(V);q=new global.Uint16Array(V);r=new global.Uint32Array(V);s=new global.Float32Array(V);t=new global.Float64Array(V);buffer=V;k.buffer=V}return T}return{"__wasm_call_ctors":Ec,"FLAC__stream_decoder_new":Pb,"FLAC__stream_decoder_delete":Sb,"FLAC__stream_decoder_finish":$a,"FLAC__stream_decoder_init_stream":Qb,"FLAC__stream_decoder_reset":Nb,"FLAC__stream_decoder_init_ogg_stream":Pd,"FLAC__stream_decoder_set_ogg_serial_number":Fd,"FLAC__stream_decoder_set_md5_checking":Md,"FLAC__stream_decoder_set_metadata_respond":Id,"FLAC__stream_decoder_set_metadata_respond_application":Gd,"FLAC__stream_decoder_set_metadata_respond_all":Hd,"FLAC__stream_decoder_set_metadata_ignore":Ld,"FLAC__stream_decoder_set_metadata_ignore_application":Jd,"FLAC__stream_decoder_set_metadata_ignore_all":Kd,"FLAC__stream_decoder_get_state":Rb,"FLAC__stream_decoder_get_md5_checking":Qd,"FLAC__stream_decoder_process_single":Ob,"FLAC__stream_decoder_process_until_end_of_metadata":Od,"FLAC__stream_decoder_process_until_end_of_stream":Nd,"FLAC__stream_encoder_new":zd,"FLAC__stream_encoder_delete":Ed,"FLAC__stream_encoder_finish":Mb,"FLAC__stream_encoder_init_stream":Ad,"FLAC__stream_encoder_init_ogg_stream":Bd,"FLAC__stream_encoder_set_ogg_serial_number":rd,"FLAC__stream_encoder_set_verify":od,"FLAC__stream_encoder_set_channels":ud,"FLAC__stream_encoder_set_bits_per_sample":wd,"FLAC__stream_encoder_set_sample_rate":qd,"FLAC__stream_encoder_set_compression_level":td,"FLAC__stream_encoder_set_blocksize":vd,"FLAC__stream_encoder_set_total_samples_estimate":Ac,"FLAC__stream_encoder_set_metadata":sd,"FLAC__stream_encoder_get_state":Rb,"FLAC__stream_encoder_get_verify_decoder_state":Cd,"FLAC__stream_encoder_get_verify":Dd,"FLAC__stream_encoder_process":yd,"FLAC__stream_encoder_process_interleaved":xd,"__errno_location":Tc,"stackSave":hc,"stackRestore":ic,"stackAlloc":jc,"malloc":da,"free":X,"__growWasmMemory":Pc}}return j({"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"Math":Math},asmLibraryArg,wasmMemory.buffer)}
+
+
+// EMSCRIPTEN_END_ASM
+
+
+
+
+)(asmLibraryArg,wasmMemory,wasmTable)},instantiate:function(binary,info){return{then:function(ok){ok({"instance":new WebAssembly.Instance(new WebAssembly.Module(binary))})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}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)}}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 getValue: "+type)}return null}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":22,"maximum":22+5,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(function(type){return type==="number"});var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5257216,DYNAMICTOP_PTR=14176;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":2147483648/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var memoryInitializer="libflac.min.js.mem";function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="libflac.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}var minHeapSize=16777216;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(minHeapSize,requestedSize,overGrownHeapSize),PAGE_MULTIPLE));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;try{bytesRead=nodeFS.readSync(process.stdin.fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,address,length,position,prot,flags){assert(address===0);if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(48)}HEAP8.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(10)}if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;err("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,address,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)setErrNo(29);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"fd_close":_fd_close,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"memory":wasmMemory,"round":_round,"table":wasmTable};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _FLAC__stream_decoder_new=Module["_FLAC__stream_decoder_new"]=function(){return(_FLAC__stream_decoder_new=Module["_FLAC__stream_decoder_new"]=Module["asm"]["FLAC__stream_decoder_new"]).apply(null,arguments)};var _FLAC__stream_decoder_delete=Module["_FLAC__stream_decoder_delete"]=function(){return(_FLAC__stream_decoder_delete=Module["_FLAC__stream_decoder_delete"]=Module["asm"]["FLAC__stream_decoder_delete"]).apply(null,arguments)};var _FLAC__stream_decoder_finish=Module["_FLAC__stream_decoder_finish"]=function(){return(_FLAC__stream_decoder_finish=Module["_FLAC__stream_decoder_finish"]=Module["asm"]["FLAC__stream_decoder_finish"]).apply(null,arguments)};var _FLAC__stream_decoder_init_stream=Module["_FLAC__stream_decoder_init_stream"]=function(){return(_FLAC__stream_decoder_init_stream=Module["_FLAC__stream_decoder_init_stream"]=Module["asm"]["FLAC__stream_decoder_init_stream"]).apply(null,arguments)};var _FLAC__stream_decoder_reset=Module["_FLAC__stream_decoder_reset"]=function(){return(_FLAC__stream_decoder_reset=Module["_FLAC__stream_decoder_reset"]=Module["asm"]["FLAC__stream_decoder_reset"]).apply(null,arguments)};var _FLAC__stream_decoder_init_ogg_stream=Module["_FLAC__stream_decoder_init_ogg_stream"]=function(){return(_FLAC__stream_decoder_init_ogg_stream=Module["_FLAC__stream_decoder_init_ogg_stream"]=Module["asm"]["FLAC__stream_decoder_init_ogg_stream"]).apply(null,arguments)};var _FLAC__stream_decoder_set_ogg_serial_number=Module["_FLAC__stream_decoder_set_ogg_serial_number"]=function(){return(_FLAC__stream_decoder_set_ogg_serial_number=Module["_FLAC__stream_decoder_set_ogg_serial_number"]=Module["asm"]["FLAC__stream_decoder_set_ogg_serial_number"]).apply(null,arguments)};var _FLAC__stream_decoder_set_md5_checking=Module["_FLAC__stream_decoder_set_md5_checking"]=function(){return(_FLAC__stream_decoder_set_md5_checking=Module["_FLAC__stream_decoder_set_md5_checking"]=Module["asm"]["FLAC__stream_decoder_set_md5_checking"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_respond=Module["_FLAC__stream_decoder_set_metadata_respond"]=function(){return(_FLAC__stream_decoder_set_metadata_respond=Module["_FLAC__stream_decoder_set_metadata_respond"]=Module["asm"]["FLAC__stream_decoder_set_metadata_respond"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_respond_application=Module["_FLAC__stream_decoder_set_metadata_respond_application"]=function(){return(_FLAC__stream_decoder_set_metadata_respond_application=Module["_FLAC__stream_decoder_set_metadata_respond_application"]=Module["asm"]["FLAC__stream_decoder_set_metadata_respond_application"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_respond_all=Module["_FLAC__stream_decoder_set_metadata_respond_all"]=function(){return(_FLAC__stream_decoder_set_metadata_respond_all=Module["_FLAC__stream_decoder_set_metadata_respond_all"]=Module["asm"]["FLAC__stream_decoder_set_metadata_respond_all"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_ignore=Module["_FLAC__stream_decoder_set_metadata_ignore"]=function(){return(_FLAC__stream_decoder_set_metadata_ignore=Module["_FLAC__stream_decoder_set_metadata_ignore"]=Module["asm"]["FLAC__stream_decoder_set_metadata_ignore"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_ignore_application=Module["_FLAC__stream_decoder_set_metadata_ignore_application"]=function(){return(_FLAC__stream_decoder_set_metadata_ignore_application=Module["_FLAC__stream_decoder_set_metadata_ignore_application"]=Module["asm"]["FLAC__stream_decoder_set_metadata_ignore_application"]).apply(null,arguments)};var _FLAC__stream_decoder_set_metadata_ignore_all=Module["_FLAC__stream_decoder_set_metadata_ignore_all"]=function(){return(_FLAC__stream_decoder_set_metadata_ignore_all=Module["_FLAC__stream_decoder_set_metadata_ignore_all"]=Module["asm"]["FLAC__stream_decoder_set_metadata_ignore_all"]).apply(null,arguments)};var _FLAC__stream_decoder_get_state=Module["_FLAC__stream_decoder_get_state"]=function(){return(_FLAC__stream_decoder_get_state=Module["_FLAC__stream_decoder_get_state"]=Module["asm"]["FLAC__stream_decoder_get_state"]).apply(null,arguments)};var _FLAC__stream_decoder_get_md5_checking=Module["_FLAC__stream_decoder_get_md5_checking"]=function(){return(_FLAC__stream_decoder_get_md5_checking=Module["_FLAC__stream_decoder_get_md5_checking"]=Module["asm"]["FLAC__stream_decoder_get_md5_checking"]).apply(null,arguments)};var _FLAC__stream_decoder_process_single=Module["_FLAC__stream_decoder_process_single"]=function(){return(_FLAC__stream_decoder_process_single=Module["_FLAC__stream_decoder_process_single"]=Module["asm"]["FLAC__stream_decoder_process_single"]).apply(null,arguments)};var _FLAC__stream_decoder_process_until_end_of_metadata=Module["_FLAC__stream_decoder_process_until_end_of_metadata"]=function(){return(_FLAC__stream_decoder_process_until_end_of_metadata=Module["_FLAC__stream_decoder_process_until_end_of_metadata"]=Module["asm"]["FLAC__stream_decoder_process_until_end_of_metadata"]).apply(null,arguments)};var _FLAC__stream_decoder_process_until_end_of_stream=Module["_FLAC__stream_decoder_process_until_end_of_stream"]=function(){return(_FLAC__stream_decoder_process_until_end_of_stream=Module["_FLAC__stream_decoder_process_until_end_of_stream"]=Module["asm"]["FLAC__stream_decoder_process_until_end_of_stream"]).apply(null,arguments)};var _FLAC__stream_encoder_new=Module["_FLAC__stream_encoder_new"]=function(){return(_FLAC__stream_encoder_new=Module["_FLAC__stream_encoder_new"]=Module["asm"]["FLAC__stream_encoder_new"]).apply(null,arguments)};var _FLAC__stream_encoder_delete=Module["_FLAC__stream_encoder_delete"]=function(){return(_FLAC__stream_encoder_delete=Module["_FLAC__stream_encoder_delete"]=Module["asm"]["FLAC__stream_encoder_delete"]).apply(null,arguments)};var _FLAC__stream_encoder_finish=Module["_FLAC__stream_encoder_finish"]=function(){return(_FLAC__stream_encoder_finish=Module["_FLAC__stream_encoder_finish"]=Module["asm"]["FLAC__stream_encoder_finish"]).apply(null,arguments)};var _FLAC__stream_encoder_init_stream=Module["_FLAC__stream_encoder_init_stream"]=function(){return(_FLAC__stream_encoder_init_stream=Module["_FLAC__stream_encoder_init_stream"]=Module["asm"]["FLAC__stream_encoder_init_stream"]).apply(null,arguments)};var _FLAC__stream_encoder_init_ogg_stream=Module["_FLAC__stream_encoder_init_ogg_stream"]=function(){return(_FLAC__stream_encoder_init_ogg_stream=Module["_FLAC__stream_encoder_init_ogg_stream"]=Module["asm"]["FLAC__stream_encoder_init_ogg_stream"]).apply(null,arguments)};var _FLAC__stream_encoder_set_ogg_serial_number=Module["_FLAC__stream_encoder_set_ogg_serial_number"]=function(){return(_FLAC__stream_encoder_set_ogg_serial_number=Module["_FLAC__stream_encoder_set_ogg_serial_number"]=Module["asm"]["FLAC__stream_encoder_set_ogg_serial_number"]).apply(null,arguments)};var _FLAC__stream_encoder_set_verify=Module["_FLAC__stream_encoder_set_verify"]=function(){return(_FLAC__stream_encoder_set_verify=Module["_FLAC__stream_encoder_set_verify"]=Module["asm"]["FLAC__stream_encoder_set_verify"]).apply(null,arguments)};var _FLAC__stream_encoder_set_channels=Module["_FLAC__stream_encoder_set_channels"]=function(){return(_FLAC__stream_encoder_set_channels=Module["_FLAC__stream_encoder_set_channels"]=Module["asm"]["FLAC__stream_encoder_set_channels"]).apply(null,arguments)};var _FLAC__stream_encoder_set_bits_per_sample=Module["_FLAC__stream_encoder_set_bits_per_sample"]=function(){return(_FLAC__stream_encoder_set_bits_per_sample=Module["_FLAC__stream_encoder_set_bits_per_sample"]=Module["asm"]["FLAC__stream_encoder_set_bits_per_sample"]).apply(null,arguments)};var _FLAC__stream_encoder_set_sample_rate=Module["_FLAC__stream_encoder_set_sample_rate"]=function(){return(_FLAC__stream_encoder_set_sample_rate=Module["_FLAC__stream_encoder_set_sample_rate"]=Module["asm"]["FLAC__stream_encoder_set_sample_rate"]).apply(null,arguments)};var _FLAC__stream_encoder_set_compression_level=Module["_FLAC__stream_encoder_set_compression_level"]=function(){return(_FLAC__stream_encoder_set_compression_level=Module["_FLAC__stream_encoder_set_compression_level"]=Module["asm"]["FLAC__stream_encoder_set_compression_level"]).apply(null,arguments)};var _FLAC__stream_encoder_set_blocksize=Module["_FLAC__stream_encoder_set_blocksize"]=function(){return(_FLAC__stream_encoder_set_blocksize=Module["_FLAC__stream_encoder_set_blocksize"]=Module["asm"]["FLAC__stream_encoder_set_blocksize"]).apply(null,arguments)};var _FLAC__stream_encoder_set_total_samples_estimate=Module["_FLAC__stream_encoder_set_total_samples_estimate"]=function(){return(_FLAC__stream_encoder_set_total_samples_estimate=Module["_FLAC__stream_encoder_set_total_samples_estimate"]=Module["asm"]["FLAC__stream_encoder_set_total_samples_estimate"]).apply(null,arguments)};var _FLAC__stream_encoder_set_metadata=Module["_FLAC__stream_encoder_set_metadata"]=function(){return(_FLAC__stream_encoder_set_metadata=Module["_FLAC__stream_encoder_set_metadata"]=Module["asm"]["FLAC__stream_encoder_set_metadata"]).apply(null,arguments)};var _FLAC__stream_encoder_get_state=Module["_FLAC__stream_encoder_get_state"]=function(){return(_FLAC__stream_encoder_get_state=Module["_FLAC__stream_encoder_get_state"]=Module["asm"]["FLAC__stream_encoder_get_state"]).apply(null,arguments)};var _FLAC__stream_encoder_get_verify_decoder_state=Module["_FLAC__stream_encoder_get_verify_decoder_state"]=function(){return(_FLAC__stream_encoder_get_verify_decoder_state=Module["_FLAC__stream_encoder_get_verify_decoder_state"]=Module["asm"]["FLAC__stream_encoder_get_verify_decoder_state"]).apply(null,arguments)};var _FLAC__stream_encoder_get_verify=Module["_FLAC__stream_encoder_get_verify"]=function(){return(_FLAC__stream_encoder_get_verify=Module["_FLAC__stream_encoder_get_verify"]=Module["asm"]["FLAC__stream_encoder_get_verify"]).apply(null,arguments)};var _FLAC__stream_encoder_process=Module["_FLAC__stream_encoder_process"]=function(){return(_FLAC__stream_encoder_process=Module["_FLAC__stream_encoder_process"]=Module["asm"]["FLAC__stream_encoder_process"]).apply(null,arguments)};var _FLAC__stream_encoder_process_interleaved=Module["_FLAC__stream_encoder_process_interleaved"]=function(){return(_FLAC__stream_encoder_process_interleaved=Module["_FLAC__stream_encoder_process_interleaved"]=Module["asm"]["FLAC__stream_encoder_process_interleaved"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var __growWasmMemory=Module["__growWasmMemory"]=function(){return(__growWasmMemory=Module["__growWasmMemory"]=Module["asm"]["__growWasmMemory"]).apply(null,arguments)};Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);throw e})};if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();function _readStreamInfo(p_streaminfo){var min_blocksize=Module.getValue(p_streaminfo,"i32");var max_blocksize=Module.getValue(p_streaminfo+4,"i32");var min_framesize=Module.getValue(p_streaminfo+8,"i32");var max_framesize=Module.getValue(p_streaminfo+12,"i32");var sample_rate=Module.getValue(p_streaminfo+16,"i32");var channels=Module.getValue(p_streaminfo+20,"i32");var bits_per_sample=Module.getValue(p_streaminfo+24,"i32");var total_samples=Module.getValue(p_streaminfo+32,"i64");var md5sum=_readMd5(p_streaminfo+40);return{min_blocksize:min_blocksize,max_blocksize:max_blocksize,min_framesize:min_framesize,max_framesize:max_framesize,sampleRate:sample_rate,channels:channels,bitsPerSample:bits_per_sample,total_samples:total_samples,md5sum:md5sum}}function _readMd5(p_md5){var sb=[],v,str;for(var i=0,len=16;i<len;++i){v=Module.getValue(p_md5+i,"i8");if(v<0)v=256+v;str=v.toString(16);if(str.length<2)str="0"+str;sb.push(str)}return sb.join("")}function _readFrameHdr(p_frame,enc_opt){var blocksize=Module.getValue(p_frame,"i32");var sample_rate=Module.getValue(p_frame+4,"i32");var channels=Module.getValue(p_frame+8,"i32");var channel_assignment=Module.getValue(p_frame+12,"i32");var bits_per_sample=Module.getValue(p_frame+16,"i32");var number_type=Module.getValue(p_frame+20,"i32");var frame_number=Module.getValue(p_frame+24,"i32");var sample_number=Module.getValue(p_frame+24,"i64");var number=number_type===0?frame_number:sample_number;var numberType=number_type===0?"frames":"samples";var crc=Module.getValue(p_frame+36,"i8");var subframes;if(enc_opt&&enc_opt.analyseSubframes){var subOffset={offset:40};subframes=[];for(var i=0;i<channels;++i){subframes.push(_readSubFrameHdr(p_frame,subOffset,blocksize,enc_opt))}}return{blocksize:blocksize,sampleRate:sample_rate,channels:channels,channelAssignment:channel_assignment,bitsPerSample:bits_per_sample,number:number,numberType:numberType,crc:crc,subframes:subframes}}function _readSubFrameHdr(p_subframe,subOffset,block_size,enc_opt){var type=Module.getValue(p_subframe+subOffset.offset,"i32");subOffset.offset+=4;var data;switch(type){case 0:data={value:Module.getValue(p_subframe+subOffset.offset,"i32")};subOffset.offset+=284;break;case 1:data=Module.getValue(p_subframe+subOffset.offset,"i32");subOffset.offset+=284;break;case 2:data=_readSubFrameHdrFixedData(p_subframe,subOffset,block_size,false,enc_opt);break;case 3:data=_readSubFrameHdrFixedData(p_subframe,subOffset,block_size,true,enc_opt);break}var offset=subOffset.offset;var wasted_bits=Module.getValue(p_subframe+offset,"i32");subOffset.offset+=4;return{type:type,data:data,wastedBits:wasted_bits}}function _readSubFrameHdrFixedData(p_subframe_data,subOffset,block_size,is_lpc,enc_opt){var offset=subOffset.offset;var data={order:-1,contents:{parameters:[],rawBits:[]}};var entropyType=Module.getValue(p_subframe_data,"i32");offset+=4;var entropyOrder=Module.getValue(p_subframe_data+offset,"i32");data.order=entropyOrder;offset+=4;var partitions=1<<entropyOrder,params=data.contents.parameters,raws=data.contents.rawBits;var ppart=Module.getValue(p_subframe_data+offset,"i32");var pparams=Module.getValue(ppart,"i32");var praw=Module.getValue(ppart+4,"i32");data.contents.capacityByOrder=Module.getValue(ppart+8,"i32");for(var i=0;i<partitions;++i){params.push(Module.getValue(pparams+i*4,"i32"));raws.push(Module.getValue(praw+i*4,"i32"))}offset+=4;var order=Module.getValue(p_subframe_data+offset,"i32");offset+=4;var warmup=[],res;if(is_lpc){var qlp_coeff_precision=Module.getValue(p_subframe_data+offset,"i32");offset+=4;var quantization_level=Module.getValue(p_subframe_data+offset,"i32");offset+=4;var qlp_coeff=[];for(var i=0;i<order;++i){qlp_coeff.push(Module.getValue(p_subframe_data+offset,"i32"));offset+=4}data.qlp_coeff=qlp_coeff;data.qlp_coeff_precision=qlp_coeff_precision;data.quantization_level=quantization_level;offset=subOffset.offset+152;offset=_readSubFrameHdrWarmup(p_subframe_data,offset,warmup,order);if(enc_opt&&enc_opt.analyseResiduals){offset=subOffset.offset+280;res=_readSubFrameHdrResidual(p_subframe_data+offset,block_size,order)}}else{offset=_readSubFrameHdrWarmup(p_subframe_data,offset,warmup,order);offset=subOffset.offset+32;if(enc_opt&&enc_opt.analyseResiduals){res=_readSubFrameHdrResidual(p_subframe_data+offset,block_size,order)}}subOffset.offset+=284;return{partition:{type:entropyType,data:data},order:order,warmup:warmup,residual:res}}function _readSubFrameHdrWarmup(p_subframe_data,offset,warmup,order){for(var i=0;i<order;++i){warmup.push(Module.getValue(p_subframe_data+offset,"i32"));offset+=4}return offset}function _readSubFrameHdrResidual(p_subframe_data_res,block_size,order){var pres=Module.getValue(p_subframe_data_res,"i32");var res=[];for(var i=0,size=block_size-order;i<size;++i){res.push(Module.getValue(pres+i*4,"i32"))}return res}function _readConstChar(ptr,length,sb){sb.splice(0);var ch;for(var i=0;i<length;++i){ch=Module.getValue(ptr+i,"i8");if(ch===0){break}sb.push(String.fromCodePoint(ch))}return sb.join("")}function _readNullTerminatedChar(ptr,sb){sb.splice(0);var ch=1,i=0;while(ch>0){ch=Module.getValue(ptr+i++,"i8");if(ch===0){break}sb.push(String.fromCodePoint(ch))}return sb.join("")}function _readPaddingMetadata(p_padding_metadata){return{dummy:Module.getValue(p_padding_metadata,"i32")}}function _readSeekTableMetadata(p_seek_table_metadata){var num_points=Module.getValue(p_seek_table_metadata,"i32");var ptrPoints=Module.getValue(p_seek_table_metadata+4,"i32");var points=[];for(var i=0;i<num_points;++i){points.push({sample_number:Module.getValue(ptrPoints+i*24,"i64"),stream_offset:Module.getValue(ptrPoints+i*24+8,"i64"),frame_samples:Module.getValue(ptrPoints+i*24+16,"i32")})}return{num_points:num_points,points:points}}function _readVorbisComment(p_vorbiscomment){var length=Module.getValue(p_vorbiscomment,"i32");var entry=Module.getValue(p_vorbiscomment+4,"i32");var sb=[];var strEntry=_readConstChar(entry,length,sb);var num_comments=Module.getValue(p_vorbiscomment+8,"i32");var comments=[],clen,centry;var pc=Module.getValue(p_vorbiscomment+12,"i32");for(var i=0;i<num_comments;++i){clen=Module.getValue(pc+i*8,"i32");if(clen===0){continue}centry=Module.getValue(pc+i*8+4,"i32");comments.push(_readConstChar(centry,clen,sb))}return{vendor_string:strEntry,num_comments:num_comments,comments:comments}}function _readCueSheetMetadata(p_cue_sheet){var sb=[];var media_catalog_number=_readConstChar(p_cue_sheet,129,sb);var lead_in=Module.getValue(p_cue_sheet+136,"i64");var is_cd=Module.getValue(p_cue_sheet+144,"i8");var num_tracks=Module.getValue(p_cue_sheet+148,"i32");var ptrTrack=Module.getValue(p_cue_sheet+152,"i32");var tracks=[],trackOffset=ptrTrack;if(ptrTrack!==0){for(var i=0;i<num_tracks;++i){var tr=_readCueSheetMetadata_track(trackOffset,sb);tracks.push(tr);trackOffset+=32}}return{media_catalog_number:media_catalog_number,lead_in:lead_in,is_cd:is_cd,num_tracks:num_tracks,tracks:tracks}}function _readCueSheetMetadata_track(p_cue_sheet_track,sb){var typePremph=Module.getValue(p_cue_sheet_track+22,"i8");var num_indices=Module.getValue(p_cue_sheet_track+23,"i8");var indices=[];var track={offset:Module.getValue(p_cue_sheet_track,"i64"),number:Module.getValue(p_cue_sheet_track+8,"i8")&255,isrc:_readConstChar(p_cue_sheet_track+9,13,sb),type:typePremph&1?"NON_AUDIO":"AUDIO",pre_emphasis:!!(typePremph&2),num_indices:num_indices,indices:indices};var idx;if(num_indices>0){idx=Module.getValue(p_cue_sheet_track+24,"i32");for(var i=0;i<num_indices;++i){indices.push({offset:Module.getValue(idx+i*16,"i64"),number:Module.getValue(idx+i*16+8,"i8")})}}return track}function _readPictureMetadata(p_picture_metadata){var type=Module.getValue(p_picture_metadata,"i32");var mime=Module.getValue(p_picture_metadata+4,"i32");var sb=[];var mime_type=_readNullTerminatedChar(mime,sb);var desc=Module.getValue(p_picture_metadata+8,"i32");var description=_readNullTerminatedChar(desc,sb);var width=Module.getValue(p_picture_metadata+12,"i32");var height=Module.getValue(p_picture_metadata+16,"i32");var depth=Module.getValue(p_picture_metadata+20,"i32");var colors=Module.getValue(p_picture_metadata+24,"i32");var data_length=Module.getValue(p_picture_metadata+28,"i32");var data=Module.getValue(p_picture_metadata+32,"i32");var buffer=Uint8Array.from(Module.HEAPU8.subarray(data,data+data_length));return{type:type,mime_type:mime_type,description:description,width:width,height:height,depth:depth,colors:colors,data_length:data_length,data:buffer}}function __fix_write_buffer(heapOffset,newBuffer,applyFix){var dv=new DataView(newBuffer.buffer);var targetSize=newBuffer.length;var increase=!applyFix?1:2;var buffer=HEAPU8.subarray(heapOffset,heapOffset+targetSize*increase);var jump,isPrint;for(var i=0,j=0,size=buffer.length;i<size&&j<targetSize;++i,++j){if(i===size-1&&j<targetSize-1){buffer=HEAPU8.subarray(heapOffset,size+targetSize);size=buffer.length}if(applyFix&&(buffer[i]===0||buffer[i]===255)){jump=0;isPrint=true;if(i+1<size&&buffer[i]===buffer[i+1]){++jump;if(i+2<size){if(buffer[i]===buffer[i+2]){++jump}else{isPrint=false}}}if(isPrint){dv.setUint8(j,buffer[i]);if(jump===2&&i+3<size&&buffer[i]===buffer[i+3]){++jump;dv.setUint8(++j,buffer[i])}}else{--j}i+=jump}else{dv.setUint8(j,buffer[i])}}}var FLAC__STREAM_DECODER_READ_STATUS_CONTINUE=0;var FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM=1;var FLAC__STREAM_DECODER_READ_STATUS_ABORT=2;var FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE=0;var FLAC__STREAM_DECODER_WRITE_STATUS_ABORT=1;var FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS=2;var FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS=3;var FLAC__STREAM_ENCODER_WRITE_STATUS_OK=0;var FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR=1;var coders={};function getCallback(p_coder,func_type){if(coders[p_coder]){return coders[p_coder][func_type]}}function setCallback(p_coder,func_type,callback){if(!coders[p_coder]){coders[p_coder]={}}coders[p_coder][func_type]=callback}function _getOptions(p_coder){if(coders[p_coder]){return coders[p_coder]["options"]}}function _setOptions(p_coder,options){if(!coders[p_coder]){coders[p_coder]={}}coders[p_coder]["options"]=options}var enc_write_fn_ptr=addFunction(function(p_encoder,buffer,bytes,samples,current_frame,p_client_data){var retdata=new Uint8Array(bytes);retdata.set(HEAPU8.subarray(buffer,buffer+bytes));var write_callback_fn=getCallback(p_encoder,"write");try{write_callback_fn(retdata,bytes,samples,current_frame,p_client_data)}catch(err){console.error(err);return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR}return FLAC__STREAM_ENCODER_WRITE_STATUS_OK},"iiiiiii");var dec_read_fn_ptr=addFunction(function(p_decoder,buffer,bytes,p_client_data){var len=Module.getValue(bytes,"i32");if(len===0){return FLAC__STREAM_DECODER_READ_STATUS_ABORT}var read_callback_fn=getCallback(p_decoder,"read");var readResult=read_callback_fn(len,p_client_data);var readLen=readResult.readDataLength;Module.setValue(bytes,readLen,"i32");if(readResult.error){return FLAC__STREAM_DECODER_READ_STATUS_ABORT}if(readLen===0){return FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM}var readBuf=readResult.buffer;var dataHeap=new Uint8Array(Module.HEAPU8.buffer,buffer,readLen);dataHeap.set(new Uint8Array(readBuf));return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE},"iiiii");var dec_write_fn_ptr=addFunction(function(p_decoder,p_frame,p_buffer,p_client_data){var dec_opts=_getOptions(p_decoder);var frameInfo=_readFrameHdr(p_frame,dec_opts);var channels=frameInfo.channels;var block_size=frameInfo.blocksize*(frameInfo.bitsPerSample/8);var isFix=frameInfo.bitsPerSample!==24;var padding=frameInfo.bitsPerSample/8%2;if(padding>0){block_size+=frameInfo.blocksize*padding}var data=[];var bufferOffset,_buffer;for(var i=0;i<channels;++i){bufferOffset=Module.getValue(p_buffer+i*4,"i32");_buffer=new Uint8Array(block_size);__fix_write_buffer(bufferOffset,_buffer,isFix);data.push(_buffer.subarray(0,block_size))}var write_callback_fn=getCallback(p_decoder,"write");var res=write_callback_fn(data,frameInfo);return res!==false?FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE:FLAC__STREAM_DECODER_WRITE_STATUS_ABORT},"iiiii");var DecoderErrorCode={0:"FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC",1:"FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER",2:"FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH",3:"FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM"};var dec_error_fn_ptr=addFunction(function(p_decoder,err,p_client_data){var msg=DecoderErrorCode[err]||"FLAC__STREAM_DECODER_ERROR__UNKNOWN__";var error_callback_fn=getCallback(p_decoder,"error");error_callback_fn(err,msg,p_client_data)},"viii");var metadata_fn_ptr=addFunction(function(p_coder,p_metadata,p_client_data){var type=Module.getValue(p_metadata,"i32");var is_last=Module.getValue(p_metadata+4,"i32");var length=Module.getValue(p_metadata+8,"i64");var meta_data={type:type,isLast:is_last,length:length,data:void 0};var metadata_callback_fn=getCallback(p_coder,"metadata");if(type===0){meta_data.data=_readStreamInfo(p_metadata+16);metadata_callback_fn(meta_data.data,meta_data)}else{var data;switch(type){case 1:data=_readPaddingMetadata(p_metadata+16);break;case 2:data=readApplicationMetadata(p_metadata+16);break;case 3:data=_readSeekTableMetadata(p_metadata+16);break;case 4:data=_readVorbisComment(p_metadata+16);break;case 5:data=_readCueSheetMetadata(p_metadata+16);break;case 6:data=_readPictureMetadata(p_metadata+16);break;default:{var cod_opts=_getOptions(p_coder);if(cod_opts&&cod_opts.enableRawMetadata){var buffer=Uint8Array.from(HEAPU8.subarray(p_metadata+16,p_metadata+16+length));meta_data.raw=buffer}}}meta_data.data=data;metadata_callback_fn(void 0,meta_data)}},"viii");var listeners={};var persistedEvents=[];var add_event_listener=function(eventName,listener){var list=listeners[eventName];if(!list){list=[listener];listeners[eventName]=list}else{list.push(listener)}check_and_trigger_persisted_event(eventName,listener)};var check_and_trigger_persisted_event=function(eventName,listener){var activated;for(var i=persistedEvents.length-1;i>=0;--i){activated=persistedEvents[i];if(activated&&activated.event===eventName){listener.apply(null,activated.args);break}}};var remove_event_listener=function(eventName,listener){var list=listeners[eventName];if(list){for(var i=list.length-1;i>=0;--i){if(list[i]===listener){list.splice(i,1)}}}};var do_fire_event=function(eventName,args,isPersist){if(_exported["on"+eventName]){_exported["on"+eventName].apply(null,args)}var list=listeners[eventName];if(list){for(var i=0,size=list.length;i<size;++i){list[i].apply(null,args)}}if(isPersist){persistedEvents.push({event:eventName,args:args})}};var _exported={_module:Module,_clear_enc_cb:function(enc_ptr){delete coders[enc_ptr]},_clear_dec_cb:function(dec_ptr){delete coders[dec_ptr]},setOptions:_setOptions,getOptions:_getOptions,isReady:function(){return _flac_ready},onready:void 0,on:add_event_listener,off:remove_event_listener,FLAC__stream_encoder_set_verify:function(encoder,is_verify){is_verify=is_verify?1:0;Module.ccall("FLAC__stream_encoder_set_verify","number",["number","number"],[encoder,is_verify])},FLAC__stream_encoder_set_compression_level:Module.cwrap("FLAC__stream_encoder_set_compression_level","number",["number","number"]),FLAC__stream_encoder_set_blocksize:Module.cwrap("FLAC__stream_encoder_set_blocksize","number",["number","number"]),FLAC__stream_encoder_get_verify_decoder_state:Module.cwrap("FLAC__stream_encoder_get_verify_decoder_state","number",["number"]),FLAC__stream_encoder_get_verify:Module.cwrap("FLAC__stream_encoder_get_verify","number",["number"]),create_libflac_encoder:function(sample_rate,channels,bps,compression_level,total_samples,is_verify,block_size){is_verify=typeof is_verify==="undefined"?1:is_verify+0;total_samples=typeof total_samples==="number"?total_samples:0;block_size=typeof block_size==="number"?block_size:0;var ok=true;var encoder=Module.ccall("FLAC__stream_encoder_new","number",[],[]);ok&=Module.ccall("FLAC__stream_encoder_set_verify","number",["number","number"],[encoder,is_verify]);ok&=Module.ccall("FLAC__stream_encoder_set_compression_level","number",["number","number"],[encoder,compression_level]);ok&=Module.ccall("FLAC__stream_encoder_set_channels","number",["number","number"],[encoder,channels]);ok&=Module.ccall("FLAC__stream_encoder_set_bits_per_sample","number",["number","number"],[encoder,bps]);ok&=Module.ccall("FLAC__stream_encoder_set_sample_rate","number",["number","number"],[encoder,sample_rate]);ok&=Module.ccall("FLAC__stream_encoder_set_blocksize","number",["number","number"],[encoder,block_size]);ok&=Module.ccall("FLAC__stream_encoder_set_total_samples_estimate","number",["number","number"],[encoder,total_samples]);if(ok){do_fire_event("created",[{type:"created",target:{id:encoder,type:"encoder"}}],false);return encoder}return 0},init_libflac_encoder:function(){console.warn("Flac.init_libflac_encoder() is deprecated, use Flac.create_libflac_encoder() instead!");return this.create_libflac_encoder.apply(this,arguments)},create_libflac_decoder:function(is_verify){is_verify=typeof is_verify==="undefined"?1:is_verify+0;var ok=true;var decoder=Module.ccall("FLAC__stream_decoder_new","number",[],[]);ok&=Module.ccall("FLAC__stream_decoder_set_md5_checking","number",["number","number"],[decoder,is_verify]);if(ok){do_fire_event("created",[{type:"created",target:{id:decoder,type:"decoder"}}],false);return decoder}return 0},init_libflac_decoder:function(){console.warn("Flac.init_libflac_decoder() is deprecated, use Flac.create_libflac_decoder() instead!");return this.create_libflac_decoder.apply(this,arguments)},init_encoder_stream:function(encoder,write_callback_fn,metadata_callback_fn,ogg_serial_number,client_data){var is_ogg=ogg_serial_number===true;client_data=client_data|0;if(typeof write_callback_fn!=="function"){return FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(encoder,"write",write_callback_fn);var __metadata_callback_fn_ptr=0;if(typeof metadata_callback_fn==="function"){setCallback(encoder,"metadata",metadata_callback_fn);__metadata_callback_fn_ptr=metadata_fn_ptr}var func_name="FLAC__stream_encoder_init_stream";var args_types=["number","number","number","number","number","number"];var args=[encoder,enc_write_fn_ptr,0,0,__metadata_callback_fn_ptr,client_data];if(typeof ogg_serial_number==="number"){is_ogg=true}else if(is_ogg){ogg_serial_number=1}if(is_ogg){func_name="FLAC__stream_encoder_init_ogg_stream";args.unshift(args[0]);args[1]=0;args_types.unshift(args_types[0]);args_types[1]="number";Module.ccall("FLAC__stream_encoder_set_ogg_serial_number","number",["number","number"],[encoder,ogg_serial_number])}var init_status=Module.ccall(func_name,"number",args_types,args);return init_status},init_encoder_ogg_stream:function(encoder,write_callback_fn,metadata_callback_fn,ogg_serial_number,client_data){if(typeof ogg_serial_number!=="number"){ogg_serial_number=true}return this.init_encoder_stream(encoder,write_callback_fn,metadata_callback_fn,ogg_serial_number,client_data)},init_decoder_stream:function(decoder,read_callback_fn,write_callback_fn,error_callback_fn,metadata_callback_fn,ogg_serial_number,client_data){client_data=client_data|0;if(typeof read_callback_fn!=="function"){return FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(decoder,"read",read_callback_fn);if(typeof write_callback_fn!=="function"){return FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS}setCallback(decoder,"write",write_callback_fn);var __error_callback_fn_ptr=0;if(typeof error_callback_fn==="function"){setCallback(decoder,"error",error_callback_fn);__error_callback_fn_ptr=dec_error_fn_ptr}var __metadata_callback_fn_ptr=0;if(typeof metadata_callback_fn==="function"){setCallback(decoder,"metadata",metadata_callback_fn);__metadata_callback_fn_ptr=metadata_fn_ptr}var is_ogg=ogg_serial_number===true;if(typeof ogg_serial_number==="number"){is_ogg=true;Module.ccall("FLAC__stream_decoder_set_ogg_serial_number","number",["number","number"],[decoder,ogg_serial_number])}var init_func_name=!is_ogg?"FLAC__stream_decoder_init_stream":"FLAC__stream_decoder_init_ogg_stream";var init_status=Module.ccall(init_func_name,"number",["number","number","number","number","number","number","number","number","number","number"],[decoder,dec_read_fn_ptr,0,0,0,0,dec_write_fn_ptr,__metadata_callback_fn_ptr,__error_callback_fn_ptr,client_data]);return init_status},init_decoder_ogg_stream:function(decoder,read_callback_fn,write_callback_fn,error_callback_fn,metadata_callback_fn,ogg_serial_number,client_data){if(typeof ogg_serial_number!=="number"){ogg_serial_number=true}return this.init_decoder_stream(decoder,read_callback_fn,write_callback_fn,error_callback_fn,metadata_callback_fn,ogg_serial_number,client_data)},FLAC__stream_encoder_process_interleaved:function(encoder,buffer,num_of_samples){var numBytes=buffer.length*buffer.BYTES_PER_ELEMENT;var ptr=Module._malloc(numBytes);var heapBytes=new Uint8Array(Module.HEAPU8.buffer,ptr,numBytes);heapBytes.set(new Uint8Array(buffer.buffer,buffer.byteOffset,buffer.byteLength));var status=Module.ccall("FLAC__stream_encoder_process_interleaved","number",["number","number","number"],[encoder,heapBytes.byteOffset,num_of_samples]);Module._free(ptr);return status},FLAC__stream_encoder_process:function(encoder,channelBuffers,num_of_samples){var ptrInfo=this._create_pointer_array(channelBuffers);var pointerPtr=ptrInfo.pointerPointer;var status=Module.ccall("FLAC__stream_encoder_process","number",["number","number","number"],[encoder,pointerPtr,num_of_samples]);this._destroy_pointer_array(ptrInfo);return status},FLAC__stream_decoder_process_single:Module.cwrap("FLAC__stream_decoder_process_single","number",["number"]),FLAC__stream_decoder_process_until_end_of_stream:Module.cwrap("FLAC__stream_decoder_process_until_end_of_stream","number",["number"]),FLAC__stream_decoder_process_until_end_of_metadata:Module.cwrap("FLAC__stream_decoder_process_until_end_of_metadata","number",["number"]),FLAC__stream_decoder_get_state:Module.cwrap("FLAC__stream_decoder_get_state","number",["number"]),FLAC__stream_encoder_get_state:Module.cwrap("FLAC__stream_encoder_get_state","number",["number"]),FLAC__stream_decoder_set_metadata_respond:Module.cwrap("FLAC__stream_decoder_set_metadata_respond","number",["number","number"]),FLAC__stream_decoder_set_metadata_respond_application:Module.cwrap("FLAC__stream_decoder_set_metadata_respond_application","number",["number","number"]),FLAC__stream_decoder_set_metadata_respond_all:Module.cwrap("FLAC__stream_decoder_set_metadata_respond_all","number",["number"]),FLAC__stream_decoder_set_metadata_ignore:Module.cwrap("FLAC__stream_decoder_set_metadata_ignore","number",["number","number"]),FLAC__stream_decoder_set_metadata_ignore_application:Module.cwrap("FLAC__stream_decoder_set_metadata_ignore_application","number",["number","number"]),FLAC__stream_decoder_set_metadata_ignore_all:Module.cwrap("FLAC__stream_decoder_set_metadata_ignore_all","number",["number"]),FLAC__stream_encoder_set_metadata:function(encoder,metadataBuffersPointer,num_blocks){var status=Module.ccall("FLAC__stream_encoder_set_metadata","number",["number","number","number"],[encoder,metadataBuffersPointer.pointerPointer,num_blocks]);return status},_create_pointer_array:function(bufferArray){var size=bufferArray.length;var ptrs=[],ptrData=new Uint32Array(size);var ptrOffsets=new DataView(ptrData.buffer);var buffer,numBytes,heapBytes,ptr;for(var i=0,size;i<size;++i){buffer=bufferArray[i];numBytes=buffer.length*buffer.BYTES_PER_ELEMENT;ptr=Module._malloc(numBytes);ptrs.push(ptr);heapBytes=new Uint8Array(Module.HEAPU8.buffer,ptr,numBytes);heapBytes.set(new Uint8Array(buffer.buffer,buffer.byteOffset,buffer.byteLength));ptrOffsets.setUint32(i*4,ptr,true)}var nPointerBytes=ptrData.length*ptrData.BYTES_PER_ELEMENT;var pointerPtr=Module._malloc(nPointerBytes);var pointerHeap=new Uint8Array(Module.HEAPU8.buffer,pointerPtr,nPointerBytes);pointerHeap.set(new Uint8Array(ptrData.buffer));return{dataPointer:ptrs,pointerPointer:pointerPtr}},_destroy_pointer_array:function(pointerInfo){var pointerArray=pointerInfo.dataPointer;for(var i=0,size=pointerArray.length;i<size;++i){Module._free(pointerArray[i])}Module._free(pointerInfo.pointerPointer)},FLAC__stream_decoder_get_md5_checking:Module.cwrap("FLAC__stream_decoder_get_md5_checking","number",["number"]),FLAC__stream_decoder_set_md5_checking:function(decoder,is_verify){is_verify=is_verify?1:0;return Module.ccall("FLAC__stream_decoder_set_md5_checking","number",["number","number"],[decoder,is_verify])},FLAC__stream_encoder_finish:Module.cwrap("FLAC__stream_encoder_finish","number",["number"]),FLAC__stream_decoder_finish:Module.cwrap("FLAC__stream_decoder_finish","number",["number"]),FLAC__stream_decoder_reset:Module.cwrap("FLAC__stream_decoder_reset","number",["number"]),FLAC__stream_encoder_delete:function(encoder){this._clear_enc_cb(encoder);Module.ccall("FLAC__stream_encoder_delete","number",["number"],[encoder]);do_fire_event("destroyed",[{type:"destroyed",target:{id:encoder,type:"encoder"}}],false)},FLAC__stream_decoder_delete:function(decoder){this._clear_dec_cb(decoder);Module.ccall("FLAC__stream_decoder_delete","number",["number"],[decoder]);do_fire_event("destroyed",[{type:"destroyed",target:{id:decoder,type:"decoder"}}],false)}};if(typeof Object.defineProperty==="function"){_exported._onready=void 0;Object.defineProperty(_exported,"onready",{get(){return this._onready},set(newValue){this._onready=newValue;if(newValue&&this.isReady()){check_and_trigger_persisted_event("ready",newValue)}}})}else{console.warn("WARN: note that setting Flac.onready handler after Flac.isReady() is already true, will have no effect, that is, the handler function will not be triggered!")}if(expLib&&expLib.exports){expLib.exports=_exported}return _exported});